This Program is for MAPLE board with OLED and GPS/RTC module. OLED module(OB) : 128 x 128 pixels, 4K color GPS/RTC module(GB) : UP501 These module can buy Marutyu (http://www.marutsu.co.jp)
Revision 0:58e40a872950, committed 2011-06-05
- Comitter:
- y_notsu
- Date:
- Sun Jun 05 15:10:48 2011 +0000
- Commit message:
Changed in this revision
diff -r 000000000000 -r 58e40a872950 MARMEX_OB_oled.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MARMEX_OB_oled.h Sun Jun 05 15:10:48 2011 +0000 @@ -0,0 +1,485 @@ +/** MARMEX_OB OLED screen drawing library + * + * @class MARMEX_OB_oled + * @author tedd + * @version 0.51 + * @date 08-Apr-2011 + * + * Released under the MIT License: http://mbed.org/license/mit + * + * MARMEX_OB_oled OLED screen drawing library for mbed + * This code has been written based on sample code and advises + * from Ochiai-san (Marutsu-Elec). Thank you! + * + * SPI mode: + * 9bit or 8bit SPI mode can be selected by disabling/enabling "#define MARMEX_OB_SPI_8BIT_MODE". + * See source code in this (MARMEX_OB_oled.h) file. + */ + +#ifndef MBED_MARMEX_OB_OLED +#define MBED_MARMEX_OB_OLED + +#include "mbed.h" +#include "NokiaLCD.h" + +/** @def MARMEX_OB_SPI_8BIT_MODE + * + * MARMEX_OB_oled_oled OLED screen SPI access length setting + * Enabling "MARMEX_OB_SPI_8BIT_MODE" makes 9bit SPI access by 8bit * 2 times. + * This may be useful if other 8bit access SPI device on same SPI bus. + * + * If disabled (just coment out the "#define MARMEX_OB_SPI_8BIT_MODE"), SPI access willbe done by 9 bit format. + */ +#define MARMEX_OB_SPI_8BIT_MODE + +/** MARMEX_OB_oled OLED screen drawing class + * + * This is a driver code for MARMEX_OB_oled board OLED screen. + * This class inherits NokiaLCD class of mbed.org. + * To use this class, import the NokiaLCD class from here.. + * http://mbed.org/users/simon/libraries/NokiaLCD/ + * + * Example: + * @code + * #include "mbed.h" + * #include "MARMEX_OB_oled.h" + * + * // oled1 is for MARMEX_OB_oled board on MAPLE slot 1 + * // oled1 is for MARMEX_OB_oled board on MAPLE slot 2 + * + * MARMEX_OB_oled oled1( p5, p7, p8, p30, p11 ); // mosi, sclk, cs, rst, power_control + * //MARMEX_OB_oled oled2( p5, p7, p26, p21, p17 ); // mosi, sclk, cs, rst, power_control + * + * + * int main() { + * oled1.background( 0x000000 ); + * oled1.cls(); + * + * int colorbar_width = MARMEX_OB_oled::WIDTH / 8; + * + * for ( int i = 0; i < 8; i++ ) + * oled1.fill( colorbar_width * i, 0, colorbar_width, MARMEX_OB_oled::HEIGHT, ((i & 0x4) ? 0xFF0000 : 0x000000) | ((i & 0x2) ? 0x00FF00 : 0x000000) | ((i & 0x1) ? 0x0000FF : 0x000000) ); + * + * oled1.fill( 50, 50, 64, 64, 0xCCCCCC );; + * + * oled1.locate( 0, 3 ); + * oled1.printf( "Hello World!" ); + * oled1.locate( 0, 4 ); + * oled1.printf( "SPI = %s", MERMEX_OB_SPI_MODE_STR ); + * + * for (int i = 0; i < MARMEX_OB_oled::WIDTH; i++ ) { + * oled1.pixel( i, 80 + sin( (float)i / 5.0 ) * 10, 0x000000 ); + * } + * } * @endcode + */ + +class MARMEX_OB_oled : public NokiaLCD { + +public: + + /** General parameters for MARMEX_OB_oled */ + enum { + ROWS = 15, /**< # of rows (lines) for displaying characters */ + COLS = 16, /**< # of columns (width) for displaying characters */ + WIDTH = 128, /**< screen width [pixels] */ + HEIGHT = 128, /**< screen height [pixels] */ + SPI_FREQUENCY = 20000000 /**< SPI (sclk) SPI_FREQUENCY */ + }; + + /** Constants for power() function */ + enum { + OFF = 0, /**< : to turning-OFF */ + ON /**< : to turning-ON */ + }; + + /** Create a MARMEX_OB_oled object connected to specified SPI and DigitalOut pins + * + * @param mosi SPI-MOSI pin (for MAPLE board, use p5) + * @param sclk SPI-SCLK pin (for MAPLE board, use p8) + * @param cs chip select signal (for MAPLE board, use p8(slot1), p26(slot2)) + * @param rst reset signal (for MAPLE board, use p30(slot1), p21(slot2)) + * @param power_pin backlight power control signal (for MAPLE board, use p11(slot1), p17(slot2)) + * + * Example of MARMEX_OB_oled on MAPLE board: + * @code + * #include "mbed.h" + * #include "MARMEX_OB_oled.h" + * + * MARMEX_OB_oled oled_on_maple_slot1( p5, p7, p8, p30, p11 ); // mosi, sclk, cs, rst, power_control + * MARMEX_OB_oled oled_on_maple_slot2( p5, p7, p26, p21, p17 ); // mosi, sclk, cs, rst, power_control + * ... + * .. + * @endcode + */ + + MARMEX_OB_oled( PinName mosi, PinName sclk, PinName cs, PinName rst, PinName power_pin ) : NokiaLCD( mosi, sclk, cs, rst, NokiaLCD::LCD6100 ), _power_pin( power_pin ) { + power( ON ); + reset(); + } + +#if DOXYGEN_ONLY + /** Write a character to the LCD + * + * @param c The character to write to the display + */ + int putc( int c ); + + /** Write a formated string to the LCD + * + * @param format A printf-style format string, followed by the + * variables to use in formating the string. + * + * !!! 16th character in the string will be disappeared + * !!! This problem is due to difference of screen size NokiaLCD library and its internal mechanism... + */ + int printf( const char* format, ... ); + + /** Set the foreground colour + * + * @param c 24-bit colour + */ + void foreground(int c); + + /** Set the background colour + * + * @param c 24-bit colour + */ + void background(int c); + +#endif + + /** reset MARMEX_OB_oled + * + * Executes hardware reset and initialize. + * See MARMEX_OB_oled manual for the initialization sequence and values + * For gamma correction table, using math function to make the code simple + */ + + void reset( void ) { + +#define GAMMA_LUT_SIZE 63 + unsigned char gamma_LUT[ GAMMA_LUT_SIZE ]; + + for ( int i = 0; i < GAMMA_LUT_SIZE; i++ ) + gamma_LUT[ i ] = (unsigned char)(powf( ((float)i / 62.0), (1.0 / 0.58) ) * 178.0 + 2.0); + + // setup the SPI interface and bring display out of reset + _cs = 1; + _rst = 0; +#ifdef MARMEX_OB_SPI_8BIT_MODE + _spi.format( 8 ); +#else + _spi.format( 9 ); +#endif + + _spi.frequency( SPI_FREQUENCY ); + wait_ms( 1 ); + _rst = 1; + wait_ms( 1 ); + + _cs = 0; + + command( SET_DISPLAY_MODE_ALL_OFF ); + command( SET_COMMAND_LOCK ); + data( 0x12 ); + + command( SET_COMMAND_LOCK ); + data( 0xb1 ); + + command( SET_SLEEP_MODE_ON ); + + command( FRONT_CLOCK_DRIVER_OSC_FREQ ); + data( 0xF1 ); + + command( SET_MUX_RATIO ); + data( 0x7F ); + + command( SET_DISPAY_OFFSET ); + data( 0x00 ); + + command( SET_DISPAY_START_LINE ); + data( 0x00 ); + + command( SET_REMAP_COLOR_DEPTH ); + data( 0x74 ); + + command( SET_GPIO ); + data( 0x00); + + command( FUNCTION_SELECTION ); + data( 0x01 ); + + command( SET_SEGMENT_LOW_VOLTAGE ); + data( 0xA0 ); + data( 0xB5 ); + data( 0x55 ); + + command( SET_CONTRAST_CURRENT_FOR_COLOR_ABC ); + data( 0xC8 ); + data( 0x80 ); + data( 0xC8 ); + + command( MASTER_CONTRAST_CURRENT_CONTROL ); + data( 0x0F ); + + command( LOOKUP_TABLE_FOR_GRAYSCALE_PULSE_WIDTH ); + for ( int i = 0; i < GAMMA_LUT_SIZE; i++ ) + data( gamma_LUT[ i ] ); + + command( SET_RESET_PRECHARGE_PERIOD ); + data( 0x32 ); + + command( ENHANCE_DRIVING_SCHEME_CAPABILITY ); + data( 0x04 ); + data( 0x00 ); + data( 0x00 ); + + command( SET_PRECHARGE_VOLTAGE ); + data( 0x17 ); + + command( SET_SECOND_PRECHARGE_VOLTAGE ); + data( 0x01 ); + + command( SET_VCOMH_VOLTAGE ); + data( 0x05 ); + + command( SET_DISPLAY_MODE_RESET ); + +#if 0 + command( SET_COLUMN_ADDRESS ); + data( 0x00 ); + data( 0x7F ); + + command( SET_ROW_ADDRESS ); + data( 0x00 ); + data( 0x7F); + + command( WRITE_RAM_COMMAND ); + for ( int i = 0; i < WIDTH * HEIGHT; i++ ) + data( 0x00 ); +#endif + _cs = 1; + + cls(); + wait_ms( 200 ); + + command( SET_SLEEP_MODE_OFF ); + } + + /** Clear the screen and locate to 0,0 */ + + void cls( void ) { + fill( 0, 0, WIDTH , HEIGHT, _background ); + _row = 0; + _column = 0; + } + + /** Set a pixel on te screen + * + * @param x horizontal position from left + * @param y vertical position from top + * @param colour 24-bit colour in format 0x00RRGGBB + */ + + virtual void pixel( int x, int y, int colour ) { + _cs = 0; + _window( x, y, 1, 1 ); + _putp( colour ); + _cs = 1; + } + + /** Fill an area of the screen + * + * @param x horizontal position from left + * @param y vertical position from top + * @param width width in pixels + * @param height height in pixels + * @param colour 24-bit colour in format 0x00RRGGBB + */ + + void fill( int x, int y, int width, int height, int colour ) { + _cs = 0; + _window( x, y, width, height ); + + for (int i = 0; i < width * height; i++ ) { + _putp( colour ); + } + + _window( 0, 0, WIDTH, HEIGHT ); + _cs = 1; + } + + void blit( int x, int y, int width, int height, const int* colour ) { + _cs = 0; + _window( x, y, width, height ); + + for (int i = 0; i < width * height; i++ ) { + _putp( colour[i] ); + } + _window( 0, 0, WIDTH, HEIGHT ); + _cs = 1; + } + + void bitblit( int x, int y, int width, int height, const char* bitstream ) { + _cs = 0; + _window( x, y, width, height ); + + for (int i = 0; i < height * width; i++ ) { + int byte = i / 8; + int bit = i % 8; + int colour = ((bitstream[ byte ] << bit) & 0x80) ? _foreground : _background; + _putp( colour ); + } + _window( 0, 0, _width, _height ); + _cs = 1; + } + + /** Screen width + * + * @return screen width [pixel] + */ + int width() { + return WIDTH; + } + + /** Screen height + * + * @return screen height [pixel] + */ + int height() { + return HEIGHT; + } + /** Columns + * + * @return screen columns + */ + int columns() { + return COLS; + } + + /** Rows + * + * @return screen rows + */ + int rows() { + return ROWS; + } + + /** Power switch for OLED backlight + * + * @param sw argument can be MARMEX_OB_oled::ON or MARMEX_OB_oled::OFF + */ + + void power( unsigned char sw ) { + _power_pin = sw; + } + +private: + /** Command list for the OLED controller */ + enum { + SET_DISPLAY_MODE_ALL_OFF = 0xA4, + SET_COMMAND_LOCK = 0xFD, + SET_SLEEP_MODE_ON = 0xAE, + FRONT_CLOCK_DRIVER_OSC_FREQ = 0xB3, + SET_MUX_RATIO = 0xCA, + SET_DISPAY_OFFSET = 0xA2, + SET_DISPAY_START_LINE = 0xA1, + SET_REMAP_COLOR_DEPTH = 0xA0, + SET_GPIO = 0xB5, + FUNCTION_SELECTION = 0xAB, + SET_SEGMENT_LOW_VOLTAGE = 0xB4, + SET_CONTRAST_CURRENT_FOR_COLOR_ABC = 0xC1, + MASTER_CONTRAST_CURRENT_CONTROL = 0xC7, + LOOKUP_TABLE_FOR_GRAYSCALE_PULSE_WIDTH = 0xB8, + SET_RESET_PRECHARGE_PERIOD = 0xB1, + ENHANCE_DRIVING_SCHEME_CAPABILITY = 0xB2, + SET_PRECHARGE_VOLTAGE = 0xBB, + SET_SECOND_PRECHARGE_VOLTAGE = 0xB6, + SET_VCOMH_VOLTAGE = 0xBE, + SET_DISPLAY_MODE_RESET = 0xA6, + SET_COLUMN_ADDRESS = 0x15, + SET_ROW_ADDRESS = 0x75, + WRITE_RAM_COMMAND = 0x5C, + SET_SLEEP_MODE_OFF = 0xAF + }; + +#ifdef MARMEX_OB_SPI_8BIT_MODE + void command( int value ) { + int tmp = value & 0x00ff; + _cs = 0; + _spi.write( tmp >> 1 ); + _spi.write( tmp << 7 ); + _cs = 1; + } + + void data( int value ) { + int tmp = value & 0x00ff; + tmp |= 0x0100; + _cs = 0; + _spi.write( tmp >> 1 ); + _spi.write( tmp << 7 ); + _cs = 1; + } +#else + void command( int value ) { + _cs = 0; + _spi.write( value & 0xFF ); + _cs = 1; + } + + void data(int value) { + _cs = 0; + _spi.write( value | 0x100 ); + _cs = 1; + } +#endif + + virtual void _window( int x, int y, int width, int height ) { + int x1 = x + 0; + int y1 = y + 0; + int x2 = x1 + width - 1; + int y2 = y1 + height - 1; + + command( SET_COLUMN_ADDRESS ); + data( x1 ); + data( x2 ); + command( SET_ROW_ADDRESS ); + data( y1 ); + data( y2 ); + command( WRITE_RAM_COMMAND ); + } + + void window( int x, int y, int width, int height ) { + _cs = 0; + _window( x, y, width, height ); + _cs = 1; + } + + virtual void _putp( int colour ) { + int cnv = 0; + + cnv = (colour >> 8) & 0xf800; + cnv |= (colour >> 5) & 0x07e0; + cnv |= (colour >> 3) & 0x001f; + + data( cnv >> 8); + data( cnv ); + } + + DigitalOut _power_pin; +} +; + +#ifdef MARMEX_OB_SPI_8BIT_MODE +#define MERMEX_OB_SPI_MODE_STR "8bit mode" +#else +#define MERMEX_OB_SPI_MODE_STR "9bit mode" +#endif +#endif // MBED_MARMEX_OB_OLED + +/* + * history: + * 0.5 (2011-Apr-07) : initial published version + * 0.51 (2011-Apr-08) : a. "virtual" had been added on "_putp()" function definition to surpress warning when compiling (is this correct way?) + * b. sample code (for Doxygen) is changed from new "main.cpp (ver 0.51)" + */
diff -r 000000000000 -r 58e40a872950 NokiaLCD/NokiaLCD.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NokiaLCD/NokiaLCD.cpp Sun Jun 05 15:10:48 2011 +0000 @@ -0,0 +1,438 @@ +/* mbed Nokia LCD Library + * Copyright (c) 2007-2010, sford + */ + +#include "NokiaLCD.h" + +#include "mbed.h" + +#define NOKIALCD_ROWS 16 +#define NOKIALCD_COLS 16 +#define NOKIALCD_WIDTH 130 +#define NOKIALCD_HEIGHT 130 +#define NOKIALCD_FREQUENCY 20000000 + +NokiaLCD::NokiaLCD(PinName mosi, PinName sclk, PinName cs, PinName rst, LCDType type) + : _spi(mosi, NC, sclk) + , _rst(rst) + , _cs(cs) { + + _type = type; + + _row = 0; + _column = 0; + _foreground = 0x00FFFFFF; + _background = 0x00000000; + + reset(); +} + +void NokiaLCD::reset() { + + // setup the SPI interface and bring display out of reset + _cs = 1; + _rst = 0; + _spi.format(9); + _spi.frequency(NOKIALCD_FREQUENCY); + wait_ms(1); + _rst = 1; + wait_ms(1); + + _cs = 0; + + switch (_type) { + case LCD6100: + command(0xCA); // display control + data(0); + data(32); + data(0); + command(0xBB); + data(1); + command(0xD1); // oscillator on + command(0x94); // sleep out + command(0x20); // power control + data(0x0F); + command(0xA7); // invert display + command(0x81); // Voltage control + data(39); // contrast setting: 0..63 + data(3); // resistance ratio + wait_ms(1); + command(0xBC); + data(0); + data(1); + data(4); + command(0xAF); // turn on the display + break; + + case LCD6610: + command(0xCA); // display control + data(0); + data(31); + data(0); + command(0xBB); + data(1); + command(0xD1); // oscillator on + command(0x94); // sleep out + command(0x20); // power control + data(0x0F); + command(0xA7); // invert display + command(0x81); // Voltage control + data(39); // contrast setting: 0..63 + data(3); // resistance ratio + wait_ms(1); + command(0xBC); + data(0); + data(0); + data(2); + command(0xAF); // turn on the display + break; + + case PCF8833: + command(0x11); // sleep out + command(0x3A); // column mode + data(0x05); + command(0x36); // madctl + data(0x60); // vertical RAM, flip x + command(0x25); // setcon + data(0x30);// contrast 0x30 + wait_ms(2); + command(0x29);//DISPON + command(0x03);//BSTRON + break; + } + + _cs = 1; + + cls(); +} + +void NokiaLCD::command(int value) { + _spi.write(value & 0xFF); +} + +void NokiaLCD::data(int value) { + _spi.write(value | 0x100); +} + +void NokiaLCD::_window(int x, int y, int width, int height) { + int x1 = x + 2; + int y1 = y + 0; + int x2 = x1 + width - 1; + int y2 = y1 + height - 1; + + switch (_type) { + case LCD6100: + case LCD6610: + command(0x15); // column + data(x1); + data(x2); + command(0x75); // row + data(y1); + data(y2); + command(0x5C); // start write to ram + break; + case PCF8833: + command(0x2A); // column + data(x1); + data(x2); + command(0x2B); // row + data(y1); + data(y2); + command(0x2C); // start write to ram + break; + } +} + +void NokiaLCD::_putp(int colour) { + int gr = ((colour >> 20) & 0x0F) //MSB 4bit(red) + | ((colour >> 8 ) & 0xF0); //Middle 4bit (green) + int nb = ((colour >> 4 ) & 0x0F); //LSB 4bit (blue) + data(nb); + data(gr); +} + +const unsigned char FONT8x8[97][8] = { + 0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00, // columns, rows, num_bytes_per_char + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space 0x20 + 0x30,0x78,0x78,0x30,0x30,0x00,0x30,0x00, // ! + 0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00, // " + 0x6C,0x6C,0xFE,0x6C,0xFE,0x6C,0x6C,0x00, // # + 0x18,0x3E,0x60,0x3C,0x06,0x7C,0x18,0x00, // $ + 0x00,0x63,0x66,0x0C,0x18,0x33,0x63,0x00, // % + 0x1C,0x36,0x1C,0x3B,0x6E,0x66,0x3B,0x00, // & + 0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00, // ' + 0x0C,0x18,0x30,0x30,0x30,0x18,0x0C,0x00, // ( + 0x30,0x18,0x0C,0x0C,0x0C,0x18,0x30,0x00, // ) + 0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00, // * + 0x00,0x30,0x30,0xFC,0x30,0x30,0x00,0x00, // + + 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x30, // , + 0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00, // - + 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00, // . + 0x03,0x06,0x0C,0x18,0x30,0x60,0x40,0x00, // / (forward slash) + 0x3E,0x63,0x63,0x6B,0x63,0x63,0x3E,0x00, // 0 0x30 + 0x18,0x38,0x58,0x18,0x18,0x18,0x7E,0x00, // 1 + 0x3C,0x66,0x06,0x1C,0x30,0x66,0x7E,0x00, // 2 + 0x3C,0x66,0x06,0x1C,0x06,0x66,0x3C,0x00, // 3 + 0x0E,0x1E,0x36,0x66,0x7F,0x06,0x0F,0x00, // 4 + 0x7E,0x60,0x7C,0x06,0x06,0x66,0x3C,0x00, // 5 + 0x1C,0x30,0x60,0x7C,0x66,0x66,0x3C,0x00, // 6 + 0x7E,0x66,0x06,0x0C,0x18,0x18,0x18,0x00, // 7 + 0x3C,0x66,0x66,0x3C,0x66,0x66,0x3C,0x00, // 8 + 0x3C,0x66,0x66,0x3E,0x06,0x0C,0x38,0x00, // 9 + 0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00, // : + 0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x30, // ; + 0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x00, // < + 0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00, // = + 0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x00, // > + 0x3C,0x66,0x06,0x0C,0x18,0x00,0x18,0x00, // ? + 0x3E,0x63,0x6F,0x69,0x6F,0x60,0x3E,0x00, // @ 0x40 + 0x18,0x3C,0x66,0x66,0x7E,0x66,0x66,0x00, // A + 0x7E,0x33,0x33,0x3E,0x33,0x33,0x7E,0x00, // B + 0x1E,0x33,0x60,0x60,0x60,0x33,0x1E,0x00, // C + 0x7C,0x36,0x33,0x33,0x33,0x36,0x7C,0x00, // D + 0x7F,0x31,0x34,0x3C,0x34,0x31,0x7F,0x00, // E + 0x7F,0x31,0x34,0x3C,0x34,0x30,0x78,0x00, // F + 0x1E,0x33,0x60,0x60,0x67,0x33,0x1F,0x00, // G + 0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x00, // H + 0x3C,0x18,0x18,0x18,0x18,0x18,0x3C,0x00, // I + 0x0F,0x06,0x06,0x06,0x66,0x66,0x3C,0x00, // J + 0x73,0x33,0x36,0x3C,0x36,0x33,0x73,0x00, // K + 0x78,0x30,0x30,0x30,0x31,0x33,0x7F,0x00, // L + 0x63,0x77,0x7F,0x7F,0x6B,0x63,0x63,0x00, // M + 0x63,0x73,0x7B,0x6F,0x67,0x63,0x63,0x00, // N + 0x3E,0x63,0x63,0x63,0x63,0x63,0x3E,0x00, // O + 0x7E,0x33,0x33,0x3E,0x30,0x30,0x78,0x00, // P 0x50 + 0x3C,0x66,0x66,0x66,0x6E,0x3C,0x0E,0x00, // Q + 0x7E,0x33,0x33,0x3E,0x36,0x33,0x73,0x00, // R + 0x3C,0x66,0x30,0x18,0x0C,0x66,0x3C,0x00, // S + 0x7E,0x5A,0x18,0x18,0x18,0x18,0x3C,0x00, // T + 0x66,0x66,0x66,0x66,0x66,0x66,0x7E,0x00, // U + 0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00, // V + 0x63,0x63,0x63,0x6B,0x7F,0x77,0x63,0x00, // W + 0x63,0x63,0x36,0x1C,0x1C,0x36,0x63,0x00, // X + 0x66,0x66,0x66,0x3C,0x18,0x18,0x3C,0x00, // Y + 0x7F,0x63,0x46,0x0C,0x19,0x33,0x7F,0x00, // Z + 0x3C,0x30,0x30,0x30,0x30,0x30,0x3C,0x00, // [ + 0x60,0x30,0x18,0x0C,0x06,0x03,0x01,0x00, // \ (back slash) + 0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00, // ] + 0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00, // ^ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, // _ + 0x18,0x18,0x0C,0x00,0x00,0x00,0x00,0x00, // ` 0x60 + 0x00,0x00,0x3C,0x06,0x3E,0x66,0x3B,0x00, // a + 0x70,0x30,0x3E,0x33,0x33,0x33,0x6E,0x00, // b + 0x00,0x00,0x3C,0x66,0x60,0x66,0x3C,0x00, // c + 0x0E,0x06,0x3E,0x66,0x66,0x66,0x3B,0x00, // d + 0x00,0x00,0x3C,0x66,0x7E,0x60,0x3C,0x00, // e + 0x1C,0x36,0x30,0x78,0x30,0x30,0x78,0x00, // f + 0x00,0x00,0x3B,0x66,0x66,0x3E,0x06,0x7C, // g + 0x70,0x30,0x36,0x3B,0x33,0x33,0x73,0x00, // h + 0x18,0x00,0x38,0x18,0x18,0x18,0x3C,0x00, // i + 0x06,0x00,0x06,0x06,0x06,0x66,0x66,0x3C, // j + 0x70,0x30,0x33,0x36,0x3C,0x36,0x73,0x00, // k + 0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00, // l + 0x00,0x00,0x66,0x7F,0x7F,0x6B,0x63,0x00, // m + 0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x00, // n + 0x00,0x00,0x3C,0x66,0x66,0x66,0x3C,0x00, // o + 0x00,0x00,0x6E,0x33,0x33,0x3E,0x30,0x78, // p + 0x00,0x00,0x3B,0x66,0x66,0x3E,0x06,0x0F, // q + 0x00,0x00,0x6E,0x3B,0x33,0x30,0x78,0x00, // r + 0x00,0x00,0x3E,0x60,0x3C,0x06,0x7C,0x00, // s + 0x08,0x18,0x3E,0x18,0x18,0x1A,0x0C,0x00, // t + 0x00,0x00,0x66,0x66,0x66,0x66,0x3B,0x00, // u + 0x00,0x00,0x66,0x66,0x66,0x3C,0x18,0x00, // v + 0x00,0x00,0x63,0x6B,0x7F,0x7F,0x36,0x00, // w + 0x00,0x00,0x63,0x36,0x1C,0x36,0x63,0x00, // x + 0x00,0x00,0x66,0x66,0x66,0x3E,0x06,0x7C, // y + 0x00,0x00,0x7E,0x4C,0x18,0x32,0x7E,0x00, // z + 0x0E,0x18,0x18,0x70,0x18,0x18,0x0E,0x00, // { + 0x0C,0x0C,0x0C,0x00,0x0C,0x0C,0x0C,0x00, // | + 0x70,0x18,0x18,0x0E,0x18,0x18,0x70,0x00, // } + 0x3B,0x6E,0x00,0x00,0x00,0x00,0x00,0x00, // ~ + 0x1C,0x36,0x36,0x1C,0x00,0x00,0x00,0x00 +}; // DEL + +void NokiaLCD::locate(int column, int row) { + _column = column; + _row = row; +} + +void NokiaLCD::newline() { + _column = 0; + _row++; + if (_row >= _rows) { + _row = 0; + } +} + +int NokiaLCD::_putc(int value) { + int x = _column * 8; // FIXME: Char sizes + int y = _row * 8; + bitblit(x + 1, y + 1, 8, 8, (char*)&(FONT8x8[value - 0x1F][0])); + + _column++; + + if (_column >= NOKIALCD_COLS) { + _row++; + _column = 0; + } + + if (_row >= NOKIALCD_ROWS) { + _row = 0; + } + + return value; +} + +void NokiaLCD::cls() { + fill(0, 0, NOKIALCD_WIDTH, NOKIALCD_HEIGHT, _background); + _row = 0; + _column = 0; +} + + +void NokiaLCD::window(int x, int y, int width, int height) { + _cs = 0; + _window(x, y, width, height); + _cs = 1; +} + +void NokiaLCD::putp(int colour) { + _cs = 0; + _putp(colour); + _cs = 1; +} + +void NokiaLCD::pixel(int x, int y, int colour) { + _cs = 0; + _window(x, y, 1, 1); + _putp(colour); + _cs = 1; +} + +void NokiaLCD::fill(int x, int y, int width, int height, int colour) { + _cs = 0; + _window(x, y, width, height); + switch (_type) { + case LCD6100: + case PCF8833: + for (int i=0; i<width*height; i++) { + _putp(colour); + } + break; + case LCD6610: + for (int i=0; i<width*height/2; i++) { + int r4 = (colour >> (16 + 4)) & 0xF; + int g4 = (colour >> (8 + 4)) & 0xF; + int b4 = (colour >> (0 + 4)) & 0xF; + int d1 = (r4 << 4) | g4; + int d2 = (b4 << 4) | r4; + int d3 = (g4 << 4) | b4; + data(d1); + data(d2); + data(d3); + } + break; + } + _window(0, 0, NOKIALCD_WIDTH, NOKIALCD_HEIGHT); + _cs = 1; +} + +void NokiaLCD::blit(int x, int y, int width, int height, const int* colour) { + _cs = 0; + _window(x, y, width, height); + + switch (_type) { + case LCD6100: + case PCF8833: + for (int i=0; i<width*height; i++) { + _putp(colour[i]); + } + break; + case LCD6610: + for (int i=0; i<width*height/2; i++) { + int r41 = (colour[i*2] >> (16 + 4)) & 0xF; + int g41 = (colour[i*2] >> (8 + 4)) & 0xF; + int b41 = (colour[i*2] >> (0 + 4)) & 0xF; + + int r42 = (colour[i*2+1] >> (16 + 4)) & 0xF; + int g42 = (colour[i*2+1] >> (8 + 4)) & 0xF; + int b42 = (colour[i*2+1] >> (0 + 4)) & 0xF; + int d1 = (r41 << 4) | g41; + int d2 = (b41 << 4) | r42; + int d3 = (g42 << 4) | b42; + data(d1); + data(d2); + data(d3); + } + break; + } + _window(0, 0, NOKIALCD_WIDTH, NOKIALCD_HEIGHT); + _cs = 1; +} + +void NokiaLCD::bitblit(int x, int y, int width, int height, const char* bitstream) { + _cs = 0; + _window(x, y, width, height); + + switch (_type) { + case LCD6100: + case PCF8833: + for (int i=0; i<height*width; i++) { + int byte = i / 8; + int bit = i % 8; + int colour = ((bitstream[byte] << bit) & 0x80) ? _foreground : _background; + _putp(colour); + } + break; + case LCD6610: + for(int i=0; i<height*width/2; i++) { + int byte1 = (i*2) / 8; + int bit1 = (i*2) % 8; + int colour1 = ((bitstream[byte1] << bit1) & 0x80) ? _foreground : _background; + int byte2 = (i*2+1) / 8; + int bit2 = (i*2+1) % 8; + int colour2 = ((bitstream[byte2] << bit2) & 0x80) ? _foreground : _background; + + int r41 = (colour1 >> (16 + 4)) & 0xF; + int g41 = (colour1 >> (8 + 4)) & 0xF; + int b41 = (colour1 >> (0 + 4)) & 0xF; + + int r42 = (colour2 >> (16 + 4)) & 0xF; + int g42 = (colour2 >> (8 + 4)) & 0xF; + int b42 = (colour2 >> (0 + 4)) & 0xF; + int d1 = (r41 << 4) | g41; + int d2 = (b41 << 4) | r42; + int d3 = (g42 << 4) | b42; + data(d1); + data(d2); + data(d3); + } + break; + } + _window(0, 0, _width, _height); + _cs = 1; +} + +void NokiaLCD::foreground(int c) { + _foreground = c; +} + +void NokiaLCD::background(int c) { + _background = c; +} + +int NokiaLCD::width() { + return NOKIALCD_WIDTH; +} + +int NokiaLCD::height() { + return NOKIALCD_HEIGHT; +} + +int NokiaLCD::columns() { + return NOKIALCD_COLS; +} + +int NokiaLCD::rows() { + return NOKIALCD_ROWS; +}
diff -r 000000000000 -r 58e40a872950 NokiaLCD/NokiaLCD.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NokiaLCD/NokiaLCD.h Sun Jun 05 15:10:48 2011 +0000 @@ -0,0 +1,151 @@ +/* mbed NokiaLCD Library, for a 130x130 Nokia colour LCD + * Copyright (c) 2007-2010, sford + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef MBED_NOKIALCD_H +#define MBED_NOKIALCD_H + +#include "mbed.h" + +/** An interface for the 130x130 Nokia Mobile phone screens + * + * @code + * #include "mbed.h" + * #include "NokiaLCD.h" + * + * NokiaLCD lcd(p5, p7, p8, p9, NokiaLCD::6610); // mosi, sclk, cs, rst, type + * + * int main() { + * lcd.printf("Hello World!"); + * } + * @endcode + */ +class NokiaLCD : public Stream { + +public: + /** LCD panel format */ + enum LCDType { + LCD6100 /**< Nokia 6100, as found on sparkfun board (default) */ + , LCD6610 /**< Nokia 6610, as found on olimex board */ + , PCF8833 + }; + + /** Create and Nokia LCD interface, using a SPI and two DigitalOut interfaces + * + * @param mosi SPI data out + * @param sclk SPI clock + * @param cs Chip Select (DigitalOut) + * @param rst Reset (DigitalOut) + * @param type The LCDType to select driver chip variants + */ + NokiaLCD(PinName mosi, PinName sclk, PinName cs, PinName rst, LCDType type = LCD6100); + +#if DOXYGEN_ONLY + /** Write a character to the LCD + * + * @param c The character to write to the display + */ + int putc(int c); + + /** Write a formated string to the LCD + * + * @param format A printf-style format string, followed by the + * variables to use in formating the string. + */ + int printf(const char* format, ...); +#endif + + /** Locate to a screen column and row + * + * @param column The horizontal position from the left, indexed from 0 + * @param row The vertical position from the top, indexed from 0 + */ + void locate(int column, int row); + + /** Clear the screen and locate to 0,0 */ + void cls(); + + /** Set a pixel on te screen + * + * @param x horizontal position from left + * @param y vertical position from top + * @param colour 24-bit colour in format 0x00RRGGBB + */ + void pixel(int x, int y, int colour); + + /** Fill an area of the screen + * + * @param x horizontal position from left + * @param y vertical position from top + * @param width width in pixels + * @param height height in pixels + * @param colour 24-bit colour in format 0x00RRGGBB + */ + void fill(int x, int y, int width, int height, int colour); + + void blit(int x, int y, int width, int height, const int* colour); + void bitblit(int x, int y, int width, int height, const char* bitstream); + + int width(); + int height(); + int columns(); + int rows(); + + void reset(); + + /** Set the foreground colour + * + * @param c 24-bit colour + */ + void foreground(int c); + + /** Set the background colour + * + * @param c 24-bit colour + */ + void background(int c); + +protected: + virtual void _window(int x, int y, int width, int height); + virtual void _putp(int colour); + + void command(int value); + void data(int value); + + void newline(); + virtual int _putc(int c); + virtual int _getc() { + return 0; + } + void putp(int v); + void window(int x, int y, int width, int height); + + SPI _spi; + DigitalOut _rst; + DigitalOut _cs; + + LCDType _type; + int _row, _column, _rows, _columns, _foreground, _background, _width, _height; +}; + +#endif + +
diff -r 000000000000 -r 58e40a872950 gpsrtc.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gpsrtc.cpp Sun Jun 05 15:10:48 2011 +0000 @@ -0,0 +1,370 @@ +//========================================================= +// LPC1114 Project +//========================================================= +// File Name : gpsrtc.c +// Function : GPS&RTC Control +//--------------------------------------------------------- +// Rev.01 2010.08.29 Munetomo Maruyama +//--------------------------------------------------------- +// Copyright (C) 2010-2011 Munetomo Maruyama +//========================================================= +// ---- License Information ------------------------------- +// Anyone can FREELY use this code fully or partially +// under conditions shown below. +// 1. You may use this code only for individual purpose, +// and educational purpose. +// Do not use this code for business even if partially. +// 2. You should use this code under the GNU GPL. +// 3. You should remain this header text in your codes +// including Copyright credit and License Information. +// 4. Your codes should inherit this license information. +//========================================================= +// ---- Patent Notice ------------------------------------- +// I have not cared whether this system (hw + sw) causes +// infringement on the patent, copyright, trademark, +// or trade secret rights of others. You have all +// responsibilities for determining if your designs +// and products infringe on the intellectual property +// rights of others, when you use technical information +// included in this system for your business. +//========================================================= +// ---- Disclaimers --------------------------------------- +// The function and reliability of this system are not +// guaranteed. They may cause any damages to loss of +// properties, data, money, profits, life, or business. +// By adopting this system even partially, you assume +// all responsibility for its use. +//========================================================= + +//#ifdef __USE_CMSIS +//#include "LPC11xx.h" +//#endif + +//#include "gpio.h" +#include "gpsrtc.h" +//#include "i2c.h" +//#include "systick.h +#include "type.h" +//#include "uart.h" +//#include "utility.h" +#include "mbed.h" + +Serial device(p9,p10); //tx,rx +I2C i2c(p28,p27); //sda.scl + +//====================== +// Time Zone Difference +//====================== +#define TZD (+9) // Japan + +//==================== +// RTC Device Address +//==================== +#define RTC_DEV_ADDR 0xa2 +#define RTC_WADDR 0xa2 +#define RTC_RADDR 0xa3 + +//======================= +// RTC Register Address +//======================= +#define RTC_CONTROL1 0x00 +#define RTC_CONTROL2 0x01 +#define RTC_SECONDS 0x02 +#define RTC_MINUTES 0x03 +#define RTC_HOURS 0x04 +#define RTC_DAYS 0x05 +#define RTC_WEEKDAYS 0x06 +#define RTC_C_MONTHS 0x07 +#define RTC_YEARS 0x08 +#define RTC_MINUTE_ALARM 0x09 +#define RTC_HOUR_ALARM 0x0a +#define RTC_DAY_ALARM 0x0b +#define RTC_WEEKDAY_ALARM 0x0c +#define RTC_CLKOUT_FREQ 0x0d +#define RTC_TIMER_CONTROL 0x0e +#define RTC_TIMER 0x0f + +//============ +// Globals +//============ +extern volatile uint32_t I2CCount; +//extern volatile uint8_t I2CMasterBuffer[BUFSIZE]; +//extern volatile uint8_t I2CSlaveBuffer[BUFSIZE]; +extern volatile uint32_t I2CMasterState; +extern volatile uint32_t I2CReadLength, I2CWriteLength; +// +extern volatile uint32_t UARTCount; + +//======================== +// Get Number from GPS +//======================== +uint8_t* Get_Number_from_GPS(uint8_t *pStr, + int32_t *pInteger, int32_t *pIntrnd, int32_t *pDecimal, uint32_t *pDeclen) +{ + uint8_t ch; + int32_t found_decimal; + int32_t pol; + int32_t decimal_1st; + + found_decimal = 0; + *pInteger = 0; + *pDecimal = 0; + *pDeclen = 0; + pol = 1; + while ((ch = *pStr++) != ',') + { + if (ch == '.') + { + found_decimal = 1; + } + else if (ch == '-') + { + pol = -1; + } + else + { + if (found_decimal == 0) + { + *pInteger = (*pInteger) * 10 + (ch - '0'); + } + else + { + *pDecimal = (*pDecimal) * 10 + (ch - '0'); + *pDeclen = *pDeclen + 1; + } + } + } + decimal_1st = (*pDeclen > 0)? *pDecimal / power(10, *pDeclen - 1) : 0; + *pIntrnd = (decimal_1st < 5)? *pInteger : *pInteger + 1; + // + *pInteger = *pInteger * pol; + *pIntrnd = *pIntrnd * pol; + *pDecimal = *pDecimal * pol; + return pStr; +} + +//=========================== +// Get_GPGGA Data from GPS +//=========================== +void Get_GPGGA_Data(sGPSRTC *pG) +{ + uint8_t ch; + uint8_t str[256]; + uint8_t *pStr; + uint32_t quit = 0; + int32_t integer; + int32_t intrnd; + int32_t decimal; + uint32_t declen; + device.baud(9600); + + //------------------------- + // Get String after $GPGGA + //------------------------- + while(quit == 0) + { + //-------------------------- + // Retry from 1st String + //-------------------------- + while(quit == 0) + { + //---------------- + // Check "$GPGGA," + //---------------- + if (device.getc() != '$') break; + if (device.getc() != 'G') break; + if (device.getc() != 'P') break; + if (device.getc() != 'G') break; + if (device.getc() != 'G') break; + if (device.getc() != 'A') break; + if (device.getc() != ',') break; + //----------------- + // Get String + //----------------- + pStr = str; + while ((ch = device.getc()) != '\r') // LF + { + *pStr++ = ch; + } + quit = 1; + } + } + pStr = str; + //------------- + // UTC + //------------- + pStr = Get_Number_from_GPS(pStr, &integer, &intrnd, &decimal, &declen); + pG->bGPS_UTC_hour = (uint8_t) (integer / 10000); + pG->bGPS_UTC_min = (uint8_t) ((integer % 10000) / 100); + pG->bGPS_UTC_sec = (uint8_t) (integer % 100); + //--------------- + // Latitude + //--------------- + pStr = Get_Number_from_GPS(pStr, &integer, &intrnd, &decimal, &declen); + pG->bGPS_LAT_deg = (uint8_t) (integer / 100); + pG->bGPS_LAT_min = (uint8_t) (integer % 100); + pG->bGPS_LAT_sec = (uint8_t) ((60 * decimal) / power(10, declen)); + pG->cGPS_LAT = (*pStr != ',')? *pStr++ : ' '; + ch = *pStr++; // ',' + //--------------- + // Longitude + //--------------- + pStr = Get_Number_from_GPS(pStr, &integer, &intrnd, &decimal, &declen); + pG->bGPS_LNG_deg = (uint8_t) (integer / 100); + pG->bGPS_LNG_min = (uint8_t) (integer % 100); + pG->bGPS_LNG_sec = (uint8_t) ((60 * decimal) / power(10, declen)); + pG->cGPS_LNG = (*pStr != ',')? *pStr++ : ' '; + ch = *pStr++; // ',' + //-------------- + // GPS Quality + //-------------- + pG->cGPS_Quality = *pStr++; + ch = *pStr++; // ',' + //----------------- + // Satellite Count + //----------------- + pStr = Get_Number_from_GPS(pStr, &integer, &intrnd, &decimal, &declen); + pG->bGPS_Sat = (uint8_t) integer; + //----------------- + // HDOP + //----------------- + pStr = Get_Number_from_GPS(pStr, &integer, &intrnd, &decimal, &declen); + pG->bGPS_HDOP_I = (uint8_t) integer; + pG->bGPS_HDOP_D = (uint8_t) ((decimal + power(10, declen) / 2) / power(10, declen)); + //------------------------- + // Altitude above Sea Level + //------------------------- + pStr = Get_Number_from_GPS(pStr, &integer, &intrnd, &decimal, &declen); + pG->wGPS_ASL_m = intrnd; + ch = *pStr++; // 'M' + ch = *pStr++; // ',' + //------------------------- + // Geoid Separation + //------------------------- + pStr = Get_Number_from_GPS(pStr, &integer, &intrnd, &decimal, &declen); + pG->wGPS_GEO_m = intrnd; + ch = *pStr++; // 'M' + ch = *pStr++; // ',' +} + +//================== +// Initialize RTC +//================== +void Init_RTC(uint32_t do_adj, uint8_t year, uint8_t month, uint8_t day, + uint8_t week, uint8_t hour, uint8_t minute, uint8_t second) +{ + + wait(1); // wait 1000ms + // + RTC_Write_Reg(RTC_CONTROL1, 0x20); // STOP + RTC_Write_Reg(RTC_CONTROL2, 0x00); + // + RTC_Write_Reg(RTC_HOURS, BCD_INT(hour)); + RTC_Write_Reg(RTC_MINUTES, BCD_INT(minute)); + RTC_Write_Reg(RTC_SECONDS, BCD_INT(second)); + // + RTC_Write_Reg(RTC_YEARS, BCD_INT(year)); + RTC_Write_Reg(RTC_C_MONTHS, BCD_INT(month)); + RTC_Write_Reg(RTC_DAYS, BCD_INT(day)); + RTC_Write_Reg(RTC_WEEKDAYS, BCD_INT(week)); + // + RTC_Write_Reg(RTC_MINUTE_ALARM, 0x00); + RTC_Write_Reg(RTC_HOUR_ALARM, 0x00); + RTC_Write_Reg(RTC_DAY_ALARM, 0x00); + RTC_Write_Reg(RTC_WEEKDAY_ALARM, 0x00); + // + RTC_Write_Reg(RTC_CLKOUT_FREQ, 0x00); + RTC_Write_Reg(RTC_TIMER_CONTROL,0x00); + RTC_Write_Reg(RTC_TIMER, 0x00); + // + RTC_Write_Reg(RTC_CONTROL1, 0x00); // START +} + +//==================== +// Get RTC Data +//==================== +void Get_RTC_Data(sGPSRTC *psGPSRTC) +{ + psGPSRTC->bRTC_year = INT_BCD(RTC_Read_Reg(RTC_YEARS)); + psGPSRTC->bRTC_mon = INT_BCD(RTC_Read_Reg(RTC_C_MONTHS) & 0x1f); + psGPSRTC->bRTC_day = INT_BCD(RTC_Read_Reg(RTC_DAYS) & 0x3f); + psGPSRTC->bRTC_week = RTC_Read_Reg(RTC_WEEKDAYS) & 0x07; + psGPSRTC->bRTC_hour = INT_BCD(RTC_Read_Reg(RTC_HOURS) & 0x3f); + psGPSRTC->bRTC_min = INT_BCD(RTC_Read_Reg(RTC_MINUTES) & 0x7f); + psGPSRTC->bRTC_sec = INT_BCD(RTC_Read_Reg(RTC_SECONDS) & 0x7f); +} + +//=================== +// Get Week String +//=================== +uint8_t *Get_Week_String(uint32_t week) +{ + static const char *WEEK[] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}; + + return (uint8_t*) WEEK[week]; +} + +//===================== +// RTC Write Register +//===================== +void RTC_Write_Reg(uint32_t addr, uint32_t data) +{ + char cmd[2]; + cmd[0]=addr; + cmd[1]=data; + const int addrw=0xA2; + i2c.write(addrw,cmd,2); +} + +//==================== +// RTC Read Register +//==================== +uint32_t RTC_Read_Reg(uint32_t addr) +{ + char read_buf[2]; + const int addrw=0xa2; + const int addrr=0xa3; + char write_cmd[1]; + write_cmd[0]=char(addr); + i2c.write(addrw,write_cmd,1); + wait(0.01); + i2c.read(addrr,read_buf,1); + // + return read_buf[0]; +} + +//===================== +// BCD from Integer +//===================== +uint8_t BCD_INT(uint8_t num) +{ + return ((num / 10) << 4) + (num % 10); +} + +//======================== +// Calculate x^n +//======================== +int32_t power(int32_t x, int32_t n) +{ + uint32_t i; + int32_t y; + + y = 1; + for (i = 0; i < n; i++) + { + y = y * x; + } + return y; +} + +//===================== +// Integer from BCD +//===================== +uint8_t INT_BCD(uint8_t bcd) +{ + return (((bcd >> 4) * 10) + (bcd & 0x0f)); +} + +//========================================================= +// End of Program +//=========================================================
diff -r 000000000000 -r 58e40a872950 gpsrtc.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gpsrtc.h Sun Jun 05 15:10:48 2011 +0000 @@ -0,0 +1,103 @@ +//========================================================= +// LPC1114 Project +//========================================================= +// File Name : gpsrtc.h +// Function : GPS&RTC Control Header +//--------------------------------------------------------- +// Rev.01 2010.08.29 Munetomo Maruyama +//--------------------------------------------------------- +// Copyright (C) 2010-2011 Munetomo Maruyama +//========================================================= +// ---- License Information ------------------------------- +// Anyone can FREELY use this code fully or partially +// under conditions shown below. +// 1. You may use this code only for individual purpose, +// and educational purpose. +// Do not use this code for business even if partially. +// 2. You should use this code under the GNU GPL. +// 3. You should remain this header text in your codes +// including Copyright credit and License Information. +// 4. Your codes should inherit this license information. +//========================================================= +// ---- Patent Notice ------------------------------------- +// I have not cared whether this system (hw + sw) causes +// infringement on the patent, copyright, trademark, +// or trade secret rights of others. You have all +// responsibilities for determining if your designs +// and products infringe on the intellectual property +// rights of others, when you use technical information +// included in this system for your business. +//========================================================= +// ---- Disclaimers --------------------------------------- +// The function and reliability of this system are not +// guaranteed. They may cause any damages to loss of +// properties, data, money, profits, life, or business. +// By adopting this system even partially, you assume +// all responsibility for its use. +//========================================================= + +#ifndef __GPSRTC_H__ +#define __GPSRTC_H__ + +#include <type.h> + +//============= +// GPSRTC Data +//============= +typedef struct +{ + uint8_t bGPS_UTC_hour; // UTC hour + uint8_t bGPS_UTC_min; // UTC minute + uint8_t bGPS_UTC_sec; // UTC second + uint8_t cGPS_LAT; // Latitude N or S + uint8_t bGPS_LAT_deg; // Latitude degree + uint8_t bGPS_LAT_min; // Latitude minute + uint8_t bGPS_LAT_sec; // Latitude second + uint8_t cGPS_LNG; // Longitude E or W + uint8_t bGPS_LNG_deg; // Longitude degree + uint8_t bGPS_LNG_min; // Longitude minute + uint8_t bGPS_LNG_sec; // Longitude second + uint8_t cGPS_Quality; // GPS Quality (0:Invalid, 1: SPS, 2:D-GPS) + uint8_t bGPS_Sat; // Satellite Count + uint8_t bGPS_HDOP_I; // Horizontal Dilution of Precision, Integer + uint8_t bGPS_HDOP_D; // Horizontal Dilution of Precision, Decimal + int32_t wGPS_ASL_m; // Altitude above Sea Level in meter + int32_t wGPS_GEO_m; // Geoid Separation in meter + // + uint8_t bRTC_year; // RTC year + uint8_t bRTC_mon; // RTC month + uint8_t bRTC_day; // RTC day + uint8_t bRTC_week; // RTC week + uint8_t bRTC_hour; // RTC hour + uint8_t bRTC_min; // RTC minute + uint8_t bRTC_sec; // RTC second +} sGPSRTC; + +//=================== +// Define Weekdays +//=================== +enum WEEK {SUN = 0, MON, TUE, WED, THU, FRI, SAT}; + +//============= +// Prototypes +//============= +uint8_t* Get_Number_from_GPS(uint8_t *pStr, + int32_t *pInteger, int32_t *pIntrnd, int32_t *pDecimal, uint32_t *pDeclen); +void Get_GPGGA_Data(sGPSRTC *pG); +// +void Init_RTC(uint32_t do_adj, uint8_t year, uint8_t month, uint8_t day, + uint8_t week, uint8_t hour, uint8_t minute, uint8_t second); +void Get_RTC_Data(sGPSRTC *psGPSRTC); +uint8_t *Get_Week_String(uint32_t week); +// +void RTC_Write_Reg(uint32_t addr, uint32_t data); +uint32_t RTC_Read_Reg(uint32_t addr); +uint8_t BCD_INT(uint8_t num); +int32_t power(int32_t x, int32_t n); +uint8_t INT_BCD(uint8_t bcd); + +#endif // __GPSRTC_H__ + +//========================================================= +// End of Program +//========================================================= \ No newline at end of file
diff -r 000000000000 -r 58e40a872950 imagedata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagedata.h Sun Jun 05 15:10:48 2011 +0000 @@ -0,0 +1,2061 @@ +//--------------- +// Image data +// Date: 2011/06/05 +// Author : Yuji Notsu +// Image size : 0x80 (128) x 0x80(128) +// Color depth : 32bit color /pixel +//--------------- +//Takoruka image from : http://blog.hangame.co.jp/alicecosan/category/0/ +// + +const unsigned int Header1[16386]={ +0x0080,0x0080, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFDF,0xEF7D,0xE73C,0xDEDB,0xDEDB, +0xDEFB,0xDEFB,0xDEFB,0xDEFB,0xDEFB,0xE6FC,0xE71C,0xE73C, +0xF79E,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF79E,0xDEDB, +0xD69A,0xD69A,0xDEBB,0xC5F8,0xA4F4,0x8C11,0x62CC,0x6ACD, +0x732E,0x7B2F,0x7B0F,0x72EE,0x7B0F,0x7B50,0x8390,0x8BF1, +0xAD15,0xC5F8,0xD69A,0xCE79,0xD6BA,0xE73C,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xD6DA,0xBDF7,0xBDD7,0xA4F4,0x83B0, +0x7B4F,0x8370,0x9BD3,0xC4D8,0xFE3F,0xFEFF,0xFF3F,0xFF1F, +0xFEDF,0xFF1F,0xFF1F,0xFF1F,0xFF1F,0xFEFF,0xFEFF,0xFE5F, +0xD51A,0xABF4,0x7ACF,0x6A8D,0x730E,0x8C31,0xB576,0xBDF7, +0xD6DA,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xEF9D,0xB5B6,0x9CD3,0x83B0,0x6AAC,0x7B2F,0xC4B8,0xFE1F, +0xEE1E,0xDDDC,0xCD9A,0xC557,0xBCF5,0xB4B5,0xB454,0xBC94, +0xDD79,0xC4B5,0xBCB5,0xBCD5,0xC538,0xC518,0xCD5B,0xE5DE, +0xFE9F,0xFF1F,0xFF3F,0xFF1F,0xFE7F,0xCCD9,0x7B0F,0x5A4B, +0x732E,0x9CD3,0xBDD7,0xEF7D,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFDF,0xB596, +0x9452,0x6ACD,0x8370,0xE59C,0xEE1E,0xC599,0xBCD5,0xA3D1, +0x936D,0xA3ED,0x82A5,0x61C0,0x5960,0x4920,0x6A22,0x93A4, +0x9BA4,0x69C0,0x61A0,0x5980,0x7AC4,0x9369,0x6A47,0x8B2D, +0xA3D1,0xAC74,0xB4B7,0xD55B,0xFE5F,0xFEFF,0xFEFF,0xFEBF, +0xC4D8,0x72EE,0x628C,0x7BCF,0x9CF3,0xE73C,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xC659,0x9452,0x93D2, +0xAC55,0xEDFD,0xBD37,0x9C11,0x72AA,0x3901,0x2060,0x30A0, +0x6A41,0xAC28,0xA3A6,0x82A4,0x8AA4,0x7A63,0xABEA,0xAC4B, +0x69C0,0x69E0,0x7220,0x7A40,0x8AC1,0xD52A,0xAB20,0x9280, +0x71E0,0x5960,0x6A44,0x93AE,0xA453,0xAC97,0xEDDE,0xFEBF, +0xFEDF,0xFEDF,0xEDDD,0x8B91,0x626C,0x7B8F,0x8C91,0xEF7D, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xAD55,0xA454,0x9392,0xAC55, +0x734E,0x49C9,0x20C4,0x3123,0x6A67,0x82CA,0x934D,0x93AF, +0x9BCF,0xA433,0xAC76,0xA457,0xA457,0x9C36,0x8BB3,0x7B50, +0x8391,0x836F,0x8B50,0x8B4E,0x82ED,0x938C,0x8B29,0x59A0, +0x61C0,0x8AC0,0xC465,0xC466,0x8B02,0x7243,0x8B2B,0x93D1, +0xCD19,0xFEBF,0xFEDF,0xFEDF,0xFE5F,0xA414,0x7AEE,0x6B2D, +0x7C2F,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFEFF,0xFF5F,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0x8C31,0x72EE,0x6A6D,0x8B91,0x628C, +0x628C,0x8390,0xA454,0xBCD7,0xCD3A,0xE5BD,0xFE3F,0xFEBF, +0xFEBF,0xFEBF,0xFE9F,0xFE9F,0xFE9F,0xFEBF,0xFEBF,0xFEDF, +0xFEDF,0xFEDF,0xFE9F,0xFE5F,0xFE3F,0xD57C,0xB498,0x8BF3, +0x8BB1,0x9BD0,0x832A,0x59C1,0x61A0,0x92A0,0x8240,0x8B04, +0x8309,0x6AED,0xBCD9,0xFEDF,0xFE7F,0xFEBF,0xFEBF,0x93D2, +0x626C,0x630B,0xAD95,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFCDF,0xFD1F,0xFFDF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xDEFB,0x528A,0x3947,0xBC97,0x9C13,0xA454,0xE59C, +0xFE7F,0xFEDF,0xFEBF,0xFE9F,0xFE7F,0xFE5F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xFE9F,0xFEBF, +0xFEBF,0xF61F,0xBCD8,0x9BF4,0x7B0E,0x59C4,0x4920,0x9B01, +0xD529,0x7240,0x59C5,0x5AAE,0xEDFF,0xFEDF,0xFE3F,0xFEDF, +0xFE3F,0x8370,0x6ACD,0x73CE,0xEF7D,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFC9F,0xFB1F,0xFF1F, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xBE17, +0x4A69,0x7B4F,0x9BF3,0xC559,0xF5FE,0xFEBF,0xFE9F,0xFE5F, +0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xFE3F,0xFE5F,0xFE7F,0xFEBF,0xFE3F,0xC518,0x9BD2,0x59C6, +0x6AA5,0x9B22,0x9AE0,0x7A40,0x6269,0x8BB4,0xFF3F,0xFE3F, +0xFE3F,0xFEDF,0xDD5A,0x8B31,0x52CB,0xBDF7,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFCFF,0xFBBF,0xFC3F, +0xFD9F,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xBE17,0x52AA,0x9C13, +0xA434,0xCD19,0xFEFF,0xFE9F,0xFE3F,0xFE1F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE5F,0xFE9F,0xFE7F,0xD57B, +0xB476,0x626A,0x20C0,0xAC06,0xC486,0x7243,0x4209,0xFEDF, +0xFE9F,0xFE1F,0xFE7F,0xFE5F,0xA454,0x49E8,0x9CF3,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFCFF,0xFCDF,0xFE9F, +0xFD1F,0xFBDF,0xFF9F,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x52AA,0x9472,0xB4B6,0xEDBD, +0xFE9F,0xFE7F,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE7F, +0xFE7F,0xDDBC,0xB497,0x5209,0x2900,0xA320,0x8260,0x41A6, +0xDD9E,0xFEDF,0xFE1F,0xFE5F,0xFE9F,0xB4D6,0x41A8,0x8C71, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFD7F,0xFC7F,0xFF9F, +0xFFDF,0xFD7F,0xFBBF,0xFF7F,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xC5F8,0x5ACB,0xB5B6,0xEF5D,0xFFDF,0xFDFF, +0xFE3F,0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE7F,0xFE9F,0xDDDB,0xAC57,0x0820,0x8240,0xA300, +0x8B8B,0xBCD9,0xFF1F,0xFE1F,0xFE3F,0xFE9F,0xBCF7,0x41A7, +0x94F2,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFE1F,0xFC1F,0xFEDF, +0xFFFF,0xFF1F,0xFC5F,0xFF7F,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0x8C51,0x8C31,0xCE79,0xFFFF,0xFFFF,0xFFFF,0xFEDF, +0xFDFF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xFE7F,0xDE1C,0x51E9,0x3040, +0xFF71,0x40C0,0xB4B9,0xFF3F,0xFE1F,0xFE3F,0xFE9F,0xBD17, +0x41C8,0x9D33,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFE9F,0xFBBF,0xFE7F, +0xFFFF,0xFF9F,0xFF9F,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0x8410,0xAD75,0xF79E,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFDDF,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xF6BF,0x72AF, +0x4A22,0xE4A5,0x40E0,0x93D4,0xFF1F,0xFE1F,0xFE3F,0xFE9F, +0xBCD7,0x4208,0xAD95,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFF3F,0xFBDF,0xFE5F, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x736E, +0xAD75,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFE5F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE5F,0xFF1F, +0x6A8F,0x3140,0xFFF4,0x7329,0xCD39,0xFE9F,0xFE1F,0xFE3F, +0xFEBF,0xA454,0x4A29,0xD6BA,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFBFF,0xFE1F, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x7BAE,0xA535, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFEDF,0xFDFF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F, +0xFF1F,0x5A0C,0x38A0,0xCC23,0x3964,0xFE7F,0xFE5F,0xFE3F, +0xFE3F,0xFEDF,0x8BB1,0x62EC,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFF9F,0xFEDF,0xFBBF,0xFDDF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8C31,0x8C51,0xFFDF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFEFF,0xFDFF,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFF3F,0x20A3,0x9280,0x92A0,0x3167,0xFF7F,0xFE1F, +0xFE3F,0xFE3F,0xFEDF,0x6AAD,0x7BEF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFF7F,0xFBDF,0xFA1F,0xFADF,0xFABF,0xFD9F, +0xFFDF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xCE19,0x7B8F,0xCE79,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFEBF,0xFDFF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE5F,0xFEDF,0x0000,0xBB40,0x61C1,0x8352,0xFF1F, +0xFE1F,0xFE3F,0xFE5F,0xFE7F,0x49C9,0x8450,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFF5F,0xFDDF,0xFF3F,0xFD7F,0xFB1F,0xFAFF,0xFD3F, +0xFFBF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x736E,0x9492,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFE3F,0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFE7F,0xF5FF,0x2060,0xAB20,0x4A29,0xFE3F, +0xFE5F,0xFE3F,0xFE1F,0xFEBF,0xAC96,0x41E8,0xBE17,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFE5F,0xFC7F,0xFD7F,0xFBDF,0xFB5F,0xFADF,0xFD1F, +0xFFBF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0x83D0,0x8C31,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFDDE,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xF67F,0x830F,0x8AA0,0xAC8C,0x5A6D, +0xFF1F,0xFE1F,0xFE3F,0xFE1F,0xFF1F,0x5A2B,0x8450,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFEDF,0xFB7F,0xFABF,0xFB3F,0xFB3F,0xFADF,0xFE9F, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xDEBB,0x83F0,0xC618,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFF1F, +0xFDDF,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xE63C,0x4140,0xD54B,0x30E6, +0xFE5F,0xFE5F,0xFE3F,0xFE3F,0xFE7F,0xD55A,0x524A,0xBE17, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFBF,0xFD1F,0xFADF,0xFB1F,0xFB9F,0xFF1F,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFBF,0xFFBF,0xFFBF,0xFFDF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0x8410,0x7BAE,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFDDF, +0xFE3F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE3F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xF61E,0xA3F0,0xBC46,0x5161, +0x8393,0xFEDF,0xFE3F,0xFE3F,0xFE1F,0xFEFF,0x624C,0x9492, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFDF,0xFEBF,0xFF3F,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFD5F,0xFCDF,0xFD3F,0xFD5F,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xBDF7,0x83D0,0xF75E,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFEBF,0xFE1F, +0xFE1F,0xFE1F,0xFEFF,0xFF3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE7F,0xEDFC,0x6A62,0x8A80, +0x3988,0xFEDF,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xDD7B,0x5229, +0xC658,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFF5F,0xFF5F,0xFFBF,0xFC3F,0xFE9F, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xA4F4,0x8370,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFEFF,0xFDDF,0xFE3F, +0xFE1F,0xFE9F,0xFFFF,0xFFFF,0xFEDF,0xFDFF,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE1F,0xFE1F,0xFE1F, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xEDDD,0x9BD0,0xCD0A, +0x6227,0xC4D9,0xFE9F,0xFE3F,0xFE3F,0xFE1F,0xFF1F,0x520A, +0xA514,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFCBF,0xFF1F, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xDEFB,0x9452,0xDD3B,0xFF1F,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFDF,0xFEBF,0xFDFF,0xFE3F,0xFE3F, +0xFE1F,0xFE9F,0xFFDF,0xFF7F,0xF5FE,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F, +0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F, +0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F, +0xFE1F,0xF5FE,0xF5FE,0xFE3F,0xFE3F,0xFE5F,0xFE5F,0xFE5F, +0xFE5F,0xFE5F,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE5F,0xB475,0x6A40, +0xB48B,0x62AE,0xFEFF,0xFE1F,0xFE3F,0xFE1F,0xFE7F,0xD51A, +0x732E,0xDEFB,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFB5F,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xBDF7,0x8370,0xFEBF,0xFE3F,0xFF3F,0xFFDF,0xFFFF,0xFFFF, +0xFFDF,0xFFBF,0xFF5F,0xFE5F,0xFDFF,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFE7F,0xFE1F,0xDD3A,0xEDBD,0xFE5F,0xFE3F, +0xFE3F,0xFE5F,0xFEBF,0xFEBF,0xFEBF,0xFE9F,0xFE9F,0xFE9F, +0xFE7F,0xFE7F,0xFE5F,0xFE5F,0xFE3F,0xFE5F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xFE5F,0xFE5F,0xFE7F,0xFE7F, +0xFEBF,0xE61C,0xDDFB,0xFEFF,0xFEFF,0xFF1F,0xFF1F,0xFEDF, +0xFEBF,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE1F,0xFE7F,0xCD79,0x4960, +0x8280,0x5A6B,0xFEBF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFEBF, +0x41A8,0xC638,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFB7F,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xB596,0xAC15,0xFE9F,0xFDFF,0xFDFF,0xFEBF,0xFF1F,0xFF1F, +0xFEFF,0xFE5F,0xFDDF,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xF5BD,0xCC76,0xC4D8,0xFE7F,0xFE1F, +0xFE3F,0xFE3F,0xFE7F,0xFEFF,0xFF5F,0xFF7F,0xFF9F,0xFFBF, +0xFFBF,0xFF9F,0xFF9F,0xFF9F,0xFF9F,0xFF7F,0xFF5F,0xFF5F, +0xFF5F,0xFF5F,0xFF7F,0xFF9F,0xFF9F,0xFFBF,0xFFDF,0xFFDF, +0xFFBF,0xDEBB,0xD65A,0xFF5F,0xFEBF,0xFE3F,0xFE1F,0xFE1F, +0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xDD3A,0xFE3F,0xFE5F,0xE5DD,0x7AAA, +0x71C0,0x6228,0xDD7C,0xFE7F,0xFE3F,0xFE3F,0xFE1F,0xFEFF, +0x51EA,0xAD75,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFB5F,0xFFBF, +0xFFDF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD6BA, +0x83D0,0xF61E,0xFE7F,0xE59C,0xE59C,0xFE1F,0xFDFF,0xFDFF, +0xFDFF,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xD497,0xC435,0x9BD3,0xFEBF,0xFE1E, +0xFE3F,0xFE3F,0xFE1F,0xFDFF,0xFDDF,0xFDDF,0xFE1F,0xFE5F, +0xFE7F,0xFEBF,0xFEFF,0xFF1F,0xFF5F,0xFF5F,0xFF5F,0xFF7F, +0xFF5F,0xFF5F,0xFF5F,0xFF3F,0xFEFE,0xFEDF,0xFEDF,0xFE9F, +0xF5FD,0xCCB9,0xED9D,0xFE1F,0xFDFF,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xF5BD,0xBC97,0xFE5F,0xFE3F,0xFE5F,0x9BD3, +0x5160,0x8B27,0x9C15,0xFEBF,0xFE3F,0xFE3F,0xFE1F,0xFE7F, +0xCCF9,0x7B8F,0xE73C,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFD5F,0xFDBF, +0xFDDF,0xFEFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xC618, +0x6ACD,0xFEDF,0xFE5F,0xDD7B,0xDD5B,0xFE5F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE5F,0xE53A,0xCC55,0xC435,0x6AAD,0xFEDF,0xFE1E, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE1F, +0xFE1F,0xFDFF,0xFDFF,0xFDFF,0xFDFF,0xFDFF,0xFDFF,0xFE1F, +0xFDFF,0xFDFF,0xFDFF,0xFDFF,0xE4FA,0xF5BE,0xFE1F,0xFE3F, +0xDD3A,0xB436,0xFE7F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE7F,0xCC97,0xC4B8,0xFE3F,0xFE1F,0xFE9F,0xB4B7, +0x51E2,0xAC49,0x6ACE,0xFEFF,0xFE1F,0xFE3F,0xFE3F,0xFE3F, +0xFEBF,0x41A8,0xD69A,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFE7F, +0xFDFF,0xFEFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xB5B6, +0x9392,0xFE9F,0xFE5F,0xDD7B,0xD53A,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE1E,0xC456,0xCC77,0x9351,0x6A8A,0xF5FE,0xFE3F, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1E,0xC456,0xFE5F,0xFE3F,0xFE5F, +0xCCD8,0x9351,0xFE5F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE7F,0x9B51,0xCCD8,0xFE3F,0xFE1F,0xFE9F,0xBCF8, +0x6266,0xA3C7,0x626C,0xFEFF,0xFE1F,0xFE3F,0xFE3F,0xFE1F, +0xFF1F,0x3927,0xC618,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xE73C,0x8C51, +0xDD5B,0xFE5F,0xFE5F,0xD55A,0xCD19,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE5F,0xDD1A,0xC436,0xC436,0x7AEB,0xAC0D,0xAC35,0xFE7F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xED9C,0xC435,0xFE7F,0xFE3F,0xFE5F, +0xC476,0x728D,0xDD7B,0xFE7F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0x8ACE,0xC4D8,0xFE3F,0xFE1F,0xFE7F,0xD57B, +0x72A9,0x7A40,0x6A6B,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFEBF,0x8B51,0x9CB3,0xF7DE,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD6BA,0x6B2D, +0xFE9F,0xFE3F,0xFE5F,0xCD39,0xCCD8,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xC456,0xCC76,0x9330,0xC48F,0xD4F0,0x6A8D,0xFEBF, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE5F,0xD4B8,0xD4D8,0xFE7F,0xFE3F,0xFDFE, +0xBC34,0x72AB,0xBCD6,0xFE9F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE5F,0xED7C,0x8AEE,0xCCF9,0xFE3F,0xFE1F,0xFE5F,0xE5BD, +0x8B4D,0x7240,0x6A28,0xDD9C,0xFE7F,0xFE3F,0xFE3F,0xFE3F, +0xFE7F,0xE57C,0x5ACB,0xE75C,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD69A,0x6B0D, +0xFEDF,0xFE1F,0xFE7F,0xCD19,0xC4B8,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F, +0xE57B,0xC435,0xD497,0x49A7,0xFE54,0xE551,0x728A,0xE5BD, +0xFE5F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xC414,0xED9C,0xFE5F,0xFE1F,0xE53B, +0xABB1,0x830A,0xBC94,0xFE5F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE9F,0xD4B8,0x7ACD,0xE57C,0xFE3F,0xFE3F,0xFE5F,0xEDFE, +0x9BD0,0x8303,0x8B0A,0xBCD9,0xFE9F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFEBF,0x3166,0xDEFB,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xCE79,0x62AC, +0xFEDF,0xFE1F,0xFE5F,0xC4F8,0xBC97,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE7F, +0xCC77,0xCC56,0xA392,0x6AA8,0xFE75,0xFDB2,0xABCD,0x93B2, +0xFEDF,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE5F,0xED9C,0xAB92,0xFE3F,0xFE3F,0xFE1E,0xC457, +0x9B4F,0xC46E,0xBC73,0xEDDE,0xFE5F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE5F,0xCC35,0x5A0A,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0x9BD2,0x6A41,0xA3EB,0xA436,0xFE9F,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xFF1F,0x3947,0xE71C,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xCE59,0x626C, +0xFEDF,0xFE1F,0xFE5F,0xCCF9,0xB476,0xF5FE,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xC415,0xD497,0x49A9,0xED51,0xFDF3,0xFDF3,0xCCCF,0x628B, +0xFE9F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE7F,0xCC77,0x9B51,0xFE9F,0xFE5F,0xF5BD,0xB3D4, +0x9B8E,0xFDB2,0xBC51,0xB498,0xFE7F,0xFE1F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F, +0xED9C,0xCC35,0x49A8,0xFE5F,0xFE3F,0xFE3F,0xFE3F,0xFE9F, +0xAC55,0x4920,0x7A83,0x8BB4,0xFEBF,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFEDF,0x72AE,0xCE59,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD69A,0x7AEF, +0xFEDF,0xFE1F,0xFE5F,0xD53A,0xAC35,0xE57C,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE7F,0xE55A, +0xC415,0xD498,0x20E3,0xFE95,0xFDB3,0xFE15,0xED72,0x8B4C, +0xC4D8,0xFE9F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xF61E,0xB3D3,0x9BB3,0xFEBF,0xFE3F,0xE55B,0xABB2, +0xAC0E,0xFF58,0xBCB1,0xA475,0xFF5F,0xFEDF,0xFEDF,0xFEDF, +0xFEDF,0xFEBF,0xFE7F,0xFE3F,0xFE1F,0xFE1F,0xFE3F,0xFE9F, +0xCC97,0xCC76,0x49A8,0xFE7F,0xFE3F,0xFE3F,0xFE3F,0xFE9F, +0xAC95,0x5980,0x8B03,0x8BD2,0xFEBF,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xFE7F,0xC4B9,0x9CD3,0xFFDF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD69A,0x8B51, +0xFEBF,0xFE3F,0xFE3F,0xF5DD,0xAC35,0xCCD8,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE9F,0xCC77, +0xCC76,0x9B51,0x7AE9,0xFE54,0xFDD3,0xFE98,0xFE14,0xB44E, +0x6ACE,0xFEFF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE9F,0xDCD8,0x724C,0xDD3A,0xFE9F,0xFE1E,0xCC77,0x932F, +0x6AA8,0x5A47,0x18A2,0x3146,0x7B2F,0x72CE,0x6AAD,0x6AAD, +0x6AAE,0x93D3,0xD53A,0xFEBF,0xFEFF,0xFEBF,0xFE5F,0xFE5F, +0xC3F4,0xC435,0x5A0A,0xFEBF,0xFE3F,0xFE3F,0xFE3F,0xFE9F, +0xB4B5,0x8306,0x9BC8,0x72EE,0xFEDF,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0x6B6D,0xF79E,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xC5F8,0x9392, +0xFEBF,0xFE1F,0xFE3F,0xFE1F,0xA414,0xBC76,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xC415, +0xD4B8,0x4188,0xED30,0xFDD3,0xFE15,0xFF5B,0xFE97,0xDCEF, +0x8B4D,0xD55B,0xFE7F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xF5FE, +0xEDBC,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xD456,0x28E5,0xFEDF,0xFE5F,0xFE1E,0xABB3,0x5A29, +0xA3CC,0xD511,0xAC4D,0x9BB1,0xE5DD,0xEE1D,0xE5FC,0xE5FC, +0xEDFD,0xCD1A,0x93B2,0x5A6C,0x626C,0x8330,0xFEBF,0xFDDD, +0xD476,0x82CE,0x9B92,0xFE9F,0xFE3F,0xFE3F,0xFE3F,0xFE7F, +0xC518,0x82E6,0x7240,0x72EE,0xFEDF,0xFE1F,0xFE3F,0xFE3F, +0xFE1F,0xFE3F,0xFE9F,0x5AAB,0xEF9D,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xBDB7,0x9372, +0xFEBF,0xFE1F,0xFE3F,0xFE5F,0xA414,0xAC15,0xFE1E,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xEDBC,0xC414, +0xF53B,0x18C2,0xFF58,0xFE75,0xFF9A,0xFFFE,0xFF9C,0xFE75, +0xAC0D,0x6ACE,0xFEFF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xF5FE, +0xE53A,0xF5FE,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFEBF, +0xD4B8,0xB3D4,0x3125,0xFEFF,0xFE3F,0xE53B,0xA372,0x832A, +0xFE96,0xFE76,0xF592,0xABF0,0xCD3A,0xFE9F,0xFE5F,0xFE5F, +0xFE5F,0xFE5F,0xF63E,0xEE1D,0xEE3E,0xF5FE,0x8B71,0x51C9, +0xB3D4,0x49A8,0xED9C,0xFE5F,0xFE1F,0xFE3F,0xFE3F,0xFE7F, +0xCD19,0xA42D,0x9BC7,0x726D,0xFE7F,0xFE1F,0xFE1F,0xFE3F, +0xFE3F,0xFE1F,0xFEFF,0x41A8,0xEF7D,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xBDF7,0x9371, +0xFEBF,0xFE1F,0xFE3F,0xFE9F,0xA414,0x9BD3,0xF5FE,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFE1F,0xFE1F,0xFEDF,0xFDBD,0xDCB8, +0x82EE,0x0000,0x7288,0x4185,0x4A28,0x734C,0x8BEE,0xCD32, +0xDCCE,0x936D,0xBCD8,0xFE9F,0xFE3F,0xFE3F,0xFE3F,0xF5FE, +0xD4D8,0xF5FD,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xFE1E, +0xCC36,0x6A4B,0x8B6E,0xFEBF,0xFE5F,0xB3D4,0x6A6B,0xF592, +0xFE76,0xFEB8,0xFE35,0xA3CE,0xA435,0xFE9F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xFE1E,0xC415, +0xD477,0x49A8,0xFE7F,0xFE3F,0xFE1F,0xFE3F,0xFE1F,0xFE7F, +0xD55B,0xA3CB,0xB446,0x93D0,0xF5FE,0xFE5F,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFEFF,0x51A9,0xEF7D,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xBDD7,0x82F0, +0xFEDF,0xFE3F,0xFE1F,0xFE7F,0xC4F8,0x9371,0xDD3A,0xFE3F, +0xFE3F,0xFE1F,0xFE3F,0xFE7F,0xFF3F,0xBCB7,0x3947,0x49C8, +0x4989,0xC46E,0xFE75,0xFEB7,0xFFFE,0xFFFD,0xFFDD,0xFF5B, +0xFE96,0xA3CB,0x72CE,0xFEBF,0xFE3F,0xFE3F,0xFE3F,0xF61E, +0xCC76,0xEDDD,0xFE5F,0xFE3F,0xFE3F,0xFE1F,0xFEBF,0xCC76, +0xDCB9,0x3985,0xAC52,0xFEBF,0xED5B,0xAB93,0x6268,0xFEB6, +0xFEF9,0xFF3A,0xFE76,0x938C,0x9BF3,0xFEBF,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE9F,0xD4B7,0xC436, +0xD497,0x624B,0xFEBF,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE7F, +0xD57B,0x8B08,0x8260,0x72EC,0xE5BD,0xFE5F,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFEDF,0x620C,0xDF1B,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD67A,0x72AE, +0xFEDF,0xFE3F,0xFE1F,0xFE5F,0xEDDD,0x8330,0xBC97,0xFE5F, +0xFE3F,0xFE1F,0xFE9F,0xC4D8,0x5A2B,0xBCB7,0xE4F9,0xFD5B, +0x3127,0xFDB2,0xFDB3,0xFF19,0xFF9C,0xFF7B,0xFF5B,0xFF7C, +0xFEF9,0xFDF3,0x9B8C,0x8BD3,0xFEFF,0xFE1F,0xFE3F,0xFE1F, +0xC456,0xED7C,0xFE5F,0xFE3F,0xFE1F,0xFE5F,0xF5DD,0xCC56, +0x6A6D,0xBC6D,0x93B2,0xFEFF,0xBBF5,0x4187,0xFDD3,0xFE56, +0xFF9C,0xFF5B,0xFEB7,0xABCC,0xA3D2,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xBBF4,0xDCB8, +0x59EA,0xDD3A,0xFE7F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F, +0xE5DC,0x5A4C,0x0020,0x49A7,0xD55A,0xFE7F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFEBF,0xA3D4,0xAD54,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xC638,0x51CA, +0xFEFF,0xFE1F,0xFE1F,0xFE3F,0xFEBF,0x7B0F,0xABF4,0xFE5F, +0xFE3F,0xFE5F,0xDD5B,0xDD3B,0xFEFF,0xFE9F,0xC435,0xDCB9, +0x0862,0xFED6,0xFDB3,0xFF7C,0xFF7B,0xFF5B,0xFF7B,0xFF7B, +0xFF7C,0xFED8,0xCC6D,0x936E,0xE5BD,0xFE5F,0xFE3F,0xFE5F, +0xCC76,0xDD19,0xFE3F,0xFE3F,0xFE3F,0xFE9F,0xC415,0xF53A, +0x0000,0xFF98,0x6A8D,0xFE1F,0x9B31,0x830A,0xFE75,0xFE76, +0xFF9C,0xFF7C,0xFED8,0xDCCF,0xA3B0,0xE57C,0xFE5F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE9F,0xDCF9,0xC435,0xE4F9, +0x28E4,0xFEBF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFEBF, +0xB4B5,0x2080,0x3941,0x20E5,0xC539,0xFEBF,0xFE1F,0xFE3F, +0xFE3F,0xFE1F,0xFE7F,0xDD3B,0x5AEB,0xFFDF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xCE59,0x5A4A, +0xFEFF,0xFE1F,0xFE1F,0xFE3F,0xFE9F,0x93B2,0x8B50,0xF5DD, +0xFE5F,0xFE3F,0xFE5F,0xFE5F,0xFE5F,0xF5DD,0xC456,0xABD4, +0x6226,0xFE55,0xFE36,0xFFBC,0xFF5B,0xFF7B,0xFF7B,0xFF7B, +0xFF7C,0xFF5B,0xFEF8,0x9BAA,0x93F1,0xFEBF,0xFE3F,0xFE5F, +0xCC97,0xD497,0xFE1F,0xFE3F,0xFE7F,0xE55B,0xCC76,0x82D0, +0xA3CB,0xFE75,0x6A8F,0xDCD9,0x51C8,0xFE74,0xFDF4,0xFF7B, +0xFF7C,0xFF9C,0xFF19,0xFDD3,0xABCF,0xBC77,0xFE5F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xBC15,0xCC56,0xCC56, +0x5A0A,0xFEBF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xD59B, +0x6227,0xAB20,0x51A0,0x10A1,0x7B2E,0xE5BD,0xFE7F,0xFE3F, +0xFE3F,0xFE1F,0xFE5F,0xF5DE,0x4A69,0xF7DE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xC638,0x41C8, +0xFEFF,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xCCD8,0x728D,0xD519, +0xFE7F,0xFE3F,0xFE3F,0xFE1F,0xFE5F,0xED9C,0xD497,0x6A2D, +0xB40C,0xFE13,0xFED9,0xFF9C,0xFF5B,0xFF7B,0xFF7B,0xFF7B, +0xFF5B,0xFF7C,0xFF3A,0xFE35,0xA38D,0xB4B7,0xFE9F,0xFE5F, +0xD4B8,0xBC14,0xF61E,0xFE5F,0xFE5F,0xC415,0xECFA,0x1062, +0xFF78,0xDD31,0x72AF,0x8B0F,0xD4CF,0xFE14,0xFEF9,0xFF9C, +0xFF7B,0xFF9C,0xFF1A,0xFE75,0xABEF,0xABD4,0xFE1E,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFE5F,0xDD3A,0xC435,0xE4D8,0x3105, +0xED7B,0xFE7F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xB456, +0x4920,0x8A80,0x6AA6,0xFF74,0x9489,0x9391,0xFE5F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFEBF,0x2945,0xF7BE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD6BA,0x62CC, +0xF5DD,0xFE5F,0xFE3F,0xFE3F,0xFE5F,0xFDBD,0x59EA,0xAC14, +0xFE5F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xE57B,0xE4D8,0x18A5, +0xFE33,0xFDB3,0xFF7B,0xFF7B,0xFF5B,0xFF5B,0xFF5B,0xFF7B, +0xFF7B,0xFF5B,0xFF7C,0xFF5A,0xE551,0xA3B0,0xD57B,0xFEBF, +0xDCD9,0xBBD4,0xED9C,0xFE9F,0xD4F8,0xD497,0x82AF,0xAC0C, +0xFEB6,0xBC2F,0x82F1,0x936C,0xFE54,0xFE76,0xFFBD,0xFF7C, +0xF77B,0xF75B,0xFF9C,0xFEB7,0xABCD,0x9B30,0xF5BD,0xFE5F, +0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xC435,0xC435,0xE4F9,0x1883, +0xFEDF,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE7F,0xD59B,0x51C5, +0xA300,0x69E0,0x7369,0xFF75,0xFF12,0x9C0D,0xBCB8,0xFE7F, +0xFE3F,0xFE3F,0xFE1F,0xFF1F,0x2124,0xF7BE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xE73C,0x83F0, +0xCCD9,0xFE7F,0xFE3F,0xFE3F,0xFE5F,0xED9C,0x8AEF,0x82EF, +0xEDBC,0xFE5F,0xFE1F,0xFE3F,0xFE5F,0xED7C,0xCC56,0x20C4, +0xFEB5,0xFDD4,0xFFBC,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF5B, +0xFF7B,0xFF7B,0xFF5B,0xFF7C,0xFF7A,0xCCF0,0xB433,0xF63F, +0xDD3A,0xBC14,0xE53A,0xF5FE,0xC456,0xD478,0x20C3,0xFEF7, +0xFDF3,0x936F,0x6A6B,0xFED5,0xFE35,0xFFBD,0xFFBD,0xDEB9, +0x18A2,0x4207,0xFFFE,0xFF19,0xAC0C,0x9B2F,0xE53B,0xFE1F, +0xFE3F,0xFE1F,0xFE7F,0xDD3A,0xC435,0xDCB8,0x7A8D,0xAC15, +0xFE9F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xBCD7,0x2080, +0xBB60,0x7AA2,0x9C8D,0xFEF3,0xFF13,0x9409,0xB4B4,0xFE7F, +0xFE3F,0xFE3F,0xFE1F,0xFF3F,0x20C4,0xF7BE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xAD35, +0x8310,0xFEDF,0xFE1F,0xFE3F,0xFE5F,0xE55B,0xDCB8,0x51A9, +0xBC76,0xFE5F,0xFE3F,0xFE3F,0xFE5F,0xF5BC,0xAB93,0x5A07, +0xFE54,0xFE77,0xFFBC,0xFF7B,0xFF7B,0xFF9C,0xFFBC,0xFF7B, +0xFF5B,0xFF7B,0xFF7B,0xFF5B,0xFF7C,0xFF9B,0xD552,0xCCD6, +0xD4F9,0xCC56,0xD4D9,0xCC97,0xE4D9,0x3907,0xE531,0xFDD3, +0xFF3A,0x62AB,0xFDF3,0xFE15,0xFF9C,0xFF7C,0xFFBC,0xAD12, +0x0000,0x2104,0xBDD6,0xFFBC,0xBC4D,0x9B4F,0xD4B9,0xF5FE, +0xFE3F,0xFE3F,0xFE3F,0xC456,0xC456,0xDCB8,0x28E4,0xFEFF, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xF61E,0x7ACD,0x61C0, +0x9AA0,0x82E5,0xEE32,0xFEB2,0xFED3,0xC54C,0xB452,0xEDFE, +0xFE5F,0xFE3F,0xFE1F,0xFF1F,0x2925,0xF7BE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xB5B6, +0x49C9,0xFEDF,0xFE1F,0xFE3F,0xFE5F,0xE57B,0xDCD8,0x6A6C, +0x9351,0xF5FE,0xFE3F,0xFE3F,0xFE5F,0xFDFE,0x8B10,0x82C8, +0xFE34,0xFEF9,0xFF9C,0xFF7C,0xF75B,0x9C70,0xD637,0xFFFD, +0xFF5B,0xFF5B,0xFF7B,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xDDD4, +0xABF1,0xABB3,0xCC56,0xD4B7,0x9311,0x5A26,0xFE54,0xFEF9, +0xFF5B,0xC4D0,0xFE76,0xFF7C,0xFF7C,0xFF9C,0xEF3B,0x6B0B, +0x0000,0x0000,0x8430,0xFFFD,0xD510,0xA36F,0xBC15,0xF5DD, +0xFE5F,0xFE7F,0xDD19,0xC435,0xD4B8,0x726C,0xB475,0xFE9F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xDDDB,0x3144,0x92C0, +0x8240,0x8328,0xFF54,0xFE72,0xFE92,0xFEB1,0x9BEE,0xCD3A, +0xFE7F,0xFE3F,0xFE1F,0xFF1F,0x3967,0xF7BE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xBE17, +0x5A6B,0xFDFE,0xFE3F,0xFE3F,0xFE5F,0xED9C,0xCC97,0xCC76, +0x51C9,0xCD19,0xFE5F,0xFE1F,0xFE5F,0xFE5F,0x6A4D,0x9B6A, +0xFE13,0xFF5B,0xFF7B,0xFFBC,0xDEB9,0x0000,0x2104,0xFFBC, +0xFF9C,0xFF5B,0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFF7B,0xFFBC, +0xE656,0x8B6E,0xABB3,0xC416,0x3966,0xFE75,0xFEF9,0xFF7C, +0xFF3A,0xFE97,0xFF7B,0xFF7C,0xFF5B,0xFF9C,0xEF3B,0x62CA, +0x0000,0x0000,0x6B6D,0xFFFE,0xF614,0x9B6E,0xA372,0xF5BC, +0xFE7F,0xF5FE,0xC455,0xD497,0xABB3,0x6A6C,0xFEBF,0xFE3F, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xD5BA,0x1040,0xAB20, +0x8260,0x8BA9,0xFF34,0xFE72,0xFE92,0xFEB1,0x9BCB,0xCD19, +0xFE7F,0xFE3F,0xFE1F,0xFEFF,0x51EA,0xF7BE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDEDB, +0x6B0D,0xB436,0xFE7F,0xFE3F,0xFE5F,0xEDBD,0xCC77,0xDCB8, +0x7A8D,0x830F,0xF5FE,0xFE3F,0xFE3F,0xFE9F,0x51C9,0xB3EC, +0xFE14,0xFF9C,0xFF7B,0xFFBC,0xCDD5,0x0000,0x0861,0x9470, +0xFFFE,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFF5B, +0xFFDD,0xFF7B,0xB494,0x8B2F,0xE615,0xFF5A,0xFF7C,0xFF7B, +0xFF5B,0xFF7B,0xFF7C,0xFF5B,0xFF5B,0xFF7C,0xFF7B,0x83CE, +0x0000,0x0000,0x6B4C,0xFFFE,0xFEB7,0x9B8E,0x9B31,0xED7B, +0xFE5F,0xD4B7,0xCC56,0xCC56,0x51E9,0xF5DD,0xFE5F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xE59C,0xC518,0x0820,0xB360, +0x8281,0x940B,0xFF14,0xFE72,0xFE92,0xFE91,0x8B49,0xC4F7, +0xFE7F,0xFE3F,0xFE1F,0xFEFF,0x5A0B,0xF7DF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE, +0x8410,0x728D,0xFEBF,0xFE3F,0xFE3F,0xF5DD,0xD497,0xC435, +0xD498,0x4967,0xB455,0xFE3F,0xFE3F,0xFEFF,0x3948,0xD48E, +0xFE55,0xFFBD,0xFF7B,0xFF9C,0xBD74,0x0000,0x0000,0x5ACA, +0xFFFF,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B, +0xFF5B,0xFF9C,0xFF9C,0xF6FA,0xFF9C,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF5B,0xFF5B,0xFF7B,0xFF7B,0xFFBD,0xAD13, +0x0000,0x0000,0x6B2B,0xFFFE,0xFF19,0x9BAE,0x9B51,0xE51A, +0xDD1A,0xC456,0xDCB8,0x59EA,0xAC35,0xFE7F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xB456,0x9BF4,0x1880,0xB340, +0x8AC2,0xACAD,0xFF13,0xFE92,0xFEB2,0xF650,0x9388,0xCD38, +0xFE7F,0xFE3F,0xFE3F,0xFEDF,0x622B,0xF7BE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0x9CF3,0x4988,0xFE9F,0xFE3F,0xFE3F,0xF61E,0xD4D8,0xC435, +0xD4B7,0xA371,0x49A9,0xE59C,0xFE5F,0xFF3F,0x20C5,0xF530, +0xFE97,0xFFBC,0xFF5B,0xFFBC,0xD677,0x0000,0x0000,0x4228, +0xFFFF,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF5B,0xFF5B,0xFF7B,0xFF9B,0xFF7B,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFF7B,0xFF5B,0xFFBD,0xD678, +0x20E3,0x0000,0x6B2C,0xFFFF,0xFF39,0x9BCE,0xA392,0xD4B8, +0xC455,0xDCD8,0x8AEF,0x622A,0xFE5F,0xFE5F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xF61E,0x8B10,0x93B3,0x20A0,0xB340, +0x8AC2,0xAC8E,0xFEF3,0xFE72,0xFEB3,0xEE0F,0x8B45,0xCD37, +0xFE7F,0xFE3F,0xFE1F,0xFEDF,0x6A6D,0xE73C,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xB5B6,0x49A9,0xE55B,0xFE7F,0xFE3F,0xFE3F,0xDCF9,0xC435, +0xC456,0xE4F9,0x6A6C,0x7ACE,0xFE7F,0xFF5F,0x1063,0xFDF2, +0xFED8,0xFF9C,0xFF5B,0xFFBC,0xE73B,0x0000,0x0000,0x4228, +0xFFFF,0xFF5B,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF5B,0xFF5B,0xFF7B,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFFBC, +0xAD33,0x1082,0x7BEF,0xFFFF,0xFF7A,0x93AD,0x9B51,0xD477, +0xD477,0xABB4,0x7AC9,0xAC32,0xFE7F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE5F,0xF5DD,0x6A4C,0xAC15,0x18A0,0xB340, +0x8282,0x942C,0xFF33,0xFE71,0xFED3,0xE5AE,0x72A3,0xC516, +0xFE7F,0xFE1F,0xFE3F,0xFEDF,0x82EF,0xCE99,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xDE9B,0x626C,0x9BD3,0xFE9F,0xFE3F,0xFE5F,0xE53A,0xC456, +0xC456,0xCC56,0xDCD8,0x0841,0x9BF4,0xFFDF,0x1084,0xFE33, +0xFF3A,0xFF7C,0xFF5B,0xFF9C,0xEF7B,0x41E7,0x0000,0x41E7, +0xFFDD,0xFF7C,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF5B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF9C, +0xF75B,0xBDB5,0xD678,0xFFBD,0xFFBC,0x8BCD,0x9330,0xCC98, +0xC456,0x7A6B,0xED11,0xC411,0xFDFD,0xFE7F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE5F,0xE55B,0x622B,0xC498,0x1040,0xAB40, +0x7A61,0x8BAA,0xFEF3,0xFED3,0xF651,0xD52C,0x6243,0xBCF6, +0xFE7F,0xFE3F,0xFE3F,0xFEBF,0x8B31,0xC638,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xDEDB,0x5A4A,0x8310,0xFE9F,0xFE3F,0xFE5F,0xED9C,0xCC76, +0xC435,0xCC76,0xC456,0x49C6,0x3924,0xF67E,0x2927,0xFE33, +0xFF9C,0xFF7B,0xFF5B,0xFF7B,0xFFBC,0xAD74,0x0000,0x39E7, +0xFFFE,0xFF7B,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B, +0xFF7C,0xFFDD,0xFFBC,0xFF5B,0xFFDD,0x83CD,0x8B0F,0xE476, +0xDBF3,0xDB90,0xFC32,0xF3F1,0xFC75,0xFCF7,0xFE5F,0xFE3F, +0xFE1F,0xFE3F,0xFE7F,0xCC77,0x6A6C,0xD4FA,0x0800,0xA301, +0x7262,0x7B28,0xEDCE,0xF651,0xD52D,0xC4AA,0x6265,0xBCF7, +0xFE7F,0xFE3F,0xFE3F,0xFEBF,0x8B51,0xB5D6,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xCE59,0x624B,0x8B30,0xD55A,0xFE7F,0xFE3F,0xF5FE,0xD4B7, +0xC435,0xD497,0x9B52,0x7AC9,0xC4EF,0x5A2B,0x2905,0xFEB6, +0xFFBD,0xFF5B,0xFF7B,0xFF5B,0xFF9C,0xF77C,0x6B2C,0x5AEA, +0xFFFF,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFFDC,0xBCD2,0xC370,0xFC13, +0xFBF2,0xFC13,0xFBF2,0xFBF2,0xFBD1,0xFB90,0xFD39,0xFE5F, +0xFE1F,0xFE5F,0xF5DD,0xBC15,0x728D,0xD4D9,0x0000,0x8AC2, +0x7262,0x7307,0xCCCB,0xC4AB,0xBC6A,0xC4A9,0x7AE8,0xC518, +0xFE7F,0xFE3F,0xFE3F,0xFEBF,0x9372,0x9CF3,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xBE18,0x832F,0x9351,0x8B91,0xFEBF,0xFE3F,0xFE5F,0xDCF9, +0xC435,0xD4B8,0x82AF,0x6A68,0xFE75,0xC4D0,0x28C2,0xFF19, +0xFFBC,0xFF5B,0xFF5B,0xFF7B,0xFF7B,0xFF9C,0xF75B,0xD698, +0xFF9C,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFF5B,0xFCF5,0xFBB1,0xFBF2, +0xFBF2,0xFC12,0xFBF2,0xFBF2,0xFBF2,0xFB90,0xFCD7,0xFE5F, +0xFE1F,0xFE7F,0xD4B8,0x9B71,0x9B92,0xCC76,0x0000,0x7262, +0x7241,0x6AC7,0xCCCA,0xB449,0xBC6A,0xC489,0x832B,0xCD5A, +0xFE7F,0xFE3F,0xFE3F,0xFEBF,0x9BB3,0x8C71,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xBDF7,0x8350,0xA392,0x7AEE,0xFE3F,0xFE5F,0xFE5F,0xE57B, +0xC456,0xDCD8,0x6A4C,0x7288,0xF5F3,0xFE75,0xCCCE,0xFF7A, +0xFFFD,0xFFDC,0xFF9C,0xFF5B,0xFF5B,0xFF7B,0xFF9C,0xFFBC, +0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFF5B,0xFC94,0xFB50,0xFBD2, +0xFBD2,0xFBD2,0xFBF2,0xFBF1,0xFC13,0xFCD7,0xFE1E,0xFE3F, +0xFE3F,0xFE1E,0xC435,0x622B,0xDCF9,0xC436,0x20C3,0x49A2, +0x4982,0x6266,0xD50B,0xBC4A,0xBC8A,0xA3E7,0x9BCF,0xE5BD, +0xFE5F,0xFE3F,0xFE3F,0xFEBF,0xA3F4,0x8C71,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xC638,0x834F,0xCC77,0x7AAE,0xC4D7,0xFE9F,0xFE3F,0xFDFE, +0xCC97,0xE4D8,0x49AA,0x49E5,0xF5D3,0xFD13,0xFCB3,0xFC94, +0xFCB4,0xFD15,0xFE99,0xFFBC,0xFF5B,0xFF5B,0xFF5B,0xFF5B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFF9C,0xFEDA,0xFD35,0xFC53, +0xFC32,0xFCB3,0xE46F,0xC455,0xFDFD,0xFE3F,0xFE3F,0xFE3F, +0xFE7F,0xDCF9,0xD477,0x3146,0xED1A,0xC456,0x59E9,0x20E0, +0x2902,0x5205,0xD50C,0xBC6A,0xC4AA,0x8305,0xBC74,0xFE5F, +0xFE3F,0xFE3F,0xFE3F,0xFE9F,0xB456,0x94D2,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xCE79,0x8B70,0xED1A,0x7AAD,0x93B2,0xFE9F,0xFE3F,0xFE5F, +0xDCF9,0xDCD9,0x49C9,0xB2EC,0xFC32,0xFC12,0xFBF2,0xFBD2, +0xFBD2,0xFBD2,0xFBD2,0xFE58,0xFFBC,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFF7B,0xFF7C,0xFED9, +0xFDD4,0xFDF4,0xABEB,0xD55B,0xFE5F,0xFE3F,0xFE1E,0xFE3F, +0xFE5F,0xC435,0xBC35,0x4167,0xE4F9,0xD4B8,0x8AEF,0x0020, +0x3963,0x49C4,0xA409,0xC48A,0xC48A,0x9388,0xC496,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFE9F,0xBC57,0x9CF3,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xEF5D,0xDEFB,0xF7BE,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xCE99,0x8B90,0xE4D9,0x9B71,0x82EF,0xE59C,0xFE5F,0xFE5F, +0xED9C,0xCC97,0xE3F2,0xFBF2,0xFBF2,0xFBF2,0xFBF2,0xFBF2, +0xFC12,0xFBD2,0xFB30,0xFEDA,0xFF9C,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF5B, +0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFF9C,0xFEF9, +0xFDD3,0xFE34,0x82E8,0xEDFC,0xFE5F,0xFE1E,0xFE1F,0xFE7F, +0xDD1A,0xCC76,0x624B,0x9330,0xD497,0xD497,0xABB3,0x1081, +0x49C3,0x2902,0x72C6,0xDD2C,0xC4C9,0x936A,0xB415,0xFE1F, +0xFE3F,0xFE3F,0xFE1F,0xFE9F,0xB436,0xA534,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xE71C,0x62EC,0xB596,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xA534,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xCE99,0x8BB1,0xDCB8,0xD4B8,0x6A6C,0xA434,0xFEBF,0xFE3F, +0xF63F,0xF475,0xFBF2,0xFC12,0xFBF2,0xFC12,0xFC12,0xFBF2, +0xFB71,0xFB71,0xFEFA,0xFFBC,0xFF7B,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B, +0xFF5B,0xFF9C,0xFFDD,0xFFFE,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFE,0xFFFE,0xFFFE,0xFFFF,0xFF5B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF5B,0xFF9C,0xFE97, +0xFDB3,0xFE14,0x8B2B,0xEDFD,0xFE5F,0xFE1F,0xFE3F,0xFE7F, +0xBBF4,0xED1A,0x0000,0xE51A,0xC456,0xCC56,0xC435,0x51C9, +0x20E0,0x3983,0x3143,0xA3E9,0xA407,0x7ACC,0xCC57,0xF5DD, +0xFE3F,0xFE3F,0xFE3F,0xFE9F,0xABF5,0xAD75,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xAD55,0x7B4F,0xAD35,0xEF7D, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xEF9E,0x8C31,0x0020,0xCE59,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xD6BA,0x93D1,0xD498,0xE4F9,0x8B0F,0x8B50,0xF5FE,0xFE5F, +0xFE5F,0xFC13,0xFBD1,0xFBF2,0xFC12,0xFBD2,0xFBB2,0xFB30, +0xFD76,0xFFDC,0xFF9C,0xFF7B,0xFF5B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF5B, +0xFFFE,0xEF9C,0xA574,0x5B6B,0x5289,0x5A48,0x7249,0x61A7, +0x79C7,0xA26A,0xAA8B,0x51C6,0xFFFF,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFE56, +0xFDB2,0xFE13,0x832C,0xEDFD,0xFE3F,0xFE1F,0xFE9F,0xE53A, +0xCC56,0x9B51,0x3146,0xE4F9,0xC436,0xC456,0xD498,0x9B51, +0x0000,0x49C4,0x3943,0x2923,0x0840,0x7AAD,0xD497,0xEDBD, +0xF5FE,0xFE1F,0xFE1F,0xFEDF,0x82F0,0xAD75,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x73AE,0x94B2,0x94B2,0xC618, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0x638C,0x7ACE,0x3885,0xD67A,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xD6BA,0x8B90,0xDCB8,0xD4B8,0xD4B8,0x624B,0xB4B6,0xFE9F, +0xFE7F,0xFCF8,0xFC54,0xFBF2,0xFC74,0xFC53,0xFCB1,0xFFDC, +0xFFDC,0xFF7B,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFFFD, +0xB4B2,0x9209,0xCAED,0xFC32,0xFC73,0xFC93,0xFC92,0xFC93, +0xFC93,0xFC93,0xFC73,0x8208,0xFFFE,0xFF7B,0xFF5B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF7B,0xFF3A,0xFE15, +0xFD92,0xFE34,0x7B0D,0xEDFD,0xFE3F,0xFE3F,0xFE7F,0xBBF4, +0xF53B,0x0820,0xC456,0xCC77,0xC456,0xC456,0xCC76,0xCC56, +0x6209,0x0840,0x49C4,0x3983,0x3123,0x9330,0xCC56,0xE57B, +0xED9C,0xFE1E,0xFE3F,0xFEBF,0x8310,0xA574,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xE71C,0xA434,0xE63C,0x62EC,0xAD75, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xEF7D, +0x2985,0xBCF7,0xB3B3,0x6ACC,0xF7BE,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE, +0x73AE,0x51A9,0xE519,0xD4B8,0xED5B,0x728D,0xAC15,0xFE7F, +0xFE3F,0xFF5F,0x0882,0xC477,0x0000,0xFE54,0xFDB1,0xFEF9, +0xFF9C,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFFFE, +0x8BEE,0xDC11,0xFC93,0xFC72,0xFC72,0xFC52,0xFC52,0xFC52, +0xFC72,0xFC72,0xFC72,0x69A7,0xFFFE,0xFF7B,0xFF5B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF9C,0xFED8,0xFDB3, +0xFDB3,0xED50,0x9BD2,0xF61E,0xFE3F,0xFE7F,0xDD19,0xCC76, +0xB3F4,0x1882,0xF53B,0xC435,0xC456,0xCC56,0xC456,0xD497, +0xC435,0x4986,0x18A0,0x0860,0x51C9,0xD497,0xC456,0xD4D9, +0xD4F8,0xF5FE,0xFE3F,0xFEBF,0xA3D4,0x94D2,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0x8C50,0x83B0,0xFF7F,0x9412,0x9CD2, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xE75C,0xB5D6,0x0881, +0x8BD2,0xFDDD,0x38E6,0xEF5D,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xAD96, +0x0000,0x8B10,0xDCF9,0xD4B7,0xD497,0xD497,0x624B,0xBD17, +0xFE7F,0xFF5F,0x10A2,0xCC77,0x6A6D,0x5A06,0xFE14,0xFE14, +0xFFBD,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFFFE, +0x8C70,0xDC10,0xFC72,0xFC52,0xFC72,0xFC72,0xFC72,0xFC72, +0xFC52,0xFC72,0xFC72,0x69E8,0xFFFF,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7C,0xFF5B,0xFE56,0xFD92, +0xFE14,0xB3EB,0xCCF8,0xFE3F,0xFE3F,0xFE3F,0xBC14,0xF53A, +0x20C4,0x9B72,0xD497,0xC456,0xCC56,0xC456,0xCC56,0xC436, +0xCC97,0xDCB8,0x82CF,0x9331,0xE4F9,0xCC56,0xCC56,0xCC76, +0xC456,0xF5FE,0xFE3F,0xFE9F,0xB436,0x7BEE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xDF1B,0x83B0,0xC497,0xFEBF,0xC578,0x8C51, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xE75D,0x9C73,0x9432,0xB536, +0xFE1E,0xBBD4,0x7B8F,0xEF9E,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xCE79,0x3986, +0x9330,0x7AEE,0xDCD9,0xCC76,0xC435,0xDCB8,0x726C,0xB456, +0xFE5F,0xFF3F,0x2945,0xBC34,0xDCD9,0x0000,0xFE55,0xFD92, +0xFFBD,0xFF7B,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFFFD, +0x9D33,0xD3CF,0xFC52,0xFC72,0xFC52,0xFC72,0xFC72,0xFC72, +0xFC72,0xFC72,0xF472,0x6248,0xFFFF,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF9C,0xFF1A,0xFDF4,0xFD92, +0xFE34,0x7AC8,0xE5DB,0xFE5F,0xFE7F,0xD4B8,0xCC77,0xBC14, +0x1882,0xFD7C,0xC436,0xC456,0xCC56,0xCC56,0xCC56,0xC456, +0xCC56,0xC435,0xA392,0xABD3,0xCC77,0xC456,0xCC76,0xCC76, +0xC414,0xEDBD,0xFE3F,0xFE5F,0xE57C,0x5B0B,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0x7BEF,0x626D,0xFEFF,0xFE3F,0xE65C,0x630C, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8430,0x738E,0xBD37,0xEE5E, +0xF5FD,0x7A2C,0xBD97,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xAD75,0x4107, +0xC435,0x6A6C,0xDCD9,0xC476,0xC456,0xC415,0xFDDD,0x7B10, +0xC518,0xFF7F,0x39A7,0xBBF4,0xF53A,0x4169,0x6246,0xFE14, +0xFEF9,0xFF9C,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF9C, +0xF77B,0x92CB,0xEBF1,0xFC72,0xFC52,0xFC72,0xFC72,0xFC72, +0xFC72,0xFC72,0xFC52,0x7B2C,0xFFFE,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF9C,0xFE97,0xFD92,0xFD93, +0xFE34,0x830B,0xE5DC,0xFE7F,0xF5DD,0xC415,0xED3A,0x18A2, +0xB3D3,0xD497,0xC456,0xCC56,0xC456,0xC456,0xCC56,0xC456, +0xCC56,0xC435,0x9B71,0xA3B2,0xCC77,0xC456,0xCC56,0xCC77, +0xC435,0xE55B,0xFE3F,0xFE3F,0xFEBF,0x39E7,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xA514,0x624C,0xF5FE,0xFE5F,0xFE3F,0xF6DE,0x39A7, +0xFFFF,0xFFFF,0xFFFF,0xEF5D,0x6B6D,0x6B0D,0xEDFD,0xFE9F, +0xED5B,0x4948,0xCE59,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDEFB,0x5229,0xC3F5, +0x8B30,0x9350,0xD4B8,0xCC56,0xC456,0xC435,0xF5FD,0xBCD7, +0xBC77,0xFF1F,0x39C8,0xBBF5,0xCC77,0xE4F9,0x0000,0xFE55, +0xFE14,0xFFBD,0xFF7B,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B, +0xFFFF,0x732C,0xDBF0,0xFC72,0xFC52,0xFC72,0xFC72,0xFC72, +0xFC52,0xFC72,0xEBF0,0x94F1,0xFFFD,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF5B,0xFF5B,0xFF9C,0xFF1A,0xFDF4,0xFD92,0xFDB3, +0xFE33,0x7AED,0xE5DC,0xFE9F,0xCC77,0xD497,0xA372,0x0000, +0xFD7C,0xC456,0xC456,0xC456,0xCC56,0xCC56,0xC456,0xCC56, +0xCC56,0xC436,0x9330,0xA371,0xD477,0xC456,0xC435,0xCC97, +0xC436,0xDCF9,0xFE3F,0xFE3F,0xFF1F,0x2925,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xCE59,0x7B2F,0xCCF9,0xFEBF,0xFE1F,0xFE3F,0xF69E,0x6B2D, +0xFFFF,0xFFFF,0xFFFF,0x6B6D,0x7BEF,0xFF9F,0xFE5F,0xFE3F, +0xED3A,0x38A5,0xD69A,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD6BA,0x4968,0xD477, +0x624B,0xCC76,0xCC77,0xCC56,0xC436,0xCC77,0xF5DD,0xFF1F, +0x9391,0xE65C,0x49E9,0xBC14,0xCC76,0xF57B,0x0000,0x3124, +0xFE75,0xFED8,0xFF9C,0xFF5B,0xFF5B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B, +0xFFBC,0xC657,0xC38E,0xFC52,0xFC52,0xFC52,0xFC52,0xFC52, +0xFC52,0xFC93,0x69A7,0xFFFE,0xFF7B,0xFF5B,0xFF7B,0xFF7B, +0xFF5B,0xFF5B,0xFF7C,0xFF5B,0xFE35,0xFD92,0xFD93,0xFDD4, +0xDCCF,0x9BD2,0xF63E,0xE53A,0xC456,0xED1A,0x0000,0xCC76, +0xCC76,0xC456,0xCC56,0xC456,0xCC77,0xC456,0xC456,0xC456, +0xCC56,0xC455,0x8B0F,0x9B51,0xD497,0xC456,0xC435,0xD4B8, +0xD497,0xD4B7,0xFE1E,0xFE3F,0xFF1F,0x3907,0xFFDE,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xC638, +0x8BD1,0xCD19,0xFEDF,0xFE1F,0xFE3F,0xFE3F,0xEE7D,0x6B4D, +0xFFFF,0xFFFF,0xA534,0x9CB3,0x83B0,0xA3F4,0xFEBF,0xF5FE, +0xE51A,0x40E6,0xCE59,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD67A,0x61CB,0xABD3, +0x4187,0xE4F9,0xCC56,0xCC56,0xC435,0xDCF9,0xFE1F,0xFE5F, +0xF5DE,0xD51A,0x41A8,0xBC15,0xCC56,0xED1A,0x18A2,0x59EC, +0x6A67,0xFE55,0xFF5A,0xFF7C,0xFF7B,0xFF5B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF5B,0xFFFF,0xA4F2,0xD3D0,0xFC52,0xFC72,0xFC72,0xFC72, +0xFC93,0xD36E,0x73CD,0xFFFF,0xFF5B,0xFF7B,0xFF7B,0xFF7B, +0xFF5B,0xFF7C,0xFF5B,0xFE56,0xFD92,0xFDB3,0xFDB3,0xFE34, +0x8B29,0xD539,0xF5DE,0xC456,0xE4D9,0x5A0A,0x6A6C,0xDCD9, +0xC456,0xCC56,0xC456,0xC456,0xE53A,0xC415,0xCC56,0xC456, +0xCC56,0xC456,0x82EF,0x9330,0xD497,0xC456,0xC456,0xCC56, +0xE53A,0xCC97,0xF5FE,0xFE3F,0xFEBF,0x9372,0xA514,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xE73C,0xAD75,0x6AAD, +0xEDBD,0xFEBF,0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xF69E,0x5AAA, +0xFFFF,0xCE99,0x9C52,0xBCD5,0x7B4F,0xC4F8,0xFE9F,0xF5DE, +0xDCF9,0x69EB,0x9CD3,0xFFDF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFDF,0xB576,0x92AF,0x8B30, +0x72AD,0xDCD8,0xC456,0xC456,0xC435,0xED9C,0xFE5F,0xFE1F, +0xFE7F,0xD57A,0x41A8,0xBC15,0xCC76,0xED1A,0x0021,0xFE5F, +0x0021,0x9B6B,0xFE75,0xFF7B,0xFF7C,0xFF7B,0xFF5B,0xFF7B, +0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF5B,0xFF5B,0xFFFF,0xACD2,0xDBF0,0xDBD0,0xE3D0,0xE3F0, +0xD3B0,0x5A89,0xFFFF,0xFF5B,0xFF5B,0xFF7B,0xFF5B,0xFF7B, +0xFF7C,0xFF5B,0xFE36,0xFD92,0xFDB3,0xFDB3,0xFD93,0xFE54, +0x7AEA,0xD57A,0xD4D8,0xDCB8,0x9351,0x3946,0xE4F9,0xC456, +0xCC76,0xC456,0xC435,0xE57B,0xE55B,0xC415,0xCC56,0xC456, +0xCC56,0xC456,0x82EF,0x8B0F,0xD497,0xC456,0xC456,0xC435, +0xED9C,0xD4D8,0xEDBD,0xFE3F,0xFE5F,0xEDBD,0x522A,0xDEDB, +0xD6BA,0xCE79,0xC638,0xBDF7,0x9CD3,0x524A,0x7A8E,0xFEDF, +0xFE5F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xEE5D,0x9492, +0xFFFF,0xBDD7,0x52AA,0xA453,0xEDBD,0xFE7F,0xFE3F,0xF5FE, +0xD4B8,0xAB93,0x526A,0xEF7D,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xF7BE,0xAD14,0x92F0,0x622B, +0xC456,0xCC76,0xC456,0xC435,0xD4F9,0xFE1E,0xFE3F,0xFE1F, +0xFE1F,0xFF1F,0x7AEE,0xBC15,0xCC76,0xE4F9,0x20C4,0xDCB8, +0xF55B,0x1063,0x9B8B,0xFE34,0xFF7B,0xFF7C,0xFF7B,0xFF5B, +0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF5B,0xFF5B,0xFFFF,0xB5B5,0x8BAE,0xABCE,0xA40F, +0x73EE,0xFFFF,0xFF7B,0xFF5B,0xFF5B,0xFF5B,0xFF7B,0xFF7C, +0xFF3A,0xFE35,0xFD92,0xFDB3,0xFDB3,0xFDB3,0xFDD3,0xFDF2, +0x93B0,0xC477,0xDCD8,0xABD3,0x20C3,0xD4B7,0xCC56,0xC456, +0xCC76,0xC435,0xD4B8,0xFE9F,0xD4B8,0xC435,0xC456,0xC456, +0xCC76,0xC456,0x82EF,0x8B0F,0xD497,0xCC76,0xCC56,0xC435, +0xDD19,0xED9C,0xED9C,0xFE3F,0xFE1F,0xFF7F,0x2905,0x6AAC, +0x5249,0x3166,0x20C4,0x2083,0x5168,0xC456,0xFEFF,0xFE3F, +0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xE61C,0xA4F4, +0xFFFF,0x94B2,0x3146,0xDDBB,0xFE7F,0xFE3F,0xFE3F,0xFE1F, +0xCC97,0xDCB8,0x30E5,0xCE59,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFDF,0xBD36,0x722C,0x624B, +0xE4F9,0xCC56,0xC435,0xC476,0xEDBD,0xFE5F,0xFE3F,0xFE1F, +0xFE3F,0xFE7F,0xE53A,0xC456,0xCC76,0xC456,0x6AAD,0xE53A, +0xC415,0xE4FA,0x3127,0x8B2A,0xDD92,0xFF5A,0xFF7B,0xFF7C, +0xFF7C,0xFF5B,0xFF5B,0xFF5B,0xFF7B,0xFF7B,0xFF7B,0xFF7B, +0xFF7B,0xFF7B,0xFF5B,0xFF5B,0xFFDD,0xFFFE,0xFFFE,0xFFFE, +0xFFFE,0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF7C,0xFF7C,0xFEF9, +0xFDF4,0xFD72,0xFDB3,0xFDB3,0xFDD3,0xFE34,0xFDF3,0x8B49, +0xABF3,0xDCD8,0xBC15,0x1082,0x9B71,0xD497,0xC456,0xCC76, +0xC435,0xC435,0xFE3F,0xFE5F,0xCC76,0xC435,0xC456,0xCC76, +0xD4B8,0xCC56,0x8B0F,0x8B0F,0xD497,0xD497,0xCC97,0xC435, +0xCC77,0xFE1E,0xF5FE,0xFE3F,0xFE3F,0xFE9F,0xAC35,0xC435, +0xCC36,0xB3D4,0xC415,0xDC97,0xED3A,0xFE1E,0xFE5F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xD59A,0xA514, +0xFFDF,0x9472,0x8C91,0xFFDF,0xFDFF,0xFE3F,0xFE3F,0xFE5F, +0xCC97,0xD477,0x9310,0x528A,0xE6FC,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xACF5,0x4127,0xCC97, +0xCC76,0xC435,0xC455,0xE55B,0xFE5F,0xFE3F,0xFE1F,0xFE3F, +0xFE3F,0xFE7F,0xD4B8,0xC435,0xDCB8,0x622B,0xC4D8,0xFE7F, +0xCC97,0xC415,0xE57A,0x5ACC,0x72CB,0xBC6E,0xFED8,0xFF5B, +0xFF5B,0xFF7C,0xFF7B,0xFF7B,0xFF7B,0xFF7B,0xFF5B,0xFF5B, +0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF5B,0xFF5B, +0xFF5B,0xFF5B,0xFF7B,0xFF7C,0xFF9C,0xFF5B,0xFEB8,0xFDD3, +0xFD72,0xFDB3,0xFDF4,0xFE34,0xFDD3,0xBC8F,0x72A8,0x3124, +0xC456,0xBC15,0x728D,0x2905,0xBC35,0xCC77,0xCC56,0xCC56, +0xBBF4,0xED9C,0xFE9F,0xFE3F,0xC435,0xC456,0xC435,0xD4B7, +0xED7C,0xCC76,0x9330,0x8B0F,0xD477,0xD4F9,0xD4D8,0xC435, +0xC435,0xF5DD,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFEFF,0x51E9, +0xFD9C,0xCC76,0xD4B8,0xDCF9,0xF5DD,0xFE5F,0xFE1F,0xFE1F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE7F,0xC578,0x7BEF, +0xE6FC,0x73AE,0x8410,0xE61C,0xFE3F,0xFE3F,0xFE3F,0xFE7F, +0xD4D8,0xC435,0xDCD9,0x69EB,0x5A8B,0xC5F8,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xBE18,0x8370,0xA372,0xDCB8, +0xC456,0xC435,0xDD19,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xCC76,0xC435,0xED1A,0x1041,0xFE5F,0xFE7F, +0xFE3F,0xDCD9,0xCD78,0xB515,0x93B2,0x5A49,0x8B0A,0xC4CF, +0xFEB7,0xFF5A,0xFF5A,0xFF5B,0xFF5B,0xFF7B,0xFF7C,0xFF7C, +0xFF7B,0xFF7B,0xFF5B,0xFF5B,0xFF5B,0xFF7B,0xFF7B,0xFF7C, +0xFF7C,0xFF9C,0xFF5B,0xFEF9,0xFEB7,0xFE35,0xFDD3,0xFDF3, +0xFE34,0xFDD3,0xC4AF,0xA3EC,0x7AE9,0x4166,0x51CA,0x7AAE, +0xA392,0x8B10,0x6A6C,0x7ACE,0xD477,0xCC77,0xCC56,0xBC14, +0xD4D8,0xFE7F,0xFE3F,0xFE1E,0xBC14,0xC456,0xC435,0xE55B, +0xF5FD,0xCC56,0x9350,0x8B0F,0xCC77,0xDD19,0xDD1A,0xCC56, +0xBC15,0xE57B,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFEDF,0x8350, +0xD53A,0xEDBC,0xF5DE,0xFE5F,0xFE5F,0xFE3F,0xFE1F,0xFE1F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFEBF,0xB516,0x632C, +0xCE59,0x5AAB,0x8BB1,0xD53A,0xFE7F,0xFE3F,0xFE1F,0xFE7F, +0xDD3A,0xC456,0xC456,0xE4F9,0x724C,0x7AEE,0x9452,0x9472, +0xCE39,0xFFDF,0xFFFF,0x8430,0x8B70,0xB3B3,0xDCD8,0xCC56, +0xC435,0xCC97,0xF5FE,0xFE5F,0xFE1F,0xFE1F,0xFE1F,0xFE3F, +0xFE5F,0xED9C,0xC456,0xCC76,0xC435,0x4188,0xFEBF,0xFE3F, +0xFE5F,0xFE5F,0xD65A,0x626B,0x9B71,0xC557,0x1883,0x7AAB, +0x8B0A,0x9BCC,0xD511,0xFE77,0xFF19,0xFF3A,0xFF5A,0xFF7B, +0xFF7B,0xFF7B,0xFF7C,0xFF7C,0xFF5B,0xFF5B,0xFF3A,0xFF3A, +0xFF39,0xFEF8,0xFEB6,0xFE55,0xFE14,0xFDF3,0xE531,0xAC0D, +0x832A,0x8B4C,0x93F0,0x628B,0x39A8,0x72CD,0xB414,0x82CE, +0x82CE,0xABB3,0x5A0A,0xCC76,0xCC77,0xCC76,0xC435,0xCC97, +0xFE3F,0xFE3F,0xFE3F,0xEDBD,0xBBF4,0xC435,0xCC97,0xFE5F, +0xEDBC,0xCC56,0x9B51,0x8B0F,0xD476,0xE53A,0xED9C,0xCC76, +0xC415,0xDD1A,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xFE7F, +0x4188,0xFF5F,0xFE3F,0xFE3F,0xFE1F,0xFE1F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFF1F,0xAD35,0x6B4D, +0xBDD7,0x5A4A,0xA433,0xFEBF,0xFE3F,0xFE3F,0xFE3F,0xFE5F, +0xEDBC,0xCC56,0xC436,0xC456,0xE4F9,0xBBF4,0x828E,0x726D, +0x9BB2,0x5AAB,0x736E,0x7AAE,0xCC36,0xD4D8,0xCC76,0xCC56, +0xC435,0xD4D9,0xFE3F,0xFE3F,0xFE1F,0xFDFE,0xFE1F,0xFE1F, +0xFE7F,0xDCF9,0xC456,0xED1A,0x3905,0xC4B7,0xFE7F,0xFE3F, +0xFE1F,0xFE9F,0xEFBE,0x83F0,0xA473,0xC517,0x51A9,0xCC57, +0x726D,0x6A8B,0x834D,0x832C,0x832B,0x832B,0x9BAC,0xBC8F, +0xD531,0xF614,0xFEB7,0xFF19,0xFF18,0xFED7,0xFEB7,0xFE14, +0xDD32,0xCC90,0xB42E,0x9BAC,0x938D,0x832B,0x5A28,0x7B2D, +0x628B,0x41E9,0xD5B9,0xBD16,0x6AEC,0x838F,0x6A8C,0x82AE, +0xC456,0x622B,0xABD3,0xCC76,0xD497,0xC435,0xBC35,0xF61E, +0xFE5F,0xFE3F,0xFE3F,0xE55B,0xBC14,0xC456,0xE57B,0xFE9F, +0xED9C,0xCC56,0x9350,0x8B0F,0xCC76,0xE57B,0xFE1E,0xCC97, +0xC415,0xD4D8,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFEDF, +0x9392,0xBCD7,0xFE9F,0xFE1F,0xFE1F,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFF1F,0xC5D8,0x632C, +0xBDD7,0x39A7,0x93B1,0xFEBF,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xCC77,0xC435,0xC456,0xCC56,0xD4B7,0xE51A,0xFDBC, +0x59EA,0x51A9,0x92F0,0xE4D9,0xD497,0xCC97,0xCC56,0xC456, +0xC435,0xDCF9,0xFE5F,0xFE3F,0xFDFE,0xF5FE,0xFE1F,0xFE3F, +0xFE1F,0xCC97,0xCC76,0xD497,0x1041,0xFE5F,0xFE5F,0xFE3F, +0xFE1F,0xF71E,0xFFFF,0xEF5D,0xE63A,0xAC94,0x59EA,0xE4F9, +0xC415,0xA413,0x8C12,0x734F,0x7B6F,0x836F,0x8B8F,0x6A8A, +0x936E,0x936C,0x830A,0x6267,0x5A26,0x6AA8,0x72A9,0x6227, +0x49A7,0x4166,0x4208,0x62CB,0x524A,0x526B,0x4A09,0x8BB0, +0xD599,0x626B,0x730D,0x9C72,0xAD75,0xBDF7,0xC557,0xCCB7, +0x620A,0x7AAE,0xD497,0xDCB8,0xA392,0xA392,0xE5BC,0xFE5F, +0xFE1F,0xFE3F,0xFE5F,0xDCD9,0xC415,0xD4D8,0xFE5F,0xFE5F, +0xE57B,0xCC56,0x9350,0x82EE,0xD497,0xE59C,0xFE5F,0xD4B8, +0xC415,0xD4B8,0xFE1E,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFEBF,0x7AEF,0xFE9F,0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE9F,0xD5FA,0x734E,0x9492, +0xDF1C,0x8410,0xBD57,0xFEDF,0xFE1F,0xFE3F,0xFE3F,0xFE3F, +0xFE7F,0xDCF9,0xC435,0xC456,0xC456,0xCC76,0xF55B,0x5A0A, +0x9351,0xCC97,0xDCD9,0xCC76,0xCC97,0xCC97,0xBC15,0xCC76, +0xC435,0xD4D8,0xFE3F,0xFE3F,0xFE1E,0xFE1F,0xFE1F,0xFE5F, +0xE53A,0xC456,0xE4F9,0x4167,0x9BB3,0xFE7F,0xFE3F,0xFE5F, +0xC4D7,0xF6FD,0xDF1B,0xFFFF,0x9C32,0x8BD0,0x8B51,0xF5FD, +0xCC97,0xAC53,0xA493,0xA453,0xACB4,0xD5D9,0x9C53,0x8390, +0x62CC,0x2125,0x3967,0x5A2B,0x726D,0x82CF,0x82CF,0x82CF, +0x82CF,0x8AEF,0x9371,0x830E,0x5A09,0x49E8,0x2925,0x18C3, +0x5A6A,0x41A8,0x18A2,0x5AAB,0xA534,0xCE78,0x94D2,0x5209, +0x4988,0x9330,0x9330,0x9B71,0xBC76,0xDD7B,0xFE7F,0xFE3F, +0xFE1F,0xFE3F,0xFE5F,0xC456,0xC435,0xF5FE,0xFE5F,0xFE3F, +0xE55B,0xCC56,0x9330,0x82CE,0xDCD8,0xEDDD,0xFE7F,0xD4B8, +0xC415,0xCC97,0xFE1E,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE5F,0xD59A,0xAC35,0xFEDF,0xFE1F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFDFF,0xFF7F,0x738E,0x5ACB,0xEF5D, +0xFFFF,0xAD95,0x83B0,0xFEBF,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE5F,0xF61E,0xC456,0xC435,0xC456,0xED3A,0x49A8,0x8AEF, +0xDCB8,0xCC97,0xCC56,0xCC76,0xC455,0x82CE,0xBC35,0xCC76, +0xC456,0xCC76,0xE57C,0xFE5F,0xFE5F,0xFE5F,0xFE9F,0xFE1E, +0xDCD8,0xDCB8,0xCC36,0x5A0A,0xFE7F,0xFE9F,0xFE5F,0xFEDF, +0x5289,0xAC94,0xDF1B,0xBDD7,0x7B2E,0x72ED,0xCD19,0xFE9F, +0xFE9E,0xEF1C,0xDE7B,0x9432,0x7B4E,0x7B4E,0x18C3,0x49C8, +0x830E,0x9350,0xABB2,0xCC56,0xDCB8,0xDCF8,0xE519,0xE53A, +0xE53A,0xED5B,0xE53B,0xD4B8,0xC497,0xBC56,0xABF4,0xA3D3, +0xA3D2,0x9B71,0x72AD,0x72AD,0x7B2E,0x93D1,0x834F,0x7B0F, +0xB435,0xCCD8,0xCD19,0xD55A,0xFE3F,0xFE5F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE5F,0xBC14,0xE53A,0xFE7F,0xFE3F,0xFE1F, +0xDD19,0xCC76,0x8B10,0x7A8D,0xE51A,0xF61E,0xFE3F,0xD4B8, +0xC415,0xCC97,0xFE1E,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xFE7F,0xCD19,0xBCB7,0xFEBF,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFE9F,0xCDD9,0x8410,0xD69A,0xFFFF, +0xEF5D,0xA514,0x7B6E,0xB496,0xFE9F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE5F,0xED9C,0xC435,0xED1A,0x49A8,0x82EE,0xDCB8, +0xCC77,0xCC56,0xCC56,0xCC56,0xCC97,0x8B30,0x7ACE,0xE4D9, +0xCC56,0xCC76,0xD4B8,0xED9C,0xFDFE,0xFDDE,0xD4D8,0x9330, +0x726C,0x7AAD,0x3926,0xA414,0xCD19,0xC4F8,0xCCD9,0xFF9F, +0xB5F6,0xDEFB,0xFFFF,0x7B2E,0x732D,0x49C8,0xFEBF,0xFE9F, +0xF73E,0xFFFF,0xFFFF,0x73CF,0x1883,0x5A0A,0x8ACF,0xAB92, +0xCC77,0xED5B,0xF5BC,0xF5DD,0xF5DD,0xF5FE,0xF5FE,0xFE1E, +0xFE1E,0xFE1F,0xFE1F,0xFE3F,0xFE5F,0xFE7F,0xFE5F,0xFE5F, +0xFE3F,0xF5FE,0xEDDD,0xE5BC,0xE5BC,0xE59B,0xEDDD,0xF61E, +0xF61E,0xFE3F,0xFE5F,0xFE7F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xED9C,0xCC97,0xFE5F,0xFE3F,0xFE3F,0xF61E, +0xD4B8,0xD497,0x82CE,0x6A2B,0xED7B,0xFE3F,0xF61E,0xCC97, +0xC415,0xD4B8,0xFE1E,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE5F,0xBCB7,0xAC55,0xFEDF,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFF1F,0x7BAF,0x630C,0xEF5D,0xFFFF, +0xCE79,0x9411,0x7ACE,0x734F,0xFEFF,0xFE3F,0xFE3F,0xFE1F, +0xFE3F,0xFE3F,0xFE5F,0xFDFE,0x6A4C,0x726C,0xD4B8,0xCC76, +0xCC76,0xCC56,0xC435,0xCC77,0xFE1F,0xE5DC,0x8330,0x9351, +0xABB3,0x9B51,0x9350,0x9B50,0x830F,0x7AEF,0x830F,0x9BD3, +0xABF4,0xBC76,0xAC35,0xBC97,0xB456,0xAC35,0xA3F4,0x8BB1, +0x7C0F,0x842F,0xA554,0x9C31,0x524A,0xA414,0xFE9F,0xAC95, +0xB5D6,0xAD75,0x636D,0x6A6C,0xA351,0xC456,0xED5B,0xFDFE, +0xFE1E,0xFE1F,0xFE3F,0xFE3F,0xFE5F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE5F,0xFE5F,0xFE5F,0xFE5F,0xFE5F,0xFE5F,0xFE5F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xD4D8,0xF5FE,0xFE5F,0xFE3F,0xFE3F,0xF5FD, +0xCC56,0xD497,0x7AAE,0x622B,0xF5BD,0xFE7F,0xF5BD,0xCC77, +0xC415,0xDCF9,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xF61E,0x9BD3,0xC4F8,0xFE9F,0xFE1F, +0xFE3F,0xFE1F,0xFF1F,0xA4B4,0x8430,0x9471,0xBDF7,0xFFFF, +0xF7DE,0xAD55,0x8B90,0xBCF7,0xEDDD,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xFE3F,0xFF3F,0xDD5A,0x4988,0xD477,0xCC77,0xC456, +0xCC56,0xC456,0xC415,0xF61E,0xFE5F,0xFE5F,0xEDFD,0xE57B, +0xE57B,0xDD1A,0xDD3A,0xE57C,0xE5BC,0xE5DC,0xEDFD,0xF61E, +0xFE1F,0xFE3F,0xFE5F,0xF61E,0xF61E,0xF61E,0xF5FE,0xE5BC, +0xE5FC,0xE5DC,0xC558,0x72ED,0x1883,0xBCB7,0xEE3D,0x7B8E, +0x9451,0x4187,0xAB92,0xD497,0xFDDE,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xF5DD,0xF5BD,0xFE5F,0xFE3F,0xFE1F,0xFE3F,0xEDDD, +0xC415,0xD498,0x7AAD,0x6A4C,0xFE1E,0xFE9F,0xE53A,0xC435, +0xC415,0xE55B,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xDDBB,0x72AE,0xFE5F,0xFE5F, +0xFDFF,0xFEBF,0xCE19,0x738D,0x8431,0xBDD7,0xF7BE,0xFFFF, +0xFFFF,0xFFFF,0x738E,0x738E,0xFFFF,0xFE3F,0xFDFF,0xFE5F, +0xFF1F,0xFE9F,0xA414,0x1883,0xC435,0xD497,0xC456,0xCC56, +0xCC56,0xC415,0xEE1C,0xFEFF,0xFE1F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xFE5F,0xFE5F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F, +0xFE5F,0xFE5F,0xFE3F,0xEE1D,0xE5FB,0xBC97,0x5A4B,0x5249, +0xABF4,0xD4B8,0xED9C,0xFE5F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE1E,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xED7C, +0xBC14,0xD4B7,0x7AAD,0x7ACE,0xFE7F,0xF61E,0xCCB7,0xC415, +0xCC56,0xF5DD,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xC4F8,0x5A4B,0xFEDF, +0xFEDF,0xEF3D,0x62EC,0x39E7,0xA534,0xF7BE,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xF7BE,0x738E,0x7C0F,0xFFDF,0xFF9F,0xF63E, +0x5A6C,0x3146,0x622B,0x7A8D,0xCC97,0xCC76,0xC456,0xCC76, +0xCC56,0xC415,0xFFFF,0xFE7F,0xFE1F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xFE5F,0xEE3D,0x9BD3, +0x51EA,0xE5BB,0xFEFF,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xDCF9, +0xC435,0xC435,0x7A8D,0xA414,0xFEDF,0xE51A,0xC415,0xD497, +0xABB3,0xDD7B,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE5F,0xE5DC,0x6A6C,0xF65E, +0xE69C,0x4A49,0x4A49,0xBDD7,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xCE59,0x626C,0xAD35,0x6BCD,0x3146, +0xB3F4,0xFD7C,0x59E9,0xC435,0xCC97,0xC456,0xC456,0xCC56, +0xC436,0xCC97,0xFFFF,0xFE3F,0xFE1F,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE9F, +0xCD79,0x520A,0xA454,0xFF1F,0xFE1F,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xF61E,0xCC56, +0xCC76,0xABD3,0x72AE,0xCD3A,0xEDBC,0xC435,0xDCD8,0xA351, +0xA3D3,0xF61E,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE1F,0xFE7F,0xCD59,0x4A48, +0x52AB,0x4A49,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xD65A,0x5A4A,0x0821,0x9310,0xED3A, +0xD4B8,0xDCD8,0x59EA,0xC436,0xCC76,0xCC76,0xCC97,0xC435, +0xC435,0xCCB7,0xFFFF,0xFE3F,0xFE1F,0xF5DE,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE7F,0xF63D,0x72AD,0x8BD1,0xFEFF,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFE1F,0xFE1F,0xFE5F,0xF5BD,0xBBF4, +0xD497,0x9330,0x6A8D,0xDCF9,0xD497,0xE4D8,0x6A2B,0x8B71, +0xF63E,0xFE5F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xFE7F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xD51A,0x3145, +0x8450,0xF79E,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0x94F2,0x3946,0xD497,0xE519,0xC455, +0xCC56,0xB415,0x9351,0xCC76,0xC435,0xD4D8,0xED7C,0xC415, +0xC436,0xCC37,0xFFFF,0xFE9F,0xFDFF,0xFDFE,0xFDFE,0xFE3F, +0xFE3F,0xFE3F,0xFDFF,0xFDDF,0xFDDF,0xFE1F,0xFE3F,0xFE1F, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE7F,0xEDFD,0x72CE,0xA474,0xFEFF,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE1F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xD4D8,0xC435, +0xD497,0x82CE,0x6A4C,0xFD7C,0x9B51,0x4167,0xC4D7,0xFEDF, +0xFE5F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFDBF, +0xFF5F,0xFDFF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xCC98,0x9390, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0x8430,0x4127,0xED1A,0xD4B8,0xC415,0xC435, +0xFE7F,0x9C13,0xA392,0xCC76,0xC415,0xDCF9,0xFEDF,0xBC14, +0xC435,0xC3F5,0xFF9F,0xFFFF,0xFDDF,0xFDFF,0xFE1F,0xFE1F, +0xFE1F,0xFDFF,0xFEBF,0xFFFF,0xFFDF,0xFE7F,0xFDFF,0xFE1F, +0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFE9F,0xD57A,0x7AEE,0xC518,0xFE7F,0xFE1F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xED7C,0xBBF4,0xD497, +0xB3D4,0x6A6C,0x82EF,0x51A8,0x9350,0xFE7F,0xFE9F,0xFE1F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFDFF,0xFE7F, +0xFFFF,0xFDBF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xCC57,0x9BB1, +0xEF9D,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0x9D14,0x59CA,0xE4FA,0xD4B7,0xC435,0xCC76,0xF5FE, +0xFEDF,0x9BD2,0x9B92,0xCC76,0xC415,0xDD3A,0xFE7F,0xFE3F, +0xBC15,0xBBD4,0xDCD9,0xFFFF,0xFFFF,0xFF7F,0xFEBF,0xFE1F, +0xFDFF,0xFEDF,0xFFFF,0xFFFF,0xFFFF,0xFF1F,0xFE1F,0xFE5F, +0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFF1F,0x730E,0x8370,0xFE9F,0xFDFF, +0xFE1F,0xFE1F,0xFE1F,0xFE3F,0xFE1F,0xFE1F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xED9C,0xC3F4,0xCC76,0xB3D3, +0x6A4B,0x59C9,0xB3D3,0xF5BC,0xFE9F,0xFE5F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFDFF,0xFE1F,0xFFFF, +0xFF7F,0xFDDF,0xFE3F,0xFE3F,0xFE3F,0xFE1E,0xC415,0x9330, +0xA575,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xD6DA,0x838F,0xBC15,0xD4B7,0xC436,0xC435,0xEDBC,0xFE5F, +0xFE7F,0xB497,0x9350,0xCC56,0xC415,0xDD1A,0xFE5F,0xFE5F, +0xFE9F,0xED7B,0xD4B8,0xED7C,0xFEDF,0xFEBF,0xFE1F,0xFE1F, +0xFE5F,0xFF7F,0xFFFF,0xFFFF,0xFFFF,0xFEFF,0xFE1F,0xFF9F, +0xFF9F,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFE5F,0xDDBC,0x8C52,0xCE99,0xFFFF, +0xFFFF,0xFFDF,0xFF3F,0xFE7F,0xFE5F,0xFE3F,0xFE3F,0xFE1F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE5F,0xFE5F,0xFE1E,0xDCF9,0x8ACE,0x8B0F,0x8B0F,0xABB2, +0xDCF8,0xFDBD,0xFE5F,0xFE7F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFDDF,0xFE9F,0xFFFF,0xFFFF, +0xFEFF,0xFDFF,0xFE3F,0xFE3F,0xFE3F,0xF5FE,0xB3B3,0x9BB2, +0xC638,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xAD55,0x61CA,0xE4F9,0xC455,0xC415,0xD4D8,0xFE1E,0xFE3F, +0xFE5F,0xEDBD,0x72AD,0xC435,0xCC56,0xCC97,0xFE7F,0xFE3F, +0xFE3F,0xFE5F,0xFE7F,0xFE3F,0xFDFF,0xFDFF,0xFE1F,0xFE1F, +0xFE3F,0xFF1F,0xFFFF,0xFFFF,0xFF5F,0xFE3F,0xFDFF,0xFE5F, +0xFE3F,0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFEFF,0x626C,0x3146,0x734E, +0x526A,0x4A29,0x6B4D,0x9CF3,0xE73C,0xF79D,0xF6DE,0xFE7F, +0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xFE3F, +0xEDDD,0xB435,0x49A8,0x6A4B,0xC435,0xDCB8,0xED5B,0xFE1E, +0xFE7F,0xFE7F,0xFE3F,0xFE1F,0xFE1F,0xFE3F,0xFE1F,0xFE3F, +0xFE1F,0xFE1F,0xFE1F,0xFE5F,0xFFBF,0xFFFF,0xFFFF,0xFFDF, +0xFDFF,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xE55A,0xAB92,0x6AAC, +0xE73C,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xAD15,0xAB52,0xCC77,0xC456,0xC435,0xE57B,0xFE5F,0xFE3F, +0xFE3F,0xFEBF,0x49A8,0xC435,0xCC76,0xBBF4,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE1F,0xFE3F,0xFEDF,0xFE9F,0xFE1F,0xFE1F,0xFE3F,0xFE1F, +0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFE1F,0xFE3F, +0xFE3F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xFEBF,0x9392,0x9452,0xAD75, +0xBDB7,0xBD97,0xE6FC,0xDE5B,0x39A7,0x3166,0x8C30,0xE6FC, +0xEEDD,0xFE7F,0xFE5F,0xFE5F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F,0xFE3F,0xEDBD,0xB435, +0x28E4,0x82CE,0xE4F9,0xE53A,0xEDBD,0xFE7F,0xFE7F,0xFE3F, +0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE1F,0xFE3F,0xFE1F, +0xFE1F,0xFE5F,0xFF3F,0xFFFF,0xFF9F,0xFF3F,0xFE7F,0xFDDE, +0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xF61E,0xCC56,0xAB93,0x6ACC, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xA473,0xCC36,0xCC56,0xC435,0xCC76,0xEDBD,0xFE5F,0xFE3F, +0xFE3F,0xFE9F,0x5A4B,0xB3F4,0xCC77,0xC415,0xDCF9,0xFE5F, +0xFDFE,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFDFF,0xFDFF,0xFE1F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE1E,0xFE1F,0xFE3F,0xFE5F,0xEDDD, +0xFE9F,0xFE9F,0xFE7F,0xFE5F,0xFE3F,0xFE1F,0xFE1F,0xFE1F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE7F,0xBC97,0xA4B4,0xF7BE, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xA514,0xBD36,0x2863, +0x5A8B,0xACB4,0xD559,0xED9B,0xFDFE,0xF61E,0xF61E,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE5F,0xFE5F,0xE5BC,0xABF3,0x4987,0x7A8D, +0xED3A,0xED5B,0xFDFE,0xFE7F,0xFE5F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFE7F,0xFF7F,0xFF9F,0xFEDF,0xFE3F,0xFE1F, +0xFE1F,0xFE5F,0xFE3F,0xFDFF,0xFDDF,0xFDFF,0xFE1F,0xFE3F, +0xFE1F,0xFE3F,0xFE3F,0xFE5F,0xE53A,0xC415,0xABB3,0x7BEF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xA453,0xCC36,0xCC56,0xC435,0xCC97,0xF5DD,0xFE3F,0xFE3F, +0xFE3F,0xFE9F,0xD4F9,0x4188,0xCC97,0xCC76,0xBBD4,0xF5DD, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F,0xF5FE, +0xFE5F,0xF61E,0xC4B7,0xD4D9,0xE5BC,0xF5FD,0xF63E,0xB4B6, +0xB576,0xCEB9,0xDEDB,0xFF7F,0xFF7F,0xFF3F,0xFEBF,0xFE5F, +0xFE1F,0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFDFE,0xA473,0xD6BA, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xB5B6,0xC577, +0xBC75,0x3186,0x62AB,0x9B50,0xAB92,0xC435,0xDCD8,0xDCF9, +0xE53A,0xED9C,0xF5BD,0xF5FD,0xF5FE,0xF61E,0xF5FE,0xF5FE, +0xF5FD,0xF5FE,0xF5DD,0xCCB8,0x4187,0x4147,0xE4F9,0xED7B, +0xFE3F,0xFE7F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFDFF,0xFEDF,0xFFFF,0xFFFF,0xFFFF,0xFE9F,0xFE1F, +0xFE3F,0xFE1F,0xFE1F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE1F, +0xFE3F,0xFE5F,0xFE3F,0xEDBC,0xC435,0xC415,0x8B2F,0xDF3C, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xBD56,0xB393,0xCC76,0xC435,0xCC97,0xF5DD,0xFE5F,0xFE1F, +0xFE9F,0xE5BC,0xD539,0x18E3,0x9330,0xDCB8,0xC436,0xBC15, +0xED9C,0xF5FD,0xFE1F,0xFE3F,0xFE3F,0xFE5F,0xFE5F,0xFE5F, +0xFE3F,0xFE1F,0xFE1F,0xF5FE,0xF5FE,0xFE3F,0xFE7F,0xD53A, +0xA433,0xB555,0x5269,0xB475,0xB4F5,0xDDF9,0xC4D6,0xDE9B, +0x1062,0x6B2D,0x526A,0xD61A,0xD639,0xCE38,0xDEFB,0xEF5D, +0xFEFF,0xFE3F,0xFE1F,0xFE3F,0xFE3F,0xFE7F,0xA474,0xCE99, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xEFBD,0xFFFF,0xFFFF,0xB5D6,0x524A,0x8B0F,0xB3F4,0xBC14, +0xCC76,0xCC56,0xC456,0xC456,0xCC56,0xCC77,0xCC77,0xCC56, +0xCC56,0xCC76,0x8B0F,0x3926,0x9B50,0xED3A,0xF5DD,0xFE9F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F, +0xFE3F,0xFE1F,0xFE7F,0xFF5F,0xFF9F,0xFF1F,0xFE5F,0xFE1F, +0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE3F,0xFE5F, +0xFE3F,0xF5FD,0xE51A,0xC415,0xCC56,0x92F0,0x9472,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xD659,0x8AF0,0xD497,0xC455,0xCC76,0xEDBC,0xFE5F,0xFE9F, +0xDDDB,0x5A4B,0x6B8D,0x9D13,0x6B4D,0xA392,0xD4B8,0xC456, +0xBBF4,0xCC76,0xDD19,0xE57B,0xEDBC,0xEDDD,0xEDBC,0xED9C, +0xED9C,0xED7B,0xDCF9,0xC476,0xCCD8,0xD59A,0xDE1A,0x93F1, +0x3A07,0xBDF7,0x9D13,0xA4B3,0xE6DC,0xE75C,0xD5B9,0xAD55, +0xAD96,0xFFFF,0x9CD3,0xBD96,0x9411,0x5229,0x624C,0x8C31, +0xDEFB,0xFF7F,0xFE7F,0xFE1F,0xFE3F,0xFE5F,0x9C33,0xCE79, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD6BA,0x528A,0x49C8,0x7A8D, +0x9B71,0xABB3,0xBBF4,0xCC56,0xD477,0xD497,0xD497,0xD497, +0xD497,0x8B0F,0x622B,0xC456,0xE53B,0xFE3F,0xFE5F,0xFE1F, +0xFE3F,0xFE5F,0xFE5F,0xFE5F,0xFE5F,0xFE5F,0xFE5F,0xFE5F, +0xFE5F,0xFE3F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE1F,0xFE3F, +0xFE3F,0xFE3F,0xFE5F,0xFE5F,0xFE5F,0xFE3F,0xFE1E,0xEDDD, +0xE55B,0xC456,0xC435,0xD497,0x9B30,0x62EC,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xE73C,0x9C32,0xAB72,0xD497,0xC435,0xE53A,0xFE9F,0xDDBB, +0x524A,0x73AE,0xAD96,0xEF7D,0xFFFF,0x528A,0x8AEF,0xDCF9, +0xD477,0xCC76,0xCC35,0xCC56,0xC415,0xC415,0xC435,0xCC56, +0xB3D3,0x9B31,0x7AAD,0x732D,0xB556,0x8C11,0x7B2E,0x6ACC, +0xC638,0xFFFF,0xE71C,0xCE9A,0xC658,0xC618,0xBDF7,0xFFFF, +0xFFFF,0xFFFF,0xEF9E,0xCE59,0xD6FA,0xD6BA,0x8BF1,0x9452, +0xAD35,0xCE99,0xE6BC,0xFE7F,0xFE1F,0xFE1F,0xA474,0xD6BA, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xCE39,0xACF4,0x83CF, +0x62EC,0x7B4E,0x8B70,0x8B2F,0x8B0F,0x8AEF,0x82CE,0x9350, +0x728D,0x6A4B,0xC456,0xDCD8,0xE57B,0xE55B,0xDD1A,0xDD19, +0xE53A,0xED7C,0xED7C,0xED9C,0xED9C,0xEDBC,0xEDBD,0xF5DD, +0xF5FE,0xF5FE,0xFE1E,0xFE1F,0xFE1F,0xFE1F,0xFE1E,0xFE1E, +0xF61E,0xF5FE,0xF5DD,0xEDBC,0xED7B,0xE53A,0xD4D8,0xC456, +0xC415,0xDCB8,0xB3B4,0x8AAF,0x836F,0xEF7D,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xD679,0x7AEE,0xBBB4,0xD477,0xD497,0xEDDC,0x732E, +0x52CA,0xEF7D,0xFFFF,0xFFFF,0xFFFF,0xD6DA,0x634C,0x8B70, +0xA3F3,0x6A6C,0x9350,0x9BB2,0xE57A,0xE57A,0xE51A,0xC436, +0x6A4C,0x736E,0x9CD3,0x8450,0xBDF7,0xC618,0x9CF3,0xE73C, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xF7BE,0xB596,0xAD74,0xE67C,0xFE9F,0xDD3B,0xB516,0xEF5D, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xEF7D, +0xDEFB,0xDF1B,0xBE38,0x9D13,0x6B8D,0x4A89,0x4A29,0x2144, +0x3966,0xCC56,0xDCD8,0xD477,0xCC56,0xCC36,0xCC56,0xCC36, +0xCC36,0xCC36,0xCC56,0xCC56,0xC456,0xC456,0xCC76,0xCC97, +0xD4B7,0xD4B8,0xD4D9,0xD4F9,0xDCF9,0xDCF9,0xD4F9,0xD4D9, +0xD4D8,0xD4B8,0xCC77,0xC436,0xC414,0xC435,0xD477,0xD497, +0xB3D4,0x724D,0x7B4E,0x7BCF,0xEF5D,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xCE59,0x8B90,0x9B31,0xD457,0x9B51,0x4209, +0xA514,0xF7BE,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x8470, +0xAD96,0x7C2F,0xA534,0x738E,0xBD77,0xB516,0xA3F3,0x8B90, +0x8C71,0xE75C,0xFFFF,0xF79E,0xE73C,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xD6BA,0xB596,0xFEBF,0xA3D4,0xBD77,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFDF,0xE73C,0xE73C,0x838F, +0x9B11,0xA351,0x9330,0x9BB2,0xA3D2,0xAC14,0x8B0F,0xA372, +0x9B51,0x9B11,0xA331,0xBBD4,0xC3F5,0xCC36,0xCC36,0xCC56, +0xCC76,0xCC56,0xCC56,0xCC56,0xCC56,0xCC56,0xCC56,0xC436, +0xCC56,0xCC56,0xD497,0xD497,0xD497,0xCC56,0x9310,0x8B0F, +0x4187,0x6B8E,0xC679,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xD6DA,0xA4B4,0xA3B2,0x626C,0x8C51, +0xF79E,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xDEFB,0xBE17,0xB596,0xA534,0xC638, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xDEDB,0xDDFB,0xACB5,0xCE79,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xD65A,0x9B71, +0xA3D2,0xB4F5,0x9492,0x8C71,0x8C71,0x8C51,0x9CD3,0xBD97, +0xBD76,0xBD36,0xACD4,0x834F,0xBD16,0xBCD6,0xB454,0x9B71, +0x92CF,0x9B11,0xA331,0xA352,0xAB93,0xABB3,0xB3D3,0xBBD4, +0xB3D4,0xA352,0x92F0,0x7A6D,0x726D,0x5A0A,0x5AAA,0x632C, +0x8C91,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xCE39,0xC618,0xFFDF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xC5F8,0xC5F8,0xF7DE,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDE7A,0xCDD8, +0xE6FC,0xFFFF,0xF7DE,0xE75C,0xE73C,0xDEDB,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xBE18,0xA575,0xA555,0x9491,0x83F0, +0xB556,0xC597,0xC597,0x9C53,0x7B4F,0x7B0E,0x6AAC,0x628B, +0x72ED,0x9411,0xA4B4,0xA4D4,0xA514,0x9D14,0xCE99,0xDEFB, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xE75C,0xEF7D,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xDEDB,0xE71C,0xDEFB,0xDF1B, +0xFFFF,0xFFFF,0xFFFF,0xEF7D,0xD6BA,0xCE79,0xC638,0xBDF7, +0xC658,0xE73C,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF +};
diff -r 000000000000 -r 58e40a872950 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Jun 05 15:10:48 2011 +0000 @@ -0,0 +1,158 @@ +// MARMEX OLED and GPS test program +// Author : Yuji Notsu +// Date : 30-Mar-2011 +// Revision : 0.0 + +/** A sample app of MARMEX_OB OLED screen drawing library + * + * @author Tedd + * @version 0.51 + * @date 08-Apr-2011 + * + * Released under the MIT License: http://mbed.org/license/mit + * + * MARMEX_OB_oled OLED screen drawing library for mbed + * This code has been written based on sample code and advises + * from Ochiai-san (Marutsu-Elec). Thank you! + * + * To build this code, "NokiaLCD" and "mbed" libraries are needed to be imported in a project. + * NokiaLCD library : http://mbed.org/users/simon/libraries/NokiaLCD/ + */ + + +#include "mbed.h" +#include "MARMEX_OB_oled.h" +#include "imagedata.h" +#include "gpsrtc.h" + +// oled1 is for MARMEX_OB_oled board on MAPLE slot 1 +MARMEX_OB_oled oled1( p5, p7, p8, p30, p11 ); // mosi, sclk, cs, rst, power_control + +void oled_image2(const unsigned int *ptr2); + +int main() { + + // Initialize RTC + // + // Init_RTC(1, 11, 05, 31, TUE, 00, 55, 00); // with adjustment + //wait(1.0); + // Init_RTC(0, 00, 00, 00, 000, 00, 00, 00); // without adjustment + // + + //Start up window (texe base) + oled1.background( 0x000000 ); + oled1.cls(); + oled1.locate(0,1); + oled1.printf("Takoruka OS"); + oled1.locate(0,2); + oled1.printf("starting."); + wait(1.0); + oled1.printf("."); + wait(1.0); + oled1.printf("."); + wait(1.0); + oled1.printf("."); + wait(1.0); + oled1.locate(0,3); + oled1.printf("done!"); + + //display Imade data of imagedata.h + wait(1.0); + oled1.cls(); + oled1.locate(0,0); + oled_image2(Header1); + + wait(1.0); + oled1.cls(); + + sGPSRTC sGPSRTC_Data; + sGPSRTC *psGPSRTC_Data; + + while(1) + { + //Get GPSRTC data and display + Get_GPGGA_Data(&sGPSRTC_Data); + Get_RTC_Data(&sGPSRTC_Data); + psGPSRTC_Data = &sGPSRTC_Data; + + oled1.locate(0,1); + oled1.foreground(0xff00ff); + oled1.printf("RTC"); + oled1.locate(0,2); + oled1.foreground(0x00ffff); + oled1.printf("%02d/%02d/%02d(%s)", + psGPSRTC_Data->bRTC_year, psGPSRTC_Data->bRTC_mon, psGPSRTC_Data->bRTC_day, + Get_Week_String(psGPSRTC_Data->bRTC_week)); + oled1.locate(0,3); + oled1.printf("%02d:%02d:%02d", + psGPSRTC_Data->bRTC_hour, psGPSRTC_Data->bRTC_min, psGPSRTC_Data->bRTC_sec); + oled1.locate(0,4); + oled1.foreground(0xff0000);//Red + oled1.printf("----------"); + oled1.foreground(0x00ffff); //Cyan + oled1.foreground(0xff00ff); + oled1.locate(0,5); + oled1.printf("GPS"); + oled1.foreground(0xffff00); //Yellow + oled1.locate(0,6); + oled1.printf("UTC ="); + oled1.printf("%02d:%02d:%02d", + psGPSRTC_Data->bGPS_UTC_hour, psGPSRTC_Data->bGPS_UTC_min, psGPSRTC_Data->bGPS_UTC_sec); + oled1.locate(0,7); + //oled1.foreground(0x00ffff); //Cyan + oled1.printf("LAT ="); + oled1.printf("%c %02d:%02d:%02d", psGPSRTC_Data->cGPS_LAT, + psGPSRTC_Data->bGPS_LAT_deg, psGPSRTC_Data->bGPS_LAT_min, psGPSRTC_Data->bGPS_LAT_sec); + oled1.foreground(0xffff00); //Yellow + oled1.locate(0,8); + oled1.printf("LNG ="); + oled1.printf("%c%03d:%02d:%02d", psGPSRTC_Data->cGPS_LNG, + psGPSRTC_Data->bGPS_LNG_deg, psGPSRTC_Data->bGPS_LNG_min, psGPSRTC_Data->bGPS_LNG_sec); + oled1.locate(0,9); + oled1.printf("Qual="); + oled1.printf("%c ", psGPSRTC_Data->cGPS_Quality); + oled1.locate(0,10); + oled1.foreground(0x00ffff); //Cyan + oled1.printf("Sat ="); + oled1.printf("%3d ", psGPSRTC_Data->bGPS_Sat); + oled1.locate(0,11); + oled1.printf("HDOP="); + oled1.printf("%1d.%1d ", psGPSRTC_Data-> bGPS_HDOP_I, psGPSRTC_Data->bGPS_HDOP_D); + oled1.locate(0,12); + oled1.printf("ASL ="); + oled1.printf("%4dm", psGPSRTC_Data->wGPS_ASL_m); + oled1.locate(0,13); + oled1.printf("GEO ="); + oled1.printf("%4dm", psGPSRTC_Data->wGPS_GEO_m); + wait(0.3); + + } + + +} + +void oled_image2(const unsigned int *ptr2) +{ + short height,width; + int colour; + height = *ptr2; + ptr2++; + width = *ptr2; + ptr2++; + oled1.locate(0,0); + for(int i=1;i<=width;i++) + { + for(int j=1;j<=height;j++) + { + colour = (((*ptr2&0xF800)<<8) | ((*ptr2&0x07E0)<<5) | ((*ptr2&0x001F)<<3)); + oled1.pixel(j,i,colour); + ptr2++; + } + } +} + +/* + * history: + * 0.5 (2011-Apr-07) : initial published version + * 0.51 (2011-Apr-08) : minor modification to make the source more consistent (use " MARMEX_OB_oled::HEIGHT" instead of 128) + */
diff -r 000000000000 -r 58e40a872950 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sun Jun 05 15:10:48 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/029aa53d7323
diff -r 000000000000 -r 58e40a872950 type.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/type.h Sun Jun 05 15:10:48 2011 +0000 @@ -0,0 +1,46 @@ +/***************************************************************************** + * type.h: Type definition Header file for NXP Family + * Microprocessors + * + * Copyright(C) 2006, NXP Semiconductor + * All rights reserved. + * + * History + * 2009.04.01 ver 1.00 Preliminary version, first Release + * +******************************************************************************/ +#ifndef __TYPE_H__ +#define __TYPE_H__ + +// CodeRed - ifdef for GNU added to avoid potential clash with stdint.h +#if defined ( __GNUC__ ) +#include <stdint.h> +#else + +/* exact-width signed integer types */ +typedef signed char int8_t; +typedef signed short int int16_t; +typedef signed int int32_t; +typedef signed __int64 int64_t; + + /* exact-width unsigned integer types */ +typedef unsigned char uint8_t; +typedef unsigned short int uint16_t; +typedef unsigned int uint32_t; +typedef unsigned __int64 uint64_t; + +#endif // __GNUC__ + +#ifndef NULL +#define NULL ((void *)0) +#endif + +#ifndef FALSE +#define FALSE (0) +#endif + +#ifndef TRUE +#define TRUE (1) +#endif + +#endif /* __TYPE_H__ */ \ No newline at end of file