From 005293be2de63671c64561319ac7b87467ecf6e7 Mon Sep 17 00:00:00 2001 From: RockBase-Ronnie Date: Mon, 13 Apr 2026 19:16:07 +0800 Subject: [PATCH 1/2] Add new board nm-cyd-c5 support --- README.md | 148 +- rogue-radar/config.h | 270 +- rogue-radar/rogue-radar.ino | 466 ++- rogue-radar/splash.h | 5 +- rogue-radar/splash_cyd.h | 6411 +++++++++++++++++++++++++++++++++++ 5 files changed, 7149 insertions(+), 151 deletions(-) create mode 100644 rogue-radar/splash_cyd.h diff --git a/README.md b/README.md index 221c87f..2be7e26 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@

Rogue Radar

-

ESP32-S3 multi-tool firmware for WiFi, BLE, GPS, and device utilities on the LilyGO T-Embed.

+

ESP32 multi-tool firmware for WiFi, BLE, GPS, and device utilities.

+

Supports: LilyGO T-Embed ESP32-S3 | CYD-2USB | NM-CYD-C5 (ESP32-C5)

## 🧭 Version Tracker @@ -67,30 +68,67 @@ It is designed around fast menu navigation, onboard scanning tools, live signal ## Hardware Target -This firmware is currently built around the **LilyGO T-Embed ESP32-S3**. +This firmware supports multiple ESP32-based development boards: -### Main hardware used -- **ESP32-S3** +### Supported Boards + +| Board | MCU | Display | Input | LED | GPS | +|-------|-----|---------|-------|-----|-----| +| **LilyGO T-Embed** | ESP32-S3 | 320x170 | Rotary Encoder | 7x APA102 | Built-in | +| **CYD-2USB** | ESP32 | 320x240 | BOOT Button | None | None | +| **NM-CYD-C5** | **ESP32-C5** (RISC-V) | 320x240 | BOOT Button | None | None | + +### LilyGO T-Embed (Original) +- **ESP32-S3** (Xtensa LX7, Wi-Fi 4) - **ST7789 320x170 display** - **Rotary encoder + encoder push button** - **APA102 LED ring** - **GPS module over UART** - **MicroSD card on dedicated HSPI bus** +### CYD-2USB / NM-CYD-C5 +- **ESP32** or **ESP32-C5** (RISC-V, Wi-Fi 6) +- **ST7789 320x240 display** +- **BOOT button (GPIO0)** for selection +- **1x WS2812 RGB LED** +- **MicroSD card on VSPI bus** +- **GPS** (external module support, configurable) + +**Note**: See `rogue-radar/DEVICE_SUPPORT.md` for detailed configuration and wiring information. + --- ## Arduino IDE Setup -### Board settings +### Device Selection +Edit `rogue-radar/config.h` and select your device: +```cpp +// #define DEVICE_T_EMBED_S3 // LilyGO T-Embed ESP32-S3 +// #define DEVICE_CYD_2USB // CYD-2USB ESP32 +#define DEVICE_NM_CYD_C5 // NM-CYD-C5 ESP32-C5 (RISC-V) +``` + +### Board Settings + +**LilyGO T-Embed:** - **Board:** `ESP32S3 Dev Module` - **Partition Scheme:** `Huge APP` +**CYD-2USB:** +- **Board:** `ESP32 Dev Module` +- **Partition Scheme:** `Huge APP` + +**NM-CYD-C5:** +- **Board:** `ESP32C5 Dev Module` (requires ESP32 Core >= 3.0.0) +- **Partition Scheme:** `Huge APP` + ### Required libraries - `TFT_eSPI` - `lvgl` (the sketch notes target **9.0.0**) -- `RotaryEncoder` by mathertel -- `APA102` by Pololu -- `TinyGPSPlus` +- `RotaryEncoder` by mathertel (T-Embed only) +- `APA102` by Pololu (T-Embed only) +- `Adafruit_NeoPixel` (CYD/C5 only - for WS2812 LED) +- `TinyGPSPlus` (T-Embed only, optional for CYD/C5) ### ESP32 core features used - `WiFi` @@ -118,8 +156,13 @@ Make sure your `lv_conf.h` has these enabled: ## TFT / Display Notes -The firmware is written for a **320x170** layout and uses **TFT_eSPI**. -You will need a correct `User_Setup.h` for your T-Embed display configuration. +The firmware supports both **320x170** (T-Embed) and **320x240** (CYD) layouts using **TFT_eSPI**. + +You will need a correct `User_Setup.h` for your display configuration: +- **T-Embed**: 320x170, specific SPI pins +- **CYD-2USB/NM-CYD-C5**: 320x240, standard CYD SPI pins + +See `rogue-radar/DEVICE_SUPPORT.md` for detailed TFT_eSPI configuration. The sketch also includes a splash screen system using: - `splash.h` @@ -129,6 +172,8 @@ The sketch also includes a splash screen system using: ## Pin Overview +### LilyGO T-Embed +
GPS @@ -166,6 +211,84 @@ The sketch also includes a splash screen system using:
+### CYD-2USB + +
+Display (SPI) + +- `TFT_SCLK 14` +- `TFT_MOSI 13` +- `TFT_MISO 12` +- `TFT_CS 15` +- `TFT_DC 2` +- `TFT_BL 21` (CYD-2USB) + +
+ +
+GPS + +- `GPS_RX_PIN 3` +- `GPS_TX_PIN 1` + +
+ +
+SD Card (VSPI) + +- `SD_CS 5` +- `SD_SCLK 18` +- `SD_MISO 19` +- `SD_MOSI 23` + +
+ + +
+Input + +- `BOOT_BTN 0` (used as select button) + +
+ +### NM-CYD-C5 + +
+Display (SPI) + +- `TFT_SCLK 6` +- `TFT_MOSI 7` +- `TFT_MISO 2` +- `TFT_CS 23` +- `TFT_DC 24` +- `TFT_BL 25` +
+ +
+GPS + +- `GPS_RX_PIN 4` +- `GPS_TX_PIN 5` + +
+ +
+SD Card (VSPI) + +- `SD_CS 10` +- `SD_SCLK 6` +- `SD_MISO 2` +- `SD_MOSI 7` + +
+ +
+Input + +- `BOOT_BTN 0` (used as select button) + +
+ --- ## UI / Controls @@ -237,4 +360,9 @@ This project is intended for educational, research, and defensive awareness purp ## Credits +--- + +## TODOs +- [ ] NM-CYD-C5 support high WiFi Channel. +- [ ] More detail Testing. diff --git a/rogue-radar/config.h b/rogue-radar/config.h index 37c9c8d..7011604 100644 --- a/rogue-radar/config.h +++ b/rogue-radar/config.h @@ -1,44 +1,240 @@ // ============================================================ -// config.h — Rogue Radar T-Embed ESP32-S3 -// Edit this file to customise pins, limits, and behaviour. -// Do not edit rogue-radar.ino unless you know what you're doing. +// config.h — Rogue Radar Firmware +// Supports: T-Embed ESP32-S3, CYD-2USB, NM-CYD-C5 +// Edit this file to select your device and customise settings. // ============================================================ #pragma once -// ─── Device Name ──────────────────────────────────────────────── -// Shown in the main menu header -#define DEVICE_NAME "Rogue Radar" - -// ─── Pin Definitions ──────────────────────────────────────────── -#define POWER_PIN 46 -#define ENCODER_A 1 -#define ENCODER_B 2 -#define ENCODER_BTN 0 -#define APA102_DI 42 -#define APA102_CLK 45 -#define NUM_LEDS 7 - -// ─── LCD Backlight (LEDC PWM) ─────────────────────────────────── -#define LCD_BL_PIN 15 // IO15 = TFT backlight -#define LCD_BL_CH 0 // LEDC channel (0-7, must be free) -#define LCD_BL_FREQ 5000 // Hz — above audible range -#define LCD_BL_RES 8 // bits (0-255 range) -#define LCD_BL_DEFAULT 255 // startup brightness (0=off, 255=max) - -// ─── Display ──────────────────────────────────────────────────── -#define SCREEN_W 320 -#define SCREEN_H 170 - -// ─── GPS ──────────────────────────────────────────────────────── -#define GPS_RX_PIN 44 -#define GPS_TX_PIN 43 -#define GPS_BAUD 9600 - -// ─── SD Card (HSPI — separate bus from TFT) ───────────────────── -#define SD_CS 39 -#define SD_SCLK 40 -#define SD_MISO 38 -#define SD_MOSI 41 +// ═══════════════════════════════════════════════════════════════ +// DEVICE SELECTION - Uncomment your device +// ═══════════════════════════════════════════════════════════════ + +// #define DEVICE_T_EMBED_S3 // LilyGO T-Embed ESP32-S3 (320x170) +// #define DEVICE_CYD_2USB // CYD-2USB ESP32 (320x240) +#define DEVICE_NM_CYD_C5 // NM-CYD-C5 ESP32 (320x240) + +// ═══════════════════════════════════════════════════════════════ +// AUTO-DETECT DEVICE if not manually selected +// ═══════════════════════════════════════════════════════════════ +#if !defined(DEVICE_T_EMBED_S3) && !defined(DEVICE_CYD_2USB) && !defined(DEVICE_NM_CYD_C5) + // Auto-detect based on common board definitions + #if defined(BOARD_HAS_PSRAM) && defined(CONFIG_IDF_TARGET_ESP32S3) + #define DEVICE_T_EMBED_S3 + #elif defined(ARDUINO_ESP32_DEV) || defined(ESP32) + // Default to NM-CYD-C5 for generic ESP32 + #define DEVICE_CYD_2USB + #elif defined(ARDUINO_ESP32C5_DEV) || defined(ESP32C5) + #define DEVICE_NM_CYD_C5 + #endif +#endif + +// ═══════════════════════════════════════════════════════════════ +// DEVICE CONFIGURATION +// ═══════════════════════════════════════════════════════════════ + +#if defined(DEVICE_T_EMBED_S3) + // ─── Device Name ──────────────────────────────────────────── + #define DEVICE_NAME "Rogue Radar" + + // ─── Display ──────────────────────────────────────────────── + #define SCREEN_W 320 + #define SCREEN_H 170 + + // ─── Pin Definitions ──────────────────────────────────────── + #define POWER_PIN 46 + #define ENCODER_A 1 + #define ENCODER_B 2 + #define ENCODER_BTN 0 + #define APA102_DI 42 + #define APA102_CLK 45 + #define WS2812_PIN -1 // No WS2812 on T-Embed + #define NUM_LEDS 7 + #define HAS_APA102_LED 1 + #define HAS_WS2812_LED 0 + #define HAS_ENCODER 1 + + // ─── LCD Backlight (LEDC PWM) ─────────────────────────────── + #define LCD_BL_PIN 15 // IO15 = TFT backlight + #define LCD_BL_CH 0 // LEDC channel (0-7, must be free) + #define LCD_BL_FREQ 5000 // Hz — above audible range + #define LCD_BL_RES 8 // bits (0-255 range) + #define LCD_BL_DEFAULT 255 // startup brightness (0=off, 255=max) + #define TFT_BL_INVERT 0 // 0 = normal, 1 = inverted + #define TFT_SWAP_BYTES 1 // 1 = true (swap bytes), 0 = false (try 0 if colors reversed) + + // ─── Touch Screen ─────────────────────────────────────────── + #define HAS_TOUCH 0 // T-Embed does not have touch screen + #define TOUCH_CS -1 + #define TOUCH_IRQ -1 + + // ─── GPS ──────────────────────────────────────────────────── + #define GPS_RX_PIN 44 + #define GPS_TX_PIN 43 + #define GPS_BAUD 9600 + #define HAS_GPS 1 + #define GPS_SERIAL_INDEX 1 + + // ─── SD Card (HSPI — separate bus from TFT) ───────────────── + #define SD_CS 39 + #define SD_SCLK 40 + #define SD_MISO 38 + #define SD_MOSI 41 + #define HAS_SD_CARD 1 + +#elif defined(DEVICE_CYD_2USB) + // ─── Device Name ──────────────────────────────────────────── + #define DEVICE_NAME "Rogue Radar CYD" + + // ─── Display ──────────────────────────────────────────────── + #define SCREEN_W 320 + #define SCREEN_H 240 + + // ─── Pin Definitions (CYD-2USB ESP32) ─────────────────────── + // CYD-2USB: Cheap Yellow Display with 2 USB ports + #define POWER_PIN -1 // No power control pin + #define ENCODER_A -1 // No rotary encoder + #define ENCODER_B -1 + #define ENCODER_BTN -1 + #define APA102_DI -1 // No APA102 LED + #define APA102_CLK -1 + #define WS2812_PIN -1 // WS2812 LED on GPIO27 + #define NUM_LEDS 3 // CYD-2USB has 3 GRB LEDs (IO16, IO4, IO17) + #define HAS_APA102_LED 0 + #define HAS_WS2812_LED 0 + #define HAS_ENCODER 0 + + // Note: Most CYD-2USB boards have a single WS2812 RGB LED on GPIO27 + // If your board has the LED on a different pin, change WS2812_PIN above + + // ─── LCD Backlight ────────────────────────────────────────── + #define LCD_BL_PIN 21 // GPIO21 on CYD-2USB + #define LCD_BL_CH 0 + #define LCD_BL_FREQ 5000 + #define LCD_BL_RES 8 + #define LCD_BL_DEFAULT 255 + #define TFT_BL_INVERT 0 // CYD uses inverted backlight + #define TFT_SWAP_BYTES 1 // 1 = true (swap bytes), 0 = false (try 0 if colors reversed) + + // ─── TFT Pins (for TFT_eSPI User_Setup) ───────────────────── + #define TFT_MISO 12 + #define TFT_MOSI 13 + #define TFT_SCLK 14 + #define TFT_CS 15 + #define TFT_DC 2 + #define TFT_RST -1 + + // ─── Touch Screen (XPT2046) ───────────────────────────────── + // Touch shares SPI bus with TFT (MISO/MOSI/SCK), separate CS + #define HAS_TOUCH 1 + #define HAS_CYD_TOUCH 1 // CYD-2USB has a touch screen (XPT2046) + #define XPT2046_IRQ 36 // Optional: touch interrupt pin + #define XPT2046_CLK 25 + #define XPT2046_MISO 39 + #define XPT2046_MOSI 32 + #define XPT2046_CS 33 + + // ─── GPS (Optional - can be connected externally) ─────────── + // To use external GPS module, connect to any available UART pins + // and update GPS_RX_PIN / GPS_TX_PIN below + #define GPS_RX_PIN 3 // Set to actual pin if using external GPS + #define GPS_TX_PIN 1 // Set to actual pin if using external GPS + #define GPS_BAUD 9600 + #define HAS_GPS 1 // GPS support enabled (external module) + #define GPS_SERIAL_INDEX 2 // Use UART2 for GPS on CYD-2USB + + // ─── SD Card (VSPI on CYD) ────────────────────────────────── + #define SD_CS 5 + #define SD_SCLK 18 + #define SD_MISO 19 + #define SD_MOSI 23 + #define HAS_SD_CARD 1 + +#elif defined(DEVICE_NM_CYD_C5) + // ─── Device Name ──────────────────────────────────────────── + #define DEVICE_NAME "Rogue Radar NM-CYD-C5" + + // ─── MCU Info ─────────────────────────────────────────────── + // NM-CYD-C5: Based on ESP32-C5 (RISC-V architecture, Wi-Fi 6) + // Note: Requires Arduino ESP32 Core >= 3.0.0 for C5 support + + // ─── Display ──────────────────────────────────────────────── + #define SCREEN_W 320 + #define SCREEN_H 240 + + // ─── Pin Definitions (NM-CYD-C5 ESP32-C5) ─────────────────── + // ESP32-C5 has different pin mapping than ESP32/ESP32-S3 + // Verify pins with your specific board schematic + #define POWER_PIN -1 // No power control pin + #define ENCODER_A -1 // No rotary encoder + #define ENCODER_B -1 + #define ENCODER_BTN -1 + #define APA102_DI -1 // No APA102 LED + #define APA102_CLK -1 + #define WS2812_PIN 27 // WS2812 LED on GPIO27 + #define NUM_LEDS 1 // Single WS2812 LED + #define HAS_APA102_LED 0 + #define HAS_WS2812_LED 1 + #define HAS_ENCODER 0 + + // Note: Most NM-CYD-C5 boards have a single WS2812 RGB LED on GPIO27 + // Verify with your specific board schematic + + // ─── LCD Backlight ────────────────────────────────────────── + // ESP32-C5 GPIO numbers may differ, verify with schematic + #define LCD_BL_PIN 25 // GPIO25 on NM-CYD-C5 (verify) + #define LCD_BL_CH 0 + #define LCD_BL_FREQ 5000 + #define LCD_BL_RES 8 + #define LCD_BL_DEFAULT 255 + #define TFT_BL_INVERT 0 // NM-CYD-C5 uses inverted backlight + #define TFT_SWAP_BYTES 1 // 1 = true (swap bytes), 0 = false (try 0 if colors reversed) + + // ─── TFT Pins (for TFT_eSPI User_Setup) ───────────────────── + // SPI pins for ESP32-C5 - verify with board schematic + #define TFT_MISO 2 + #define TFT_MOSI 7 + #define TFT_SCLK 6 + #define TFT_CS 23 + #define TFT_DC 24 + #define TFT_RST -1 + + // ─── Touch Screen (XPT2046) ───────────────────────────────── + // Touch shares SPI bus with TFT (MISO/MOSI/SCK), separate CS + #define HAS_TOUCH 1 + #define TOUCH_CS 1 // XPT2046 CS pin (shared SPI with TFT) + #define TOUCH_IRQ -1 // Optional: touch interrupt pin (-1 if polling) + + // ─── GPS (Optional - can be connected externally) ─────────── + // ESP32-C5 has limited pin availability, verify UART pins + // To use external GPS, connect to available UART pins and update below + #define GPS_RX_PIN 4 // Set to actual pin if using external GPS + #define GPS_TX_PIN 5 // Set to actual pin if using external GPS + #define GPS_BAUD 9600 + #define HAS_GPS 1 // GPS support enabled (external module) + #define GPS_SERIAL_INDEX 2 // Use UART2 for GPS on NM-CYD-C5 + + // ─── SD Card (SPI on NM-CYD-C5) ───────────────────────────── + // ESP32-C5 SPI pins - verify with board schematic + #define SD_CS 10 + #define SD_SCLK 6 + #define SD_MISO 2 + #define SD_MOSI 7 + #define HAS_SD_CARD 1 + +#else + #error "No device selected! Please define one of: DEVICE_T_EMBED_S3, DEVICE_CYD_2USB, or DEVICE_NM_CYD_C5" +#endif + +// ─── BLE Device Classification ────────────────────────────────── +// Declared here so Arduino auto-prototype generation sees the type +enum BLEDeviceType { + BLE_GENERIC = 0, + BLE_AIRTAG = 1, + BLE_FLIPPER = 2, + BLE_APPLE = 3, + BLE_SKIMMER = 4, + BLE_META = 5 +}; // ─── SD OTA ───────────────────────────────────────────────────── // Filename the SD Update tool looks for on the card root diff --git a/rogue-radar/rogue-radar.ino b/rogue-radar/rogue-radar.ino index 9e6c95e..9b7e51d 100644 --- a/rogue-radar/rogue-radar.ino +++ b/rogue-radar/rogue-radar.ino @@ -19,7 +19,7 @@ // - APA102 status LED support // // Hardware Target: -// - LilyGO T-Embed ESP32-S3 +// - LilyGO T-Embed ESP32-S3 / CYD-2USB / NM-CYD-C5 // // Arduino IDE Settings: // - Board: ESP32S3 Dev Module @@ -48,10 +48,16 @@ #include "config.h" #include #include +#include +#include +#include #include #include #include #include +#if HAS_WS2812_LED + #include +#endif #include #include #include @@ -59,13 +65,45 @@ #include #include #include -#include "splash.h" - - -static SPIClass sdSPI(HSPI); - -static HardwareSerial gpsSerial(1); // UART1 — free since BLE uses its own stack -static TinyGPSPlus gps; +// Optional: CYD 320x240 splash screen +#ifdef DEVICE_T_EMBED_S3 + #include "splash.h" +#elif defined(DEVICE_CYD_2USB) || defined(DEVICE_NM_CYD_C5) + #include "splash_cyd.h" +#endif + +#if HAS_CYD_TOUCH + #include +#endif + + +// ─── SPI Bus for SD Card ──────────────────────────────────────── +#if defined(DEVICE_NM_CYD_C5) + static SPIClass sdSPI(SPI); // ESP32-C5 shares SPI bus for TFT and SD +#else + static SPIClass sdSPI(HSPI); +#endif + +// ─── GPS Serial ───────────────────────────────────────────────── +#if HAS_GPS + #if !CONFIG_IDF_TARGET_ESP32C5 + HardwareSerial Serial2(GPS_SERIAL_INDEX); // UART1 for S3, UART2 for CYD / NM-CYD-C5 + #endif +#endif + +#if HAS_GPS + static TinyGPSPlus gps; +#endif + +// ─── GPS Detection ────────────────────────────────────────────── +// Returns true if GPS is configured (pins are set) and should work +static inline bool gpsIsConfigured() { + #if HAS_GPS + return (GPS_RX_PIN >= 0) && (GPS_TX_PIN >= 0); + #else + return false; + #endif +} static const unsigned long SPLASH_TIME_MS = SPLASH_DURATION_MS; TFT_eSPI tft = TFT_eSPI(); @@ -76,12 +114,26 @@ static lv_color_t lvBuf2[SCREEN_W * LV_BUF_LINES]; static lv_display_t *lvDisp = nullptr; static lv_indev_t *lvIndev = nullptr; -// ─── Rotary Encoder ───────────────────────────────────────────── -RotaryEncoder encoder(ENCODER_A, ENCODER_B, RotaryEncoder::LatchMode::TWO03); +// ─── Rotary Encoder (Conditional) ─────────────────────────────── +#if HAS_ENCODER + RotaryEncoder encoder(ENCODER_A, ENCODER_B, RotaryEncoder::LatchMode::TWO03); +#endif -// ─── APA102 LEDs ──────────────────────────────────────────────── -APA102 ledStrip; -rgb_color ledBuf[NUM_LEDS]; +// ─── APA102 LEDs (Conditional) ────────────────────────────────── +#if HAS_APA102_LED + APA102 ledStrip; + rgb_color ledBuf[NUM_LEDS]; +#endif + +// ─── WS2812 LEDs (Conditional) ────────────────────────────────── +#if HAS_WS2812_LED + Adafruit_NeoPixel ws2812Strip(NUM_LEDS, WS2812_PIN, NEO_GRB + NEO_KHZ800); +#endif + +// ─── Touch Screen (Conditional) ───────────────────────────────── +#if HAS_CYD_TOUCH + TFT_Touch ts = TFT_Touch(XPT2046_CS, XPT2046_CLK, XPT2046_MOSI, XPT2046_MISO); +#endif struct MenuLED { uint8_t r, g, b; }; const MenuLED MENU_COLORS[4] = { @@ -250,15 +302,8 @@ static volatile bool flockPendingReady = false; // ════════════════════════════════════════════════════════════════ -// Device type flags for scanner result colouring / filtering -enum BLEDeviceType { - BLE_GENERIC = 0, - BLE_AIRTAG = 1, - BLE_FLIPPER = 2, - BLE_APPLE = 3, // Apple but not an AirTag - BLE_SKIMMER = 4, // HC-03/HC-05/HC-06 skimmer module - BLE_META = 5 // Meta/RayBan smart glasses -}; +// Device type flags — defined in config.h so Arduino-generated +// function prototypes can see the type before use. struct BLEEntry { char name[33]; // advertised local name (or "") @@ -327,27 +372,77 @@ static void lvgl_flush_cb(lv_display_t *disp, static void encoder_read_cb(lv_indev_t *indev, lv_indev_data_t *data) { - encoder.tick(); - int pos = encoder.getPosition(); - data->enc_diff = (int16_t)pos; - if (pos != 0) encoder.setPosition(0); - data->state = (digitalRead(ENCODER_BTN) == LOW) - ? LV_INDEV_STATE_PRESSED - : LV_INDEV_STATE_RELEASED; + #if HAS_ENCODER + encoder.tick(); + int pos = encoder.getPosition(); + data->enc_diff = (int16_t)pos; + if (pos != 0) encoder.setPosition(0); + data->state = (digitalRead(ENCODER_BTN) == LOW) + ? LV_INDEV_STATE_PRESSED + : LV_INDEV_STATE_RELEASED; + #else + // CYD devices: use alternative input method + // For now, return no movement and check for BOOT button (GPIO0) as select + data->enc_diff = 0; + // GPIO0 is the BOOT button on most ESP32 dev boards including CYD + data->state = (digitalRead(0) == LOW) + ? LV_INDEV_STATE_PRESSED + : LV_INDEV_STATE_RELEASED; + (void)indev; // Suppress unused warning + #endif } +// ─── Touch Screen Read Callback ───────────────────────────────── + +#ifdef HAS_CYD_TOUCH +static void touch_read_cb(lv_indev_t *indev, lv_indev_data_t *data) +{ + bool touched = ts.Pressed(); + if(!touched) { + data->state = LV_INDEV_STATE_RELEASED; + return; + } + else { + data->state = LV_INDEV_STATE_PRESSED; + data->point.x = ts.X(); + data->point.y = ts.Y(); + } +} +#endif + +#if HAS_TOUCH +static void touch_read_cb(lv_indev_t *indev, lv_indev_data_t *data) +{ + uint16_t touchX, touchY; + bool touched = tft.getTouch(&touchX, &touchY); + if (!touched) { + data->state = LV_INDEV_STATE_RELEASED; + return; + } else { + data->state = LV_INDEV_STATE_PRESSED; + data->point.x = touchX; + data->point.y = touchY; + } +} +#endif + // ════════════════════════════════════════════════════════════════ // Splash Screen // ════════════════════════════════════════════════════════════════ void showSplashScreen() { tft.fillScreen(TFT_BLACK); - tft.setSwapBytes(true); - // If image matches screen exactly: - tft.pushImage(0, 0, SCREEN_W, SCREEN_H, splash); - - // Or centered if smaller - // tft.pushImage((SCREEN_W - SPLASH_W)/2, (SCREEN_H - SPLASH_H)/2, SPLASH_W, SPLASH_H, splash); + // Use configured swap bytes setting (TFT_SWAP_BYTES in config.h) + // Set to 0 if colors appear reversed (BGR instead of RGB) + tft.setSwapBytes(TFT_SWAP_BYTES); + + #ifdef DEVICE_T_EMBED_S3 + // T-Embed: image matches screen exactly + tft.pushImage(0, 0, SCREEN_W, SCREEN_H, splash); + #elif defined(DEVICE_CYD_2USB) || defined(DEVICE_NM_CYD_C5) + // CYD/NM-CYD-C5 320x240: use full screen splash if available + tft.pushImage(0, 0, SCREEN_W, SCREEN_H, splash_cyd); + #endif delay(SPLASH_TIME_MS); } @@ -359,14 +454,30 @@ void showSplashScreen() { void setAllLEDs(uint8_t r, uint8_t g, uint8_t b, uint8_t br = LED_BRIGHTNESS) { - for (int i = 0; i < NUM_LEDS; i++) ledBuf[i] = {r, g, b}; - ledStrip.write(ledBuf, NUM_LEDS, br); + #if HAS_APA102_LED + for (int i = 0; i < NUM_LEDS; i++) ledBuf[i] = {r, g, b}; + ledStrip.write(ledBuf, NUM_LEDS, br); + #elif HAS_WS2812_LED + // WS2812: apply brightness to color values (0-31 -> 0-255) + uint8_t scale = (br * 8) > 255 ? 255 : (br * 8); + uint8_t sr = (r * scale) >> 8; + uint8_t sg = (g * scale) >> 8; + uint8_t sb = (b * scale) >> 8; + for (int i = 0; i < NUM_LEDS; i++) { + ws2812Strip.setPixelColor(i, ws2812Strip.Color(sr, sg, sb)); + } + ws2812Strip.show(); + #else + (void)r; (void)g; (void)b; (void)br; // Suppress unused warnings + #endif } void ledStartupFlash() { - setAllLEDs(255, 255, 255, 10); delay(300); - setAllLEDs(0, 0, 0, 0); delay(150); - setAllLEDs(MENU_COLORS[0].r, MENU_COLORS[0].g, MENU_COLORS[0].b); + #if HAS_APA102_LED || HAS_WS2812_LED + setAllLEDs(255, 255, 255, 10); delay(300); + setAllLEDs(0, 0, 0, 0); delay(150); + setAllLEDs(MENU_COLORS[0].r, MENU_COLORS[0].g, MENU_COLORS[0].b); + #endif } // ── LED Spinner Task ───────────────────────────────────────────── // Runs on core 0 while core 1 blocks on a WiFi scan. @@ -376,33 +487,64 @@ void ledStartupFlash() { // Tail : 12% dimmed // Rest : off static void ledSpinnerTask(void *param) { - uint8_t pos = 0; - rgb_color frame[NUM_LEDS]; - - while (spinnerRunning) { - for (int i = 0; i < NUM_LEDS; i++) frame[i] = {0, 0, 0}; - - uint8_t head = pos % NUM_LEDS; - uint8_t mid = (pos + NUM_LEDS - 1) % NUM_LEDS; - uint8_t tail = (pos + NUM_LEDS - 2) % NUM_LEDS; - - frame[head] = { spinnerColor.r, - spinnerColor.g, - spinnerColor.b }; - frame[mid] = { (uint8_t)(spinnerColor.r * 35 / 100), - (uint8_t)(spinnerColor.g * 35 / 100), - (uint8_t)(spinnerColor.b * 35 / 100) }; - frame[tail] = { (uint8_t)(spinnerColor.r * 12 / 100), - (uint8_t)(spinnerColor.g * 12 / 100), - (uint8_t)(spinnerColor.b * 12 / 100) }; + #if HAS_APA102_LED + uint8_t pos = 0; + rgb_color frame[NUM_LEDS]; + + while (spinnerRunning) { + for (int i = 0; i < NUM_LEDS; i++) frame[i] = {0, 0, 0}; + + uint8_t head = pos % NUM_LEDS; + uint8_t mid = (pos + NUM_LEDS - 1) % NUM_LEDS; + uint8_t tail = (pos + NUM_LEDS - 2) % NUM_LEDS; + + frame[head] = { spinnerColor.r, + spinnerColor.g, + spinnerColor.b }; + frame[mid] = { (uint8_t)(spinnerColor.r * 35 / 100), + (uint8_t)(spinnerColor.g * 35 / 100), + (uint8_t)(spinnerColor.b * 35 / 100) }; + frame[tail] = { (uint8_t)(spinnerColor.r * 12 / 100), + (uint8_t)(spinnerColor.g * 12 / 100), + (uint8_t)(spinnerColor.b * 12 / 100) }; + + ledStrip.write(frame, NUM_LEDS, LED_BRIGHTNESS); + pos = (pos + 1) % NUM_LEDS; + vTaskDelay(pdMS_TO_TICKS(80)); // ~12 FPS chase speed + } - ledStrip.write(frame, NUM_LEDS, LED_BRIGHTNESS); - pos = (pos + 1) % NUM_LEDS; - vTaskDelay(pdMS_TO_TICKS(80)); // ~12 FPS chase speed - } + spinnerTaskHandle = nullptr; + vTaskDelete(nullptr); + #elif HAS_WS2812_LED + // Single WS2812 LED: simple blink/pulse effect + uint8_t pulse = 0; + int8_t delta = 5; + + while (spinnerRunning) { + // Scale color by pulse brightness + uint8_t r = (spinnerColor.r * pulse) >> 8; + uint8_t g = (spinnerColor.g * pulse) >> 8; + uint8_t b = (spinnerColor.b * pulse) >> 8; + + for (int i = 0; i < NUM_LEDS; i++) { + ws2812Strip.setPixelColor(i, ws2812Strip.Color(r, g, b)); + } + ws2812Strip.show(); + + pulse += delta; + if (pulse >= 200) delta = -5; + if (pulse <= 20) delta = 5; + + vTaskDelay(pdMS_TO_TICKS(30)); // ~30 FPS pulse + } - spinnerTaskHandle = nullptr; - vTaskDelete(nullptr); + spinnerTaskHandle = nullptr; + vTaskDelete(nullptr); + #else + (void)param; + spinnerTaskHandle = nullptr; + vTaskDelete(nullptr); + #endif } // Start the spinner with a given accent colour (call before blocking scan) @@ -704,6 +846,47 @@ void createDeviceInfo() { uint32_t cpuMHz = ESP.getCpuFreqMHz(); const char *idfVer = ESP.getSdkVersion(); + // Detect chip model at runtime using esp_chip_info() + esp_chip_info_t chip_info; + esp_chip_info(&chip_info); + + const char* chipModel; + switch (chip_info.model) { + case CHIP_ESP32: + chipModel = "ESP32"; + break; + case CHIP_ESP32S2: + chipModel = "ESP32-S2"; + break; + case CHIP_ESP32S3: + chipModel = "ESP32-S3"; + break; + case CHIP_ESP32C2: + chipModel = "ESP32-C2"; + break; + case CHIP_ESP32C3: + chipModel = "ESP32-C3"; + break; + case CHIP_ESP32C5: + chipModel = "ESP32-C5"; + break; + case CHIP_ESP32C6: + chipModel = "ESP32-C6"; + break; + case CHIP_ESP32C61: + chipModel = "ESP32-C61"; + break; + case CHIP_ESP32H2: + chipModel = "ESP32-H2"; + break; + case CHIP_ESP32P4: + chipModel = "ESP32-P4"; + break; + default: + chipModel = "Unknown"; + break; + } + // WiFi MAC uint8_t mac[6]; esp_read_mac(mac, ESP_MAC_WIFI_STA); @@ -717,13 +900,14 @@ void createDeviceInfo() { char info[320]; snprintf(info, sizeof(info), - "Chip : ESP32-S3 (%d cores)\n" + "Chip : %s (%d cores)\n" "CPU : %lu MHz\n" "Flash: %lu KB @ %lu MHz\n" "Heap : %lu B free\n" "MAC : %s\n" "ID : %s\n" "IDF : %s", + chipModel, cores, (unsigned long)cpuMHz, (unsigned long)flash, @@ -920,7 +1104,7 @@ static lv_obj_t *brightDownBtn = nullptr; static lv_obj_t *brightUpBtn = nullptr; static void applyBrightness() { - ledcWrite(LCD_BL_CH, lcdBrightness); + ledcWrite(LCD_BL_PIN, TFT_BL_INVERT ? (255 - lcdBrightness) : lcdBrightness); if (!brightBar || !brightPctLbl) return; int pct = (lcdBrightness * 100) / 255; lv_bar_set_value(brightBar, pct, LV_ANIM_ON); @@ -1051,11 +1235,15 @@ static void cb_gpsToolBack(lv_event_t *e) { } static void cb_gpsToolSelected(lv_event_t *e) { - int t = (int)(intptr_t)lv_event_get_user_data(e); - switch (t) { - case 0: createGPSStats(); break; - case 1: createWiggleWars(); break; - } + #if HAS_GPS + int t = (int)(intptr_t)lv_event_get_user_data(e); + switch (t) { + case 0: createGPSStats(); break; + case 1: createWiggleWars(); break; + } + #else + (void)e; + #endif } void createGPSMenu() { @@ -1076,14 +1264,37 @@ void createGPSMenu() { deleteGroup(&gpsMenuGroup); gpsMenuGroup = lv_group_create(); - for (int i = 0; i < 2; i++) { - lv_obj_t *btn = lv_list_add_btn(list, nullptr, GPS_TOOL_LABELS[i]); + #if HAS_GPS + if (gpsIsConfigured()) { + // GPS pins are configured, show GPS tools + for (int i = 0; i < 2; i++) { + lv_obj_t *btn = lv_list_add_btn(list, nullptr, GPS_TOOL_LABELS[i]); + styleListBtn(btn); + lv_obj_set_height(btn, 30); + lv_obj_add_event_cb(btn, cb_gpsToolSelected, LV_EVENT_CLICKED, + (void *)(intptr_t)i); + lv_group_add_obj(gpsMenuGroup, btn); + } + } else { + // GPS support compiled but pins not configured + lv_obj_t *btn = lv_list_add_btn(list, LV_SYMBOL_WARNING, "GPS Not Configured"); + styleListBtn(btn); + lv_obj_set_height(btn, 30); + lv_group_add_obj(gpsMenuGroup, btn); + + // Add hint label + lv_obj_t *hint = lv_label_create(list); + lv_label_set_text(hint, "Set GPS_RX_PIN/GPS_TX_PIN in config.h"); + lv_obj_set_style_text_color(hint, lv_color_hex(0x8b949e), LV_PART_MAIN); + lv_obj_set_style_text_font(hint, &lv_font_montserrat_14, LV_PART_MAIN); + } + #else + // No GPS support compiled in + lv_obj_t *btn = lv_list_add_btn(list, LV_SYMBOL_WARNING, "GPS Not Available"); styleListBtn(btn); lv_obj_set_height(btn, 30); - lv_obj_add_event_cb(btn, cb_gpsToolSelected, LV_EVENT_CLICKED, - (void *)(intptr_t)i); lv_group_add_obj(gpsMenuGroup, btn); - } + #endif lv_obj_t *backBtn = createBackBtn(gpsMenuScreen, cb_gpsMenuBack); lv_group_add_obj(gpsMenuGroup, backBtn); @@ -1245,7 +1456,7 @@ static bool wiggleOpenFile() { if (!wiggleFile) return false; wiggleFile.println( - "WigleWifi-1.4,appRelease=1.0,model=T-Embed,release=1.0," + "WigleWifi-1.4,appRelease=1.0,model=RogueRadar,release=1.0," "device=ESP32-S3,display=TFT,board=ESP32-S3,brand=LilyGO"); wiggleFile.println( "MAC,SSID,AuthMode,FirstSeen,Channel,Frequency,RSSI," @@ -2540,7 +2751,7 @@ static uint16_t extract16BitFromUUID(String uuid) { static bool detectMeta(BLEAdvertisedDevice &dev) { // 1. Manufacturer data company ID if (dev.haveManufacturerData()) { - std::string m = dev.getManufacturerData(); + String m = dev.getManufacturerData(); if (m.length() >= 2) { uint16_t companyId = ((uint8_t)m[1] << 8) | (uint8_t)m[0]; if (isBlockedIdentifier(companyId)) return false; @@ -2575,7 +2786,7 @@ static bool detectMeta(BLEAdvertisedDevice &dev) { // Apple AirTag: Company ID 0x004C + Find My type byte 0x12 + subtype 0x19 static bool detectAirTag(BLEAdvertisedDevice &dev) { if (!dev.haveManufacturerData()) return false; - std::string m = dev.getManufacturerData(); + String m = dev.getManufacturerData(); if (m.length() < 4) return false; return ((uint8_t)m[0] == 0x4C && (uint8_t)m[1] == 0x00 && @@ -2586,7 +2797,7 @@ static bool detectAirTag(BLEAdvertisedDevice &dev) { // Apple device (any): Company ID 0x004C static bool detectApple(BLEAdvertisedDevice &dev) { if (!dev.haveManufacturerData()) return false; - std::string m = dev.getManufacturerData(); + String m = dev.getManufacturerData(); if (m.length() < 2) return false; return ((uint8_t)m[0] == 0x4C && (uint8_t)m[1] == 0x00); } @@ -2620,7 +2831,9 @@ static bool detectFlipper(BLEAdvertisedDevice &dev) { BLEUUID uuid = dev.getServiceUUID(i); // Normalise to 16-bit if possible for comparison if (uuid.bitSize() == 16) { - if (uuid.getNative()->uuid.uuid16 == 0x3802) return true; + String uuidCheck = String(uuid.toString().c_str()); + uuidCheck.toLowerCase(); + if (uuidCheck.indexOf("3802") >= 0) return true; } // Also catch full 128-bit expansion of 0x3802 String uuidStr = String(uuid.toString().c_str()); @@ -2630,10 +2843,10 @@ static bool detectFlipper(BLEAdvertisedDevice &dev) { } // ── Method 3: OUI check (bonus – rarely fires with random addr) ─ - std::string mac = dev.getAddress().toString(); + String mac = String(dev.getAddress().toString().c_str()); if (mac.length() >= 8) { - std::string oui = mac.substr(0, 8); - for (char &c : oui) c = tolower(c); + String oui = mac.substring(0, 8); + oui.toLowerCase(); if (oui == "0c:fa:22") return true; } @@ -2672,12 +2885,12 @@ static int doBLEScan(int durationSec, BLEDeviceType filterType) { pScan->setInterval(150); // was 100 — gives more time for scan responses pScan->setWindow(140); // was 99 - BLEScanResults results = pScan->start(durationSec, false); - int total = results.getCount(); + BLEScanResults *results = pScan->start(durationSec, false); + int total = results->getCount(); bleEntryCount = 0; for (int i = 0; i < total && bleEntryCount < MAX_BLE_RESULTS; i++) { - BLEAdvertisedDevice dev = results.getDevice(i); + BLEAdvertisedDevice dev = results->getDevice(i); // Classify device BLEDeviceType dtype = BLE_GENERIC; @@ -3816,24 +4029,52 @@ void createMetaDetector() { void setup() { Serial.begin(115200); - gpsSerial.begin(GPS_BAUD, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN); + // Initialize GPS only if pins are configured + #if HAS_GPS + if (gpsIsConfigured()) { + Serial2.begin(GPS_BAUD, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN); + Serial.println("[GPS] External GPS module enabled"); + } else { + Serial.println("[GPS] GPS support compiled but pins not configured"); + } + #endif // SD card on dedicated HSPI bus — must not share with TFT sdSPI.begin(SD_SCLK, SD_MISO, SD_MOSI, SD_CS); - pinMode(POWER_PIN, OUTPUT); - digitalWrite(POWER_PIN, HIGH); - pinMode(ENCODER_BTN, INPUT_PULLUP); + #if defined(POWER_PIN) && (POWER_PIN >= 0) + pinMode(POWER_PIN, OUTPUT); + digitalWrite(POWER_PIN, HIGH); + #endif + #if HAS_ENCODER + pinMode(ENCODER_BTN, INPUT_PULLUP); + #else + // CYD devices: use BOOT button (GPIO0) as select + pinMode(0, INPUT_PULLUP); + #endif tft.begin(); tft.writecommand(0x11); delay(120); tft.setRotation(1); // Backlight PWM via LEDC — allows smooth brightness control - ledcSetup(LCD_BL_CH, LCD_BL_FREQ, LCD_BL_RES); - ledcAttachPin(LCD_BL_PIN, LCD_BL_CH); - ledcWrite(LCD_BL_CH, lcdBrightness); + ledcAttach(LCD_BL_PIN, LCD_BL_FREQ, LCD_BL_RES); + ledcWrite(LCD_BL_PIN, TFT_BL_INVERT ? (255 - lcdBrightness) : lcdBrightness); tft.fillScreen(TFT_BLACK); +#if HAS_CYD_TOUCH + ts.setCal(495, 3398, 721, 3448, 320, 240, 1); +#endif +#if HAS_TOUCH + uint16_t calData[5] = { 225, 3413, 403, 3334, 1 }; + tft.setTouch(calData); +#endif + showSplashScreen(); // Splash Screen Call + // Initialize WS2812 LED if present + #if HAS_WS2812_LED + ws2812Strip.begin(); + ws2812Strip.show(); // Initialize all pixels to 'off' + #endif + lv_init(); lv_tick_set_cb([]() -> uint32_t { return (uint32_t)millis(); }); @@ -3843,13 +4084,22 @@ void setup() { sizeof(lvBuf1), LV_DISPLAY_RENDER_MODE_PARTIAL); lvIndev = lv_indev_create(); - lv_indev_set_type(lvIndev, LV_INDEV_TYPE_ENCODER); - lv_indev_set_read_cb(lvIndev, encoder_read_cb); + #if HAS_TOUCH || HAS_CYD_TOUCH + // Touch screen input + lv_indev_set_type(lvIndev, LV_INDEV_TYPE_POINTER); + lv_indev_set_read_cb(lvIndev, touch_read_cb); + Serial.println("[Input] Touch screen enabled"); + #else + // Encoder or button input + lv_indev_set_type(lvIndev, LV_INDEV_TYPE_ENCODER); + lv_indev_set_read_cb(lvIndev, encoder_read_cb); + Serial.println("[Input] Encoder enabled"); + #endif ledStartupFlash(); createMainMenu(); - Serial.println("[T-Embed] Boot complete."); + Serial.println("[Rogue Radar] Boot complete."); } // ════════════════════════════════════════════════════════════════ @@ -3858,8 +4108,12 @@ void setup() { void loop() { // Feed all available GPS bytes into TinyGPS++ — non-blocking - while (gpsSerial.available()) - gps.encode(gpsSerial.read()); + #if HAS_GPS + if (gpsIsConfigured()) { + while (Serial2.available()) + gps.encode(Serial2.read()); + } + #endif lv_timer_handler(); @@ -3871,7 +4125,8 @@ void loop() { esp_wifi_set_channel(deauthChannel, WIFI_SECOND_CHAN_NONE); } - // Long-press power-off (hold encoder 5 s) + // Long-press power-off (hold encoder 5 s) - only for T-Embed + #if HAS_ENCODER if (!powerOffTriggered) { if (digitalRead(ENCODER_BTN) == LOW) { if (btnHoldStart == 0) btnHoldStart = millis(); @@ -3892,14 +4147,19 @@ void loop() { lv_screen_load(offScr); lv_timer_handler(); - setAllLEDs(0, 0, 0, 0); + #if HAS_APA102_LED + setAllLEDs(0, 0, 0, 0); + #endif delay(1500); - digitalWrite(POWER_PIN, LOW); + #if defined(POWER_PIN) && (POWER_PIN >= 0) + digitalWrite(POWER_PIN, LOW); + #endif } } else { btnHoldStart = 0; } } + #endif delay(5); } diff --git a/rogue-radar/splash.h b/rogue-radar/splash.h index c877346..d540399 100644 --- a/rogue-radar/splash.h +++ b/rogue-radar/splash.h @@ -1,7 +1,10 @@ +// Splash screen bitmap - 320x170 for T-Embed +// For 320x240 devices (CYD), this is centered on screen + #define SPLASH_HEIGHT 170 #define SPLASH_WIDTH 320 -// array size is 108800 +// array size is 54400 (320 * 170) static const uint16_t splash[] PROGMEM = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x4208, 0x4a6b, 0x424a, 0x424a, 0x424a, 0x424a, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x424a, 0x424a, 0x424b, 0x4a6b, 0x424b, 0x424a, 0x422a, 0x422a, 0x3a09, 0x3a09, 0x3a09, 0x3a09, 0x3a09, 0x39e9, 0x3a09, 0x3a09, 0x3a09, 0x3a09, 0x4209, 0x3a09, 0x3a09, 0x3a09, 0x4209, 0x422a, 0x3a09, 0x3a09, 0x3a0a, 0x422a, 0x422a, 0x4229, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x424a, 0x424a, 0x424a, 0x424a, 0x422a, 0x4209, 0x4209, 0x4209, 0x3a09, 0x4209, 0x3a09, 0x3a09, 0x39e9, 0x3a09, 0x3a09, 0x3a09, 0x3a09, 0x39e9, 0x3a09, 0x4209, 0x3a09, 0x4209, 0x422a, 0x422a, 0x422a, 0x3a09, 0x3a09, 0x39e9, 0x3a09, 0x39e9, 0x3a09, 0x39e9, 0x3a09, 0x3a09, 0x39e9, 0x3a09, 0x39e9, 0x39c8, 0x39e8, 0x39e8, 0x39e8, 0x3a09, 0x422a, 0x424a, 0x422a, 0x4209, 0x39e9, 0x39c8, 0x39c8, 0x31c8, 0x31a8, 0x31a7, 0x31a8, 0x31a7, 0x3187, 0x3187, 0x3187, 0x2967, 0x2966, 0x2966, 0x2966, 0x2966, 0x2966, 0x2946, 0x2125, 0x2125, 0x2125, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x1905, 0x18e4, 0x18e4, 0x18e4, 0x2105, 0x18e4, 0x18e4, 0x18c4, 0x18c4, 0x18c4, 0x18c4, 0x18c4, 0x18e4, 0x18e4, 0x1905, 0x2104, 0x2105, 0x2105, 0x2105, 0x2105, 0x2104, 0x2105, 0x2105, 0x2125, 0x2125, 0x2146, 0x2946, 0x2105, 0x2105, 0x2105, 0x18e4, 0x1904, 0x2104, 0x2105, 0x2105, 0x2105, 0x2125, 0x2126, 0x2146, 0x2946, 0x2946, 0x2967, 0x2987, 0x3187, 0x2966, 0x2966, 0x2966, 0x2966, 0x2966, 0x2967, 0x3187, 0x3187, 0x3187, 0x3187, 0x3187, 0x3187, 0x2987, 0x2966, 0x2987, 0x3187, 0x3187, 0x2966, 0x2967, 0x2987, 0x3187, 0x31a8, 0x31a8, 0x31a8, 0x31c8, 0x39e9, 0x39e9, 0x39e9, 0x39c8, 0x39e9, 0x39e9, 0x3a09, 0x3a09, 0x4209, 0x4209, 0x422a, 0x422a, 0x422a, 0x424a, 0x424a, 0x424a, 0x4a4b, 0x4a8b, 0x4a6b, 0x4a6b, 0x4a8b, 0x4a6b, 0x4a6b, 0x4a8b, 0x4a6b, 0x4a6b, 0x424b, 0x424b, 0x424b, 0x4a6b, 0x4a6b, 0x4a6b, 0x424b, 0x424b, 0x426b, 0x4a6b, 0x4a6b, 0x4a6b, 0x4a6b, 0x4a6b, 0x424b, 0x424b, 0x424b, 0x424a, 0x422a, 0x422a, 0x422a, 0x422a, 0x3a0a, 0x3a09, 0x3a09, 0x3a09, 0x3a09, 0x39e9, 0x39e9, 0x39e9, 0x39e9, 0x39e9, 0x39e9, 0x39e9, 0x39e9, 0x39e9, 0x39c8, 0x31c8, 0x31c8, 0x31c8, 0x31a8, 0x31a8, 0x31a8, 0x31a8, 0x3187, 0x31a8, 0x31a8, 0x31a8, 0x2987, 0x31a8, 0x31a8, 0x31a8, 0x31a8, 0x31a8, 0x31a8, 0x31a8, 0x31c8, 0x31a8, 0x29a8, 0x31c9, 0x31c9, 0x3a0a, 0x3a2b, 0x424b, 0x426c, 0x426c, 0x426c, 0x424b, 0x424b, 0x3a4b, 0x3a4b, 0x3a2b, 0x3a2b, 0x3a2b, 0x3a4c, 0x3a4c, 0x428d, 0x428d, 0x428d, 0x42ad, 0x4aef, 0x10e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x10a3, 0x2966, 0x424a, 0x424a, 0x424a, 0x424a, 0x424a, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x424a, 0x424a, 0x422a, 0x3a09, 0x39e9, 0x39c8, 0x31a8, 0x3187, 0x2987, 0x3187, 0x31a7, 0x31a8, 0x31a8, 0x31a8, 0x31a8, 0x31c8, 0x31c8, 0x31c8, 0x39e8, 0x39e9, 0x3a09, 0x3a09, 0x39e9, 0x39e9, 0x3a09, 0x420a, 0x422a, 0x422a, 0x424a, 0x424a, 0x424a, 0x424b, 0x424a, 0x424a, 0x424b, 0x424a, 0x424a, 0x422a, 0x422a, 0x422a, 0x422a, 0x422a, 0x420a, 0x3a09, 0x3a09, 0x3a09, 0x39e9, 0x39e9, 0x3a09, 0x39e9, 0x39e9, 0x39e9, 0x39e9, 0x3a09, 0x3a09, 0x3a09, 0x4209, 0x422a, 0x424a, 0x422a, 0x422a, 0x422a, 0x422a, 0x424a, 0x4a4b, 0x4a6b, 0x4a6b, 0x4a8b, 0x528b, 0x52ac, 0x52cc, 0x52cc, 0x52cd, 0x5acd, 0x5acd, 0x5aed, 0x5b0d, 0x632e, 0x632e, 0x634f, 0x6b6f, 0x6b6f, 0x6b90, 0x73b0, 0x73b1, 0x73d1, 0x73d1, 0x73d1, 0x73d1, 0x73d1, 0x73d1, 0x73d1, 0x73f1, 0x73d1, 0x73d1, 0x6bb0, 0x6b90, 0x6b6f, 0x632e, 0x5aed, 0x52cc, 0x52ac, 0x528c, 0x4a8b, 0x4a8b, 0x4a8b, 0x4a6b, 0x424a, 0x422a, 0x422a, 0x422a, 0x424a, 0x4a4b, 0x422a, 0x4209, 0x31c8, 0x3187, 0x2967, 0x2946, 0x2946, 0x2946, 0x2946, 0x2146, 0x2126, 0x2125, 0x2125, 0x2126, 0x2125, 0x2125, 0x2125, 0x2946, 0x2946, 0x2966, 0x2966, 0x320b, 0x2946, 0x2146, 0x2125, 0x2125, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x2125, 0x2125, 0x2146, 0x2946, 0x2946, 0x2966, 0x2966, 0x2946, 0x2946, 0x2946, 0x2946, 0x2946, 0x2946, 0x2946, 0x2966, 0x2946, 0x2946, 0x2966, 0x2966, 0x2966, 0x2946, 0x2125, 0x2125, 0x2145, 0x2946, 0x2946, 0x2946, 0x2946, 0x2966, 0x2967, 0x2967, 0x3187, 0x31a7, 0x31a8, 0x39c8, 0x39c8, 0x39c8, 0x39e9, 0x3a09, 0x4209, 0x4209, 0x422a, 0x4a4a, 0x4a4a, 0x4a6b, 0x4a6b, 0x4a6b, 0x4a6b, 0x4a8b, 0x4a8b, 0x528c, 0x52ac, 0x52ac, 0x52ac, 0x52ac, 0x52ac, 0x52ac, 0x52ac, 0x52ac, 0x528c, 0x4a8b, 0x4a8b, 0x4a8b, 0x528c, 0x4a8b, 0x4a8b, 0x528c, 0x52ac, 0x52ac, 0x52cc, 0x52cc, 0x52ac, 0x52ac, 0x52ac, 0x4a8c, 0x4a8b, 0x4a6b, 0x4a4b, 0x4a6b, 0x4a4b, 0x424a, 0x424a, 0x422a, 0x422a, 0x3a09, 0x3a09, 0x39e9, 0x39e9, 0x39e9, 0x39c8, 0x39c8, 0x39c8, 0x39e8, 0x39c8, 0x31c8, 0x31a8, 0x31a8, 0x31a7, 0x31a7, 0x3187, 0x2987, 0x2967, 0x2967, 0x2967, 0x2967, 0x2967, 0x2967, 0x2967, 0x2966, 0x2967, 0x2967, 0x2967, 0x2147, 0x2147, 0x2146, 0x2146, 0x2147, 0x2967, 0x29a8, 0x3a0a, 0x426c, 0x4a8c, 0x4aad, 0x52ee, 0x530f, 0x530f, 0x52ee, 0x4acd, 0x4ace, 0x52ce, 0x4ace, 0x4aad, 0x4aad, 0x52ce, 0x52ee, 0x52ef, 0x530f, 0x530f, 0x5330, 0x53f6, 0x4311, 0x1106, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, diff --git a/rogue-radar/splash_cyd.h b/rogue-radar/splash_cyd.h new file mode 100644 index 0000000..abf1fbd --- /dev/null +++ b/rogue-radar/splash_cyd.h @@ -0,0 +1,6411 @@ +// 320x240 Splash Screen for CYD devices +// Generated from: .\header-image-cyd.png +// Dimensions: 320x240 +// Format: RGB565 (16-bit) + +#define SPLASH_WIDTH 320 +#define SPLASH_HEIGHT 240 + +// Array size: 76800 +static const uint16_t splash_cyd[] PROGMEM = { + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x3A08, + 0x422A, 0x422A, 0x424A, 0x424A, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A2A, 0x3A2A, 0x424A, 0x424A, + 0x424A, 0x424A, 0x3A2A, 0x3A2A, 0x39E9, 0x39E9, 0x3A09, 0x3A0A, 0x3A0A, 0x420A, 0x422A, 0x422A, + 0x3A09, 0x3A09, 0x422A, 0x422A, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, + 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A2A, 0x3A2A, 0x3A2A, 0x3A2A, 0x424A, 0x424A, 0x424A, 0x424A, + 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x4229, 0x4229, 0x3A09, 0x3A09, 0x3A09, 0x3A09, + 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x422A, 0x422A, + 0x4229, 0x4229, 0x3A09, 0x3A09, 0x39E9, 0x39E9, 0x39E8, 0x39E8, 0x3A09, 0x3A09, 0x39E9, 0x39E9, + 0x31C8, 0x31C8, 0x31A8, 0x31C8, 0x31C8, 0x31C8, 0x39E9, 0x39E9, 0x39E9, 0x39E9, 0x31A8, 0x31A8, + 0x3187, 0x3187, 0x2987, 0x2987, 0x2987, 0x2987, 0x2967, 0x2967, 0x2966, 0x2146, 0x2146, 0x2146, + 0x2146, 0x2146, 0x2125, 0x2125, 0x2125, 0x2125, 0x2105, 0x1904, 0x1904, 0x1904, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x18C4, 0x1904, 0x1904, + 0x18E4, 0x18E4, 0x1904, 0x1904, 0x2105, 0x2105, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, + 0x2125, 0x2125, 0x2146, 0x2146, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, + 0x2125, 0x2125, 0x2146, 0x2146, 0x2146, 0x2146, 0x2966, 0x2966, 0x2967, 0x2967, 0x2966, 0x2966, + 0x2967, 0x2967, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, + 0x2987, 0x2987, 0x2987, 0x2987, 0x3187, 0x3187, 0x2987, 0x2987, 0x31A8, 0x31A8, 0x31C8, 0x31C8, + 0x39E9, 0x39E9, 0x39E9, 0x39E9, 0x3A09, 0x3A09, 0x4229, 0x4229, 0x424A, 0x424A, 0x424A, 0x424A, + 0x424A, 0x424A, 0x4A6B, 0x4A6B, 0x4A8B, 0x4A8B, 0x4A8B, 0x426B, 0x4A8B, 0x4A8B, 0x4A6B, 0x4A6B, + 0x4A6B, 0x4A6B, 0x4A6B, 0x4A6B, 0x426B, 0x426B, 0x4A8B, 0x4A8B, 0x426B, 0x4A8C, 0x426B, 0x426B, + 0x426B, 0x426B, 0x4A8B, 0x424B, 0x426B, 0x426B, 0x424A, 0x424A, 0x422A, 0x422A, 0x3A2A, 0x3A2A, + 0x3A0A, 0x3A0A, 0x39E9, 0x39E9, 0x31E9, 0x31E9, 0x39E9, 0x39E9, 0x39E8, 0x39E8, 0x39C8, 0x39C8, + 0x31C8, 0x31C8, 0x31A8, 0x31A8, 0x31A8, 0x31A8, 0x31C8, 0x31C8, 0x31A8, 0x31A8, 0x2987, 0x2987, + 0x29A8, 0x29A8, 0x31A8, 0x31A8, 0x31C8, 0x31C8, 0x31C9, 0x31C9, 0x31C9, 0x31C9, 0x29A9, 0x29A9, + 0x3A0A, 0x3A0A, 0x3A0A, 0x3A2B, 0x3A2B, 0x3A2B, 0x3A0B, 0x3A2B, 0x3A2B, 0x3A2B, 0x3A0B, 0x3A0B, + 0x320B, 0x320B, 0x3A4C, 0x3A4C, 0x426C, 0x426C, 0x426C, 0x426C, 0x426D, 0x3A4B, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18C3, 0x2966, 0x422A, 0x422A, 0x424A, 0x424A, + 0x424A, 0x3A09, 0x422A, 0x424A, 0x3A2A, 0x3A2A, 0x424A, 0x424A, 0x424A, 0x424A, 0x3A2A, 0x3A2A, + 0x39E9, 0x39E9, 0x31C8, 0x31C8, 0x31A7, 0x31A7, 0x31A7, 0x31A7, 0x31A7, 0x31A7, 0x31A7, 0x31A8, + 0x31C8, 0x31C8, 0x31C8, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, + 0x3A2A, 0x3A2A, 0x3A2A, 0x3A2A, 0x424A, 0x424A, 0x424A, 0x424A, 0x422A, 0x422A, 0x422A, 0x422A, + 0x422A, 0x422A, 0x4229, 0x4229, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, + 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x422A, 0x422A, 0x4229, 0x4229, 0x3A09, 0x3A09, + 0x424A, 0x424A, 0x4A4A, 0x4A6A, 0x4A6A, 0x4A6B, 0x4A6B, 0x4A8B, 0x4A6B, 0x4A6B, 0x424A, 0x424A, + 0x4A6B, 0x4A6B, 0x52AC, 0x52AC, 0x52CD, 0x52CC, 0x52AC, 0x52AC, 0x4AAC, 0x4AAC, 0x4A8B, 0x4A8B, + 0x4A6B, 0x4A6B, 0x426B, 0x424B, 0x422A, 0x422A, 0x3A0A, 0x3A0A, 0x3A09, 0x3A09, 0x3A09, 0x3A09, + 0x39E8, 0x39E8, 0x31C8, 0x31C8, 0x31C8, 0x31A8, 0x31A7, 0x31A7, 0x3187, 0x3187, 0x2987, 0x2987, + 0x2987, 0x2987, 0x2146, 0x2146, 0x1905, 0x1905, 0x1904, 0x1904, 0x18E4, 0x18E4, 0x1904, 0x1904, + 0x2105, 0x2105, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2146, 0x2987, + 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x2105, 0x2125, 0x2125, 0x2146, 0x2146, + 0x2146, 0x2146, 0x2966, 0x2966, 0x2967, 0x2967, 0x2966, 0x2966, 0x2967, 0x2967, 0x2987, 0x2987, + 0x2966, 0x2987, 0x2987, 0x2987, 0x2946, 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, 0x2987, + 0x2966, 0x3187, 0x2987, 0x2987, 0x31A8, 0x31A8, 0x31C8, 0x31C8, 0x39E9, 0x39E9, 0x39E9, 0x39E9, + 0x3A09, 0x3A09, 0x4229, 0x4229, 0x424A, 0x424A, 0x424A, 0x424A, 0x424A, 0x424A, 0x4A6B, 0x4A6B, + 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A6B, 0x4A6B, 0x4A6B, 0x4A6B, 0x4A6B, 0x4A6B, + 0x426B, 0x426B, 0x4A8B, 0x4A8B, 0x4A8C, 0x4A8C, 0x4A8C, 0x4A8C, 0x4AAC, 0x4AAC, 0x4A8B, 0x4A8B, + 0x426B, 0x426B, 0x424A, 0x424A, 0x422A, 0x422A, 0x3A2A, 0x3A2A, 0x3A0A, 0x3A0A, 0x39E9, 0x39E9, + 0x31E9, 0x31E9, 0x39E9, 0x39E9, 0x39E8, 0x39E8, 0x39C8, 0x39C8, 0x31C8, 0x31C8, 0x31A8, 0x31A8, + 0x31A8, 0x31A8, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2967, 0x2967, 0x2167, 0x2167, + 0x2167, 0x2147, 0x2146, 0x2147, 0x2167, 0x2167, 0x2167, 0x29A9, 0x3A0A, 0x424B, 0x426C, 0x426C, + 0x52CD, 0x52CD, 0x52EE, 0x52EE, 0x4ACD, 0x4ACD, 0x4AAD, 0x4ACD, 0x4AAD, 0x4AAD, 0x4AAD, 0x4ACD, + 0x4ACE, 0x52EE, 0x52EE, 0x4AEE, 0x5372, 0x3A8D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2104, 0x10A3, 0x2125, 0x422A, 0x422A, 0x424A, 0x424A, 0x422A, 0x422A, 0x422A, 0x422A, + 0x422A, 0x422A, 0x424A, 0x424A, 0x422A, 0x422A, 0x422A, 0x422A, 0x4209, 0x4209, 0x39E8, 0x39E8, + 0x31A8, 0x31A8, 0x31C8, 0x31C8, 0x31A8, 0x31A8, 0x31C8, 0x31C8, 0x39C8, 0x39C8, 0x39E8, 0x39E8, + 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x4229, 0x4229, 0x422A, 0x422A, 0x424A, 0x424A, 0x426B, 0x426B, + 0x424A, 0x424A, 0x424A, 0x424A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, + 0x4229, 0x4229, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, + 0x3A09, 0x3A09, 0x4229, 0x4229, 0x422A, 0x422A, 0x422A, 0x422A, 0x426A, 0x426A, 0x4A6B, 0x4A6B, + 0x4A8C, 0x4A8C, 0x52CC, 0x52CC, 0x5AED, 0x5AED, 0x5B0E, 0x5B0E, 0x632E, 0x634E, 0x634F, 0x6B6F, + 0x6B90, 0x6BB0, 0x73D1, 0x73F2, 0x7C12, 0x8453, 0x8433, 0x8433, 0x8C74, 0x8C74, 0x8473, 0x8474, + 0x8C74, 0x8C74, 0x8474, 0x8474, 0x8453, 0x7C33, 0x73B1, 0x73B1, 0x634F, 0x634F, 0x5B0E, 0x5B0E, + 0x5AED, 0x5AED, 0x52CC, 0x52CC, 0x4A8B, 0x4A8B, 0x426B, 0x426B, 0x4A8B, 0x4A8B, 0x424A, 0x424A, + 0x39E9, 0x39E9, 0x31A7, 0x31A7, 0x2987, 0x2987, 0x2966, 0x2966, 0x2146, 0x2146, 0x2145, 0x2145, + 0x2145, 0x2145, 0x2946, 0x2946, 0x2966, 0x2966, 0x2966, 0x31C8, 0x2146, 0x2146, 0x2125, 0x2125, + 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2146, 0x2146, 0x2146, 0x2146, 0x2966, 0x2966, + 0x2946, 0x2946, 0x2146, 0x2146, 0x2146, 0x2146, 0x2946, 0x2946, 0x2946, 0x2946, 0x2966, 0x2966, + 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, 0x2966, 0x2966, 0x2987, 0x2987, + 0x31A7, 0x31A7, 0x31C8, 0x31C8, 0x39E8, 0x39E8, 0x3A09, 0x3A09, 0x4229, 0x4229, 0x424A, 0x424A, + 0x4A6A, 0x4A6A, 0x4A6A, 0x4A6A, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x52AB, 0x52AB, 0x52AB, 0x52AB, + 0x52AB, 0x52AB, 0x52AB, 0x52AB, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, + 0x4AAC, 0x4AAC, 0x52AC, 0x52AC, 0x52AC, 0x52AC, 0x4AAC, 0x4AAC, 0x4A8B, 0x4A8B, 0x426B, 0x426B, + 0x424A, 0x424A, 0x422A, 0x422A, 0x4229, 0x4229, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x39E9, 0x39E9, + 0x39E8, 0x39E8, 0x39E8, 0x39E8, 0x31C8, 0x31C8, 0x31A8, 0x31A8, 0x3187, 0x3187, 0x3187, 0x3187, + 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2967, 0x2967, 0x2167, 0x2167, 0x2146, 0x2146, + 0x2167, 0x2167, 0x2988, 0x31C9, 0x424B, 0x424B, 0x4AAD, 0x4AAD, 0x52CD, 0x52CD, 0x4ACD, 0x4ACD, + 0x4ACD, 0x4ACD, 0x4ACD, 0x4ACD, 0x4ACD, 0x4ACD, 0x52EE, 0x52EE, 0x530E, 0x530E, 0x530E, 0x4B10, + 0x5394, 0x3AD0, 0x322C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0x0882, 0x10A3, 0x10A3, + 0x422A, 0x422A, 0x424A, 0x424A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x424A, 0x424A, + 0x422A, 0x422A, 0x422A, 0x422A, 0x4209, 0x4209, 0x39E8, 0x39E8, 0x31A8, 0x31A8, 0x31C8, 0x31C8, + 0x31A8, 0x31A8, 0x31C8, 0x31C8, 0x39C8, 0x39C8, 0x39E8, 0x39E8, 0x3A09, 0x3A09, 0x3A09, 0x3A09, + 0x4229, 0x4229, 0x422A, 0x422A, 0x424A, 0x424A, 0x426B, 0x426B, 0x424A, 0x424A, 0x424A, 0x424A, + 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x422A, 0x4229, 0x4229, 0x3A09, 0x3A09, + 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x4229, 0x4229, + 0x422A, 0x422A, 0x422A, 0x422A, 0x426A, 0x426A, 0x4A6B, 0x4A6B, 0x4A8C, 0x4A8C, 0x52CC, 0x52CC, + 0x5AED, 0x5B2E, 0x634E, 0x634F, 0x6B6F, 0x6B6F, 0x6BB0, 0x6BB0, 0x7C12, 0x8433, 0x8453, 0x8453, + 0x8453, 0x8453, 0x8433, 0x8433, 0x8C74, 0x8C74, 0x8CB4, 0x8CB4, 0x94B5, 0x94B5, 0x94B5, 0x8CB5, + 0x8C74, 0x7C33, 0x7C12, 0x73B1, 0x634F, 0x634F, 0x5B2F, 0x5B0E, 0x5AED, 0x5AED, 0x52ED, 0x52CC, + 0x4A8B, 0x4A8B, 0x426B, 0x426B, 0x4A8B, 0x4A8B, 0x424A, 0x424A, 0x39E9, 0x39E9, 0x31A7, 0x31A7, + 0x2987, 0x2987, 0x2966, 0x2966, 0x2146, 0x2146, 0x2145, 0x2145, 0x2145, 0x2145, 0x2946, 0x2946, + 0x2966, 0x2966, 0x2966, 0x2966, 0x2146, 0x2146, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, + 0x2125, 0x2125, 0x2146, 0x2146, 0x2146, 0x2146, 0x2966, 0x2966, 0x2946, 0x2946, 0x2146, 0x2146, + 0x2146, 0x2146, 0x2946, 0x2946, 0x2946, 0x2946, 0x2966, 0x2966, 0x2146, 0x2146, 0x2146, 0x2146, + 0x2146, 0x2146, 0x2146, 0x2146, 0x2966, 0x2966, 0x2987, 0x2987, 0x31A7, 0x31A7, 0x31C8, 0x31C8, + 0x39E8, 0x39E8, 0x3A09, 0x3A09, 0x4229, 0x4229, 0x424A, 0x424A, 0x4A6A, 0x4A6A, 0x4A6A, 0x4A6A, + 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x52AB, 0x52AB, 0x52AB, 0x52AB, 0x52AB, 0x52AB, 0x52AB, 0x52AB, + 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4AAC, 0x4AAC, 0x52AC, 0x52AC, + 0x52AC, 0x52AC, 0x4AAC, 0x4AAC, 0x4A8B, 0x4A8B, 0x426B, 0x426B, 0x424A, 0x424A, 0x422A, 0x422A, + 0x4229, 0x4229, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x39E9, 0x39E9, 0x39E8, 0x39E8, 0x39E8, 0x39E8, + 0x31C8, 0x31C8, 0x31A8, 0x31A8, 0x3187, 0x3187, 0x3187, 0x3187, 0x2987, 0x2987, 0x2987, 0x2987, + 0x2987, 0x2987, 0x2967, 0x2967, 0x2167, 0x2167, 0x2146, 0x2146, 0x2167, 0x2167, 0x2988, 0x31C9, + 0x424B, 0x4A6C, 0x4AAD, 0x4AAD, 0x52CD, 0x52CD, 0x4ACD, 0x4ACD, 0x4ACD, 0x4ACD, 0x4ACD, 0x4ACD, + 0x4ACD, 0x4ACD, 0x52EE, 0x52EE, 0x530E, 0x530E, 0x4B10, 0x5351, 0x4B73, 0x3290, 0x326E, 0x322B, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x0862, 0x0862, 0x0862, 0x31A8, 0x634F, 0x634F, 0x634F, + 0x636F, 0x636F, 0x6BB0, 0x6BB0, 0x73D1, 0x73F1, 0x7C12, 0x7C12, 0x8433, 0x8433, 0x8473, 0x8473, + 0x8473, 0x8473, 0x7C12, 0x6B90, 0x52CD, 0x3A09, 0x39E9, 0x39E9, 0x39E9, 0x39E8, 0x39E9, 0x39E9, + 0x3A09, 0x3A09, 0x3A2A, 0x3A2A, 0x424A, 0x424A, 0x424A, 0x424A, 0x424A, 0x424B, 0x426B, 0x426B, + 0x4A6B, 0x4A8C, 0x4A8B, 0x4A8B, 0x4A6B, 0x4A6B, 0x424B, 0x424B, 0x422A, 0x422A, 0x424A, 0x424A, + 0x424A, 0x424A, 0x424A, 0x424A, 0x422A, 0x422A, 0x3A2A, 0x3A2A, 0x3A0A, 0x3A0A, 0x3A09, 0x3A0A, + 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A2A, 0x3A2A, 0x3A2A, 0x3A2A, 0x3A2A, 0x3A2A, 0x422A, 0x422A, + 0x426B, 0x426B, 0x4A8C, 0x4A8C, 0x52CD, 0x52CD, 0x52ED, 0x52ED, 0x5B2E, 0x5B2E, 0x636F, 0x636F, + 0x6BB0, 0x6BB0, 0x73F2, 0x7C33, 0x8453, 0x8453, 0x8453, 0x8453, 0x8433, 0x8433, 0x7C33, 0x7C12, + 0x7C12, 0x7BF2, 0x7BF2, 0x7BF2, 0x73F2, 0x73F2, 0x73F2, 0x73F2, 0x73F2, 0x73F2, 0x73B1, 0x73B1, + 0x6370, 0x6370, 0x634F, 0x634F, 0x5B0E, 0x5B0E, 0x52ED, 0x52ED, 0x52AC, 0x52AC, 0x4AAC, 0x4A8C, + 0x4A8C, 0x4A8A, 0x4A6B, 0x4A6B, 0x3A2A, 0x3A2A, 0x31C9, 0x31C9, 0x31A8, 0x31A8, 0x2987, 0x2987, + 0x2967, 0x2967, 0x2967, 0x2967, 0x2947, 0x2947, 0x2967, 0x2967, 0x2967, 0x2967, 0x2987, 0x2987, + 0x2946, 0x2946, 0x2946, 0x2946, 0x2126, 0x2125, 0x2125, 0x2125, 0x2126, 0x2126, 0x2126, 0x2126, + 0x2946, 0x2946, 0x2946, 0x2946, 0x2946, 0x2946, 0x2946, 0x2946, 0x2946, 0x2146, 0x2946, 0x2946, + 0x2966, 0x2966, 0x2946, 0x2946, 0x2966, 0x2966, 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, + 0x2966, 0x2966, 0x2966, 0x31A7, 0x31A8, 0x31C8, 0x31C8, 0x31C8, 0x39E8, 0x39E8, 0x3A09, 0x4209, + 0x422A, 0x422A, 0x424A, 0x424A, 0x4A6B, 0x4A6B, 0x4A6B, 0x4A6B, 0x4A8B, 0x4A8B, 0x4AAB, 0x4AAB, + 0x52AC, 0x52AC, 0x52AC, 0x52AC, 0x52AC, 0x52AC, 0x52AC, 0x52AC, 0x4A8C, 0x4A8C, 0x4A8C, 0x4A8C, + 0x528C, 0x528C, 0x52AC, 0x52AC, 0x52CC, 0x52CD, 0x52CD, 0x52CD, 0x52CD, 0x52CC, 0x52AC, 0x52AC, + 0x4A8C, 0x4A8C, 0x4A6B, 0x4A6B, 0x426B, 0x426B, 0x424A, 0x424A, 0x422A, 0x422A, 0x3A09, 0x3A09, + 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x39E9, 0x39E9, 0x39E9, 0x39E9, 0x31C8, 0x31C8, 0x31A7, 0x31A7, + 0x31A7, 0x31A7, 0x31A8, 0x31A8, 0x31A7, 0x31A7, 0x2987, 0x2987, 0x3187, 0x3187, 0x2967, 0x2967, + 0x2967, 0x2967, 0x2167, 0x2167, 0x2967, 0x31A8, 0x3A0A, 0x4A8C, 0x52CD, 0x5B0E, 0x5B2E, 0x5B2E, + 0x5B2E, 0x5B2E, 0x5B2F, 0x5B2F, 0x5B4F, 0x5B4F, 0x6370, 0x6370, 0x5B4F, 0x5B4F, 0x5B4F, 0x5B4F, + 0x5B50, 0x5B50, 0x5B71, 0x7456, 0x3AD1, 0x326F, 0x328F, 0x324D, 0x322B, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, + 0x0862, 0x0862, 0x0862, 0x0862, 0x52CC, 0xB5B8, 0xBE19, 0xBE19, 0xBE1A, 0xC63A, 0xC63A, 0xC65A, + 0xC65B, 0xC65B, 0xCE9B, 0xCE9B, 0xCE9B, 0xCE9B, 0xCE9B, 0xCE9B, 0xCE9B, 0xCE7B, 0xCE7B, 0xC65A, + 0xC63A, 0xBDF9, 0xB5B8, 0xA536, 0x5B0D, 0x5B0D, 0x5B0D, 0x5AED, 0x5AEC, 0x5ACC, 0x52CC, 0x52CC, + 0x52CC, 0x52CC, 0x5ACC, 0x52CC, 0x52CC, 0x52CC, 0x52CC, 0x52CC, 0x52AC, 0x52AC, 0x4A8B, 0x4A8B, + 0x4A6B, 0x4A6B, 0x424B, 0x424B, 0x422A, 0x422A, 0x4209, 0x4209, 0x4209, 0x424A, 0x424A, 0x424A, + 0x422A, 0x422A, 0x3A2A, 0x3A2A, 0x3A0A, 0x3A0A, 0x39E8, 0x39E8, 0x39E8, 0x39E8, 0x39E8, 0x39E8, + 0x39C8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x39C8, 0x39E8, 0x39E9, 0x3A09, 0x3A29, + 0x3A29, 0x3A29, 0x4229, 0x422A, 0x424A, 0x4A6A, 0x4A6B, 0x4A8B, 0x52AB, 0x52AC, 0x52CC, 0x52ED, + 0x5AED, 0x5AEC, 0x52CC, 0x52CC, 0x52CC, 0x52CC, 0x52CC, 0x52CC, 0x4A8B, 0x4A8B, 0x4A6B, 0x4A6B, + 0x4A6A, 0x4A6A, 0x4A6B, 0x4A6B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x52AB, 0x52AB, + 0x52AB, 0x52AC, 0x52AB, 0x52AB, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A8A, 0x4A8A, 0x4A6B, 0x52AB, + 0x52AB, 0x52AB, 0x52AB, 0x5ACB, 0x52AB, 0x52AB, 0x528B, 0x4A6A, 0x4A6A, 0x4A6A, 0x4A6A, 0x4A4A, + 0x4A4A, 0x4A4A, 0x4A4A, 0x4A4A, 0x4A4A, 0x4A4A, 0x4A4A, 0x4A4A, 0x4A49, 0x4A49, 0x4A49, 0x4A49, + 0x39E8, 0x39E8, 0x39C8, 0x39A7, 0x31A7, 0x31C7, 0x39C7, 0x39C7, 0x31A6, 0x31A6, 0x3186, 0x3186, + 0x2946, 0x2946, 0x3186, 0x3186, 0x3186, 0x3186, 0x3186, 0x3186, 0x3186, 0x3186, 0x2946, 0x2946, + 0x2966, 0x2966, 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, 0x2146, 0x2966, 0x2966, 0x2966, 0x2966, + 0x2966, 0x2966, 0x2945, 0x2145, 0x2125, 0x2125, 0x2946, 0x2946, 0x2966, 0x2966, 0x2986, 0x3187, + 0x3187, 0x3187, 0x3187, 0x3187, 0x31C7, 0x31C7, 0x31C8, 0x31C8, 0x39C8, 0x39E8, 0x39E8, 0x39C8, + 0x39C8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x39E8, 0x39E8, + 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x39E9, 0x39E8, 0x39E8, 0x39C8, 0x31C8, 0x31C8, + 0x31C8, 0x31C8, 0x31A7, 0x31A7, 0x31C8, 0x31C8, 0x31C8, 0x31C7, 0x39C8, 0x39C8, 0x39C8, 0x39C8, + 0x39C8, 0x39C8, 0x39E9, 0x31C7, 0x31C8, 0x31C8, 0x31A7, 0x31A7, 0x31A7, 0x31A7, 0x31A8, 0x31A8, + 0x31A7, 0x31A7, 0x2987, 0x2987, 0x3187, 0x3187, 0x2967, 0x2967, 0x2967, 0x2967, 0x2167, 0x2987, + 0x31A8, 0x39C8, 0x424A, 0x52AC, 0x52CD, 0x52CD, 0x52ED, 0x52ED, 0x52CD, 0x52CD, 0x52CD, 0x52CD, + 0x52CD, 0x5AED, 0x5AED, 0x5AED, 0x52CD, 0x52CD, 0x52CD, 0x52CD, 0x4ACD, 0x52CD, 0x52EE, 0x5B71, + 0x326F, 0x326F, 0x326E, 0x3290, 0x2A0C, 0x322B, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x2966, + 0x5AEC, 0x39C7, 0x18C3, 0x1082, 0x18A3, 0x18A3, 0x18C3, 0x18C3, 0x18A3, 0x10A3, 0x10A2, 0x10A2, + 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x0862, 0x0862, 0x0041, 0x0041, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x2125, 0x3A4B, 0x2A0C, 0x2A2D, 0x326F, + 0x328F, 0x29EB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0862, 0x0862, 0x0862, 0x0862, 0x18E4, 0x528A, 0x10A3, 0x0000, 0x0000, 0x0000, + 0x0862, 0x2146, 0x2987, 0x2987, 0x31A8, 0x31A8, 0x39E8, 0x31E8, 0x31C8, 0x31C8, 0x39E8, 0x39E8, + 0x4209, 0x424A, 0x4A6B, 0x4A8B, 0x4A8B, 0x4A8B, 0x31C9, 0x0021, 0x0000, 0x0000, 0x0000, 0x0861, + 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18E3, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x2127, 0x21A9, 0x21A9, 0x29AA, 0x29CA, 0x29CA, 0x29CA, + 0x31EA, 0x31EA, 0x31CA, 0x31CA, 0x31C9, 0x31E9, 0x31C9, 0x31C9, 0x31EA, 0x320A, 0x3A4B, 0x4AAC, + 0x10C5, 0x0883, 0x0021, 0x0021, 0x1905, 0x320A, 0x29EB, 0x2A2D, 0x328F, 0x326E, 0x320B, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x4249, 0x18E3, 0x0861, 0x8C71, 0x0882, 0x0021, 0x1906, 0x29C9, 0x29A9, 0x29A9, + 0x21A9, 0x21A9, 0x29C9, 0x29C9, 0x29A9, 0x29A9, 0x2988, 0x2988, 0x29A8, 0x29A8, 0x29A9, 0x29A9, + 0x29A9, 0x29A9, 0x1948, 0x0021, 0x0000, 0x0000, 0x0000, 0x2104, 0x39C7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4A49, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0021, 0x08A5, 0x08E7, 0x0907, 0x1107, 0x1107, 0x1107, 0x1107, 0x1107, 0x1107, 0x1127, 0x1107, + 0x1107, 0x1107, 0x1128, 0x1107, 0x0928, 0x1128, 0x1127, 0x1127, 0x1948, 0x1948, 0x10E5, 0x7BF0, + 0x1083, 0x2146, 0x21AA, 0x21CB, 0x2A4E, 0x32B0, 0x326E, 0x426C, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x31A7, 0x2104, 0x0000, + 0x1082, 0x9CD3, 0x18E3, 0x0022, 0x0043, 0x0044, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, + 0x0863, 0x0863, 0x0863, 0x0863, 0x0863, 0x0863, 0x0062, 0x0862, 0x0862, 0x0042, 0x0042, 0x0000, + 0x0000, 0x0000, 0x0000, 0x18C3, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0043, 0x0043, 0x0043, 0x0043, 0x0063, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0043, 0x0043, 0x0023, 0x0021, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2104, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0042, 0x0042, 0x0042, 0x0042, 0x0063, 0x0063, 0x0884, 0x0884, 0x08A5, 0x08A5, + 0x08C6, 0x08C6, 0x08E6, 0x1127, 0x1948, 0x1948, 0x21A8, 0x6BAF, 0x1083, 0x0842, 0x2967, 0x21AA, + 0x21EB, 0x2A4E, 0x32B0, 0x2A2D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, + 0x0842, 0x0842, 0x0842, 0x0842, 0x1904, 0x2966, 0x0000, 0x0000, 0x10A2, 0x1082, 0x10C3, 0x0043, + 0x0043, 0x0043, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, + 0x18C2, 0x0021, 0x3A6C, 0x4AEF, 0x4B30, 0x4B30, 0x5B50, 0x6370, 0x6390, 0x6BB0, 0x6BB0, 0x6BB0, + 0x6BB0, 0x6BB0, 0x6BB0, 0x6BB0, 0x6BB0, 0x6BB0, 0x6BB0, 0x6BB0, 0x6BB0, 0x73D0, 0x73D0, 0x73D0, + 0x73D0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7C10, 0x7C10, 0x7C10, 0x7C10, 0x7C10, 0x7C10, 0x7BF0, 0x7BF0, + 0x73D0, 0x73D0, 0x6B8F, 0x5B4F, 0x530E, 0x4AEE, 0x3AAD, 0x328D, 0x2A6D, 0x2A6D, 0x222C, 0x222C, + 0x19EB, 0x19EB, 0x19CA, 0x19CA, 0x19AA, 0x19AA, 0x19A9, 0x1989, 0x1989, 0x1989, 0x1969, 0x1989, + 0x1989, 0x1989, 0x1968, 0x1968, 0x2167, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x0023, 0x0023, + 0x0043, 0x0043, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0023, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0065, 0x0086, 0x0086, + 0x00A6, 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A6, 0x0086, 0x0066, 0x0086, 0x0045, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0043, 0x0043, 0x0023, 0x0023, + 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0842, 0x10E5, 0x08C5, 0x08C5, 0x08C6, 0x08C6, + 0x08C6, 0x08E6, 0x08E6, 0x0907, 0x1107, 0x1127, 0x1127, 0x1127, 0x1127, 0x1948, 0x1968, 0x1968, + 0x1968, 0x1969, 0x1989, 0x1989, 0x21CA, 0x21CA, 0x21CB, 0x21EB, 0x21EB, 0x21EB, 0x21EB, 0x21EB, + 0x21EB, 0x21EB, 0x21EB, 0x19EB, 0x21EB, 0x19EB, 0x19CB, 0x19CB, 0x19CA, 0x19CA, 0x21CB, 0x21CB, + 0x21EB, 0x220B, 0x2A0C, 0x2A0C, 0x2A2C, 0x324D, 0x326D, 0x3A8E, 0x42AE, 0x42CF, 0x4AEF, 0x4AEF, + 0x4B30, 0x4B10, 0x4B10, 0x4B10, 0x4B10, 0x4B10, 0x4B0F, 0x4AEF, 0x4ACE, 0x428D, 0x0042, 0x1082, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0883, 0x1127, 0x10E6, 0x1905, 0x18C4, 0x0001, 0x0862, 0x2988, 0x21AA, 0x21EC, 0x2A4E, 0x2A4E, + 0x2A2C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1083, 0x1082, 0x0842, 0x0842, 0x0842, 0x1082, + 0x3186, 0x0841, 0x0000, 0x0883, 0x08A4, 0x3A0A, 0x0864, 0x0022, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x18C4, 0x2987, 0x31E8, 0x31E8, 0x31A7, 0x2146, 0x1905, 0x19AA, 0x1A50, 0x1A50, + 0x1250, 0x1250, 0x1250, 0x1250, 0x1A70, 0x22B1, 0x3332, 0x3332, 0x3B73, 0x3B73, 0x4393, 0x4393, + 0x4BB4, 0x4BB4, 0x4BD4, 0x4BD4, 0x5C15, 0x5C15, 0x5C56, 0x5C56, 0x6497, 0x6497, 0x64B8, 0x64B8, + 0x6CF8, 0x6CF8, 0x7539, 0x7539, 0x7D59, 0x7D59, 0x7D7A, 0x7D7A, 0x7D9B, 0x7DBB, 0x75BC, 0x6DBC, + 0x659C, 0x557C, 0x4D5C, 0x4D5C, 0x453D, 0x453D, 0x453D, 0x453D, 0x451D, 0x451D, 0x451D, 0x44FD, + 0x44DC, 0x44DC, 0x44DB, 0x44DB, 0x44DB, 0x44DB, 0x44DB, 0x44DB, 0x4CDB, 0x4CDB, 0x4CFC, 0x54FB, + 0x759C, 0x52EC, 0x0000, 0x0863, 0x094A, 0x098C, 0x018C, 0x018C, 0x018D, 0x018D, 0x018D, 0x018D, + 0x016C, 0x016C, 0x018C, 0x018C, 0x018D, 0x018D, 0x018D, 0x018D, 0x018C, 0x018C, 0x018C, 0x018C, + 0x016C, 0x016C, 0x018C, 0x018C, 0x018C, 0x01AC, 0x01AC, 0x018C, 0x01AD, 0x01AD, 0x01CD, 0x01CD, + 0x01CE, 0x01CE, 0x01EE, 0x01EE, 0x01EE, 0x01EE, 0x01EE, 0x01EE, 0x01EE, 0x01EE, 0x020F, 0x020F, + 0x0230, 0x0230, 0x01EF, 0x01EF, 0x01AD, 0x00E9, 0x0086, 0x0086, 0x0086, 0x0086, 0x092B, 0x094C, + 0x094D, 0x094D, 0x096D, 0x098D, 0x098C, 0x096C, 0x096C, 0x016C, 0x096C, 0x096C, 0x098C, 0x098C, + 0x098D, 0x098D, 0x096C, 0x096C, 0x096C, 0x096C, 0x096C, 0x096C, 0x096B, 0x096B, 0x096C, 0x096C, + 0x096C, 0x096B, 0x096B, 0x096B, 0x094B, 0x094B, 0x094B, 0x092A, 0x012A, 0x012A, 0x010A, 0x010A, + 0x010A, 0x010A, 0x010A, 0x010A, 0x012B, 0x012B, 0x014C, 0x012C, 0x012B, 0x094B, 0x094B, 0x092B, + 0x08A6, 0x10C4, 0x7C12, 0x4351, 0x0A0E, 0x0A0E, 0x120F, 0x120F, 0x124F, 0x124F, 0x1A90, 0x1A90, + 0x22D2, 0x22D2, 0x2B13, 0x2B13, 0x2B54, 0x2B54, 0x3375, 0x3375, 0x3395, 0x3395, 0x3BB6, 0x3BB6, + 0x3BF7, 0x3BF7, 0x3C38, 0x3C38, 0x3C59, 0x3C59, 0x3C59, 0x3C59, 0x3459, 0x3459, 0x2C18, 0x2C18, + 0x2BF8, 0x2BF8, 0x2BD7, 0x2BD7, 0x23B6, 0x23B6, 0x2396, 0x2396, 0x2375, 0x2375, 0x2355, 0x2355, + 0x2314, 0x2314, 0x2313, 0x22F3, 0x22D2, 0x22D2, 0x1AD2, 0x1AB1, 0x1A91, 0x1270, 0x122F, 0x122F, + 0x09ED, 0x09ED, 0x09CD, 0x09CD, 0x09AC, 0x09AB, 0x0928, 0x08C5, 0x08E5, 0x08E5, 0x10E5, 0x10E5, + 0x10E5, 0x08A4, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0021, 0x0022, 0x0022, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0084, 0x2168, + 0x1127, 0x00A5, 0x0001, 0x1083, 0x29A9, 0x21AA, 0x21EC, 0x2A4E, 0x326F, 0x324D, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0842, 0x0842, 0x0041, 0x0041, 0x0841, 0x2946, 0x1082, 0x0000, 0x0843, 0x0065, + 0x08A6, 0x10E8, 0x0043, 0x0000, 0x0001, 0x0043, 0x0085, 0x0085, 0x0085, 0x0085, 0x00A6, 0x00A6, + 0x00A6, 0x00A6, 0x00A6, 0x00C6, 0x08C6, 0x08C6, 0x10E6, 0x10E6, 0x1927, 0x1927, 0x2189, 0x31EA, + 0x3A4B, 0x3A4C, 0x3A2B, 0x320B, 0x29EB, 0x198A, 0x118A, 0x116A, 0x1169, 0x1169, 0x1189, 0x1189, + 0x118A, 0x118A, 0x118A, 0x118A, 0x198A, 0x198A, 0x1989, 0x1989, 0x1989, 0x1989, 0x19AA, 0x19AA, + 0x19CA, 0x21CB, 0x21EB, 0x21EB, 0x220C, 0x220C, 0x222C, 0x222C, 0x224D, 0x224D, 0x2A6D, 0x2A6D, + 0x2A6E, 0x2A6E, 0x2A8E, 0x2A8E, 0x2AAE, 0x2AAE, 0x2AAF, 0x2AAF, 0x22B0, 0x22B0, 0x22B0, 0x2290, + 0x1A6F, 0x1A6F, 0x226F, 0x226F, 0x2A6E, 0x2A6E, 0x2A6E, 0x2A6E, 0x2A6E, 0x2A6E, 0x2A4E, 0x2A4E, + 0x2A4E, 0x2A4E, 0x2A4E, 0x2A4E, 0x2A6E, 0x2A6E, 0x224E, 0x224E, 0x2A4C, 0x5AEC, 0x0861, 0x08C6, + 0x1BDA, 0x555C, 0x867D, 0x867D, 0x8E9D, 0x8EBD, 0x96FE, 0x96FE, 0x9F1E, 0x9F1E, 0x9F3E, 0x9F3E, + 0x9F3E, 0x9F3E, 0x9F5E, 0x9F5E, 0xA77F, 0xA77F, 0xAF7F, 0xAF9F, 0xAF9F, 0xAF9F, 0xAF9F, 0xAF9F, + 0xAF9F, 0xAF9F, 0xAF9F, 0xAF9F, 0xAF9F, 0xA79F, 0x9F5F, 0x9F5F, 0x973E, 0x8F1E, 0x7EFE, 0x6EDF, + 0x6EDE, 0x66DE, 0x66DE, 0x66DE, 0x66BE, 0x6EDE, 0x6EDE, 0x6EDE, 0x66BE, 0x66BE, 0x4E5E, 0x3E1E, + 0x25BE, 0x145B, 0x098D, 0x00A7, 0x00A7, 0x1AB2, 0x149C, 0x0C9C, 0x0C9C, 0x149C, 0x0C9B, 0x0C9B, + 0x0CBC, 0x0CBC, 0x0CBC, 0x0C9C, 0x0C9C, 0x0C9C, 0x0C7C, 0x0C5C, 0x0C3C, 0x0C3C, 0x0C1C, 0x0C1C, + 0x0C1C, 0x0C1C, 0x0C1C, 0x0BFC, 0x13FB, 0x13FB, 0x13FB, 0x13FB, 0x13FB, 0x13FB, 0x13FB, 0x13DB, + 0x13DB, 0x13DB, 0x13DB, 0x0BDB, 0x13FB, 0x13FB, 0x141B, 0x1C1C, 0x245C, 0x245C, 0x245C, 0x247C, + 0x2C9C, 0x34BC, 0x3CDC, 0x44FC, 0x4D1C, 0x5D3C, 0x5D1C, 0x239B, 0x118D, 0x632E, 0xB5F8, 0x0928, + 0x0108, 0x0908, 0x0908, 0x0908, 0x0928, 0x0928, 0x0949, 0x0949, 0x1169, 0x118A, 0x198A, 0x198A, + 0x198A, 0x198A, 0x19AA, 0x19AA, 0x21AA, 0x21AA, 0x19AA, 0x19AA, 0x19AA, 0x19AA, 0x19AA, 0x19AA, + 0x19AB, 0x19AB, 0x19CB, 0x19CC, 0x19EC, 0x19EC, 0x19EB, 0x19CB, 0x19CB, 0x19CB, 0x19AB, 0x19AB, + 0x19AB, 0x19AB, 0x11AB, 0x11AB, 0x118A, 0x118A, 0x1169, 0x1169, 0x1169, 0x1169, 0x1148, 0x1148, + 0x0948, 0x0948, 0x0927, 0x0927, 0x0906, 0x0906, 0x08E6, 0x08E6, 0x08C5, 0x08C5, 0x00A5, 0x00A5, + 0x00A4, 0x08A4, 0x08A5, 0x08A4, 0x08C5, 0x08C5, 0x08C5, 0x08C5, 0x08A4, 0x08A4, 0x0063, 0x0063, + 0x0042, 0x0042, 0x0001, 0x0042, 0x0043, 0x0043, 0x0064, 0x0064, 0x0065, 0x0065, 0x0086, 0x0086, + 0x0086, 0x0086, 0x00A7, 0x0085, 0x0044, 0x0022, 0x0002, 0x0085, 0x00C7, 0x00C7, 0x0064, 0x0001, + 0x1905, 0x29A9, 0x21AA, 0x2A0C, 0x2A6F, 0x326E, 0x2AAA, 0x0000, 0x0000, 0x0862, 0x0842, 0x0842, + 0x0041, 0x0041, 0x2945, 0x18C3, 0x0000, 0x0021, 0x0065, 0x0065, 0x08A6, 0x0021, 0x0001, 0x0064, + 0x00C6, 0x00C7, 0x00C8, 0x00E8, 0x00E9, 0x00E9, 0x00E9, 0x00C8, 0x00A8, 0x00A8, 0x00A7, 0x00A7, + 0x0087, 0x0087, 0x0086, 0x0086, 0x0066, 0x0065, 0x0064, 0x0064, 0x0043, 0x0043, 0x0022, 0x0022, + 0x0021, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x094D, 0x3C3A, 0x7D59, 0x7D59, + 0x7D59, 0x7D9A, 0x7DBB, 0x7DDB, 0x75FC, 0x75FC, 0x761C, 0x761C, 0x65FC, 0x65FC, 0x5DDC, 0x5DDC, + 0x5DFC, 0x5E3D, 0x665D, 0x665D, 0x665D, 0x665D, 0x5E5D, 0x5E5D, 0x5E5D, 0x5E5D, 0x5E3D, 0x5E3D, + 0x5E5D, 0x5E5D, 0x665D, 0x667E, 0x669E, 0x669E, 0x66BF, 0x6EDF, 0x873F, 0xA77F, 0xBFBF, 0xC7DF, + 0xCFDF, 0xCFDF, 0xD7FF, 0xD7FF, 0xD7FF, 0xD7FF, 0xCFFF, 0xBFDF, 0x6F5F, 0x14DD, 0x1252, 0x00C8, + 0x00C8, 0x1B76, 0x461E, 0x6F1F, 0xAF7F, 0xBF9F, 0xBF7F, 0xBF7F, 0xBF7F, 0xBF7F, 0xBF7E, 0xBF7E, + 0xBF5E, 0xBF5E, 0xB73E, 0xAEFE, 0x967D, 0x7DDD, 0x6D7C, 0x653C, 0x551C, 0x551C, 0x4CDC, 0x4CDC, + 0x4CBD, 0x4CBD, 0x449D, 0x449D, 0x3C7C, 0x3C7C, 0x345C, 0x345C, 0x343B, 0x343B, 0x343B, 0x343B, + 0x3C7B, 0x4C7B, 0x549B, 0x549B, 0x64BB, 0x6CDB, 0x74FB, 0x74FB, 0x751A, 0x751A, 0x8D9B, 0x9DFC, + 0x95FC, 0x6456, 0x653B, 0x09F3, 0x0885, 0x73D0, 0x1905, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, + 0x0043, 0x0043, 0x0064, 0x0086, 0x00A7, 0x00A7, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00A7, 0x00A7, + 0x0086, 0x0066, 0x0044, 0x0002, 0x0065, 0x00C7, 0x00C7, 0x0042, 0x0021, 0x2967, 0x2189, 0x21AA, + 0x2A0D, 0x2A4F, 0x2A4D, 0x2129, 0x0021, 0x0862, 0x0041, 0x0041, 0x0041, 0x18C4, 0x2125, 0x0000, + 0x0000, 0x0884, 0x0044, 0x0044, 0x0022, 0x0022, 0x0085, 0x0109, 0x012A, 0x018D, 0x0291, 0x0B14, + 0x0354, 0x0354, 0x0334, 0x0334, 0x0314, 0x0314, 0x02B2, 0x0271, 0x0230, 0x0230, 0x01EF, 0x01EF, + 0x01CE, 0x01CE, 0x01AD, 0x01AD, 0x018C, 0x018C, 0x014B, 0x014A, 0x014A, 0x0949, 0x0929, 0x094A, + 0x0949, 0x094A, 0x096A, 0x098A, 0x11EC, 0x11EC, 0x120D, 0x120D, 0x11EC, 0x11AB, 0x0109, 0x0085, + 0x0043, 0x0023, 0x0043, 0x0043, 0x0044, 0x0044, 0x0064, 0x0064, 0x0084, 0x0084, 0x0064, 0x0064, + 0x0064, 0x0064, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0085, 0x0085, + 0x0085, 0x0085, 0x0086, 0x0086, 0x0086, 0x0086, 0x0065, 0x0065, 0x0065, 0x0064, 0x0064, 0x0064, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0085, 0x0085, 0x0086, 0x0086, 0x00A6, 0x00A6, 0x00A6, 0x00A6, + 0x00A7, 0x00A7, 0x00E9, 0x00E9, 0x0046, 0x0991, 0x2B79, 0x012D, 0x00AB, 0x0068, 0x0067, 0x0067, + 0x0088, 0x0088, 0x00A9, 0x00A9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, + 0x00EA, 0x00EA, 0x00E9, 0x00E9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00E9, 0x00E9, 0x00E9, 0x0109, + 0x0109, 0x0109, 0x00E9, 0x00E9, 0x0129, 0x0129, 0x098A, 0x098A, 0x11EC, 0x122D, 0x1A4E, 0x1A6F, + 0x1A6F, 0x1A6F, 0xC75D, 0xC7DF, 0x5F3F, 0x1D1D, 0x1273, 0x00E9, 0x010A, 0x1396, 0x569E, 0x977F, + 0xD7FF, 0x7516, 0x09AC, 0x09AC, 0x11CB, 0x11CB, 0x11AA, 0x11AA, 0x0949, 0x0949, 0x0108, 0x0108, + 0x00E8, 0x00E8, 0x00C7, 0x00C7, 0x00A7, 0x00A7, 0x0086, 0x0086, 0x0085, 0x0085, 0x0065, 0x0065, + 0x0045, 0x0045, 0x0044, 0x0044, 0x0044, 0x0044, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0045, 0x0045, 0x0066, 0x0066, 0x0046, 0x0046, 0x18E8, 0x090A, 0x092C, 0x3396, 0x1297, 0x0088, + 0x0086, 0x00C7, 0x00C7, 0x00C7, 0x00A6, 0x00A6, 0x0085, 0x0085, 0x0085, 0x0085, 0x00A5, 0x00A5, + 0x00A5, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x00A5, 0x00A5, 0x00A5, + 0x00A5, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0064, 0x0064, 0x0064, 0x0084, 0x0085, 0x0085, + 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, + 0x00A5, 0x00A5, 0x00A6, 0x00A6, 0x00A6, 0x00C6, 0x00C6, 0x00C6, 0x00C6, 0x00C6, 0x00C6, 0x00C6, + 0x00C6, 0x00C6, 0x00E6, 0x00E6, 0x00E6, 0x00E6, 0x00E6, 0x00E6, 0x00E7, 0x0128, 0x0969, 0x0969, + 0x0969, 0x0969, 0x0928, 0x0928, 0x0908, 0x0908, 0x08E7, 0x08E7, 0x0908, 0x0908, 0x0129, 0x1333, + 0x0B75, 0x0B75, 0x0396, 0x0396, 0x0B75, 0x0B75, 0x0B34, 0x0A50, 0x00E9, 0x00A7, 0x0087, 0x0044, + 0x0002, 0x0085, 0x00C7, 0x00A6, 0x0021, 0x0882, 0x2988, 0x2189, 0x21AB, 0x2A2D, 0x222D, 0x1969, + 0x18C3, 0x0862, 0x0041, 0x0041, 0x0862, 0x2945, 0x0841, 0x0000, 0x0883, 0x0064, 0x0044, 0x0022, + 0x0022, 0x0084, 0x0109, 0x01AD, 0x1373, 0x261C, 0x36FF, 0x471F, 0x4F3F, 0x4F3F, 0x4F3F, 0x4F3F, + 0x473F, 0x473F, 0x3F3F, 0x3F1F, 0x371F, 0x2EFF, 0x2EDF, 0x26DF, 0x1EBF, 0x1EBF, 0x1E9F, 0x1E7F, + 0x165F, 0x165F, 0x15FE, 0x15FE, 0x1499, 0x02F5, 0x0293, 0x0293, 0x0272, 0x0272, 0x0272, 0x0272, + 0x12F4, 0x1335, 0x12F3, 0x12F3, 0x12B2, 0x0A50, 0x09AD, 0x0109, 0x00C7, 0x0065, 0x0065, 0x0065, + 0x0044, 0x0065, 0x0064, 0x0064, 0x0084, 0x0084, 0x0064, 0x0064, 0x0064, 0x0064, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0085, 0x0085, 0x0085, 0x0085, 0x0086, 0x0086, + 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x00A6, 0x00A6, + 0x00A6, 0x00A6, 0x0086, 0x0086, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00E9, 0x012A, + 0x00E9, 0x0048, 0x0A16, 0x2338, 0x00AB, 0x0069, 0x0067, 0x0887, 0x0047, 0x0047, 0x0067, 0x0067, + 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, + 0x0067, 0x0067, 0x0087, 0x0087, 0x0087, 0x0087, 0x00A8, 0x00A8, 0x00E8, 0x00E8, 0x00E9, 0x00E9, + 0x0129, 0x0129, 0x0129, 0x012A, 0x014A, 0x016B, 0x018C, 0x01CD, 0x01EF, 0x01EF, 0x43B3, 0xBFDF, + 0x5F3F, 0x1D1D, 0x1273, 0x010A, 0x010A, 0x13B7, 0x66DF, 0xB7BF, 0xBF5E, 0x120D, 0x018C, 0x016B, + 0x016B, 0x016B, 0x014A, 0x0129, 0x0129, 0x0109, 0x0108, 0x0108, 0x00E8, 0x00E8, 0x00C7, 0x00C7, + 0x00A7, 0x00A7, 0x0086, 0x0086, 0x0085, 0x0085, 0x0065, 0x0065, 0x0045, 0x0045, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0045, 0x0045, 0x0025, 0x1068, + 0x1088, 0x18C7, 0x0087, 0x00EB, 0x22F5, 0x1319, 0x00CB, 0x00A8, 0x014B, 0x012A, 0x012A, 0x012A, + 0x012A, 0x0129, 0x0129, 0x0129, 0x0129, 0x0129, 0x012A, 0x014A, 0x014A, 0x014A, 0x014A, 0x0149, + 0x0129, 0x0129, 0x0129, 0x0129, 0x0129, 0x0129, 0x0149, 0x0149, 0x0129, 0x0129, 0x012A, 0x014A, + 0x014A, 0x014A, 0x014A, 0x014A, 0x0129, 0x0129, 0x0129, 0x0129, 0x0109, 0x0129, 0x0109, 0x0109, + 0x0108, 0x0108, 0x0108, 0x00E8, 0x00E8, 0x00E8, 0x0108, 0x0108, 0x0108, 0x0108, 0x0129, 0x0129, + 0x014A, 0x014A, 0x014A, 0x014A, 0x016B, 0x016B, 0x018B, 0x018B, 0x018C, 0x018C, 0x01AC, 0x01AC, + 0x01AC, 0x01AC, 0x01AC, 0x01AC, 0x01AC, 0x020E, 0x024F, 0x024F, 0x1250, 0x124F, 0x124F, 0x124F, + 0x124F, 0x124F, 0x124F, 0x124F, 0x124F, 0x1270, 0x0A70, 0x259C, 0x265F, 0x265F, 0x267F, 0x267F, + 0x267F, 0x2E7E, 0x369E, 0x2E1D, 0x14DA, 0x0A2F, 0x00A8, 0x0087, 0x0044, 0x0002, 0x00A6, 0x00A6, + 0x0884, 0x0000, 0x18E4, 0x2988, 0x1969, 0x21AB, 0x1169, 0x2A0B, 0x10A3, 0x0021, 0x0000, 0x0000, + 0x2966, 0x1082, 0x0000, 0x0021, 0x08A5, 0x0064, 0x0043, 0x0001, 0x0064, 0x00E8, 0x01CD, 0x2D39, + 0x477F, 0x577F, 0x567C, 0x4DDB, 0x4DBA, 0x4D9A, 0x4D9A, 0x4D9A, 0x4D9A, 0x4579, 0x3D38, 0x3D38, + 0x2CD7, 0x2CD7, 0x2CD7, 0x24D7, 0x24B6, 0x24B6, 0x1CB6, 0x1CB6, 0x1C96, 0x1C96, 0x1C56, 0x1C56, + 0x1BF4, 0x09EE, 0x096A, 0x096A, 0x0949, 0x0949, 0x0928, 0x0928, 0x0907, 0x0907, 0x08E6, 0x08E6, + 0x08A5, 0x08A5, 0x08A5, 0x08A5, 0x08A5, 0x08A5, 0x0884, 0x0884, 0x0884, 0x0884, 0x0884, 0x0884, + 0x0884, 0x0064, 0x0064, 0x0084, 0x0064, 0x0064, 0x0084, 0x0084, 0x0064, 0x0864, 0x0884, 0x0884, + 0x0884, 0x0884, 0x0884, 0x0884, 0x0884, 0x0884, 0x0885, 0x0885, 0x0885, 0x08A5, 0x08A5, 0x08A5, + 0x08A5, 0x0084, 0x0084, 0x0084, 0x0884, 0x08A5, 0x08A5, 0x08A5, 0x08A5, 0x08A5, 0x0885, 0x0885, + 0x0084, 0x0084, 0x0084, 0x0084, 0x0085, 0x0085, 0x0085, 0x0085, 0x08C6, 0x0024, 0x00AB, 0x1298, + 0x1254, 0x00AB, 0x0067, 0x0845, 0x3989, 0x398B, 0x18C7, 0x10A7, 0x10A7, 0x10A6, 0x10A6, 0x10A6, + 0x10A7, 0x10A7, 0x10A6, 0x10A6, 0x10C7, 0x10C6, 0x10C6, 0x10C6, 0x10C7, 0x10C7, 0x1107, 0x1107, + 0x1948, 0x1948, 0x1968, 0x1968, 0x1969, 0x1969, 0x2189, 0x21AA, 0x21CA, 0x21CA, 0x2A0B, 0x2A0B, + 0x2A2C, 0x2A4D, 0x2A6E, 0x2A6E, 0x228F, 0x12B2, 0x0210, 0x7DB9, 0x777F, 0x253E, 0x0A95, 0x010A, + 0x010A, 0x1BD8, 0x7F3F, 0xBFDF, 0x4C13, 0x018D, 0x1A2E, 0x2A2C, 0x2A0C, 0x21EB, 0x19AA, 0x19AA, + 0x1989, 0x1989, 0x1968, 0x1968, 0x1927, 0x1927, 0x1106, 0x1106, 0x1906, 0x1906, 0x1906, 0x1906, + 0x1906, 0x1906, 0x10E6, 0x10E6, 0x10E6, 0x10E6, 0x10C6, 0x10C6, 0x10A5, 0x10A5, 0x10A5, 0x1086, + 0x1086, 0x10A6, 0x18A7, 0x18A7, 0x28C9, 0x28E9, 0x310A, 0x312D, 0x1066, 0x0087, 0x00CB, 0x1233, + 0x1B9B, 0x012E, 0x0024, 0x08C6, 0x0907, 0x0907, 0x0907, 0x1127, 0x1127, 0x1107, 0x0907, 0x1127, + 0x1127, 0x1128, 0x1148, 0x1148, 0x1148, 0x1148, 0x1148, 0x1148, 0x1148, 0x1168, 0x1968, 0x1968, + 0x1968, 0x1968, 0x1968, 0x1968, 0x1989, 0x1989, 0x1989, 0x1989, 0x1989, 0x1989, 0x1968, 0x1968, + 0x1168, 0x1968, 0x1968, 0x1968, 0x1968, 0x1968, 0x1968, 0x1968, 0x1968, 0x1968, 0x1147, 0x1147, + 0x1127, 0x1127, 0x1147, 0x1147, 0x1947, 0x1947, 0x1168, 0x1968, 0x1968, 0x1968, 0x1968, 0x1968, + 0x1989, 0x1989, 0x1989, 0x1989, 0x19A9, 0x21A9, 0x21A9, 0x19A9, 0x19A9, 0x1989, 0x1989, 0x19A9, + 0x21C9, 0x29EA, 0x29EA, 0x29EA, 0x29CA, 0x29CA, 0x29CA, 0x29CA, 0x29CA, 0x29CA, 0x31EA, 0x31EA, + 0x322B, 0x322B, 0x324C, 0x1A4D, 0x1A6E, 0x128E, 0x128E, 0x128E, 0x128E, 0x128E, 0x22F0, 0x4454, + 0x669D, 0x25DD, 0x0AD1, 0x00C8, 0x0087, 0x0024, 0x0043, 0x08C6, 0x10E5, 0x0042, 0x0000, 0x31A7, + 0x2168, 0x08E7, 0x08E7, 0x29CA, 0x1082, 0x0021, 0x0000, 0x0000, 0x2145, 0x0000, 0x0000, 0x0883, + 0x0064, 0x0064, 0x0001, 0x0022, 0x00E8, 0x016B, 0x3599, 0x4FBF, 0x36BE, 0x0C59, 0x0315, 0x0293, + 0x0251, 0x0210, 0x01CE, 0x01CE, 0x018D, 0x018D, 0x014B, 0x012A, 0x010A, 0x0109, 0x00E9, 0x00E9, + 0x00E8, 0x00E8, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00A7, 0x0086, 0x0085, 0x0043, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0885, 0x0885, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x010F, 0x131A, 0x0991, 0x0089, 0x0067, + 0x0023, 0x1084, 0x0842, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, + 0x0022, 0x19ED, 0x0AB3, 0x0A71, 0x86FD, 0x2D7D, 0x0A95, 0x010A, 0x010A, 0x2438, 0x8F7F, 0x7DD9, + 0x018E, 0x1250, 0x1128, 0x0021, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, + 0x0002, 0x0843, 0x10A5, 0x1064, 0x0087, 0x00EB, 0x09D1, 0x1BDC, 0x01B2, 0x0024, 0x0001, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x08A6, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0023, 0x0044, + 0x0086, 0x0086, 0x00A7, 0x00A7, 0x00C8, 0x00C8, 0x00E8, 0x0109, 0x098C, 0x44F8, 0x1DFD, 0x0A70, + 0x00A8, 0x0066, 0x0002, 0x0864, 0x1107, 0x10E5, 0x0000, 0x18C3, 0x2147, 0x08C6, 0x08E6, 0x1948, + 0x0862, 0x0021, 0x0041, 0x0041, 0x2104, 0x0000, 0x0021, 0x10C5, 0x0064, 0x0022, 0x0001, 0x0065, + 0x0109, 0x1C75, 0x377F, 0x267E, 0x0419, 0x02D4, 0x0210, 0x01AD, 0x016B, 0x014A, 0x0108, 0x0108, + 0x00C7, 0x00C7, 0x00A6, 0x00A6, 0x0086, 0x0085, 0x0065, 0x0065, 0x0064, 0x0064, 0x0064, 0x0064, + 0x0043, 0x0043, 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0085, 0x00A7, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0023, 0x09B3, 0x1B1A, 0x010E, 0x0089, 0x0046, 0x0844, 0x0844, 0x2107, + 0x1083, 0x1083, 0x1063, 0x1063, 0x0863, 0x1063, 0x0863, 0x0863, 0x0862, 0x0863, 0x0863, 0x0863, + 0x0863, 0x0863, 0x0843, 0x0843, 0x0863, 0x0863, 0x0063, 0x0063, 0x0063, 0x0063, 0x0083, 0x0883, + 0x10C5, 0x10C5, 0x10E5, 0x1106, 0x1947, 0x1947, 0x1968, 0x1969, 0x2149, 0x0045, 0x22D2, 0x0231, + 0x2B54, 0x459D, 0x0AD6, 0x010B, 0x010A, 0x2479, 0x86DE, 0x120F, 0x01EF, 0x19ED, 0x0884, 0x4A8C, + 0x52ED, 0x4ACC, 0x4A8B, 0x4A8B, 0x4229, 0x31C8, 0x2146, 0x1904, 0x18C4, 0x18C4, 0x10C4, 0x10C3, + 0x10A3, 0x10A3, 0x1083, 0x1082, 0x0882, 0x0882, 0x0883, 0x1083, 0x1083, 0x10A3, 0x10A4, 0x10A4, + 0x10A4, 0x18C4, 0x18C5, 0x18C5, 0x18A4, 0x18A4, 0x1084, 0x1084, 0x18C6, 0x2949, 0x0823, 0x0065, + 0x00EB, 0x0191, 0x1BFC, 0x0A76, 0x0047, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08A4, 0x08E8, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0043, 0x0043, 0x0044, 0x0044, + 0x0085, 0x0085, 0x00A6, 0x00A6, 0x00E9, 0x012B, 0x2477, 0x1D7C, 0x016B, 0x0087, 0x0023, 0x0022, + 0x1107, 0x1968, 0x0882, 0x0882, 0x2147, 0x08A5, 0x08E6, 0x1107, 0x0862, 0x0021, 0x0041, 0x0041, + 0x18E4, 0x0000, 0x0862, 0x08A5, 0x0064, 0x0022, 0x0022, 0x00C7, 0x0A6E, 0x1EDF, 0x1E5E, 0x0459, + 0x02D4, 0x01EF, 0x016C, 0x012A, 0x00E8, 0x00C7, 0x00A6, 0x0085, 0x0085, 0x0064, 0x0064, 0x0043, + 0x0043, 0x0043, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0085, 0x094B, 0x0043, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0065, 0x1216, 0x1AB8, 0x00CC, 0x0089, 0x0046, 0x0022, 0x1085, 0x0023, 0x0022, 0x0021, 0x0021, + 0x0002, 0x0002, 0x0023, 0x0863, 0x0865, 0x10A6, 0x1908, 0x2149, 0x216A, 0x216A, 0x29CB, 0x31EC, + 0x3A4D, 0x42AF, 0x4B10, 0x5372, 0x53B3, 0x53B3, 0x53F4, 0x53F4, 0x5C56, 0x5C76, 0x5CB7, 0x64D8, + 0x64F9, 0x651A, 0x5D3A, 0x5D3A, 0x3B12, 0x1129, 0x00A9, 0x12B3, 0x01B0, 0x2397, 0x0AD6, 0x010B, + 0x010A, 0x2C7A, 0x22F3, 0x01AE, 0x1A2F, 0x0064, 0x39EB, 0x9578, 0xAE9D, 0xAE7C, 0xAE7C, 0xAE7B, + 0xAE5B, 0xAE1A, 0xA5DA, 0xADD9, 0xB5F9, 0xBDF8, 0xC5F7, 0xC5F7, 0xBDB7, 0xBDB7, 0xBD96, 0xB535, + 0xA4D4, 0x9C73, 0x83F2, 0x83F2, 0x7BD1, 0x7390, 0x630F, 0x524C, 0x39AA, 0x2929, 0x20C7, 0x1886, + 0x1065, 0x0024, 0x0023, 0x10A6, 0x2969, 0x0002, 0x0065, 0x00EA, 0x0191, 0x23BB, 0x0B3A, 0x00AB, + 0x0024, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x1129, 0x08E7, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0043, 0x0044, 0x0044, 0x0064, 0x0064, 0x0065, 0x00A6, + 0x00A7, 0x00E9, 0x014C, 0x255B, 0x1C16, 0x00A8, 0x0065, 0x0002, 0x10E5, 0x2189, 0x10A4, 0x0841, + 0x2147, 0x0085, 0x08C6, 0x1107, 0x0021, 0x0021, 0x0001, 0x0862, 0x18E4, 0x0000, 0x08A3, 0x08C5, + 0x0022, 0x0001, 0x0064, 0x00C8, 0x1D3A, 0x165E, 0x03D7, 0x02B3, 0x01CE, 0x012B, 0x00E8, 0x00A6, + 0x0064, 0x0064, 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0864, 0x0864, 0x0885, 0x0044, 0x10C7, 0x0883, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0022, + 0x118B, 0x0908, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x08C9, 0x1278, 0x1A76, + 0x00AB, 0x0088, 0x0023, 0x0001, 0x2947, 0x0823, 0x0821, 0x0821, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0803, 0x0803, 0x0803, 0x0803, 0x1024, 0x1024, 0x1064, 0x1064, 0x1084, 0x1084, 0x10C5, 0x10C5, + 0x08E6, 0x08E6, 0x0108, 0x0129, 0x014A, 0x018B, 0x01EE, 0x020F, 0x0251, 0x02D4, 0x0378, 0x03FA, + 0x34FC, 0x3311, 0x00E9, 0x092C, 0x0A53, 0x0171, 0x1295, 0x010B, 0x010A, 0x2357, 0x016F, 0x09EF, + 0x00A6, 0x1928, 0x7475, 0x553D, 0x2C5D, 0x1B98, 0x1B56, 0x1B35, 0x1AF3, 0x1AB1, 0x1A70, 0x226E, + 0x324C, 0x422B, 0x5209, 0x5209, 0x5A09, 0x5A09, 0x59E8, 0x59E8, 0x51A8, 0x51A8, 0x4968, 0x4968, + 0x4148, 0x4148, 0x3927, 0x3927, 0x28C7, 0x28C7, 0x20A7, 0x20A7, 0x1066, 0x0025, 0x2149, 0x2107, + 0x0001, 0x0044, 0x00EB, 0x014F, 0x1338, 0x1BDB, 0x0150, 0x0026, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0085, 0x11CC, 0x08A5, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0022, 0x0022, 0x0023, 0x0023, 0x0064, 0x0064, 0x0065, 0x0065, 0x00C8, 0x12B1, + 0x25BD, 0x098C, 0x0086, 0x0023, 0x10A4, 0x31EA, 0x2126, 0x0021, 0x2988, 0x0084, 0x08C6, 0x10E6, + 0x0021, 0x0021, 0x0001, 0x0862, 0x18E4, 0x0000, 0x10E5, 0x08C5, 0x0001, 0x0001, 0x0085, 0x0A0D, + 0x165F, 0x0C37, 0x0251, 0x01AE, 0x012B, 0x00C8, 0x00A6, 0x0065, 0x0064, 0x0043, 0x0043, 0x0043, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0864, 0x0023, 0x0885, 0x0044, 0x10E8, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x1129, 0x11AC, 0x0022, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x116F, 0x0AFA, 0x11D3, 0x00A9, 0x0066, 0x0002, + 0x0002, 0x2927, 0x0821, 0x0821, 0x0842, 0x0001, 0x0001, 0x0001, 0x0803, 0x0803, 0x0803, 0x0803, + 0x1024, 0x1024, 0x1064, 0x1064, 0x1084, 0x1084, 0x10C5, 0x10C5, 0x08E6, 0x08E6, 0x0129, 0x0129, + 0x018B, 0x018B, 0x01EE, 0x0250, 0x0293, 0x0317, 0x03FA, 0x049D, 0x1D9E, 0x6EBD, 0x4BB3, 0x00A9, + 0x098E, 0x0213, 0x1295, 0x010A, 0x010B, 0x22F5, 0x09F0, 0x08E8, 0x0085, 0x6391, 0x75BE, 0x249E, + 0x1C5D, 0x13BA, 0x1B56, 0x1B15, 0x1AF3, 0x1AB1, 0x1A70, 0x222E, 0x324C, 0x3A0B, 0x5209, 0x5209, + 0x5A09, 0x5A09, 0x59E8, 0x59E8, 0x51A8, 0x51A8, 0x4968, 0x4968, 0x4148, 0x4148, 0x4128, 0x3927, + 0x28C7, 0x28C7, 0x20A7, 0x20A7, 0x0845, 0x1908, 0x1084, 0x0001, 0x0044, 0x08EA, 0x014F, 0x0AD6, + 0x245C, 0x09D4, 0x0047, 0x0024, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0023, 0x1169, 0x11EC, + 0x0043, 0x0022, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0022, 0x0024, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0064, 0x0064, 0x0065, 0x0065, 0x0086, 0x00C8, 0x1CB9, 0x1374, 0x0086, 0x0023, + 0x0863, 0x3A4B, 0x29A8, 0x0000, 0x2968, 0x0084, 0x08A5, 0x10E6, 0x0021, 0x0021, 0x0021, 0x0862, + 0x18E4, 0x0000, 0x1926, 0x10A4, 0x0000, 0x0022, 0x0086, 0x13F5, 0x1DDD, 0x020E, 0x018C, 0x012A, + 0x00C7, 0x0085, 0x0043, 0x0043, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0022, 0x0864, + 0x0885, 0x0043, 0x0023, 0x10A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0022, 0x0022, 0x08A6, 0x120E, 0x08A5, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0002, 0x1214, 0x12FA, 0x094F, 0x0088, 0x0045, 0x0001, 0x0001, 0x2928, 0x0002, + 0x0021, 0x1062, 0x0001, 0x0802, 0x1003, 0x1003, 0x1003, 0x1003, 0x1024, 0x1024, 0x1065, 0x1065, + 0x10A5, 0x10A5, 0x08C6, 0x08C6, 0x0107, 0x0107, 0x0128, 0x016A, 0x018B, 0x01CD, 0x020F, 0x0292, + 0x02F6, 0x037A, 0x047D, 0x15BF, 0x46FF, 0x87BF, 0xAFBF, 0x32AF, 0x00A9, 0x11F1, 0x12D5, 0x00EA, + 0x010B, 0x2356, 0x092B, 0x0066, 0x320C, 0x861E, 0x2CBF, 0x1C9F, 0x1C3E, 0x13FC, 0x1378, 0x1336, + 0x12F3, 0x1291, 0x1A70, 0x1A2E, 0x2A0C, 0x320B, 0x420A, 0x420A, 0x5209, 0x5209, 0x51E9, 0x51E9, + 0x51A9, 0x51A9, 0x5189, 0x5189, 0x4968, 0x4968, 0x4128, 0x4128, 0x28C7, 0x28C7, 0x18A6, 0x0823, + 0x0884, 0x0022, 0x0001, 0x0022, 0x08EA, 0x014E, 0x0296, 0x34FC, 0x0A97, 0x008A, 0x0045, 0x0024, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0023, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0022, 0x0044, 0x120D, 0x096A, 0x0043, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0022, + 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0062, 0x0062, 0x0042, 0x0042, + 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, + 0x0002, 0x0022, 0x0022, 0x0022, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0024, 0x0044, + 0x0064, 0x0064, 0x0065, 0x0065, 0x1270, 0x1CDB, 0x0087, 0x0043, 0x0001, 0x3A2B, 0x31E9, 0x0000, + 0x2147, 0x0084, 0x08A5, 0x10C5, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x1926, 0x10A4, + 0x0000, 0x0022, 0x0086, 0x1D7C, 0x1416, 0x014A, 0x012A, 0x00A7, 0x0085, 0x0064, 0x0043, 0x0043, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0864, 0x0022, 0x0884, 0x0022, 0x10C7, 0x0864, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0022, 0x11CD, 0x116B, + 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0843, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0045, + 0x1297, 0x12FA, 0x00ED, 0x0088, 0x0024, 0x0001, 0x0843, 0x2107, 0x0021, 0x0021, 0x20C3, 0x1843, + 0x1003, 0x1003, 0x1003, 0x1003, 0x1024, 0x1024, 0x1065, 0x1065, 0x10A5, 0x10A5, 0x08C6, 0x08C6, + 0x0107, 0x0107, 0x016A, 0x018C, 0x01CD, 0x0A0F, 0x0292, 0x02F6, 0x037A, 0x043D, 0x057E, 0x3EDF, + 0x77BF, 0x87DF, 0x779F, 0x76DD, 0x19ED, 0x00AA, 0x096D, 0x00A9, 0x00C9, 0x11AC, 0x0066, 0x1949, + 0x6D5B, 0x2C9E, 0x1C9F, 0x1C9F, 0x143E, 0x13FC, 0x1378, 0x1336, 0x12F3, 0x1292, 0x1A70, 0x1A2E, + 0x2A0C, 0x29EB, 0x420A, 0x420A, 0x5209, 0x5209, 0x51E9, 0x51E9, 0x51A9, 0x51A9, 0x5189, 0x5189, + 0x4968, 0x4968, 0x4128, 0x3908, 0x28C7, 0x20A5, 0x0022, 0x0021, 0x0022, 0x0022, 0x0022, 0x08E9, + 0x014E, 0x0254, 0x355C, 0x139A, 0x00ED, 0x0047, 0x0024, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0023, 0x0023, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0023, 0x08E7, 0x0A2E, 0x00A6, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0022, 0x0023, 0x0023, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0062, 0x3415, 0x34F9, 0x2CF9, 0x2CF9, 0x2CF9, 0x2CD9, 0x2CD9, 0x2CB9, 0x2CB9, + 0x2C98, 0x2C98, 0x2C98, 0x2C78, 0x2C57, 0x2C57, 0x2C16, 0x23D5, 0x23B5, 0x2394, 0x2354, 0x2354, + 0x1B13, 0x1A90, 0x1A2E, 0x1A2E, 0x120D, 0x120D, 0x120D, 0x09EC, 0x09EC, 0x09EC, 0x1AB0, 0x2BB4, + 0x2B94, 0x1B12, 0x12AF, 0x12AF, 0x12AF, 0x1AAF, 0x1AB0, 0x1AB0, 0x118B, 0x0064, 0x0065, 0x0065, + 0x00E9, 0x1CFC, 0x096B, 0x0044, 0x0001, 0x3A2B, 0x3A2B, 0x0000, 0x2147, 0x0084, 0x0084, 0x10C5, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0000, 0x2147, 0x1083, 0x0000, 0x0022, 0x098A, 0x15BE, + 0x0A6F, 0x00E8, 0x00A6, 0x0085, 0x0064, 0x0064, 0x08E9, 0x094C, 0x012C, 0x092B, 0x094B, 0x094B, + 0x094B, 0x094B, 0x094B, 0x094A, 0x094A, 0x094A, 0x0909, 0x0909, 0x00E7, 0x00E7, 0x00C6, 0x00C6, + 0x08A6, 0x08A6, 0x08C5, 0x08C5, 0x08A5, 0x08A5, 0x08A4, 0x0884, 0x0884, 0x0884, 0x0884, 0x0884, + 0x0884, 0x08C5, 0x08C6, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0002, 0x0002, 0x0002, 0x0022, 0x1129, 0x120F, 0x0065, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x08A9, 0x12DA, 0x12F8, 0x00CB, + 0x0088, 0x0024, 0x0001, 0x1084, 0x1086, 0x0001, 0x0000, 0x2925, 0x20A5, 0x1003, 0x1003, 0x1003, + 0x1824, 0x1824, 0x1044, 0x1044, 0x10A5, 0x10A5, 0x08C6, 0x08C6, 0x0908, 0x0908, 0x0129, 0x016B, + 0x01AD, 0x01EF, 0x0253, 0x02F7, 0x03FB, 0x053E, 0x2EBF, 0x6F9F, 0x87DF, 0x679F, 0x26BF, 0x155D, + 0x6D5A, 0x2B15, 0x096D, 0x00A8, 0x00A7, 0x2AF2, 0x21ED, 0x7518, 0x0B58, 0x145E, 0x145F, 0x145F, + 0x141E, 0x13DC, 0x0B79, 0x0B36, 0x0AF4, 0x0A92, 0x1250, 0x122F, 0x19CC, 0x220D, 0x31CA, 0x39C9, + 0x41A9, 0x41A9, 0x49A9, 0x49A9, 0x51A9, 0x51A9, 0x5188, 0x5188, 0x4968, 0x4968, 0x4128, 0x4128, + 0x1884, 0x0001, 0x0021, 0x320B, 0x0043, 0x0022, 0x08C9, 0x016E, 0x0233, 0x2CFB, 0x1C7B, 0x0191, + 0x0068, 0x0046, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, 0x0023, 0x0001, 0x0001, 0x0023, + 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0023, 0x0044, 0x0044, + 0x09AC, 0x09AC, 0x0044, 0x0044, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0024, 0x0024, 0x0001, 0x0001, 0x0021, 0x0021, 0x2BD4, 0x120D, + 0x0043, 0x0043, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0043, 0x0043, 0x0043, 0x0064, 0x0064, + 0x0044, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0022, 0x0022, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x098B, 0x098B, 0x0044, 0x0044, 0x0065, 0x1C59, 0x0A4E, 0x0044, + 0x0001, 0x428D, 0x4AAD, 0x0001, 0x29C9, 0x0885, 0x0085, 0x10A5, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0021, 0x0000, 0x2147, 0x10A3, 0x0000, 0x0022, 0x0A0D, 0x159E, 0x0129, 0x00A6, 0x0085, 0x0085, + 0x0064, 0x09ED, 0x1C39, 0x2479, 0x2458, 0x2458, 0x2C57, 0x2C57, 0x2C36, 0x2C36, 0x2BF5, 0x2BF5, + 0x2BF4, 0x2BD4, 0x2BB4, 0x2BB3, 0x2B93, 0x2B93, 0x2B72, 0x2B73, 0x2B52, 0x2B52, 0x2B31, 0x2B31, + 0x2A6D, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0043, 0x1128, + 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0045, 0x1230, 0x094A, 0x0044, 0x0023, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0842, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0003, 0x094E, 0x0B7C, 0x0AB6, 0x00CB, 0x0088, 0x0023, 0x0001, + 0x1084, 0x0845, 0x0001, 0x0000, 0x2904, 0x28E6, 0x1003, 0x1003, 0x1824, 0x1824, 0x1044, 0x1044, + 0x10A5, 0x10A5, 0x08C6, 0x08C6, 0x0908, 0x0129, 0x016B, 0x01AD, 0x01EF, 0x0252, 0x02F7, 0x03DB, + 0x053E, 0x269F, 0x6F9F, 0x8FFF, 0x77BF, 0x269F, 0x04FE, 0x035B, 0x1359, 0x2BB9, 0x0A93, 0x00A8, + 0x0087, 0x451C, 0x3B53, 0x1334, 0x0274, 0x039B, 0x145F, 0x145F, 0x0BDD, 0x0B9B, 0x0B38, 0x0AF5, + 0x0AD4, 0x0A92, 0x1271, 0x122F, 0x11ED, 0x220D, 0x31CA, 0x31CA, 0x41A9, 0x41A9, 0x49A9, 0x49A9, + 0x51A9, 0x51A9, 0x5188, 0x5188, 0x4968, 0x4968, 0x5A2B, 0x2925, 0x0001, 0x0001, 0x320C, 0x29AA, + 0x0022, 0x00C8, 0x016E, 0x01F3, 0x1C9B, 0x253C, 0x0214, 0x008B, 0x0046, 0x0024, 0x0022, 0x0022, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0022, 0x0001, 0x0001, 0x0001, 0x0043, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, 0x0044, 0x0066, 0x0066, 0x0086, 0x0A4E, 0x00C7, 0x0044, + 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0024, 0x0024, 0x0001, 0x0001, 0x0021, 0x1A4D, 0x1B11, 0x0063, 0x0043, 0x0043, 0x0064, 0x0064, + 0x0064, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0042, 0x0022, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0043, 0x120E, 0x08A6, 0x0044, 0x0044, 0x13B6, 0x12B0, 0x0044, 0x0001, 0x428D, 0x530F, 0x0001, + 0x29A9, 0x0885, 0x0085, 0x08A5, 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0000, 0x2167, 0x10A3, + 0x0000, 0x0022, 0x0A2D, 0x159D, 0x0086, 0x0086, 0x0065, 0x0065, 0x098B, 0x253C, 0x23B4, 0x1AF0, + 0x1AEF, 0x1AEF, 0x1AEF, 0x1AEE, 0x1ACE, 0x22CD, 0x22AD, 0x22AD, 0x228C, 0x228C, 0x226C, 0x226C, + 0x226B, 0x226B, 0x226B, 0x226B, 0x226B, 0x226B, 0x224B, 0x224B, 0x19A8, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0022, 0x1128, 0x0042, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0023, 0x0023, 0x118B, 0x0A2F, 0x0044, 0x19CE, + 0x2293, 0x08E8, 0x2271, 0x118C, 0x2315, 0x2BB8, 0x1948, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0042, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0022, 0x0025, 0x0A34, 0x0BFC, 0x0A54, 0x00CA, 0x0067, 0x0023, 0x0001, 0x1085, 0x0024, 0x0001, + 0x0001, 0x2105, 0x2927, 0x1024, 0x1044, 0x1044, 0x1065, 0x1065, 0x08A5, 0x08C6, 0x08E8, 0x08E8, + 0x0129, 0x014B, 0x018D, 0x01CF, 0x0232, 0x0295, 0x0359, 0x04DD, 0x165F, 0x5F7F, 0x97DF, 0x77BF, + 0x269F, 0x04BE, 0x035C, 0x02FA, 0x02F9, 0x1B99, 0x0A93, 0x0087, 0x0087, 0x349A, 0x22D2, 0x0292, + 0x0294, 0x02F7, 0x033A, 0x0BDD, 0x037B, 0x0339, 0x02B5, 0x02B4, 0x0293, 0x0A51, 0x0A0F, 0x09EE, + 0x118C, 0x19CC, 0x21AA, 0x31A9, 0x39A8, 0x39A8, 0x4988, 0x4988, 0x4988, 0x4988, 0x4988, 0x4988, + 0x49A9, 0x6AEE, 0x2925, 0x0001, 0x0001, 0x2A0D, 0x2A0C, 0x0023, 0x00A8, 0x018E, 0x01D2, 0x1419, + 0x2DBD, 0x0296, 0x00CD, 0x0047, 0x0024, 0x0024, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0043, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x118B, + 0x2334, 0x120F, 0x2C59, 0x2354, 0x0065, 0x096A, 0x09CC, 0x0044, 0x0044, 0x0044, 0x0022, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0000, 0x2332, 0x0949, 0x0043, 0x0927, 0x128E, 0x128E, 0x1189, 0x0948, 0x1168, 0x1ACF, 0x098A, + 0x0907, 0x230F, 0x0927, 0x1A8D, 0x1ACE, 0x1A4C, 0x128D, 0x1A8D, 0x118A, 0x22CF, 0x0084, 0x0022, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0022, 0x22CD, 0x1A4C, 0x0042, 0x0022, 0x1129, 0x08C6, 0x0043, + 0x0044, 0x1376, 0x0AB1, 0x0043, 0x0001, 0x4AAE, 0x532F, 0x0001, 0x2189, 0x08A5, 0x0885, 0x08A5, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x2167, 0x10A3, 0x0000, 0x0022, 0x0A2D, 0x159D, + 0x0086, 0x0064, 0x0065, 0x0908, 0x24DB, 0x1B12, 0x00A7, 0x00A6, 0x0086, 0x0085, 0x0065, 0x0065, + 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0022, 0x08E7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0002, 0x0002, 0x0023, 0x0086, 0x12B1, 0x0908, 0x0043, 0x08E9, 0x11CF, 0x114B, 0x22B3, 0x11AD, + 0x1B36, 0x118D, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0042, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x0069, 0x1338, + 0x1C5D, 0x01F1, 0x00CA, 0x0067, 0x0023, 0x0001, 0x10A6, 0x0024, 0x0001, 0x0001, 0x18C4, 0x3189, + 0x1044, 0x1044, 0x1065, 0x1065, 0x08C6, 0x08C7, 0x08E8, 0x0109, 0x014B, 0x018D, 0x01CF, 0x0232, + 0x0295, 0x0359, 0x04DD, 0x165F, 0x4F3F, 0x8FDF, 0x77BF, 0x261E, 0x049C, 0x031A, 0x02FA, 0x02FA, + 0x02D8, 0x1399, 0x0A93, 0x0087, 0x0086, 0x349A, 0x1A91, 0x0292, 0x0272, 0x0294, 0x02B7, 0x033A, + 0x037B, 0x0339, 0x02B5, 0x0273, 0x0A51, 0x0210, 0x09EE, 0x09AC, 0x118C, 0x118C, 0x21AA, 0x21AA, + 0x39A8, 0x39A8, 0x4988, 0x4988, 0x4988, 0x4988, 0x4988, 0x5A4B, 0x736F, 0x1082, 0x0001, 0x0001, + 0x2A0D, 0x2A2F, 0x0024, 0x00A7, 0x016D, 0x01D1, 0x1419, 0x363E, 0x0B59, 0x00EF, 0x0069, 0x0045, + 0x0024, 0x0024, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0043, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x23B7, 0x1334, 0x1A92, 0x12F4, 0x092B, + 0x0065, 0x0065, 0x122E, 0x0928, 0x0044, 0x0044, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0001, 0x0001, 0x0000, 0x2332, 0x0949, 0x0043, + 0x1147, 0x2C96, 0x23F4, 0x23D3, 0x2455, 0x1B30, 0x2455, 0x3518, 0x2C35, 0x2392, 0x3414, 0x2D59, + 0x2371, 0x1ACE, 0x2CF8, 0x2392, 0x2C76, 0x2393, 0x228D, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x1188, 0x3494, 0x3C53, 0x0043, 0x0022, 0x1129, 0x08C6, 0x0043, 0x0044, 0x1356, 0x0AB1, 0x0043, + 0x0001, 0x4ACF, 0x532F, 0x0001, 0x2189, 0x08A5, 0x08A5, 0x08A4, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0000, 0x0000, 0x2167, 0x10A3, 0x0021, 0x0021, 0x0A2D, 0x157E, 0x0085, 0x0044, 0x0085, 0x1C58, + 0x1B95, 0x00E9, 0x0087, 0x0087, 0x0085, 0x0086, 0x0065, 0x0043, 0x0043, 0x0043, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0023, 0x0044, 0x0044, 0x0024, 0x0002, 0x0002, 0x0000, 0x0000, + 0x0000, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, 0x0024, 0x11ED, + 0x120F, 0x0024, 0x0024, 0x0046, 0x22B3, 0x118E, 0x118D, 0x118D, 0x1AB3, 0x1A93, 0x118B, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0842, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0024, 0x00EC, 0x13DA, 0x24BB, 0x01CF, 0x00EA, + 0x0066, 0x0023, 0x0022, 0x10A7, 0x0023, 0x0000, 0x0001, 0x18C4, 0x31AA, 0x0865, 0x0886, 0x0087, + 0x00A8, 0x00E9, 0x010B, 0x014D, 0x01D0, 0x0252, 0x02B4, 0x0317, 0x03DA, 0x0D1D, 0x269F, 0x777F, + 0x9FDF, 0x8F9F, 0x25BD, 0x041A, 0x02D7, 0x0255, 0x0253, 0x0253, 0x0274, 0x1B79, 0x0A93, 0x0087, + 0x0086, 0x347A, 0x1A50, 0x0251, 0x0210, 0x0210, 0x0273, 0x0295, 0x02B6, 0x0B9B, 0x0399, 0x0337, + 0x02F5, 0x02B3, 0x0271, 0x020F, 0x09EE, 0x09AD, 0x11AC, 0x21AB, 0x39CA, 0x39A9, 0x4189, 0x4189, + 0x4988, 0x4988, 0x730E, 0x630D, 0x0021, 0x0000, 0x0001, 0x320E, 0x3291, 0x0065, 0x0087, 0x016D, + 0x01F1, 0x0BD8, 0x467E, 0x145B, 0x0171, 0x008A, 0x0045, 0x0045, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0043, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x19ED, 0x12F4, 0x1B35, 0x1A30, 0x12F4, 0x2376, 0x0087, 0x0065, 0x0949, 0x124E, + 0x0045, 0x0045, 0x0044, 0x0044, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x2352, 0x0969, 0x0043, 0x0063, 0x22AE, 0x120B, 0x2C97, + 0x24D8, 0x2372, 0x2414, 0x3518, 0x2C76, 0x122B, 0x1AF0, 0x2D9A, 0x3C96, 0x0907, 0x2BB3, 0x0127, + 0x3475, 0x2C35, 0x0906, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x1A6B, 0x3D9A, 0x3CD6, 0x0063, + 0x0022, 0x1108, 0x08C6, 0x0043, 0x0043, 0x1335, 0x0AB1, 0x0042, 0x0001, 0x4AEF, 0x5B30, 0x0001, + 0x2188, 0x08A5, 0x08A5, 0x0884, 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x2967, 0x10A3, + 0x0000, 0x0021, 0x0A4D, 0x157E, 0x0044, 0x0044, 0x1A4D, 0x1CDA, 0x00E9, 0x0087, 0x0087, 0x096A, + 0x1BD4, 0x1CB8, 0x1C77, 0x12D0, 0x0064, 0x0043, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0044, + 0x0066, 0x0067, 0x0067, 0x0067, 0x0024, 0x0002, 0x0000, 0x0000, 0x0000, 0x08A5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, 0x0086, 0x12B2, 0x08E7, 0x0023, 0x0044, 0x3B13, + 0x096E, 0x1A30, 0x118D, 0x118D, 0x220F, 0x096D, 0x19EE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0842, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0002, 0x0046, 0x096F, 0x2CFB, 0x2C9A, 0x01CF, 0x00EA, 0x0066, 0x0022, 0x0843, + 0x10A6, 0x0884, 0x0001, 0x0001, 0x10A4, 0x5C15, 0x5C77, 0x5C77, 0x5CB9, 0x54D9, 0x4CBA, 0x3CBA, + 0x3CFA, 0x455B, 0x5DBC, 0x6E5D, 0x8EFE, 0xA79F, 0xB7DF, 0xC7FF, 0xBFFF, 0x5E3D, 0x0377, 0x0252, + 0x01F1, 0x01F0, 0x01CF, 0x01EF, 0x0211, 0x1B78, 0x0293, 0x0087, 0x0086, 0x347A, 0x120F, 0x020F, + 0x01EE, 0x0210, 0x0210, 0x0211, 0x0231, 0x1B36, 0x967D, 0x963C, 0x963C, 0x961B, 0x8DDA, 0x7D59, + 0x6CD7, 0x6477, 0x6C36, 0x6C15, 0x7C14, 0x7C14, 0x8C54, 0x9454, 0x8C33, 0x8C33, 0x4A09, 0x0001, + 0x0002, 0x0002, 0x320E, 0x4313, 0x08C7, 0x0066, 0x016D, 0x0A31, 0x0B98, 0x4E9E, 0x2D5C, 0x0214, + 0x00AC, 0x0067, 0x0045, 0x0045, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0043, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x2333, 0x2CBB, + 0x2C7B, 0x1A50, 0x014D, 0x2B97, 0x0065, 0x0044, 0x0044, 0x120D, 0x0949, 0x0045, 0x0044, 0x0044, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x2352, 0x0969, 0x0043, 0x0043, 0x22AE, 0x120C, 0x3DDC, 0x35DC, 0x2497, 0x2435, 0x2C56, + 0x34D8, 0x0A4D, 0x24D7, 0x24D7, 0x09CB, 0x0085, 0x2BB3, 0x0127, 0x1A2B, 0x1ACF, 0x2350, 0x0022, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x1A2A, 0x1B0E, 0x2BD2, 0x1147, 0x0022, 0x1108, 0x08A6, 0x0043, + 0x0043, 0x1336, 0x0A91, 0x0042, 0x0001, 0x4AEF, 0x5B30, 0x0001, 0x2188, 0x08A5, 0x08A4, 0x0884, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2167, 0x1083, 0x0001, 0x0001, 0x124D, 0x153E, + 0x0064, 0x0043, 0x1A8E, 0x1BF6, 0x00A6, 0x00A6, 0x2373, 0x2E1E, 0x1E3E, 0x1D9C, 0x15FD, 0x15FE, + 0x251A, 0x0948, 0x0022, 0x08A4, 0x2188, 0x0063, 0x222A, 0x0001, 0x19A9, 0x226B, 0x19E9, 0x22EE, + 0x2ACF, 0x220A, 0x1167, 0x0000, 0x0001, 0x0001, 0x0043, 0x0066, 0x0109, 0x1417, 0x1C17, 0x00C9, + 0x0046, 0x0001, 0x0000, 0x0000, 0x0000, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0002, + 0x0023, 0x0023, 0x09AD, 0x09EE, 0x0023, 0x0023, 0x0023, 0x114A, 0x22B3, 0x0085, 0x1129, 0x08C8, + 0x222F, 0x3377, 0x0885, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0002, + 0x0068, 0x0A53, 0x461D, 0x1C18, 0x01CF, 0x00EA, 0x0066, 0x0002, 0x10C5, 0x1927, 0x0023, 0x0023, + 0x0044, 0x0066, 0x0068, 0x0067, 0x0087, 0x0088, 0x0089, 0x0089, 0x00AA, 0x00AA, 0x00CB, 0x00CB, + 0x00EB, 0x00EB, 0x092C, 0x092C, 0x114B, 0x1A91, 0x0231, 0x01EF, 0x01AD, 0x01AD, 0x01AD, 0x01AD, + 0x01CF, 0x1358, 0x0A73, 0x0086, 0x0086, 0x2C5A, 0x09CD, 0x01AE, 0x01CE, 0x01CE, 0x01CE, 0x01CE, + 0x01CE, 0x1A92, 0x0066, 0x0066, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0046, 0x0046, + 0x0045, 0x0044, 0x0023, 0x0023, 0x10A5, 0x18C7, 0x18C8, 0x18E9, 0x10C9, 0x216C, 0x5333, 0x10E6, + 0x0045, 0x012B, 0x1272, 0x0398, 0x465D, 0x465D, 0x0B17, 0x00ED, 0x0068, 0x0066, 0x0044, 0x0044, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0043, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0066, 0x0087, 0x2270, 0x092A, 0x2B75, 0x118B, + 0x0023, 0x0023, 0x0044, 0x0908, 0x0A2E, 0x0065, 0x0044, 0x0044, 0x0024, 0x0022, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x2332, 0x0969, 0x0043, + 0x0064, 0x2A8E, 0x22EF, 0x22EF, 0x122C, 0x4518, 0x1A0B, 0x4414, 0x2B71, 0x4579, 0x2CB6, 0x3D9A, + 0x44D7, 0x19AA, 0x33B2, 0x08E6, 0x3C13, 0x4D18, 0x19C9, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0084, 0x4D17, 0x44D6, 0x0062, 0x0022, 0x1107, 0x08A5, 0x0022, 0x0023, 0x1315, 0x0A71, 0x0022, + 0x0001, 0x4AEF, 0x5330, 0x0001, 0x2147, 0x08A5, 0x08A5, 0x0884, 0x0841, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2167, 0x1083, 0x0001, 0x0001, 0x122E, 0x153E, 0x0043, 0x0043, 0x1A8E, 0x13D5, + 0x00A6, 0x122D, 0x25DE, 0x1BF4, 0x1B31, 0x1393, 0x1332, 0x1B52, 0x1D9C, 0x2D3A, 0x0063, 0x0063, + 0x3C14, 0x1A2A, 0x34F8, 0x08E5, 0x2B70, 0x2B71, 0x23D2, 0x2370, 0x2ACD, 0x2ACD, 0x228D, 0x0000, + 0x0001, 0x0001, 0x0044, 0x00A7, 0x14DA, 0x061F, 0x061F, 0x1374, 0x0046, 0x0022, 0x0000, 0x0000, + 0x0000, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0002, 0x0023, 0x0086, 0x1250, 0x08A7, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0002, 0x0002, 0x0022, 0x0002, 0x0022, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0842, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0024, 0x008A, 0x1377, 0x569D, + 0x13B7, 0x01CF, 0x00EB, 0x0066, 0x0001, 0x1906, 0x0065, 0x0087, 0x0088, 0x00CB, 0x0130, 0x090D, + 0x110B, 0x110B, 0x090B, 0x090C, 0x112D, 0x112D, 0x114E, 0x114E, 0x196F, 0x196F, 0x196F, 0x116F, + 0x08A9, 0x1A0E, 0x01EF, 0x018C, 0x018C, 0x016C, 0x016C, 0x018C, 0x018E, 0x1318, 0x0A73, 0x0086, + 0x0087, 0x2C5A, 0x098C, 0x01AE, 0x01CE, 0x01CE, 0x01CE, 0x01AD, 0x01AC, 0x1A50, 0x0023, 0x112C, + 0x196E, 0x196E, 0x196E, 0x196E, 0x194D, 0x194D, 0x112B, 0x112B, 0x110A, 0x110A, 0x10E9, 0x08C7, + 0x39EE, 0x298E, 0x216D, 0x212D, 0x192D, 0x3A71, 0x10E6, 0x0045, 0x012B, 0x0A51, 0x03F9, 0x3E1D, + 0x6F3F, 0x145B, 0x0171, 0x00AB, 0x0066, 0x0045, 0x0044, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0022, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0023, 0x0043, 0x0044, 0x0023, 0x0023, 0x0022, 0x0023, 0x0023, 0x0044, 0x0044, + 0x0A0D, 0x096A, 0x0044, 0x0044, 0x0024, 0x0024, 0x0021, 0x0021, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x2332, 0x0969, 0x0043, 0x0064, 0x0064, 0x0064, 0x0065, + 0x0065, 0x00A5, 0x0065, 0x0065, 0x0084, 0x0085, 0x0085, 0x00A5, 0x0085, 0x0063, 0x0064, 0x0042, + 0x0043, 0x0063, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0084, 0x0062, 0x0001, + 0x0021, 0x1107, 0x08A5, 0x0021, 0x0022, 0x1315, 0x0A71, 0x0022, 0x0001, 0x4ACF, 0x5330, 0x0001, + 0x2147, 0x08A5, 0x08A5, 0x0884, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, 0x2167, 0x1082, + 0x0000, 0x0000, 0x122D, 0x0CDD, 0x0043, 0x0022, 0x1A8E, 0x1395, 0x0064, 0x00E6, 0x1AAE, 0x24B9, + 0x1DDE, 0x259D, 0x1DBD, 0x2D5B, 0x1AD0, 0x22EF, 0x0021, 0x0021, 0x4455, 0x2B91, 0x3518, 0x1A6D, + 0x1A4B, 0x3475, 0x2392, 0x2330, 0x224C, 0x224C, 0x22AD, 0x0000, 0x0001, 0x0001, 0x0045, 0x014A, + 0x0E1F, 0x0E1F, 0x063F, 0x1D5B, 0x0067, 0x0002, 0x0000, 0x0000, 0x0000, 0x08A6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0023, 0x0024, 0x0024, 0x0044, 0x11AC, 0x09CD, 0x0023, 0x0022, 0x08A6, 0x0022, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0842, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0046, 0x012D, 0x24DA, 0x6EDE, 0x0B97, 0x01F0, 0x00EA, + 0x0085, 0x218A, 0x00C9, 0x00EC, 0x010E, 0x0173, 0x0218, 0x22F9, 0x10C5, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, 0x0024, 0x1A0D, 0x01AD, 0x018C, + 0x014A, 0x014A, 0x014A, 0x014A, 0x014C, 0x12F7, 0x0A74, 0x0066, 0x0066, 0x2C3B, 0x014B, 0x016C, + 0x014A, 0x014A, 0x014A, 0x014A, 0x014A, 0x1A2E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4A8F, 0x4252, 0x31D1, 0x29B0, 0x29B0, + 0x2170, 0x42B4, 0x0045, 0x00EB, 0x01F0, 0x0BD9, 0x35DD, 0x8F9F, 0x255D, 0x0275, 0x010E, 0x0068, + 0x0045, 0x0045, 0x0024, 0x0024, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, 0x0002, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x10C7, 0x0063, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0886, 0x1928, 0x0044, 0x0929, 0x124E, 0x0065, 0x0065, + 0x0044, 0x0044, 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x2332, 0x0969, 0x0043, 0x0023, 0x0023, 0x0044, 0x0044, 0x0064, 0x0064, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0043, 0x0043, 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x10E7, 0x0884, 0x0021, + 0x0022, 0x12F5, 0x1230, 0x0022, 0x0001, 0x42AE, 0x530F, 0x0001, 0x1906, 0x10A5, 0x10A5, 0x0884, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, 0x2167, 0x1082, 0x0000, 0x0000, 0x120D, 0x0CDD, + 0x0022, 0x0022, 0x1A8E, 0x1395, 0x0063, 0x0043, 0x126E, 0x24B9, 0x1AAE, 0x1AF0, 0x128E, 0x2415, + 0x2C15, 0x0021, 0x0021, 0x0021, 0x33D3, 0x3496, 0x2350, 0x3476, 0x0906, 0x3475, 0x2392, 0x2413, + 0x2B91, 0x224C, 0x22AD, 0x0000, 0x0001, 0x0001, 0x0045, 0x010A, 0x0E1F, 0x063F, 0x063F, 0x153A, + 0x0067, 0x0022, 0x0000, 0x0000, 0x0000, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0046, 0x0024, 0x0024, + 0x0086, 0x1271, 0x08E7, 0x0023, 0x0022, 0x0022, 0x0022, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0024, 0x0089, 0x0A53, 0x4E1D, 0x6E7D, 0x0B97, 0x018F, 0x08C8, 0x21ED, 0x014E, 0x0191, + 0x01D5, 0x0219, 0x02BC, 0x23BD, 0x2189, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0001, 0x0002, 0x0024, 0x19EC, 0x018C, 0x014A, 0x014A, 0x014A, 0x014A, 0x014A, + 0x010A, 0x12B6, 0x0A74, 0x0066, 0x0066, 0x2C3B, 0x010A, 0x014B, 0x014A, 0x014A, 0x014A, 0x0129, + 0x0129, 0x19EC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x6353, 0x3A12, 0x3A12, 0x29D2, 0x21B2, 0x21B2, 0x4316, 0x116C, 0x016E, + 0x0357, 0x259D, 0x979F, 0x4E7E, 0x0358, 0x0191, 0x00CB, 0x00A9, 0x0045, 0x0045, 0x0024, 0x0024, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0064, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x1108, 0x0063, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x10E7, 0x0044, 0x0044, 0x0065, 0x0A2E, 0x096A, 0x0065, 0x0044, 0x0044, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x2333, 0x0969, 0x0043, + 0x0023, 0x0023, 0x0044, 0x0044, 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x08C7, 0x0884, 0x0001, 0x0021, 0x12F5, 0x1230, 0x0021, + 0x0000, 0x42AE, 0x530F, 0x0001, 0x1906, 0x10C5, 0x10C5, 0x0884, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0000, 0x0000, 0x2967, 0x0882, 0x0000, 0x0000, 0x120E, 0x0C9C, 0x0022, 0x0022, 0x1A6E, 0x1353, + 0x0022, 0x0022, 0x0084, 0x1A0C, 0x2D9C, 0x25BD, 0x25BD, 0x2BF5, 0x08E6, 0x0022, 0x0001, 0x0001, + 0x2A8D, 0x3C75, 0x19C9, 0x3519, 0x0022, 0x3455, 0x2351, 0x0926, 0x0000, 0x224B, 0x22AD, 0x0000, + 0x0001, 0x0001, 0x0044, 0x0088, 0x1BD5, 0x0E3E, 0x161E, 0x1270, 0x0044, 0x0001, 0x0000, 0x0000, + 0x0000, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0045, 0x0045, 0x0045, 0x0045, 0x118C, 0x09EE, 0x0024, 0x0023, + 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0042, 0x0042, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0044, 0x08C9, 0x010D, + 0x1397, 0x76FE, 0x55BC, 0x02B4, 0x090A, 0x2251, 0x01F5, 0x0218, 0x025A, 0x0A9C, 0x0B1E, 0x2C1E, + 0x1927, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x21EB, 0x014A, 0x0108, 0x0108, 0x0108, 0x00E7, 0x00E7, 0x00E9, 0x1295, 0x0A74, 0x0067, + 0x0067, 0x2C1B, 0x00E9, 0x00E9, 0x0128, 0x0128, 0x0108, 0x00E7, 0x00E7, 0x11AA, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5B12, + 0x3213, 0x3213, 0x2A14, 0x3235, 0x2A15, 0x4358, 0x19EF, 0x0252, 0x14DB, 0x8F5F, 0x771F, 0x147B, + 0x0214, 0x010D, 0x0088, 0x0067, 0x08C8, 0x0066, 0x0044, 0x0044, 0x0043, 0x0043, 0x0042, 0x0042, + 0x0022, 0x0022, 0x0042, 0x0042, 0x0041, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0002, 0x0023, 0x0044, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x10C6, 0x0863, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0044, + 0x0044, 0x096A, 0x0A4F, 0x0065, 0x0045, 0x0045, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x2352, 0x124E, 0x19CB, 0x19AB, 0x19AB, 0x19AB, 0x19AB, + 0x19AB, 0x19CB, 0x19CB, 0x19CB, 0x21AB, 0x21AB, 0x1949, 0x1949, 0x1928, 0x1928, 0x1908, 0x1908, + 0x1907, 0x1907, 0x1907, 0x1906, 0x1906, 0x1906, 0x18E6, 0x18E6, 0x18E6, 0x18E6, 0x1906, 0x1906, + 0x1906, 0x1906, 0x1906, 0x18E6, 0x10E5, 0x10E5, 0x10C5, 0x10C5, 0x10E5, 0x10C5, 0x10C6, 0x10C6, + 0x10E6, 0x1129, 0x0863, 0x0000, 0x0001, 0x0AB4, 0x120F, 0x0021, 0x0000, 0x426D, 0x52EF, 0x0001, + 0x10E5, 0x10E5, 0x10C5, 0x0884, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, 0x2967, 0x0882, + 0x0000, 0x0000, 0x11EE, 0x0C3C, 0x0022, 0x0001, 0x1A6D, 0x1353, 0x0022, 0x0022, 0x0022, 0x1148, + 0x1ACF, 0x11EB, 0x126E, 0x1AAF, 0x0022, 0x0022, 0x0001, 0x0001, 0x08A4, 0x2A2A, 0x0042, 0x2AED, + 0x0001, 0x2A6B, 0x21E9, 0x0883, 0x0000, 0x1146, 0x1988, 0x0000, 0x0001, 0x0001, 0x0023, 0x0067, + 0x00A9, 0x1270, 0x09CE, 0x0067, 0x0044, 0x0001, 0x0000, 0x0000, 0x0000, 0x08A6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0023, 0x0045, 0x0045, 0x0045, 0x1271, 0x08E8, 0x08C7, 0x112A, 0x0022, 0x0022, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0863, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0001, 0x0042, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, 0x08A6, 0x0067, 0x00AA, 0x01F1, 0x1CDA, 0x979F, 0x0B77, + 0x094B, 0x22B3, 0x0A9A, 0x0ADC, 0x0AFD, 0x0B3E, 0x0B7F, 0x2C3E, 0x1927, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x21EB, 0x0108, 0x00E7, + 0x00E7, 0x00E7, 0x00E7, 0x00E7, 0x00E9, 0x1275, 0x0A74, 0x0067, 0x0067, 0x2C1B, 0x00E9, 0x00E9, + 0x0128, 0x0128, 0x00E7, 0x00E7, 0x00C6, 0x1169, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x52F1, 0x3213, 0x3213, 0x3235, 0x2A37, + 0x2A58, 0x43BA, 0x1A72, 0x02D4, 0x463D, 0xAFDF, 0x25BE, 0x0317, 0x0190, 0x00EB, 0x0067, 0x0067, + 0x0066, 0x08C7, 0x0044, 0x0044, 0x0043, 0x0043, 0x0042, 0x0042, 0x0022, 0x0022, 0x0042, 0x0042, + 0x0041, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, + 0x0045, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08A4, 0x0863, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0044, 0x08C8, 0x0086, 0x0A2E, 0x0949, + 0x0045, 0x0045, 0x0044, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x2352, 0x09AB, 0x0065, 0x0066, 0x0066, 0x0086, 0x0086, 0x0086, 0x0086, 0x0044, 0x0044, + 0x0042, 0x0022, 0x0042, 0x0042, 0x0042, 0x0842, 0x0862, 0x0862, 0x1082, 0x1082, 0x10A3, 0x10A3, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x1082, 0x1082, 0x10A3, 0x10A3, + 0x10A3, 0x1082, 0x0882, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x2169, 0x0863, 0x0000, + 0x0001, 0x0AB4, 0x120F, 0x0001, 0x0000, 0x426D, 0x4AEF, 0x0001, 0x10E5, 0x10E5, 0x10E5, 0x0884, + 0x0000, 0x0000, 0x0041, 0x0041, 0x0000, 0x0000, 0x2988, 0x0862, 0x0000, 0x0000, 0x11CE, 0x0BBB, + 0x0002, 0x0000, 0x226D, 0x1312, 0x0022, 0x0022, 0x0021, 0x0021, 0x1A2B, 0x35DE, 0x2BF5, 0x0042, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0044, 0x0066, 0x0066, 0x0045, 0x0045, + 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0024, 0x0024, 0x0044, 0x118C, + 0x0A0F, 0x0044, 0x0023, 0x114A, 0x198B, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x08A5, 0x19A8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0884, + 0x0886, 0x0045, 0x0045, 0x00A8, 0x01AF, 0x0BF8, 0x8F9F, 0x141A, 0x098E, 0x2336, 0x139E, 0x0B9F, + 0x0BDF, 0x0BDF, 0x0B7E, 0x2C1D, 0x10E6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x21A9, 0x0107, 0x00E6, 0x00A5, 0x00A5, 0x00A5, 0x00A5, + 0x00A7, 0x0A54, 0x0A74, 0x0088, 0x0088, 0x241C, 0x00E7, 0x00E7, 0x00C6, 0x00C6, 0x00A5, 0x00A5, + 0x00A5, 0x0907, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x4AB0, 0x3232, 0x3233, 0x3257, 0x3299, 0x32DA, 0x443C, 0x22F4, 0x0376, + 0x5EDF, 0x9FBF, 0x0CFD, 0x0296, 0x014E, 0x00CA, 0x0066, 0x0066, 0x0045, 0x0045, 0x08E7, 0x0066, + 0x0044, 0x0023, 0x0042, 0x0042, 0x0062, 0x0062, 0x0082, 0x0082, 0x00C2, 0x00C2, 0x00A1, 0x00A1, + 0x00A1, 0x00A1, 0x00A1, 0x00A1, 0x0041, 0x0041, 0x0021, 0x0021, 0x0002, 0x0885, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0884, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0023, 0x198B, 0x1108, 0x0045, 0x096A, 0x120D, 0x0065, 0x0065, 0x0045, 0x0045, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x2352, 0x09AB, 0x0064, + 0x0065, 0x0087, 0x00C9, 0x00E9, 0x00C8, 0x0086, 0x0064, 0x0043, 0x0042, 0x0042, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10C5, 0x0863, 0x0000, 0x0000, 0x1293, 0x11EE, 0x0001, + 0x0000, 0x3A2D, 0x4ACE, 0x0001, 0x1906, 0x1906, 0x10E6, 0x0884, 0x0000, 0x0000, 0x0041, 0x0041, + 0x0000, 0x0000, 0x2988, 0x0862, 0x0000, 0x0000, 0x11CD, 0x0BBB, 0x0002, 0x0000, 0x228D, 0x1312, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0063, 0x33F4, 0x0968, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0023, 0x0023, 0x0024, 0x0024, 0x0024, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0002, 0x0002, 0x0024, 0x0024, 0x0045, 0x1291, 0x094A, 0x0024, 0x0023, 0x0023, + 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x3350, 0x226C, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0884, 0x08A6, 0x0045, 0x0024, 0x0044, 0x00A8, + 0x01AF, 0x0BF8, 0x8F9F, 0x149B, 0x0A10, 0x2C19, 0x1C7F, 0x141F, 0x0BDF, 0x0BDF, 0x0B7E, 0x2BDC, + 0x10E6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x21A9, 0x00E6, 0x00A5, 0x00A5, 0x00A5, 0x00A5, 0x00A5, 0x00A7, 0x0A55, 0x0A75, 0x0088, + 0x0088, 0x241C, 0x00E7, 0x00E7, 0x00C6, 0x00C6, 0x00A5, 0x00A5, 0x0085, 0x08C5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x424E, + 0x3232, 0x3233, 0x3277, 0x3299, 0x335C, 0x449E, 0x3377, 0x0C19, 0x5EDF, 0xA7BF, 0x14DD, 0x0296, + 0x014E, 0x00E9, 0x0066, 0x0066, 0x0045, 0x0045, 0x0045, 0x08E7, 0x0044, 0x0044, 0x0042, 0x0042, + 0x0062, 0x0062, 0x0082, 0x0082, 0x00C2, 0x00C2, 0x00E2, 0x00E1, 0x0102, 0x00A1, 0x00A1, 0x00A1, + 0x0041, 0x0041, 0x0021, 0x0021, 0x0001, 0x0044, 0x0865, 0x0001, 0x0000, 0x0883, 0x0842, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0086, + 0x0045, 0x0045, 0x0086, 0x126F, 0x0908, 0x0065, 0x0045, 0x0045, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x2332, 0x09AB, 0x0064, 0x0087, 0x098C, 0x1CFA, 0x1DBD, + 0x1354, 0x00C8, 0x0064, 0x0023, 0x0042, 0x0042, 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, + 0x0000, 0x10C5, 0x0863, 0x0000, 0x0000, 0x1293, 0x11EE, 0x0000, 0x0000, 0x3A2D, 0x4ACE, 0x0001, + 0x1906, 0x1906, 0x10E6, 0x0884, 0x0000, 0x0000, 0x0841, 0x0841, 0x0000, 0x0000, 0x2967, 0x0862, + 0x0000, 0x0000, 0x09AD, 0x0B7A, 0x0001, 0x0000, 0x228D, 0x1376, 0x08C6, 0x0001, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0021, 0x0000, 0x0000, 0x08A6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, + 0x0044, 0x0044, 0x114A, 0x0AB1, 0x0044, 0x0044, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0063, 0x3D18, 0x0906, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0843, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, + 0x0001, 0x08A5, 0x0885, 0x0022, 0x0022, 0x0022, 0x0044, 0x00A8, 0x01CF, 0x0C59, 0x8FBF, 0x1CFC, + 0x0A72, 0x34DB, 0x359F, 0x2D3F, 0x24FF, 0x1C1F, 0x0B3C, 0x237A, 0x10C5, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x1968, 0x00C5, 0x0084, + 0x0064, 0x0064, 0x0084, 0x0084, 0x0086, 0x0A55, 0x0A76, 0x00C9, 0x00CA, 0x1C3C, 0x00A8, 0x00A6, + 0x0085, 0x0085, 0x0084, 0x0084, 0x0064, 0x08A5, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31ED, 0x29F0, 0x3232, 0x2A76, 0x32FA, + 0x33DD, 0x44FF, 0x3BF8, 0x147A, 0x671F, 0xA7BF, 0x14FD, 0x0274, 0x014D, 0x00C9, 0x00A7, 0x00A6, + 0x0065, 0x0065, 0x0044, 0x0044, 0x1128, 0x0064, 0x0063, 0x0063, 0x0082, 0x0082, 0x0103, 0x0103, + 0x0183, 0x0183, 0x01A3, 0x01A3, 0x0182, 0x0182, 0x0142, 0x0142, 0x00E1, 0x00E1, 0x0041, 0x0041, + 0x0001, 0x0001, 0x08C8, 0x0002, 0x1084, 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0044, 0x0044, 0x0044, 0x09AC, + 0x09ED, 0x0045, 0x0065, 0x0065, 0x0023, 0x0002, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x2332, 0x09AA, 0x0085, 0x0109, 0x159C, 0x065F, 0x065F, 0x0E5F, 0x0AD1, 0x00A6, 0x1169, + 0x222B, 0x4475, 0x0906, 0x3C34, 0x2B91, 0x3CD7, 0x3C14, 0x330E, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2A6C, 0x32EE, 0x3C13, 0x4CD6, 0x08C4, 0x0000, 0x10C5, 0x0042, 0x0000, + 0x0000, 0x1273, 0x11CE, 0x0000, 0x0000, 0x3A2C, 0x42AE, 0x0001, 0x1906, 0x1906, 0x1906, 0x0884, + 0x0000, 0x0000, 0x0841, 0x0841, 0x0000, 0x0000, 0x2967, 0x0862, 0x0000, 0x0000, 0x09AD, 0x0B59, + 0x0000, 0x0000, 0x2AAD, 0x1376, 0x12B3, 0x0064, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0863, 0x0042, 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, 0x0044, 0x0044, 0x1271, 0x09AD, + 0x0044, 0x0065, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0927, 0x4496, 0x0063, 0x0000, 0x0000, 0x0843, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0884, 0x0884, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0044, 0x00C8, 0x0210, 0x14B9, 0x8FBF, 0x1D7D, 0x0AD4, 0x457C, 0x465F, 0x3DDF, + 0x2D1F, 0x13BE, 0x0ABA, 0x2317, 0x08A4, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x1927, 0x0084, 0x0084, 0x0064, 0x0064, 0x0084, 0x0084, + 0x0086, 0x0A35, 0x0AB7, 0x010B, 0x012C, 0x1C3D, 0x00A8, 0x00A6, 0x0085, 0x0085, 0x0084, 0x0084, + 0x0063, 0x08A5, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x29AB, 0x29CE, 0x29F0, 0x2A75, 0x2B1A, 0x343E, 0x4D3F, 0x4459, 0x149B, + 0x671F, 0xAFBF, 0x14FD, 0x0274, 0x014D, 0x00C9, 0x00A6, 0x00A6, 0x0065, 0x0065, 0x0044, 0x0044, + 0x0064, 0x1128, 0x0063, 0x0063, 0x0082, 0x0082, 0x0103, 0x0103, 0x0183, 0x0183, 0x01A3, 0x01A3, + 0x0182, 0x0182, 0x0142, 0x0142, 0x00E1, 0x00E1, 0x0041, 0x0041, 0x0001, 0x0001, 0x0045, 0x194B, + 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0002, 0x0002, 0x0044, 0x0044, 0x0045, 0x08E7, 0x12B0, 0x00C7, 0x0065, 0x0065, + 0x0023, 0x0023, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x2332, 0x09AA, 0x0085, + 0x0AF1, 0x065F, 0x065F, 0x065F, 0x065F, 0x151A, 0x00A6, 0x00A6, 0x2B51, 0x34D7, 0x1AEF, 0x2B92, + 0x2B91, 0x09EB, 0x00A5, 0x330E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x220A, + 0x2ACD, 0x21E9, 0x226B, 0x21A8, 0x0000, 0x10C5, 0x0042, 0x0000, 0x0000, 0x1273, 0x11CE, 0x0000, + 0x0000, 0x322C, 0x42AE, 0x0021, 0x1906, 0x1906, 0x1906, 0x0883, 0x0000, 0x0000, 0x0842, 0x0842, + 0x0000, 0x0000, 0x2967, 0x0841, 0x0000, 0x0000, 0x098D, 0x0AF8, 0x0000, 0x0000, 0x2AAD, 0x0B15, + 0x02B5, 0x222D, 0x0021, 0x0883, 0x10A4, 0x10A4, 0x1906, 0x2169, 0x29CA, 0x31EB, 0x324C, 0x324C, + 0x326C, 0x326C, 0x326C, 0x326C, 0x324C, 0x322B, 0x29CA, 0x29CA, 0x29CA, 0x29CA, 0x29EA, 0x29CA, + 0x2167, 0x0862, 0x0042, 0x0842, 0x0042, 0x0042, 0x0042, 0x0041, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x08E8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, + 0x0002, 0x0002, 0x0024, 0x0024, 0x0044, 0x08C8, 0x1314, 0x00A7, 0x0023, 0x10E8, 0x08C7, 0x0023, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1147, + 0x3BD4, 0x0043, 0x0043, 0x0043, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0864, 0x0065, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0044, 0x00E9, + 0x0231, 0x14FA, 0x8FBF, 0x2E1E, 0x1357, 0x55FD, 0x5EDF, 0x45FF, 0x2C9F, 0x12FB, 0x0A15, 0x1A72, + 0x0863, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x1906, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0065, 0x0A35, 0x0AD8, 0x018E, + 0x016E, 0x1C5D, 0x0088, 0x0065, 0x0064, 0x0064, 0x0043, 0x0043, 0x0043, 0x0884, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x2169, + 0x218C, 0x21AE, 0x2233, 0x2AD8, 0x341D, 0x557F, 0x4CB9, 0x14BB, 0x673F, 0xAFBF, 0x14FD, 0x0275, + 0x014D, 0x00E9, 0x0086, 0x0086, 0x0085, 0x0085, 0x0064, 0x0064, 0x0064, 0x00A5, 0x0927, 0x0063, + 0x00A3, 0x0103, 0x0163, 0x01C4, 0x01C3, 0x01C3, 0x01A3, 0x01C3, 0x01A3, 0x01A3, 0x01C3, 0x01C3, + 0x0182, 0x0122, 0x00C1, 0x0081, 0x0041, 0x0021, 0x10A6, 0x110A, 0x0044, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0044, 0x00C8, 0x1149, 0x0065, 0x124E, 0x09CC, 0x0066, 0x0066, 0x0045, 0x0023, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x2332, 0x098A, 0x0086, 0x13D4, 0x065F, 0x065F, 0x065F, + 0x065F, 0x0DDD, 0x00C7, 0x0065, 0x2BF4, 0x33B2, 0x34B7, 0x22CF, 0x2B92, 0x2C55, 0x228C, 0x332F, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10E5, 0x2ACD, 0x1125, 0x5495, 0x0021, + 0x0000, 0x10C5, 0x0022, 0x0000, 0x0000, 0x1252, 0x098C, 0x0000, 0x0000, 0x320C, 0x428D, 0x0001, + 0x1906, 0x1906, 0x1906, 0x0883, 0x0000, 0x0000, 0x0842, 0x0842, 0x0000, 0x0000, 0x2967, 0x0841, + 0x0000, 0x0000, 0x098D, 0x0AB7, 0x0000, 0x0000, 0x32CE, 0x0B15, 0x2B75, 0x0042, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0042, 0x0042, + 0x0041, 0x0041, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08E8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0024, 0x0066, 0x0024, 0x0024, + 0x0044, 0x120E, 0x0A50, 0x0044, 0x0023, 0x0023, 0x0023, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08E6, 0x2AF1, 0x08A6, 0x0002, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0864, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0065, 0x00E9, 0x0271, 0x153B, 0x8FBF, 0x367F, + 0x1419, 0x667E, 0x66FF, 0x3D7F, 0x1B7B, 0x09F5, 0x016E, 0x1A0F, 0x0863, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x1906, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0045, 0x0A35, 0x0B1A, 0x0212, 0x01F1, 0x1C5D, 0x0088, 0x0065, + 0x0064, 0x0064, 0x0043, 0x0043, 0x0043, 0x0884, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x2169, 0x192A, 0x218C, 0x19AF, 0x1A54, + 0x2B5A, 0x4D3F, 0x551A, 0x14DB, 0x673F, 0xAFBF, 0x14FD, 0x0295, 0x014D, 0x00E8, 0x0086, 0x0086, + 0x0085, 0x0085, 0x0064, 0x0064, 0x0064, 0x0064, 0x00E6, 0x00E6, 0x0103, 0x0164, 0x01C4, 0x01C4, + 0x01C3, 0x01C3, 0x0204, 0x0204, 0x0203, 0x0203, 0x01C3, 0x01C3, 0x01E3, 0x0182, 0x00C1, 0x00C1, + 0x0082, 0x10E6, 0x0024, 0x0045, 0x112B, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x19ED, 0x0065, 0x0044, + 0x0949, 0x1290, 0x0066, 0x0066, 0x0045, 0x0045, 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x2332, 0x098A, 0x0086, 0x1393, 0x065F, 0x065F, 0x065F, 0x065F, 0x15BC, 0x00C7, 0x0065, + 0x2392, 0x1A2B, 0x3518, 0x1A2B, 0x2B92, 0x1167, 0x0021, 0x2B2F, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x10E5, 0x2ACD, 0x4C94, 0x19E8, 0x0862, 0x0000, 0x10C5, 0x0022, 0x0000, + 0x0000, 0x1252, 0x098C, 0x0000, 0x0000, 0x320C, 0x428D, 0x0001, 0x1906, 0x1906, 0x1906, 0x10A3, + 0x0000, 0x0842, 0x0842, 0x0842, 0x0021, 0x0000, 0x2967, 0x0021, 0x0000, 0x0000, 0x098D, 0x0A55, + 0x0000, 0x0000, 0x32EE, 0x1B96, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0908, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0024, 0x0066, 0x00A7, 0x0065, 0x0066, 0x12D3, 0x092A, 0x0023, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0044, 0x08E7, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0863, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0065, 0x012A, 0x0292, 0x1D9B, 0x97BF, 0x3EDF, 0x1CFB, 0x76BE, 0x4E3F, 0x1BFC, + 0x0A16, 0x014E, 0x00EB, 0x19AC, 0x0042, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x2147, 0x0022, 0x0022, 0x0022, 0x0022, 0x0043, 0x0043, + 0x0046, 0x0A56, 0x0B5B, 0x02B6, 0x0295, 0x145D, 0x00A9, 0x0065, 0x0044, 0x0044, 0x0043, 0x0043, + 0x0084, 0x10E6, 0x0862, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, + 0x0000, 0x0000, 0x0000, 0x2148, 0x08C8, 0x1109, 0x094C, 0x11AF, 0x1255, 0x2C1B, 0x5D5B, 0x14FB, + 0x673F, 0xAFBF, 0x151D, 0x0295, 0x016D, 0x00C8, 0x0086, 0x0086, 0x0065, 0x0065, 0x0085, 0x0085, + 0x0064, 0x0064, 0x0063, 0x0126, 0x01C5, 0x01C5, 0x01E4, 0x01E4, 0x0204, 0x0265, 0x02C5, 0x02E5, + 0x02E5, 0x0284, 0x0244, 0x0203, 0x0204, 0x01A3, 0x0142, 0x0142, 0x0924, 0x0021, 0x0001, 0x0023, + 0x112B, 0x0864, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0022, 0x0044, 0x0044, 0x0065, 0x128F, 0x094A, 0x0045, + 0x0065, 0x0065, 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x2332, 0x098A, 0x0065, + 0x09CC, 0x165F, 0x065F, 0x065F, 0x063F, 0x1437, 0x00A6, 0x0043, 0x19A9, 0x0043, 0x19EA, 0x08E5, + 0x19A8, 0x08A3, 0x0000, 0x1987, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0842, + 0x1946, 0x32EC, 0x3B2E, 0x1125, 0x0000, 0x10A4, 0x0022, 0x0000, 0x0000, 0x1251, 0x098C, 0x0000, + 0x0000, 0x31EB, 0x3A6D, 0x0001, 0x1906, 0x1906, 0x1906, 0x10A3, 0x0000, 0x0842, 0x0842, 0x0842, + 0x0021, 0x0000, 0x2967, 0x0021, 0x0000, 0x0000, 0x096D, 0x0A55, 0x0000, 0x0000, 0x330E, 0x12B1, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x1126, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0908, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0024, 0x0066, 0x0065, 0x0065, 0x096B, 0x0AB2, 0x0065, 0x0024, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0864, 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0884, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0086, 0x012A, + 0x02B2, 0x25DC, 0x97BF, 0x4EFF, 0x0D3C, 0x561E, 0x249D, 0x0A77, 0x0150, 0x00EB, 0x0088, 0x00A8, + 0x31EA, 0x18E5, 0x18E5, 0x18E5, 0x18E5, 0x18E5, 0x1926, 0x2166, 0x39E8, 0x39E8, 0x31C8, 0x31C8, + 0x4A6B, 0x2147, 0x0022, 0x0022, 0x0022, 0x0022, 0x0043, 0x0043, 0x0046, 0x0278, 0x03DC, 0x03BA, + 0x0359, 0x0C3D, 0x090D, 0x0045, 0x0044, 0x0044, 0x0043, 0x0043, 0x0084, 0x0084, 0x320A, 0x2988, + 0x2988, 0x2988, 0x2988, 0x2988, 0x2988, 0x2988, 0x2988, 0x2988, 0x2987, 0x2987, 0x31E9, 0x52EE, + 0x08A7, 0x08C8, 0x090A, 0x094C, 0x09D1, 0x1B17, 0x551A, 0x153C, 0x673F, 0xA7BF, 0x151D, 0x0295, + 0x016D, 0x00E8, 0x0086, 0x0086, 0x0065, 0x0065, 0x0085, 0x0085, 0x0064, 0x0064, 0x00C4, 0x00C4, + 0x01E7, 0x01C5, 0x01E4, 0x01E4, 0x0265, 0x02E6, 0x03A6, 0x0CA9, 0x0C89, 0x0365, 0x02A4, 0x0244, + 0x0204, 0x0204, 0x01A3, 0x0963, 0x0061, 0x0061, 0x0001, 0x0001, 0x0046, 0x194B, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0044, 0x0044, 0x0044, 0x098B, 0x0A0E, 0x0045, 0x0065, 0x0065, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x2332, 0x098A, 0x0065, 0x00A6, 0x1BB4, 0x065F, 0x065F, + 0x157B, 0x016B, 0x0085, 0x0023, 0x0043, 0x0021, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x10A4, 0x0022, 0x0000, 0x0000, 0x0A31, 0x098C, 0x0000, 0x0000, 0x31EB, 0x3A6D, 0x0020, + 0x1906, 0x1906, 0x1906, 0x10A3, 0x0000, 0x0842, 0x0862, 0x0862, 0x0000, 0x0000, 0x2146, 0x0000, + 0x0000, 0x0000, 0x096C, 0x0A34, 0x0000, 0x0000, 0x3B0F, 0x126F, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0022, 0x3D59, 0x11E9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0040, + 0x0080, 0x0080, 0x00A0, 0x00A0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0909, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0066, 0x0066, 0x0045, 0x0045, + 0x1271, 0x09CE, 0x00C7, 0x1A0D, 0x00A7, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0043, 0x0043, 0x0023, 0x0023, + 0x0023, 0x0064, 0x0065, 0x0065, 0x0086, 0x0086, 0x0064, 0x0064, 0x0044, 0x0044, 0x0023, 0x0023, + 0x0043, 0x0043, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0023, 0x0023, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0023, 0x0023, 0x0043, 0x0043, 0x00A7, 0x016C, 0x02B3, 0x35FD, 0x9FDF, 0x777F, + 0x15DE, 0x0C1A, 0x23BB, 0x01B3, 0x010C, 0x0088, 0x0066, 0x0045, 0x0086, 0x0086, 0x08A7, 0x08A7, + 0x08E7, 0x08E7, 0x10E7, 0x2148, 0x39C9, 0x420A, 0x39EA, 0x39EA, 0x2947, 0x0022, 0x0022, 0x0002, + 0x0023, 0x0023, 0x0024, 0x0024, 0x012F, 0x02FD, 0x045E, 0x049D, 0x041B, 0x0C7E, 0x0A58, 0x0089, + 0x0024, 0x0024, 0x0043, 0x0043, 0x0085, 0x0085, 0x00C6, 0x1169, 0x19AA, 0x198A, 0x19AB, 0x19AB, + 0x198A, 0x198A, 0x198A, 0x198A, 0x1129, 0x1129, 0x1129, 0x0086, 0x0066, 0x0066, 0x00C8, 0x00EA, + 0x1A10, 0x1294, 0x0377, 0x1DBE, 0x875F, 0x875F, 0x14FD, 0x0275, 0x016D, 0x00E9, 0x00A7, 0x0085, + 0x0084, 0x0084, 0x0064, 0x0064, 0x00A5, 0x00A5, 0x00A4, 0x0105, 0x01A6, 0x0246, 0x0245, 0x0245, + 0x02E6, 0x03E7, 0x1ECF, 0x2F91, 0x2F91, 0x15EC, 0x0345, 0x02A4, 0x0264, 0x0AA5, 0x09E3, 0x00E1, + 0x0061, 0x0061, 0x0021, 0x0021, 0x0023, 0x112A, 0x0865, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0086, + 0x114A, 0x00C7, 0x1290, 0x00C8, 0x0066, 0x0066, 0x0024, 0x0024, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x2332, 0x098A, 0x0063, 0x0085, 0x00C7, 0x124E, 0x12F1, 0x012A, 0x00A6, 0x0043, 0x0043, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08A4, 0x0022, 0x0000, + 0x0000, 0x0A0F, 0x098C, 0x0000, 0x0000, 0x29AA, 0x3A4C, 0x0000, 0x1926, 0x1926, 0x1905, 0x10A3, + 0x0000, 0x0842, 0x0862, 0x0862, 0x0021, 0x0000, 0x2146, 0x0000, 0x0000, 0x0000, 0x096C, 0x0A13, + 0x0000, 0x0000, 0x3B0F, 0x124E, 0x0000, 0x0000, 0x0001, 0x08E5, 0x0022, 0x259A, 0x1D9A, 0x08C4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0040, 0x0080, 0x0080, 0x00A0, 0x00A0, + 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x1109, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0066, 0x0066, 0x0045, 0x00A8, 0x12F5, 0x00E8, 0x0044, 0x096B, + 0x3312, 0x0024, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0043, 0x0043, 0x0023, 0x0023, 0x0064, 0x0064, 0x0065, 0x0086, + 0x0086, 0x0086, 0x0086, 0x0064, 0x0085, 0x0065, 0x0023, 0x0023, 0x0085, 0x0043, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0001, 0x0043, 0x0023, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0023, 0x0023, + 0x0043, 0x0043, 0x00A7, 0x018D, 0x02D4, 0x1D1B, 0x7F9F, 0xA7DF, 0x4EBE, 0x0CBC, 0x0294, 0x11F1, + 0x00AA, 0x0066, 0x0045, 0x0045, 0x0024, 0x0024, 0x0024, 0x0025, 0x0045, 0x0045, 0x0044, 0x1064, + 0x1864, 0x1864, 0x1864, 0x1864, 0x1043, 0x1043, 0x0843, 0x0843, 0x0023, 0x0023, 0x0024, 0x08CB, + 0x025A, 0x03BE, 0x055F, 0x053E, 0x04DD, 0x051F, 0x033C, 0x0A16, 0x0067, 0x0024, 0x0043, 0x0043, + 0x00C7, 0x0085, 0x00C6, 0x00C6, 0x00E8, 0x00E8, 0x00E8, 0x00E8, 0x00C7, 0x00A6, 0x00A6, 0x0086, + 0x0065, 0x0065, 0x0045, 0x0065, 0x0066, 0x0066, 0x0087, 0x116B, 0x116C, 0x0211, 0x043A, 0x56BE, + 0x875F, 0x265F, 0x043B, 0x0274, 0x016D, 0x0109, 0x00A7, 0x0085, 0x0084, 0x0084, 0x0064, 0x0064, + 0x00A5, 0x00A5, 0x0105, 0x0165, 0x01A5, 0x0205, 0x0245, 0x0286, 0x0346, 0x164D, 0x2FB2, 0x3FD3, + 0x37D2, 0x2F91, 0x152A, 0x0345, 0x0B06, 0x0AA5, 0x0182, 0x00E1, 0x0061, 0x0061, 0x0021, 0x0021, + 0x0001, 0x0045, 0x196C, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0086, 0x32D2, 0x114B, 0x0045, 0x0A2E, 0x09AB, + 0x0066, 0x0066, 0x0045, 0x0024, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x2332, 0x098A, 0x0063, + 0x0064, 0x0085, 0x00A6, 0x00A7, 0x00A6, 0x0065, 0x0043, 0x0043, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x0022, 0x0000, 0x0000, 0x0A0F, 0x098C, 0x0000, + 0x0000, 0x29AA, 0x3A4C, 0x0001, 0x1926, 0x1926, 0x1905, 0x10A3, 0x0000, 0x0842, 0x0842, 0x0842, + 0x0000, 0x0000, 0x2125, 0x0000, 0x0000, 0x0000, 0x096C, 0x09F2, 0x0000, 0x0000, 0x4330, 0x124E, + 0x0000, 0x0000, 0x0001, 0x34F9, 0x1A8E, 0x25BB, 0x159C, 0x1C97, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0041, 0x0021, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0042, 0x0021, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0060, 0x00A0, 0x0120, 0x0B03, 0x0A62, 0x00E0, 0x0080, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1129, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0023, + 0x0066, 0x0066, 0x0045, 0x09AE, 0x0A92, 0x0044, 0x0023, 0x0023, 0x0044, 0x0043, 0x0043, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, + 0x0043, 0x0043, 0x0044, 0x0086, 0x00A6, 0x00C8, 0x00E9, 0x00E9, 0x0109, 0x00E9, 0x00E9, 0x00E9, + 0x00C7, 0x00A7, 0x00A7, 0x00A7, 0x0044, 0x0044, 0x0023, 0x0023, 0x0021, 0x0021, 0x0022, 0x0884, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0002, 0x0002, 0x0064, 0x0064, 0x00C8, 0x01CE, + 0x0336, 0x047B, 0x2E1E, 0x97BF, 0x9FBF, 0x25BD, 0x02F5, 0x014D, 0x00A9, 0x0045, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0045, 0x0045, 0x0044, 0x1064, 0x1844, 0x1844, 0x1844, 0x1844, + 0x1844, 0x1844, 0x1044, 0x1044, 0x0045, 0x0045, 0x0068, 0x0A59, 0x035D, 0x053F, 0x05FF, 0x055F, + 0x053E, 0x05DF, 0x04BF, 0x02FC, 0x09D5, 0x0047, 0x0065, 0x0065, 0x00A6, 0x00A6, 0x00C7, 0x00E8, + 0x012A, 0x012A, 0x012A, 0x00E8, 0x00C7, 0x00C7, 0x0086, 0x0086, 0x0045, 0x0045, 0x0045, 0x0045, + 0x0045, 0x0045, 0x1108, 0x08C7, 0x00E9, 0x0272, 0x4DBC, 0x773F, 0x265F, 0x04FD, 0x03DB, 0x0295, + 0x01CF, 0x012A, 0x00A7, 0x0085, 0x0085, 0x0085, 0x0084, 0x0084, 0x00A5, 0x00A5, 0x0185, 0x0185, + 0x01E5, 0x01E5, 0x0286, 0x02C7, 0x0428, 0x2771, 0x47B4, 0x4FD5, 0x4FD4, 0x37D2, 0x26EF, 0x0BE6, + 0x0283, 0x01E3, 0x01A2, 0x0101, 0x0081, 0x0041, 0x0021, 0x0021, 0x0022, 0x0023, 0x116C, 0x0044, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0022, 0x0022, 0x08C6, 0x08C7, 0x0044, 0x0044, 0x098B, 0x0A4F, 0x0065, 0x0065, 0x0045, 0x0045, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x2332, 0x098A, 0x0043, 0x0043, 0x0064, 0x0085, 0x0085, + 0x0084, 0x0063, 0x0042, 0x0022, 0x0021, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0884, 0x0022, 0x0000, 0x0000, 0x11EF, 0x096C, 0x0000, 0x0000, 0x2168, 0x320B, 0x0001, + 0x1926, 0x1926, 0x1905, 0x10A3, 0x0020, 0x0842, 0x0842, 0x0842, 0x0000, 0x0000, 0x2105, 0x0000, + 0x0000, 0x0000, 0x096B, 0x09D0, 0x0000, 0x0000, 0x4330, 0x124E, 0x0000, 0x0000, 0x0021, 0x23F4, + 0x1D9C, 0x15FD, 0x157A, 0x24F8, 0x0000, 0x0000, 0x0000, 0x0000, 0x4D79, 0x4517, 0x3C75, 0x2A2A, + 0x32CD, 0x0000, 0x1967, 0x4D9A, 0x4D17, 0x434F, 0x0000, 0x0000, 0x0000, 0x0000, 0x00A0, 0x00A0, + 0x14A6, 0x1768, 0x1F29, 0x0AE3, 0x0080, 0x0020, 0x0000, 0x0000, 0x0000, 0x1129, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0045, 0x0066, 0x0066, 0x0045, 0x12D3, + 0x09AD, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0022, 0x0043, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0864, 0x0043, 0x0064, 0x0086, 0x00A7, + 0x00E9, 0x012B, 0x016C, 0x016C, 0x016D, 0x016D, 0x016D, 0x016C, 0x012B, 0x00E9, 0x00A7, 0x00A7, + 0x0044, 0x0044, 0x0023, 0x0023, 0x0021, 0x0021, 0x0884, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0002, 0x0002, 0x0064, 0x0064, 0x012A, 0x0292, 0x0419, 0x04FD, 0x0DBE, 0x2E7E, + 0x8F9F, 0x66DF, 0x0B77, 0x010B, 0x08C9, 0x0045, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0045, 0x0045, 0x0024, 0x1064, 0x1844, 0x1844, 0x1844, 0x1844, 0x1844, 0x1844, 0x1044, 0x1044, + 0x0045, 0x0046, 0x1237, 0x035D, 0x053F, 0x0E3F, 0x051D, 0x055F, 0x049C, 0x053E, 0x05BF, 0x045E, + 0x02BB, 0x0992, 0x0067, 0x0087, 0x00A6, 0x00C8, 0x012A, 0x018E, 0x0211, 0x01F1, 0x018E, 0x012A, + 0x00C7, 0x00C7, 0x0086, 0x0086, 0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x10A6, 0x0864, 0x0065, + 0x00C9, 0x4416, 0x565D, 0x15DF, 0x053E, 0x04DE, 0x047D, 0x03B9, 0x0272, 0x014C, 0x00C7, 0x0085, + 0x0085, 0x0085, 0x0084, 0x0084, 0x00A5, 0x00A5, 0x0125, 0x0185, 0x01E5, 0x01E5, 0x0225, 0x0327, + 0x0CEA, 0x2F92, 0x4FD5, 0x5FD5, 0x57D5, 0x3FD3, 0x2F90, 0x0406, 0x0284, 0x01E3, 0x01A2, 0x0101, + 0x0081, 0x0041, 0x0021, 0x0021, 0x0022, 0x0022, 0x0067, 0x194B, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, 0x0002, 0x0023, + 0x0044, 0x0044, 0x0086, 0x0AB0, 0x00E8, 0x0065, 0x0045, 0x0045, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0001, 0x2332, 0x09CA, 0x00C4, 0x0105, 0x0105, 0x0146, 0x0146, 0x0105, 0x0105, 0x00A3, 0x00A3, + 0x0062, 0x0062, 0x0083, 0x0862, 0x0883, 0x0883, 0x0883, 0x0883, 0x1083, 0x10A3, 0x1083, 0x10A3, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A2, 0x10A2, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, + 0x1082, 0x1082, 0x0882, 0x0862, 0x0862, 0x0862, 0x0861, 0x0861, 0x0861, 0x0884, 0x0022, 0x0000, + 0x0000, 0x11AE, 0x094A, 0x0000, 0x0000, 0x1927, 0x320B, 0x0000, 0x1926, 0x1926, 0x1905, 0x0883, + 0x0020, 0x0842, 0x0862, 0x0862, 0x0021, 0x0021, 0x1905, 0x0000, 0x0000, 0x0000, 0x096C, 0x018E, + 0x0000, 0x0000, 0x4330, 0x120D, 0x0000, 0x0000, 0x0022, 0x0084, 0x1CF8, 0x065F, 0x161D, 0x0988, + 0x0000, 0x0000, 0x0000, 0x0021, 0x3455, 0x0106, 0x4517, 0x220A, 0x2ACD, 0x0000, 0x1167, 0x2B92, + 0x0083, 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x01E1, 0x1748, 0x0F67, 0x1767, 0x1E07, + 0x00E0, 0x0040, 0x0000, 0x0000, 0x0000, 0x1109, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0023, 0x0046, 0x0046, 0x0046, 0x08E9, 0x1336, 0x00A7, 0x0045, 0x0023, 0x0023, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0045, 0x0044, 0x0086, 0x00C8, 0x010B, 0x016D, 0x016D, 0x012C, 0x012C, + 0x012B, 0x012B, 0x014B, 0x014B, 0x018D, 0x014C, 0x010A, 0x00E8, 0x00A6, 0x0064, 0x0023, 0x0023, + 0x0043, 0x0043, 0x0864, 0x0023, 0x0001, 0x0001, 0x0002, 0x0002, 0x0021, 0x0021, 0x0022, 0x0022, + 0x0043, 0x0086, 0x014B, 0x2417, 0x4E3D, 0x3E5F, 0x265F, 0x161F, 0x263E, 0x6EFF, 0x2CBA, 0x09EF, + 0x0066, 0x0864, 0x0023, 0x0023, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0844, + 0x1844, 0x1844, 0x1864, 0x2866, 0x2846, 0x2026, 0x1025, 0x1045, 0x0046, 0x11F4, 0x035C, 0x051F, + 0x167F, 0x051D, 0x045C, 0x051F, 0x041C, 0x03FB, 0x0D7E, 0x057F, 0x03BD, 0x027A, 0x094F, 0x0087, + 0x00C9, 0x014C, 0x0252, 0x0B97, 0x145A, 0x0BD9, 0x0294, 0x018E, 0x010A, 0x00A8, 0x0087, 0x0087, + 0x0045, 0x0045, 0x0024, 0x0024, 0x0044, 0x0843, 0x0043, 0x0043, 0x4331, 0x3C37, 0x0D1D, 0x053E, + 0x0D9F, 0x363F, 0x567F, 0x4E1D, 0x1BB7, 0x016D, 0x00E9, 0x00A6, 0x0085, 0x0085, 0x0085, 0x0085, + 0x00A5, 0x0064, 0x00E4, 0x0A07, 0x0246, 0x0246, 0x0225, 0x02A6, 0x0D2A, 0x2FB2, 0x4FD5, 0x5FD5, + 0x57D5, 0x3FD3, 0x2FB0, 0x03C5, 0x0223, 0x0223, 0x01A2, 0x0102, 0x0061, 0x0061, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0045, 0x196D, 0x0002, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0001, 0x0042, 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0044, 0x0044, 0x0A2E, + 0x098C, 0x0045, 0x0066, 0x0066, 0x0044, 0x0022, 0x0001, 0x0001, 0x0001, 0x1B32, 0x09AA, 0x00A3, + 0x00E4, 0x0165, 0x142C, 0x1D0E, 0x0A68, 0x0104, 0x00C4, 0x0042, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x0021, 0x0000, 0x0000, 0x094C, 0x00E9, 0x0000, + 0x0000, 0x10E5, 0x31EA, 0x0000, 0x1926, 0x1926, 0x1905, 0x0883, 0x0020, 0x0842, 0x0862, 0x0862, + 0x0021, 0x0021, 0x18E5, 0x0000, 0x0000, 0x0000, 0x096C, 0x018E, 0x0000, 0x0000, 0x4330, 0x120D, + 0x0000, 0x0000, 0x0021, 0x0022, 0x0A0B, 0x065F, 0x1496, 0x0042, 0x0000, 0x0000, 0x0021, 0x0021, + 0x459A, 0x4558, 0x3D17, 0x220A, 0x2ACD, 0x0000, 0x1167, 0x4538, 0x4CB5, 0x2A09, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0080, 0x0AA2, 0x0F67, 0x0F67, 0x1787, 0x1EC7, 0x00E0, 0x0040, 0x0000, 0x0000, + 0x0000, 0x1109, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0046, + 0x0046, 0x0046, 0x11EF, 0x0A92, 0x0045, 0x0045, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0885, 0x0045, + 0x0086, 0x00C8, 0x010B, 0x016D, 0x016D, 0x016D, 0x012C, 0x012C, 0x012B, 0x012B, 0x014B, 0x014B, + 0x014C, 0x014C, 0x014C, 0x010A, 0x00C8, 0x00A6, 0x0064, 0x0023, 0x0043, 0x08A5, 0x0023, 0x0023, + 0x0001, 0x0001, 0x0002, 0x0002, 0x0021, 0x0021, 0x0022, 0x0022, 0x0043, 0x0086, 0x014B, 0x0B95, + 0x8F3E, 0xCFDF, 0xAFBF, 0x6F1F, 0x1DDE, 0x259D, 0x3CDA, 0x018E, 0x0086, 0x0864, 0x10C6, 0x0023, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0844, 0x1844, 0x1844, 0x2866, 0x40AC, + 0x48CE, 0x48CE, 0x30AB, 0x0847, 0x09B1, 0x039C, 0x051F, 0x0E5F, 0x051D, 0x03DA, 0x045C, 0x051F, + 0x041C, 0x039A, 0x03DA, 0x0D7E, 0x051F, 0x03BD, 0x0A59, 0x090D, 0x014C, 0x0B35, 0x1CFB, 0x3E3E, + 0x4E9F, 0x363E, 0x0C9B, 0x0294, 0x010C, 0x00C9, 0x0087, 0x0087, 0x0045, 0x0045, 0x0024, 0x0024, + 0x0044, 0x1905, 0x0001, 0x08C6, 0x09AD, 0x0AF5, 0x14DC, 0x0D1D, 0x76FF, 0xCFDF, 0xDFFF, 0x96FE, + 0x0B35, 0x016C, 0x00E9, 0x00A6, 0x0085, 0x0085, 0x0085, 0x0085, 0x0064, 0x0064, 0x00E4, 0x01E6, + 0x0287, 0x0246, 0x0245, 0x02A6, 0x0448, 0x2FB2, 0x4FD5, 0x4FD5, 0x57D5, 0x3FD3, 0x270F, 0x0324, + 0x0223, 0x0223, 0x0182, 0x0102, 0x0061, 0x0061, 0x0021, 0x0021, 0x0021, 0x0021, 0x0024, 0x090B, + 0x10E8, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0022, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0044, 0x0045, 0x096A, 0x0A2F, 0x0066, 0x0066, 0x0066, + 0x0066, 0x0022, 0x0001, 0x0001, 0x0001, 0x1B12, 0x09AA, 0x00A3, 0x0104, 0x1D4E, 0x1F52, 0x26F2, + 0x1EF2, 0x0A68, 0x00C4, 0x00C4, 0x3B70, 0x2ACE, 0x1968, 0x0883, 0x0042, 0x3B2F, 0x430E, 0x0862, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2A2A, 0x3B8F, 0x0042, + 0x0000, 0x0884, 0x0021, 0x0000, 0x0000, 0x114C, 0x00E9, 0x0000, 0x0000, 0x10E5, 0x31C9, 0x0000, + 0x1926, 0x1926, 0x18E5, 0x0883, 0x0020, 0x0842, 0x0862, 0x0862, 0x0841, 0x0841, 0x18E5, 0x0000, + 0x0000, 0x0000, 0x016D, 0x016D, 0x0000, 0x0000, 0x4B30, 0x09CC, 0x0000, 0x0000, 0x0001, 0x0084, + 0x1D5A, 0x065F, 0x0DFD, 0x1ACF, 0x0001, 0x0001, 0x0001, 0x0001, 0x3454, 0x0083, 0x2C13, 0x2ACE, + 0x22AE, 0x0001, 0x0967, 0x2350, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x00A0, 0x0161, + 0x1729, 0x0F87, 0x0F87, 0x1D65, 0x0080, 0x0020, 0x0000, 0x0000, 0x0000, 0x0908, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0046, 0x0046, 0x0045, 0x0045, 0x12D4, 0x09AD, + 0x0066, 0x222E, 0x0929, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0002, 0x0002, 0x0001, 0x0022, 0x08A7, 0x0086, 0x00A7, 0x010A, 0x018E, 0x018E, + 0x016D, 0x016D, 0x016D, 0x016D, 0x016D, 0x016D, 0x016D, 0x016C, 0x016C, 0x016C, 0x018D, 0x018D, + 0x00E9, 0x00C7, 0x0064, 0x0064, 0x0064, 0x0064, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0022, 0x0022, 0x0044, 0x0086, 0x012A, 0x0271, 0x14FA, 0xAF9F, 0xE7FF, 0xB7BF, + 0x157D, 0x2D3C, 0x0A71, 0x010A, 0x0024, 0x298B, 0x0024, 0x0024, 0x0004, 0x0004, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0024, 0x0823, 0x1844, 0x2867, 0x512E, 0x9A97, 0xA2B9, 0x89D7, 0x79D5, 0x214D, + 0x0B5A, 0x04BE, 0x05FF, 0x0D3D, 0x03BA, 0x03BA, 0x043C, 0x053F, 0x043D, 0x039A, 0x037B, 0x041B, + 0x0D5F, 0x04DE, 0x033C, 0x0A36, 0x09CF, 0x259E, 0x4EDF, 0x97BF, 0x9FDF, 0x5F3F, 0x1DBD, 0x0315, + 0x010B, 0x00E9, 0x00A8, 0x00A8, 0x0046, 0x0046, 0x0024, 0x0024, 0x0024, 0x18E5, 0x10A4, 0x0886, + 0x00EA, 0x0252, 0x247B, 0x14DB, 0xBFBF, 0xE7FF, 0xAF7F, 0x1C9A, 0x0252, 0x014C, 0x00E8, 0x00A6, + 0x0085, 0x0085, 0x00C6, 0x0064, 0x0083, 0x0083, 0x0124, 0x01A5, 0x0287, 0x0287, 0x0265, 0x0265, + 0x0367, 0x1E2E, 0x3F92, 0x47D4, 0x47D4, 0x3792, 0x1D29, 0x0284, 0x01E3, 0x01E3, 0x0102, 0x0102, + 0x0061, 0x0061, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x0088, 0x198D, 0x0002, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0044, 0x00E8, 0x19AC, 0x00A7, 0x1290, 0x00E8, 0x0066, 0x08E9, 0x0067, 0x0024, 0x0021, 0x0021, + 0x0001, 0x1B11, 0x09AA, 0x00C4, 0x0AA8, 0x1F31, 0x0AE5, 0x01C3, 0x1DCE, 0x1D2E, 0x0104, 0x1147, + 0x33B2, 0x2371, 0x2BB3, 0x08E5, 0x0083, 0x2B0F, 0x1146, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x43F2, 0x226C, 0x19C8, 0x0000, 0x0884, 0x0021, 0x0000, + 0x0000, 0x116C, 0x0909, 0x0000, 0x0000, 0x10C4, 0x2988, 0x0000, 0x1905, 0x1905, 0x18E5, 0x0883, + 0x0021, 0x0842, 0x0862, 0x0862, 0x0841, 0x0841, 0x18E5, 0x0000, 0x0000, 0x0000, 0x016D, 0x016D, + 0x0000, 0x0000, 0x4B30, 0x09CC, 0x0000, 0x0000, 0x0001, 0x23F4, 0x1DBB, 0x15DC, 0x1415, 0x1DBC, + 0x08C4, 0x0001, 0x0001, 0x0001, 0x4D9A, 0x459A, 0x4474, 0x21E9, 0x457A, 0x4D5A, 0x3B50, 0x4539, + 0x3CD6, 0x334F, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x00A0, 0x13C4, 0x1729, 0x1EA7, 0x0A01, + 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0908, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0046, 0x0046, 0x0045, 0x08C9, 0x1316, 0x00A7, 0x0044, 0x0066, 0x196A, 0x0002, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0002, + 0x0022, 0x0864, 0x0086, 0x0086, 0x00C9, 0x014D, 0x018E, 0x018E, 0x016D, 0x016D, 0x018E, 0x01D0, + 0x01F0, 0x01F0, 0x01D0, 0x01AE, 0x016C, 0x016C, 0x018D, 0x018D, 0x014C, 0x00E9, 0x00A6, 0x0064, + 0x08A6, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, + 0x0043, 0x0086, 0x010A, 0x01CF, 0x0396, 0x45FC, 0xCFFF, 0x5E7E, 0x0C7A, 0x23F8, 0x014D, 0x0086, + 0x216A, 0x0066, 0x0024, 0x0024, 0x0004, 0x0004, 0x0024, 0x0024, 0x0024, 0x0024, 0x0066, 0x08C8, + 0x1045, 0x30A9, 0x8A95, 0xEDDE, 0xDCBE, 0xB2DC, 0x99F8, 0x5150, 0x1297, 0x049E, 0x0D1E, 0x03BB, + 0x03BA, 0x03BA, 0x043C, 0x0D7F, 0x043D, 0x039B, 0x037B, 0x037B, 0x045D, 0x04DE, 0x031B, 0x01B3, + 0x2459, 0x263F, 0x6F5F, 0xC7FF, 0xAFFF, 0x5F5F, 0x1D9D, 0x01F0, 0x112C, 0x00E9, 0x00A8, 0x00A8, + 0x0046, 0x0046, 0x0024, 0x0024, 0x0024, 0x0024, 0x2126, 0x0043, 0x00C8, 0x018E, 0x1337, 0x0BD9, + 0x561C, 0xCFFF, 0x3DDD, 0x0356, 0x01F0, 0x012B, 0x00E8, 0x00A6, 0x0085, 0x0085, 0x0064, 0x0064, + 0x0083, 0x0083, 0x00E3, 0x01A5, 0x0226, 0x0AE8, 0x0265, 0x0265, 0x02E6, 0x03C7, 0x266E, 0x3F92, + 0x3792, 0x25EC, 0x0324, 0x0243, 0x01E3, 0x01E3, 0x0102, 0x0102, 0x0061, 0x0061, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0022, 0x0066, 0x116D, 0x0045, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x1129, 0x2A6F, 0x00A7, 0x0065, + 0x0A2E, 0x098C, 0x0066, 0x0087, 0x0067, 0x0024, 0x0021, 0x0021, 0x0001, 0x1B12, 0x09AA, 0x00C4, + 0x144B, 0x158D, 0x0142, 0x0123, 0x0B06, 0x1E91, 0x0104, 0x0947, 0x3D18, 0x34F8, 0x1ACF, 0x0906, + 0x0063, 0x3C96, 0x3BD3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4475, 0x4558, 0x08C4, 0x0000, 0x0883, 0x0021, 0x0000, 0x0000, 0x096C, 0x0909, 0x0000, + 0x0000, 0x10C4, 0x2988, 0x0000, 0x1905, 0x1905, 0x1905, 0x0883, 0x0021, 0x0842, 0x0862, 0x0862, + 0x0841, 0x0841, 0x18E5, 0x0000, 0x0000, 0x0000, 0x09AD, 0x014C, 0x0000, 0x0000, 0x4B30, 0x09AB, + 0x0000, 0x0000, 0x0022, 0x3C97, 0x0989, 0x25BB, 0x1D7B, 0x2518, 0x0042, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0040, 0x0040, 0x00C0, 0x0180, 0x0160, 0x00C0, 0x0020, 0x0020, 0x0000, 0x0000, + 0x0000, 0x08E8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0066, 0x0066, + 0x0045, 0x09CE, 0x1293, 0x0045, 0x0044, 0x0044, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x08A6, 0x00A8, 0x00A8, + 0x012B, 0x01AF, 0x018E, 0x018E, 0x01AE, 0x01F0, 0x0233, 0x0254, 0x0233, 0x0232, 0x0253, 0x0232, + 0x01CF, 0x018E, 0x016D, 0x016D, 0x01AF, 0x012B, 0x00C8, 0x08C7, 0x0044, 0x0023, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0044, 0x0086, 0x00E9, 0x016D, + 0x0293, 0x1499, 0x875F, 0x0C7A, 0x2439, 0x01F0, 0x00E9, 0x1908, 0x18E8, 0x0024, 0x0024, 0x0024, + 0x0004, 0x0004, 0x0024, 0x0024, 0x0023, 0x0065, 0x29EC, 0x2B96, 0x0868, 0x38CA, 0x8A94, 0xF65E, + 0xED9E, 0xBAFB, 0x91B5, 0x7990, 0x216F, 0x0B5B, 0x049E, 0x03FC, 0x03DB, 0x03DB, 0x047D, 0x0DDF, + 0x049E, 0x03DC, 0x039B, 0x03BC, 0x045D, 0x045D, 0x0299, 0x1232, 0x155E, 0x265F, 0x6F7F, 0xB7FF, + 0x8FBF, 0x3EDF, 0x0C59, 0x1A91, 0x1AD3, 0x00EB, 0x0088, 0x0088, 0x0067, 0x0067, 0x0026, 0x0026, + 0x0024, 0x0024, 0x0024, 0x2106, 0x0044, 0x00EA, 0x09F0, 0x1B78, 0x0BB6, 0x771E, 0x253C, 0x0295, + 0x01AE, 0x010B, 0x00C8, 0x00C7, 0x00A6, 0x0085, 0x0084, 0x0084, 0x0083, 0x0083, 0x00E3, 0x0164, + 0x01E6, 0x02A8, 0x02A7, 0x0245, 0x0265, 0x02E6, 0x03A6, 0x0C47, 0x03E6, 0x0324, 0x0264, 0x0203, + 0x01E3, 0x0183, 0x00C2, 0x00C2, 0x0041, 0x0041, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x0023, + 0x00AA, 0x112B, 0x0001, 0x0001, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, 0x0065, 0x0045, 0x0045, 0x118B, 0x0A2E, 0x0066, 0x0066, + 0x0066, 0x0044, 0x0022, 0x0022, 0x0001, 0x1B11, 0x09AB, 0x00A4, 0x148B, 0x158D, 0x01A3, 0x0143, + 0x0AE6, 0x1EF1, 0x0104, 0x0927, 0x2B10, 0x1A0B, 0x3415, 0x0926, 0x0063, 0x2AAE, 0x0042, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x4BD2, 0x11EA, 0x224A, + 0x0000, 0x0883, 0x0021, 0x0000, 0x0000, 0x096B, 0x0929, 0x0000, 0x0000, 0x0884, 0x2147, 0x0000, + 0x2105, 0x2105, 0x1905, 0x1083, 0x0021, 0x0862, 0x0862, 0x0862, 0x0841, 0x0841, 0x18E5, 0x0000, + 0x0000, 0x0000, 0x09AD, 0x014C, 0x0000, 0x0000, 0x4B50, 0x09AB, 0x0000, 0x0000, 0x0022, 0x0022, + 0x0023, 0x25BB, 0x25BB, 0x0906, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0040, + 0x0060, 0x00C0, 0x00C0, 0x00C0, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x08E8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0066, 0x0066, 0x0045, 0x1293, 0x09CE, 0x0044, + 0x0044, 0x0044, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x08A6, 0x0086, 0x0109, 0x01AF, 0x01B0, 0x018E, 0x018E, + 0x01F0, 0x0253, 0x0254, 0x0295, 0x02B5, 0x02B5, 0x0274, 0x0253, 0x0252, 0x01CF, 0x016D, 0x016D, + 0x01CF, 0x018D, 0x00C8, 0x0908, 0x0044, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0043, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0044, 0x0085, 0x00C8, 0x012B, 0x01F0, 0x2D3A, 0x359C, 0x0B56, + 0x12F3, 0x00EA, 0x0065, 0x214A, 0x0024, 0x0024, 0x0024, 0x0024, 0x0004, 0x0004, 0x0024, 0x0024, + 0x0065, 0x320C, 0x0885, 0x2C58, 0x2AB1, 0x28CA, 0x696F, 0xB378, 0xD41B, 0xAA57, 0x9190, 0x794C, + 0x410A, 0x1256, 0x043D, 0x049E, 0x041C, 0x043D, 0x04DE, 0x0E3F, 0x04FE, 0x043D, 0x03FC, 0x03FC, + 0x04FF, 0x033B, 0x0192, 0x13D9, 0x0D3E, 0x1E3F, 0x471F, 0x675F, 0x3EDF, 0x157C, 0x0252, 0x44BA, + 0x1B56, 0x2BF7, 0x00AA, 0x0067, 0x0067, 0x0067, 0x0026, 0x0026, 0x0024, 0x0024, 0x0024, 0x0884, + 0x10A5, 0x0086, 0x00EB, 0x0A52, 0x0A94, 0x2D3A, 0x35DE, 0x0274, 0x01AE, 0x010B, 0x00C7, 0x00C7, + 0x0085, 0x0085, 0x0084, 0x0084, 0x0083, 0x0083, 0x00C4, 0x0164, 0x01E6, 0x01E6, 0x02A7, 0x0266, + 0x0265, 0x0265, 0x02C5, 0x0305, 0x02A4, 0x0244, 0x0203, 0x0203, 0x01C4, 0x0102, 0x00C2, 0x00C2, + 0x0041, 0x0041, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0068, 0x196D, 0x0023, 0x0043, + 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0044, 0x0045, 0x0045, 0x00C8, 0x1290, 0x0066, 0x0066, 0x0066, 0x0066, 0x0022, 0x0022, + 0x0001, 0x1B11, 0x09AB, 0x00A4, 0x1308, 0x1F12, 0x0AA6, 0x01A3, 0x1DCE, 0x1DCE, 0x00A3, 0x00C5, + 0x54D7, 0x4C75, 0x226D, 0x3C14, 0x2B30, 0x4C75, 0x53F2, 0x0862, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4BD2, 0x4C74, 0x08A3, 0x0000, 0x0883, 0x0021, 0x0000, + 0x0000, 0x096B, 0x0929, 0x0000, 0x0000, 0x0884, 0x2147, 0x0000, 0x2105, 0x2105, 0x1905, 0x10A3, + 0x0021, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x1905, 0x0001, 0x0000, 0x0000, 0x09AE, 0x014B, + 0x0000, 0x0000, 0x4B50, 0x098B, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x44D6, 0x0968, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0040, 0x0040, + 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x08C8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0045, 0x0045, 0x0045, 0x0087, 0x1315, 0x08E9, 0x08C7, 0x08C7, 0x0044, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0044, 0x0044, 0x0086, 0x00EA, 0x01B0, 0x01B0, 0x01D0, 0x01D0, 0x0274, 0x02B6, 0x02F7, 0x0359, + 0x039A, 0x039A, 0x0359, 0x02D6, 0x0253, 0x0232, 0x01AF, 0x016D, 0x018E, 0x01F0, 0x096C, 0x00A7, + 0x0044, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0044, 0x0065, 0x00A8, 0x010B, 0x0A51, 0x25DE, 0x0B35, 0x12D3, 0x012B, 0x0066, 0x1929, 0x0025, + 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0023, 0x0065, 0x324C, 0x0884, 0x0002, 0x0A2F, + 0x4D5B, 0x18A9, 0x50EA, 0x794E, 0x91D1, 0x9190, 0x814C, 0x7129, 0x616A, 0x216D, 0x0B5B, 0x0CFF, + 0x04FF, 0x04FF, 0x057F, 0x0E9F, 0x057F, 0x04DE, 0x04DE, 0x053F, 0x047E, 0x0257, 0x09B0, 0x0BBB, + 0x047D, 0x0D1F, 0x159F, 0x157E, 0x0CBC, 0x0357, 0x2291, 0x2C39, 0x00EC, 0x3374, 0x2B95, 0x0089, + 0x0047, 0x0047, 0x0026, 0x0026, 0x0025, 0x0025, 0x0024, 0x0024, 0x10C6, 0x0043, 0x08A8, 0x092B, + 0x0A73, 0x02B3, 0x35FE, 0x0B98, 0x018F, 0x010B, 0x00A8, 0x0086, 0x0085, 0x0085, 0x0084, 0x0084, + 0x0084, 0x0084, 0x00C3, 0x0124, 0x0184, 0x0184, 0x01E7, 0x0267, 0x0225, 0x0225, 0x0264, 0x0264, + 0x0204, 0x0204, 0x01E4, 0x01E4, 0x0142, 0x00E2, 0x0061, 0x0061, 0x0041, 0x0041, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0022, 0x0022, 0x0066, 0x112C, 0x08A7, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0043, 0x0066, 0x08C7, + 0x0065, 0x0A4F, 0x0929, 0x0045, 0x0066, 0x0066, 0x0023, 0x0022, 0x0001, 0x1AF1, 0x09AB, 0x0084, + 0x00E4, 0x1DEF, 0x2712, 0x26B1, 0x2752, 0x12A7, 0x0063, 0x0042, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x0022, 0x0000, 0x0000, 0x096B, 0x0929, 0x0000, + 0x0000, 0x0883, 0x2126, 0x0000, 0x2125, 0x2125, 0x1905, 0x10A3, 0x0021, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x18E5, 0x0001, 0x0000, 0x0000, 0x09CE, 0x014B, 0x0000, 0x0000, 0x5350, 0x09CE, + 0x0022, 0x0000, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0040, 0x0040, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0000, 0x08C8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0046, 0x0045, 0x0045, + 0x096C, 0x0AB4, 0x0044, 0x0065, 0x114A, 0x08C7, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0044, 0x0087, 0x00EA, + 0x01B0, 0x018F, 0x01D0, 0x0254, 0x02B6, 0x0317, 0x03DA, 0x047C, 0x04DD, 0x04DD, 0x041C, 0x037A, + 0x02D6, 0x0253, 0x01F0, 0x01AF, 0x018E, 0x01F0, 0x09AE, 0x00C8, 0x0044, 0x0044, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0065, 0x00A8, 0x010A, + 0x1C59, 0x1C59, 0x01F0, 0x09CE, 0x00A7, 0x0886, 0x0887, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0065, 0x3A4C, 0x0884, 0x0000, 0x0002, 0x0089, 0x2C3A, 0x2291, 0x38A8, 0x58A8, + 0x68E9, 0x792A, 0x7128, 0x6908, 0x5928, 0x3928, 0x1235, 0x0C5D, 0x059F, 0x059F, 0x061F, 0x16FF, + 0x05DF, 0x057F, 0x057F, 0x05BF, 0x033B, 0x012F, 0x1252, 0x0276, 0x02FA, 0x033B, 0x033A, 0x033A, + 0x02D7, 0x01B0, 0x4418, 0x0213, 0x0046, 0x0045, 0x3B92, 0x2354, 0x0068, 0x0047, 0x0026, 0x0026, + 0x0025, 0x0025, 0x0024, 0x0024, 0x0024, 0x10C6, 0x0044, 0x08A8, 0x09AE, 0x0A31, 0x1BB6, 0x255D, + 0x01D2, 0x012C, 0x00A8, 0x0086, 0x0085, 0x0085, 0x0084, 0x0084, 0x0084, 0x0084, 0x00C3, 0x00C3, + 0x0124, 0x0184, 0x0144, 0x01E7, 0x01C5, 0x0225, 0x0264, 0x0264, 0x0204, 0x0204, 0x01E4, 0x0162, + 0x00E2, 0x00E2, 0x0061, 0x0061, 0x0041, 0x0041, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, + 0x0044, 0x00AA, 0x116B, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0043, 0x21EC, 0x196A, 0x0045, 0x09CC, 0x09AC, 0x0045, + 0x0066, 0x0066, 0x0023, 0x0023, 0x0001, 0x1AF1, 0x09AB, 0x0084, 0x00A4, 0x0185, 0x1CEC, 0x25AE, + 0x12C8, 0x00C4, 0x0063, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0883, 0x0022, 0x0000, 0x0000, 0x096B, 0x0929, 0x0000, 0x0000, 0x0884, 0x2126, 0x0000, + 0x2125, 0x2125, 0x1905, 0x1083, 0x0021, 0x0021, 0x0862, 0x0862, 0x0021, 0x0862, 0x18C4, 0x0043, + 0x0000, 0x0000, 0x09CE, 0x014B, 0x0000, 0x0000, 0x5350, 0x01CF, 0x116B, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0000, 0x08E8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0066, 0x0066, 0x0066, 0x1230, 0x09EF, 0x0043, 0x0043, + 0x0023, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0065, 0x0065, 0x00A7, 0x012C, 0x016E, 0x016E, 0x01D0, 0x0274, + 0x02F7, 0x03FB, 0x04BD, 0x167E, 0x275F, 0x171F, 0x0DDE, 0x041C, 0x0339, 0x0274, 0x0212, 0x01AE, + 0x018E, 0x0A11, 0x01AE, 0x00E9, 0x0085, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0087, 0x0A30, 0x253D, 0x0251, 0x01AE, 0x00A8, + 0x0044, 0x10A7, 0x0024, 0x0024, 0x0024, 0x0024, 0x0004, 0x0004, 0x0024, 0x0866, 0x320B, 0x0042, + 0x0001, 0x0001, 0x0023, 0x0027, 0x0A12, 0x2C5A, 0x1889, 0x48A7, 0x5086, 0x58C6, 0x6107, 0x6106, + 0x5907, 0x4968, 0x110B, 0x0AFA, 0x057F, 0x063F, 0x069F, 0x173F, 0x065F, 0x065F, 0x063F, 0x04DE, + 0x0237, 0x194D, 0x014D, 0x016F, 0x01B3, 0x01F4, 0x01F3, 0x01F3, 0x01D1, 0x1A10, 0x2C1A, 0x00CC, + 0x0024, 0x0023, 0x0023, 0x3352, 0x12B2, 0x0048, 0x0025, 0x0025, 0x0025, 0x0025, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0884, 0x0886, 0x08C8, 0x09CF, 0x01D0, 0x2CFB, 0x0B77, 0x012D, 0x00A9, 0x0086, + 0x0085, 0x0085, 0x0085, 0x0085, 0x0084, 0x0084, 0x0084, 0x0084, 0x00A4, 0x00A4, 0x00E4, 0x0145, + 0x0165, 0x0164, 0x01A4, 0x01A4, 0x01E4, 0x0183, 0x0102, 0x0102, 0x0082, 0x0082, 0x0022, 0x0022, + 0x0042, 0x0042, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0086, 0x096C, 0x19AD, 0x0044, + 0x0043, 0x08C5, 0x0043, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0021, 0x0021, 0x0065, 0x0065, 0x0045, 0x0929, 0x1270, 0x0065, 0x0066, 0x0066, 0x0044, 0x0022, + 0x0022, 0x1AF1, 0x09AB, 0x0064, 0x0085, 0x0085, 0x00E5, 0x00E5, 0x0084, 0x0084, 0x0042, 0x0042, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x0022, 0x0000, + 0x0000, 0x096B, 0x094A, 0x0000, 0x0021, 0x0884, 0x2106, 0x0000, 0x2146, 0x2146, 0x1905, 0x1083, + 0x0021, 0x0021, 0x0862, 0x0862, 0x0021, 0x0862, 0x10C4, 0x0043, 0x0000, 0x0000, 0x09EE, 0x014B, + 0x0000, 0x0000, 0x5350, 0x01CF, 0x01CE, 0x08C6, 0x0001, 0x0841, 0x0842, 0x0842, 0x0884, 0x0884, + 0x08A4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x1083, + 0x1083, 0x1083, 0x1083, 0x1083, 0x0883, 0x0883, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, + 0x0862, 0x0021, 0x0000, 0x0000, 0x0000, 0x1129, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0045, 0x0087, 0x0066, 0x0066, 0x12D4, 0x094B, 0x0043, 0x0043, 0x0023, 0x0023, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0043, + 0x0065, 0x0065, 0x00A8, 0x012C, 0x016E, 0x016E, 0x01D0, 0x0274, 0x0338, 0x047C, 0x0E1E, 0x279F, + 0x2F9F, 0x279F, 0x1F5F, 0x057D, 0x039A, 0x02B6, 0x0212, 0x01AF, 0x018E, 0x0211, 0x01F0, 0x0109, + 0x0085, 0x0064, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0065, 0x0044, + 0x0044, 0x0044, 0x00A8, 0x1C5A, 0x1356, 0x018E, 0x0109, 0x0065, 0x0886, 0x0026, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0004, 0x0004, 0x0866, 0x31EA, 0x0042, 0x0000, 0x0001, 0x0001, 0x0024, 0x0027, + 0x00AC, 0x13FA, 0x1A31, 0x38A7, 0x48A6, 0x5086, 0x50E6, 0x50E6, 0x4926, 0x4926, 0x3149, 0x09F3, + 0x043C, 0x065F, 0x071F, 0x1F7F, 0x06FF, 0x06DF, 0x063F, 0x035B, 0x00EE, 0x19AC, 0x00A8, 0x00CA, + 0x010C, 0x014E, 0x014E, 0x014D, 0x010C, 0x3BF8, 0x0A55, 0x0047, 0x0024, 0x0002, 0x0002, 0x0023, + 0x2B31, 0x0A50, 0x0047, 0x0025, 0x0025, 0x0025, 0x0024, 0x0024, 0x0024, 0x0024, 0x10A6, 0x0044, + 0x08A6, 0x0109, 0x016E, 0x0A92, 0x255D, 0x01D1, 0x00CB, 0x00A7, 0x0085, 0x0085, 0x0085, 0x0085, + 0x0084, 0x0084, 0x0084, 0x0084, 0x00A4, 0x00A4, 0x00E4, 0x00E4, 0x0146, 0x00E4, 0x0102, 0x0102, + 0x0123, 0x0102, 0x0102, 0x0102, 0x0082, 0x0082, 0x0022, 0x0022, 0x0042, 0x0042, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0908, 0x014B, 0x014B, 0x19EF, 0x00E9, 0x00C6, 0x0064, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0001, 0x0001, 0x0021, 0x0021, 0x0065, 0x0065, + 0x0044, 0x0086, 0x12B0, 0x00C8, 0x0066, 0x0066, 0x0044, 0x0023, 0x0022, 0x1AF1, 0x09AB, 0x0064, + 0x0085, 0x0085, 0x00A5, 0x00A5, 0x0084, 0x0084, 0x0042, 0x0042, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0864, 0x0022, 0x0000, 0x0000, 0x096B, 0x094A, 0x0000, + 0x0021, 0x0884, 0x1905, 0x0000, 0x2146, 0x2146, 0x18E5, 0x0883, 0x0000, 0x0000, 0x0000, 0x0841, + 0x0020, 0x0882, 0x10C4, 0x0044, 0x0000, 0x0000, 0x09EE, 0x014A, 0x0000, 0x0000, 0x5350, 0x09CE, + 0x09CE, 0x0084, 0x0000, 0x0000, 0x0001, 0x18E5, 0x1905, 0x1905, 0x2126, 0x2146, 0x2146, 0x2126, + 0x2126, 0x2146, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2105, + 0x18C4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x08C8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0046, 0x0046, 0x0045, 0x00C8, + 0x1316, 0x0086, 0x0044, 0x0044, 0x0023, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0864, 0x0023, 0x0085, 0x00C8, 0x016D, + 0x016D, 0x016D, 0x0211, 0x0254, 0x0379, 0x04FD, 0x1F1F, 0x2FBF, 0x47BF, 0x47BF, 0x279F, 0x167F, + 0x03FB, 0x02D6, 0x0232, 0x01F0, 0x01AF, 0x0A73, 0x0231, 0x012A, 0x00A6, 0x0064, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0886, 0x0067, 0x0067, 0x0A10, 0x249C, + 0x018E, 0x094C, 0x0066, 0x0066, 0x0048, 0x0026, 0x0026, 0x0026, 0x0024, 0x0024, 0x0024, 0x0066, + 0x31EB, 0x0022, 0x0001, 0x0001, 0x0002, 0x0024, 0x0027, 0x0027, 0x004A, 0x0A54, 0x1BF9, 0x18A8, + 0x40C7, 0x48C6, 0x4906, 0x4906, 0x4926, 0x4926, 0x3988, 0x198D, 0x0B1A, 0x0D9E, 0x277F, 0x37BF, + 0x177F, 0x0EFF, 0x04BD, 0x0277, 0x112B, 0x00C8, 0x0087, 0x0087, 0x00C9, 0x00C9, 0x00CA, 0x00CA, + 0x11AE, 0x2C1B, 0x010E, 0x0027, 0x0025, 0x0025, 0x0003, 0x0003, 0x0022, 0x3311, 0x0A0F, 0x0047, + 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0026, 0x10C8, 0x0863, 0x0885, 0x012B, 0x016E, + 0x1C59, 0x13D9, 0x012E, 0x00A9, 0x0086, 0x0086, 0x0085, 0x0085, 0x0064, 0x0064, 0x0064, 0x0064, + 0x0084, 0x0084, 0x0084, 0x0084, 0x0926, 0x00C4, 0x00C2, 0x00C2, 0x00A2, 0x00A2, 0x0082, 0x0082, + 0x0042, 0x0042, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x00C6, 0x09AB, 0x016A, + 0x00E8, 0x00E8, 0x096E, 0x116C, 0x0044, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0043, 0x0045, 0x0045, 0x0045, 0x124F, 0x096B, + 0x0045, 0x0045, 0x0065, 0x0044, 0x0022, 0x1AF1, 0x09CC, 0x08E8, 0x08C8, 0x08C8, 0x08A8, 0x08A8, + 0x08A8, 0x08A8, 0x08C6, 0x08C5, 0x08C5, 0x08A5, 0x08A4, 0x08A4, 0x08C4, 0x08C4, 0x10C5, 0x10C5, + 0x10E5, 0x10E5, 0x1905, 0x1905, 0x18E5, 0x1905, 0x1905, 0x1905, 0x1905, 0x18E4, 0x1904, 0x2104, + 0x1904, 0x18E4, 0x18E4, 0x18E4, 0x18E3, 0x18C3, 0x18C3, 0x10C3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x0883, 0x10C5, 0x0021, 0x0000, 0x0000, 0x096B, 0x096A, 0x0000, 0x0021, 0x0884, 0x1905, 0x0000, + 0x2145, 0x1082, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x1082, 0x10C5, 0x0044, + 0x0000, 0x0000, 0x09EE, 0x014A, 0x0000, 0x0000, 0x532F, 0x09CE, 0x08C6, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08C8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0001, 0x0046, 0x0046, 0x0044, 0x11CD, 0x12D3, 0x0086, 0x2270, 0x11AD, + 0x0065, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0864, 0x0023, 0x0085, 0x00C8, 0x016D, 0x016D, 0x016D, 0x0211, 0x0274, + 0x0399, 0x055D, 0x277F, 0x37BF, 0x47BF, 0x47BF, 0x2FBF, 0x171F, 0x03FB, 0x02F7, 0x0232, 0x01F0, + 0x0210, 0x0232, 0x0231, 0x012A, 0x00A6, 0x0084, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0067, 0x00A8, 0x1C1B, 0x0A93, 0x094C, 0x00A7, 0x0044, 0x0868, + 0x0048, 0x0048, 0x0026, 0x0026, 0x0024, 0x0024, 0x0066, 0x3A0B, 0x0022, 0x0022, 0x0001, 0x0003, + 0x0024, 0x0027, 0x0889, 0x0027, 0x0049, 0x00EF, 0x143A, 0x120F, 0x30C8, 0x40C7, 0x4906, 0x4906, + 0x4926, 0x4926, 0x3967, 0x31EB, 0x0A33, 0x041C, 0x2F1F, 0x57DF, 0x3FBF, 0x1E7F, 0x037B, 0x012E, + 0x196B, 0x0066, 0x0087, 0x0087, 0x0087, 0x00C9, 0x00CA, 0x00CA, 0x2B97, 0x0AD7, 0x006B, 0x0027, + 0x0068, 0x0047, 0x0024, 0x0003, 0x0022, 0x0022, 0x32D1, 0x0A0F, 0x0067, 0x0025, 0x0025, 0x0025, + 0x0025, 0x0026, 0x006A, 0x006A, 0x0845, 0x0863, 0x00A6, 0x012B, 0x0A10, 0x251E, 0x01F2, 0x00CB, + 0x0086, 0x0086, 0x0085, 0x0085, 0x0064, 0x0064, 0x0064, 0x0064, 0x0084, 0x0084, 0x0084, 0x0084, + 0x00A5, 0x0926, 0x00C2, 0x00C2, 0x00A2, 0x00A2, 0x0082, 0x0082, 0x0042, 0x0042, 0x0021, 0x0021, + 0x0022, 0x0022, 0x0022, 0x0064, 0x098A, 0x09CC, 0x0149, 0x00E7, 0x00E8, 0x00E8, 0x092D, 0x19CF, + 0x0044, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0023, 0x0087, 0x11AC, 0x1109, 0x11CC, 0x0A0E, 0x0045, 0x0045, 0x0065, 0x0044, + 0x0022, 0x1AF1, 0x09AC, 0x0045, 0x0047, 0x084A, 0x084A, 0x084A, 0x0069, 0x0068, 0x0045, 0x0023, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x0021, 0x0000, + 0x0000, 0x096B, 0x096A, 0x0000, 0x0021, 0x0884, 0x1905, 0x0000, 0x0861, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0882, 0x10A5, 0x0064, 0x0000, 0x0000, 0x120F, 0x014A, + 0x0000, 0x0000, 0x4AEF, 0x094A, 0x0000, 0x0000, 0x0001, 0x0001, 0x0043, 0x118A, 0x08E6, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x08E8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, + 0x0046, 0x0046, 0x0044, 0x12B3, 0x0A30, 0x0043, 0x00A7, 0x2271, 0x19CD, 0x0043, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0843, + 0x0043, 0x0085, 0x00A8, 0x016D, 0x016D, 0x016D, 0x0211, 0x0273, 0x0379, 0x051D, 0x277F, 0x37BF, + 0x379F, 0x379F, 0x2F9F, 0x171F, 0x043B, 0x02F6, 0x0211, 0x01F0, 0x0231, 0x0231, 0x12D4, 0x014B, + 0x00C7, 0x0085, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0046, 0x1252, 0x1BDA, 0x012C, 0x010A, 0x0886, 0x0066, 0x006A, 0x00AB, 0x0069, 0x0026, 0x0026, + 0x0025, 0x0866, 0x3A2B, 0x0022, 0x0000, 0x0002, 0x0003, 0x0026, 0x0048, 0x08CB, 0x0047, 0x0825, + 0x0049, 0x00AF, 0x12D6, 0x1418, 0x18E9, 0x4128, 0x4126, 0x4126, 0x4166, 0x4166, 0x3967, 0x31A9, + 0x19CE, 0x02F9, 0x261E, 0x6FDF, 0x67DF, 0x0D1D, 0x0A97, 0x196C, 0x00A7, 0x0066, 0x0065, 0x0065, + 0x0065, 0x0065, 0x00A8, 0x116D, 0x245C, 0x0172, 0x008B, 0x0068, 0x0005, 0x08A9, 0x0088, 0x0004, + 0x0002, 0x0002, 0x0003, 0x324F, 0x096E, 0x0088, 0x0026, 0x0026, 0x0026, 0x0048, 0x08AE, 0x1952, + 0x08AB, 0x0024, 0x0863, 0x0109, 0x012C, 0x1B97, 0x0BD9, 0x010E, 0x00A9, 0x0087, 0x0085, 0x0085, + 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0927, 0x0084, 0x0062, + 0x0062, 0x0062, 0x0042, 0x0042, 0x0022, 0x0022, 0x0022, 0x0022, 0x0042, 0x0043, 0x08E7, 0x09CC, + 0x016A, 0x0108, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x092C, 0x19CF, 0x0045, 0x0023, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0022, 0x0886, 0x2AB0, + 0x11AC, 0x0066, 0x0929, 0x1290, 0x0065, 0x0065, 0x0045, 0x0045, 0x0022, 0x12F1, 0x09CC, 0x0045, + 0x286D, 0x98D8, 0xA099, 0x9899, 0x9098, 0x70D5, 0x0046, 0x0023, 0x0023, 0x0022, 0x0021, 0x0022, + 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x0021, 0x0000, 0x0000, 0x098C, 0x098B, 0x0000, + 0x0021, 0x0884, 0x18C4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x39E7, 0x6B4D, + 0x0000, 0x1082, 0x10A5, 0x0065, 0x0000, 0x0000, 0x120F, 0x014A, 0x0000, 0x0000, 0x42CE, 0x08E7, + 0x0000, 0x0000, 0x0001, 0x0947, 0x259B, 0x161E, 0x1DFD, 0x1AAE, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0803, 0x0803, 0x0803, 0x0803, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x08E8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0046, 0x0046, 0x0045, 0x1B97, + 0x098C, 0x0023, 0x0023, 0x0024, 0x0043, 0x0043, 0x0044, 0x0064, 0x0022, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0843, 0x0022, 0x0043, 0x0085, 0x00A8, 0x014C, + 0x016D, 0x016D, 0x0211, 0x0253, 0x0317, 0x047C, 0x1F3F, 0x277F, 0x379F, 0x379F, 0x279F, 0x165E, + 0x03BA, 0x02B5, 0x0211, 0x01CF, 0x0231, 0x0233, 0x01F0, 0x0129, 0x00C6, 0x0085, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x00A9, 0x1C1B, 0x01F1, 0x00EB, + 0x0886, 0x0044, 0x08AB, 0x006A, 0x008A, 0x0047, 0x0026, 0x0026, 0x0866, 0x424C, 0x0022, 0x0001, + 0x0002, 0x0024, 0x0026, 0x0069, 0x110C, 0x0046, 0x18A7, 0x194C, 0x114E, 0x00F0, 0x0172, 0x24DC, + 0x122F, 0x3149, 0x4126, 0x4126, 0x4166, 0x4166, 0x3167, 0x3167, 0x324D, 0x0254, 0x1D9D, 0x77DF, + 0x6FDF, 0x14BD, 0x016F, 0x19AC, 0x0066, 0x0066, 0x0065, 0x0065, 0x0065, 0x0065, 0x0088, 0x2377, + 0x1339, 0x00CF, 0x010E, 0x092C, 0x110A, 0x0045, 0x0088, 0x08A9, 0x0004, 0x0002, 0x0003, 0x0003, + 0x2A4F, 0x096E, 0x0089, 0x0026, 0x0026, 0x0048, 0x08D0, 0x531A, 0x3A15, 0x0889, 0x0042, 0x0885, + 0x010C, 0x018E, 0x1C9C, 0x0233, 0x00CB, 0x00A7, 0x0085, 0x0085, 0x0084, 0x0084, 0x0084, 0x0084, + 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x00A5, 0x08E6, 0x0042, 0x0062, 0x0062, 0x0042, 0x0042, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0084, 0x09AA, 0x01CC, 0x014A, 0x0108, 0x00E7, 0x00C7, 0x00C7, + 0x00C7, 0x00C7, 0x010A, 0x19CF, 0x0088, 0x0023, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0001, 0x0042, 0x0084, 0x0885, 0x0044, 0x0044, 0x0066, 0x0066, 0x0086, 0x1AF1, + 0x00A7, 0x0065, 0x0066, 0x0045, 0x0022, 0x12F1, 0x09CC, 0x0045, 0x5071, 0xB8BD, 0x985C, 0x985C, + 0xA05D, 0xB0FC, 0x0046, 0x0024, 0x3B92, 0x44D6, 0x19EA, 0x4C34, 0x4C13, 0x1A0B, 0x3BD2, 0x21CA, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x434F, 0x4C33, 0x0883, + 0x0000, 0x0883, 0x0021, 0x0000, 0x0000, 0x098C, 0x098B, 0x0000, 0x0021, 0x0864, 0x18C4, 0x0000, + 0x73AF, 0xBDD7, 0x2104, 0x0000, 0x0000, 0x0841, 0x2104, 0xCE79, 0x3186, 0x10A2, 0x10A5, 0x0085, + 0x0001, 0x0001, 0x120F, 0x094A, 0x0000, 0x0000, 0x3A6D, 0x08C7, 0x0000, 0x0000, 0x0022, 0x255A, + 0x0E3E, 0x1D9C, 0x161D, 0x1DFD, 0x0905, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0803, 0x0804, + 0x1006, 0x1807, 0x2027, 0x1005, 0x0803, 0x0001, 0x0000, 0x0000, 0x0000, 0x0909, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0044, 0x0066, 0x0066, 0x08E8, 0x1BB8, 0x00A7, 0x0044, 0x0023, 0x0023, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0043, 0x0064, 0x0044, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0864, 0x0022, 0x0022, 0x0044, 0x00A8, 0x014C, 0x018E, 0x012C, 0x018F, 0x0252, + 0x02B5, 0x03DB, 0x15FE, 0x279F, 0x279F, 0x279F, 0x1F3F, 0x04FC, 0x0358, 0x0273, 0x0211, 0x01F0, + 0x0254, 0x0254, 0x01CF, 0x00E8, 0x0085, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0023, 0x0025, 0x1AB4, 0x1357, 0x00CB, 0x00A8, 0x0864, 0x10CA, 0x08EF, 0x008C, + 0x0049, 0x0047, 0x0026, 0x08A8, 0x5B2F, 0x0842, 0x0000, 0x0002, 0x0025, 0x0028, 0x08EB, 0x10E9, + 0x0845, 0x2109, 0x116E, 0x0170, 0x0214, 0x0A77, 0x0173, 0x23D8, 0x24BA, 0x194A, 0x31A9, 0x4188, + 0x39C8, 0x39C8, 0x39C8, 0x3188, 0x322D, 0x0A93, 0x0D7D, 0x475F, 0x475F, 0x0CBD, 0x11CF, 0x00C8, + 0x0065, 0x0065, 0x0085, 0x0085, 0x0086, 0x0087, 0x096C, 0x249D, 0x01D3, 0x0172, 0x1BB9, 0x0213, + 0x010E, 0x112C, 0x08A6, 0x0066, 0x08EB, 0x0025, 0x0003, 0x0003, 0x0023, 0x2A2F, 0x094D, 0x0069, + 0x0048, 0x0048, 0x088E, 0x29B5, 0x4258, 0x2172, 0x0067, 0x0884, 0x08A7, 0x010C, 0x12D5, 0x13FB, + 0x010E, 0x00A9, 0x0086, 0x0086, 0x0085, 0x0085, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, + 0x0084, 0x0084, 0x0907, 0x0023, 0x0022, 0x0022, 0x0042, 0x0042, 0x0023, 0x0023, 0x0043, 0x0969, + 0x0A2D, 0x01AC, 0x0129, 0x0108, 0x00E7, 0x00E7, 0x00C6, 0x00C6, 0x00C6, 0x00C6, 0x00C8, 0x094D, + 0x196C, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0043, 0x0064, 0x0064, + 0x0001, 0x0001, 0x0022, 0x0044, 0x0044, 0x0044, 0x0045, 0x124F, 0x116B, 0x0044, 0x0065, 0x0065, + 0x0023, 0x12F1, 0x09CC, 0x0025, 0x5873, 0x985D, 0x701D, 0x701D, 0x781C, 0xA8FC, 0x0827, 0x0885, + 0x3B2F, 0x1106, 0x2ACF, 0x19EA, 0x2AAE, 0x33F4, 0x00C6, 0x1946, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x21E8, 0x226C, 0x1967, 0x0000, 0x0883, 0x0021, 0x0000, + 0x0000, 0x098C, 0x11AB, 0x0000, 0x0042, 0x0884, 0x18C3, 0x0000, 0x9492, 0x4208, 0x0862, 0x0000, + 0x0000, 0x0861, 0x0861, 0x2104, 0x0841, 0x10A2, 0x10A5, 0x0085, 0x0001, 0x0001, 0x122F, 0x094A, + 0x0000, 0x0000, 0x3A6D, 0x08C7, 0x0000, 0x0000, 0x11A9, 0x161E, 0x1455, 0x0084, 0x12EF, 0x0DFD, + 0x1330, 0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0804, 0x1806, 0x302A, 0x7893, 0x6870, 0x2027, + 0x0803, 0x0001, 0x0000, 0x0000, 0x0000, 0x0909, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0044, + 0x0066, 0x0066, 0x11CD, 0x1315, 0x0044, 0x0044, 0x0023, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, 0x0000, 0x0000, 0x0001, 0x0001, 0x0864, 0x0021, + 0x0022, 0x0044, 0x00A7, 0x010B, 0x018E, 0x012C, 0x016E, 0x0231, 0x0253, 0x0338, 0x047C, 0x15FE, + 0x1EFF, 0x1EFF, 0x0D7D, 0x03DA, 0x02F6, 0x0232, 0x01F0, 0x01F0, 0x0254, 0x0254, 0x018D, 0x00C7, + 0x0085, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0024, 0x08EA, + 0x241B, 0x016E, 0x00C9, 0x0064, 0x0865, 0x2191, 0x1972, 0x08CE, 0x0049, 0x0047, 0x08A8, 0x6B71, + 0x0883, 0x0000, 0x0002, 0x0026, 0x0049, 0x196E, 0x10E9, 0x1886, 0x318C, 0x094E, 0x01B1, 0x0B58, + 0x35BE, 0x23FA, 0x0A16, 0x0234, 0x4E1D, 0x12D1, 0x29CB, 0x31A9, 0x31A8, 0x39C8, 0x3A0A, 0x31EA, + 0x326E, 0x12F4, 0x04DE, 0x165F, 0x0DFF, 0x047D, 0x11F0, 0x00A7, 0x0065, 0x0065, 0x0085, 0x0085, + 0x0087, 0x00A8, 0x1B57, 0x139A, 0x0131, 0x0A76, 0x455D, 0x251D, 0x02D7, 0x014F, 0x090C, 0x08C8, + 0x0865, 0x08EB, 0x0089, 0x0003, 0x0023, 0x0023, 0x2A51, 0x094D, 0x0048, 0x0048, 0x006B, 0x1912, + 0x4A99, 0x5B1A, 0x192F, 0x0023, 0x0884, 0x00EA, 0x010D, 0x245B, 0x0A95, 0x00CB, 0x00A8, 0x0086, + 0x0085, 0x0085, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x00C6, 0x00A5, + 0x0022, 0x0022, 0x0042, 0x0042, 0x0023, 0x08C6, 0x122D, 0x020D, 0x016A, 0x0129, 0x0108, 0x0108, + 0x00E7, 0x00E7, 0x00C6, 0x00C6, 0x00C6, 0x00C6, 0x00A6, 0x010B, 0x19CF, 0x0023, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0043, 0x0043, 0x0043, 0x0002, 0x0002, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0044, 0x0044, 0x0044, 0x11CD, 0x09EE, 0x0045, 0x0065, 0x0065, 0x0023, 0x12D1, 0x09CC, 0x0025, + 0x5873, 0x985D, 0x701D, 0x701D, 0x781C, 0xA8FC, 0x0827, 0x1127, 0x2A4B, 0x32EF, 0x2B31, 0x3C55, + 0x4413, 0x1168, 0x3BF3, 0x21EA, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1104, 0x4CB5, 0x08E4, 0x0000, 0x0883, 0x0001, 0x0000, 0x0000, 0x098C, 0x11AB, 0x0000, + 0x0042, 0x0884, 0x18C3, 0x0000, 0x18C3, 0x0841, 0x1082, 0x0000, 0x0000, 0x0861, 0x18A2, 0x18A2, + 0x0000, 0x10A3, 0x10C5, 0x0086, 0x0021, 0x0000, 0x1A2F, 0x094A, 0x0000, 0x0000, 0x3A4D, 0x08C7, + 0x0000, 0x0000, 0x124C, 0x163E, 0x1188, 0x0042, 0x0063, 0x15BB, 0x13F3, 0x0000, 0x0000, 0x0000, + 0x2B0E, 0x4558, 0x44B6, 0x00A4, 0x4D9A, 0x4518, 0x2B50, 0x1A0A, 0x4D99, 0x4CB6, 0x08A4, 0x0000, + 0x0000, 0x0002, 0x0804, 0x1809, 0xB0D9, 0xE0BE, 0xF11E, 0x7091, 0x0825, 0x0002, 0x0001, 0x0001, + 0x0000, 0x0909, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0045, 0x0045, 0x0045, 0x0A30, 0x0A30, + 0x0044, 0x0044, 0x0023, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0022, 0x0022, 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, 0x0086, 0x00E9, + 0x01AF, 0x016E, 0x014D, 0x01F0, 0x0253, 0x0295, 0x0358, 0x03FB, 0x047B, 0x045B, 0x03DA, 0x0317, + 0x0274, 0x0232, 0x01D0, 0x0211, 0x02D6, 0x0232, 0x014B, 0x00A7, 0x0064, 0x0064, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0025, 0x1B16, 0x0AB4, 0x00CA, 0x0065, 0x0044, + 0x212C, 0x2192, 0x2192, 0x08AE, 0x0049, 0x0068, 0x4AAE, 0x0862, 0x0000, 0x0002, 0x0025, 0x006A, + 0x196E, 0x0868, 0x2929, 0x318C, 0x014D, 0x01F2, 0x0C1A, 0x1D1E, 0x0AF6, 0x00EF, 0x1257, 0x01F4, + 0x3CF9, 0x459B, 0x19ED, 0x320C, 0x320A, 0x320A, 0x324C, 0x324C, 0x32F0, 0x1315, 0x045D, 0x051E, + 0x04DE, 0x043D, 0x11F0, 0x00C8, 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00A8, 0x096D, 0x1C9D, 0x01F4, + 0x09D4, 0x0971, 0x0172, 0x1BFA, 0x2D7E, 0x0B99, 0x0190, 0x00EB, 0x110A, 0x0865, 0x08C9, 0x08AA, + 0x0025, 0x0003, 0x0045, 0x32B2, 0x08EB, 0x0048, 0x004A, 0x08AE, 0x3A37, 0x6B9C, 0x3215, 0x088A, + 0x0865, 0x0886, 0x00CB, 0x1252, 0x1C5C, 0x014F, 0x00C9, 0x00A7, 0x0086, 0x0086, 0x0084, 0x0084, + 0x0085, 0x0085, 0x0084, 0x0084, 0x0084, 0x0084, 0x0085, 0x0908, 0x0023, 0x0023, 0x0043, 0x0085, + 0x11EC, 0x128F, 0x01CB, 0x0149, 0x0108, 0x0108, 0x0108, 0x0108, 0x00E7, 0x00E7, 0x00C6, 0x00C6, + 0x00C6, 0x00C6, 0x00A6, 0x00EA, 0x19F0, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0044, 0x0044, 0x0045, 0x094A, + 0x1270, 0x0065, 0x0065, 0x0065, 0x0024, 0x12D2, 0x09CC, 0x0025, 0x5873, 0x983D, 0x701C, 0x701C, + 0x801C, 0xA8DC, 0x0827, 0x0085, 0x3B91, 0x096A, 0x3BD4, 0x1A0B, 0x0042, 0x2A2B, 0x00A5, 0x330F, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2A09, 0x11EA, 0x2209, + 0x0000, 0x0883, 0x0001, 0x0000, 0x0000, 0x098C, 0x11AC, 0x0000, 0x0863, 0x0884, 0x10A3, 0x0000, + 0x0841, 0x2945, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10A3, 0x10C5, 0x0086, + 0x0021, 0x0000, 0x1A2F, 0x094A, 0x0000, 0x0000, 0x3A4D, 0x08C7, 0x0000, 0x0000, 0x11EA, 0x163E, + 0x124C, 0x0042, 0x08C5, 0x1DDD, 0x1392, 0x0001, 0x0000, 0x0883, 0x3CD6, 0x0062, 0x22EE, 0x11C8, + 0x3454, 0x0084, 0x3CD7, 0x2C55, 0x122B, 0x1168, 0x1146, 0x0000, 0x0000, 0x0002, 0x0805, 0x482D, + 0xE0BE, 0xF0BF, 0xF0DE, 0xC91A, 0x0825, 0x0002, 0x0001, 0x0001, 0x0000, 0x0909, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0002, 0x0046, 0x0045, 0x0045, 0x1314, 0x098C, 0x08C7, 0x00C8, 0x0045, 0x0023, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0022, 0x0884, 0x0022, 0x0001, 0x0022, 0x0022, 0x0065, 0x00C8, 0x016E, 0x01D0, 0x014D, 0x018F, + 0x0212, 0x0253, 0x0295, 0x02F7, 0x0358, 0x0358, 0x0317, 0x0294, 0x0232, 0x0232, 0x01D0, 0x0295, + 0x02B5, 0x01CF, 0x00E8, 0x0086, 0x0064, 0x0064, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x094C, 0x1BB9, 0x00EC, 0x0088, 0x0044, 0x1085, 0x292E, 0x2130, 0x1930, 0x08AD, + 0x18EB, 0x52AE, 0x0041, 0x0000, 0x0002, 0x0025, 0x08CB, 0x110B, 0x0846, 0x39AB, 0x194C, 0x012C, + 0x0213, 0x147C, 0x1C5C, 0x01F3, 0x00AC, 0x006A, 0x0930, 0x0A76, 0x0B36, 0x7F1E, 0x23B4, 0x326E, + 0x322B, 0x322B, 0x324C, 0x324C, 0x32F0, 0x1B36, 0x03FC, 0x03FC, 0x03BB, 0x043D, 0x11D0, 0x00C8, + 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00A9, 0x1B57, 0x13FB, 0x0172, 0x1215, 0x008B, 0x00AC, 0x0172, + 0x0AB7, 0x24FD, 0x143B, 0x01F2, 0x00EC, 0x112B, 0x10A6, 0x0887, 0x110B, 0x0025, 0x0023, 0x0045, + 0x32B2, 0x08EB, 0x0048, 0x004A, 0x1930, 0x3A37, 0x29D4, 0x21B2, 0x0046, 0x0865, 0x00C9, 0x00CB, + 0x1BD9, 0x0B17, 0x00EC, 0x00A8, 0x0086, 0x0086, 0x0084, 0x0084, 0x0085, 0x0085, 0x0084, 0x0084, + 0x0084, 0x0084, 0x0085, 0x0929, 0x0023, 0x0023, 0x0949, 0x12B0, 0x022E, 0x01AB, 0x0149, 0x0149, + 0x0108, 0x0108, 0x0108, 0x0108, 0x00E7, 0x00E7, 0x00C6, 0x00C6, 0x00C6, 0x00C6, 0x00A6, 0x00E9, + 0x19F0, 0x0088, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0042, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0044, 0x0067, 0x00C7, 0x00C7, 0x1AF3, 0x0086, 0x0065, 0x0065, + 0x0044, 0x12D2, 0x09CC, 0x0025, 0x5852, 0xA03D, 0x781C, 0x701C, 0x801C, 0xB0DC, 0x0826, 0x0023, + 0x2A8D, 0x3392, 0x2A6D, 0x1946, 0x0000, 0x1106, 0x4BD2, 0x1926, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3AED, 0x4BF1, 0x0021, 0x0000, 0x0883, 0x0001, 0x0000, + 0x0000, 0x098C, 0x11AC, 0x0000, 0x0863, 0x0884, 0x1083, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0020, 0x0882, 0x2125, 0x39E8, 0x18E4, 0x10A3, 0x10C5, 0x00A6, 0x0021, 0x0000, 0x1A2F, 0x094A, + 0x0000, 0x0000, 0x3A2C, 0x08E7, 0x0000, 0x0000, 0x08C4, 0x163E, 0x159B, 0x0927, 0x1C35, 0x0E1E, + 0x128D, 0x0000, 0x0000, 0x1167, 0x33D2, 0x1126, 0x33F4, 0x11CA, 0x3D59, 0x2BF3, 0x3C95, 0x1209, + 0x3D7A, 0x34B6, 0x08E5, 0x0000, 0x0001, 0x0001, 0x0805, 0x584F, 0xE09E, 0xE09E, 0xF0BE, 0xD0FA, + 0x1005, 0x0002, 0x0001, 0x0001, 0x0000, 0x0909, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0066, + 0x0045, 0x0086, 0x1377, 0x00E8, 0x08C7, 0x2250, 0x2A91, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0884, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0064, 0x0086, 0x010A, 0x01B0, 0x01AF, 0x016D, 0x018F, 0x0232, 0x0233, 0x0274, + 0x0294, 0x0273, 0x0232, 0x0232, 0x0231, 0x01D0, 0x0212, 0x0317, 0x0231, 0x018C, 0x0086, 0x0086, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0003, 0x0045, 0x1B58, 0x09F1, + 0x0089, 0x0044, 0x0022, 0x290A, 0x20AB, 0x20AB, 0x18CC, 0x296D, 0x6B6F, 0x0841, 0x0001, 0x0001, + 0x0025, 0x08CB, 0x08C9, 0x2108, 0x39CC, 0x08EB, 0x010D, 0x0A75, 0x143D, 0x1339, 0x0151, 0x00AB, + 0x0047, 0x0045, 0x0049, 0x1274, 0x1337, 0x765C, 0x663D, 0x226F, 0x328E, 0x324D, 0x328E, 0x328E, + 0x3311, 0x1B57, 0x03BB, 0x0359, 0x0318, 0x0C1C, 0x11CF, 0x0109, 0x0108, 0x0108, 0x00C8, 0x00E9, + 0x014D, 0x2D5E, 0x0295, 0x09F5, 0x092E, 0x0069, 0x0088, 0x00AB, 0x0130, 0x01B4, 0x1BBA, 0x1C9D, + 0x02D6, 0x014E, 0x092C, 0x1928, 0x0865, 0x192B, 0x0066, 0x0023, 0x0065, 0x32B2, 0x08CB, 0x0048, + 0x088B, 0x1110, 0x1931, 0x3236, 0x1930, 0x0025, 0x0086, 0x00CA, 0x098E, 0x247C, 0x0190, 0x00CA, + 0x00A7, 0x00A7, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x00C8, + 0x096B, 0x128F, 0x0AB1, 0x01ED, 0x016A, 0x016A, 0x0149, 0x0149, 0x0129, 0x0129, 0x0149, 0x0149, + 0x0108, 0x0108, 0x00C6, 0x00C6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x096E, 0x116C, 0x0023, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, + 0x114A, 0x2B33, 0x2290, 0x0066, 0x12F3, 0x0909, 0x0065, 0x0065, 0x0044, 0x1B12, 0x09CC, 0x0025, + 0x5071, 0xC07E, 0xB87E, 0xB87E, 0xB89E, 0xB0FB, 0x0025, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x0001, 0x0000, 0x0000, 0x11AC, 0x19AC, 0x0000, + 0x0863, 0x0884, 0x0862, 0x0841, 0x2966, 0x18E4, 0x1905, 0x10A3, 0x0882, 0x31A7, 0x4A4A, 0x4A6B, + 0x2966, 0x10A3, 0x10C5, 0x00A6, 0x0022, 0x0000, 0x1A2F, 0x0949, 0x0000, 0x0000, 0x3A2C, 0x08C7, + 0x0000, 0x0000, 0x0021, 0x1CB7, 0x067F, 0x0E7F, 0x065F, 0x161E, 0x00C5, 0x0000, 0x0000, 0x08A4, + 0x3CB6, 0x08C4, 0x2C34, 0x12AE, 0x34D6, 0x1A2A, 0x0062, 0x220A, 0x00C4, 0x2B91, 0x22EE, 0x0000, + 0x0001, 0x0001, 0x0804, 0x2809, 0xD0BD, 0xE09E, 0xF0BD, 0x90B4, 0x1005, 0x0002, 0x0001, 0x0001, + 0x0000, 0x0909, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0045, 0x0045, 0x094A, 0x1356, 0x0045, + 0x0023, 0x0044, 0x0045, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0884, 0x0001, 0x0001, 0x0001, 0x0001, 0x0043, 0x0086, + 0x00C8, 0x012D, 0x01F1, 0x01AF, 0x016E, 0x018F, 0x0211, 0x0233, 0x0273, 0x0273, 0x0232, 0x0211, + 0x01D0, 0x01D0, 0x0A73, 0x0A73, 0x01AE, 0x0109, 0x0086, 0x0064, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x11CF, 0x1338, 0x00A9, 0x0066, 0x0023, 0x18A6, 0x28A9, + 0x2069, 0x1889, 0x318D, 0x528C, 0x0841, 0x0000, 0x0001, 0x0046, 0x08CA, 0x0887, 0x420C, 0x298C, + 0x08EB, 0x012E, 0x0AB7, 0x13BC, 0x09F4, 0x00CE, 0x00AB, 0x0066, 0x0045, 0x0045, 0x0047, 0x092E, + 0x2398, 0x551A, 0xA79F, 0x2C16, 0x32D0, 0x328E, 0x328E, 0x32AF, 0x3332, 0x2377, 0x039A, 0x02D6, + 0x0295, 0x0C1C, 0x11CF, 0x0109, 0x0108, 0x0108, 0x00E9, 0x00EB, 0x13D6, 0x24DB, 0x0A56, 0x1A36, + 0x0069, 0x0067, 0x00A7, 0x00C9, 0x00EB, 0x00EE, 0x0132, 0x0A97, 0x247D, 0x0B79, 0x0190, 0x092C, + 0x298A, 0x18A5, 0x1109, 0x0887, 0x0022, 0x0065, 0x3B34, 0x08CB, 0x0047, 0x088B, 0x1110, 0x1931, + 0x1993, 0x110D, 0x0045, 0x00A8, 0x00CB, 0x1B36, 0x1358, 0x00EC, 0x00A8, 0x00A7, 0x0085, 0x0085, + 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x00A6, 0x120E, 0x1B95, 0x0250, 0x01AC, 0x018B, + 0x016A, 0x016A, 0x0149, 0x0149, 0x016A, 0x016A, 0x0149, 0x0149, 0x0108, 0x0108, 0x00C6, 0x00C6, + 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x010B, 0x19CE, 0x0023, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x08C7, 0x00E8, 0x0066, 0x0066, + 0x1291, 0x09AC, 0x0065, 0x0065, 0x0044, 0x1B12, 0x09CD, 0x0025, 0x1028, 0x402D, 0x402D, 0x402D, + 0x384D, 0x284A, 0x0024, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0863, 0x0001, 0x0000, 0x0000, 0x11AC, 0x19AC, 0x0000, 0x0863, 0x0884, 0x0862, 0x0862, + 0x31C8, 0x31A8, 0x2987, 0x1905, 0x1905, 0x424A, 0x424A, 0x424A, 0x2946, 0x10A3, 0x08C5, 0x00A7, + 0x0022, 0x0000, 0x224F, 0x0949, 0x0000, 0x0000, 0x3A2D, 0x08C7, 0x0000, 0x0000, 0x0001, 0x124B, + 0x067F, 0x067F, 0x065E, 0x1434, 0x0001, 0x0001, 0x0000, 0x0000, 0x2BD2, 0x34D7, 0x455A, 0x1A6C, + 0x3BD3, 0x0000, 0x0000, 0x2A6C, 0x4519, 0x4539, 0x1167, 0x0000, 0x0000, 0x0000, 0x0803, 0x1005, + 0x504D, 0xC0DA, 0xA8B6, 0x2807, 0x0002, 0x0001, 0x0000, 0x0000, 0x0000, 0x08E9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0045, 0x0045, 0x0045, 0x11EE, 0x0AB2, 0x0044, 0x0023, 0x0023, 0x0022, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0022, 0x0863, 0x0001, 0x0001, 0x0001, 0x0001, 0x0043, 0x0043, 0x00A7, 0x00C9, 0x018E, 0x01F1, + 0x01D0, 0x01D0, 0x018F, 0x01D0, 0x0211, 0x0211, 0x01D0, 0x018F, 0x01D0, 0x0232, 0x0232, 0x018D, + 0x014B, 0x00A7, 0x0064, 0x0064, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0002, 0x0002, + 0x0066, 0x23B9, 0x016E, 0x0088, 0x0044, 0x0864, 0x28C9, 0x2069, 0x1848, 0x292A, 0x2106, 0x0000, + 0x0001, 0x0001, 0x0046, 0x0889, 0x10A7, 0x62EF, 0x192B, 0x010C, 0x0170, 0x0AB9, 0x1AFA, 0x0131, + 0x008A, 0x0046, 0x0066, 0x0066, 0x0066, 0x0066, 0x0046, 0x006A, 0x1AD5, 0x449A, 0xA73E, 0x767D, + 0x22F2, 0x3312, 0x32F0, 0x32F0, 0x3353, 0x2398, 0x039A, 0x0253, 0x0233, 0x143C, 0x11D0, 0x012A, + 0x012A, 0x012A, 0x014C, 0x09F0, 0x3E5E, 0x0B97, 0x1AD8, 0x0950, 0x0068, 0x0068, 0x00C8, 0x00C8, + 0x00C9, 0x00C9, 0x00CA, 0x010F, 0x0194, 0x1B7A, 0x1BDB, 0x01B2, 0x00ED, 0x218C, 0x2948, 0x08C8, + 0x08A7, 0x0022, 0x0065, 0x3292, 0x0067, 0x0025, 0x0869, 0x10EE, 0x10F0, 0x2193, 0x088A, 0x0046, + 0x00CA, 0x012D, 0x243C, 0x01D1, 0x00EA, 0x00A7, 0x00C7, 0x00C7, 0x00A6, 0x00A6, 0x00A6, 0x00A6, + 0x0086, 0x0929, 0x1312, 0x0AF2, 0x0A71, 0x01AD, 0x018B, 0x018B, 0x018B, 0x018B, 0x018B, 0x018B, + 0x014A, 0x014A, 0x0129, 0x0129, 0x0108, 0x0108, 0x00E7, 0x00E7, 0x00C7, 0x00C7, 0x00A6, 0x00C8, + 0x010B, 0x19CF, 0x0023, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, 0x0065, 0x0045, 0x0045, 0x0A2E, 0x0A2E, 0x0044, 0x0044, + 0x0044, 0x1B53, 0x09CD, 0x0065, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0023, 0x0023, + 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0021, 0x0000, + 0x0000, 0x19CC, 0x19CC, 0x0000, 0x0883, 0x0883, 0x0862, 0x0862, 0x31C8, 0x31C8, 0x2987, 0x1905, + 0x2966, 0x422A, 0x424A, 0x424A, 0x2946, 0x10A3, 0x08C5, 0x00A7, 0x0022, 0x0000, 0x224F, 0x0949, + 0x0000, 0x0000, 0x3A2D, 0x08C7, 0x0000, 0x0000, 0x0001, 0x0022, 0x1D7A, 0x067F, 0x165E, 0x0926, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0020, 0x1167, 0x0042, 0x0021, 0x08A3, 0x0000, 0x0000, 0x0000, + 0x0905, 0x08C4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0803, 0x1004, 0x1806, 0x1005, 0x0804, + 0x0002, 0x0001, 0x0000, 0x0000, 0x0000, 0x08E9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0045, 0x0045, + 0x0045, 0x12B2, 0x0A0F, 0x0023, 0x0023, 0x0023, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0043, 0x0085, 0x00A7, 0x014C, 0x014D, 0x01D0, 0x0212, 0x01D0, 0x01D0, + 0x0211, 0x0211, 0x01D0, 0x0211, 0x0232, 0x01F0, 0x018D, 0x014B, 0x0109, 0x00A6, 0x0064, 0x0064, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0002, 0x0002, 0x1A51, 0x12D6, 0x0088, 0x0065, + 0x0023, 0x28E8, 0x2069, 0x2069, 0x2109, 0x0022, 0x0000, 0x0000, 0x0001, 0x0023, 0x422D, 0x4A6C, + 0x7BF2, 0x112B, 0x010C, 0x01B2, 0x12D9, 0x1216, 0x00AD, 0x0049, 0x0046, 0x0044, 0x0065, 0x0066, + 0x0066, 0x0066, 0x0066, 0x0048, 0x094F, 0x2BF9, 0x7E5D, 0xAF9F, 0x2C77, 0x3333, 0x32F0, 0x32F0, + 0x3374, 0x2398, 0x0399, 0x01F1, 0x01D1, 0x1C3C, 0x11F0, 0x016C, 0x016B, 0x018D, 0x018F, 0x24D9, + 0x463D, 0x1B99, 0x1A77, 0x00AB, 0x0068, 0x0068, 0x00C8, 0x00C8, 0x00C9, 0x00C9, 0x00C8, 0x00CA, + 0x00CD, 0x0111, 0x0A36, 0x1BBB, 0x0A55, 0x012E, 0x114D, 0x29AB, 0x5B2F, 0x94D4, 0x2146, 0x08A7, + 0x08C9, 0x0025, 0x0024, 0x0047, 0x10CE, 0x08D0, 0x1131, 0x0048, 0x08C9, 0x00CA, 0x1294, 0x1BD9, + 0x012D, 0x00EA, 0x00C7, 0x00C7, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x122E, 0x1333, 0x0290, 0x01EE, + 0x01EE, 0x01EE, 0x018B, 0x018B, 0x01AC, 0x01AC, 0x018B, 0x018B, 0x014A, 0x014A, 0x0129, 0x0129, + 0x0108, 0x0108, 0x00E7, 0x00E7, 0x00C7, 0x00C7, 0x00A6, 0x00A6, 0x00C8, 0x11CF, 0x0023, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0044, 0x0044, 0x0045, 0x0045, 0x098C, 0x0AB1, 0x0044, 0x0044, 0x0044, 0x1AF1, 0x09ED, 0x0065, + 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0025, 0x0865, 0x0864, 0x0864, 0x0863, 0x0863, 0x0863, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0861, 0x0861, 0x0861, 0x0841, + 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, + 0x0841, 0x0021, 0x0021, 0x0021, 0x0841, 0x0863, 0x0021, 0x0000, 0x0000, 0x19CC, 0x19CC, 0x0000, + 0x0883, 0x0883, 0x0862, 0x0862, 0x31C8, 0x31C8, 0x2987, 0x18E4, 0x2105, 0x31C8, 0x31C8, 0x39C8, + 0x18E4, 0x10A3, 0x08C5, 0x00C7, 0x0022, 0x0000, 0x2A4F, 0x1149, 0x0000, 0x0000, 0x320C, 0x08C7, + 0x0000, 0x0000, 0x0001, 0x0001, 0x124C, 0x0E5E, 0x1C54, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0803, 0x0803, 0x0002, 0x0002, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0909, 0x0000, 0x0000, 0x0000, 0x0000, 0x0045, 0x0045, 0x0045, 0x1B56, 0x096C, 0x0086, + 0x08E8, 0x0065, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0864, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0064, 0x00A6, 0x010A, 0x010A, 0x014C, 0x01CF, 0x0232, 0x0253, 0x0232, 0x0232, 0x0232, 0x0211, + 0x018E, 0x014B, 0x012B, 0x0109, 0x0086, 0x0064, 0x0043, 0x0043, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0002, 0x0002, 0x0022, 0x08A7, 0x23BA, 0x010C, 0x0086, 0x0044, 0x18A6, 0x28AA, 0x28EA, 0x18E7, + 0x0000, 0x0000, 0x0000, 0x0841, 0x5ACC, 0xB5D9, 0x9CF5, 0x426D, 0x114C, 0x010E, 0x01D4, 0x12B9, + 0x0971, 0x008B, 0x0047, 0x0045, 0x0044, 0x0044, 0x0065, 0x00A6, 0x00A7, 0x0086, 0x0066, 0x00A8, + 0x090E, 0x1B37, 0x557C, 0xAF7E, 0x669D, 0x1B14, 0x43B5, 0x3B73, 0x3BD5, 0x2BF9, 0x0B99, 0x01B0, + 0x018F, 0x1C5D, 0x1231, 0x01CD, 0x01CE, 0x0231, 0x0315, 0x6F3E, 0x2CFB, 0x1B59, 0x0971, 0x00AA, + 0x08EA, 0x00C9, 0x00C9, 0x00C9, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C9, 0x00AB, 0x00CF, 0x0194, + 0x1319, 0x0AF8, 0x0171, 0x012E, 0x324F, 0x6B90, 0xBDF8, 0x9D16, 0x3A2C, 0x0024, 0x0023, 0x0023, + 0x0025, 0x08AC, 0x08D0, 0x1110, 0x0047, 0x08EB, 0x010C, 0x1C5B, 0x0A74, 0x010C, 0x00EA, 0x00C8, + 0x00C8, 0x00C8, 0x098C, 0x1B33, 0x02F3, 0x0250, 0x01ED, 0x01ED, 0x01CD, 0x022F, 0x01EE, 0x01EE, + 0x01AC, 0x01AC, 0x016B, 0x016B, 0x012A, 0x012A, 0x0129, 0x0129, 0x0129, 0x0129, 0x0108, 0x00C7, + 0x0086, 0x0086, 0x0085, 0x0085, 0x0087, 0x19D0, 0x0066, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0065, 0x00A7, 0x08C8, + 0x092A, 0x1313, 0x0086, 0x0044, 0x0044, 0x1A90, 0x09CC, 0x0023, 0x0023, 0x0023, 0x0023, 0x0822, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0863, 0x0021, 0x0000, 0x0000, 0x19CC, 0x21CC, 0x0000, 0x0883, 0x0883, 0x0842, 0x0842, + 0x31C8, 0x2987, 0x2966, 0x18E4, 0x18A3, 0x2946, 0x2966, 0x2966, 0x18E4, 0x18E4, 0x08C5, 0x00C7, + 0x0022, 0x0000, 0x2A4F, 0x1149, 0x0000, 0x0000, 0x320C, 0x08C7, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0022, 0x2CB6, 0x0906, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0002, 0x0001, 0x0001, 0x0001, 0x0000, 0x0021, 0x0001, 0x116A, 0x0000, 0x0000, + 0x0000, 0x0002, 0x0045, 0x0045, 0x0087, 0x13B8, 0x08E8, 0x0044, 0x00A6, 0x10E7, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0864, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0043, 0x08A6, 0x00A6, 0x00C8, + 0x010A, 0x012B, 0x012C, 0x016E, 0x018F, 0x018F, 0x014C, 0x012B, 0x010A, 0x0109, 0x00C8, 0x00C7, + 0x0064, 0x0064, 0x0043, 0x0043, 0x0023, 0x0023, 0x0023, 0x0023, 0x0002, 0x0002, 0x0022, 0x1A93, + 0x0A53, 0x0087, 0x0044, 0x0044, 0x314C, 0x314B, 0x1084, 0x0000, 0x0000, 0x0841, 0x632D, 0xC65A, + 0x8C74, 0x2169, 0x00A9, 0x00EC, 0x0150, 0x0A15, 0x1A77, 0x00CD, 0x008B, 0x0047, 0x0045, 0x0045, + 0x0044, 0x0044, 0x0065, 0x0065, 0x00A7, 0x00A7, 0x00A8, 0x112B, 0x00CB, 0x09B2, 0x2CBB, 0x96FE, + 0xB7BF, 0x24D9, 0x43B5, 0x4BF6, 0x4C37, 0x2BF9, 0x0B99, 0x018F, 0x016E, 0x245D, 0x1231, 0x01EF, + 0x0231, 0x0AD4, 0x45BC, 0x875F, 0x245A, 0x1AD8, 0x00AB, 0x00A9, 0x00A9, 0x08EA, 0x012A, 0x00C9, + 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C9, 0x00C9, 0x00AA, 0x00CF, 0x0132, 0x09F5, 0x1AF9, 0x01D4, + 0x0172, 0x010E, 0x0089, 0x2189, 0x8474, 0xB5B8, 0x5AEE, 0x0863, 0x0003, 0x0023, 0x086A, 0x08D0, + 0x08EF, 0x0089, 0x00EC, 0x0A73, 0x1C5C, 0x0190, 0x012C, 0x00EA, 0x012B, 0x12D2, 0x1395, 0x02B2, + 0x0250, 0x020E, 0x01ED, 0x01ED, 0x01EE, 0x0A71, 0x01EE, 0x01EE, 0x01AC, 0x01AC, 0x016B, 0x016B, + 0x012A, 0x012A, 0x0129, 0x0129, 0x0129, 0x0129, 0x00C7, 0x00A6, 0x0086, 0x0086, 0x0085, 0x0085, + 0x0087, 0x094E, 0x090A, 0x0023, 0x0022, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x10E8, 0x19AB, 0x08C8, 0x00A7, 0x1314, 0x08E8, 0x0044, + 0x0044, 0x1A6F, 0x09CC, 0x0023, 0x0023, 0x0023, 0x2802, 0x7043, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0021, 0x0000, + 0x0000, 0x19CC, 0x21CC, 0x0000, 0x0883, 0x0883, 0x0842, 0x0842, 0x31C8, 0x2967, 0x2146, 0x18C4, + 0x1083, 0x18E4, 0x2125, 0x2145, 0x10C4, 0x10C4, 0x08A4, 0x00C7, 0x0022, 0x0000, 0x2A6F, 0x1149, + 0x0000, 0x0000, 0x320B, 0x0909, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0021, 0x08E6, 0x11CB, 0x0000, 0x0000, 0x0000, 0x0023, 0x0045, 0x0045, + 0x092A, 0x13B8, 0x0045, 0x0045, 0x0043, 0x0043, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0884, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0021, 0x0021, 0x0022, 0x0064, 0x0064, 0x00A6, 0x00A7, 0x00C8, 0x00E9, 0x00E9, + 0x010A, 0x010A, 0x00E9, 0x00E9, 0x00E8, 0x0108, 0x0086, 0x0086, 0x0043, 0x0043, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0909, 0x1B38, 0x00CA, 0x0087, 0x0023, 0x31AD, + 0x296B, 0x0841, 0x0000, 0x0841, 0x630C, 0xC639, 0x8412, 0x1928, 0x00CA, 0x010E, 0x0130, 0x0193, + 0x1215, 0x1191, 0x0069, 0x00AA, 0x0047, 0x0045, 0x0044, 0x0044, 0x0065, 0x0065, 0x0085, 0x0085, + 0x0087, 0x00C9, 0x090A, 0x00A8, 0x00A9, 0x00ED, 0x1BB9, 0x663D, 0xC7BF, 0x76DE, 0x2395, 0x5437, + 0x43F6, 0x2BD9, 0x0B79, 0x016E, 0x014D, 0x245C, 0x1231, 0x01EF, 0x0A93, 0x1C18, 0x977F, 0x6E7E, + 0x23DB, 0x0991, 0x00C9, 0x00C9, 0x00E8, 0x00E8, 0x094A, 0x0109, 0x00E8, 0x00E8, 0x00E7, 0x00E7, + 0x00E8, 0x00E8, 0x00E9, 0x00E9, 0x010E, 0x00CE, 0x00EF, 0x1215, 0x1237, 0x01D6, 0x0194, 0x0130, + 0x00AA, 0x08C7, 0x6370, 0xB5D8, 0x6B6F, 0x1084, 0x0023, 0x0069, 0x0951, 0x090E, 0x012D, 0x016F, + 0x143B, 0x0B57, 0x0190, 0x0A51, 0x1BD8, 0x0356, 0x02B3, 0x0272, 0x0230, 0x0230, 0x0230, 0x0230, + 0x020F, 0x0250, 0x020F, 0x01CD, 0x018B, 0x018B, 0x016B, 0x016B, 0x014A, 0x014A, 0x0128, 0x0128, + 0x00E7, 0x00E7, 0x00A6, 0x00A6, 0x0085, 0x0085, 0x0085, 0x0085, 0x0086, 0x00EB, 0x198D, 0x0023, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0002, 0x0063, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x0044, 0x0065, 0x0065, 0x0066, 0x0AF2, 0x094A, 0x0044, 0x0044, 0x1A6F, 0x09CD, 0x0023, + 0x0803, 0x0803, 0x8043, 0xC863, 0x2802, 0x0002, 0x0023, 0x0023, 0x29C9, 0x0883, 0x2A8D, 0x1147, + 0x2167, 0x222B, 0x0043, 0x326C, 0x220A, 0x0021, 0x2A0B, 0x2A8C, 0x3B71, 0x21CA, 0x0884, 0x2A6C, + 0x2188, 0x222B, 0x0021, 0x29C8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x226C, 0x43B2, 0x0062, 0x0000, 0x0863, 0x0021, 0x0000, 0x0000, 0x21CC, 0x21CC, 0x0000, + 0x0883, 0x0883, 0x0041, 0x0041, 0x31C8, 0x2946, 0x2146, 0x10C4, 0x0021, 0x0841, 0x1082, 0x10C3, + 0x10C4, 0x10C4, 0x10C5, 0x00C7, 0x0022, 0x0000, 0x2A6F, 0x1149, 0x0000, 0x0000, 0x322B, 0x012B, + 0x08C7, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, + 0x0948, 0x098A, 0x0000, 0x0000, 0x0000, 0x0023, 0x0045, 0x0045, 0x11CE, 0x1B36, 0x0045, 0x0045, + 0x0043, 0x0043, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0022, 0x0884, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0022, 0x0864, 0x0043, 0x0064, 0x0085, 0x0086, 0x00A6, 0x00C7, 0x00C7, 0x00C7, 0x00A6, 0x00A6, + 0x00C6, 0x00C6, 0x0064, 0x0064, 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0023, 0x0023, 0x22D5, 0x09B0, 0x0087, 0x0044, 0x18E8, 0x316A, 0x0001, 0x0841, 0x634D, 0xC639, + 0x73D1, 0x10E8, 0x00CA, 0x010E, 0x0151, 0x09B3, 0x11D4, 0x0950, 0x0069, 0x0046, 0x0067, 0x0088, + 0x0045, 0x0045, 0x0044, 0x0044, 0x0065, 0x0065, 0x0085, 0x0085, 0x00C8, 0x114B, 0x00A8, 0x00A8, + 0x00C8, 0x00CB, 0x09F4, 0x3D5C, 0xB77F, 0xC7DF, 0x34B9, 0x2B13, 0x2AF3, 0x1B57, 0x0B78, 0x016E, + 0x014D, 0x245C, 0x11F0, 0x018D, 0x0A31, 0x561C, 0xAFBF, 0x455C, 0x1B59, 0x00CC, 0x00C9, 0x00C9, + 0x00E8, 0x00E8, 0x0109, 0x0109, 0x00E8, 0x00E8, 0x00E7, 0x00E7, 0x00E8, 0x00E8, 0x00E9, 0x00E9, + 0x010B, 0x010B, 0x0069, 0x008A, 0x00AD, 0x09B3, 0x1216, 0x0A17, 0x01D5, 0x0172, 0x00EC, 0x0087, + 0x52CE, 0xADB8, 0x73D1, 0x10C6, 0x0069, 0x0993, 0x0970, 0x09F1, 0x02D5, 0x0D1D, 0x0C1A, 0x0C3B, + 0x0377, 0x0315, 0x0272, 0x0272, 0x0271, 0x0271, 0x0230, 0x0230, 0x020F, 0x020F, 0x0A30, 0x01AD, + 0x018B, 0x018B, 0x016B, 0x016B, 0x014A, 0x0109, 0x0128, 0x00E7, 0x00E7, 0x00E7, 0x00A6, 0x00A6, + 0x0085, 0x0085, 0x0085, 0x0085, 0x0086, 0x00A9, 0x19AF, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0001, 0x0063, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0043, 0x0065, 0x0065, + 0x0065, 0x0A91, 0x09AC, 0x0044, 0x0044, 0x1A6F, 0x09ED, 0x0023, 0x0803, 0x2002, 0xC863, 0xD842, + 0x6822, 0x0801, 0x0001, 0x0063, 0x2A4C, 0x10E5, 0x2B31, 0x2331, 0x222B, 0x2B11, 0x22CE, 0x1146, + 0x3B92, 0x0907, 0x2AF0, 0x3B30, 0x0906, 0x2ACF, 0x226E, 0x2311, 0x2AAE, 0x22F0, 0x220B, 0x3A8C, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x322B, 0x19C9, 0x1967, + 0x0000, 0x0863, 0x0021, 0x0000, 0x0000, 0x21AC, 0x21CC, 0x0000, 0x0883, 0x0883, 0x0041, 0x0041, + 0x31C8, 0x2946, 0x2126, 0x10C4, 0x0000, 0x0000, 0x0000, 0x0861, 0x0862, 0x18C3, 0x10C5, 0x00C7, + 0x0042, 0x0000, 0x2A6F, 0x1169, 0x0000, 0x0000, 0x322B, 0x012A, 0x012A, 0x08A5, 0x0000, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x1082, 0x1083, 0x10A3, 0x10C4, 0x18C4, 0x18C4, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x2104, 0x2104, 0x2104, 0x18C3, 0x0882, 0x0862, 0x0842, + 0x0862, 0x0862, 0x0842, 0x0842, 0x0862, 0x0041, 0x0000, 0x0000, 0x1169, 0x1169, 0x0000, 0x0000, + 0x0000, 0x0024, 0x0044, 0x0044, 0x1271, 0x1292, 0x0044, 0x0044, 0x0044, 0x0044, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x10A5, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0864, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0044, 0x0044, 0x0065, 0x0065, 0x0043, 0x0043, 0x0044, 0x0085, 0x0064, 0x0023, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x116C, 0x12D5, 0x00A8, + 0x0066, 0x0885, 0x18E7, 0x0842, 0x5AED, 0xBE19, 0x6BB1, 0x08E8, 0x00CB, 0x010F, 0x0131, 0x09D4, + 0x1192, 0x08CB, 0x0025, 0x0024, 0x0025, 0x0025, 0x10C8, 0x0045, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0085, 0x00A7, 0x114B, 0x00A7, 0x00C7, 0x00C7, 0x00C8, 0x00CA, 0x0130, 0x241A, + 0x86BE, 0xCFDF, 0x765C, 0x12B2, 0x01AF, 0x12D6, 0x0B38, 0x014D, 0x010C, 0x243C, 0x098F, 0x00EB, + 0x1334, 0xA75E, 0x86FE, 0x249B, 0x09F3, 0x00CB, 0x00E9, 0x00E9, 0x0109, 0x0109, 0x00E8, 0x00E8, + 0x092A, 0x00E9, 0x00E8, 0x00E8, 0x00E9, 0x00E9, 0x0109, 0x092A, 0x00E9, 0x00E9, 0x00A8, 0x0066, + 0x0067, 0x0068, 0x008B, 0x090F, 0x11D4, 0x0A37, 0x01D6, 0x01B4, 0x012F, 0x0089, 0x426E, 0x9D58, + 0x7C54, 0x116E, 0x09D4, 0x0A95, 0x0317, 0x051C, 0x055D, 0x041B, 0x03B9, 0x0336, 0x0316, 0x02D4, + 0x02B3, 0x02B3, 0x0230, 0x0230, 0x020F, 0x020F, 0x0A30, 0x01AD, 0x016B, 0x016B, 0x016B, 0x0129, + 0x00E8, 0x00E8, 0x00C7, 0x00C7, 0x00C6, 0x00C6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x0085, 0x0085, + 0x0085, 0x0087, 0x19D0, 0x0023, 0x0022, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0044, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0043, 0x0066, 0x0066, 0x0065, 0x0A2F, 0x09ED, 0x0044, + 0x0044, 0x1A6F, 0x09ED, 0x0002, 0x0002, 0x5822, 0xD842, 0xC800, 0xB863, 0x2001, 0x0022, 0x0043, + 0x2A6D, 0x1106, 0x3352, 0x2B10, 0x3331, 0x2311, 0x3435, 0x0084, 0x2AAE, 0x32D0, 0x2B52, 0x2A4C, + 0x0063, 0x32AF, 0x3BD4, 0x2B52, 0x32F0, 0x226C, 0x2ACF, 0x3A8D, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0062, 0x4BD2, 0x0041, 0x0000, 0x0863, 0x0001, 0x0000, + 0x0000, 0x21CB, 0x21CC, 0x0000, 0x0884, 0x0863, 0x0021, 0x0021, 0x31C8, 0x2126, 0x2125, 0x10A4, + 0x0000, 0x0000, 0x0000, 0x1082, 0x18C3, 0x2125, 0x10C5, 0x00C8, 0x0042, 0x0000, 0x2A8F, 0x1169, + 0x0000, 0x0000, 0x322B, 0x014B, 0x014B, 0x0884, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1169, 0x1169, 0x0000, 0x0000, 0x0000, 0x0024, 0x0044, 0x0044, + 0x1B15, 0x120F, 0x1109, 0x120E, 0x116C, 0x0044, 0x0001, 0x0001, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10A5, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0021, 0x0021, 0x0042, 0x0042, 0x0022, 0x0022, 0x0023, 0x0023, 0x0044, 0x0044, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0045, 0x22F6, 0x014D, 0x00A8, 0x0023, 0x2127, 0x52CC, 0xBE3A, + 0x7C12, 0x08E9, 0x00CB, 0x012F, 0x0152, 0x09B3, 0x114F, 0x0067, 0x0024, 0x0022, 0x0022, 0x0022, + 0x0025, 0x08C8, 0x00A7, 0x0045, 0x0065, 0x00A6, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x114A, + 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00C8, 0x00E9, 0x010E, 0x0A76, 0x457D, 0xAF5E, 0xC7BF, 0x1BB6, + 0x012E, 0x12B6, 0x0B38, 0x012D, 0x010C, 0x241C, 0x014E, 0x00EB, 0x3C99, 0xAF5E, 0x453C, 0x1BBA, + 0x012F, 0x00CA, 0x00E9, 0x00E9, 0x0109, 0x0109, 0x00E8, 0x00E8, 0x00E9, 0x092A, 0x00E8, 0x00E8, + 0x00E9, 0x00E9, 0x0109, 0x0109, 0x00E9, 0x00E9, 0x092A, 0x00A8, 0x0067, 0x0067, 0x0067, 0x0068, + 0x008A, 0x00CD, 0x0992, 0x0A16, 0x0217, 0x01F6, 0x0172, 0x00EE, 0x3271, 0x8519, 0x5CD9, 0x1398, + 0x151C, 0x051C, 0x169F, 0x055D, 0x043B, 0x03B9, 0x0357, 0x0316, 0x02B3, 0x02B3, 0x0230, 0x0230, + 0x020F, 0x020F, 0x0A30, 0x01AD, 0x016B, 0x014A, 0x0129, 0x0129, 0x00E8, 0x00E8, 0x00C7, 0x00C7, + 0x00C6, 0x00C6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x0085, 0x0085, 0x0065, 0x0087, 0x2211, 0x0024, + 0x0022, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0044, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0043, 0x0043, 0x0066, 0x0066, 0x0066, 0x09CD, 0x0A4F, 0x0064, 0x0044, 0x1A6F, 0x11ED, 0x0002, + 0x0802, 0xA042, 0xC800, 0xC800, 0xD062, 0x5001, 0x0022, 0x0022, 0x32CF, 0x19A9, 0x2B10, 0x1189, + 0x3C14, 0x3331, 0x1169, 0x224D, 0x2AAE, 0x2A4C, 0x1AAF, 0x32EF, 0x0927, 0x21EA, 0x3BF4, 0x226E, + 0x22AE, 0x224B, 0x19C9, 0x32CE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x4391, 0x0907, 0x0000, 0x0000, 0x0883, 0x0001, 0x0000, 0x0000, 0x21CB, 0x21EC, 0x0000, + 0x1084, 0x0863, 0x0021, 0x0021, 0x31C8, 0x2126, 0x2105, 0x10A3, 0x0000, 0x0000, 0x10C3, 0x31C8, + 0x2125, 0x2967, 0x10C5, 0x00C8, 0x0042, 0x0000, 0x328F, 0x116A, 0x0000, 0x0000, 0x322B, 0x096B, + 0x08C6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0969, 0x11AA, 0x0000, 0x0000, 0x0000, 0x0002, 0x0024, 0x0024, 0x1B98, 0x096B, 0x0085, 0x118B, + 0x2290, 0x0045, 0x0043, 0x0843, 0x0022, 0x0001, 0x0000, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x08A6, 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0843, 0x0022, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0024, 0x0024, + 0x19CF, 0x0A33, 0x00A9, 0x10C6, 0x422A, 0xB5D9, 0x8453, 0x1929, 0x00CB, 0x0130, 0x0172, 0x0992, + 0x090D, 0x0046, 0x0002, 0x0002, 0x0001, 0x0001, 0x0022, 0x0022, 0x0045, 0x196A, 0x0065, 0x0065, + 0x0065, 0x0065, 0x00A6, 0x0085, 0x0085, 0x0085, 0x0909, 0x00C8, 0x0086, 0x0086, 0x00A7, 0x00A7, + 0x00E8, 0x00E8, 0x010D, 0x01B3, 0x1C7C, 0x767D, 0xC77E, 0x5D9B, 0x014F, 0x1295, 0x0B18, 0x012D, + 0x010C, 0x23FB, 0x014D, 0x014D, 0x7E3C, 0x555C, 0x1C1C, 0x0A98, 0x010E, 0x00EB, 0x00EA, 0x00EA, + 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x012A, 0x00E8, 0x0109, 0x012A, 0x00E9, 0x00E9, + 0x0109, 0x0109, 0x014B, 0x014B, 0x00E9, 0x00E9, 0x00C8, 0x00A8, 0x00A8, 0x00A8, 0x0089, 0x00CC, + 0x0992, 0x0A37, 0x02B9, 0x02B9, 0x0298, 0x0276, 0x1397, 0x565C, 0x5F1E, 0x3EBF, 0x26FF, 0x1EBF, + 0x055D, 0x047C, 0x03B9, 0x0337, 0x02B4, 0x0292, 0x0251, 0x020F, 0x01EE, 0x01EE, 0x0A2F, 0x01AD, + 0x016A, 0x0129, 0x0108, 0x0108, 0x00E7, 0x00E7, 0x00C7, 0x00C7, 0x00C6, 0x00C6, 0x00A6, 0x00A6, + 0x0086, 0x0086, 0x0085, 0x0085, 0x0086, 0x0086, 0x1A12, 0x0025, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0002, 0x0064, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0065, 0x22B1, 0x2313, + 0x198B, 0x098C, 0x0A91, 0x0064, 0x0044, 0x1A6F, 0x11ED, 0x0001, 0x3001, 0xD862, 0xC800, 0xC800, + 0xD001, 0xA043, 0x0801, 0x0001, 0x2A6D, 0x332F, 0x1126, 0x1105, 0x21EA, 0x21EA, 0x0022, 0x21A9, + 0x21A8, 0x0042, 0x19A9, 0x2A4B, 0x3B0E, 0x0022, 0x21EA, 0x1106, 0x1968, 0x1966, 0x0001, 0x29E9, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x434F, 0x43F2, 0x1925, + 0x0000, 0x0883, 0x0021, 0x0000, 0x0000, 0x21CB, 0x2A0C, 0x0000, 0x10A4, 0x0063, 0x0841, 0x0841, + 0x31C8, 0x2125, 0x1905, 0x1083, 0x0000, 0x10C3, 0x31C8, 0x422A, 0x2967, 0x39E8, 0x10C5, 0x00E8, + 0x0042, 0x0000, 0x328F, 0x196A, 0x0000, 0x0000, 0x322B, 0x0949, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0083, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0969, 0x11AA, 0x0000, 0x0000, + 0x0000, 0x0002, 0x0022, 0x0065, 0x1BD9, 0x08E8, 0x0044, 0x0044, 0x0044, 0x0022, 0x0001, 0x0001, + 0x0022, 0x0863, 0x0864, 0x0064, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08A6, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0843, 0x0021, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0024, 0x0066, 0x2317, 0x00CA, 0x216A, 0x94F6, + 0x94D6, 0x1949, 0x00CB, 0x0130, 0x0192, 0x0971, 0x08CB, 0x0047, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0001, 0x0001, 0x0022, 0x0044, 0x0909, 0x00A7, 0x0065, 0x0065, 0x0065, 0x0065, 0x0085, 0x00C6, + 0x0085, 0x00C8, 0x0909, 0x0087, 0x0086, 0x0086, 0x00A7, 0x00E8, 0x00E8, 0x00E8, 0x012E, 0x1215, + 0x0B59, 0x459D, 0x9EBD, 0xA71E, 0x09F2, 0x0A55, 0x0B18, 0x012D, 0x010C, 0x23FB, 0x014D, 0x1AB2, + 0x5D9C, 0x137B, 0x139B, 0x0172, 0x096F, 0x096E, 0x00EA, 0x00EA, 0x00E9, 0x00E9, 0x00E9, 0x00E9, + 0x00E9, 0x00E9, 0x012A, 0x012A, 0x012A, 0x0109, 0x00E9, 0x00E9, 0x0109, 0x0109, 0x014B, 0x014B, + 0x012A, 0x012A, 0x012A, 0x012A, 0x00E9, 0x00A8, 0x0089, 0x0089, 0x00EA, 0x012D, 0x0213, 0x02B9, + 0x039C, 0x047E, 0x055D, 0x265E, 0x5F1E, 0x6F9F, 0x579F, 0x4F7F, 0x1E9F, 0x055D, 0x043B, 0x0378, + 0x02D4, 0x0292, 0x0231, 0x020F, 0x01EE, 0x01EE, 0x01EE, 0x01EE, 0x0129, 0x0129, 0x0108, 0x0108, + 0x00E7, 0x00E7, 0x00C7, 0x00C7, 0x00C6, 0x00C6, 0x00A6, 0x00A6, 0x0086, 0x0086, 0x0085, 0x0085, + 0x0086, 0x0086, 0x1A12, 0x0067, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, 0x0002, 0x0044, + 0x0064, 0x0064, 0x0064, 0x0064, 0x0065, 0x0065, 0x010A, 0x00A8, 0x0066, 0x094A, 0x12F2, 0x0064, + 0x0044, 0x1A6F, 0x120D, 0x0001, 0x5042, 0xC083, 0xB842, 0xB842, 0xB842, 0x9842, 0x0801, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0863, 0x0021, 0x0000, + 0x0000, 0x21CB, 0x2A0C, 0x0000, 0x10A4, 0x0862, 0x0841, 0x0841, 0x31C8, 0x2125, 0x18E4, 0x1083, + 0x1082, 0x31C8, 0x4209, 0x4209, 0x2946, 0x52AB, 0x10A4, 0x00E8, 0x0042, 0x0000, 0x3AD0, 0x196A, + 0x0000, 0x0000, 0x3A4C, 0x08C6, 0x0000, 0x0000, 0x0000, 0x10E4, 0x11C9, 0x2DDD, 0x2331, 0x08A4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x118A, 0x19CB, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x08E8, + 0x1BB9, 0x0066, 0x0044, 0x0044, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, + 0x0000, 0x0022, 0x0023, 0x0023, 0x0042, 0x0042, 0x0022, 0x0885, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0842, 0x0022, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0043, 0x0043, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x2272, 0x09F1, 0x6371, 0xB5FB, 0x320E, 0x00AB, 0x0130, 0x0993, 0x0950, + 0x0889, 0x0024, 0x0024, 0x0865, 0x0022, 0x0022, 0x0023, 0x0023, 0x0044, 0x0044, 0x0064, 0x0064, + 0x114A, 0x0065, 0x0065, 0x0065, 0x0085, 0x0085, 0x0085, 0x0085, 0x00E8, 0x092A, 0x00A7, 0x00A7, + 0x00C7, 0x00C7, 0x00C8, 0x00C8, 0x00E9, 0x096D, 0x11AE, 0x014F, 0x0216, 0x24DD, 0x65BC, 0x863C, + 0x2B98, 0x0A55, 0x0B18, 0x014E, 0x010C, 0x1BBB, 0x010D, 0x3CDB, 0x1358, 0x133A, 0x0237, 0x010F, + 0x014C, 0x014C, 0x098D, 0x014C, 0x010A, 0x010A, 0x0109, 0x0109, 0x0109, 0x0109, 0x014B, 0x098C, + 0x010A, 0x010A, 0x0109, 0x0109, 0x012A, 0x012A, 0x016B, 0x09AC, 0x018B, 0x018B, 0x018C, 0x018C, + 0x016C, 0x016B, 0x014B, 0x014B, 0x014B, 0x016C, 0x01AF, 0x0253, 0x03B9, 0x1DFE, 0x371F, 0x5F9F, + 0x97DF, 0xA7DF, 0x8FDF, 0x7FDF, 0x5F7F, 0x165F, 0x04DD, 0x03D9, 0x02F5, 0x0292, 0x0230, 0x020F, + 0x01AD, 0x01AD, 0x01AD, 0x09EE, 0x014A, 0x0129, 0x0108, 0x0108, 0x00E7, 0x00E7, 0x00E7, 0x00E7, + 0x00C7, 0x00C7, 0x08A7, 0x0085, 0x0085, 0x0085, 0x0086, 0x0086, 0x0066, 0x0066, 0x11D1, 0x08CA, + 0x0023, 0x0023, 0x0043, 0x0043, 0x0044, 0x0064, 0x0064, 0x0064, 0x0064, 0x0022, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0086, 0x0086, 0x0066, 0x0909, 0x1334, 0x0065, 0x0044, 0x1A4E, 0x120E, 0x0001, + 0x0801, 0x2001, 0x2001, 0x2001, 0x1000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0001, 0x0000, 0x0000, 0x220C, 0x324D, 0x0000, + 0x10A4, 0x0863, 0x0842, 0x0842, 0x31C8, 0x1905, 0x18E4, 0x0883, 0x10C4, 0x39E9, 0x4209, 0x4209, + 0x2946, 0x7BF0, 0x0883, 0x00E8, 0x0042, 0x0000, 0x4311, 0x198A, 0x0000, 0x0000, 0x3A4C, 0x08C6, + 0x0000, 0x0000, 0x0947, 0x1D7C, 0x159D, 0x0DDE, 0x15BD, 0x257C, 0x1ACF, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1020, 0x1020, 0x2040, 0x1020, 0x0000, 0x0000, 0x0000, 0x0000, + 0x19CB, 0x1A0C, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x096B, 0x1357, 0x0045, 0x0044, 0x0044, + 0x0044, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0023, 0x0885, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0842, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0043, 0x0043, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x10E8, 0x4BD8, + 0x9558, 0x7C55, 0x08CC, 0x0950, 0x1193, 0x08EE, 0x0046, 0x0023, 0x0022, 0x0022, 0x0887, 0x0023, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0044, 0x0044, 0x0064, 0x08C7, 0x08C7, 0x0065, 0x0065, 0x0065, + 0x0085, 0x0085, 0x0085, 0x0085, 0x0929, 0x00E8, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00C8, 0x00C8, + 0x11AE, 0x096D, 0x010B, 0x012D, 0x01B2, 0x0B5A, 0x2CDC, 0x4C7A, 0x34DD, 0x12D7, 0x02F8, 0x014E, + 0x010D, 0x1BBB, 0x1A94, 0x1C1B, 0x0257, 0x12FA, 0x0152, 0x012D, 0x014C, 0x014C, 0x012C, 0x098D, + 0x012B, 0x010A, 0x0109, 0x0109, 0x0109, 0x012B, 0x014B, 0x098C, 0x010A, 0x010A, 0x0109, 0x0109, + 0x012A, 0x012A, 0x016B, 0x018C, 0x01AD, 0x018B, 0x018C, 0x018C, 0x01AD, 0x01AD, 0x01CD, 0x01CD, + 0x01EE, 0x022F, 0x02D2, 0x24F8, 0x3EDE, 0x36FF, 0x2EDF, 0x473F, 0x677F, 0x87DF, 0xB7FF, 0xC7FF, + 0xB7FF, 0x573F, 0x0D7E, 0x041A, 0x02F5, 0x0292, 0x0230, 0x020F, 0x01AD, 0x01AD, 0x01AC, 0x09EE, + 0x014A, 0x0129, 0x0108, 0x0108, 0x00E7, 0x00E7, 0x00E7, 0x00E7, 0x00C7, 0x00C7, 0x08A7, 0x08A7, + 0x08A7, 0x08A7, 0x0086, 0x0086, 0x0066, 0x0087, 0x09B1, 0x090C, 0x0023, 0x0023, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0022, 0x0022, 0x0064, 0x0022, 0x0001, 0x0001, 0x0022, 0x0022, 0x0086, 0x0086, + 0x0067, 0x00C8, 0x1BB6, 0x0085, 0x0044, 0x1A4E, 0x120E, 0x0022, 0x0002, 0x0801, 0x0801, 0x0801, + 0x0801, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0863, 0x0021, 0x0000, 0x0000, 0x2A0D, 0x324D, 0x0000, 0x10A4, 0x0863, 0x0842, 0x0842, + 0x31C8, 0x1905, 0x18C4, 0x0882, 0x1904, 0x3A09, 0x422A, 0x422A, 0x2146, 0x8431, 0x0043, 0x00E8, + 0x0043, 0x0000, 0x4B52, 0x198A, 0x0000, 0x0000, 0x42AD, 0x08C6, 0x0000, 0x0000, 0x1AEF, 0x05DE, + 0x0DDD, 0x1456, 0x155B, 0x05BD, 0x1C56, 0x0000, 0x0000, 0x0000, 0x19A8, 0x1188, 0x0062, 0x0021, + 0x1988, 0x1988, 0x1126, 0x1926, 0x0000, 0x0041, 0x10E4, 0x0000, 0x0000, 0x0000, 0x0000, 0x1820, + 0x3080, 0x7283, 0x6A22, 0x3080, 0x0000, 0x0000, 0x0000, 0x0000, 0x222C, 0x222C, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x11EE, 0x12F5, 0x0044, 0x194A, 0x112A, 0x0023, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x0043, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0863, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0023, 0x0023, 0x0021, 0x0021, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0023, 0x0023, 0x8CF7, 0x84B8, 0x196D, 0x112F, 0x1970, 0x08CB, + 0x0026, 0x0022, 0x0001, 0x0001, 0x0002, 0x0002, 0x1109, 0x0023, 0x0023, 0x0023, 0x0043, 0x0043, + 0x0064, 0x0064, 0x0065, 0x0929, 0x0065, 0x0065, 0x0065, 0x0065, 0x0085, 0x0085, 0x0085, 0x00C8, + 0x08E8, 0x00A7, 0x00C8, 0x00C8, 0x00E8, 0x00E8, 0x00E9, 0x118D, 0x098D, 0x012B, 0x010B, 0x010B, + 0x016F, 0x0257, 0x147D, 0x2399, 0x0B5A, 0x1C3D, 0x02D8, 0x016F, 0x012E, 0x137B, 0x139B, 0x0A77, + 0x0A99, 0x0216, 0x012F, 0x012E, 0x014C, 0x014C, 0x012B, 0x012B, 0x098D, 0x014B, 0x012B, 0x012B, + 0x014B, 0x014B, 0x012B, 0x012B, 0x014B, 0x014B, 0x014A, 0x014A, 0x016B, 0x016B, 0x01AC, 0x01AC, + 0x01EE, 0x01AD, 0x01EE, 0x01EE, 0x01EF, 0x020F, 0x0230, 0x0271, 0x02D3, 0x1CB8, 0x369E, 0x1E9F, + 0x0DDF, 0x057F, 0x057F, 0x15DF, 0x369F, 0x4F3F, 0x677F, 0x8FBF, 0xAFFF, 0x97DF, 0x2E5F, 0x043B, + 0x0316, 0x0292, 0x0230, 0x01EE, 0x01AC, 0x01AC, 0x018C, 0x09EE, 0x014A, 0x0129, 0x00E8, 0x00E8, + 0x00C7, 0x00C7, 0x08C7, 0x08C7, 0x10A7, 0x10A7, 0x1867, 0x1867, 0x2047, 0x1867, 0x1046, 0x1046, + 0x0047, 0x0047, 0x0970, 0x114D, 0x0023, 0x0023, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, + 0x0064, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0066, 0x00A7, 0x00A7, 0x00A7, 0x1B96, 0x08E7, + 0x0044, 0x1A2E, 0x0A0E, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0882, 0x0021, 0x0000, + 0x0000, 0x2A2D, 0x326E, 0x0000, 0x10C4, 0x0863, 0x0021, 0x0883, 0x2987, 0x18E4, 0x10C4, 0x1082, + 0x1904, 0x3A09, 0x422A, 0x422A, 0x2146, 0x8C72, 0x0043, 0x0108, 0x0043, 0x0000, 0x53B4, 0x19AB, + 0x0000, 0x0000, 0x4ACE, 0x08E6, 0x0000, 0x0000, 0x1C15, 0x05BD, 0x1310, 0x0042, 0x0948, 0x0D7C, + 0x1498, 0x0083, 0x0000, 0x0041, 0x3CD7, 0x33B2, 0x4D18, 0x1126, 0x4518, 0x3B91, 0x32CD, 0x4C55, + 0x0041, 0x2A6B, 0x222A, 0x0000, 0x0000, 0x0000, 0x0000, 0x2040, 0xA426, 0xFF2A, 0xFEEA, 0x7263, + 0x1020, 0x0000, 0x0000, 0x0000, 0x2A6D, 0x222C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x1271, + 0x0A72, 0x0044, 0x0045, 0x08A6, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08A6, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0022, 0x0042, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0023, 0x0023, 0x0021, 0x0021, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0023, 0x3A4D, 0x5B95, 0x114F, 0x08EB, 0x0045, 0x0004, 0x0002, 0x0022, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0002, 0x198B, 0x0023, 0x0023, 0x0023, 0x0043, 0x0043, 0x0064, 0x0064, 0x0087, 0x114A, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0085, 0x0085, 0x00A6, 0x0909, 0x00A7, 0x00A7, 0x00C8, 0x00C8, + 0x00E8, 0x00E8, 0x096C, 0x096C, 0x012B, 0x012B, 0x010B, 0x010B, 0x016E, 0x01D4, 0x035A, 0x13DB, + 0x0A78, 0x0B5C, 0x02B8, 0x016F, 0x012E, 0x0B1A, 0x02DA, 0x01D6, 0x12BA, 0x0172, 0x012E, 0x012E, + 0x014C, 0x014C, 0x012B, 0x012B, 0x012C, 0x098D, 0x012B, 0x014B, 0x014B, 0x014B, 0x012B, 0x012B, + 0x018C, 0x014B, 0x014A, 0x014A, 0x016B, 0x016B, 0x01AC, 0x01AC, 0x020F, 0x020F, 0x020F, 0x0230, + 0x0251, 0x0273, 0x0314, 0x1CB9, 0x369E, 0x269F, 0x05DF, 0x057F, 0x057F, 0x051F, 0x051F, 0x04FF, + 0x0D5E, 0x1DFF, 0x267F, 0x36DF, 0x4F1F, 0x675F, 0x573F, 0x0CDB, 0x0316, 0x0292, 0x0230, 0x01EE, + 0x01AC, 0x01AC, 0x018C, 0x09EE, 0x014A, 0x0129, 0x00E8, 0x00E8, 0x00C7, 0x00C7, 0x08C7, 0x18A7, + 0x20A7, 0x20A7, 0x2867, 0x2867, 0x2047, 0x2047, 0x1847, 0x1046, 0x0047, 0x0047, 0x092E, 0x1190, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, 0x0064, 0x0002, 0x0022, 0x0022, + 0x0022, 0x0022, 0x08E8, 0x198B, 0x112A, 0x0066, 0x1B54, 0x116A, 0x0044, 0x1A2E, 0x0A2E, 0x0864, + 0x0863, 0x0863, 0x1042, 0x1042, 0x0841, 0x0841, 0x0841, 0x0842, 0x0841, 0x0841, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0841, 0x0841, 0x0861, 0x0861, 0x1062, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, + 0x1082, 0x1082, 0x0862, 0x1082, 0x0882, 0x0883, 0x0021, 0x0000, 0x0000, 0x2A4D, 0x326E, 0x0000, + 0x10C4, 0x0863, 0x0021, 0x10C4, 0x2987, 0x18E4, 0x10C4, 0x1082, 0x2125, 0x4229, 0x424A, 0x424A, + 0x2146, 0x94B3, 0x0022, 0x0108, 0x0063, 0x0000, 0x5BF5, 0x19AB, 0x0000, 0x0000, 0x532F, 0x10E6, + 0x0000, 0x0926, 0x159D, 0x153B, 0x00A4, 0x0043, 0x0022, 0x1415, 0x0D9D, 0x126E, 0x0000, 0x0041, + 0x3434, 0x0020, 0x2B51, 0x1A8D, 0x2C55, 0x11A8, 0x08A4, 0x2B2F, 0x11C9, 0x3C54, 0x0083, 0x0000, + 0x0000, 0x0000, 0x0000, 0x30A0, 0xFF08, 0xFF08, 0xFF08, 0xC507, 0x2040, 0x0000, 0x0000, 0x0000, + 0x3AAD, 0x326D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x12D4, 0x120F, 0x0043, 0x0024, 0x0024, + 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x08A6, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0843, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0863, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0044, 0x21AE, 0x0088, 0x0023, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0001, 0x0001, 0x0001, 0x0022, 0x08C6, 0x1129, 0x0023, + 0x0023, 0x0023, 0x0043, 0x0043, 0x0065, 0x0065, 0x114A, 0x00A6, 0x0065, 0x00A6, 0x00A6, 0x00A6, + 0x0086, 0x0086, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00E9, 0x012B, 0x11CE, 0x012B, + 0x012B, 0x012B, 0x012C, 0x012C, 0x014D, 0x0191, 0x0298, 0x145D, 0x0258, 0x029B, 0x0299, 0x0191, + 0x014F, 0x0AFA, 0x0238, 0x0A58, 0x0217, 0x0150, 0x014E, 0x014E, 0x016D, 0x016D, 0x016D, 0x016D, + 0x016D, 0x016D, 0x09CE, 0x018D, 0x014B, 0x014B, 0x016C, 0x016C, 0x01AD, 0x01AD, 0x018C, 0x01AC, + 0x01AD, 0x020E, 0x01EE, 0x01EE, 0x0230, 0x0292, 0x0272, 0x02B3, 0x0315, 0x24D9, 0x46BE, 0x2EDF, + 0x0E1F, 0x057F, 0x053F, 0x04FE, 0x04DE, 0x04DE, 0x04DE, 0x04BE, 0x04DE, 0x04DE, 0x051E, 0x0D5E, + 0x15DF, 0x15FE, 0x1DFE, 0x14DB, 0x02F5, 0x0271, 0x020F, 0x01CD, 0x018C, 0x018C, 0x018C, 0x0A0E, + 0x014B, 0x0109, 0x00C7, 0x00C7, 0x00C7, 0x08C7, 0x20A7, 0x20A7, 0x3088, 0x3088, 0x3068, 0x3068, + 0x3048, 0x3047, 0x2847, 0x1847, 0x1047, 0x1047, 0x00CD, 0x19D2, 0x0024, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0065, 0x0023, 0x0002, 0x0002, 0x0022, 0x0022, 0x0066, 0x0066, + 0x0086, 0x0086, 0x1AF3, 0x19CC, 0x0044, 0x19EC, 0x0A2E, 0x0022, 0x0002, 0x1000, 0x3060, 0x7A44, + 0x2000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0863, 0x0021, 0x0000, 0x0000, 0x2A4D, 0x326E, 0x0000, 0x10C4, 0x0863, 0x0021, 0x2166, + 0x2167, 0x18E4, 0x10C3, 0x0862, 0x2125, 0x422A, 0x424A, 0x424A, 0x2145, 0x9CF4, 0x0022, 0x00E8, + 0x0043, 0x0000, 0x6456, 0x19CB, 0x0000, 0x0000, 0x6390, 0x1107, 0x0000, 0x08C4, 0x14D9, 0x153B, + 0x0043, 0x0043, 0x0042, 0x13B4, 0x0D5C, 0x11C9, 0x0000, 0x0021, 0x4455, 0x0001, 0x22CE, 0x22CE, + 0x3538, 0x33D2, 0x21A7, 0x11A8, 0x2BB2, 0x44D6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x30A0, + 0xFF08, 0xFF08, 0xFF08, 0xCD47, 0x2040, 0x0000, 0x0000, 0x0000, 0x4AEE, 0x3AAD, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0022, 0x1B36, 0x09AD, 0x0044, 0x0024, 0x0024, 0x0022, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08A6, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0843, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0863, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x08A5, 0x0001, 0x0001, 0x0001, 0x0022, 0x198A, 0x0065, 0x0043, 0x0023, 0x0023, 0x0043, 0x0043, + 0x0065, 0x0065, 0x116A, 0x0065, 0x0065, 0x0065, 0x00A6, 0x00A6, 0x0086, 0x0086, 0x0909, 0x00C7, + 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00EA, 0x120F, 0x012B, 0x012B, 0x012B, 0x012B, 0x012C, 0x012C, + 0x016D, 0x01D2, 0x0237, 0x0BFC, 0x139B, 0x0238, 0x02B9, 0x0191, 0x0170, 0x0ADA, 0x01D6, 0x12FA, + 0x01D5, 0x0191, 0x014E, 0x014E, 0x016D, 0x016D, 0x016D, 0x016D, 0x016D, 0x016D, 0x01AE, 0x018D, + 0x014B, 0x014B, 0x016C, 0x016C, 0x01AD, 0x09EE, 0x01CE, 0x01CE, 0x020E, 0x020E, 0x0230, 0x0230, + 0x0292, 0x0335, 0x0376, 0x24FA, 0x4EBE, 0x36FF, 0x165F, 0x05BF, 0x057F, 0x051F, 0x04FE, 0x04FE, + 0x04DE, 0x047D, 0x047D, 0x047D, 0x045C, 0x045C, 0x045C, 0x045C, 0x0CFD, 0x047B, 0x041A, 0x0378, + 0x02B3, 0x0250, 0x020F, 0x01AD, 0x018C, 0x018C, 0x018C, 0x018C, 0x09AD, 0x00E8, 0x00C7, 0x00C7, + 0x08C7, 0x08C7, 0x20A7, 0x20A7, 0x3088, 0x3088, 0x4068, 0x4068, 0x4028, 0x4028, 0x3048, 0x2847, + 0x1847, 0x1048, 0x008D, 0x11F3, 0x0024, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0065, 0x0023, 0x0002, 0x0002, 0x0022, 0x0022, 0x0066, 0x0066, 0x0086, 0x0086, 0x12B2, 0x224D, + 0x0044, 0x19EC, 0x0A2E, 0x0022, 0x1000, 0x1820, 0xB3E5, 0xE566, 0x61C2, 0x1000, 0x0000, 0x0021, + 0x332F, 0x2A6D, 0x0884, 0x3ACE, 0x42ED, 0x0021, 0x21C9, 0x0001, 0x19A8, 0x0000, 0x19C9, 0x32AE, + 0x32AE, 0x29C9, 0x0883, 0x2146, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x21A8, 0x0000, 0x0000, 0x0863, 0x0021, 0x0000, + 0x0000, 0x2A4D, 0x328E, 0x0000, 0x10C5, 0x0863, 0x0021, 0x31C8, 0x2167, 0x18C4, 0x10C3, 0x0862, + 0x2946, 0x3A09, 0x4229, 0x4229, 0x2125, 0xA535, 0x0022, 0x00E8, 0x0043, 0x0000, 0x74D8, 0x21EC, + 0x0000, 0x0000, 0x6C12, 0x1127, 0x0001, 0x0001, 0x1352, 0x0D9D, 0x09EB, 0x0043, 0x0085, 0x153B, + 0x14D9, 0x0022, 0x0001, 0x0001, 0x3C76, 0x08C6, 0x4475, 0x1189, 0x2BF4, 0x0083, 0x0043, 0x0043, + 0x3518, 0x2B50, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1840, 0xCD48, 0xFF08, 0xFEE9, 0x8304, + 0x1020, 0x0000, 0x0000, 0x0000, 0x4B0E, 0x3AAD, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x1B98, + 0x096B, 0x0044, 0x0024, 0x0024, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10E8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0863, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0864, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0022, 0x10E6, 0x0001, 0x0022, 0x0022, + 0x0022, 0x21CC, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0064, 0x0086, 0x1169, 0x0065, + 0x0085, 0x0085, 0x0086, 0x0086, 0x00C7, 0x00C7, 0x0909, 0x00C8, 0x00C7, 0x00C7, 0x00C8, 0x00C8, + 0x098D, 0x096C, 0x010A, 0x010A, 0x014C, 0x014C, 0x016D, 0x016D, 0x01D0, 0x01D0, 0x01F4, 0x02F9, + 0x145D, 0x01F6, 0x0AD9, 0x01B2, 0x01D2, 0x0A78, 0x0A17, 0x0A78, 0x01F3, 0x01B2, 0x01F1, 0x01B0, + 0x01AF, 0x01AF, 0x01CF, 0x018E, 0x018D, 0x018D, 0x018D, 0x01CE, 0x018D, 0x018D, 0x01AD, 0x01AD, + 0x01CE, 0x0210, 0x0230, 0x0230, 0x0250, 0x0271, 0x02B3, 0x0315, 0x0397, 0x2D5B, 0x56FE, 0x3EFF, + 0x165F, 0x05FF, 0x059F, 0x055F, 0x04BE, 0x04BE, 0x049D, 0x043D, 0x041B, 0x041B, 0x041B, 0x03FA, + 0x03FA, 0x03DA, 0x03DA, 0x03D9, 0x0C3B, 0x0377, 0x0316, 0x02D4, 0x0271, 0x022F, 0x01CD, 0x018C, + 0x016B, 0x016B, 0x016B, 0x016B, 0x09AD, 0x00E9, 0x00C7, 0x00C7, 0x18A7, 0x18A7, 0x3088, 0x3088, + 0x4068, 0x5068, 0x6049, 0x6828, 0x7029, 0x5829, 0x4048, 0x3048, 0x2848, 0x1849, 0x086D, 0x19F4, + 0x0026, 0x0023, 0x0002, 0x0002, 0x0022, 0x0022, 0x0023, 0x0023, 0x0085, 0x0023, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0086, 0x0087, 0x0087, 0x0086, 0x0A70, 0x2AAF, 0x0044, 0x11AB, 0x09ED, 0x0001, + 0x0821, 0x7A63, 0xB3E5, 0x5142, 0xDD48, 0x30A1, 0x0000, 0x0042, 0x32EF, 0x224D, 0x3331, 0x1A0B, + 0x08C5, 0x0042, 0x4C15, 0x0064, 0x22AE, 0x0001, 0x2ACF, 0x19A9, 0x1A2C, 0x19CA, 0x10E6, 0x2A2C, + 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x324A, 0x22CE, 0x0000, 0x0000, 0x0863, 0x0021, 0x0000, 0x0000, 0x324D, 0x328E, 0x0000, + 0x10C4, 0x0862, 0x0021, 0x3A0A, 0x2146, 0x10C4, 0x10A3, 0x0862, 0x2946, 0x39E9, 0x4229, 0x4229, + 0x2125, 0xA535, 0x0022, 0x00E8, 0x0043, 0x0000, 0x95BB, 0x2A2C, 0x0000, 0x0000, 0x7C53, 0x1148, + 0x0001, 0x0001, 0x2CB8, 0x05BD, 0x0D5C, 0x1331, 0x1498, 0x059E, 0x1D3B, 0x0043, 0x0001, 0x0001, + 0x4455, 0x4455, 0x220A, 0x0042, 0x3CB6, 0x4C75, 0x436F, 0x0000, 0x2B50, 0x1126, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0800, 0x38C1, 0xA426, 0x8B45, 0x2860, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4B0E, 0x42AD, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x1BDA, 0x012A, 0x118A, 0x22D1, 0x224F, + 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1109, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0863, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0863, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x08A5, 0x0884, 0x0022, 0x0022, 0x0022, 0x0023, 0x21CC, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0064, 0x0949, 0x00C7, 0x0065, 0x0085, 0x0085, 0x0086, 0x0086, + 0x00C7, 0x00C8, 0x00C8, 0x00C8, 0x00C7, 0x00C7, 0x00C8, 0x00C8, 0x11AE, 0x010A, 0x010A, 0x010A, + 0x014C, 0x014C, 0x016D, 0x01AF, 0x01D0, 0x01D0, 0x01F3, 0x0257, 0x0BDC, 0x0AB8, 0x0A97, 0x01D3, + 0x01F3, 0x01F6, 0x0A79, 0x0216, 0x01F3, 0x01F3, 0x01F1, 0x01F1, 0x01F1, 0x01D0, 0x01CF, 0x01CF, + 0x018D, 0x018D, 0x01CE, 0x020F, 0x01CE, 0x01CE, 0x01AD, 0x01EF, 0x0210, 0x0251, 0x0292, 0x0292, + 0x02D3, 0x0336, 0x03D7, 0x2D7B, 0x571E, 0x4F1F, 0x1E9F, 0x063F, 0x05FF, 0x057F, 0x055F, 0x04FF, + 0x04BE, 0x047E, 0x043D, 0x043D, 0x041B, 0x03DA, 0x03B9, 0x03B9, 0x0398, 0x0398, 0x0357, 0x0357, + 0x0B98, 0x02D4, 0x0292, 0x0271, 0x022F, 0x01EE, 0x01CD, 0x018C, 0x016B, 0x016B, 0x016B, 0x016B, + 0x09AD, 0x00E9, 0x00C7, 0x00C7, 0x18A7, 0x18A7, 0x3088, 0x3868, 0x5068, 0x6869, 0x884A, 0xA08A, + 0x8029, 0x7029, 0x5049, 0x4048, 0x3029, 0x284A, 0x106D, 0x1A16, 0x0026, 0x0026, 0x0002, 0x0002, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0086, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x00C8, 0x1A0F, + 0x1A0F, 0x00E9, 0x0A2F, 0x2AD0, 0x0044, 0x116A, 0x09ED, 0x0021, 0x3922, 0xD4C6, 0x3860, 0x2800, + 0x69E3, 0xB447, 0x0000, 0x0042, 0x328D, 0x08C4, 0x3BB4, 0x3BD4, 0x3AEF, 0x1968, 0x228E, 0x19AA, + 0x22AE, 0x0001, 0x32EE, 0x10E6, 0x19CA, 0x19CA, 0x3351, 0x43F4, 0x0021, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22CE, 0x0000, + 0x0000, 0x0863, 0x0021, 0x0000, 0x0000, 0x324D, 0x328E, 0x0000, 0x10C4, 0x0862, 0x0021, 0x3A0A, + 0x2146, 0x10C4, 0x10A3, 0x0862, 0x2146, 0x31C8, 0x39E8, 0x39E8, 0x2125, 0xA535, 0x0022, 0x00C7, + 0x0043, 0x0000, 0xAE7D, 0x2A4C, 0x0000, 0x0000, 0x84B4, 0x1989, 0x0021, 0x0021, 0x1168, 0x1C56, + 0x0D9D, 0x05BE, 0x05BE, 0x1436, 0x1A6D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0800, 0x0800, 0x1820, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x5B4E, 0x42AC, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0044, 0x1BFA, 0x08E9, 0x0044, 0x0086, 0x08E8, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0043, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1109, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0042, 0x0883, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x1127, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0044, 0x21EC, 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, + 0x0064, 0x1149, 0x0065, 0x0065, 0x0085, 0x0085, 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00A6, 0x00A6, + 0x00E8, 0x00E8, 0x00C9, 0x098C, 0x010A, 0x010A, 0x012B, 0x012B, 0x014C, 0x018E, 0x01D0, 0x01D0, + 0x01D1, 0x01F2, 0x0214, 0x0256, 0x033B, 0x13BC, 0x0215, 0x01F4, 0x01F4, 0x01B5, 0x02BA, 0x0258, + 0x0255, 0x0234, 0x01F2, 0x0234, 0x0233, 0x0212, 0x01F0, 0x01F0, 0x01AF, 0x01CF, 0x01CF, 0x0211, + 0x0A51, 0x0210, 0x0210, 0x0231, 0x0252, 0x0293, 0x0336, 0x0356, 0x0C38, 0x3DDB, 0x5F1F, 0x4F3F, + 0x26BF, 0x0E5F, 0x063F, 0x05DF, 0x057F, 0x051F, 0x049E, 0x049E, 0x047D, 0x043C, 0x03DA, 0x03DA, + 0x0399, 0x0399, 0x0378, 0x0337, 0x0337, 0x02F5, 0x02D5, 0x02D5, 0x0B15, 0x02B3, 0x0251, 0x020F, + 0x01CD, 0x01CD, 0x018C, 0x018C, 0x016B, 0x016B, 0x014A, 0x014A, 0x09AD, 0x00E9, 0x00C8, 0x08A7, + 0x20A7, 0x20A7, 0x3088, 0x4868, 0x6048, 0x7849, 0xA86A, 0xDB93, 0xA82A, 0x880A, 0x684A, 0x4829, + 0x382A, 0x304A, 0x184D, 0x2217, 0x0827, 0x0825, 0x0003, 0x0003, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0086, 0x0044, 0x0022, 0x0022, 0x0023, 0x0023, 0x08C8, 0x1A4F, 0x11AD, 0x00A7, 0x0A0E, 0x22F1, + 0x0044, 0x1149, 0x09ED, 0x0021, 0x2080, 0xCCE8, 0x40A0, 0x2820, 0x9304, 0x82E5, 0x0000, 0x0022, + 0x328E, 0x1168, 0x3352, 0x19EB, 0x0042, 0x2A8D, 0x2B31, 0x22CF, 0x2B10, 0x0043, 0x32EE, 0x1106, + 0x19A9, 0x19C9, 0x0906, 0x2A4B, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x32EE, 0x0000, 0x0000, 0x0862, 0x0021, 0x0000, + 0x0000, 0x328F, 0x3A8F, 0x0000, 0x10A4, 0x0842, 0x0021, 0x3A2A, 0x1926, 0x10A3, 0x10A3, 0x0862, + 0x2105, 0x31A8, 0x39E8, 0x39E8, 0x2125, 0xA535, 0x0021, 0x00C7, 0x0043, 0x0000, 0xAE9E, 0x2A0B, + 0x0000, 0x0000, 0x8CF5, 0x19CA, 0x0021, 0x0021, 0x0021, 0x0023, 0x2436, 0x15DE, 0x255B, 0x0063, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, + 0x0000, 0x0000, 0x0000, 0x0000, 0x6C32, 0x428C, 0x0000, 0x0000, 0x0001, 0x0001, 0x00A6, 0x143B, + 0x0087, 0x0043, 0x0043, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x1108, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0863, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0042, 0x0042, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x1127, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0907, 0x114A, 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x0065, 0x1149, 0x0065, 0x0065, + 0x0085, 0x0085, 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00A6, 0x00A6, 0x00C7, 0x00E8, 0x010A, 0x09CD, + 0x010A, 0x010A, 0x012B, 0x012B, 0x014D, 0x018E, 0x01D0, 0x01D0, 0x01F2, 0x0214, 0x0256, 0x0298, + 0x035B, 0x043E, 0x02B8, 0x0215, 0x01B5, 0x0258, 0x02FB, 0x02BA, 0x0298, 0x0255, 0x0234, 0x0234, + 0x0233, 0x0233, 0x01F0, 0x01F0, 0x01F0, 0x01F0, 0x0211, 0x0211, 0x02B3, 0x0293, 0x0293, 0x0293, + 0x0316, 0x0377, 0x149A, 0x463C, 0x6F7F, 0x4F3F, 0x26BF, 0x0E7F, 0x063F, 0x061F, 0x05DF, 0x057F, + 0x051F, 0x04DF, 0x049E, 0x045D, 0x043C, 0x03FB, 0x03DA, 0x03DA, 0x0399, 0x0358, 0x0337, 0x0337, + 0x02F5, 0x02F5, 0x02D5, 0x02B3, 0x02B3, 0x02B3, 0x020F, 0x01EE, 0x01CD, 0x01CD, 0x018C, 0x018C, + 0x016B, 0x016B, 0x014A, 0x014A, 0x098D, 0x00E9, 0x00A8, 0x08A7, 0x20A7, 0x20A7, 0x3868, 0x5048, + 0x7028, 0x984A, 0xC9AD, 0xE4B4, 0xC98D, 0xA02A, 0x782A, 0x582A, 0x482A, 0x382A, 0x202D, 0x2217, + 0x0827, 0x0826, 0x0003, 0x0003, 0x0023, 0x0023, 0x0023, 0x0023, 0x0086, 0x0044, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0065, 0x08C8, 0x00A7, 0x0086, 0x0A0E, 0x2B12, 0x0044, 0x1149, 0x09ED, 0x0001, + 0x0000, 0x51A2, 0xB427, 0x69A2, 0xC465, 0x1800, 0x0000, 0x0022, 0x3BB3, 0x3351, 0x1147, 0x3B92, + 0x4371, 0x2A0B, 0x0021, 0x326C, 0x2AAD, 0x3B92, 0x10C4, 0x10E4, 0x1946, 0x2167, 0x08A3, 0x29A8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2A8C, 0x0000, 0x0000, 0x0862, 0x0021, 0x0000, 0x0000, 0x328F, 0x3A8F, 0x0000, + 0x10A4, 0x0842, 0x0021, 0x3A2A, 0x1926, 0x10A3, 0x10A3, 0x0862, 0x18E4, 0x2967, 0x2967, 0x2967, + 0x18E4, 0x9CF4, 0x0001, 0x00C6, 0x0042, 0x0000, 0xAE7D, 0x21EB, 0x0000, 0x0000, 0x7432, 0x2B92, + 0x0043, 0x0021, 0x0022, 0x0022, 0x0084, 0x1168, 0x08A4, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2187, + 0x9DFA, 0x0882, 0x0000, 0x0000, 0x0021, 0x0021, 0x08E8, 0x143B, 0x0045, 0x0045, 0x0043, 0x0043, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0003, 0x08C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0842, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0883, 0x0002, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, 0x0042, 0x0042, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x1106, 0x0022, 0x0022, 0x0022, 0x0022, 0x19AB, 0x00C6, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0086, 0x1129, 0x0065, 0x0065, 0x0085, 0x0085, 0x00A6, 0x00A6, + 0x00E8, 0x00A6, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x094B, 0x094B, 0x014B, 0x014B, 0x014C, 0x014C, + 0x016D, 0x01D0, 0x01F1, 0x0213, 0x0234, 0x0276, 0x0298, 0x02FA, 0x039D, 0x041E, 0x0C1D, 0x0298, + 0x0257, 0x033C, 0x035D, 0x035D, 0x02FA, 0x02B8, 0x0296, 0x0296, 0x0275, 0x0275, 0x0232, 0x0232, + 0x0232, 0x0252, 0x0273, 0x0294, 0x02F5, 0x0336, 0x0357, 0x03D9, 0x1CBA, 0x4E7D, 0x6F9F, 0x4F5F, + 0x26DF, 0x0E7F, 0x061F, 0x061F, 0x05DF, 0x057F, 0x053F, 0x053F, 0x04FE, 0x049E, 0x043D, 0x043D, + 0x03DB, 0x03DB, 0x0378, 0x0378, 0x0337, 0x0337, 0x02F5, 0x02F5, 0x0293, 0x0293, 0x0272, 0x0272, + 0x0251, 0x0A92, 0x01CE, 0x01CE, 0x018C, 0x018C, 0x018C, 0x018C, 0x016B, 0x016B, 0x012A, 0x012A, + 0x098C, 0x00EA, 0x08A8, 0x10A7, 0x20A7, 0x3088, 0x4068, 0x5848, 0x8028, 0xB04A, 0xE332, 0xC0C6, + 0xEBB3, 0xB04B, 0x902B, 0x682A, 0x480A, 0x300A, 0x200C, 0x2217, 0x0828, 0x0826, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x00A6, 0x0045, 0x0022, 0x0022, 0x0022, 0x0022, 0x0045, 0x00A7, + 0x00A7, 0x00A7, 0x11EE, 0x2B53, 0x0023, 0x1149, 0x0A2E, 0x0001, 0x0000, 0x1000, 0x8B05, 0xD506, + 0x30A0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0862, 0x0021, 0x0000, 0x0000, 0x32AF, 0x3ACF, 0x0000, 0x10A3, 0x0842, 0x0021, 0x31E9, + 0x1926, 0x10A3, 0x1083, 0x0862, 0x10A3, 0x2126, 0x2146, 0x2967, 0x10C3, 0x9CF4, 0x0001, 0x00C6, + 0x0042, 0x0000, 0x8DBB, 0x11AA, 0x0000, 0x0000, 0x10A4, 0x4D18, 0x1352, 0x0043, 0x0022, 0x0022, + 0x0021, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0882, 0x7D37, 0x2187, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x094A, 0x141A, 0x0045, 0x0045, 0x0043, 0x0043, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0024, 0x08C7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0883, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0042, 0x0042, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x1106, + 0x0022, 0x0022, 0x0022, 0x0022, 0x220C, 0x0064, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, + 0x08E8, 0x08E8, 0x0065, 0x0065, 0x0085, 0x0085, 0x00A6, 0x00A6, 0x00E8, 0x00A7, 0x00C7, 0x00C7, + 0x00C7, 0x00C7, 0x094B, 0x010A, 0x014B, 0x014B, 0x014C, 0x014C, 0x01AF, 0x01AF, 0x01F1, 0x0213, + 0x0276, 0x02B8, 0x02FA, 0x037D, 0x041E, 0x04BF, 0x053F, 0x037B, 0x033C, 0x03BE, 0x03DE, 0x039E, + 0x033C, 0x02FA, 0x02F9, 0x02D8, 0x0275, 0x0275, 0x0274, 0x0274, 0x0294, 0x0294, 0x02D5, 0x0337, + 0x0399, 0x043A, 0x1D1B, 0x569D, 0x679F, 0x473F, 0x26DF, 0x0E9F, 0x065F, 0x061F, 0x061F, 0x05BF, + 0x057F, 0x057F, 0x053F, 0x053F, 0x049E, 0x049E, 0x043D, 0x043D, 0x03DB, 0x03DB, 0x0378, 0x0378, + 0x0337, 0x0337, 0x02F5, 0x02B4, 0x0293, 0x0293, 0x0272, 0x0272, 0x0231, 0x0A92, 0x01CE, 0x01CE, + 0x018C, 0x018C, 0x018C, 0x018C, 0x016B, 0x016B, 0x012A, 0x012A, 0x098C, 0x00EA, 0x08A8, 0x10A7, + 0x2087, 0x3088, 0x4848, 0x6828, 0x9009, 0xC08B, 0xE330, 0xE003, 0xE2EE, 0xD18E, 0xA02B, 0x782A, + 0x582A, 0x380A, 0x200C, 0x21F7, 0x0828, 0x0806, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x00A7, 0x0045, 0x0022, 0x0022, 0x0022, 0x0022, 0x0064, 0x00A7, 0x00A7, 0x00A7, 0x11CD, 0x2B53, + 0x0043, 0x0907, 0x1AD1, 0x0022, 0x0000, 0x0000, 0x1000, 0x4922, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x0000, 0x0000, + 0x0000, 0x32AF, 0x32CF, 0x0000, 0x10A3, 0x0842, 0x0021, 0x31E9, 0x1926, 0x10A3, 0x0882, 0x0842, + 0x0882, 0x10C4, 0x1904, 0x2125, 0x10A3, 0x8C93, 0x0001, 0x00C6, 0x0042, 0x0000, 0x6497, 0x118A, + 0x0021, 0x0022, 0x0022, 0x1947, 0x353A, 0x12D1, 0x0042, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0862, 0x8516, 0x29E9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x096B, 0x13D9, + 0x0044, 0x08E7, 0x1129, 0x0885, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0046, 0x0886, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x1083, 0x0001, 0x0022, 0x0022, 0x0801, 0x0801, 0x0001, 0x0001, 0x0821, 0x0821, + 0x0843, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x1106, 0x0021, 0x0021, 0x0022, 0x0022, + 0x1A0D, 0x0044, 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x114A, 0x0065, 0x0064, 0x0064, + 0x0085, 0x0085, 0x0086, 0x0086, 0x0908, 0x00C7, 0x00C7, 0x00C7, 0x0109, 0x0109, 0x096B, 0x010A, + 0x012A, 0x012A, 0x018D, 0x01AF, 0x01F1, 0x01F1, 0x0212, 0x0233, 0x02B8, 0x031A, 0x037C, 0x03FE, + 0x04BF, 0x055F, 0x05BF, 0x04FE, 0x047E, 0x049F, 0x049F, 0x041E, 0x03BD, 0x03BD, 0x033A, 0x02D8, + 0x02B7, 0x02B7, 0x02D7, 0x02D6, 0x02F7, 0x0337, 0x03D9, 0x045B, 0x2D9C, 0x5EFE, 0x677F, 0x473F, + 0x26DF, 0x16BF, 0x0E7F, 0x063F, 0x05DF, 0x05DF, 0x057F, 0x057F, 0x04FF, 0x04FF, 0x04BE, 0x04BE, + 0x047E, 0x043D, 0x03FC, 0x03BB, 0x0379, 0x0379, 0x0337, 0x0337, 0x02F6, 0x02F6, 0x0293, 0x0293, + 0x0272, 0x0272, 0x0251, 0x0251, 0x0230, 0x0A92, 0x018D, 0x018D, 0x018C, 0x018C, 0x016B, 0x016B, + 0x014A, 0x014A, 0x012A, 0x012A, 0x09AD, 0x00EB, 0x08A8, 0x1887, 0x2887, 0x3868, 0x5028, 0x7828, + 0xA829, 0xD96D, 0xE22B, 0xE801, 0xD884, 0xEBD4, 0xB84B, 0x902B, 0x602B, 0x380A, 0x200B, 0x21B7, + 0x0829, 0x0806, 0x0003, 0x0003, 0x0023, 0x0023, 0x0044, 0x0044, 0x00C8, 0x0065, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0045, 0x0109, 0x010A, 0x00A8, 0x09AD, 0x3395, 0x0023, 0x0023, 0x1AD0, 0x0969, + 0x0002, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0863, 0x0000, 0x0000, 0x0000, 0x328F, 0x32AF, 0x0000, + 0x10A3, 0x0842, 0x0021, 0x31C9, 0x1905, 0x0883, 0x0882, 0x0041, 0x0862, 0x10C4, 0x1904, 0x1904, + 0x1083, 0x8C93, 0x0001, 0x00C6, 0x0042, 0x0000, 0x5416, 0x098A, 0x0023, 0x0023, 0x0044, 0x0044, + 0x11AA, 0x3D59, 0x95F9, 0xC67A, 0xC67A, 0xC659, 0xC639, 0xBE18, 0xBDF7, 0xBDD7, 0xB5B7, 0xB5B6, + 0xB5B6, 0xB5B6, 0xB5B6, 0xB5B6, 0xB5B7, 0xB5B6, 0xB5B6, 0xB5B6, 0xB5B6, 0xB5B7, 0xB5B7, 0xB5D7, + 0xB5D7, 0xB5D7, 0xB5B7, 0xB5B7, 0xB5B7, 0xB5B7, 0xB5D7, 0xADB7, 0xA5B8, 0xB63A, 0x4AED, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x098C, 0x13D9, 0x0044, 0x0044, 0x0044, 0x0023, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0887, 0x0886, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0842, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x1083, 0x0001, + 0x0022, 0x0022, 0x0801, 0x0801, 0x0001, 0x0001, 0x0821, 0x0821, 0x0843, 0x0001, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0042, 0x10E5, 0x0021, 0x0021, 0x0022, 0x0022, 0x1A0D, 0x0043, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0044, 0x0044, 0x114A, 0x0065, 0x0064, 0x0064, 0x0085, 0x0085, 0x0086, 0x0086, + 0x0908, 0x00C7, 0x00C7, 0x00C7, 0x0109, 0x096B, 0x010A, 0x010A, 0x012A, 0x012A, 0x016D, 0x01AF, + 0x01F1, 0x0212, 0x0233, 0x0255, 0x02B8, 0x033B, 0x03FE, 0x049F, 0x055F, 0x05FF, 0x065F, 0x063F, + 0x059F, 0x059F, 0x051F, 0x049F, 0x043F, 0x03BD, 0x037C, 0x033A, 0x0319, 0x0338, 0x0359, 0x0359, + 0x041B, 0x0CDC, 0x3E1D, 0x6F5F, 0x677F, 0x3F3F, 0x26FF, 0x16BF, 0x0E9F, 0x067F, 0x063F, 0x063F, + 0x05DF, 0x05DF, 0x057F, 0x057F, 0x04FF, 0x04FF, 0x04BE, 0x04BE, 0x043D, 0x043D, 0x03BB, 0x03BB, + 0x0379, 0x0379, 0x0337, 0x0337, 0x02F6, 0x02F6, 0x0293, 0x0293, 0x0272, 0x0272, 0x0251, 0x0251, + 0x0230, 0x0A92, 0x018D, 0x018C, 0x018C, 0x018C, 0x016B, 0x016B, 0x014A, 0x014A, 0x012A, 0x012A, + 0x09AD, 0x00EB, 0x08A8, 0x1887, 0x2867, 0x3868, 0x5828, 0x7828, 0xB82A, 0xEB11, 0xE063, 0xF001, + 0xF001, 0xE2EE, 0xC9AF, 0x982B, 0x682B, 0x380A, 0x280B, 0x21B7, 0x0829, 0x0806, 0x0003, 0x0003, + 0x0023, 0x0023, 0x0044, 0x0066, 0x00E9, 0x0086, 0x0023, 0x0023, 0x0022, 0x0022, 0x0044, 0x114A, + 0x116B, 0x08C8, 0x09AC, 0x3395, 0x0023, 0x0023, 0x0063, 0x2393, 0x1311, 0x1A8F, 0x1A8E, 0x1A8E, + 0x1A8F, 0x1A8F, 0x1A8E, 0x1A8E, 0x1A6E, 0x1A6E, 0x1A6E, 0x1A6D, 0x1A4D, 0x1A4D, 0x1A4D, 0x1A2C, + 0x1A4D, 0x1A4D, 0x1A4D, 0x1A2D, 0x1A2D, 0x1A4C, 0x1A4C, 0x1A4C, 0x1A2C, 0x1A2C, 0x1A0B, 0x1A0B, + 0x19EB, 0x19CB, 0x19AA, 0x198A, 0x198A, 0x1949, 0x1928, 0x1907, 0x1907, 0x10E7, 0x10E6, 0x10E6, + 0x1927, 0x0000, 0x0000, 0x0000, 0x0000, 0x2A6E, 0x32AF, 0x0000, 0x1083, 0x0842, 0x0021, 0x31C9, + 0x1905, 0x0883, 0x0862, 0x0041, 0x0862, 0x10A3, 0x10C4, 0x10C4, 0x0882, 0x8452, 0x0001, 0x00C6, + 0x0042, 0x0000, 0x43D4, 0x098B, 0x0044, 0x0064, 0x0085, 0x0086, 0x00C7, 0x00C7, 0x00C7, 0x0065, + 0x0064, 0x0023, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x09CD, 0x13B9, 0x0044, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0044, 0x0002, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x08A8, 0x0865, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x10A3, 0x0001, 0x0822, 0x0822, 0x1021, 0x1021, + 0x1020, 0x1821, 0x1821, 0x1021, 0x1063, 0x1021, 0x0001, 0x0001, 0x0021, 0x0021, 0x10A4, 0x0863, + 0x0021, 0x0021, 0x0022, 0x0022, 0x1A0D, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, + 0x118A, 0x0065, 0x0065, 0x0065, 0x0085, 0x0085, 0x00A6, 0x00A7, 0x00E8, 0x00C7, 0x00C7, 0x00C7, + 0x00E8, 0x014B, 0x012A, 0x012A, 0x014B, 0x014B, 0x016D, 0x01D0, 0x01F1, 0x01F1, 0x0254, 0x0297, + 0x02F9, 0x037C, 0x045F, 0x053F, 0x061F, 0x16BF, 0x271F, 0x373F, 0x1EDF, 0x0E7F, 0x05DF, 0x055F, + 0x04BF, 0x043E, 0x03FD, 0x03DC, 0x03DC, 0x041C, 0x047C, 0x1D7D, 0x469E, 0x6F7F, 0x5F7F, 0x373F, + 0x1EFF, 0x16DF, 0x067F, 0x067F, 0x063F, 0x063F, 0x05DF, 0x05DF, 0x055F, 0x055F, 0x04DF, 0x04DF, + 0x049E, 0x049E, 0x045E, 0x045E, 0x03FC, 0x03FC, 0x037A, 0x037A, 0x0338, 0x0338, 0x0316, 0x0316, + 0x02D5, 0x02D5, 0x0293, 0x0293, 0x0251, 0x0251, 0x0230, 0x0230, 0x0210, 0x0A92, 0x018D, 0x018D, + 0x018B, 0x018B, 0x016B, 0x016B, 0x012A, 0x012A, 0x012A, 0x012A, 0x09AD, 0x00EB, 0x10A8, 0x1887, + 0x3067, 0x4048, 0x6028, 0x8828, 0xC08A, 0xEB30, 0xF001, 0xF001, 0xE802, 0xE043, 0xE3F4, 0xA82B, + 0x702B, 0x400A, 0x280B, 0x2197, 0x0808, 0x0805, 0x0804, 0x0023, 0x0024, 0x0024, 0x0045, 0x00A8, + 0x012B, 0x00A8, 0x0065, 0x0024, 0x0023, 0x0023, 0x0044, 0x0086, 0x0086, 0x0086, 0x11AC, 0x33B6, + 0x0023, 0x0023, 0x0021, 0x0863, 0x1A8D, 0x22AE, 0x22AE, 0x22CE, 0x22AE, 0x22AE, 0x22AE, 0x22AE, + 0x228E, 0x228E, 0x1A8D, 0x1A8D, 0x1A6D, 0x1A6D, 0x1A6C, 0x1A4C, 0x1A4C, 0x1A4C, 0x1A4C, 0x1A4C, + 0x1A4C, 0x1A4C, 0x1A4B, 0x1A2B, 0x1A2B, 0x1A0B, 0x19EA, 0x19EA, 0x19CA, 0x19A9, 0x1989, 0x1989, + 0x1968, 0x1948, 0x1927, 0x1106, 0x10E6, 0x10E6, 0x10E6, 0x1106, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x222D, 0x32AF, 0x0000, 0x1083, 0x0042, 0x0021, 0x31C9, 0x10E5, 0x0862, 0x0862, 0x0041, + 0x0862, 0x10A3, 0x10C4, 0x10C4, 0x0882, 0x8452, 0x0001, 0x00C6, 0x0042, 0x0000, 0x43D4, 0x096B, + 0x0086, 0x00C7, 0x0109, 0x0109, 0x012A, 0x0129, 0x0109, 0x00C7, 0x0085, 0x0064, 0x0022, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x09CD, 0x13B8, + 0x0044, 0x0044, 0x0023, 0x0023, 0x0022, 0x08C7, 0x08A8, 0x0087, 0x00A8, 0x00A8, 0x0047, 0x08E9, + 0x0044, 0x0002, 0x0000, 0x0000, 0x0000, 0x08A8, 0x0865, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x10A3, 0x0001, 0x0822, 0x0822, 0x1021, 0x1021, 0x1821, 0x1821, 0x1821, 0x1821, + 0x1863, 0x1021, 0x0001, 0x0001, 0x0021, 0x0021, 0x18E5, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, + 0x1A0D, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x118A, 0x0065, 0x0065, 0x0065, + 0x0085, 0x0085, 0x00A7, 0x00E8, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00E9, 0x014B, 0x012A, 0x012A, + 0x014B, 0x014B, 0x018D, 0x01D0, 0x01F1, 0x01F1, 0x0254, 0x0297, 0x031A, 0x03BE, 0x049F, 0x05BF, + 0x16BF, 0x3F5F, 0x679F, 0x77BF, 0x577F, 0x271F, 0x0E9F, 0x05DF, 0x051F, 0x04BF, 0x04BF, 0x04FE, + 0x159E, 0x365E, 0x5F3F, 0x6FBF, 0x577F, 0x373F, 0x1F1F, 0x16FF, 0x0EBF, 0x069F, 0x067F, 0x067F, + 0x063F, 0x063F, 0x05DF, 0x05DF, 0x055F, 0x055F, 0x04DF, 0x04DF, 0x049E, 0x049E, 0x045E, 0x045E, + 0x03FC, 0x03FC, 0x037A, 0x037A, 0x0338, 0x0338, 0x0316, 0x0316, 0x02D5, 0x02D5, 0x0293, 0x0293, + 0x0251, 0x0251, 0x0230, 0x0230, 0x0210, 0x0A92, 0x018D, 0x018C, 0x018B, 0x018B, 0x016B, 0x016B, + 0x012A, 0x012A, 0x012A, 0x012A, 0x016C, 0x090C, 0x1088, 0x1887, 0x3067, 0x4048, 0x6028, 0x9829, + 0xD9CE, 0xE20A, 0xF001, 0xF001, 0xE802, 0xE802, 0xDA2C, 0xC1AF, 0x700A, 0x400A, 0x300B, 0x2197, + 0x0808, 0x0805, 0x0804, 0x0804, 0x0024, 0x0045, 0x00A8, 0x00CB, 0x014D, 0x00EA, 0x0088, 0x0065, + 0x0023, 0x0023, 0x0044, 0x0086, 0x0086, 0x0086, 0x11AC, 0x33B6, 0x0023, 0x0023, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x222D, 0x32AF, 0x0000, + 0x1083, 0x0042, 0x0021, 0x31C9, 0x10E5, 0x0862, 0x0862, 0x0041, 0x0841, 0x1083, 0x10A3, 0x10A3, + 0x0862, 0x7C11, 0x0021, 0x00E6, 0x0042, 0x0001, 0x43B4, 0x09AC, 0x010A, 0x016C, 0x01CE, 0x01EF, + 0x020F, 0x01EF, 0x01AD, 0x012B, 0x00C7, 0x0085, 0x0044, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, 0x09CE, 0x13B8, 0x0044, 0x0043, 0x0043, 0x0024, + 0x08C7, 0x343A, 0x2C7A, 0x22F4, 0x2C7B, 0x2CBD, 0x1A51, 0x2C1A, 0x2B76, 0x0024, 0x0001, 0x0001, + 0x0001, 0x08C8, 0x0865, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x18A4, 0x0001, + 0x1042, 0x1042, 0x2061, 0x2061, 0x2841, 0x3081, 0x3061, 0x3061, 0x28A3, 0x1841, 0x1841, 0x0821, + 0x0821, 0x0821, 0x2125, 0x0001, 0x0021, 0x0021, 0x0022, 0x0022, 0x1A0D, 0x0043, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0064, 0x0064, 0x198B, 0x0085, 0x0086, 0x0086, 0x0086, 0x0086, 0x00A7, 0x0909, + 0x00A8, 0x00A8, 0x00C8, 0x00C8, 0x00E9, 0x014B, 0x012B, 0x012B, 0x016C, 0x016C, 0x018E, 0x0211, + 0x01F1, 0x0233, 0x0255, 0x0298, 0x035C, 0x03FE, 0x04FF, 0x061F, 0x2F1F, 0x6F9F, 0x9FDF, 0xBFDF, + 0x97BF, 0x5F7F, 0x26FF, 0x065F, 0x0E3F, 0x1E5F, 0x2EBF, 0x5F5F, 0x77BF, 0x5F9F, 0x3F5F, 0x2F3F, + 0x1EFF, 0x1EFF, 0x06BF, 0x06BF, 0x067F, 0x067F, 0x061F, 0x061F, 0x05BF, 0x05BF, 0x057F, 0x057F, + 0x04FF, 0x04FF, 0x047E, 0x047E, 0x043E, 0x043E, 0x041D, 0x041D, 0x03DB, 0x03DB, 0x0359, 0x0359, + 0x0317, 0x0317, 0x02F6, 0x02F6, 0x02D5, 0x02D5, 0x0294, 0x0294, 0x0252, 0x0252, 0x0230, 0x0230, + 0x0210, 0x0A92, 0x018D, 0x018D, 0x016C, 0x016C, 0x016B, 0x016B, 0x014A, 0x014A, 0x012A, 0x012A, + 0x092C, 0x092C, 0x10A8, 0x2087, 0x3067, 0x4048, 0x6808, 0xA829, 0xE3B3, 0xE063, 0xF002, 0xE022, + 0xE167, 0xEB0F, 0xDB92, 0xCA71, 0x702A, 0x400A, 0x280B, 0x19B6, 0x0828, 0x0825, 0x0003, 0x0003, + 0x0045, 0x00A8, 0x2C39, 0x247B, 0x01B0, 0x1B98, 0x2C1A, 0x00EA, 0x0044, 0x0044, 0x0044, 0x0086, + 0x0086, 0x0086, 0x098C, 0x33B6, 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1A0D, 0x32AF, 0x0000, 0x10A3, 0x0041, 0x0021, 0x29A8, + 0x10E5, 0x0862, 0x0862, 0x0842, 0x0862, 0x1083, 0x10A3, 0x10A3, 0x0862, 0x7C11, 0x0021, 0x00E7, + 0x0042, 0x0001, 0x5C96, 0x122F, 0x01CF, 0x02B3, 0x0335, 0x13F6, 0x2498, 0x1438, 0x0BD6, 0x0355, + 0x0B13, 0x0AB1, 0x0A2F, 0x016B, 0x00E7, 0x00A5, 0x0063, 0x0063, 0x0042, 0x0042, 0x0022, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0022, 0x0021, 0x0021, 0x0022, 0x0042, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0021, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0022, 0x0022, 0x09CE, 0x1BB9, 0x0044, 0x0066, 0x0087, 0x0066, 0x08E8, 0x094C, 0x23B7, 0x098D, + 0x010C, 0x2BF8, 0x2356, 0x098D, 0x2BF8, 0x0087, 0x0001, 0x0001, 0x0001, 0x08C8, 0x0045, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0043, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x18A4, 0x0801, 0x1863, 0x1862, 0x2061, 0x3061, + 0x3081, 0x3081, 0x3881, 0x3881, 0x38C4, 0x2062, 0x2062, 0x1841, 0x0821, 0x0821, 0x2125, 0x0022, + 0x0021, 0x0021, 0x0022, 0x0022, 0x1A0E, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, 0x0064, 0x0064, + 0x118B, 0x0085, 0x0086, 0x0086, 0x0086, 0x0086, 0x00A7, 0x0909, 0x00A8, 0x00A8, 0x00C8, 0x00C8, + 0x00EA, 0x096C, 0x012B, 0x012B, 0x016C, 0x016D, 0x01AF, 0x01F1, 0x0233, 0x0233, 0x0275, 0x0298, + 0x035C, 0x043F, 0x055F, 0x0E7F, 0x4F5F, 0x97BF, 0xD7FF, 0xE7FF, 0xCFFF, 0x97BF, 0x5F7F, 0x677F, + 0x779F, 0x77DF, 0x6FBF, 0x579F, 0x375F, 0x1F1F, 0x16FF, 0x0EFF, 0x06DF, 0x06BF, 0x06BF, 0x06BF, + 0x067F, 0x067F, 0x061F, 0x061F, 0x05BF, 0x05BF, 0x057F, 0x057F, 0x04FF, 0x04FF, 0x047E, 0x047E, + 0x043E, 0x043E, 0x041D, 0x041D, 0x03DB, 0x03DB, 0x0359, 0x0359, 0x0317, 0x0317, 0x02F6, 0x02F6, + 0x02D5, 0x02D5, 0x0294, 0x0294, 0x0252, 0x0252, 0x0230, 0x0230, 0x0210, 0x0A92, 0x018D, 0x018D, + 0x016C, 0x016C, 0x016B, 0x016B, 0x014A, 0x014A, 0x012A, 0x012A, 0x014C, 0x092C, 0x10A8, 0x2087, + 0x3067, 0x4048, 0x6808, 0xB08A, 0xE3D2, 0xE168, 0xEB70, 0xF454, 0xE2F1, 0xD12D, 0xB02A, 0x900A, + 0x602A, 0x380A, 0x280B, 0x19B6, 0x0829, 0x0825, 0x0003, 0x0003, 0x0045, 0x122F, 0x1B36, 0x1336, + 0x1398, 0x1398, 0x1294, 0x1271, 0x0044, 0x0044, 0x0044, 0x0086, 0x0086, 0x0086, 0x11AD, 0x33B6, + 0x0022, 0x0022, 0x0021, 0x426B, 0x84D5, 0x84D5, 0x94F5, 0x94F5, 0x9514, 0x94D3, 0x8C72, 0x7C10, + 0x7BCF, 0x7BCF, 0x7BCF, 0x7BCF, 0x73AF, 0x73AF, 0x6B6E, 0x632D, 0x5ACC, 0x5ACC, 0x528B, 0x4A4A, + 0x39E8, 0x2987, 0x2126, 0x1905, 0x18E4, 0x18C4, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x1083, 0x1083, + 0x1083, 0x1083, 0x0883, 0x0883, 0x0883, 0x0883, 0x0883, 0x0883, 0x0021, 0x0000, 0x0000, 0x0000, + 0x0000, 0x1A0D, 0x32D0, 0x0000, 0x10A3, 0x0041, 0x0021, 0x29A8, 0x10E5, 0x0862, 0x0862, 0x0842, + 0x0841, 0x1082, 0x1082, 0x1082, 0x0862, 0x73F0, 0x0021, 0x0948, 0x0042, 0x0001, 0x8578, 0x1AD2, + 0x0B55, 0x563C, 0x669D, 0x9F9F, 0xB7DF, 0xA77E, 0x9F1D, 0x96BC, 0x8E5A, 0x861A, 0x6518, 0x1270, + 0x01AC, 0x096B, 0x0949, 0x0128, 0x0908, 0x0907, 0x0907, 0x0907, 0x08E7, 0x08E7, 0x08E7, 0x08E7, + 0x00E7, 0x00E7, 0x00E7, 0x00E7, 0x00C7, 0x00C7, 0x00C7, 0x00C6, 0x00C6, 0x00C6, 0x00C7, 0x00E7, + 0x0108, 0x0108, 0x00C6, 0x0022, 0x0000, 0x0000, 0x0022, 0x0022, 0x0044, 0x0044, 0x09EE, 0x1BD9, + 0x08E8, 0x22D2, 0x2355, 0x118B, 0x0066, 0x1AD3, 0x2397, 0x00A9, 0x1AB2, 0x11EF, 0x2B77, 0x012C, + 0x33D8, 0x092A, 0x08C6, 0x08C6, 0x08A6, 0x116C, 0x19AC, 0x21AB, 0x21AB, 0x21CB, 0x21AA, 0x21AA, + 0x21AA, 0x19AA, 0x19CB, 0x21EB, 0x19AA, 0x21CB, 0x21EB, 0x21EB, 0x21EB, 0x21EB, 0x21EB, 0x21EB, + 0x21CB, 0x21CB, 0x29CB, 0x2969, 0x3989, 0x3989, 0x4187, 0x4187, 0x4987, 0x59A7, 0x61C8, 0x51A8, + 0x51EB, 0x41AA, 0x39AA, 0x298A, 0x218A, 0x218A, 0x3AF0, 0x11EC, 0x09CB, 0x09CB, 0x09CC, 0x0A0D, + 0x1B53, 0x126F, 0x126E, 0x124E, 0x122E, 0x122E, 0x122F, 0x124F, 0x1B12, 0x124F, 0x1270, 0x126F, + 0x1270, 0x1270, 0x1290, 0x1291, 0x0A2F, 0x0A30, 0x0A30, 0x0A51, 0x0A72, 0x0AB3, 0x0272, 0x0293, + 0x0293, 0x02B5, 0x02F6, 0x0AF6, 0x02F7, 0x0B18, 0x0B5A, 0x039C, 0x041E, 0x04BF, 0x05BF, 0x1EBF, + 0x5F7F, 0xAFDF, 0xF7FF, 0xF7FF, 0xE7FF, 0xBFFF, 0x9FDF, 0x7FBF, 0x5FBF, 0x479F, 0x377F, 0x275F, + 0x0F1F, 0x06FF, 0x06DF, 0x06DF, 0x069F, 0x069F, 0x065F, 0x065F, 0x061F, 0x061F, 0x05BF, 0x05BF, + 0x057F, 0x057F, 0x053F, 0x053F, 0x04BF, 0x04BF, 0x04BF, 0x045E, 0x047E, 0x041E, 0x043E, 0x043D, + 0x0C1C, 0x0C1C, 0x0BBA, 0x0BBA, 0x0BDA, 0x0BBA, 0x0B99, 0x0B78, 0x0B78, 0x0B78, 0x0B58, 0x0B57, + 0x0B36, 0x0B15, 0x12F5, 0x12F5, 0x0AB3, 0x1335, 0x12D3, 0x12B2, 0x1272, 0x1272, 0x1250, 0x1250, + 0x0A2F, 0x0A2F, 0x0A2F, 0x0A2F, 0x0A31, 0x11F0, 0x190B, 0x28CA, 0x38AA, 0x506A, 0x784A, 0xC18D, + 0xECB6, 0xDAD0, 0xD10B, 0xC84A, 0xC04B, 0xA84B, 0x886B, 0x686B, 0x588B, 0x408C, 0x288D, 0x21F7, + 0x106B, 0x0868, 0x0066, 0x0066, 0x0087, 0x096C, 0x249B, 0x143B, 0x1C3B, 0x0B77, 0x0A73, 0x12F4, + 0x00C8, 0x00C8, 0x00A7, 0x22F3, 0x1B14, 0x1A4F, 0x09AD, 0x3375, 0x0043, 0x0043, 0x39EA, 0x73F2, + 0x0043, 0x0043, 0x0863, 0x0863, 0x0862, 0x0842, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0821, + 0x0021, 0x0821, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x0022, 0x0000, 0x0000, 0x0000, 0x1A0D, 0x32D0, 0x0000, + 0x10A3, 0x0021, 0x0001, 0x2167, 0x10E5, 0x0842, 0x0842, 0x0842, 0x0841, 0x0862, 0x0861, 0x1082, + 0x0862, 0x6B6F, 0x0021, 0x0948, 0x0042, 0x0001, 0x7D58, 0x22F2, 0x2477, 0x97FF, 0xAFFF, 0x7E1A, + 0x2B93, 0x43B2, 0x6412, 0x6C32, 0x6C11, 0x7412, 0x7411, 0x7411, 0x7BF0, 0x73D0, 0x73AF, 0x73AF, + 0x6B8F, 0x6B8F, 0x6B8F, 0x6B6F, 0x6B6F, 0x6B6F, 0x634F, 0x632F, 0x52EE, 0x52EE, 0x52CD, 0x4A8D, + 0x3A2B, 0x1928, 0x10E6, 0x10E6, 0x08C6, 0x08C6, 0x08E6, 0x08E6, 0x08C6, 0x1107, 0x08A4, 0x08A4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, 0x09EE, 0x1BD9, 0x0065, 0x0065, 0x0065, 0x0045, + 0x092B, 0x2C5A, 0x1230, 0x00AA, 0x2B97, 0x00A9, 0x1AB3, 0x1273, 0x3418, 0x0044, 0x0001, 0x0001, + 0x0001, 0x10E9, 0x0864, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0863, 0x0863, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x20C4, 0x1862, + 0x2061, 0x3081, 0x40A1, 0x48C1, 0x6101, 0x7121, 0x8141, 0x6901, 0x5903, 0x40A1, 0x3081, 0x2061, + 0x1841, 0x1041, 0x39A8, 0x0023, 0x0044, 0x0044, 0x0044, 0x0065, 0x1A0D, 0x0085, 0x0086, 0x0086, + 0x0086, 0x00A6, 0x00A7, 0x00C8, 0x11CD, 0x00E9, 0x0109, 0x0109, 0x0109, 0x0109, 0x012A, 0x098D, + 0x014B, 0x014B, 0x016C, 0x016C, 0x01AD, 0x0210, 0x01D0, 0x01D0, 0x01F0, 0x0212, 0x0274, 0x0274, + 0x0275, 0x02B6, 0x02F9, 0x037B, 0x041E, 0x049F, 0x05DF, 0x1EBF, 0x5F7F, 0xAFDF, 0xF7FF, 0xF7FF, + 0xE7FF, 0xBFFF, 0x7FBF, 0x579F, 0x479F, 0x275F, 0x275F, 0x0F1F, 0x06FF, 0x06FF, 0x06DF, 0x06DF, + 0x069F, 0x069F, 0x065F, 0x065F, 0x061F, 0x061F, 0x05BF, 0x05BF, 0x057F, 0x057F, 0x053F, 0x053F, + 0x04BF, 0x04BF, 0x045E, 0x045E, 0x041E, 0x041E, 0x03FD, 0x03FD, 0x03BB, 0x03BB, 0x0359, 0x0338, + 0x0317, 0x0317, 0x02F6, 0x02F6, 0x02B5, 0x02B5, 0x02B4, 0x02B4, 0x0252, 0x0252, 0x0231, 0x0231, + 0x0210, 0x0AB3, 0x01CF, 0x01AD, 0x018D, 0x016C, 0x016C, 0x014B, 0x014B, 0x012B, 0x012A, 0x012A, + 0x016D, 0x098E, 0x10A9, 0x2087, 0x3047, 0x4848, 0x6828, 0x9028, 0xA008, 0xA008, 0xA009, 0x9009, + 0x8009, 0x7029, 0x5829, 0x4829, 0x3829, 0x2849, 0x184A, 0x19D5, 0x0868, 0x0826, 0x0024, 0x0024, + 0x0045, 0x00A9, 0x1AD4, 0x13B9, 0x13D9, 0x13D9, 0x0A73, 0x1291, 0x0086, 0x0086, 0x0066, 0x010A, + 0x010A, 0x00C8, 0x09AD, 0x2B54, 0x0043, 0x0043, 0x7C55, 0x0043, 0x0022, 0x0021, 0x0021, 0x08C5, + 0x228D, 0x1106, 0x08A4, 0x224B, 0x0906, 0x19A8, 0x08C4, 0x0883, 0x1987, 0x0863, 0x10E4, 0x0020, + 0x0000, 0x08E4, 0x226B, 0x19A8, 0x1A4B, 0x11A9, 0x224B, 0x1147, 0x19A9, 0x222A, 0x1987, 0x0042, + 0x1126, 0x1186, 0x19A8, 0x19A8, 0x1A4A, 0x19A8, 0x08C3, 0x1946, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x10A5, 0x0000, 0x0000, 0x0000, 0x1A0D, 0x32D0, 0x0000, 0x10A3, 0x0021, 0x0001, 0x2167, + 0x10C4, 0x0842, 0x0842, 0x0842, 0x0841, 0x0841, 0x2986, 0x0862, 0x0862, 0x5B0D, 0x0022, 0x0085, + 0x0001, 0x0001, 0x6CB6, 0x1A91, 0x0AB1, 0x3456, 0x3414, 0x126F, 0x1A2D, 0x222C, 0x4ACD, 0x530D, + 0x5B0D, 0x5AEC, 0x52CB, 0x52CB, 0x52AA, 0x528A, 0x528A, 0x4A6A, 0x4A6A, 0x4A4A, 0x4A49, 0x4A49, + 0x4249, 0x4249, 0x4229, 0x4229, 0x4209, 0x39E8, 0x39C8, 0x31A7, 0x2946, 0x1083, 0x0862, 0x0862, + 0x0842, 0x0042, 0x0042, 0x0062, 0x0863, 0x10A3, 0x0001, 0x0085, 0x0884, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x09CD, 0x13FA, 0x0045, 0x0045, 0x0044, 0x0044, 0x118B, 0x2375, 0x2375, 0x090A, + 0x2250, 0x0067, 0x00EA, 0x2B96, 0x11EE, 0x0022, 0x0001, 0x0001, 0x0001, 0x08C9, 0x0865, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, 0x28C4, 0x2861, 0x30A1, 0x40C0, 0x58E0, 0x6920, + 0x7940, 0x99C0, 0xB240, 0x9181, 0x7962, 0x60E0, 0x48A0, 0x3880, 0x3061, 0x2061, 0x49A7, 0x1842, + 0x0022, 0x0022, 0x0022, 0x0044, 0x19EC, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0064, 0x0065, + 0x116B, 0x0085, 0x0085, 0x0085, 0x0086, 0x0086, 0x00A6, 0x0909, 0x00A7, 0x00A7, 0x00C7, 0x00C7, + 0x00E9, 0x094B, 0x010A, 0x010A, 0x012B, 0x014D, 0x01AF, 0x01AF, 0x01D0, 0x01F2, 0x0255, 0x02B8, + 0x035C, 0x041E, 0x057F, 0x0E7F, 0x475F, 0x97DF, 0xD7FF, 0xEFFF, 0xD7FF, 0x879F, 0x3F3F, 0x1EDF, + 0x1EDF, 0x273F, 0x1F5F, 0x0F1F, 0x0EFF, 0x0EFF, 0x06BF, 0x06BF, 0x067F, 0x067F, 0x063F, 0x063F, + 0x05BF, 0x05BF, 0x05BF, 0x055F, 0x051F, 0x051F, 0x04DF, 0x04DF, 0x045F, 0x045F, 0x041E, 0x041E, + 0x03FD, 0x03FD, 0x03BC, 0x03BC, 0x039A, 0x039A, 0x0317, 0x0317, 0x02F6, 0x02F6, 0x02B4, 0x02B4, + 0x0273, 0x0273, 0x0252, 0x0252, 0x0231, 0x0231, 0x0210, 0x0210, 0x01EF, 0x0A92, 0x018D, 0x018D, + 0x016B, 0x016B, 0x014A, 0x014A, 0x012A, 0x012A, 0x0129, 0x0129, 0x098D, 0x098D, 0x10A8, 0x1887, + 0x2867, 0x4047, 0x5827, 0x6828, 0x7028, 0x7028, 0x7028, 0x7028, 0x6028, 0x5828, 0x4848, 0x4048, + 0x3048, 0x2848, 0x184A, 0x19D5, 0x0828, 0x0825, 0x0023, 0x0023, 0x0044, 0x00A8, 0x3C7A, 0x2C3A, + 0x018F, 0x243A, 0x2CBC, 0x010A, 0x0044, 0x0044, 0x0065, 0x00C8, 0x00A7, 0x00A7, 0x09AD, 0x2313, + 0x0043, 0x0084, 0x322C, 0x0022, 0x0022, 0x0022, 0x0021, 0x2B92, 0x2351, 0x3392, 0x2B31, 0x230F, + 0x2B31, 0x3D19, 0x126E, 0x11EA, 0x3559, 0x11CA, 0x222B, 0x0000, 0x0000, 0x33B1, 0x2330, 0x2AAD, + 0x3434, 0x22AD, 0x2BF3, 0x2C35, 0x3C34, 0x226C, 0x2BB2, 0x124C, 0x2BF2, 0x3BF1, 0x3B8F, 0x120A, + 0x2C54, 0x2B2E, 0x11A9, 0x3350, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x0000, 0x0000, + 0x0000, 0x1A0D, 0x32AF, 0x0000, 0x1083, 0x0021, 0x0001, 0x2105, 0x10C4, 0x18E4, 0x0841, 0x0842, + 0x0841, 0x10A3, 0x18C3, 0x1082, 0x0862, 0x4AAC, 0x0022, 0x0085, 0x0001, 0x0001, 0x222D, 0x012A, + 0x00C8, 0x00C9, 0x00C8, 0x00C7, 0x0086, 0x0086, 0x0044, 0x0043, 0x0022, 0x0022, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0001, 0x08C7, 0x0884, 0x0000, 0x0000, 0x0001, 0x0001, 0x09CD, 0x141B, + 0x0045, 0x0045, 0x0044, 0x0044, 0x0044, 0x0024, 0x0024, 0x0023, 0x0023, 0x0044, 0x0066, 0x0045, + 0x0023, 0x0001, 0x0001, 0x0001, 0x0001, 0x08C9, 0x0865, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0800, 0x0800, 0x28C4, 0x3081, 0x40C0, 0x50E1, 0x6920, 0x7961, 0x99C0, 0xCAE0, 0xF421, 0xC280, + 0xA1E2, 0x7940, 0x60E0, 0x48A0, 0x3880, 0x3061, 0x5987, 0x2042, 0x0022, 0x0022, 0x0022, 0x0044, + 0x19EC, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0064, 0x0065, 0x116A, 0x0085, 0x0085, 0x0085, + 0x0086, 0x0086, 0x0086, 0x0909, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00E9, 0x094B, 0x010A, 0x010A, + 0x012B, 0x012B, 0x01AF, 0x01D0, 0x01D0, 0x01F2, 0x0255, 0x02B8, 0x035C, 0x03FE, 0x053F, 0x063F, + 0x2F1F, 0x5F9F, 0x9FDF, 0xB7DF, 0x9FBF, 0x677F, 0x1EDF, 0x063F, 0x05BF, 0x055F, 0x057E, 0x0DFE, + 0x0E9F, 0x0EFF, 0x06BF, 0x06BF, 0x067F, 0x067F, 0x063F, 0x063F, 0x05BF, 0x05BF, 0x055F, 0x055F, + 0x051F, 0x051F, 0x04DF, 0x04DF, 0x045F, 0x045F, 0x041E, 0x041E, 0x03FD, 0x03FD, 0x03BC, 0x03BC, + 0x039A, 0x039A, 0x0317, 0x0317, 0x02F6, 0x02F6, 0x02B4, 0x02B4, 0x0273, 0x0273, 0x0252, 0x0252, + 0x0231, 0x0231, 0x0210, 0x0210, 0x01EF, 0x0A92, 0x018D, 0x018D, 0x016B, 0x016B, 0x014A, 0x014A, + 0x012A, 0x012A, 0x0129, 0x0129, 0x098D, 0x098D, 0x10A8, 0x1887, 0x2867, 0x3847, 0x4847, 0x5027, + 0x5827, 0x6027, 0x5828, 0x5828, 0x5828, 0x4848, 0x4048, 0x3048, 0x2848, 0x2848, 0x184A, 0x19F5, + 0x0827, 0x0825, 0x0023, 0x0023, 0x0024, 0x0066, 0x00A9, 0x00EB, 0x010C, 0x00EC, 0x010A, 0x0045, + 0x0044, 0x0044, 0x0065, 0x00E8, 0x00A7, 0x00A7, 0x09CE, 0x22D1, 0x0043, 0x0084, 0x29EB, 0x0022, + 0x0022, 0x0022, 0x0021, 0x1A2B, 0x3D18, 0x2B52, 0x3435, 0x124D, 0x2393, 0x3477, 0x2436, 0x2372, + 0x2497, 0x2331, 0x1A4B, 0x0000, 0x0000, 0x226C, 0x3CB6, 0x1188, 0x3330, 0x1168, 0x2CD8, 0x2C56, + 0x3C76, 0x3BF3, 0x22EF, 0x3435, 0x2CB6, 0x2ACE, 0x3C13, 0x08C4, 0x236F, 0x1A8C, 0x3CF6, 0x3CB6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x0001, 0x0000, 0x0000, 0x1A0D, 0x2A8F, 0x0000, + 0x1083, 0x0021, 0x0000, 0x2105, 0x10C4, 0x10C4, 0x0041, 0x0041, 0x0841, 0x0841, 0x0861, 0x0861, + 0x0862, 0x3A09, 0x0042, 0x0085, 0x0000, 0x0000, 0x11AA, 0x00C7, 0x0063, 0x0063, 0x0044, 0x0044, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0085, 0x08E6, 0x0000, 0x0000, 0x0001, 0x0001, 0x096B, 0x145C, 0x0045, 0x0045, 0x0044, 0x0044, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0045, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x08A8, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0863, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1021, 0x1021, 0x38E3, 0x40A1, + 0x5101, 0x6141, 0x7960, 0x99C0, 0xBA80, 0xEC42, 0xF587, 0xF401, 0xCAC1, 0x99A0, 0x7940, 0x60E0, + 0x48A0, 0x3880, 0x59A6, 0x2862, 0x0022, 0x0022, 0x0023, 0x0023, 0x1A0D, 0x0043, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0065, 0x0065, 0x116A, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0086, 0x0909, + 0x00A7, 0x00A7, 0x00C8, 0x00C8, 0x00E8, 0x012B, 0x012A, 0x012A, 0x014B, 0x014B, 0x018E, 0x01D0, + 0x01D0, 0x01F2, 0x0234, 0x0298, 0x033C, 0x03BE, 0x04DF, 0x05DF, 0x0EBF, 0x2F5F, 0x577F, 0x6FBF, + 0x5F9F, 0x2F1F, 0x065F, 0x05BF, 0x051F, 0x047F, 0x041F, 0x03BE, 0x03DD, 0x045C, 0x0D3D, 0x0E3E, + 0x069F, 0x067F, 0x063F, 0x063F, 0x05DF, 0x05DF, 0x055F, 0x055F, 0x04DF, 0x04DF, 0x04DF, 0x04DF, + 0x047F, 0x047F, 0x041E, 0x041E, 0x03DC, 0x03DC, 0x039B, 0x039B, 0x035A, 0x035A, 0x02F7, 0x02F7, + 0x02D5, 0x02D5, 0x0294, 0x0294, 0x0252, 0x0252, 0x0252, 0x0252, 0x0210, 0x0210, 0x01EF, 0x01EF, + 0x01CF, 0x1271, 0x018C, 0x018C, 0x014B, 0x014B, 0x014A, 0x014A, 0x0129, 0x0129, 0x0109, 0x0109, + 0x09AD, 0x014C, 0x08A8, 0x0887, 0x2066, 0x2867, 0x3047, 0x3847, 0x4047, 0x4047, 0x4047, 0x4047, + 0x3867, 0x3867, 0x2847, 0x2847, 0x1847, 0x1847, 0x084A, 0x1A15, 0x0826, 0x0825, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0065, 0x0087, 0x00A8, 0x0087, 0x0044, 0x0044, 0x0044, 0x0044, 0x0086, 0x00E9, + 0x00E9, 0x00A8, 0x09CE, 0x1A90, 0x0043, 0x0084, 0x2A0B, 0x0022, 0x0022, 0x0022, 0x0021, 0x3AEF, + 0x1A8F, 0x3C76, 0x33B3, 0x1AF0, 0x3477, 0x2B51, 0x2BF4, 0x3CB7, 0x23F3, 0x3435, 0x2B30, 0x1147, + 0x0001, 0x3B0D, 0x22AE, 0x226B, 0x3B0F, 0x1127, 0x22EF, 0x3C54, 0x3C34, 0x1A4C, 0x2B30, 0x1ACE, + 0x2454, 0x3C33, 0x33B2, 0x1106, 0x3350, 0x22AC, 0x11C9, 0x3BB1, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0884, 0x0001, 0x0000, 0x0000, 0x1A0D, 0x2A8F, 0x0000, 0x10A3, 0x0021, 0x0000, 0x18C4, + 0x0883, 0x0041, 0x0842, 0x0841, 0x0000, 0x0841, 0x0861, 0x0861, 0x0861, 0x2126, 0x0042, 0x0065, + 0x0000, 0x0000, 0x1169, 0x00A6, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0085, 0x08C6, 0x0000, 0x0000, + 0x0001, 0x0001, 0x094A, 0x1C9D, 0x0045, 0x0045, 0x08E9, 0x08A6, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0044, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x08A8, 0x08C8, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0863, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1021, 0x1021, 0x38E3, 0x48C1, 0x6141, 0x7961, 0x99C0, 0xB240, + 0xE401, 0xF588, 0xFEF0, 0xFD66, 0xEBA1, 0xBA41, 0x91A0, 0x7940, 0x58E0, 0x48A0, 0x5985, 0x3083, + 0x0821, 0x0022, 0x0023, 0x0023, 0x1A0D, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0065, 0x0065, + 0x116A, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0086, 0x00E8, 0x00E8, 0x00A7, 0x00C8, 0x00C8, + 0x00E9, 0x012B, 0x012A, 0x012A, 0x014B, 0x014B, 0x018E, 0x01D0, 0x01D0, 0x01F2, 0x0235, 0x0298, + 0x033C, 0x03BE, 0x047F, 0x055F, 0x063F, 0x0EBF, 0x1EFF, 0x375F, 0x16DF, 0x069F, 0x05BF, 0x051F, + 0x047F, 0x041F, 0x03BE, 0x037D, 0x033C, 0x031B, 0x031A, 0x0359, 0x043A, 0x0D1B, 0x0DFE, 0x063F, + 0x05DF, 0x05DF, 0x055F, 0x055F, 0x04DF, 0x04DF, 0x04DF, 0x04DF, 0x047F, 0x047F, 0x041E, 0x041E, + 0x03DC, 0x03DC, 0x039B, 0x039B, 0x035A, 0x035A, 0x02F7, 0x02F7, 0x02D5, 0x02D5, 0x0294, 0x0294, + 0x0252, 0x0252, 0x0252, 0x0252, 0x0210, 0x0210, 0x01EF, 0x01EF, 0x01CF, 0x1271, 0x018C, 0x018C, + 0x014B, 0x014B, 0x014A, 0x014A, 0x0129, 0x0129, 0x0109, 0x0109, 0x11CE, 0x012C, 0x0887, 0x0887, + 0x1086, 0x2066, 0x2066, 0x3047, 0x3067, 0x3067, 0x3047, 0x3047, 0x3867, 0x2867, 0x2847, 0x2847, + 0x1847, 0x1847, 0x084A, 0x1A35, 0x0826, 0x0024, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0065, + 0x0087, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, 0x0087, 0x01AD, 0x016C, 0x00E9, 0x09EF, 0x122F, + 0x0043, 0x0084, 0x2A0B, 0x0022, 0x0022, 0x0022, 0x0022, 0x08E5, 0x330F, 0x1147, 0x08C5, 0x228C, + 0x11A9, 0x1968, 0x1106, 0x21EA, 0x0022, 0x19C9, 0x228C, 0x19C9, 0x0000, 0x1105, 0x2ACC, 0x0022, + 0x1947, 0x0063, 0x10E5, 0x1946, 0x1A09, 0x228C, 0x19C8, 0x0042, 0x1967, 0x21E9, 0x220A, 0x0022, + 0x1946, 0x10E5, 0x0883, 0x1926, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x0021, 0x0000, + 0x0000, 0x1A0D, 0x226F, 0x0000, 0x10A3, 0x0021, 0x0000, 0x10A3, 0x0883, 0x0041, 0x0841, 0x0841, + 0x0021, 0x0021, 0x0842, 0x0842, 0x0841, 0x10A4, 0x0042, 0x0064, 0x0000, 0x0000, 0x1128, 0x0085, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0084, 0x08C6, 0x0000, 0x0000, 0x0001, 0x0001, 0x0909, 0x1CDD, + 0x0086, 0x1128, 0x0929, 0x0885, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0887, 0x10E9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0863, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x1020, 0x1821, 0x40E3, 0x50E1, 0x7961, 0x91C1, 0xB220, 0xDBA1, 0xED05, 0xFF12, 0xFF13, 0xFED0, + 0xF4E4, 0xDB41, 0xB200, 0x8980, 0x6900, 0x50C1, 0x5924, 0x40E4, 0x1021, 0x0022, 0x0022, 0x0022, + 0x19EC, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x198B, 0x0065, 0x0085, 0x0085, + 0x0085, 0x0085, 0x00A6, 0x00A6, 0x0909, 0x00C8, 0x00C7, 0x00C7, 0x00E8, 0x010A, 0x012A, 0x012A, + 0x014C, 0x014C, 0x016D, 0x01D0, 0x01D1, 0x0213, 0x0276, 0x02B8, 0x02DA, 0x033C, 0x043F, 0x04BF, + 0x059F, 0x05FF, 0x063F, 0x1EDF, 0x05BF, 0x05BF, 0x053F, 0x04DF, 0x03DE, 0x03DE, 0x037D, 0x033C, + 0x02FA, 0x02B8, 0x02B8, 0x02D8, 0x0296, 0x0295, 0x0294, 0x0B97, 0x0CDB, 0x0DFF, 0x05DF, 0x059F, + 0x057F, 0x051F, 0x04FF, 0x04FF, 0x047F, 0x047F, 0x041E, 0x041E, 0x03DD, 0x03DD, 0x039B, 0x039B, + 0x037A, 0x0339, 0x02D6, 0x02D6, 0x0294, 0x0294, 0x0273, 0x0273, 0x0252, 0x0252, 0x0211, 0x0211, + 0x0210, 0x0210, 0x01EF, 0x01EF, 0x01CF, 0x0A51, 0x016C, 0x016C, 0x014B, 0x014B, 0x012A, 0x012A, + 0x0129, 0x0129, 0x0109, 0x0109, 0x11EF, 0x010B, 0x0086, 0x0086, 0x0886, 0x0886, 0x1886, 0x1886, + 0x2067, 0x2067, 0x2067, 0x2067, 0x2067, 0x2067, 0x1846, 0x1846, 0x1047, 0x1047, 0x008A, 0x1A35, + 0x0025, 0x0004, 0x0022, 0x0022, 0x0023, 0x0023, 0x0024, 0x0024, 0x0065, 0x0065, 0x0023, 0x0023, + 0x0023, 0x0023, 0x00A7, 0x44D9, 0x4D5C, 0x012B, 0x120F, 0x120F, 0x0064, 0x0064, 0x21CA, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0884, 0x0021, 0x0000, 0x0000, 0x1A0E, 0x224E, 0x0000, + 0x10A3, 0x0021, 0x0041, 0x0862, 0x0863, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, 0x0842, 0x0842, + 0x0861, 0x0863, 0x0022, 0x0064, 0x0000, 0x0000, 0x1128, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x0000, 0x0000, 0x0000, + 0x0084, 0x08A6, 0x0000, 0x0000, 0x0001, 0x0001, 0x08C7, 0x1CDD, 0x0086, 0x0044, 0x0023, 0x0023, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0045, 0x112A, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0863, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x1821, 0x1821, 0x48E2, 0x6101, + 0x91C1, 0xAA00, 0xD320, 0xF4E4, 0xFED0, 0xFF55, 0xFF35, 0xFF34, 0xF6AF, 0xEC63, 0xCAC1, 0xA1C0, + 0x7140, 0x58E0, 0x50E2, 0x5166, 0x1021, 0x0022, 0x0022, 0x0022, 0x19EC, 0x0044, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0044, 0x0044, 0x198B, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x00A6, 0x00A6, + 0x0909, 0x00A7, 0x00C7, 0x00C7, 0x00C8, 0x010A, 0x012A, 0x012A, 0x014C, 0x014C, 0x016D, 0x01D0, + 0x0213, 0x0254, 0x0234, 0x0276, 0x0298, 0x02DA, 0x037D, 0x043F, 0x04FF, 0x053F, 0x055F, 0x167F, + 0x053F, 0x04FF, 0x04DF, 0x043F, 0x03DE, 0x035D, 0x033C, 0x02FB, 0x02B8, 0x0277, 0x0276, 0x0276, + 0x0254, 0x0254, 0x0212, 0x0212, 0x0253, 0x02D5, 0x0BD8, 0x0CFC, 0x057F, 0x057F, 0x04FF, 0x04FF, + 0x047F, 0x047F, 0x041E, 0x041E, 0x03DD, 0x03DD, 0x039B, 0x039B, 0x039B, 0x0339, 0x02D6, 0x02D6, + 0x0294, 0x0294, 0x0273, 0x0273, 0x0252, 0x0252, 0x0211, 0x0211, 0x0210, 0x0210, 0x01EF, 0x01EF, + 0x01CF, 0x0A51, 0x016C, 0x016C, 0x014B, 0x014B, 0x012A, 0x012A, 0x0129, 0x0129, 0x0109, 0x0109, + 0x120F, 0x010B, 0x0086, 0x0086, 0x0886, 0x0886, 0x0886, 0x1886, 0x1066, 0x1866, 0x1866, 0x1866, + 0x2067, 0x1866, 0x1846, 0x1846, 0x1047, 0x1047, 0x008A, 0x1A34, 0x0025, 0x0023, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0024, 0x0024, 0x0065, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0087, 0x012B, + 0x012B, 0x00A8, 0x0A30, 0x120F, 0x0064, 0x0064, 0x21CA, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0863, 0x0021, 0x0000, 0x0000, 0x1A0E, 0x224E, 0x0000, 0x10A3, 0x0021, 0x0041, 0x0041, + 0x0863, 0x0841, 0x0821, 0x0021, 0x0000, 0x0000, 0x0021, 0x0021, 0x0861, 0x0861, 0x0022, 0x0064, + 0x0000, 0x0000, 0x1128, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x08C5, 0x0001, + 0x10E6, 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x3ACE, 0x0000, 0x0000, 0x0000, 0x0884, 0x08A5, 0x0000, 0x0000, + 0x0000, 0x0022, 0x0065, 0x24DD, 0x08C8, 0x0044, 0x0023, 0x0023, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0044, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0003, 0x196C, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0864, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0801, 0x0801, 0x1820, 0x2820, 0x50E2, 0x7141, 0x99C0, 0xCAE0, 0xF482, 0xF64C, + 0xFF54, 0xFF56, 0xFF56, 0xFF56, 0xFF33, 0xF62D, 0xEC02, 0xB220, 0x8960, 0x6900, 0x50C1, 0x61A7, + 0x1821, 0x0022, 0x0022, 0x0022, 0x21EC, 0x0045, 0x0043, 0x0043, 0x0043, 0x0043, 0x0064, 0x0064, + 0x19AB, 0x0086, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x0908, 0x00C8, 0x00A7, 0x00A7, + 0x00C8, 0x00C8, 0x012B, 0x012B, 0x012A, 0x014C, 0x018E, 0x01F0, 0x0212, 0x01D1, 0x0213, 0x0213, + 0x0297, 0x02B9, 0x031C, 0x03DE, 0x043F, 0x043F, 0x049F, 0x15FF, 0x049F, 0x047F, 0x045F, 0x03FF, + 0x035D, 0x031C, 0x02DB, 0x02B9, 0x02B8, 0x0277, 0x0276, 0x0234, 0x01F1, 0x01F1, 0x01D0, 0x01D0, + 0x01F1, 0x01F1, 0x01F0, 0x0211, 0x02B3, 0x13F8, 0x0D3E, 0x055F, 0x051F, 0x04BE, 0x045E, 0x03FE, + 0x03DC, 0x03DC, 0x03BB, 0x03BB, 0x039B, 0x0318, 0x02B6, 0x02B6, 0x02B5, 0x02B5, 0x0253, 0x0253, + 0x0232, 0x0232, 0x0210, 0x0210, 0x01EF, 0x01EF, 0x01EF, 0x01EF, 0x0210, 0x0A30, 0x016C, 0x016C, + 0x014A, 0x014A, 0x012A, 0x012A, 0x0109, 0x0109, 0x0109, 0x0109, 0x1210, 0x010B, 0x0086, 0x0086, + 0x0086, 0x0086, 0x0085, 0x0085, 0x0866, 0x0866, 0x0866, 0x0866, 0x0845, 0x0845, 0x0846, 0x0846, + 0x0046, 0x0046, 0x08CC, 0x19F2, 0x0024, 0x0003, 0x0002, 0x0002, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0044, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0066, 0x00C8, 0x00A8, 0x00A8, 0x0A50, 0x11ED, + 0x0064, 0x0064, 0x1989, 0x0022, 0x08A5, 0x08A5, 0x0043, 0x0043, 0x0043, 0x0043, 0x0042, 0x0042, + 0x0042, 0x0042, 0x0022, 0x0022, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0021, 0x0021, + 0x0042, 0x0042, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0042, 0x0042, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0063, 0x0063, 0x0084, 0x3D17, 0x1A0A, 0x0863, 0x0021, 0x0000, + 0x0000, 0x1A2E, 0x1A2E, 0x0000, 0x10C3, 0x0001, 0x0000, 0x0000, 0x1083, 0x0841, 0x0041, 0x0021, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0861, 0x0861, 0x0022, 0x0064, 0x0000, 0x0000, 0x1149, 0x08A5, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3B51, 0x3BD4, 0x1A0C, 0x33B3, 0x3B50, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0085, 0x0000, 0x0000, 0x0000, 0x0884, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0022, 0x0044, 0x24BD, + 0x0909, 0x0044, 0x0023, 0x0023, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0043, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0003, 0x196C, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0864, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0801, 0x0801, + 0x2820, 0x3041, 0x58E2, 0x9181, 0xCA81, 0xEC22, 0xF586, 0xFF32, 0xFF56, 0xFF56, 0xFF56, 0xFF56, + 0xFF55, 0xFF33, 0xF506, 0xD301, 0x99A0, 0x7121, 0x48C1, 0x5186, 0x0822, 0x0022, 0x0022, 0x0022, + 0x21CB, 0x0045, 0x0043, 0x0043, 0x0043, 0x0043, 0x0064, 0x0064, 0x118A, 0x0066, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0086, 0x0086, 0x0909, 0x00C8, 0x00A7, 0x00A7, 0x00C8, 0x00C8, 0x012B, 0x012B, + 0x014C, 0x018D, 0x018E, 0x018E, 0x01D1, 0x01D1, 0x01D1, 0x0213, 0x0255, 0x0297, 0x02FB, 0x039E, + 0x039E, 0x039E, 0x03FE, 0x157F, 0x03FF, 0x03FF, 0x03FF, 0x03FF, 0x031C, 0x02DB, 0x02B9, 0x0298, + 0x0277, 0x0277, 0x0234, 0x01F2, 0x01F1, 0x01F1, 0x01D0, 0x01D0, 0x01F1, 0x01AF, 0x01AF, 0x01AF, + 0x01AE, 0x01CF, 0x0251, 0x0B35, 0x14BB, 0x0D7F, 0x04DE, 0x045E, 0x03DC, 0x03DC, 0x03BB, 0x03BB, + 0x039B, 0x0318, 0x02B6, 0x02B6, 0x02B5, 0x02B5, 0x0253, 0x0253, 0x0232, 0x0232, 0x0210, 0x0210, + 0x01EF, 0x01EF, 0x01EF, 0x01EF, 0x1272, 0x01AE, 0x016C, 0x016C, 0x014A, 0x014A, 0x012A, 0x012A, + 0x0109, 0x0109, 0x0109, 0x0109, 0x1210, 0x00EA, 0x0086, 0x0086, 0x0086, 0x0086, 0x0085, 0x0085, + 0x0866, 0x0866, 0x0866, 0x0866, 0x0845, 0x0845, 0x0846, 0x0846, 0x0046, 0x0046, 0x092E, 0x1190, + 0x0024, 0x0022, 0x0002, 0x0002, 0x0022, 0x0022, 0x0023, 0x0023, 0x0044, 0x0023, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0066, 0x00C8, 0x00A8, 0x00A8, 0x0A71, 0x11ED, 0x0064, 0x0064, 0x1989, 0x0022, + 0x0043, 0x0044, 0x0043, 0x0043, 0x0001, 0x0001, 0x0001, 0x0042, 0x0021, 0x0021, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0042, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0021, 0x0001, 0x0021, 0x0021, 0x0022, 0x0022, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0063, 0x0063, 0x11AA, 0x2EBE, 0x22EE, 0x0063, 0x0021, 0x0000, 0x0000, 0x1A0E, 0x1A2E, 0x0000, + 0x18C3, 0x0001, 0x0000, 0x0000, 0x1083, 0x0021, 0x0021, 0x0020, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0841, 0x0841, 0x0042, 0x0042, 0x0000, 0x0000, 0x1149, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0063, + 0x08A4, 0x08A4, 0x2B50, 0x3372, 0x19CA, 0x3BB2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0084, 0x0000, 0x0000, 0x0000, + 0x0063, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0021, 0x0023, 0x1C5B, 0x096B, 0x0045, 0x0087, 0x00A7, + 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0043, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x196D, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0801, 0x2021, 0x2841, 0x50E2, 0x7941, + 0xA9E0, 0xDB21, 0xECC3, 0xF68D, 0xFF54, 0xFF56, 0xFF55, 0xFF55, 0xFF54, 0xF5EB, 0xE3C2, 0xB200, + 0x8160, 0x6101, 0x40A1, 0x49A8, 0x0022, 0x0022, 0x0022, 0x0022, 0x116A, 0x08C7, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0044, 0x0044, 0x0928, 0x0086, 0x0085, 0x0085, 0x0086, 0x0086, 0x0086, 0x0086, + 0x00C7, 0x0909, 0x00A7, 0x00A7, 0x00A8, 0x00A8, 0x010A, 0x016C, 0x012B, 0x012B, 0x012B, 0x012B, + 0x018E, 0x01D0, 0x01D1, 0x01D1, 0x0234, 0x0276, 0x02B9, 0x031C, 0x02DB, 0x033D, 0x039D, 0x14FE, + 0x037E, 0x031D, 0x033D, 0x035D, 0x031C, 0x02BA, 0x0298, 0x0256, 0x0235, 0x0235, 0x0213, 0x01D2, + 0x01AF, 0x01AF, 0x018F, 0x018F, 0x01AF, 0x018E, 0x016D, 0x014C, 0x018E, 0x018E, 0x01CF, 0x01AE, + 0x01AF, 0x0A92, 0x13F9, 0x0CDE, 0x047E, 0x041D, 0x043D, 0x03DC, 0x039B, 0x0359, 0x02F7, 0x02F7, + 0x02B4, 0x02B4, 0x0273, 0x0273, 0x0232, 0x0232, 0x01F0, 0x01F0, 0x01CF, 0x01CF, 0x01CE, 0x01CE, + 0x0A10, 0x016C, 0x014B, 0x014B, 0x012A, 0x012A, 0x0109, 0x0109, 0x0109, 0x0109, 0x00E9, 0x00E9, + 0x1A31, 0x00EA, 0x0086, 0x0086, 0x0085, 0x0085, 0x0085, 0x0085, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0045, 0x0045, 0x0045, 0x0045, 0x0970, 0x092D, 0x0023, 0x0023, 0x0002, 0x0002, + 0x0022, 0x0022, 0x0002, 0x0002, 0x0064, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0087, 0x00C9, + 0x00A8, 0x00A8, 0x0AB2, 0x116A, 0x0064, 0x0064, 0x1969, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0002, 0x0002, 0x0002, 0x0843, 0x0002, 0x0002, 0x0001, 0x0842, 0x0001, 0x0001, 0x0001, 0x0043, + 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0001, 0x0001, 0x0001, + 0x0843, 0x0001, 0x0001, 0x0001, 0x0043, 0x0043, 0x0023, 0x0023, 0x0064, 0x0085, 0x2D59, 0x14B8, + 0x00E6, 0x0863, 0x0021, 0x0000, 0x0000, 0x120D, 0x1A0D, 0x0000, 0x18C3, 0x0000, 0x0000, 0x0000, + 0x0842, 0x0021, 0x0021, 0x0020, 0x0000, 0x0000, 0x0021, 0x0021, 0x0841, 0x0841, 0x0042, 0x0042, + 0x0000, 0x0000, 0x1149, 0x08C6, 0x0000, 0x0000, 0x0000, 0x430F, 0x328D, 0x226D, 0x2B50, 0x228D, + 0x19CA, 0x43B2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x0063, 0x08A5, 0x0000, 0x0000, + 0x0000, 0x0021, 0x0022, 0x1BD8, 0x09CD, 0x1108, 0x1AB1, 0x1A2E, 0x0002, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0043, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x196D, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0801, 0x2021, 0x2841, 0x40C2, 0x6101, 0x8961, 0xC260, 0xE3A1, 0xED25, + 0xFF11, 0xFF54, 0xFF55, 0xFF55, 0xF6CF, 0xEC63, 0xC280, 0x99A0, 0x7120, 0x50E0, 0x3881, 0x3168, + 0x0022, 0x0022, 0x0022, 0x0022, 0x08C7, 0x116A, 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, + 0x00A6, 0x0928, 0x0085, 0x0085, 0x0086, 0x0086, 0x0086, 0x0086, 0x00C7, 0x0929, 0x00A7, 0x00A7, + 0x00A8, 0x00A8, 0x010A, 0x016C, 0x012B, 0x012B, 0x012B, 0x012B, 0x016D, 0x01D0, 0x01B0, 0x01D1, + 0x0234, 0x0234, 0x02B9, 0x02B9, 0x0299, 0x02DB, 0x033C, 0x149E, 0x031D, 0x031D, 0x02FC, 0x02FC, + 0x031C, 0x02BA, 0x0256, 0x0256, 0x0235, 0x0235, 0x01D2, 0x01B0, 0x01AF, 0x01AF, 0x018F, 0x018F, + 0x018E, 0x014C, 0x014C, 0x014C, 0x014C, 0x01AF, 0x01AE, 0x014D, 0x016D, 0x016E, 0x018E, 0x0211, + 0x1377, 0x149D, 0x0C9E, 0x043D, 0x03BC, 0x0359, 0x02F7, 0x02F7, 0x02D6, 0x02B4, 0x0273, 0x0273, + 0x0232, 0x0232, 0x01F0, 0x01F0, 0x01CF, 0x01CF, 0x01CE, 0x01CE, 0x1251, 0x014C, 0x014B, 0x014B, + 0x012A, 0x012A, 0x0109, 0x0109, 0x0109, 0x0109, 0x00E9, 0x00EA, 0x1A51, 0x00EA, 0x0086, 0x0086, + 0x0085, 0x0085, 0x0085, 0x0085, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0045, 0x0045, + 0x0045, 0x0045, 0x11D1, 0x08AA, 0x0023, 0x0002, 0x0002, 0x0002, 0x0022, 0x0022, 0x0002, 0x0002, + 0x0064, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x00C9, 0x00C9, 0x00A8, 0x00A8, 0x12F3, 0x0908, + 0x0064, 0x0064, 0x1969, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0843, + 0x0002, 0x0002, 0x0001, 0x0842, 0x0001, 0x0001, 0x0001, 0x0043, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0001, 0x0001, 0x0001, 0x0843, 0x0001, 0x0001, 0x0001, + 0x0043, 0x0043, 0x0023, 0x0065, 0x0969, 0x2476, 0x1D3A, 0x02D2, 0x00E6, 0x0063, 0x0021, 0x0000, + 0x0000, 0x09CC, 0x11ED, 0x0000, 0x18C3, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, 0x0042, 0x0042, 0x0000, 0x0000, 0x116B, 0x08C7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x4D59, 0x4D19, 0x226D, 0x4CF8, 0x3B50, 0x0000, 0x08A5, + 0x1109, 0x1109, 0x08C6, 0x0883, 0x0842, 0x0842, 0x0842, 0x0842, 0x0841, 0x0841, 0x0841, 0x0841, + 0x0041, 0x0841, 0x0021, 0x0021, 0x0021, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0063, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x1355, + 0x1250, 0x0044, 0x0023, 0x0023, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x112B, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0863, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x1821, 0x2021, 0x3061, 0x6122, 0x7120, 0xA1C0, 0xCA80, 0xEC62, 0xED87, 0xFF32, 0xFF33, 0xFF11, + 0xECC5, 0xD321, 0xA1E1, 0x8160, 0x58E1, 0x40A1, 0x2861, 0x2989, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0044, 0x21EB, 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x0065, 0x1129, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0086, 0x0086, 0x0087, 0x08E8, 0x00C8, 0x0087, 0x08E9, 0x00E9, 0x00C9, 0x012B, + 0x012B, 0x012B, 0x010A, 0x010A, 0x014C, 0x018E, 0x0A31, 0x01D1, 0x01F2, 0x0234, 0x0297, 0x0256, + 0x0256, 0x0298, 0x02DA, 0x145D, 0x02DB, 0x02BA, 0x0299, 0x0299, 0x02DA, 0x02DA, 0x0257, 0x0235, + 0x0276, 0x01F2, 0x01AF, 0x01AF, 0x016E, 0x01AF, 0x01AF, 0x01AF, 0x010B, 0x010B, 0x010A, 0x010A, + 0x012B, 0x09AD, 0x012B, 0x012B, 0x012B, 0x012B, 0x016C, 0x016C, 0x018E, 0x01D0, 0x0AF5, 0x145C, + 0x0C9E, 0x041C, 0x037A, 0x0318, 0x02F7, 0x02F7, 0x0274, 0x0274, 0x0252, 0x0211, 0x01EF, 0x01EF, + 0x01CF, 0x01CF, 0x01AF, 0x01AF, 0x1231, 0x014B, 0x014B, 0x014B, 0x012A, 0x012A, 0x0109, 0x0109, + 0x00E8, 0x00E8, 0x0109, 0x012B, 0x1211, 0x00A8, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, + 0x0065, 0x0065, 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x0046, 0x1A13, 0x0047, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0002, 0x0002, 0x0002, 0x0002, 0x0043, 0x0002, 0x0002, 0x0002, + 0x0023, 0x0065, 0x2AB1, 0x33F6, 0x1A0F, 0x00C8, 0x1334, 0x08A7, 0x0043, 0x0043, 0x1949, 0x0022, + 0x198A, 0x19CC, 0x08A6, 0x0043, 0x0002, 0x0002, 0x0002, 0x0043, 0x0002, 0x0002, 0x0002, 0x0843, + 0x0001, 0x0001, 0x0001, 0x0043, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0022, 0x0001, 0x0001, 0x0002, 0x0043, 0x0023, 0x0085, 0x3E7D, + 0x2E7F, 0x1D9C, 0x0314, 0x02B2, 0x00C6, 0x0863, 0x0001, 0x0001, 0x0000, 0x098C, 0x098C, 0x0000, + 0x10A3, 0x0021, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0020, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0042, 0x0042, 0x0000, 0x0000, 0x098C, 0x00E7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0021, 0x0042, 0x0001, 0x0063, 0x0021, 0x0000, 0x0044, 0x0086, 0x0086, 0x0022, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0063, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x12D3, 0x12D3, 0x0044, 0x0023, 0x0023, + 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x112B, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0842, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x1821, 0x2021, 0x2841, 0x4902, + 0x58E0, 0x8161, 0xAA00, 0xD2C0, 0xF482, 0xF5EA, 0xFF11, 0xED26, 0xE3C1, 0xB220, 0x8981, 0x6920, + 0x50E1, 0x38A1, 0x2061, 0x18E6, 0x10E7, 0x0023, 0x0022, 0x0022, 0x0044, 0x21EC, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0044, 0x0044, 0x0065, 0x1129, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, + 0x0087, 0x0087, 0x0909, 0x00C8, 0x00A8, 0x00A8, 0x00C9, 0x00C9, 0x012B, 0x010A, 0x010A, 0x010A, + 0x014C, 0x018E, 0x01D0, 0x0A31, 0x01F2, 0x0275, 0x0214, 0x0213, 0x0234, 0x0256, 0x0298, 0x143C, + 0x0279, 0x0279, 0x0277, 0x0277, 0x0298, 0x02DA, 0x0257, 0x0257, 0x0214, 0x01B1, 0x01AF, 0x01AF, + 0x016E, 0x016E, 0x018D, 0x018D, 0x010B, 0x010B, 0x010A, 0x010A, 0x012B, 0x09AD, 0x012B, 0x012B, + 0x012B, 0x012B, 0x012B, 0x012B, 0x014B, 0x014C, 0x016F, 0x0A53, 0x0AB5, 0x13FB, 0x0C7D, 0x03DB, + 0x0338, 0x02F7, 0x02B5, 0x0274, 0x0273, 0x0211, 0x01EF, 0x01EF, 0x01CF, 0x01CF, 0x01AF, 0x01D0, + 0x09EF, 0x014B, 0x014B, 0x014B, 0x012A, 0x012A, 0x0109, 0x0109, 0x00E8, 0x00E8, 0x00E9, 0x11AE, + 0x098F, 0x0087, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0065, 0x0065, 0x0064, 0x0064, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x0067, 0x1A55, 0x0025, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0043, 0x0022, 0x0002, 0x0002, 0x0023, 0x0045, 0x014B, 0x0A0E, + 0x098C, 0x0909, 0x1334, 0x0044, 0x0043, 0x0043, 0x1949, 0x0022, 0x224E, 0x22D2, 0x1108, 0x0864, + 0x0863, 0x0863, 0x0884, 0x10C5, 0x0863, 0x0863, 0x0883, 0x0884, 0x0863, 0x0863, 0x0883, 0x0884, + 0x0863, 0x0863, 0x0863, 0x0884, 0x0863, 0x0863, 0x0863, 0x0863, 0x0863, 0x0863, 0x0863, 0x0863, + 0x0884, 0x0884, 0x0884, 0x0884, 0x08C6, 0x08C6, 0x1B0F, 0x1D3A, 0x0375, 0x02D3, 0x02B2, 0x0271, + 0x00C6, 0x0863, 0x0001, 0x0001, 0x0000, 0x096B, 0x098C, 0x0000, 0x10A3, 0x0021, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0021, 0x0020, 0x0000, 0x0000, 0x0021, 0x0021, 0x0841, 0x0000, 0x0022, 0x0022, + 0x0000, 0x0000, 0x09AD, 0x00E8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0043, 0x0086, 0x0086, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x0063, 0x08A5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0022, 0x1270, 0x1B55, 0x0044, 0x0024, 0x0024, 0x0023, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1109, 0x0044, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0043, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x1001, 0x1821, 0x2021, 0x40E3, 0x50C1, 0x6921, 0x91A1, 0xB200, + 0xDB01, 0xF462, 0xF587, 0xEC01, 0xBA60, 0x99C1, 0x7140, 0x5901, 0x40C1, 0x3081, 0x1841, 0x0863, + 0x21CA, 0x0022, 0x0022, 0x0022, 0x0023, 0x21EC, 0x0044, 0x0044, 0x0043, 0x0043, 0x0044, 0x0044, + 0x0044, 0x0908, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x0086, 0x00A8, 0x0909, 0x0087, + 0x0087, 0x0087, 0x00C8, 0x00C8, 0x00E9, 0x012B, 0x010B, 0x010B, 0x016D, 0x016D, 0x016F, 0x01D0, + 0x0A74, 0x0254, 0x01D2, 0x01D2, 0x0213, 0x0213, 0x0256, 0x1BFB, 0x0236, 0x0236, 0x0235, 0x0235, + 0x0257, 0x0299, 0x02F9, 0x0256, 0x01D1, 0x01D1, 0x018E, 0x018E, 0x014D, 0x014D, 0x016D, 0x012C, + 0x010B, 0x010B, 0x010A, 0x010A, 0x098D, 0x012A, 0x010A, 0x010A, 0x0109, 0x0109, 0x00E9, 0x00E9, + 0x010A, 0x012B, 0x018F, 0x018F, 0x018F, 0x01F2, 0x0255, 0x1359, 0x13FB, 0x0358, 0x02D7, 0x0295, + 0x0294, 0x0232, 0x0210, 0x0210, 0x01CF, 0x01CF, 0x01AF, 0x1252, 0x014C, 0x014C, 0x012A, 0x012A, + 0x0109, 0x0109, 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x1A11, 0x012D, 0x0086, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0045, 0x0068, 0x2275, 0x0024, 0x0002, 0x0002, 0x0021, 0x0021, 0x0001, 0x0001, 0x0021, 0x0023, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0044, 0x00E9, 0x00E9, 0x00A8, 0x094A, 0x0AD2, 0x0044, + 0x0043, 0x0043, 0x1128, 0x0022, 0x0087, 0x0087, 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0863, + 0x0022, 0x0022, 0x0001, 0x0843, 0x0001, 0x0001, 0x0001, 0x0043, 0x0001, 0x0001, 0x0001, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0042, 0x0001, 0x0021, 0x0021, 0x0064, 0x0023, 0x0023, 0x0023, + 0x0085, 0x0085, 0x2C75, 0x0B95, 0x0292, 0x0271, 0x0272, 0x0250, 0x00A5, 0x0863, 0x0001, 0x0001, + 0x0000, 0x016B, 0x098C, 0x0000, 0x1082, 0x0000, 0x0000, 0x0000, 0x0841, 0x0841, 0x0021, 0x0020, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0841, 0x0000, 0x0022, 0x0022, 0x0000, 0x0000, 0x09AD, 0x00E8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0043, + 0x0086, 0x0086, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0063, 0x08C6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x09CD, + 0x1BB8, 0x0044, 0x0024, 0x0024, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08C7, 0x08C7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0043, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x1001, 0x1001, 0x2021, 0x30A2, 0x4881, 0x5901, 0x7141, 0x91A1, 0xB201, 0xDB61, 0xF441, 0xC2C0, + 0x99C1, 0x7141, 0x5901, 0x48C1, 0x3081, 0x2861, 0x1841, 0x0842, 0x21EB, 0x0022, 0x0022, 0x0022, + 0x0023, 0x116A, 0x08A6, 0x0044, 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0086, 0x08E7, 0x0065, + 0x0065, 0x0065, 0x0086, 0x0086, 0x00A8, 0x00A8, 0x00A7, 0x00C8, 0x0087, 0x0087, 0x00C8, 0x00C8, + 0x00E9, 0x00E9, 0x010B, 0x010B, 0x016D, 0x016D, 0x016D, 0x016F, 0x01D1, 0x0A74, 0x01D2, 0x01D2, + 0x0213, 0x0213, 0x0234, 0x1BBA, 0x0236, 0x0236, 0x0235, 0x0235, 0x0277, 0x0B1A, 0x02D9, 0x0214, + 0x01D1, 0x01B0, 0x018E, 0x018E, 0x014D, 0x014D, 0x012C, 0x010A, 0x010B, 0x010B, 0x010A, 0x010A, + 0x098D, 0x012A, 0x010A, 0x010A, 0x0109, 0x0109, 0x00E9, 0x00E9, 0x010A, 0x010A, 0x1230, 0x010C, + 0x012D, 0x018F, 0x01B1, 0x0191, 0x01B1, 0x12D5, 0x1399, 0x0338, 0x02B6, 0x0253, 0x0210, 0x0210, + 0x01CF, 0x01CF, 0x01AF, 0x1252, 0x014C, 0x014C, 0x012A, 0x012A, 0x0109, 0x0109, 0x00E9, 0x00E9, + 0x00E9, 0x00E9, 0x00E9, 0x1A32, 0x00EB, 0x0066, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x0089, 0x1A53, 0x0023, + 0x0002, 0x0002, 0x0021, 0x0021, 0x0001, 0x0001, 0x0021, 0x0023, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0023, 0x0044, 0x00E9, 0x00E9, 0x0087, 0x098C, 0x0A71, 0x0043, 0x0043, 0x0043, 0x1128, 0x0022, + 0x0087, 0x0087, 0x0045, 0x0043, 0x0022, 0x0022, 0x0022, 0x0864, 0x0022, 0x0022, 0x0001, 0x0843, + 0x0001, 0x0001, 0x0001, 0x0043, 0x0001, 0x0001, 0x0001, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0042, 0x0001, 0x0021, 0x0021, 0x0064, 0x0064, 0x0064, 0x0064, 0x00C7, 0x0108, 0x35DC, 0x0291, + 0x0271, 0x0271, 0x0250, 0x020F, 0x00A5, 0x0863, 0x0001, 0x0001, 0x0000, 0x016B, 0x098C, 0x0000, + 0x1082, 0x0000, 0x0000, 0x0000, 0x0841, 0x0841, 0x0021, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0841, 0x0000, 0x0022, 0x0022, 0x0000, 0x0021, 0x09CE, 0x0108, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0066, 0x0066, 0x0023, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0064, 0x0000, 0x0000, 0x0000, + 0x0063, 0x10C6, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x094A, 0x1C3B, 0x0045, 0x10E7, 0x114A, + 0x08C6, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0023, 0x1109, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0043, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0801, 0x1001, 0x1822, 0x3083, + 0x3881, 0x48A0, 0x58E0, 0x6920, 0x91A1, 0xB200, 0xC2E1, 0x99C0, 0x7141, 0x5901, 0x48C1, 0x38A1, + 0x2861, 0x2041, 0x0821, 0x0821, 0x19CA, 0x0023, 0x0022, 0x0022, 0x0022, 0x0086, 0x1989, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x1108, 0x0065, 0x0065, 0x0065, 0x0086, 0x00C7, + 0x0086, 0x0086, 0x0086, 0x00C8, 0x00A8, 0x00A8, 0x00A7, 0x00A7, 0x00C8, 0x00C8, 0x016C, 0x016C, + 0x010B, 0x010B, 0x014C, 0x014C, 0x01AF, 0x016E, 0x0A32, 0x1294, 0x0A95, 0x0213, 0x0214, 0x139A, + 0x0235, 0x0235, 0x0A97, 0x0AB7, 0x0A96, 0x0256, 0x02B7, 0x0255, 0x01B1, 0x018E, 0x016E, 0x016E, + 0x016D, 0x016D, 0x00EA, 0x00EA, 0x00E9, 0x00E9, 0x00EA, 0x092C, 0x012B, 0x00EA, 0x00E9, 0x00E9, + 0x00E8, 0x00E8, 0x00C8, 0x00C8, 0x00E8, 0x010B, 0x1A30, 0x00EA, 0x012C, 0x014E, 0x016F, 0x016F, + 0x016F, 0x016F, 0x0190, 0x0A95, 0x1338, 0x02F6, 0x0253, 0x0231, 0x01F0, 0x01F0, 0x01D0, 0x0A11, + 0x014C, 0x012A, 0x010A, 0x010A, 0x0109, 0x0109, 0x00E8, 0x00E8, 0x00E9, 0x00E9, 0x00EA, 0x1A53, + 0x00C9, 0x0066, 0x0065, 0x0065, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0043, 0x0043, 0x0045, 0x090C, 0x19D0, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0044, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0044, 0x19CD, 0x19CD, + 0x0087, 0x09ED, 0x0A4F, 0x0023, 0x0022, 0x0022, 0x1128, 0x0022, 0x0066, 0x0087, 0x0864, 0x0864, + 0x0022, 0x0022, 0x0022, 0x0043, 0x0002, 0x0002, 0x0001, 0x0843, 0x0001, 0x0001, 0x0001, 0x0043, + 0x0001, 0x0001, 0x0001, 0x0842, 0x0001, 0x0001, 0x0001, 0x0001, 0x0843, 0x0002, 0x0022, 0x0022, + 0x0085, 0x11CA, 0x2D39, 0x122D, 0x0908, 0x1B31, 0x1C98, 0x0230, 0x0210, 0x0210, 0x0230, 0x01EE, + 0x0064, 0x0064, 0x0000, 0x0000, 0x0000, 0x014B, 0x098C, 0x0000, 0x0862, 0x0000, 0x0000, 0x0000, + 0x0862, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0841, 0x0000, 0x0022, 0x0022, + 0x0000, 0x0021, 0x09CE, 0x00E8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0044, 0x0066, 0x0066, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0064, 0x0000, 0x0000, 0x0000, 0x0043, 0x10C6, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0022, 0x08C7, 0x1C7C, 0x00A7, 0x0043, 0x0023, 0x0023, 0x0023, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x1109, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0043, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0801, 0x0801, 0x1822, 0x1822, 0x3082, 0x3881, 0x50A0, 0x58E0, + 0x7121, 0x8161, 0x8161, 0x7141, 0x5901, 0x48C1, 0x38A1, 0x2861, 0x2041, 0x1021, 0x0821, 0x0821, + 0x08E7, 0x08E7, 0x0022, 0x0022, 0x0043, 0x0064, 0x198A, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0044, 0x0044, 0x1108, 0x0086, 0x0065, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, + 0x00A8, 0x00A8, 0x00A7, 0x00A7, 0x00C8, 0x00C9, 0x016C, 0x00EA, 0x010B, 0x010B, 0x014C, 0x014C, + 0x016E, 0x014D, 0x014D, 0x018F, 0x0212, 0x12B5, 0x12D6, 0x1BDA, 0x0AB6, 0x0A95, 0x0234, 0x01F2, + 0x01F2, 0x0213, 0x0255, 0x0255, 0x01B1, 0x018E, 0x016E, 0x016E, 0x018E, 0x010C, 0x00EA, 0x00EA, + 0x00E9, 0x00E9, 0x00EA, 0x092C, 0x00EA, 0x00EA, 0x00E9, 0x00E9, 0x00E8, 0x00E8, 0x00C8, 0x00C8, + 0x00C8, 0x11CE, 0x094B, 0x00E9, 0x00E9, 0x012C, 0x016F, 0x016F, 0x016F, 0x016F, 0x0190, 0x0190, + 0x0190, 0x09D1, 0x0253, 0x0253, 0x01F0, 0x01F0, 0x0A32, 0x01B0, 0x014C, 0x012A, 0x010A, 0x010A, + 0x0109, 0x0109, 0x00E8, 0x00E8, 0x00E9, 0x00E9, 0x00EB, 0x1A33, 0x00C9, 0x0065, 0x0065, 0x0065, + 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0043, 0x0043, + 0x0044, 0x098F, 0x112C, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0044, 0x0087, 0x00A7, 0x0066, 0x0A2F, 0x09ED, 0x0023, + 0x0022, 0x0022, 0x1128, 0x0022, 0x116A, 0x11AD, 0x00A6, 0x0864, 0x0022, 0x0022, 0x0022, 0x0043, + 0x0002, 0x0002, 0x0002, 0x0843, 0x0001, 0x0001, 0x0001, 0x0043, 0x0001, 0x0001, 0x0001, 0x0042, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0043, 0x0002, 0x0022, 0x0022, 0x0085, 0x2538, 0x155B, 0x263E, + 0x257B, 0x25DC, 0x02D2, 0x0210, 0x0210, 0x0210, 0x020F, 0x01EE, 0x0064, 0x0064, 0x0000, 0x0000, + 0x0000, 0x014B, 0x098B, 0x0000, 0x0862, 0x0001, 0x0000, 0x0000, 0x0861, 0x0021, 0x0021, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0841, 0x0000, 0x0021, 0x0021, 0x0000, 0x0021, 0x01CF, 0x00E8, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10E5, 0x0001, 0x1A0B, 0x08A4, 0x0001, 0x08A6, + 0x10E9, 0x10E9, 0x10C7, 0x10A5, 0x0883, 0x0883, 0x0883, 0x0883, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0862, 0x0861, 0x0861, 0x0861, 0x0000, 0x0000, + 0x0064, 0x0000, 0x0000, 0x0000, 0x0043, 0x10E6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0044, + 0x1C3B, 0x096B, 0x0044, 0x0044, 0x0023, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0000, 0x0002, 0x190A, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0802, 0x0802, 0x1002, 0x1002, 0x2862, 0x3041, 0x4060, 0x4060, 0x48A0, 0x6102, 0x50C0, 0x50C0, + 0x40A1, 0x3081, 0x2861, 0x2041, 0x1841, 0x0821, 0x0022, 0x0022, 0x0044, 0x19AA, 0x0043, 0x0043, + 0x0022, 0x0022, 0x19CB, 0x0044, 0x0023, 0x0023, 0x0043, 0x0043, 0x0044, 0x0044, 0x0065, 0x0909, + 0x00A6, 0x00A6, 0x0065, 0x0065, 0x0065, 0x0065, 0x0085, 0x0085, 0x00C7, 0x00C7, 0x00A7, 0x00A7, + 0x00C8, 0x094B, 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x010A, 0x012C, 0x014D, 0x012C, 0x014C, 0x014C, + 0x016E, 0x016E, 0x01D0, 0x1B77, 0x01B0, 0x01B0, 0x01AF, 0x01AF, 0x01AF, 0x01AF, 0x01D1, 0x0A33, + 0x01D1, 0x016E, 0x014D, 0x014D, 0x012C, 0x010A, 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x094C, 0x00E9, + 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00A8, 0x00A8, 0x00C8, 0x19EF, 0x00C8, 0x00C8, + 0x00C8, 0x00EA, 0x014E, 0x018F, 0x0191, 0x01B1, 0x01D2, 0x01D2, 0x0190, 0x014E, 0x016E, 0x018F, + 0x01F1, 0x01F2, 0x0A94, 0x018F, 0x014C, 0x014C, 0x012A, 0x012A, 0x00E9, 0x00E9, 0x00E8, 0x00E8, + 0x00E9, 0x00E9, 0x014D, 0x11D1, 0x00A8, 0x0065, 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x19F1, 0x0888, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0043, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x0065, 0x0087, 0x0087, 0x0086, 0x0A70, 0x098B, 0x0023, 0x0022, 0x0022, 0x1108, 0x0022, + 0x226E, 0x2333, 0x1129, 0x0885, 0x0885, 0x0884, 0x0864, 0x0885, 0x0864, 0x0864, 0x0064, 0x0064, + 0x0864, 0x0884, 0x0064, 0x0064, 0x0042, 0x0042, 0x0043, 0x0043, 0x0064, 0x0064, 0x0884, 0x0884, + 0x0864, 0x0864, 0x0884, 0x0884, 0x22AE, 0x2E3D, 0x02D2, 0x02D2, 0x1416, 0x24D9, 0x020F, 0x020F, + 0x020F, 0x020F, 0x020F, 0x09EE, 0x0084, 0x0863, 0x0000, 0x0000, 0x0000, 0x012A, 0x096B, 0x0000, + 0x0862, 0x0001, 0x0000, 0x0000, 0x0841, 0x0841, 0x0021, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0020, 0x0000, 0x0021, 0x0021, 0x0000, 0x0021, 0x01CF, 0x00E8, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x08A4, 0x44B8, 0x11AA, 0x2B51, 0x3BD3, 0x0021, 0x0065, 0x00A8, 0x0088, 0x0045, 0x0023, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0064, 0x0000, 0x0000, 0x0000, + 0x0843, 0x10E6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0023, 0x1BD9, 0x122E, 0x0044, 0x0044, + 0x0023, 0x0023, 0x0000, 0x0000, 0x0000, 0x0021, 0x0022, 0x0022, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0002, 0x190A, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, 0x0802, 0x0802, 0x1002, 0x1002, + 0x2862, 0x2021, 0x2820, 0x3040, 0x3860, 0x40A1, 0x40A0, 0x3880, 0x3081, 0x2841, 0x2041, 0x1021, + 0x0821, 0x0821, 0x0022, 0x0022, 0x0043, 0x19AA, 0x0043, 0x0043, 0x0022, 0x0022, 0x1108, 0x1108, + 0x0023, 0x0023, 0x0043, 0x0043, 0x0044, 0x0044, 0x0065, 0x0929, 0x00A6, 0x0065, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0085, 0x0085, 0x0086, 0x00C7, 0x00A7, 0x00A7, 0x094B, 0x00CA, 0x00E9, 0x00E9, + 0x00E9, 0x00E9, 0x010A, 0x010A, 0x012C, 0x012C, 0x014C, 0x014C, 0x016E, 0x016E, 0x018F, 0x1B36, + 0x01B0, 0x01B0, 0x01AF, 0x01AF, 0x018E, 0x01AF, 0x01AF, 0x01D1, 0x01D1, 0x016E, 0x014D, 0x014D, + 0x012C, 0x00EA, 0x00E9, 0x00E9, 0x00E9, 0x010A, 0x012B, 0x00C9, 0x00C8, 0x00C8, 0x00C8, 0x00C8, + 0x00C8, 0x00C8, 0x00A8, 0x00A8, 0x012B, 0x118C, 0x00C8, 0x00C8, 0x00C8, 0x00EA, 0x014E, 0x0190, + 0x01D3, 0x0214, 0x0235, 0x0214, 0x01B1, 0x0190, 0x016E, 0x016E, 0x016E, 0x01B0, 0x0A32, 0x01B0, + 0x016D, 0x014C, 0x012A, 0x012A, 0x00E9, 0x00E9, 0x00E8, 0x00E8, 0x00E9, 0x00E9, 0x11F1, 0x094E, + 0x0066, 0x0065, 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x2253, 0x0025, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0002, 0x0043, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0065, 0x0087, 0x0087, + 0x0086, 0x0AD2, 0x0928, 0x0022, 0x0022, 0x0022, 0x1108, 0x0022, 0x0044, 0x0045, 0x0044, 0x0885, + 0x0023, 0x0023, 0x0023, 0x0864, 0x0022, 0x0022, 0x0022, 0x0064, 0x0022, 0x0022, 0x0022, 0x0064, + 0x0022, 0x0021, 0x0021, 0x0043, 0x0023, 0x0023, 0x0023, 0x0023, 0x0864, 0x0043, 0x0043, 0x0065, + 0x2D58, 0x13F6, 0x020F, 0x020F, 0x0230, 0x01EF, 0x01CE, 0x01CE, 0x01CE, 0x01CE, 0x01CE, 0x018C, + 0x0863, 0x0863, 0x0000, 0x0000, 0x0000, 0x012A, 0x016B, 0x0000, 0x0861, 0x0001, 0x0000, 0x0000, + 0x0841, 0x0841, 0x0021, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0000, 0x0042, 0x0042, + 0x0000, 0x0022, 0x01CF, 0x00E8, 0x0000, 0x0000, 0x0000, 0x21C9, 0x21C9, 0x3351, 0x2BD4, 0x228F, + 0x1189, 0x33F4, 0x0022, 0x0085, 0x00C9, 0x00C9, 0x0065, 0x0043, 0x0043, 0x0043, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, + 0x0800, 0x0800, 0x0000, 0x0000, 0x0064, 0x0000, 0x0000, 0x0000, 0x0043, 0x10E7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0022, 0x0022, 0x1315, 0x12B3, 0x0065, 0x0065, 0x114A, 0x08E8, 0x0043, 0x0022, + 0x0022, 0x0001, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x10E8, + 0x0023, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0003, 0x0003, 0x0003, 0x0805, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0805, 0x0805, 0x0003, 0x0003, 0x1003, 0x1003, 0x2064, 0x1801, 0x2020, 0x2020, + 0x2020, 0x2862, 0x2841, 0x2841, 0x1821, 0x1821, 0x0821, 0x0821, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x1968, 0x0064, 0x0022, 0x0022, 0x0022, 0x0044, 0x220C, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0064, 0x0064, 0x0086, 0x0086, 0x08A7, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0085, 0x0085, 0x00E9, 0x096B, 0x11CE, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x010A, 0x010A, + 0x00EA, 0x00EA, 0x010B, 0x010B, 0x014C, 0x014C, 0x016E, 0x1B15, 0x014D, 0x014D, 0x016D, 0x016D, + 0x016D, 0x016D, 0x016E, 0x016E, 0x018E, 0x018E, 0x014D, 0x010B, 0x010B, 0x010B, 0x00E9, 0x00E9, + 0x00E9, 0x094B, 0x00E8, 0x00E8, 0x00C8, 0x00C8, 0x00A7, 0x00A7, 0x00A8, 0x00A8, 0x00E8, 0x00E8, + 0x11CE, 0x00A8, 0x00A7, 0x00A7, 0x00E9, 0x00E9, 0x012D, 0x01B1, 0x0235, 0x02F9, 0x035A, 0x0298, + 0x0214, 0x01D2, 0x01B0, 0x01B0, 0x0191, 0x0191, 0x01B1, 0x0170, 0x016E, 0x016E, 0x014B, 0x014B, + 0x0109, 0x0109, 0x00E8, 0x00E8, 0x00E8, 0x00E9, 0x2293, 0x00EB, 0x0065, 0x0065, 0x0064, 0x0064, + 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0046, 0x2253, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0023, 0x0065, 0x098C, 0x00CA, 0x00A7, 0x00A8, 0x0AF2, 0x00A5, 0x0022, + 0x0001, 0x0001, 0x1107, 0x0022, 0x0044, 0x0044, 0x0044, 0x0885, 0x0023, 0x0023, 0x0023, 0x0864, + 0x0023, 0x0023, 0x0023, 0x0884, 0x0043, 0x0043, 0x0043, 0x0064, 0x0022, 0x0022, 0x0022, 0x0863, + 0x0043, 0x0044, 0x0064, 0x0043, 0x0884, 0x0044, 0x0065, 0x120C, 0x365D, 0x020F, 0x01AE, 0x01AE, + 0x01EF, 0x01CE, 0x01CE, 0x01CE, 0x01CE, 0x01CE, 0x01CE, 0x016C, 0x0063, 0x0063, 0x0000, 0x0000, + 0x0000, 0x012A, 0x014B, 0x0000, 0x0861, 0x0001, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0000, 0x0042, 0x0042, 0x0000, 0x0022, 0x01CF, 0x00E8, + 0x0000, 0x0000, 0x0000, 0x21C9, 0x19E9, 0x4D39, 0x351A, 0x2B31, 0x11CB, 0x3BD3, 0x0022, 0x0085, + 0x00C9, 0x00C9, 0x0086, 0x0064, 0x0043, 0x0043, 0x0043, 0x0022, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, 0x0800, 0x0800, 0x0000, 0x0000, + 0x0064, 0x0000, 0x0000, 0x0000, 0x0043, 0x1107, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, + 0x1271, 0x1B56, 0x0065, 0x2AD2, 0x2313, 0x114A, 0x0022, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0065, 0x08A6, 0x0023, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0003, 0x0003, 0x0805, 0x0805, 0x0805, 0x0805, 0x0004, 0x0004, 0x0805, 0x0805, + 0x0003, 0x0003, 0x1003, 0x1003, 0x1844, 0x1823, 0x2020, 0x2020, 0x2020, 0x1821, 0x2042, 0x1821, + 0x1821, 0x1021, 0x0821, 0x0821, 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0063, 0x1969, 0x0022, + 0x0022, 0x0022, 0x0023, 0x222D, 0x0043, 0x0043, 0x0043, 0x0043, 0x0064, 0x0886, 0x0045, 0x0045, + 0x08E8, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0085, 0x0085, 0x00E9, 0x00E9, + 0x098C, 0x098C, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x010A, 0x010A, 0x00EA, 0x00EA, 0x010B, 0x010B, + 0x014C, 0x014C, 0x016E, 0x1AF4, 0x014D, 0x014D, 0x014C, 0x014C, 0x016D, 0x012C, 0x014C, 0x014C, + 0x014D, 0x018E, 0x010B, 0x010B, 0x010B, 0x010B, 0x00E9, 0x00E9, 0x094B, 0x00C9, 0x00E8, 0x00E8, + 0x00C8, 0x00C8, 0x00A7, 0x00A7, 0x00A8, 0x00A8, 0x00E8, 0x012A, 0x096C, 0x00A7, 0x00A7, 0x00A7, + 0x00E9, 0x00E9, 0x012D, 0x01D2, 0x02B8, 0x047D, 0x25DE, 0x039B, 0x0277, 0x0214, 0x01F3, 0x01F3, + 0x01F3, 0x01F4, 0x01B2, 0x01B1, 0x016E, 0x016E, 0x016D, 0x014B, 0x0109, 0x0109, 0x00E8, 0x00E8, + 0x00E9, 0x00E9, 0x2294, 0x00CA, 0x0065, 0x0065, 0x0064, 0x0064, 0x0064, 0x0064, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0088, 0x2231, 0x0023, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0022, + 0x0065, 0x2B13, 0x23B6, 0x11AD, 0x092A, 0x0AB2, 0x0043, 0x0022, 0x0001, 0x0001, 0x1107, 0x0022, + 0x0044, 0x0044, 0x0044, 0x0885, 0x0023, 0x0023, 0x0023, 0x0864, 0x0023, 0x0023, 0x0023, 0x0884, + 0x0043, 0x0043, 0x1A0B, 0x0107, 0x0022, 0x0022, 0x0022, 0x0863, 0x0065, 0x2C34, 0x34F8, 0x09A9, + 0x08A6, 0x0085, 0x00A7, 0x2D9A, 0x1B94, 0x01CE, 0x01AE, 0x01AE, 0x01CE, 0x01CE, 0x01CE, 0x01CE, + 0x01CE, 0x01CE, 0x01AD, 0x016C, 0x0063, 0x0063, 0x0000, 0x0000, 0x0000, 0x012A, 0x014B, 0x0000, + 0x0861, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0862, 0x0041, 0x0000, 0x0022, 0x01EF, 0x00E7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0021, 0x2AAE, 0x00A4, 0x3C35, 0x220B, 0x0002, 0x0086, 0x00E9, 0x00E9, 0x00A7, 0x00A6, + 0x00A6, 0x00A6, 0x00C5, 0x00C5, 0x00A4, 0x00A3, 0x00A2, 0x00A2, 0x0061, 0x0061, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0800, 0x0800, 0x0800, 0x0800, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0063, 0x1107, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x09CD, 0x1BF9, 0x0045, 0x0045, + 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0002, 0x08A6, 0x0001, 0x0001, 0x0001, 0x0003, 0x0003, 0x0804, 0x0805, + 0x1007, 0x1007, 0x1007, 0x1007, 0x1007, 0x1007, 0x1007, 0x1007, 0x1807, 0x1006, 0x1006, 0x1004, + 0x0805, 0x1844, 0x1002, 0x1002, 0x1001, 0x1001, 0x1022, 0x1022, 0x0801, 0x0801, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x19CA, 0x0023, 0x0022, 0x0022, 0x0022, 0x19AA, + 0x1128, 0x0023, 0x0023, 0x0064, 0x0065, 0x0044, 0x0044, 0x0044, 0x0086, 0x08E8, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x0087, 0x0087, 0x00A8, 0x096C, 0x11CE, 0x00C9, + 0x00C9, 0x00C9, 0x010A, 0x010A, 0x00E9, 0x00E9, 0x010A, 0x010A, 0x012B, 0x012B, 0x014B, 0x1AD2, + 0x012B, 0x012B, 0x010A, 0x010A, 0x010A, 0x010A, 0x012B, 0x012B, 0x012B, 0x012B, 0x014D, 0x010C, + 0x010B, 0x00C9, 0x010A, 0x010A, 0x010A, 0x00C9, 0x00A8, 0x00A8, 0x00C8, 0x00C8, 0x00A7, 0x00A7, + 0x00A7, 0x00A7, 0x00A8, 0x11AC, 0x00C9, 0x00A8, 0x00A7, 0x00A7, 0x00E9, 0x00E9, 0x012D, 0x01D2, + 0x035A, 0x1DFE, 0x4F7F, 0x049E, 0x02BA, 0x0279, 0x0236, 0x0236, 0x01F5, 0x01F5, 0x01F4, 0x01F4, + 0x0190, 0x016E, 0x012D, 0x010B, 0x012A, 0x00E9, 0x00E8, 0x00E8, 0x00C8, 0x012C, 0x1A52, 0x00A8, + 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x092C, 0x118D, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0022, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0087, 0x0087, 0x0087, + 0x096B, 0x0A2F, 0x0023, 0x0022, 0x0022, 0x0022, 0x10E7, 0x0022, 0x08E7, 0x0908, 0x08A6, 0x08A6, + 0x0085, 0x0085, 0x00A6, 0x00C7, 0x00C6, 0x00C6, 0x08E7, 0x08E7, 0x0128, 0x2C55, 0x3E9E, 0x3599, + 0x0148, 0x00C6, 0x08A6, 0x08E7, 0x2455, 0x2D9B, 0x1C77, 0x2E7E, 0x1CF8, 0x1BF3, 0x2CF9, 0x255A, + 0x01AD, 0x01AD, 0x01AD, 0x01AD, 0x09AD, 0x016C, 0x016B, 0x016B, 0x016B, 0x016B, 0x01AC, 0x016B, + 0x0843, 0x0843, 0x0000, 0x0000, 0x0000, 0x0109, 0x014B, 0x0000, 0x0861, 0x0000, 0x0000, 0x0000, + 0x0041, 0x0041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, 0x0862, 0x0041, + 0x0000, 0x0022, 0x01EF, 0x00E7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, + 0x0021, 0x0021, 0x0002, 0x0086, 0x00E9, 0x00E9, 0x00A7, 0x00A7, 0x0108, 0x0107, 0x0107, 0x0107, + 0x0106, 0x00A4, 0x00A2, 0x00A2, 0x0061, 0x0061, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, + 0x0800, 0x0800, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x0063, 0x10E7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0909, 0x1C3B, 0x00A7, 0x0043, 0x0023, 0x0023, 0x0002, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x08A6, 0x0002, 0x0001, 0x0001, 0x0003, 0x0003, 0x0805, 0x1007, 0x1007, 0x1008, 0x1808, 0x1808, + 0x1808, 0x1808, 0x1809, 0x1007, 0x1807, 0x1807, 0x1006, 0x1006, 0x0805, 0x1066, 0x1002, 0x1002, + 0x1001, 0x1001, 0x1022, 0x1022, 0x0801, 0x0801, 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0021, 0x0021, 0x1948, 0x08A5, 0x0022, 0x0022, 0x0022, 0x0065, 0x226E, 0x0044, 0x0064, 0x0064, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x0908, 0x00A6, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0086, 0x00A7, 0x0087, 0x0087, 0x00A8, 0x00A8, 0x010A, 0x11EE, 0x010A, 0x00C9, 0x010A, 0x00C9, + 0x00E9, 0x00E9, 0x010A, 0x010A, 0x012B, 0x012B, 0x012B, 0x1AD2, 0x012B, 0x012B, 0x010A, 0x010A, + 0x010A, 0x010A, 0x012B, 0x012B, 0x012B, 0x012B, 0x09CF, 0x098D, 0x00C9, 0x00C9, 0x010A, 0x092B, + 0x00C9, 0x00C9, 0x00A8, 0x00A8, 0x00C8, 0x00C8, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00E9, 0x092B, + 0x00A8, 0x00A8, 0x00A7, 0x00A7, 0x00E9, 0x00E9, 0x012C, 0x0213, 0x03FB, 0x46FF, 0x371F, 0x045E, + 0x02FC, 0x0279, 0x0257, 0x0257, 0x0237, 0x0237, 0x01F4, 0x01F4, 0x01F4, 0x0190, 0x012D, 0x010B, + 0x00E9, 0x00E9, 0x00E8, 0x00E8, 0x00C9, 0x11F0, 0x096D, 0x0066, 0x0064, 0x0064, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, + 0x19F0, 0x00A8, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0087, 0x0087, 0x0087, 0x09CD, 0x09CD, 0x0022, 0x0022, + 0x0022, 0x0022, 0x10E7, 0x0022, 0x092A, 0x094C, 0x08A6, 0x08A6, 0x0085, 0x0085, 0x00C7, 0x09CB, + 0x00C6, 0x00C6, 0x00A7, 0x124D, 0x35FB, 0x2D59, 0x024E, 0x1C55, 0x3DFB, 0x09AA, 0x00C6, 0x2C14, + 0x2DDC, 0x0270, 0x01EE, 0x0AD2, 0x2519, 0x2519, 0x2CF9, 0x0A70, 0x01AD, 0x018C, 0x01AD, 0x01AD, + 0x09AD, 0x016B, 0x016B, 0x016B, 0x016B, 0x016B, 0x016B, 0x012A, 0x0843, 0x0843, 0x0000, 0x0000, + 0x0000, 0x0109, 0x014B, 0x0000, 0x0861, 0x0000, 0x0000, 0x0000, 0x0041, 0x0041, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x0041, 0x0000, 0x0021, 0x09EF, 0x00E7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0044, + 0x0087, 0x00A7, 0x00A7, 0x0108, 0x0129, 0x0129, 0x0129, 0x0149, 0x0168, 0x0146, 0x0103, 0x00E2, + 0x00A2, 0x00A2, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0063, 0x10E7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, + 0x0065, 0x1BFA, 0x096B, 0x0023, 0x0023, 0x0023, 0x0002, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0886, 0x0023, 0x0002, 0x0002, + 0x0003, 0x0805, 0x1007, 0x1009, 0x180A, 0x180A, 0x200B, 0x200B, 0x200B, 0x200B, 0x200B, 0x200B, + 0x180A, 0x1809, 0x1809, 0x1807, 0x1006, 0x1867, 0x1003, 0x1003, 0x0802, 0x0802, 0x0802, 0x0802, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0002, 0x0002, 0x0021, 0x0021, 0x0021, 0x0021, 0x0043, 0x21AB, + 0x0022, 0x0022, 0x0022, 0x0022, 0x222D, 0x00A6, 0x0044, 0x0044, 0x0043, 0x0043, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0909, 0x0065, 0x0045, 0x0045, 0x0065, 0x0065, 0x08C7, 0x0086, 0x0086, 0x0086, + 0x00A7, 0x00A7, 0x00A8, 0x00A8, 0x118C, 0x11AD, 0x012A, 0x00C9, 0x00E9, 0x00E9, 0x00E9, 0x00E9, + 0x00E9, 0x00E9, 0x010A, 0x1AB1, 0x010A, 0x010A, 0x010A, 0x010A, 0x010A, 0x010A, 0x010A, 0x010B, + 0x012C, 0x11CF, 0x098E, 0x010B, 0x00E9, 0x00E9, 0x00EA, 0x00C8, 0x00C8, 0x00C8, 0x00A7, 0x00A7, + 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x0087, 0x0087, 0x118C, 0x0087, 0x0086, 0x0086, 0x00A7, 0x00A7, + 0x00C9, 0x00C9, 0x016E, 0x0234, 0x045C, 0x5F9F, 0x15FF, 0x03DE, 0x02DC, 0x029A, 0x02BA, 0x02BA, + 0x02DA, 0x02B9, 0x0257, 0x0215, 0x01B3, 0x01B3, 0x014E, 0x010B, 0x00E9, 0x00A7, 0x00A7, 0x00E8, + 0x00E9, 0x1A52, 0x00CA, 0x0065, 0x0064, 0x0064, 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0023, 0x0023, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0045, 0x2253, 0x0025, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0065, 0x0087, 0x0087, 0x0087, 0x0A0E, 0x096A, 0x0022, 0x0022, 0x0001, 0x0001, 0x10E7, 0x0023, + 0x1230, 0x0AB4, 0x094B, 0x00C8, 0x00C7, 0x0129, 0x2C97, 0x3EBE, 0x2D18, 0x128E, 0x1B51, 0x367D, + 0x1373, 0x01AC, 0x018C, 0x018C, 0x1B72, 0x3E5C, 0x2D17, 0x35BB, 0x0A4F, 0x01CE, 0x01AD, 0x01AD, + 0x01EE, 0x01CD, 0x01CD, 0x018C, 0x018C, 0x018C, 0x018B, 0x018B, 0x016B, 0x016B, 0x014B, 0x014B, + 0x014B, 0x014B, 0x016B, 0x00E9, 0x0042, 0x0042, 0x0001, 0x0001, 0x0000, 0x0109, 0x094B, 0x0000, + 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0862, 0x0041, 0x0000, 0x0021, 0x09CE, 0x00E7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0885, 0x00E9, 0x00E9, 0x010A, 0x018A, + 0x13F3, 0x13F3, 0x0AAF, 0x01EC, 0x026F, 0x0AAB, 0x0C0A, 0x13A9, 0x0122, 0x00A2, 0x0041, 0x0041, + 0x0020, 0x0020, 0x1000, 0x1000, 0x0800, 0x0800, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0064, 0x10E7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x0024, 0x1B57, 0x120F, 0x0023, + 0x0023, 0x0045, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0885, 0x0023, 0x0002, 0x0002, 0x0805, 0x1006, 0x1009, 0x180A, + 0x200B, 0x280D, 0x280E, 0x282E, 0x282E, 0x282E, 0x300E, 0x300E, 0x280D, 0x280C, 0x1809, 0x1809, + 0x1028, 0x1028, 0x1868, 0x1003, 0x0802, 0x0802, 0x0802, 0x0802, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x19CB, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0907, 0x1169, 0x0044, 0x0044, 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, 0x0086, 0x08E8, + 0x0045, 0x0045, 0x0065, 0x08A7, 0x0086, 0x0086, 0x0086, 0x0086, 0x00A7, 0x00A7, 0x00A8, 0x00A8, + 0x0087, 0x010A, 0x11ED, 0x11CE, 0x010A, 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x010A, 0x1AB1, + 0x010A, 0x010A, 0x010A, 0x010A, 0x010A, 0x010A, 0x012C, 0x11CF, 0x11AE, 0x012C, 0x00EA, 0x010B, + 0x00E9, 0x00E9, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, + 0x0087, 0x092A, 0x08E9, 0x0086, 0x0086, 0x0086, 0x00A7, 0x00A7, 0x00C9, 0x00C9, 0x016E, 0x0234, + 0x043C, 0x2E7F, 0x047E, 0x037D, 0x02DC, 0x02DC, 0x031C, 0x041D, 0x04DE, 0x03DC, 0x02B9, 0x0257, + 0x01F4, 0x01B3, 0x0170, 0x012D, 0x00E9, 0x00A7, 0x00A7, 0x00A7, 0x00A8, 0x19CF, 0x00A8, 0x0065, + 0x0064, 0x0064, 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0023, 0x0023, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0045, 0x0045, 0x1A12, 0x0003, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0023, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x08E9, 0x010A, 0x0087, 0x0087, + 0x0A70, 0x0908, 0x0022, 0x0022, 0x0001, 0x0001, 0x10E7, 0x0023, 0x19EC, 0x1A70, 0x0949, 0x0949, + 0x096B, 0x2497, 0x255A, 0x0290, 0x1C15, 0x363C, 0x3E7D, 0x12F1, 0x016B, 0x016B, 0x018C, 0x018C, + 0x018C, 0x0A4E, 0x2CB7, 0x020D, 0x01CE, 0x018C, 0x01AD, 0x01AD, 0x01CD, 0x01CD, 0x018C, 0x018C, + 0x018C, 0x018C, 0x018B, 0x018B, 0x016B, 0x016B, 0x014B, 0x014B, 0x014B, 0x014B, 0x096B, 0x094A, + 0x0042, 0x0042, 0x0001, 0x0001, 0x0000, 0x0109, 0x094B, 0x0000, 0x0841, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0862, 0x0021, + 0x0000, 0x0021, 0x09CE, 0x00C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, + 0x0021, 0x0021, 0x0023, 0x00E9, 0x01AF, 0x01AF, 0x01CF, 0x0A6E, 0x0F5F, 0x0F5F, 0x14D6, 0x028F, + 0x0416, 0x146F, 0x0F71, 0x1771, 0x0182, 0x00E3, 0x0040, 0x0040, 0x0000, 0x0000, 0x2800, 0x2800, + 0x2800, 0x2000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x08C7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0022, 0x0023, 0x1272, 0x12D3, 0x0044, 0x194A, 0x198B, 0x0023, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0002, 0x0865, 0x0003, 0x0003, 0x0805, 0x1007, 0x180A, 0x200C, 0x300F, 0x3812, 0x4013, 0x4013, + 0x4014, 0x4014, 0x4014, 0x4014, 0x4012, 0x3010, 0x280D, 0x200B, 0x180A, 0x18AF, 0x190F, 0x1005, + 0x1004, 0x1004, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0022, 0x08A5, 0x1148, 0x0022, 0x0043, 0x0043, 0x0043, 0x19CB, 0x0044, 0x0044, + 0x0023, 0x0023, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x08C7, 0x00A7, 0x0044, 0x0086, 0x0086, + 0x0085, 0x0085, 0x00A7, 0x00A7, 0x0086, 0x0086, 0x0086, 0x0086, 0x00C8, 0x00C8, 0x00A8, 0x00E9, + 0x11CD, 0x1250, 0x1A2F, 0x09CD, 0x014B, 0x00EA, 0x010A, 0x1A91, 0x010A, 0x00EA, 0x010A, 0x098C, + 0x11EF, 0x11EF, 0x11AD, 0x010B, 0x00E9, 0x00E9, 0x00C9, 0x00C9, 0x00E9, 0x00E9, 0x00C8, 0x00C8, + 0x00A8, 0x00A8, 0x0087, 0x0087, 0x00A7, 0x00A7, 0x0087, 0x0087, 0x00C9, 0x116C, 0x0086, 0x0086, + 0x0086, 0x0086, 0x0086, 0x0086, 0x00E8, 0x0109, 0x014D, 0x01D3, 0x03BB, 0x041D, 0x035D, 0x02FC, + 0x02BB, 0x031C, 0x04BE, 0x065F, 0x06DF, 0x067F, 0x047D, 0x0299, 0x0216, 0x01B3, 0x0191, 0x014E, + 0x010A, 0x00C8, 0x0086, 0x0086, 0x00C8, 0x112B, 0x0086, 0x0085, 0x0064, 0x0064, 0x0064, 0x0064, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x00AA, + 0x11AF, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x0022, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0022, 0x08E9, 0x1A0F, 0x118C, 0x00A8, 0x1291, 0x0045, 0x0022, 0x0022, + 0x0022, 0x0022, 0x10E7, 0x0022, 0x0085, 0x00C6, 0x00A6, 0x1AF1, 0x2DFD, 0x2D1A, 0x01EE, 0x018C, + 0x018C, 0x018C, 0x09ED, 0x096C, 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, + 0x012A, 0x012A, 0x0109, 0x0109, 0x018C, 0x014B, 0x0109, 0x0109, 0x0129, 0x0129, 0x012A, 0x012A, + 0x014A, 0x0129, 0x0109, 0x0109, 0x0109, 0x0109, 0x0109, 0x0109, 0x0842, 0x0842, 0x0001, 0x0001, + 0x0000, 0x0909, 0x094B, 0x0000, 0x0841, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0863, 0x0021, 0x0000, 0x0021, 0x09CE, 0x00C7, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x0001, 0x08A4, 0x0044, 0x0023, 0x00E9, + 0x01AF, 0x01AF, 0x01CF, 0x026E, 0x0F5F, 0x0F5F, 0x14D6, 0x02F0, 0x0497, 0x1490, 0x0F71, 0x1771, + 0x0182, 0x0102, 0x0040, 0x0040, 0x0000, 0x0000, 0x2800, 0x2800, 0x2800, 0x2000, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x08C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, + 0x0023, 0x09AD, 0x1B56, 0x0045, 0x0045, 0x0045, 0x0023, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0865, 0x0003, 0x0003, + 0x0805, 0x1007, 0x200B, 0x280F, 0x4014, 0x5817, 0x6018, 0x6818, 0x6018, 0x6018, 0x6018, 0x6018, + 0x6017, 0x4814, 0x3010, 0x280D, 0x180B, 0x1932, 0x3B58, 0x0848, 0x1004, 0x0802, 0x0002, 0x0002, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0022, 0x0022, + 0x1948, 0x0044, 0x0043, 0x0043, 0x0023, 0x1128, 0x0928, 0x0044, 0x0023, 0x0023, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x08E8, 0x00A7, 0x0086, 0x0086, 0x0085, 0x0085, 0x00A7, 0x00A7, + 0x0086, 0x0086, 0x0086, 0x0086, 0x00C8, 0x00C8, 0x00A8, 0x00A8, 0x00A7, 0x00E9, 0x012A, 0x01AC, + 0x122E, 0x1A90, 0x1A91, 0x2375, 0x120F, 0x120F, 0x11EE, 0x098C, 0x010A, 0x00C9, 0x00C8, 0x00C9, + 0x00E9, 0x00E9, 0x00C9, 0x00C9, 0x00E9, 0x00E9, 0x00C8, 0x00C8, 0x00A8, 0x00A8, 0x0087, 0x0087, + 0x00A7, 0x00A7, 0x0087, 0x0087, 0x118C, 0x00C9, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, + 0x00A7, 0x00E8, 0x014D, 0x01D3, 0x0B5B, 0x02DA, 0x02BA, 0x029A, 0x02BB, 0x039D, 0x065F, 0x06FF, + 0x06DF, 0x06DF, 0x063F, 0x035B, 0x0216, 0x01B3, 0x0191, 0x014E, 0x010B, 0x00C8, 0x0086, 0x0086, + 0x112B, 0x00A8, 0x0044, 0x0044, 0x0064, 0x0064, 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x118F, 0x08CA, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0088, 0x0088, 0x0087, 0x094B, 0x122F, 0x0024, 0x0022, 0x0022, 0x0022, 0x0022, 0x08E7, 0x0022, + 0x00C6, 0x0949, 0x1B72, 0x2E1D, 0x1332, 0x01AC, 0x018C, 0x018C, 0x014A, 0x014A, 0x012A, 0x096C, + 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, 0x012A, 0x0109, 0x0109, + 0x014B, 0x012A, 0x0109, 0x0109, 0x0129, 0x0129, 0x012A, 0x012A, 0x0129, 0x0129, 0x0109, 0x0109, + 0x0109, 0x0109, 0x0109, 0x0109, 0x0842, 0x0842, 0x0001, 0x0001, 0x0000, 0x0909, 0x094B, 0x0000, + 0x0841, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0020, 0x0020, 0x0883, 0x0041, 0x0000, 0x0021, 0x01AE, 0x00C7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x32F0, 0x3BF4, 0x19CB, 0x3C14, 0x3B72, 0x0044, 0x00E9, 0x018E, 0x01AE, 0x01AE, 0x024D, + 0x0F3F, 0x075F, 0x14B6, 0x0331, 0x04D8, 0x14B0, 0x0F51, 0x1750, 0x0161, 0x0102, 0x0060, 0x0000, + 0x0000, 0x0000, 0x2800, 0x2800, 0x3000, 0x2000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0063, 0x08C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x0023, 0x08E9, 0x1BD8, 0x00A7, + 0x0044, 0x0044, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0043, 0x0004, 0x0004, 0x0806, 0x1808, 0x200C, 0x3812, + 0x88BA, 0xE15F, 0xD99F, 0xD9BF, 0xD99F, 0xD99F, 0xD99F, 0xD99F, 0xD19F, 0x6838, 0x3852, 0x2810, + 0x206F, 0x19B3, 0x3CDC, 0x3250, 0x0826, 0x0802, 0x0001, 0x0001, 0x0022, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x08C6, 0x0064, 0x0022, 0x0022, + 0x0023, 0x0023, 0x224D, 0x0044, 0x0023, 0x0023, 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0086, 0x118B, 0x00A7, 0x0066, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, + 0x0087, 0x0087, 0x0086, 0x0086, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00E9, 0x1A91, + 0x00C9, 0x00C9, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x0109, 0x00C8, 0x00C8, 0x00C8, + 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x00A8, 0x00A8, 0x00C8, 0x00C8, 0x0087, 0x0087, 0x0087, 0x090A, + 0x0909, 0x0087, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x00A7, 0x00A7, 0x012C, 0x0213, + 0x0AD8, 0x0236, 0x0278, 0x0257, 0x02DA, 0x049D, 0x071F, 0x071F, 0x075F, 0x075F, 0x06DF, 0x045C, + 0x0237, 0x01B4, 0x01B2, 0x014E, 0x010B, 0x00E9, 0x00A8, 0x00A8, 0x114C, 0x0087, 0x0043, 0x0043, + 0x0023, 0x0023, 0x0065, 0x0044, 0x0065, 0x0065, 0x0044, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0024, 0x0024, 0x0045, 0x1A13, 0x0025, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0044, 0x0088, 0x0088, 0x0066, 0x09AC, + 0x09CD, 0x0024, 0x0022, 0x0022, 0x0022, 0x0022, 0x0907, 0x0023, 0x4DBA, 0x3E9E, 0x361D, 0x0A8F, + 0x016B, 0x016B, 0x016B, 0x014B, 0x014A, 0x014A, 0x014A, 0x096B, 0x092A, 0x092A, 0x0129, 0x0129, + 0x0129, 0x0129, 0x0129, 0x092A, 0x0109, 0x0109, 0x0109, 0x0109, 0x096B, 0x0929, 0x0929, 0x0909, + 0x0929, 0x0909, 0x0129, 0x0929, 0x0949, 0x00E8, 0x0908, 0x0908, 0x0909, 0x0909, 0x0929, 0x0929, + 0x0042, 0x0042, 0x0000, 0x0000, 0x0000, 0x0109, 0x092B, 0x0000, 0x0841, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0883, 0x0041, + 0x0000, 0x0021, 0x01AE, 0x00C7, 0x0000, 0x0000, 0x0000, 0x0021, 0x0043, 0x3C57, 0x2BD5, 0x1A90, + 0x11EB, 0x33D3, 0x0044, 0x00C7, 0x016C, 0x016C, 0x018C, 0x09EC, 0x1577, 0x1577, 0x13B1, 0x0ACE, + 0x0BD2, 0x13AC, 0x15AB, 0x1D6B, 0x0161, 0x0102, 0x0060, 0x0000, 0x0000, 0x0000, 0x2800, 0x2800, + 0x2000, 0x1800, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x0063, 0x08C7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0022, 0x0023, 0x0045, 0x1B98, 0x096C, 0x0044, 0x0044, 0x0023, 0x0023, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0021, 0x0021, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0043, 0x0004, 0x0004, 0x0806, 0x1808, 0x280D, 0x4013, 0xA0DB, 0xB8BE, 0xA05E, 0xA05E, + 0xA03E, 0xA03E, 0xB07E, 0xB07E, 0xD93F, 0x703A, 0x4857, 0x3852, 0x200D, 0x104E, 0x1B9A, 0x5C98, + 0x0047, 0x0003, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0022, 0x0043, 0x0023, 0x0064, 0x0022, 0x0022, 0x0023, 0x0023, 0x118A, 0x0908, + 0x0023, 0x0023, 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, 0x0086, 0x0086, 0x116B, 0x00A7, + 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0087, 0x0087, 0x0086, 0x0086, + 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00E9, 0x22B0, 0x00C9, 0x00C9, 0x00C8, 0x00C8, + 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x0109, 0x00C8, 0x00C8, 0x00C8, 0x00E9, 0x00E9, 0x00E9, 0x00E9, + 0x00A8, 0x00A8, 0x00C8, 0x00C8, 0x0087, 0x0087, 0x00C9, 0x00C9, 0x0087, 0x0087, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0086, 0x0086, 0x0086, 0x00A7, 0x010B, 0x1213, 0x01D2, 0x01F3, 0x0236, 0x0236, + 0x02DA, 0x04FD, 0x071F, 0x071F, 0x075F, 0x075F, 0x071F, 0x049C, 0x0237, 0x01B4, 0x01B2, 0x014E, + 0x00EB, 0x00E9, 0x00A8, 0x00A8, 0x092C, 0x0065, 0x0043, 0x0043, 0x0023, 0x0023, 0x0044, 0x0044, + 0x0065, 0x0065, 0x0044, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0024, 0x0024, 0x0047, 0x1A13, + 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0022, 0x0044, 0x0088, 0x0088, 0x0066, 0x09CE, 0x116B, 0x0024, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0907, 0x0023, 0x018B, 0x01ED, 0x016B, 0x012A, 0x00C8, 0x00C8, 0x00C8, 0x0109, + 0x00C7, 0x00C7, 0x00C7, 0x0108, 0x00C7, 0x00C7, 0x00E7, 0x00E7, 0x00C7, 0x00C7, 0x00E7, 0x00E7, + 0x00A7, 0x00A6, 0x00A6, 0x00A6, 0x0108, 0x00A6, 0x00A6, 0x00A6, 0x00E7, 0x00E7, 0x00A6, 0x00A6, + 0x00E8, 0x00A6, 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x0042, 0x0042, 0x0000, 0x0000, + 0x0000, 0x0909, 0x092B, 0x0000, 0x0841, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0883, 0x0841, 0x0000, 0x0022, 0x09AE, 0x00C7, + 0x0000, 0x0000, 0x0000, 0x3B71, 0x3392, 0x3C15, 0x124D, 0x3416, 0x1A0C, 0x33B3, 0x0064, 0x08C7, + 0x096B, 0x096B, 0x016B, 0x09EC, 0x169B, 0x169B, 0x1BF1, 0x136F, 0x1DF9, 0x1BED, 0x168D, 0x168D, + 0x0161, 0x0122, 0x00A1, 0x0040, 0x0800, 0x0800, 0x3000, 0x3000, 0x3000, 0x2000, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0043, 0x08C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, + 0x0023, 0x0023, 0x12F4, 0x1230, 0x0045, 0x0045, 0x08E8, 0x0086, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0044, + 0x0806, 0x1809, 0x280D, 0x4014, 0xA8DC, 0xA87E, 0x801F, 0x801F, 0x801F, 0x801F, 0x881E, 0x881E, + 0xC8FE, 0x807C, 0x4816, 0x3011, 0x180D, 0x102C, 0x0A16, 0x5D5C, 0x08CA, 0x0024, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0023, 0x0023, + 0x0022, 0x0043, 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x226E, 0x0064, 0x0023, 0x0023, 0x0023, + 0x0043, 0x0043, 0x0044, 0x0065, 0x0044, 0x0044, 0x0086, 0x118B, 0x00C8, 0x0086, 0x0086, 0x0086, + 0x0086, 0x0086, 0x0086, 0x0086, 0x00C7, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, + 0x00A7, 0x00A7, 0x00C7, 0x22B0, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00C7, 0x00C7, + 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00EA, 0x00EA, 0x010A, 0x010A, 0x010A, 0x00E9, 0x00C9, 0x00A8, + 0x00A8, 0x00EA, 0x0909, 0x0087, 0x0086, 0x0086, 0x0066, 0x0066, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0086, 0x0086, 0x00EA, 0x098F, 0x016E, 0x0191, 0x01D3, 0x01D3, 0x0299, 0x049D, 0x071F, 0x071F, + 0x073F, 0x073F, 0x071F, 0x041B, 0x0236, 0x0193, 0x0192, 0x012E, 0x00EA, 0x00EA, 0x00A8, 0x092B, + 0x00A8, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0064, 0x0044, 0x0044, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0044, 0x00CB, 0x118F, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x118B, + 0x014B, 0x0088, 0x0066, 0x1270, 0x0908, 0x0024, 0x0023, 0x0023, 0x0001, 0x0001, 0x0907, 0x0022, + 0x0129, 0x016C, 0x00E8, 0x00E8, 0x00C7, 0x00C7, 0x00C7, 0x0108, 0x00C7, 0x00C7, 0x00C7, 0x00E8, + 0x00C7, 0x00C7, 0x00A7, 0x00E7, 0x00A7, 0x00A7, 0x00C6, 0x00C6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, + 0x0108, 0x00C6, 0x00A6, 0x00A6, 0x00C7, 0x00C7, 0x00A6, 0x00A6, 0x00C7, 0x00C7, 0x00A6, 0x00A6, + 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0909, 0x092A, 0x0000, + 0x0841, 0x0000, 0x0000, 0x0000, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0020, 0x0020, 0x0883, 0x0841, 0x0000, 0x0022, 0x09AE, 0x00C7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x2B31, 0x3436, 0x1A2C, 0x3CB8, 0x33B3, 0x0044, 0x00E8, 0x01AD, 0x01AD, 0x018C, 0x09EC, + 0x0F5E, 0x075E, 0x1452, 0x1BF1, 0x0F3E, 0x1CCF, 0x0F4E, 0x172D, 0x0181, 0x0122, 0x00A1, 0x00A1, + 0x0800, 0x0800, 0x4000, 0x3000, 0x4000, 0x3000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0043, 0x10C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0023, 0x0023, 0x1230, 0x1AF4, + 0x0045, 0x2270, 0x22D2, 0x08E8, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0022, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0044, 0x0044, 0x0806, 0x1809, 0x280E, 0x4014, + 0xA8DC, 0xA87E, 0x801F, 0x801F, 0x801F, 0x801F, 0x881E, 0x881E, 0xC8FF, 0x807C, 0x4816, 0x3011, + 0x180D, 0x180B, 0x08D0, 0x2C3C, 0x3333, 0x0026, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0843, 0x0023, 0x0023, 0x0022, 0x0022, 0x0044, 0x0023, + 0x0022, 0x0022, 0x0022, 0x1128, 0x11CB, 0x0064, 0x0023, 0x0023, 0x0043, 0x0043, 0x0065, 0x0065, + 0x0044, 0x0044, 0x0044, 0x0086, 0x116B, 0x0909, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, + 0x00A7, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x00A7, 0x00A7, 0x00A7, 0x22B0, + 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00C8, 0x00C8, 0x00C8, 0x00C8, + 0x00EA, 0x012B, 0x016C, 0x016C, 0x012B, 0x012B, 0x010A, 0x00C9, 0x00EA, 0x094B, 0x0087, 0x0087, + 0x0086, 0x0086, 0x0066, 0x0066, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x094C, 0x010B, + 0x012C, 0x016E, 0x01D3, 0x01D3, 0x0257, 0x039B, 0x065F, 0x071F, 0x073F, 0x073F, 0x065F, 0x0319, + 0x0215, 0x01B2, 0x0192, 0x012D, 0x00EA, 0x00A8, 0x00A8, 0x092B, 0x0066, 0x0044, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0044, 0x0065, 0x0023, 0x0023, 0x0023, + 0x0044, 0x0044, 0x19B1, 0x00A9, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x11EC, 0x2394, 0x1A2F, 0x00E9, 0x12B2, + 0x0065, 0x0065, 0x0066, 0x0023, 0x0001, 0x0001, 0x0907, 0x0002, 0x0129, 0x014C, 0x00E8, 0x00E8, + 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00A7, 0x00E8, + 0x00A7, 0x00A7, 0x00C6, 0x00C6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x08E8, 0x00C6, 0x00A6, 0x00A6, + 0x00C7, 0x0086, 0x00A6, 0x00A6, 0x00C7, 0x0086, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, + 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0909, 0x092A, 0x0000, 0x0841, 0x0000, 0x0000, 0x0000, + 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0883, 0x0841, + 0x0000, 0x0022, 0x018D, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x08C5, 0x0021, + 0x1106, 0x0085, 0x0043, 0x00E8, 0x01AD, 0x01AD, 0x01AD, 0x020C, 0x175F, 0x075F, 0x1412, 0x1412, + 0x0F3F, 0x1CF0, 0x0F6E, 0x172D, 0x0141, 0x0141, 0x0921, 0x00A1, 0x0000, 0x0000, 0x3800, 0x3800, + 0x4000, 0x3000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x0043, 0x08C7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0002, 0x0024, 0x0024, 0x094B, 0x1B77, 0x0086, 0x0086, 0x0023, 0x0023, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0044, 0x0044, 0x0807, 0x1809, 0x280E, 0x4815, 0xA8DC, 0xA87E, 0x801F, 0x801F, + 0x801F, 0x801F, 0x801F, 0x801F, 0xC8FE, 0x783B, 0x4015, 0x3011, 0x200C, 0x180B, 0x082C, 0x0AD9, + 0x653A, 0x0089, 0x0023, 0x0023, 0x0001, 0x0001, 0x0023, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, + 0x226E, 0x00A5, 0x0023, 0x0023, 0x0023, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0065, 0x092A, 0x116B, 0x0087, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0085, 0x0085, + 0x0066, 0x0066, 0x0086, 0x0086, 0x0086, 0x0086, 0x00A7, 0x32F1, 0x00A7, 0x00A7, 0x00A7, 0x00A7, + 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00E8, 0x00E9, 0x00E9, 0x010A, 0x016C, 0x01AF, 0x01D0, + 0x01D0, 0x018E, 0x014C, 0x014C, 0x096C, 0x010A, 0x0087, 0x0087, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x08C9, 0x092B, 0x00C9, 0x010B, 0x012D, 0x0191, 0x01D3, + 0x0236, 0x02B9, 0x047C, 0x067F, 0x06DF, 0x069F, 0x041B, 0x0297, 0x01D3, 0x01B2, 0x0190, 0x010C, + 0x00C8, 0x00C8, 0x00A9, 0x092B, 0x0044, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0064, 0x0044, 0x0044, 0x0044, 0x0066, 0x2234, 0x0024, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0044, 0x0086, 0x0066, 0x0087, 0x096C, 0x1270, 0x0045, 0x0045, 0x0046, 0x0024, + 0x0001, 0x0001, 0x0042, 0x0000, 0x21CC, 0x222E, 0x08E7, 0x08C6, 0x08A6, 0x08A6, 0x08C7, 0x08C7, + 0x08C6, 0x08C7, 0x08C7, 0x08E6, 0x08C6, 0x08C6, 0x08C6, 0x08E6, 0x08C6, 0x08C6, 0x08C6, 0x08C6, + 0x08C5, 0x08A5, 0x08A5, 0x08A5, 0x08C6, 0x08C6, 0x08C5, 0x08C5, 0x08C6, 0x08C5, 0x08C5, 0x08C5, + 0x08C5, 0x08A5, 0x08A5, 0x08A5, 0x08A6, 0x08C6, 0x08C6, 0x08C6, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0909, 0x092A, 0x0000, 0x0841, 0x0000, 0x0000, 0x0000, 0x0841, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x10A2, 0x0020, 0x0020, 0x0020, 0x1083, 0x0841, 0x0000, 0x0022, 0x018D, 0x00A6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0022, 0x0043, 0x0043, 0x00A7, + 0x012A, 0x014A, 0x014A, 0x01AA, 0x1C72, 0x1C72, 0x0A8B, 0x0AAB, 0x1C51, 0x1308, 0x1C88, 0x1C47, + 0x0141, 0x0141, 0x0921, 0x00A0, 0x0000, 0x0000, 0x2000, 0x1800, 0x2000, 0x1800, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0043, 0x10C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, + 0x0024, 0x0024, 0x0066, 0x1B77, 0x092A, 0x0043, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0026, + 0x0827, 0x1809, 0x280E, 0x4815, 0xA8DC, 0xA87E, 0x801F, 0x801F, 0x801F, 0x801F, 0x801F, 0x801F, + 0xC8FE, 0x783B, 0x4015, 0x3010, 0x200C, 0x180B, 0x080A, 0x01B4, 0x553C, 0x11CF, 0x0025, 0x0023, + 0x0001, 0x0001, 0x0023, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, 0x00A5, 0x226F, 0x0023, 0x0023, + 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0065, 0x00A7, 0x19CC, + 0x0909, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0085, 0x0085, 0x0066, 0x0066, 0x0086, 0x0086, + 0x0086, 0x0086, 0x00A7, 0x32F1, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, + 0x00A7, 0x00E8, 0x00E9, 0x00E9, 0x016C, 0x018E, 0x0232, 0x0254, 0x0212, 0x01D0, 0x01B0, 0x09AF, + 0x010A, 0x00C9, 0x0087, 0x0087, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0066, 0x114B, 0x0087, 0x00C9, 0x00C9, 0x010B, 0x014F, 0x01D3, 0x01D3, 0x0236, 0x02B9, 0x03DB, + 0x047C, 0x039A, 0x0297, 0x0215, 0x01B2, 0x01B2, 0x014E, 0x010B, 0x00C8, 0x00C8, 0x090B, 0x00A9, + 0x0044, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0044, 0x0044, 0x0045, 0x00AA, 0x1A32, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0066, + 0x0066, 0x0066, 0x09EE, 0x09EE, 0x0045, 0x0045, 0x0046, 0x0024, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0863, 0x08A5, 0x10C5, 0x0862, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0909, 0x092A, 0x0000, + 0x0841, 0x0000, 0x0000, 0x0000, 0x0841, 0x0841, 0x0020, 0x0000, 0x0000, 0x0000, 0x39E7, 0x3186, + 0x0020, 0x0020, 0x10A3, 0x0841, 0x0000, 0x0022, 0x098D, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0022, 0x0043, 0x0064, 0x00A5, 0x00A5, 0x00C6, 0x0147, + 0x01A7, 0x01A7, 0x0186, 0x0185, 0x0185, 0x0184, 0x01A3, 0x01A3, 0x0941, 0x0941, 0x08E1, 0x00A0, + 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0043, 0x08C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0044, 0x12D3, + 0x11EE, 0x0024, 0x0023, 0x0023, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0025, 0x0827, 0x1009, 0x200E, 0x4014, + 0xA8DC, 0xA07E, 0x801F, 0x801F, 0x801F, 0x801F, 0x801F, 0x801F, 0xC0FE, 0x703A, 0x3813, 0x3010, + 0x200B, 0x1009, 0x1009, 0x00AD, 0x1359, 0x4437, 0x0068, 0x0023, 0x0002, 0x0002, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0043, 0x11CB, 0x116B, 0x0044, 0x0085, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x08A6, 0x0044, 0x0045, 0x0045, 0x0929, 0x118C, 0x00C8, 0x00C7, + 0x0066, 0x0066, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x0085, 0x0085, 0x0086, 0x32B0, + 0x0086, 0x0086, 0x0086, 0x0086, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A7, 0x00C8, 0x00E9, 0x012B, + 0x018E, 0x0211, 0x0275, 0x02F7, 0x02F7, 0x0276, 0x0254, 0x018F, 0x010B, 0x00C9, 0x00C8, 0x00A7, + 0x0065, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, 0x0085, 0x0085, 0x090A, 0x00A7, 0x0066, 0x0066, + 0x00C9, 0x00EA, 0x012D, 0x01B1, 0x01B3, 0x01B3, 0x0236, 0x0277, 0x0257, 0x0257, 0x0215, 0x01B2, + 0x0191, 0x0170, 0x010C, 0x00EB, 0x00A8, 0x00A8, 0x090B, 0x0045, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0046, 0x11B0, 0x090B, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0065, 0x0087, 0x0066, 0x0066, 0x0AB2, 0x094A, + 0x0045, 0x0067, 0x0046, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0909, 0x092A, 0x0000, 0x0841, 0x0001, 0x0000, 0x0000, + 0x1082, 0x5AEB, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0020, 0x10A3, 0x0841, + 0x0000, 0x0021, 0x098D, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0023, 0x00A6, 0x0108, 0x0129, 0x0147, 0x0147, 0x14CF, 0x0D0F, 0x132A, 0x0AA7, + 0x0CEC, 0x0AC5, 0x24E7, 0x24E6, 0x0941, 0xA4A5, 0xACC5, 0x62A4, 0x0860, 0x1820, 0x7000, 0x5800, + 0x6000, 0x4820, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x0043, 0x08E7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0024, 0x11EF, 0x12B2, 0x0024, 0x0023, 0x0023, + 0x0044, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0002, 0x0005, 0x0827, 0x1009, 0x200E, 0x4014, 0xA8DC, 0xA07E, 0x801F, 0x801F, + 0x801F, 0x801F, 0x801F, 0x801F, 0xC0DE, 0x7019, 0x3813, 0x280F, 0x200B, 0x1809, 0x1008, 0x0029, + 0x01F5, 0x3CFB, 0x010C, 0x0045, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0043, 0x0043, 0x226F, 0x00C7, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0045, 0x0045, 0x0045, 0x0086, 0x114A, 0x118C, 0x0909, 0x0066, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0086, 0x0086, 0x0085, 0x0085, 0x0086, 0x2A8F, 0x0086, 0x0086, 0x0086, 0x0086, + 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A7, 0x00C8, 0x012B, 0x098D, 0x01D0, 0x0233, 0x02F7, 0x0CBB, + 0x159D, 0x0379, 0x0296, 0x01D0, 0x012C, 0x00E9, 0x00A7, 0x00A7, 0x0065, 0x0065, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0085, 0x08E9, 0x0929, 0x0045, 0x0066, 0x0066, 0x00A7, 0x00C9, 0x012C, 0x016F, + 0x01B3, 0x01B3, 0x01D3, 0x01D3, 0x01D4, 0x01D3, 0x01B2, 0x0191, 0x0170, 0x012D, 0x00EB, 0x00C9, + 0x00A8, 0x00A8, 0x08C9, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0024, 0x2233, 0x0046, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0022, 0x0022, 0x0087, 0x0087, 0x0066, 0x00C8, 0x0AF3, 0x00A7, 0x0045, 0x0067, 0x0046, 0x0002, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0909, 0x090A, 0x0000, 0x0841, 0x0000, 0x0000, 0x0000, 0x1082, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1082, 0x1082, 0x0000, 0x0020, 0x10A3, 0x0841, 0x0000, 0x0021, 0x014B, 0x00A6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0023, 0x0023, 0x00A6, + 0x0129, 0x0129, 0x0149, 0x01C7, 0x0F32, 0x0F32, 0x144B, 0x0BA8, 0x0731, 0x0BE7, 0x2F29, 0x3729, + 0x0960, 0xF6A7, 0xFEC5, 0x93E4, 0x1060, 0x2820, 0xB020, 0x9000, 0x9800, 0x8000, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0063, 0x08E7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0023, 0x0023, 0x0909, 0x1335, 0x0066, 0x0065, 0x19CD, 0x1129, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0003, 0x0024, + 0x0808, 0x1009, 0x200C, 0x3812, 0xA8DC, 0xA87E, 0x801F, 0x801F, 0x801F, 0x801E, 0x801D, 0x801D, + 0xC0DE, 0x6838, 0x3812, 0x280E, 0x180A, 0x1009, 0x0807, 0x0807, 0x00EF, 0x1399, 0x2334, 0x0088, + 0x0024, 0x0002, 0x0002, 0x0023, 0x0002, 0x0002, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0065, 0x22B0, + 0x0086, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0064, 0x0064, 0x0065, 0x0066, 0x0909, 0x11CD, 0x11CD, 0x092A, 0x00A7, 0x00A7, 0x0086, 0x0085, + 0x0085, 0x0086, 0x0086, 0x226E, 0x0086, 0x0086, 0x0086, 0x0086, 0x0087, 0x0087, 0x00A8, 0x116B, + 0x11CD, 0x11AE, 0x014D, 0x014D, 0x01D0, 0x0274, 0x0419, 0x16DF, 0x1F5F, 0x0D1C, 0x02D7, 0x0212, + 0x016D, 0x00EA, 0x00A7, 0x00A7, 0x0086, 0x0086, 0x0044, 0x0044, 0x0044, 0x0044, 0x0086, 0x21CC, + 0x0045, 0x0045, 0x0044, 0x0044, 0x0086, 0x00A8, 0x010B, 0x012D, 0x014F, 0x01B2, 0x01B3, 0x01B1, + 0x0191, 0x0191, 0x0191, 0x01B1, 0x012E, 0x010B, 0x00EA, 0x00A8, 0x0087, 0x08C9, 0x0045, 0x0024, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0023, 0x0023, 0x0047, 0x2212, 0x0002, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0065, 0x2B12, 0x010B, + 0x0067, 0x098C, 0x12B1, 0x0045, 0x0067, 0x0067, 0x0046, 0x0001, 0x0000, 0x0000, 0x0000, 0x0021, + 0x5B0D, 0x5B0D, 0x52ED, 0x52ED, 0x52CC, 0x52CC, 0x52AC, 0x4A8B, 0x4A6B, 0x4A6B, 0x422A, 0x422A, + 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x39E9, 0x39E9, 0x39E8, 0x39E8, 0x3A09, 0x3A09, 0x39E8, 0x39E8, + 0x39E8, 0x39E8, 0x31C9, 0x31C9, 0x31C8, 0x31C8, 0x31A8, 0x31A8, 0x29A8, 0x29A8, 0x1906, 0x10E6, + 0x08A4, 0x08A4, 0x08A4, 0x08A4, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x08E8, 0x00E9, 0x0000, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0020, 0x10A3, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0021, 0x10A3, 0x0841, 0x0000, 0x0021, 0x014B, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1106, 0x0021, 0x1168, 0x08A5, 0x0043, 0x00A6, 0x0129, 0x0129, 0x0128, 0x01A5, + 0x0F32, 0x0F32, 0x142A, 0x0BA8, 0x0731, 0x0BE7, 0x2F29, 0x3728, 0x1120, 0xF6A7, 0xFEC5, 0x93E4, + 0x1860, 0x2820, 0xB020, 0x9000, 0x9800, 0x8000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0063, 0x08E7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0023, 0x0023, 0x0045, + 0x12F4, 0x092A, 0x0086, 0x0065, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0842, 0x0001, 0x0003, 0x0003, 0x0808, 0x0808, 0x180B, 0x3812, + 0xA8DC, 0xC0BE, 0xA05E, 0xA05E, 0xA05E, 0xA05E, 0xA03E, 0xA03D, 0xC8DE, 0x6016, 0x3011, 0x200D, + 0x180A, 0x1008, 0x0807, 0x0807, 0x006B, 0x0236, 0x2C79, 0x014D, 0x0066, 0x0024, 0x0002, 0x0002, + 0x0023, 0x0002, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0002, 0x0002, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0043, 0x08E7, 0x22D1, 0x0086, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0065, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, 0x0064, 0x0064, 0x0065, 0x0065, + 0x0045, 0x0065, 0x0087, 0x092A, 0x11CC, 0x11CC, 0x11EC, 0x11EC, 0x19CC, 0x118B, 0x098B, 0x22F1, + 0x096B, 0x098B, 0x11CD, 0x1A0E, 0x1A0E, 0x19EE, 0x19CD, 0x094B, 0x00EA, 0x00EA, 0x014D, 0x014D, + 0x01F0, 0x02B5, 0x151B, 0x1F7F, 0x1F7F, 0x15FD, 0x02F7, 0x0212, 0x016D, 0x010A, 0x00A7, 0x00A7, + 0x00A7, 0x0086, 0x0044, 0x0044, 0x0044, 0x0044, 0x21CC, 0x0086, 0x0045, 0x0045, 0x0044, 0x0044, + 0x0086, 0x0086, 0x010B, 0x010B, 0x012D, 0x014F, 0x01B1, 0x01B1, 0x0191, 0x0191, 0x016F, 0x012D, + 0x010B, 0x00CA, 0x00A8, 0x00A8, 0x00A7, 0x08C9, 0x0024, 0x0024, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, 0x0023, 0x0023, + 0x116E, 0x112C, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0065, 0x22B1, 0x2B74, 0x0087, 0x0A2F, 0x0A0E, 0x0045, + 0x0067, 0x0067, 0x0044, 0x0001, 0x0000, 0x0000, 0x0021, 0x11AB, 0x632F, 0x632F, 0x5B2E, 0x5B2E, + 0x5B2D, 0x5B0D, 0x5ACC, 0x5ACC, 0x52CC, 0x52AC, 0x52AB, 0x4A8B, 0x528B, 0x528B, 0x52AC, 0x52AC, + 0x4A8B, 0x4A8B, 0x4A6A, 0x4A6A, 0x424A, 0x3A09, 0x39E8, 0x39E8, 0x39E8, 0x39E8, 0x31C9, 0x31C9, + 0x31C8, 0x31C8, 0x31E9, 0x31E9, 0x31C9, 0x29A8, 0x1906, 0x10E6, 0x08A4, 0x08A4, 0x08A4, 0x08A4, + 0x10C5, 0x0001, 0x0000, 0x0000, 0x0000, 0x08E8, 0x00E9, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0841, 0x0862, 0x0041, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x10A3, 0x0841, + 0x0000, 0x0021, 0x014B, 0x0086, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3350, 0x2BB3, 0x22CF, + 0x3393, 0x3BD3, 0x0044, 0x00A6, 0x0109, 0x0128, 0x0128, 0x0185, 0x1712, 0x0F12, 0x13E9, 0x1388, + 0x1710, 0x13C7, 0x36E9, 0x4709, 0x0900, 0xEE67, 0xFEC6, 0x93C5, 0x1860, 0x3020, 0xB020, 0x9000, + 0x9800, 0x7020, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x08E7, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0023, 0x0023, 0x1250, 0x09EE, 0x0023, 0x0023, + 0x0023, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0002, 0x0826, 0x0808, 0x180A, 0x3010, 0x8079, 0xC93D, 0xD13D, 0xD13E, + 0xD11D, 0xD11D, 0xC8FD, 0xC8FD, 0xC11D, 0x5015, 0x280F, 0x200C, 0x1008, 0x1008, 0x0026, 0x0026, + 0x006A, 0x0193, 0x1C1A, 0x1B76, 0x00EB, 0x0023, 0x0021, 0x0021, 0x0023, 0x0023, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0043, 0x0043, 0x0022, 0x0022, 0x1169, 0x22D0, 0x0065, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0065, 0x0065, 0x0086, 0x00C7, 0x0109, 0x094A, 0x098B, 0x2312, 0x0929, 0x0929, 0x00E8, 0x0087, + 0x0086, 0x0086, 0x0087, 0x0087, 0x00C8, 0x00E9, 0x014C, 0x018E, 0x0212, 0x0318, 0x0C1A, 0x1EDF, + 0x1F3F, 0x0CDB, 0x02D7, 0x01F1, 0x018D, 0x012B, 0x00A7, 0x00A7, 0x0086, 0x0086, 0x0045, 0x0045, + 0x0045, 0x118C, 0x08C8, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x0087, 0x00A8, 0x00A8, + 0x00EA, 0x010B, 0x010C, 0x010C, 0x010C, 0x010C, 0x00EB, 0x00EA, 0x00C9, 0x00A8, 0x0087, 0x0045, + 0x08A8, 0x0067, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0002, 0x0002, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, 0x0003, 0x0025, 0x2274, 0x0024, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0022, 0x0021, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0045, 0x0066, 0x0066, 0x0066, 0x12D2, 0x094A, 0x0086, 0x0046, 0x0046, 0x0023, 0x0002, + 0x0000, 0x0000, 0x0969, 0x0906, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0000, 0x0001, 0x0884, 0x0000, 0x0000, + 0x0000, 0x08C8, 0x00E9, 0x0000, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x10A3, 0x0841, 0x0000, 0x0021, 0x014B, 0x00A6, + 0x0000, 0x0000, 0x0000, 0x08E5, 0x0926, 0x3455, 0x3CD7, 0x2311, 0x11EB, 0x3393, 0x0044, 0x0044, + 0x0084, 0x0084, 0x00A4, 0x00E3, 0x1BC6, 0x1BC6, 0x1203, 0x09C2, 0x1B65, 0x09C2, 0x2B64, 0x2B64, + 0x08A0, 0x93A5, 0x9BE5, 0x5A23, 0x1840, 0x2820, 0x8020, 0x6020, 0x7020, 0x5820, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x08C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0002, 0x0023, 0x0023, 0x098C, 0x12B2, 0x0023, 0x0023, 0x10C6, 0x0864, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0004, 0x0808, 0x1009, 0x200D, 0x4013, 0x5815, 0x5817, 0x5817, 0x6017, 0x6017, 0x5817, 0x5817, + 0x5015, 0x3011, 0x200D, 0x180B, 0x1008, 0x1007, 0x0026, 0x0026, 0x008C, 0x0216, 0x14BD, 0x561C, + 0x01D0, 0x0045, 0x0021, 0x0021, 0x0023, 0x0023, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0043, 0x0043, 0x0022, 0x0022, + 0x0023, 0x1169, 0x228F, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0085, 0x2AB0, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x0087, 0x0087, + 0x00C8, 0x00E9, 0x018E, 0x09F1, 0x0233, 0x0254, 0x02D7, 0x0C1A, 0x0CDB, 0x0359, 0x0296, 0x01D0, + 0x016D, 0x012B, 0x00A7, 0x00A7, 0x0086, 0x0086, 0x0045, 0x0045, 0x11AC, 0x0909, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x0087, 0x0086, 0x00A8, 0x00A8, 0x00C9, 0x00CA, 0x00CA, + 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00A8, 0x0066, 0x0045, 0x0045, 0x0067, 0x0044, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0023, 0x0069, 0x2253, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0045, 0x0066, 0x0066, + 0x08E9, 0x1313, 0x0086, 0x0086, 0x0046, 0x0046, 0x0002, 0x0000, 0x0000, 0x0022, 0x19AA, 0x0000, + 0x0000, 0x1926, 0x0000, 0x0000, 0x19A8, 0x10E5, 0x19EA, 0x21EA, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0042, 0x224B, 0x1105, 0x220A, 0x220A, 0x0862, 0x10E4, 0x220B, 0x19C9, + 0x222B, 0x222B, 0x08A4, 0x08A4, 0x10C4, 0x1167, 0x21E9, 0x0000, 0x0000, 0x0000, 0x0000, 0x19A8, + 0x0021, 0x21A7, 0x0000, 0x0000, 0x0001, 0x0864, 0x0021, 0x0000, 0x0000, 0x08C7, 0x00E9, 0x0000, + 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0041, 0x10A3, 0x0841, 0x0000, 0x0021, 0x014B, 0x00A6, 0x0000, 0x0000, 0x0000, 0x328C, + 0x2A8C, 0x3414, 0x122C, 0x3476, 0x1A4D, 0x3BB3, 0x0043, 0x00A5, 0x00E7, 0x00E7, 0x00C6, 0x0963, + 0x4729, 0x3728, 0x23C4, 0x1B44, 0x370A, 0x23C4, 0x7EE8, 0x8EE8, 0x10E0, 0xF5E6, 0xFE25, 0x9384, + 0x1840, 0x4020, 0xD040, 0xB000, 0xC000, 0xA000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0064, 0x08C6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, + 0x0087, 0x0AF3, 0x08E8, 0x0065, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0003, 0x0807, 0x1008, 0x180A, + 0x3010, 0x3010, 0x3812, 0x3812, 0x4013, 0x4013, 0x4013, 0x4013, 0x3811, 0x280E, 0x200B, 0x1809, + 0x0807, 0x0807, 0x0006, 0x0027, 0x00EF, 0x12FA, 0x049D, 0x4E7E, 0x1BB7, 0x00A8, 0x0023, 0x0001, + 0x0001, 0x0023, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0949, 0x22B0, + 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0064, 0x0064, 0x0064, 0x0064, 0x0065, 0x0065, 0x0065, 0x32AF, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x0086, 0x0086, 0x090A, 0x094C, 0x014C, 0x016E, + 0x01AF, 0x01F1, 0x0254, 0x0295, 0x0296, 0x02B6, 0x0273, 0x018F, 0x014C, 0x00E9, 0x0086, 0x0086, + 0x0065, 0x0086, 0x0067, 0x118C, 0x094B, 0x0065, 0x0024, 0x0024, 0x0023, 0x0023, 0x0044, 0x0044, + 0x0065, 0x0065, 0x0045, 0x0045, 0x0086, 0x0086, 0x0087, 0x0087, 0x00A7, 0x00A7, 0x0066, 0x0066, + 0x0045, 0x0045, 0x0044, 0x0044, 0x0087, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0024, 0x19D1, + 0x090B, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0023, + 0x0002, 0x0000, 0x0001, 0x0001, 0x0022, 0x0065, 0x0066, 0x0066, 0x09CC, 0x1270, 0x0046, 0x0046, + 0x0067, 0x0025, 0x0000, 0x0000, 0x0000, 0x0042, 0x1148, 0x0000, 0x0000, 0x3B50, 0x0020, 0x0022, + 0x4538, 0x19EA, 0x2C14, 0x2B0F, 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x326C, + 0x22CD, 0x33B1, 0x2AEE, 0x4495, 0x0063, 0x1105, 0x2ACE, 0x3C33, 0x2AED, 0x4435, 0x1167, 0x33D2, + 0x1A6C, 0x3C54, 0x3C33, 0x1167, 0x0000, 0x0000, 0x0000, 0x2BF3, 0x22AD, 0x3413, 0x0000, 0x0000, + 0x0000, 0x0863, 0x0022, 0x0000, 0x0000, 0x08C7, 0x00E9, 0x0000, 0x0020, 0x0020, 0x0021, 0x0000, + 0x0000, 0x0000, 0x0822, 0x0842, 0x0000, 0x0000, 0x0841, 0x0841, 0x0000, 0x0000, 0x10A3, 0x0841, + 0x0000, 0x0021, 0x014B, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2AEF, 0x44B7, 0x11EA, + 0x3497, 0x3310, 0x0021, 0x0085, 0x00E7, 0x00E7, 0x00C6, 0x0963, 0x4729, 0x3F48, 0x23C4, 0x1B64, + 0x3749, 0x23C4, 0x8728, 0x8F08, 0x18E0, 0xF5E6, 0xFE45, 0x9384, 0x1840, 0x4000, 0xD040, 0xB000, + 0xC800, 0xA800, 0x0800, 0x0000, 0x0064, 0x0000, 0x0000, 0x0000, 0x0064, 0x08C6, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, 0x0024, 0x0A71, 0x09CD, 0x0024, + 0x0023, 0x0023, 0x0022, 0x0001, 0x0022, 0x0043, 0x0022, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0806, 0x1008, 0x1008, 0x202C, 0x200D, 0x280E, 0x280E, + 0x300F, 0x300F, 0x3010, 0x280F, 0x280E, 0x200C, 0x1809, 0x1008, 0x0807, 0x0807, 0x0826, 0x0027, + 0x00CC, 0x01D4, 0x03BB, 0x155E, 0x55FC, 0x01AF, 0x0024, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0908, 0x22D1, 0x08E8, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0064, 0x0064, 0x0064, 0x0064, 0x0065, 0x0065, 0x0065, 0x328F, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0086, 0x0086, 0x0086, 0x0086, 0x0066, 0x00C8, 0x00EA, 0x014C, 0x016D, 0x01AF, 0x01D1, 0x01F2, + 0x0232, 0x0232, 0x0232, 0x016E, 0x012A, 0x00E8, 0x0086, 0x0086, 0x0086, 0x0086, 0x19AD, 0x094B, + 0x0065, 0x0065, 0x0024, 0x0024, 0x0023, 0x0023, 0x0044, 0x0044, 0x0065, 0x0065, 0x0045, 0x0045, + 0x0086, 0x0086, 0x0066, 0x0066, 0x0086, 0x0066, 0x0066, 0x0045, 0x0045, 0x0045, 0x0044, 0x0044, + 0x0065, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0002, 0x0002, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0046, 0x2296, 0x0025, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0043, 0x0044, 0x0001, 0x0001, + 0x0044, 0x0065, 0x0066, 0x0066, 0x0A90, 0x09CC, 0x0045, 0x0046, 0x0066, 0x0025, 0x0000, 0x0000, + 0x0000, 0x0042, 0x1148, 0x0000, 0x0000, 0x3B50, 0x0022, 0x1968, 0x2BD4, 0x1A2B, 0x1AAD, 0x0926, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x3C13, 0x2AEF, 0x08A3, 0x3B70, + 0x0000, 0x0000, 0x1A0A, 0x1A0A, 0x0021, 0x3B91, 0x1188, 0x3476, 0x1A6C, 0x3C34, 0x3455, 0x1A6B, + 0x0000, 0x0000, 0x0000, 0x2B91, 0x3496, 0x2434, 0x0000, 0x0000, 0x0000, 0x0863, 0x0022, 0x0000, + 0x0000, 0x08C7, 0x00E9, 0x0000, 0x0020, 0x0020, 0x0021, 0x0000, 0x0000, 0x0000, 0x10A3, 0x0842, + 0x0000, 0x0000, 0x0862, 0x0862, 0x0020, 0x0020, 0x10A3, 0x0841, 0x0000, 0x0021, 0x012B, 0x00A6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0062, 0x0021, 0x0001, 0x0064, + 0x00E7, 0x00E7, 0x00E6, 0x0142, 0x4F49, 0x4749, 0x23A5, 0x1B44, 0x3F29, 0x23C5, 0x8F49, 0x9729, + 0x10A0, 0xF5E7, 0xFE46, 0x9384, 0x1020, 0x3800, 0xC841, 0xA820, 0xC800, 0xA800, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0023, 0x0023, 0x0023, 0x09AD, 0x1291, 0x0044, 0x0044, 0x0044, 0x08A7, 0x0044, + 0x0043, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0002, 0x0003, 0x0827, 0x0806, 0x1029, 0x180B, 0x200A, 0x200A, 0x200B, 0x200B, 0x200B, 0x200B, + 0x1809, 0x1809, 0x1007, 0x1007, 0x0805, 0x0805, 0x0004, 0x0004, 0x0067, 0x00ED, 0x0236, 0x043D, + 0x3DBD, 0x1354, 0x0087, 0x0002, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0044, 0x0044, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0086, 0x22AF, 0x118A, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0064, 0x0064, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0064, 0x0064, + 0x0064, 0x0064, 0x0065, 0x2A6E, 0x0064, 0x0064, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0086, 0x0086, 0x00E9, 0x010A, 0x010A, 0x010A, 0x014D, 0x014D, 0x018D, 0x018D, 0x018E, 0x014C, + 0x00E9, 0x00C8, 0x00A7, 0x0086, 0x00A8, 0x19EE, 0x08E9, 0x0086, 0x0044, 0x0044, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0044, 0x0044, 0x0023, 0x0023, 0x0024, 0x0024, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0023, 0x0023, 0x0024, 0x0024, 0x0023, 0x0023, 0x0023, 0x0086, 0x0022, 0x0022, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0022, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0024, 0x08CB, 0x19F1, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0064, 0x0064, 0x08E9, 0x0086, 0x0066, 0x00C8, + 0x1313, 0x00A7, 0x0046, 0x0067, 0x0046, 0x0003, 0x0000, 0x0000, 0x0000, 0x0042, 0x1148, 0x0000, + 0x0001, 0x3371, 0x0021, 0x2ACF, 0x3CB7, 0x2B72, 0x1A8D, 0x0926, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x21C9, 0x00E6, 0x33B2, 0x222B, 0x19C8, 0x0021, 0x0001, 0x43F2, 0x0062, + 0x0906, 0x32CD, 0x3350, 0x3D59, 0x2BB2, 0x2ACE, 0x2BD2, 0x19C8, 0x0000, 0x0000, 0x0000, 0x2B71, + 0x22EE, 0x2CF7, 0x0000, 0x0000, 0x0000, 0x0863, 0x0022, 0x0000, 0x0000, 0x08C7, 0x00E9, 0x0000, + 0x0021, 0x0021, 0x0021, 0x0000, 0x3186, 0x18C4, 0x0863, 0x0042, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0020, 0x0020, 0x10A3, 0x0841, 0x0000, 0x0021, 0x012B, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0001, 0x0001, 0x0022, 0x0022, 0x0042, 0x0081, + 0x1222, 0x1222, 0x0901, 0x0921, 0x11E2, 0x0921, 0x19E2, 0x19E2, 0x1060, 0x4182, 0x51C2, 0x3921, + 0x1020, 0x1020, 0x3800, 0x3000, 0x3800, 0x3000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0064, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0023, + 0x0023, 0x0909, 0x0AD3, 0x00A7, 0x0066, 0x1A0F, 0x2AD1, 0x0024, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0805, 0x0805, + 0x0806, 0x1029, 0x1808, 0x1808, 0x1809, 0x1809, 0x1809, 0x1808, 0x1008, 0x1008, 0x1007, 0x1007, + 0x0805, 0x0805, 0x0004, 0x0004, 0x0024, 0x0067, 0x010E, 0x0297, 0x0BFB, 0x3D3A, 0x012B, 0x0023, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0044, 0x0044, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0044, 0x0086, 0x19CC, 0x2A8F, 0x0086, 0x0044, 0x0044, 0x0044, 0x0064, 0x0064, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0064, 0x0064, 0x0064, 0x0064, 0x0065, 0x2A6E, + 0x0064, 0x0064, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x00A7, 0x00E9, + 0x010A, 0x010A, 0x010A, 0x012B, 0x012B, 0x012B, 0x012B, 0x014C, 0x00E9, 0x00C8, 0x0088, 0x08EA, + 0x19CD, 0x00A8, 0x0045, 0x0086, 0x0044, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0044, + 0x0023, 0x0023, 0x0024, 0x0024, 0x0044, 0x0044, 0x0044, 0x0044, 0x0023, 0x0023, 0x0024, 0x0024, + 0x0023, 0x0023, 0x0065, 0x0065, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, 0x0022, 0x0022, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0024, 0x2213, 0x0067, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0065, 0x33D6, 0x22D2, 0x00C8, 0x098C, 0x1291, 0x0045, 0x0046, 0x0067, + 0x0046, 0x0003, 0x0000, 0x0000, 0x0000, 0x0042, 0x1148, 0x0000, 0x0021, 0x3C13, 0x4495, 0x3BD3, + 0x0063, 0x2AAE, 0x222C, 0x08E5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2188, + 0x5558, 0x220A, 0x328C, 0x0042, 0x3A2A, 0x0863, 0x32CD, 0x0001, 0x2A2A, 0x08C4, 0x0021, 0x0947, + 0x21E9, 0x3B4E, 0x4C53, 0x0021, 0x0000, 0x0000, 0x0000, 0x2A6C, 0x0064, 0x33B2, 0x0000, 0x0000, + 0x0000, 0x0863, 0x0022, 0x0000, 0x0000, 0x08C7, 0x00C9, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, + 0x10A3, 0x0842, 0x0842, 0x0842, 0x0021, 0x0021, 0x0021, 0x0021, 0x0841, 0x0841, 0x10A3, 0x0841, + 0x0000, 0x0021, 0x012A, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0061, 0x0061, 0x00A0, 0x00C0, 0x0080, 0x0080, + 0x00A0, 0x0080, 0x00A0, 0x08A0, 0x0860, 0x18A0, 0x20A0, 0x1860, 0x1800, 0x1800, 0x2000, 0x1000, + 0x1800, 0x1000, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x08A5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0024, 0x0024, 0x1291, 0x096B, + 0x0929, 0x118B, 0x0044, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0004, 0x0024, 0x0847, 0x0806, 0x0806, + 0x1007, 0x1007, 0x1007, 0x1007, 0x0806, 0x0806, 0x0805, 0x0805, 0x0003, 0x0003, 0x0002, 0x0002, + 0x0023, 0x0023, 0x0068, 0x012F, 0x0277, 0x245A, 0x1291, 0x0045, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0023, 0x0023, 0x0043, 0x0043, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0044, 0x0043, 0x00A6, + 0x226F, 0x19CC, 0x0045, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0024, 0x0024, 0x0024, 0x0024, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0064, 0x2A6E, 0x0064, 0x0064, 0x0064, 0x0064, + 0x0065, 0x0065, 0x0064, 0x0064, 0x0065, 0x0065, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00E8, 0x00E8, + 0x00C8, 0x00C8, 0x00E9, 0x012C, 0x00EA, 0x00CA, 0x11CE, 0x11AD, 0x0086, 0x0086, 0x0044, 0x0044, + 0x0045, 0x0045, 0x0023, 0x0023, 0x0023, 0x0023, 0x0065, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x00A7, 0x0023, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0047, 0x2233, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0045, + 0x00A8, 0x11AD, 0x00C8, 0x0A2F, 0x11CD, 0x0045, 0x0047, 0x0047, 0x0024, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0022, 0x1128, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0063, 0x0022, 0x0000, + 0x0000, 0x08C6, 0x00C9, 0x0000, 0x0000, 0x0861, 0x0021, 0x0000, 0x0862, 0x0862, 0x0842, 0x0841, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0841, 0x0841, 0x10A3, 0x0841, 0x0000, 0x0021, 0x012A, 0x00A6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0063, + 0x00A4, 0x00A4, 0x00A3, 0x1122, 0x7E47, 0x7E47, 0x3B25, 0x22E4, 0x5648, 0x2AE3, 0x9627, 0x9DE8, + 0x18A0, 0xDD05, 0xED44, 0x9324, 0x1800, 0x4020, 0xC061, 0x9820, 0xB800, 0x9820, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0002, 0x0024, 0x0024, 0x09CD, 0x120F, 0x0044, 0x0023, 0x0023, 0x0023, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0002, 0x0003, 0x0024, 0x0806, 0x0805, 0x0805, 0x0805, 0x0805, 0x0805, + 0x0806, 0x0805, 0x0805, 0x0004, 0x0003, 0x0003, 0x0002, 0x0002, 0x0023, 0x0023, 0x0024, 0x0068, + 0x00EE, 0x0192, 0x2BF8, 0x00C8, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0002, 0x0002, 0x0864, 0x0023, 0x0002, 0x0065, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0044, 0x0043, 0x0043, 0x0044, 0x0909, 0x1A4E, 0x118B, + 0x0086, 0x0044, 0x0044, 0x0044, 0x0024, 0x0024, 0x0024, 0x0024, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x2A6E, 0x0064, 0x0064, 0x0064, 0x0064, 0x0065, 0x0065, 0x0064, 0x0064, + 0x0065, 0x0065, 0x0065, 0x00A7, 0x00C7, 0x00C7, 0x00E8, 0x00E8, 0x00C8, 0x00C8, 0x00E9, 0x010B, + 0x1231, 0x1A92, 0x014C, 0x00A8, 0x0086, 0x0045, 0x0044, 0x0044, 0x0045, 0x0045, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0064, 0x0085, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0024, 0x116F, 0x08EB, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0045, 0x0066, 0x0066, 0x0087, 0x12F3, + 0x00C8, 0x0045, 0x0047, 0x0047, 0x0024, 0x0001, 0x0000, 0x0000, 0x0000, 0x0022, 0x1128, 0x0042, + 0x0001, 0x0001, 0x0022, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x1083, 0x1083, + 0x0882, 0x0882, 0x0862, 0x0862, 0x0841, 0x0841, 0x0021, 0x0021, 0x0041, 0x0041, 0x0041, 0x0041, + 0x0041, 0x0041, 0x0041, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, 0x0041, 0x0841, + 0x0841, 0x0841, 0x0841, 0x0841, 0x0862, 0x0863, 0x0022, 0x0000, 0x0000, 0x08C6, 0x00C8, 0x0000, + 0x0000, 0x0861, 0x0021, 0x0000, 0x0862, 0x0862, 0x0842, 0x0841, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0841, 0x0841, 0x10C3, 0x0841, 0x0000, 0x0021, 0x012A, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0084, 0x0084, 0x0063, 0x1142, + 0x96E8, 0x96E8, 0x4385, 0x2B44, 0x6748, 0x3364, 0xAEC8, 0xAEC8, 0x18A0, 0xF5A5, 0xFDA3, 0x9B43, + 0x1800, 0x4820, 0xD060, 0xB820, 0xD000, 0xB800, 0x0800, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0064, 0x0885, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, + 0x0023, 0x0023, 0x08C8, 0x12B2, 0x0086, 0x0023, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0025, 0x0025, 0x0004, 0x0004, 0x0804, 0x0804, 0x0004, 0x0004, 0x0003, 0x0003, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0002, 0x0002, 0x0023, 0x0023, 0x0046, 0x0089, 0x098F, 0x11EE, + 0x0022, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0064, + 0x0023, 0x0002, 0x0002, 0x0002, 0x0065, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0909, 0x1A4E, 0x1A0E, 0x0908, 0x0044, + 0x0043, 0x0023, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x2A6E, + 0x0044, 0x0044, 0x0064, 0x0064, 0x0064, 0x0064, 0x0044, 0x0044, 0x0065, 0x0065, 0x0086, 0x0086, + 0x00C7, 0x00C7, 0x0086, 0x0086, 0x00A7, 0x00A7, 0x00C9, 0x096D, 0x1272, 0x016E, 0x00E9, 0x00C8, + 0x0065, 0x0065, 0x0024, 0x0024, 0x0044, 0x0065, 0x0044, 0x0023, 0x0023, 0x0044, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, + 0x0022, 0x00A6, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0046, 0x2234, 0x0004, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0002, 0x0044, 0x0066, 0x0066, 0x096B, 0x12D1, 0x0045, 0x0045, 0x0046, 0x0046, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0022, 0x1127, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0843, 0x0042, 0x0000, 0x0000, 0x08C6, 0x00C8, 0x0000, 0x0000, 0x0861, 0x0021, 0x0000, + 0x0862, 0x0862, 0x0842, 0x0841, 0x0000, 0x0021, 0x0021, 0x0021, 0x0841, 0x0841, 0x18C3, 0x0841, + 0x0000, 0x0021, 0x012A, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08A3, 0x2A6C, 0x0022, + 0x222A, 0x08E5, 0x0000, 0x0021, 0x0084, 0x0084, 0x0062, 0x1142, 0x96E8, 0x96E8, 0x4364, 0x2B44, + 0x6F28, 0x3364, 0xAEC8, 0xAEC8, 0x18A0, 0xF5A5, 0xFDA3, 0x9B43, 0x1800, 0x4800, 0xD060, 0xB020, + 0xD000, 0xB800, 0x0800, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x0063, 0x0885, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0023, 0x0023, 0x0044, 0x1250, + 0x094A, 0x0043, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0024, 0x0025, + 0x0004, 0x0004, 0x0804, 0x0804, 0x0004, 0x0004, 0x0003, 0x0003, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0023, 0x0023, 0x0023, 0x0044, 0x0046, 0x0088, 0x0023, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0044, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0044, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0044, 0x0044, 0x0045, 0x00A7, 0x09AC, 0x1A6F, 0x224E, 0x198A, 0x0085, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x2A4E, 0x0044, 0x0044, 0x0064, 0x0064, + 0x0064, 0x0064, 0x0044, 0x0044, 0x0066, 0x112A, 0x19CE, 0x19AD, 0x1109, 0x0066, 0x0086, 0x0086, + 0x00A7, 0x00A7, 0x00A7, 0x00C9, 0x09AE, 0x016D, 0x00C8, 0x0066, 0x0065, 0x0065, 0x0024, 0x0024, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, 0x0064, 0x0064, 0x0022, 0x0022, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0002, 0x0002, 0x110D, 0x114E, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0066, + 0x0066, 0x0066, 0x0A2F, 0x11ED, 0x0045, 0x0045, 0x0046, 0x0046, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0022, 0x1127, 0x0000, 0x0000, 0x3B0E, 0x0000, 0x1987, 0x4495, 0x2B2F, 0x43F3, 0x0083, + 0x2B0F, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x43F2, 0x11A9, 0x44B6, 0x224C, + 0x33D2, 0x3C13, 0x0000, 0x0000, 0x0041, 0x43F1, 0x08C4, 0x3B0F, 0x224C, 0x4557, 0x19A8, 0x0863, + 0x4412, 0x0000, 0x0000, 0x43B1, 0x11C8, 0x1A6C, 0x3B6F, 0x0000, 0x0000, 0x0863, 0x0042, 0x0000, + 0x0000, 0x08C6, 0x00C8, 0x0000, 0x0000, 0x0861, 0x0021, 0x0000, 0x0862, 0x0862, 0x0842, 0x0841, + 0x0000, 0x0021, 0x0021, 0x0021, 0x0841, 0x0841, 0x18C4, 0x0841, 0x0000, 0x0021, 0x0929, 0x08A6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x33D3, 0x22F1, 0x2310, 0x2B51, 0x3BF3, 0x0021, 0x0021, + 0x0083, 0x0083, 0x0083, 0x10E2, 0x85C8, 0x85C8, 0x3AC4, 0x2263, 0x65E8, 0x2A83, 0x9568, 0x9D89, + 0x1860, 0xD485, 0xD4A5, 0x7A84, 0x1800, 0x4000, 0xB041, 0x9020, 0xB820, 0x9021, 0x0800, 0x0800, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x0064, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0023, 0x098C, 0x0A0E, 0x0023, 0x0023, 0x0066, + 0x10E7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0865, 0x0003, 0x0003, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0023, 0x0023, 0x0045, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0023, 0x0023, 0x0001, 0x0001, 0x0002, 0x0002, 0x0022, 0x0065, 0x0065, 0x0023, + 0x0022, 0x0022, 0x0043, 0x0043, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0024, 0x0024, 0x0044, 0x0044, 0x00A7, 0x118B, 0x226F, 0x226F, 0x224E, 0x222D, 0x19CB, 0x1149, + 0x08E8, 0x00A7, 0x00A6, 0x226E, 0x00A6, 0x00A6, 0x08E7, 0x1149, 0x19AB, 0x21ED, 0x21CC, 0x19CD, + 0x19CD, 0x114A, 0x0087, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x00A7, 0x00A7, + 0x00EA, 0x098D, 0x00C8, 0x0065, 0x0044, 0x0044, 0x0023, 0x0023, 0x0044, 0x0044, 0x0065, 0x0087, + 0x0023, 0x0023, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, + 0x0001, 0x0001, 0x0022, 0x0022, 0x00A6, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0003, 0x0025, + 0x2212, 0x0026, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x21CC, 0x090A, 0x0066, 0x08C8, 0x1B34, 0x08C7, + 0x0045, 0x0047, 0x0046, 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0042, 0x1128, 0x0000, + 0x0001, 0x3B70, 0x0001, 0x3C13, 0x00A4, 0x2BF3, 0x2C35, 0x22EF, 0x2371, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x10E4, 0x33F3, 0x19E9, 0x0948, 0x3BB2, 0x2A6C, 0x3350, 0x08C4, 0x0020, + 0x2B0E, 0x2C54, 0x1147, 0x3351, 0x3C13, 0x0148, 0x2BB2, 0x2B50, 0x3434, 0x0000, 0x0000, 0x3330, + 0x23B2, 0x23F4, 0x2B91, 0x0000, 0x0000, 0x0863, 0x0042, 0x0000, 0x0000, 0x08C7, 0x00C8, 0x0000, + 0x0000, 0x0862, 0x0021, 0x0000, 0x1062, 0x1062, 0x0862, 0x0821, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0841, 0x0841, 0x18C4, 0x0841, 0x0000, 0x0021, 0x0909, 0x08A6, 0x0000, 0x0000, 0x0000, 0x19A9, + 0x222C, 0x2332, 0x34B8, 0x22F1, 0x11CA, 0x2B51, 0x0021, 0x0021, 0x0021, 0x0021, 0x0020, 0x18C1, + 0x8C24, 0x8C24, 0x39E3, 0x3203, 0x7465, 0x29A2, 0x9BE4, 0xA3C5, 0x1840, 0xAB02, 0xBB22, 0x69A2, + 0x1000, 0x3800, 0x9020, 0x7820, 0xA000, 0x8820, 0x0800, 0x0800, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0064, 0x0064, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0002, 0x0002, 0x0023, 0x08C7, 0x0A90, 0x0086, 0x0066, 0x21ED, 0x08A6, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0023, 0x0003, 0x0003, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0023, 0x0023, + 0x0024, 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0023, 0x0023, 0x0001, + 0x0001, 0x0001, 0x0002, 0x0002, 0x0022, 0x0022, 0x0886, 0x0065, 0x0022, 0x0022, 0x0043, 0x0043, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0024, 0x0024, 0x0044, 0x0044, + 0x0023, 0x0044, 0x0044, 0x0044, 0x00A6, 0x00A6, 0x0908, 0x118A, 0x19EC, 0x222D, 0x224D, 0x2B31, + 0x1A0B, 0x19EB, 0x19AA, 0x1149, 0x08E8, 0x0066, 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0044, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x00A7, 0x00A7, 0x00A8, 0x098D, 0x00A8, 0x0065, + 0x0044, 0x0044, 0x0023, 0x0023, 0x0044, 0x0044, 0x118D, 0x00CA, 0x0045, 0x0023, 0x0002, 0x0002, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, 0x0022, 0x0885, + 0x0043, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x08CB, 0x114D, 0x0023, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0022, 0x0087, 0x220D, 0x08C8, 0x018C, 0x1AF2, 0x0024, 0x0045, 0x0047, 0x0045, 0x0002, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0042, 0x1128, 0x0000, 0x0001, 0x3B70, 0x0021, 0x3C34, + 0x0083, 0x23B2, 0x3351, 0x2B92, 0x2371, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3370, 0x0083, 0x4412, 0x1167, 0x1A0A, 0x3BF2, 0x0021, 0x0083, 0x44B6, 0x2C54, 0x00A4, 0x3310, + 0x226C, 0x4517, 0x2C35, 0x3497, 0x34B7, 0x0062, 0x0000, 0x224B, 0x2C76, 0x23F4, 0x234F, 0x0000, + 0x0000, 0x0843, 0x0042, 0x0000, 0x0000, 0x08C7, 0x00C8, 0x0000, 0x0000, 0x0862, 0x0021, 0x0000, + 0x1062, 0x1062, 0x0862, 0x0821, 0x0000, 0x0000, 0x0021, 0x0021, 0x0020, 0x0020, 0x18C4, 0x0821, + 0x0000, 0x0021, 0x0109, 0x08A6, 0x0000, 0x0000, 0x0000, 0x2A0A, 0x2A8D, 0x33F4, 0x09CB, 0x3415, + 0x1A6E, 0x33B3, 0x0001, 0x0001, 0x0043, 0x0043, 0x0042, 0x2102, 0xDE25, 0xDE25, 0x62E4, 0x4B24, + 0xB707, 0x52C3, 0xEDC5, 0xEDC5, 0x2040, 0xEC43, 0xF422, 0x9262, 0x1000, 0x5000, 0xD040, 0xA820, + 0xD000, 0xC000, 0x0800, 0x0001, 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x0064, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0023, 0x0023, + 0x0A0D, 0x094A, 0x0044, 0x0044, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0024, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0023, 0x0024, 0x0023, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, + 0x0022, 0x0022, 0x0022, 0x08A6, 0x0044, 0x0023, 0x0064, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0023, 0x0023, 0x0043, 0x222C, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0023, 0x0023, 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0087, 0x094B, 0x00A8, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0045, 0x092E, 0x133A, 0x0A13, 0x00A8, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0001, 0x0001, 0x0044, 0x0044, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0025, 0x21D1, 0x0025, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0044, 0x0087, 0x0087, + 0x0066, 0x1291, 0x11CC, 0x0024, 0x0046, 0x0046, 0x0045, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0042, 0x1107, 0x0000, 0x0001, 0x3C34, 0x2B0F, 0x3BB2, 0x1B31, 0x3C55, 0x3B30, 0x19A9, + 0x2C13, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3B50, 0x2AEE, 0x33B2, 0x21EA, + 0x4538, 0x2AEE, 0x1967, 0x1987, 0x334F, 0x44B5, 0x08E5, 0x3AEF, 0x328D, 0x2B31, 0x330E, 0x2AEE, + 0x3CD7, 0x08A3, 0x0001, 0x1126, 0x3434, 0x2391, 0x1A4B, 0x0000, 0x0000, 0x0843, 0x0042, 0x0000, + 0x0000, 0x08C7, 0x00C9, 0x0000, 0x0000, 0x1082, 0x0841, 0x0000, 0x1062, 0x1062, 0x0862, 0x0821, + 0x0000, 0x0021, 0x0021, 0x0021, 0x0020, 0x0020, 0x18C4, 0x0021, 0x0000, 0x0001, 0x0109, 0x08A6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x222B, 0x43B3, 0x1106, 0x3C55, 0x2A8C, 0x0001, 0x0001, + 0x0043, 0x0043, 0x0042, 0x2102, 0xDE25, 0xDE25, 0x62C4, 0x4B24, 0xBF07, 0x52C3, 0xEDC5, 0xEDC5, + 0x2040, 0xEC23, 0xF422, 0x9262, 0x1000, 0x5000, 0xD040, 0xA820, 0xD000, 0xC000, 0x0800, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0064, 0x0064, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0023, 0x0023, 0x096A, 0x0A0D, 0x0044, 0x0022, + 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0023, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0002, 0x0002, 0x0024, 0x0046, 0x0066, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0023, 0x0023, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0885, 0x0044, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0023, 0x0023, 0x0043, 0x222C, 0x0023, 0x0023, 0x0023, 0x0023, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0023, 0x0023, 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0066, 0x00A8, 0x0909, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, 0x092E, 0x0A99, 0x0279, 0x0B5B, + 0x096E, 0x0066, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0001, 0x0001, 0x0085, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x10EC, 0x112D, + 0x0003, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x08C8, 0x0087, 0x0087, 0x00E8, 0x1B74, 0x0086, 0x0045, + 0x0046, 0x0046, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0042, 0x1107, 0x0000, + 0x0000, 0x19C8, 0x1A09, 0x1105, 0x224B, 0x08C5, 0x10E5, 0x0021, 0x1105, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1946, 0x1166, 0x226B, 0x1187, 0x226B, 0x224B, 0x10E5, 0x0883, + 0x0000, 0x1104, 0x0001, 0x1125, 0x0883, 0x2A4A, 0x0020, 0x0000, 0x1125, 0x0000, 0x0001, 0x0001, + 0x1966, 0x10E4, 0x0882, 0x0000, 0x0000, 0x0843, 0x0042, 0x0000, 0x0000, 0x08C7, 0x00E9, 0x0000, + 0x0000, 0x1082, 0x0841, 0x0000, 0x1062, 0x1062, 0x0862, 0x0821, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0020, 0x0020, 0x18C4, 0x0020, 0x0000, 0x0000, 0x0109, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x18C1, + 0xB506, 0xB507, 0x4A23, 0x3A44, 0x95A8, 0x3A23, 0xBC86, 0xBC86, 0x1820, 0xBB24, 0xCB63, 0x71C3, + 0x0800, 0x3800, 0xA041, 0x8020, 0xA000, 0x8820, 0x0800, 0x0001, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0864, 0x0864, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0002, 0x0002, 0x00A6, 0x0A4F, 0x08C6, 0x0022, 0x0023, 0x08A6, 0x0001, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0844, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0023, + 0x0046, 0x0046, 0x0046, 0x0046, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, 0x0023, 0x0864, 0x0044, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x224D, + 0x0043, 0x0043, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0043, 0x0043, 0x0045, 0x0045, 0x092A, 0x0086, + 0x0065, 0x0045, 0x0067, 0x1190, 0x1298, 0x01F7, 0x0218, 0x02BA, 0x1B39, 0x00AA, 0x0044, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, 0x0023, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0046, 0x2213, 0x0024, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0023, 0x19EE, 0x19CD, 0x0087, 0x09CD, 0x1A90, 0x0045, 0x0045, 0x0046, 0x0046, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0042, 0x10E7, 0x0842, 0x0841, 0x0841, 0x0842, 0x0842, + 0x0862, 0x0862, 0x0862, 0x0882, 0x1082, 0x1082, 0x10A3, 0x1083, 0x1083, 0x1083, 0x1083, 0x1082, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0861, 0x0861, 0x0842, 0x0861, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0861, 0x0861, 0x0882, 0x0882, 0x0882, 0x0882, + 0x1082, 0x0863, 0x0042, 0x0000, 0x0000, 0x00C7, 0x00E9, 0x0000, 0x0000, 0x0882, 0x0842, 0x0000, + 0x0862, 0x0862, 0x0862, 0x0821, 0x0000, 0x0021, 0x0021, 0x0021, 0x0020, 0x0020, 0x18C4, 0x0020, + 0x0000, 0x0000, 0x0909, 0x08A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0800, 0x0800, 0x0800, 0x1820, 0x1800, 0x1000, 0x0800, 0x0800, 0x1000, 0x1000, + 0x1000, 0x0800, 0x0001, 0x0001, 0x0065, 0x0000, 0x0000, 0x0000, 0x0864, 0x0864, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0002, + 0x0024, 0x09ED, 0x09AB, 0x0023, 0x1108, 0x1949, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0022, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0046, 0x0046, 0x0046, 0x0046, + 0x0064, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0023, 0x0023, 0x0044, 0x0044, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x2A4D, 0x0043, 0x0043, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0043, 0x0043, 0x0045, 0x0045, 0x112A, 0x00A9, 0x0088, 0x00AA, 0x1A34, 0x1299, + 0x01B6, 0x01B6, 0x01B6, 0x0218, 0x02FB, 0x1233, 0x0066, 0x0044, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0044, 0x0044, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0023, 0x112D, 0x112C, 0x0002, 0x0001, 0x0001, 0x0000, 0x0000, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0023, 0x0045, 0x0087, 0x0087, + 0x0AD2, 0x094A, 0x0045, 0x0045, 0x0046, 0x0046, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0042, 0x10E7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0042, 0x0000, + 0x0000, 0x00C7, 0x00E9, 0x0000, 0x0000, 0x0862, 0x0842, 0x0000, 0x0862, 0x0862, 0x0862, 0x0021, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0841, 0x0841, 0x18E4, 0x0000, 0x0000, 0x0000, 0x0109, 0x00A6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0800, 0x0800, 0x0000, 0x1040, 0x59A1, 0x59A1, 0x28C1, 0x20A1, 0x5182, 0x28A1, 0x5962, 0x5962, + 0x1000, 0x6141, 0x6941, 0x40C1, 0x0800, 0x2000, 0x5000, 0x4000, 0x5800, 0x4800, 0x0000, 0x0000, + 0x0065, 0x0000, 0x0000, 0x0000, 0x0885, 0x0885, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0023, 0x0023, 0x0108, 0x0A4E, 0x0044, + 0x0065, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0022, + 0x0021, 0x0043, 0x0045, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0844, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0045, 0x0045, 0x0045, 0x0045, 0x0066, 0x0043, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0044, 0x0044, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x2A4D, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0045, 0x0045, 0x00A8, 0x098F, 0x09B1, 0x1B19, 0x0A58, 0x01B5, 0x0174, 0x0174, 0x0194, 0x01B5, + 0x0237, 0x0AFA, 0x092C, 0x0044, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, + 0x0864, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0025, 0x2213, 0x0004, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0024, 0x08E9, 0x0045, 0x0066, 0x0045, 0x0024, 0x0024, 0x0002, + 0x0001, 0x0001, 0x0002, 0x0002, 0x0044, 0x0044, 0x0065, 0x092B, 0x1313, 0x0065, 0x0045, 0x0045, + 0x0025, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0043, 0x10E7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x0042, 0x0000, 0x0000, 0x00C7, 0x00E9, 0x0000, + 0x0000, 0x0862, 0x10A3, 0x0020, 0x0862, 0x0862, 0x0862, 0x0021, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0841, 0x0841, 0x18E4, 0x0000, 0x0000, 0x0000, 0x0109, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, 0x0800, 0x30A1, + 0xF464, 0xFC63, 0x7A23, 0x71E2, 0xEC63, 0x71C2, 0xE3C3, 0xE3A3, 0x2820, 0xEB43, 0xF342, 0x91E2, + 0x0800, 0x4000, 0xD021, 0xB020, 0xD000, 0xB800, 0x0000, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, + 0x0885, 0x0885, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0002, 0x0023, 0x0023, 0x0045, 0x0A0D, 0x0908, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x00C7, 0x1AF3, 0x094B, 0x2BD8, 0x34BC, 0x220D, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0042, 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0023, 0x0045, 0x0045, 0x0045, 0x0045, 0x08A6, 0x0043, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0044, 0x0043, 0x0043, 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x2A4D, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0045, 0x0045, 0x090C, 0x23BB, + 0x141D, 0x0299, 0x01B5, 0x0173, 0x0152, 0x0152, 0x0152, 0x0194, 0x01B4, 0x0237, 0x1296, 0x0087, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0885, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x112D, 0x10E9, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x224E, 0x2B97, 0x090B, 0x2BF8, 0x12F5, 0x08EA, 0x0046, 0x0024, 0x0001, 0x0001, 0x0002, 0x0023, + 0x0044, 0x0044, 0x0045, 0x0A91, 0x120E, 0x0045, 0x0045, 0x0045, 0x0023, 0x0023, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0063, 0x10E7, 0x0000, 0x0000, 0x08C4, 0x226C, 0x1146, + 0x1105, 0x19A7, 0x2391, 0x33D2, 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0863, 0x330E, 0x19E9, 0x2BF3, 0x21E9, 0x0000, 0x1967, 0x3C33, + 0x1105, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x222A, 0x11A8, 0x0905, 0x1A09, 0x0000, 0x0000, + 0x0000, 0x0863, 0x0042, 0x0000, 0x0000, 0x00C7, 0x00E9, 0x0000, 0x0000, 0x0862, 0x10A3, 0x0021, + 0x0862, 0x0862, 0x0862, 0x0021, 0x0000, 0x0000, 0x0021, 0x0021, 0x0020, 0x0862, 0x20E4, 0x0000, + 0x0000, 0x0000, 0x00E9, 0x0086, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, 0x0800, 0x3081, 0xF443, 0xF443, 0x79E2, 0x79E2, + 0xEC63, 0x71E2, 0xE383, 0xE383, 0x2820, 0xEB23, 0xF322, 0x89C2, 0x0800, 0x3800, 0xC820, 0xB000, + 0xD800, 0xB800, 0x0800, 0x0000, 0x0065, 0x0000, 0x0000, 0x0000, 0x08A5, 0x08A5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0023, 0x0023, 0x094A, 0x09CC, 0x0022, 0x0022, 0x0022, 0x0023, 0x0000, 0x0000, 0x0000, 0x0002, + 0x08C8, 0x08C8, 0x2396, 0x1B14, 0x1B76, 0x2BD9, 0x1316, 0x00C7, 0x0001, 0x0001, 0x0020, 0x18E4, + 0x2105, 0x18E4, 0x10C4, 0x10C4, 0x0883, 0x0863, 0x0863, 0x0863, 0x0883, 0x0883, 0x0883, 0x0883, + 0x0883, 0x0883, 0x0883, 0x0883, 0x0884, 0x0884, 0x0884, 0x0884, 0x0884, 0x0886, 0x08A7, 0x0085, + 0x0085, 0x08A6, 0x08A5, 0x0042, 0x0042, 0x0042, 0x0043, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0043, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0043, + 0x0044, 0x0064, 0x0044, 0x0044, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0023, 0x0022, 0x0042, 0x0042, 0x0042, 0x0042, 0x0043, 0x21EB, 0x0043, 0x0043, 0x0043, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x08C8, 0x19F1, 0x1275, 0x1338, 0x031A, 0x0298, 0x0172, 0x0151, + 0x0130, 0x012F, 0x012F, 0x014F, 0x0170, 0x0192, 0x01F3, 0x114C, 0x0043, 0x0043, 0x0042, 0x0042, + 0x0863, 0x0863, 0x08A4, 0x0063, 0x0863, 0x0863, 0x0863, 0x0863, 0x0863, 0x0863, 0x0842, 0x0842, + 0x0862, 0x0862, 0x0863, 0x0863, 0x0863, 0x0862, 0x0882, 0x0883, 0x0883, 0x0883, 0x0883, 0x08A4, + 0x21CE, 0x18E6, 0x2105, 0x2125, 0x2105, 0x0842, 0x0001, 0x0023, 0x00A9, 0x2316, 0x00AA, 0x010C, + 0x1BB7, 0x1231, 0x245B, 0x2334, 0x0021, 0x0021, 0x0022, 0x114A, 0x0066, 0x0066, 0x00E9, 0x1355, + 0x08C8, 0x0045, 0x0025, 0x0025, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0883, 0x10E7, 0x0000, 0x0000, 0x2ACE, 0x2C13, 0x19CA, 0x1988, 0x0041, 0x22AD, 0x0926, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x21C8, 0x3BF4, 0x2B0F, 0x1ACE, 0x0063, 0x0000, 0x2A4B, 0x0947, 0x330E, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x22EE, 0x2413, 0x232F, 0x22EE, 0x0000, 0x0000, 0x0000, 0x0863, 0x0842, 0x0000, + 0x0000, 0x08C7, 0x00E9, 0x0000, 0x0000, 0x0861, 0x18C4, 0x0841, 0x0842, 0x0842, 0x0862, 0x0841, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0020, 0x0862, 0x20E4, 0x0000, 0x0000, 0x0000, 0x00E9, 0x0085, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0800, 0x0800, 0x0800, 0x3081, 0xF443, 0xF443, 0x79E2, 0x69C2, 0xEC23, 0x71E2, 0xE383, 0xDB43, + 0x2800, 0xE2E2, 0xEB01, 0x8182, 0x0800, 0x3800, 0xC820, 0xB000, 0xD000, 0xB800, 0x0800, 0x0001, + 0x0085, 0x0000, 0x0000, 0x0000, 0x08A5, 0x08A5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0023, 0x0023, 0x0086, 0x0A0E, + 0x00A6, 0x0022, 0x08A6, 0x1107, 0x0000, 0x0000, 0x0002, 0x0908, 0x23D8, 0x2C39, 0x19EF, 0x1211, + 0x1335, 0x1B76, 0x1317, 0x1A50, 0x0001, 0x39C8, 0x6B4E, 0x9CF4, 0x9CF5, 0x8C94, 0x7C54, 0x6C13, + 0x5BB3, 0x5372, 0x5352, 0x5352, 0x4B52, 0x4B52, 0x4B32, 0x4B32, 0x3AF0, 0x3AF0, 0x328F, 0x328F, + 0x326E, 0x326E, 0x324D, 0x324D, 0x324D, 0x324D, 0x324D, 0x2A4D, 0x2A2C, 0x2A2C, 0x2A2C, 0x2A0C, + 0x2A0B, 0x220B, 0x2A0B, 0x2A2C, 0x2A2C, 0x2A2C, 0x2A4C, 0x2A4C, 0x324C, 0x324C, 0x324C, 0x324C, + 0x2A0B, 0x2A0B, 0x21CB, 0x21CB, 0x21CA, 0x21CA, 0x21CB, 0x21CB, 0x118A, 0x118A, 0x118A, 0x198A, + 0x19AA, 0x19AA, 0x19AB, 0x19AA, 0x198A, 0x19AA, 0x198A, 0x198A, 0x1169, 0x1169, 0x1149, 0x1169, + 0x1149, 0x1149, 0x1969, 0x1969, 0x1169, 0x1169, 0x1169, 0x1169, 0x11AA, 0x11AA, 0x19EB, 0x2A4C, + 0x328D, 0x326D, 0x326D, 0x326D, 0x324C, 0x2A0B, 0x29EB, 0x21CB, 0x19CB, 0x19CB, 0x19AB, 0x19AB, + 0x19AC, 0x19AC, 0x220E, 0x2A4F, 0x32B0, 0x3AD1, 0x326F, 0x326F, 0x2A2E, 0x2A2E, 0x2A0D, 0x2A0D, + 0x21EC, 0x19CC, 0x19AB, 0x198A, 0x1989, 0x1989, 0x1969, 0x1969, 0x1969, 0x1969, 0x1989, 0x1989, + 0x1989, 0x1989, 0x21AA, 0x21AA, 0x21CA, 0x21CA, 0x21CB, 0x21CB, 0x21CB, 0x21CB, 0x29CB, 0x29CB, + 0x29EC, 0x29EC, 0x322B, 0x322B, 0x324C, 0x324C, 0x3A6D, 0x42CF, 0x5B71, 0x7C33, 0x8C93, 0x9D14, + 0x9D15, 0x4A6B, 0x2146, 0x0023, 0x0047, 0x22F5, 0x0089, 0x22D4, 0x23D9, 0x12D4, 0x12B4, 0x098C, + 0x0021, 0x0021, 0x0022, 0x0909, 0x19EE, 0x0066, 0x0A2F, 0x12B2, 0x0045, 0x0045, 0x0025, 0x0025, + 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x10C7, 0x0000, + 0x0000, 0x33D3, 0x23D3, 0x1A4D, 0x19A9, 0x0041, 0x226C, 0x1126, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3B91, 0x228D, 0x2392, + 0x22CE, 0x0000, 0x0021, 0x4433, 0x1105, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x22EE, 0x2496, + 0x2C96, 0x332F, 0x0000, 0x0000, 0x0000, 0x0863, 0x0842, 0x0000, 0x0000, 0x00C7, 0x010A, 0x0000, + 0x0000, 0x0862, 0x18C4, 0x0841, 0x0842, 0x0842, 0x0862, 0x0021, 0x0000, 0x0021, 0x0041, 0x0041, + 0x0020, 0x1082, 0x18E4, 0x0000, 0x0000, 0x0000, 0x00E9, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0063, 0x21EA, 0x1168, 0x2AF0, 0x0043, 0x330F, 0x08C4, 0x0000, 0x0800, 0x0800, 0x0800, 0x1840, + 0x81A2, 0x81A2, 0x38A1, 0x30A1, 0x7982, 0x3881, 0x7962, 0x7962, 0x1800, 0x7901, 0x8921, 0x48A1, + 0x0000, 0x2000, 0x8020, 0x6800, 0x8820, 0x7020, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, + 0x10C5, 0x10C5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0002, 0x0023, 0x09AC, 0x098B, 0x0023, 0x10C6, 0x0002, + 0x0000, 0x0000, 0x0001, 0x198A, 0x1A10, 0x23F8, 0x00CA, 0x1B98, 0x00EB, 0x19D0, 0x0170, 0x1A72, + 0x422A, 0x738F, 0x7BD0, 0x7BD0, 0x6B8E, 0x634E, 0x6C14, 0x6416, 0x855A, 0x7D5B, 0x7D3B, 0x7D3B, + 0x751B, 0x7D1A, 0x7D3A, 0x7D1A, 0x74D9, 0x74D9, 0x6C98, 0x6436, 0x5BF4, 0x5BF4, 0x5BD4, 0x5BD4, + 0x5BD4, 0x5BD4, 0x5BD4, 0x5BD4, 0x5BF4, 0x5BF4, 0x6414, 0x6414, 0x7476, 0x7CB7, 0x8D19, 0x959A, + 0xB65D, 0xD71F, 0xE77F, 0xEFBF, 0xF7DF, 0xF7DF, 0xF7DF, 0xF7DF, 0xEFBF, 0xE77F, 0xCF1F, 0xBE9E, + 0xAE3D, 0xA5FC, 0x9DBB, 0x8D5A, 0x7CF8, 0x6C77, 0x6436, 0x6415, 0x5C15, 0x5BF4, 0x53D4, 0x53D4, + 0x53B4, 0x53B4, 0x53B3, 0x53B3, 0x4B92, 0x4331, 0x4331, 0x4B51, 0x4B51, 0x4B51, 0x4B51, 0x4B51, + 0x4B52, 0x4B52, 0x5393, 0x53F4, 0x6CB7, 0x95DB, 0xBEBE, 0xEFBF, 0xF7DF, 0xF7DF, 0xFFFF, 0xFFFF, + 0xF7DF, 0xF7DF, 0xF7BF, 0xE79F, 0xDF5F, 0xCEFE, 0xBEBE, 0xBEBE, 0xC6BE, 0xD73F, 0xEF9F, 0xEF9F, + 0xF7DF, 0xF7DF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BF, 0xE77E, 0xD6FD, 0xADDA, + 0x5330, 0x42AF, 0x3A6E, 0x3A6E, 0x326D, 0x326D, 0x324D, 0x324D, 0x324D, 0x324D, 0x324D, 0x324D, + 0x326E, 0x326E, 0x326E, 0x326E, 0x3A8E, 0x3A8E, 0x3AAF, 0x3AAF, 0x42F0, 0x4311, 0x4B52, 0x4B73, + 0x53B4, 0x6416, 0x6C77, 0x74D8, 0x7CF8, 0x8D17, 0x7BF0, 0x8430, 0x8431, 0x52CC, 0x3209, 0x1906, + 0x0067, 0x22D5, 0x1A10, 0x010D, 0x2377, 0x0A52, 0x1378, 0x11EE, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0066, 0x00A7, 0x0B34, 0x096A, 0x0045, 0x0045, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0884, 0x10C6, 0x0000, 0x0021, 0x44B6, 0x3455, 0x2BD3, + 0x1A4C, 0x10E6, 0x228D, 0x1126, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4391, 0x2A6C, 0x0969, 0x2B50, 0x1105, 0x330E, 0x22EF, + 0x0062, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2AAD, 0x2C34, 0x34D6, 0x3B0E, 0x0000, 0x0000, + 0x0000, 0x0863, 0x0842, 0x0000, 0x0000, 0x08E8, 0x090A, 0x0000, 0x0000, 0x0861, 0x18E4, 0x0841, + 0x0882, 0x0882, 0x0862, 0x0021, 0x0000, 0x0021, 0x0041, 0x0041, 0x0020, 0x1082, 0x18E4, 0x0000, + 0x0000, 0x0000, 0x0109, 0x0085, 0x0000, 0x0000, 0x0000, 0x0000, 0x21EA, 0x22B1, 0x2BB4, 0x1AD0, + 0x33B3, 0x19EC, 0x2B50, 0x0000, 0x0800, 0x0800, 0x0800, 0x2820, 0xD1C2, 0xE1C1, 0x70E1, 0x60E1, + 0xC9E3, 0x60C1, 0xB941, 0xB921, 0x2800, 0xB881, 0xC840, 0x7061, 0x0000, 0x3000, 0xB820, 0xA020, + 0xC000, 0x9820, 0x0000, 0x0000, 0x0085, 0x0000, 0x0000, 0x0000, 0x10C5, 0x10C5, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0023, 0x08E8, 0x0A0D, 0x0065, 0x0002, 0x0002, 0x0000, 0x0000, 0x0001, 0x0023, + 0x120F, 0x1AB3, 0x11F0, 0x1B78, 0x22F6, 0x11AE, 0x2378, 0x29EC, 0x6BB0, 0x39E8, 0x0000, 0x0000, + 0x0000, 0x0000, 0x08A7, 0x00C8, 0x198C, 0x198C, 0x198B, 0x198B, 0x116A, 0x08A4, 0x0042, 0x0042, + 0x0021, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0841, 0x0841, 0x0841, 0x0041, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0021, 0x0041, 0x0861, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x0861, 0x0861, 0x0841, + 0x0841, 0x0041, 0x0021, 0x0021, 0x0021, 0x0041, 0x0841, 0x0882, 0x10A2, 0x18C3, 0x18C3, 0x18C3, + 0x10A2, 0x10A2, 0x1082, 0x0861, 0x0841, 0x0020, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0001, 0x0021, 0x0043, 0x08A6, 0x1129, 0x114A, 0x116A, 0x116B, 0x198B, + 0x198C, 0x196A, 0x0000, 0x0000, 0x0000, 0x0000, 0x10E4, 0x2988, 0x08A6, 0x112A, 0x1A10, 0x2BFA, + 0x22D4, 0x1A71, 0x09AF, 0x1AB2, 0x0022, 0x0022, 0x0023, 0x0023, 0x0045, 0x098C, 0x1333, 0x0066, + 0x0045, 0x0045, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x08A4, 0x10C6, 0x0000, 0x0883, 0x1967, 0x0063, 0x2A2B, 0x32CE, 0x328C, 0x1967, 0x0883, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x29E9, 0x1967, 0x3B4F, 0x08C4, 0x29C8, 0x2A8B, 0x3B4F, 0x21A7, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1967, 0x1146, 0x1187, 0x2187, 0x0000, 0x0000, 0x0000, 0x0863, 0x0042, 0x0000, + 0x0000, 0x08E8, 0x090A, 0x0000, 0x0000, 0x0861, 0x18E4, 0x0861, 0x0882, 0x0882, 0x0862, 0x0021, + 0x0000, 0x0021, 0x0841, 0x0841, 0x0020, 0x10A3, 0x18E4, 0x0000, 0x0000, 0x0000, 0x0109, 0x00A6, + 0x0000, 0x0000, 0x2147, 0x29EB, 0x0063, 0x2AD0, 0x2394, 0x120C, 0x3C77, 0x0948, 0x3351, 0x0000, + 0x0800, 0x0800, 0x0800, 0x2820, 0xE180, 0xE180, 0x68A1, 0x68A1, 0xD9C2, 0x68A1, 0xC121, 0xC121, + 0x2000, 0xC860, 0xD040, 0x7820, 0x0000, 0x3000, 0xC000, 0xA800, 0xD000, 0xA800, 0x0800, 0x0001, + 0x0086, 0x0000, 0x0000, 0x0000, 0x1906, 0x10A5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0024, 0x0024, + 0x09EC, 0x0949, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0022, 0x2419, 0x23F9, 0x22B3, 0x1A72, + 0x090A, 0x0044, 0x0045, 0x4A8C, 0x4AAB, 0x0000, 0x0000, 0x0063, 0x00A7, 0x00C8, 0x00C8, 0x00C8, + 0x00A8, 0x08A8, 0x0087, 0x0087, 0x0886, 0x0001, 0x0020, 0x0020, 0x0020, 0x0020, 0x0821, 0x0841, + 0x0841, 0x0821, 0x0821, 0x0821, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0861, 0x0861, + 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0841, 0x0841, 0x0020, 0x0020, 0x0841, 0x0841, + 0x0841, 0x0841, 0x0841, 0x0841, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, + 0x0861, 0x0861, 0x0861, 0x0862, 0x0862, 0x0862, 0x0861, 0x0861, 0x0862, 0x0862, 0x1062, 0x0861, + 0x0861, 0x0861, 0x0861, 0x0861, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x0862, 0x0841, 0x0841, + 0x0841, 0x0841, 0x0841, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, + 0x0841, 0x0841, 0x0841, 0x0000, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, + 0x0841, 0x0841, 0x0020, 0x0020, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0021, 0x0021, 0x0043, 0x0045, 0x0045, 0x0045, 0x0066, 0x0066, 0x0087, 0x0086, 0x0065, 0x0085, + 0x0044, 0x0001, 0x0001, 0x1905, 0x10E6, 0x0024, 0x0045, 0x00A8, 0x0067, 0x2314, 0x2C5B, 0x094B, + 0x0044, 0x0044, 0x0043, 0x0045, 0x0045, 0x12F3, 0x11CD, 0x0045, 0x0045, 0x0045, 0x0024, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x10C6, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x1082, 0x1082, 0x1082, 0x1082, + 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x0882, 0x0882, + 0x0882, 0x0882, 0x0862, 0x0862, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, + 0x0861, 0x0861, 0x0861, 0x0861, 0x1082, 0x0863, 0x0862, 0x0000, 0x0000, 0x0909, 0x096C, 0x0000, + 0x0000, 0x0861, 0x2125, 0x0861, 0x1082, 0x1082, 0x0862, 0x0021, 0x0000, 0x0021, 0x0841, 0x0841, + 0x0021, 0x10A3, 0x18E4, 0x0000, 0x0000, 0x0000, 0x0109, 0x00A6, 0x0000, 0x0000, 0x0883, 0x08C4, + 0x0063, 0x32D0, 0x33B5, 0x22B0, 0x33D4, 0x122E, 0x3351, 0x0000, 0x0800, 0x0800, 0x0800, 0x2820, + 0xE180, 0xE180, 0x68A1, 0x68A1, 0xD9C2, 0x68A1, 0xC121, 0xC121, 0x2800, 0xC860, 0xD040, 0x7020, + 0x0000, 0x3000, 0xC820, 0xA800, 0xC800, 0xA800, 0x0800, 0x0001, 0x00A6, 0x0000, 0x0000, 0x0000, + 0x1906, 0x10A4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0024, 0x0024, 0x0929, 0x09EC, 0x0002, 0x0002, + 0x0001, 0x1107, 0x0863, 0x0022, 0x2BF8, 0x122F, 0x0045, 0x0022, 0x0022, 0x0002, 0x1926, 0x428B, + 0x0862, 0x0000, 0x00A7, 0x3AB0, 0x6C15, 0x1108, 0x08A6, 0x08A6, 0x0885, 0x0885, 0x0864, 0x0064, + 0x0043, 0x0021, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0841, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0841, 0x0841, 0x0020, 0x0020, 0x0000, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0021, 0x0021, 0x0842, + 0x0842, 0x0843, 0x0843, 0x0863, 0x0884, 0x0884, 0x10C6, 0x42AE, 0x19AB, 0x0085, 0x0001, 0x0001, + 0x10E5, 0x0065, 0x0023, 0x0023, 0x0024, 0x0045, 0x0087, 0x0023, 0x0044, 0x224E, 0x0086, 0x0045, + 0x096B, 0x1375, 0x0087, 0x0045, 0x0045, 0x0045, 0x0023, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0884, 0x08C6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0863, 0x0863, 0x0000, 0x0000, 0x0909, 0x096C, 0x0000, 0x0000, 0x0861, 0x2125, 0x0861, + 0x1082, 0x1082, 0x0862, 0x0021, 0x0000, 0x0021, 0x0841, 0x0841, 0x0021, 0x18C3, 0x18E4, 0x0000, + 0x0000, 0x0000, 0x012A, 0x00A6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x21C9, 0x1989, 0x2AEF, + 0x0062, 0x3392, 0x1105, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x5881, 0x5881, 0x2840, 0x2840, + 0x60A1, 0x3041, 0x5061, 0x5061, 0x0800, 0x5821, 0x6020, 0x3020, 0x0000, 0x1000, 0x5000, 0x3820, + 0x5800, 0x4000, 0x0000, 0x0021, 0x00A6, 0x0000, 0x0000, 0x0000, 0x1927, 0x08A4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0024, 0x0024, 0x0045, 0x09CC, 0x08E7, 0x0022, 0x1108, 0x1128, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x29C9, 0x1905, 0x0000, 0x0084, 0x19ED, 0x6BD1, + 0x0841, 0x0000, 0x0000, 0x0000, 0x0001, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, + 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0022, 0x0022, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x1906, 0x00A6, 0x0044, 0x0000, 0x0842, 0x08A6, 0x0022, 0x0022, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0023, 0x0086, 0x19ED, 0x0087, 0x12F3, 0x1250, 0x0045, 0x0045, + 0x0066, 0x0025, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0884, 0x08C6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x0863, 0x0000, + 0x0000, 0x094A, 0x09AD, 0x0000, 0x0000, 0x0861, 0x2966, 0x0862, 0x0883, 0x0883, 0x0862, 0x0021, + 0x0000, 0x0021, 0x0841, 0x0841, 0x0021, 0x18C3, 0x18C4, 0x0000, 0x0000, 0x0000, 0x012A, 0x00C6, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, + 0x00A6, 0x0000, 0x0000, 0x0000, 0x1927, 0x08A4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0024, 0x0024, + 0x0024, 0x0909, 0x098B, 0x0065, 0x08A5, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0021, 0x10E5, 0x2167, 0x0000, 0x0021, 0x0909, 0x1969, 0x0021, 0x0021, 0x0021, 0x0022, 0x0064, + 0x4B0F, 0x6C53, 0x6C53, 0x6C53, 0x6432, 0x6432, 0x6C32, 0x5BB1, 0x1126, 0x0063, 0x0043, 0x0043, + 0x0043, 0x0042, 0x08A4, 0x63D1, 0x7494, 0x7474, 0x7474, 0x7474, 0x6C12, 0x08E6, 0x0063, 0x0063, + 0x0063, 0x0063, 0x0064, 0x1947, 0x6C12, 0x6C12, 0x7473, 0x7CB4, 0x7CB3, 0x7C94, 0x7C94, 0x7C94, + 0x08C5, 0x1947, 0x84F5, 0x84F5, 0x84B4, 0x0063, 0x0022, 0x0022, 0x0022, 0x5B6F, 0x7494, 0x7494, + 0x534F, 0x0085, 0x7473, 0x84F6, 0x84F5, 0x84F5, 0x84F5, 0x84D4, 0x84D4, 0x84D4, 0x84F5, 0x84D5, + 0x18E5, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2187, 0x8CF6, 0x84F5, 0x84F5, + 0x84D5, 0x84D5, 0x7CB4, 0x7CB4, 0x7C93, 0x2167, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, + 0x3AAD, 0x8537, 0x8517, 0x8517, 0x1947, 0x0042, 0x0022, 0x0022, 0x0042, 0x08A4, 0x7CD6, 0x7CD6, + 0x74B6, 0x5B91, 0x6C75, 0x6C34, 0x6412, 0x63B1, 0x10E5, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x2167, 0x7454, 0x7475, 0x7454, 0x2167, 0x0000, 0x0000, 0x0000, 0x0000, 0x4AEE, 0x5BB2, + 0x5BB2, 0x4B30, 0x5BD2, 0x5BD2, 0x5BD2, 0x4B0F, 0x0043, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0022, 0x0065, 0x0021, 0x0000, 0x08A4, 0x08A4, 0x0022, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0045, 0x098B, 0x13D6, 0x00C8, 0x0045, 0x0045, 0x0025, 0x0023, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x08A6, 0x0000, + 0x0000, 0x0883, 0x1146, 0x08A4, 0x1126, 0x0063, 0x10C4, 0x08A4, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1946, 0x08A3, + 0x0000, 0x0000, 0x1126, 0x08A4, 0x0000, 0x0000, 0x0000, 0x1104, 0x0000, 0x0883, 0x0000, 0x1083, + 0x0021, 0x1967, 0x0000, 0x0000, 0x0000, 0x0883, 0x0863, 0x0000, 0x0000, 0x094A, 0x09AD, 0x0000, + 0x0000, 0x0862, 0x2966, 0x1082, 0x0883, 0x0883, 0x0862, 0x0021, 0x0000, 0x0021, 0x0841, 0x0841, + 0x0021, 0x18E4, 0x18C4, 0x0000, 0x0000, 0x0000, 0x014B, 0x00C7, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x21AA, 0x0000, 0x0000, 0x0000, + 0x2147, 0x0883, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0024, 0x0024, 0x0024, 0x096B, 0x08C6, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0042, 0x2188, 0x0842, 0x0000, + 0x08A6, 0x08E8, 0x0021, 0x0021, 0x0021, 0x0021, 0x0042, 0x00A5, 0x6496, 0x8E9E, 0x8E7E, 0x759A, + 0x7E1C, 0x75DC, 0x75DC, 0x85FC, 0x963B, 0x220A, 0x00A5, 0x0064, 0x0063, 0x1147, 0x8DDA, 0x96BF, + 0x869F, 0x7DFC, 0x8EBF, 0x86BF, 0x96BE, 0x95FA, 0x1147, 0x0085, 0x0084, 0x00A6, 0x2A2B, 0xA6BD, + 0x96DF, 0x8E9E, 0x865E, 0x7E5C, 0x8EFF, 0x8EFE, 0x96FF, 0xA71F, 0x00C6, 0x220A, 0xAF7F, 0xA77F, + 0x965B, 0x0084, 0x0022, 0x0022, 0x0022, 0x7516, 0x8EDE, 0x8EDE, 0x5C54, 0x00A6, 0x969C, 0xA75F, + 0xA77F, 0x865B, 0x971E, 0x971E, 0x971E, 0x96FE, 0x8EFE, 0x9F3F, 0x1947, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x2A0B, 0xAF3F, 0x9EFE, 0x8E5C, 0x96BD, 0x96DF, 0x96DE, 0x96DE, + 0x9EDE, 0xA6BD, 0x322B, 0x0063, 0x0043, 0x0043, 0x0063, 0x0063, 0x1988, 0xB77F, 0xAF7F, 0xAF7F, + 0x3AAD, 0x0064, 0x0043, 0x0043, 0x0043, 0x1107, 0x969E, 0x8E7E, 0x8E9E, 0x64F8, 0x7E1D, 0x7DDC, + 0x7D9B, 0x7D9B, 0x95DC, 0x320B, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x10C6, 0x74D8, 0x74D8, + 0x74D8, 0x42AE, 0x0022, 0x0022, 0x0000, 0x0022, 0x4B92, 0x5415, 0x4BF5, 0x43B4, 0x43F5, 0x43F5, + 0x43D4, 0x5415, 0x6C96, 0x08A4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0044, + 0x0000, 0x0021, 0x10E6, 0x0042, 0x0001, 0x0001, 0x0023, 0x0023, 0x0024, 0x0024, 0x0045, 0x12F3, + 0x1290, 0x0045, 0x0024, 0x0024, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x08A6, 0x0000, 0x0001, 0x3C55, 0x3455, 0x33F4, + 0x2C14, 0x3435, 0x4434, 0x3B91, 0x224B, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1106, 0x3C13, 0x3BD2, 0x0000, 0x0883, 0x3C34, 0x3C74, + 0x0020, 0x0020, 0x08A4, 0x3CF7, 0x0042, 0x34B6, 0x0021, 0x32AD, 0x3351, 0x2B30, 0x2AAD, 0x0000, + 0x0000, 0x0883, 0x0863, 0x0000, 0x0000, 0x094A, 0x09EE, 0x0000, 0x0000, 0x0862, 0x3187, 0x1082, + 0x0883, 0x0883, 0x0842, 0x0021, 0x0000, 0x0021, 0x0841, 0x0841, 0x0021, 0x18E4, 0x18C4, 0x0000, + 0x0000, 0x0000, 0x014B, 0x00C7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2188, 0x0863, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0002, 0x0002, 0x0024, 0x0024, 0x08E8, 0x096A, 0x0001, 0x0001, 0x0001, 0x0863, + 0x0000, 0x0000, 0x0000, 0x0000, 0x10E5, 0x10E5, 0x0000, 0x0043, 0x00C8, 0x0044, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0042, 0x00A6, 0x64F7, 0x86DE, 0x86DF, 0x75BB, 0x7E3E, 0x7E1C, 0x75DC, 0x75DC, + 0x75FD, 0x965D, 0x1189, 0x00A5, 0x1147, 0x8E3B, 0x767F, 0x767F, 0x769F, 0x6DFD, 0x86BF, 0x86BF, + 0x767F, 0x86BF, 0x85DA, 0x00E7, 0x00A6, 0x222B, 0x96DE, 0x86BF, 0x7E9F, 0x7E9F, 0x6DFC, 0x769E, + 0x7EFF, 0x7EFF, 0x86FF, 0x96FF, 0x0085, 0x224B, 0xA77F, 0x9F7F, 0x863A, 0x0063, 0x0022, 0x0022, + 0x0042, 0x7578, 0x8F3F, 0x8F3F, 0x4C33, 0x00A6, 0x96DD, 0x9F7F, 0x9F7F, 0x7E5B, 0x8F1F, 0x8F1F, + 0x8F3F, 0x8F3F, 0x8F3F, 0x9F5F, 0x08E5, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x2A0B, 0x9F5F, 0x975F, 0x867C, 0x96DF, 0x96DF, 0x8EBF, 0x8EBF, 0x86BE, 0x86BF, 0xA6DD, 0x1967, + 0x0043, 0x0043, 0x0063, 0x0063, 0x6432, 0x8E5B, 0xAF7F, 0xAF7F, 0x6CD5, 0x0085, 0x0043, 0x0043, + 0x0043, 0x1107, 0x9EFF, 0x8EDF, 0x96FF, 0x64F9, 0x7E1D, 0x7E1D, 0x7D9B, 0x7D9B, 0x759C, 0x95FC, + 0x2189, 0x0022, 0x0021, 0x0021, 0x0022, 0x5370, 0x6C76, 0x7D19, 0x7D19, 0x6C35, 0x0022, 0x0022, + 0x0022, 0x0022, 0x53B3, 0x5C56, 0x5456, 0x43D4, 0x43F5, 0x43F5, 0x43D4, 0x3B31, 0x3B52, 0x5BF4, + 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0044, 0x0021, 0x0000, 0x0084, 0x0084, + 0x0001, 0x0001, 0x0023, 0x10E7, 0x0024, 0x0024, 0x094A, 0x1395, 0x00C8, 0x0045, 0x0024, 0x0024, + 0x0002, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0883, 0x08A6, 0x0000, 0x0001, 0x3C55, 0x1ACF, 0x2310, 0x1A6E, 0x2C14, 0x3BD3, 0x0063, + 0x3B91, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x222B, 0x1A0A, 0x2B2F, 0x0001, 0x1147, 0x228C, 0x33B1, 0x0020, 0x0020, 0x10E4, 0x2D19, + 0x1AAD, 0x2CF8, 0x0021, 0x2A8D, 0x2351, 0x2351, 0x08E5, 0x0000, 0x0000, 0x0883, 0x0863, 0x0000, + 0x0000, 0x096A, 0x09EE, 0x0000, 0x0000, 0x0862, 0x31A7, 0x1082, 0x0883, 0x0883, 0x0842, 0x0021, + 0x0000, 0x0821, 0x0841, 0x1082, 0x0021, 0x1905, 0x18C4, 0x0000, 0x0000, 0x0001, 0x016C, 0x00C7, + 0x0000, 0x0000, 0x18E3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x5B4F, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, + 0x0045, 0x0045, 0x0045, 0x098B, 0x00C6, 0x0001, 0x10A4, 0x10A4, 0x0000, 0x0000, 0x0000, 0x0883, + 0x1105, 0x0000, 0x0001, 0x0086, 0x0065, 0x0023, 0x0021, 0x0021, 0x0022, 0x0022, 0x0043, 0x00A6, + 0x7598, 0xA77F, 0x9F7F, 0x54B6, 0x4415, 0x4415, 0x5497, 0x8E7F, 0x867F, 0x8E9F, 0x5414, 0x00E7, + 0x5C54, 0x8EFF, 0x7EBF, 0x7EBF, 0x54B7, 0x3B92, 0x43F3, 0x6D79, 0x8F1F, 0x8F1F, 0x8F3F, 0x3B2F, + 0x00C6, 0x861A, 0x871F, 0x871F, 0x86BE, 0x4C55, 0x3B71, 0x4414, 0x5D17, 0x6558, 0x6558, 0x64F6, + 0x0085, 0x328D, 0xA7BF, 0xA7BF, 0x8619, 0x0043, 0x0022, 0x0022, 0x0043, 0x85D9, 0x979F, 0x979F, + 0x5413, 0x00A7, 0xA77F, 0xA77F, 0xA79F, 0x5494, 0x54B5, 0x5496, 0x5475, 0x5475, 0x5474, 0x5C54, + 0x0063, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x2A4B, 0xA77F, 0x9F9F, 0x8E9C, + 0x5454, 0x5454, 0x5455, 0x759A, 0x971F, 0x971F, 0x9F1F, 0x5C33, 0x0063, 0x0063, 0x0063, 0x00C5, + 0x9E9D, 0x85D9, 0xAF9F, 0xAF9F, 0xA6DC, 0x00A6, 0x0063, 0x0063, 0x0043, 0x1168, 0x9F3F, 0x96FF, + 0x971F, 0x4392, 0x43D3, 0x43D3, 0x6CD8, 0x963E, 0x8E3E, 0x8E3E, 0x7D38, 0x0043, 0x0022, 0x0022, + 0x0043, 0x859A, 0x6CF9, 0x857B, 0x857B, 0x857B, 0x08A5, 0x0022, 0x0001, 0x0023, 0x53D4, 0x64B8, + 0x64B8, 0x3B31, 0x2A6E, 0x2A6E, 0x4331, 0x4B92, 0x32AE, 0x4352, 0x2169, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0044, 0x0065, 0x0000, 0x0000, 0x08A4, 0x0042, 0x0001, 0x0023, 0x0066, + 0x08C7, 0x0044, 0x12D1, 0x124F, 0x0045, 0x0045, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x08A5, 0x0000, + 0x0000, 0x1988, 0x23D3, 0x2C56, 0x23D2, 0x1A2B, 0x43D2, 0x0063, 0x3B91, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x220B, 0x1A0A, 0x2B30, + 0x0001, 0x1146, 0x226C, 0x33B1, 0x0000, 0x0000, 0x08E5, 0x2C96, 0x2CD7, 0x2454, 0x08C4, 0x2A2A, + 0x1147, 0x22CE, 0x3392, 0x0000, 0x0000, 0x0883, 0x0863, 0x0000, 0x0000, 0x096A, 0x0A0F, 0x0001, + 0x0000, 0x0862, 0x31A7, 0x0862, 0x10A3, 0x10A3, 0x0041, 0x0021, 0x0000, 0x0021, 0x0841, 0x1082, + 0x0021, 0x1905, 0x18C4, 0x0000, 0x0000, 0x0001, 0x016C, 0x08E7, 0x0000, 0x0020, 0xBDF7, 0x18E3, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5B0D, + 0x29A7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0045, 0x0024, 0x0024, 0x08C7, + 0x096A, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0021, 0x10E5, 0x0862, 0x0000, 0x0065, 0x0087, + 0x0023, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0043, 0x00A6, 0x6D79, 0x86BE, 0x7EBE, 0x228E, + 0x0129, 0x0129, 0x0149, 0x757A, 0x867F, 0x867F, 0x5414, 0x00E7, 0x7578, 0x973F, 0x8F1F, 0x4C75, + 0x0149, 0x0108, 0x0108, 0x0949, 0x869D, 0x8F1F, 0x8F3F, 0x4BD2, 0x00C7, 0x9F3F, 0x975F, 0x977F, + 0x3B70, 0x00E7, 0x00C6, 0x00E6, 0x00C6, 0x00C6, 0x00A6, 0x00A5, 0x0085, 0x3ACE, 0xA7BF, 0xA7BF, + 0x75B8, 0x0043, 0x0022, 0x0022, 0x0043, 0x861A, 0x979F, 0x979F, 0x43D2, 0x00C7, 0xA77F, 0xA77F, + 0x9F7F, 0x19EB, 0x00E7, 0x00E7, 0x00C7, 0x00A6, 0x0085, 0x0064, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x328C, 0x973F, 0x8F1F, 0x7E1B, 0x0108, 0x00E8, 0x0108, 0x0128, + 0x7DFB, 0x8EDF, 0x869E, 0x4BF3, 0x0063, 0x0063, 0x0084, 0x328C, 0x9EDF, 0x6D5A, 0x96FF, 0x96FF, + 0x9EFF, 0x21EB, 0x0063, 0x0063, 0x0043, 0x1168, 0x96FF, 0x86BF, 0x8EDF, 0x118A, 0x00C7, 0x00A6, + 0x00A6, 0x7D18, 0x967F, 0x9E7F, 0x7D7A, 0x0064, 0x0022, 0x0022, 0x1968, 0x8E5E, 0x5CFA, 0x755B, + 0x857B, 0x857B, 0x2A0C, 0x0023, 0x0021, 0x0023, 0x4353, 0x3B95, 0x3BB5, 0x220C, 0x0065, 0x0065, + 0x0086, 0x5393, 0x326D, 0x326E, 0x21AA, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, + 0x0065, 0x0043, 0x0000, 0x0042, 0x0884, 0x0042, 0x0023, 0x0023, 0x0044, 0x08E8, 0x1333, 0x00C8, + 0x0045, 0x0045, 0x0023, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0883, 0x08A6, 0x0000, 0x0021, 0x4C15, 0x3C35, 0x2B71, + 0x1126, 0x0021, 0x4455, 0x44B6, 0x21E9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08C4, 0x3C76, 0x3391, 0x322A, 0x08C5, 0x4CB6, 0x3C12, + 0x0000, 0x0000, 0x08A4, 0x3351, 0x3434, 0x2B91, 0x2A6B, 0x0883, 0x330E, 0x3C34, 0x2ACE, 0x0000, + 0x0000, 0x10A4, 0x0883, 0x0000, 0x0000, 0x11AB, 0x0A0F, 0x0000, 0x0000, 0x0862, 0x31A7, 0x0862, + 0x10A3, 0x10A3, 0x0021, 0x0021, 0x0000, 0x0021, 0x0021, 0x1082, 0x0021, 0x1905, 0x18E4, 0x0000, + 0x0000, 0x0000, 0x01AD, 0x096A, 0x0000, 0x0000, 0x3186, 0xB596, 0x39C7, 0x2945, 0x2945, 0x2945, + 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, + 0x2966, 0x2966, 0x2965, 0x2965, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x2965, + 0x2965, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, 0x5B0D, 0x5B0D, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0002, 0x0002, 0x0024, 0x0024, 0x096A, 0x08E7, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0884, 0x10C4, 0x0000, 0x0022, 0x0087, 0x0045, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0022, 0x0022, 0x0043, 0x0085, 0x5499, 0x44FB, 0x4D1B, 0x11CC, 0x00E8, 0x0108, 0x0149, 0x5CD8, + 0x5D9D, 0x559D, 0x3B72, 0x00C7, 0x861B, 0x971F, 0x971F, 0x3B71, 0x0084, 0x0084, 0x0084, 0x00A5, + 0x863B, 0x8F1F, 0x8F1F, 0x3B92, 0x0928, 0xA77F, 0x9F7F, 0x9F7F, 0x1A0B, 0x00A5, 0x00A5, 0x00A5, + 0x00A5, 0x00A5, 0x0085, 0x0085, 0x0085, 0x3AEE, 0x86DF, 0x769E, 0x5CD7, 0x0043, 0x0022, 0x0022, + 0x0063, 0x7DDB, 0x767E, 0x767E, 0x3B51, 0x0929, 0x7E7E, 0x7E7E, 0x869E, 0x11AB, 0x00E7, 0x00C7, + 0x00A6, 0x00A6, 0x0085, 0x0043, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x324C, 0x6D9C, 0x657B, 0x5CB7, 0x00A5, 0x00A5, 0x0085, 0x00A6, 0x6CF7, 0x6D5A, 0x651A, 0x3B31, + 0x0063, 0x0063, 0x00A4, 0x6475, 0x75FE, 0x6D9C, 0x5CFA, 0x6D9D, 0x6D9D, 0x4B93, 0x0085, 0x0043, + 0x0043, 0x1969, 0x6D7C, 0x5CFA, 0x6D5B, 0x08E8, 0x0043, 0x0043, 0x0044, 0x5392, 0x859B, 0x859B, + 0x6CB7, 0x0084, 0x0043, 0x0043, 0x5391, 0x653B, 0x5CFA, 0x43F7, 0x4C59, 0x4C59, 0x4B93, 0x0043, + 0x0022, 0x0022, 0x32D1, 0x2291, 0x22B1, 0x19AB, 0x0044, 0x0044, 0x0066, 0x4B52, 0x222D, 0x222D, + 0x21AA, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0065, 0x0001, 0x0000, + 0x0883, 0x0883, 0x0024, 0x0024, 0x0044, 0x0A0D, 0x0A0D, 0x0045, 0x0024, 0x0024, 0x0024, 0x0022, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0883, 0x08C7, 0x0000, 0x0000, 0x0042, 0x08A4, 0x0042, 0x0000, 0x0000, 0x0062, 0x0062, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0082, 0x0021, 0x0000, 0x0000, 0x0883, 0x0041, 0x0000, 0x0000, 0x0000, 0x0882, + 0x0021, 0x08A3, 0x1945, 0x0000, 0x0000, 0x08E5, 0x0000, 0x0000, 0x0000, 0x1906, 0x0863, 0x0000, + 0x0000, 0x3AD0, 0x09EE, 0x0000, 0x0000, 0x0862, 0x2987, 0x1082, 0x10A3, 0x4A49, 0x18C3, 0x0001, + 0x0000, 0x0021, 0x0021, 0x1082, 0x0021, 0x2105, 0x18E4, 0x0000, 0x0000, 0x0000, 0x01AD, 0x124F, + 0x0000, 0x0000, 0x0000, 0x39C7, 0x8C91, 0x94D3, 0x94B3, 0x94B3, 0x8C92, 0x8C92, 0x8C71, 0x8C71, + 0x8C51, 0x8C51, 0x8C51, 0x8C51, 0x8C51, 0x8C51, 0x8C51, 0x8C51, 0x8451, 0x8431, 0x8431, 0x8431, + 0x8451, 0x8C51, 0x8C71, 0x8C71, 0x8C72, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C71, 0x8C72, 0x8C72, + 0x8C93, 0x8C93, 0x5B0D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0024, 0x0024, 0x00C7, 0x096A, 0x0001, 0x0001, 0x0862, 0x0862, 0x10C5, 0x0021, + 0x0000, 0x08A6, 0x0087, 0x0002, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0043, 0x0065, + 0x5499, 0x3C59, 0x447A, 0x11EC, 0x11CC, 0x1A0D, 0x3B51, 0x6DDD, 0x453D, 0x4D7D, 0x224E, 0x00C7, + 0x85FC, 0x865E, 0x867E, 0x32EF, 0x0084, 0x0084, 0x0084, 0x00A6, 0x75DB, 0x761E, 0x763E, 0x32F0, + 0x11AB, 0x8EDF, 0x86BF, 0x8F1F, 0x0969, 0x00A5, 0x00A5, 0x00A5, 0x00A5, 0x00A5, 0x0085, 0x0085, + 0x0085, 0x4310, 0x75DE, 0x6DDD, 0x5455, 0x0043, 0x0022, 0x0022, 0x0043, 0x757A, 0x65BD, 0x6DDD, + 0x2AAF, 0x116A, 0x7E7E, 0x7E7E, 0x7E7E, 0x85B9, 0x8DFA, 0x8DFA, 0x8DFA, 0x8DFA, 0x8577, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x2A2C, 0x5C57, 0x5437, 0x4B94, + 0x00A5, 0x00A5, 0x0927, 0x42EF, 0x7D3A, 0x5416, 0x5C58, 0x2A4D, 0x0063, 0x0063, 0x00C5, 0x8E3D, + 0x75FE, 0x7E3F, 0x4394, 0x651C, 0x5CFB, 0x64D9, 0x0085, 0x0043, 0x0043, 0x198A, 0x6D1B, 0x5459, + 0x6CFB, 0x00A6, 0x0043, 0x0043, 0x0023, 0x4B51, 0x7519, 0x74F9, 0x5C35, 0x0064, 0x0043, 0x0043, + 0x74F8, 0x5C99, 0x5C9A, 0x4374, 0x3C18, 0x3BF8, 0x5C77, 0x0064, 0x0022, 0x0043, 0x3B12, 0x2AF3, + 0x2B13, 0x21CC, 0x1108, 0x1149, 0x42F0, 0x4351, 0x222D, 0x2AAF, 0x1107, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0065, 0x0064, 0x0000, 0x0021, 0x08A4, 0x0024, 0x0024, + 0x00A7, 0x0A8F, 0x00A6, 0x0024, 0x0024, 0x0024, 0x0022, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x198A, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x422B, 0x0022, 0x0022, 0x0001, 0x6C55, 0x09AC, 0x0000, + 0x0000, 0x0862, 0x2987, 0x0862, 0x10A3, 0x10A3, 0x2945, 0x0001, 0x0000, 0x0000, 0x0020, 0x18A3, + 0x0020, 0x2104, 0x2125, 0x0020, 0x0000, 0x0000, 0x014A, 0x1314, 0x0022, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, + 0x0023, 0x094A, 0x0907, 0x0001, 0x0021, 0x10C4, 0x0862, 0x0000, 0x0065, 0x00A8, 0x0044, 0x0022, + 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0043, 0x0065, 0x6D5C, 0x54FB, 0x551C, 0x655A, + 0x8EBF, 0x8EBF, 0x7E5E, 0x559E, 0x4D7E, 0x4C78, 0x00A6, 0x00A6, 0x8E1E, 0x861E, 0x863F, 0x2A6E, + 0x0063, 0x0063, 0x0063, 0x0085, 0x7DFD, 0x6DFE, 0x75FE, 0x2A8F, 0x19CC, 0x867F, 0x7E5F, 0x86BE, + 0x00C6, 0x00A5, 0x2A2B, 0xA67C, 0xA67C, 0xA67C, 0xAE9C, 0x9E1A, 0x00A5, 0x5392, 0x861F, 0x861F, + 0x5C35, 0x0043, 0x0022, 0x0022, 0x0043, 0x7DBC, 0x75DE, 0x7DFE, 0x2A4E, 0x21EB, 0x96BF, 0x96BF, + 0x8EDE, 0x8EDE, 0x76FF, 0x76FF, 0x76FF, 0x76FF, 0x75FA, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x3A6E, 0x6CB9, 0x6CB9, 0x53D4, 0xA65D, 0xAEBE, 0xAE7D, 0x857A, + 0x5C57, 0x5C57, 0x6456, 0x00C6, 0x0063, 0x0063, 0x2A6C, 0x8EBF, 0x7E9F, 0x75BB, 0x222D, 0x759D, + 0x6D9D, 0x7DFD, 0x1148, 0x0044, 0x0043, 0x21EB, 0x7D7C, 0x6D5C, 0x7D7D, 0x0065, 0x0023, 0x0023, + 0x0023, 0x5BB3, 0x8D9C, 0x8D9C, 0x5C35, 0x0064, 0x0043, 0x2189, 0x859C, 0x64FA, 0x6CFA, 0x118B, + 0x54DB, 0x4C9A, 0x653B, 0x1148, 0x0043, 0x0043, 0x5416, 0x4C18, 0x4C38, 0x4BD5, 0x5498, 0x5498, + 0x43F5, 0x22B0, 0x2AD0, 0x32AF, 0x0023, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0023, 0x0065, 0x0022, 0x0000, 0x0882, 0x0063, 0x0022, 0x11AC, 0x098B, 0x0024, 0x0024, + 0x0024, 0x0024, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08A4, 0x198A, 0x0043, 0x0022, 0x0022, 0x0022, + 0x0042, 0x0042, 0x0862, 0x0862, 0x0842, 0x0842, 0x0842, 0x0042, 0x0022, 0x0022, 0x0022, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0021, 0x0021, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0042, 0x0021, 0x0021, 0x0042, 0x10C4, + 0x5B0E, 0x2126, 0x0023, 0x0023, 0x08A4, 0x7D79, 0x0929, 0x0000, 0x0000, 0x18C3, 0x3187, 0x0862, + 0x18C3, 0x1082, 0x1082, 0x0000, 0x0000, 0x0000, 0x0020, 0x18A3, 0x0020, 0x2104, 0x2966, 0x1082, + 0x0000, 0x0000, 0x00C7, 0x0B15, 0x118A, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0023, 0x0023, 0x00A6, 0x094A, 0x0022, + 0x0883, 0x10C4, 0x0000, 0x0022, 0x00C8, 0x0086, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0043, 0x00C6, 0x6D9D, 0x5D3D, 0x5D3D, 0x44DA, 0x4DBE, 0x4DBE, 0x4DBF, 0x4DBF, + 0x4416, 0x0909, 0x00A6, 0x00A6, 0x557D, 0x351D, 0x3D5D, 0x11CC, 0x0063, 0x0063, 0x0063, 0x0085, + 0x5D7D, 0x3D3D, 0x3D3D, 0x1A0D, 0x19EC, 0x4D9D, 0x3D7C, 0x4D9C, 0x00C6, 0x0085, 0x2A8E, 0x767F, + 0x6E5F, 0x767F, 0x765F, 0x6D9B, 0x0085, 0x43B3, 0x4D5D, 0x4D5D, 0x3353, 0x0023, 0x0022, 0x0022, + 0x0043, 0x5D9D, 0x455D, 0x455D, 0x11CC, 0x21EB, 0x863E, 0x863E, 0x7E5E, 0x769E, 0x669F, 0x5E9F, + 0x5E9E, 0x5E9E, 0x6579, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x3AAF, 0x6D1C, 0x6D1B, 0x4BD6, 0x755B, 0x651A, 0x64FA, 0x64DA, 0x64D9, 0x53D4, 0x08E7, 0x0044, + 0x0063, 0x0063, 0x5CB4, 0x873F, 0x873F, 0x4C34, 0x00C7, 0x7DBC, 0x7E3F, 0x7E3F, 0x3AD0, 0x0064, + 0x0043, 0x21EB, 0x6D5C, 0x5CFC, 0x6D3C, 0x0044, 0x0023, 0x0023, 0x0023, 0x4B93, 0x653B, 0x653B, + 0x43D5, 0x0044, 0x0064, 0x5392, 0x85FE, 0x7DFE, 0x64B8, 0x0086, 0x5C98, 0x5D9D, 0x659E, 0x328F, + 0x0043, 0x0043, 0x64B9, 0x653D, 0x655D, 0x3B95, 0x3BF7, 0x3BF7, 0x3BD6, 0x3BD6, 0x4332, 0x0885, + 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0065, 0x0065, + 0x0000, 0x0000, 0x10C4, 0x0063, 0x120E, 0x0085, 0x0024, 0x0024, 0x0024, 0x0024, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1905, 0x5B70, 0x63B1, 0x6BB1, 0x6BB1, 0x6BD1, 0x6BD1, 0x73D2, 0x73D1, + 0x6BD1, 0x6BD1, 0x6BD2, 0x6BD2, 0x7413, 0x7C33, 0x7C53, 0x7C53, 0x8453, 0x8453, 0x8453, 0x8453, + 0x7C33, 0x7C33, 0x73F2, 0x73F2, 0x6BD1, 0x6BD1, 0x6BB1, 0x6BB1, 0x6B91, 0x6B90, 0x6B90, 0x6B90, + 0x6B90, 0x6B90, 0x6B90, 0x6B90, 0x634F, 0x634F, 0x5B4F, 0x5B2F, 0x2988, 0x0022, 0x0023, 0x0044, + 0x5370, 0x4C77, 0x0064, 0x0000, 0x0000, 0x31A7, 0x3187, 0x0841, 0x18C3, 0x0862, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0841, 0x18E4, 0x0021, 0x18C3, 0x31C8, 0x2125, 0x0000, 0x0000, 0x0022, 0x02B3, + 0x1B54, 0x0064, 0x0022, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0002, 0x0022, 0x0022, 0x08E7, 0x08A5, 0x1905, 0x0021, 0x0000, 0x00A8, + 0x00C9, 0x0023, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0042, 0x1169, + 0x5D9E, 0x455E, 0x4D3D, 0x1A2F, 0x2BB6, 0x2D3E, 0x2D3E, 0x353E, 0x11AC, 0x0086, 0x0065, 0x08E8, + 0x249B, 0x041A, 0x147B, 0x096A, 0x0064, 0x0064, 0x0063, 0x00A5, 0x2CDC, 0x0C5B, 0x147B, 0x098B, + 0x19ED, 0x147A, 0x045A, 0x1C79, 0x00A6, 0x0085, 0x1A0C, 0x3456, 0x34D9, 0x2D9E, 0x2D9D, 0x34B9, + 0x0085, 0x3373, 0x0C5A, 0x0C5A, 0x12B1, 0x0022, 0x0022, 0x0022, 0x0064, 0x2D3C, 0x0C9B, 0x14BC, + 0x096A, 0x220C, 0x453C, 0x453C, 0x4D5C, 0x19EB, 0x1189, 0x1189, 0x1168, 0x1168, 0x1147, 0x0022, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x32D0, 0x4CFC, 0x44FC, 0x3395, + 0x118B, 0x5416, 0x54FB, 0x4CDB, 0x44B9, 0x00C7, 0x0043, 0x0043, 0x0043, 0x0084, 0x6E3D, 0x567E, + 0x567F, 0x561D, 0x5DDD, 0x55FE, 0x459E, 0x459E, 0x4416, 0x0064, 0x0043, 0x19EC, 0x2C7A, 0x245A, + 0x3C9A, 0x0044, 0x0022, 0x0022, 0x0023, 0x2B12, 0x1C19, 0x1C19, 0x1AF2, 0x0044, 0x0064, 0x6D5A, + 0x5D9E, 0x559E, 0x5DBE, 0x5DBE, 0x559E, 0x459E, 0x455E, 0x3BF5, 0x0023, 0x0023, 0x4CBA, 0x3CFD, + 0x44FD, 0x2A90, 0x43F5, 0x44FC, 0x3CBC, 0x44DB, 0x00C7, 0x0023, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0023, 0x0086, 0x0044, 0x0000, 0x0882, 0x08A5, + 0x0907, 0x0042, 0x0023, 0x0023, 0x0023, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, 0x0064, 0x0064, 0x00C8, 0x7DBA, 0x1AB1, 0x0000, 0x0000, + 0x10A2, 0x73AF, 0x2125, 0x0841, 0x1082, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x2104, + 0x0021, 0x0021, 0x4A6A, 0x31C8, 0x0861, 0x0000, 0x0001, 0x09AC, 0x13D8, 0x2A8E, 0x00E7, 0x0149, + 0x01AC, 0x0A0E, 0x1A4E, 0x1A4E, 0x222C, 0x220B, 0x29CA, 0x29CA, 0x21C9, 0x21A9, 0x21A9, 0x29A8, + 0x2988, 0x2988, 0x2988, 0x2988, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, + 0x2988, 0x2987, 0x2987, 0x2987, 0x2167, 0x2167, 0x2167, 0x2167, 0x2147, 0x2146, 0x2126, 0x2126, + 0x1926, 0x1926, 0x1926, 0x1926, 0x1906, 0x1905, 0x18E5, 0x18E5, 0x18E5, 0x10E5, 0x18E5, 0x18E5, + 0x18E5, 0x1905, 0x1905, 0x1905, 0x1905, 0x1905, 0x1905, 0x1906, 0x1906, 0x1906, 0x1926, 0x1926, + 0x1946, 0x2147, 0x2167, 0x29A8, 0x10C4, 0x0000, 0x0065, 0x00CA, 0x0086, 0x0022, 0x0021, 0x0021, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0043, 0x118A, 0x143A, 0x03FA, 0x13D8, 0x00C8, + 0x010A, 0x1BF8, 0x03D9, 0x03F9, 0x2375, 0x0065, 0x0065, 0x1129, 0x0BB7, 0x0377, 0x1419, 0x00E8, + 0x0064, 0x0064, 0x0064, 0x00C7, 0x1C5A, 0x0398, 0x0BF9, 0x094A, 0x19EE, 0x0397, 0x03B8, 0x1417, + 0x00A6, 0x0085, 0x0085, 0x00A6, 0x122E, 0x04BB, 0x049B, 0x13D7, 0x0065, 0x1B33, 0x0397, 0x0397, + 0x124F, 0x0043, 0x0022, 0x0022, 0x00C6, 0x249A, 0x03B8, 0x0C19, 0x0929, 0x1A0D, 0x1419, 0x0BF9, + 0x1C18, 0x0044, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x22B0, 0x1419, 0x0C19, 0x1AF2, 0x0086, 0x118B, 0x2C39, 0x03B7, + 0x0BF8, 0x1A6F, 0x0043, 0x0043, 0x0043, 0x220C, 0x251B, 0x0C9A, 0x0C9B, 0x0C5A, 0x0C5A, 0x0C5A, + 0x043A, 0x043A, 0x2459, 0x0086, 0x0044, 0x19EC, 0x0BB7, 0x0377, 0x1BD7, 0x0024, 0x0022, 0x0022, + 0x0043, 0x1AD2, 0x0335, 0x0335, 0x0A70, 0x0045, 0x1169, 0x2CDA, 0x0C3A, 0x0C3A, 0x03F9, 0x03F9, + 0x03D9, 0x0C5B, 0x0C3B, 0x2C79, 0x0023, 0x0023, 0x1BD7, 0x03B8, 0x13D8, 0x0909, 0x00A6, 0x1BD7, + 0x0BB8, 0x0BB8, 0x226F, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0065, 0x0087, 0x0022, 0x0000, 0x10E4, 0x0042, 0x0022, 0x0023, 0x0023, + 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0043, + 0x0064, 0x0064, 0x00C8, 0x4413, 0x353B, 0x0929, 0x0000, 0x0000, 0x2966, 0xA535, 0x1083, 0x0841, + 0x18C3, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0x2105, 0x0021, 0x0021, 0x10A3, 0x3A09, + 0x2125, 0x0000, 0x0000, 0x0044, 0x1355, 0x5D5A, 0x2A6D, 0x018C, 0x0A4F, 0x2BD5, 0x559C, 0x75FD, + 0x861D, 0x8E1C, 0x95FC, 0x95DB, 0x9DDB, 0x9DDB, 0x9D9A, 0x9D9A, 0x9559, 0x9559, 0x9558, 0x9558, + 0x9538, 0x9538, 0x8D17, 0x8D17, 0x8CF7, 0x8CF7, 0x8CF7, 0x8CF7, 0x8CF7, 0x8CF7, 0x8CF6, 0x8CF6, + 0x8CF6, 0x8CF6, 0x8D17, 0x8CF7, 0x8CF7, 0x8CD6, 0x8CD6, 0x8CD6, 0x8CD6, 0x8CD6, 0x84D6, 0x84D6, + 0x84B6, 0x8CB6, 0x84B6, 0x84B6, 0x84B6, 0x8496, 0x8496, 0x8496, 0x8475, 0x8475, 0x8475, 0x8475, + 0x8475, 0x8475, 0x7C54, 0x7C54, 0x73F2, 0x73F2, 0x6BF1, 0x6BF1, 0x73F1, 0x6BD0, 0x634E, 0x2987, + 0x0000, 0x0022, 0x00EB, 0x00EA, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0042, 0x0042, 0x0043, 0x118B, 0x02F5, 0x02D4, 0x0AD4, 0x0087, 0x0086, 0x1271, 0x0336, 0x0336, + 0x1C39, 0x0909, 0x0066, 0x1129, 0x0B56, 0x0315, 0x0B77, 0x22D1, 0x00A6, 0x0085, 0x0085, 0x3352, + 0x0BB7, 0x0336, 0x1397, 0x00C8, 0x19ED, 0x0336, 0x0357, 0x1418, 0x11ED, 0x0086, 0x0085, 0x0086, + 0x1AF2, 0x0397, 0x0357, 0x1334, 0x0065, 0x1B12, 0x0335, 0x0335, 0x1B54, 0x0085, 0x0043, 0x0044, + 0x3310, 0x0B76, 0x02F4, 0x13B7, 0x00A7, 0x11ED, 0x0335, 0x0315, 0x1314, 0x0044, 0x0023, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x1A70, 0x0315, 0x0335, 0x1270, 0x0044, 0x0065, 0x1AF2, 0x0315, 0x0334, 0x1BB5, 0x0085, 0x0023, + 0x0043, 0x2B53, 0x0376, 0x0376, 0x0BB8, 0x13B7, 0x0B97, 0x0B97, 0x0398, 0x0356, 0x0B96, 0x11AB, + 0x0044, 0x19EC, 0x02D3, 0x0292, 0x1334, 0x0044, 0x0043, 0x0044, 0x1169, 0x33D6, 0x0271, 0x0271, + 0x122F, 0x0065, 0x2B11, 0x0335, 0x0335, 0x0B77, 0x0B36, 0x0B35, 0x1356, 0x0357, 0x0356, 0x0BB7, + 0x1969, 0x0023, 0x1334, 0x02B3, 0x1335, 0x08C8, 0x0022, 0x122F, 0x0315, 0x0315, 0x2395, 0x0064, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, + 0x00A8, 0x00A8, 0x0001, 0x0882, 0x1925, 0x0042, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0064, 0x00A6, 0x00E8, 0x012A, 0x3B51, 0x7EBD, + 0x1BB5, 0x0023, 0x0001, 0x0882, 0x5B0D, 0x52AC, 0x0021, 0x0021, 0x18C3, 0x1082, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0862, 0x2105, 0x0021, 0x0021, 0x0021, 0x2966, 0x31C8, 0x1083, 0x0000, 0x0002, + 0x092A, 0x2419, 0x965C, 0x4AEE, 0x00A6, 0x00C7, 0x00C7, 0x00A6, 0x0084, 0x0043, 0x0042, 0x0042, + 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00E9, 0x014D, 0x320D, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0042, 0x0042, 0x0043, 0x118C, + 0x0272, 0x0272, 0x1251, 0x0065, 0x0064, 0x0909, 0x0B35, 0x02F5, 0x0356, 0x22D1, 0x0066, 0x0066, + 0x1B54, 0x0315, 0x0315, 0x1BD7, 0x33D6, 0x22F2, 0x3C37, 0x2458, 0x0336, 0x0336, 0x12F3, 0x0065, + 0x0929, 0x1397, 0x0357, 0x0357, 0x2439, 0x2395, 0x22B1, 0x2B95, 0x1396, 0x02F4, 0x02F4, 0x1AB1, + 0x0044, 0x1A4E, 0x0335, 0x0335, 0x0355, 0x23B6, 0x224F, 0x3C36, 0x2C37, 0x02D3, 0x02F4, 0x1B13, + 0x0065, 0x19ED, 0x02B2, 0x02B2, 0x0AB2, 0x4CD8, 0x553A, 0x553A, 0x5D5A, 0x5D5A, 0x5539, 0x54D7, + 0x0022, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x1A50, 0x02B3, 0x02D3, 0x0A0E, + 0x0022, 0x0022, 0x116A, 0x0314, 0x02D3, 0x0334, 0x19EC, 0x0043, 0x0064, 0x2C16, 0x02D3, 0x02F4, + 0x11CE, 0x0065, 0x0066, 0x0066, 0x1B15, 0x02F4, 0x0314, 0x1AD1, 0x0045, 0x19EC, 0x0251, 0x0210, + 0x0AB3, 0x2AF1, 0x33D5, 0x33D5, 0x4457, 0x0292, 0x0271, 0x0271, 0x096A, 0x0066, 0x2B94, 0x0272, + 0x0272, 0x120F, 0x0065, 0x0065, 0x0066, 0x1292, 0x02B3, 0x02F4, 0x1A6E, 0x0023, 0x12D2, 0x0230, + 0x12F3, 0x00A6, 0x0001, 0x08A5, 0x1314, 0x02B3, 0x02F4, 0x19EC, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0086, 0x00CA, 0x0065, 0x0000, + 0x3A4A, 0x63D1, 0x7C74, 0x7C74, 0x8CB5, 0x8CB5, 0x8CD5, 0x8CD5, 0x9516, 0x9516, 0x9D16, 0x9D16, + 0x9D16, 0x9CF6, 0x94D5, 0x8CB4, 0x8473, 0x7C32, 0x6BB1, 0x636F, 0x5B0E, 0x52ED, 0x4AAD, 0x428C, + 0x426B, 0x3A4B, 0x3A2B, 0x3A0A, 0x31EA, 0x31C9, 0x29C9, 0x29A9, 0x29A8, 0x2188, 0x2188, 0x2168, + 0x2168, 0x2167, 0x2167, 0x2147, 0x2167, 0x2167, 0x2167, 0x2188, 0x2988, 0x2188, 0x2168, 0x2168, + 0x2168, 0x2168, 0x2168, 0x2988, 0x2988, 0x2988, 0x2988, 0x2188, 0x2188, 0x2188, 0x1968, 0x1968, + 0x1169, 0x118A, 0x11CC, 0x120D, 0x01ED, 0x43B3, 0x9F3E, 0x2CF9, 0x0108, 0x0022, 0x0001, 0x2125, + 0x7BD0, 0x1083, 0x0021, 0x0021, 0x18C3, 0x10A2, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x2945, + 0x0021, 0x2125, 0x0861, 0x10A2, 0x39E9, 0x31A8, 0x0021, 0x0021, 0x0025, 0x09CE, 0x245A, 0x8E7D, + 0x9DD8, 0x4AEE, 0x2168, 0x10E5, 0x0883, 0x0883, 0x0862, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, + 0x0063, 0x0043, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0022, 0x0022, 0x0042, 0x0042, + 0x0042, 0x0022, 0x0022, 0x0022, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, + 0x0022, 0x0042, 0x0043, 0x0043, 0x08C8, 0x014D, 0x094C, 0x0023, 0x0842, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0042, 0x0042, 0x0043, 0x0043, 0x0063, 0x118C, 0x0231, 0x0211, 0x120F, 0x0044, + 0x0043, 0x0043, 0x1291, 0x02F5, 0x02F5, 0x23D7, 0x00A6, 0x0044, 0x114B, 0x1336, 0x0316, 0x02F5, + 0x02F5, 0x02B4, 0x0357, 0x0357, 0x0357, 0x1334, 0x0908, 0x0044, 0x0045, 0x1A2F, 0x0B77, 0x0336, + 0x0356, 0x0356, 0x0AB3, 0x02F4, 0x02D4, 0x02D4, 0x0AF4, 0x098C, 0x0043, 0x0065, 0x2314, 0x0335, + 0x0314, 0x02F4, 0x0A92, 0x0334, 0x02D3, 0x02D3, 0x0B14, 0x0929, 0x0044, 0x19ED, 0x0271, 0x0271, + 0x0A51, 0x02F3, 0x02D2, 0x02D2, 0x02D2, 0x02D2, 0x02D2, 0x1374, 0x0022, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x1230, 0x0251, 0x0272, 0x09ED, 0x0022, 0x0022, 0x0044, 0x1B33, + 0x02B3, 0x02B3, 0x1B33, 0x0064, 0x198A, 0x1354, 0x0271, 0x0AD3, 0x00A7, 0x0043, 0x0043, 0x0043, + 0x1A30, 0x02B3, 0x02B3, 0x1B75, 0x0066, 0x19AC, 0x020F, 0x01EF, 0x0A71, 0x0230, 0x0292, 0x0292, + 0x0292, 0x0292, 0x0272, 0x11ED, 0x0045, 0x0929, 0x1B34, 0x0210, 0x0271, 0x08E8, 0x0022, 0x0022, + 0x0023, 0x19ED, 0x0272, 0x0272, 0x1AF2, 0x0023, 0x0A91, 0x020F, 0x12B2, 0x0085, 0x0001, 0x0001, + 0x1A0E, 0x0272, 0x0292, 0x1B33, 0x0043, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0001, 0x0841, 0x0043, 0x00EB, 0x00EB, 0x0066, 0x08A6, 0x196A, 0x21AB, 0x218B, + 0x198B, 0x198B, 0x198B, 0x198B, 0x198B, 0x198B, 0x21AC, 0x21CC, 0x21CC, 0x21CC, 0x21CC, 0x21CC, + 0x21CC, 0x21AC, 0x21AC, 0x21AC, 0x21AC, 0x21AC, 0x21CC, 0x21EC, 0x21ED, 0x220D, 0x220E, 0x220E, + 0x220E, 0x21ED, 0x21ED, 0x21ED, 0x21ED, 0x21ED, 0x21ED, 0x21CD, 0x21CC, 0x21AC, 0x21CC, 0x21CC, + 0x21EC, 0x21EC, 0x29EC, 0x29EC, 0x29EC, 0x29EC, 0x21CC, 0x21CC, 0x21AB, 0x21CB, 0x29CB, 0x29CB, + 0x29EB, 0x29EB, 0x21EB, 0x21EB, 0x21EB, 0x19EB, 0x1A0C, 0x1A2D, 0x1A4E, 0x1A6E, 0x1A4F, 0x2B10, + 0x8598, 0xA75E, 0x353A, 0x09CC, 0x0044, 0x0023, 0x18C4, 0x630D, 0x4A49, 0x0862, 0x2945, 0x0862, + 0x18E4, 0x10A3, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x2945, 0x0862, 0x0862, 0x10A2, 0x10A2, + 0x2967, 0x3A2A, 0x2966, 0x0021, 0x0022, 0x0025, 0x09CD, 0x1C39, 0x4D3B, 0x9E7D, 0xC71E, 0xCF5F, + 0xD75E, 0xCF1E, 0xA5FB, 0x08E7, 0x0883, 0x0883, 0x0863, 0x0863, 0x0863, 0x0863, 0x0863, 0x0883, + 0x0883, 0x0883, 0x10A3, 0x10A3, 0x10C4, 0x10C4, 0x10C4, 0x1129, 0x09CE, 0x09CE, 0x4352, 0x1A0F, + 0x11EE, 0x11EE, 0x11EF, 0x19F0, 0x19F0, 0x19F0, 0x11CF, 0x11CF, 0x11AE, 0x11AE, 0x11AE, 0x092B, + 0x010A, 0x00EA, 0x00EA, 0x00EA, 0x0109, 0x0109, 0x010A, 0x010A, 0x00EA, 0x00EA, 0x00EA, 0x00EA, + 0x00EA, 0x00EA, 0x00EA, 0x00EA, 0x00EA, 0x010A, 0x010A, 0x00EA, 0x010A, 0x010A, 0x00EA, 0x00EB, + 0x010C, 0x11CE, 0x00A7, 0x10A4, 0x5AAB, 0x0063, 0x0022, 0x0022, 0x0022, 0x0022, 0x0042, 0x0042, + 0x0043, 0x0043, 0x0064, 0x19CD, 0x12D3, 0x12D3, 0x1A50, 0x0043, 0x0043, 0x0043, 0x094A, 0x1B76, + 0x0B36, 0x0B96, 0x222D, 0x0044, 0x0044, 0x114B, 0x1315, 0x0316, 0x0B76, 0x0AB4, 0x0357, 0x0B98, + 0x1334, 0x0909, 0x0044, 0x0044, 0x0045, 0x0045, 0x120E, 0x1B77, 0x0356, 0x0356, 0x12B3, 0x0335, + 0x0B56, 0x1B76, 0x098C, 0x0044, 0x0043, 0x0043, 0x0086, 0x1AF3, 0x1396, 0x0336, 0x12D3, 0x0B55, + 0x0B34, 0x1313, 0x0929, 0x0043, 0x0044, 0x1A0D, 0x12F3, 0x12F3, 0x1291, 0x0B54, 0x0313, 0x0313, + 0x0313, 0x02D2, 0x0313, 0x1374, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x1A71, 0x12D4, 0x0AF4, 0x11ED, 0x0022, 0x0022, 0x0022, 0x1A2E, 0x0B35, 0x0B14, 0x1334, 0x19CB, + 0x32F0, 0x0AF3, 0x0AD3, 0x1291, 0x0043, 0x0022, 0x0043, 0x0043, 0x19AC, 0x1335, 0x0B15, 0x1376, + 0x114A, 0x19CC, 0x0AB2, 0x0AB2, 0x12D3, 0x0A71, 0x02D3, 0x02D3, 0x0AD3, 0x12D2, 0x098B, 0x0044, + 0x0044, 0x32D0, 0x0AB2, 0x0AB2, 0x1291, 0x0024, 0x0022, 0x0022, 0x0021, 0x1128, 0x1AF4, 0x0AD3, + 0x2375, 0x0885, 0x1AF2, 0x0A91, 0x22F4, 0x0065, 0x0001, 0x0001, 0x08C6, 0x1314, 0x0AF4, 0x0AF4, + 0x21EC, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0863, 0x39A7, + 0x18C4, 0x0066, 0x00EB, 0x00EB, 0x116E, 0x00CA, 0x00CA, 0x00CA, 0x00A8, 0x00A8, 0x0086, 0x0086, + 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0087, 0x0087, 0x00A7, 0x00A7, + 0x00A8, 0x00A8, 0x00C9, 0x00C9, 0x010A, 0x010A, 0x092B, 0x092B, 0x096C, 0x096C, 0x098D, 0x11AE, + 0x11CE, 0x11EF, 0x1210, 0x1210, 0x1A71, 0x4374, 0x096C, 0x8CF7, 0x3B11, 0x120F, 0x120F, 0x120F, + 0x1A2F, 0x1A2F, 0x1A30, 0x1A50, 0x2270, 0x2270, 0x2AB0, 0x2AB0, 0x3AD0, 0x3AD0, 0x3ACF, 0x3ACF, + 0x3ACF, 0x3ACF, 0x6CB6, 0xAF1D, 0xA71D, 0xA71D, 0xB75E, 0xAF9F, 0x7EDD, 0x2D3A, 0x09CC, 0x0065, + 0x0023, 0x0883, 0x528B, 0x8C72, 0x10A3, 0x10A3, 0x0862, 0x0862, 0x18E4, 0x10A3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1082, 0x3186, 0x0862, 0x10A3, 0x18E4, 0x18E4, 0x2125, 0x424A, 0x424A, 0x2146, + 0x0001, 0x0022, 0x0024, 0x00E9, 0x12D2, 0x1BF7, 0x1BB7, 0x1B75, 0x1B34, 0x1B34, 0x1B14, 0x11CC, + 0x1128, 0x1128, 0x1128, 0x1128, 0x1948, 0x1949, 0x1948, 0x1948, 0x1948, 0x1948, 0x1948, 0x1948, + 0x1128, 0x1128, 0x0927, 0x19AB, 0x4311, 0x42F1, 0x7C54, 0x5B71, 0x324E, 0x21CC, 0x194A, 0x08C8, + 0x0086, 0x0066, 0x0065, 0x0065, 0x0024, 0x0024, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0002, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0045, 0x0045, 0x0044, 0x0863, + 0x18E5, 0x1129, 0x0085, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0063, 0x0063, 0x0084, 0x08C6, + 0x0929, 0x0929, 0x08C7, 0x0023, 0x0022, 0x0022, 0x0044, 0x1109, 0x092A, 0x092A, 0x08E7, 0x0043, + 0x0043, 0x0043, 0x0066, 0x094A, 0x118B, 0x092A, 0x098B, 0x092A, 0x0065, 0x0044, 0x0043, 0x0043, + 0x0063, 0x0063, 0x0044, 0x0087, 0x114B, 0x114B, 0x092A, 0x116B, 0x096B, 0x00C7, 0x0043, 0x0043, + 0x0022, 0x0022, 0x0043, 0x0065, 0x090A, 0x118C, 0x092A, 0x118B, 0x1149, 0x0065, 0x0022, 0x0022, + 0x0022, 0x0885, 0x1129, 0x1129, 0x08C7, 0x0929, 0x0909, 0x0909, 0x08E8, 0x08E8, 0x08E7, 0x08E7, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x08C7, 0x1109, 0x1129, 0x0886, + 0x0001, 0x0001, 0x0021, 0x0085, 0x0929, 0x0929, 0x094A, 0x08E7, 0x08C7, 0x0908, 0x0909, 0x08C7, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0064, 0x1129, 0x1129, 0x1129, 0x08A6, 0x08A6, 0x0909, 0x0909, + 0x08E8, 0x08E8, 0x0909, 0x0909, 0x0909, 0x0086, 0x0022, 0x0022, 0x0023, 0x0908, 0x0909, 0x0909, + 0x00A7, 0x0001, 0x0000, 0x0000, 0x0000, 0x0864, 0x10E8, 0x10E8, 0x1108, 0x0043, 0x10E7, 0x10E7, + 0x1108, 0x0022, 0x0000, 0x0000, 0x0001, 0x1129, 0x0909, 0x08E8, 0x08A6, 0x0044, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x1107, 0x21AB, 0x18C4, 0x0862, 0x0001, 0x0023, 0x0024, + 0x0023, 0x0003, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0023, 0x0044, 0x0045, 0x0086, 0x08C8, 0x194A, 0x21AB, 0x29ED, 0x324E, 0x090A, + 0x42F2, 0x222F, 0x092B, 0x198A, 0x112A, 0x090A, 0x00C9, 0x00C9, 0x00A8, 0x00A8, 0x00A7, 0x00A7, + 0x00A7, 0x0086, 0x0085, 0x0085, 0x0085, 0x0085, 0x00A5, 0x00A5, 0x00C6, 0x00E7, 0x2352, 0x2D5B, + 0x2D5C, 0x2D5B, 0x2D7B, 0x2D1A, 0x1B94, 0x0129, 0x0086, 0x0043, 0x0883, 0x426B, 0xBDD8, 0x3187, + 0x18A3, 0x18A3, 0x10A3, 0x10A3, 0x2125, 0x18A3, 0x0000, 0x0000, 0x0000, 0x0000, 0x10A2, 0x3186, + 0x10A3, 0x18C3, 0x18E4, 0x18E4, 0x2966, 0x39C8, 0x6B90, 0x4A8B, 0x2166, 0x0021, 0x0022, 0x0024, + 0x0044, 0x0086, 0x0109, 0x0108, 0x00E8, 0x00E8, 0x08C6, 0x0063, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, + 0x0021, 0x0862, 0x10A3, 0x1904, 0x2986, 0x3A09, 0x4A6B, 0x4A8C, 0x4A8C, 0x422A, 0x31C9, 0x2147, + 0x0863, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x0044, 0x0087, 0x116A, 0x0085, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0063, 0x0063, 0x0084, 0x0084, 0x0064, 0x0023, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0042, 0x0042, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x0043, 0x0043, 0x0063, 0x0063, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0023, 0x0022, 0x0022, 0x0043, 0x0043, 0x0022, 0x0022, 0x0043, 0x0043, + 0x0022, 0x0023, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0021, 0x0002, 0x0001, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, + 0x0023, 0x0002, 0x0022, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0001, 0x0001, 0x0043, 0x0044, 0x0044, 0x0022, 0x0022, 0x0044, 0x0044, 0x0044, 0x0044, + 0x08A6, 0x2A4F, 0x0065, 0x0023, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1083, 0x2126, 0x39C9, 0x422A, + 0x52AC, 0x6B6F, 0x73D0, 0x73D0, 0x6B8F, 0x634E, 0x5ACC, 0x0863, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, 0x00A5, 0x0128, 0x0129, 0x0129, 0x00E9, 0x00C8, + 0x0086, 0x0045, 0x0043, 0x10A4, 0x426B, 0xADB7, 0x62EC, 0x18E4, 0x18A3, 0x18A3, 0x10A3, 0x10A3, + 0x2125, 0x18C4, 0x0000, 0x0000, 0x0000, 0x0000, 0x18C3, 0x39C8, 0x2104, 0x2104, 0x2125, 0x2125, + 0x31A7, 0x4209, 0x5AED, 0x94B4, 0x52CD, 0x3A09, 0x1083, 0x0001, 0x0001, 0x0001, 0x0022, 0x0021, + 0x0042, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0020, 0x0020, 0x0001, 0x0065, 0x00A8, 0x1149, 0x0064, 0x0064, 0x0064, 0x0064, + 0x0884, 0x0884, 0x0884, 0x0884, 0x0884, 0x0043, 0x0022, 0x0022, 0x0042, 0x0042, 0x0042, 0x0042, + 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0862, 0x0862, 0x0062, 0x0062, 0x0862, 0x0862, + 0x0863, 0x0863, 0x0883, 0x0883, 0x0862, 0x0862, 0x0862, 0x0862, 0x0062, 0x0062, 0x0042, 0x0042, + 0x0042, 0x0042, 0x0042, 0x0042, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0064, + 0x0085, 0x0085, 0x0085, 0x0085, 0x0086, 0x0086, 0x0065, 0x0086, 0x2A4E, 0x0087, 0x0044, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0022, 0x0023, 0x0022, 0x0022, 0x0022, 0x2147, 0x52CD, + 0xAD97, 0x6B6E, 0x2104, 0x2104, 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x2966, 0x18C4, 0x0000, 0x0000, + 0x0000, 0x0000, 0x18C3, 0x39C8, 0x2104, 0x2104, 0x2125, 0x2125, 0x39E8, 0x4A6A, 0x52AB, 0x738F, + 0xB5D8, 0x6BB0, 0x5B2E, 0x2987, 0x10A4, 0x0883, 0x0862, 0x0862, 0x0042, 0x0042, 0x0021, 0x0000, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0041, 0x0041, 0x0841, 0x0842, 0x0862, 0x1083, 0x10A3, 0x10C3, + 0x18C4, 0x18E4, 0x18E4, 0x18E4, 0x2126, 0x2146, 0x2967, 0x2967, 0x2146, 0x2146, 0x2125, 0x18E4, + 0x10A3, 0x1083, 0x0841, 0x0841, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0841, 0x0841, 0x0861, 0x0882, 0x0862, 0x1082, 0x1082, 0x1082, 0x1082, 0x0020, + 0x0000, 0x0001, 0x0086, 0x00A8, 0x1129, 0x0064, 0x0064, 0x0064, 0x0884, 0x0884, 0x0884, 0x0884, + 0x0884, 0x0043, 0x0022, 0x0022, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, + 0x0042, 0x0042, 0x0862, 0x0862, 0x0062, 0x0062, 0x0862, 0x0862, 0x0863, 0x0863, 0x0883, 0x0883, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0062, 0x0062, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0064, 0x0085, 0x0085, 0x0085, 0x0085, + 0x0086, 0x0086, 0x0086, 0x32B1, 0x00E9, 0x0044, 0x0001, 0x0001, 0x0041, 0x1905, 0x1925, 0x1905, + 0x1904, 0x18E4, 0x10C3, 0x10C3, 0x0862, 0x0862, 0x0841, 0x0021, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0020, 0x0020, 0x0841, 0x0842, 0x0862, 0x0862, 0x1082, 0x1082, 0x10A3, 0x10C4, 0x18C4, 0x18C4, + 0x18E4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x10C3, 0x10A3, 0x1082, 0x0882, 0x0882, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0842, 0x0842, 0x0842, 0x0862, 0x0862, 0x0862, 0x0863, + 0x0863, 0x0863, 0x0884, 0x10C4, 0x2146, 0x424B, 0x634F, 0xBDF9, 0x6B6E, 0x2125, 0x2104, 0x2104, + 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x2966, 0x18C3, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0x39E8, + 0x2966, 0x2966, 0x10A3, 0x0841, 0x3166, 0x39E8, 0x5ACC, 0x5AED, 0x6B6F, 0xB5B7, 0xADB8, 0x6390, + 0x3A2B, 0x320A, 0x31E9, 0x31E9, 0x29A8, 0x29A8, 0x2988, 0x2168, 0x2167, 0x2147, 0x2147, 0x2147, + 0x2167, 0x2968, 0x29A8, 0x31EA, 0x424B, 0x424B, 0x426C, 0x426C, 0x4A8C, 0x4ACD, 0x52ED, 0x530E, + 0x6390, 0x6BD1, 0x7412, 0x7C12, 0x7C33, 0x7C13, 0x73B1, 0x73B1, 0x6B90, 0x634F, 0x5B0E, 0x52CD, + 0x4A8C, 0x3A4B, 0x3A2B, 0x3A2A, 0x31E9, 0x31C8, 0x2967, 0x2126, 0x1905, 0x1905, 0x1905, 0x1905, + 0x1905, 0x1905, 0x1905, 0x2125, 0x2125, 0x2125, 0x2125, 0x18E4, 0x1904, 0x1904, 0x18C4, 0x18C4, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x1925, 0x1925, 0x0841, 0x0000, 0x0001, 0x0065, + 0x08C8, 0x08C7, 0x0885, 0x0885, 0x08A4, 0x08A4, 0x08A4, 0x08A4, 0x0883, 0x0883, 0x0021, 0x0041, + 0x0041, 0x0041, 0x0041, 0x0041, 0x0842, 0x0842, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0882, 0x0882, 0x0882, 0x0883, 0x0883, 0x1083, 0x0882, 0x0882, 0x0882, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0841, 0x0841, 0x0041, 0x0041, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0063, 0x0085, 0x0085, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00E9, 0x118B, + 0x0065, 0x0001, 0x0000, 0x0862, 0x39C8, 0x9D15, 0xB5D8, 0xB5D8, 0xAD77, 0xA536, 0x9CD4, 0x8C93, + 0x8452, 0x7C12, 0x73F1, 0x73D1, 0x6B90, 0x6B6F, 0x632E, 0x5AEE, 0x52CD, 0x52CD, 0x52AD, 0x52AD, + 0x4AAD, 0x426C, 0x424B, 0x3A4B, 0x424B, 0x424C, 0x428C, 0x52CD, 0x52CE, 0x52EE, 0x52EE, 0x52EE, + 0x5AEE, 0x5B0E, 0x5B0E, 0x5B0E, 0x5B0E, 0x5B0E, 0x5B0E, 0x5B0E, 0x52ED, 0x52ED, 0x52CD, 0x52CD, + 0x52AD, 0x4A8C, 0x4A8C, 0x426C, 0x426C, 0x426B, 0x424B, 0x424B, 0x424B, 0x424B, 0x424B, 0x424B, + 0x424B, 0x3A4B, 0x3A4C, 0x3A4C, 0x426C, 0x426C, 0x428D, 0x428D, 0x426C, 0x426C, 0x426C, 0x426C, + 0x4ACE, 0x73F2, 0xAD77, 0x528B, 0x2125, 0x2125, 0x18E4, 0x10A3, 0x10A3, 0x18C3, 0x2125, 0x2125, + 0x3187, 0x18C3, 0x0000, 0x0001, 0x0000, 0x0000, 0x2104, 0x4209, 0x3187, 0x2966, 0x0862, 0x7BEF, + 0xF79E, 0x4A6A, 0x5ACC, 0x630D, 0x632D, 0x634E, 0x73D0, 0x9CF5, 0x9D16, 0x6B90, 0x6370, 0x6B90, + 0x6BB0, 0x73D1, 0x73D1, 0x73D1, 0x7C12, 0x7C12, 0x8433, 0x8453, 0x8C74, 0x8C74, 0x8C94, 0x8CB5, + 0x94B5, 0x94D5, 0x94D5, 0x94D5, 0x8C74, 0x7C12, 0x73B0, 0x6B6F, 0x6B4F, 0x632E, 0x632E, 0x424B, + 0x3A09, 0x31C9, 0x31E9, 0x3A09, 0x3A2A, 0x424B, 0x4A8C, 0x52CD, 0x5B2E, 0x634F, 0x5B2E, 0x5B2E, + 0x632F, 0x6370, 0x6B90, 0x6370, 0x5B2F, 0x52ED, 0x4A8C, 0x424B, 0x3A0A, 0x31C8, 0x2967, 0x2967, + 0x2125, 0x2125, 0x18E4, 0x18E4, 0x10C4, 0x10C4, 0x18C4, 0x18C4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x10C4, 0x1925, 0x2125, 0x0841, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0841, 0x0862, 0x1082, 0x0882, 0x0882, 0x10C5, 0x2967, + 0x2967, 0x10C4, 0x0001, 0x0000, 0x0000, 0x0001, 0x0022, 0x0001, 0x0001, 0x0001, 0x0862, 0x39E8, + 0xBDF8, 0xBDF8, 0xB5D8, 0xB5D8, 0xBDF8, 0xBE19, 0xC639, 0xC639, 0xC639, 0xC659, 0xCE9A, 0xCE9A, + 0xDEFB, 0xE71C, 0xE73D, 0xEF7D, 0xEF7D, 0xEF7D, 0xE73C, 0xE73C, 0xDEFC, 0xD6BB, 0xC65A, 0xBDF8, + 0xA536, 0x7BF1, 0x632E, 0x4A8B, 0x31C8, 0x2967, 0x2146, 0x2146, 0x1905, 0x1905, 0x18E4, 0x18E4, + 0x10A3, 0x10A3, 0x0883, 0x0863, 0x0863, 0x0883, 0x10A3, 0x10A3, 0x18E4, 0x18E4, 0x2146, 0x2146, + 0x29A8, 0x29A8, 0x31C8, 0x39E9, 0x422A, 0x424B, 0x4A8B, 0x4A8B, 0x52AC, 0x52AC, 0x52AC, 0x52AC, + 0x4A8C, 0x426C, 0x424B, 0x424B, 0x424A, 0x424A, 0x424B, 0x426C, 0x4A6B, 0x31C8, 0x1905, 0x2105, + 0x2125, 0x2125, 0x39E8, 0xE73D, 0x8451, 0x18E4, 0x2125, 0x2966, 0x3187, 0x18C3, 0x0000, 0x0001, + 0x0000, 0x0000, 0x2105, 0x424A, 0x41E8, 0x2145, 0x18C3, 0x4229, 0xB5D7, 0x5AEC, 0x39E8, 0x632D, + 0x630D, 0x630D, 0x5B0D, 0x528B, 0x52AB, 0x632E, 0x634E, 0x634E, 0x6B8F, 0x6B8F, 0x73D1, 0x7BF1, + 0x7C12, 0x8432, 0x8453, 0x8C73, 0x8432, 0x73B0, 0x630D, 0x528B, 0x39E8, 0x2125, 0x10A3, 0x0842, + 0x0862, 0x0862, 0x0862, 0x0862, 0x1082, 0x1082, 0x1083, 0x2104, 0x2146, 0x2966, 0x2967, 0x2967, + 0x3187, 0x31A7, 0x31A7, 0x31A7, 0x39E9, 0x39E9, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x39E9, 0x39E9, + 0x3A0A, 0x3A0A, 0x424B, 0x424B, 0x4A6C, 0x4A6C, 0x52AD, 0x52AD, 0x5B2E, 0x636F, 0x636F, 0x5B2E, + 0x52ED, 0x4AAC, 0x426B, 0x422A, 0x39E9, 0x31C8, 0x2988, 0x2167, 0x2126, 0x18E5, 0x10A4, 0x10C4, + 0x1905, 0x2146, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0020, 0x0841, 0x0861, 0x0861, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0821, 0x10A3, 0x10A3, + 0x18C4, 0x18E4, 0x1904, 0x1905, 0x2105, 0x2105, 0x2125, 0x2125, 0x2146, 0x2146, 0x2987, 0x2987, + 0x2146, 0x2146, 0x1905, 0x1905, 0x1905, 0x1905, 0x18E4, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x31A8, 0xB5D8, 0xAD97, 0x52AB, 0x7C11, 0x94B4, + 0x94B4, 0x94B4, 0x8C73, 0x8C73, 0x8432, 0x8432, 0x7C11, 0x6B4E, 0x4A4A, 0x31A7, 0x2105, 0x18C3, + 0x10A3, 0x10A3, 0x1082, 0x1082, 0x1082, 0x1082, 0x0862, 0x0862, 0x0882, 0x0882, 0x0862, 0x0862, + 0x0882, 0x0882, 0x1082, 0x1082, 0x1062, 0x1062, 0x1062, 0x1062, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0842, 0x0842, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0842, 0x0842, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0882, 0x0882, 0x1082, 0x1082, 0x1082, 0x1082, + 0x10A3, 0x10A3, 0x18C4, 0x18C4, 0x10C3, 0x10C3, 0x2105, 0x2105, 0x2125, 0x18C4, 0x73AF, 0xCE7A, + 0x39E8, 0x2966, 0x18E4, 0x31C7, 0x39C8, 0x10C3, 0x0000, 0x0001, 0x0000, 0x0000, 0x2125, 0x528B, + 0x528B, 0x3186, 0x0841, 0x18E4, 0x2145, 0x2125, 0x31A7, 0x634E, 0x630D, 0x5ACC, 0x18C4, 0x2125, + 0x5B0D, 0x5B0D, 0x634E, 0x634E, 0x6B8F, 0x6B8F, 0x5B0D, 0x4A8B, 0x4209, 0x2987, 0x18E4, 0x0021, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0821, 0x0841, 0x0842, 0x0842, 0x0862, 0x0862, 0x0862, 0x0862, + 0x1082, 0x1082, 0x1083, 0x1083, 0x1082, 0x10A3, 0x18E4, 0x18E4, 0x2125, 0x2125, 0x2966, 0x31A7, + 0x39E9, 0x39E9, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x39E9, 0x39E9, 0x3A0A, 0x3A0A, 0x39E9, 0x39C8, + 0x31C8, 0x31A7, 0x2987, 0x2966, 0x2946, 0x2146, 0x2146, 0x2966, 0x2987, 0x31C8, 0x39E9, 0x422A, + 0x424B, 0x4A8C, 0x52CD, 0x634F, 0x6370, 0x5B2F, 0x52EE, 0x4AAC, 0x4A8C, 0x424B, 0x31C9, 0x18C4, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0841, 0x0841, + 0x0861, 0x0882, 0x10A3, 0x0861, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0861, 0x0841, 0x0841, 0x0841, + 0x0041, 0x0041, 0x0041, 0x0021, 0x0041, 0x0041, 0x0041, 0x0841, 0x0041, 0x0041, 0x0041, 0x0041, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, 0x0041, 0x0841, 0x0841, 0x0841, 0x0861, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0882, 0x0882, 0x1082, 0x1083, 0x1083, 0x10C3, 0x10C3, 0x10C4, + 0x18C4, 0x18C4, 0x18C4, 0x18E4, 0x18E4, 0x1905, 0x1905, 0x1905, 0x2146, 0x2146, 0x2987, 0x29A8, + 0x31C8, 0x31C8, 0x39E9, 0x39E9, 0x31E9, 0x39E9, 0x39E9, 0x31C8, 0x2967, 0x2967, 0x2146, 0x2146, + 0x2105, 0x2105, 0x10C4, 0x10C4, 0x10A3, 0x0882, 0x0862, 0x0021, 0x0000, 0x0000, 0x0000, 0x0020, + 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0841, 0x2987, 0xA556, 0xBDF8, 0x8C73, 0x8C73, 0x8452, 0x8452, 0x8432, 0x8431, 0x7C11, 0x7BF1, + 0x73D0, 0x73B0, 0x6B4E, 0x528B, 0x31A7, 0x2145, 0x18C3, 0x18C3, 0x10A3, 0x10A3, 0x1082, 0x1082, + 0x1082, 0x1082, 0x0862, 0x0862, 0x0882, 0x0882, 0x0862, 0x0862, 0x0882, 0x0882, 0x1082, 0x1082, + 0x1062, 0x1062, 0x1062, 0x1062, 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0842, 0x0841, 0x0841, + 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0842, 0x0842, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0882, 0x0882, 0x1082, 0x1082, 0x1082, 0x1082, 0x10A3, 0x10A3, 0x18C4, 0x18C4, + 0x10C3, 0x10C3, 0x2105, 0x2105, 0x2125, 0x18E4, 0x2124, 0x31C7, 0x2966, 0x2125, 0x2104, 0x4229, + 0x4209, 0x10A3, 0x0000, 0x0021, 0x0000, 0x0000, 0x2966, 0x634E, 0x6B6E, 0x52AB, 0x18E3, 0x8431, + 0x2124, 0x18C3, 0x3A09, 0x632E, 0x630D, 0x10C3, 0x2125, 0x4AAB, 0x5B0D, 0x632D, 0x52CC, 0x3187, + 0x18C3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x1082, 0x1082, 0x18C3, 0x2105, 0x2946, 0x3187, + 0x31A7, 0x39E9, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x31C8, 0x31C8, 0x31A8, 0x31A7, + 0x2987, 0x2987, 0x2146, 0x2146, 0x2125, 0x2125, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18C4, 0x18C4, + 0x18C4, 0x1905, 0x2146, 0x2987, 0x31A8, 0x3A09, 0x4A8C, 0x632F, 0x634F, 0x634F, 0x6B70, 0x6B70, + 0x6BB1, 0x6BB1, 0x6391, 0x6391, 0x6370, 0x6370, 0x6370, 0x6370, 0x6370, 0x6370, 0x6370, 0x6350, + 0x634F, 0x634F, 0x634F, 0x634F, 0x634F, 0x632F, 0x5B2F, 0x5B2E, 0x5B2E, 0x5B2E, 0x5B2E, 0x5B2E, + 0x5B2E, 0x5B2E, 0x5B0E, 0x5B0E, 0x530E, 0x5B0E, 0x5B0E, 0x52ED, 0x52ED, 0x52CD, 0x52CC, 0x52CC, + 0x52AC, 0x52AC, 0x4AAC, 0x52CD, 0x52CD, 0x52CD, 0x4AAD, 0x4AAD, 0x426C, 0x426C, 0x3A2A, 0x3A2A, + 0x3A2A, 0x3A2A, 0x3A09, 0x3A09, 0x31E9, 0x31E9, 0x39E9, 0x31E9, 0x31E9, 0x39EA, 0x3A0A, 0x39E9, + 0x39E9, 0x39E9, 0x31E9, 0x31E9, 0x31E9, 0x31E9, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A0A, 0x3A0A, + 0x3A0A, 0x3A0A, 0x3A0A, 0x3A0A, 0x3A0A, 0x3A0A, 0x3A2A, 0x3A2A, 0x422A, 0x422A, 0x424A, 0x424A, + 0x422A, 0x422A, 0x3A0A, 0x3A0A, 0x3A0A, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x39E9, 0x39E9, + 0x31C9, 0x31C9, 0x31C9, 0x31C9, 0x31C9, 0x31C9, 0x2988, 0x2988, 0x2167, 0x2167, 0x2146, 0x2146, + 0x2146, 0x1905, 0x18C4, 0x10C4, 0x10C4, 0x10C3, 0x18C4, 0x1904, 0x1905, 0x2146, 0x2987, 0x31C8, + 0x422A, 0x4A8C, 0x5AED, 0x632E, 0x6B8F, 0x7BF1, 0x7C12, 0x8452, 0x8C73, 0x8C94, 0x8C94, 0x8C93, + 0x8473, 0x8432, 0x7BF1, 0x73D0, 0x6B90, 0x636F, 0x634E, 0x52CD, 0x39E9, 0x94B4, 0x8452, 0x31A7, + 0x2145, 0x2125, 0x2145, 0x2945, 0x2945, 0x2145, 0x2125, 0x2124, 0x2124, 0x2125, 0x2145, 0x2104, + 0x18C3, 0x10A3, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x10A2, 0x1083, 0x1083, 0x1083, 0x1083, + 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x0862, 0x0862, + 0x1062, 0x1062, 0x0862, 0x0862, 0x0862, 0x0862, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x18E4, 0x18E4, 0x18E4, 0x1082, 0x10A3, 0x2125, + 0x2946, 0x2105, 0x18C3, 0x2125, 0x6B8E, 0x2104, 0x31C7, 0x52AC, 0x4A8B, 0x10A3, 0x0000, 0x0021, + 0x0000, 0x0000, 0x31A7, 0x7BF1, 0x7C11, 0x94B4, 0x2945, 0x31A6, 0x18C3, 0x1062, 0x632E, 0x6B6F, + 0x2946, 0x18C3, 0x4AAB, 0x52ED, 0x528B, 0x2125, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0842, 0x0842, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0842, 0x1082, 0x0862, 0x0862, 0x1082, 0x10A3, 0x10C3, 0x18C4, 0x1904, 0x2966, + 0x3187, 0x31C8, 0x3A09, 0x424B, 0x426B, 0x426B, 0x422A, 0x39E9, 0x2987, 0x2987, 0x2146, 0x2146, + 0x2125, 0x2125, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18A3, 0x10A3, + 0x1082, 0x1082, 0x1082, 0x18E4, 0x2946, 0x2945, 0x2946, 0x2146, 0x2146, 0x2146, 0x2125, 0x2125, + 0x2125, 0x2125, 0x2125, 0x2125, 0x2146, 0x2146, 0x2146, 0x2146, 0x2967, 0x2967, 0x39E8, 0x39E8, + 0x3A09, 0x424A, 0x4A8B, 0x52CC, 0x5B0D, 0x5B2E, 0x6B6F, 0x73D0, 0x7C11, 0x8C52, 0x9493, 0x9CF5, + 0xA556, 0xB5B8, 0xC63A, 0xCE9B, 0xDEDC, 0xE73D, 0xEF7E, 0xF79F, 0xF7BF, 0xF7BF, 0xF7BF, 0xF7BF, + 0xF7BF, 0xF7DF, 0xFFDF, 0xFFDF, 0xFFDF, 0xFFDF, 0xF7BF, 0xEF7E, 0xE73C, 0xE73C, 0xDEFB, 0xDEDB, + 0xD6BB, 0xD6BB, 0xCE7A, 0xCE7A, 0xC659, 0xC618, 0xB5B7, 0xA535, 0x94D4, 0x8C72, 0x8431, 0x73AF, + 0x632E, 0x52AC, 0x4A8B, 0x31C8, 0x3A09, 0x2146, 0x1905, 0x1905, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x10C4, 0x10C4, 0x10C4, 0x10C3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x1083, 0x1082, 0x1082, 0x1083, + 0x1083, 0x1083, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x18E4, 0x18E4, 0x2105, 0x2125, 0x2126, 0x2126, + 0x1926, 0x1926, 0x2126, 0x2126, 0x2126, 0x2126, 0x2146, 0x2146, 0x2146, 0x2146, 0x2987, 0x2987, + 0x39E8, 0x4229, 0x426B, 0x52CC, 0x5B2E, 0x6B6F, 0x73D1, 0x7C12, 0x8453, 0x8C94, 0x94D5, 0x9D15, + 0xA556, 0xAD97, 0xB5B8, 0xB5F9, 0xBE3A, 0xC67B, 0xCE9B, 0xD6DC, 0xDEFD, 0xD6BB, 0x8431, 0xBDF9, + 0xDF1D, 0xE77E, 0xEF7F, 0xDF3D, 0x8452, 0x31A7, 0x0041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0862, 0x1062, 0x1062, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x1062, 0x18E4, 0x18E4, 0x18E4, 0x10A3, 0x10A3, 0x2946, 0x2987, 0x0841, 0x20E4, + 0x2945, 0x18E4, 0x6B6F, 0x634F, 0x5B0E, 0x10A3, 0x0000, 0x0021, 0x0000, 0x0000, 0x39E8, 0x8C73, + 0x8CB4, 0x94D5, 0xA535, 0x2945, 0x18E4, 0x5AEC, 0x6BAF, 0x4229, 0x0862, 0x4229, 0x4A8B, 0x2966, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0021, 0x0862, 0x0862, 0x0862, 0x0862, 0x1082, 0x1082, 0x1062, 0x7BCF, + 0x5AEC, 0x0862, 0x0862, 0x0862, 0x0842, 0x0021, 0x422A, 0x52AC, 0x4A8B, 0x4A8B, 0x424B, 0x424B, + 0x3A2A, 0x39E9, 0x31E9, 0x31E9, 0x29A8, 0x29A8, 0x2146, 0x2104, 0x2946, 0x2946, 0x2146, 0x2146, + 0x31A8, 0x3A09, 0x424B, 0x4A8B, 0x4A8C, 0x4A8C, 0x4A8C, 0x4A8C, 0x4A8C, 0x428C, 0x424A, 0x424A, + 0x3A2A, 0x39E9, 0x39E9, 0x39E9, 0x3A09, 0x3A09, 0x4209, 0x0882, 0x10A3, 0x10A3, 0x1082, 0x1082, + 0x10A3, 0x10A2, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10C3, 0x10C3, + 0x10C4, 0x18C4, 0x18E4, 0x18E4, 0x2105, 0x2105, 0x2966, 0x2966, 0x31A7, 0x31A7, 0x39E9, 0x422A, + 0x4A6B, 0x4A6B, 0x52CC, 0x5B0D, 0x632E, 0x6B6F, 0x7390, 0x7390, 0x73D0, 0x7C12, 0x8452, 0x8C73, + 0x94B4, 0x9CF5, 0xA536, 0xAD77, 0xB5B7, 0xBDF8, 0xC639, 0xC67A, 0xCE9B, 0xD6DC, 0xDEFC, 0xDEFC, + 0xDEFC, 0xD6BB, 0xC659, 0xB5B7, 0xA515, 0x94B3, 0x8C52, 0x83F0, 0x73AF, 0x6B6E, 0x632D, 0x5AEC, + 0x52AB, 0x4A49, 0x39C8, 0x39C8, 0x3187, 0x3187, 0x2966, 0x2966, 0x2146, 0x2105, 0x18E4, 0x10A3, + 0x18E4, 0x18E4, 0x10C4, 0x10C4, 0x10A3, 0x10A3, 0x10A3, 0x1083, 0x1083, 0x1083, 0x0883, 0x0882, + 0x1082, 0x1082, 0x1082, 0x1082, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10C3, 0x10C3, + 0x18C4, 0x18C4, 0x1905, 0x1905, 0x2125, 0x2125, 0x2146, 0x2146, 0x2167, 0x2167, 0x2167, 0x2168, + 0x2168, 0x2168, 0x2147, 0x29A8, 0x31C8, 0x31C8, 0x3A0A, 0x3A0A, 0x4A8B, 0x52AC, 0x5B0D, 0x634E, + 0x6B90, 0x73D1, 0x7BF1, 0x7C32, 0x8473, 0x8CB4, 0x94F5, 0xA536, 0xB597, 0xBDF9, 0xC63A, 0xCE5A, + 0xCE7B, 0xD6BC, 0xD6BC, 0xCE7B, 0xC65A, 0xAD56, 0x18C3, 0x18C3, 0x2104, 0x2145, 0x2125, 0x18C4, + 0x1083, 0x0862, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x0862, 0x0862, 0x0862, 0x528A, 0xCE79, 0x2946, 0x0862, + 0x0862, 0x0862, 0x0042, 0x0042, 0x0022, 0x0022, 0x0021, 0x0001, 0x0000, 0x0842, 0x2967, 0x31E9, + 0x3A0A, 0x31E9, 0x29A8, 0x2125, 0x0862, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, + 0x18C4, 0x18C4, 0x18E4, 0x0862, 0x18E4, 0x39E8, 0x2966, 0x1082, 0x18C3, 0x73B0, 0x73F2, 0x6BB1, + 0x636F, 0x10A3, 0x0000, 0x0021, 0x0000, 0x0000, 0x3A08, 0x94B4, 0x94D5, 0x94D5, 0xA535, 0xA535, + 0x8C93, 0x7C11, 0x632D, 0x0021, 0x31A7, 0x4229, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0842, + 0x0862, 0x0862, 0x0862, 0x0862, 0x1082, 0x1082, 0x2104, 0x632C, 0x94B2, 0x0862, 0x0862, 0x0862, + 0x0000, 0x18E4, 0x3A2A, 0x426C, 0x4A8B, 0x4A8B, 0x424B, 0x424B, 0x3A2A, 0x3A2A, 0x31E9, 0x31E9, + 0x31E9, 0x29A8, 0x2987, 0x2146, 0x2946, 0x2946, 0x2146, 0x2146, 0x2966, 0x2966, 0x2966, 0x2966, + 0x2946, 0x2966, 0x2966, 0x2967, 0x31A8, 0x31E9, 0x3A0A, 0x424A, 0x3A2A, 0x3A2A, 0x422B, 0x422B, + 0x428C, 0x4AAC, 0x9CF4, 0x52AB, 0x0841, 0x10A3, 0x1082, 0x1082, 0x8430, 0x4A69, 0x10A3, 0x2104, + 0x2104, 0x2104, 0x2125, 0x2125, 0x2125, 0x2125, 0x2125, 0x2145, 0x2945, 0x2945, 0x2966, 0x2966, + 0x2966, 0x3186, 0x2966, 0x2966, 0x31A7, 0x31A7, 0x31C8, 0x39E9, 0x39E8, 0x4209, 0x4229, 0x424A, + 0x4A4A, 0x4A8B, 0x52AB, 0x52AC, 0x52AC, 0x52AC, 0x52CC, 0x5AEC, 0x5AED, 0x5B0D, 0x632D, 0x6B4E, + 0x6B8F, 0x73AF, 0x73AF, 0x7BD0, 0x7BF0, 0x7C11, 0x8411, 0x8411, 0x7C10, 0x7BD0, 0x738F, 0x634D, + 0x5ACC, 0x52AB, 0x528A, 0x4A49, 0x4208, 0x39E8, 0x39C7, 0x31A7, 0x3186, 0x2945, 0x2945, 0x2125, + 0x2125, 0x2104, 0x2104, 0x2105, 0x2105, 0x2105, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x2104, + 0x2104, 0x2104, 0x18E4, 0x18E4, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, + 0x18C3, 0x18C3, 0x18C3, 0x18E4, 0x10A3, 0x4228, 0x9CF4, 0x10C3, 0x18C4, 0x528B, 0x1905, 0x1905, + 0x2125, 0x2125, 0x2146, 0x2146, 0x2167, 0x2189, 0x320B, 0x29AA, 0x29A9, 0x29A9, 0x29A8, 0x29A8, + 0x31C8, 0x31C8, 0x31C8, 0x39C8, 0x39E8, 0x3A09, 0x4229, 0x424A, 0x4A4A, 0x4A6A, 0x4A6A, 0x4A4A, + 0x4A6A, 0x528A, 0x5AAA, 0x5A89, 0x5248, 0x4A07, 0x39A5, 0x2924, 0x20E3, 0x1882, 0x1061, 0x1061, + 0x1082, 0x18C3, 0x18C3, 0x18C3, 0x62EB, 0x8C30, 0x0862, 0x1082, 0x0862, 0x0862, 0x0020, 0x2965, + 0xA535, 0xA535, 0x9D35, 0x9D35, 0x94F4, 0x94F4, 0x94D4, 0x94D4, 0x8C93, 0x8C93, 0x7C32, 0x634F, + 0x634E, 0x2986, 0x0000, 0x0022, 0x10C5, 0x0022, 0x0000, 0x2946, 0x39E9, 0x39E9, 0x31C9, 0x31C9, + 0x31E9, 0x39E9, 0x3A0A, 0x3A09, 0x39E9, 0x39E9, 0x3A0A, 0x3A0A, 0x426B, 0x5B0E, 0x7BF0, 0x0000, + 0x0000, 0x0862, 0x0862, 0x0862, 0x73AF, 0x6B4D, 0x2125, 0x0862, 0x0862, 0x0862, 0x0042, 0x0042, + 0x0022, 0x0022, 0x0043, 0x08C5, 0x4ACD, 0x7433, 0x7413, 0x6BD2, 0x7C73, 0x6BD1, 0x4ACD, 0x42AD, + 0x3A6C, 0x29C9, 0x10C4, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0842, 0x18C4, 0x18E4, 0x18E4, + 0x0841, 0x31A7, 0x4A6B, 0x5B0D, 0x73F1, 0x7C12, 0x73F2, 0x73F2, 0x73B1, 0x1083, 0x0000, 0x0021, + 0x0000, 0x0000, 0x3A08, 0x94B4, 0x94D5, 0x94D5, 0x94F5, 0x94D5, 0x8473, 0x7BF0, 0x10C3, 0x1904, + 0x39E8, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x18E4, 0x2125, + 0x2987, 0x39E8, 0x4A8B, 0x7BF0, 0x94B3, 0x5B0D, 0x10C4, 0x0862, 0x0883, 0x0883, 0x1082, 0x1082, + 0x1083, 0x1083, 0x10A3, 0x2945, 0x18C3, 0x0862, 0x1082, 0x0841, 0x0041, 0x2146, 0x2146, 0x1905, + 0x2105, 0x2105, 0x1905, 0x1904, 0x1904, 0x1904, 0x1904, 0x1904, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, + 0x18C3, 0x18C3, 0x18C3, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x2125, 0x3A09, 0x9CF3, 0x6B4D, + 0x2104, 0x1082, 0x10A3, 0x10A3, 0x73AE, 0x4208, 0x18E4, 0x1082, 0x0000, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0000, 0x0841, + 0x18C3, 0x4A49, 0x6B4D, 0x2966, 0x31A7, 0x5B2D, 0x2125, 0x1083, 0x0000, 0x0001, 0x0022, 0x0043, + 0x0064, 0x0065, 0x0065, 0x0065, 0x0043, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1061, 0x1061, + 0x630C, 0x5ACB, 0x18C3, 0x1083, 0x1082, 0x0000, 0x0020, 0x18C3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x10C4, 0x10C4, 0x18C4, 0x18C4, 0x18E5, 0x18E5, 0x18E4, 0x1905, 0x0862, 0x10C5, 0x42CF, 0x6C76, + 0x9DBB, 0x32F1, 0x19ED, 0x08E6, 0x0001, 0x0842, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0841, 0x0841, 0x0000, 0x0841, 0x0862, 0x0862, + 0x18E3, 0x18E3, 0x0863, 0x0863, 0x0062, 0x0062, 0x0063, 0x0063, 0x0064, 0x08C7, 0x322C, 0x7C95, + 0x84B6, 0x7454, 0x63D2, 0x42AD, 0x52CD, 0x4A8C, 0x31C9, 0x3A2B, 0x3A6C, 0x3A4C, 0x320B, 0x29C9, + 0x08A4, 0x0022, 0x0022, 0x0022, 0x0042, 0x0042, 0x18E4, 0x18E4, 0x18E4, 0x0862, 0x52AB, 0x6B6F, + 0x73D1, 0x73D1, 0x73D1, 0x73D1, 0x6B90, 0x1083, 0x0000, 0x0021, 0x0000, 0x0000, 0x39E8, 0x8C53, + 0x8C94, 0x8C94, 0x8CB4, 0x8CB4, 0x8452, 0x39C8, 0x0882, 0x2966, 0x0841, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0021, 0x0021, 0x0842, 0x18C4, 0x10A3, 0x0041, 0x0021, 0x0883, 0x4208, 0x0882, 0x0021, + 0x18A3, 0x632D, 0xB5B7, 0x634E, 0x10C4, 0x0883, 0x1082, 0x1082, 0x1083, 0x1083, 0x2104, 0x4A69, + 0x18C3, 0x0862, 0x1083, 0x0000, 0x10A4, 0x10A4, 0x10A3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18E3, 0x3186, 0x39C7, 0x31A7, 0x0021, 0x10A3, 0x10A3, + 0x4208, 0x10A2, 0x1082, 0x0000, 0x10E5, 0x10E5, 0x08A5, 0x08A5, 0x10A4, 0x08A4, 0x08A4, 0x10A4, + 0x10A5, 0x10C4, 0x08A4, 0x08A4, 0x08A4, 0x08A4, 0x10E5, 0x10E5, 0x10E5, 0x10E5, 0x10E5, 0x10E5, + 0x10E5, 0x10E5, 0x10E5, 0x10E5, 0x10E5, 0x10E5, 0x1106, 0x1906, 0x1906, 0x1906, 0x1106, 0x1106, + 0x1106, 0x1906, 0x1906, 0x1926, 0x1926, 0x1926, 0x2147, 0x2147, 0x2167, 0x2167, 0x1947, 0x1947, + 0x1926, 0x1926, 0x1906, 0x1906, 0x18E5, 0x18E5, 0x10A4, 0x10A4, 0x10A3, 0x1083, 0x1083, 0x1084, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A4, 0x10A4, 0x10A4, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x10A4, 0x10C4, 0x10C4, 0x10E5, 0x18E5, 0x10E5, 0x10E5, 0x10E5, 0x1905, 0x1905, 0x1946, 0x2167, + 0x21A8, 0x21A8, 0x29C9, 0x29C9, 0x21A9, 0x1147, 0x0085, 0x0000, 0x0861, 0x18C3, 0x4A69, 0x18C4, + 0x2946, 0x2146, 0x10C4, 0x0001, 0x0063, 0x00A5, 0x00E7, 0x012A, 0x014B, 0x014B, 0x016C, 0x014B, + 0x012A, 0x0109, 0x00C6, 0x0085, 0x0883, 0x0883, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0861, 0x0861, 0x0861, 0x0861, 0x0881, 0x1101, 0x1961, 0x1961, 0x1961, 0x1960, 0x1961, 0x1100, + 0x0880, 0x0880, 0x0040, 0x0040, 0x0841, 0x0841, 0x0000, 0x1061, 0x18E3, 0x4228, 0x0862, 0x1083, + 0x0841, 0x0000, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10C4, 0x10C4, 0x18C4, 0x18C4, + 0x18E5, 0x10C4, 0x10A3, 0x0021, 0x1989, 0x53B4, 0x8D39, 0x7CD8, 0x5BB3, 0x11EF, 0x0A0F, 0x09EF, + 0x098B, 0x0064, 0x0021, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x1082, 0x0841, 0x0000, 0x0000, 0x0862, 0x0862, 0x10A3, 0x5ACB, 0x0863, 0x0863, + 0x0062, 0x0062, 0x0063, 0x0085, 0x1169, 0x42EF, 0x8D38, 0x7C95, 0x5330, 0x2148, 0x1927, 0x0929, + 0x324D, 0x2A0C, 0x1129, 0x0085, 0x0884, 0x2147, 0x320B, 0x320B, 0x29EA, 0x1106, 0x0022, 0x0022, + 0x0042, 0x0042, 0x0882, 0x18E4, 0x2125, 0x10A3, 0x2125, 0x6B8F, 0x73D1, 0x73D1, 0x73D1, 0x73D1, + 0x6B90, 0x0883, 0x0001, 0x0021, 0x0000, 0x0000, 0x3187, 0x7BF0, 0x7BF1, 0x7C11, 0x7C11, 0x7C11, + 0x632D, 0x0021, 0x2945, 0x0020, 0x0000, 0x0000, 0x0020, 0x0841, 0x0841, 0x0841, 0x0862, 0x0862, + 0x0000, 0x0882, 0x2146, 0x31E9, 0x426B, 0x8452, 0x7BF1, 0x8CB4, 0x8C94, 0x52CC, 0x0862, 0x5AEC, + 0x8C93, 0x1105, 0x0883, 0x0883, 0x1083, 0x1083, 0x2125, 0x2125, 0x1083, 0x1083, 0x1082, 0x0842, + 0x18C4, 0x18C4, 0x0841, 0x0000, 0x0884, 0x08A4, 0x08A4, 0x08A4, 0x08A4, 0x08A5, 0x08A5, 0x08A5, + 0x08C5, 0x08C5, 0x08A5, 0x08A5, 0x08A4, 0x0884, 0x08A4, 0x08A4, 0x08A4, 0x08A4, 0x08A4, 0x08A4, + 0x08A4, 0x08A4, 0x08A5, 0x08A4, 0x08A4, 0x08A4, 0x08A4, 0x08A4, 0x0884, 0x0884, 0x0884, 0x0063, + 0x0020, 0x0020, 0x2125, 0x4A6A, 0x422A, 0x2105, 0x0882, 0x0882, 0x39C7, 0x1082, 0x0000, 0x1084, + 0x0863, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x0043, 0x0043, 0x0000, 0x10A3, 0x1905, 0x1905, 0x2105, 0x2105, 0x0021, 0x0042, + 0x0044, 0x00A6, 0x012A, 0x01CE, 0x01F0, 0x0210, 0x0210, 0x01EF, 0x01CE, 0x016C, 0x00E8, 0x00A6, + 0x0064, 0x0043, 0x0022, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0080, 0x0900, 0x1160, 0x19A0, 0x19C0, 0x19C0, 0x19C0, 0x19A0, 0x0900, 0x08A0, 0x0040, 0x0040, + 0x0020, 0x0020, 0x0020, 0x0020, 0x1082, 0x2966, 0x1082, 0x1082, 0x0000, 0x0861, 0x18E4, 0x10A3, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x18A3, 0x18A3, 0x18C4, 0x18C4, 0x10A3, 0x10A3, 0x0001, 0x08E7, + 0x4BB4, 0x5393, 0x11AC, 0x012C, 0x010C, 0x010C, 0x010C, 0x016D, 0x09AD, 0x096B, 0x0001, 0x0841, + 0x1062, 0x1062, 0x1062, 0x1062, 0x1062, 0x1062, 0x0862, 0x0862, 0x0842, 0x0842, 0x0842, 0x0842, + 0x0021, 0x0000, 0x0842, 0x0842, 0x0862, 0x10A3, 0x1083, 0x0062, 0x0063, 0x0063, 0x00A6, 0x21CB, + 0x5B71, 0x8D18, 0x6BD3, 0x2189, 0x324E, 0x8D59, 0xB6FE, 0x5D1B, 0x3C78, 0x2BD6, 0x1356, 0x3396, + 0x09EF, 0x0909, 0x08A5, 0x2168, 0x5B2F, 0x21A9, 0x10A5, 0x0022, 0x0022, 0x0022, 0x0842, 0x18C4, + 0x2925, 0x2925, 0x0861, 0x4A8B, 0x6BB0, 0x6BB0, 0x6BB0, 0x6B90, 0x634F, 0x0883, 0x0001, 0x0021, + 0x0000, 0x0000, 0x2125, 0x632E, 0x634E, 0x634E, 0x634E, 0x634E, 0x18C3, 0x2104, 0x0020, 0x0020, + 0x0000, 0x0021, 0x0841, 0x0841, 0x0841, 0x1082, 0x0021, 0x0021, 0x10C4, 0x2146, 0x2146, 0x2146, + 0x1905, 0x1946, 0x3209, 0x7BF1, 0xDEFC, 0xF7DF, 0xCE5A, 0x31A8, 0x18C4, 0x6BB0, 0x1928, 0x0883, + 0x1083, 0x1083, 0x1083, 0x1083, 0x1083, 0x1083, 0x1083, 0x0842, 0x18C4, 0x18C4, 0x0000, 0x0863, + 0x1149, 0x198B, 0x118B, 0x118B, 0x118B, 0x118B, 0x11AB, 0x11AB, 0x11AB, 0x118B, 0x118B, 0x118B, + 0x19AB, 0x1948, 0x08A4, 0x08A4, 0x10C5, 0x08C5, 0x0908, 0x0908, 0x0129, 0x0129, 0x094A, 0x094A, + 0x118A, 0x118A, 0x118B, 0x118B, 0x116A, 0x116A, 0x198A, 0x1128, 0x0084, 0x0020, 0x10A3, 0x528B, + 0x3A09, 0x1904, 0x0841, 0x10A3, 0x18E4, 0x0862, 0x0001, 0x1084, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, 0x0064, 0x0085, 0x00A6, 0x0023, 0x0001, 0x0065, + 0x0021, 0x0862, 0x1905, 0x1905, 0x2105, 0x18C4, 0x0042, 0x0042, 0x0064, 0x0109, 0x01CE, 0x02F4, + 0x03B7, 0x03B7, 0x03B8, 0x03B8, 0x0356, 0x0251, 0x012A, 0x00E8, 0x08E7, 0x00C6, 0x1127, 0x0043, + 0x1148, 0x0906, 0x1188, 0x1147, 0x1106, 0x0000, 0x0020, 0x0020, 0x08A0, 0x11A0, 0x2AA0, 0x3B81, + 0x3BA1, 0x3BA1, 0x3BC2, 0x3341, 0x1A00, 0x0900, 0x0040, 0x0040, 0x0020, 0x0020, 0x0020, 0x0020, + 0x1082, 0x1082, 0x1082, 0x1082, 0x0000, 0x2104, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x18A3, 0x18A3, 0x18C4, 0x18C4, 0x10A3, 0x0000, 0x0000, 0x0108, 0x19CD, 0x00EA, 0x012C, 0x012C, + 0x0A0F, 0x014E, 0x010C, 0x010C, 0x00EA, 0x010A, 0x0001, 0x0001, 0x1062, 0x1062, 0x1062, 0x1062, + 0x1062, 0x1062, 0x0862, 0x0862, 0x0842, 0x0842, 0x0842, 0x0842, 0x0021, 0x0000, 0x0842, 0x0842, + 0x0862, 0x0862, 0x0062, 0x0062, 0x0063, 0x0085, 0x21CB, 0x530F, 0xADFB, 0x5310, 0x21A9, 0x53B3, + 0xAE9D, 0xDFDF, 0xCFBF, 0x8F3F, 0x3E5F, 0x15DF, 0x0D9E, 0x0D3D, 0x0BF9, 0x2315, 0x2AB2, 0x1109, + 0x1107, 0x1989, 0x1947, 0x10A5, 0x0022, 0x0022, 0x0842, 0x0842, 0x2925, 0x2925, 0x18E4, 0x1082, + 0x636F, 0x636F, 0x634F, 0x530D, 0x4A8C, 0x0862, 0x0001, 0x0021, 0x0000, 0x0000, 0x0862, 0x4229, + 0x52AB, 0x5ACC, 0x5AED, 0x39C8, 0x0841, 0x1082, 0x0000, 0x0000, 0x0041, 0x0041, 0x0842, 0x0842, + 0x1083, 0x0821, 0x0021, 0x10C4, 0x10A4, 0x0042, 0x0863, 0x1948, 0x322D, 0x42AF, 0x42CE, 0x31EA, + 0x18E6, 0x6B6F, 0xDEFC, 0xDF1D, 0x52AC, 0x0862, 0x4AAD, 0x1108, 0x0883, 0x0883, 0x1083, 0x1083, + 0x1083, 0x1083, 0x0862, 0x0862, 0x18E4, 0x1082, 0x0000, 0x0042, 0x4B92, 0x6C97, 0x74B8, 0x74B8, + 0x7CF9, 0x7CF9, 0x7D19, 0x7D19, 0x7CF9, 0x7CF9, 0x6CB7, 0x6CB7, 0x7497, 0x42CE, 0x0021, 0x10C4, + 0x0883, 0x0884, 0x6435, 0x6435, 0x6C56, 0x6C56, 0x74B7, 0x74B7, 0x74B7, 0x74B7, 0x6457, 0x6457, + 0x5C16, 0x53B4, 0x4B93, 0x21CB, 0x0022, 0x0022, 0x10C4, 0x424A, 0x4209, 0x18C4, 0x0841, 0x10A3, + 0x10A3, 0x0841, 0x0043, 0x0043, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0002, 0x0002, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0042, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0002, 0x0002, 0x0021, 0x0021, + 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, 0x0023, 0x0023, 0x0863, 0x0863, 0x08A5, 0x1128, + 0x19AB, 0x21EC, 0x222E, 0x2290, 0x2AF2, 0x08C7, 0x0022, 0x0022, 0x0043, 0x0841, 0x1905, 0x1905, + 0x18E5, 0x10A3, 0x0022, 0x0064, 0x0085, 0x014A, 0x02B3, 0x65FC, 0x86DE, 0x86DE, 0x7EDE, 0x7EDE, + 0x769E, 0x0B55, 0x014C, 0x00C8, 0x0929, 0x1A2D, 0x2C15, 0x118B, 0x22D0, 0x12B0, 0x124D, 0x1168, + 0x228D, 0x0021, 0x0020, 0x0020, 0x08E0, 0x2240, 0x8E0B, 0xBF4F, 0xC771, 0xC771, 0xC751, 0xC751, + 0x3321, 0x1160, 0x0080, 0x0080, 0x0020, 0x0020, 0x0020, 0x0020, 0x1082, 0x1082, 0x1062, 0x0841, + 0x0000, 0x18C3, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x18C3, 0x18C3, 0x18C4, 0x18C4, 0x18E4, 0x18E4, + 0x0021, 0x0000, 0x0000, 0x00A7, 0x00EA, 0x00EA, 0x012C, 0x014D, 0x257B, 0x1375, 0x012D, 0x010C, + 0x00EA, 0x00EA, 0x0022, 0x0000, 0x0000, 0x0862, 0x1062, 0x1062, 0x1062, 0x1062, 0x0862, 0x0862, + 0x0842, 0x0842, 0x0842, 0x0842, 0x0041, 0x0000, 0x0862, 0x0862, 0x0862, 0x0862, 0x0042, 0x0042, + 0x0063, 0x118B, 0x324C, 0x6371, 0x5B50, 0x08C7, 0x74D7, 0xC79F, 0xC7BF, 0xA79F, 0x66FF, 0x263E, + 0x0DDE, 0x05BE, 0x059E, 0x057E, 0x055E, 0x055E, 0x141A, 0x3B75, 0x196A, 0x08A5, 0x1907, 0x1106, + 0x0883, 0x0042, 0x0042, 0x0042, 0x18C4, 0x2946, 0x2125, 0x0862, 0x31A7, 0x52CD, 0x4A8B, 0x424A, + 0x31C8, 0x0041, 0x0001, 0x0021, 0x0000, 0x0000, 0x0000, 0x18E4, 0x4208, 0x4229, 0x4A4A, 0x0862, + 0x0841, 0x0000, 0x0000, 0x0000, 0x0041, 0x0041, 0x0842, 0x1083, 0x0821, 0x0821, 0x0862, 0x0021, + 0x0863, 0x21AA, 0x4312, 0x53F8, 0x6CDB, 0x95DD, 0xB6BF, 0xD73F, 0xBE7C, 0x6370, 0x1906, 0x8CB4, + 0x9D36, 0x3A2A, 0x0842, 0x29EA, 0x08E7, 0x0883, 0x1083, 0x1083, 0x1083, 0x1083, 0x0862, 0x0862, + 0x18E4, 0x1082, 0x0021, 0x08A4, 0x11CB, 0x11CB, 0x11CB, 0x19EC, 0x19EC, 0x19EC, 0x19EB, 0x19CB, + 0x11CB, 0x19CB, 0x11CB, 0x11AB, 0x11AB, 0x1169, 0x0001, 0x0062, 0x0042, 0x1127, 0x19CB, 0x19EB, + 0x19CB, 0x19EC, 0x21EC, 0x220C, 0x220C, 0x222D, 0x1A0D, 0x222D, 0x1A0D, 0x19EC, 0x11AC, 0x1149, + 0x0022, 0x0022, 0x10C4, 0x424A, 0x422A, 0x18C4, 0x0841, 0x10A3, 0x10A3, 0x0841, 0x0043, 0x0043, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0002, 0x0002, 0x0022, 0x0022, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0064, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0002, 0x0002, 0x0021, 0x0021, 0x0022, 0x0022, 0x0021, 0x0021, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0043, 0x0044, 0x0064, 0x0065, 0x0066, 0x00C7, + 0x0A30, 0x0929, 0x0022, 0x0022, 0x0863, 0x0841, 0x1905, 0x1905, 0x18E5, 0x10A4, 0x0022, 0x0064, + 0x0086, 0x014A, 0x0354, 0xC79F, 0xE7FF, 0xE7FF, 0xEFFF, 0xE7FF, 0xDFFF, 0x23D7, 0x014C, 0x00C8, + 0x0086, 0x22D0, 0x2BB4, 0x2331, 0x124D, 0x12B0, 0x2393, 0x1A2C, 0x228D, 0x0020, 0x0020, 0x0020, + 0x08E0, 0x2280, 0xCF15, 0xF7FB, 0xF7FC, 0xF7FC, 0xF7FC, 0xF7FC, 0x4BC3, 0x1180, 0x0080, 0x0080, + 0x0020, 0x0020, 0x0020, 0x0020, 0x1082, 0x1082, 0x1062, 0x0021, 0x0000, 0x10A3, 0x1083, 0x1083, + 0x10A3, 0x10A3, 0x18C3, 0x18C3, 0x18C4, 0x18C4, 0x18E4, 0x0861, 0x0000, 0x0021, 0x0000, 0x00A7, + 0x00EA, 0x00EA, 0x014D, 0x0A91, 0x16BF, 0x15DC, 0x016E, 0x012D, 0x00EA, 0x00EA, 0x0002, 0x0000, + 0x0000, 0x0000, 0x1062, 0x1062, 0x1062, 0x1062, 0x0862, 0x0862, 0x0842, 0x0842, 0x0842, 0x0842, + 0x0021, 0x0000, 0x0862, 0x0862, 0x0862, 0x0862, 0x0042, 0x0042, 0x0907, 0x21CB, 0x4ACE, 0x4A8D, + 0x00A6, 0x6478, 0x9EDF, 0x76FF, 0x46BF, 0x1E1E, 0x15DE, 0x149A, 0x1396, 0x0AF3, 0x1313, 0x1375, + 0x0CBB, 0x055E, 0x053E, 0x0C9C, 0x09CF, 0x118C, 0x0865, 0x10E5, 0x10C5, 0x0042, 0x0042, 0x0042, + 0x0842, 0x18C4, 0x18E4, 0x10A3, 0x0841, 0x3A09, 0x39C8, 0x31A7, 0x1905, 0x0021, 0x0001, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x18E4, 0x39C7, 0x2966, 0x0000, 0x0000, 0x0000, 0x2986, 0x4249, + 0x0041, 0x0041, 0x0841, 0x0841, 0x0021, 0x0021, 0x0001, 0x10C6, 0x21CC, 0x2A92, 0x3B58, 0x43BA, + 0x545C, 0x7D5E, 0xB69F, 0xD75F, 0xDF7F, 0xD75F, 0x9559, 0x1928, 0x426B, 0x634F, 0x2987, 0x0863, + 0x1949, 0x08A5, 0x1083, 0x1083, 0x1083, 0x1083, 0x1082, 0x1082, 0x18E5, 0x0882, 0x0000, 0x0063, + 0x096A, 0x096A, 0x118A, 0x118A, 0x118A, 0x118A, 0x1189, 0x1189, 0x0949, 0x118A, 0x0969, 0x0969, + 0x0949, 0x00E7, 0x0001, 0x0842, 0x0021, 0x00A5, 0x0969, 0x0969, 0x118A, 0x118A, 0x118A, 0x118A, + 0x118A, 0x11AA, 0x09AA, 0x098A, 0x0149, 0x0149, 0x0949, 0x08E7, 0x0021, 0x0021, 0x10C4, 0x424B, + 0x422A, 0x10C3, 0x0841, 0x10C3, 0x10C3, 0x0841, 0x0063, 0x0022, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, 0x0001, 0x0001, 0x0002, 0x0002, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0064, + 0x00A6, 0x0065, 0x0044, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0044, 0x0065, 0x0065, 0x016E, 0x00E8, 0x0001, 0x0022, + 0x0863, 0x0841, 0x1905, 0x1905, 0x18E5, 0x10C4, 0x0022, 0x0064, 0x0086, 0x010A, 0x02F4, 0xA73E, + 0xCFFF, 0xD7FF, 0xD7FF, 0xD7FF, 0xC7DF, 0x1396, 0x016C, 0x00C8, 0x0086, 0x22F1, 0x1A4D, 0x2BD4, + 0x09AA, 0x1AD0, 0x0989, 0x0043, 0x22CE, 0x0000, 0x0000, 0x0000, 0x08E0, 0x2260, 0xB691, 0xE7B9, + 0xE7B9, 0xEFB9, 0xEFB9, 0xEF99, 0x4362, 0x1160, 0x0040, 0x0040, 0x0041, 0x0041, 0x0000, 0x0000, + 0x1062, 0x1062, 0x0862, 0x0021, 0x0000, 0x1083, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x18A3, 0x18A3, + 0x18C4, 0x18C4, 0x0862, 0x0000, 0x0862, 0x18E4, 0x0000, 0x0086, 0x00CA, 0x00CA, 0x012C, 0x14F9, + 0x0EBF, 0x0EBF, 0x0AD3, 0x010D, 0x00EA, 0x00EA, 0x0002, 0x0000, 0x0000, 0x0000, 0x0021, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0842, 0x0041, 0x0041, 0x0021, 0x0000, 0x0841, 0x0841, + 0x0862, 0x0862, 0x0862, 0x0064, 0x19CB, 0x31C9, 0x4AAD, 0x08A5, 0x09EF, 0x449A, 0x35FF, 0x161F, + 0x0DDE, 0x1417, 0x1271, 0x2AF3, 0x1A0F, 0x11EE, 0x4332, 0x21ED, 0x1A2E, 0x12D2, 0x147A, 0x04FD, + 0x0C7C, 0x09D0, 0x0067, 0x0865, 0x0063, 0x0883, 0x0022, 0x0022, 0x0841, 0x4A49, 0x18E4, 0x1083, + 0x0021, 0x2125, 0x2987, 0x2125, 0x0862, 0x0021, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x2945, 0x18E4, 0x0000, 0x0000, 0x0000, 0x2104, 0x18E4, 0x0041, 0x0041, 0x0841, 0x0001, + 0x0021, 0x0021, 0x10C6, 0x19AC, 0x1A12, 0x11F4, 0x0974, 0x0153, 0x0174, 0x0194, 0x09F5, 0x4357, + 0x959B, 0xC6FF, 0xA61D, 0x7CB8, 0x1907, 0x2988, 0x428B, 0x1083, 0x08A4, 0x10E7, 0x1083, 0x1083, + 0x1083, 0x1083, 0x1082, 0x1082, 0x18E5, 0x0882, 0x0000, 0x0063, 0x0128, 0x0128, 0x0128, 0x0128, + 0x0128, 0x0128, 0x0128, 0x0128, 0x0128, 0x0128, 0x0108, 0x0108, 0x00E7, 0x00C6, 0x0001, 0x0842, + 0x0021, 0x00A5, 0x0108, 0x0128, 0x0149, 0x0149, 0x0149, 0x0149, 0x0169, 0x0169, 0x0149, 0x0149, + 0x0149, 0x0108, 0x0108, 0x00C6, 0x0021, 0x0021, 0x18C4, 0x424B, 0x422A, 0x18C4, 0x0841, 0x10C3, + 0x10C3, 0x0841, 0x0063, 0x0022, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0064, 0x0064, 0x00E8, 0x00C7, 0x0085, 0x0044, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0002, 0x0002, 0x0001, 0x0001, 0x0022, 0x0022, 0x0002, 0x0002, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0044, 0x0044, 0x0065, 0x0065, 0x014C, 0x00C7, 0x0001, 0x0022, 0x0863, 0x0841, 0x1905, 0x1905, + 0x18E5, 0x10C4, 0x0022, 0x0064, 0x0086, 0x010A, 0x0211, 0x0BF8, 0x1D3D, 0x1D3D, 0x1D3D, 0x1D3D, + 0x147B, 0x0293, 0x012B, 0x00C8, 0x0085, 0x222D, 0x0065, 0x1A4D, 0x1147, 0x1A0C, 0x08E6, 0x0021, + 0x21E9, 0x0000, 0x0000, 0x0000, 0x08C0, 0x19E0, 0x43A1, 0x64C2, 0x6CE2, 0x6CE2, 0x6481, 0x53E1, + 0x2260, 0x0900, 0x0040, 0x0040, 0x0041, 0x0041, 0x0000, 0x0000, 0x1062, 0x1062, 0x0862, 0x0021, + 0x0000, 0x1083, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x18A3, 0x18A3, 0x18C4, 0x18C4, 0x0000, 0x0841, + 0x18E4, 0x1905, 0x0000, 0x0086, 0x00CA, 0x00CA, 0x09AE, 0x26DF, 0x16DF, 0x16DF, 0x1CF9, 0x010D, + 0x00EA, 0x00EA, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0842, 0x0842, 0x0041, 0x0041, 0x0021, 0x0000, 0x0841, 0x0841, 0x0862, 0x0862, 0x0064, 0x0949, + 0x1948, 0x0021, 0x10C4, 0x00C8, 0x0AB4, 0x141A, 0x0D7F, 0x0D5E, 0x12F3, 0x3313, 0x1A0F, 0x4374, + 0x5BF5, 0x6415, 0x5B92, 0x3A8E, 0x326E, 0x1A2E, 0x1A90, 0x1335, 0x0C7D, 0x13DA, 0x116E, 0x08E8, + 0x0042, 0x0042, 0x0022, 0x0022, 0x0842, 0x3186, 0x3186, 0x1082, 0x0862, 0x10C4, 0x2125, 0x10A3, + 0x0021, 0x0021, 0x0001, 0x0021, 0x0000, 0x0841, 0x2124, 0x2103, 0x0000, 0x18E4, 0x1082, 0x0021, + 0x0021, 0x0021, 0x0041, 0x0041, 0x0041, 0x0041, 0x0001, 0x0001, 0x0000, 0x0884, 0x092B, 0x11B1, + 0x0952, 0x00D0, 0x00F1, 0x0132, 0x0174, 0x0174, 0x0195, 0x0195, 0x0194, 0x2254, 0x6459, 0x6C78, + 0x5372, 0x08A4, 0x2988, 0x2967, 0x0000, 0x10C5, 0x08C5, 0x1083, 0x1082, 0x1082, 0x1082, 0x1082, + 0x18E5, 0x0862, 0x0000, 0x0042, 0x0128, 0x0128, 0x0129, 0x0129, 0x0129, 0x0149, 0x0129, 0x0129, + 0x0128, 0x0128, 0x0108, 0x0108, 0x00E7, 0x00C6, 0x0000, 0x0021, 0x0021, 0x00A5, 0x0128, 0x0128, + 0x0149, 0x014A, 0x016A, 0x016A, 0x014A, 0x014A, 0x014A, 0x014A, 0x014A, 0x0128, 0x0108, 0x00C6, + 0x0000, 0x0000, 0x18C4, 0x426B, 0x424B, 0x18E4, 0x0841, 0x10C4, 0x18E4, 0x0841, 0x0063, 0x0042, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0002, 0x0002, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0044, 0x0044, 0x0085, 0x00A7, 0x0129, 0x00E9, 0x00A7, 0x0065, 0x0044, 0x0044, 0x0022, 0x0022, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0024, 0x0024, 0x0044, 0x0044, 0x0045, 0x0045, + 0x010B, 0x00A8, 0x0001, 0x0043, 0x0884, 0x0841, 0x2126, 0x2126, 0x1905, 0x1905, 0x0043, 0x0064, + 0x0086, 0x00E9, 0x01AE, 0x0274, 0x0338, 0x0379, 0x037A, 0x0358, 0x0296, 0x01AF, 0x00E9, 0x00A7, + 0x0064, 0x0064, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x00A0, 0x1100, 0x2200, 0x32A0, 0x3AE0, 0x3AE0, 0x3AC0, 0x2A40, 0x1980, 0x08C0, 0x0060, 0x0060, + 0x0021, 0x0021, 0x0000, 0x0000, 0x1062, 0x1062, 0x0862, 0x0021, 0x0000, 0x1062, 0x1083, 0x1083, + 0x1083, 0x1083, 0x18A3, 0x18A3, 0x10A3, 0x0000, 0x0021, 0x18C4, 0x2146, 0x2146, 0x0000, 0x0865, + 0x00CA, 0x00CA, 0x010C, 0x01CF, 0x01CF, 0x01CF, 0x09CF, 0x00EC, 0x00CA, 0x00CA, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0841, 0x0842, 0x0842, 0x0041, 0x0041, 0x0041, 0x0041, + 0x0021, 0x0000, 0x0841, 0x0841, 0x0842, 0x0842, 0x0064, 0x118A, 0x10A4, 0x0021, 0x0002, 0x2AF4, + 0x12D6, 0x0CBE, 0x0CFE, 0x12B3, 0x00C8, 0x3B32, 0x84B6, 0xCEBC, 0x8CB5, 0x4AEE, 0x322B, 0x322C, + 0x3A4C, 0x3AAF, 0x328F, 0x11CC, 0x12F4, 0x0C1C, 0x12F6, 0x0067, 0x0022, 0x0022, 0x0041, 0x0041, + 0x0862, 0x0862, 0x1082, 0x1082, 0x10A3, 0x10A3, 0x18E5, 0x0842, 0x1082, 0x5ACB, 0x0882, 0x0021, + 0x0000, 0x10A2, 0x632C, 0x9492, 0x0000, 0x10A3, 0x1082, 0x0021, 0x0021, 0x0021, 0x0041, 0x0041, + 0x0041, 0x0041, 0x0001, 0x0001, 0x0043, 0x08E9, 0x1170, 0x0931, 0x00D0, 0x00D0, 0x00F1, 0x0132, + 0x0174, 0x0174, 0x0195, 0x0195, 0x0194, 0x0194, 0x0152, 0x2253, 0x4B53, 0x3A8E, 0x0043, 0x2967, + 0x10A3, 0x0862, 0x08C5, 0x0863, 0x1082, 0x1082, 0x1082, 0x1082, 0x18E5, 0x0862, 0x0000, 0x0042, + 0x0128, 0x0128, 0x2C15, 0x2353, 0x12F1, 0x2C56, 0x09ED, 0x23B3, 0x01CC, 0x23F5, 0x122D, 0x122D, + 0x00E7, 0x00C6, 0x0021, 0x0021, 0x0021, 0x00A5, 0x0128, 0x016A, 0x2C57, 0x1BB5, 0x2CD9, 0x2CD9, + 0x1B32, 0x2C78, 0x12F2, 0x2CD8, 0x2C57, 0x014A, 0x0108, 0x00C6, 0x0000, 0x0000, 0x18E4, 0x426B, + 0x424B, 0x18E4, 0x0841, 0x10C4, 0x18E4, 0x0841, 0x0042, 0x0042, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0002, 0x0002, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0044, 0x00A7, 0x0109, + 0x2D79, 0x2518, 0x00E9, 0x00A7, 0x0044, 0x0044, 0x0022, 0x0022, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0024, 0x0024, 0x0044, 0x0044, 0x0045, 0x0045, 0x00A8, 0x0045, 0x0021, 0x0043, + 0x0884, 0x0841, 0x2126, 0x2126, 0x1905, 0x1905, 0x0043, 0x0064, 0x0085, 0x00E9, 0x016D, 0x0212, + 0x0296, 0x02D7, 0x02D8, 0x0296, 0x0213, 0x018E, 0x00E9, 0x00A7, 0x0064, 0x0064, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x1100, 0x1180, 0x2200, + 0x2A20, 0x2A20, 0x2A40, 0x21C0, 0x1140, 0x08C0, 0x0060, 0x0060, 0x0021, 0x0021, 0x0000, 0x0000, + 0x1062, 0x1062, 0x0862, 0x0021, 0x0000, 0x1062, 0x1083, 0x1083, 0x1083, 0x1083, 0x18A3, 0x18A3, + 0x0862, 0x0020, 0x18C4, 0x2126, 0x2146, 0x2146, 0x0000, 0x0865, 0x00CA, 0x00CA, 0x00CA, 0x00AA, + 0x00AA, 0x00CB, 0x00EC, 0x00EC, 0x00CA, 0x00CA, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0841, 0x0842, 0x0842, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0000, 0x0841, 0x0841, + 0x0842, 0x0842, 0x0908, 0x1927, 0x0021, 0x0021, 0x1928, 0x094E, 0x0BDC, 0x045E, 0x0AB4, 0x096B, + 0x19AB, 0x9D57, 0xCE7B, 0x5B2F, 0x426C, 0x31EA, 0x29C9, 0x29C9, 0x2187, 0x2168, 0x320B, 0x21CB, + 0x21ED, 0x1337, 0x0BBC, 0x096E, 0x2148, 0x0022, 0x0041, 0x0041, 0x0862, 0x0862, 0x1082, 0x1082, + 0x10A3, 0x18E4, 0x10C4, 0x0021, 0x7BF0, 0x634D, 0x18E4, 0x0021, 0x0000, 0x0862, 0x10C3, 0x2945, + 0x0000, 0x10A3, 0x10A3, 0x0021, 0x0021, 0x0021, 0x0821, 0x0821, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0086, 0x00ED, 0x0932, 0x00D0, 0x00D0, 0x00D0, 0x0111, 0x0153, 0x0194, 0x01B5, 0x0196, 0x0195, + 0x0174, 0x0174, 0x0112, 0x0112, 0x19D0, 0x3B11, 0x2168, 0x10A4, 0x2125, 0x0000, 0x0884, 0x0884, + 0x0862, 0x0862, 0x0862, 0x0862, 0x1905, 0x0862, 0x0000, 0x0042, 0x00E8, 0x018A, 0x2CB8, 0x12F3, + 0x2417, 0x01AD, 0x0A0E, 0x2498, 0x1394, 0x1D7C, 0x13F6, 0x0A6F, 0x00C7, 0x00A5, 0x0000, 0x0000, + 0x0021, 0x00A5, 0x00E7, 0x09AB, 0x2C36, 0x1AF2, 0x0A2F, 0x1313, 0x2416, 0x01AD, 0x2478, 0x1C37, + 0x23B5, 0x09CC, 0x00E7, 0x00A5, 0x0000, 0x0000, 0x18E4, 0x4A8B, 0x4A8C, 0x2125, 0x0841, 0x10A3, + 0x18C4, 0x0841, 0x0063, 0x0063, 0x0001, 0x0863, 0x1127, 0x0864, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0043, 0x0043, 0x0043, 0x0043, 0x0065, 0x0065, 0x0065, 0x0065, 0x0044, 0x0044, + 0x0065, 0x0065, 0x0085, 0x0065, 0x00A6, 0x00A6, 0x0109, 0x01AB, 0x1E7D, 0x1E7D, 0x018C, 0x00E9, + 0x0086, 0x0065, 0x0044, 0x0044, 0x0024, 0x0024, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0045, 0x0045, 0x0045, 0x0045, 0x00A8, 0x0086, 0x0022, 0x0064, 0x0884, 0x0841, 0x2146, 0x2146, + 0x1948, 0x1906, 0x0043, 0x0043, 0x0085, 0x00E9, 0x016D, 0x01F2, 0x0296, 0x02D8, 0x02F8, 0x02B7, + 0x0213, 0x016E, 0x00E9, 0x00C8, 0x0065, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0020, 0x0020, 0x0080, 0x0900, 0x1180, 0x2200, 0x2240, 0x2A40, 0x2220, 0x19E0, + 0x1140, 0x08E0, 0x0061, 0x0061, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x1082, 0x1062, 0x0021, + 0x0000, 0x1082, 0x1083, 0x1083, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x0000, 0x18E4, 0x1905, 0x2146, + 0x2967, 0x2987, 0x0021, 0x0021, 0x0043, 0x0043, 0x0001, 0x0001, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0065, 0x0065, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0041, + 0x0041, 0x0041, 0x0021, 0x0021, 0x0041, 0x0000, 0x0841, 0x0841, 0x0063, 0x0063, 0x0929, 0x10A4, + 0x0001, 0x0843, 0x110A, 0x1275, 0x03DD, 0x0B39, 0x00C9, 0x08E8, 0x73F2, 0xBE19, 0x52CE, 0x4AAD, + 0x3A4C, 0x31E9, 0x31A9, 0x31A9, 0x2167, 0x2167, 0x2147, 0x2188, 0x21AB, 0x116C, 0x0B1A, 0x0A97, + 0x0066, 0x0043, 0x0021, 0x0021, 0x0842, 0x0842, 0x0862, 0x0862, 0x0882, 0x2146, 0x0884, 0x0021, + 0x2125, 0x2125, 0x18C4, 0x0842, 0x0000, 0x1904, 0x1905, 0x0861, 0x0000, 0x10A3, 0x10A3, 0x0021, + 0x0021, 0x0021, 0x0821, 0x0821, 0x0001, 0x0001, 0x0000, 0x0043, 0x0089, 0x0910, 0x00D0, 0x00D0, + 0x00D0, 0x00D0, 0x0153, 0x0195, 0x0AD8, 0x2CFC, 0x0258, 0x0196, 0x0174, 0x0174, 0x0112, 0x00F0, + 0x00EF, 0x220E, 0x326D, 0x0863, 0x2125, 0x0862, 0x0884, 0x0884, 0x0862, 0x0862, 0x0862, 0x0862, + 0x1905, 0x0882, 0x0000, 0x0042, 0x00E8, 0x096B, 0x12F3, 0x1CB9, 0x2417, 0x018D, 0x1AF1, 0x2D5B, + 0x1C99, 0x1C99, 0x1D1B, 0x0A6F, 0x00C7, 0x00A5, 0x0000, 0x0000, 0x0021, 0x00A5, 0x00E7, 0x014A, + 0x1AB0, 0x2CB9, 0x0A0F, 0x12D2, 0x2BF6, 0x01AD, 0x2478, 0x24FB, 0x2353, 0x0108, 0x00E7, 0x00A5, + 0x0000, 0x0000, 0x18C4, 0x4A8B, 0x52AC, 0x2125, 0x0841, 0x10A3, 0x10A3, 0x0841, 0x0063, 0x0063, + 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0065, 0x0065, 0x0065, 0x0065, 0x0044, 0x0044, 0x0065, 0x0065, 0x0065, 0x0065, + 0x00A6, 0x00A6, 0x012A, 0x01ED, 0x1E7D, 0x1E7D, 0x01CE, 0x0109, 0x0086, 0x0065, 0x0044, 0x0044, + 0x0024, 0x0024, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x0045, 0x0045, 0x0045, + 0x0086, 0x0044, 0x0022, 0x0064, 0x0884, 0x0841, 0x2146, 0x2146, 0x31C9, 0x1948, 0x0043, 0x0043, + 0x00A6, 0x00E9, 0x018E, 0x0274, 0x033A, 0x03BB, 0x03FC, 0x037A, 0x02B6, 0x01B0, 0x010A, 0x00C8, + 0x0065, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0020, 0x0020, + 0x0080, 0x0920, 0x0A40, 0x1340, 0x1B81, 0x1B81, 0x1B61, 0x12A0, 0x1140, 0x08E0, 0x0061, 0x0061, + 0x0000, 0x0000, 0x0000, 0x0000, 0x18E4, 0x1082, 0x1082, 0x0021, 0x0000, 0x1082, 0x1083, 0x1083, + 0x1083, 0x1083, 0x10A3, 0x0020, 0x0842, 0x10A3, 0x0883, 0x10C4, 0x18E5, 0x18E5, 0x0882, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, + 0x0041, 0x0000, 0x0841, 0x0841, 0x0063, 0x08A5, 0x08E6, 0x0863, 0x0000, 0x0843, 0x112C, 0x0B5B, + 0x039D, 0x098E, 0x198B, 0x31EB, 0xADB8, 0x52EE, 0x4AAD, 0x4AAD, 0x3A4C, 0x31C9, 0x31A9, 0x2988, + 0x2167, 0x2167, 0x2147, 0x2147, 0x1927, 0x0085, 0x11D1, 0x0A99, 0x090C, 0x0043, 0x0021, 0x0021, + 0x0842, 0x0842, 0x0862, 0x0862, 0x0882, 0x31A8, 0x0884, 0x0021, 0x2125, 0x4229, 0x18E4, 0x0862, + 0x0000, 0x0862, 0x2105, 0x1082, 0x0000, 0x10A3, 0x18C3, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0086, 0x08CC, 0x00D0, 0x00D1, 0x00D1, 0x00F1, 0x0133, 0x0174, 0x0217, + 0x1C9B, 0x477F, 0x0BBB, 0x0239, 0x01B6, 0x0154, 0x0112, 0x00F1, 0x00EF, 0x00CC, 0x2A2D, 0x1947, + 0x10A3, 0x10A3, 0x0021, 0x0863, 0x0863, 0x0863, 0x1083, 0x1083, 0x1906, 0x0882, 0x0000, 0x0042, + 0x00C7, 0x0129, 0x44F9, 0x2C36, 0x1B32, 0x2D1A, 0x2C16, 0x0A0F, 0x2374, 0x23D5, 0x1B32, 0x124E, + 0x00A6, 0x0085, 0x0021, 0x0021, 0x0021, 0x0085, 0x00C7, 0x0129, 0x3C97, 0x2BB4, 0x09CD, 0x1A90, + 0x1290, 0x2CDA, 0x12F2, 0x2393, 0x00E7, 0x00E7, 0x00C7, 0x00A5, 0x0000, 0x0000, 0x18E4, 0x52CC, + 0x52CD, 0x2966, 0x0841, 0x10A4, 0x18E4, 0x0861, 0x0063, 0x0063, 0x0001, 0x0001, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0065, 0x00A6, 0x00C8, + 0x00C8, 0x0086, 0x0086, 0x0086, 0x0085, 0x0085, 0x0086, 0x0086, 0x00A6, 0x00C7, 0x014B, 0x020F, + 0x169E, 0x1E7D, 0x01EF, 0x012A, 0x0086, 0x0086, 0x0065, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0024, 0x0024, 0x0044, 0x0044, 0x0024, 0x0024, 0x0024, 0x0024, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x0045, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0045, 0x0045, 0x0066, 0x0066, 0x0087, 0x0045, 0x0022, 0x0064, + 0x0884, 0x0841, 0x2146, 0x2146, 0x31EA, 0x2148, 0x0064, 0x0064, 0x0086, 0x00EA, 0x01D0, 0x151B, + 0x16FF, 0x16FF, 0x16FF, 0x16FF, 0x265E, 0x0232, 0x012B, 0x00C8, 0x0086, 0x3372, 0x2B10, 0x1149, + 0x11A9, 0x0001, 0x228D, 0x3350, 0x21E9, 0x0020, 0x0000, 0x0000, 0x0080, 0x0980, 0x1DA5, 0x2746, + 0x2F86, 0x2F86, 0x2F46, 0x2F08, 0x0A41, 0x08E1, 0x0060, 0x0060, 0x0000, 0x0000, 0x0000, 0x0000, + 0x20E4, 0x1082, 0x1082, 0x0841, 0x0000, 0x1082, 0x1082, 0x1082, 0x10A3, 0x10A3, 0x0862, 0x0042, + 0x42CE, 0x3A6D, 0x2A0B, 0x21CA, 0x1989, 0x1948, 0x1106, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, + 0x0043, 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0862, 0x2169, 0x2189, 0x29CA, 0x322C, 0x3A6E, + 0x42D0, 0x1949, 0x0021, 0x0021, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0000, 0x0841, 0x0841, + 0x0862, 0x08C4, 0x10C5, 0x0021, 0x0000, 0x10E8, 0x0990, 0x035D, 0x0AF9, 0x00A8, 0x08C6, 0x6B90, + 0x52AD, 0x4A8C, 0x426C, 0x426C, 0x3A4B, 0x31EA, 0x31A9, 0x2988, 0x2147, 0x2147, 0x2126, 0x08A4, + 0x0063, 0x1948, 0x0087, 0x1257, 0x09B2, 0x1907, 0x0000, 0x0000, 0x0001, 0x0842, 0x0862, 0x0862, + 0x1082, 0x4229, 0x0063, 0x0001, 0x1904, 0x1904, 0x0882, 0x0862, 0x0000, 0x0841, 0x1082, 0x1082, + 0x0000, 0x10A3, 0x18C3, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0023, 0x0067, + 0x00CE, 0x00D0, 0x00D1, 0x00D1, 0x0133, 0x0195, 0x0217, 0x027A, 0x1CDC, 0x479F, 0x0C1C, 0x02DB, + 0x0238, 0x01B6, 0x0133, 0x0112, 0x00D0, 0x00AD, 0x194A, 0x21CA, 0x0842, 0x18E4, 0x0000, 0x0042, + 0x0863, 0x0863, 0x1083, 0x1083, 0x1906, 0x0882, 0x0000, 0x0042, 0x00C7, 0x00C7, 0x00E8, 0x0109, + 0x00E8, 0x00E9, 0x0109, 0x00E8, 0x00E9, 0x00E8, 0x00C8, 0x00C7, 0x00A6, 0x0085, 0x0021, 0x0021, + 0x0021, 0x0084, 0x00C7, 0x00C7, 0x0109, 0x0109, 0x00C8, 0x00C7, 0x00E8, 0x0109, 0x00E8, 0x00C8, + 0x00E7, 0x00E7, 0x00C7, 0x0085, 0x0000, 0x0000, 0x18E4, 0x52CC, 0x52CD, 0x2987, 0x0841, 0x10A3, + 0x10A3, 0x0861, 0x0063, 0x0063, 0x0001, 0x08A4, 0x218B, 0x0885, 0x0022, 0x0022, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0065, 0x00C8, 0x09ED, 0x014B, 0x00C8, 0x00A7, 0x0086, + 0x0085, 0x0085, 0x0086, 0x0086, 0x00C7, 0x00E8, 0x018D, 0x0250, 0x169E, 0x169E, 0x0210, 0x014B, + 0x00E8, 0x0086, 0x0065, 0x0065, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0024, 0x0024, + 0x0044, 0x0044, 0x0024, 0x0024, 0x0024, 0x0024, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0045, 0x0045, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0045, 0x0045, 0x0066, 0x0066, 0x116A, 0x08C7, 0x0022, 0x0064, 0x0884, 0x0841, 0x2146, 0x2146, + 0x3A2B, 0x2189, 0x0064, 0x0064, 0x0086, 0x00EA, 0x0231, 0x161C, 0x175F, 0x177F, 0x1F9F, 0x175F, + 0x171F, 0x02B3, 0x012B, 0x00C7, 0x0086, 0x2AF1, 0x0A0D, 0x1A4D, 0x11EB, 0x0021, 0x22AE, 0x0127, + 0x0063, 0x0020, 0x0000, 0x0000, 0x00A0, 0x09C0, 0x2664, 0x2F85, 0x2F86, 0x2F86, 0x2F86, 0x2F46, + 0x12C1, 0x08E0, 0x0060, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x20E4, 0x1082, 0x1082, 0x0841, + 0x0000, 0x1082, 0x1082, 0x1082, 0x10A3, 0x10A3, 0x0000, 0x116A, 0x7497, 0x6436, 0x6C78, 0x74D9, + 0x7CFA, 0x74F9, 0x324D, 0x0000, 0x0883, 0x4AEF, 0x5373, 0x6C76, 0x6CB8, 0x4417, 0x2334, 0x124F, + 0x1969, 0x0000, 0x08A5, 0x853A, 0x853A, 0x853A, 0x8519, 0x7CF9, 0x7CB8, 0x4311, 0x0043, 0x0021, + 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0000, 0x0841, 0x0841, 0x0842, 0x08C4, 0x0882, 0x0021, + 0x0022, 0x08C8, 0x0A97, 0x035D, 0x09D1, 0x08C7, 0x1906, 0x4AAC, 0x31E9, 0x3A2A, 0x426C, 0x426C, + 0x3A4B, 0x31EA, 0x31A9, 0x31A9, 0x2147, 0x2147, 0x18E5, 0x0042, 0x0042, 0x0063, 0x0023, 0x096F, + 0x0A17, 0x0045, 0x0000, 0x0000, 0x0001, 0x0841, 0x0862, 0x0862, 0x0862, 0x4A6B, 0x0063, 0x0001, + 0x1904, 0x1904, 0x0882, 0x0842, 0x0000, 0x0000, 0x10A3, 0x1082, 0x0000, 0x1083, 0x18E4, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0045, 0x0068, 0x00D0, 0x00D0, 0x00F1, 0x0153, + 0x01B6, 0x1BB9, 0x3DFE, 0x02BB, 0x1CDC, 0x479F, 0x0C1C, 0x039C, 0x4E1E, 0x0AB9, 0x0175, 0x0113, + 0x00CF, 0x00CF, 0x0088, 0x21AA, 0x0883, 0x18C4, 0x0862, 0x0862, 0x0021, 0x0883, 0x0883, 0x0883, + 0x1906, 0x1082, 0x0000, 0x0022, 0x0086, 0x0086, 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00C7, 0x00C7, + 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x0085, 0x0085, 0x0021, 0x0021, 0x0001, 0x0063, 0x00A6, 0x00A6, + 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00A6, 0x00A6, 0x00C6, 0x0085, + 0x0000, 0x0000, 0x10C4, 0x52ED, 0x5B0E, 0x3187, 0x0841, 0x10A3, 0x10A3, 0x0841, 0x0063, 0x0063, + 0x0001, 0x0001, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0043, 0x0043, 0x0044, 0x0044, 0x0045, 0x0045, 0x0065, 0x0065, 0x0065, 0x0086, + 0x0086, 0x00C8, 0x014A, 0x2E3C, 0x1373, 0x012A, 0x0109, 0x00E8, 0x00E8, 0x00E8, 0x00C7, 0x00C8, + 0x00E9, 0x012A, 0x01AE, 0x0272, 0x0E9E, 0x167E, 0x0251, 0x018C, 0x0109, 0x00A7, 0x00A7, 0x0086, + 0x0086, 0x0086, 0x0065, 0x0065, 0x0045, 0x0045, 0x0044, 0x0044, 0x0065, 0x0065, 0x0044, 0x0044, + 0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x0065, 0x0065, 0x0065, 0x0065, 0x0045, 0x0045, + 0x0065, 0x0065, 0x0065, 0x0065, 0x0066, 0x0066, 0x0066, 0x0066, 0x0087, 0x0087, 0x00A7, 0x00A7, + 0x00A8, 0x0065, 0x0023, 0x0064, 0x0884, 0x0841, 0x2167, 0x2167, 0x3A4C, 0x29AA, 0x0065, 0x0065, + 0x0087, 0x010A, 0x0232, 0x15BC, 0x179F, 0x179F, 0x1F9F, 0x177F, 0x16FF, 0x02B4, 0x010B, 0x00A8, + 0x00A6, 0x33B3, 0x2B52, 0x1A4E, 0x11EB, 0x0022, 0x228D, 0x330F, 0x1106, 0x0000, 0x0000, 0x0000, + 0x00A0, 0x09A0, 0x1E64, 0x2F85, 0x2F86, 0x2F86, 0x2FA6, 0x2FA6, 0x12C1, 0x00E0, 0x0040, 0x0040, + 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0x1083, 0x10A3, 0x0841, 0x0000, 0x1083, 0x1082, 0x1082, + 0x0861, 0x0861, 0x0043, 0x098C, 0x010B, 0x010B, 0x012C, 0x012C, 0x010C, 0x010C, 0x0065, 0x0000, + 0x2148, 0xB65B, 0xB67C, 0x95FB, 0x5C78, 0x3397, 0x3397, 0x3397, 0x1210, 0x0001, 0x0022, 0x00EA, + 0x00EB, 0x00EB, 0x00EB, 0x00EB, 0x00EB, 0x00EB, 0x00A7, 0x0001, 0x0041, 0x0041, 0x0041, 0x0041, + 0x0841, 0x0000, 0x0862, 0x0862, 0x0842, 0x0842, 0x1083, 0x0001, 0x0001, 0x0067, 0x0B3C, 0x0B3C, + 0x00EB, 0x0044, 0x2167, 0x2167, 0x2988, 0x2988, 0x31EA, 0x3A4B, 0x3A2B, 0x3A2B, 0x31A9, 0x2988, + 0x2147, 0x1906, 0x0042, 0x0042, 0x0042, 0x0042, 0x10C5, 0x10EB, 0x0A17, 0x08EA, 0x0882, 0x0000, + 0x0000, 0x0000, 0x0862, 0x0862, 0x0862, 0x426B, 0x0063, 0x0001, 0x2104, 0x2104, 0x1082, 0x0842, + 0x0000, 0x0000, 0x1082, 0x1082, 0x0000, 0x1083, 0x18E4, 0x0821, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0066, 0x008A, 0x00D0, 0x00D0, 0x0153, 0x0195, 0x0AD9, 0x46FF, 0x473F, 0x02FA, + 0x1CDC, 0x4F9F, 0x0C1C, 0x147C, 0x4F5F, 0x359D, 0x0218, 0x0154, 0x00F1, 0x00CF, 0x0069, 0x1128, + 0x10E5, 0x1083, 0x0862, 0x0021, 0x0021, 0x0883, 0x0883, 0x0883, 0x1906, 0x1082, 0x0000, 0x0021, + 0x0086, 0x0086, 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00A6, 0x00A6, 0x00A6, 0x00A6, + 0x0085, 0x0085, 0x0021, 0x0021, 0x0001, 0x0063, 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00A7, 0x00A7, + 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00A6, 0x00A6, 0x00A6, 0x0085, 0x0000, 0x0000, 0x10C4, 0x52ED, + 0x5B0E, 0x31A7, 0x0841, 0x10A3, 0x10A3, 0x0841, 0x0063, 0x0063, 0x0001, 0x0001, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0043, 0x0043, + 0x0044, 0x0044, 0x0045, 0x0045, 0x0065, 0x0065, 0x0086, 0x0086, 0x00C8, 0x00E9, 0x018C, 0x265D, + 0x0BD5, 0x018C, 0x014A, 0x014A, 0x0129, 0x0129, 0x0109, 0x0109, 0x012A, 0x016C, 0x0272, 0x0334, + 0x0E9E, 0x167E, 0x0292, 0x01CE, 0x014B, 0x0109, 0x00A7, 0x00A7, 0x0086, 0x0086, 0x0065, 0x0065, + 0x0045, 0x0045, 0x0044, 0x0044, 0x0065, 0x0065, 0x0044, 0x0066, 0x0045, 0x0045, 0x0045, 0x0045, + 0x0045, 0x0045, 0x0065, 0x0065, 0x0065, 0x0065, 0x0045, 0x0045, 0x0065, 0x0065, 0x0065, 0x0065, + 0x0066, 0x0066, 0x0066, 0x0066, 0x0087, 0x0087, 0x00A7, 0x00A7, 0x00A8, 0x0066, 0x0023, 0x0085, + 0x0884, 0x0841, 0x2167, 0x2167, 0x3A4C, 0x29CB, 0x0043, 0x0065, 0x0086, 0x010A, 0x01F2, 0x15BC, + 0x179F, 0x179F, 0x1F9F, 0x0F7F, 0x16DF, 0x0273, 0x010B, 0x00A7, 0x0086, 0x3373, 0x1A70, 0x226E, + 0x1AEF, 0x226D, 0x228D, 0x124C, 0x1168, 0x0020, 0x0000, 0x0000, 0x00A0, 0x09A0, 0x1E64, 0x27A6, + 0x2F86, 0x2F86, 0x2FA6, 0x2FA6, 0x0A80, 0x00C0, 0x0040, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, + 0x3124, 0x1083, 0x10A3, 0x0021, 0x0000, 0x1083, 0x1082, 0x1082, 0x18A3, 0x0000, 0x00C7, 0x012C, + 0x010B, 0x010B, 0x012C, 0x012C, 0x010C, 0x010C, 0x0043, 0x0000, 0x1949, 0x53B5, 0x4BD7, 0x1A74, + 0x01B3, 0x0171, 0x0170, 0x0170, 0x014F, 0x0023, 0x0001, 0x00E9, 0x00EB, 0x00EB, 0x00EB, 0x00EB, + 0x00EB, 0x00EB, 0x00C9, 0x0043, 0x0041, 0x0041, 0x0041, 0x0041, 0x0841, 0x0000, 0x0862, 0x0862, + 0x0842, 0x0842, 0x0883, 0x0001, 0x10A5, 0x00A9, 0x0B3C, 0x0AFA, 0x08C7, 0x1906, 0x2167, 0x2167, + 0x2146, 0x2147, 0x2987, 0x31EA, 0x3A2B, 0x3A2B, 0x31A9, 0x2988, 0x1906, 0x0883, 0x0042, 0x0042, + 0x0042, 0x0042, 0x0042, 0x0024, 0x1217, 0x090E, 0x10A4, 0x0000, 0x0000, 0x0000, 0x0862, 0x0862, + 0x0862, 0x3A2A, 0x0043, 0x0001, 0x2104, 0x2104, 0x1082, 0x0842, 0x0000, 0x0000, 0x0862, 0x0862, + 0x0000, 0x1083, 0x18C4, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0001, 0x0001, 0x0046, 0x008C, + 0x00F2, 0x00F2, 0x0134, 0x01F7, 0x357C, 0x5F5F, 0x255C, 0x02BA, 0x1CBC, 0x4F9F, 0x0BFC, 0x035B, + 0x4EBE, 0x5F5F, 0x0B3A, 0x0196, 0x00F2, 0x00D0, 0x008B, 0x08C7, 0x1127, 0x0862, 0x1082, 0x0020, + 0x0000, 0x0863, 0x0883, 0x0883, 0x1926, 0x0883, 0x0000, 0x0000, 0x0042, 0x0042, 0x0043, 0x0063, + 0x0042, 0x0063, 0x0064, 0x0064, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0001, 0x0000, 0x0042, + 0x0000, 0x0000, 0x0042, 0x0042, 0x0064, 0x0064, 0x0043, 0x0043, 0x0063, 0x0063, 0x0063, 0x0043, + 0x0064, 0x0064, 0x0063, 0x0022, 0x0000, 0x0001, 0x10C5, 0x52ED, 0x5B2E, 0x31A7, 0x0841, 0x10A3, + 0x1083, 0x0862, 0x0063, 0x0063, 0x0001, 0x0864, 0x08E9, 0x0086, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0065, 0x0086, 0x0086, 0x0086, 0x00A7, + 0x00C7, 0x00C7, 0x00C8, 0x010A, 0x012A, 0x016C, 0x01EF, 0x1E5D, 0x0C16, 0x01EF, 0x01CE, 0x01AE, + 0x1373, 0x1C96, 0x01CD, 0x018D, 0x01AE, 0x01EF, 0x1D7B, 0x1E7E, 0x0E9E, 0x0E9E, 0x02D3, 0x0230, + 0x018E, 0x014B, 0x012B, 0x00E9, 0x00C9, 0x00C8, 0x00A8, 0x00A8, 0x00A7, 0x00A7, 0x00A8, 0x0087, + 0x00A8, 0x00A8, 0x00A7, 0x1ACF, 0x11EC, 0x00A8, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00A7, 0x00A7, + 0x00C8, 0x00C8, 0x00A7, 0x00A7, 0x00A7, 0x00A7, 0x00A8, 0x00A8, 0x00A7, 0x00A7, 0x00C8, 0x00C8, + 0x00C8, 0x00C8, 0x00C9, 0x00C9, 0x094C, 0x0908, 0x0044, 0x0086, 0x08A4, 0x0862, 0x2987, 0x2987, + 0x428D, 0x29EB, 0x0044, 0x0044, 0x0086, 0x00C8, 0x01B0, 0x0BF9, 0x0DBD, 0x0DDE, 0x0DFE, 0x0DBD, + 0x0CDB, 0x01F1, 0x00C9, 0x0087, 0x0086, 0x19CB, 0x1169, 0x0064, 0x11A9, 0x11CA, 0x0926, 0x11A9, + 0x1106, 0x0001, 0x0001, 0x0001, 0x0080, 0x1160, 0x1C02, 0x25E3, 0x2623, 0x2623, 0x1E03, 0x1D43, + 0x09A0, 0x08A0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4145, 0x1082, 0x1083, 0x0841, + 0x0000, 0x1082, 0x1082, 0x1082, 0x1062, 0x0001, 0x010A, 0x010A, 0x012D, 0x012D, 0x0A51, 0x09F0, + 0x010C, 0x00EB, 0x0000, 0x0000, 0x116B, 0x2AB1, 0x11D2, 0x22F6, 0x551C, 0x22F6, 0x010E, 0x012F, + 0x010E, 0x0044, 0x0000, 0x00A7, 0x00EB, 0x00EB, 0x12B2, 0x014D, 0x010C, 0x010C, 0x00CA, 0x0064, + 0x0000, 0x0042, 0x0041, 0x0041, 0x0841, 0x0000, 0x0842, 0x0842, 0x0862, 0x0021, 0x0041, 0x0000, + 0x0003, 0x092C, 0x033D, 0x0A77, 0x0044, 0x0022, 0x2146, 0x2105, 0x2105, 0x2105, 0x2146, 0x2146, + 0x31EA, 0x31EA, 0x2988, 0x2988, 0x10A4, 0x0842, 0x0041, 0x0041, 0x0842, 0x0842, 0x0862, 0x0002, + 0x09B4, 0x0950, 0x0042, 0x0000, 0x0000, 0x0000, 0x0842, 0x0842, 0x0862, 0x31E9, 0x0042, 0x0001, + 0x2105, 0x18C4, 0x1082, 0x0842, 0x0000, 0x0000, 0x0862, 0x0862, 0x0000, 0x1083, 0x18C4, 0x0021, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0001, 0x0001, 0x0046, 0x00AD, 0x00F2, 0x00F2, 0x0175, 0x0298, + 0x673F, 0x5F5F, 0x035A, 0x0279, 0x1C5B, 0x577F, 0x0BBB, 0x02DB, 0x24FC, 0x679F, 0x34FC, 0x01D7, + 0x00F2, 0x00F0, 0x00AD, 0x0066, 0x1127, 0x0862, 0x10A3, 0x0020, 0x0000, 0x0863, 0x0883, 0x0883, + 0x1926, 0x0883, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0042, 0x0042, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0001, 0x0001, 0x18E5, 0x52ED, 0x5B2E, 0x31A7, 0x0841, 0x10A3, 0x1083, 0x1083, 0x0063, 0x0063, + 0x0001, 0x0022, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0065, 0x0065, 0x0086, 0x0086, 0x00A7, 0x00A7, 0x0109, 0x00E9, 0x010A, 0x014B, + 0x016C, 0x01AF, 0x0272, 0x165D, 0x0E1C, 0x15FC, 0x0293, 0x0251, 0x159A, 0x173F, 0x02D2, 0x0231, + 0x0B75, 0x1478, 0x15DC, 0x0E9E, 0x0E9E, 0x0E9E, 0x167E, 0x1DDC, 0x0231, 0x018E, 0x014C, 0x012B, + 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00E9, 0x363C, + 0x2435, 0x00E9, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00A7, 0x00C8, 0x00C8, 0x00C8, 0x00A7, 0x00A7, + 0x00A7, 0x00A7, 0x00A8, 0x00A8, 0x00A7, 0x00A7, 0x00C8, 0x00C8, 0x00C8, 0x00C8, 0x00C9, 0x00C9, + 0x00EA, 0x0087, 0x0044, 0x0086, 0x0884, 0x0862, 0x2987, 0x2987, 0x428D, 0x320C, 0x0044, 0x0044, + 0x0086, 0x00C8, 0x014E, 0x0213, 0x02D8, 0x033A, 0x033A, 0x02F9, 0x0275, 0x018F, 0x00C9, 0x0087, + 0x0086, 0x0044, 0x0064, 0x0023, 0x0022, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0860, 0x10E1, 0x19C0, 0x2A80, 0x2AE0, 0x3300, 0x2AC0, 0x2A01, 0x1901, 0x0880, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x4145, 0x1082, 0x1083, 0x0841, 0x0000, 0x1082, 0x1082, 0x1082, + 0x1062, 0x0063, 0x010A, 0x010A, 0x012D, 0x0B13, 0x267E, 0x0A92, 0x010C, 0x00C9, 0x0000, 0x0000, + 0x094C, 0x09AF, 0x012F, 0x1274, 0x4C79, 0x09F0, 0x00CB, 0x010E, 0x010E, 0x0044, 0x0000, 0x0086, + 0x00EB, 0x00EB, 0x259B, 0x1D3A, 0x018E, 0x010C, 0x00CA, 0x0086, 0x0000, 0x0041, 0x0041, 0x0041, + 0x0841, 0x0000, 0x0842, 0x0842, 0x1062, 0x0021, 0x0041, 0x0000, 0x08C6, 0x094E, 0x0B1D, 0x0A15, + 0x1907, 0x18E5, 0x2146, 0x1905, 0x2105, 0x2105, 0x2146, 0x2146, 0x2167, 0x31EA, 0x31E9, 0x1905, + 0x0842, 0x0842, 0x0041, 0x0041, 0x0842, 0x0842, 0x0862, 0x10A4, 0x0972, 0x0972, 0x10A4, 0x0000, + 0x0000, 0x0000, 0x0842, 0x0842, 0x0862, 0x31E9, 0x0042, 0x0001, 0x2105, 0x18C4, 0x1082, 0x0862, + 0x0000, 0x0000, 0x0841, 0x0841, 0x0000, 0x1083, 0x10C4, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0044, 0x0047, 0x00CF, 0x00F2, 0x0113, 0x01B7, 0x139A, 0x87BF, 0x4E5D, 0x029A, 0x0238, + 0x0B19, 0x3DFD, 0x02B9, 0x029A, 0x0B9B, 0x779F, 0x561D, 0x01F8, 0x0133, 0x00F1, 0x00CE, 0x0045, + 0x10E7, 0x0862, 0x10A3, 0x0000, 0x0000, 0x0862, 0x0883, 0x0883, 0x1927, 0x1083, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0063, 0x0042, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0022, 0x18C4, 0x52ED, + 0x634F, 0x31A8, 0x0841, 0x10C4, 0x1905, 0x1082, 0x0064, 0x0064, 0x0001, 0x0044, 0x08C8, 0x0066, + 0x0045, 0x0045, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x0065, 0x00A7, 0x00A7, 0x00A7, + 0x00C8, 0x00C8, 0x00E9, 0x012A, 0x014B, 0x014B, 0x016C, 0x01CE, 0x0B74, 0x15FD, 0x0397, 0x165E, + 0x06BE, 0x0F3F, 0x0357, 0x02B5, 0x0DDC, 0x0F3F, 0x0376, 0x02F4, 0x15DC, 0x16BF, 0x0E1C, 0x0EBE, + 0x0E7E, 0x0E7E, 0x0E7E, 0x163D, 0x02B5, 0x0252, 0x255B, 0x1416, 0x016D, 0x012C, 0x012B, 0x018E, + 0x1C57, 0x0A51, 0x012C, 0x010B, 0x00EA, 0x00EA, 0x012B, 0x2E3C, 0x1C56, 0x010B, 0x00EA, 0x010A, + 0x010B, 0x010B, 0x010B, 0x010B, 0x010A, 0x010A, 0x00E9, 0x00C9, 0x00C9, 0x00C9, 0x00E9, 0x00E9, + 0x00E9, 0x00E9, 0x00E9, 0x00E9, 0x00EA, 0x00EA, 0x010B, 0x010B, 0x012C, 0x00C9, 0x0044, 0x0086, + 0x08A4, 0x0862, 0x29A8, 0x29A8, 0x42AE, 0x322D, 0x0044, 0x0044, 0x0065, 0x00A7, 0x010B, 0x012D, + 0x01D2, 0x0215, 0x0215, 0x01F4, 0x01B1, 0x014D, 0x00C8, 0x0086, 0x0044, 0x0044, 0x0023, 0x0023, + 0x0022, 0x0022, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x1821, 0x2081, 0x2901, 0x3141, + 0x3962, 0x3962, 0x3141, 0x2901, 0x20A1, 0x2021, 0x0800, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, + 0x4945, 0x1882, 0x1083, 0x0841, 0x0000, 0x1062, 0x1082, 0x1082, 0x0021, 0x0064, 0x00EB, 0x00EB, + 0x0B34, 0x0EBF, 0x0EDF, 0x0A91, 0x00EB, 0x00A8, 0x0000, 0x0000, 0x00EC, 0x012E, 0x00CC, 0x010C, + 0x012C, 0x00C9, 0x0088, 0x00EC, 0x00EC, 0x0044, 0x0000, 0x0085, 0x00CB, 0x00CB, 0x1DBB, 0x06DF, + 0x1DDC, 0x09AE, 0x00A9, 0x0087, 0x0000, 0x0041, 0x0041, 0x0041, 0x0841, 0x0000, 0x0821, 0x0821, + 0x0862, 0x0862, 0x0841, 0x0000, 0x1906, 0x0970, 0x0AFD, 0x09B3, 0x0043, 0x0043, 0x1905, 0x1905, + 0x1905, 0x1905, 0x1905, 0x1905, 0x1925, 0x2146, 0x2987, 0x0862, 0x0041, 0x0041, 0x0841, 0x0841, + 0x0862, 0x0862, 0x0863, 0x0002, 0x0950, 0x0952, 0x10A4, 0x0862, 0x0000, 0x0000, 0x0841, 0x0841, + 0x0862, 0x31C8, 0x0022, 0x0001, 0x2105, 0x18C4, 0x1082, 0x0862, 0x0000, 0x0000, 0x0841, 0x0841, + 0x0000, 0x1083, 0x18C4, 0x0021, 0x0021, 0x0021, 0x0000, 0x1082, 0x2104, 0x0044, 0x0046, 0x00CF, + 0x0113, 0x0113, 0x01D8, 0x243B, 0x97BF, 0x45DD, 0x029A, 0x01F7, 0x01F7, 0x0217, 0x0218, 0x0259, + 0x031A, 0x775F, 0x669E, 0x01F8, 0x0133, 0x00F1, 0x00CE, 0x0025, 0x08C6, 0x10C4, 0x4A6A, 0x0000, + 0x0000, 0x0862, 0x0883, 0x0883, 0x1927, 0x0883, 0x0021, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0063, 0x0063, + 0x0042, 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0022, 0x0022, 0x10C5, 0x4AAC, 0x52ED, 0x31A7, 0x0862, 0x10C4, + 0x2147, 0x1083, 0x0064, 0x0064, 0x0001, 0x10C6, 0x19CD, 0x08C8, 0x0045, 0x0045, 0x0065, 0x0065, + 0x0065, 0x0065, 0x0065, 0x0065, 0x00A7, 0x00A7, 0x00C8, 0x00C8, 0x010A, 0x012B, 0x018D, 0x0AF2, + 0x0210, 0x01AE, 0x0AD2, 0x15BB, 0x159B, 0x0F1F, 0x0419, 0x0E7E, 0x06BE, 0x0F5F, 0x03F9, 0x0357, + 0x0DDC, 0x0F3F, 0x0438, 0x03D7, 0x0DFC, 0x0EDF, 0x0E1C, 0x0EBE, 0x0E7E, 0x0E7E, 0x0E7E, 0x163D, + 0x0337, 0x02B5, 0x167F, 0x159C, 0x01F1, 0x018F, 0x018E, 0x0251, 0x1EBF, 0x1499, 0x13D6, 0x01AF, + 0x012C, 0x012C, 0x018D, 0x2477, 0x1333, 0x016D, 0x014D, 0x014D, 0x016D, 0x01AE, 0x018E, 0x018E, + 0x01F0, 0x01AE, 0x014C, 0x010B, 0x010B, 0x010B, 0x010B, 0x010B, 0x010B, 0x010B, 0x010A, 0x010B, + 0x010B, 0x010B, 0x010B, 0x010C, 0x1211, 0x116C, 0x0044, 0x0086, 0x08A4, 0x0862, 0x29A8, 0x29A8, + 0x42CE, 0x322D, 0x0044, 0x0044, 0x0065, 0x00A7, 0x00EA, 0x012D, 0x0191, 0x01D4, 0x01F4, 0x01F4, + 0x0170, 0x012C, 0x00C8, 0x0086, 0x0044, 0x0044, 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0021, 0x0021, 0x1821, 0x2041, 0x30A2, 0x40E3, 0x48E3, 0x48E2, 0x40C2, 0x38A2, + 0x3062, 0x2021, 0x0800, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x4945, 0x1882, 0x1083, 0x0841, + 0x0000, 0x1062, 0x1082, 0x1082, 0x0021, 0x0064, 0x00CA, 0x00EB, 0x255B, 0x0EDF, 0x0EDF, 0x0A91, + 0x00EB, 0x00A8, 0x0000, 0x0000, 0x00EC, 0x00EE, 0x00CB, 0x0088, 0x0088, 0x0067, 0x0067, 0x00EC, + 0x00EC, 0x0044, 0x0000, 0x0085, 0x00CB, 0x00CB, 0x1DBB, 0x06DF, 0x16BF, 0x1B34, 0x00A9, 0x0067, + 0x0000, 0x0041, 0x0041, 0x0041, 0x0841, 0x0000, 0x0821, 0x0821, 0x0862, 0x0041, 0x39E7, 0x3186, + 0x39EB, 0x0970, 0x023A, 0x0172, 0x0043, 0x0043, 0x1905, 0x1905, 0x1905, 0x1905, 0x1905, 0x1905, + 0x1925, 0x1925, 0x0862, 0x0862, 0x0041, 0x0041, 0x0841, 0x0841, 0x0862, 0x0862, 0x0863, 0x0001, + 0x0950, 0x0952, 0x39E9, 0x5ACB, 0x0000, 0x0000, 0x0841, 0x0841, 0x0862, 0x31C8, 0x0022, 0x0001, + 0x2105, 0x18C4, 0x1082, 0x0862, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x1062, 0x18C4, 0x0021, + 0x0021, 0x0021, 0x0000, 0x0861, 0x2104, 0x0044, 0x0046, 0x00CE, 0x0113, 0x0154, 0x01F8, 0x2C3B, + 0x9FDF, 0x4DDD, 0x029A, 0x01D7, 0x01D6, 0x01D6, 0x01F7, 0x0239, 0x031B, 0x7F5F, 0x6EBE, 0x01F7, + 0x0133, 0x00D1, 0x00CE, 0x0025, 0x00A6, 0x0883, 0x31A7, 0x0000, 0x0000, 0x0842, 0x08A3, 0x08A3, + 0x2127, 0x0883, 0x0001, 0x0001, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0063, 0x0063, 0x0043, 0x0043, 0x0022, 0x0022, + 0x0001, 0x0042, 0x0042, 0x0042, 0x0042, 0x0022, 0x0001, 0x0022, 0x0022, 0x0022, 0x0021, 0x0042, + 0x0042, 0x0042, 0x10E5, 0x52AD, 0x5AEE, 0x31A7, 0x1082, 0x3A2B, 0x6BD2, 0x10C4, 0x0064, 0x0064, + 0x0021, 0x0044, 0x0087, 0x0087, 0x0086, 0x0086, 0x0087, 0x0087, 0x00A7, 0x00A7, 0x00A7, 0x00C8, + 0x00E8, 0x0109, 0x012A, 0x012B, 0x016C, 0x01AF, 0x0B13, 0x1E9F, 0x0BD7, 0x0232, 0x0BB6, 0x0EFF, + 0x0E1C, 0x071F, 0x047A, 0x0E5E, 0x06BE, 0x0F3F, 0x053B, 0x0D9D, 0x0DFC, 0x0F1F, 0x0DFC, 0x0EBF, + 0x0E1D, 0x0EBF, 0x0E1C, 0x0E9E, 0x0E5E, 0x0E5E, 0x0E5E, 0x0E1D, 0x0DBC, 0x153B, 0x0E7F, 0x0DDC, + 0x0253, 0x01F1, 0x01F1, 0x02D4, 0x0EBF, 0x0DBC, 0x0E9F, 0x0AD4, 0x01B0, 0x01B0, 0x01F1, 0x1E1E, + 0x1479, 0x01D1, 0x01D1, 0x01F1, 0x1459, 0x1DDD, 0x0212, 0x0212, 0x1D9E, 0x149A, 0x0231, 0x016F, + 0x014E, 0x014D, 0x014E, 0x014D, 0x014D, 0x014D, 0x014D, 0x014D, 0x014E, 0x014E, 0x016E, 0x014E, + 0x014D, 0x00EA, 0x0045, 0x00A6, 0x08A5, 0x1083, 0x4A8D, 0x4A8D, 0x4AF0, 0x3A4E, 0x0044, 0x0044, + 0x0065, 0x00A7, 0x00EB, 0x014F, 0x01D4, 0x0216, 0x0237, 0x01F6, 0x0192, 0x012D, 0x00A8, 0x0066, + 0x0065, 0x0065, 0x0023, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0801, 0x0801, + 0x1801, 0x3022, 0x5063, 0x6865, 0x70A5, 0x70A5, 0x6885, 0x5864, 0x4042, 0x2801, 0x1000, 0x1000, + 0x0800, 0x0800, 0x0000, 0x0000, 0x4945, 0x1882, 0x18A3, 0x0841, 0x0000, 0x1062, 0x1062, 0x1062, + 0x0021, 0x0022, 0x00A9, 0x00CB, 0x016E, 0x157B, 0x0EBF, 0x0A51, 0x00CB, 0x00A9, 0x0000, 0x0000, + 0x00AA, 0x00CE, 0x08CC, 0x0067, 0x0047, 0x0047, 0x0089, 0x010E, 0x00CC, 0x0023, 0x0000, 0x0086, + 0x00CB, 0x010C, 0x1D9B, 0x16BF, 0x13F6, 0x00EB, 0x0089, 0x0065, 0x0000, 0x0041, 0x0041, 0x0041, + 0x0841, 0x0000, 0x0821, 0x0821, 0x0862, 0x0021, 0x0021, 0x0021, 0x0043, 0x090E, 0x021B, 0x0973, + 0x0023, 0x0021, 0x1905, 0x1905, 0x2105, 0x2105, 0x2105, 0x2105, 0x2126, 0x10A4, 0x0022, 0x0022, + 0x0041, 0x0041, 0x0862, 0x0862, 0x1082, 0x1082, 0x1083, 0x0001, 0x0110, 0x0110, 0x0863, 0x2104, + 0x0000, 0x0000, 0x0021, 0x0862, 0x0862, 0x2987, 0x0001, 0x0001, 0x2125, 0x18C4, 0x10A3, 0x0862, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0842, 0x18C4, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0044, 0x0047, 0x00CE, 0x0113, 0x0154, 0x01D8, 0x23DA, 0xA7DF, 0x6E7E, 0x02FB, 0x01F7, + 0x01D6, 0x01D6, 0x01F7, 0x0239, 0x13BB, 0x879F, 0x663D, 0x01D7, 0x0133, 0x00D1, 0x00CE, 0x0024, + 0x0085, 0x0022, 0x0862, 0x0000, 0x0000, 0x0842, 0x08A3, 0x08A3, 0x2127, 0x0883, 0x0001, 0x0001, + 0x1948, 0x29EC, 0x21CB, 0x21AB, 0x21CB, 0x21CB, 0x21EC, 0x21EC, 0x21EB, 0x21EB, 0x21CB, 0x21CB, + 0x21CA, 0x1106, 0x0022, 0x0063, 0x0043, 0x0043, 0x21CB, 0x21CB, 0x21CB, 0x21CB, 0x21CB, 0x21CC, + 0x21CB, 0x21CB, 0x21AA, 0x21AA, 0x198A, 0x198A, 0x21AA, 0x08A4, 0x0042, 0x0042, 0x10E5, 0x52AD, + 0x5AEE, 0x31A7, 0x18C4, 0x530F, 0x6391, 0x10C4, 0x0064, 0x0064, 0x0022, 0x08A6, 0x094C, 0x00EA, + 0x00A8, 0x00A8, 0x00C8, 0x00C8, 0x00E9, 0x00E9, 0x00EA, 0x00EA, 0x012B, 0x014C, 0x018E, 0x018E, + 0x0210, 0x1D9B, 0x0D19, 0x0EBF, 0x0C39, 0x0295, 0x0BF8, 0x06DF, 0x0E1C, 0x071F, 0x04DB, 0x0E7E, + 0x069E, 0x0F3F, 0x05DC, 0x06FF, 0x0DFC, 0x0F1F, 0x05FC, 0x0EBF, 0x0E1D, 0x0E9F, 0x0E1C, 0x0E9E, + 0x0E5E, 0x0E5E, 0x0E1D, 0x0E1D, 0x0E3E, 0x0DBC, 0x0E7F, 0x0DDC, 0x0D1B, 0x0BB8, 0x0254, 0x0B56, + 0x0EBF, 0x0DBC, 0x069F, 0x0337, 0x0214, 0x0213, 0x0253, 0x0E3F, 0x04DB, 0x0234, 0x02B6, 0x0BB8, + 0x0D3C, 0x163E, 0x0274, 0x0274, 0x0DDE, 0x155C, 0x163F, 0x0B77, 0x0191, 0x0191, 0x01B1, 0x0B77, + 0x13F9, 0x01D2, 0x01B0, 0x01B0, 0x0190, 0x0190, 0x016F, 0x016F, 0x09B0, 0x092C, 0x0065, 0x00A6, + 0x08A5, 0x10A3, 0x4A8D, 0x4A8D, 0x4AF0, 0x322D, 0x0044, 0x0044, 0x0065, 0x00A7, 0x010D, 0x12B6, + 0x1BFA, 0x1C3B, 0x1C3B, 0x1BFA, 0x1318, 0x0150, 0x00A8, 0x0066, 0x0065, 0x1128, 0x118A, 0x0085, + 0x11EA, 0x1989, 0x0043, 0x21A9, 0x0884, 0x0001, 0x0801, 0x0801, 0x2002, 0x4023, 0x906B, 0xB8B1, + 0xC0F2, 0xC912, 0xC0D1, 0xA8AE, 0x6826, 0x3802, 0x1000, 0x1000, 0x0800, 0x0800, 0x0000, 0x0000, + 0x4945, 0x1882, 0x18A3, 0x0021, 0x0000, 0x1062, 0x1062, 0x1062, 0x0021, 0x0021, 0x0087, 0x00A9, + 0x00EC, 0x016E, 0x24FA, 0x0A30, 0x00AA, 0x00A9, 0x0000, 0x0000, 0x0068, 0x00CD, 0x0930, 0x08CC, + 0x0047, 0x0069, 0x19B2, 0x010E, 0x00AB, 0x0002, 0x0000, 0x0086, 0x00CB, 0x00CB, 0x2D3A, 0x0B14, + 0x010D, 0x00AA, 0x0068, 0x0023, 0x0000, 0x0841, 0x0041, 0x0041, 0x0841, 0x0000, 0x0821, 0x0821, + 0x0862, 0x0021, 0x0021, 0x0021, 0x10C5, 0x08EC, 0x025B, 0x09B6, 0x0044, 0x0022, 0x10A4, 0x1905, + 0x2105, 0x2105, 0x2105, 0x2105, 0x10A4, 0x0022, 0x0022, 0x0022, 0x0041, 0x0041, 0x0862, 0x0862, + 0x1082, 0x1082, 0x10A3, 0x0023, 0x0952, 0x00EE, 0x0863, 0x0000, 0x0000, 0x0000, 0x0021, 0x0862, + 0x0862, 0x2987, 0x0001, 0x0001, 0x2125, 0x18C4, 0x10A3, 0x0882, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0000, 0x0842, 0x18C3, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0043, 0x0067, 0x00AC, + 0x0112, 0x0134, 0x01B7, 0x0AFA, 0x979F, 0x979F, 0x1BFC, 0x027A, 0x0218, 0x0218, 0x0259, 0x02BB, + 0x3D3D, 0x87BF, 0x453C, 0x01B7, 0x0113, 0x00D0, 0x00AD, 0x0024, 0x0065, 0x0022, 0x0041, 0x0000, + 0x0000, 0x0862, 0x0863, 0x0863, 0x2147, 0x1083, 0x0001, 0x0042, 0x32D1, 0x43B5, 0x43B5, 0x43B5, + 0x43D6, 0x43D6, 0x4BF7, 0x4C17, 0x4BF6, 0x4BF6, 0x43B5, 0x43B5, 0x3B94, 0x2A4E, 0x0022, 0x0063, + 0x0042, 0x10E6, 0x3B53, 0x3B53, 0x3B94, 0x3B94, 0x43B5, 0x43D5, 0x4BF6, 0x4BD5, 0x4BD5, 0x43B4, + 0x3B53, 0x3B53, 0x3332, 0x19AB, 0x0001, 0x0001, 0x18E5, 0x4A8C, 0x52CD, 0x31A7, 0x1905, 0x532F, + 0x6370, 0x10C4, 0x0064, 0x0064, 0x0002, 0x0086, 0x11AD, 0x012A, 0x00E9, 0x00EA, 0x010A, 0x010B, + 0x012C, 0x012C, 0x014C, 0x016D, 0x018E, 0x13F8, 0x0B35, 0x0212, 0x0AF4, 0x16DF, 0x0DDD, 0x069F, + 0x0C7A, 0x0317, 0x043A, 0x06DF, 0x0DFC, 0x06BF, 0x0D9C, 0x06DF, 0x065E, 0x06FF, 0x0DFC, 0x06BF, + 0x05DC, 0x069F, 0x05FC, 0x065F, 0x05DC, 0x061F, 0x0DDC, 0x065E, 0x0E1E, 0x0E1E, 0x0DDE, 0x0DDE, + 0x05FE, 0x0DBD, 0x065F, 0x0DBC, 0x0E7F, 0x0D1B, 0x0358, 0x043A, 0x067F, 0x0DBD, 0x067F, 0x0398, + 0x0296, 0x0B79, 0x0BD9, 0x0E3F, 0x0DBD, 0x0DBE, 0x0D1C, 0x0E5F, 0x0DBD, 0x0E3F, 0x0337, 0x0337, + 0x0DFF, 0x0D5C, 0x065F, 0x0C9B, 0x151C, 0x02B7, 0x0255, 0x0CDC, 0x0D5D, 0x0235, 0x0235, 0x145A, + 0x0AF6, 0x01D3, 0x01D2, 0x01B1, 0x01F2, 0x014D, 0x0065, 0x00E8, 0x08C6, 0x1083, 0x4ACE, 0x4ACE, + 0x4AF0, 0x320D, 0x0043, 0x0043, 0x0065, 0x00A8, 0x014F, 0x559C, 0x7F9F, 0x7F9F, 0x7F9F, 0x677F, + 0x467F, 0x0192, 0x00AA, 0x0066, 0x08C7, 0x2B71, 0x1AAE, 0x1A2D, 0x12F0, 0x2331, 0x22CF, 0x11CA, + 0x224B, 0x0001, 0x0801, 0x0801, 0x2002, 0x5805, 0xC935, 0xFA1D, 0xFABE, 0xFABE, 0xFA3D, 0xF9FC, + 0x802A, 0x4003, 0x3801, 0x2800, 0x2800, 0x2800, 0x2800, 0x1800, 0x4945, 0x1082, 0x1082, 0x0020, + 0x0000, 0x1062, 0x0862, 0x0862, 0x0842, 0x0000, 0x0044, 0x0089, 0x00AA, 0x00CB, 0x012D, 0x010C, + 0x00A9, 0x00A9, 0x0001, 0x0000, 0x0045, 0x00AC, 0x00CE, 0x0952, 0x19B3, 0x19D4, 0x0111, 0x00AD, + 0x0089, 0x0001, 0x0000, 0x08A8, 0x0089, 0x00AB, 0x016D, 0x00CC, 0x00AA, 0x0088, 0x0066, 0x0001, + 0x0000, 0x0841, 0x0841, 0x0841, 0x0841, 0x0000, 0x0842, 0x0842, 0x0862, 0x0841, 0x0841, 0x0000, + 0x0001, 0x0888, 0x0A9C, 0x0A39, 0x0045, 0x0042, 0x10A3, 0x2125, 0x2146, 0x2146, 0x2146, 0x18E5, + 0x0022, 0x0022, 0x0042, 0x0042, 0x0863, 0x0863, 0x10A3, 0x10A3, 0x10C3, 0x10C3, 0x0883, 0x0003, + 0x0153, 0x00AB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0862, 0x0862, 0x2967, 0x0000, 0x0000, + 0x2125, 0x18E4, 0x18A3, 0x1082, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0842, 0x18C3, 0x0021, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0043, 0x0087, 0x008A, 0x00F2, 0x0134, 0x0197, 0x027A, + 0x6E1D, 0xA7DF, 0x663E, 0x0B7D, 0x02BB, 0x029B, 0x02BB, 0x13DC, 0x771F, 0x879F, 0x1B7A, 0x0175, + 0x00F3, 0x00D0, 0x008B, 0x0024, 0x0065, 0x0022, 0x0000, 0x0000, 0x0000, 0x0862, 0x0863, 0x0863, + 0x2147, 0x1083, 0x0000, 0x0884, 0x19CC, 0x11CC, 0x11CC, 0x11CC, 0x11EC, 0x11EC, 0x11ED, 0x11ED, + 0x120D, 0x120D, 0x11EC, 0x09CC, 0x09AB, 0x1149, 0x0001, 0x0022, 0x0001, 0x0907, 0x11CC, 0x11EC, + 0x11EC, 0x19ED, 0x1A4E, 0x1A4E, 0x1A4E, 0x1A4E, 0x224E, 0x1A2E, 0x1A0D, 0x1A0D, 0x11CC, 0x0949, + 0x0001, 0x0001, 0x18E5, 0x4A8C, 0x52CD, 0x3187, 0x1905, 0x5B2F, 0x5B2F, 0x10A3, 0x0064, 0x0064, + 0x0022, 0x0086, 0x012A, 0x012A, 0x012B, 0x012B, 0x014D, 0x0B14, 0x1376, 0x018F, 0x01AF, 0x01D1, + 0x0232, 0x15FF, 0x0C9B, 0x0CBC, 0x0C59, 0x0EBF, 0x0DDD, 0x069F, 0x0D3B, 0x0E5F, 0x0D3C, 0x069F, + 0x0DBD, 0x06BF, 0x0D9C, 0x06DF, 0x061E, 0x06BF, 0x05DD, 0x06BF, 0x059C, 0x069F, 0x05BD, 0x065F, + 0x059C, 0x061F, 0x0D9D, 0x05DE, 0x0E1E, 0x0E1E, 0x0DDE, 0x0DDE, 0x05FE, 0x0D9D, 0x063F, 0x0DBC, + 0x065F, 0x0D1B, 0x0DFF, 0x0D5D, 0x067F, 0x0D9D, 0x065F, 0x0D3C, 0x0DDF, 0x0D7D, 0x0D3C, 0x0E3F, + 0x0DBD, 0x065F, 0x0D1C, 0x065F, 0x0DBD, 0x063F, 0x153C, 0x153C, 0x05FF, 0x0D5C, 0x063F, 0x0CFB, + 0x05FF, 0x151C, 0x0DDF, 0x0D1C, 0x0D7E, 0x0BFA, 0x0BFA, 0x0E1F, 0x0BD9, 0x0214, 0x01D2, 0x01D2, + 0x01B2, 0x014D, 0x0065, 0x00E8, 0x08C6, 0x0882, 0x4ACE, 0x4ACE, 0x4AEF, 0x29EC, 0x0043, 0x0043, + 0x0045, 0x00A8, 0x0171, 0x559C, 0x7F9F, 0x87DF, 0x8FDF, 0x6F9F, 0x467F, 0x0192, 0x00AA, 0x0066, + 0x11EC, 0x11AA, 0x19CB, 0x11CB, 0x22B0, 0x2AF0, 0x1A2C, 0x2B93, 0x1169, 0x0001, 0x0801, 0x0801, + 0x2002, 0x6006, 0xD117, 0xFA1D, 0xFABE, 0xFABE, 0xFA3D, 0xF9DC, 0x800A, 0x4003, 0x3801, 0x2800, + 0x3000, 0x2800, 0x2800, 0x1800, 0x4945, 0x1082, 0x1082, 0x0020, 0x0000, 0x1062, 0x0862, 0x0862, + 0x0862, 0x0000, 0x0001, 0x0067, 0x0088, 0x00AA, 0x0089, 0x00A9, 0x00A9, 0x00A9, 0x0043, 0x0000, + 0x0002, 0x008A, 0x00AC, 0x00CE, 0x00CF, 0x00CF, 0x00AD, 0x00AC, 0x0045, 0x0000, 0x0000, 0x08A8, + 0x0089, 0x0089, 0x008A, 0x008A, 0x0088, 0x0047, 0x0044, 0x0000, 0x0000, 0x0841, 0x0841, 0x0841, + 0x0841, 0x0000, 0x0842, 0x0842, 0x0841, 0x0841, 0x0841, 0x0000, 0x0862, 0x0865, 0x129B, 0x0A5B, + 0x08A9, 0x0001, 0x0001, 0x2146, 0x2146, 0x2146, 0x2125, 0x0022, 0x0022, 0x0022, 0x0042, 0x08A4, + 0x1926, 0x1905, 0x18E5, 0x18E4, 0x18E4, 0x18E5, 0x0883, 0x0067, 0x0153, 0x0088, 0x0861, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0862, 0x0862, 0x2146, 0x0000, 0x0000, 0x2125, 0x18E4, 0x18C3, 0x1082, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0842, 0x10A3, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0022, 0x0088, 0x0088, 0x00F1, 0x0133, 0x0176, 0x01D9, 0x23FC, 0x9FBF, 0xA7BF, 0x665E, + 0x249D, 0x0BFC, 0x2CDD, 0x76FF, 0x87BF, 0x5E1D, 0x0218, 0x0135, 0x00F3, 0x00D0, 0x0069, 0x0045, + 0x0043, 0x0021, 0x0000, 0x0000, 0x0000, 0x0883, 0x0883, 0x0883, 0x2147, 0x1083, 0x0000, 0x0084, + 0x094A, 0x094A, 0x096A, 0x096A, 0x0969, 0x0969, 0x096A, 0x096A, 0x096A, 0x098A, 0x0149, 0x0149, + 0x0129, 0x00E8, 0x0000, 0x0000, 0x0000, 0x00A6, 0x0149, 0x016A, 0x016A, 0x016A, 0x098A, 0x098A, + 0x09AB, 0x09AB, 0x098A, 0x098A, 0x016A, 0x016A, 0x0149, 0x08E7, 0x0001, 0x0001, 0x10C4, 0x426B, + 0x4A8C, 0x2987, 0x18E4, 0x52EE, 0x52CD, 0x1083, 0x0084, 0x0086, 0x0023, 0x00C8, 0x09EF, 0x018E, + 0x018E, 0x01B0, 0x01F1, 0x0C9A, 0x153E, 0x02B5, 0x02D6, 0x0337, 0x0378, 0x0DFF, 0x0CFC, 0x0E1F, + 0x0D3C, 0x065F, 0x0DBD, 0x063F, 0x0D3B, 0x063F, 0x0D3C, 0x063F, 0x057D, 0x063F, 0x0D7C, 0x067F, + 0x0DBD, 0x061F, 0x05BD, 0x063F, 0x057C, 0x061F, 0x059D, 0x05FF, 0x057D, 0x059F, 0x0D3D, 0x057E, + 0x05BE, 0x05BE, 0x057E, 0x057E, 0x05BE, 0x0D9D, 0x05FF, 0x057C, 0x063F, 0x0D3C, 0x0E1F, 0x0D7D, + 0x063F, 0x057D, 0x05FF, 0x0D5D, 0x05DF, 0x0D7D, 0x0D5D, 0x05FF, 0x059E, 0x061F, 0x0D3C, 0x061F, + 0x0D9D, 0x061F, 0x0D7D, 0x0D7D, 0x05DF, 0x0D5D, 0x061F, 0x0D3D, 0x05FF, 0x0D5D, 0x05FF, 0x0D5D, + 0x057E, 0x057E, 0x051D, 0x0E3F, 0x0C5B, 0x0339, 0x0236, 0x01F5, 0x0235, 0x018F, 0x0086, 0x00E9, + 0x08E7, 0x0862, 0x4AAD, 0x4AAE, 0x42AE, 0x21CB, 0x0023, 0x0023, 0x0045, 0x0088, 0x0171, 0x5DBD, + 0x7F9F, 0x8FDF, 0x97DF, 0x6F9F, 0x467E, 0x0172, 0x0089, 0x0066, 0x118B, 0x1A4D, 0x11CC, 0x22B0, + 0x1A8E, 0x1148, 0x1967, 0x0108, 0x22CF, 0x0001, 0x0801, 0x0801, 0x2002, 0x5806, 0xD137, 0xFA1D, + 0xFABE, 0xFABE, 0xF9FC, 0xF9FC, 0x7809, 0x4002, 0x2801, 0x1000, 0x2800, 0x2000, 0x2000, 0x1000, + 0x4925, 0x1062, 0x1062, 0x0021, 0x0000, 0x1062, 0x0862, 0x0862, 0x0862, 0x0821, 0x0000, 0x0002, + 0x0066, 0x0046, 0x0045, 0x0045, 0x0045, 0x0045, 0x0022, 0x0000, 0x0000, 0x0000, 0x0024, 0x0047, + 0x0068, 0x0068, 0x0046, 0x0024, 0x0000, 0x0000, 0x0000, 0x0065, 0x0024, 0x0024, 0x0046, 0x0046, + 0x0045, 0x0045, 0x0000, 0x0000, 0x0841, 0x0841, 0x0842, 0x0842, 0x0841, 0x0000, 0x0841, 0x0841, + 0x0862, 0x0862, 0x0841, 0x0000, 0x0000, 0x0022, 0x1215, 0x027C, 0x094F, 0x0001, 0x0021, 0x18C4, + 0x2967, 0x2125, 0x0022, 0x0022, 0x0042, 0x0042, 0x0884, 0x2167, 0x320A, 0x31EA, 0x2147, 0x2126, + 0x1905, 0x1905, 0x0001, 0x00CB, 0x0153, 0x0045, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0841, + 0x0862, 0x1905, 0x0000, 0x0000, 0x2125, 0x18E4, 0x18C3, 0x10A3, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0842, 0x10A3, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0088, 0x0088, + 0x00CE, 0x0133, 0x0176, 0x01D9, 0x02DC, 0x4D5D, 0xA7BF, 0xA7BF, 0x9FBF, 0x97BF, 0x9FBF, 0x9FBF, + 0x7EFE, 0x0B1A, 0x0198, 0x0134, 0x00F2, 0x00D0, 0x0026, 0x0026, 0x0043, 0x0021, 0x0000, 0x0000, + 0x0000, 0x1083, 0x0883, 0x0883, 0x2147, 0x1083, 0x0000, 0x0084, 0x0108, 0x0108, 0x0108, 0x0128, + 0x0129, 0x0129, 0x0129, 0x0129, 0x0129, 0x0129, 0x0149, 0x0108, 0x00E8, 0x00C6, 0x0000, 0x0000, + 0x0000, 0x00A6, 0x0128, 0x0128, 0x0129, 0x016A, 0x0149, 0x014A, 0x014A, 0x014A, 0x014A, 0x014A, + 0x0129, 0x0108, 0x0108, 0x00C6, 0x0001, 0x0001, 0x10C4, 0x426B, 0x426B, 0x2966, 0x1082, 0x424A, + 0x3A2A, 0x0862, 0x0084, 0x0086, 0x0024, 0x010A, 0x0A12, 0x01D1, 0x01F1, 0x0BB8, 0x0C9A, 0x04DB, + 0x0D3D, 0x14FC, 0x0CFC, 0x0D9E, 0x051D, 0x05DF, 0x0CFC, 0x05FF, 0x0D3C, 0x065F, 0x0D9D, 0x063F, + 0x0D3C, 0x063F, 0x0D1C, 0x063F, 0x055D, 0x063F, 0x0D7C, 0x067F, 0x059D, 0x061F, 0x059D, 0x063F, + 0x055D, 0x061F, 0x055D, 0x05FF, 0x053D, 0x059F, 0x0D3D, 0x057E, 0x05BE, 0x05BE, 0x057E, 0x057E, + 0x05BE, 0x0D7D, 0x05FF, 0x057D, 0x061F, 0x0D3C, 0x0E1F, 0x0D7D, 0x063F, 0x055D, 0x05FF, 0x0D5D, + 0x05DF, 0x0D9E, 0x0D5D, 0x05FF, 0x059E, 0x061F, 0x0D3C, 0x061F, 0x0D9D, 0x061F, 0x0D7D, 0x0D7D, + 0x05DF, 0x0D5D, 0x061F, 0x0D3D, 0x05FF, 0x0D5D, 0x05FF, 0x0D5D, 0x057E, 0x057E, 0x051D, 0x061F, + 0x0CFD, 0x059F, 0x0BBB, 0x0B5A, 0x0278, 0x09B1, 0x0086, 0x00E9, 0x08E6, 0x0862, 0x426C, 0x426C, + 0x42AE, 0x21AA, 0x0023, 0x0023, 0x0045, 0x0088, 0x0132, 0x5D3C, 0x8F7F, 0x8F7F, 0x979F, 0x7F5F, + 0x4DFE, 0x0110, 0x0089, 0x0066, 0x0065, 0x2B10, 0x2AF1, 0x116A, 0x1148, 0x0001, 0x1967, 0x2B31, + 0x19CA, 0x0001, 0x0801, 0x0801, 0x2002, 0x5005, 0xC936, 0xFA1D, 0xFA3D, 0xFA3C, 0xF9FC, 0xF1FB, + 0x6808, 0x3802, 0x2001, 0x0800, 0x0800, 0x0000, 0x0000, 0x0800, 0x4925, 0x1062, 0x1062, 0x0021, + 0x0000, 0x1062, 0x0862, 0x0862, 0x0862, 0x0862, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x10A2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0841, 0x0000, + 0x0841, 0x0841, 0x0842, 0x0842, 0x0841, 0x0000, 0x0841, 0x0841, 0x0862, 0x0862, 0x0841, 0x0000, + 0x0000, 0x10A3, 0x092E, 0x0A7C, 0x09F6, 0x0043, 0x0883, 0x0841, 0x2125, 0x0863, 0x0022, 0x0022, + 0x0042, 0x0042, 0x2167, 0x3A4B, 0x428D, 0x428D, 0x3A2A, 0x2987, 0x2967, 0x10C4, 0x0864, 0x0930, + 0x010F, 0x0843, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0841, 0x0862, 0x1905, 0x0000, 0x0000, + 0x2125, 0x2125, 0x18C4, 0x10A3, 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0842, 0x10A3, 0x0021, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0085, 0x00A8, 0x008B, 0x0133, 0x0176, 0x01D9, + 0x027B, 0x033C, 0x451D, 0x977F, 0xAFDF, 0xAFFF, 0xA7DF, 0x767E, 0x133A, 0x021A, 0x0176, 0x0134, + 0x00F2, 0x00AE, 0x0046, 0x0046, 0x0000, 0x0000, 0x0020, 0x0020, 0x0041, 0x1083, 0x1083, 0x1083, + 0x1906, 0x1083, 0x0000, 0x0064, 0x0108, 0x0108, 0x0109, 0x0129, 0x014A, 0x014A, 0x018C, 0x012A, + 0x014B, 0x014B, 0x0108, 0x0108, 0x00E7, 0x00C6, 0x0000, 0x0000, 0x0000, 0x0085, 0x0108, 0x0129, + 0x018C, 0x018C, 0x01AC, 0x016B, 0x018C, 0x018C, 0x014A, 0x014A, 0x014B, 0x012A, 0x0109, 0x00A6, + 0x0000, 0x0000, 0x10C4, 0x3A2A, 0x422A, 0x2146, 0x0841, 0x2146, 0x2145, 0x0841, 0x0084, 0x00A6, + 0x0066, 0x012C, 0x01D1, 0x0AD6, 0x0BF9, 0x0CDC, 0x059F, 0x04DC, 0x0D1D, 0x0D1D, 0x051D, 0x059E, + 0x055D, 0x05BF, 0x053E, 0x05BF, 0x0D3D, 0x05FF, 0x057D, 0x05FF, 0x053D, 0x061F, 0x051C, 0x05DF, + 0x053D, 0x05DF, 0x0D5D, 0x061F, 0x055D, 0x059F, 0x055D, 0x05BF, 0x051D, 0x05BF, 0x051D, 0x059F, + 0x053E, 0x057F, 0x055E, 0x055E, 0x059E, 0x059E, 0x055E, 0x055E, 0x057E, 0x057E, 0x05BF, 0x057D, + 0x05FF, 0x0D5E, 0x05DF, 0x057E, 0x061F, 0x057E, 0x05DF, 0x057E, 0x05BE, 0x05BE, 0x057E, 0x05FF, + 0x059E, 0x05DF, 0x0D3D, 0x05DF, 0x057E, 0x05FF, 0x057E, 0x057E, 0x05BF, 0x057E, 0x05FF, 0x055D, + 0x05DF, 0x057E, 0x05DF, 0x055E, 0x057E, 0x057E, 0x053E, 0x05DF, 0x051E, 0x059F, 0x0CDD, 0x0CDD, + 0x02D9, 0x0A12, 0x0066, 0x00C8, 0x08C6, 0x0021, 0x2988, 0x2988, 0x426C, 0x2189, 0x0023, 0x0023, + 0x0045, 0x0046, 0x00EE, 0x0175, 0x01F8, 0x0A39, 0x0A59, 0x01F8, 0x0196, 0x00CE, 0x0068, 0x0046, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0801, 0x0801, + 0x2001, 0x4004, 0x882A, 0xA82D, 0xA80C, 0xA80C, 0xA00C, 0x900A, 0x5004, 0x3002, 0x1000, 0x1000, + 0x0800, 0x0800, 0x0000, 0x0000, 0x4104, 0x1042, 0x1062, 0x0021, 0x0000, 0x1062, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, + 0x2147, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0022, 0x1906, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0842, 0x0842, 0x0842, 0x0842, + 0x0841, 0x0000, 0x0842, 0x0842, 0x0862, 0x0862, 0x0841, 0x0020, 0x0000, 0x0042, 0x0888, 0x127A, + 0x0A19, 0x00A9, 0x0000, 0x0842, 0x0021, 0x0021, 0x0043, 0x0043, 0x0063, 0x10E5, 0x31C9, 0x428C, + 0x4AEE, 0x4AEE, 0x4ACD, 0x3A2A, 0x2966, 0x0001, 0x0087, 0x0132, 0x0089, 0x0842, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0862, 0x0862, 0x0862, 0x18E4, 0x0001, 0x0001, 0x2945, 0x2104, 0x18E4, 0x18C3, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0842, 0x10A3, 0x0821, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0043, 0x094A, 0x0068, 0x0110, 0x0196, 0x01D9, 0x025C, 0x02BD, 0x031D, 0x0B9C, + 0x2C9C, 0x34DD, 0x241C, 0x02DB, 0x021A, 0x01B8, 0x0176, 0x0133, 0x00F1, 0x0069, 0x0046, 0x0046, + 0x0000, 0x0000, 0x0020, 0x0020, 0x0041, 0x1083, 0x1083, 0x1083, 0x1906, 0x1083, 0x0000, 0x0064, + 0x0108, 0x0108, 0x11EC, 0x2B52, 0x014A, 0x2C56, 0x34B8, 0x12B1, 0x3478, 0x3478, 0x0108, 0x0108, + 0x00E7, 0x00A5, 0x0000, 0x0000, 0x0000, 0x0085, 0x0108, 0x2BD4, 0x2CD9, 0x2437, 0x2498, 0x2416, + 0x2D5C, 0x2C78, 0x1AF2, 0x23D6, 0x2CFA, 0x2C37, 0x012A, 0x00A6, 0x0000, 0x0000, 0x10C3, 0x3A2A, + 0x39E9, 0x2125, 0x0841, 0x18E4, 0x1904, 0x0841, 0x0084, 0x00A6, 0x0087, 0x12F3, 0x1D5E, 0x0CBC, + 0x053E, 0x051E, 0x059F, 0x051D, 0x0D1D, 0x0D1D, 0x051D, 0x057E, 0x055D, 0x059F, 0x053E, 0x057F, + 0x055E, 0x05FF, 0x055D, 0x05FF, 0x053D, 0x05FF, 0x04FD, 0x05DF, 0x053D, 0x05DF, 0x0D5D, 0x061F, + 0x055E, 0x059F, 0x055E, 0x05BF, 0x053E, 0x05BF, 0x051D, 0x059F, 0x053E, 0x059F, 0x055E, 0x055E, + 0x059E, 0x059E, 0x055E, 0x055E, 0x057E, 0x057E, 0x05BF, 0x055E, 0x05FF, 0x0D5E, 0x05DF, 0x057E, + 0x05FF, 0x057E, 0x05BF, 0x057E, 0x05BE, 0x05BE, 0x057E, 0x05FF, 0x059E, 0x05DF, 0x053D, 0x05DF, + 0x057E, 0x05DF, 0x057E, 0x057E, 0x05BF, 0x057E, 0x05DF, 0x055D, 0x05DF, 0x057E, 0x05BF, 0x055E, + 0x057E, 0x057E, 0x053E, 0x05DF, 0x051E, 0x057F, 0x0CDD, 0x053F, 0x0CDE, 0x1397, 0x0086, 0x00C8, + 0x08C6, 0x0021, 0x2126, 0x2126, 0x31E9, 0x2168, 0x0023, 0x0023, 0x0045, 0x0046, 0x00AB, 0x00F0, + 0x0113, 0x0135, 0x0135, 0x0114, 0x00F0, 0x00AB, 0x0068, 0x0046, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0801, 0x0801, 0x2001, 0x3002, 0x5804, 0x7005, + 0x7806, 0x8006, 0x7806, 0x6805, 0x4003, 0x2801, 0x1000, 0x1000, 0x0800, 0x0800, 0x0000, 0x0000, + 0x38E3, 0x1042, 0x0862, 0x0021, 0x0000, 0x1062, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0020, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1948, 0x957A, 0x9D79, 0x5B71, 0x322C, + 0x29AA, 0x29AA, 0x42AE, 0x7434, 0xA5DC, 0x5373, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0841, 0x0841, 0x0842, 0x0842, 0x0842, 0x0842, 0x0841, 0x0000, 0x0842, 0x0842, + 0x0862, 0x0862, 0x0841, 0x0841, 0x0000, 0x0000, 0x0043, 0x1192, 0x01F9, 0x0993, 0x0002, 0x0842, + 0x0021, 0x0021, 0x0043, 0x0043, 0x08A4, 0x2146, 0x3A0A, 0x4A8C, 0x4AEE, 0x4AEE, 0x530E, 0x426C, + 0x1083, 0x0001, 0x090F, 0x090F, 0x0864, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x0862, + 0x0862, 0x18E4, 0x0001, 0x0001, 0x2945, 0x2105, 0x2104, 0x18C3, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0842, 0x1082, 0x0841, 0x0842, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0908, + 0x096B, 0x00AB, 0x0195, 0x023A, 0x02BC, 0x02DD, 0x02FE, 0x02FD, 0x02FD, 0x02FD, 0x029C, 0x025B, + 0x01D9, 0x01B8, 0x0175, 0x0113, 0x00CE, 0x0046, 0x0066, 0x0022, 0x0000, 0x0000, 0x0841, 0x0000, + 0x1083, 0x1083, 0x10A3, 0x0862, 0x18E4, 0x1082, 0x0000, 0x0063, 0x00E8, 0x00E8, 0x0A0D, 0x2353, + 0x01CC, 0x23F5, 0x0A2E, 0x2D1B, 0x1353, 0x1B74, 0x098B, 0x00E8, 0x00C7, 0x00A5, 0x0000, 0x0000, + 0x0000, 0x0085, 0x00E8, 0x2392, 0x2498, 0x1C37, 0x2478, 0x122F, 0x2C78, 0x12F1, 0x1313, 0x2417, + 0x1CDA, 0x2C58, 0x014A, 0x0085, 0x0000, 0x0000, 0x10A3, 0x39E8, 0x2987, 0x1904, 0x0841, 0x18C4, + 0x18C3, 0x0841, 0x0084, 0x00A6, 0x0087, 0x12B3, 0x149C, 0x147C, 0x0C7C, 0x0C9C, 0x0C7C, 0x0C7C, + 0x0C7C, 0x0C7C, 0x0C9C, 0x0C9C, 0x0C9C, 0x0C9C, 0x0C7C, 0x0C7C, 0x0C7C, 0x0C7C, 0x04BC, 0x04BC, + 0x049C, 0x049C, 0x0C7B, 0x04BC, 0x0C7B, 0x0C7B, 0x0C7B, 0x0CDC, 0x0C7C, 0x0C7C, 0x0C7C, 0x0C7C, + 0x0C7C, 0x0C7C, 0x0C7C, 0x0C7C, 0x049C, 0x049C, 0x0CBD, 0x0CBD, 0x0CBD, 0x0CBD, 0x0CBD, 0x0CBD, + 0x0CBD, 0x0CBD, 0x0C9C, 0x0C9C, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC, 0x0CBC, + 0x04BC, 0x0CBC, 0x0CBB, 0x0CBB, 0x0C9C, 0x0C9C, 0x0C7B, 0x0C7B, 0x0C9C, 0x0C9C, 0x04BC, 0x0C9C, + 0x0C9B, 0x0C9B, 0x0C7B, 0x0C7B, 0x0C9C, 0x0C9C, 0x0C7B, 0x0C7B, 0x0C7B, 0x0C7B, 0x0C7B, 0x0C7B, + 0x0C7C, 0x0C7C, 0x0C5B, 0x0C5C, 0x0C3B, 0x12F5, 0x0066, 0x00C7, 0x08C5, 0x0021, 0x1905, 0x1905, + 0x29A8, 0x2967, 0x0022, 0x0022, 0x0045, 0x0045, 0x0088, 0x00AB, 0x00D0, 0x00D0, 0x00CF, 0x00CF, + 0x00AC, 0x0089, 0x0067, 0x0045, 0x0024, 0x0024, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0801, 0x0801, 0x2001, 0x3001, 0x4802, 0x5801, 0x6803, 0x6803, 0x6803, 0x5803, + 0x4002, 0x2801, 0x1000, 0x1000, 0x0800, 0x0800, 0x0000, 0x0000, 0x30C3, 0x1042, 0x0862, 0x0021, + 0x0000, 0x1082, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0086, 0x010B, 0x222F, 0x6C56, 0x959A, 0x9DDB, 0x9DDB, 0x74F9, 0x4B74, + 0x118D, 0x00CA, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0842, 0x0842, + 0x0842, 0x0842, 0x0842, 0x0842, 0x0842, 0x0000, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0000, 0x0000, 0x0001, 0x0087, 0x11F7, 0x0196, 0x08EC, 0x0001, 0x0001, 0x0001, 0x0022, 0x0884, + 0x10E5, 0x2987, 0x3A0A, 0x426B, 0x4ACD, 0x52EE, 0x424B, 0x0862, 0x1905, 0x08CA, 0x0132, 0x0088, + 0x0021, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0882, 0x0882, 0x0882, 0x18E4, 0x0001, 0x0001, + 0x2966, 0x2125, 0x2105, 0x18C4, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0842, 0x1082, 0x1082, + 0x0842, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0043, 0x22CF, 0x00E9, 0x00EE, 0x027A, + 0x033E, 0x039E, 0x037E, 0x037E, 0x033E, 0x02FD, 0x029C, 0x025B, 0x01D9, 0x01B8, 0x0176, 0x0111, + 0x0047, 0x0066, 0x0065, 0x0000, 0x0000, 0x0861, 0x0000, 0x0000, 0x1083, 0x1083, 0x10A3, 0x0862, + 0x18E4, 0x1082, 0x0000, 0x0063, 0x00E8, 0x00E8, 0x0A0D, 0x1B94, 0x01CD, 0x2437, 0x0AB0, 0x2458, + 0x13F6, 0x1C79, 0x0A0D, 0x00C7, 0x00C7, 0x0085, 0x0000, 0x0000, 0x0000, 0x0085, 0x00C8, 0x22D0, + 0x0B33, 0x2D1B, 0x0AD2, 0x018C, 0x2C78, 0x12B0, 0x1334, 0x2417, 0x1C98, 0x0A0D, 0x00C7, 0x0085, + 0x0000, 0x0000, 0x10A3, 0x39E8, 0x2146, 0x18E4, 0x0841, 0x18C4, 0x18C3, 0x0841, 0x0084, 0x00A6, + 0x0066, 0x012D, 0x0170, 0x0170, 0x0191, 0x0191, 0x0191, 0x0191, 0x01B2, 0x01B2, 0x01B2, 0x01B2, + 0x01B2, 0x01B2, 0x01B2, 0x0192, 0x01B2, 0x01B2, 0x01D3, 0x01D3, 0x01F3, 0x01D4, 0x01D4, 0x01D4, + 0x01D3, 0x01D3, 0x01D3, 0x01B3, 0x01B3, 0x01D3, 0x01D3, 0x01D2, 0x01D3, 0x01F3, 0x01F3, 0x01D3, + 0x01D3, 0x01D3, 0x01D3, 0x01D3, 0x01B3, 0x01B3, 0x01D3, 0x01D3, 0x01B3, 0x01B2, 0x01B2, 0x01B2, + 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, + 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B2, 0x01B3, 0x01B3, 0x01B2, 0x01B2, 0x01B3, 0x01B2, + 0x01B3, 0x01B2, 0x01B2, 0x0192, 0x0191, 0x0191, 0x0191, 0x0191, 0x0191, 0x0191, 0x0191, 0x0191, + 0x016F, 0x010C, 0x0066, 0x0066, 0x08A5, 0x0021, 0x1905, 0x1905, 0x2967, 0x2967, 0x0022, 0x0022, + 0x0045, 0x0045, 0x0068, 0x00AB, 0x00AE, 0x00D0, 0x00CF, 0x00CF, 0x00AC, 0x0089, 0x0067, 0x0045, + 0x0024, 0x0024, 0x0002, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0801, 0x0801, + 0x2000, 0x3001, 0x5801, 0x7001, 0x7801, 0x7801, 0x7801, 0x6801, 0x4002, 0x3000, 0x1000, 0x1000, + 0x0800, 0x0800, 0x0000, 0x0000, 0x2882, 0x1042, 0x0862, 0x0021, 0x0000, 0x1083, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0086, + 0x010B, 0x010B, 0x014D, 0x01D0, 0x01F2, 0x01F3, 0x01F3, 0x014E, 0x00EB, 0x00C9, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x1082, 0x0842, 0x0842, 0x0842, 0x0842, 0x0842, 0x0842, + 0x0842, 0x0000, 0x0021, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0861, 0x0000, 0x0000, 0x0023, + 0x08EC, 0x0196, 0x0174, 0x08AA, 0x0001, 0x0001, 0x0000, 0x0022, 0x10A3, 0x2987, 0x3A2A, 0x426B, + 0x3A2A, 0x2126, 0x0020, 0x0001, 0x08A8, 0x0953, 0x00ED, 0x0001, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0000, 0x0000, 0x0882, 0x0882, 0x0882, 0x18C4, 0x0001, 0x0001, 0x2966, 0x2966, 0x2125, 0x18E4, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0821, 0x0862, 0x0862, 0x0862, 0x0862, 0x0021, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0002, 0x08C7, 0x5C14, 0x00A8, 0x0150, 0x03BD, 0x045F, 0x047F, 0x047F, + 0x03FE, 0x039E, 0x02DC, 0x029B, 0x021A, 0x01D8, 0x0173, 0x0048, 0x0086, 0x0086, 0x0022, 0x0000, + 0x0020, 0x18C3, 0x0000, 0x0041, 0x1083, 0x1083, 0x1083, 0x0862, 0x18C4, 0x1082, 0x0000, 0x0043, + 0x00C7, 0x00C7, 0x098B, 0x3C56, 0x3394, 0x1AF1, 0x2BF5, 0x014A, 0x23F5, 0x2C37, 0x096B, 0x00C7, + 0x00A6, 0x0085, 0x0000, 0x0000, 0x0000, 0x0064, 0x00C7, 0x1A4E, 0x3C36, 0x1B12, 0x2C16, 0x1A4F, + 0x22F2, 0x012A, 0x2BF5, 0x1AD1, 0x1AAF, 0x00E7, 0x00A7, 0x0085, 0x0000, 0x0000, 0x1082, 0x31A7, + 0x18E4, 0x18E4, 0x0841, 0x10C3, 0x10C3, 0x0841, 0x00A6, 0x00A6, 0x0044, 0x00A8, 0x00CA, 0x00CA, + 0x00EA, 0x00EA, 0x00EB, 0x00EB, 0x010C, 0x010C, 0x010C, 0x010C, 0x010C, 0x010C, 0x010C, 0x010C, + 0x010C, 0x010C, 0x012C, 0x012C, 0x012C, 0x012C, 0x012C, 0x012C, 0x012D, 0x012D, 0x012D, 0x012D, + 0x012D, 0x012D, 0x010C, 0x012C, 0x014D, 0x014D, 0x012D, 0x012D, 0x012D, 0x012D, 0x012D, 0x012D, + 0x012D, 0x012D, 0x012D, 0x012D, 0x012D, 0x012D, 0x012C, 0x012C, 0x012C, 0x012C, 0x010C, 0x010C, + 0x010C, 0x010C, 0x010C, 0x010C, 0x010C, 0x010C, 0x00EB, 0x00EC, 0x010C, 0x010C, 0x010B, 0x010B, + 0x00EB, 0x00EB, 0x010C, 0x010C, 0x010C, 0x012C, 0x010C, 0x010C, 0x010C, 0x010C, 0x010C, 0x010C, + 0x00EB, 0x00EB, 0x00EB, 0x00EB, 0x00EB, 0x00EB, 0x00EB, 0x00EC, 0x00EB, 0x00A8, 0x0044, 0x00A6, + 0x08A5, 0x0021, 0x18E4, 0x18E4, 0x2126, 0x2126, 0x0002, 0x0002, 0x0024, 0x0046, 0x006A, 0x10F1, + 0x1934, 0x2135, 0x2135, 0x2135, 0x10F2, 0x008C, 0x0067, 0x0025, 0x0024, 0x0023, 0x0022, 0x0021, + 0x0022, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x1000, 0x2800, 0x5000, 0x8000, 0xA000, + 0xA800, 0xA800, 0xA800, 0x9800, 0x6800, 0x3800, 0x2000, 0x1000, 0x0800, 0x0800, 0x0000, 0x0000, + 0x2882, 0x1062, 0x0862, 0x0041, 0x0000, 0x10A3, 0x1083, 0x1083, 0x1083, 0x1083, 0x1082, 0x1082, + 0x0862, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0065, 0x00EA, 0x00EA, 0x0A50, 0x267F, + 0x167F, 0x169F, 0x255C, 0x012E, 0x00CA, 0x00A8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x10A3, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0000, 0x0021, 0x0862, + 0x0862, 0x0862, 0x0842, 0x0842, 0x1082, 0x0000, 0x0000, 0x0000, 0x0003, 0x0910, 0x0953, 0x0953, + 0x08CC, 0x0002, 0x0001, 0x0000, 0x0000, 0x0000, 0x10A2, 0x0000, 0x0001, 0x0001, 0x0001, 0x08CA, + 0x1195, 0x0111, 0x0023, 0x0000, 0x0000, 0x0020, 0x0020, 0x0020, 0x0000, 0x0841, 0x1083, 0x1083, + 0x1083, 0x18C3, 0x0001, 0x0001, 0x2966, 0x2966, 0x2945, 0x20E4, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0000, 0x0021, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0023, 0x21CA, 0x7CB5, 0x0087, 0x014E, 0x0BBB, 0x047F, 0x047F, 0x03FE, 0x03FE, 0x033D, 0x02DC, + 0x0259, 0x0193, 0x0048, 0x0045, 0x0086, 0x0043, 0x0000, 0x0000, 0x18E3, 0x0861, 0x0000, 0x0862, + 0x1083, 0x1083, 0x1083, 0x0862, 0x18C4, 0x1082, 0x0000, 0x0043, 0x00C7, 0x00C7, 0x00A7, 0x00A6, + 0x00A7, 0x00A7, 0x00A7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00C7, 0x00A6, 0x0085, 0x0000, 0x0000, + 0x0000, 0x0064, 0x00C7, 0x00C7, 0x00A7, 0x00C7, 0x00C7, 0x00A7, 0x00C7, 0x00C7, 0x00C7, 0x00E8, + 0x00E7, 0x00E7, 0x00A7, 0x0085, 0x0000, 0x0000, 0x1082, 0x2966, 0x18E4, 0x18E4, 0x0841, 0x10C3, + 0x10C3, 0x0841, 0x0084, 0x00A6, 0x0023, 0x00A7, 0x092A, 0x00C8, 0x0087, 0x00A7, 0x00A8, 0x00A8, + 0x00C8, 0x00C8, 0x00C8, 0x00A8, 0x00C8, 0x00C8, 0x00C9, 0x00C8, 0x00C8, 0x00C8, 0x00C9, 0x00C9, + 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00EA, 0x00EA, 0x00EA, 0x00EA, 0x00E9, 0x00E9, 0x00C9, 0x00C9, + 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x094B, 0x00EA, 0x00E9, 0x00E9, + 0x00C9, 0x00C9, 0x00C8, 0x00C8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, + 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00C9, 0x00C9, + 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C9, 0x00C8, 0x00C8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00A8, + 0x00A8, 0x00A8, 0x00A8, 0x00A8, 0x00EA, 0x00A7, 0x0023, 0x0085, 0x08A4, 0x0021, 0x18E4, 0x18E4, + 0x2126, 0x2126, 0x0002, 0x0002, 0x0024, 0x0046, 0x108D, 0x62D8, 0x8C1B, 0x8C1B, 0x8C5B, 0x8C3B, + 0x739A, 0x08B0, 0x0067, 0x0045, 0x08A6, 0x1A0C, 0x1149, 0x10E6, 0x0022, 0x1126, 0x1906, 0x0927, + 0x19CA, 0x08A5, 0x0800, 0x1000, 0x3000, 0x6800, 0xB164, 0xD36B, 0xDBAC, 0xDBAC, 0xDBCC, 0xD36B, + 0x9020, 0x5000, 0x2000, 0x1000, 0x0800, 0x0800, 0x0000, 0x0000, 0x2882, 0x1062, 0x0862, 0x0041, + 0x0000, 0x18A3, 0x1083, 0x1083, 0x1083, 0x1083, 0x1082, 0x1082, 0x0862, 0x0862, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0065, 0x00EA, 0x00EA, 0x012C, 0x1DDC, 0x0EDF, 0x0EDF, 0x0B95, 0x010D, + 0x00CA, 0x00A8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18E4, 0x10A3, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0000, 0x0021, 0x0862, 0x0862, 0x0862, 0x0842, 0x0001, + 0x0841, 0x0841, 0x0000, 0x0000, 0x1084, 0x0025, 0x090F, 0x0953, 0x0154, 0x0950, 0x0066, 0x0001, + 0x0000, 0x0000, 0x1082, 0x0000, 0x0001, 0x0044, 0x1970, 0x09D6, 0x0132, 0x0045, 0x0000, 0x0000, + 0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0841, 0x1083, 0x1083, 0x1083, 0x1083, 0x0001, 0x0001, + 0x2966, 0x2966, 0x2946, 0x2104, 0x0021, 0x0021, 0x0041, 0x0041, 0x0000, 0x0000, 0x0021, 0x10A3, + 0x1082, 0x1082, 0x0862, 0x0020, 0x0000, 0x0000, 0x0020, 0x0020, 0x0002, 0x0023, 0x322B, 0x9D57, + 0x10E8, 0x00C9, 0x0A11, 0x0B58, 0x0BBB, 0x0B7B, 0x0AFA, 0x0A35, 0x00EC, 0x0026, 0x0045, 0x0086, + 0x0044, 0x0001, 0x0000, 0x1082, 0x2924, 0x0000, 0x0020, 0x0862, 0x1083, 0x1083, 0x1082, 0x0862, + 0x10C4, 0x0862, 0x0000, 0x0043, 0x00A6, 0x00A6, 0x0086, 0x0086, 0x0086, 0x0086, 0x00A6, 0x00A6, + 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x0085, 0x0000, 0x0000, 0x0000, 0x0043, 0x0086, 0x0086, + 0x00A6, 0x00A6, 0x00A7, 0x00A7, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x0064, + 0x0000, 0x0000, 0x1082, 0x2105, 0x18C3, 0x18C3, 0x0841, 0x10C3, 0x10C3, 0x0841, 0x0084, 0x0086, + 0x0023, 0x0044, 0x0086, 0x0086, 0x0065, 0x0065, 0x0066, 0x0066, 0x0065, 0x0065, 0x0086, 0x0086, + 0x0065, 0x0065, 0x0087, 0x0087, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0045, + 0x0066, 0x0066, 0x00A7, 0x00A7, 0x0066, 0x0066, 0x0065, 0x0065, 0x0086, 0x0086, 0x0086, 0x0086, + 0x0087, 0x0087, 0x00A8, 0x00A8, 0x010B, 0x00E9, 0x0087, 0x0087, 0x0066, 0x0066, 0x0086, 0x0086, + 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0066, 0x0044, 0x0044, 0x0065, 0x0065, 0x0066, 0x0066, + 0x0045, 0x0086, 0x0066, 0x0066, 0x0045, 0x0066, 0x0086, 0x0087, 0x0086, 0x0086, 0x0066, 0x0066, + 0x0045, 0x0086, 0x0086, 0x0086, 0x0065, 0x0065, 0x0045, 0x0045, 0x0045, 0x0045, 0x0065, 0x0065, + 0x0045, 0x0044, 0x0023, 0x0065, 0x0884, 0x0021, 0x18E4, 0x18E4, 0x2105, 0x2105, 0x0022, 0x0022, + 0x0024, 0x0046, 0x188F, 0xA4DC, 0xD67F, 0xD67F, 0xD65F, 0xD65F, 0xBDBF, 0x18F2, 0x006A, 0x0045, + 0x1129, 0x1A8F, 0x1AF0, 0x226E, 0x116A, 0x22B0, 0x226E, 0x1ACF, 0x0989, 0x2AAE, 0x0800, 0x1800, + 0x3800, 0x7800, 0xD34A, 0xFE95, 0xFF17, 0xFF17, 0xFEB6, 0xFEB6, 0xA081, 0x6000, 0x4000, 0x3800, + 0x2800, 0x2800, 0x3000, 0x1800, 0x2882, 0x1062, 0x1062, 0x0841, 0x0000, 0x1083, 0x1083, 0x1083, + 0x1083, 0x1083, 0x1083, 0x1083, 0x1083, 0x1083, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0065, + 0x00A9, 0x00A9, 0x00EB, 0x1394, 0x0EFF, 0x167E, 0x018E, 0x010C, 0x00A9, 0x0088, 0x0000, 0x0000, + 0x0000, 0x0000, 0x2104, 0x2104, 0x1062, 0x1062, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0842, 0x0000, 0x0020, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0000, 0x0841, 0x0020, 0x0020, + 0x0000, 0x0000, 0x0002, 0x08CB, 0x0952, 0x0154, 0x0996, 0x0993, 0x112F, 0x090C, 0x090B, 0x112D, + 0x19B2, 0x1217, 0x0196, 0x0132, 0x0046, 0x0001, 0x0000, 0x0000, 0x0861, 0x0020, 0x0000, 0x0000, + 0x0841, 0x18E4, 0x18E4, 0x2104, 0x2105, 0x18C3, 0x0000, 0x0000, 0x3166, 0x3166, 0x2966, 0x2105, + 0x0021, 0x0021, 0x0041, 0x0041, 0x0000, 0x0000, 0x0841, 0x18E4, 0x1082, 0x1082, 0x10A3, 0x0862, + 0x0000, 0x0000, 0x0020, 0x0020, 0x0001, 0x0002, 0x0044, 0x29CA, 0xA5B8, 0x5B30, 0x08A8, 0x0088, + 0x0089, 0x0089, 0x0068, 0x0046, 0x0045, 0x0086, 0x00A6, 0x0045, 0x0001, 0x0000, 0x0841, 0x2945, + 0x0841, 0x0000, 0x0862, 0x1083, 0x1083, 0x1083, 0x1082, 0x0862, 0x10C4, 0x0862, 0x0000, 0x0021, + 0x00A6, 0x00A6, 0x0086, 0x0086, 0x0086, 0x0086, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, + 0x0085, 0x0085, 0x0000, 0x0000, 0x0000, 0x0043, 0x0086, 0x0086, 0x00A6, 0x00A6, 0x00A7, 0x00A7, + 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x00A6, 0x0086, 0x0064, 0x0000, 0x0000, 0x1082, 0x2105, + 0x18C3, 0x18C3, 0x0841, 0x18C3, 0x10C3, 0x0841, 0x0084, 0x00A6, 0x0044, 0x0044, 0x08E7, 0x0086, + 0x0065, 0x0065, 0x0066, 0x0044, 0x0065, 0x0065, 0x0045, 0x0045, 0x0065, 0x0065, 0x0087, 0x0087, + 0x0086, 0x0086, 0x0065, 0x0065, 0x0065, 0x0045, 0x0045, 0x0045, 0x0066, 0x0066, 0x00A7, 0x00A7, + 0x0066, 0x0066, 0x0065, 0x0065, 0x0065, 0x0086, 0x0086, 0x0086, 0x0087, 0x0087, 0x00A8, 0x00A8, + 0x1A91, 0x010B, 0x0087, 0x0087, 0x0066, 0x0066, 0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x0045, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0065, 0x0065, 0x0044, 0x0066, 0x0045, 0x0045, 0x0066, 0x0045, + 0x0045, 0x0045, 0x0045, 0x0045, 0x0045, 0x0065, 0x0066, 0x0066, 0x0045, 0x0045, 0x0086, 0x0086, + 0x0065, 0x0065, 0x0045, 0x0045, 0x0045, 0x0045, 0x0065, 0x0065, 0x00A7, 0x0045, 0x0023, 0x0065, + 0x0884, 0x0021, 0x18E4, 0x18E4, 0x2105, 0x2105, 0x0001, 0x0022, 0x0024, 0x0046, 0x2090, 0xA49C, + 0xD67F, 0xD67F, 0xD65F, 0xD65F, 0xBDBF, 0x20F2, 0x006A, 0x0045, 0x0929, 0x2B53, 0x2B73, 0x19CB, + 0x22B0, 0x1AF1, 0x226E, 0x128E, 0x22D0, 0x226C, 0x0800, 0x1800, 0x3800, 0x7800, 0xD34A, 0xFE95, + 0xFF17, 0xFF17, 0xFEF7, 0xFEB6, 0xA081, 0x6000, 0x4000, 0x3000, 0x4000, 0x3800, 0x3000, 0x2000, + 0x2882, 0x1062, 0x0841, 0x0841, 0x0000, 0x1083, 0x1083, 0x1083, 0x1083, 0x1083, 0x1083, 0x1083, + 0x1083, 0x1083, 0x10A3, 0x0841, 0x0000, 0x0000, 0x0000, 0x0065, 0x00A9, 0x00A9, 0x00CB, 0x018D, + 0x167E, 0x1457, 0x010C, 0x00CB, 0x00A9, 0x0087, 0x0000, 0x0000, 0x0000, 0x18E4, 0x2966, 0x1062, + 0x1062, 0x1062, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0000, 0x0020, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0000, 0x0000, 0x0861, 0x0020, 0x0000, 0x0000, 0x0862, 0x0002, + 0x0889, 0x0952, 0x0175, 0x0175, 0x01B6, 0x01D7, 0x01D7, 0x01D7, 0x0196, 0x0175, 0x090E, 0x0024, + 0x0863, 0x0021, 0x0000, 0x0862, 0x0861, 0x0000, 0x0000, 0x0000, 0x2125, 0x3187, 0x2966, 0x2966, + 0x2966, 0x1082, 0x0000, 0x0000, 0x3166, 0x3166, 0x2966, 0x2105, 0x0841, 0x0841, 0x0041, 0x0041, + 0x0000, 0x0000, 0x0020, 0x1904, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x0021, 0x0000, 0x0000, 0x0862, + 0x0001, 0x0001, 0x0022, 0x0044, 0x08A6, 0x6BB1, 0xB61A, 0x8CB5, 0x4ACF, 0x196A, 0x1929, 0x1949, + 0x1108, 0x0085, 0x0043, 0x0001, 0x0000, 0x0841, 0x2125, 0x10A2, 0x0020, 0x0020, 0x10A3, 0x10A3, + 0x1083, 0x1083, 0x1083, 0x0862, 0x10A3, 0x0862, 0x0000, 0x0000, 0x0042, 0x0042, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0063, 0x0043, 0x0022, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0042, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0021, 0x0000, 0x0000, 0x1082, 0x18E4, 0x1083, 0x1083, 0x1082, 0x18C3, + 0x10A3, 0x0841, 0x0084, 0x00A6, 0x0023, 0x0086, 0x094A, 0x00A7, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0023, 0x0023, 0x0044, 0x0044, 0x0086, 0x00C8, 0x00A7, 0x0065, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0024, 0x0024, 0x0044, 0x0044, 0x0086, 0x0086, 0x00C8, 0x00C8, 0x0044, 0x0044, + 0x0065, 0x0065, 0x0044, 0x0044, 0x0065, 0x0065, 0x00C9, 0x018E, 0x1B56, 0x018E, 0x00A8, 0x0065, + 0x0086, 0x0045, 0x0023, 0x0023, 0x0024, 0x0024, 0x0044, 0x0044, 0x0045, 0x0045, 0x0023, 0x0023, + 0x0024, 0x0024, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x0024, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0044, 0x0044, 0x0044, 0x0044, 0x0023, 0x0023, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, + 0x0044, 0x0044, 0x0044, 0x0067, 0x00A8, 0x0065, 0x0023, 0x0065, 0x0063, 0x0021, 0x18E4, 0x18E4, + 0x1904, 0x1904, 0x0022, 0x0022, 0x0024, 0x0027, 0x2090, 0x9C5B, 0xD67F, 0xD67F, 0xD67F, 0xCE1F, + 0xB57F, 0x18D1, 0x0069, 0x0025, 0x1108, 0x1A0C, 0x0885, 0x08A4, 0x2B32, 0x1AAF, 0x11EB, 0x1A4C, + 0x0948, 0x19EB, 0x0800, 0x1800, 0x3800, 0x7800, 0xD34A, 0xFE96, 0xFEF7, 0xFEF7, 0xFED7, 0xFE96, + 0x9861, 0x5800, 0x3000, 0x1800, 0x3000, 0x3000, 0x2800, 0x1800, 0x2882, 0x1062, 0x1062, 0x0021, + 0x0000, 0x1083, 0x1082, 0x1082, 0x1083, 0x1083, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x0841, 0x0000, 0x0000, 0x0022, 0x00A8, 0x00A9, 0x00CA, 0x00EB, 0x23B6, 0x01AE, 0x00CB, 0x00A9, + 0x0088, 0x0066, 0x0000, 0x0000, 0x18E4, 0x2987, 0x0882, 0x0882, 0x0862, 0x0862, 0x0882, 0x0882, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0041, 0x0000, 0x0841, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0841, 0x0000, 0x0000, 0x0861, 0x0020, 0x0020, 0x0000, 0x0000, 0x0001, 0x0003, 0x08CB, 0x0951, + 0x0995, 0x0995, 0x0995, 0x0952, 0x08ED, 0x0066, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0x10A2, + 0x0020, 0x0000, 0x0000, 0x0862, 0x39E9, 0x39E9, 0x39E8, 0x31C8, 0x2946, 0x0041, 0x0000, 0x0861, + 0x3166, 0x3166, 0x3166, 0x2125, 0x0841, 0x0841, 0x0041, 0x0041, 0x0020, 0x0000, 0x0000, 0x0882, + 0x2945, 0x2105, 0x2105, 0x2104, 0x1083, 0x0021, 0x0000, 0x0000, 0x0841, 0x0001, 0x0022, 0x0022, + 0x0023, 0x0044, 0x00A5, 0x31EA, 0x4AEE, 0x324C, 0x1128, 0x0085, 0x0044, 0x0022, 0x0001, 0x0000, + 0x0841, 0x2104, 0x10A2, 0x0000, 0x0020, 0x0862, 0x10A3, 0x10A3, 0x1083, 0x1083, 0x1083, 0x0862, + 0x10A3, 0x2125, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x18E4, 0x18E4, 0x1083, 0x0862, 0x1082, 0x18C3, 0x10A3, 0x0841, 0x0084, 0x00A6, + 0x0043, 0x0108, 0x3DDC, 0x09EC, 0x0044, 0x0044, 0x0044, 0x0044, 0x198A, 0x0023, 0x0023, 0x0023, + 0x1108, 0x00A7, 0x00A6, 0x2C96, 0x12D0, 0x0065, 0x0044, 0x0044, 0x196A, 0x0044, 0x0024, 0x0024, + 0x0023, 0x08E7, 0x0929, 0x0086, 0x23D4, 0x2393, 0x0044, 0x0044, 0x0024, 0x21EC, 0x0044, 0x0044, + 0x0065, 0x0065, 0x016B, 0x36BD, 0x1DFD, 0x1C57, 0x00A8, 0x0065, 0x118A, 0x0086, 0x0023, 0x0023, + 0x0024, 0x0024, 0x0044, 0x0908, 0x2B11, 0x0045, 0x0023, 0x0023, 0x0024, 0x0024, 0x0023, 0x0023, + 0x0023, 0x0023, 0x00A7, 0x116A, 0x0023, 0x0023, 0x0023, 0x0023, 0x0044, 0x08C7, 0x1129, 0x0023, + 0x0023, 0x0023, 0x08A6, 0x1129, 0x0044, 0x0908, 0x0908, 0x0044, 0x0044, 0x0044, 0x0045, 0x2374, + 0x35BC, 0x11AB, 0x0023, 0x0065, 0x0063, 0x0821, 0x18E4, 0x18E4, 0x1904, 0x1904, 0x0022, 0x0022, + 0x0004, 0x0027, 0x186F, 0x7B58, 0xC59E, 0xC5DF, 0xC5DF, 0xBD7F, 0x9C9D, 0x106F, 0x0048, 0x0024, + 0x08A6, 0x1106, 0x0001, 0x0001, 0x19AA, 0x1106, 0x08E6, 0x1967, 0x0001, 0x21A9, 0x0800, 0x1000, + 0x3000, 0x7000, 0xC247, 0xED51, 0xED92, 0xED92, 0xED72, 0xECF0, 0x8820, 0x4000, 0x1800, 0x0800, + 0x0800, 0x0000, 0x0000, 0x0000, 0x2882, 0x1062, 0x1062, 0x0021, 0x0000, 0x1083, 0x1082, 0x1082, + 0x1083, 0x1083, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x18C3, 0x0841, 0x0000, 0x0000, + 0x0022, 0x0066, 0x00CA, 0x00CA, 0x00CB, 0x00AB, 0x00A9, 0x0087, 0x0044, 0x0001, 0x0000, 0x18E4, + 0x2967, 0x0862, 0x0882, 0x0882, 0x0862, 0x0862, 0x0882, 0x0882, 0x0862, 0x0862, 0x0862, 0x10A3, + 0x0041, 0x0000, 0x0841, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0841, 0x0841, 0x0000, 0x0000, + 0x0861, 0x0020, 0x10A2, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0003, 0x0024, 0x0003, 0x0002, + 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x10A2, 0x0020, 0x0000, 0x0000, 0x0000, 0x3187, + 0x424A, 0x424A, 0x4209, 0x4209, 0x10C3, 0x0000, 0x0000, 0x18C3, 0x3166, 0x3166, 0x3166, 0x2945, + 0x0862, 0x0862, 0x0021, 0x0021, 0x0861, 0x0000, 0x0000, 0x0000, 0x2104, 0x2945, 0x2966, 0x2125, + 0x1904, 0x0841, 0x0000, 0x0000, 0x0000, 0x0841, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0001, 0x0000, 0x0000, 0x1082, 0x18E4, 0x1082, 0x0000, 0x0000, + 0x0021, 0x1082, 0x18C3, 0x18C3, 0x10A3, 0x10A3, 0x10A3, 0x0020, 0x0861, 0x4A8A, 0x31A7, 0x0000, + 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0842, 0x4A6A, 0x10A3, + 0x10A3, 0x0000, 0x18C3, 0x18C3, 0x1904, 0x0841, 0x0022, 0x198A, 0x0065, 0x0128, 0x3DDB, 0x09EC, + 0x0044, 0x0044, 0x0023, 0x0023, 0x1149, 0x0023, 0x0023, 0x0023, 0x0907, 0x00A6, 0x00A7, 0x2CD6, + 0x1ACF, 0x0044, 0x0023, 0x0023, 0x196A, 0x0023, 0x0022, 0x0022, 0x0023, 0x08C7, 0x0909, 0x0086, + 0x2C14, 0x23D4, 0x0043, 0x0043, 0x0043, 0x21CB, 0x0044, 0x0044, 0x0044, 0x0044, 0x016B, 0x36FE, + 0x1E9F, 0x1CB9, 0x00C9, 0x0045, 0x1149, 0x0085, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x1128, + 0x2B11, 0x0023, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0085, 0x1149, + 0x0002, 0x0002, 0x0002, 0x0002, 0x0022, 0x08A6, 0x1128, 0x0022, 0x0022, 0x0022, 0x0886, 0x1108, + 0x0023, 0x0908, 0x0908, 0x0023, 0x0023, 0x0023, 0x0045, 0x2352, 0x359B, 0x11CC, 0x0023, 0x0908, + 0x0043, 0x0841, 0x18C3, 0x18C3, 0x2105, 0x2105, 0x0021, 0x0021, 0x0004, 0x0004, 0x084C, 0x2072, + 0x3094, 0x3895, 0x30B6, 0x30D6, 0x2094, 0x084C, 0x0025, 0x0024, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x1000, 0x3000, 0x5000, 0x8800, 0xA800, + 0xB000, 0xB000, 0xB000, 0xA000, 0x6800, 0x3000, 0x1000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x20A2, 0x1062, 0x1062, 0x1062, 0x0000, 0x0841, 0x0862, 0x10A3, 0x1083, 0x1083, 0x1083, 0x1083, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x18A3, 0x18A3, 0x0841, 0x0000, 0x0020, 0x0020, 0x0023, 0x0045, + 0x0066, 0x0066, 0x0024, 0x0002, 0x0042, 0x0001, 0x0021, 0x18E4, 0x0882, 0x0882, 0x0882, 0x0882, + 0x0882, 0x0882, 0x0882, 0x0882, 0x0882, 0x0882, 0x10A3, 0x526A, 0x0000, 0x0000, 0x1062, 0x1062, + 0x1062, 0x4A6A, 0x10A3, 0x0862, 0x0862, 0x0862, 0x0000, 0x0000, 0x0000, 0x0861, 0x0861, 0x0020, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0841, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x10A2, 0x4A6A, 0x4A8B, 0x4A8B, 0x4A6A, 0x3187, + 0x0000, 0x0000, 0x0021, 0x4A4A, 0x2966, 0x3166, 0x3166, 0x2946, 0x0862, 0x0862, 0x0021, 0x0021, + 0x0862, 0x0021, 0x0000, 0x0000, 0x0841, 0x2966, 0x2966, 0x2966, 0x2966, 0x1904, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x39C8, 0x0000, 0x0022, + 0x0041, 0x0041, 0x18E3, 0x18C3, 0x0020, 0x0000, 0x0000, 0x0000, 0x1082, 0x18A3, 0x18C3, 0xA555, + 0x9CD4, 0x10A3, 0x1083, 0x0020, 0x0841, 0x6B4D, 0x94D4, 0x31A7, 0x0862, 0x0020, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x10A4, 0x10C5, + 0x10A4, 0x0862, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0862, 0x2125, 0x422A, 0x6B8F, 0x1082, 0x0861, 0x0861, 0x18C3, 0x18C3, + 0x18E4, 0x1082, 0x0000, 0x1948, 0x5B70, 0x00A6, 0x00C7, 0x0086, 0x0044, 0x0044, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0043, 0x0065, 0x00A7, 0x00A7, 0x0044, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0022, 0x0022, 0x0023, 0x0023, 0x0044, 0x0086, 0x00C7, 0x00E8, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, 0x00A8, 0x018D, 0x01AE, 0x016D, 0x00A8, 0x0044, + 0x0043, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0023, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0022, 0x0021, 0x0002, 0x0002, 0x0002, 0x0002, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0023, 0x0023, 0x0023, 0x0023, + 0x0023, 0x0023, 0x0044, 0x0086, 0x00A7, 0x0085, 0x3A4D, 0x1969, 0x0000, 0x0841, 0x18C3, 0x18C3, + 0x2105, 0x2105, 0x0021, 0x0021, 0x0002, 0x0004, 0x0027, 0x084C, 0x106E, 0x186F, 0x1870, 0x106E, + 0x084C, 0x0048, 0x0025, 0x0003, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x1000, 0x2000, 0x3000, 0x5000, 0x6800, 0x7800, 0x7800, 0x7800, 0x6000, + 0x4000, 0x2000, 0x1000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x20A2, 0x0862, 0x1062, 0x1062, + 0x0000, 0x0000, 0x0862, 0x0862, 0x1083, 0x1083, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x18A3, 0x18A3, 0x18C3, 0x0841, 0x0020, 0x0020, 0x0000, 0x0021, 0x0021, 0x0022, 0x0002, 0x0002, + 0x0001, 0x0001, 0x0862, 0x0862, 0x0882, 0x0882, 0x0882, 0x0882, 0x0882, 0x0882, 0x0882, 0x0882, + 0x0882, 0x10A3, 0x8431, 0x18C3, 0x0000, 0x0000, 0x1062, 0x1062, 0x4229, 0xDEFC, 0x4208, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0841, 0x0841, 0x0000, 0x0000, + 0x0000, 0x0000, 0x39E8, 0x528B, 0x4A8B, 0x4A8B, 0x4229, 0x0862, 0x0000, 0x0000, 0x39C8, 0x39C8, + 0x18C3, 0x20E4, 0x2946, 0x2946, 0x10A3, 0x0041, 0x0000, 0x0000, 0x0000, 0x1082, 0x0000, 0x0000, + 0x0000, 0x18E4, 0x3187, 0x3187, 0x3187, 0x3187, 0x10C3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0042, 0x0863, 0x0883, 0x0862, 0x10A3, 0x1904, 0x18C3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0841, 0x18A3, 0x18A3, 0x10A3, 0x4229, 0x5AEC, 0x0862, 0x10A3, 0x0841, + 0x0020, 0x0861, 0x2986, 0x31C8, 0x3A09, 0x3A09, 0x3A09, 0x3A09, 0x39E9, 0x39E9, 0x3A2A, 0x3A2A, + 0x424B, 0x424B, 0x424B, 0x424B, 0x4AAC, 0x6370, 0x7C32, 0x7C32, 0x7C33, 0x73F2, 0x5B2E, 0x4ACD, + 0x426B, 0x426B, 0x4A8C, 0x4A8C, 0x4AAC, 0x4AAC, 0x4AAC, 0x4AAC, 0x4AAD, 0x4AAD, 0x5B2E, 0x73D1, + 0x9D15, 0x2987, 0x18C4, 0x0862, 0x0000, 0x18A3, 0x18C3, 0x4229, 0x8C51, 0x18E3, 0x0000, 0x0022, + 0x8D15, 0xB63A, 0x9558, 0x9558, 0x8D37, 0x7C96, 0x6C15, 0x63D4, 0x5B93, 0x5351, 0x4B11, 0x42F0, + 0x42F0, 0x42F0, 0x3AD0, 0x3AD0, 0x328F, 0x328F, 0x324E, 0x324E, 0x2A0C, 0x2A0C, 0x2A0C, 0x2A0C, + 0x324D, 0x326D, 0x3A8E, 0x42EF, 0x5371, 0x6BF3, 0x8CD5, 0xA576, 0xADB7, 0xB5B7, 0xA597, 0xA597, + 0x9D76, 0x9536, 0x8D17, 0x8D17, 0x84F7, 0x84F7, 0x7496, 0x5352, 0x3A8E, 0x2A0C, 0x21CB, 0x21CB, + 0x21CB, 0x198A, 0x1148, 0x1148, 0x1108, 0x1108, 0x1128, 0x1108, 0x1108, 0x1108, 0x1108, 0x1108, + 0x1108, 0x1108, 0x1128, 0x0907, 0x0907, 0x0907, 0x1107, 0x1107, 0x1148, 0x1148, 0x1968, 0x1968, + 0x21AA, 0x29CB, 0x322C, 0x42CE, 0x6391, 0x7413, 0x8CD4, 0xA577, 0xB5F8, 0xBE19, 0xB5F8, 0xB5F8, + 0xB5F8, 0xBE3A, 0x8473, 0x0042, 0x0000, 0x10A3, 0x8C51, 0x2946, 0x18E5, 0x2125, 0x0841, 0x0841, + 0x0002, 0x0002, 0x0024, 0x0024, 0x0027, 0x0027, 0x0027, 0x0027, 0x0025, 0x0025, 0x0024, 0x0002, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, + 0x1000, 0x1820, 0x3000, 0x3800, 0x4000, 0x4000, 0x3800, 0x3800, 0x2000, 0x1800, 0x1000, 0x1000, + 0x0000, 0x0000, 0x0000, 0x1882, 0x736D, 0x9CD3, 0x1083, 0x1083, 0x0862, 0x0000, 0x0020, 0x0841, + 0x2966, 0x2966, 0x2966, 0x2966, 0x2946, 0x2966, 0x2946, 0x2946, 0x2105, 0x2105, 0x18E4, 0x1083, + 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0x18C4, 0x18C4, + 0x18E4, 0x18E4, 0x1904, 0x1904, 0x1904, 0x1904, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x3186, 0x0000, + 0x0020, 0x0020, 0x1082, 0x1082, 0x18C3, 0x39C7, 0x18E3, 0x0821, 0x1082, 0x1082, 0x0862, 0x0862, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0000, 0x0000, + 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10A3, 0x4A8B, 0x4A8B, + 0x4A8B, 0x4A8B, 0x2105, 0x0000, 0x0000, 0x0841, 0x4A6A, 0x0862, 0x0862, 0x0862, 0x10A2, 0x2125, + 0x0041, 0x0041, 0x0000, 0x0000, 0x0000, 0x0841, 0x1082, 0x0000, 0x0000, 0x0000, 0x2966, 0x3187, + 0x3187, 0x3187, 0x2966, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x1082, + 0x18A3, 0x18A3, 0x1082, 0x2945, 0x2104, 0x0862, 0x10A3, 0x10A3, 0x0000, 0x0861, 0x10A3, 0x1082, + 0x0882, 0x0882, 0x0862, 0x0862, 0x0842, 0x0842, 0x0042, 0x0042, 0x0041, 0x0042, 0x0042, 0x0042, + 0x0842, 0x0862, 0x0862, 0x0862, 0x0842, 0x0862, 0x0842, 0x0042, 0x0042, 0x0842, 0x0862, 0x0862, + 0x0862, 0x0863, 0x0862, 0x0062, 0x0863, 0x0883, 0x0883, 0x0883, 0x10A3, 0x10A3, 0x0862, 0x0000, + 0x1082, 0x18E4, 0x10A3, 0x6B6D, 0xB5B6, 0x18C3, 0x10A3, 0x0000, 0x0042, 0x1926, 0x1946, 0x1926, + 0x1906, 0x10E5, 0x10C5, 0x08A4, 0x0884, 0x0883, 0x0863, 0x0863, 0x0883, 0x0883, 0x0883, 0x0883, + 0x0063, 0x0063, 0x0042, 0x0042, 0x0042, 0x0021, 0x0042, 0x0042, 0x0042, 0x0042, 0x0862, 0x0863, + 0x0883, 0x0863, 0x0863, 0x0883, 0x1083, 0x1083, 0x1083, 0x1083, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0042, 0x0042, 0x0022, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0001, 0x0021, 0x0042, 0x0863, 0x1083, 0x10A3, 0x10A3, 0x0862, 0x0001, 0x0000, + 0x0841, 0x3186, 0xB596, 0x31A7, 0x18E4, 0x2125, 0x18E4, 0x0000, 0x0002, 0x0002, 0x0024, 0x0024, + 0x0845, 0x0865, 0x0845, 0x0845, 0x0845, 0x0844, 0x0843, 0x0843, 0x0001, 0x0001, 0x0821, 0x0841, + 0x0841, 0x0841, 0x0020, 0x0841, 0x0841, 0x0841, 0x0841, 0x1021, 0x1820, 0x1820, 0x2000, 0x3000, + 0x3000, 0x3000, 0x3000, 0x2800, 0x2000, 0x1800, 0x1000, 0x1000, 0x0000, 0x0000, 0x0000, 0x3165, + 0x7BCF, 0x632C, 0x2945, 0x1083, 0x10A3, 0x0020, 0x0020, 0x0020, 0x0021, 0x0021, 0x0020, 0x0020, + 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0841, 0x0841, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0861, 0x1082, 0x1082, 0x0882, 0x0882, 0x0021, 0x0841, + 0x0841, 0x0841, 0x0841, 0x0841, 0x0021, 0x0841, 0x0841, 0x0000, 0x0020, 0x1082, 0x1082, 0x1082, + 0x1082, 0x3186, 0x10A3, 0x0842, 0x1082, 0x1082, 0x0862, 0x0862, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10A3, 0x4A8B, 0x52CC, 0x52CC, 0x31C8, 0x0000, 0x0000, + 0x0000, 0x39C8, 0x10C4, 0x0021, 0x0862, 0x0862, 0x1082, 0x0862, 0x0000, 0x0841, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0861, 0x0861, 0x0000, 0x0000, 0x0861, 0x31A7, 0x31C8, 0x31C8, 0x31A7, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10A3, 0x10A3, 0x10C3, 0x10C3, 0x18C3, 0x2945, + 0x18C3, 0x18C3, 0x18C4, 0x18C4, 0x0861, 0x0000, 0x0000, 0x0841, 0x0841, 0x0861, 0x0861, 0x0861, + 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0862, 0x0862, 0x0862, 0x0862, 0x1062, 0x0862, 0x0862, + 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0862, 0x0862, 0x0862, 0x0861, + 0x0841, 0x0861, 0x0861, 0x0861, 0x0861, 0x0020, 0x0000, 0x0862, 0x20E4, 0x20E4, 0x1082, 0x18E3, + 0x10A3, 0x10A3, 0x3187, 0x10C3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0x10A2, 0x2124, 0x1082, + 0x18E4, 0x18E4, 0x2987, 0x18E4, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, 0x0800, 0x0800, 0x0800, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x39C7, 0x2925, 0x18C3, 0x39C7, 0x10A3, 0x10A3, + 0x10A3, 0x10A3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x10A3, 0x10C3, 0x10C3, 0x0841, 0x2104, 0x1082, 0x1082, + 0x1083, 0x1083, 0x0882, 0x0882, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0862, 0x2104, 0x424A, 0x52AC, 0x4229, 0x0862, 0x0000, 0x0000, 0x18E4, 0x2126, 0x0021, 0x0021, + 0x0862, 0x0862, 0x1062, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, 0x0021, 0x10A3, + 0x0020, 0x0000, 0x0000, 0x18E4, 0x31C8, 0x31C8, 0x31A7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0021, 0x10A3, 0x10A3, 0x10C3, 0x10C3, 0x18C3, 0x1082, 0x18C3, 0x18C3, 0x18C4, 0x18C4, + 0x10C3, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0862, 0x2125, 0x20E4, 0x20E4, 0x18E3, 0x31A6, 0x2124, 0x10A3, 0x4229, 0x7BF1, + 0x2988, 0x10C4, 0x10A4, 0x10A4, 0x10A3, 0x1083, 0x0883, 0x0883, 0x0883, 0x0883, 0x0862, 0x0862, + 0x0042, 0x0042, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0021, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0841, 0x0041, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0041, 0x0021, 0x0021, 0x0021, 0x0021, 0x0862, 0x0862, 0x0842, 0x0842, + 0x0021, 0x0021, 0x0862, 0x10A3, 0x18E4, 0x2945, 0x2966, 0x3187, 0x39E8, 0x4A49, 0x4A4A, 0x4229, + 0x4209, 0x39E8, 0x39C8, 0x632D, 0x18E4, 0x0861, 0x4A49, 0x1082, 0x18E4, 0x18E4, 0x2125, 0x634F, + 0x3A0A, 0x3A0B, 0x426D, 0x4AAE, 0x4ACF, 0x52CF, 0x3A2E, 0x29ED, 0x29CB, 0x29CB, 0x29AA, 0x29A9, + 0x2988, 0x2988, 0x2988, 0x2987, 0x2987, 0x2987, 0x2988, 0x2988, 0x31C8, 0x31C8, 0x39C8, 0x39C8, + 0x5967, 0x6925, 0x7945, 0x8166, 0x8986, 0x8986, 0x89A7, 0x81C7, 0x79C8, 0x7209, 0x6A4A, 0x5A6A, + 0x528B, 0x7BD0, 0x738F, 0x10A3, 0x0861, 0x4208, 0x0862, 0x10A3, 0x10A3, 0x10A3, 0x18C3, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x10A3, 0x10A3, 0x10C3, 0x10C3, 0x10A3, 0x0882, 0x1082, 0x1082, 0x1083, 0x1083, 0x0882, 0x0882, + 0x0041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x39E8, 0x424A, + 0x18C3, 0x0000, 0x0000, 0x0842, 0x2146, 0x0042, 0x0021, 0x0021, 0x0862, 0x0862, 0x0821, 0x0000, + 0x0000, 0x0000, 0x0861, 0x0861, 0x0021, 0x0021, 0x0000, 0x0841, 0x0882, 0x0000, 0x0000, 0x0000, + 0x2104, 0x3187, 0x31A7, 0x31A7, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x10A3, 0x10A3, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x18C4, 0x18C4, 0x18E5, 0x18E5, 0x18E4, 0x18E4, 0x1082, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, + 0x0021, 0x0021, 0x0861, 0x0861, 0x1082, 0x1082, 0x18C3, 0x18C3, 0x2105, 0x2946, 0x2146, 0x1905, + 0x2104, 0x2104, 0x2125, 0x18E4, 0x0862, 0x2125, 0x2966, 0x6B6F, 0x9CF6, 0x8453, 0x7C33, 0x8474, + 0x8474, 0x8494, 0x8494, 0x8494, 0x8474, 0x8474, 0x8C94, 0x8C94, 0x94D6, 0x94D6, 0x8CB5, 0x8CB5, + 0x8C95, 0x8474, 0x7C54, 0x7C33, 0x7413, 0x7413, 0x7413, 0x7413, 0x7413, 0x7413, 0x7434, 0x7C55, + 0x8495, 0x8495, 0x84B6, 0x84B6, 0x8496, 0x8496, 0x7C76, 0x7C76, 0x7C75, 0x7C75, 0x7C55, 0x7C55, + 0x7414, 0x7414, 0x6BF3, 0x63B2, 0x5B71, 0x5B2F, 0x52EE, 0x52EE, 0x4ACD, 0x4ACD, 0x4ACD, 0x4ACD, + 0x4AAD, 0x4AAD, 0x4AAD, 0x4AAD, 0x4AAC, 0x4AAC, 0x4AAC, 0x4AAC, 0x4A8C, 0x4A8C, 0x4A8C, 0x4A8C, + 0x4A6C, 0x4A6C, 0x4A8C, 0x426B, 0x52CD, 0x5B0E, 0x634F, 0x73B0, 0x8C73, 0xA556, 0xB5D8, 0xC638, + 0xCE79, 0xD69A, 0xD6BA, 0xD6BA, 0xDEFB, 0xDEFB, 0xE73C, 0xE73C, 0xDEDB, 0xDEDB, 0xD6BA, 0x94B3, + 0x18E4, 0x18E4, 0x10A3, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x2966, 0x6B8F, 0x6B8F, 0x73D1, 0x73D1, + 0x7C12, 0x7C12, 0x5B10, 0x4A8E, 0x426D, 0x424C, 0x3A0A, 0x3A0A, 0x31E9, 0x31E9, 0x31C8, 0x31C8, + 0x31C8, 0x31C8, 0x39E8, 0x39E8, 0x3A09, 0x4209, 0x4229, 0x524A, 0x5A29, 0x7209, 0x8229, 0x8A4A, + 0x8A4A, 0x8A4A, 0x8A6A, 0x828B, 0x82AB, 0x830C, 0x7B4D, 0x7B6E, 0x7BAF, 0x736E, 0x18A3, 0x18A3, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x18C3, 0x1904, 0x2945, 0x52AB, 0x0861, 0x0021, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0862, 0x10C3, 0x10C4, 0x10C4, 0x10C3, 0x10C3, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x1083, 0x1083, 0x0883, 0x0883, 0x0021, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x10A3, 0x10A3, 0x18C4, 0x18C3, 0x0000, 0x0000, 0x0000, 0x2125, + 0x0842, 0x0000, 0x0021, 0x0021, 0x0862, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, + 0x0861, 0x0021, 0x0000, 0x0000, 0x0882, 0x0882, 0x0000, 0x0000, 0x0020, 0x2104, 0x2945, 0x5AEC, + 0x8C52, 0x39E8, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0862, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x18C4, 0x18C4, 0x18E5, 0x18E5, 0x1905, 0x1905, 0x18E5, 0x10C5, 0x10C5, 0x10C5, 0x10C5, 0x10C5, + 0x10E5, 0x10E5, 0x1906, 0x1906, 0x1926, 0x2126, 0x2146, 0x2146, 0x2167, 0x2167, 0x2167, 0x2167, + 0x2167, 0x2167, 0x29A7, 0x29A7, 0x31A8, 0x31A7, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2966, + 0x2146, 0x2126, 0x2126, 0x2125, 0x2105, 0x2105, 0x1905, 0x1905, 0x2104, 0x2104, 0x2125, 0x2125, + 0x2125, 0x2125, 0x2966, 0x2966, 0x2967, 0x2987, 0x2987, 0x3187, 0x29A7, 0x29A7, 0x31A8, 0x31A8, + 0x31C8, 0x31C8, 0x31C9, 0x31E9, 0x31E9, 0x31E9, 0x31E9, 0x31C9, 0x29A8, 0x29A8, 0x2167, 0x2167, + 0x1905, 0x18E5, 0x10C4, 0x10C4, 0x10A4, 0x10A4, 0x0883, 0x0863, 0x0863, 0x0862, 0x0862, 0x0842, + 0x0042, 0x0042, 0x0042, 0x0042, 0x0041, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0041, 0x0041, + 0x0041, 0x0041, 0x0042, 0x0862, 0x0862, 0x0862, 0x0882, 0x0882, 0x0882, 0x0882, 0x0882, 0x0882, + 0x10C3, 0x18E4, 0x1904, 0x1904, 0x1904, 0x2105, 0x2125, 0x2145, 0x2945, 0x2966, 0x2966, 0x2966, + 0x2966, 0x2966, 0x2966, 0x2966, 0x2965, 0x2945, 0x2945, 0x2124, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x18C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, + 0x10A4, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x1083, 0x1083, 0x1083, 0x1082, 0x10A3, + 0x1083, 0x1083, 0x1083, 0x1083, 0x1083, 0x1883, 0x1082, 0x1883, 0x1883, 0x1883, 0x1883, 0x1883, + 0x18A3, 0x18A3, 0x18A3, 0x18A3, 0x18A3, 0x18A3, 0x18A3, 0x18A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x1904, 0x4A6A, 0x7BF0, 0x9CD4, 0xE73C, 0xEF5D, 0xD6BA, 0xBDF7, 0xA535, 0x9493, 0x8410, 0x6B4E, + 0x52AB, 0x39E9, 0x2946, 0x2105, 0x10C4, 0x0882, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0862, 0x18C4, 0x2125, 0x2966, 0x2987, 0x2987, 0x2987, 0x2987, 0x2987, 0x2967, 0x2967, + 0x2987, 0x2987, 0x2987, 0x2988, 0x2987, 0x2987, 0x2146, 0x2146, 0x1905, 0x1905, 0x1905, 0x1905, + 0x1905, 0x1905, 0x1905, 0x1905, 0x18E4, 0x18E4, 0x18C3, 0x0862, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x10C4, 0x31A7, + 0x2125, 0x0862, 0x1082, 0x0000, 0x0000, 0x0000, 0x18C3, 0x0862, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0841, 0x0021, 0x0021, + 0x0021, 0x18C3, 0x1082, 0x0000, 0x0000, 0x0861, 0x2125, 0x18E4, 0x1904, 0x18C3, 0x0862, 0x0862, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0885, 0x1906, 0x320A, + 0x52CD, 0x6B90, 0x7C12, 0x8433, 0x7C33, 0x7C12, 0x7C12, 0x73F2, 0x73F2, 0x73F2, 0x73F2, 0x73F2, + 0x6BD2, 0x6BD2, 0x6BD2, 0x6BD2, 0x63D3, 0x63B2, 0x5B71, 0x5B71, 0x5B50, 0x530F, 0x4ACE, 0x426C, + 0x3A4B, 0x320A, 0x29A9, 0x29A9, 0x2968, 0x2968, 0x2146, 0x2146, 0x2126, 0x2126, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x1905, 0x2105, 0x2105, 0x1905, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x1905, 0x1905, 0x1905, 0x1905, 0x2105, 0x2105, 0x2125, 0x2125, 0x2146, 0x2146, + 0x2966, 0x2966, 0x2987, 0x2987, 0x31A8, 0x31A8, 0x31C8, 0x31C8, 0x31C8, 0x31C8, 0x39E9, 0x39E9, + 0x3A09, 0x3A09, 0x31E9, 0x31E9, 0x31C8, 0x2987, 0x2146, 0x2146, 0x1905, 0x1905, 0x10C4, 0x10C4, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x0883, 0x0883, 0x0882, 0x0882, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0842, 0x0842, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0041, 0x0041, 0x0021, 0x0021, 0x0841, 0x0841, 0x0841, 0x0841, + 0x0882, 0x0882, 0x10A3, 0x10A3, 0x10C3, 0x10C3, 0x18C4, 0x2104, 0x2105, 0x2105, 0x2105, 0x2104, + 0x2104, 0x2105, 0x2105, 0x2125, 0x2125, 0x2125, 0x2145, 0x2945, 0x2945, 0x2945, 0x2945, 0x2945, + 0x2945, 0x2945, 0x2125, 0x2125, 0x2104, 0x2104, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x1083, 0x1083, 0x1083, 0x1883, + 0x1883, 0x1883, 0x1883, 0x1883, 0x1883, 0x1883, 0x1883, 0x1883, 0x18A3, 0x18A3, 0x18A3, 0x18A3, + 0x18C3, 0x18C3, 0x18A3, 0x18A3, 0x18C3, 0x18C3, 0x2925, 0x4229, 0x6B8F, 0x7BD0, 0x7BD0, 0x7BD0, + 0x738F, 0x738F, 0x7BF0, 0x8C72, 0x9CF3, 0xAD55, 0xBDF8, 0xCE59, 0xDEDB, 0xE75E, 0xE73E, 0xC65A, + 0xB5B8, 0x9D16, 0x8473, 0x73B0, 0x5B0D, 0x5B0D, 0x5B0E, 0x6B6F, 0x73D1, 0x73F1, 0x7C12, 0x7C12, + 0x7C12, 0x73F2, 0x73F2, 0x73F2, 0x73D1, 0x73D1, 0x73D1, 0x73D1, 0x73F2, 0x73F2, 0x7C12, 0x7C12, + 0x7C33, 0x7C33, 0x8453, 0x8453, 0x8474, 0x8474, 0x8474, 0x8474, 0x8474, 0x8474, 0x8474, 0x8474, + 0x7C53, 0x73F2, 0x636F, 0x4A8B, 0x31A7, 0x10A3, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0021, 0x10A3, 0x1905, 0x1905, 0x0842, 0x0862, 0x0862, 0x0021, 0x0000, + 0x0000, 0x0862, 0x1082, 0x0000, 0x0000, 0x0000, 0x0862, 0x0862, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0841, 0x0021, 0x0021, 0x0021, 0x0021, 0x2125, 0x1082, + 0x0000, 0x0000, 0x1082, 0x18E4, 0x18C3, 0x1082, 0x0862, 0x0862, 0x0842, 0x0021, 0x0021, 0x0021, + 0x0041, 0x0842, 0x0042, 0x0042, 0x0885, 0x1907, 0x31C9, 0x426B, 0x5AED, 0x632E, 0x636F, 0x634E, + 0x632E, 0x632E, 0x5AED, 0x5AED, 0x52CC, 0x52CC, 0x4AAC, 0x4AAC, 0x426B, 0x426B, 0x3A2A, 0x3A2A, + 0x3A0A, 0x3A0A, 0x31C9, 0x29A8, 0x29A8, 0x2987, 0x2167, 0x2126, 0x2105, 0x1905, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x18C3, 0x18C3, 0x18E3, 0x18C3, 0x18C3, 0x10A3, 0x10A3, 0x10A3, 0x18C3, 0x18C3, + 0x10C3, 0x10C3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10C3, 0x10A3, 0x10A3, 0x10A3, 0x18C3, 0x18C3, + 0x10A3, 0x10C3, 0x10C3, 0x18C3, 0x18C3, 0x18C3, 0x18C3, 0x18C4, 0x18C3, 0x18C3, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18C4, + 0x10A3, 0x10A3, 0x1082, 0x1082, 0x0861, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0041, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, + 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0041, 0x0041, 0x0021, 0x0021, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0861, + 0x0861, 0x0861, 0x0862, 0x0882, 0x0882, 0x0882, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0861, 0x0861, 0x0841, 0x0841, 0x0861, 0x0861, + 0x0861, 0x0861, 0x0861, 0x0861, 0x0861, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0861, 0x0842, + 0x0861, 0x0861, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, + 0x0841, 0x0041, 0x0021, 0x0841, 0x0821, 0x0821, 0x0021, 0x0021, 0x0020, 0x0020, 0x0821, 0x0821, + 0x0821, 0x0821, 0x0821, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0861, 0x1082, 0x1082, + 0x1082, 0x18C3, 0x2925, 0x2925, 0x2945, 0x2966, 0x3166, 0x3166, 0x3166, 0x3166, 0x2965, 0x2965, + 0x2945, 0x2945, 0x2125, 0x18E3, 0x1082, 0x0841, 0x1082, 0x2104, 0x31A6, 0x4208, 0x4A49, 0x4A6A, + 0x528B, 0x4A8B, 0x4A8B, 0x4A8B, 0x4A6A, 0x4A6A, 0x4229, 0x4229, 0x39E8, 0x39E8, 0x31C7, 0x31C7, + 0x31A7, 0x31A7, 0x2986, 0x2987, 0x31A7, 0x31A7, 0x39E8, 0x39E8, 0x4229, 0x4229, 0x424A, 0x4A6A, + 0x4A6B, 0x4A6B, 0x4A6B, 0x4A6B, 0x4A6B, 0x4A6B, 0x4A6B, 0x426A, 0x424A, 0x4229, 0x3A09, 0x31A7, + 0x2145, 0x18E3, 0x1082, 0x0021, 0x0841, 0x0841, 0x0020, 0x0841, 0x0841, 0x0861, 0x0861, 0x0882, + 0x10A3, 0x10A3, 0x1082, 0x1082, 0x0862, 0x0020, 0x0000, 0x0000, 0x0862, 0x10A3, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0862, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0862, 0x0861, 0x0861, 0x0021, 0x0021, 0x0862, 0x52CB, 0x2965, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0042, 0x0042, 0x0842, 0x0842, 0x0842, 0x0862, 0x0884, 0x0884, + 0x1083, 0x1083, 0x1083, 0x1083, 0x10A3, 0x10A3, 0x18E4, 0x18E4, 0x1905, 0x1905, 0x2146, 0x2967, + 0x31A8, 0x422A, 0x4A8B, 0x52CC, 0x5AEC, 0x632D, 0x6B4D, 0x6B4D, 0x738E, 0x738E, 0x73CF, 0x73CF, + 0x7BCF, 0x7BCF, 0x7BCF, 0x7BCF, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, + 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x8410, 0x7C10, 0x7C10, 0x7C10, 0x8410, + 0x7BF0, 0x7BCF, 0x73AE, 0x6B6E, 0x630D, 0x630D, 0x5AEC, 0x5AEC, 0x632D, 0x73AF, 0x7BCF, 0x7BEF, + 0x7BEF, 0x7BEF, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BF0, 0x7BD0, + 0x73CF, 0x73CF, 0x73AF, 0x73AF, 0x6B6F, 0x6B6F, 0x6B6E, 0x6B6E, 0x634E, 0x5B0D, 0x52AC, 0x422A, + 0x31A8, 0x31A8, 0x3187, 0x3187, 0x3187, 0x3187, 0x3187, 0x3187, 0x2966, 0x2966, 0x2945, 0x2125, + 0x1904, 0x1904, 0x18E4, 0x18E4, 0x18C3, 0x18C3, 0x10C3, 0x10C3, 0x18C4, 0x1083, 0x1082, 0x1082, + 0x1082, 0x1082, 0x0842, 0x0842, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x18E4, 0x2125, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x1082, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0x0861, + 0x0021, 0x0021, 0x0041, 0x10A3, 0xA535, 0x632D, 0x2104, 0x18E4, 0x10A3, 0x0862, 0x0841, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0863, 0x0884, 0x18E6, + 0x2168, 0x31EA, 0x3A2B, 0x3A2B, 0x322B, 0x322B, 0x2147, 0x0042, 0x0042, 0x0042, 0x0042, 0x0042, + 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0022, 0x0042, 0x0021, 0x0042, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, + 0x0043, 0x0043, 0x0043, 0x0043, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0044, 0x0864, 0x0064, + 0x0864, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, + 0x0064, 0x0064, 0x0064, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, + 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0084, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, + 0x0064, 0x0064, 0x0884, 0x0884, 0x0884, 0x0884, 0x0884, 0x0884, 0x1083, 0x1083, 0x1083, 0x1083, + 0x10A3, 0x08A4, 0x08A4, 0x08A4, 0x08A4, 0x08A5, 0x10A5, 0x10C5, 0x10C5, 0x10E5, 0x1926, 0x2167, + 0x29A8, 0x31C8, 0x39E9, 0x3A09, 0x422A, 0x424A, 0x4A6A, 0x4A6A, 0x4A6A, 0x4A6A, 0x4A8B, 0x52AB, + 0x52CB, 0x5ACB, 0x5AEC, 0x5AEC, 0x630C, 0x630C, 0x630D, 0x630D, 0x632D, 0x632D, 0x6B4D, 0x6B2D, + 0x632D, 0x632D, 0x630D, 0x630D, 0x630D, 0x632D, 0x632D, 0x632D, 0x630C, 0x5ACC, 0x52AB, 0x4A6A, + 0x424A, 0x422A, 0x3A2A, 0x3A2A, 0x424A, 0x528B, 0x5B0D, 0x5B0D, 0x630D, 0x630D, 0x5B0D, 0x5B0D, + 0x5AEC, 0x5AEC, 0x5ACB, 0x5ACB, 0x5ACB, 0x52CB, 0x52AB, 0x4A6A, 0x4A4A, 0x4A4A, 0x424A, 0x422A, + 0x422A, 0x3A2A, 0x3A09, 0x39E9, 0x31A8, 0x2967, 0x1905, 0x0883, 0x0863, 0x0043, 0x0042, 0x0042, + 0x0042, 0x0042, 0x0022, 0x0022, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0842, 0x0842, + 0x0862, 0x0862, 0x0862, 0x0862, 0x1083, 0x0862, 0x0842, 0x1082, 0x1082, 0x1082, 0x0842, 0x0842, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0021, 0x0885, 0x0885, 0x0885, 0x0063, 0x0023, 0x1129, 0x08E8, 0x08E8, 0x08E7, 0x21CB, + 0x29EA, 0x29EA, 0x29CA, 0x2188, 0x18E5, 0x0883, 0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0862, 0x10A3, 0x18E4, 0x2125, 0x52CC, 0x73AF, + 0x0041, 0x0000, 0x0000, 0x0000, 0x0841, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0x0882, 0x0841, 0x0841, 0x0841, 0x0841, + 0x1082, 0x3187, 0x18C4, 0x18C4, 0x10A3, 0x0882, 0x0862, 0x0862, 0x1082, 0x1082, 0x0882, 0x0882, + 0x0883, 0x0883, 0x10C3, 0x10C3, 0x18E4, 0x18E4, 0x18E5, 0x18E5, 0x1906, 0x1906, 0x1926, 0x1926, + 0x10C4, 0x0883, 0x0042, 0x0000, 0x0000, 0x0000, 0x0001, 0x18C4, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0022, 0x0021, 0x0022, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0022, 0x0022, 0x0022, 0x0022, + 0x0022, 0x0022, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0063, 0x0063, 0x0063, 0x0063, 0x0063, + 0x0064, 0x0064, 0x0064, 0x0064, 0x0064, 0x0084, 0x0084, 0x0084, 0x0084, 0x0884, 0x0084, 0x0084, + 0x0064, 0x0064, 0x0064, 0x0064, 0x0042, 0x0042, 0x0063, 0x0063, 0x0883, 0x0883, 0x0883, 0x0883, + 0x0883, 0x0883, 0x0883, 0x0883, 0x10A3, 0x10A3, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10A4, 0x10A4, + 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, + 0x10C4, 0x10C4, 0x18C4, 0x18C4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x2105, 0x2105, + 0x2105, 0x2105, 0x1904, 0x10A3, 0x2105, 0x2105, 0x2125, 0x2125, 0x1904, 0x1904, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x10C4, 0x10C4, 0x18E4, 0x18E4, 0x10C3, 0x10C3, + 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x0882, 0x0882, 0x0883, 0x0883, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0842, 0x0842, 0x0841, 0x0841, 0x0841, 0x0841, 0x0021, 0x0021, 0x0821, 0x0821, 0x0821, 0x0821, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x18E5, 0x0001, 0x0022, 0x0023, 0x0043, 0x0043, 0x0043, 0x0043, 0x0043, 0x0863, 0x0863, + 0x0842, 0x0842, 0x0842, 0x0842, 0x0021, 0x0021, 0x0000, 0x0842, 0x0841, 0x0841, 0x0842, 0x0842, + 0x0862, 0x0862, 0x0862, 0x0862, 0x10A3, 0x10A3, 0x18C3, 0x1083, 0x0000, 0x0000, 0x0021, 0x0021, + 0x0861, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0861, 0x0861, 0x1082, 0x0841, 0x0841, 0x0841, 0x0862, 0x1082, 0x0862, 0x0862, + 0x0882, 0x0882, 0x0862, 0x0862, 0x1082, 0x1082, 0x0882, 0x0882, 0x10A3, 0x10C3, 0x10C3, 0x10C3, + 0x18E4, 0x18E4, 0x18E5, 0x18E5, 0x10A3, 0x10A3, 0x0862, 0x0862, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0043, 0x0043, 0x0064, 0x0042, 0x0042, 0x0042, + 0x0042, 0x0042, 0x0063, 0x0063, 0x0883, 0x0883, 0x0883, 0x0883, 0x0883, 0x0883, 0x0883, 0x0883, + 0x10A3, 0x10A3, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, 0x10A4, + 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x18C4, 0x18C4, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x2105, 0x2105, 0x2105, 0x2105, 0x1904, 0x1904, + 0x2105, 0x2105, 0x2125, 0x2125, 0x1904, 0x1904, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18C4, 0x18C4, + 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x10C4, 0x10C4, 0x18E4, 0x18E4, 0x10C3, 0x10C3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, + 0x0882, 0x0882, 0x0883, 0x0883, 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0842, 0x0841, 0x0841, + 0x0841, 0x0841, 0x0021, 0x0021, 0x0821, 0x0821, 0x0821, 0x0821, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0021, 0x0021, 0x0021, 0x0022, 0x0022, 0x0043, 0x0863, 0x0863, 0x0842, 0x0842, 0x0842, 0x0842, + 0x0021, 0x0021, 0x0842, 0x0842, 0x0841, 0x0841, 0x0842, 0x0842, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0882, 0x0862, 0x1083, 0x0862, 0x0000, 0x0000, 0x0021, 0x0862, 0x0841, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0862, 0x1082, 0x0841, 0x0841, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0842, 0x0841, 0x0841, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0041, 0x0041, 0x0041, 0x0841, 0x0842, 0x0862, 0x0862, + 0x0882, 0x0882, 0x1082, 0x1083, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10C3, 0x10C3, + 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x2105, 0x2105, 0x2125, 0x2125, + 0x2126, 0x2126, 0x2146, 0x2146, 0x2125, 0x2125, 0x2105, 0x2105, 0x2125, 0x1904, 0x2104, 0x2104, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x10C4, 0x10C4, 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, + 0x18C4, 0x18C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, + 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x1904, 0x1904, 0x18E4, 0x18E4, + 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x10C4, 0x10C4, 0x10C3, 0x10C3, 0x10C3, 0x10C3, 0x10A3, 0x10A3, + 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x1083, 0x1083, + 0x0882, 0x0862, 0x0862, 0x0842, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, + 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0821, 0x0821, 0x0821, 0x0821, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0021, 0x0021, 0x0041, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, 0x0041, 0x0041, + 0x0841, 0x0841, 0x0842, 0x0842, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0842, + 0x0842, 0x0842, 0x0862, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0862, 0x1082, 0x0841, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0842, 0x0842, 0x0841, 0x0841, 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0001, 0x0842, 0x0862, 0x0862, 0x0862, 0x0862, + 0x0862, 0x0862, 0x0882, 0x0882, 0x0882, 0x0882, 0x10A3, 0x10A3, 0x10C3, 0x18C3, 0x18C3, 0x18C3, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x20E4, 0x20E4, 0x2104, 0x2104, 0x2104, 0x2104, 0x2105, 0x2105, + 0x2125, 0x2125, 0x2125, 0x2125, 0x2146, 0x2146, 0x2966, 0x2966, 0x2966, 0x2987, 0x2987, 0x2987, + 0x2967, 0x2966, 0x2966, 0x2946, 0x2125, 0x2125, 0x2104, 0x2104, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x10C4, 0x10C4, 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x10C4, 0x10C4, + 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x10C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, + 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, 0x18E4, 0x18E4, 0x18E4, 0x18E4, + 0x18E4, 0x18E4, 0x18E4, 0x18E4, 0x1904, 0x1904, 0x18E4, 0x18E4, 0x18C4, 0x18C4, 0x18C4, 0x18C4, + 0x10C4, 0x10C4, 0x10C3, 0x10C3, 0x10C3, 0x10C3, 0x10A3, 0x0862, 0x0841, 0x0841, 0x0862, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, + 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, 0x0841, 0x0841, 0x0841, 0x0841, + 0x0841, 0x0841, 0x0821, 0x0821, 0x0821, 0x0821, 0x0021, 0x0021, 0x0021, 0x0021, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0041, 0x0021, 0x0021, 0x0041, 0x0041, 0x0841, 0x0841, 0x0842, 0x0842, + 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0842, 0x0842, 0x0842, 0x0842, 0x0861, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, + 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x0862, 0x0882, 0x0882, 0x0882, 0x0862, 0x0862, + 0x0862, 0x0041, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0001, 0x0021, 0x0000, 0x0021, 0x0001, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0041, 0x0041, 0x0842, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0882, 0x0882, 0x1082, + 0x1083, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x18A3, 0x18C3, 0x18C4, 0x18E4, 0x10A3, 0x18C3, 0x18C3, + 0x10C3, 0x10A3, 0x10C3, 0x1082, 0x10C3, 0x10A3, 0x10A3, 0x1082, 0x18C3, 0x1082, 0x18C3, 0x10A3, + 0x10A3, 0x1083, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x10A3, 0x1082, 0x1082, 0x0841, 0x0841, 0x0862, + 0x0041, 0x0021, 0x0021, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0041, 0x0041, 0x0841, 0x0841, 0x0841, 0x0841, 0x0841, 0x0041, 0x0021, + 0x0041, 0x0041, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0021, 0x0021, 0x0841, 0x0021, 0x0862, 0x0841, 0x0041, 0x0041, 0x0041, 0x0021, 0x0021, + 0x0041, 0x0021, 0x0041, 0x0000, 0x0841, 0x0021, 0x0020, 0x0020, 0x0841, 0x0021, 0x0020, 0x0021, + 0x0021, 0x0020, 0x0000, 0x0021, 0x0021, 0x0841, 0x0021, 0x0000, 0x0861, 0x0021, 0x0021, 0x0021, + 0x0021, 0x0041, 0x0041, 0x0021, 0x0041, 0x0841, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, + 0x0041, 0x0021, 0x0021, 0x0041, 0x0041, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0021, 0x0021, 0x0021, 0x0021, 0x0021, 0x0842, 0x0842, + 0x0842, 0x0842, 0x0841, 0x0862, 0x0842, 0x0862, 0x0862, 0x0862, 0x0862, 0x0862, 0x0882, 0x0882, + 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x0862, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0861, 0x2924, 0x0841, 0x0841, 0x0841, 0x0821, 0x0020, 0x0020, 0x0020, 0x0020, + 0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0021, 0x0021, 0x0021, 0x0021, + 0x2945, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, +}; From a3d0dceebdf29151b22bad961e20efb205439d84 Mon Sep 17 00:00:00 2001 From: RockBase-Ronnie Date: Tue, 14 Apr 2026 11:20:48 +0800 Subject: [PATCH 2/2] support ESP32-2432S028R ( CYD-2USB) --- README.md | 4 +- rogue-radar/config.h | 8 +- .../TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.c | 857 +++ .../TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.h | 571 ++ rogue-radar/libraries/TFT_eSPI/TFT_eSPI.cpp | 6160 +++++++++++++++++ rogue-radar/libraries/TFT_eSPI/TFT_eSPI.h | 1013 +++ .../libraries/TFT_eSPI/User_Setup-cyd-2usb.h | 389 ++ .../libraries/TFT_eSPI/User_Setup-nm-cyd-c5.h | 391 ++ rogue-radar/rogue-radar.ino | 4 +- 9 files changed, 9391 insertions(+), 6 deletions(-) create mode 100644 rogue-radar/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.c create mode 100644 rogue-radar/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.h create mode 100644 rogue-radar/libraries/TFT_eSPI/TFT_eSPI.cpp create mode 100644 rogue-radar/libraries/TFT_eSPI/TFT_eSPI.h create mode 100644 rogue-radar/libraries/TFT_eSPI/User_Setup-cyd-2usb.h create mode 100644 rogue-radar/libraries/TFT_eSPI/User_Setup-nm-cyd-c5.h diff --git a/README.md b/README.md index 2be7e26..1c8b36a 100644 --- a/README.md +++ b/README.md @@ -129,6 +129,7 @@ Edit `rogue-radar/config.h` and select your device: - `APA102` by Pololu (T-Embed only) - `Adafruit_NeoPixel` (CYD/C5 only - for WS2812 LED) - `TinyGPSPlus` (T-Embed only, optional for CYD/C5) +- `TFT_Touch` (by Bodmer, url=https://github.com/Bodmer/TFT_Touch) CYD_2USB need ### ESP32 core features used - `WiFi` @@ -161,6 +162,7 @@ The firmware supports both **320x170** (T-Embed) and **320x240** (CYD) layouts u You will need a correct `User_Setup.h` for your display configuration: - **T-Embed**: 320x170, specific SPI pins - **CYD-2USB/NM-CYD-C5**: 320x240, standard CYD SPI pins +- To change the device, need change the `User_Setup.h` file. See `rogue-radar/DEVICE_SUPPORT.md` for detailed TFT_eSPI configuration. @@ -327,7 +329,7 @@ __METHOD 1__ 4. Make sure your `lv_conf.h` options are enabled. 5. Add your `splash.h` file if you are using the splash screen. 6. Select **ESP32S3 Dev Module**. -7. Set partition scheme to **Huge APP**. +7. Set partition scheme to **Huge APP**. (3MB NO OTA/1MB SPIFFS); `NM-CYD-C5` use `8MB with spiffs (3MB APP/1.5MB SPIFFS)` 8. Compile and flash. __METHOD 2__
diff --git a/rogue-radar/config.h b/rogue-radar/config.h index 7011604..fadbd20 100644 --- a/rogue-radar/config.h +++ b/rogue-radar/config.h @@ -124,8 +124,6 @@ #define TFT_RST -1 // ─── Touch Screen (XPT2046) ───────────────────────────────── - // Touch shares SPI bus with TFT (MISO/MOSI/SCK), separate CS - #define HAS_TOUCH 1 #define HAS_CYD_TOUCH 1 // CYD-2USB has a touch screen (XPT2046) #define XPT2046_IRQ 36 // Optional: touch interrupt pin #define XPT2046_CLK 25 @@ -241,7 +239,11 @@ enum BLEDeviceType { #define OTA_FILENAME "/update.bin" // ─── LVGL ─────────────────────────────────────────────────────── -#define LV_BUF_LINES 20 // DMA render buffer height in lines +#ifdef DEVICE_CYD_2USB + #define LV_BUF_LINES 10 // DMA render buffer height in lines +#else + #define LV_BUF_LINES 20 // T-Embed S3 has more RAM, can +#endif // ─── APA102 LEDs ──────────────────────────────────────────────── #define LED_BRIGHTNESS 6 // global brightness (0-31 for APA102) diff --git a/rogue-radar/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.c b/rogue-radar/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.c new file mode 100644 index 0000000..cd8b0f0 --- /dev/null +++ b/rogue-radar/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.c @@ -0,0 +1,857 @@ + //////////////////////////////////////////////////// + // TFT_eSPI driver functions for ESP32 processors // + //////////////////////////////////////////////////// + +// Temporarily a separate file to TFT_eSPI_ESP32.c until board package low level API stabilises + +//////////////////////////////////////////////////////////////////////////////////////// +// Global variables +//////////////////////////////////////////////////////////////////////////////////////// + + +#if !defined (TFT_PARALLEL_8_BIT) + #ifdef CONFIG_IDF_TARGET_ESP32 + #ifdef USE_HSPI_PORT + SPIClass spi = SPIClass(HSPI); + #elif defined(USE_FSPI_PORT) + SPIClass spi = SPIClass(FSPI); + #else // use default VSPI port + SPIClass spi = SPIClass(VSPI); + #endif + #else + #ifdef USE_HSPI_PORT + SPIClass spi = SPIClass(HSPI); + #elif defined(USE_FSPI_PORT) + SPIClass spi = SPIClass(FSPI); + #else // use FSPI port + SPIClass& spi = SPI; + #endif + #endif +#endif + +#ifdef ESP32_DMA + // DMA SPA handle + spi_device_handle_t dmaHAL; + #ifdef CONFIG_IDF_TARGET_ESP32 + #define DMA_CHANNEL 1 + #ifdef USE_HSPI_PORT + spi_host_device_t spi_host = HSPI_HOST; + #elif defined(USE_FSPI_PORT) + spi_host_device_t spi_host = SPI_HOST; + #else // use VSPI port + spi_host_device_t spi_host = VSPI_HOST; + #endif + #else + #ifdef USE_HSPI_PORT + #define DMA_CHANNEL 2 + spi_host_device_t spi_host = (spi_host_device_t) DMA_CHANNEL; // Draws once then freezes + #else // use FSPI port + #define DMA_CHANNEL 1 + spi_host_device_t spi_host = (spi_host_device_t) DMA_CHANNEL; // Draws once then freezes + #endif + #endif +#endif + +#if !defined (TFT_PARALLEL_8_BIT) + // Volatile for register reads: + volatile uint32_t* _spi_cmd = (volatile uint32_t*)(SPI_CMD_REG(SPI_PORT)); + volatile uint32_t* _spi_user = (volatile uint32_t*)(SPI_USER_REG(SPI_PORT)); + // Register writes only: + volatile uint32_t* _spi_mosi_dlen = (volatile uint32_t*)(SPI_MOSI_DLEN_REG(SPI_PORT)); + volatile uint32_t* _spi_w = (volatile uint32_t*)(SPI_W0_REG(SPI_PORT)); +#endif + +//////////////////////////////////////////////////////////////////////////////////////// +#if defined (TFT_SDA_READ) && !defined (TFT_PARALLEL_8_BIT) +//////////////////////////////////////////////////////////////////////////////////////// + +/*************************************************************************************** +** Function name: beginSDA - FPSI port only +** Description: Detach MOSI and attach MISO to SDA for reads +***************************************************************************************/ +void TFT_eSPI::begin_SDA_Read(void) +{ + gpio_set_direction((gpio_num_t)TFT_MOSI, GPIO_MODE_INPUT); + pinMatrixInAttach(TFT_MOSI, FSPIQ_IN_IDX, false); + SET_BUS_READ_MODE; +} + +/*************************************************************************************** +** Function name: endSDA - FPSI port only +** Description: Attach MOSI to SDA and detach MISO for writes +***************************************************************************************/ +void TFT_eSPI::end_SDA_Read(void) +{ + gpio_set_direction((gpio_num_t)TFT_MOSI, GPIO_MODE_OUTPUT); + pinMatrixOutAttach(TFT_MOSI, FSPID_OUT_IDX, false, false); + SET_BUS_WRITE_MODE; +} +//////////////////////////////////////////////////////////////////////////////////////// +#endif // #if defined (TFT_SDA_READ) +//////////////////////////////////////////////////////////////////////////////////////// + + +/*************************************************************************************** +** Function name: read byte - supports class functions +** Description: Read a byte from ESP32 8 bit data port +***************************************************************************************/ +// Parallel bus MUST be set to input before calling this function! +uint8_t TFT_eSPI::readByte(void) +{ + uint8_t b = 0xAA; + +#if defined (TFT_PARALLEL_8_BIT) + RD_L; + uint32_t reg; // Read all GPIO pins 0-31 + reg = gpio_input_get(); // Read three times to allow for bus access time + reg = gpio_input_get(); + reg = gpio_input_get(); // Data should be stable now + RD_H; + + // Check GPIO bits used and build value + b = (((reg>>TFT_D0)&1) << 0); + b |= (((reg>>TFT_D1)&1) << 1); + b |= (((reg>>TFT_D2)&1) << 2); + b |= (((reg>>TFT_D3)&1) << 3); + b |= (((reg>>TFT_D4)&1) << 4); + b |= (((reg>>TFT_D5)&1) << 5); + b |= (((reg>>TFT_D6)&1) << 6); + b |= (((reg>>TFT_D7)&1) << 7); +#endif + + return b; +} + +//////////////////////////////////////////////////////////////////////////////////////// +#ifdef TFT_PARALLEL_8_BIT +//////////////////////////////////////////////////////////////////////////////////////// + +/*************************************************************************************** +** Function name: GPIO direction control - supports class functions +** Description: Set parallel bus to INPUT or OUTPUT +***************************************************************************************/ +void TFT_eSPI::busDir(uint32_t mask, uint8_t mode) +{ + // Arduino generic native function + pinMode(TFT_D0, mode); + pinMode(TFT_D1, mode); + pinMode(TFT_D2, mode); + pinMode(TFT_D3, mode); + pinMode(TFT_D4, mode); + pinMode(TFT_D5, mode); + pinMode(TFT_D6, mode); + pinMode(TFT_D7, mode); +} + +/*************************************************************************************** +** Function name: GPIO direction control - supports class functions +** Description: Set ESP32 GPIO pin to input or output (set high) ASAP +***************************************************************************************/ +void TFT_eSPI::gpioMode(uint8_t gpio, uint8_t mode) +{ + pinMode(gpio, mode); + digitalWrite(gpio, HIGH); +} +//////////////////////////////////////////////////////////////////////////////////////// +#endif // #ifdef TFT_PARALLEL_8_BIT +//////////////////////////////////////////////////////////////////////////////////////// + + +//////////////////////////////////////////////////////////////////////////////////////// +#if defined (RPI_WRITE_STROBE) && !defined (TFT_PARALLEL_8_BIT) // Code for RPi TFT +//////////////////////////////////////////////////////////////////////////////////////// + +/*************************************************************************************** +** Function name: pushBlock - for ESP32 or ESP8266 RPi TFT +** Description: Write a block of pixels of the same colour +***************************************************************************************/ +void TFT_eSPI::pushBlock(uint16_t color, uint32_t len) +{ + uint8_t colorBin[] = { (uint8_t) (color >> 8), (uint8_t) color }; + if(len) spi.writePattern(&colorBin[0], 2, 1); len--; + while(len--) {WR_L; WR_H;} +} + +/*************************************************************************************** +** Function name: pushPixels - for ESP32 or ESP8266 RPi TFT +** Description: Write a sequence of pixels +***************************************************************************************/ +void TFT_eSPI::pushPixels(const void* data_in, uint32_t len) +{ + uint8_t *data = (uint8_t*)data_in; + + if(_swapBytes) { + while ( len-- ) {tft_Write_16(*data); data++;} + return; + } + + while ( len >=64 ) {spi.writePattern(data, 64, 1); data += 64; len -= 64; } + if (len) spi.writePattern(data, len, 1); +} + +//////////////////////////////////////////////////////////////////////////////////////// +#elif !defined (SPI_18BIT_DRIVER) && !defined (TFT_PARALLEL_8_BIT) // Most SPI displays +//////////////////////////////////////////////////////////////////////////////////////// + +/*************************************************************************************** +** Function name: pushBlock - for ESP32 +** Description: Write a block of pixels of the same colour +***************************************************************************************/ +/* +void TFT_eSPI::pushBlock(uint16_t color, uint32_t len){ + + uint32_t color32 = (color<<8 | color >>8)<<16 | (color<<8 | color >>8); + bool empty = true; + volatile uint32_t* spi_w = (volatile uint32_t*)_spi_w; + if (len > 31) + { + *_spi_mosi_dlen = 511; + spi_w[0] = color32; + spi_w[1] = color32; + spi_w[2] = color32; + spi_w[3] = color32; + spi_w[4] = color32; + spi_w[5] = color32; + spi_w[6] = color32; + spi_w[7] = color32; + spi_w[8] = color32; + spi_w[9] = color32; + spi_w[10] = color32; + spi_w[11] = color32; + spi_w[12] = color32; + spi_w[13] = color32; + spi_w[14] = color32; + spi_w[15] = color32; + while(len>31) + { + while ((*_spi_cmd)&SPI_USR); + *_spi_cmd = SPI_USR; + len -= 32; + } + empty = false; + } + + if (len) + { + if(empty) { + for (uint32_t i=0; i <= len; i+=2) *spi_w++ = color32; + } + len = (len << 4) - 1; + while (*_spi_cmd&SPI_USR); + *_spi_mosi_dlen = len; + *_spi_cmd = SPI_USR; + } + while ((*_spi_cmd)&SPI_USR); // Move to later in code to use transmit time usefully? +} +//*/ +//* +void TFT_eSPI::pushBlock(uint16_t color, uint32_t len){ + + volatile uint32_t* spi_w = _spi_w; + uint32_t color32 = (color<<8 | color >>8)<<16 | (color<<8 | color >>8); + uint32_t i = 0; + uint32_t rem = len & 0x1F; + len = len - rem; + + // Start with partial buffer pixels + if (rem) + { + while (*_spi_cmd&SPI_USR); + for (i=0; i < rem; i+=2) *spi_w++ = color32; + *_spi_mosi_dlen = (rem << 4) - 1; +#if CONFIG_IDF_TARGET_ESP32C5 + *_spi_cmd = SPI_UPDATE; + while (*_spi_cmd & SPI_UPDATE); +#endif + *_spi_cmd = SPI_USR; + if (!len) return; //{while (*_spi_cmd&SPI_USR); return; } + i = i>>1; while(i++<16) *spi_w++ = color32; + } + + while (*_spi_cmd&SPI_USR); + if (!rem) while (i++<16) *spi_w++ = color32; + *_spi_mosi_dlen = 511; + + // End with full buffer to maximise useful time for downstream code + while(len) + { + while (*_spi_cmd&SPI_USR); +#if CONFIG_IDF_TARGET_ESP32C5 + *_spi_cmd = SPI_UPDATE; + while (*_spi_cmd & SPI_UPDATE); +#endif + *_spi_cmd = SPI_USR; + len -= 32; + } + + // Do not wait here + //while (*_spi_cmd&SPI_USR); +} +//*/ +/*************************************************************************************** +** Function name: pushSwapBytePixels - for ESP32 +** Description: Write a sequence of pixels with swapped bytes +***************************************************************************************/ +void TFT_eSPI::pushSwapBytePixels(const void* data_in, uint32_t len){ + + uint8_t* data = (uint8_t*)data_in; + uint32_t color[16]; + + if (len > 31) + { + WRITE_PERI_REG(SPI_MOSI_DLEN_REG(SPI_PORT), 511); + while(len>31) + { + uint32_t i = 0; + while(i<16) + { + color[i++] = DAT8TO32(data); + data+=4; + } + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + WRITE_PERI_REG(SPI_W0_REG(SPI_PORT), color[0]); + WRITE_PERI_REG(SPI_W1_REG(SPI_PORT), color[1]); + WRITE_PERI_REG(SPI_W2_REG(SPI_PORT), color[2]); + WRITE_PERI_REG(SPI_W3_REG(SPI_PORT), color[3]); + WRITE_PERI_REG(SPI_W4_REG(SPI_PORT), color[4]); + WRITE_PERI_REG(SPI_W5_REG(SPI_PORT), color[5]); + WRITE_PERI_REG(SPI_W6_REG(SPI_PORT), color[6]); + WRITE_PERI_REG(SPI_W7_REG(SPI_PORT), color[7]); + WRITE_PERI_REG(SPI_W8_REG(SPI_PORT), color[8]); + WRITE_PERI_REG(SPI_W9_REG(SPI_PORT), color[9]); + WRITE_PERI_REG(SPI_W10_REG(SPI_PORT), color[10]); + WRITE_PERI_REG(SPI_W11_REG(SPI_PORT), color[11]); + WRITE_PERI_REG(SPI_W12_REG(SPI_PORT), color[12]); + WRITE_PERI_REG(SPI_W13_REG(SPI_PORT), color[13]); + WRITE_PERI_REG(SPI_W14_REG(SPI_PORT), color[14]); + WRITE_PERI_REG(SPI_W15_REG(SPI_PORT), color[15]); +#if CONFIG_IDF_TARGET_ESP32C5 + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_UPDATE); + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_UPDATE); +#endif + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_USR); + len -= 32; + } + } + + if (len > 15) + { + uint32_t i = 0; + while(i<8) + { + color[i++] = DAT8TO32(data); + data+=4; + } + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + WRITE_PERI_REG(SPI_MOSI_DLEN_REG(SPI_PORT), 255); + WRITE_PERI_REG(SPI_W0_REG(SPI_PORT), color[0]); + WRITE_PERI_REG(SPI_W1_REG(SPI_PORT), color[1]); + WRITE_PERI_REG(SPI_W2_REG(SPI_PORT), color[2]); + WRITE_PERI_REG(SPI_W3_REG(SPI_PORT), color[3]); + WRITE_PERI_REG(SPI_W4_REG(SPI_PORT), color[4]); + WRITE_PERI_REG(SPI_W5_REG(SPI_PORT), color[5]); + WRITE_PERI_REG(SPI_W6_REG(SPI_PORT), color[6]); + WRITE_PERI_REG(SPI_W7_REG(SPI_PORT), color[7]); +#if CONFIG_IDF_TARGET_ESP32C5 + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_UPDATE); + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_UPDATE); +#endif + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_USR); + len -= 16; + } + + if (len) + { + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + WRITE_PERI_REG(SPI_MOSI_DLEN_REG(SPI_PORT), (len << 4) - 1); + for (uint32_t i=0; i <= (len<<1); i+=4) { + WRITE_PERI_REG(SPI_W0_REG(SPI_PORT)+i, DAT8TO32(data)); data+=4; + } +#if CONFIG_IDF_TARGET_ESP32C5 + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_UPDATE); + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_UPDATE); +#endif + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_USR); + } + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + +} + +/*************************************************************************************** +** Function name: pushPixels - for ESP32 +** Description: Write a sequence of pixels +***************************************************************************************/ +void TFT_eSPI::pushPixels(const void* data_in, uint32_t len){ + + if(_swapBytes) { + pushSwapBytePixels(data_in, len); + return; + } + + uint32_t *data = (uint32_t*)data_in; + + if (len > 31) + { + WRITE_PERI_REG(SPI_MOSI_DLEN_REG(SPI_PORT), 511); + while(len>31) + { + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + WRITE_PERI_REG(SPI_W0_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W1_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W2_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W3_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W4_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W5_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W6_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W7_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W8_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W9_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W10_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W11_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W12_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W13_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W14_REG(SPI_PORT), *data++); + WRITE_PERI_REG(SPI_W15_REG(SPI_PORT), *data++); +#if CONFIG_IDF_TARGET_ESP32C5 + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_UPDATE); + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_UPDATE); +#endif + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_USR); + len -= 32; + } + } + + if (len) + { + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + WRITE_PERI_REG(SPI_MOSI_DLEN_REG(SPI_PORT), (len << 4) - 1); + for (uint32_t i=0; i <= (len<<1); i+=4) WRITE_PERI_REG((SPI_W0_REG(SPI_PORT) + i), *data++); +#if CONFIG_IDF_TARGET_ESP32C5 + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_UPDATE); + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_UPDATE); +#endif + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_USR); + } + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); +} + +//////////////////////////////////////////////////////////////////////////////////////// +#elif defined (SPI_18BIT_DRIVER) // SPI 18 bit colour +//////////////////////////////////////////////////////////////////////////////////////// + +/*************************************************************************************** +** Function name: pushBlock - for ESP32 and 3 byte RGB display +** Description: Write a block of pixels of the same colour +***************************************************************************************/ +void TFT_eSPI::pushBlock(uint16_t color, uint32_t len) +{ + // Split out the colours + uint32_t r = (color & 0xF800)>>8; + uint32_t g = (color & 0x07E0)<<5; + uint32_t b = (color & 0x001F)<<19; + // Concatenate 4 pixels into three 32 bit blocks + uint32_t r0 = r<<24 | b | g | r; + uint32_t r1 = r0>>8 | g<<16; + uint32_t r2 = r1>>8 | b<<8; + + if (len > 19) + { + WRITE_PERI_REG(SPI_MOSI_DLEN_REG(SPI_PORT), 479); + + while(len>19) + { + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + WRITE_PERI_REG(SPI_W0_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W1_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W2_REG(SPI_PORT), r2); + WRITE_PERI_REG(SPI_W3_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W4_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W5_REG(SPI_PORT), r2); + WRITE_PERI_REG(SPI_W6_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W7_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W8_REG(SPI_PORT), r2); + WRITE_PERI_REG(SPI_W9_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W10_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W11_REG(SPI_PORT), r2); + WRITE_PERI_REG(SPI_W12_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W13_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W14_REG(SPI_PORT), r2); +#if CONFIG_IDF_TARGET_ESP32C5 + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_UPDATE); + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_UPDATE); +#endif + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_USR); + len -= 20; + } + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + } + + if (len) + { + WRITE_PERI_REG(SPI_MOSI_DLEN_REG(SPI_PORT), (len * 24) - 1); + WRITE_PERI_REG(SPI_W0_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W1_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W2_REG(SPI_PORT), r2); + WRITE_PERI_REG(SPI_W3_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W4_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W5_REG(SPI_PORT), r2); + if (len > 8 ) + { + WRITE_PERI_REG(SPI_W6_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W7_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W8_REG(SPI_PORT), r2); + WRITE_PERI_REG(SPI_W9_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W10_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W11_REG(SPI_PORT), r2); + WRITE_PERI_REG(SPI_W12_REG(SPI_PORT), r0); + WRITE_PERI_REG(SPI_W13_REG(SPI_PORT), r1); + WRITE_PERI_REG(SPI_W14_REG(SPI_PORT), r2); + } +#if CONFIG_IDF_TARGET_ESP32C5 + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_UPDATE); + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_UPDATE); +#endif + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_USR); + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + } +} + +/*************************************************************************************** +** Function name: pushPixels - for ESP32 and 3 byte RGB display +** Description: Write a sequence of pixels +***************************************************************************************/ +void TFT_eSPI::pushPixels(const void* data_in, uint32_t len){ + + uint16_t *data = (uint16_t*)data_in; + // ILI9488 write macro is not endianess dependant, hence !_swapBytes + if(!_swapBytes) { while ( len-- ) {tft_Write_16S(*data); data++;} } + else { while ( len-- ) {tft_Write_16(*data); data++;} } +} + +/*************************************************************************************** +** Function name: pushSwapBytePixels - for ESP32 and 3 byte RGB display +** Description: Write a sequence of pixels with swapped bytes +***************************************************************************************/ +void TFT_eSPI::pushSwapBytePixels(const void* data_in, uint32_t len){ + + uint16_t *data = (uint16_t*)data_in; + // ILI9488 write macro is not endianess dependant, so swap byte macro not used here + while ( len-- ) {tft_Write_16(*data); data++;} +} + +//////////////////////////////////////////////////////////////////////////////////////// +#elif defined (TFT_PARALLEL_8_BIT) // Now the code for ESP32 8 bit parallel +//////////////////////////////////////////////////////////////////////////////////////// + +/*************************************************************************************** +** Function name: pushBlock - for ESP32 and parallel display +** Description: Write a block of pixels of the same colour +***************************************************************************************/ +void TFT_eSPI::pushBlock(uint16_t color, uint32_t len){ + if ( (color >> 8) == (color & 0x00FF) ) + { if (!len) return; + tft_Write_16(color); + #if defined (SSD1963_DRIVER) + while (--len) {WR_L; WR_H; WR_L; WR_H; WR_L; WR_H;} + #else + #ifdef PSEUDO_16_BIT + while (--len) {WR_L; WR_H;} + #else + while (--len) {WR_L; WR_H; WR_L; WR_H;} + #endif + #endif + } + else while (len--) {tft_Write_16(color);} +} + +/*************************************************************************************** +** Function name: pushSwapBytePixels - for ESP32 and parallel display +** Description: Write a sequence of pixels with swapped bytes +***************************************************************************************/ +void TFT_eSPI::pushSwapBytePixels(const void* data_in, uint32_t len){ + + uint16_t *data = (uint16_t*)data_in; + while ( len-- ) {tft_Write_16(*data); data++;} +} + +/*************************************************************************************** +** Function name: pushPixels - for ESP32 and parallel display +** Description: Write a sequence of pixels +***************************************************************************************/ +void TFT_eSPI::pushPixels(const void* data_in, uint32_t len){ + + uint16_t *data = (uint16_t*)data_in; + if(_swapBytes) { while ( len-- ) {tft_Write_16(*data); data++; } } + else { while ( len-- ) {tft_Write_16S(*data); data++;} } +} + +//////////////////////////////////////////////////////////////////////////////////////// +#endif // End of display interface specific functions +//////////////////////////////////////////////////////////////////////////////////////// + + +//////////////////////////////////////////////////////////////////////////////////////// +#if defined (ESP32_DMA) && !defined (TFT_PARALLEL_8_BIT) // DMA FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////////// + +/*************************************************************************************** +** Function name: dmaBusy +** Description: Check if DMA is busy +***************************************************************************************/ +bool TFT_eSPI::dmaBusy(void) +{ + if (!DMA_Enabled || !spiBusyCheck) return false; + + spi_transaction_t *rtrans; + esp_err_t ret; + uint8_t checks = spiBusyCheck; + for (int i = 0; i < checks; ++i) + { + ret = spi_device_get_trans_result(dmaHAL, &rtrans, 0); + if (ret == ESP_OK) spiBusyCheck--; + } + + //Serial.print("spiBusyCheck=");Serial.println(spiBusyCheck); + if (spiBusyCheck ==0) return false; + return true; +} + + +/*************************************************************************************** +** Function name: dmaWait +** Description: Wait until DMA is over (blocking!) +***************************************************************************************/ +void TFT_eSPI::dmaWait(void) +{ + if (!DMA_Enabled || !spiBusyCheck) return; + spi_transaction_t *rtrans; + esp_err_t ret; + for (int i = 0; i < spiBusyCheck; ++i) + { + ret = spi_device_get_trans_result(dmaHAL, &rtrans, portMAX_DELAY); + assert(ret == ESP_OK); + } + spiBusyCheck = 0; +} + + +/*************************************************************************************** +** Function name: pushPixelsDMA +** Description: Push pixels to TFT (len must be less than 32767) +***************************************************************************************/ +// This will byte swap the original image if setSwapBytes(true) was called by sketch. +void TFT_eSPI::pushPixelsDMA(uint16_t* image, uint32_t len) +{ + if ((len == 0) || (!DMA_Enabled)) return; + + dmaWait(); + + if(_swapBytes) { + for (uint32_t i = 0; i < len; i++) (image[i] = image[i] << 8 | image[i] >> 8); + } + + esp_err_t ret; + static spi_transaction_t trans; + + memset(&trans, 0, sizeof(spi_transaction_t)); + + trans.user = (void *)1; + trans.tx_buffer = image; //finally send the line data + trans.length = len * 16; //Data length, in bits + trans.flags = 0; //SPI_TRANS_USE_TXDATA flag + + ret = spi_device_queue_trans(dmaHAL, &trans, portMAX_DELAY); + assert(ret == ESP_OK); + + spiBusyCheck++; +} + + +/*************************************************************************************** +** Function name: pushImageDMA +** Description: Push image to a window (w*h must be less than 65536) +***************************************************************************************/ +// Fixed const data assumed, will NOT clip or swap bytes +void TFT_eSPI::pushImageDMA(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t const* image) +{ + if ((w == 0) || (h == 0) || (!DMA_Enabled)) return; + + uint32_t len = w*h; + + dmaWait(); + + setAddrWindow(x, y, w, h); + + esp_err_t ret; + static spi_transaction_t trans; + + memset(&trans, 0, sizeof(spi_transaction_t)); + + trans.user = (void *)1; + trans.tx_buffer = image; //Data pointer + trans.length = len * 16; //Data length, in bits + trans.flags = 0; //SPI_TRANS_USE_TXDATA flag + + ret = spi_device_queue_trans(dmaHAL, &trans, portMAX_DELAY); + assert(ret == ESP_OK); + + spiBusyCheck++; +} + + +/*************************************************************************************** +** Function name: pushImageDMA +** Description: Push image to a window (w*h must be less than 65536) +***************************************************************************************/ +// This will clip and also swap bytes if setSwapBytes(true) was called by sketch +void TFT_eSPI::pushImageDMA(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t* image, uint16_t* buffer) +{ + if ((x >= _vpW) || (y >= _vpH) || (!DMA_Enabled)) return; + + int32_t dx = 0; + int32_t dy = 0; + int32_t dw = w; + int32_t dh = h; + + if (x < _vpX) { dx = _vpX - x; dw -= dx; x = _vpX; } + if (y < _vpY) { dy = _vpY - y; dh -= dy; y = _vpY; } + + if ((x + dw) > _vpW ) dw = _vpW - x; + if ((y + dh) > _vpH ) dh = _vpH - y; + + if (dw < 1 || dh < 1) return; + + uint32_t len = dw*dh; + + if (buffer == nullptr) { + buffer = image; + dmaWait(); + } + + // If image is clipped, copy pixels into a contiguous block + if ( (dw != w) || (dh != h) ) { + if(_swapBytes) { + for (int32_t yb = 0; yb < dh; yb++) { + for (int32_t xb = 0; xb < dw; xb++) { + uint32_t src = xb + dx + w * (yb + dy); + (buffer[xb + yb * dw] = image[src] << 8 | image[src] >> 8); + } + } + } + else { + for (int32_t yb = 0; yb < dh; yb++) { + memcpy((uint8_t*) (buffer + yb * dw), (uint8_t*) (image + dx + w * (yb + dy)), dw << 1); + } + } + } + // else, if a buffer pointer has been provided copy whole image to the buffer + else if (buffer != image || _swapBytes) { + if(_swapBytes) { + for (uint32_t i = 0; i < len; i++) (buffer[i] = image[i] << 8 | image[i] >> 8); + } + else { + memcpy(buffer, image, len*2); + } + } + + if (spiBusyCheck) dmaWait(); // In case we did not wait earlier + + setAddrWindow(x, y, dw, dh); + + esp_err_t ret; + static spi_transaction_t trans; + + memset(&trans, 0, sizeof(spi_transaction_t)); + + trans.user = (void *)1; + trans.tx_buffer = buffer; //finally send the line data + trans.length = len * 16; //Data length, in bits + trans.flags = 0; //SPI_TRANS_USE_TXDATA flag + + ret = spi_device_queue_trans(dmaHAL, &trans, portMAX_DELAY); + assert(ret == ESP_OK); + + spiBusyCheck++; +} + +//////////////////////////////////////////////////////////////////////////////////////// +// Processor specific DMA initialisation +//////////////////////////////////////////////////////////////////////////////////////// + +// The DMA functions here work with SPI only (not parallel) +/*************************************************************************************** +** Function name: dc_callback +** Description: Toggles DC line during transaction +***************************************************************************************/ +extern "C" void dc_callback(); + +void IRAM_ATTR dc_callback(spi_transaction_t *spi_tx) +{ + if ((bool)spi_tx->user) {DC_D;} + else {DC_C;} +} + +/*************************************************************************************** +** Function name: initDMA +** Description: Initialise the DMA engine - returns true if init OK +***************************************************************************************/ +bool TFT_eSPI::initDMA(bool ctrl_cs) +{ + if (DMA_Enabled) return false; + + esp_err_t ret; + spi_bus_config_t buscfg = { + .mosi_io_num = TFT_MOSI, + .miso_io_num = TFT_MISO, + .sclk_io_num = TFT_SCLK, + .quadwp_io_num = -1, + .quadhd_io_num = -1, + .max_transfer_sz = TFT_WIDTH * TFT_HEIGHT * 2 + 8, // TFT screen size + .flags = 0, + .intr_flags = 0 + }; + + int8_t pin = -1; + if (ctrl_cs) pin = TFT_CS; + + spi_device_interface_config_t devcfg = { + .command_bits = 0, + .address_bits = 0, + .dummy_bits = 0, + .mode = TFT_SPI_MODE, + .duty_cycle_pos = 0, + .cs_ena_pretrans = 0, + .cs_ena_posttrans = 0, + .clock_speed_hz = SPI_FREQUENCY, + .input_delay_ns = 0, + .spics_io_num = pin, + .flags = SPI_DEVICE_NO_DUMMY, //0, + .queue_size = 1, + .pre_cb = 0, //dc_callback, //Callback to handle D/C line + .post_cb = 0 + }; + ret = spi_bus_initialize(spi_host, &buscfg, DMA_CHANNEL); + ESP_ERROR_CHECK(ret); + ret = spi_bus_add_device(spi_host, &devcfg, &dmaHAL); + ESP_ERROR_CHECK(ret); + + DMA_Enabled = true; + spiBusyCheck = 0; + return true; +} + +/*************************************************************************************** +** Function name: deInitDMA +** Description: Disconnect the DMA engine from SPI +***************************************************************************************/ +void TFT_eSPI::deInitDMA(void) +{ + if (!DMA_Enabled) return; + spi_bus_remove_device(dmaHAL); + spi_bus_free(spi_host); + DMA_Enabled = false; +} + +//////////////////////////////////////////////////////////////////////////////////////// +#endif // End of DMA FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////////// diff --git a/rogue-radar/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.h b/rogue-radar/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.h new file mode 100644 index 0000000..de9dbda --- /dev/null +++ b/rogue-radar/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_C5.h @@ -0,0 +1,571 @@ + //////////////////////////////////////////////////// + // TFT_eSPI driver functions for ESP32 processors // + //////////////////////////////////////////////////// + +// Temporarily a separate file to TFT_eSPI_ESP32.h until board package low level API stabilises + +#ifndef _TFT_eSPI_ESP32H_ +#define _TFT_eSPI_ESP32H_ + + +// Processor ID reported by getSetup() +#define PROCESSOR_ID 0x32 + +// Include processor specific header +#include "soc/spi_reg.h" +#include "driver/spi_master.h" +#include "hal/gpio_ll.h" + +#if !defined(CONFIG_IDF_TARGET_ESP32C5) && !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32) + #define CONFIG_IDF_TARGET_ESP32 +#endif + +#ifndef VSPI + #define VSPI FSPI +#endif + + +#if CONFIG_IDF_TARGET_ESP32C5 + #ifndef REG_SPI_BASE + #define REG_SPI_BASE(i) DR_REG_SPI2_BASE +#endif + +#ifndef SPI_MOSI_DLEN_REG + #define SPI_MOSI_DLEN_REG(x) SPI_MS_DLEN_REG(x) + #endif +#endif + + +#if !defined (SUPPORT_TRANSACTIONS) + #define SUPPORT_TRANSACTIONS +#endif + +// ESP32 specific SPI port selection +#define SPI_PORT SPI2_HOST + +#ifdef RPI_DISPLAY_TYPE + #define CMD_BITS (16-1) +#else + #define CMD_BITS (8-1) +#endif + +// Initialise processor specific SPI functions, used by init() +#define INIT_TFT_DATA_BUS // Not used + +// Define a generic flag for 8 bit parallel +#if defined (ESP32_PARALLEL) // Specific to ESP32 for backwards compatibility + #if !defined (TFT_PARALLEL_8_BIT) + #define TFT_PARALLEL_8_BIT // Generic parallel flag + #endif +#endif + +// Ensure ESP32 specific flag is defined for 8 bit parallel +#if defined (TFT_PARALLEL_8_BIT) + #if !defined (ESP32_PARALLEL) + #define ESP32_PARALLEL + #endif +#endif + +// Processor specific code used by SPI bus transaction startWrite and endWrite functions +#if !defined (ESP32_PARALLEL) + #if (TFT_SPI_MODE == SPI_MODE1) || (TFT_SPI_MODE == SPI_MODE2) + #define SET_BUS_WRITE_MODE *_spi_user = SPI_USR_MOSI | SPI_CK_OUT_EDGE + #define SET_BUS_READ_MODE *_spi_user = SPI_USR_MOSI | SPI_USR_MISO | SPI_DOUTDIN | SPI_CK_OUT_EDGE + #else + #define SET_BUS_WRITE_MODE *_spi_user = SPI_USR_MOSI + #define SET_BUS_READ_MODE *_spi_user = SPI_USR_MOSI | SPI_USR_MISO | SPI_DOUTDIN + #endif +#else + // Not applicable to parallel bus + #define SET_BUS_WRITE_MODE + #define SET_BUS_READ_MODE +#endif + +// Code to check if DMA is busy, used by SPI bus transaction transaction and endWrite functions +#if !defined(TFT_PARALLEL_8_BIT) && !defined(SPI_18BIT_DRIVER) + #define ESP32_DMA + // Code to check if DMA is busy, used by SPI DMA + transaction + endWrite functions + #define DMA_BUSY_CHECK dmaWait() +#else + #define DMA_BUSY_CHECK +#endif + +#if defined(TFT_PARALLEL_8_BIT) + #define SPI_BUSY_CHECK +#else + #define SPI_BUSY_CHECK while (*_spi_cmd&SPI_USR) +#endif + +// If smooth font is used then it is likely SPIFFS will be needed +#ifdef SMOOTH_FONT + // Call up the SPIFFS (SPI FLASH Filing System) for the anti-aliased fonts + #define FS_NO_GLOBALS + #include + #include "SPIFFS.h" // ESP32 only + #define FONT_FS_AVAILABLE +#endif + +//////////////////////////////////////////////////////////////////////////////////////// +// Define the DC (TFT Data/Command or Register Select (RS))pin drive code +//////////////////////////////////////////////////////////////////////////////////////// +#ifndef TFT_DC + #define DC_C // No macro allocated so it generates no code + #define DC_D // No macro allocated so it generates no code +#else + #if defined (TFT_PARALLEL_8_BIT) + // TFT_DC, by design, must be in range 0-31 for single register parallel write + #if (TFT_DC >= 0) && (TFT_DC < 32) + #define DC_C GPIO.out_w1tc.val = (1 << TFT_DC) + #define DC_D GPIO.out_w1ts.val = (1 << TFT_DC) + #elif (TFT_DC >= 32) + #define DC_C GPIO.out_w1tc.val = (1 << (TFT_DC- 32)) + #define DC_D GPIO.out_w1ts.val = (1 << (TFT_DC- 32)) + #else + #define DC_C + #define DC_D + #endif + #else + #if (TFT_DC >= 32) + #ifdef RPI_DISPLAY_TYPE // RPi displays need a slower DC change + #define DC_C GPIO.out_w1ts.val = (1 << (TFT_DC - 32)); \ + GPIO.out_w1tc.val = (1 << (TFT_DC - 32)) + #define DC_D GPIO.out_w1tc.val = (1 << (TFT_DC - 32)); \ + GPIO.out_w1ts.val = (1 << (TFT_DC - 32)) + #else + #define DC_C GPIO.out_w1tc.val = (1 << (TFT_DC - 32))//;GPIO.out_w1tc.val = (1 << (TFT_DC - 32)) + #define DC_D GPIO.out_w1ts.val = (1 << (TFT_DC - 32))//;GPIO.out_w1ts.val = (1 << (TFT_DC - 32)) + #endif + #elif (TFT_DC >= 0) + #if defined (RPI_DISPLAY_TYPE) + #if defined (ILI9486_DRIVER) + // RPi ILI9486 display needs a slower DC change + #define DC_C GPIO.out_w1tc.val = (1 << TFT_DC); \ + GPIO.out_w1tc.val = (1 << TFT_DC) + #define DC_D GPIO.out_w1tc.val = (1 << TFT_DC); \ + GPIO.out_w1ts.val = (1 << TFT_DC) + #else + // Other RPi displays need a slower C->D change + #define DC_C GPIO.out_w1tc.val = (1 << TFT_DC) + #define DC_D GPIO.out_w1tc.val = (1 << TFT_DC); \ + GPIO.out_w1ts.val = (1 << TFT_DC) + #endif + #else + #define DC_C GPIO.out_w1tc.val = (1 << TFT_DC)//;GPIO.out_w1tc.val = (1 << TFT_DC) + #define DC_D GPIO.out_w1ts.val = (1 << TFT_DC)//;GPIO.out_w1ts.val = (1 << TFT_DC) + #endif + #else + #define DC_C + #define DC_D + #endif + #endif +#endif + +//////////////////////////////////////////////////////////////////////////////////////// +// Define the CS (TFT chip select) pin drive code +//////////////////////////////////////////////////////////////////////////////////////// +#ifndef TFT_CS + #define TFT_CS -1 // Keep DMA code happy + #define CS_L // No macro allocated so it generates no code + #define CS_H // No macro allocated so it generates no code +#else + #if defined (TFT_PARALLEL_8_BIT) + #if TFT_CS >= 32 + #define CS_L GPIO.out_w1tc.val = (1 << (TFT_CS - 32)) + #define CS_H GPIO.out_w1ts.val = (1 << (TFT_CS - 32)) + #elif TFT_CS >= 0 + #define CS_L GPIO.out_w1tc.val = (1 << TFT_CS) + #define CS_H GPIO.out_w1ts.val = (1 << TFT_CS) + #else + #define CS_L + #define CS_H + #endif + #else + #if (TFT_CS >= 32) + #ifdef RPI_DISPLAY_TYPE // RPi display needs a slower CS change + #define CS_L GPIO.out_w1ts.val = (1 << (TFT_CS - 32)); \ + GPIO.out_w1tc.val = (1 << (TFT_CS - 32)) + #define CS_H GPIO.out_w1tc.val = (1 << (TFT_CS - 32)); \ + GPIO.out_w1ts.val = (1 << (TFT_CS - 32)) + #else + #define CS_L GPIO.out_w1tc.val = (1 << (TFT_CS - 32)); GPIO.out_w1tc.val = (1 << (TFT_CS - 32)) + #define CS_H GPIO.out_w1ts.val = (1 << (TFT_CS - 32))//;GPIO.out_w1ts.val = (1 << (TFT_CS - 32)) + #endif + #elif (TFT_CS >= 0) + #ifdef RPI_DISPLAY_TYPE // RPi display needs a slower CS change + #define CS_L GPIO.out_w1ts.val = (1 << TFT_CS); GPIO.out_w1tc.val = (1 << TFT_CS) + #define CS_H GPIO.out_w1tc.val = (1 << TFT_CS); GPIO.out_w1ts.val = (1 << TFT_CS) + #else + #define CS_L GPIO.out_w1tc.val = (1 << TFT_CS); GPIO.out_w1tc.val = (1 << TFT_CS) + #define CS_H GPIO.out_w1ts.val = (1 << TFT_CS)//;GPIO.out_w1ts.val = (1 << TFT_CS) + #endif + #else + #define CS_L + #define CS_H + #endif + #endif +#endif + +//////////////////////////////////////////////////////////////////////////////////////// +// Define the WR (TFT Write) pin drive code +//////////////////////////////////////////////////////////////////////////////////////// +#if defined (TFT_WR) + #if (TFT_WR >= 32) + // Note: it will be ~1.25x faster if the TFT_WR pin uses a GPIO pin lower than 32 + #define WR_L GPIO.out_w1tc.val = (1 << (TFT_WR - 32)) + #define WR_H GPIO.out_w1ts.val = (1 << (TFT_WR - 32)) + #elif (TFT_WR >= 0) + // TFT_WR, for best performance, should be in range 0-31 for single register parallel write + #define WR_L GPIO.out_w1tc.val = (1 << TFT_WR) + #define WR_H GPIO.out_w1ts.val = (1 << TFT_WR) + #else + #define WR_L + #define WR_H + #endif +#else + #define WR_L + #define WR_H +#endif + +//////////////////////////////////////////////////////////////////////////////////////// +// Define the touch screen chip select pin drive code +//////////////////////////////////////////////////////////////////////////////////////// +#ifndef TOUCH_CS + #define T_CS_L // No macro allocated so it generates no code + #define T_CS_H // No macro allocated so it generates no code +#else // XPT2046 is slow, so use slower digitalWrite here + #define T_CS_L digitalWrite(TOUCH_CS, LOW) + #define T_CS_H digitalWrite(TOUCH_CS, HIGH) +#endif + +//////////////////////////////////////////////////////////////////////////////////////// +// Make sure SPI default pins are assigned if not specified by user or set to -1 +//////////////////////////////////////////////////////////////////////////////////////// +#if !defined (TFT_PARALLEL_8_BIT) + + #ifdef USE_HSPI_PORT + + #ifndef TFT_MISO + #define TFT_MISO -1 + #endif + + #ifndef TFT_MOSI + #define TFT_MOSI 13 + #endif + #if (TFT_MOSI == -1) + #undef TFT_MOSI + #define TFT_MOSI 13 + #endif + + #ifndef TFT_SCLK + #define TFT_SCLK 14 + #endif + #if (TFT_SCLK == -1) + #undef TFT_SCLK + #define TFT_SCLK 14 + #endif + + #else // VSPI port + + #ifndef TFT_MISO + #define TFT_MISO -1 + #endif + + #ifndef TFT_MOSI + #define TFT_MOSI 23 + #endif + #if (TFT_MOSI == -1) + #undef TFT_MOSI + #define TFT_MOSI 23 + #endif + + #ifndef TFT_SCLK + #define TFT_SCLK 18 + #endif + #if (TFT_SCLK == -1) + #undef TFT_SCLK + #define TFT_SCLK 18 + #endif + + #if defined(CONFIG_IDF_TARGET_ESP32C5) || defined(CONFIG_IDF_TARGET_ESP32S2) + #if (TFT_MISO == -1) + #undef TFT_MISO + #define TFT_MISO TFT_MOSI + #endif + #endif + + #endif + +#endif + +//////////////////////////////////////////////////////////////////////////////////////// +// Define the parallel bus interface chip pin drive code +//////////////////////////////////////////////////////////////////////////////////////// +#if defined (TFT_PARALLEL_8_BIT) + + // Create a bit set lookup table for data bus - wastes 1kbyte of RAM but speeds things up dramatically + // can then use e.g. GPIO.out_w1ts.val = set_mask(0xFF); to set data bus to 0xFF + #define PARALLEL_INIT_TFT_DATA_BUS \ + for (int32_t c = 0; c<256; c++) \ + { \ + xset_mask[c] = 0; \ + if ( c & 0x01 ) xset_mask[c] |= (1 << TFT_D0); \ + if ( c & 0x02 ) xset_mask[c] |= (1 << TFT_D1); \ + if ( c & 0x04 ) xset_mask[c] |= (1 << TFT_D2); \ + if ( c & 0x08 ) xset_mask[c] |= (1 << TFT_D3); \ + if ( c & 0x10 ) xset_mask[c] |= (1 << TFT_D4); \ + if ( c & 0x20 ) xset_mask[c] |= (1 << TFT_D5); \ + if ( c & 0x40 ) xset_mask[c] |= (1 << TFT_D6); \ + if ( c & 0x80 ) xset_mask[c] |= (1 << TFT_D7); \ + } \ + + // Mask for the 8 data bits to set pin directions + #define GPIO_DIR_MASK ((1 << TFT_D0) | (1 << TFT_D1) | (1 << TFT_D2) | (1 << TFT_D3) | (1 << TFT_D4) | (1 << TFT_D5) | (1 << TFT_D6) | (1 << TFT_D7)) + + #if (TFT_WR >= 32) + // Data bits and the write line are cleared sequentially + #define GPIO_OUT_CLR_MASK (GPIO_DIR_MASK); WR_L + #elif (TFT_WR >= 0) + // Data bits and the write line are cleared to 0 in one step (1.25x faster) + #define GPIO_OUT_CLR_MASK (GPIO_DIR_MASK | (1 << TFT_WR)) + #else + #define GPIO_OUT_CLR_MASK + #endif + + // A lookup table is used to set the different bit patterns, this uses 1kByte of RAM + #define set_mask(C) xset_mask[C] // 63fps Sprite rendering test 33% faster, graphicstest only 1.8% faster than shifting in real time + + // Real-time shifting alternative to above to save 1KByte RAM, 47 fps Sprite rendering test + /*#define set_mask(C) (((C)&0x80)>>7)<>6)<>5)<>4)<>3)<>2)<>1)<>0)<> 8)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) (((C) & 0x07E0)>> 3)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) (((C) & 0x001F)<< 3)); WR_H + + // 18 bit color write with swapped bytes + #define tft_Write_16S(C) Cswap = ((C) >>8 | (C) << 8); tft_Write_16(Cswap) + + #else + + #ifdef PSEUDO_16_BIT + // One write strobe for both bytes + #define tft_Write_16(C) GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 0)); WR_H + #define tft_Write_16S(C) GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 8)); WR_H + #else + // Write 16 bits to TFT + #define tft_Write_16(C) GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 8)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 0)); WR_H + + // 16 bit write with swapped bytes + #define tft_Write_16S(C) GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 0)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 8)); WR_H + #endif + + #endif + + // Write 32 bits to TFT + #define tft_Write_32(C) GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 24)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 16)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 8)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 0)); WR_H + + // Write two concatenated 16 bit values to TFT + #define tft_Write_32C(C,D) GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 8)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 0)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((D) >> 8)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((D) >> 0)); WR_H + + // Write 16 bit value twice to TFT - used by drawPixel() + #define tft_Write_32D(C) GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 8)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 0)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 8)); WR_H; \ + GPIO.out_w1tc.val = GPIO_OUT_CLR_MASK; GPIO.out_w1ts.val = set_mask((uint8_t) ((C) >> 0)); WR_H + + // Read pin + #ifdef TFT_RD + #if (TFT_RD >= 32) + #define RD_L GPIO.out_w1tc.val = (1 << (TFT_RD - 32)) + #define RD_H GPIO.out_w1ts.val = (1 << (TFT_RD - 32)) + #elif (TFT_RD >= 0) + #define RD_L GPIO.out_w1tc.val = (1 << TFT_RD) + //#define RD_L digitalWrite(TFT_WR, LOW) + #define RD_H GPIO.out_w1ts.val = (1 << TFT_RD) + //#define RD_H digitalWrite(TFT_WR, HIGH) + #else + #define RD_L + #define RD_H + #endif + #else + #define TFT_RD -1 + #define RD_L + #define RD_H + #endif + +//////////////////////////////////////////////////////////////////////////////////////// +// Macros to write commands/pixel colour data to a SPI ILI948x TFT +//////////////////////////////////////////////////////////////////////////////////////// +#elif defined (SPI_18BIT_DRIVER) // SPI 18 bit colour + + // Write 8 bits to TFT + #define tft_Write_8(C) spi.transfer(C) + + // Convert 16 bit colour to 18 bit and write in 3 bytes + #define tft_Write_16(C) spi.transfer(((C) & 0xF800)>>8); \ + spi.transfer(((C) & 0x07E0)>>3); \ + spi.transfer(((C) & 0x001F)<<3) + + // Future option for transfer without wait + #define tft_Write_16N(C) tft_Write_16(C) + + // Convert swapped byte 16 bit colour to 18 bit and write in 3 bytes + #define tft_Write_16S(C) spi.transfer((C) & 0xF8); \ + spi.transfer(((C) & 0xE000)>>11 | ((C) & 0x07)<<5); \ + spi.transfer(((C) & 0x1F00)>>5) + + // Write 32 bits to TFT + #define tft_Write_32(C) spi.write32(C) + + // Write two concatenated 16 bit values to TFT + #define tft_Write_32C(C,D) spi.write32((C)<<16 | (D)) + + // Write 16 bit value twice to TFT + #define tft_Write_32D(C) spi.write32((C)<<16 | (C)) + +//////////////////////////////////////////////////////////////////////////////////////// +// Macros to write commands/pixel colour data to an Raspberry Pi TFT +//////////////////////////////////////////////////////////////////////////////////////// +#elif defined (RPI_DISPLAY_TYPE) + + // ESP32 low level SPI writes for 8, 16 and 32 bit values + // to avoid the function call overhead + #define TFT_WRITE_BITS(D, B) \ + WRITE_PERI_REG(SPI_MOSI_DLEN_REG(SPI_PORT), B-1); \ + WRITE_PERI_REG(SPI_W0_REG(SPI_PORT), D); \ + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_USR); \ + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + + // Write 8 bits + #define tft_Write_8(C) TFT_WRITE_BITS((C)<<8, 16) + + // Write 16 bits with corrected endianness for 16 bit colours + #define tft_Write_16(C) TFT_WRITE_BITS((C)<<8 | (C)>>8, 16) + + // Future option for transfer without wait + #define tft_Write_16N(C) tft_Write_16(C) + + // Write 16 bits + #define tft_Write_16S(C) TFT_WRITE_BITS(C, 16) + + // Write 32 bits + #define tft_Write_32(C) TFT_WRITE_BITS(C, 32) + + // Write two address coordinates + #define tft_Write_32C(C,D) TFT_WRITE_BITS((C)<<24 | (C), 32); \ + TFT_WRITE_BITS((D)<<24 | (D), 32) + + // Write same value twice + #define tft_Write_32D(C) tft_Write_32C(C,C) + +//////////////////////////////////////////////////////////////////////////////////////// +// Macros for all other SPI displays +//////////////////////////////////////////////////////////////////////////////////////// +#else +/* Old macros + // ESP32 low level SPI writes for 8, 16 and 32 bit values + // to avoid the function call overhead + #define TFT_WRITE_BITS(D, B) \ + WRITE_PERI_REG(SPI_MOSI_DLEN_REG(SPI_PORT), B-1); \ + WRITE_PERI_REG(SPI_W0_REG(SPI_PORT), D); \ + SET_PERI_REG_MASK(SPI_CMD_REG(SPI_PORT), SPI_USR); \ + while (READ_PERI_REG(SPI_CMD_REG(SPI_PORT))&SPI_USR); + + // Write 8 bits + #define tft_Write_8(C) TFT_WRITE_BITS(C, 8) + + // Write 16 bits with corrected endianness for 16 bit colours + #define tft_Write_16(C) TFT_WRITE_BITS((C)<<8 | (C)>>8, 16) + + // Write 16 bits + #define tft_Write_16S(C) TFT_WRITE_BITS(C, 16) + + // Write 32 bits + #define tft_Write_32(C) TFT_WRITE_BITS(C, 32) + + // Write two address coordinates + #define tft_Write_32C(C,D) TFT_WRITE_BITS((uint16_t)((D)<<8 | (D)>>8)<<16 | (uint16_t)((C)<<8 | (C)>>8), 32) + + // Write same value twice + #define tft_Write_32D(C) TFT_WRITE_BITS((uint16_t)((C)<<8 | (C)>>8)<<16 | (uint16_t)((C)<<8 | (C)>>8), 32) +//*/ +//* Replacement slimmer macros + #if !defined(CONFIG_IDF_TARGET_ESP32C5) + #define TFT_WRITE_BITS(D, B) *_spi_mosi_dlen = B-1; \ + *_spi_w = D; \ + *_spi_cmd = SPI_USR; \ + while (*_spi_cmd & SPI_USR); + #else + #define TFT_WRITE_BITS(D, B) *_spi_mosi_dlen = B-1; \ + *_spi_w = D; \ + *_spi_cmd = SPI_UPDATE; \ + while (*_spi_cmd & SPI_UPDATE); \ + *_spi_cmd = SPI_USR; \ + while (*_spi_cmd & SPI_USR); + #endif + // Write 8 bits + #define tft_Write_8(C) TFT_WRITE_BITS(C, 8) + + // Write 16 bits with corrected endianness for 16 bit colours + #define tft_Write_16(C) TFT_WRITE_BITS((C)<<8 | (C)>>8, 16) + + // Future option for transfer without wait + #if !defined(CONFIG_IDF_TARGET_ESP32C5) + #define tft_Write_16N(C) *_spi_mosi_dlen = 16-1; \ + *_spi_w = ((C)<<8 | (C)>>8); \ + *_spi_cmd = SPI_USR; + #else + #define tft_Write_16N(C) *_spi_mosi_dlen = 16-1; \ + *_spi_w = ((C)<<8 | (C)>>8); \ + *_spi_cmd = SPI_UPDATE; \ + while (*_spi_cmd & SPI_UPDATE); \ + *_spi_cmd = SPI_USR; + #endif + + // Write 16 bits + #define tft_Write_16S(C) TFT_WRITE_BITS(C, 16) + + // Write 32 bits + #define tft_Write_32(C) TFT_WRITE_BITS(C, 32) + + // Write two address coordinates + #define tft_Write_32C(C,D) TFT_WRITE_BITS((uint16_t)((D)<<8 | (D)>>8)<<16 | (uint16_t)((C)<<8 | (C)>>8), 32) + + // Write same value twice + #define tft_Write_32D(C) TFT_WRITE_BITS((uint16_t)((C)<<8 | (C)>>8)<<16 | (uint16_t)((C)<<8 | (C)>>8), 32) + +//*/ +#endif + +#ifndef tft_Write_16N + #define tft_Write_16N tft_Write_16 +#endif + +//////////////////////////////////////////////////////////////////////////////////////// +// Macros to read from display using SPI or software SPI +//////////////////////////////////////////////////////////////////////////////////////// +#if !defined (TFT_PARALLEL_8_BIT) + // Read from display using SPI or software SPI + // Use a SPI read transfer + #define tft_Read_8() spi.transfer(0) +#endif + +// Concatenate a byte sequence A,B,C,D to CDAB, P is a uint8_t pointer +#define DAT8TO32(P) ( (uint32_t)P[0]<<8 | P[1] | P[2]<<24 | P[3]<<16 ) + +#endif // Header end diff --git a/rogue-radar/libraries/TFT_eSPI/TFT_eSPI.cpp b/rogue-radar/libraries/TFT_eSPI/TFT_eSPI.cpp new file mode 100644 index 0000000..cb0dc26 --- /dev/null +++ b/rogue-radar/libraries/TFT_eSPI/TFT_eSPI.cpp @@ -0,0 +1,6160 @@ +/*************************************************** + Arduino TFT graphics library targeted at 32-bit + processors such as ESP32, ESP8266 and STM32. + + This is a stand-alone library that contains the + hardware driver, the graphics functions and the + proportional fonts. + + The larger fonts are Run Length Encoded to reduce their + size. + + Created by Bodmer 2/12/16 + Last update by Bodmer 20/03/20 + ****************************************************/ + +#include "TFT_eSPI.h" + +#if defined (ESP32) + #if defined(CONFIG_IDF_TARGET_ESP32S3) + #include "Processors/TFT_eSPI_ESP32_S3.c" // Tested with SPI and 8-bit parallel + #elif defined(CONFIG_IDF_TARGET_ESP32C3) + #include "Processors/TFT_eSPI_ESP32_C3.c" // Tested with SPI (8-bit parallel will probably work too!) + #elif defined(CONFIG_IDF_TARGET_ESP32C5) + #include "Processors/TFT_eSPI_ESP32_C5.c" // Tested with SPI (8-bit parallel will probably work too!) + #else + #include "Processors/TFT_eSPI_ESP32.c" + #endif +#elif defined (ARDUINO_ARCH_ESP8266) + #include "Processors/TFT_eSPI_ESP8266.c" +#elif defined (STM32) // (_VARIANT_ARDUINO_STM32_) stm32_def.h + #include "Processors/TFT_eSPI_STM32.c" +#elif defined (ARDUINO_ARCH_RP2040) || defined (ARDUINO_ARCH_MBED) // Raspberry Pi Pico + #include "Processors/TFT_eSPI_RP2040.c" +#else + #include "Processors/TFT_eSPI_Generic.c" +#endif + +#ifndef SPI_BUSY_CHECK + #define SPI_BUSY_CHECK +#endif + +// Clipping macro for pushImage +#define PI_CLIP \ + if (_vpOoB) return; \ + x+= _xDatum; \ + y+= _yDatum; \ + \ + if ((x >= _vpW) || (y >= _vpH)) return; \ + \ + int32_t dx = 0; \ + int32_t dy = 0; \ + int32_t dw = w; \ + int32_t dh = h; \ + \ + if (x < _vpX) { dx = _vpX - x; dw -= dx; x = _vpX; } \ + if (y < _vpY) { dy = _vpY - y; dh -= dy; y = _vpY; } \ + \ + if ((x + dw) > _vpW ) dw = _vpW - x; \ + if ((y + dh) > _vpH ) dh = _vpH - y; \ + \ + if (dw < 1 || dh < 1) return; + +/*************************************************************************************** +** Function name: Legacy - deprecated +** Description: Start/end transaction +***************************************************************************************/ + void TFT_eSPI::spi_begin() {begin_tft_write();} + void TFT_eSPI::spi_end() { end_tft_write();} + void TFT_eSPI::spi_begin_read() {begin_tft_read(); } + void TFT_eSPI::spi_end_read() { end_tft_read(); } + +/*************************************************************************************** +** Function name: begin_tft_write (was called spi_begin) +** Description: Start SPI transaction for writes and select TFT +***************************************************************************************/ +inline void TFT_eSPI::begin_tft_write(void){ + if (locked) { + locked = false; // Flag to show SPI access now unlocked +#if defined (SPI_HAS_TRANSACTION) && defined (SUPPORT_TRANSACTIONS) && !defined(TFT_PARALLEL_8_BIT) && !defined(RP2040_PIO_INTERFACE) + spi.beginTransaction(SPISettings(SPI_FREQUENCY, MSBFIRST, TFT_SPI_MODE)); +#endif + CS_L; + SET_BUS_WRITE_MODE; // Some processors (e.g. ESP32) allow recycling the tx buffer when rx is not used + } +} + +// Non-inlined version to permit override +void TFT_eSPI::begin_nin_write(void){ + if (locked) { + locked = false; // Flag to show SPI access now unlocked +#if defined (SPI_HAS_TRANSACTION) && defined (SUPPORT_TRANSACTIONS) && !defined(TFT_PARALLEL_8_BIT) && !defined(RP2040_PIO_INTERFACE) + spi.beginTransaction(SPISettings(SPI_FREQUENCY, MSBFIRST, TFT_SPI_MODE)); +#endif + CS_L; + SET_BUS_WRITE_MODE; // Some processors (e.g. ESP32) allow recycling the tx buffer when rx is not used + } +} + +/*************************************************************************************** +** Function name: end_tft_write (was called spi_end) +** Description: End transaction for write and deselect TFT +***************************************************************************************/ +inline void TFT_eSPI::end_tft_write(void){ + if(!inTransaction) { // Flag to stop ending transaction during multiple graphics calls + if (!locked) { // Locked when beginTransaction has been called + locked = true; // Flag to show SPI access now locked + SPI_BUSY_CHECK; // Check send complete and clean out unused rx data + CS_H; + SET_BUS_READ_MODE; // In case bus has been configured for tx only +#if defined (SPI_HAS_TRANSACTION) && defined (SUPPORT_TRANSACTIONS) && !defined(TFT_PARALLEL_8_BIT) && !defined(RP2040_PIO_INTERFACE) + spi.endTransaction(); +#endif + } + } +} + +// Non-inlined version to permit override +inline void TFT_eSPI::end_nin_write(void){ + if(!inTransaction) { // Flag to stop ending transaction during multiple graphics calls + if (!locked) { // Locked when beginTransaction has been called + locked = true; // Flag to show SPI access now locked + SPI_BUSY_CHECK; // Check send complete and clean out unused rx data + CS_H; + SET_BUS_READ_MODE; // In case SPI has been configured for tx only +#if defined (SPI_HAS_TRANSACTION) && defined (SUPPORT_TRANSACTIONS) && !defined(TFT_PARALLEL_8_BIT) && !defined(RP2040_PIO_INTERFACE) + spi.endTransaction(); +#endif + } + } +} + +/*************************************************************************************** +** Function name: begin_tft_read (was called spi_begin_read) +** Description: Start transaction for reads and select TFT +***************************************************************************************/ +// Reads require a lower SPI clock rate than writes +inline void TFT_eSPI::begin_tft_read(void){ + DMA_BUSY_CHECK; // Wait for any DMA transfer to complete before changing SPI settings +#if defined (SPI_HAS_TRANSACTION) && defined (SUPPORT_TRANSACTIONS) && !defined(TFT_PARALLEL_8_BIT) && !defined(RP2040_PIO_INTERFACE) + if (locked) { + locked = false; + spi.beginTransaction(SPISettings(SPI_READ_FREQUENCY, MSBFIRST, TFT_SPI_MODE)); + CS_L; + } +#else + #if !defined(TFT_PARALLEL_8_BIT) && !defined(RP2040_PIO_INTERFACE) + spi.setFrequency(SPI_READ_FREQUENCY); + #endif + CS_L; +#endif + SET_BUS_READ_MODE; +} + +/*************************************************************************************** +** Function name: end_tft_read (was called spi_end_read) +** Description: End transaction for reads and deselect TFT +***************************************************************************************/ +inline void TFT_eSPI::end_tft_read(void){ +#if defined (SPI_HAS_TRANSACTION) && defined (SUPPORT_TRANSACTIONS) && !defined(TFT_PARALLEL_8_BIT) && !defined(RP2040_PIO_INTERFACE) + if(!inTransaction) { + if (!locked) { + locked = true; + CS_H; + spi.endTransaction(); + } + } +#else + #if !defined(TFT_PARALLEL_8_BIT) && !defined(RP2040_PIO_INTERFACE) + spi.setFrequency(SPI_FREQUENCY); + #endif + if(!inTransaction) {CS_H;} +#endif + SET_BUS_WRITE_MODE; +} + +/*************************************************************************************** +** Function name: setViewport +** Description: Set the clipping region for the TFT screen +***************************************************************************************/ +void TFT_eSPI::setViewport(int32_t x, int32_t y, int32_t w, int32_t h, bool vpDatum) +{ + // Viewport metrics (not clipped) + _xDatum = x; // Datum x position in screen coordinates + _yDatum = y; // Datum y position in screen coordinates + _xWidth = w; // Viewport width + _yHeight = h; // Viewport height + + // Full size default viewport + _vpDatum = false; // Datum is at top left corner of screen (true = top left of viewport) + _vpOoB = false; // Out of Bounds flag (true is all of viewport is off screen) + _vpX = 0; // Viewport top left corner x coordinate + _vpY = 0; // Viewport top left corner y coordinate + _vpW = width(); // Equivalent of TFT width (Nb: viewport right edge coord + 1) + _vpH = height(); // Equivalent of TFT height (Nb: viewport bottom edge coord + 1) + + // Clip viewport to screen area + if (x<0) { w += x; x = 0; } + if (y<0) { h += y; y = 0; } + if ((x + w) > width() ) { w = width() - x; } + if ((y + h) > height() ) { h = height() - y; } + + //Serial.print(" x=");Serial.print( x);Serial.print(", y=");Serial.print( y); + //Serial.print(", w=");Serial.print(w);Serial.print(", h=");Serial.println(h); + + // Check if viewport is entirely out of bounds + if (w < 1 || h < 1) + { + // Set default values and Out of Bounds flag in case of error + _xDatum = 0; + _yDatum = 0; + _xWidth = width(); + _yHeight = height(); + _vpOoB = true; // Set Out of Bounds flag to inhibit all drawing + return; + } + + if (!vpDatum) + { + _xDatum = 0; // Reset to top left of screen if not using a viewport datum + _yDatum = 0; + _xWidth = width(); + _yHeight = height(); + } + + // Store the clipped screen viewport metrics and datum position + _vpX = x; + _vpY = y; + _vpW = x + w; + _vpH = y + h; + _vpDatum = vpDatum; + + //Serial.print(" _xDatum=");Serial.print( _xDatum);Serial.print(", _yDatum=");Serial.print( _yDatum); + //Serial.print(", _xWidth=");Serial.print(_xWidth);Serial.print(", _yHeight=");Serial.println(_yHeight); + + //Serial.print(" _vpX=");Serial.print( _vpX);Serial.print(", _vpY=");Serial.print( _vpY); + //Serial.print(", _vpW=");Serial.print(_vpW);Serial.print(", _vpH=");Serial.println(_vpH); +} + +/*************************************************************************************** +** Function name: checkViewport +** Description: Check if any part of specified area is visible in viewport +***************************************************************************************/ +// Note: Setting w and h to 1 will check if coordinate x,y is in area +bool TFT_eSPI::checkViewport(int32_t x, int32_t y, int32_t w, int32_t h) +{ + if (_vpOoB) return false; + x+= _xDatum; + y+= _yDatum; + + if ((x >= _vpW) || (y >= _vpH)) return false; + + int32_t dx = 0; + int32_t dy = 0; + int32_t dw = w; + int32_t dh = h; + + if (x < _vpX) { dx = _vpX - x; dw -= dx; x = _vpX; } + if (y < _vpY) { dy = _vpY - y; dh -= dy; y = _vpY; } + + if ((x + dw) > _vpW ) dw = _vpW - x; + if ((y + dh) > _vpH ) dh = _vpH - y; + + if (dw < 1 || dh < 1) return false; + + return true; +} + +/*************************************************************************************** +** Function name: resetViewport +** Description: Reset viewport to whole TFT screen, datum at 0,0 +***************************************************************************************/ +void TFT_eSPI::resetViewport(void) +{ + // Reset viewport to the whole screen (or sprite) area + _vpDatum = false; + _vpOoB = false; + _xDatum = 0; + _yDatum = 0; + _vpX = 0; + _vpY = 0; + _vpW = width(); + _vpH = height(); + _xWidth = width(); + _yHeight = height(); +} + +/*************************************************************************************** +** Function name: getViewportX +** Description: Get x position of the viewport datum +***************************************************************************************/ +int32_t TFT_eSPI::getViewportX(void) +{ + return _xDatum; +} + +/*************************************************************************************** +** Function name: getViewportY +** Description: Get y position of the viewport datum +***************************************************************************************/ +int32_t TFT_eSPI::getViewportY(void) +{ + return _yDatum; +} + +/*************************************************************************************** +** Function name: getViewportWidth +** Description: Get width of the viewport +***************************************************************************************/ +int32_t TFT_eSPI::getViewportWidth(void) +{ + return _xWidth; +} + +/*************************************************************************************** +** Function name: getViewportHeight +** Description: Get height of the viewport +***************************************************************************************/ +int32_t TFT_eSPI::getViewportHeight(void) +{ + return _yHeight; +} + +/*************************************************************************************** +** Function name: getViewportDatum +** Description: Get datum flag of the viewport (true = viewport corner) +***************************************************************************************/ +bool TFT_eSPI::getViewportDatum(void) +{ + return _vpDatum; +} + +/*************************************************************************************** +** Function name: frameViewport +** Description: Draw a frame inside or outside the viewport of width w +***************************************************************************************/ +void TFT_eSPI::frameViewport(uint16_t color, int32_t w) +{ + // Save datum position + bool _dT = _vpDatum; + + // If w is positive the frame is drawn inside the viewport + // a large positive width will clear the screen inside the viewport + if (w>0) + { + // Set vpDatum true to simplify coordinate derivation + _vpDatum = true; + fillRect(0, 0, _vpW - _vpX, w, color); // Top + fillRect(0, w, w, _vpH - _vpY - w - w, color); // Left + fillRect(_xWidth - w, w, w, _yHeight - w - w, color); // Right + fillRect(0, _yHeight - w, _xWidth, w, color); // Bottom + } + else + // If w is negative the frame is drawn outside the viewport + // a large negative width will clear the screen outside the viewport + { + w = -w; + + // Save old values + int32_t _xT = _vpX; _vpX = 0; + int32_t _yT = _vpY; _vpY = 0; + int32_t _wT = _vpW; + int32_t _hT = _vpH; + + // Set vpDatum false so frame can be drawn outside window + _vpDatum = false; // When false the full width and height is accessed + _vpH = height(); + _vpW = width(); + + // Draw frame + fillRect(_xT - w - _xDatum, _yT - w - _yDatum, _wT - _xT + w + w, w, color); // Top + fillRect(_xT - w - _xDatum, _yT - _yDatum, w, _hT - _yT, color); // Left + fillRect(_wT - _xDatum, _yT - _yDatum, w, _hT - _yT, color); // Right + fillRect(_xT - w - _xDatum, _hT - _yDatum, _wT - _xT + w + w, w, color); // Bottom + + // Restore old values + _vpX = _xT; + _vpY = _yT; + _vpW = _wT; + _vpH = _hT; + } + + // Restore vpDatum + _vpDatum = _dT; +} + +/*************************************************************************************** +** Function name: clipAddrWindow +** Description: Clip address window x,y,w,h to screen and viewport +***************************************************************************************/ +bool TFT_eSPI::clipAddrWindow(int32_t *x, int32_t *y, int32_t *w, int32_t *h) +{ + if (_vpOoB) return false; // Area is outside of viewport + + *x+= _xDatum; + *y+= _yDatum; + + if ((*x >= _vpW) || (*y >= _vpH)) return false; // Area is outside of viewport + + // Crop drawing area bounds + if (*x < _vpX) { *w -= _vpX - *x; *x = _vpX; } + if (*y < _vpY) { *h -= _vpY - *y; *y = _vpY; } + + if ((*x + *w) > _vpW ) *w = _vpW - *x; + if ((*y + *h) > _vpH ) *h = _vpH - *y; + + if (*w < 1 || *h < 1) return false; // No area is inside viewport + + return true; // Area is wholly or partially inside viewport +} + +/*************************************************************************************** +** Function name: clipWindow +** Description: Clip window xs,yx,xe,ye to screen and viewport +***************************************************************************************/ +bool TFT_eSPI::clipWindow(int32_t *xs, int32_t *ys, int32_t *xe, int32_t *ye) +{ + if (_vpOoB) return false; // Area is outside of viewport + + *xs+= _xDatum; + *ys+= _yDatum; + *xe+= _xDatum; + *ye+= _yDatum; + + if ((*xs >= _vpW) || (*ys >= _vpH)) return false; // Area is outside of viewport + if ((*xe < _vpX) || (*ye < _vpY)) return false; // Area is outside of viewport + + // Crop drawing area bounds + if (*xs < _vpX) *xs = _vpX; + if (*ys < _vpY) *ys = _vpY; + + if (*xe > _vpW) *xe = _vpW - 1; + if (*ye > _vpH) *ye = _vpH - 1; + + return true; // Area is wholly or partially inside viewport +} + +/*************************************************************************************** +** Function name: TFT_eSPI +** Description: Constructor , we must use hardware SPI pins +***************************************************************************************/ +TFT_eSPI::TFT_eSPI(int16_t w, int16_t h) +{ + _init_width = _width = w; // Set by specific xxxxx_Defines.h file or by users sketch + _init_height = _height = h; // Set by specific xxxxx_Defines.h file or by users sketch + + // Reset the viewport to the whole screen + resetViewport(); + + rotation = 0; + cursor_y = cursor_x = last_cursor_x = bg_cursor_x = 0; + textfont = 1; + textsize = 1; + textcolor = bitmap_fg = 0xFFFF; // White + textbgcolor = bitmap_bg = 0x0000; // Black + padX = 0; // No padding + + _fillbg = false; // Smooth font only at the moment, force text background fill + + isDigits = false; // No bounding box adjustment + textwrapX = true; // Wrap text at end of line when using print stream + textwrapY = false; // Wrap text at bottom of screen when using print stream + textdatum = TL_DATUM; // Top Left text alignment is default + fontsloaded = 0; + + _swapBytes = false; // Do not swap colour bytes by default + + locked = true; // Transaction mutex lock flag to ensure begin/endTranaction pairing + inTransaction = false; // Flag to prevent multiple sequential functions to keep bus access open + lockTransaction = false; // start/endWrite lock flag to allow sketch to keep SPI bus access open + + _booted = true; // Default attributes + _cp437 = false; // Legacy GLCD font bug fix disabled by default + _utf8 = true; // UTF8 decoding enabled + +#if defined (FONT_FS_AVAILABLE) && defined (SMOOTH_FONT) + fs_font = true; // Smooth font filing system or array (fs_font = false) flag +#endif + +#if defined (ESP32) && defined (CONFIG_SPIRAM_SUPPORT) + if (psramFound()) _psram_enable = true; // Enable the use of PSRAM (if available) + else +#endif + _psram_enable = false; + + addr_row = 0xFFFF; // drawPixel command length optimiser + addr_col = 0xFFFF; // drawPixel command length optimiser + + _xPivot = 0; + _yPivot = 0; + +// Legacy support for bit GPIO masks + cspinmask = 0; + dcpinmask = 0; + wrpinmask = 0; + sclkpinmask = 0; + +// Flags for which fonts are loaded +#ifdef LOAD_GLCD + fontsloaded = 0x0002; // Bit 1 set +#endif + +#ifdef LOAD_FONT2 + fontsloaded |= 0x0004; // Bit 2 set +#endif + +#ifdef LOAD_FONT4 + fontsloaded |= 0x0010; // Bit 4 set +#endif + +#ifdef LOAD_FONT6 + fontsloaded |= 0x0040; // Bit 6 set +#endif + +#ifdef LOAD_FONT7 + fontsloaded |= 0x0080; // Bit 7 set +#endif + +#ifdef LOAD_FONT8 + fontsloaded |= 0x0100; // Bit 8 set +#endif + +#ifdef LOAD_FONT8N + fontsloaded |= 0x0200; // Bit 9 set +#endif + +#ifdef SMOOTH_FONT + fontsloaded |= 0x8000; // Bit 15 set +#endif +} + +/*************************************************************************************** +** Function name: initBus +** Description: initialise the SPI or parallel bus +***************************************************************************************/ +void TFT_eSPI::initBus(void) { + +#ifdef TFT_CS + if (TFT_CS >= 0) { + pinMode(TFT_CS, OUTPUT); + digitalWrite(TFT_CS, HIGH); // Chip select high (inactive) + } +#endif + +// Configure chip select for touchscreen controller if present +#ifdef TOUCH_CS + if (TOUCH_CS >= 0) { + pinMode(TOUCH_CS, OUTPUT); + digitalWrite(TOUCH_CS, HIGH); // Chip select high (inactive) + } +#endif + +// In parallel mode and with the RP2040 processor, the TFT_WR line is handled in the PIO +#if defined (TFT_WR) && !defined (ARDUINO_ARCH_RP2040) && !defined (ARDUINO_ARCH_MBED) + if (TFT_WR >= 0) { + pinMode(TFT_WR, OUTPUT); + digitalWrite(TFT_WR, HIGH); // Set write strobe high (inactive) + } +#endif + +#ifdef TFT_DC + if (TFT_DC >= 0) { + pinMode(TFT_DC, OUTPUT); + digitalWrite(TFT_DC, HIGH); // Data/Command high = data mode + } +#endif + +#ifdef TFT_RST + if (TFT_RST >= 0) { + pinMode(TFT_RST, OUTPUT); + digitalWrite(TFT_RST, HIGH); // Set high, do not share pin with another SPI device + } +#endif + +#if defined (TFT_PARALLEL_8_BIT) + + // Make sure read is high before we set the bus to output + if (TFT_RD >= 0) { + pinMode(TFT_RD, OUTPUT); + digitalWrite(TFT_RD, HIGH); + } + + #if !defined (ARDUINO_ARCH_RP2040) && !defined (ARDUINO_ARCH_MBED)// PIO manages pins + // Set TFT data bus lines to output + pinMode(TFT_D0, OUTPUT); digitalWrite(TFT_D0, HIGH); + pinMode(TFT_D1, OUTPUT); digitalWrite(TFT_D1, HIGH); + pinMode(TFT_D2, OUTPUT); digitalWrite(TFT_D2, HIGH); + pinMode(TFT_D3, OUTPUT); digitalWrite(TFT_D3, HIGH); + pinMode(TFT_D4, OUTPUT); digitalWrite(TFT_D4, HIGH); + pinMode(TFT_D5, OUTPUT); digitalWrite(TFT_D5, HIGH); + pinMode(TFT_D6, OUTPUT); digitalWrite(TFT_D6, HIGH); + pinMode(TFT_D7, OUTPUT); digitalWrite(TFT_D7, HIGH); + #endif + + PARALLEL_INIT_TFT_DATA_BUS; + +#endif +} + +/*************************************************************************************** +** Function name: begin +** Description: Included for backwards compatibility +***************************************************************************************/ +void TFT_eSPI::begin(uint8_t tc) +{ + init(tc); +} + + +/*************************************************************************************** +** Function name: init (tc is tab colour for ST7735 displays only) +** Description: Reset, then initialise the TFT display registers +***************************************************************************************/ +void TFT_eSPI::init(uint8_t tc) +{ + if (_booted) + { + initBus(); + +#if !defined (ESP32) && !defined(TFT_PARALLEL_8_BIT) && !defined(ARDUINO_ARCH_RP2040) && !defined (ARDUINO_ARCH_MBED) + // Legacy bitmasks for GPIO + #if defined (TFT_CS) && (TFT_CS >= 0) + cspinmask = (uint32_t) digitalPinToBitMask(TFT_CS); + #endif + + #if defined (TFT_DC) && (TFT_DC >= 0) + dcpinmask = (uint32_t) digitalPinToBitMask(TFT_DC); + #endif + + #if defined (TFT_WR) && (TFT_WR >= 0) + wrpinmask = (uint32_t) digitalPinToBitMask(TFT_WR); + #endif + + #if defined (TFT_SCLK) && (TFT_SCLK >= 0) + sclkpinmask = (uint32_t) digitalPinToBitMask(TFT_SCLK); + #endif + + #if defined (TFT_SPI_OVERLAP) && defined (ARDUINO_ARCH_ESP8266) + // Overlap mode SD0=MISO, SD1=MOSI, CLK=SCLK must use D3 as CS + // pins(int8_t sck, int8_t miso, int8_t mosi, int8_t ss); + //spi.pins( 6, 7, 8, 0); + spi.pins(6, 7, 8, 0); + #endif + + spi.begin(); // This will set HMISO to input + +#else + #if !defined(TFT_PARALLEL_8_BIT) && !defined(RP2040_PIO_INTERFACE) + #if defined (TFT_MOSI) && !defined (TFT_SPI_OVERLAP) && !defined(ARDUINO_ARCH_RP2040) && !defined (ARDUINO_ARCH_MBED) + spi.begin(TFT_SCLK, TFT_MISO, TFT_MOSI, -1); // This will set MISO to input + #else + spi.begin(); // This will set MISO to input + #endif + #endif +#endif + lockTransaction = false; + inTransaction = false; + locked = true; + + INIT_TFT_DATA_BUS; + + +#if defined (TFT_CS) && !defined(RP2040_PIO_INTERFACE) + // Set to output once again in case MISO is used for CS + if (TFT_CS >= 0) { + pinMode(TFT_CS, OUTPUT); + digitalWrite(TFT_CS, HIGH); // Chip select high (inactive) + } +#elif defined (ARDUINO_ARCH_ESP8266) && !defined (TFT_PARALLEL_8_BIT) && !defined (RP2040_PIO_SPI) + spi.setHwCs(1); // Use hardware SS toggling +#endif + + + // Set to output once again in case MISO is used for DC +#if defined (TFT_DC) && !defined(RP2040_PIO_INTERFACE) + if (TFT_DC >= 0) { + pinMode(TFT_DC, OUTPUT); + digitalWrite(TFT_DC, HIGH); // Data/Command high = data mode + } +#endif + + _booted = false; + end_tft_write(); + } // end of: if just _booted + + // Toggle RST low to reset +#ifdef TFT_RST + #if !defined(RP2040_PIO_INTERFACE) + // Set to output once again in case MISO is used for TFT_RST + if (TFT_RST >= 0) { + pinMode(TFT_RST, OUTPUT); + } + #endif + if (TFT_RST >= 0) { + writecommand(0x00); // Put SPI bus in known state for TFT with CS tied low + digitalWrite(TFT_RST, HIGH); + delay(5); + digitalWrite(TFT_RST, LOW); + delay(20); + digitalWrite(TFT_RST, HIGH); + } + else writecommand(TFT_SWRST); // Software reset +#else + writecommand(TFT_SWRST); // Software reset +#endif + + delay(150); // Wait for reset to complete + + begin_tft_write(); + + tc = tc; // Suppress warning + + // This loads the driver specific initialisation code <<<<<<<<<<<<<<<<<<<<< ADD NEW DRIVERS TO THE LIST HERE <<<<<<<<<<<<<<<<<<<<<<< +#if defined (ILI9341_DRIVER) || defined(ILI9341_2_DRIVER) || defined (ILI9342_DRIVER) + #include "TFT_Drivers/ILI9341_Init.h" + +#elif defined (ST7735_DRIVER) + tabcolor = tc; + #include "TFT_Drivers/ST7735_Init.h" + +#elif defined (ILI9163_DRIVER) + #include "TFT_Drivers/ILI9163_Init.h" + +#elif defined (S6D02A1_DRIVER) + #include "TFT_Drivers/S6D02A1_Init.h" + +#elif defined (ST7796_DRIVER) + #include "TFT_Drivers/ST7796_Init.h" + +#elif defined (ILI9486_DRIVER) + #include "TFT_Drivers/ILI9486_Init.h" + +#elif defined (ILI9481_DRIVER) + #include "TFT_Drivers/ILI9481_Init.h" + +#elif defined (ILI9488_DRIVER) + #include "TFT_Drivers/ILI9488_Init.h" + +#elif defined (HX8357D_DRIVER) + #include "TFT_Drivers/HX8357D_Init.h" + +#elif defined (ST7789_DRIVER) + #include "TFT_Drivers/ST7789_Init.h" + +#elif defined (R61581_DRIVER) + #include "TFT_Drivers/R61581_Init.h" + +#elif defined (RM68140_DRIVER) + #include "TFT_Drivers/RM68140_Init.h" + +#elif defined (ST7789_2_DRIVER) + #include "TFT_Drivers/ST7789_2_Init.h" + +#elif defined (SSD1351_DRIVER) + #include "TFT_Drivers/SSD1351_Init.h" + +#elif defined (SSD1963_DRIVER) + #include "TFT_Drivers/SSD1963_Init.h" + +#elif defined (GC9A01_DRIVER) + #include "TFT_Drivers/GC9A01_Init.h" + +#elif defined (ILI9225_DRIVER) + #include "TFT_Drivers/ILI9225_Init.h" + +#elif defined (RM68120_DRIVER) + #include "TFT_Drivers/RM68120_Init.h" + +#elif defined (HX8357B_DRIVER) + #include "TFT_Drivers/HX8357B_Init.h" + +#elif defined (HX8357C_DRIVER) + #include "TFT_Drivers/HX8357C_Init.h" + +#endif + +#ifdef TFT_INVERSION_ON + writecommand(TFT_INVON); +#endif + +#ifdef TFT_INVERSION_OFF + writecommand(TFT_INVOFF); +#endif + + end_tft_write(); + + setRotation(rotation); + +#if defined (TFT_BL) && defined (TFT_BACKLIGHT_ON) + if (TFT_BL >= 0) { + pinMode(TFT_BL, OUTPUT); + digitalWrite(TFT_BL, TFT_BACKLIGHT_ON); + } +#else + #if defined (TFT_BL) && defined (M5STACK) + // Turn on the back-light LED + if (TFT_BL >= 0) { + pinMode(TFT_BL, OUTPUT); + digitalWrite(TFT_BL, HIGH); + } + #endif +#endif +} + + +/*************************************************************************************** +** Function name: setRotation +** Description: rotate the screen orientation m = 0-3 or 4-7 for BMP drawing +***************************************************************************************/ +void TFT_eSPI::setRotation(uint8_t m) +{ + + begin_tft_write(); + + // This loads the driver specific rotation code <<<<<<<<<<<<<<<<<<<<< ADD NEW DRIVERS TO THE LIST HERE <<<<<<<<<<<<<<<<<<<<<<< +#if defined (ILI9341_DRIVER) || defined(ILI9341_2_DRIVER) || defined (ILI9342_DRIVER) + #include "TFT_Drivers/ILI9341_Rotation.h" + +#elif defined (ST7735_DRIVER) + #include "TFT_Drivers/ST7735_Rotation.h" + +#elif defined (ILI9163_DRIVER) + #include "TFT_Drivers/ILI9163_Rotation.h" + +#elif defined (S6D02A1_DRIVER) + #include "TFT_Drivers/S6D02A1_Rotation.h" + +#elif defined (ST7796_DRIVER) + #include "TFT_Drivers/ST7796_Rotation.h" + +#elif defined (ILI9486_DRIVER) + #include "TFT_Drivers/ILI9486_Rotation.h" + +#elif defined (ILI9481_DRIVER) + #include "TFT_Drivers/ILI9481_Rotation.h" + +#elif defined (ILI9488_DRIVER) + #include "TFT_Drivers/ILI9488_Rotation.h" + +#elif defined (HX8357D_DRIVER) + #include "TFT_Drivers/HX8357D_Rotation.h" + +#elif defined (ST7789_DRIVER) + #include "TFT_Drivers/ST7789_Rotation.h" + +#elif defined (R61581_DRIVER) + #include "TFT_Drivers/R61581_Rotation.h" + +#elif defined (RM68140_DRIVER) + #include "TFT_Drivers/RM68140_Rotation.h" + +#elif defined (ST7789_2_DRIVER) + #include "TFT_Drivers/ST7789_2_Rotation.h" + +#elif defined (SSD1351_DRIVER) + #include "TFT_Drivers/SSD1351_Rotation.h" + +#elif defined (SSD1963_DRIVER) + #include "TFT_Drivers/SSD1963_Rotation.h" + +#elif defined (GC9A01_DRIVER) + #include "TFT_Drivers/GC9A01_Rotation.h" + +#elif defined (ILI9225_DRIVER) + #include "TFT_Drivers/ILI9225_Rotation.h" + +#elif defined (RM68120_DRIVER) + #include "TFT_Drivers/RM68120_Rotation.h" + +#elif defined (HX8357B_DRIVER) + #include "TFT_Drivers/HX8357B_Rotation.h" + +#elif defined (HX8357C_DRIVER) + #include "TFT_Drivers/HX8357C_Rotation.h" + +#endif + + delayMicroseconds(10); + + end_tft_write(); + + addr_row = 0xFFFF; + addr_col = 0xFFFF; + + // Reset the viewport to the whole screen + resetViewport(); +} + + +/*************************************************************************************** +** Function name: getRotation +** Description: Return the rotation value (as used by setRotation()) +***************************************************************************************/ +uint8_t TFT_eSPI::getRotation(void) +{ + return rotation; +} + + +/*************************************************************************************** +** Function name: setOrigin +** Description: Set graphics origin to position x,y wrt to top left corner +***************************************************************************************/ +//Note: setRotation, setViewport and resetViewport will revert origin to top left +void TFT_eSPI::setOrigin(int32_t x, int32_t y) +{ + _xDatum = x; + _yDatum = y; +} + + +/*************************************************************************************** +** Function name: getOriginX +** Description: Set graphics origin to position x +***************************************************************************************/ +int32_t TFT_eSPI::getOriginX(void) +{ + return _xDatum; +} + + +/*************************************************************************************** +** Function name: getOriginY +** Description: Set graphics origin to position y +***************************************************************************************/ +int32_t TFT_eSPI::getOriginY(void) +{ + return _yDatum; +} + + +/*************************************************************************************** +** Function name: commandList, used for FLASH based lists only (e.g. ST7735) +** Description: Get initialisation commands from FLASH and send to TFT +***************************************************************************************/ +void TFT_eSPI::commandList (const uint8_t *addr) +{ + uint8_t numCommands; + uint8_t numArgs; + uint8_t ms; + + numCommands = pgm_read_byte(addr++); // Number of commands to follow + + while (numCommands--) // For each command... + { + writecommand(pgm_read_byte(addr++)); // Read, issue command + numArgs = pgm_read_byte(addr++); // Number of args to follow + ms = numArgs & TFT_INIT_DELAY; // If high bit set, delay follows args + numArgs &= ~TFT_INIT_DELAY; // Mask out delay bit + + while (numArgs--) // For each argument... + { + writedata(pgm_read_byte(addr++)); // Read, issue argument + } + + if (ms) + { + ms = pgm_read_byte(addr++); // Read post-command delay time (ms) + delay( (ms==255 ? 500 : ms) ); + } + } + +} + + +/*************************************************************************************** +** Function name: spiwrite +** Description: Write 8 bits to SPI port (legacy support only) +***************************************************************************************/ +void TFT_eSPI::spiwrite(uint8_t c) +{ + begin_tft_write(); + tft_Write_8(c); + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: writecommand +** Description: Send an 8-bit command to the TFT +***************************************************************************************/ +#ifndef RM68120_DRIVER +void TFT_eSPI::writecommand(uint8_t c) +{ + begin_tft_write(); + + DC_C; + + tft_Write_8(c); + + DC_D; + + end_tft_write(); +} +#else +void TFT_eSPI::writecommand(uint16_t c) +{ + begin_tft_write(); + + DC_C; + + tft_Write_16(c); + + DC_D; + + end_tft_write(); + +} +void TFT_eSPI::writeRegister8(uint16_t c, uint8_t d) +{ + begin_tft_write(); + + DC_C; + + tft_Write_16(c); + + DC_D; + + tft_Write_8(d); + + end_tft_write(); + +} +void TFT_eSPI::writeRegister16(uint16_t c, uint16_t d) +{ + begin_tft_write(); + + DC_C; + + tft_Write_16(c); + + DC_D; + + tft_Write_16(d); + + end_tft_write(); + +} + +#endif + +/*************************************************************************************** +** Function name: writedata +** Description: Send a 8-bit data value to the TFT +***************************************************************************************/ +void TFT_eSPI::writedata(uint8_t d) +{ + begin_tft_write(); + + DC_D; // Play safe, but should already be in data mode + + tft_Write_8(d); + + CS_L; // Allow more hold time for low VDI rail + + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: readcommand8 +** Description: Read a 8-bit data value from an indexed command register +***************************************************************************************/ +uint8_t TFT_eSPI::readcommand8(uint8_t cmd_function, uint8_t index) +{ + uint8_t reg = 0; +#if defined(TFT_PARALLEL_8_BIT) || defined(RP2040_PIO_INTERFACE) + + writecommand(cmd_function); // Sets DC and CS high + + busDir(GPIO_DIR_MASK, INPUT); + + CS_L; + + // Read nth parameter (assumes caller discards 1st parameter or points index to 2nd) + while(index--) reg = readByte(); + + busDir(GPIO_DIR_MASK, OUTPUT); + + CS_H; + +#else // SPI interface + // Tested with ILI9341 set to Interface II i.e. IM [3:0] = "1101" + begin_tft_read(); + index = 0x10 + (index & 0x0F); + + DC_C; tft_Write_8(0xD9); + DC_D; tft_Write_8(index); + + CS_H; // Some displays seem to need CS to be pulsed here, or is just a delay needed? + CS_L; + + DC_C; tft_Write_8(cmd_function); + DC_D; + reg = tft_Read_8(); + + end_tft_read(); +#endif + return reg; +} + + +/*************************************************************************************** +** Function name: readcommand16 +** Description: Read a 16-bit data value from an indexed command register +***************************************************************************************/ +uint16_t TFT_eSPI::readcommand16(uint8_t cmd_function, uint8_t index) +{ + uint32_t reg; + + reg = (readcommand8(cmd_function, index + 0) << 8); + reg |= (readcommand8(cmd_function, index + 1) << 0); + + return reg; +} + + +/*************************************************************************************** +** Function name: readcommand32 +** Description: Read a 32-bit data value from an indexed command register +***************************************************************************************/ +uint32_t TFT_eSPI::readcommand32(uint8_t cmd_function, uint8_t index) +{ + uint32_t reg; + + reg = ((uint32_t)readcommand8(cmd_function, index + 0) << 24); + reg |= ((uint32_t)readcommand8(cmd_function, index + 1) << 16); + reg |= ((uint32_t)readcommand8(cmd_function, index + 2) << 8); + reg |= ((uint32_t)readcommand8(cmd_function, index + 3) << 0); + + return reg; +} + + +/*************************************************************************************** +** Function name: read pixel (for SPI Interface II i.e. IM [3:0] = "1101") +** Description: Read 565 pixel colours from a pixel +***************************************************************************************/ +uint16_t TFT_eSPI::readPixel(int32_t x0, int32_t y0) +{ + if (_vpOoB) return 0; + + x0+= _xDatum; + y0+= _yDatum; + + // Range checking + if ((x0 < _vpX) || (y0 < _vpY) ||(x0 >= _vpW) || (y0 >= _vpH)) return 0; + +#if defined(TFT_PARALLEL_8_BIT) || defined(RP2040_PIO_INTERFACE) + + if (!inTransaction) { CS_L; } // CS_L can be multi-statement + + readAddrWindow(x0, y0, 1, 1); + + // Set masked pins D0- D7 to input + busDir(GPIO_DIR_MASK, INPUT); + + #if !defined (SSD1963_DRIVER) + // Dummy read to throw away don't care value + readByte(); + #endif + + // Fetch the 16-bit BRG pixel + //uint16_t rgb = (readByte() << 8) | readByte(); + + #if defined (ILI9341_DRIVER) || defined(ILI9341_2_DRIVER) || defined (ILI9488_DRIVER) || defined (SSD1963_DRIVER)// Read 3 bytes + + // Read window pixel 24-bit RGB values and fill in LS bits + uint16_t rgb = ((readByte() & 0xF8) << 8) | ((readByte() & 0xFC) << 3) | (readByte() >> 3); + + if (!inTransaction) { CS_H; } // CS_H can be multi-statement + + // Set masked pins D0- D7 to output + busDir(GPIO_DIR_MASK, OUTPUT); + + return rgb; + + #else // ILI9481 or ILI9486 16-bit read + + // Fetch the 16-bit BRG pixel + uint16_t bgr = (readByte() << 8) | readByte(); + + if (!inTransaction) { CS_H; } // CS_H can be multi-statement + + // Set masked pins D0- D7 to output + busDir(GPIO_DIR_MASK, OUTPUT); + + #if defined (ILI9486_DRIVER) || defined (ST7796_DRIVER) + return bgr; + #else + // Swap Red and Blue (could check MADCTL setting to see if this is needed) + return (bgr>>11) | (bgr<<11) | (bgr & 0x7E0); + #endif + + #endif + +#else // Not TFT_PARALLEL_8_BIT + + // This function can get called during anti-aliased font rendering + // so a transaction may be in progress + bool wasInTransaction = inTransaction; + if (inTransaction) { inTransaction= false; end_tft_write();} + + uint16_t color = 0; + + begin_tft_read(); // Sets CS low + + readAddrWindow(x0, y0, 1, 1); + + #ifdef TFT_SDA_READ + begin_SDA_Read(); + #endif + + // Dummy read to throw away don't care value + tft_Read_8(); + + //#if !defined (ILI9488_DRIVER) + + #if defined (ST7796_DRIVER) + // Read the 2 bytes + color = ((tft_Read_8()) << 8) | (tft_Read_8()); + #elif defined (ST7735_DRIVER) + // Read the 3 RGB bytes, colour is in LS 6 bits of the top 7 bits of each byte + // as the TFT stores colours as 18 bits + uint8_t r = tft_Read_8()<<1; + uint8_t g = tft_Read_8()<<1; + uint8_t b = tft_Read_8()<<1; + color = color565(r, g, b); + #else + // Read the 3 RGB bytes, colour is actually only in the top 6 bits of each byte + // as the TFT stores colours as 18 bits + uint8_t r = tft_Read_8(); + uint8_t g = tft_Read_8(); + uint8_t b = tft_Read_8(); + color = color565(r, g, b); + #endif + +/* + #else + + // The 6 colour bits are in MS 6 bits of each byte, but the ILI9488 needs an extra clock pulse + // so bits appear shifted right 1 bit, so mask the middle 6 bits then shift 1 place left + uint8_t r = (tft_Read_8()&0x7E)<<1; + uint8_t g = (tft_Read_8()&0x7E)<<1; + uint8_t b = (tft_Read_8()&0x7E)<<1; + color = color565(r, g, b); + + #endif +*/ + CS_H; + + #ifdef TFT_SDA_READ + end_SDA_Read(); + #endif + + end_tft_read(); + + // Reinstate the transaction if one was in progress + if(wasInTransaction) { begin_tft_write(); inTransaction = true; } + + return color; + +#endif +} + +void TFT_eSPI::setCallback(getColorCallback getCol) +{ + getColor = getCol; +} + + +/*************************************************************************************** +** Function name: read rectangle (for SPI Interface II i.e. IM [3:0] = "1101") +** Description: Read 565 pixel colours from a defined area +***************************************************************************************/ +void TFT_eSPI::readRect(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data) +{ + PI_CLIP ; + +#if defined(TFT_PARALLEL_8_BIT) || defined(RP2040_PIO_INTERFACE) + + CS_L; + + readAddrWindow(x, y, dw, dh); + + data += dx + dy * w; + + // Set masked pins D0- D7 to input + busDir(GPIO_DIR_MASK, INPUT); + + #if defined (ILI9341_DRIVER) || defined(ILI9341_2_DRIVER) || defined (ILI9488_DRIVER) // Read 3 bytes + // Dummy read to throw away don't care value + readByte(); + + // Fetch the 24-bit RGB value + while (dh--) { + int32_t lw = dw; + uint16_t* line = data; + while (lw--) { + // Assemble the RGB 16-bit colour + uint16_t rgb = ((readByte() & 0xF8) << 8) | ((readByte() & 0xFC) << 3) | (readByte() >> 3); + + // Swapped byte order for compatibility with pushRect() + *line++ = (rgb<<8) | (rgb>>8); + } + data += w; + } + + #elif defined (SSD1963_DRIVER) + // Fetch the 18-bit BRG pixels + while (dh--) { + int32_t lw = dw; + uint16_t* line = data; + while (lw--) { + uint16_t bgr = ((readByte() & 0xF8) >> 3);; // CS_L adds a small delay + bgr |= ((readByte() & 0xFC) << 3); + bgr |= (readByte() << 8); + // Swap Red and Blue (could check MADCTL setting to see if this is needed) + uint16_t rgb = (bgr>>11) | (bgr<<11) | (bgr & 0x7E0); + // Swapped byte order for compatibility with pushRect() + *line++ = (rgb<<8) | (rgb>>8); + } + data += w; + } + + #else // ILI9481 reads as 16 bits + // Dummy read to throw away don't care value + readByte(); + + // Fetch the 16-bit BRG pixels + while (dh--) { + int32_t lw = dw; + uint16_t* line = data; + while (lw--) { + #if defined (ILI9486_DRIVER) || defined (ST7796_DRIVER) + // Read the RGB 16-bit colour + *line++ = readByte() | (readByte() << 8); + #else + // Read the BRG 16-bit colour + uint16_t bgr = (readByte() << 8) | readByte(); + // Swap Red and Blue (could check MADCTL setting to see if this is needed) + uint16_t rgb = (bgr>>11) | (bgr<<11) | (bgr & 0x7E0); + // Swapped byte order for compatibility with pushRect() + *line++ = (rgb<<8) | (rgb>>8); + #endif + } + data += w; + } + #endif + + CS_H; + + // Set masked pins D0- D7 to output + busDir(GPIO_DIR_MASK, OUTPUT); + +#else // SPI interface + + // This function can get called after a begin_tft_write + // so a transaction may be in progress + bool wasInTransaction = inTransaction; + if (inTransaction) { inTransaction= false; end_tft_write();} + + uint16_t color = 0; + + begin_tft_read(); + + readAddrWindow(x, y, dw, dh); + + data += dx + dy * w; + + #ifdef TFT_SDA_READ + begin_SDA_Read(); + #endif + + // Dummy read to throw away don't care value + tft_Read_8(); + + // Read window pixel 24-bit RGB values + while (dh--) { + int32_t lw = dw; + uint16_t* line = data; + while (lw--) { + + #if !defined (ILI9488_DRIVER) + + #if defined (ST7796_DRIVER) + // Read the 2 bytes + color = ((tft_Read_8()) << 8) | (tft_Read_8()); + #elif defined (ST7735_DRIVER) + // Read the 3 RGB bytes, colour is in LS 6 bits of the top 7 bits of each byte + // as the TFT stores colours as 18 bits + uint8_t r = tft_Read_8()<<1; + uint8_t g = tft_Read_8()<<1; + uint8_t b = tft_Read_8()<<1; + color = color565(r, g, b); + #else + // Read the 3 RGB bytes, colour is actually only in the top 6 bits of each byte + // as the TFT stores colours as 18 bits + uint8_t r = tft_Read_8(); + uint8_t g = tft_Read_8(); + uint8_t b = tft_Read_8(); + color = color565(r, g, b); + #endif + + #else + + // The 6 colour bits are in MS 6 bits of each byte but we do not include the extra clock pulse + // so we use a trick and mask the middle 6 bits of the byte, then only shift 1 place left + uint8_t r = (tft_Read_8()&0x7E)<<1; + uint8_t g = (tft_Read_8()&0x7E)<<1; + uint8_t b = (tft_Read_8()&0x7E)<<1; + color = color565(r, g, b); + #endif + + // Swapped colour byte order for compatibility with pushRect() + *line++ = color << 8 | color >> 8; + } + data += w; + } + + //CS_H; + + #ifdef TFT_SDA_READ + end_SDA_Read(); + #endif + + end_tft_read(); + + // Reinstate the transaction if one was in progress + if(wasInTransaction) { begin_tft_write(); inTransaction = true; } +#endif +} + + +/*************************************************************************************** +** Function name: push rectangle +** Description: push 565 pixel colours into a defined area +***************************************************************************************/ +void TFT_eSPI::pushRect(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data) +{ + bool swap = _swapBytes; _swapBytes = false; + pushImage(x, y, w, h, data); + _swapBytes = swap; +} + + +/*************************************************************************************** +** Function name: pushImage +** Description: plot 16-bit colour sprite or image onto TFT +***************************************************************************************/ +void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data) +{ + PI_CLIP; + + begin_tft_write(); + inTransaction = true; + + setWindow(x, y, x + dw - 1, y + dh - 1); + + data += dx + dy * w; + + // Check if whole image can be pushed + if (dw == w) pushPixels(data, dw * dh); + else { + // Push line segments to crop image + while (dh--) + { + pushPixels(data, dw); + data += w; + } + } + + inTransaction = lockTransaction; + end_tft_write(); +} + +/*************************************************************************************** +** Function name: pushImage +** Description: plot 16-bit sprite or image with 1 colour being transparent +***************************************************************************************/ +void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data, uint16_t transp) +{ + PI_CLIP; + + begin_tft_write(); + inTransaction = true; + + data += dx + dy * w; + + + uint16_t lineBuf[dw]; // Use buffer to minimise setWindow call count + + // The little endian transp color must be byte swapped if the image is big endian + if (!_swapBytes) transp = transp >> 8 | transp << 8; + + while (dh--) + { + int32_t len = dw; + uint16_t* ptr = data; + int32_t px = x, sx = x; + bool move = true; + uint16_t np = 0; + + while (len--) + { + if (transp != *ptr) + { + if (move) { move = false; sx = px; } + lineBuf[np] = *ptr; + np++; + } + else + { + move = true; + if (np) + { + setWindow(sx, y, sx + np - 1, y); + pushPixels((uint16_t*)lineBuf, np); + np = 0; + } + } + px++; + ptr++; + } + if (np) { setWindow(sx, y, sx + np - 1, y); pushPixels((uint16_t*)lineBuf, np); } + + y++; + data += w; + } + + inTransaction = lockTransaction; + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: pushImage - for FLASH (PROGMEM) stored images +** Description: plot 16-bit image +***************************************************************************************/ +void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint16_t *data) +{ + // Requires 32-bit aligned access, so use PROGMEM 16-bit word functions + PI_CLIP; + + begin_tft_write(); + inTransaction = true; + + data += dx + dy * w; + + uint16_t buffer[dw]; + + setWindow(x, y, x + dw - 1, y + dh - 1); + + // Fill and send line buffers to TFT + for (int32_t i = 0; i < dh; i++) { + for (int32_t j = 0; j < dw; j++) { + buffer[j] = pgm_read_word(&data[i * w + j]); + } + pushPixels(buffer, dw); + } + + inTransaction = lockTransaction; + end_tft_write(); +} + +/*************************************************************************************** +** Function name: pushImage - for FLASH (PROGMEM) stored images +** Description: plot 16-bit image with 1 colour being transparent +***************************************************************************************/ +void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint16_t *data, uint16_t transp) +{ + // Requires 32-bit aligned access, so use PROGMEM 16-bit word functions + PI_CLIP; + + begin_tft_write(); + inTransaction = true; + + data += dx + dy * w; + + + uint16_t lineBuf[dw]; + + // The little endian transp color must be byte swapped if the image is big endian + if (!_swapBytes) transp = transp >> 8 | transp << 8; + + while (dh--) { + int32_t len = dw; + uint16_t* ptr = (uint16_t*)data; + int32_t px = x, sx = x; + bool move = true; + + uint16_t np = 0; + + while (len--) { + uint16_t color = pgm_read_word(ptr); + if (transp != color) { + if (move) { move = false; sx = px; } + lineBuf[np] = color; + np++; + } + else { + move = true; + if (np) { + setWindow(sx, y, sx + np - 1, y); + pushPixels(lineBuf, np); + np = 0; + } + } + px++; + ptr++; + } + if (np) { setWindow(sx, y, sx + np - 1, y); pushPixels(lineBuf, np); } + + y++; + data += w; + } + + inTransaction = lockTransaction; + end_tft_write(); +} + +/*************************************************************************************** +** Function name: pushImage +** Description: plot 8-bit or 4-bit or 1 bit image or sprite using a line buffer +***************************************************************************************/ +void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint8_t *data, bool bpp8, uint16_t *cmap) +{ + PI_CLIP; + + begin_tft_write(); + inTransaction = true; + bool swap = _swapBytes; + + setWindow(x, y, x + dw - 1, y + dh - 1); // Sets CS low and sent RAMWR + + // Line buffer makes plotting faster + uint16_t lineBuf[dw]; + + if (bpp8) + { + _swapBytes = false; + + uint8_t blue[] = {0, 11, 21, 31}; // blue 2 to 5-bit colour lookup table + + _lastColor = -1; // Set to illegal value + + // Used to store last shifted colour + uint8_t msbColor = 0; + uint8_t lsbColor = 0; + + data += dx + dy * w; + while (dh--) { + uint32_t len = dw; + uint8_t* ptr = (uint8_t*)data; + uint8_t* linePtr = (uint8_t*)lineBuf; + + while(len--) { + uint32_t color = pgm_read_byte(ptr++); + + // Shifts are slow so check if colour has changed first + if (color != _lastColor) { + // =====Green===== ===============Red============== + msbColor = (color & 0x1C)>>2 | (color & 0xC0)>>3 | (color & 0xE0); + // =====Green===== =======Blue====== + lsbColor = (color & 0x1C)<<3 | blue[color & 0x03]; + _lastColor = color; + } + + *linePtr++ = msbColor; + *linePtr++ = lsbColor; + } + + pushPixels(lineBuf, dw); + + data += w; + } + _swapBytes = swap; // Restore old value + } + else if (cmap != nullptr) // Must be 4bpp + { + _swapBytes = true; + + w = (w+1) & 0xFFFE; // if this is a sprite, w will already be even; this does no harm. + bool splitFirst = (dx & 0x01) != 0; // split first means we have to push a single px from the left of the sprite / image + + if (splitFirst) { + data += ((dx - 1 + dy * w) >> 1); + } + else { + data += ((dx + dy * w) >> 1); + } + + while (dh--) { + uint32_t len = dw; + uint8_t * ptr = (uint8_t*)data; + uint16_t *linePtr = lineBuf; + uint8_t colors; // two colors in one byte + uint16_t index; + + if (splitFirst) { + colors = pgm_read_byte(ptr); + index = (colors & 0x0F); + *linePtr++ = cmap[index]; + len--; + ptr++; + } + + while (len--) + { + colors = pgm_read_byte(ptr); + index = ((colors & 0xF0) >> 4) & 0x0F; + *linePtr++ = cmap[index]; + + if (len--) + { + index = colors & 0x0F; + *linePtr++ = cmap[index]; + } else { + break; // nothing to do here + } + + ptr++; + } + + pushPixels(lineBuf, dw); + data += (w >> 1); + } + _swapBytes = swap; // Restore old value + } + else // Must be 1bpp + { + _swapBytes = false; + uint8_t * ptr = (uint8_t*)data; + uint32_t ww = (w+7)>>3; // Width of source image line in bytes + for (int32_t yp = dy; yp < dy + dh; yp++) + { + uint8_t* linePtr = (uint8_t*)lineBuf; + for (int32_t xp = dx; xp < dx + dw; xp++) + { + uint16_t col = (pgm_read_byte(ptr + (xp>>3)) & (0x80 >> (xp & 0x7)) ); + if (col) {*linePtr++ = bitmap_fg>>8; *linePtr++ = (uint8_t) bitmap_fg;} + else {*linePtr++ = bitmap_bg>>8; *linePtr++ = (uint8_t) bitmap_bg;} + } + ptr += ww; + pushPixels(lineBuf, dw); + } + } + + _swapBytes = swap; // Restore old value + inTransaction = lockTransaction; + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: pushImage +** Description: plot 8-bit or 4-bit or 1 bit image or sprite using a line buffer +***************************************************************************************/ +void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *data, bool bpp8, uint16_t *cmap) +{ + PI_CLIP; + + begin_tft_write(); + inTransaction = true; + bool swap = _swapBytes; + + setWindow(x, y, x + dw - 1, y + dh - 1); // Sets CS low and sent RAMWR + + // Line buffer makes plotting faster + uint16_t lineBuf[dw]; + + if (bpp8) + { + _swapBytes = false; + + uint8_t blue[] = {0, 11, 21, 31}; // blue 2 to 5-bit colour lookup table + + _lastColor = -1; // Set to illegal value + + // Used to store last shifted colour + uint8_t msbColor = 0; + uint8_t lsbColor = 0; + + data += dx + dy * w; + while (dh--) { + uint32_t len = dw; + uint8_t* ptr = data; + uint8_t* linePtr = (uint8_t*)lineBuf; + + while(len--) { + uint32_t color = *ptr++; + + // Shifts are slow so check if colour has changed first + if (color != _lastColor) { + // =====Green===== ===============Red============== + msbColor = (color & 0x1C)>>2 | (color & 0xC0)>>3 | (color & 0xE0); + // =====Green===== =======Blue====== + lsbColor = (color & 0x1C)<<3 | blue[color & 0x03]; + _lastColor = color; + } + + *linePtr++ = msbColor; + *linePtr++ = lsbColor; + } + + pushPixels(lineBuf, dw); + + data += w; + } + _swapBytes = swap; // Restore old value + } + else if (cmap != nullptr) // Must be 4bpp + { + _swapBytes = true; + + w = (w+1) & 0xFFFE; // if this is a sprite, w will already be even; this does no harm. + bool splitFirst = (dx & 0x01) != 0; // split first means we have to push a single px from the left of the sprite / image + + if (splitFirst) { + data += ((dx - 1 + dy * w) >> 1); + } + else { + data += ((dx + dy * w) >> 1); + } + + while (dh--) { + uint32_t len = dw; + uint8_t * ptr = data; + uint16_t *linePtr = lineBuf; + uint8_t colors; // two colors in one byte + uint16_t index; + + if (splitFirst) { + colors = *ptr; + index = (colors & 0x0F); + *linePtr++ = cmap[index]; + len--; + ptr++; + } + + while (len--) + { + colors = *ptr; + index = ((colors & 0xF0) >> 4) & 0x0F; + *linePtr++ = cmap[index]; + + if (len--) + { + index = colors & 0x0F; + *linePtr++ = cmap[index]; + } else { + break; // nothing to do here + } + + ptr++; + } + + pushPixels(lineBuf, dw); + data += (w >> 1); + } + _swapBytes = swap; // Restore old value + } + else // Must be 1bpp + { + _swapBytes = false; + + uint32_t ww = (w+7)>>3; // Width of source image line in bytes + for (int32_t yp = dy; yp < dy + dh; yp++) + { + uint8_t* linePtr = (uint8_t*)lineBuf; + for (int32_t xp = dx; xp < dx + dw; xp++) + { + uint16_t col = (data[(xp>>3)] & (0x80 >> (xp & 0x7)) ); + if (col) {*linePtr++ = bitmap_fg>>8; *linePtr++ = (uint8_t) bitmap_fg;} + else {*linePtr++ = bitmap_bg>>8; *linePtr++ = (uint8_t) bitmap_bg;} + } + data += ww; + pushPixels(lineBuf, dw); + } + } + + _swapBytes = swap; // Restore old value + inTransaction = lockTransaction; + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: pushImage +** Description: plot 8 or 4 or 1 bit image or sprite with a transparent colour +***************************************************************************************/ +void TFT_eSPI::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *data, uint8_t transp, bool bpp8, uint16_t *cmap) +{ + PI_CLIP; + + begin_tft_write(); + inTransaction = true; + bool swap = _swapBytes; + + + // Line buffer makes plotting faster + uint16_t lineBuf[dw]; + + if (bpp8) { // 8 bits per pixel + _swapBytes = false; + + data += dx + dy * w; + + uint8_t blue[] = {0, 11, 21, 31}; // blue 2 to 5-bit colour lookup table + + _lastColor = -1; // Set to illegal value + + // Used to store last shifted colour + uint8_t msbColor = 0; + uint8_t lsbColor = 0; + + while (dh--) { + int32_t len = dw; + uint8_t* ptr = data; + uint8_t* linePtr = (uint8_t*)lineBuf; + + int32_t px = x, sx = x; + bool move = true; + uint16_t np = 0; + + while (len--) { + if (transp != *ptr) { + if (move) { move = false; sx = px; } + uint8_t color = *ptr; + + // Shifts are slow so check if colour has changed first + if (color != _lastColor) { + // =====Green===== ===============Red============== + msbColor = (color & 0x1C)>>2 | (color & 0xC0)>>3 | (color & 0xE0); + // =====Green===== =======Blue====== + lsbColor = (color & 0x1C)<<3 | blue[color & 0x03]; + _lastColor = color; + } + *linePtr++ = msbColor; + *linePtr++ = lsbColor; + np++; + } + else { + move = true; + if (np) { + setWindow(sx, y, sx + np - 1, y); + pushPixels(lineBuf, np); + linePtr = (uint8_t*)lineBuf; + np = 0; + } + } + px++; + ptr++; + } + + if (np) { setWindow(sx, y, sx + np - 1, y); pushPixels(lineBuf, np); } + y++; + data += w; + } + } + else if (cmap != nullptr) // 4bpp with color map + { + _swapBytes = true; + + w = (w+1) & 0xFFFE; // here we try to recreate iwidth from dwidth. + bool splitFirst = ((dx & 0x01) != 0); + if (splitFirst) { + data += ((dx - 1 + dy * w) >> 1); + } + else { + data += ((dx + dy * w) >> 1); + } + + while (dh--) { + uint32_t len = dw; + uint8_t * ptr = data; + + int32_t px = x, sx = x; + bool move = true; + uint16_t np = 0; + + uint8_t index; // index into cmap. + + if (splitFirst) { + index = (*ptr & 0x0F); // odd = bits 3 .. 0 + if (index != transp) { + move = false; sx = px; + lineBuf[np] = cmap[index]; + np++; + } + px++; ptr++; + len--; + } + + while (len--) + { + uint8_t color = *ptr; + + // find the actual color you care about. There will be two pixels here! + // but we may only want one at the end of the row + uint16_t index = ((color & 0xF0) >> 4) & 0x0F; // high bits are the even numbers + if (index != transp) { + if (move) { + move = false; sx = px; + } + lineBuf[np] = cmap[index]; + np++; // added a pixel + } + else { + move = true; + if (np) { + setWindow(sx, y, sx + np - 1, y); + pushPixels(lineBuf, np); + np = 0; + } + } + px++; + + if (len--) + { + index = color & 0x0F; // the odd number is 3 .. 0 + if (index != transp) { + if (move) { + move = false; sx = px; + } + lineBuf[np] = cmap[index]; + np++; + } + else { + move = true; + if (np) { + setWindow(sx, y, sx + np - 1, y); + pushPixels(lineBuf, np); + np = 0; + } + } + px++; + } + else { + break; // we are done with this row. + } + ptr++; // we only increment ptr once in the loop (deliberate) + } + + if (np) { + setWindow(sx, y, sx + np - 1, y); + pushPixels(lineBuf, np); + np = 0; + } + data += (w>>1); + y++; + } + } + else { // 1 bit per pixel + _swapBytes = false; + + uint32_t ww = (w+7)>>3; // Width of source image line in bytes + uint16_t np = 0; + + for (int32_t yp = dy; yp < dy + dh; yp++) + { + int32_t px = x, sx = x; + bool move = true; + for (int32_t xp = dx; xp < dx + dw; xp++) + { + if (data[(xp>>3)] & (0x80 >> (xp & 0x7))) { + if (move) { + move = false; + sx = px; + } + np++; + } + else { + move = true; + if (np) { + setWindow(sx, y, sx + np - 1, y); + pushBlock(bitmap_fg, np); + np = 0; + } + } + px++; + } + if (np) { setWindow(sx, y, sx + np - 1, y); pushBlock(bitmap_fg, np); np = 0; } + y++; + data += ww; + } + } + _swapBytes = swap; // Restore old value + inTransaction = lockTransaction; + end_tft_write(); +} + +/*************************************************************************************** +** Function name: pushMaskedImage +** Description: Render a 16-bit colour image to TFT with a 1bpp mask +***************************************************************************************/ +// Can be used with a 16bpp sprite and a 1bpp sprite for the mask +void TFT_eSPI::pushMaskedImage(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *img, uint8_t *mask) +{ + if (_vpOoB || w < 1 || h < 1) return; + + // To simplify mask handling the window clipping is done by the pushImage function + // Each mask image line assumed to be padded to an integer number of bytes & padding bits are 0 + + begin_tft_write(); + inTransaction = true; + + uint8_t *mptr = mask; + uint8_t *eptr = mask + ((w + 7) >> 3); + uint16_t *iptr = img; + uint32_t setCount = 0; + + // For each line in the image + while (h--) { + uint32_t xp = 0; + uint32_t clearCount = 0; + uint8_t mbyte= *mptr++; + uint32_t bits = 8; + // Scan through each byte of the bitmap and determine run lengths + do { + setCount = 0; + + //Get run length for clear bits to determine x offset + while ((mbyte & 0x80) == 0x00) { + // Check if remaining bits in byte are clear (reduce shifts) + if (mbyte == 0) { + clearCount += bits; // bits not always 8 here + if (mptr >= eptr) break; // end of line + mbyte = *mptr++; + bits = 8; + continue; + } + mbyte = mbyte << 1; // 0's shifted in + clearCount ++; + if (--bits) continue;; + if (mptr >= eptr) break; + mbyte = *mptr++; + bits = 8; + } + + //Get run length for set bits to determine render width + while ((mbyte & 0x80) == 0x80) { + // Check if all bits are set (reduces shifts) + if (mbyte == 0xFF) { + setCount += bits; + if (mptr >= eptr) break; + mbyte = *mptr++; + //bits = 8; // NR, bits always 8 here unless 1's shifted in + continue; + } + mbyte = mbyte << 1; //or mbyte += mbyte + 1 to shift in 1's + setCount ++; + if (--bits) continue; + if (mptr >= eptr) break; + mbyte = *mptr++; + bits = 8; + } + + // A mask boundary or mask end has been found, so render the pixel line + if (setCount) { + xp += clearCount; + clearCount = 0; + pushImage(x + xp, y, setCount, 1, iptr + xp); // pushImage handles clipping + if (mptr >= eptr) break; + xp += setCount; + } + } while (setCount || mptr < eptr); + + y++; + iptr += w; + eptr += ((w + 7) >> 3); + } + + inTransaction = lockTransaction; + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: setSwapBytes +** Description: Used by 16-bit pushImage() to swap byte order in colours +***************************************************************************************/ +void TFT_eSPI::setSwapBytes(bool swap) +{ + _swapBytes = swap; +} + + +/*************************************************************************************** +** Function name: getSwapBytes +** Description: Return the swap byte order for colours +***************************************************************************************/ +bool TFT_eSPI::getSwapBytes(void) +{ + return _swapBytes; +} + + +/*************************************************************************************** +** Function name: read rectangle (for SPI Interface II i.e. IM [3:0] = "1101") +** Description: Read RGB pixel colours from a defined area +***************************************************************************************/ +// If w and h are 1, then 1 pixel is read, *data array size must be 3 bytes per pixel +void TFT_eSPI::readRectRGB(int32_t x0, int32_t y0, int32_t w, int32_t h, uint8_t *data) +{ +#if defined(TFT_PARALLEL_8_BIT) || defined(RP2040_PIO_INTERFACE) + + uint32_t len = w * h; + uint8_t* buf565 = data + len; + + readRect(x0, y0, w, h, (uint16_t*)buf565); + + while (len--) { + uint16_t pixel565 = (*buf565++)<<8; + pixel565 |= *buf565++; + uint8_t red = (pixel565 & 0xF800) >> 8; red |= red >> 5; + uint8_t green = (pixel565 & 0x07E0) >> 3; green |= green >> 6; + uint8_t blue = (pixel565 & 0x001F) << 3; blue |= blue >> 5; + *data++ = red; + *data++ = green; + *data++ = blue; + } + +#else // Not TFT_PARALLEL_8_BIT + + begin_tft_read(); + + readAddrWindow(x0, y0, w, h); // Sets CS low + + #ifdef TFT_SDA_READ + begin_SDA_Read(); + #endif + + // Dummy read to throw away don't care value + tft_Read_8(); + + // Read window pixel 24-bit RGB values, buffer must be set in sketch to 3 * w * h + uint32_t len = w * h; + while (len--) { + + #if !defined (ILI9488_DRIVER) + + // Read the 3 RGB bytes, colour is actually only in the top 6 bits of each byte + // as the TFT stores colours as 18 bits + *data++ = tft_Read_8(); + *data++ = tft_Read_8(); + *data++ = tft_Read_8(); + + #else + + // The 6 colour bits are in MS 6 bits of each byte, but the ILI9488 needs an extra clock pulse + // so bits appear shifted right 1 bit, so mask the middle 6 bits then shift 1 place left + *data++ = (tft_Read_8()&0x7E)<<1; + *data++ = (tft_Read_8()&0x7E)<<1; + *data++ = (tft_Read_8()&0x7E)<<1; + + #endif + + } + + CS_H; + + #ifdef TFT_SDA_READ + end_SDA_Read(); + #endif + + end_tft_read(); + +#endif +} + + +/*************************************************************************************** +** Function name: drawCircle +** Description: Draw a circle outline +***************************************************************************************/ +// Optimised midpoint circle algorithm +void TFT_eSPI::drawCircle(int32_t x0, int32_t y0, int32_t r, uint32_t color) +{ + if ( r <= 0 ) return; + + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + int32_t f = 1 - r; + int32_t ddF_y = -2 * r; + int32_t ddF_x = 1; + int32_t xs = -1; + int32_t xe = 0; + int32_t len = 0; + + bool first = true; + do { + while (f < 0) { + ++xe; + f += (ddF_x += 2); + } + f += (ddF_y += 2); + + if (xe-xs>1) { + if (first) { + len = 2*(xe - xs)-1; + drawFastHLine(x0 - xe, y0 + r, len, color); + drawFastHLine(x0 - xe, y0 - r, len, color); + drawFastVLine(x0 + r, y0 - xe, len, color); + drawFastVLine(x0 - r, y0 - xe, len, color); + first = false; + } + else { + len = xe - xs++; + drawFastHLine(x0 - xe, y0 + r, len, color); + drawFastHLine(x0 - xe, y0 - r, len, color); + drawFastHLine(x0 + xs, y0 - r, len, color); + drawFastHLine(x0 + xs, y0 + r, len, color); + + drawFastVLine(x0 + r, y0 + xs, len, color); + drawFastVLine(x0 + r, y0 - xe, len, color); + drawFastVLine(x0 - r, y0 - xe, len, color); + drawFastVLine(x0 - r, y0 + xs, len, color); + } + } + else { + ++xs; + drawPixel(x0 - xe, y0 + r, color); + drawPixel(x0 - xe, y0 - r, color); + drawPixel(x0 + xs, y0 - r, color); + drawPixel(x0 + xs, y0 + r, color); + + drawPixel(x0 + r, y0 + xs, color); + drawPixel(x0 + r, y0 - xe, color); + drawPixel(x0 - r, y0 - xe, color); + drawPixel(x0 - r, y0 + xs, color); + } + xs = xe; + } while (xe < --r); + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: drawCircleHelper +** Description: Support function for drawRoundRect() +***************************************************************************************/ +void TFT_eSPI::drawCircleHelper( int32_t x0, int32_t y0, int32_t rr, uint8_t cornername, uint32_t color) +{ + if (rr <= 0) return; + int32_t f = 1 - rr; + int32_t ddF_x = 1; + int32_t ddF_y = -2 * rr; + int32_t xe = 0; + int32_t xs = 0; + int32_t len = 0; + + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + do + { + while (f < 0) { + ++xe; + f += (ddF_x += 2); + } + f += (ddF_y += 2); + + if (xe-xs==1) { + if (cornername & 0x1) { // left top + drawPixel(x0 - xe, y0 - rr, color); + drawPixel(x0 - rr, y0 - xe, color); + } + if (cornername & 0x2) { // right top + drawPixel(x0 + rr , y0 - xe, color); + drawPixel(x0 + xs + 1, y0 - rr, color); + } + if (cornername & 0x4) { // right bottom + drawPixel(x0 + xs + 1, y0 + rr , color); + drawPixel(x0 + rr, y0 + xs + 1, color); + } + if (cornername & 0x8) { // left bottom + drawPixel(x0 - rr, y0 + xs + 1, color); + drawPixel(x0 - xe, y0 + rr , color); + } + } + else { + len = xe - xs++; + if (cornername & 0x1) { // left top + drawFastHLine(x0 - xe, y0 - rr, len, color); + drawFastVLine(x0 - rr, y0 - xe, len, color); + } + if (cornername & 0x2) { // right top + drawFastVLine(x0 + rr, y0 - xe, len, color); + drawFastHLine(x0 + xs, y0 - rr, len, color); + } + if (cornername & 0x4) { // right bottom + drawFastHLine(x0 + xs, y0 + rr, len, color); + drawFastVLine(x0 + rr, y0 + xs, len, color); + } + if (cornername & 0x8) { // left bottom + drawFastVLine(x0 - rr, y0 + xs, len, color); + drawFastHLine(x0 - xe, y0 + rr, len, color); + } + } + xs = xe; + } while (xe < rr--); + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + +/*************************************************************************************** +** Function name: fillCircle +** Description: draw a filled circle +***************************************************************************************/ +// Optimised midpoint circle algorithm, changed to horizontal lines (faster in sprites) +// Improved algorithm avoids repetition of lines +void TFT_eSPI::fillCircle(int32_t x0, int32_t y0, int32_t r, uint32_t color) +{ + int32_t x = 0; + int32_t dx = 1; + int32_t dy = r+r; + int32_t p = -(r>>1); + + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + drawFastHLine(x0 - r, y0, dy+1, color); + + while(x=0) { + drawFastHLine(x0 - x, y0 + r, dx, color); + drawFastHLine(x0 - x, y0 - r, dx, color); + dy-=2; + p-=dy; + r--; + } + + dx+=2; + p+=dx; + x++; + + drawFastHLine(x0 - r, y0 + x, dy+1, color); + drawFastHLine(x0 - r, y0 - x, dy+1, color); + + } + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + +/*************************************************************************************** +** Function name: fillCircleHelper +** Description: Support function for fillRoundRect() +***************************************************************************************/ +// Support drawing roundrects, changed to horizontal lines (faster in sprites) +void TFT_eSPI::fillCircleHelper(int32_t x0, int32_t y0, int32_t r, uint8_t cornername, int32_t delta, uint32_t color) +{ + int32_t f = 1 - r; + int32_t ddF_x = 1; + int32_t ddF_y = -r - r; + int32_t y = 0; + + delta++; + + while (y < r) { + if (f >= 0) { + if (cornername & 0x1) drawFastHLine(x0 - y, y0 + r, y + y + delta, color); + if (cornername & 0x2) drawFastHLine(x0 - y, y0 - r, y + y + delta, color); + r--; + ddF_y += 2; + f += ddF_y; + } + + y++; + ddF_x += 2; + f += ddF_x; + + if (cornername & 0x1) drawFastHLine(x0 - r, y0 + y, r + r + delta, color); + if (cornername & 0x2) drawFastHLine(x0 - r, y0 - y, r + r + delta, color); + } +} + + +/*************************************************************************************** +** Function name: drawEllipse +** Description: Draw a ellipse outline +***************************************************************************************/ +void TFT_eSPI::drawEllipse(int16_t x0, int16_t y0, int32_t rx, int32_t ry, uint16_t color) +{ + if (rx<2) return; + if (ry<2) return; + int32_t x, y; + int32_t rx2 = rx * rx; + int32_t ry2 = ry * ry; + int32_t fx2 = 4 * rx2; + int32_t fy2 = 4 * ry2; + int32_t s; + + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + for (x = 0, y = ry, s = 2*ry2+rx2*(1-2*ry); ry2*x <= rx2*y; x++) { + // These are ordered to minimise coordinate changes in x or y + // drawPixel can then send fewer bounding box commands + drawPixel(x0 + x, y0 + y, color); + drawPixel(x0 - x, y0 + y, color); + drawPixel(x0 - x, y0 - y, color); + drawPixel(x0 + x, y0 - y, color); + if (s >= 0) { + s += fx2 * (1 - y); + y--; + } + s += ry2 * ((4 * x) + 6); + } + + for (x = rx, y = 0, s = 2*rx2+ry2*(1-2*rx); rx2*y <= ry2*x; y++) { + // These are ordered to minimise coordinate changes in x or y + // drawPixel can then send fewer bounding box commands + drawPixel(x0 + x, y0 + y, color); + drawPixel(x0 - x, y0 + y, color); + drawPixel(x0 - x, y0 - y, color); + drawPixel(x0 + x, y0 - y, color); + if (s >= 0) + { + s += fy2 * (1 - x); + x--; + } + s += rx2 * ((4 * y) + 6); + } + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: fillEllipse +** Description: draw a filled ellipse +***************************************************************************************/ +void TFT_eSPI::fillEllipse(int16_t x0, int16_t y0, int32_t rx, int32_t ry, uint16_t color) +{ + if (rx<2) return; + if (ry<2) return; + int32_t x, y; + int32_t rx2 = rx * rx; + int32_t ry2 = ry * ry; + int32_t fx2 = 4 * rx2; + int32_t fy2 = 4 * ry2; + int32_t s; + + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + for (x = 0, y = ry, s = 2*ry2+rx2*(1-2*ry); ry2*x <= rx2*y; x++) { + drawFastHLine(x0 - x, y0 - y, x + x + 1, color); + drawFastHLine(x0 - x, y0 + y, x + x + 1, color); + + if (s >= 0) { + s += fx2 * (1 - y); + y--; + } + s += ry2 * ((4 * x) + 6); + } + + for (x = rx, y = 0, s = 2*rx2+ry2*(1-2*rx); rx2*y <= ry2*x; y++) { + drawFastHLine(x0 - x, y0 - y, x + x + 1, color); + drawFastHLine(x0 - x, y0 + y, x + x + 1, color); + + if (s >= 0) { + s += fy2 * (1 - x); + x--; + } + s += rx2 * ((4 * y) + 6); + } + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: fillScreen +** Description: Clear the screen to defined colour +***************************************************************************************/ +void TFT_eSPI::fillScreen(uint32_t color) +{ + fillRect(0, 0, _width, _height, color); +} + + +/*************************************************************************************** +** Function name: drawRect +** Description: Draw a rectangle outline +***************************************************************************************/ +// Draw a rectangle +void TFT_eSPI::drawRect(int32_t x, int32_t y, int32_t w, int32_t h, uint32_t color) +{ + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + drawFastHLine(x, y, w, color); + drawFastHLine(x, y + h - 1, w, color); + // Avoid drawing corner pixels twice + drawFastVLine(x, y+1, h-2, color); + drawFastVLine(x + w - 1, y+1, h-2, color); + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: drawRoundRect +** Description: Draw a rounded corner rectangle outline +***************************************************************************************/ +// Draw a rounded rectangle +void TFT_eSPI::drawRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t r, uint32_t color) +{ + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + // smarter version + drawFastHLine(x + r , y , w - r - r, color); // Top + drawFastHLine(x + r , y + h - 1, w - r - r, color); // Bottom + drawFastVLine(x , y + r , h - r - r, color); // Left + drawFastVLine(x + w - 1, y + r , h - r - r, color); // Right + // draw four corners + drawCircleHelper(x + r , y + r , r, 1, color); + drawCircleHelper(x + w - r - 1, y + r , r, 2, color); + drawCircleHelper(x + w - r - 1, y + h - r - 1, r, 4, color); + drawCircleHelper(x + r , y + h - r - 1, r, 8, color); + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: fillRoundRect +** Description: Draw a rounded corner filled rectangle +***************************************************************************************/ +// Fill a rounded rectangle, changed to horizontal lines (faster in sprites) +void TFT_eSPI::fillRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t r, uint32_t color) +{ + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + // smarter version + fillRect(x, y + r, w, h - r - r, color); + + // draw four corners + fillCircleHelper(x + r, y + h - r - 1, r, 1, w - r - r - 1, color); + fillCircleHelper(x + r , y + r, r, 2, w - r - r - 1, color); + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: drawTriangle +** Description: Draw a triangle outline using 3 arbitrary points +***************************************************************************************/ +// Draw a triangle +void TFT_eSPI::drawTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2, uint32_t color) +{ + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + drawLine(x0, y0, x1, y1, color); + drawLine(x1, y1, x2, y2, color); + drawLine(x2, y2, x0, y0, color); + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: fillTriangle +** Description: Draw a filled triangle using 3 arbitrary points +***************************************************************************************/ +// Fill a triangle - original Adafruit function works well and code footprint is small +void TFT_eSPI::fillTriangle ( int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2, uint32_t color) +{ + int32_t a, b, y, last; + + // Sort coordinates by Y order (y2 >= y1 >= y0) + if (y0 > y1) { + transpose(y0, y1); transpose(x0, x1); + } + if (y1 > y2) { + transpose(y2, y1); transpose(x2, x1); + } + if (y0 > y1) { + transpose(y0, y1); transpose(x0, x1); + } + + if (y0 == y2) { // Handle awkward all-on-same-line case as its own thing + a = b = x0; + if (x1 < a) a = x1; + else if (x1 > b) b = x1; + if (x2 < a) a = x2; + else if (x2 > b) b = x2; + drawFastHLine(a, y0, b - a + 1, color); + return; + } + + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + int32_t + dx01 = x1 - x0, + dy01 = y1 - y0, + dx02 = x2 - x0, + dy02 = y2 - y0, + dx12 = x2 - x1, + dy12 = y2 - y1, + sa = 0, + sb = 0; + + // For upper part of triangle, find scanline crossings for segments + // 0-1 and 0-2. If y1=y2 (flat-bottomed triangle), the scanline y1 + // is included here (and second loop will be skipped, avoiding a /0 + // error there), otherwise scanline y1 is skipped here and handled + // in the second loop...which also avoids a /0 error here if y0=y1 + // (flat-topped triangle). + if (y1 == y2) last = y1; // Include y1 scanline + else last = y1 - 1; // Skip it + + for (y = y0; y <= last; y++) { + a = x0 + sa / dy01; + b = x0 + sb / dy02; + sa += dx01; + sb += dx02; + + if (a > b) transpose(a, b); + drawFastHLine(a, y, b - a + 1, color); + } + + // For lower part of triangle, find scanline crossings for segments + // 0-2 and 1-2. This loop is skipped if y1=y2. + sa = dx12 * (y - y1); + sb = dx02 * (y - y0); + for (; y <= y2; y++) { + a = x1 + sa / dy12; + b = x0 + sb / dy02; + sa += dx12; + sb += dx02; + + if (a > b) transpose(a, b); + drawFastHLine(a, y, b - a + 1, color); + } + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: drawBitmap +** Description: Draw an image stored in an array on the TFT +***************************************************************************************/ +void TFT_eSPI::drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color) +{ + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + int32_t i, j, byteWidth = (w + 7) / 8; + + for (j = 0; j < h; j++) { + for (i = 0; i < w; i++ ) { + if (pgm_read_byte(bitmap + j * byteWidth + i / 8) & (128 >> (i & 7))) { + drawPixel(x + i, y + j, color); + } + } + } + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: drawBitmap +** Description: Draw an image stored in an array on the TFT +***************************************************************************************/ +void TFT_eSPI::drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t fgcolor, uint16_t bgcolor) +{ + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + int32_t i, j, byteWidth = (w + 7) / 8; + + for (j = 0; j < h; j++) { + for (i = 0; i < w; i++ ) { + if (pgm_read_byte(bitmap + j * byteWidth + i / 8) & (128 >> (i & 7))) + drawPixel(x + i, y + j, fgcolor); + else drawPixel(x + i, y + j, bgcolor); + } + } + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + +/*************************************************************************************** +** Function name: drawXBitmap +** Description: Draw an image stored in an XBM array onto the TFT +***************************************************************************************/ +void TFT_eSPI::drawXBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color) +{ + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + int32_t i, j, byteWidth = (w + 7) / 8; + + for (j = 0; j < h; j++) { + for (i = 0; i < w; i++ ) { + if (pgm_read_byte(bitmap + j * byteWidth + i / 8) & (1 << (i & 7))) { + drawPixel(x + i, y + j, color); + } + } + } + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: drawXBitmap +** Description: Draw an XBM image with foreground and background colors +***************************************************************************************/ +void TFT_eSPI::drawXBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t color, uint16_t bgcolor) +{ + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + int32_t i, j, byteWidth = (w + 7) / 8; + + for (j = 0; j < h; j++) { + for (i = 0; i < w; i++ ) { + if (pgm_read_byte(bitmap + j * byteWidth + i / 8) & (1 << (i & 7))) + drawPixel(x + i, y + j, color); + else drawPixel(x + i, y + j, bgcolor); + } + } + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function +} + + +/*************************************************************************************** +** Function name: setCursor +** Description: Set the text cursor x,y position +***************************************************************************************/ +void TFT_eSPI::setCursor(int16_t x, int16_t y) +{ + cursor_x = x; + cursor_y = y; +} + + +/*************************************************************************************** +** Function name: setCursor +** Description: Set the text cursor x,y position and font +***************************************************************************************/ +void TFT_eSPI::setCursor(int16_t x, int16_t y, uint8_t font) +{ + setTextFont(font); + cursor_x = x; + cursor_y = y; +} + + +/*************************************************************************************** +** Function name: getCursorX +** Description: Get the text cursor x position +***************************************************************************************/ +int16_t TFT_eSPI::getCursorX(void) +{ + return cursor_x; +} + +/*************************************************************************************** +** Function name: getCursorY +** Description: Get the text cursor y position +***************************************************************************************/ +int16_t TFT_eSPI::getCursorY(void) +{ + return cursor_y; +} + + +/*************************************************************************************** +** Function name: setTextSize +** Description: Set the text size multiplier +***************************************************************************************/ +void TFT_eSPI::setTextSize(uint8_t s) +{ + if (s>7) s = 7; // Limit the maximum size multiplier so byte variables can be used for rendering + textsize = (s > 0) ? s : 1; // Don't allow font size 0 +} + + +/*************************************************************************************** +** Function name: setTextColor +** Description: Set the font foreground colour (background is transparent) +***************************************************************************************/ +void TFT_eSPI::setTextColor(uint16_t c) +{ + // For 'transparent' background, we'll set the bg + // to the same as fg instead of using a flag + textcolor = textbgcolor = c; +} + + +/*************************************************************************************** +** Function name: setTextColor +** Description: Set the font foreground and background colour +***************************************************************************************/ +// Smooth fonts use the background colour for anti-aliasing and by default the +// background is not filled. If bgfill = true, then a smooth font background fill will +// be used. +void TFT_eSPI::setTextColor(uint16_t c, uint16_t b, bool bgfill) +{ + textcolor = c; + textbgcolor = b; + _fillbg = bgfill; +} + + +/*************************************************************************************** +** Function name: setPivot +** Description: Set the pivot point on the TFT +*************************************************************************************x*/ +void TFT_eSPI::setPivot(int16_t x, int16_t y) +{ + _xPivot = x; + _yPivot = y; +} + + +/*************************************************************************************** +** Function name: getPivotX +** Description: Get the x pivot position +***************************************************************************************/ +int16_t TFT_eSPI::getPivotX(void) +{ + return _xPivot; +} + + +/*************************************************************************************** +** Function name: getPivotY +** Description: Get the y pivot position +***************************************************************************************/ +int16_t TFT_eSPI::getPivotY(void) +{ + return _yPivot; +} + + +/*************************************************************************************** +** Function name: setBitmapColor +** Description: Set the foreground foreground and background colour +***************************************************************************************/ +void TFT_eSPI::setBitmapColor(uint16_t c, uint16_t b) +{ + if (c == b) b = ~c; + bitmap_fg = c; + bitmap_bg = b; +} + + +/*************************************************************************************** +** Function name: setTextWrap +** Description: Define if text should wrap at end of line +***************************************************************************************/ +void TFT_eSPI::setTextWrap(bool wrapX, bool wrapY) +{ + textwrapX = wrapX; + textwrapY = wrapY; +} + + +/*************************************************************************************** +** Function name: setTextDatum +** Description: Set the text position reference datum +***************************************************************************************/ +void TFT_eSPI::setTextDatum(uint8_t d) +{ + textdatum = d; +} + + +/*************************************************************************************** +** Function name: setTextPadding +** Description: Define padding width (aids erasing old text and numbers) +***************************************************************************************/ +void TFT_eSPI::setTextPadding(uint16_t x_width) +{ + padX = x_width; +} + +/*************************************************************************************** +** Function name: setTextPadding +** Description: Define padding width (aids erasing old text and numbers) +***************************************************************************************/ +uint16_t TFT_eSPI::getTextPadding(void) +{ + return padX; +} + +/*************************************************************************************** +** Function name: getTextDatum +** Description: Return the text datum value (as used by setTextDatum()) +***************************************************************************************/ +uint8_t TFT_eSPI::getTextDatum(void) +{ + return textdatum; +} + + +/*************************************************************************************** +** Function name: width +** Description: Return the pixel width of display (per current rotation) +***************************************************************************************/ +// Return the size of the display (per current rotation) +int16_t TFT_eSPI::width(void) +{ + if (_vpDatum) return _xWidth; + return _width; +} + + +/*************************************************************************************** +** Function name: height +** Description: Return the pixel height of display (per current rotation) +***************************************************************************************/ +int16_t TFT_eSPI::height(void) +{ + if (_vpDatum) return _yHeight; + return _height; +} + + +/*************************************************************************************** +** Function name: textWidth +** Description: Return the width in pixels of a string in a given font +***************************************************************************************/ +int16_t TFT_eSPI::textWidth(const String& string) +{ + int16_t len = string.length() + 2; + char buffer[len]; + string.toCharArray(buffer, len); + return textWidth(buffer, textfont); +} + +int16_t TFT_eSPI::textWidth(const String& string, uint8_t font) +{ + int16_t len = string.length() + 2; + char buffer[len]; + string.toCharArray(buffer, len); + return textWidth(buffer, font); +} + +int16_t TFT_eSPI::textWidth(const char *string) +{ + return textWidth(string, textfont); +} + +int16_t TFT_eSPI::textWidth(const char *string, uint8_t font) +{ + int32_t str_width = 0; + uint16_t uniCode = 0; + +#ifdef SMOOTH_FONT + if(fontLoaded) { + while (*string) { + uniCode = decodeUTF8(*string++); + if (uniCode) { + if (uniCode == 0x20) str_width += gFont.spaceWidth; + else { + uint16_t gNum = 0; + bool found = getUnicodeIndex(uniCode, &gNum); + if (found) { + if(str_width == 0 && gdX[gNum] < 0) str_width -= gdX[gNum]; + if (*string || isDigits) str_width += gxAdvance[gNum]; + else str_width += (gdX[gNum] + gWidth[gNum]); + } + else str_width += gFont.spaceWidth + 1; + } + } + } + isDigits = false; + return str_width; + } +#endif + + if (font>1 && font<9) { + char *widthtable = (char *)pgm_read_dword( &(fontdata[font].widthtbl ) ) - 32; //subtract the 32 outside the loop + + while (*string) { + uniCode = *(string++); + if (uniCode > 31 && uniCode < 128) + str_width += pgm_read_byte( widthtable + uniCode); // Normally we need to subtract 32 from uniCode + else str_width += pgm_read_byte( widthtable + 32); // Set illegal character = space width + } + + } + else { + +#ifdef LOAD_GFXFF + if(gfxFont) { // New font + while (*string) { + uniCode = decodeUTF8(*string++); + if ((uniCode >= pgm_read_word(&gfxFont->first)) && (uniCode <= pgm_read_word(&gfxFont->last ))) { + uniCode -= pgm_read_word(&gfxFont->first); + GFXglyph *glyph = &(((GFXglyph *)pgm_read_dword(&gfxFont->glyph))[uniCode]); + // If this is not the last character or is a digit then use xAdvance + if (*string || isDigits) str_width += pgm_read_byte(&glyph->xAdvance); + // Else use the offset plus width since this can be bigger than xAdvance + else str_width += ((int8_t)pgm_read_byte(&glyph->xOffset) + pgm_read_byte(&glyph->width)); + } + } + } + else +#endif + { +#ifdef LOAD_GLCD + while (*string++) str_width += 6; +#endif + } + } + isDigits = false; + return str_width * textsize; +} + + +/*************************************************************************************** +** Function name: fontsLoaded +** Description: return an encoded 16-bit value showing the fonts loaded +***************************************************************************************/ +// Returns a value showing which fonts are loaded (bit N set = Font N loaded) +uint16_t TFT_eSPI::fontsLoaded(void) +{ + return fontsloaded; +} + + +/*************************************************************************************** +** Function name: fontHeight +** Description: return the height of a font (yAdvance for free fonts) +***************************************************************************************/ +int16_t TFT_eSPI::fontHeight(uint8_t font) +{ + if (font > 8) return 0; + +#ifdef SMOOTH_FONT + if(fontLoaded) return gFont.yAdvance; +#endif + +#ifdef LOAD_GFXFF + if (font==1) { + if(gfxFont) { // New font + return pgm_read_byte(&gfxFont->yAdvance) * textsize; + } + } +#endif + return pgm_read_byte( &fontdata[font].height ) * textsize; +} + +int16_t TFT_eSPI::fontHeight(void) +{ + return fontHeight(textfont); +} + +/*************************************************************************************** +** Function name: drawChar +** Description: draw a single character in the GLCD or GFXFF font +***************************************************************************************/ +void TFT_eSPI::drawChar(int32_t x, int32_t y, uint16_t c, uint32_t color, uint32_t bg, uint8_t size) +{ + if (_vpOoB) return; + +#ifdef LOAD_GLCD +//>>>>>>>>>>>>>>>>>> + #ifdef LOAD_GFXFF + if(!gfxFont) { // 'Classic' built-in GLCD font + #endif +//>>>>>>>>>>>>>>>>>> + + int32_t xd = x + _xDatum; + int32_t yd = y + _yDatum; + + if ((xd >= _vpW) || // Clip right + ( yd >= _vpH) || // Clip bottom + ((xd + 6 * size - 1) < _vpX) || // Clip left + ((yd + 8 * size - 1) < _vpY)) // Clip top + return; + + if (c > 255) return; + if (!_cp437 && c > 175) c++; + + bool fillbg = (bg != color); + bool clip = xd < _vpX || xd + 6 * textsize >= _vpW || yd < _vpY || yd + 8 * textsize >= _vpH; + + if ((size==1) && fillbg && !clip) { + uint8_t column[6]; + uint8_t mask = 0x1; + begin_tft_write(); + + setWindow(xd, yd, xd+5, yd+7); + + for (int8_t i = 0; i < 5; i++ ) column[i] = pgm_read_byte(&font[0] + (c * 5) + i); + column[5] = 0; + + for (int8_t j = 0; j < 8; j++) { + for (int8_t k = 0; k < 5; k++ ) { + if (column[k] & mask) {tft_Write_16(color);} + else {tft_Write_16(bg);} + } + mask <<= 1; + tft_Write_16(bg); + } + + end_tft_write(); + } + else { + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + for (int8_t i = 0; i < 6; i++ ) { + uint8_t line; + if (i == 5) + line = 0x0; + else + line = pgm_read_byte(&font[0] + (c * 5) + i); + + if (size == 1 && !fillbg) { // default size + for (int8_t j = 0; j < 8; j++) { + if (line & 0x1) drawPixel(x + i, y + j, color); + line >>= 1; + } + } + else { // big size or clipped + for (int8_t j = 0; j < 8; j++) { + if (line & 0x1) fillRect(x + (i * size), y + (j * size), size, size, color); + else if (fillbg) fillRect(x + i * size, y + j * size, size, size, bg); + line >>= 1; + } + } + } + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function + } + +//>>>>>>>>>>>>>>>>>>>>>>>>>>> + #ifdef LOAD_GFXFF + } else { // Custom font + #endif +//>>>>>>>>>>>>>>>>>>>>>>>>>>> +#endif // LOAD_GLCD + +#ifdef LOAD_GFXFF + // Filter out bad characters not present in font + if ((c >= pgm_read_word(&gfxFont->first)) && (c <= pgm_read_word(&gfxFont->last ))) { + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; +//>>>>>>>>>>>>>>>>>>>>>>>>>>> + + c -= pgm_read_word(&gfxFont->first); + GFXglyph *glyph = &(((GFXglyph *)pgm_read_dword(&gfxFont->glyph))[c]); + uint8_t *bitmap = (uint8_t *)pgm_read_dword(&gfxFont->bitmap); + + uint32_t bo = pgm_read_word(&glyph->bitmapOffset); + uint8_t w = pgm_read_byte(&glyph->width), + h = pgm_read_byte(&glyph->height); + //xa = pgm_read_byte(&glyph->xAdvance); + int8_t xo = pgm_read_byte(&glyph->xOffset), + yo = pgm_read_byte(&glyph->yOffset); + uint8_t xx, yy, bits=0, bit=0; + int16_t xo16 = 0, yo16 = 0; + + if(size > 1) { + xo16 = xo; + yo16 = yo; + } + + // GFXFF rendering speed up + uint16_t hpc = 0; // Horizontal foreground pixel count + for(yy=0; yy>= 1; + } + // Draw pixels for this line as we are about to increment yy + if (hpc) { + if(size == 1) drawFastHLine(x+xo+xx-hpc, y+yo+yy, hpc, color); + else fillRect(x+(xo16+xx-hpc)*size, y+(yo16+yy)*size, size*hpc, size, color); + hpc=0; + } + } + + inTransaction = lockTransaction; + end_tft_write(); // Does nothing if Sprite class uses this function + } +#endif + +#ifdef LOAD_GLCD + #ifdef LOAD_GFXFF + } // End classic vs custom font + #endif +#else + #ifndef LOAD_GFXFF + // Avoid warnings if fonts are disabled + x = x; + y = y; + color = color; + bg = bg; + size = size; + #endif +#endif + +} + + +/*************************************************************************************** +** Function name: setAddrWindow +** Description: define an area to receive a stream of pixels +***************************************************************************************/ +// Chip select is high at the end of this function +void TFT_eSPI::setAddrWindow(int32_t x0, int32_t y0, int32_t w, int32_t h) +{ + begin_tft_write(); + + setWindow(x0, y0, x0 + w - 1, y0 + h - 1); + + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: setWindow +** Description: define an area to receive a stream of pixels +***************************************************************************************/ +// Chip select stays low, call begin_tft_write first. Use setAddrWindow() from sketches +void TFT_eSPI::setWindow(int32_t x0, int32_t y0, int32_t x1, int32_t y1) +{ + //begin_tft_write(); // Must be called before setWindow + addr_row = 0xFFFF; + addr_col = 0xFFFF; + +#if defined (ILI9225_DRIVER) + if (rotation & 0x01) { transpose(x0, y0); transpose(x1, y1); } + SPI_BUSY_CHECK; + DC_C; tft_Write_8(TFT_CASET1); + DC_D; tft_Write_16(x0); + DC_C; tft_Write_8(TFT_CASET2); + DC_D; tft_Write_16(x1); + + DC_C; tft_Write_8(TFT_PASET1); + DC_D; tft_Write_16(y0); + DC_C; tft_Write_8(TFT_PASET2); + DC_D; tft_Write_16(y1); + + DC_C; tft_Write_8(TFT_RAM_ADDR1); + DC_D; tft_Write_16(x0); + DC_C; tft_Write_8(TFT_RAM_ADDR2); + DC_D; tft_Write_16(y0); + + // write to RAM + DC_C; tft_Write_8(TFT_RAMWR); + DC_D; + // Temporary solution is to include the RP2040 code here + #if (defined(ARDUINO_ARCH_RP2040) || defined (ARDUINO_ARCH_MBED)) && !defined(RP2040_PIO_INTERFACE) + // For ILI9225 and RP2040 the slower Arduino SPI transfer calls were used, so need to swap back to 16-bit mode + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + hw_write_masked(&spi_get_hw(SPI_X)->cr0, (16 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); + #endif +#elif defined (SSD1351_DRIVER) + if (rotation & 1) { + transpose(x0, y0); + transpose(x1, y1); + } + SPI_BUSY_CHECK; + DC_C; tft_Write_8(TFT_CASET); + DC_D; tft_Write_16(x1 | (x0 << 8)); + DC_C; tft_Write_8(TFT_PASET); + DC_D; tft_Write_16(y1 | (y0 << 8)); + DC_C; tft_Write_8(TFT_RAMWR); + DC_D; +#else + #if defined (SSD1963_DRIVER) + if ((rotation & 0x1) == 0) { transpose(x0, y0); transpose(x1, y1); } + #endif + + #ifdef CGRAM_OFFSET + x0+=colstart; + x1+=colstart; + y0+=rowstart; + y1+=rowstart; + #endif + + // Temporary solution is to include the RP2040 optimised code here + #if (defined(ARDUINO_ARCH_RP2040) || defined (ARDUINO_ARCH_MBED)) + #if !defined(RP2040_PIO_INTERFACE) + // Use hardware SPI port, this code does not swap from 8 to 16-bit + // to avoid the spi_set_format() call overhead + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_C; + #if !defined (SPI_18BIT_DRIVER) + #if defined (RPI_DISPLAY_TYPE) // RPi TFT type always needs 16-bit transfers + hw_write_masked(&spi_get_hw(SPI_X)->cr0, (16 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); + #else + hw_write_masked(&spi_get_hw(SPI_X)->cr0, (8 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); + #endif + #endif + spi_get_hw(SPI_X)->dr = (uint32_t)TFT_CASET; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_D; + spi_get_hw(SPI_X)->dr = (uint32_t)x0>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)x0; + spi_get_hw(SPI_X)->dr = (uint32_t)x1>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)x1; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_C; + spi_get_hw(SPI_X)->dr = (uint32_t)TFT_PASET; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_D; + spi_get_hw(SPI_X)->dr = (uint32_t)y0>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)y0; + spi_get_hw(SPI_X)->dr = (uint32_t)y1>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)y1; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_C; + spi_get_hw(SPI_X)->dr = (uint32_t)TFT_RAMWR; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + #if !defined (SPI_18BIT_DRIVER) + hw_write_masked(&spi_get_hw(SPI_X)->cr0, (16 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); + #endif + DC_D; + #elif defined (RM68120_DRIVER) + DC_C; tft_Write_16(TFT_CASET+0); DC_D; tft_Write_16(x0 >> 8); + DC_C; tft_Write_16(TFT_CASET+1); DC_D; tft_Write_16(x0 & 0xFF); + DC_C; tft_Write_16(TFT_CASET+2); DC_D; tft_Write_16(x1 >> 8); + DC_C; tft_Write_16(TFT_CASET+3); DC_D; tft_Write_16(x1 & 0xFF); + DC_C; tft_Write_16(TFT_PASET+0); DC_D; tft_Write_16(y0 >> 8); + DC_C; tft_Write_16(TFT_PASET+1); DC_D; tft_Write_16(y0 & 0xFF); + DC_C; tft_Write_16(TFT_PASET+2); DC_D; tft_Write_16(y1 >> 8); + DC_C; tft_Write_16(TFT_PASET+3); DC_D; tft_Write_16(y1 & 0xFF); + + DC_C; tft_Write_16(TFT_RAMWR); + DC_D; + #else + // This is for the RP2040 and PIO interface (SPI or parallel) + WAIT_FOR_STALL; + tft_pio->sm[pio_sm].instr = pio_instr_addr; + + TX_FIFO = TFT_CASET; + TX_FIFO = (x0<<16) | x1; + TX_FIFO = TFT_PASET; + TX_FIFO = (y0<<16) | y1; + TX_FIFO = TFT_RAMWR; + #endif + #else + SPI_BUSY_CHECK; + DC_C; tft_Write_8(TFT_CASET); + DC_D; tft_Write_32C(x0, x1); + DC_C; tft_Write_8(TFT_PASET); + DC_D; tft_Write_32C(y0, y1); + DC_C; tft_Write_8(TFT_RAMWR); + DC_D; + #endif // RP2040 SPI +#endif + //end_tft_write(); // Must be called after setWindow +} + +/*************************************************************************************** +** Function name: readAddrWindow +** Description: define an area to read a stream of pixels +***************************************************************************************/ +void TFT_eSPI::readAddrWindow(int32_t xs, int32_t ys, int32_t w, int32_t h) +{ + //begin_tft_write(); // Must be called before readAddrWindow or CS set low + + int32_t xe = xs + w - 1; + int32_t ye = ys + h - 1; + + addr_col = 0xFFFF; + addr_row = 0xFFFF; + +#if defined (SSD1963_DRIVER) + if ((rotation & 0x1) == 0) { transpose(xs, ys); transpose(xe, ye); } +#endif + +#ifdef CGRAM_OFFSET + xs += colstart; + xe += colstart; + ys += rowstart; + ye += rowstart; +#endif + + // Temporary solution is to include the RP2040 optimised code here +#if (defined(ARDUINO_ARCH_RP2040) || defined (ARDUINO_ARCH_MBED)) && !defined(RP2040_PIO_INTERFACE) + // Use hardware SPI port, this code does not swap from 8 to 16-bit + // to avoid the spi_set_format() call overhead + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_C; + hw_write_masked(&spi_get_hw(SPI_X)->cr0, (8 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); + spi_get_hw(SPI_X)->dr = (uint32_t)TFT_CASET; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_D; + spi_get_hw(SPI_X)->dr = (uint32_t)xs>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)xs; + spi_get_hw(SPI_X)->dr = (uint32_t)xe>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)xe; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_C; + spi_get_hw(SPI_X)->dr = (uint32_t)TFT_PASET; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_D; + spi_get_hw(SPI_X)->dr = (uint32_t)ys>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)ys; + spi_get_hw(SPI_X)->dr = (uint32_t)ye>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)ye; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_C; + spi_get_hw(SPI_X)->dr = (uint32_t)TFT_RAMRD; + + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_D; + + // Flush the rx buffer and reset overflow flag + while (spi_is_readable(SPI_X)) (void)spi_get_hw(SPI_X)->dr; + spi_get_hw(SPI_X)->icr = SPI_SSPICR_RORIC_BITS; + +#else + // Column addr set + DC_C; tft_Write_8(TFT_CASET); + DC_D; tft_Write_32C(xs, xe); + + // Row addr set + DC_C; tft_Write_8(TFT_PASET); + DC_D; tft_Write_32C(ys, ye); + + // Read CGRAM command + DC_C; tft_Write_8(TFT_RAMRD); + + DC_D; +#endif // RP2040 SPI + + //end_tft_write(); // Must be called after readAddrWindow or CS set high +} + + +/*************************************************************************************** +** Function name: drawPixel +** Description: push a single pixel at an arbitrary position +***************************************************************************************/ +void TFT_eSPI::drawPixel(int32_t x, int32_t y, uint32_t color) +{ + if (_vpOoB) return; + + x+= _xDatum; + y+= _yDatum; + + // Range checking + if ((x < _vpX) || (y < _vpY) ||(x >= _vpW) || (y >= _vpH)) return; + +#ifdef CGRAM_OFFSET + x+=colstart; + y+=rowstart; +#endif + +#if (defined (MULTI_TFT_SUPPORT) || defined (GC9A01_DRIVER)) && !defined (ILI9225_DRIVER) + addr_row = 0xFFFF; + addr_col = 0xFFFF; +#endif + + begin_tft_write(); + +#if defined (ILI9225_DRIVER) + if (rotation & 0x01) { transpose(x, y); } + SPI_BUSY_CHECK; + + // Set window to full screen to optimise sequential pixel rendering + if (addr_row != 0x9225) { + addr_row = 0x9225; // addr_row used for flag + DC_C; tft_Write_8(TFT_CASET1); + DC_D; tft_Write_16(0); + DC_C; tft_Write_8(TFT_CASET2); + DC_D; tft_Write_16(175); + + DC_C; tft_Write_8(TFT_PASET1); + DC_D; tft_Write_16(0); + DC_C; tft_Write_8(TFT_PASET2); + DC_D; tft_Write_16(219); + } + + // Define pixel coordinate + DC_C; tft_Write_8(TFT_RAM_ADDR1); + DC_D; tft_Write_16(x); + DC_C; tft_Write_8(TFT_RAM_ADDR2); + DC_D; tft_Write_16(y); + + // write to RAM + DC_C; tft_Write_8(TFT_RAMWR); + #if defined(TFT_PARALLEL_8_BIT) || defined(TFT_PARALLEL_16_BIT) || !defined(ESP32) + DC_D; tft_Write_16(color); + #else + DC_D; tft_Write_16N(color); + #endif + +// Temporary solution is to include the RP2040 optimised code here +#elif (defined (ARDUINO_ARCH_RP2040) || defined (ARDUINO_ARCH_MBED)) && !defined (SSD1351_DRIVER) + + #if defined (SSD1963_DRIVER) + if ((rotation & 0x1) == 0) { transpose(x, y); } + #endif + + #if !defined(RP2040_PIO_INTERFACE) + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + + #if defined (RPI_DISPLAY_TYPE) // RPi TFT type always needs 16-bit transfers + hw_write_masked(&spi_get_hw(SPI_X)->cr0, (16 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); + #else + hw_write_masked(&spi_get_hw(SPI_X)->cr0, (8 - 1) << SPI_SSPCR0_DSS_LSB, SPI_SSPCR0_DSS_BITS); + #endif + + if (addr_col != x) { + DC_C; + spi_get_hw(SPI_X)->dr = (uint32_t)TFT_CASET; + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS){}; + DC_D; + spi_get_hw(SPI_X)->dr = (uint32_t)x>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)x; + spi_get_hw(SPI_X)->dr = (uint32_t)x>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)x; + addr_col = x; + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + } + + if (addr_row != y) { + DC_C; + spi_get_hw(SPI_X)->dr = (uint32_t)TFT_PASET; + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_D; + spi_get_hw(SPI_X)->dr = (uint32_t)y>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)y; + spi_get_hw(SPI_X)->dr = (uint32_t)y>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)y; + addr_row = y; + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + } + + DC_C; + spi_get_hw(SPI_X)->dr = (uint32_t)TFT_RAMWR; + + #if defined (SPI_18BIT_DRIVER) // SPI 18-bit colour + uint8_t r = (color & 0xF800)>>8; + uint8_t g = (color & 0x07E0)>>3; + uint8_t b = (color & 0x001F)<<3; + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_D; + tft_Write_8N(r); tft_Write_8N(g); tft_Write_8N(b); + #else + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + DC_D; + #if defined (RPI_DISPLAY_TYPE) // RPi TFT type always needs 16-bit transfers + spi_get_hw(SPI_X)->dr = (uint32_t)color; + #else + spi_get_hw(SPI_X)->dr = (uint32_t)color>>8; + spi_get_hw(SPI_X)->dr = (uint32_t)color; + #endif + #endif + while (spi_get_hw(SPI_X)->sr & SPI_SSPSR_BSY_BITS) {}; + #elif defined (RM68120_DRIVER) + if (addr_col != x) { + DC_C; tft_Write_16(TFT_CASET+0); DC_D; tft_Write_16(x >> 8); + DC_C; tft_Write_16(TFT_CASET+1); DC_D; tft_Write_16(x & 0xFF); + DC_C; tft_Write_16(TFT_CASET+2); DC_D; tft_Write_16(x >> 8); + DC_C; tft_Write_16(TFT_CASET+3); DC_D; tft_Write_16(x & 0xFF); + addr_col = x; + } + if (addr_row != y) { + DC_C; tft_Write_16(TFT_PASET+0); DC_D; tft_Write_16(y >> 8); + DC_C; tft_Write_16(TFT_PASET+1); DC_D; tft_Write_16(y & 0xFF); + DC_C; tft_Write_16(TFT_PASET+2); DC_D; tft_Write_16(y >> 8); + DC_C; tft_Write_16(TFT_PASET+3); DC_D; tft_Write_16(y & 0xFF); + addr_row = y; + } + DC_C; tft_Write_16(TFT_RAMWR); DC_D; + + TX_FIFO = color; + #else + // This is for the RP2040 and PIO interface (SPI or parallel) + WAIT_FOR_STALL; + tft_pio->sm[pio_sm].instr = pio_instr_addr; + TX_FIFO = TFT_CASET; + TX_FIFO = (x<<16) | x; + TX_FIFO = TFT_PASET; + TX_FIFO = (y<<16) | y; + TX_FIFO = TFT_RAMWR; + //DC set high by PIO + #if defined (SPI_18BIT_DRIVER) || (defined (SSD1963_DRIVER) && defined (TFT_PARALLEL_8_BIT)) + TX_FIFO = ((color & 0xF800)<<8) | ((color & 0x07E0)<<5) | ((color & 0x001F)<<3); + #else + TX_FIFO = color; + #endif + + #endif + +#else + + #if defined (SSD1963_DRIVER) + if ((rotation & 0x1) == 0) { transpose(x, y); } + #endif + + SPI_BUSY_CHECK; + + #if defined (SSD1351_DRIVER) + if (rotation & 0x1) { transpose(x, y); } + // No need to send x if it has not changed (speeds things up) + if (addr_col != x) { + DC_C; tft_Write_8(TFT_CASET); + DC_D; tft_Write_16(x | (x << 8)); + addr_col = x; + } + + // No need to send y if it has not changed (speeds things up) + if (addr_row != y) { + DC_C; tft_Write_8(TFT_PASET); + DC_D; tft_Write_16(y | (y << 8)); + addr_row = y; + } + #else + // No need to send x if it has not changed (speeds things up) + if (addr_col != x) { + DC_C; tft_Write_8(TFT_CASET); + DC_D; tft_Write_32D(x); + addr_col = x; + } + + // No need to send y if it has not changed (speeds things up) + if (addr_row != y) { + DC_C; tft_Write_8(TFT_PASET); + DC_D; tft_Write_32D(y); + addr_row = y; + } + #endif + + DC_C; tft_Write_8(TFT_RAMWR); + + #if defined(TFT_PARALLEL_8_BIT) || defined(TFT_PARALLEL_16_BIT) || !defined(ESP32) + DC_D; tft_Write_16(color); + #else + DC_D; tft_Write_16N(color); + #endif +#endif + + end_tft_write(); +} + +/*************************************************************************************** +** Function name: pushColor +** Description: push a single pixel +***************************************************************************************/ +void TFT_eSPI::pushColor(uint16_t color) +{ + begin_tft_write(); + + SPI_BUSY_CHECK; + tft_Write_16N(color); + + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: pushColor +** Description: push a single colour to "len" pixels +***************************************************************************************/ +void TFT_eSPI::pushColor(uint16_t color, uint32_t len) +{ + begin_tft_write(); + + pushBlock(color, len); + + end_tft_write(); +} + +/*************************************************************************************** +** Function name: startWrite +** Description: begin transaction with CS low, MUST later call endWrite +***************************************************************************************/ +void TFT_eSPI::startWrite(void) +{ + begin_tft_write(); + lockTransaction = true; // Lock transaction for all sequentially run sketch functions + inTransaction = true; +} + +/*************************************************************************************** +** Function name: endWrite +** Description: end transaction with CS high +***************************************************************************************/ +void TFT_eSPI::endWrite(void) +{ + lockTransaction = false; // Release sketch induced transaction lock + inTransaction = false; + DMA_BUSY_CHECK; // Safety check - user code should have checked this! + end_tft_write(); // Release SPI bus +} + +/*************************************************************************************** +** Function name: writeColor (use startWrite() and endWrite() before & after) +** Description: raw write of "len" pixels avoiding transaction check +***************************************************************************************/ +void TFT_eSPI::writeColor(uint16_t color, uint32_t len) +{ + pushBlock(color, len); +} + +/*************************************************************************************** +** Function name: pushColors +** Description: push an array of pixels for 16-bit raw image drawing +***************************************************************************************/ +// Assumed that setAddrWindow() has previously been called +// len is number of bytes, not pixels +void TFT_eSPI::pushColors(uint8_t *data, uint32_t len) +{ + begin_tft_write(); + + pushPixels(data, len>>1); + + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: pushColors +** Description: push an array of pixels, for image drawing +***************************************************************************************/ +void TFT_eSPI::pushColors(uint16_t *data, uint32_t len, bool swap) +{ + begin_tft_write(); + if (swap) {swap = _swapBytes; _swapBytes = true; } + + pushPixels(data, len); + + _swapBytes = swap; // Restore old value + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: drawLine +** Description: draw a line between 2 arbitrary points +***************************************************************************************/ +// Bresenham's algorithm - thx Wikipedia - speed enhanced by Bodmer to use +// an efficient FastH/V Line draw routine for line segments of 2 pixels or more +void TFT_eSPI::drawLine(int32_t x0, int32_t y0, int32_t x1, int32_t y1, uint32_t color) +{ + if (_vpOoB) return; + + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + //x+= _xDatum; // Not added here, added by drawPixel & drawFastXLine + //y+= _yDatum; + + bool steep = abs(y1 - y0) > abs(x1 - x0); + if (steep) { + transpose(x0, y0); + transpose(x1, y1); + } + + if (x0 > x1) { + transpose(x0, x1); + transpose(y0, y1); + } + + int32_t dx = x1 - x0, dy = abs(y1 - y0);; + + int32_t err = dx >> 1, ystep = -1, xs = x0, dlen = 0; + + if (y0 < y1) ystep = 1; + + // Split into steep and not steep for FastH/V separation + if (steep) { + for (; x0 <= x1; x0++) { + dlen++; + err -= dy; + if (err < 0) { + if (dlen == 1) drawPixel(y0, xs, color); + else drawFastVLine(y0, xs, dlen, color); + dlen = 0; + y0 += ystep; xs = x0 + 1; + err += dx; + } + } + if (dlen) drawFastVLine(y0, xs, dlen, color); + } + else + { + for (; x0 <= x1; x0++) { + dlen++; + err -= dy; + if (err < 0) { + if (dlen == 1) drawPixel(xs, y0, color); + else drawFastHLine(xs, y0, dlen, color); + dlen = 0; + y0 += ystep; xs = x0 + 1; + err += dx; + } + } + if (dlen) drawFastHLine(xs, y0, dlen, color); + } + + inTransaction = lockTransaction; + end_tft_write(); +} + + +/*************************************************************************************** +** Description: Constants for anti-aliased line drawing on TFT and in Sprites +***************************************************************************************/ +constexpr float PixelAlphaGain = 255.0; +constexpr float LoAlphaTheshold = 1.0/32.0; +constexpr float HiAlphaTheshold = 1.0 - LoAlphaTheshold; +constexpr float deg2rad = 3.14159265359/180.0; + +/*************************************************************************************** +** Function name: drawPixel (alpha blended) +** Description: Draw a pixel blended with the screen or bg pixel colour +***************************************************************************************/ +uint16_t TFT_eSPI::drawPixel(int32_t x, int32_t y, uint32_t color, uint8_t alpha, uint32_t bg_color) +{ + if (bg_color == 0x00FFFFFF) bg_color = readPixel(x, y); + color = fastBlend(alpha, color, bg_color); + drawPixel(x, y, color); + return color; +} + + +/*************************************************************************************** +** Function name: drawSmoothArc +** Description: Draw a smooth arc clockwise from 6 o'clock +***************************************************************************************/ +void TFT_eSPI::drawSmoothArc(int32_t x, int32_t y, int32_t r, int32_t ir, uint32_t startAngle, uint32_t endAngle, uint32_t fg_color, uint32_t bg_color, bool roundEnds) +// Centre at x,y +// r = arc outer radius, ir = arc inner radius. Inclusive so arc thickness = r - ir + 1 +// Angles in range 0-360 +// Arc foreground colour anti-aliased with background colour at edges +// anti-aliased roundEnd is optional, default is anti-aliased straight end +// Note: rounded ends extend the arc angle so can overlap, user sketch to manage this. +{ + inTransaction = true; + + if (endAngle != startAngle && (startAngle != 0 || endAngle != 360)) + { + float sx = -sinf(startAngle * deg2rad); + float sy = +cosf(startAngle * deg2rad); + float ex = -sinf( endAngle * deg2rad); + float ey = +cosf( endAngle * deg2rad); + + if (roundEnds) + { // Round ends + sx = sx * (r + ir)/2.0 + x; + sy = sy * (r + ir)/2.0 + y; + drawSpot(sx, sy, (r - ir)/2.0, fg_color, bg_color); + + ex = ex * (r + ir)/2.0 + x; + ey = ey * (r + ir)/2.0 + y; + drawSpot(ex, ey, (r - ir)/2.0, fg_color, bg_color); + } + else + { // Square ends + float asx = sx * ir + x; + float asy = sy * ir + y; + float aex = sx * r + x; + float aey = sy * r + y; + drawWedgeLine(asx, asy, aex, aey, 0.3, 0.3, fg_color, bg_color); + + asx = ex * ir + x; + asy = ey * ir + y; + aex = ex * r + x; + aey = ey * r + y; + drawWedgeLine(asx, asy, aex, aey, 0.3, 0.3, fg_color, bg_color); + } + + // Draw arc + drawArc(x, y, r, ir, startAngle, endAngle, fg_color, bg_color); + + } + else // Draw full 360 + { + drawArc(x, y, r, ir, 0, 360, fg_color, bg_color); + } + + inTransaction = lockTransaction; + end_tft_write(); +} + +/*************************************************************************************** +** Function name: sqrt_fraction (private function) +** Description: Smooth graphics support function for alpha derivation +***************************************************************************************/ +// Compute the fixed point square root of an integer and +// return the 8 MS bits of fractional part. +// Quicker than sqrt() for processors that do not have an FPU (e.g. RP2040) +inline uint8_t TFT_eSPI::sqrt_fraction(uint32_t num) { + if (num > (0x40000000)) return 0; + uint32_t bsh = 0x00004000; + uint32_t fpr = 0; + uint32_t osh = 0; + + // Auto adjust from U8:8 up to U15:16 + while (num>bsh) {bsh <<= 2; osh++;} + + do { + uint32_t bod = bsh + fpr; + if(num >= bod) + { + num -= bod; + fpr = bsh + bod; + } + num <<= 1; + } while(bsh >>= 1); + + return fpr>>osh; +} + +/*************************************************************************************** +** Function name: drawArc +** Description: Draw an arc clockwise from 6 o'clock position +***************************************************************************************/ +// Centre at x,y +// r = arc outer radius, ir = arc inner radius. Inclusive, so arc thickness = r-ir+1 +// Angles MUST be in range 0-360 +// Arc foreground fg_color anti-aliased with background colour along sides +// smooth is optional, default is true, smooth=false means no antialiasing +// Note: Arc ends are not anti-aliased (use drawSmoothArc instead for that) +void TFT_eSPI::drawArc(int32_t x, int32_t y, int32_t r, int32_t ir, + uint32_t startAngle, uint32_t endAngle, + uint32_t fg_color, uint32_t bg_color, + bool smooth) +{ + if (endAngle > 360) endAngle = 360; + if (startAngle > 360) startAngle = 360; + if (_vpOoB || startAngle == endAngle) return; + if (r < ir) transpose(r, ir); // Required that r > ir + if (r <= 0 || ir < 0) return; // Invalid r, ir can be zero (circle sector) + + if (endAngle < startAngle) { + // Arc sweeps through 6 o'clock so draw in two parts + if (startAngle < 360) drawArc(x, y, r, ir, startAngle, 360, fg_color, bg_color, smooth); + if (endAngle == 0) return; + startAngle = 0; + } + inTransaction = true; + + int32_t xs = 0; // x start position for quadrant scan + uint8_t alpha = 0; // alpha value for blending pixels + + uint32_t r2 = r * r; // Outer arc radius^2 + if (smooth) r++; // Outer AA zone radius + uint32_t r1 = r * r; // Outer AA radius^2 + int16_t w = r - ir; // Width of arc (r - ir + 1) + uint32_t r3 = ir * ir; // Inner arc radius^2 + if (smooth) ir--; // Inner AA zone radius + uint32_t r4 = ir * ir; // Inner AA radius^2 + + // 1 | 2 + // ---¦--- Arc quadrant index + // 0 | 3 + // Fixed point U16.16 slope table for arc start/end in each quadrant + uint32_t startSlope[4] = {0, 0, 0xFFFFFFFF, 0}; + uint32_t endSlope[4] = {0, 0xFFFFFFFF, 0, 0}; + + // Ensure maximum U16.16 slope of arc ends is ~ 0x8000 0000 + constexpr float minDivisor = 1.0f/0x8000; + + // Fill in start slope table and empty quadrants + float fabscos = fabsf(cosf(startAngle * deg2rad)); + float fabssin = fabsf(sinf(startAngle * deg2rad)); + + // U16.16 slope of arc start + uint32_t slope = (fabscos/(fabssin + minDivisor)) * (float)(1UL<<16); + + // Update slope table, add slope for arc start + if (startAngle <= 90) { + startSlope[0] = slope; + } + else if (startAngle <= 180) { + startSlope[1] = slope; + } + else if (startAngle <= 270) { + startSlope[1] = 0xFFFFFFFF; + startSlope[2] = slope; + } + else { + startSlope[1] = 0xFFFFFFFF; + startSlope[2] = 0; + startSlope[3] = slope; + } + + // Fill in end slope table and empty quadrants + fabscos = fabsf(cosf(endAngle * deg2rad)); + fabssin = fabsf(sinf(endAngle * deg2rad)); + + // U16.16 slope of arc end + slope = (uint32_t)((fabscos/(fabssin + minDivisor)) * (float)(1UL<<16)); + + // Work out which quadrants will need to be drawn and add slope for arc end + if (endAngle <= 90) { + endSlope[0] = slope; + endSlope[1] = 0; + startSlope[2] = 0; + } + else if (endAngle <= 180) { + endSlope[1] = slope; + startSlope[2] = 0; + } + else if (endAngle <= 270) { + endSlope[2] = slope; + } + else { + endSlope[3] = slope; + } + + // Scan quadrant + for (int32_t cy = r - 1; cy > 0; cy--) + { + uint32_t len[4] = { 0, 0, 0, 0}; // Pixel run length + int32_t xst[4] = {-1, -1, -1, -1}; // Pixel run x start + uint32_t dy2 = (r - cy) * (r - cy); + + // Find and track arc zone start point + while ((r - xs) * (r - xs) + dy2 >= r1) xs++; + + for (int32_t cx = xs; cx < r; cx++) + { + // Calculate radius^2 + uint32_t hyp = (r - cx) * (r - cx) + dy2; + + // If in outer zone calculate alpha + if (hyp > r2) { + alpha = ~sqrt_fraction(hyp); // Outer AA zone + } + // If within arc fill zone, get line start and lengths for each quadrant + else if (hyp >= r3) { + // Calculate U16.16 slope + slope = ((r - cy) << 16)/(r - cx); + if (slope <= startSlope[0] && slope >= endSlope[0]) { // slope hi -> lo + xst[0] = cx; // Bottom left line end + len[0]++; + } + if (slope >= startSlope[1] && slope <= endSlope[1]) { // slope lo -> hi + xst[1] = cx; // Top left line end + len[1]++; + } + if (slope <= startSlope[2] && slope >= endSlope[2]) { // slope hi -> lo + xst[2] = cx; // Bottom right line start + len[2]++; + } + if (slope <= endSlope[3] && slope >= startSlope[3]) { // slope lo -> hi + xst[3] = cx; // Top right line start + len[3]++; + } + continue; // Next x + } + else { + if (hyp <= r4) break; // Skip inner pixels + alpha = sqrt_fraction(hyp); // Inner AA zone + } + + if (alpha < 16) continue; // Skip low alpha pixels + + // If background is read it must be done in each quadrant + uint16_t pcol = fastBlend(alpha, fg_color, bg_color); + // Check if an AA pixels need to be drawn + slope = ((r - cy)<<16)/(r - cx); + if (slope <= startSlope[0] && slope >= endSlope[0]) // BL + drawPixel(x + cx - r, y - cy + r, pcol); + if (slope >= startSlope[1] && slope <= endSlope[1]) // TL + drawPixel(x + cx - r, y + cy - r, pcol); + if (slope <= startSlope[2] && slope >= endSlope[2]) // TR + drawPixel(x - cx + r, y + cy - r, pcol); + if (slope <= endSlope[3] && slope >= startSlope[3]) // BR + drawPixel(x - cx + r, y - cy + r, pcol); + } + // Add line in inner zone + if (len[0]) drawFastHLine(x + xst[0] - len[0] + 1 - r, y - cy + r, len[0], fg_color); // BL + if (len[1]) drawFastHLine(x + xst[1] - len[1] + 1 - r, y + cy - r, len[1], fg_color); // TL + if (len[2]) drawFastHLine(x - xst[2] + r, y + cy - r, len[2], fg_color); // TR + if (len[3]) drawFastHLine(x - xst[3] + r, y - cy + r, len[3], fg_color); // BR + } + + // Fill in centre lines + if (startAngle == 0 || endAngle == 360) drawFastVLine(x, y + r - w, w, fg_color); // Bottom + if (startAngle <= 90 && endAngle >= 90) drawFastHLine(x - r + 1, y, w, fg_color); // Left + if (startAngle <= 180 && endAngle >= 180) drawFastVLine(x, y - r + 1, w, fg_color); // Top + if (startAngle <= 270 && endAngle >= 270) drawFastHLine(x + r - w, y, w, fg_color); // Right + + inTransaction = lockTransaction; + end_tft_write(); +} + +/*************************************************************************************** +** Function name: drawSmoothCircle +** Description: Draw a smooth circle +***************************************************************************************/ +// To have effective anti-aliasing the circle will be 3 pixels thick +void TFT_eSPI::drawSmoothCircle(int32_t x, int32_t y, int32_t r, uint32_t fg_color, uint32_t bg_color) +{ + drawSmoothRoundRect(x-r, y-r, r, r-1, 0, 0, fg_color, bg_color); +} + +/*************************************************************************************** +** Function name: fillSmoothCircle +** Description: Draw a filled anti-aliased circle +***************************************************************************************/ +void TFT_eSPI::fillSmoothCircle(int32_t x, int32_t y, int32_t r, uint32_t color, uint32_t bg_color) +{ + if (r <= 0) return; + + inTransaction = true; + + drawFastHLine(x - r, y, 2 * r + 1, color); + int32_t xs = 1; + int32_t cx = 0; + + int32_t r1 = r * r; + r++; + int32_t r2 = r * r; + + for (int32_t cy = r - 1; cy > 0; cy--) + { + int32_t dy2 = (r - cy) * (r - cy); + for (cx = xs; cx < r; cx++) + { + int32_t hyp2 = (r - cx) * (r - cx) + dy2; + if (hyp2 <= r1) break; + if (hyp2 >= r2) continue; + + uint8_t alpha = ~sqrt_fraction(hyp2); + if (alpha > 246) break; + xs = cx; + if (alpha < 9) continue; + + if (bg_color == 0x00FFFFFF) { + drawPixel(x + cx - r, y + cy - r, color, alpha, bg_color); + drawPixel(x - cx + r, y + cy - r, color, alpha, bg_color); + drawPixel(x - cx + r, y - cy + r, color, alpha, bg_color); + drawPixel(x + cx - r, y - cy + r, color, alpha, bg_color); + } + else { + uint16_t pcol = drawPixel(x + cx - r, y + cy - r, color, alpha, bg_color); + drawPixel(x - cx + r, y + cy - r, pcol); + drawPixel(x - cx + r, y - cy + r, pcol); + drawPixel(x + cx - r, y - cy + r, pcol); + } + } + drawFastHLine(x + cx - r, y + cy - r, 2 * (r - cx) + 1, color); + drawFastHLine(x + cx - r, y - cy + r, 2 * (r - cx) + 1, color); + } + inTransaction = lockTransaction; + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: drawSmoothRoundRect +** Description: Draw a rounded rectangle +***************************************************************************************/ +// x,y is top left corner of bounding box for a complete rounded rectangle +// r = arc outer corner radius, ir = arc inner radius. Arc thickness = r-ir+1 +// w and h are width and height of the bounding rectangle +// If w and h are < radius (e.g. 0,0) a circle will be drawn with centre at x+r,y+r +// Arc foreground fg_color anti-aliased with background colour at edges +// A subset of corners can be drawn by specifying a quadrants mask. A bit set in the +// mask means draw that quadrant (all are drawn if parameter missing): +// 0x1 | 0x2 +// ---¦--- Arc quadrant mask select bits (as in drawCircleHelper fn) +// 0x8 | 0x4 +void TFT_eSPI::drawSmoothRoundRect(int32_t x, int32_t y, int32_t r, int32_t ir, int32_t w, int32_t h, uint32_t fg_color, uint32_t bg_color, uint8_t quadrants) +{ + if (_vpOoB) return; + if (r < ir) transpose(r, ir); // Required that r > ir + if (r <= 0 || ir < 0) return; // Invalid + + w -= 2*r; + h -= 2*r; + + if (w < 0) w = 0; + if (h < 0) h = 0; + + inTransaction = true; + + x += r; + y += r; + + uint16_t t = r - ir + 1; + int32_t xs = 0; + int32_t cx = 0; + + int32_t r2 = r * r; // Outer arc radius^2 + r++; + int32_t r1 = r * r; // Outer AA zone radius^2 + + int32_t r3 = ir * ir; // Inner arc radius^2 + ir--; + int32_t r4 = ir * ir; // Inner AA zone radius^2 + + uint8_t alpha = 0; + + // Scan top left quadrant x y r ir fg_color bg_color + for (int32_t cy = r - 1; cy > 0; cy--) + { + int32_t len = 0; // Pixel run length + int32_t lxst = 0; // Left side run x start + int32_t rxst = 0; // Right side run x start + int32_t dy2 = (r - cy) * (r - cy); + + // Find and track arc zone start point + while ((r - xs) * (r - xs) + dy2 >= r1) xs++; + + for (cx = xs; cx < r; cx++) + { + // Calculate radius^2 + int32_t hyp = (r - cx) * (r - cx) + dy2; + + // If in outer zone calculate alpha + if (hyp > r2) { + alpha = ~sqrt_fraction(hyp); // Outer AA zone + } + // If within arc fill zone, get line lengths for each quadrant + else if (hyp >= r3) { + rxst = cx; // Right side start + len++; // Line segment length + continue; // Next x + } + else { + if (hyp <= r4) break; // Skip inner pixels + alpha = sqrt_fraction(hyp); // Inner AA zone + } + + if (alpha < 16) continue; // Skip low alpha pixels + + // If background is read it must be done in each quadrant - TODO + uint16_t pcol = fastBlend(alpha, fg_color, bg_color); + if (quadrants & 0x8) drawPixel(x + cx - r, y - cy + r + h, pcol); // BL + if (quadrants & 0x1) drawPixel(x + cx - r, y + cy - r, pcol); // TL + if (quadrants & 0x2) drawPixel(x - cx + r + w, y + cy - r, pcol); // TR + if (quadrants & 0x4) drawPixel(x - cx + r + w, y - cy + r + h, pcol); // BR + } + // Fill arc inner zone in each quadrant + lxst = rxst - len + 1; // Calculate line segment start for left side + if (quadrants & 0x8) drawFastHLine(x + lxst - r, y - cy + r + h, len, fg_color); // BL + if (quadrants & 0x1) drawFastHLine(x + lxst - r, y + cy - r, len, fg_color); // TL + if (quadrants & 0x2) drawFastHLine(x - rxst + r + w, y + cy - r, len, fg_color); // TR + if (quadrants & 0x4) drawFastHLine(x - rxst + r + w, y - cy + r + h, len, fg_color); // BR + } + + // Draw sides + if ((quadrants & 0xC) == 0xC) fillRect(x, y + r - t + h, w + 1, t, fg_color); // Bottom + if ((quadrants & 0x9) == 0x9) fillRect(x - r + 1, y, t, h + 1, fg_color); // Left + if ((quadrants & 0x3) == 0x3) fillRect(x, y - r + 1, w + 1, t, fg_color); // Top + if ((quadrants & 0x6) == 0x6) fillRect(x + r - t + w, y, t, h + 1, fg_color); // Right + + inTransaction = lockTransaction; + end_tft_write(); +} + +/*************************************************************************************** +** Function name: fillSmoothRoundRect +** Description: Draw a filled anti-aliased rounded corner rectangle +***************************************************************************************/ +void TFT_eSPI::fillSmoothRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t r, uint32_t color, uint32_t bg_color) +{ + inTransaction = true; + + int32_t xs = 0; + int32_t cx = 0; + + // Limit radius to half width or height + if (r < 0) r = 0; + if (r > w/2) r = w/2; + if (r > h/2) r = h/2; + + y += r; + h -= 2*r; + fillRect(x, y, w, h, color); + + h--; + x += r; + w -= 2*r+1; + + int32_t r1 = r * r; + r++; + int32_t r2 = r * r; + + for (int32_t cy = r - 1; cy > 0; cy--) + { + int32_t dy2 = (r - cy) * (r - cy); + for (cx = xs; cx < r; cx++) + { + int32_t hyp2 = (r - cx) * (r - cx) + dy2; + if (hyp2 <= r1) break; + if (hyp2 >= r2) continue; + + uint8_t alpha = ~sqrt_fraction(hyp2); + if (alpha > 246) break; + xs = cx; + if (alpha < 9) continue; + + drawPixel(x + cx - r, y + cy - r, color, alpha, bg_color); + drawPixel(x - cx + r + w, y + cy - r, color, alpha, bg_color); + drawPixel(x - cx + r + w, y - cy + r + h, color, alpha, bg_color); + drawPixel(x + cx - r, y - cy + r + h, color, alpha, bg_color); + } + drawFastHLine(x + cx - r, y + cy - r, 2 * (r - cx) + 1 + w, color); + drawFastHLine(x + cx - r, y - cy + r + h, 2 * (r - cx) + 1 + w, color); + } + inTransaction = lockTransaction; + end_tft_write(); +} + +/*************************************************************************************** +** Function name: drawSpot - maths intensive, so for small filled circles +** Description: Draw an anti-aliased filled circle at ax,ay with radius r +***************************************************************************************/ +// Coordinates are floating point to achieve sub-pixel positioning +void TFT_eSPI::drawSpot(float ax, float ay, float r, uint32_t fg_color, uint32_t bg_color) +{ + // Filled circle can be created by the wide line function with zero line length + drawWedgeLine( ax, ay, ax, ay, r, r, fg_color, bg_color); +} + +/*************************************************************************************** +** Function name: drawWideLine - background colour specified or pixel read +** Description: draw an anti-aliased line with rounded ends, width wd +***************************************************************************************/ +void TFT_eSPI::drawWideLine(float ax, float ay, float bx, float by, float wd, uint32_t fg_color, uint32_t bg_color) +{ + drawWedgeLine( ax, ay, bx, by, wd/2.0, wd/2.0, fg_color, bg_color); +} + +/*************************************************************************************** +** Function name: drawWedgeLine - background colour specified or pixel read +** Description: draw an anti-aliased line with different width radiused ends +***************************************************************************************/ +void TFT_eSPI::drawWedgeLine(float ax, float ay, float bx, float by, float ar, float br, uint32_t fg_color, uint32_t bg_color) +{ + if ( (ar < 0.0) || (br < 0.0) )return; + if ( (fabsf(ax - bx) < 0.01f) && (fabsf(ay - by) < 0.01f) ) bx += 0.01f; // Avoid divide by zero + + // Find line bounding box + int32_t x0 = (int32_t)floorf(fminf(ax-ar, bx-br)); + int32_t x1 = (int32_t) ceilf(fmaxf(ax+ar, bx+br)); + int32_t y0 = (int32_t)floorf(fminf(ay-ar, by-br)); + int32_t y1 = (int32_t) ceilf(fmaxf(ay+ar, by+br)); + + if (!clipWindow(&x0, &y0, &x1, &y1)) return; + + // Establish x start and y start + int32_t ys = ay; + if ((ax-ar)>(bx-br)) ys = by; + + float rdt = ar - br; // Radius delta + float alpha = 1.0f; + ar += 0.5; + + uint16_t bg = bg_color; + float xpax, ypay, bax = bx - ax, bay = by - ay; + + begin_nin_write(); + inTransaction = true; + + int32_t xs = x0; + // Scan bounding box from ys down, calculate pixel intensity from distance to line + for (int32_t yp = ys; yp <= y1; yp++) { + bool swin = true; // Flag to start new window area + bool endX = false; // Flag to skip pixels + ypay = yp - ay; + for (int32_t xp = xs; xp <= x1; xp++) { + if (endX) if (alpha <= LoAlphaTheshold) break; // Skip right side + xpax = xp - ax; + alpha = ar - wedgeLineDistance(xpax, ypay, bax, bay, rdt); + if (alpha <= LoAlphaTheshold ) continue; + // Track edge to minimise calculations + if (!endX) { endX = true; xs = xp; } + if (alpha > HiAlphaTheshold) { + #ifdef GC9A01_DRIVER + drawPixel(xp, yp, fg_color); + #else + if (swin) { setWindow(xp, yp, x1, yp); swin = false; } + pushColor(fg_color); + #endif + continue; + } + //Blend color with background and plot + if (bg_color == 0x00FFFFFF) { + bg = readPixel(xp, yp); swin = true; + } + #ifdef GC9A01_DRIVER + uint16_t pcol = fastBlend((uint8_t)(alpha * PixelAlphaGain), fg_color, bg); + drawPixel(xp, yp, pcol); + swin = swin; + #else + if (swin) { setWindow(xp, yp, x1, yp); swin = false; } + pushColor(fastBlend((uint8_t)(alpha * PixelAlphaGain), fg_color, bg)); + #endif + } + } + + // Reset x start to left side of box + xs = x0; + // Scan bounding box from ys-1 up, calculate pixel intensity from distance to line + for (int32_t yp = ys-1; yp >= y0; yp--) { + bool swin = true; // Flag to start new window area + bool endX = false; // Flag to skip pixels + ypay = yp - ay; + for (int32_t xp = xs; xp <= x1; xp++) { + if (endX) if (alpha <= LoAlphaTheshold) break; // Skip right side of drawn line + xpax = xp - ax; + alpha = ar - wedgeLineDistance(xpax, ypay, bax, bay, rdt); + if (alpha <= LoAlphaTheshold ) continue; + // Track line boundary + if (!endX) { endX = true; xs = xp; } + if (alpha > HiAlphaTheshold) { + #ifdef GC9A01_DRIVER + drawPixel(xp, yp, fg_color); + #else + if (swin) { setWindow(xp, yp, x1, yp); swin = false; } + pushColor(fg_color); + #endif + continue; + } + //Blend colour with background and plot + if (bg_color == 0x00FFFFFF) { + bg = readPixel(xp, yp); swin = true; + } + #ifdef GC9A01_DRIVER + uint16_t pcol = fastBlend((uint8_t)(alpha * PixelAlphaGain), fg_color, bg); + drawPixel(xp, yp, pcol); + swin = swin; + #else + if (swin) { setWindow(xp, yp, x1, yp); swin = false; } + pushColor(fastBlend((uint8_t)(alpha * PixelAlphaGain), fg_color, bg)); + #endif + } + } + + inTransaction = lockTransaction; + end_nin_write(); +} + + +/*************************************************************************************** +** Function name: lineDistance - private helper function for drawWedgeLine +** Description: returns distance of px,py to closest part of a to b wedge +***************************************************************************************/ +inline float TFT_eSPI::wedgeLineDistance(float xpax, float ypay, float bax, float bay, float dr) +{ + float h = fmaxf(fminf((xpax * bax + ypay * bay) / (bax * bax + bay * bay), 1.0f), 0.0f); + float dx = xpax - bax * h, dy = ypay - bay * h; + return sqrtf(dx * dx + dy * dy) + h * dr; +} + + +/*************************************************************************************** +** Function name: drawFastVLine +** Description: draw a vertical line +***************************************************************************************/ +void TFT_eSPI::drawFastVLine(int32_t x, int32_t y, int32_t h, uint32_t color) +{ + if (_vpOoB) return; + + x+= _xDatum; + y+= _yDatum; + + // Clipping + if ((x < _vpX) || (x >= _vpW) || (y >= _vpH)) return; + + if (y < _vpY) { h += y - _vpY; y = _vpY; } + + if ((y + h) > _vpH) h = _vpH - y; + + if (h < 1) return; + + begin_tft_write(); + + setWindow(x, y, x, y + h - 1); + + pushBlock(color, h); + + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: drawFastHLine +** Description: draw a horizontal line +***************************************************************************************/ +void TFT_eSPI::drawFastHLine(int32_t x, int32_t y, int32_t w, uint32_t color) +{ + if (_vpOoB) return; + + x+= _xDatum; + y+= _yDatum; + + // Clipping + if ((y < _vpY) || (x >= _vpW) || (y >= _vpH)) return; + + if (x < _vpX) { w += x - _vpX; x = _vpX; } + + if ((x + w) > _vpW) w = _vpW - x; + + if (w < 1) return; + + begin_tft_write(); + + setWindow(x, y, x + w - 1, y); + + pushBlock(color, w); + + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: fillRect +** Description: draw a filled rectangle +***************************************************************************************/ +void TFT_eSPI::fillRect(int32_t x, int32_t y, int32_t w, int32_t h, uint32_t color) +{ + if (_vpOoB) return; + + x+= _xDatum; + y+= _yDatum; + + // Clipping + if ((x >= _vpW) || (y >= _vpH)) return; + + if (x < _vpX) { w += x - _vpX; x = _vpX; } + if (y < _vpY) { h += y - _vpY; y = _vpY; } + + if ((x + w) > _vpW) w = _vpW - x; + if ((y + h) > _vpH) h = _vpH - y; + + if ((w < 1) || (h < 1)) return; + + //Serial.print(" _xDatum=");Serial.print( _xDatum);Serial.print(", _yDatum=");Serial.print( _yDatum); + //Serial.print(", _xWidth=");Serial.print(_xWidth);Serial.print(", _yHeight=");Serial.println(_yHeight); + + //Serial.print(" _vpX=");Serial.print( _vpX);Serial.print(", _vpY=");Serial.print( _vpY); + //Serial.print(", _vpW=");Serial.print(_vpW);Serial.print(", _vpH=");Serial.println(_vpH); + + //Serial.print(" x=");Serial.print( y);Serial.print(", y=");Serial.print( y); + //Serial.print(", w=");Serial.print(w);Serial.print(", h=");Serial.println(h); + + begin_tft_write(); + + setWindow(x, y, x + w - 1, y + h - 1); + + pushBlock(color, w * h); + + end_tft_write(); +} + + +/*************************************************************************************** +** Function name: fillRectVGradient +** Description: draw a filled rectangle with a vertical colour gradient +***************************************************************************************/ +void TFT_eSPI::fillRectVGradient(int16_t x, int16_t y, int16_t w, int16_t h, uint32_t color1, uint32_t color2) +{ + if (_vpOoB) return; + + x+= _xDatum; + y+= _yDatum; + + // Clipping + if ((x >= _vpW) || (y >= _vpH)) return; + + if (x < _vpX) { w += x - _vpX; x = _vpX; } + if (y < _vpY) { h += y - _vpY; y = _vpY; } + + if ((x + w) > _vpW) w = _vpW - x; + if ((y + h) > _vpH) h = _vpH - y; + + if ((w < 1) || (h < 1)) return; + + begin_nin_write(); + + float delta = -255.0/h; + float alpha = 255.0; + uint32_t color = color1; + + while (h--) { + drawFastHLine(x, y++, w, color); + alpha += delta; + color = fastBlend((uint8_t)alpha, color1, color2); + } + + end_nin_write(); +} + + +/*************************************************************************************** +** Function name: fillRectHGradient +** Description: draw a filled rectangle with a horizontal colour gradient +***************************************************************************************/ +void TFT_eSPI::fillRectHGradient(int16_t x, int16_t y, int16_t w, int16_t h, uint32_t color1, uint32_t color2) +{ + if (_vpOoB) return; + + x+= _xDatum; + y+= _yDatum; + + // Clipping + if ((x >= _vpW) || (y >= _vpH)) return; + + if (x < _vpX) { w += x - _vpX; x = _vpX; } + if (y < _vpY) { h += y - _vpY; y = _vpY; } + + if ((x + w) > _vpW) w = _vpW - x; + if ((y + h) > _vpH) h = _vpH - y; + + if ((w < 1) || (h < 1)) return; + + begin_nin_write(); + + float delta = -255.0/w; + float alpha = 255.0; + uint32_t color = color1; + + while (w--) { + drawFastVLine(x++, y, h, color); + alpha += delta; + color = fastBlend((uint8_t)alpha, color1, color2); + } + + end_nin_write(); +} + + +/*************************************************************************************** +** Function name: color565 +** Description: convert three 8-bit RGB levels to a 16-bit colour value +***************************************************************************************/ +uint16_t TFT_eSPI::color565(uint8_t r, uint8_t g, uint8_t b) +{ + return ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3); +} + + +/*************************************************************************************** +** Function name: color16to8 +** Description: convert 16-bit colour to an 8-bit 332 RGB colour value +***************************************************************************************/ +uint8_t TFT_eSPI::color16to8(uint16_t c) +{ + return ((c & 0xE000)>>8) | ((c & 0x0700)>>6) | ((c & 0x0018)>>3); +} + + +/*************************************************************************************** +** Function name: color8to16 +** Description: convert 8-bit colour to a 16-bit 565 colour value +***************************************************************************************/ +uint16_t TFT_eSPI::color8to16(uint8_t color) +{ + uint8_t blue[] = {0, 11, 21, 31}; // blue 2 to 5-bit colour lookup table + uint16_t color16 = 0; + + // =====Green===== ===============Red============== + color16 = (color & 0x1C)<<6 | (color & 0xC0)<<5 | (color & 0xE0)<<8; + // =====Green===== =======Blue====== + color16 |= (color & 0x1C)<<3 | blue[color & 0x03]; + + return color16; +} + +/*************************************************************************************** +** Function name: color16to24 +** Description: convert 16-bit colour to a 24-bit 888 colour value +***************************************************************************************/ +uint32_t TFT_eSPI::color16to24(uint16_t color565) +{ + uint8_t r = (color565 >> 8) & 0xF8; r |= (r >> 5); + uint8_t g = (color565 >> 3) & 0xFC; g |= (g >> 6); + uint8_t b = (color565 << 3) & 0xF8; b |= (b >> 5); + + return ((uint32_t)r << 16) | ((uint32_t)g << 8) | ((uint32_t)b << 0); +} + +/*************************************************************************************** +** Function name: color24to16 +** Description: convert 24-bit colour to a 16-bit 565 colour value +***************************************************************************************/ +uint32_t TFT_eSPI::color24to16(uint32_t color888) +{ + uint16_t r = (color888 >> 8) & 0xF800; + uint16_t g = (color888 >> 5) & 0x07E0; + uint16_t b = (color888 >> 3) & 0x001F; + + return (r | g | b); +} + +/*************************************************************************************** +** Function name: invertDisplay +** Description: invert the display colours i = 1 invert, i = 0 normal +***************************************************************************************/ +void TFT_eSPI::invertDisplay(bool i) +{ + begin_tft_write(); + // Send the command twice as otherwise it does not always work! + writecommand(i ? TFT_INVON : TFT_INVOFF); + writecommand(i ? TFT_INVON : TFT_INVOFF); + end_tft_write(); +} + + +/************************************************************************** +** Function name: setAttribute +** Description: Sets a control parameter of an attribute +**************************************************************************/ +void TFT_eSPI::setAttribute(uint8_t attr_id, uint8_t param) { + switch (attr_id) { + break; + case CP437_SWITCH: + _cp437 = param; + break; + case UTF8_SWITCH: + _utf8 = param; + decoderState = 0; + break; + case PSRAM_ENABLE: +#if defined (ESP32) && defined (CONFIG_SPIRAM_SUPPORT) + if (psramFound()) _psram_enable = param; // Enable the use of PSRAM (if available) + else +#endif + _psram_enable = false; + break; + //case 4: // TBD future feature control + // _tbd = param; + // break; + } +} + + +/************************************************************************** +** Function name: getAttribute +** Description: Get value of an attribute (control parameter) +**************************************************************************/ +uint8_t TFT_eSPI::getAttribute(uint8_t attr_id) { + switch (attr_id) { + case CP437_SWITCH: // ON/OFF control of full CP437 character set + return _cp437; + case UTF8_SWITCH: // ON/OFF control of UTF-8 decoding + return _utf8; + case PSRAM_ENABLE: + return _psram_enable; + //case 3: // TBD future feature control + // return _tbd; + // break; + } + + return false; +} + +/*************************************************************************************** +** Function name: decodeUTF8 +** Description: Serial UTF-8 decoder with fall-back to extended ASCII +*************************************************************************************x*/ +uint16_t TFT_eSPI::decodeUTF8(uint8_t c) +{ + if (!_utf8) return c; + + // 7-bit Unicode Code Point + if ((c & 0x80) == 0x00) { + decoderState = 0; + return c; + } + + if (decoderState == 0) { + // 11-bit Unicode Code Point + if ((c & 0xE0) == 0xC0) { + decoderBuffer = ((c & 0x1F)<<6); + decoderState = 1; + return 0; + } + // 16-bit Unicode Code Point + if ((c & 0xF0) == 0xE0) { + decoderBuffer = ((c & 0x0F)<<12); + decoderState = 2; + return 0; + } + // 21-bit Unicode Code Point not supported so fall-back to extended ASCII + // if ((c & 0xF8) == 0xF0) return c; + } + else { + if (decoderState == 2) { + decoderBuffer |= ((c & 0x3F)<<6); + decoderState--; + return 0; + } + else { + decoderBuffer |= (c & 0x3F); + decoderState = 0; + return decoderBuffer; + } + } + + decoderState = 0; + + return c; // fall-back to extended ASCII +} + + +/*************************************************************************************** +** Function name: decodeUTF8 +** Description: Line buffer UTF-8 decoder with fall-back to extended ASCII +*************************************************************************************x*/ +uint16_t TFT_eSPI::decodeUTF8(uint8_t *buf, uint16_t *index, uint16_t remaining) +{ + uint16_t c = buf[(*index)++]; + //Serial.print("Byte from string = 0x"); Serial.println(c, HEX); + + if (!_utf8) return c; + + // 7-bit Unicode + if ((c & 0x80) == 0x00) return c; + + // 11-bit Unicode + if (((c & 0xE0) == 0xC0) && (remaining > 1)) + return ((c & 0x1F)<<6) | (buf[(*index)++]&0x3F); + + // 16-bit Unicode + if (((c & 0xF0) == 0xE0) && (remaining > 2)) { + c = ((c & 0x0F)<<12) | ((buf[(*index)++]&0x3F)<<6); + return c | ((buf[(*index)++]&0x3F)); + } + + // 21-bit Unicode not supported so fall-back to extended ASCII + // if (((c & 0xF8) == 0xF0) && (remaining > 3)) { + // c = ((c & 0x07) << 18) | ((buf[(*index)++] & 0x03F) << 12); + // c |= ((buf[(*index)++] & 0x3F) << 6); + // return c | ((buf[(*index)++] & 0x3F)); + + return c; // fall-back to extended ASCII +} + + +/*************************************************************************************** +** Function name: alphaBlend +** Description: Blend 16bit foreground and background +*************************************************************************************x*/ +uint16_t TFT_eSPI::alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc) +{ + // Split out and blend 5-bit red and blue channels + uint32_t rxb = bgc & 0xF81F; + rxb += ((fgc & 0xF81F) - rxb) * (alpha >> 2) >> 6; + // Split out and blend 6-bit green channel + uint32_t xgx = bgc & 0x07E0; + xgx += ((fgc & 0x07E0) - xgx) * alpha >> 8; + // Recombine channels + return (rxb & 0xF81F) | (xgx & 0x07E0); +} + +/*************************************************************************************** +** Function name: alphaBlend +** Description: Blend 16bit foreground and background with dither +*************************************************************************************x*/ +uint16_t TFT_eSPI::alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc, uint8_t dither) +{ + if (dither) { + int16_t alphaDither = (int16_t)alpha - dither + random(2*dither+1); // +/-4 randomised + alpha = (uint8_t)alphaDither; + if (alphaDither < 0) alpha = 0; + if (alphaDither >255) alpha = 255; + } + + return alphaBlend(alpha, fgc, bgc); +} + +/*************************************************************************************** +** Function name: alphaBlend +** Description: Blend 24bit foreground and background with optional dither +*************************************************************************************x*/ +uint32_t TFT_eSPI::alphaBlend24(uint8_t alpha, uint32_t fgc, uint32_t bgc, uint8_t dither) +{ + + if (dither) { + int16_t alphaDither = (int16_t)alpha - dither + random(2*dither+1); // +/-dither randomised + alpha = (uint8_t)alphaDither; + if (alphaDither < 0) alpha = 0; + if (alphaDither >255) alpha = 255; + } + + uint32_t rxx = bgc & 0xFF0000; + rxx += ((fgc & 0xFF0000) - rxx) * alpha >> 8; + uint32_t xgx = bgc & 0x00FF00; + xgx += ((fgc & 0x00FF00) - xgx) * alpha >> 8; + uint32_t xxb = bgc & 0x0000FF; + xxb += ((fgc & 0x0000FF) - xxb) * alpha >> 8; + return (rxx & 0xFF0000) | (xgx & 0x00FF00) | (xxb & 0x0000FF); +} + +/*************************************************************************************** +** Function name: write +** Description: draw characters piped through serial stream +***************************************************************************************/ +/* // Not all processors support buffered write +#ifndef ARDUINO_ARCH_ESP8266 // Avoid ESP8266 board package bug +size_t TFT_eSPI::write(const uint8_t *buf, size_t len) +{ + inTransaction = true; + + uint8_t *lbuf = (uint8_t *)buf; + while(*lbuf !=0 && len--) write(*lbuf++); + + inTransaction = lockTransaction; + end_tft_write(); + return 1; +} +#endif +*/ +/*************************************************************************************** +** Function name: write +** Description: draw characters piped through serial stream +***************************************************************************************/ +size_t TFT_eSPI::write(uint8_t utf8) +{ + if (_vpOoB) return 1; + + uint16_t uniCode = decodeUTF8(utf8); + + if (!uniCode) return 1; + + if (utf8 == '\r') return 1; + +#ifdef SMOOTH_FONT + if(fontLoaded) { + if (uniCode < 32 && utf8 != '\n') return 1; + + drawGlyph(uniCode); + + return 1; + } +#endif + + if (uniCode == '\n') uniCode+=22; // Make it a valid space character to stop errors + + uint16_t cwidth = 0; + uint16_t cheight = 0; + +//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + //Serial.print((uint8_t) uniCode); // Debug line sends all printed TFT text to serial port + //Serial.println(uniCode, HEX); // Debug line sends all printed TFT text to serial port + //delay(5); // Debug optional wait for serial port to flush through +//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ DEBUG ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +#ifdef LOAD_GFXFF + if(!gfxFont) { +#endif +//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + +#ifdef LOAD_FONT2 + if (textfont == 2) { + if (uniCode < 32 || uniCode > 127) return 1; + + cwidth = pgm_read_byte(widtbl_f16 + uniCode-32); + cheight = chr_hgt_f16; + // Font 2 is rendered in whole byte widths so we must allow for this + cwidth = (cwidth + 6) / 8; // Width in whole bytes for font 2, should be + 7 but must allow for font width change + cwidth = cwidth * 8; // Width converted back to pixels + } + #ifdef LOAD_RLE + else + #endif +#endif + +#ifdef LOAD_RLE + { + if ((textfont>2) && (textfont<9)) { + if (uniCode < 32 || uniCode > 127) return 1; + // Uses the fontinfo struct array to avoid lots of 'if' or 'switch' statements + cwidth = pgm_read_byte( (uint8_t *)pgm_read_dword( &(fontdata[textfont].widthtbl ) ) + uniCode-32 ); + cheight= pgm_read_byte( &fontdata[textfont].height ); + } + } +#endif + +#ifdef LOAD_GLCD + if (textfont==1) { + cwidth = 6; + cheight = 8; + } +#else + if (textfont==1) return 1; +#endif + + cheight = cheight * textsize; + + if (utf8 == '\n') { + cursor_y += cheight; + cursor_x = 0; + } + else { + if (textwrapX && (cursor_x + cwidth * textsize > width())) { + cursor_y += cheight; + cursor_x = 0; + } + if (textwrapY && (cursor_y >= (int32_t) height())) cursor_y = 0; + cursor_x += drawChar(uniCode, cursor_x, cursor_y, textfont); + } + +//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +#ifdef LOAD_GFXFF + } // Custom GFX font + else { + if(utf8 == '\n') { + cursor_x = 0; + cursor_y += (int16_t)textsize * (uint8_t)pgm_read_byte(&gfxFont->yAdvance); + } else { + if (uniCode > pgm_read_word(&gfxFont->last )) return 1; + if (uniCode < pgm_read_word(&gfxFont->first)) return 1; + + uint16_t c2 = uniCode - pgm_read_word(&gfxFont->first); + GFXglyph *glyph = &(((GFXglyph *)pgm_read_dword(&gfxFont->glyph))[c2]); + uint8_t w = pgm_read_byte(&glyph->width), + h = pgm_read_byte(&glyph->height); + if((w > 0) && (h > 0)) { // Is there an associated bitmap? + int16_t xo = (int8_t)pgm_read_byte(&glyph->xOffset); + if(textwrapX && ((cursor_x + textsize * (xo + w)) > width())) { + // Drawing character would go off right edge; wrap to new line + cursor_x = 0; + cursor_y += (int16_t)textsize * (uint8_t)pgm_read_byte(&gfxFont->yAdvance); + } + if (textwrapY && (cursor_y >= (int32_t) height())) cursor_y = 0; + drawChar(cursor_x, cursor_y, uniCode, textcolor, textbgcolor, textsize); + } + cursor_x += pgm_read_byte(&glyph->xAdvance) * (int16_t)textsize; + } + } +#endif // LOAD_GFXFF +//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + return 1; +} + + +/*************************************************************************************** +** Function name: drawChar +** Description: draw a Unicode glyph onto the screen +***************************************************************************************/ + // TODO: Rationalise with TFT_eSprite + // Any UTF-8 decoding must be done before calling drawChar() +int16_t TFT_eSPI::drawChar(uint16_t uniCode, int32_t x, int32_t y) +{ + return drawChar(uniCode, x, y, textfont); +} + + // Any UTF-8 decoding must be done before calling drawChar() +int16_t TFT_eSPI::drawChar(uint16_t uniCode, int32_t x, int32_t y, uint8_t font) +{ + if (_vpOoB || !uniCode) return 0; + + if (font==1) { +#ifdef LOAD_GLCD + #ifndef LOAD_GFXFF + drawChar(x, y, uniCode, textcolor, textbgcolor, textsize); + return 6 * textsize; + #endif +#else + #ifndef LOAD_GFXFF + return 0; + #endif +#endif + +#ifdef LOAD_GFXFF + drawChar(x, y, uniCode, textcolor, textbgcolor, textsize); + if(!gfxFont) { // 'Classic' built-in font + #ifdef LOAD_GLCD + return 6 * textsize; + #else + return 0; + #endif + } + else { + if((uniCode >= pgm_read_word(&gfxFont->first)) && (uniCode <= pgm_read_word(&gfxFont->last) )) { + uint16_t c2 = uniCode - pgm_read_word(&gfxFont->first); + GFXglyph *glyph = &(((GFXglyph *)pgm_read_dword(&gfxFont->glyph))[c2]); + return pgm_read_byte(&glyph->xAdvance) * textsize; + } + else { + return 0; + } + } +#endif + } + + if ((font>1) && (font<9) && ((uniCode < 32) || (uniCode > 127))) return 0; + + int32_t width = 0; + int32_t height = 0; + uint32_t flash_address = 0; + uniCode -= 32; + +#ifdef LOAD_FONT2 + if (font == 2) { + flash_address = pgm_read_dword(&chrtbl_f16[uniCode]); + width = pgm_read_byte(widtbl_f16 + uniCode); + height = chr_hgt_f16; + } + #ifdef LOAD_RLE + else + #endif +#endif + +#ifdef LOAD_RLE + { + if ((font>2) && (font<9)) { + flash_address = pgm_read_dword( (const void*)(pgm_read_dword( &(fontdata[font].chartbl ) ) + uniCode*sizeof(void *)) ); + width = pgm_read_byte( (uint8_t *)pgm_read_dword( &(fontdata[font].widthtbl ) ) + uniCode ); + height= pgm_read_byte( &fontdata[font].height ); + } + } +#endif + + int32_t xd = x + _xDatum; + int32_t yd = y + _yDatum; + + if ((xd + width * textsize < _vpX || xd >= _vpW) && (yd + height * textsize < _vpY || yd >= _vpH)) return width * textsize ; + + int32_t w = width; + int32_t pX = 0; + int32_t pY = y; + uint8_t line = 0; + bool clip = xd < _vpX || xd + width * textsize >= _vpW || yd < _vpY || yd + height * textsize >= _vpH; + +#ifdef LOAD_FONT2 // chop out code if we do not need it + if (font == 2) { + w = w + 6; // Should be + 7 but we need to compensate for width increment + w = w / 8; + + if (textcolor == textbgcolor || textsize != 1 || clip) { + //begin_tft_write(); // Sprite class can use this function, avoiding begin_tft_write() + inTransaction = true; + + for (int32_t i = 0; i < height; i++) { + if (textcolor != textbgcolor) fillRect(x, pY, width * textsize, textsize, textbgcolor); + + for (int32_t k = 0; k < w; k++) { + line = pgm_read_byte((uint8_t *)flash_address + w * i + k); + if (line) { + if (textsize == 1) { + pX = x + k * 8; + if (line & 0x80) drawPixel(pX, pY, textcolor); + if (line & 0x40) drawPixel(pX + 1, pY, textcolor); + if (line & 0x20) drawPixel(pX + 2, pY, textcolor); + if (line & 0x10) drawPixel(pX + 3, pY, textcolor); + if (line & 0x08) drawPixel(pX + 4, pY, textcolor); + if (line & 0x04) drawPixel(pX + 5, pY, textcolor); + if (line & 0x02) drawPixel(pX + 6, pY, textcolor); + if (line & 0x01) drawPixel(pX + 7, pY, textcolor); + } + else { + pX = x + k * 8 * textsize; + if (line & 0x80) fillRect(pX, pY, textsize, textsize, textcolor); + if (line & 0x40) fillRect(pX + textsize, pY, textsize, textsize, textcolor); + if (line & 0x20) fillRect(pX + 2 * textsize, pY, textsize, textsize, textcolor); + if (line & 0x10) fillRect(pX + 3 * textsize, pY, textsize, textsize, textcolor); + if (line & 0x08) fillRect(pX + 4 * textsize, pY, textsize, textsize, textcolor); + if (line & 0x04) fillRect(pX + 5 * textsize, pY, textsize, textsize, textcolor); + if (line & 0x02) fillRect(pX + 6 * textsize, pY, textsize, textsize, textcolor); + if (line & 0x01) fillRect(pX + 7 * textsize, pY, textsize, textsize, textcolor); + } + } + } + pY += textsize; + } + + inTransaction = lockTransaction; + end_tft_write(); + } + else { // Faster drawing of characters and background using block write + + begin_tft_write(); + + setWindow(xd, yd, xd + width - 1, yd + height - 1); + + uint8_t mask; + for (int32_t i = 0; i < height; i++) { + pX = width; + for (int32_t k = 0; k < w; k++) { + line = pgm_read_byte((uint8_t *) (flash_address + w * i + k) ); + mask = 0x80; + while (mask && pX) { + if (line & mask) {tft_Write_16(textcolor);} + else {tft_Write_16(textbgcolor);} + pX--; + mask = mask >> 1; + } + } + if (pX) {tft_Write_16(textbgcolor);} + } + + end_tft_write(); + } + } + + #ifdef LOAD_RLE + else + #endif +#endif //FONT2 + +#ifdef LOAD_RLE //674 bytes of code + // Font is not 2 and hence is RLE encoded + { + begin_tft_write(); + inTransaction = true; + + w *= height; // Now w is total number of pixels in the character + if (textcolor == textbgcolor && !clip) { + + int32_t px = 0, py = pY; // To hold character block start and end column and row values + int32_t pc = 0; // Pixel count + uint8_t np = textsize * textsize; // Number of pixels in a drawn pixel + + uint8_t tnp = 0; // Temporary copy of np for while loop + uint8_t ts = textsize - 1; // Temporary copy of textsize + // 16-bit pixel count so maximum font size is equivalent to 180x180 pixels in area + // w is total number of pixels to plot to fill character block + while (pc < w) { + line = pgm_read_byte((uint8_t *)flash_address); + flash_address++; + if (line & 0x80) { + line &= 0x7F; + line++; + if (ts) { + px = xd + textsize * (pc % width); // Keep these px and py calculations outside the loop as they are slow + py = yd + textsize * (pc / width); + } + else { + px = xd + pc % width; // Keep these px and py calculations outside the loop as they are slow + py = yd + pc / width; + } + while (line--) { // In this case the while(line--) is faster + pc++; // This is faster than putting pc+=line before while()? + setWindow(px, py, px + ts, py + ts); + + if (ts) { + tnp = np; + while (tnp--) {tft_Write_16(textcolor);} + } + else {tft_Write_16(textcolor);} + px += textsize; + + if (px >= (xd + width * textsize)) { + px = xd; + py += textsize; + } + } + } + else { + line++; + pc += line; + } + } + } + else { + // Text colour != background and textsize = 1 and character is within viewport area + // so use faster drawing of characters and background using block write + if (textcolor != textbgcolor && textsize == 1 && !clip) + { + setWindow(xd, yd, xd + width - 1, yd + height - 1); + + // Maximum font size is equivalent to 180x180 pixels in area + while (w > 0) { + line = pgm_read_byte((uint8_t *)flash_address++); // 8 bytes smaller when incrementing here + if (line & 0x80) { + line &= 0x7F; + line++; w -= line; + pushBlock(textcolor,line); + } + else { + line++; w -= line; + pushBlock(textbgcolor,line); + } + } + } + else + { + int32_t px = 0, py = 0; // To hold character pixel coords + int32_t tx = 0, ty = 0; // To hold character TFT pixel coords + int32_t pc = 0; // Pixel count + int32_t pl = 0; // Pixel line length + uint16_t pcol = 0; // Pixel color + bool pf = true; // Flag for plotting + while (pc < w) { + line = pgm_read_byte((uint8_t *)flash_address); + flash_address++; + if (line & 0x80) { pcol = textcolor; line &= 0x7F; pf = true;} + else { pcol = textbgcolor; if (textcolor == textbgcolor) pf = false;} + line++; + px = pc % width; + tx = x + textsize * px; + py = pc / width; + ty = y + textsize * py; + + pl = 0; + pc += line; + while (line--) { + pl++; + if ((px+pl) >= width) { + if (pf) fillRect(tx, ty, pl * textsize, textsize, pcol); + pl = 0; + px = 0; + tx = x; + py ++; + ty += textsize; + } + } + if (pl && pf) fillRect(tx, ty, pl * textsize, textsize, pcol); + } + } + } + inTransaction = lockTransaction; + end_tft_write(); + } + // End of RLE font rendering +#endif + +#if !defined (LOAD_FONT2) && !defined (LOAD_RLE) + // Stop warnings + flash_address = flash_address; + w = w; + pX = pX; + pY = pY; + line = line; + clip = clip; +#endif + + return width * textsize; // x + +} + + +/*************************************************************************************** +** Function name: drawString (with or without user defined font) +** Description : draw string with padding if it is defined +***************************************************************************************/ +// Without font number, uses font set by setTextFont() +int16_t TFT_eSPI::drawString(const String& string, int32_t poX, int32_t poY) +{ + int16_t len = string.length() + 2; + char buffer[len]; + string.toCharArray(buffer, len); + return drawString(buffer, poX, poY, textfont); +} +// With font number +int16_t TFT_eSPI::drawString(const String& string, int32_t poX, int32_t poY, uint8_t font) +{ + int16_t len = string.length() + 2; + char buffer[len]; + string.toCharArray(buffer, len); + return drawString(buffer, poX, poY, font); +} + +// Without font number, uses font set by setTextFont() +int16_t TFT_eSPI::drawString(const char *string, int32_t poX, int32_t poY) +{ + return drawString(string, poX, poY, textfont); +} + +// With font number. Note: font number is over-ridden if a smooth font is loaded +int16_t TFT_eSPI::drawString(const char *string, int32_t poX, int32_t poY, uint8_t font) +{ + if (font > 8) return 0; + + int16_t sumX = 0; + uint8_t padding = 1, baseline = 0; + uint16_t cwidth = textWidth(string, font); // Find the pixel width of the string in the font + uint16_t cheight = 8 * textsize; + +#ifdef LOAD_GFXFF + #ifdef SMOOTH_FONT + bool freeFont = (font == 1 && gfxFont && !fontLoaded); + #else + bool freeFont = (font == 1 && gfxFont); + #endif + + if (freeFont) { + cheight = glyph_ab * textsize; + poY += cheight; // Adjust for baseline datum of free fonts + baseline = cheight; + padding =101; // Different padding method used for Free Fonts + + // We need to make an adjustment for the bottom of the string (eg 'y' character) + if ((textdatum == BL_DATUM) || (textdatum == BC_DATUM) || (textdatum == BR_DATUM)) { + cheight += glyph_bb * textsize; + } + } +#endif + + + // If it is not font 1 (GLCD or free font) get the baseline and pixel height of the font +#ifdef SMOOTH_FONT + if(fontLoaded) { + baseline = gFont.maxAscent; + cheight = fontHeight(); + } + else +#endif + if (font!=1) { + baseline = pgm_read_byte( &fontdata[font].baseline ) * textsize; + cheight = fontHeight(font); + } + + if (textdatum || padX) { + + switch(textdatum) { + case TC_DATUM: + poX -= cwidth/2; + padding += 1; + break; + case TR_DATUM: + poX -= cwidth; + padding += 2; + break; + case ML_DATUM: + poY -= cheight/2; + //padding += 0; + break; + case MC_DATUM: + poX -= cwidth/2; + poY -= cheight/2; + padding += 1; + break; + case MR_DATUM: + poX -= cwidth; + poY -= cheight/2; + padding += 2; + break; + case BL_DATUM: + poY -= cheight; + //padding += 0; + break; + case BC_DATUM: + poX -= cwidth/2; + poY -= cheight; + padding += 1; + break; + case BR_DATUM: + poX -= cwidth; + poY -= cheight; + padding += 2; + break; + case L_BASELINE: + poY -= baseline; + //padding += 0; + break; + case C_BASELINE: + poX -= cwidth/2; + poY -= baseline; + padding += 1; + break; + case R_BASELINE: + poX -= cwidth; + poY -= baseline; + padding += 2; + break; + } + } + + + int8_t xo = 0; +#ifdef LOAD_GFXFF + if (freeFont && (textcolor!=textbgcolor)) { + cheight = (glyph_ab + glyph_bb) * textsize; + // Get the offset for the first character only to allow for negative offsets + uint16_t c2 = 0; + uint16_t len = strlen(string); + uint16_t n = 0; + + while (n < len && c2 == 0) c2 = decodeUTF8((uint8_t*)string, &n, len - n); + + if((c2 >= pgm_read_word(&gfxFont->first)) && (c2 <= pgm_read_word(&gfxFont->last) )) { + c2 -= pgm_read_word(&gfxFont->first); + GFXglyph *glyph = &(((GFXglyph *)pgm_read_dword(&gfxFont->glyph))[c2]); + xo = pgm_read_byte(&glyph->xOffset) * textsize; + // Adjust for negative xOffset + if (xo > 0) xo = 0; + else cwidth -= xo; + // Add 1 pixel of padding all round + //cheight +=2; + //fillRect(poX+xo-1, poY - 1 - glyph_ab * textsize, cwidth+2, cheight, textbgcolor); + fillRect(poX+xo, poY - glyph_ab * textsize, cwidth, cheight, textbgcolor); + } + padding -=100; + } +#endif + + uint16_t len = strlen(string); + uint16_t n = 0; + +#ifdef SMOOTH_FONT + if(fontLoaded) { + setCursor(poX, poY); + + bool fillbg = _fillbg; + // If padding is requested then fill the text background + if (padX && !_fillbg) _fillbg = true; + + while (n < len) { + uint16_t uniCode = decodeUTF8((uint8_t*)string, &n, len - n); + drawGlyph(uniCode); + } + _fillbg = fillbg; // restore state + sumX += cwidth; + //fontFile.close(); + } + else +#endif + { + while (n < len) { + uint16_t uniCode = decodeUTF8((uint8_t*)string, &n, len - n); + sumX += drawChar(uniCode, poX+sumX, poY, font); + } + } + +//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv +// Switch on debugging for the padding areas +//#define PADDING_DEBUG + +#ifndef PADDING_DEBUG +//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ DEBUG ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + if((padX>cwidth) && (textcolor!=textbgcolor)) { + int16_t padXc = poX+cwidth+xo; +#ifdef LOAD_GFXFF + if (freeFont) { + poX +=xo; // Adjust for negative offset start character + poY -= glyph_ab * textsize; + sumX += poX; + } +#endif + switch(padding) { + case 1: + fillRect(padXc,poY,padX-cwidth,cheight, textbgcolor); + break; + case 2: + fillRect(padXc,poY,(padX-cwidth)>>1,cheight, textbgcolor); + padXc = poX - ((padX-cwidth)>>1); + fillRect(padXc,poY,(padX-cwidth)>>1,cheight, textbgcolor); + break; + case 3: + if (padXc>padX) padXc = padX; + fillRect(poX + cwidth - padXc,poY,padXc-cwidth,cheight, textbgcolor); + break; + } + } + + +#else + +//vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv DEBUG vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv +// This is debug code to show text (green box) and blanked (white box) areas +// It shows that the padding areas are being correctly sized and positioned + + if((padX>sumX) && (textcolor!=textbgcolor)) { + int16_t padXc = poX+sumX; // Maximum left side padding +#ifdef LOAD_GFXFF + if ((font == 1) && (gfxFont)) poY -= glyph_ab; +#endif + drawRect(poX,poY,sumX,cheight, TFT_GREEN); + switch(padding) { + case 1: + drawRect(padXc,poY,padX-sumX,cheight, TFT_WHITE); + break; + case 2: + drawRect(padXc,poY,(padX-sumX)>>1, cheight, TFT_WHITE); + padXc = (padX-sumX)>>1; + drawRect(poX - padXc,poY,(padX-sumX)>>1,cheight, TFT_WHITE); + break; + case 3: + if (padXc>padX) padXc = padX; + drawRect(poX + sumX - padXc,poY,padXc-sumX,cheight, TFT_WHITE); + break; + } + } +#endif +//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ DEBUG ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +return sumX; +} + + +/*************************************************************************************** +** Function name: drawCentreString (deprecated, use setTextDatum()) +** Descriptions: draw string centred on dX +***************************************************************************************/ +int16_t TFT_eSPI::drawCentreString(const String& string, int32_t dX, int32_t poY, uint8_t font) +{ + int16_t len = string.length() + 2; + char buffer[len]; + string.toCharArray(buffer, len); + return drawCentreString(buffer, dX, poY, font); +} + +int16_t TFT_eSPI::drawCentreString(const char *string, int32_t dX, int32_t poY, uint8_t font) +{ + uint8_t tempdatum = textdatum; + int32_t sumX = 0; + textdatum = TC_DATUM; + sumX = drawString(string, dX, poY, font); + textdatum = tempdatum; + return sumX; +} + + +/*************************************************************************************** +** Function name: drawRightString (deprecated, use setTextDatum()) +** Descriptions: draw string right justified to dX +***************************************************************************************/ +int16_t TFT_eSPI::drawRightString(const String& string, int32_t dX, int32_t poY, uint8_t font) +{ + int16_t len = string.length() + 2; + char buffer[len]; + string.toCharArray(buffer, len); + return drawRightString(buffer, dX, poY, font); +} + +int16_t TFT_eSPI::drawRightString(const char *string, int32_t dX, int32_t poY, uint8_t font) +{ + uint8_t tempdatum = textdatum; + int16_t sumX = 0; + textdatum = TR_DATUM; + sumX = drawString(string, dX, poY, font); + textdatum = tempdatum; + return sumX; +} + + +/*************************************************************************************** +** Function name: drawNumber +** Description: draw a long integer +***************************************************************************************/ +int16_t TFT_eSPI::drawNumber(long long_num, int32_t poX, int32_t poY) +{ + isDigits = true; // Eliminate jiggle in monospaced fonts + char str[12]; + ltoa(long_num, str, 10); + return drawString(str, poX, poY, textfont); +} + +int16_t TFT_eSPI::drawNumber(long long_num, int32_t poX, int32_t poY, uint8_t font) +{ + isDigits = true; // Eliminate jiggle in monospaced fonts + char str[12]; + ltoa(long_num, str, 10); + return drawString(str, poX, poY, font); +} + + +/*************************************************************************************** +** Function name: drawFloat +** Descriptions: drawFloat, prints 7 non zero digits maximum +***************************************************************************************/ +// Assemble and print a string, this permits alignment relative to a datum +// looks complicated but much more compact and actually faster than using print class +int16_t TFT_eSPI::drawFloat(float floatNumber, uint8_t dp, int32_t poX, int32_t poY) +{ + return drawFloat(floatNumber, dp, poX, poY, textfont); +} + +int16_t TFT_eSPI::drawFloat(float floatNumber, uint8_t dp, int32_t poX, int32_t poY, uint8_t font) +{ + isDigits = true; + char str[14]; // Array to contain decimal string + uint8_t ptr = 0; // Initialise pointer for array + int8_t digits = 1; // Count the digits to avoid array overflow + float rounding = 0.5; // Round up down delta + bool negative = false; + + if (dp > 7) dp = 7; // Limit the size of decimal portion + + // Adjust the rounding value + for (uint8_t i = 0; i < dp; ++i) rounding /= 10.0; + + if (floatNumber < -rounding) { // add sign, avoid adding - sign to 0.0! + str[ptr++] = '-'; // Negative number + str[ptr] = 0; // Put a null in the array as a precaution + digits = 0; // Set digits to 0 to compensate so pointer value can be used later + floatNumber = -floatNumber; // Make positive + negative = true; + } + + floatNumber += rounding; // Round up or down + + if (dp == 0) { + if (negative) floatNumber = -floatNumber; + return drawNumber((long)floatNumber, poX, poY, font); + } + + // For error put ... in string and return (all TFT_eSPI library fonts contain . character) + if (floatNumber >= 2147483647) { + strcpy(str, "..."); + return drawString(str, poX, poY, font); + } + // No chance of overflow from here on + + // Get integer part + uint32_t temp = (uint32_t)floatNumber; + + // Put integer part into array + ltoa(temp, str + ptr, 10); + + // Find out where the null is to get the digit count loaded + while ((uint8_t)str[ptr] != 0) ptr++; // Move the pointer along + digits += ptr; // Count the digits + + str[ptr++] = '.'; // Add decimal point + str[ptr] = '0'; // Add a dummy zero + str[ptr + 1] = 0; // Add a null but don't increment pointer so it can be overwritten + + // Get the decimal portion + floatNumber = floatNumber - temp; + + // Get decimal digits one by one and put in array + // Limit digit count so we don't get a false sense of resolution + uint8_t i = 0; + while ((i < dp) && (digits < 9)) { // while (i < dp) for no limit but array size must be increased + i++; + floatNumber *= 10; // for the next decimal + temp = floatNumber; // get the decimal + ltoa(temp, str + ptr, 10); + ptr++; digits++; // Increment pointer and digits count + floatNumber -= temp; // Remove that digit + } + + // Finally we can plot the string and return pixel length + return drawString(str, poX, poY, font); +} + + +/*************************************************************************************** +** Function name: setFreeFont +** Descriptions: Sets the GFX free font to use +***************************************************************************************/ + +#ifdef LOAD_GFXFF + +void TFT_eSPI::setFreeFont(const GFXfont *f) +{ + if (f == nullptr) { // Fix issue #400 (ESP32 crash) + setTextFont(1); // Use GLCD font + return; + } + + textfont = 1; + gfxFont = (GFXfont *)f; + + glyph_ab = 0; + glyph_bb = 0; + uint16_t numChars = pgm_read_word(&gfxFont->last) - pgm_read_word(&gfxFont->first); + + // Find the biggest above and below baseline offsets + for (uint16_t c = 0; c < numChars; c++) { + GFXglyph *glyph1 = &(((GFXglyph *)pgm_read_dword(&gfxFont->glyph))[c]); + int8_t ab = -pgm_read_byte(&glyph1->yOffset); + if (ab > glyph_ab) glyph_ab = ab; + int8_t bb = pgm_read_byte(&glyph1->height) - ab; + if (bb > glyph_bb) glyph_bb = bb; + } +} + + +/*************************************************************************************** +** Function name: setTextFont +** Description: Set the font for the print stream +***************************************************************************************/ +void TFT_eSPI::setTextFont(uint8_t f) +{ + textfont = (f > 0) ? f : 1; // Don't allow font 0 + textfont = (f > 8) ? 1 : f; // Don't allow font > 8 + gfxFont = NULL; +} + +#else + + +/*************************************************************************************** +** Function name: setFreeFont +** Descriptions: Sets the GFX free font to use +***************************************************************************************/ + +// Alternative to setTextFont() so we don't need two different named functions +void TFT_eSPI::setFreeFont(uint8_t font) +{ + setTextFont(font); +} + + +/*************************************************************************************** +** Function name: setTextFont +** Description: Set the font for the print stream +***************************************************************************************/ +void TFT_eSPI::setTextFont(uint8_t f) +{ + textfont = (f > 0) ? f : 1; // Don't allow font 0 + textfont = (f > 8) ? 1 : f; // Don't allow font > 8 +} +#endif + + +/*************************************************************************************** +** Function name: getSPIinstance +** Description: Get the instance of the SPI class +***************************************************************************************/ +#if !defined (TFT_PARALLEL_8_BIT) && !defined (RP2040_PIO_INTERFACE) +SPIClass& TFT_eSPI::getSPIinstance(void) +{ + return spi; +} +#endif + + +/*************************************************************************************** +** Function name: verifySetupID +** Description: Compare the ID if USER_SETUP_ID defined in user setup file +***************************************************************************************/ +bool TFT_eSPI::verifySetupID(uint32_t id) +{ +#if defined (USER_SETUP_ID) + if (USER_SETUP_ID == id) return true; +#else + id = id; // Avoid warning +#endif + return false; +} + +/*************************************************************************************** +** Function name: getSetup +** Description: Get the setup details for diagnostic and sketch access +***************************************************************************************/ +void TFT_eSPI::getSetup(setup_t &tft_settings) +{ +// tft_settings.version is set in header file + +#if defined (USER_SETUP_INFO) + tft_settings.setup_info = USER_SETUP_INFO; +#else + tft_settings.setup_info = "NA"; +#endif + +#if defined (USER_SETUP_ID) + tft_settings.setup_id = USER_SETUP_ID; +#else + tft_settings.setup_id = 0; +#endif + +#if defined (PROCESSOR_ID) + tft_settings.esp = PROCESSOR_ID; +#else + tft_settings.esp = -1; +#endif + +#if defined (SUPPORT_TRANSACTIONS) + tft_settings.trans = true; +#else + tft_settings.trans = false; +#endif + +#if defined (TFT_PARALLEL_8_BIT) || defined(TFT_PARALLEL_16_BIT) + tft_settings.serial = false; + tft_settings.tft_spi_freq = 0; +#else + tft_settings.serial = true; + tft_settings.tft_spi_freq = SPI_FREQUENCY/100000; + #ifdef SPI_READ_FREQUENCY + tft_settings.tft_rd_freq = SPI_READ_FREQUENCY/100000; + #endif + #ifndef GENERIC_PROCESSOR + #ifdef TFT_SPI_PORT + tft_settings.port = TFT_SPI_PORT; + #else + tft_settings.port = 255; + #endif + #endif + #ifdef RP2040_PIO_SPI + tft_settings.interface = 0x10; + #else + tft_settings.interface = 0x0; + #endif +#endif + +#if defined(TFT_SPI_OVERLAP) + tft_settings.overlap = true; +#else + tft_settings.overlap = false; +#endif + + tft_settings.tft_driver = TFT_DRIVER; + tft_settings.tft_width = _init_width; + tft_settings.tft_height = _init_height; + +#ifdef CGRAM_OFFSET + tft_settings.r0_x_offset = colstart; + tft_settings.r0_y_offset = rowstart; + tft_settings.r1_x_offset = 0; + tft_settings.r1_y_offset = 0; + tft_settings.r2_x_offset = 0; + tft_settings.r2_y_offset = 0; + tft_settings.r3_x_offset = 0; + tft_settings.r3_y_offset = 0; +#else + tft_settings.r0_x_offset = 0; + tft_settings.r0_y_offset = 0; + tft_settings.r1_x_offset = 0; + tft_settings.r1_y_offset = 0; + tft_settings.r2_x_offset = 0; + tft_settings.r2_y_offset = 0; + tft_settings.r3_x_offset = 0; + tft_settings.r3_y_offset = 0; +#endif + +#if defined (TFT_MOSI) + tft_settings.pin_tft_mosi = TFT_MOSI; +#else + tft_settings.pin_tft_mosi = -1; +#endif + +#if defined (TFT_MISO) + tft_settings.pin_tft_miso = TFT_MISO; +#else + tft_settings.pin_tft_miso = -1; +#endif + +#if defined (TFT_SCLK) + tft_settings.pin_tft_clk = TFT_SCLK; +#else + tft_settings.pin_tft_clk = -1; +#endif + +#if defined (TFT_CS) + tft_settings.pin_tft_cs = TFT_CS; +#else + tft_settings.pin_tft_cs = -1; +#endif + +#if defined (TFT_DC) + tft_settings.pin_tft_dc = TFT_DC; +#else + tft_settings.pin_tft_dc = -1; +#endif + +#if defined (TFT_RD) + tft_settings.pin_tft_rd = TFT_RD; +#else + tft_settings.pin_tft_rd = -1; +#endif + +#if defined (TFT_WR) + tft_settings.pin_tft_wr = TFT_WR; +#else + tft_settings.pin_tft_wr = -1; +#endif + +#if defined (TFT_RST) + tft_settings.pin_tft_rst = TFT_RST; +#else + tft_settings.pin_tft_rst = -1; +#endif + +#if defined (TFT_PARALLEL_8_BIT) || defined(TFT_PARALLEL_16_BIT) + tft_settings.pin_tft_d0 = TFT_D0; + tft_settings.pin_tft_d1 = TFT_D1; + tft_settings.pin_tft_d2 = TFT_D2; + tft_settings.pin_tft_d3 = TFT_D3; + tft_settings.pin_tft_d4 = TFT_D4; + tft_settings.pin_tft_d5 = TFT_D5; + tft_settings.pin_tft_d6 = TFT_D6; + tft_settings.pin_tft_d7 = TFT_D7; +#else + tft_settings.pin_tft_d0 = -1; + tft_settings.pin_tft_d1 = -1; + tft_settings.pin_tft_d2 = -1; + tft_settings.pin_tft_d3 = -1; + tft_settings.pin_tft_d4 = -1; + tft_settings.pin_tft_d5 = -1; + tft_settings.pin_tft_d6 = -1; + tft_settings.pin_tft_d7 = -1; +#endif + +#if defined (TFT_BL) + tft_settings.pin_tft_led = TFT_BL; +#endif + +#if defined (TFT_BACKLIGHT_ON) + tft_settings.pin_tft_led_on = TFT_BACKLIGHT_ON; +#endif + +#if defined (TOUCH_CS) + tft_settings.pin_tch_cs = TOUCH_CS; + tft_settings.tch_spi_freq = SPI_TOUCH_FREQUENCY/100000; +#else + tft_settings.pin_tch_cs = -1; + tft_settings.tch_spi_freq = 0; +#endif +} + + +//////////////////////////////////////////////////////////////////////////////////////// +#ifdef TOUCH_CS + #include "Extensions/Touch.cpp" +#endif + +#include "Extensions/Button.cpp" + +#include "Extensions/Sprite.cpp" + +#ifdef SMOOTH_FONT + #include "Extensions/Smooth_font.cpp" +#endif + +#ifdef AA_GRAPHICS + #include "Extensions/AA_graphics.cpp" // Loaded if SMOOTH_FONT is defined by user +#endif +//////////////////////////////////////////////////////////////////////////////////////// + diff --git a/rogue-radar/libraries/TFT_eSPI/TFT_eSPI.h b/rogue-radar/libraries/TFT_eSPI/TFT_eSPI.h new file mode 100644 index 0000000..fca472a --- /dev/null +++ b/rogue-radar/libraries/TFT_eSPI/TFT_eSPI.h @@ -0,0 +1,1013 @@ +/*************************************************** + Arduino TFT graphics library targeted at ESP8266 + and ESP32 based boards. + + This is a stand-alone library that contains the + hardware driver, the graphics functions and the + proportional fonts. + + The built-in fonts 4, 6, 7 and 8 are Run Length + Encoded (RLE) to reduce the FLASH footprint. + + Last review/edit by Bodmer: 04/02/22 + ****************************************************/ + +// Stop fonts etc. being loaded multiple times +#ifndef _TFT_eSPIH_ +#define _TFT_eSPIH_ + +#define TFT_ESPI_VERSION "2.5.43" + +// Bit level feature flags +// Bit 0 set: viewport capability +#define TFT_ESPI_FEATURES 1 + +/*************************************************************************************** +** Section 1: Load required header files +***************************************************************************************/ + +//Standard support +#include +#include +#if !defined (TFT_PARALLEL_8_BIT) && !defined (RP2040_PIO_INTERFACE) + #include +#endif +/*************************************************************************************** +** Section 2: Load library and processor specific header files +***************************************************************************************/ +// Include header file that defines the fonts loaded, the TFT drivers +// available and the pins to be used, etc. etc. +#ifdef CONFIG_TFT_eSPI_ESPIDF + #include "TFT_config.h" +#endif + +// New ESP8266 board package uses ARDUINO_ARCH_ESP8266 +// old package defined ESP8266 +#if defined (ESP8266) + #ifndef ARDUINO_ARCH_ESP8266 + #define ARDUINO_ARCH_ESP8266 + #endif +#endif + +// The following lines allow the user setup to be included in the sketch folder, see +// "Sketch_with_tft_setup" generic example. +#if !defined __has_include + #if !defined(DISABLE_ALL_LIBRARY_WARNINGS) + #warning Compiler does not support __has_include, so sketches cannot define the setup + #endif +#else + #if __has_include() + // Include the sketch setup file + #include + #ifndef USER_SETUP_LOADED + // Prevent loading further setups + #define USER_SETUP_LOADED + #endif + #endif +#endif + +#include + +// Handle FLASH based storage e.g. PROGMEM +#if defined(ARDUINO_ARCH_RP2040) + #undef pgm_read_byte + #define pgm_read_byte(addr) (*(const unsigned char *)(addr)) + #undef pgm_read_word + #define pgm_read_word(addr) ({ \ + typeof(addr) _addr = (addr); \ + *(const unsigned short *)(_addr); \ + }) + #undef pgm_read_dword + #define pgm_read_dword(addr) ({ \ + typeof(addr) _addr = (addr); \ + *(const unsigned long *)(_addr); \ + }) +#elif defined(__AVR__) + #include +#elif defined(ARDUINO_ARCH_ESP8266) || defined(ESP32) + #include +#else + #ifndef PROGMEM + #define PROGMEM + #endif +#endif + +// Include the processor specific drivers +#if defined(CONFIG_IDF_TARGET_ESP32S3) + #include "Processors/TFT_eSPI_ESP32_S3.h" +#elif defined(CONFIG_IDF_TARGET_ESP32C3) + #include "Processors/TFT_eSPI_ESP32_C3.h" +#elif defined(CONFIG_IDF_TARGET_ESP32C5) + #include "Processors/TFT_eSPI_ESP32_C5.h" +#elif defined (ESP32) + #include "Processors/TFT_eSPI_ESP32.h" +#elif defined (ARDUINO_ARCH_ESP8266) + #include "Processors/TFT_eSPI_ESP8266.h" +#elif defined (STM32) + #include "Processors/TFT_eSPI_STM32.h" +#elif defined(ARDUINO_ARCH_RP2040) + #include "Processors/TFT_eSPI_RP2040.h" +#else + #include "Processors/TFT_eSPI_Generic.h" + #define GENERIC_PROCESSOR +#endif + +/*************************************************************************************** +** Section 3: Interface setup +***************************************************************************************/ +#ifndef TAB_COLOUR + #define TAB_COLOUR 0 +#endif + +// If the SPI frequency is not defined, set a default +#ifndef SPI_FREQUENCY + #define SPI_FREQUENCY 20000000 +#endif + +// If the SPI read frequency is not defined, set a default +#ifndef SPI_READ_FREQUENCY + #define SPI_READ_FREQUENCY 10000000 +#endif + +// Some ST7789 boards do not work with Mode 0 +#ifndef TFT_SPI_MODE + #if defined(ST7789_DRIVER) || defined(ST7789_2_DRIVER) + #define TFT_SPI_MODE SPI_MODE3 + #else + #define TFT_SPI_MODE SPI_MODE0 + #endif +#endif + +// If the XPT2046 SPI frequency is not defined, set a default +#ifndef SPI_TOUCH_FREQUENCY + #define SPI_TOUCH_FREQUENCY 2500000 +#endif + +#ifndef SPI_BUSY_CHECK + #define SPI_BUSY_CHECK +#endif + +// If half duplex SDA mode is defined then MISO pin should be -1 +#ifdef TFT_SDA_READ + #ifdef TFT_MISO + #if TFT_MISO != -1 + #undef TFT_MISO + #define TFT_MISO -1 + #warning TFT_MISO set to -1 + #endif + #endif +#endif + +/*************************************************************************************** +** Section 4: Setup fonts +***************************************************************************************/ +// Use GLCD font in error case where user requests a smooth font file +// that does not exist (this is a temporary fix to stop ESP32 reboot) +#ifdef SMOOTH_FONT + #ifndef LOAD_GLCD + #define LOAD_GLCD + #endif +#endif + +// Only load the fonts defined in User_Setup.h (to save space) +// Set flag so RLE rendering code is optionally compiled +#ifdef LOAD_GLCD + #include +#endif + +#ifdef LOAD_FONT2 + #include +#endif + +#ifdef LOAD_FONT4 + #include + #define LOAD_RLE +#endif + +#ifdef LOAD_FONT6 + #include + #ifndef LOAD_RLE + #define LOAD_RLE + #endif +#endif + +#ifdef LOAD_FONT7 + #include + #ifndef LOAD_RLE + #define LOAD_RLE + #endif +#endif + +#ifdef LOAD_FONT8 + #include + #ifndef LOAD_RLE + #define LOAD_RLE + #endif +#elif defined LOAD_FONT8N // Optional narrower version + #define LOAD_FONT8 + #include + #ifndef LOAD_RLE + #define LOAD_RLE + #endif +#endif + +#ifdef LOAD_GFXFF + // We can include all the free fonts and they will only be built into + // the sketch if they are used + #include + // Call up any user custom fonts + #include +#endif // #ifdef LOAD_GFXFF + +// Create a null default font in case some fonts not used (to prevent crash) +const uint8_t widtbl_null[1] = {0}; +PROGMEM const uint8_t chr_null[1] = {0}; +PROGMEM const uint8_t* const chrtbl_null[1] = {chr_null}; + +// This is a structure to conveniently hold information on the default fonts +// Stores pointer to font character image address table, width table and height +typedef struct { + const uint8_t *chartbl; + const uint8_t *widthtbl; + uint8_t height; + uint8_t baseline; + } fontinfo; + +// Now fill the structure +const PROGMEM fontinfo fontdata [] = { + #ifdef LOAD_GLCD + { (const uint8_t *)font, widtbl_null, 0, 0 }, + #else + { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 }, + #endif + // GLCD font (Font 1) does not have all parameters + { (const uint8_t *)chrtbl_null, widtbl_null, 8, 7 }, + + #ifdef LOAD_FONT2 + { (const uint8_t *)chrtbl_f16, widtbl_f16, chr_hgt_f16, baseline_f16}, + #else + { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 }, + #endif + + // Font 3 current unused + { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 }, + + #ifdef LOAD_FONT4 + { (const uint8_t *)chrtbl_f32, widtbl_f32, chr_hgt_f32, baseline_f32}, + #else + { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 }, + #endif + + // Font 5 current unused + { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 }, + + #ifdef LOAD_FONT6 + { (const uint8_t *)chrtbl_f64, widtbl_f64, chr_hgt_f64, baseline_f64}, + #else + { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 }, + #endif + + #ifdef LOAD_FONT7 + { (const uint8_t *)chrtbl_f7s, widtbl_f7s, chr_hgt_f7s, baseline_f7s}, + #else + { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 }, + #endif + + #ifdef LOAD_FONT8 + { (const uint8_t *)chrtbl_f72, widtbl_f72, chr_hgt_f72, baseline_f72} + #else + { (const uint8_t *)chrtbl_null, widtbl_null, 0, 0 } + #endif +}; + +/*************************************************************************************** +** Section 5: Font datum enumeration +***************************************************************************************/ +//These enumerate the text plotting alignment (reference datum point) +#define TL_DATUM 0 // Top left (default) +#define TC_DATUM 1 // Top centre +#define TR_DATUM 2 // Top right +#define ML_DATUM 3 // Middle left +#define CL_DATUM 3 // Centre left, same as above +#define MC_DATUM 4 // Middle centre +#define CC_DATUM 4 // Centre centre, same as above +#define MR_DATUM 5 // Middle right +#define CR_DATUM 5 // Centre right, same as above +#define BL_DATUM 6 // Bottom left +#define BC_DATUM 7 // Bottom centre +#define BR_DATUM 8 // Bottom right +#define L_BASELINE 9 // Left character baseline (Line the 'A' character would sit on) +#define C_BASELINE 10 // Centre character baseline +#define R_BASELINE 11 // Right character baseline + +/*************************************************************************************** +** Section 6: Colour enumeration +***************************************************************************************/ +// Default color definitions +#define TFT_BLACK 0x0000 /* 0, 0, 0 */ +#define TFT_NAVY 0x000F /* 0, 0, 128 */ +#define TFT_DARKGREEN 0x03E0 /* 0, 128, 0 */ +#define TFT_DARKCYAN 0x03EF /* 0, 128, 128 */ +#define TFT_MAROON 0x7800 /* 128, 0, 0 */ +#define TFT_PURPLE 0x780F /* 128, 0, 128 */ +#define TFT_OLIVE 0x7BE0 /* 128, 128, 0 */ +#define TFT_LIGHTGREY 0xD69A /* 211, 211, 211 */ +#define TFT_DARKGREY 0x7BEF /* 128, 128, 128 */ +#define TFT_BLUE 0x001F /* 0, 0, 255 */ +#define TFT_GREEN 0x07E0 /* 0, 255, 0 */ +#define TFT_CYAN 0x07FF /* 0, 255, 255 */ +#define TFT_RED 0xF800 /* 255, 0, 0 */ +#define TFT_MAGENTA 0xF81F /* 255, 0, 255 */ +#define TFT_YELLOW 0xFFE0 /* 255, 255, 0 */ +#define TFT_WHITE 0xFFFF /* 255, 255, 255 */ +#define TFT_ORANGE 0xFDA0 /* 255, 180, 0 */ +#define TFT_GREENYELLOW 0xB7E0 /* 180, 255, 0 */ +#define TFT_PINK 0xFE19 /* 255, 192, 203 */ //Lighter pink, was 0xFC9F +#define TFT_BROWN 0x9A60 /* 150, 75, 0 */ +#define TFT_GOLD 0xFEA0 /* 255, 215, 0 */ +#define TFT_SILVER 0xC618 /* 192, 192, 192 */ +#define TFT_SKYBLUE 0x867D /* 135, 206, 235 */ +#define TFT_VIOLET 0x915C /* 180, 46, 226 */ + +// Next is a special 16-bit colour value that encodes to 8 bits +// and will then decode back to the same 16-bit value. +// Convenient for 8-bit and 16-bit transparent sprites. +#define TFT_TRANSPARENT 0x0120 // This is actually a dark green + +// Default palette for 4-bit colour sprites +static const uint16_t default_4bit_palette[] PROGMEM = { + TFT_BLACK, // 0 ^ + TFT_BROWN, // 1 | + TFT_RED, // 2 | + TFT_ORANGE, // 3 | + TFT_YELLOW, // 4 Colours 0-9 follow the resistor colour code! + TFT_GREEN, // 5 | + TFT_BLUE, // 6 | + TFT_PURPLE, // 7 | + TFT_DARKGREY, // 8 | + TFT_WHITE, // 9 v + TFT_CYAN, // 10 Blue+green mix + TFT_MAGENTA, // 11 Blue+red mix + TFT_MAROON, // 12 Darker red colour + TFT_DARKGREEN,// 13 Darker green colour + TFT_NAVY, // 14 Darker blue colour + TFT_PINK // 15 +}; + +/*************************************************************************************** +** Section 7: Diagnostic support +***************************************************************************************/ +// #define TFT_eSPI_DEBUG // Switch on debug support serial messages (not used yet) +// #define TFT_eSPI_FNx_DEBUG // Switch on debug support for function "x" (not used yet) + +// This structure allows sketches to retrieve the user setup parameters at runtime +// by calling getSetup(), zero impact on code size unless used, mainly for diagnostics +typedef struct +{ +String version = TFT_ESPI_VERSION; +String setup_info; // Setup reference name available to use in a user setup +uint32_t setup_id; // ID available to use in a user setup +int32_t esp; // Processor code +uint8_t trans; // SPI transaction support +uint8_t serial; // Serial (SPI) or parallel +#ifndef GENERIC_PROCESSOR +uint8_t port; // SPI port +#endif +uint8_t overlap; // ESP8266 overlap mode +uint8_t interface; // Interface type + +uint16_t tft_driver; // Hexadecimal code +uint16_t tft_width; // Rotation 0 width and height +uint16_t tft_height; + +uint8_t r0_x_offset; // Display offsets, not all used yet +uint8_t r0_y_offset; +uint8_t r1_x_offset; +uint8_t r1_y_offset; +uint8_t r2_x_offset; +uint8_t r2_y_offset; +uint8_t r3_x_offset; +uint8_t r3_y_offset; + +int8_t pin_tft_mosi; // SPI pins +int8_t pin_tft_miso; +int8_t pin_tft_clk; +int8_t pin_tft_cs; + +int8_t pin_tft_dc; // Control pins +int8_t pin_tft_rd; +int8_t pin_tft_wr; +int8_t pin_tft_rst; + +int8_t pin_tft_d0; // Parallel port pins +int8_t pin_tft_d1; +int8_t pin_tft_d2; +int8_t pin_tft_d3; +int8_t pin_tft_d4; +int8_t pin_tft_d5; +int8_t pin_tft_d6; +int8_t pin_tft_d7; + +int8_t pin_tft_led; +int8_t pin_tft_led_on; + +int8_t pin_tch_cs; // Touch chip select pin + +int16_t tft_spi_freq;// TFT write SPI frequency +int16_t tft_rd_freq; // TFT read SPI frequency +int16_t tch_spi_freq;// Touch controller read/write SPI frequency +} setup_t; + +/*************************************************************************************** +** Section 8: Class member and support functions +***************************************************************************************/ + +// Callback prototype for smooth font pixel colour read +typedef uint16_t (*getColorCallback)(uint16_t x, uint16_t y); + +// Class functions and variables +class TFT_eSPI : public Print { friend class TFT_eSprite; // Sprite class has access to protected members + + //--------------------------------------- public ------------------------------------// + public: + + TFT_eSPI(int16_t _W = TFT_WIDTH, int16_t _H = TFT_HEIGHT); + + // init() and begin() are equivalent, begin() included for backwards compatibility + // Sketch defined tab colour option is for ST7735 displays only + void init(uint8_t tc = TAB_COLOUR), begin(uint8_t tc = TAB_COLOUR); + + // These are virtual so the TFT_eSprite class can override them with sprite specific functions + virtual void drawPixel(int32_t x, int32_t y, uint32_t color), + drawChar(int32_t x, int32_t y, uint16_t c, uint32_t color, uint32_t bg, uint8_t size), + drawLine(int32_t xs, int32_t ys, int32_t xe, int32_t ye, uint32_t color), + drawFastVLine(int32_t x, int32_t y, int32_t h, uint32_t color), + drawFastHLine(int32_t x, int32_t y, int32_t w, uint32_t color), + fillRect(int32_t x, int32_t y, int32_t w, int32_t h, uint32_t color); + + virtual int16_t drawChar(uint16_t uniCode, int32_t x, int32_t y, uint8_t font), + drawChar(uint16_t uniCode, int32_t x, int32_t y), + height(void), + width(void); + + // Read the colour of a pixel at x,y and return value in 565 format + virtual uint16_t readPixel(int32_t x, int32_t y); + + virtual void setWindow(int32_t xs, int32_t ys, int32_t xe, int32_t ye); // Note: start + end coordinates + + // Push (aka write pixel) colours to the set window + virtual void pushColor(uint16_t color); + + // These are non-inlined to enable override + virtual void begin_nin_write(); + virtual void end_nin_write(); + + void setRotation(uint8_t r); // Set the display image orientation to 0, 1, 2 or 3 + uint8_t getRotation(void); // Read the current rotation + + // Change the origin position from the default top left + // Note: setRotation, setViewport and resetViewport will revert origin to top left corner of screen/sprite + void setOrigin(int32_t x, int32_t y); + int32_t getOriginX(void); + int32_t getOriginY(void); + + void invertDisplay(bool i); // Tell TFT to invert all displayed colours + + + // The TFT_eSprite class inherits the following functions (not all are useful to Sprite class + void setAddrWindow(int32_t xs, int32_t ys, int32_t w, int32_t h); // Note: start coordinates + width and height + + // Viewport commands, see "Viewport_Demo" sketch + void setViewport(int32_t x, int32_t y, int32_t w, int32_t h, bool vpDatum = true); + bool checkViewport(int32_t x, int32_t y, int32_t w, int32_t h); + int32_t getViewportX(void); + int32_t getViewportY(void); + int32_t getViewportWidth(void); + int32_t getViewportHeight(void); + bool getViewportDatum(void); + void frameViewport(uint16_t color, int32_t w); + void resetViewport(void); + + // Clip input window to viewport bounds, return false if whole area is out of bounds + bool clipAddrWindow(int32_t* x, int32_t* y, int32_t* w, int32_t* h); + // Clip input window area to viewport bounds, return false if whole area is out of bounds + bool clipWindow(int32_t* xs, int32_t* ys, int32_t* xe, int32_t* ye); + + // Push (aka write pixel) colours to the TFT (use setAddrWindow() first) + void pushColor(uint16_t color, uint32_t len), // Deprecated, use pushBlock() + pushColors(uint16_t *data, uint32_t len, bool swap = true), // With byte swap option + pushColors(uint8_t *data, uint32_t len); // Deprecated, use pushPixels() + + // Write a solid block of a single colour + void pushBlock(uint16_t color, uint32_t len); + + // Write a set of pixels stored in memory, use setSwapBytes(true/false) function to correct endianess + void pushPixels(const void * data_in, uint32_t len); + + // Support for half duplex (bi-directional SDA) SPI bus where MOSI must be switched to input + #ifdef TFT_SDA_READ + #if defined (TFT_eSPI_ENABLE_8_BIT_READ) + uint8_t tft_Read_8(void); // Read 8-bit value from TFT command register + #endif + void begin_SDA_Read(void); // Begin a read on a half duplex (bi-directional SDA) SPI bus - sets MOSI to input + void end_SDA_Read(void); // Restore MOSI to output + #endif + + + // Graphics drawing + void fillScreen(uint32_t color), + drawRect(int32_t x, int32_t y, int32_t w, int32_t h, uint32_t color), + drawRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t radius, uint32_t color), + fillRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t radius, uint32_t color); + + void fillRectVGradient(int16_t x, int16_t y, int16_t w, int16_t h, uint32_t color1, uint32_t color2); + void fillRectHGradient(int16_t x, int16_t y, int16_t w, int16_t h, uint32_t color1, uint32_t color2); + + void drawCircle(int32_t x, int32_t y, int32_t r, uint32_t color), + drawCircleHelper(int32_t x, int32_t y, int32_t r, uint8_t cornername, uint32_t color), + fillCircle(int32_t x, int32_t y, int32_t r, uint32_t color), + fillCircleHelper(int32_t x, int32_t y, int32_t r, uint8_t cornername, int32_t delta, uint32_t color), + + drawEllipse(int16_t x, int16_t y, int32_t rx, int32_t ry, uint16_t color), + fillEllipse(int16_t x, int16_t y, int32_t rx, int32_t ry, uint16_t color), + + // Corner 1 Corner 2 Corner 3 + drawTriangle(int32_t x1,int32_t y1, int32_t x2,int32_t y2, int32_t x3,int32_t y3, uint32_t color), + fillTriangle(int32_t x1,int32_t y1, int32_t x2,int32_t y2, int32_t x3,int32_t y3, uint32_t color); + + + // Smooth (anti-aliased) graphics drawing + // Draw a pixel blended with the background pixel colour (bg_color) specified, return blended colour + // If the bg_color is not specified, the background pixel colour will be read from TFT or sprite + uint16_t drawPixel(int32_t x, int32_t y, uint32_t color, uint8_t alpha, uint32_t bg_color = 0x00FFFFFF); + + // Draw an anti-aliased (smooth) arc between start and end angles. Arc ends are anti-aliased. + // By default the arc is drawn with square ends unless the "roundEnds" parameter is included and set true + // Angle = 0 is at 6 o'clock position, 90 at 9 o'clock etc. The angles must be in range 0-360 or they will be clipped to these limits + // The start angle may be larger than the end angle. Arcs are always drawn clockwise from the start angle. + void drawSmoothArc(int32_t x, int32_t y, int32_t r, int32_t ir, uint32_t startAngle, uint32_t endAngle, uint32_t fg_color, uint32_t bg_color, bool roundEnds = false); + + // As per "drawSmoothArc" except the ends of the arc are NOT anti-aliased, this facilitates dynamic arc length changes with + // arc segments and ensures clean segment joints. + // The sides of the arc are anti-aliased by default. If smoothArc is false sides will NOT be anti-aliased + void drawArc(int32_t x, int32_t y, int32_t r, int32_t ir, uint32_t startAngle, uint32_t endAngle, uint32_t fg_color, uint32_t bg_color, bool smoothArc = true); + + // Draw an anti-aliased filled circle at x, y with radius r + // Note: The thickness of line is 3 pixels to reduce the visible "braiding" effect of anti-aliasing narrow lines + // this means the inner anti-alias zone is always at r-1 and the outer zone at r+1 + void drawSmoothCircle(int32_t x, int32_t y, int32_t r, uint32_t fg_color, uint32_t bg_color); + + // Draw an anti-aliased filled circle at x, y with radius r + // If bg_color is not included the background pixel colour will be read from TFT or sprite + void fillSmoothCircle(int32_t x, int32_t y, int32_t r, uint32_t color, uint32_t bg_color = 0x00FFFFFF); + + // Draw a rounded rectangle that has a line thickness of r-ir+1 and bounding box defined by x,y and w,h + // The outer corner radius is r, inner corner radius is ir + // The inside and outside of the border are anti-aliased + void drawSmoothRoundRect(int32_t x, int32_t y, int32_t r, int32_t ir, int32_t w, int32_t h, uint32_t fg_color, uint32_t bg_color = 0x00FFFFFF, uint8_t quadrants = 0xF); + + // Draw a filled rounded rectangle , corner radius r and bounding box defined by x,y and w,h + void fillSmoothRoundRect(int32_t x, int32_t y, int32_t w, int32_t h, int32_t radius, uint32_t color, uint32_t bg_color = 0x00FFFFFF); + + // Draw a small anti-aliased filled circle at ax,ay with radius r (uses drawWideLine) + // If bg_color is not included the background pixel colour will be read from TFT or sprite + void drawSpot(float ax, float ay, float r, uint32_t fg_color, uint32_t bg_color = 0x00FFFFFF); + + // Draw an anti-aliased wide line from ax,ay to bx,by width wd with radiused ends (radius is wd/2) + // If bg_color is not included the background pixel colour will be read from TFT or sprite + void drawWideLine(float ax, float ay, float bx, float by, float wd, uint32_t fg_color, uint32_t bg_color = 0x00FFFFFF); + + // Draw an anti-aliased wide line from ax,ay to bx,by with different width at each end aw, bw and with radiused ends + // If bg_color is not included the background pixel colour will be read from TFT or sprite + void drawWedgeLine(float ax, float ay, float bx, float by, float aw, float bw, uint32_t fg_color, uint32_t bg_color = 0x00FFFFFF); + + + // Image rendering + // Swap the byte order for pushImage() and pushPixels() - corrects endianness + void setSwapBytes(bool swap); + bool getSwapBytes(void); + + // Draw bitmap + void drawBitmap( int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t fgcolor), + drawBitmap( int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t fgcolor, uint16_t bgcolor), + drawXBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t fgcolor), + drawXBitmap(int16_t x, int16_t y, const uint8_t *bitmap, int16_t w, int16_t h, uint16_t fgcolor, uint16_t bgcolor), + setBitmapColor(uint16_t fgcolor, uint16_t bgcolor); // Define the 2 colours for 1bpp sprites + + // Set TFT pivot point (use when rendering rotated sprites) + void setPivot(int16_t x, int16_t y); + int16_t getPivotX(void), // Get pivot x + getPivotY(void); // Get pivot y + + // The next functions can be used as a pair to copy screen blocks (or horizontal/vertical lines) to another location + // Read a block of pixels to a data buffer, buffer is 16-bit and the size must be at least w * h + void readRect(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data); + // Write a block of pixels to the screen which have been read by readRect() + void pushRect(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data); + + // These are used to render images or sprites stored in RAM arrays (used by Sprite class for 16bpp Sprites) + void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data); + void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data, uint16_t transparent); + + // These are used to render images stored in FLASH (PROGMEM) + void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint16_t *data, uint16_t transparent); + void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint16_t *data); + + // These are used by Sprite class pushSprite() member function for 1, 4 and 8 bits per pixel (bpp) colours + // They are not intended to be used with user sketches (but could be) + // Set bpp8 true for 8bpp sprites, false otherwise. The cmap pointer must be specified for 4bpp + void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *data, bool bpp8 = true, uint16_t *cmap = nullptr); + void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *data, uint8_t transparent, bool bpp8 = true, uint16_t *cmap = nullptr); + // FLASH version + void pushImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint8_t *data, bool bpp8, uint16_t *cmap = nullptr); + + // Render a 16-bit colour image with a 1bpp mask + void pushMaskedImage(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *img, uint8_t *mask); + + // This next function has been used successfully to dump the TFT screen to a PC for documentation purposes + // It reads a screen area and returns the 3 RGB 8-bit colour values of each pixel in the buffer + // Set w and h to 1 to read 1 pixel's colour. The data buffer must be at least w * h * 3 bytes + void readRectRGB(int32_t x, int32_t y, int32_t w, int32_t h, uint8_t *data); + + + // Text rendering - value returned is the pixel width of the rendered text + int16_t drawNumber(long intNumber, int32_t x, int32_t y, uint8_t font), // Draw integer using specified font number + drawNumber(long intNumber, int32_t x, int32_t y), // Draw integer using current font + + // Decimal is the number of decimal places to render + // Use with setTextDatum() to position values on TFT, and setTextPadding() to blank old displayed values + drawFloat(float floatNumber, uint8_t decimal, int32_t x, int32_t y, uint8_t font), // Draw float using specified font number + drawFloat(float floatNumber, uint8_t decimal, int32_t x, int32_t y), // Draw float using current font + + // Handle char arrays + // Use with setTextDatum() to position string on TFT, and setTextPadding() to blank old displayed strings + drawString(const char *string, int32_t x, int32_t y, uint8_t font), // Draw string using specified font number + drawString(const char *string, int32_t x, int32_t y), // Draw string using current font + drawString(const String& string, int32_t x, int32_t y, uint8_t font),// Draw string using specified font number + drawString(const String& string, int32_t x, int32_t y), // Draw string using current font + + drawCentreString(const char *string, int32_t x, int32_t y, uint8_t font), // Deprecated, use setTextDatum() and drawString() + drawRightString(const char *string, int32_t x, int32_t y, uint8_t font), // Deprecated, use setTextDatum() and drawString() + drawCentreString(const String& string, int32_t x, int32_t y, uint8_t font),// Deprecated, use setTextDatum() and drawString() + drawRightString(const String& string, int32_t x, int32_t y, uint8_t font); // Deprecated, use setTextDatum() and drawString() + + + // Text rendering and font handling support functions + void setCursor(int16_t x, int16_t y), // Set cursor for tft.print() + setCursor(int16_t x, int16_t y, uint8_t font); // Set cursor and font number for tft.print() + + int16_t getCursorX(void), // Read current cursor x position (moves with tft.print()) + getCursorY(void); // Read current cursor y position + + void setTextColor(uint16_t color), // Set character (glyph) color only (background not over-written) + setTextColor(uint16_t fgcolor, uint16_t bgcolor, bool bgfill = false), // Set character (glyph) foreground and background colour, optional background fill for smooth fonts + setTextSize(uint8_t size); // Set character size multiplier (this increases pixel size) + + void setTextWrap(bool wrapX, bool wrapY = false); // Turn on/off wrapping of text in TFT width and/or height + + void setTextDatum(uint8_t datum); // Set text datum position (default is top left), see Section 5 above + uint8_t getTextDatum(void); + + void setTextPadding(uint16_t x_width); // Set text padding (background blanking/over-write) width in pixels + uint16_t getTextPadding(void); // Get text padding + +#ifdef LOAD_GFXFF + void setFreeFont(const GFXfont *f = NULL), // Select the GFX Free Font + setTextFont(uint8_t font); // Set the font number to use in future +#else + void setFreeFont(uint8_t font), // Not used, historical fix to prevent an error + setTextFont(uint8_t font); // Set the font number to use in future +#endif + + int16_t textWidth(const char *string, uint8_t font), // Returns pixel width of string in specified font + textWidth(const char *string), // Returns pixel width of string in current font + textWidth(const String& string, uint8_t font), // As above for String types + textWidth(const String& string), + fontHeight(uint8_t font), // Returns pixel height of specified font + fontHeight(void); // Returns pixel height of current font + + // Used by library and Smooth font class to extract Unicode point codes from a UTF8 encoded string + uint16_t decodeUTF8(uint8_t *buf, uint16_t *index, uint16_t remaining), + decodeUTF8(uint8_t c); + + // Support function to UTF8 decode and draw characters piped through print stream + size_t write(uint8_t); + // size_t write(const uint8_t *buf, size_t len); + + // Used by Smooth font class to fetch a pixel colour for the anti-aliasing + void setCallback(getColorCallback getCol); + + uint16_t fontsLoaded(void); // Each bit in returned value represents a font type that is loaded - used for debug/error handling only + + + // Low level read/write + void spiwrite(uint8_t); // legacy support only +#ifdef RM68120_DRIVER + void writecommand(uint16_t c); // Send a 16-bit command, function resets DC/RS high ready for data + void writeRegister8(uint16_t c, uint8_t d); // Write 8-bit data data to 16-bit command register + void writeRegister16(uint16_t c, uint16_t d); // Write 16-bit data data to 16-bit command register +#else + void writecommand(uint8_t c); // Send an 8-bit command, function resets DC/RS high ready for data +#endif + void writedata(uint8_t d); // Send data with DC/RS set high + + void commandList(const uint8_t *addr); // Send a initialisation sequence to TFT stored in FLASH + + uint8_t readcommand8( uint8_t cmd_function, uint8_t index = 0); // read 8 bits from TFT + uint16_t readcommand16(uint8_t cmd_function, uint8_t index = 0); // read 16 bits from TFT + uint32_t readcommand32(uint8_t cmd_function, uint8_t index = 0); // read 32 bits from TFT + + + // Colour conversion + // Convert 8-bit red, green and blue to 16 bits + uint16_t color565(uint8_t red, uint8_t green, uint8_t blue); + + // Convert 8-bit colour to 16 bits + uint16_t color8to16(uint8_t color332); + // Convert 16-bit colour to 8 bits + uint8_t color16to8(uint16_t color565); + + // Convert 16-bit colour to/from 24-bit, R+G+B concatenated into LS 24 bits + uint32_t color16to24(uint16_t color565); + uint32_t color24to16(uint32_t color888); + + // Alpha blend 2 colours, see generic "alphaBlend_Test" example + // alpha = 0 = 100% background colour + // alpha = 255 = 100% foreground colour + uint16_t alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc); + + // 16-bit colour alphaBlend with alpha dither (dither reduces colour banding) + uint16_t alphaBlend(uint8_t alpha, uint16_t fgc, uint16_t bgc, uint8_t dither); + // 24-bit colour alphaBlend with optional alpha dither + uint32_t alphaBlend24(uint8_t alpha, uint32_t fgc, uint32_t bgc, uint8_t dither = 0); + + // Direct Memory Access (DMA) support functions + // These can be used for SPI writes when using the ESP32 (original) or STM32 processors. + // DMA also works on a RP2040 processor with PIO based SPI and parallel (8 and 16-bit) interfaces + // Bear in mind DMA will only be of benefit in particular circumstances and can be tricky + // to manage by noobs. The functions have however been designed to be noob friendly and + // avoid a few DMA behaviour "gotchas". + // + // At best you will get a 2x TFT rendering performance improvement when using DMA because + // this library handles the SPI bus so efficiently during normal (non DMA) transfers. The best + // performance improvement scenario is the DMA transfer time is exactly the same as the time it + // takes for the processor to prepare the next image buffer and initiate another DMA transfer. + // + // DMA transfer to the TFT is done while the processor moves on to handle other tasks. Bear + // this in mind and watch out for "gotchas" like the image buffer going out of scope as the + // processor leaves a function or its content being changed while the DMA engine is reading it. + // + // The compiler MAY change the implied scope of a buffer which has been set aside by creating + // an array. For example a buffer defined before a "for-next" loop may get de-allocated when + // the loop ends. To avoid this use, for example, malloc() and free() to take control of when + // the buffer space is available and ensure it is not released until DMA is complete. + // + // Clearly you should not modify a buffer that is being DMA'ed to the TFT until the DMA is over. + // Use the dmaBusy() function to check this. Use tft.startWrite() before invoking DMA so the + // TFT chip select stays low. If you use tft.endWrite() before DMA is complete then the endWrite + // function will wait for the DMA to complete, so this may defeat any DMA performance benefit. + // + + bool initDMA(bool ctrl_cs = false); // Initialise the DMA engine and attach to SPI bus - typically used in setup() + // Parameter "true" enables DMA engine control of TFT chip select (ESP32 only) + // For ESP32 only, TFT reads will not work if parameter is true + void deInitDMA(void); // De-initialise the DMA engine and detach from SPI bus - typically not used + + // Push an image to the TFT using DMA, buffer is optional and grabs (double buffers) a copy of the image + // Use the buffer if the image data will get over-written or destroyed while DMA is in progress + // + // Note 1: If swapping colour bytes is defined, and the double buffer option is NOT used, then the bytes + // in the original image buffer content will be byte swapped by the function before DMA is initiated. + // + // Note 2: If part of the image will be off screen or outside of a set viewport, then the the original + // image buffer content will be altered to a correctly clipped image before DMA is initiated. + // + // The function will wait for the last DMA to complete if it is called while a previous DMA is still + // in progress, this simplifies the sketch and helps avoid "gotchas". + void pushImageDMA(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t* data, uint16_t* buffer = nullptr); + +#if defined (ESP32) // ESP32 only at the moment + // For case where pointer is a const and the image data must not be modified (clipped or byte swapped) + void pushImageDMA(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t const* data); +#endif + // Push a block of pixels into a window set up using setAddrWindow() + void pushPixelsDMA(uint16_t* image, uint32_t len); + + // Check if the DMA is complete - use while(tft.dmaBusy); for a blocking wait + bool dmaBusy(void); // returns true if DMA is still in progress + void dmaWait(void); // wait until DMA is complete + + bool DMA_Enabled = false; // Flag for DMA enabled state + uint8_t spiBusyCheck = 0; // Number of ESP32 transfer buffers to check + + // Bare metal functions + void startWrite(void); // Begin SPI transaction + void writeColor(uint16_t color, uint32_t len); // Deprecated, use pushBlock() + void endWrite(void); // End SPI transaction + + // Set/get an arbitrary library configuration attribute or option + // Use to switch ON/OFF capabilities such as UTF8 decoding - each attribute has a unique ID + // id = 0: reserved - may be used in future to reset all attributes to a default state + // id = 1: Turn on (a=true) or off (a=false) GLCD cp437 font character error correction + // id = 2: Turn on (a=true) or off (a=false) UTF8 decoding + // id = 3: Enable or disable use of ESP32 PSRAM (if available) + #define CP437_SWITCH 1 + #define UTF8_SWITCH 2 + #define PSRAM_ENABLE 3 + void setAttribute(uint8_t id = 0, uint8_t a = 0); // Set attribute value + uint8_t getAttribute(uint8_t id = 0); // Get attribute value + + // Used for diagnostic sketch to see library setup adopted by compiler, see Section 7 above + void getSetup(setup_t& tft_settings); // Sketch provides the instance to populate + bool verifySetupID(uint32_t id); + + // Global variables +#if !defined (TFT_PARALLEL_8_BIT) && !defined (RP2040_PIO_INTERFACE) + static SPIClass& getSPIinstance(void); // Get SPI class handle +#endif + uint32_t textcolor, textbgcolor; // Text foreground and background colours + + uint32_t bitmap_fg, bitmap_bg; // Bitmap foreground (bit=1) and background (bit=0) colours + + uint8_t textfont, // Current selected font number + textsize, // Current font size multiplier + textdatum, // Text reference datum + rotation; // Display rotation (0-3) + + uint8_t decoderState = 0; // UTF8 decoder state - not for user access + uint16_t decoderBuffer; // Unicode code-point buffer - not for user access + + //--------------------------------------- private ------------------------------------// + private: + // Legacy begin and end prototypes - deprecated TODO: delete + void spi_begin(); + void spi_end(); + + void spi_begin_read(); + void spi_end_read(); + + // New begin and end prototypes + // begin/end a TFT write transaction + // For SPI bus the transmit clock rate is set + inline void begin_tft_write() __attribute__((always_inline)); + inline void end_tft_write() __attribute__((always_inline)); + + // begin/end a TFT read transaction + // For SPI bus: begin lowers SPI clock rate, end reinstates transmit clock rate + inline void begin_tft_read() __attribute__((always_inline)); + inline void end_tft_read() __attribute__((always_inline)); + + // Initialise the data bus GPIO and hardware interfaces + void initBus(void); + + // Temporary library development function TODO: remove need for this + void pushSwapBytePixels(const void* data_in, uint32_t len); + + // Same as setAddrWindow but exits with CGRAM in read mode + void readAddrWindow(int32_t xs, int32_t ys, int32_t w, int32_t h); + + // Byte read prototype + uint8_t readByte(void); + + // GPIO parallel bus input/output direction control + void busDir(uint32_t mask, uint8_t mode); + + // Single GPIO input/output direction control + void gpioMode(uint8_t gpio, uint8_t mode); + + // Smooth graphics helper + uint8_t sqrt_fraction(uint32_t num); + + // Helper function: calculate distance of a point from a finite length line between two points + float wedgeLineDistance(float pax, float pay, float bax, float bay, float dr); + + // Display variant settings + uint8_t tabcolor, // ST7735 screen protector "tab" colour (now invalid) + colstart = 0, rowstart = 0; // Screen display area to CGRAM area coordinate offsets + + // Port and pin masks for control signals (ESP826 only) - TODO: remove need for this + volatile uint32_t *dcport, *csport; + uint32_t cspinmask, dcpinmask, wrpinmask, sclkpinmask; + + #if defined(ESP32_PARALLEL) + // Bit masks for ESP32 parallel bus interface + uint32_t xclr_mask, xdir_mask; // Port set/clear and direction control masks + + // Lookup table for ESP32 parallel bus interface uses 1kbyte RAM, + uint32_t xset_mask[256]; // Makes Sprite rendering test 33% faster, for slower macro equivalent + // see commented out #define set_mask(C) within TFT_eSPI_ESP32.h + #endif + + //uint32_t lastColor = 0xFFFF; // Last colour - used to minimise bit shifting overhead + + getColorCallback getColor = nullptr; // Smooth font callback function pointer + + bool locked, inTransaction, lockTransaction; // SPI transaction and mutex lock flags + + //-------------------------------------- protected ----------------------------------// + protected: + + //int32_t win_xe, win_ye; // Window end coords - not needed + + int32_t _init_width, _init_height; // Display w/h as input, used by setRotation() + int32_t _width, _height; // Display w/h as modified by current rotation + int32_t addr_row, addr_col; // Window position - used to minimise window commands + + int16_t _xPivot; // TFT x pivot point coordinate for rotated Sprites + int16_t _yPivot; // TFT x pivot point coordinate for rotated Sprites + + // Viewport variables + int32_t _vpX, _vpY, _vpW, _vpH; // Note: x start, y start, x end + 1, y end + 1 + int32_t _xDatum; + int32_t _yDatum; + int32_t _xWidth; + int32_t _yHeight; + bool _vpDatum; + bool _vpOoB; + + int32_t cursor_x, cursor_y, padX; // Text cursor x,y and padding setting + int32_t bg_cursor_x; // Background fill cursor + int32_t last_cursor_x; // Previous text cursor position when fill used + + uint32_t fontsloaded; // Bit field of fonts loaded + + uint8_t glyph_ab, // Smooth font glyph delta Y (height) above baseline + glyph_bb; // Smooth font glyph delta Y (height) below baseline + + bool isDigits; // adjust bounding box for numbers to reduce visual jiggling + bool textwrapX, textwrapY; // If set, 'wrap' text at right and optionally bottom edge of display + bool _swapBytes; // Swap the byte order for TFT pushImage() + + bool _booted; // init() or begin() has already run once + + // User sketch manages these via set/getAttribute() + bool _cp437; // If set, use correct CP437 charset (default is OFF) + bool _utf8; // If set, use UTF-8 decoder in print stream 'write()' function (default ON) + bool _psram_enable; // Enable PSRAM use for library functions (TBD) and Sprites + + uint32_t _lastColor; // Buffered value of last colour used + + bool _fillbg; // Fill background flag (just for for smooth fonts at the moment) + +#if defined (SSD1963_DRIVER) + uint16_t Cswap; // Swap buffer for SSD1963 + uint8_t r6, g6, b6; // RGB buffer for SSD1963 +#endif + +#ifdef LOAD_GFXFF + GFXfont *gfxFont; +#endif + +/*************************************************************************************** +** Section 9: TFT_eSPI class conditional extensions +***************************************************************************************/ +// Load the Touch extension +#ifdef TOUCH_CS + #if defined (TFT_PARALLEL_8_BIT) || defined (RP2040_PIO_INTERFACE) + #if !defined(DISABLE_ALL_LIBRARY_WARNINGS) + #error >>>>------>> Touch functions not supported in 8/16-bit parallel mode or with RP2040 PIO. + #endif + #else + #include "Extensions/Touch.h" // Loaded if TOUCH_CS is defined by user + #endif +#else + #if !defined(DISABLE_ALL_LIBRARY_WARNINGS) + #warning >>>>------>> TOUCH_CS pin not defined, TFT_eSPI touch functions will not be available! + #endif +#endif + +// Load the Anti-aliased font extension +#ifdef SMOOTH_FONT + #include "Extensions/Smooth_font.h" // Loaded if SMOOTH_FONT is defined by user +#endif + +}; // End of class TFT_eSPI + +// Swap any type +template static inline void +transpose(T& a, T& b) { T t = a; a = b; b = t; } + +// Fast alphaBlend +template static inline uint16_t +fastBlend(A alpha, F fgc, B bgc) +{ + // Split out and blend 5-bit red and blue channels + uint32_t rxb = bgc & 0xF81F; + rxb += ((fgc & 0xF81F) - rxb) * (alpha >> 2) >> 6; + // Split out and blend 6-bit green channel + uint32_t xgx = bgc & 0x07E0; + xgx += ((fgc & 0x07E0) - xgx) * alpha >> 8; + // Recombine channels + return (rxb & 0xF81F) | (xgx & 0x07E0); +} + +/*************************************************************************************** +** Section 10: Additional extension classes +***************************************************************************************/ +// Load the Button Class +#include "Extensions/Button.h" + +// Load the Sprite Class +#include "Extensions/Sprite.h" + +#endif // ends #ifndef _TFT_eSPIH_ diff --git a/rogue-radar/libraries/TFT_eSPI/User_Setup-cyd-2usb.h b/rogue-radar/libraries/TFT_eSPI/User_Setup-cyd-2usb.h new file mode 100644 index 0000000..94fe4be --- /dev/null +++ b/rogue-radar/libraries/TFT_eSPI/User_Setup-cyd-2usb.h @@ -0,0 +1,389 @@ +// USER DEFINED SETTINGS +// Set driver type, fonts to be loaded, pins used and SPI control method etc. +// +// See the User_Setup_Select.h file if you wish to be able to define multiple +// setups and then easily select which setup file is used by the compiler. +// +// If this file is edited correctly then all the library example sketches should +// run without the need to make any more changes for a particular hardware setup! +// Note that some sketches are designed for a particular TFT pixel width/height + +// User defined information reported by "Read_User_Setup" test & diagnostics example +#define USER_SETUP_INFO "User_Setup" + +// Define to disable all #warnings in library (can be put in User_Setup_Select.h) +//#define DISABLE_ALL_LIBRARY_WARNINGS + +// ################################################################################## +// +// Section 1. Call up the right driver file and any options for it +// +// ################################################################################## + +// Define STM32 to invoke optimised processor support (only for STM32) +//#define STM32 + +// Defining the STM32 board allows the library to optimise the performance +// for UNO compatible "MCUfriend" style shields +//#define NUCLEO_64_TFT +//#define NUCLEO_144_TFT + +// STM32 8-bit parallel only: +// If STN32 Port A or B pins 0-7 are used for 8-bit parallel data bus bits 0-7 +// then this will improve rendering performance by a factor of ~8x +//#define STM_PORTA_DATA_BUS +//#define STM_PORTB_DATA_BUS + +// Tell the library to use parallel mode (otherwise SPI is assumed) +//#define TFT_PARALLEL_8_BIT +//#defined TFT_PARALLEL_16_BIT // **** 16-bit parallel ONLY for RP2040 processor **** + +// Display type - only define if RPi display +//#define RPI_DISPLAY_TYPE // 20MHz maximum SPI + +// Only define one driver, the other ones must be commented out +//#define ILI9341_DRIVER // Generic driver for common displays +//#define ILI9341_2_DRIVER // Alternative ILI9341 driver, see https://github.com/Bodmer/TFT_eSPI/issues/1172 +//#define ST7735_DRIVER // Define additional parameters below for this display +//#define ILI9163_DRIVER // Define additional parameters below for this display +//#define S6D02A1_DRIVER +//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI +//#define HX8357D_DRIVER +//#define ILI9481_DRIVER +//#define ILI9486_DRIVER +//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high) +#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display +//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display +//#define R61581_DRIVER +//#define RM68140_DRIVER +//#define ST7796_DRIVER +//#define SSD1351_DRIVER +//#define SSD1963_480_DRIVER +//#define SSD1963_800_DRIVER +//#define SSD1963_800ALT_DRIVER +//#define ILI9225_DRIVER +//#define GC9A01_DRIVER + +// Some displays support SPI reads via the MISO pin, other displays have a single +// bi-directional SDA pin and the library will try to read this via the MOSI line. +// To use the SDA line for reading data from the TFT uncomment the following line: + +// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 and GC9A01 display only + +// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display +// Try ONE option at a time to find the correct colour order for your display + +// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue +// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red + +// For M5Stack ESP32 module with integrated ILI9341 display ONLY, remove // in line below + +// #define M5STACK + +// For ST7789, ST7735, ILI9163 and GC9A01 ONLY, define the pixel width and height in portrait orientation +// #define TFT_WIDTH 80 +// #define TFT_WIDTH 128 +// #define TFT_WIDTH 172 // ST7789 172 x 320 +// #define TFT_WIDTH 170 // ST7789 170 x 320 +// #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 +// #define TFT_HEIGHT 160 +// #define TFT_HEIGHT 128 +// #define TFT_HEIGHT 240 // ST7789 240 x 240 +// #define TFT_HEIGHT 320 // ST7789 240 x 320 +// #define TFT_HEIGHT 240 // GC9A01 240 x 240 + +// For ST7735 ONLY, define the type of display, originally this was based on the +// colour of the tab on the screen protector film but this is not always true, so try +// out the different options below if the screen does not display graphics correctly, +// e.g. colours wrong, mirror images, or stray pixels at the edges. +// Comment out ALL BUT ONE of these options for a ST7735 display driver, save this +// this User_Setup file, then rebuild and upload the sketch to the board again: + +// #define ST7735_INITB +// #define ST7735_GREENTAB +// #define ST7735_GREENTAB2 +// #define ST7735_GREENTAB3 +// #define ST7735_GREENTAB128 // For 128 x 128 display +// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) +// #define ST7735_ROBOTLCD // For some RobotLCD Arduino shields (128x160, BGR, https://docs.arduino.cc/retired/getting-started-guides/TFT) +// #define ST7735_REDTAB +// #define ST7735_BLACKTAB +// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset + +// If colours are inverted (white shows as black) then uncomment one of the next +// 2 lines try both options, one of the options should correct the inversion. + +// #define TFT_INVERSION_ON +// #define TFT_INVERSION_OFF + + +// ################################################################################## +// +// Section 2. Define the pins that are used to interface with the display here +// +// ################################################################################## + +// If a backlight control signal is available then define the TFT_BL pin in Section 2 +// below. The backlight will be turned ON when tft.begin() is called, but the library +// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be +// driven with a PWM signal or turned OFF/ON then this must be handled by the user +// sketch. e.g. with digitalWrite(TFT_BL, LOW); + + #define TFT_BL 21 // LED back-light control pin + #define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) + + + +// We must use hardware SPI, a minimum of 3 GPIO pins is needed. +// Typical setup for ESP8266 NodeMCU ESP-12 is : +// +// Display SDO/MISO to NodeMCU pin D6 (or leave disconnected if not reading TFT) +// Display LED to NodeMCU pin VIN (or 5V, see below) +// Display SCK to NodeMCU pin D5 +// Display SDI/MOSI to NodeMCU pin D7 +// Display DC (RS/AO)to NodeMCU pin D3 +// Display RESET to NodeMCU pin D4 (or RST, see below) +// Display CS to NodeMCU pin D8 (or GND, see below) +// Display GND to NodeMCU pin GND (0V) +// Display VCC to NodeMCU 5V or 3.3V +// +// The TFT RESET pin can be connected to the NodeMCU RST pin or 3.3V to free up a control pin +// +// The DC (Data Command) pin may be labelled AO or RS (Register Select) +// +// With some displays such as the ILI9341 the TFT CS pin can be connected to GND if no more +// SPI devices (e.g. an SD Card) are connected, in this case comment out the #define TFT_CS +// line below so it is NOT defined. Other displays such at the ST7735 require the TFT CS pin +// to be toggled during setup, so in these cases the TFT_CS line must be defined and connected. +// +// The NodeMCU D0 pin can be used for RST +// +// +// Note: only some versions of the NodeMCU provide the USB 5V on the VIN pin +// If 5V is not available at a pin you can use 3.3V but backlight brightness +// will be lower. + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP8266 SETUP ###### + +// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation +//#define TFT_MISO PIN_D6 // Automatically assigned with ESP8266 if not defined +//#define TFT_MOSI PIN_D7 // Automatically assigned with ESP8266 if not defined +//#define TFT_SCLK PIN_D5 // Automatically assigned with ESP8266 if not defined + +//#define TFT_CS PIN_D8 // Chip select control pin D8 +//#define TFT_DC PIN_D3 // Data Command control pin +//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + + +//#define TFT_BL PIN_D1 // LED back-light (only for ST7789 with backlight control pin) + +//#define TOUCH_CS PIN_D2 // Chip select pin (T_CS) of touch screen + +//#define TFT_WR PIN_D2 // Write strobe for modified Raspberry Pi TFT only + + +// ###### FOR ESP8266 OVERLAP MODE EDIT THE PIN NUMBERS IN THE FOLLOWING LINES ###### + +// Overlap mode shares the ESP8266 FLASH SPI bus with the TFT so has a performance impact +// but saves pins for other functions. It is best not to connect MISO as some displays +// do not tristate that line when chip select is high! +// Note: Only one SPI device can share the FLASH SPI lines, so a SPI touch controller +// cannot be connected as well to the same SPI signals. +// On NodeMCU 1.0 SD0=MISO, SD1=MOSI, CLK=SCLK to connect to TFT in overlap mode +// On NodeMCU V3 S0 =MISO, S1 =MOSI, S2 =SCLK +// In ESP8266 overlap mode the following must be defined + +//#define TFT_SPI_OVERLAP + +// In ESP8266 overlap mode the TFT chip select MUST connect to pin D3 +//#define TFT_CS PIN_D3 +//#define TFT_DC PIN_D5 // Data Command control pin +//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ###### + +// For ESP32 Dev board (only tested with ILI9341 display) +// The hardware SPI can be mapped to any pins + +#define TFT_MISO 12 +#define TFT_MOSI 13 +#define TFT_SCLK 14 +#define TFT_CS 15 // Chip select control pin +#define TFT_DC 2 // Data Command control pin +//#define TFT_RST 27 // Reset pin (could connect to RST pin) +#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST + +// For ESP32 Dev board (only tested with GC9A01 display) +// The hardware SPI can be mapped to any pins + +//#define TFT_MOSI 15 // In some display driver board, it might be written as "SDA" and so on. +//#define TFT_SCLK 14 +//#define TFT_CS 5 // Chip select control pin +//#define TFT_DC 27 // Data Command control pin +//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) +//#define TFT_BL 22 // LED back-light + +//#define TOUCH_CS 21 // Chip select pin (T_CS) of touch screen + +//#define TFT_WR 22 // Write strobe for modified Raspberry Pi TFT only + +// For the M5Stack module use these #define lines +//#define TFT_MISO 19 +//#define TFT_MOSI 23 +//#define TFT_SCLK 18 +//#define TFT_CS 14 // Chip select control pin +//#define TFT_DC 27 // Data Command control pin +//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) +//#define TFT_BL 32 // LED back-light (required for M5Stack) + +// ###### EDIT THE PINs BELOW TO SUIT YOUR ESP32 PARALLEL TFT SETUP ###### + +// The library supports 8-bit parallel TFTs with the ESP32, the pin +// selection below is compatible with ESP32 boards in UNO format. +// Wemos D32 boards need to be modified, see diagram in Tools folder. +// Only ILI9481 and ILI9341 based displays have been tested! + +// Parallel bus is only supported for the STM32 and ESP32 +// Example below is for ESP32 Parallel interface with UNO displays + +// Tell the library to use 8-bit parallel mode (otherwise SPI is assumed) +//#define TFT_PARALLEL_8_BIT + +// The ESP32 and TFT the pins used for testing are: +//#define TFT_CS 33 // Chip select control pin (library pulls permanently low +//#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 +//#define TFT_RST 32 // Reset pin, toggles on startup + +//#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 +//#define TFT_RD 2 // Read strobe control pin + +//#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus +//#define TFT_D1 13 // so a single register write sets/clears all bits. +//#define TFT_D2 26 // Pins can be randomly assigned, this does not affect +//#define TFT_D3 25 // TFT screen update performance. +//#define TFT_D4 17 +//#define TFT_D5 16 +//#define TFT_D6 27 +//#define TFT_D7 14 + +// ###### EDIT THE PINs BELOW TO SUIT YOUR STM32 SPI TFT SETUP ###### + +// The TFT can be connected to SPI port 1 or 2 +//#define TFT_SPI_PORT 1 // SPI port 1 maximum clock rate is 55MHz +//#define TFT_MOSI PA7 +//#define TFT_MISO PA6 +//#define TFT_SCLK PA5 + +//#define TFT_SPI_PORT 2 // SPI port 2 maximum clock rate is 27MHz +//#define TFT_MOSI PB15 +//#define TFT_MISO PB14 +//#define TFT_SCLK PB13 + +// Can use Ardiuno pin references, arbitrary allocation, TFT_eSPI controls chip select +//#define TFT_CS D5 // Chip select control pin to TFT CS +//#define TFT_DC D6 // Data Command control pin to TFT DC (may be labelled RS = Register Select) +//#define TFT_RST D7 // Reset pin to TFT RST (or RESET) +// OR alternatively, we can use STM32 port reference names PXnn +//#define TFT_CS PE11 // Nucleo-F767ZI equivalent of D5 +//#define TFT_DC PE9 // Nucleo-F767ZI equivalent of D6 +//#define TFT_RST PF13 // Nucleo-F767ZI equivalent of D7 + +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to processor reset + // Use an Arduino pin for initial testing as connecting to processor reset + // may not work (pulse too short at power up?) + +// ################################################################################## +// +// Section 3. Define the fonts that are to be used here +// +// ################################################################################## + +// Comment out the #defines below with // to stop that font being loaded +// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not +// normally necessary. If all fonts are loaded the extra FLASH space required is +// about 17Kbytes. To save FLASH space only enable the fonts you need! + +#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH +#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters +#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters +#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm +#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. +#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. +//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT +#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts + +// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded +// this will save ~20kbytes of FLASH +#define SMOOTH_FONT + + +// ################################################################################## +// +// Section 4. Other options +// +// ################################################################################## + +// For RP2040 processor and SPI displays, uncomment the following line to use the PIO interface. +//#define RP2040_PIO_SPI // Leave commented out to use standard RP2040 SPI port interface + +// For RP2040 processor and 8 or 16-bit parallel displays: +// The parallel interface write cycle period is derived from a division of the CPU clock +// speed so scales with the processor clock. This means that the divider ratio may need +// to be increased when overclocking. It may also need to be adjusted dependant on the +// display controller type (ILI94341, HX8357C etc.). If RP2040_PIO_CLK_DIV is not defined +// the library will set default values which may not suit your display. +// The display controller data sheet will specify the minimum write cycle period. The +// controllers often work reliably for shorter periods, however if the period is too short +// the display may not initialise or graphics will become corrupted. +// PIO write cycle frequency = (CPU clock/(4 * RP2040_PIO_CLK_DIV)) +//#define RP2040_PIO_CLK_DIV 1 // 32ns write cycle at 125MHz CPU clock +//#define RP2040_PIO_CLK_DIV 2 // 64ns write cycle at 125MHz CPU clock +//#define RP2040_PIO_CLK_DIV 3 // 96ns write cycle at 125MHz CPU clock + +// For the RP2040 processor define the SPI port channel used (default 0 if undefined) +//#define TFT_SPI_PORT 1 // Set to 0 if SPI0 pins are used, or 1 if spi1 pins used + +// For the STM32 processor define the SPI port channel used (default 1 if undefined) +//#define TFT_SPI_PORT 2 // Set to 1 for SPI port 1, or 2 for SPI port 2 + +// Define the SPI clock frequency, this affects the graphics rendering speed. Too +// fast and the TFT driver will not keep up and display corruption appears. +// With an ILI9341 display 40MHz works OK, 80MHz sometimes fails +// With a ST7735 display more than 27MHz may not work (spurious pixels and lines) +// With an ILI9163 display 27 MHz works OK. + +// #define SPI_FREQUENCY 1000000 +// #define SPI_FREQUENCY 5000000 +// #define SPI_FREQUENCY 10000000 +// #define SPI_FREQUENCY 20000000 +// #define SPI_FREQUENCY 27000000 +// #define SPI_FREQUENCY 40000000 +// #define SPI_FREQUENCY 55000000 // STM32 SPI1 only (SPI2 maximum is 27MHz) + #define SPI_FREQUENCY 80000000 + +// Optional reduced SPI frequency for reading TFT +#define SPI_READ_FREQUENCY 20000000 + +// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: +#define SPI_TOUCH_FREQUENCY 2500000 + +// The ESP32 has 2 free SPI ports i.e. VSPI and HSPI, the VSPI is the default. +// If the VSPI port is in use and pins are not accessible (e.g. TTGO T-Beam) +// then uncomment the following line: +//#define USE_HSPI_PORT + +// Comment out the following #define if "SPI Transactions" do not need to be +// supported. When commented out the code size will be smaller and sketches will +// run slightly faster, so leave it commented out unless you need it! + +// Transaction support is needed to work with SD library but not needed with TFT_SdFat +// Transaction support is required if other SPI devices are connected. + +// Transactions are automatically enabled by the library for an ESP32 (to use HAL mutex) +// so changing it here has no effect + +// #define SUPPORT_TRANSACTIONS diff --git a/rogue-radar/libraries/TFT_eSPI/User_Setup-nm-cyd-c5.h b/rogue-radar/libraries/TFT_eSPI/User_Setup-nm-cyd-c5.h new file mode 100644 index 0000000..48b71dd --- /dev/null +++ b/rogue-radar/libraries/TFT_eSPI/User_Setup-nm-cyd-c5.h @@ -0,0 +1,391 @@ +// USER DEFINED SETTINGS +// Set driver type, fonts to be loaded, pins used and SPI control method etc. +// +// See the User_Setup_Select.h file if you wish to be able to define multiple +// setups and then easily select which setup file is used by the compiler. +// +// If this file is edited correctly then all the library example sketches should +// run without the need to make any more changes for a particular hardware setup! +// Note that some sketches are designed for a particular TFT pixel width/height + +// User defined information reported by "Read_User_Setup" test & diagnostics example +#define USER_SETUP_INFO "User_Setup" + +// Define to disable all #warnings in library (can be put in User_Setup_Select.h) +//#define DISABLE_ALL_LIBRARY_WARNINGS + +// ################################################################################## +// +// Section 1. Call up the right driver file and any options for it +// +// ################################################################################## + +// Define STM32 to invoke optimised processor support (only for STM32) +//#define STM32 + +// Defining the STM32 board allows the library to optimise the performance +// for UNO compatible "MCUfriend" style shields +//#define NUCLEO_64_TFT +//#define NUCLEO_144_TFT + +// STM32 8-bit parallel only: +// If STN32 Port A or B pins 0-7 are used for 8-bit parallel data bus bits 0-7 +// then this will improve rendering performance by a factor of ~8x +//#define STM_PORTA_DATA_BUS +//#define STM_PORTB_DATA_BUS + +// Tell the library to use parallel mode (otherwise SPI is assumed) +//#define TFT_PARALLEL_8_BIT +//#defined TFT_PARALLEL_16_BIT // **** 16-bit parallel ONLY for RP2040 processor **** + +// Display type - only define if RPi display +//#define RPI_DISPLAY_TYPE // 20MHz maximum SPI + +// Only define one driver, the other ones must be commented out +//#define ILI9341_DRIVER // Generic driver for common displays +//#define ILI9341_2_DRIVER // Alternative ILI9341 driver, see https://github.com/Bodmer/TFT_eSPI/issues/1172 +//#define ST7735_DRIVER // Define additional parameters below for this display +//#define ILI9163_DRIVER // Define additional parameters below for this display +//#define S6D02A1_DRIVER +//#define RPI_ILI9486_DRIVER // 20MHz maximum SPI +//#define HX8357D_DRIVER +//#define ILI9481_DRIVER +//#define ILI9486_DRIVER +//#define ILI9488_DRIVER // WARNING: Do not connect ILI9488 display SDO to MISO if other devices share the SPI bus (TFT SDO does NOT tristate when CS is high) +#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display +//#define ST7789_2_DRIVER // Minimal configuration option, define additional parameters below for this display +//#define R61581_DRIVER +//#define RM68140_DRIVER +//#define ST7796_DRIVER +//#define SSD1351_DRIVER +//#define SSD1963_480_DRIVER +//#define SSD1963_800_DRIVER +//#define SSD1963_800ALT_DRIVER +//#define ILI9225_DRIVER +//#define GC9A01_DRIVER + +// Some displays support SPI reads via the MISO pin, other displays have a single +// bi-directional SDA pin and the library will try to read this via the MOSI line. +// To use the SDA line for reading data from the TFT uncomment the following line: + +// #define TFT_SDA_READ // This option is for ESP32 ONLY, tested with ST7789 and GC9A01 display only + +// For ST7735, ST7789 and ILI9341 ONLY, define the colour order IF the blue and red are swapped on your display +// Try ONE option at a time to find the correct colour order for your display + +// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue +// #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red + +// For M5Stack ESP32 module with integrated ILI9341 display ONLY, remove // in line below + +// #define M5STACK + +// For ST7789, ST7735, ILI9163 and GC9A01 ONLY, define the pixel width and height in portrait orientation +// #define TFT_WIDTH 80 +// #define TFT_WIDTH 128 +// #define TFT_WIDTH 172 // ST7789 172 x 320 +// #define TFT_WIDTH 170 // ST7789 170 x 320 +// #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 +// #define TFT_WIDTH 320 +// #define TFT_HEIGHT 160 +// #define TFT_HEIGHT 128 +// #define TFT_HEIGHT 240 // ST7789 240 x 240 +// #define TFT_HEIGHT 320 // ST7789 240 x 320 +// #define TFT_HEIGHT 240 // GC9A01 240 x 240 +// #define TFT_HEIGHT 240 + +// For ST7735 ONLY, define the type of display, originally this was based on the +// colour of the tab on the screen protector film but this is not always true, so try +// out the different options below if the screen does not display graphics correctly, +// e.g. colours wrong, mirror images, or stray pixels at the edges. +// Comment out ALL BUT ONE of these options for a ST7735 display driver, save this +// this User_Setup file, then rebuild and upload the sketch to the board again: + +// #define ST7735_INITB +// #define ST7735_GREENTAB +// #define ST7735_GREENTAB2 +// #define ST7735_GREENTAB3 +// #define ST7735_GREENTAB128 // For 128 x 128 display +// #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) +// #define ST7735_ROBOTLCD // For some RobotLCD Arduino shields (128x160, BGR, https://docs.arduino.cc/retired/getting-started-guides/TFT) +// #define ST7735_REDTAB +// #define ST7735_BLACKTAB +// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset + +// If colours are inverted (white shows as black) then uncomment one of the next +// 2 lines try both options, one of the options should correct the inversion. + +// #define TFT_INVERSION_ON +#define TFT_INVERSION_OFF + + +// ################################################################################## +// +// Section 2. Define the pins that are used to interface with the display here +// +// ################################################################################## + +// If a backlight control signal is available then define the TFT_BL pin in Section 2 +// below. The backlight will be turned ON when tft.begin() is called, but the library +// needs to know if the LEDs are ON with the pin HIGH or LOW. If the LEDs are to be +// driven with a PWM signal or turned OFF/ON then this must be handled by the user +// sketch. e.g. with digitalWrite(TFT_BL, LOW); + +#define TFT_BL 25 // LED back-light control pin +#define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) + + + +// We must use hardware SPI, a minimum of 3 GPIO pins is needed. +// Typical setup for ESP8266 NodeMCU ESP-12 is : +// +// Display SDO/MISO to NodeMCU pin D6 (or leave disconnected if not reading TFT) +// Display LED to NodeMCU pin VIN (or 5V, see below) +// Display SCK to NodeMCU pin D5 +// Display SDI/MOSI to NodeMCU pin D7 +// Display DC (RS/AO)to NodeMCU pin D3 +// Display RESET to NodeMCU pin D4 (or RST, see below) +// Display CS to NodeMCU pin D8 (or GND, see below) +// Display GND to NodeMCU pin GND (0V) +// Display VCC to NodeMCU 5V or 3.3V +// +// The TFT RESET pin can be connected to the NodeMCU RST pin or 3.3V to free up a control pin +// +// The DC (Data Command) pin may be labelled AO or RS (Register Select) +// +// With some displays such as the ILI9341 the TFT CS pin can be connected to GND if no more +// SPI devices (e.g. an SD Card) are connected, in this case comment out the #define TFT_CS +// line below so it is NOT defined. Other displays such at the ST7735 require the TFT CS pin +// to be toggled during setup, so in these cases the TFT_CS line must be defined and connected. +// +// The NodeMCU D0 pin can be used for RST +// +// +// Note: only some versions of the NodeMCU provide the USB 5V on the VIN pin +// If 5V is not available at a pin you can use 3.3V but backlight brightness +// will be lower. + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP8266 SETUP ###### + +// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation +//#define TFT_MISO PIN_D6 // Automatically assigned with ESP8266 if not defined +//#define TFT_MOSI PIN_D7 // Automatically assigned with ESP8266 if not defined +//#define TFT_SCLK PIN_D5 // Automatically assigned with ESP8266 if not defined + +//#define TFT_CS PIN_D8 // Chip select control pin D8 +//#define TFT_DC PIN_D3 // Data Command control pin +//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + + +//#define TFT_BL PIN_D1 // LED back-light (only for ST7789 with backlight control pin) + +//#define TOUCH_CS PIN_D2 // Chip select pin (T_CS) of touch screen + +//#define TFT_WR PIN_D2 // Write strobe for modified Raspberry Pi TFT only + + +// ###### FOR ESP8266 OVERLAP MODE EDIT THE PIN NUMBERS IN THE FOLLOWING LINES ###### + +// Overlap mode shares the ESP8266 FLASH SPI bus with the TFT so has a performance impact +// but saves pins for other functions. It is best not to connect MISO as some displays +// do not tristate that line when chip select is high! +// Note: Only one SPI device can share the FLASH SPI lines, so a SPI touch controller +// cannot be connected as well to the same SPI signals. +// On NodeMCU 1.0 SD0=MISO, SD1=MOSI, CLK=SCLK to connect to TFT in overlap mode +// On NodeMCU V3 S0 =MISO, S1 =MOSI, S2 =SCLK +// In ESP8266 overlap mode the following must be defined + +//#define TFT_SPI_OVERLAP + +// In ESP8266 overlap mode the TFT chip select MUST connect to pin D3 +//#define TFT_CS PIN_D3 +//#define TFT_DC PIN_D5 // Data Command control pin +//#define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V + + +// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP ###### + +// For ESP32 Dev board (only tested with ILI9341 display) +// The hardware SPI can be mapped to any pins + +#define TFT_MISO 2 +#define TFT_MOSI 7 +#define TFT_SCLK 6 +#define TFT_CS 23 // Chip select control pin +#define TFT_DC 24 // Data Command control pin +//#define TFT_RST 27 // Reset pin (could connect to RST pin) +#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST + +// For ESP32 Dev board (only tested with GC9A01 display) +// The hardware SPI can be mapped to any pins + +//#define TFT_MOSI 15 // In some display driver board, it might be written as "SDA" and so on. +//#define TFT_SCLK 14 +//#define TFT_CS 5 // Chip select control pin +//#define TFT_DC 27 // Data Command control pin +//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) +//#define TFT_BL 22 // LED back-light + +#define TOUCH_CS 1 // Chip select pin (T_CS) of touch screen + +//#define TFT_WR 22 // Write strobe for modified Raspberry Pi TFT only + +// For the M5Stack module use these #define lines +//#define TFT_MISO 19 +//#define TFT_MOSI 23 +//#define TFT_SCLK 18 +//#define TFT_CS 14 // Chip select control pin +//#define TFT_DC 27 // Data Command control pin +//#define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) +//#define TFT_BL 32 // LED back-light (required for M5Stack) + +// ###### EDIT THE PINs BELOW TO SUIT YOUR ESP32 PARALLEL TFT SETUP ###### + +// The library supports 8-bit parallel TFTs with the ESP32, the pin +// selection below is compatible with ESP32 boards in UNO format. +// Wemos D32 boards need to be modified, see diagram in Tools folder. +// Only ILI9481 and ILI9341 based displays have been tested! + +// Parallel bus is only supported for the STM32 and ESP32 +// Example below is for ESP32 Parallel interface with UNO displays + +// Tell the library to use 8-bit parallel mode (otherwise SPI is assumed) +//#define TFT_PARALLEL_8_BIT + +// The ESP32 and TFT the pins used for testing are: +//#define TFT_CS 33 // Chip select control pin (library pulls permanently low +//#define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 +//#define TFT_RST 32 // Reset pin, toggles on startup + +//#define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 +//#define TFT_RD 2 // Read strobe control pin + +//#define TFT_D0 12 // Must use pins in the range 0-31 for the data bus +//#define TFT_D1 13 // so a single register write sets/clears all bits. +//#define TFT_D2 26 // Pins can be randomly assigned, this does not affect +//#define TFT_D3 25 // TFT screen update performance. +//#define TFT_D4 17 +//#define TFT_D5 16 +//#define TFT_D6 27 +//#define TFT_D7 14 + +// ###### EDIT THE PINs BELOW TO SUIT YOUR STM32 SPI TFT SETUP ###### + +// The TFT can be connected to SPI port 1 or 2 +//#define TFT_SPI_PORT 1 // SPI port 1 maximum clock rate is 55MHz +//#define TFT_MOSI PA7 +//#define TFT_MISO PA6 +//#define TFT_SCLK PA5 + +//#define TFT_SPI_PORT 2 // SPI port 2 maximum clock rate is 27MHz +//#define TFT_MOSI PB15 +//#define TFT_MISO PB14 +//#define TFT_SCLK PB13 + +// Can use Ardiuno pin references, arbitrary allocation, TFT_eSPI controls chip select +//#define TFT_CS D5 // Chip select control pin to TFT CS +//#define TFT_DC D6 // Data Command control pin to TFT DC (may be labelled RS = Register Select) +//#define TFT_RST D7 // Reset pin to TFT RST (or RESET) +// OR alternatively, we can use STM32 port reference names PXnn +//#define TFT_CS PE11 // Nucleo-F767ZI equivalent of D5 +//#define TFT_DC PE9 // Nucleo-F767ZI equivalent of D6 +//#define TFT_RST PF13 // Nucleo-F767ZI equivalent of D7 + +//#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to processor reset + // Use an Arduino pin for initial testing as connecting to processor reset + // may not work (pulse too short at power up?) + +// ################################################################################## +// +// Section 3. Define the fonts that are to be used here +// +// ################################################################################## + +// Comment out the #defines below with // to stop that font being loaded +// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not +// normally necessary. If all fonts are loaded the extra FLASH space required is +// about 17Kbytes. To save FLASH space only enable the fonts you need! + +#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH +#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters +#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters +#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm +#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. +#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. +//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT +#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts + +// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded +// this will save ~20kbytes of FLASH +#define SMOOTH_FONT + + +// ################################################################################## +// +// Section 4. Other options +// +// ################################################################################## + +// For RP2040 processor and SPI displays, uncomment the following line to use the PIO interface. +//#define RP2040_PIO_SPI // Leave commented out to use standard RP2040 SPI port interface + +// For RP2040 processor and 8 or 16-bit parallel displays: +// The parallel interface write cycle period is derived from a division of the CPU clock +// speed so scales with the processor clock. This means that the divider ratio may need +// to be increased when overclocking. It may also need to be adjusted dependant on the +// display controller type (ILI94341, HX8357C etc.). If RP2040_PIO_CLK_DIV is not defined +// the library will set default values which may not suit your display. +// The display controller data sheet will specify the minimum write cycle period. The +// controllers often work reliably for shorter periods, however if the period is too short +// the display may not initialise or graphics will become corrupted. +// PIO write cycle frequency = (CPU clock/(4 * RP2040_PIO_CLK_DIV)) +//#define RP2040_PIO_CLK_DIV 1 // 32ns write cycle at 125MHz CPU clock +//#define RP2040_PIO_CLK_DIV 2 // 64ns write cycle at 125MHz CPU clock +//#define RP2040_PIO_CLK_DIV 3 // 96ns write cycle at 125MHz CPU clock + +// For the RP2040 processor define the SPI port channel used (default 0 if undefined) +//#define TFT_SPI_PORT 1 // Set to 0 if SPI0 pins are used, or 1 if spi1 pins used + +// For the STM32 processor define the SPI port channel used (default 1 if undefined) +//#define TFT_SPI_PORT 2 // Set to 1 for SPI port 1, or 2 for SPI port 2 + +// Define the SPI clock frequency, this affects the graphics rendering speed. Too +// fast and the TFT driver will not keep up and display corruption appears. +// With an ILI9341 display 40MHz works OK, 80MHz sometimes fails +// With a ST7735 display more than 27MHz may not work (spurious pixels and lines) +// With an ILI9163 display 27 MHz works OK. + +// #define SPI_FREQUENCY 1000000 +// #define SPI_FREQUENCY 5000000 +// #define SPI_FREQUENCY 10000000 +// #define SPI_FREQUENCY 20000000 +// #define SPI_FREQUENCY 27000000 +//#define SPI_FREQUENCY 40000000 +// #define SPI_FREQUENCY 55000000 // STM32 SPI1 only (SPI2 maximum is 27MHz) +#define SPI_FREQUENCY 20000000 + +// Optional reduced SPI frequency for reading TFT +#define SPI_READ_FREQUENCY 20000000 + +// The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: +#define SPI_TOUCH_FREQUENCY 2500000 + +// The ESP32 has 2 free SPI ports i.e. VSPI and HSPI, the VSPI is the default. +// If the VSPI port is in use and pins are not accessible (e.g. TTGO T-Beam) +// then uncomment the following line: +//#define USE_HSPI_PORT + +// Comment out the following #define if "SPI Transactions" do not need to be +// supported. When commented out the code size will be smaller and sketches will +// run slightly faster, so leave it commented out unless you need it! + +// Transaction support is needed to work with SD library but not needed with TFT_SdFat +// Transaction support is required if other SPI devices are connected. + +// Transactions are automatically enabled by the library for an ESP32 (to use HAL mutex) +// so changing it here has no effect + +// #define SUPPORT_TRANSACTIONS diff --git a/rogue-radar/rogue-radar.ino b/rogue-radar/rogue-radar.ino index 9b7e51d..6c108b2 100644 --- a/rogue-radar/rogue-radar.ino +++ b/rogue-radar/rogue-radar.ino @@ -86,7 +86,7 @@ // ─── GPS Serial ───────────────────────────────────────────────── #if HAS_GPS - #if !CONFIG_IDF_TARGET_ESP32C5 + #if DEVICE_T_EMBED_S3 HardwareSerial Serial2(GPS_SERIAL_INDEX); // UART1 for S3, UART2 for CYD / NM-CYD-C5 #endif #endif @@ -410,7 +410,7 @@ static void touch_read_cb(lv_indev_t *indev, lv_indev_data_t *data) } #endif -#if HAS_TOUCH +#ifdef HAS_TOUCH static void touch_read_cb(lv_indev_t *indev, lv_indev_data_t *data) { uint16_t touchX, touchY;