diff options
author | Eugene Sandulenko | 2005-03-09 22:21:57 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-03-09 22:21:57 +0000 |
commit | b72df416a64642d180e9b746484ce292d845fae4 (patch) | |
tree | 9ab72c4549153aaa0737894ad3b842615f694a15 | |
parent | d414c784682f8d470a24817dfa1db3d65366fba9 (diff) | |
download | scummvm-rg350-b72df416a64642d180e9b746484ce292d845fae4.tar.gz scummvm-rg350-b72df416a64642d180e9b746484ce292d845fae4.tar.bz2 scummvm-rg350-b72df416a64642d180e9b746484ce292d845fae4.zip |
WIP of GP32 port. Now it is more correct port and compiles with current
CVS. Though it has some issues unresolved, one of them is that it crashes
right after splash screen without showing anything. Work in progress :)
svn-id: r17054
-rw-r--r-- | backends/fs/posix/posix-fs.cpp | 8 | ||||
-rw-r--r-- | backends/gp32/Makefile | 127 | ||||
-rw-r--r-- | backends/gp32/README.GP32 (renamed from backends/gp32/readme.txt) | 0 | ||||
-rw-r--r-- | backends/gp32/build.rules | 166 | ||||
-rw-r--r-- | backends/gp32/cpuspeed.s | 23 | ||||
-rw-r--r-- | backends/gp32/debug-gdbstub-usb.cpp | 1955 | ||||
-rw-r--r-- | backends/gp32/dirent.h | 59 | ||||
-rw-r--r-- | backends/gp32/gfx_splash.h | 4845 | ||||
-rw-r--r-- | backends/gp32/gp-fs.cpp | 90 | ||||
-rw-r--r-- | backends/gp32/gp32.cpp | 3469 | ||||
-rw-r--r-- | backends/gp32/gp32.h | 180 | ||||
-rw-r--r-- | backends/gp32/graphics.h (renamed from backends/gp32/sdl.h) | 63 | ||||
-rw-r--r-- | backends/gp32/portdefs.h | 251 | ||||
-rw-r--r-- | backends/gp32/setup.h | 102 | ||||
-rw-r--r-- | backends/gp32/startup.c | 130 | ||||
-rw-r--r-- | backends/gp32/startup.h | 49 | ||||
-rw-r--r-- | backends/gp32/stat.h | 29 | ||||
-rw-r--r-- | backends/intern.h | 2 | ||||
-rw-r--r-- | base/main.cpp | 2 |
19 files changed, 10338 insertions, 1212 deletions
diff --git a/backends/fs/posix/posix-fs.cpp b/backends/fs/posix/posix-fs.cpp index 8673ea28d0..eb72389d26 100644 --- a/backends/fs/posix/posix-fs.cpp +++ b/backends/fs/posix/posix-fs.cpp @@ -18,7 +18,7 @@ * $Header$ */ -#if defined(UNIX) || defined(__DC__) || defined (__GP32__) //ph0x +#if defined(UNIX) || defined(__DC__) #include "stdafx.h" @@ -35,12 +35,6 @@ #include <stdio.h> #include <unistd.h> -#ifdef __GP32__ //ph0x FIXME: implement and move to portdefs.h -#define opendir(x) (0) -#define readdir(x) (0) -#define closedir(x) (0) -#endif - /* * Implementation of the ScummVM file system API based on POSIX. */ diff --git a/backends/gp32/Makefile b/backends/gp32/Makefile new file mode 100644 index 0000000000..e16c146cd1 --- /dev/null +++ b/backends/gp32/Makefile @@ -0,0 +1,127 @@ +CXX := c++ +AR := arm-elf-ar cru +RANLIB := arm-elf-ranlib +RM := rm -f +MKDIR := mkdir -p +ECHO := echo -n +CAT := cat +RM := rm -f +# recursive version of RM +RM_REC := $(RM) -r +ZIP := zip -q +CP := cp + +####################################################################### +# Default compilation parameters. Normally don't edit these # +####################################################################### + +CXXFLAGS:= -g -O +DEFINES := +LDFLAGS := +INCLUDES:= -I. -Icommon +LIBS := +OBJS := + +# Turn on useful warnings +CXXFLAGS+= -Wall -pedantic -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion +CXXFLAGS+= -Wshadow -Wuninitialized -Wimplicit -Wundef +CXXFLAGS+= -Wno-long-long -Wno-multichar -Wno-unknown-pragmas -Wno-reorder +CXXFLAGS+= -Wwrite-strings -fcheck-new -Wctor-dtor-privacy -Wnon-virtual-dtor + +# Seems GCC 2.95 doesn't support the following, so we do not yet turn them +# on by default (but I'd strongly recommend to all GCC 2.95 users to update +# to a better compiler like GCC 3.x). +#CXXFLAGS+= -ansi -W -Wno-unused-parameter -Woverloaded-virtual -Wdisabled-optimization -Wfloat-equal + +# The following causes problems on some systems where the system header +# contain duplicate declarations already. That's really a bug in the +# system headers, but since it causes lots of warnings on those systems, +# we don't enable it by default +#CXXFLAGS+= -Wredundant-decls + +# Load the build rules & settings for the chosen backend +-include build.rules + +####################################################################### +# Compile options - you can modify these to tweak ScummVM compilation # +####################################################################### + +# Uncomment this to activate the MAD lib for compressed sound files +# DEFINES += -DUSE_MAD +# LIBS += -lmad + +# Uncomment this to activate the Ogg Vorbis lib for compressed sound files +# You MUST use Tremor for Ogg Vorbis support on the GP32 port. +# DEFINES += -DUSE_VORBIS +# LIBS += -lvorbisfile -lvorbis + +# Uncomment this to activate the ALSA lib for midi +# DEFINES += -DUSE_ALSA +# LIBS += -lasound + +# Uncomment this to cause warnings to be treated as errors +# CXXFLAGS+= -Werror + +# Uncomment this to use GCC 3.x specific dependency tracking (recommended) +HAVE_GCC3 = 1 + +####################################################################### +# Control which modules are built - uncomment any to disable module # +####################################################################### + +#DISABLE_SCUMM = 1 +DISABLE_SIMON = 1 +DISABLE_SKY = 1 +DISABLE_QUEEN = 1 + +# The engines below are not supported on the GP32 port so there is +# no point compiling support into the binary. +DISABLE_SWORD1 = 1 +DISABLE_SWORD2 = 1 + +# In-development engines below. +# Disable for ALL release builds. +DISABLE_SAGA = 1 +DISABLE_KYRA = 1 + +####################################################################### +# Misc stuff - you should normally never have to edit this # +####################################################################### + +EXECUTABLE := scummvm$(EXEEXT) + +include Makefile.common + +dist: + $(RM) $(ZIPFILE) + $(ZIP) $(ZIPFILE) $(DISTFILES) + +# Pull in the GP32 backend build.rules here. +build.rules: backends/gp32/build.rules + $(CP) backends/gp32/build.rules build.rules + +# Special target to create a application wrapper for Mac OS X +bundle_name = ScummVM.app +bundle: scummvm-static + mkdir -p $(bundle_name)/Contents/MacOS + mkdir -p $(bundle_name)/Contents/Resources + echo "APPL????" > $(bundle_name)/Contents/PkgInfo + cp Info.plist $(bundle_name)/Contents/ + cp scummvm.icns $(bundle_name)/Contents/Resources/ + cp scummvm-static $(bundle_name)/Contents/MacOS/scummvm + strip $(bundle_name)/Contents/MacOS/scummvm + +install: $(FXE) + $(EXECUTE_TOOL) $(BIN) + +# Special target to create a static linked binary for Mac OS X +scummvm-static: $(OBJS) + $(CXX) $(LDFLAGS) -o scummvm-static $(OBJS) \ + /sw/lib/libSDLmain.a /sw/lib/libSDL.a \ + /sw/lib/libmad.a \ + /sw/lib/libvorbisfile.a /sw/lib/libvorbis.a /sw/lib/libogg.a \ + -framework Cocoa -framework Carbon -framework IOKit \ + -framework OpenGL -framework AGL -framework QuickTime \ + -framework AudioUnit -framework AudioToolbox + +.PHONY: deb bundle diff --git a/backends/gp32/readme.txt b/backends/gp32/README.GP32 index c48fa45966..c48fa45966 100644 --- a/backends/gp32/readme.txt +++ b/backends/gp32/README.GP32 diff --git a/backends/gp32/build.rules b/backends/gp32/build.rules index bdcfb25279..605afdee36 100644 --- a/backends/gp32/build.rules +++ b/backends/gp32/build.rules @@ -1,35 +1,131 @@ -# Makefile for GP32 development using devkitadv under Win32 -# Written 2002 by Christian Nowak <chnowak@web.de> -# Modified by ph0x (ph0x@freemail.hu) - -# devkitadv base dir -CCBASE=c:/devkitadv - -CXX = $(CCBASE)/bin/g++ -CXXFLAGS= -mcpu=arm9tdmi \ - -mtune=arm9tdmi \ - -mapcs \ - -O2 \ - -fomit-frame-pointer \ - -finline-functions \ - -fno-exceptions \ - -fno-common \ - -fno-builtin \ - -fshort-enums \ - -ffast-math \ - -fshort-double \ - -fallow-single-precision \ - -ffreestanding \ - -fexpensive-optimizations \ - -mstructure-size-boundary=32 \ - -mno-thumb-interwork \ - -I$(CCBASE)/arm-agb-elf/include/gp32 \ - -Wno-multichar - -DEFINES = -D__GP32__ -DNONSTANDARD_PORT -LNKSCRIPT =$(CCBASE)/arm-agb-elf/lib/lnkscript -LDFLAGS = -Wl,-T $(LNKSCRIPT) -LIBS += -lgpgraphic -lgpmem -lgpos -lgpstdlib -lgpstdio -lgpsound -lgpfont -INCLUDES += -Ibackends/gp32 -MODULES += backends/gp32 -OBJS += $(CCBASE)/arm-agb-elf/lib/gpstart/gpstart.o backends/gp32/gp32.o backends/gp32/gp-fs.o +# ScummVM - Scumm Interpreter +# Copyright (C) 2001 Ludvig Strigeus +# Copyright (C) 2001/2004 The ScummVM project +# Copyright (C) 2002 ph0x - GP32 port +# Copyright (C) 2003-4 DJWillis - GP32 port +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# Module Details - ScummVM for the GP32 +# Build.Rules for GP32 Backend. +# +# Port Maintainer - DJWillis <gp32@distant-earth.co.uk> + +# GPSDK (SDK, Includes and Startup Files) base dir +GPSDK = /usr/compat/gp32/share/sdk + +# Outputs +EXEEXT = .elf +MAPFILE = scummvm.map +BIN = scummvm.gxb +FXE = scummvm.fxe + +# Stripped Build? (Smaller ELF, Minimal debug symbol information). +# You MUST comment this out with a # if you wish to debug your code. +# STRIP_DEBUG = -Wl,--strip-debug + +# Plugins hack +srcdir = ./ + +# GP32 Direct Execute Tool (i.e. pclink -e on Windows, gplink run on Linux) +EXECUTE_TOOL = pclink -e + +# GCC Tool-chain +CC = arm-elf-gcc +CXX = arm-elf-g++ +LD = arm-elf-g++ +AS = arm-elf-as +OBJCOPY = arm-elf-objcopy +FXETOOL = b2fxec + +CFLAGS = -marm \ + -march=armv4t \ + -mapcs \ + -finline-functions \ + -fshort-enums \ + -ffast-math \ + -fshort-double \ + -mstructure-size-boundary=32 \ + -mno-thumb-interwork \ + -I$(GPSDK)/include \ + -g \ + #-Wno-multichar \ + #-O3 \ + #-fomit-frame-pointer + + # Remove the below from the above flags for Debug. + #-O3 \ + #-fomit-frame-pointer + +CPPFLAGS = $(CFLAGS) + +DEFINES = -D__GP32__ +DEFINES += -DNONSTANDARD_PORT + +# Support Vorbis Tremor Patches. +#DEFINES += -DVORBIS_TREMOR + +# Support LIBMAD Patches. +#DEFINES += -DGP32_MADMP3 + +# Support for 8:3 save files names (The GP32 uses FAT12/16 (no vFAT) for the file system). +DEFINES += -DSHORT_SAVENAMES + +# Support for the unsigned sound mixer. +DEFINES += -DOUTPUT_UNSIGNED_AUDIO + +# Support for the GP32 (fmOPL derived) MIDI engine. +# - NOT fully implemented yet. +DEFINES += -DUSE_GP32_FMOPL + +LDSPECS = -specs=gp32_gpsdk.specs + +LDFLAGS = $(STRIP_DEBUG) \ + -Wl,-Map,$(MAPFILE) \ + $(LDSPECS) -Wl,--no-warn-mismatch + +LIBS += -L$(GPSDK)/lib \ + -lgpmem -lgpos -lgpstdio -lgpstdlib -lgpsound -lgpgraphic -lgpgraphic16 -lgpfont -lgpfont16 \ + -lm -lc -lgcc + +INCLUDES += -Ibackends/gp32 -I$(GPSDK)/include + +MODULES += backends/gp32 + +#GP32 Debug - Remove from Release builds +# This builds in the GP32 GDB USB Stub. Don't use it unless you know what your doing. +# You also need to remove ANY optemisation from the compiler flags. +DEFINES += -DGP32_GDB +OBJS += backends/gp32/debug-gdbstub-usb.o + +#GamePark SDK startup. +OBJS += backends/gp32/startup.o + +#Main ScummVM for the GP32 Backend +OBJS += backends/gp32/gp32.o \ + backends/gp32/gp-fs.o \ + backends/gp32/cpuspeed.o \ + + #backends/gp32/dmaaudio_asm.o \ + #backends/gp32/dmaaudio.o \ + +#install: all + #$(EXECUTE_TOOL) $(BIN) + +$(FXE): $(BIN) + $(FXETOOL) -f -a "DJWillis/ScummVM Team" -t "ScummVM for the GP32" -b scummvm.bmp $< $@ + +$(BIN): scummvm$(EXEEXT) + $(OBJCOPY) -O binary $< $@ diff --git a/backends/gp32/cpuspeed.s b/backends/gp32/cpuspeed.s new file mode 100644 index 0000000000..1e952c38cb --- /dev/null +++ b/backends/gp32/cpuspeed.s @@ -0,0 +1,23 @@ + + .ALIGN + .ARM + + .GLOBAL cpu_speed + .GLOBAL mmu_change + +cpu_speed: + stmdb r13!, {r0-r12,lr} + stmdb sp!, {r0, r1, r2} + mov r0, sp + swi #0x0d + add sp, sp, #12 + ldmia r13!, {r0-r12,lr} + bx lr + nop + +mmu_change: + stmdb r13!, {r0-r12,lr} + swi #0x02 + ldmia r13!, {r0-r12,lr} + bx lr + nop diff --git a/backends/gp32/debug-gdbstub-usb.cpp b/backends/gp32/debug-gdbstub-usb.cpp new file mode 100644 index 0000000000..14ab38d7d6 --- /dev/null +++ b/backends/gp32/debug-gdbstub-usb.cpp @@ -0,0 +1,1955 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2001 Ludvig Strigeus + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * + */ + +/* + * + * Basic GP32 USB GDB Debug Stub - Use with Multi-firmware that supports GDB + * Mithris kindly gave me the basic stub code. + * + */ +#include <sys/types.h> +#include <gpcomm.h> +#include <gpos_def.h> +#include <gpdef.h> +#include <gpmain.h> +#include <gpos_def.h> +#include <gpstdio.h> +#include <gpgraphic.h> +#include <gpfont.h> +#include <gpstdlib.h> + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> + +//#define USE_PRINTF // If there is a Printf(const char *pFormat,...) implemented + +/////////////////////////////////////////////////////////////// +// Externs +extern int __text_start; +extern int __data_start; +extern int __bss_start; +#ifdef USE_PRINTF +extern void Printf(char *pFormat, ...); +#endif +/////////////////////////////////////////////////////////////// + +extern "C" { + int OpenUSB(); + void InstallISR(); +} + +struct g_Namedregisters { + unsigned int r0; + unsigned int r1; + unsigned int r2; + unsigned int r3; + unsigned int r4; + unsigned int r5; + unsigned int r6; + unsigned int r7; + unsigned int r8; + unsigned int r9; + unsigned int r10; + unsigned int r11; + unsigned int r12; + unsigned int sp; + unsigned int lr; + unsigned int pc; + unsigned int fps; + unsigned int fcpsr; +}; + +/////////////////////////////////////////////////////////////// +// Defines + + +#define _REG_R1 0 +#define _REG_R2 2 +#define _REG_R3 3 +#define _REG_R4 4 +#define _REG_R5 5 +#define _REG_R6 6 +#define _REG_R7 7 +#define _REG_R8 8 +#define _REG_R9 9 +#define _REG_R10 10 +#define _REG_R11 11 +#define _REG_R12 12 +#define _REG_FP 11 +#define _REG_IP 12 +#define _REG_SL 10 +#define _REG_SP 13 +#define _REG_LR 14 +#define _REG_PC 15 + +#define PACKET_SIZE 0x100 + +#define MODE_USER 0 +#define MODE_FIQ 1 +#define MODE_IRQ 2 +#define MODE_SUPERVISOR 3 +#define MODE_ABORT 4 +#define MODE_UNDEF 5 +#define MODE_SYSTEM 6 +#define MODE_DUNNO -1 + +/////////////////////////////////////////////////////////////// +// Global stuff + +// Register array. +int g_Registers[50] = {1, 2, 3, 4 ,5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, + 21, 22, 23, 24, 25, 26, 27, 28, 29, + 31, 32, 33, 34, 35, 36, 37, 38, 39, + 41, 42, 43, 44, 45, 46, 47, 48, 49}; + +// Register name strings, not used right now. +static char * arm_register_name_strings[] = +{"r0", "r1", "r2", "r3", /* 0 1 2 3 */ + "r4", "r5", "r6", "r7", /* 4 5 6 7 */ + "r8", "r9", "r10", "r11", /* 8 9 10 11 */ + "r12", "sp", "lr", "pc", /* 12 13 14 15 */ + "f0", "f1", "f2", "f3", /* 16 17 18 19 */ + "f4", "f5", "f6", "f7", /* 20 21 22 23 */ + "fps", "cpsr" }; /* 24 25 */ + + +// Some USB stuff +GPN_DESC g_CommDesc; +GPN_COMM g_Comm; +const char HexDigits[17] = "0123456789abcdef"; +char g_SendBuffer[256]; +char g_TempBuffer[256]; +char g_ReadBuffer[0x100]; +unsigned int g_CurrentCSPR = 0; +unsigned int g_SavedStepInstruction = 0; +unsigned int g_StepAddress = 0; +bool g_LastWasStep = false; +int g_iTrap = 0; +bool g_GDBConnected = false; +/////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////// +// Prototypes +void BreakPoint(); +int GetException(unsigned int CSPR); +unsigned int *GetNextInstruction(unsigned int *pAddr); +bool CondWillExecute(unsigned int uiCond, unsigned int CSPR); +unsigned int DecodeInstruction(unsigned int uiInstruction, unsigned int PC); + +/////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////// +// Code Begins here +/////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////// +// Open usb comms stuff +int OpenUSB() +{ + int iResult; + + g_CommDesc.port_kind = COMM_USB_D; + g_CommDesc.tr_mode = 1; + g_CommDesc.tr_buf_size = PACKET_SIZE; + g_CommDesc.sz_pkt = PACKET_SIZE; + g_CommDesc.isr_comm_ram = 0; + + + iResult = GpCommCreate(&g_CommDesc, &g_Comm); + return iResult; +} + +/////////////////////////////////////////////////////////////// +// No need for explanation +void CloseUSB() +{ + GpCommDelete(&g_CommDesc); +} + +/////////////////////////////////////////////////////////////// +// No need for explanation +int SendUSB(const void *pData, unsigned int uiSize) +{ + return g_Comm.comm_send((unsigned char *)pData, uiSize); +} + + +/////////////////////////////////////////////////////////////// +// No need for explanation +int RecvUSB(char *pBuffer, unsigned int uiSize) +{ + return g_Comm.comm_recv((unsigned char *)pBuffer, uiSize); +} + +/////////////////////////////////////////////////////////////// +// Waits for an acknowledge from the server +void WaitACK() +{ + bool bBreak = false; + int iResult; + + while(!bBreak) { + iResult = g_Comm.comm_recv((unsigned char *)g_SendBuffer, 0x100); + if (iResult > 0) { + bBreak = true; + } + } +} +/////////////////////////////////////////////////////////////// +// Formats and sends a command to the server, +// it also calculates checksum +void SendCommand(unsigned char *pCommand) +{ + int iOffset; + unsigned int iCheckSum; + + iOffset = 4; + g_SendBuffer[iOffset++] = '$'; + + iCheckSum = 0; + while(*pCommand != 0) { + g_SendBuffer[iOffset++] = *pCommand; + iCheckSum += *pCommand++; + } + + g_SendBuffer[iOffset++] = '#'; + iCheckSum = iCheckSum & 0xff; + g_SendBuffer[iOffset++] = HexDigits[(iCheckSum & 0xf0) >> 4]; + g_SendBuffer[iOffset++] = HexDigits[(iCheckSum & 0x0f)]; + g_SendBuffer[iOffset] = 0; + + (*(int *)&g_SendBuffer[0]) = (iOffset - 4); + SendUSB(g_SendBuffer, 0x100); + WaitACK(); +} + +/////////////////////////////////////////////////////////////// +// This function creates and sends a package which tells gdb that +// the last command was unsupported +void UnSupportedCommand() +{ + (*(int *)&g_SendBuffer[0]) = 4; + g_SendBuffer[4] = '$'; + g_SendBuffer[5] = '#'; + g_SendBuffer[6] = '0'; + g_SendBuffer[7] = '0'; + g_SendBuffer[8] = '0'; + SendUSB(g_SendBuffer, 0x100); + + WaitACK(); + +} + + +/////////////////////////////////////////////////////////////// +// This function is quite similar to the SendCommand above +// But it allows the user to set the package length. +// If the length of a package exceeds 256bytes including +// the protocol stuff and the package length you can split +// the packages by sending the package size * -1. +// The server will then merge all packages until a package +// with a length >0 is recieved. +void SendCommandSize(unsigned char *pCommand, int iSize) +{ + int iOffset; + unsigned int iCheckSum; + + iOffset = 4; + g_SendBuffer[iOffset++] = '$'; + + iCheckSum = 0; + while(*pCommand != 0) { + g_SendBuffer[iOffset++] = *pCommand; + iCheckSum += *pCommand++; + } + + g_SendBuffer[iOffset++] = '#'; + iCheckSum = iCheckSum & 0xff; + g_SendBuffer[iOffset++] = HexDigits[(iCheckSum & 0xf0) >> 4]; + g_SendBuffer[iOffset++] = HexDigits[(iCheckSum & 0x0f)]; + g_SendBuffer[iOffset] = 0; + + (*(int *)&g_SendBuffer[0]) = iSize; + SendUSB(g_SendBuffer, 0x100); + + WaitACK(); +} + + +/////////////////////////////////////////////////////////////// +// Writes a 32bit hexadeciman number in ascii to the string. +void HexToString(char *pString, int iNumber) +{ + pString[0] = HexDigits[(iNumber >> 28) & 0x0f]; + pString[1] = HexDigits[(iNumber >> 24) & 0x0f]; + pString[2] = HexDigits[(iNumber >> 20) & 0x0f]; + pString[3] = HexDigits[(iNumber >> 16) & 0x0f]; + pString[4] = HexDigits[(iNumber >> 12) & 0x0f]; + pString[5] = HexDigits[(iNumber >> 8) & 0x0f]; + pString[6] = HexDigits[(iNumber >> 4) & 0x0f]; + pString[7] = HexDigits[(iNumber) & 0x0f]; + +} + +/////////////////////////////////////////////////////////////// +// This does the same, but in a differend endian. +void HexToStringBW(char *pString, int iNumber) +{ + pString[6] = HexDigits[(iNumber >> 28) & 0x0f]; + pString[7] = HexDigits[(iNumber >> 24) & 0x0f]; + pString[4] = HexDigits[(iNumber >> 20) & 0x0f]; + pString[5] = HexDigits[(iNumber >> 16) & 0x0f]; + pString[2] = HexDigits[(iNumber >> 12) & 0x0f]; + pString[3] = HexDigits[(iNumber >> 8) & 0x0f]; + pString[0] = HexDigits[(iNumber >> 4) & 0x0f]; + pString[1] = HexDigits[(iNumber) & 0x0f]; + + pString[8] = 0; + +} + + +/////////////////////////////////////////////////////////////// +// equiv to strcat i imagine +void PrintToString(char *pString, char *pOtherString) +{ + while(*pOtherString != 0) { + *pString = *pOtherString; + *pString++; + *pOtherString++; + } +} + +/////////////////////////////////////////////////////////////// +// converts "ff" -> 0xff +unsigned char StringToByte(char *pString) +{ + unsigned char ucValue = 0; + + for (int i = 0; i < 2; i++) { + ucValue = ucValue << 4; + switch(pString[i]) { + case '0': + break; + case '1': + ucValue |= (0x01); + break; + case '2': + ucValue |= (0x02); + break; + case '3': + ucValue |= (0x03); + break; + case '4': + ucValue |= (0x04); + break; + case '5': + ucValue |= (0x05); + break; + case '6': + ucValue |= (0x06); + break; + case '7': + ucValue |= (0x07); + break; + case '8': + ucValue |= (0x08); + break; + case '9': + ucValue |= (0x09); + break; + case 'a': + ucValue |= (0x0a); + break; + case 'b': + ucValue |= (0x0b); + break; + case 'c': + ucValue |= (0x0c); + break; + case 'd': + ucValue |= (0x0d); + break; + case 'e': + ucValue |= (0x0e); + break; + case 'f': + ucValue |= (0x0f); + break; + + } + } + + return ucValue; +} + +/////////////////////////////////////////////////////////////// +// Sends a package with the program offsets to GDB +// Of some reason all offsets should be NULL. +void SendOffsets() +{ + char String[255]; + int a = 0;//(int)&__text_start; + int b = 0;//(int)&__data_start; + int c = 0;//(int)&__bss_start; + + PrintToString(String, "Text="); + HexToString(&String[5], a); + PrintToString(&String[5+8], ";Data="); + HexToString(&String[5+8+6], b); + PrintToString(&String[5+8+6+8], ";Bss="); + HexToString(&String[5+8+6+8+5], c); + String[5+8+6+8+5+8] = 0; + + SendCommand((unsigned char *)String); +} + +/////////////////////////////////////////////////////////////// +// This function dumps all registers to GDB +// It utilizes the SendCommandSize function to split the package. +void DumpRegisters() +{ + char Buffer[0x100]; + // Ugly hack so far. + + for (int i = 0; i < 21; i++) { + //g_Registers[i] = i; + HexToStringBW(&Buffer[i * 8], g_Registers[i]); + } + Buffer[21*8] = 0; + SendCommandSize((unsigned char *)Buffer, -1 * (21 * 8 + 4)); + for (int i = 0; i < 21; i++) { + //g_Registers[20 + i] = i; + HexToStringBW(&Buffer[i * 8], g_Registers[21 + i]); + } + Buffer[21*8] = 0; + + SendCommandSize((unsigned char *)Buffer, (21 * 8) + 4); +} + +/////////////////////////////////////////////////////////////// +// This function extracts an address from a string. +void *GetAddr(char *pBuffer) +{ + int iAddr; + int i = 0; + iAddr = 0; + + while (pBuffer[i] != ',') { + iAddr = iAddr << 4; + switch(pBuffer[i]) { + case '0': + //iAddr |= + break; + case '1': + iAddr |= (0x01); + break; + case '2': + iAddr |= (0x02); + break; + case '3': + iAddr |= (0x03); + break; + case '4': + iAddr |= (0x04); + break; + case '5': + iAddr |= (0x05); + break; + case '6': + iAddr |= (0x06); + break; + case '7': + iAddr |= (0x07); + break; + case '8': + iAddr |= (0x08); + break; + case '9': + iAddr |= (0x09); + break; + case 'a': + iAddr |= (0x0a); + break; + case 'b': + iAddr |= (0x0b); + break; + case 'c': + iAddr |= (0x0c); + break; + case 'd': + iAddr |= (0x0d); + break; + case 'e': + iAddr |= (0x0e); + break; + case 'f': + iAddr |= (0x0f); + break; + + } + i++; + } + return (void *)iAddr; +} +/////////////////////////////////////////////////////////////// +// This function does pretty much the same, but returns an int +// I know, some redundant code. +int GetBytes(char *pBuffer) +{ + int iBytes = 0; + int i = 0; + + + while ((pBuffer[i] != '#') && (pBuffer[i] != ':')) { + iBytes = iBytes << 4; + switch(pBuffer[i]) { + case '0': + //iAddr |= + break; + case '1': + iBytes |= 0x01; + break; + case '2': + iBytes |= 0x02; + break; + case '3': + iBytes |= 0x03; + break; + case '4': + iBytes |= 0x04; + break; + case '5': + iBytes |= 0x05; + break; + case '6': + iBytes |= 0x06; + break; + case '7': + iBytes |= 0x07; + break; + case '8': + iBytes |= 0x08; + break; + case '9': + iBytes |= 0x09; + break; + case 'a': + iBytes |= 0x0a; + break; + case 'b': + iBytes |= 0x0b; + break; + case 'c': + iBytes |= 0x0c; + break; + case 'd': + iBytes |= 0x0d; + break; + case 'e': + iBytes |= 0x0e; + break; + case 'f': + iBytes |= 0x0f; + break; + + } + + i++; + } + return iBytes; +} + +/////////////////////////////////////////////////////////////// +// This function reads memory and sends it back to GDB. +void SendMemory(void *pAddr, int iBytes) +{ + unsigned char *pData; + unsigned char iData; + int iBufferPos = 0; + int iBytesToSend; + char Byte; + int i; + + pData = (unsigned char *)pAddr; + + + do { + if (iBytes > 100) { + iBytesToSend = 100; + iBytes -= 100; + } else { + iBytesToSend = iBytes; + iBytes = 0; + } + iBufferPos = 0; + for (i = 0; i < iBytesToSend; i+=1) { + iData = *pData++; + g_TempBuffer[iBufferPos++] = HexDigits[(iData & 0xf0) >> 4]; + g_TempBuffer[iBufferPos++] = HexDigits[(iData & 0x0f)]; + + } + if (iBytes > 0) { + // This mean that we have not yet sent our last command. + g_TempBuffer[iBufferPos] = 0; + SendCommandSize((unsigned char *)g_TempBuffer, -1 * (i + 1 + 4)); + } + } while (iBytes > 0 ); + g_TempBuffer[iBufferPos] = 0; + SendCommand((unsigned char *)g_TempBuffer); +} + + + +/////////////////////////////////////////////////////////////// +// Does pretty much what it says. +void WriteMemory(void *pAddr, unsigned int uiBytes, char *pHexString) +{ + unsigned char *pData = ((unsigned char *)pAddr); + unsigned int uiOffset = 0; + unsigned char ucByte; + + //Printf("0x%x 0x%x", pAddr, uiBytes); + for (unsigned int i = 0; i < uiBytes ; i++) { + ucByte = StringToByte(&pHexString[uiOffset]); + //Printf("0x%x", ucByte); + *pData++ = ucByte; + uiOffset += 2; + } + /* + while(1); + unsigned int *piData = (unsigned int *)pAddr; + *piData = 0xe7ffdefe;//0xfedeffe7; + */ + +} + + +/////////////////////////////////////////////////////////////// +// Sends the required information about a trap +// TODO: correct numbers need to be placed there. +void SendBreakPoint() +{ + int iOffset = 0; + + g_TempBuffer[iOffset++] = 'T'; + g_TempBuffer[iOffset++] = '0'; + g_TempBuffer[iOffset++] = '5'; + g_TempBuffer[iOffset++] = '0'; + g_TempBuffer[iOffset++] = 'd'; + g_TempBuffer[iOffset++] = ':'; + HexToStringBW(&g_TempBuffer[iOffset], g_Registers[_REG_SP]); + iOffset += 8; + g_TempBuffer[iOffset++] = ';'; + g_TempBuffer[iOffset++] = '0'; + g_TempBuffer[iOffset++] = 'b'; + g_TempBuffer[iOffset++] = ':'; + HexToStringBW(&g_TempBuffer[iOffset], g_Registers[_REG_FP]); + iOffset += 8; + g_TempBuffer[iOffset++] = ';'; + g_TempBuffer[iOffset++] = '0'; + g_TempBuffer[iOffset++] = 'f'; + g_TempBuffer[iOffset++] = ':'; + HexToStringBW(&g_TempBuffer[iOffset], g_Registers[_REG_PC]); + iOffset += 8; + g_TempBuffer[iOffset++] = ';'; + g_TempBuffer[iOffset] = 0; + + SendCommand((unsigned char *)g_TempBuffer); + + + + +} + + +/////////////////////////////////////////////////////////////// +// Finds a character in a string and returns the offset. +int FindChar(char *pBuffer, char sign) +{ + int iRetVal = 0; + + while(*pBuffer != sign) { + iRetVal++; + *pBuffer++; + } + return iRetVal; +} + + +// Attibute naked. +/////////////////////////////////////////////////////////////// +// This is the ISR(Interrupt Service Routine) which handles +// All traps, it's basically a context switcher. +void ISR() __attribute__ ((naked)); +void ISR() +{ + // Lets snatch the registers! + + asm volatile(" \n" + " str r4, [%0, #0x10] \n" + " str r5, [%0, #0x14] \n" + " str r6, [%0, #0x18] \n" + " str r7, [%0, #0x1C] \n" + " str r8, [%0, #0x20] \n" + " str r9, [%0, #0x24] \n" + " str r10, [%0, #0x28] \n" + " str r11, [%0, #0x2C] \n" + " str r12, [%0, #0x30] \n" + + " str r14, [%0, #0x3C] \n" + + " @// skip 8 * 12byte(96bit) = 0x60 \n" + + " mov r4, %0 \n" + " ldmia sp!, {r0, r1, r2, r3} \n" + " str r0, [r4, #0x00] \n" + " str r1, [r4, #0x04] \n" + " str r2, [r4, #0x08] \n" + " str r3, [r4,#0x0C] \n" + + " mrs r1, SPSR \n" + " str r1, [r4, #0x48] \n" + " str r1, [r4,#0xA0] \n" + " str r1, [r4,#0xA4] \n" + + " mrs r1, CPSR \n" + " mov r2, r1 \n" + + + " @// Let us set the mode to supervisor so we can get r13 and r14 \n" + " bic r1, r1, #0x1f \n" + " orr r1, r1, #0x13 \n" + " msr CPSR_c, r1 \n" + " @// Just remember that we're in the supervisor stack aswell now \n" + " str r13, [r4,#0x34] \n" + " str r14, [r4,#0x38] \n" + " @// Lets move back to whatever mode we was in. \n" + " @// Make sure that IRQ's are turned on \n" + " bic r2, r2, #0x80 \n" + " msr CPSR_fsxc, r2 \n" + + + + + " \n" + : + : "r" (g_Registers) + : "%0", "r1", "r2", "r4"); + + + // Get Current CSPR and save LR + asm volatile(" \n" + " mrs r0, CPSR \n" + " str r0, [%0] \n" + + " str r14, [%1, #0x40] \n" + " str r0, [%1, #0x44] \n" + " str r13, [%1, #0x4C] \n" + " \n" + : + : "r" (&g_CurrentCSPR), "r" (g_Registers) + : "r0"); + + + switch(g_CurrentCSPR & 0x1f) { + case 0x10: // USER + g_iTrap = 0; + break; + case 0x11: // FIQ + g_iTrap = 1; + break; + case 0x12: // IRQ + g_iTrap = 2; + break; + case 0x13: // Supervisor + g_iTrap = 3; + break; + case 0x17: // Abort + g_iTrap = 4; + break; + case 0x1B: // Undefined/Breakpoint + // We cannot continue like this! + g_Registers[15] -= 4; + g_Registers[16] -= 4; + g_iTrap = 5; + break; + case 0x1F: // System + g_iTrap = 6; + break; + default: + g_iTrap = -1; + } + + + #ifdef USE_PRINTF + Printf("Trap@0x%x:%d", g_Registers[15], g_iTrap); + #endif + /* + switch (g_iTrap) { + case MODE_USER: + break; + case MODE_FIQ: + break; + case MODE_IRQ: + break; + case MODE_SUPERVISOR: + break; + case MODE_ABORT: + break; + case MODE_UNDEF: + break; + case MODE_SYSTEM: + break; + case MODE_DUNNO: + default: + while(1); + } + */ + SendBreakPoint(); + BreakPoint(); + + //Printf("0x%x 0x%x", g_Registers[15], g_Registers[16]); + // Okay, it's time to continue. + + + switch (g_iTrap) { + case MODE_USER: + //Printf("Dunno!!\n"); + break; + case MODE_FIQ: + //Printf("Dunno!!\n"); + break; + case MODE_IRQ: + //Printf("Dunno!!\n"); + break; + case MODE_SUPERVISOR: + //Printf("Dunno!!\n"); + break; + case MODE_ABORT: + asm volatile(" \n" + " mov r10, #0 \n" + " @Invalidate I&D cache \n" + " mcr p15, 0, r10, c7, c7 \n" + " @ restore the registers \n" + " ldr r1,[%0, #0x04] \n" + " ldr r2,[%0, #0x08] \n" + " ldr r4,[%0, #0x10] \n" + " ldr r5,[%0, #0x14] \n" + " ldr r6,[%0, #0x18] \n" + " ldr r7,[%0, #0x1C] \n" + " ldr r8,[%0, #0x20] \n" + " ldr r9,[%0, #0x24] \n" + " ldr r10,[%0, #0x28] \n" + " ldr r11,[%0, #0x2C] \n" + " ldr r12,[%0, #0x30] \n" + " ldr r14,[%0, #0x40] \n" + " ldr r0, [%0, #0x44] \n" + " msr CPSR_fsxc, r0 \n" + " ldr r0, [%0, #0x48] \n" + " msr SPSR_fsxc, r0 \n" + + " ldr r0,[%0, #0x00] \n" + " ldr r3,[%0, #0x0C] \n" + + " subs pc, lr, #0x04 \n" + + " \n" + : + :"r" (g_Registers) + :"r0"); + break; + case MODE_UNDEF: + // This will be the breakpoint i'm gonna test with. + asm volatile(" \n" + " mov r10, #0 \n" + " @Invalidate I&D cache \n" + " mcr p15, 0, r10, c7, c7 \n" + " @ restore the registers \n" + " ldr r1,[%0, #0x04] \n" + " ldr r2,[%0, #0x08] \n" + " ldr r4,[%0, #0x10] \n" + " ldr r5,[%0, #0x14] \n" + " ldr r6,[%0, #0x18] \n" + " ldr r7,[%0, #0x1C] \n" + " ldr r8,[%0, #0x20] \n" + " ldr r9,[%0, #0x24] \n" + " ldr r10,[%0, #0x28] \n" + " ldr r11,[%0, #0x2C] \n" + " ldr r12,[%0, #0x30] \n" + " ldr r14,[%0, #0x40] \n" + " ldr r0, [%0, #0x44] \n" + " msr CPSR_fsxc, r0 \n" + " ldr r0, [%0, #0x48] \n" + " msr SPSR_fsxc, r0 \n" + + " ldr r0,[%0, #0x00] \n" + " ldr r3,[%0, #0x0C] \n" + " @ The subbing has already been done! \n" + " @subs pc, lr, #0x04 \n" + " movs pc, lr \n" + " \n" + : + :"r" (g_Registers) + :"r0"); + + + break; + case MODE_SYSTEM: + //Printf("Dunno!!\n"); + break; + case MODE_DUNNO: + default: + //Printf("Dunno!!\n"); + while(1); + } + + + + +} + +/////////////////////////////////////////////////////////////// +// Returns which exception occured based on CSPR +int GetException(unsigned int CSPR) +{ + switch(CSPR & 0x1f) { + case 0x10: // USER + return 0; + break; + case 0x11: // FIQ + return 1; + break; + case 0x12: // IRQ + return 2; + break; + case 0x13: // Supervisor + return 3; + break; + case 0x17: // Abort + return 4; + break; + case 0x1B: // Undefined/Breakpoint + return 5; + break; + case 0x1F: // System + return 6; + break; + default: + return -1; + } +} + + +/////////////////////////////////////////////////////////////// +// Installs the ISR address into the system RAM +void InstallISR() +{ + int *pPointer = (int *)(0x0c7ac040); + int *pPointer2 = (int *)(0x0c7ac018); + + void (*pISR)(); + + pISR = ISR; + + *pPointer = (int)pISR; + *pPointer2 = (int)pISR; + +} + +void DEBUG_Print(char *pFormat, ...) +{ + char Temp[0x100]; + va_list VaList; + int iLength; + int iOffset; + unsigned char MyChar; + + if (!g_GDBConnected) return; + + va_start(VaList , pFormat); + vsprintf(Temp , pFormat , VaList); + va_end(VaList); + + iLength = strlen(Temp); + if (iLength > 100) iLength = 100; + + g_TempBuffer[0] = 'O'; + iOffset = 1; + for (int i = 0; i < iLength; i++) { + MyChar = (unsigned char)Temp[i]; + g_TempBuffer[iOffset++] = HexDigits[(MyChar & 0xf0) >> 4]; + g_TempBuffer[iOffset++] = HexDigits[(MyChar & 0x0f)]; + } + g_TempBuffer[iOffset] = 0; + SendCommand((unsigned char *)g_TempBuffer); + +} + + +/////////////////////////////////////////////////////////////// +// The main thread when the GDB thread has control +void BreakPoint() +{ + unsigned int *pNextInstruction; + bool bBreakLoop = false; + int iResult; + int iMessageLength; + int iOffsetAdd; + int iNullVal = 0; + void *pAddr; + int iOffset; + int iBytes; + + + // Find out if we got here through a STEP command + if (g_LastWasStep) { + #ifdef USE_PRINTF + Printf("I:0x%x 0x%x", *((unsigned int *)(g_Registers[15] + 4)), *((unsigned int *)(g_Registers[15]))); + Printf("S: 0x%x", g_StepAddress); + #endif + if ((unsigned int)g_Registers[15] == g_StepAddress) { + // Yes it was, Lets restore the instruction. + *((unsigned int *)g_StepAddress) = g_SavedStepInstruction; + #ifdef USE_PRINTF + Printf("Restore: 0x%x", g_SavedStepInstruction); + #endif + } else { + while(1); + } + g_LastWasStep = false; + } + + + while(!bBreakLoop) { + iResult = RecvUSB(g_ReadBuffer, 0x100); + //Printf("%d\n", iResult); + + if (iResult > 0) { + // If we recieve a package we can assume that GDB is connected.. or smth..:D + g_GDBConnected = true; + // Well, we have recieved a package, lets print the contents. + iMessageLength = *(int *)&g_ReadBuffer[0]; + g_ReadBuffer[4 + iMessageLength] = 0; + //Printf("%s\n %d", &g_ReadBuffer[4], iMessageLength); + + // Let us also send an ACK '+' + (*(int *)&g_SendBuffer[0]) = 1; + g_SendBuffer[4] = '+'; + SendUSB((const void *)g_SendBuffer, 0x100); + WaitACK(); + + // I can see that i get a bunch of '+' and '-' in the messages.. lets remove them. + iOffsetAdd = 4; + while((g_ReadBuffer[iOffsetAdd] == '+') || (g_ReadBuffer[iOffsetAdd] == '-')) iOffsetAdd++; + + // Check whether it's legimit command + if (g_ReadBuffer[iOffsetAdd] == '$') { + // Well it is! + switch(g_ReadBuffer[iOffsetAdd + 1]) { + case 'H': // Set thread, we're not having any threads.. so.. just return OK + SendCommand((unsigned char *)"OK"); + break; + case 'q': // Query, there are some queries, but GDB first asks for Offsets + switch(g_ReadBuffer[iOffsetAdd + 2]) { + case 'O': // Offsets + SendOffsets(); + break; + case 'C': + SendCommand((unsigned char *)"QC0000"); + //SendBreakPoint(); + break; + + } + break; + case '?': + // This will have to be modified later to send the correct signal. + SendBreakPoint(); + break; + case 'g': + DumpRegisters(); + break; + case 'm': + pAddr = GetAddr(&g_ReadBuffer[iOffsetAdd + 2]); + iOffset = FindChar(&g_ReadBuffer[iOffsetAdd + 2], ','); + iBytes = GetBytes(&g_ReadBuffer[iOffsetAdd + 2 + iOffset]); + SendMemory(pAddr, iBytes); + break; + case 'X': //Write memory binary, which we DON't support.. ofcourse. + UnSupportedCommand(); + break; + case 'P': // Write register + { + SendCommand((unsigned char *)"OK"); + + } + break; + case 'M': // Write memory not binary + { + pAddr = GetAddr(&g_ReadBuffer[iOffsetAdd + 2]); + iOffset = FindChar(&g_ReadBuffer[iOffsetAdd + 2], ','); + iBytes = GetBytes(&g_ReadBuffer[iOffsetAdd + 2 + iOffset]); + iOffset = FindChar(&g_ReadBuffer[iOffsetAdd + 2], ':'); + WriteMemory(pAddr, iBytes, &g_ReadBuffer[iOffsetAdd + 2 + iOffset + 1]); + SendCommand((unsigned char *)"OK"); + + } + break; + case 'c': // continue + { + return; + + } + break; + + case 's': // Stepping. + { + // Get the address of the next instruction. + pNextInstruction = GetNextInstruction((unsigned int *)g_Registers[15]); + + // Read whatsever there. + g_SavedStepInstruction = *pNextInstruction; + g_StepAddress = (unsigned int)pNextInstruction; + g_LastWasStep = true; + + //Printf("Curr: 0x%x", g_Registers[15]); + #ifdef USE_PRINTF + Printf("Next: 0x%x->0x%x", g_Registers[15], pNextInstruction); + #endif + //Printf("Trap: 0x%x", GetException((unsigned int)g_Registers[40])); + // Write a breakpoint instruction to the address. + *pNextInstruction = 0xe7ffdefe; + return; + + } + break; + case 'Z': // BreakPoint. + { + switch(g_ReadBuffer[iOffsetAdd + 2]) { + case '0': + // Software breakpoint, i think it's up to me to add, it, lets send OK for now. + UnSupportedCommand(); + break; + default: + // We only support software breakpoints for now, lets return unsupported. + // Actually we don't even support SW breakpoints now + UnSupportedCommand(); + break; + } + } + break; + + default: + UnSupportedCommand(); + break; + + } + } + + } + + } + +} + +/////////////////////////////////////////////////////////////// +// Tries to find the next instruction to be executed after a break +unsigned int *GetNextInstruction(unsigned int *pAddr) +{ + unsigned int uiInstruction = *pAddr; + unsigned int uiAndVal = 0; + unsigned int iNewPC = 0; + int iNewAddr = 0; + int iRegsbeforePC = 0; + unsigned int uiBaseRegister = 0; + unsigned int uiRegVal = 0; + unsigned int uiData = 0; + unsigned int uiCondMask = 0; + int iPCOffset = 0; + + unsigned int uiNewPC = DecodeInstruction(uiInstruction, (unsigned int)pAddr); + return (unsigned int *)uiNewPC; + + + // Set new PC to pAddr + 4, because we really hope that is the case...:D + iNewPC = (unsigned int)pAddr; + iNewPC += 4; // Next instruction (atleast in ARM mode, we don't support thumb yet) + + // Now it's a good point to find out if the instruction would be executed anyway. + uiCondMask = (uiInstruction & 0xf0000000) >> 28; + + if (CondWillExecute(uiCondMask, (unsigned int)g_Registers[18])) { + //Printf("Condition will execute"); + // Find out if it's a B or BL instruction. (This is the easy one) + if ((uiInstruction & 0xE000000 ) == 0xA000000) { + #ifdef USE_PRINTF + Printf("0x%x", uiInstruction); + #endif + // Okay, it's a branch instruction, lets get the address it's for + iNewAddr = uiInstruction & 0xffffff; + // We might need to sign extend this instruction. + if ((iNewAddr & 0x00800000) != 0) { + #ifdef USE_PRINTF + printf("Sign extending"); + #endif + //iNewAddr *= -1; + iNewAddr |= 0xff000000; + } + #ifdef USE_PRINTF + Printf("0x%x", iNewAddr); + #endif + iNewAddr *= 4; // Instruction size. + iNewPC = ((int)pAddr + iNewAddr + 8); + } + + // Well, it might be a ldm(ea)? + + if ((uiInstruction & 0xE000000) == 0x8000000) { + #ifdef USE_PRINTF + Printf("LDM"); + #endif + // this is a LDM/STM alright. + if ((uiInstruction & 0x100000) != 0) { + // This is a LDM instruction + // Lets see if the PC is ever loaded. + #ifdef USE_PRINTF + Printf("includes PC"); + #endif + if ((uiInstruction & 0x8000) != 0) { + // Well (damn the PC is loaded) + for (int i = 0; i < 15; i++) { + uiAndVal = 1 << i; + if ((uiInstruction & uiAndVal) != 0) iRegsbeforePC++; + } + #ifdef USE_PRINTF + Printf("%d regs", iRegsbeforePC); + #endif + /* + <mr_spiv> da = fa + <mr_spiv> ia = fd + <mr_spiv> db = ea + <mr_spiv> ib = ed + */ + // Lets find out which register is used as base for this operation. + uiBaseRegister = (uiInstruction & 0xF0000) >> 16; + uiRegVal = ((unsigned int *)g_Registers)[uiBaseRegister]; + // First, have a look at the U bit. + if ((uiInstruction & (1 << 23)) != 0) { + + // Transfer is made descending + // Which also means that the PC is closest to the base register i just found out. + // Lets check the P bit (If i'm supposed to increment before or after. + + iPCOffset = iRegsbeforePC * 4; + if (((uiInstruction) & (1 << 24)) != 0) iPCOffset += 4; + + } else { + // Transfer is done ascending + // Lets check the P bit (If i'm supposed to decrement before or after. + if (((uiInstruction) & (1 << 24)) != 0) iPCOffset = -4; + } + + + iNewPC = *(unsigned int *)((((int)uiRegVal) + iPCOffset) & ~0x03); + } + } + } + + // Check if it's a mov pc, Rn + + } + + return (unsigned int *)iNewPC; +} + +/////////////////////////////////////////////////////////////// +// Determines if uiCond will be true with this CSPR +bool CondWillExecute(unsigned int uiCond, unsigned int CSPR) +{ + + switch(uiCond) { + case 0: // EQ + // This is true if Z is set in CSPR + if ((CSPR & (1 << 30)) != 0) return true; + else return false; + + break; + case 1: // NE + // This should be true if Z is not set. + if ((CSPR & (1 << 30)) == 0) return true; + else return false; + break; + case 2: // CS/HS + // this one should be true if C is set. + if ((CSPR & (1 << 29)) != 0) return true; + else return false; + break; + case 3: // CC/LO + // this one should be true if C is clear. + if ((CSPR & (1 << 29)) == 0) return true; + else return false; + break; + case 4: // MI + // this one should be true if N is set + if ((CSPR & (1 << 31)) != 0) return true; + else return false; + break; + case 5: // PL + // this one should be true if N is clear. + if ((CSPR & (1 << 31)) == 0) return true; + else return false; + break; + case 6: // VS + // this one should be true if V is set + if ((CSPR & (1 << 28)) != 0) return true; + else return false; + break; + case 7: // VC + // this one should be true if V is clear. + if ((CSPR & (1 << 28)) == 0) return true; + else return false; + break; + case 8: // HI + // This is true if C and Z is clear + if (((CSPR & (1 << 30)) == 0) && ((CSPR & (1 << 29)) == 0)) return true; + else return false; + break; + case 9: // LS + // C clear OR Z set + if (((CSPR & (1 << 29)) == 0) || ((CSPR & (1 << 30)) != 0)) return true; + else return false; + break; + case 10: // GE + // N set AND V set || N clear and V clear + if ((CSPR & (1 << 31)) == (CSPR & (1 << 28))) return true; + else return false; + break; + case 11: // LT + // N != V + if ((CSPR & (1 << 31)) != (CSPR & (1 << 28))) return true; + else return false; + break; + case 12: // GT + // Z == 0, N == V + if (((CSPR & (1 << 30)) == 0) && ((CSPR & (1 << 31)) == (CSPR & (1 << 28)))) return true; + else return false; + break; + case 13: // LE + if (((CSPR & (1 << 30)) == 1) && ((CSPR & (1 << 31)) != (CSPR & (1 << 28)))) return true; + else return false; + break; + case 14: // AL + return true; + break; + default: + break; + } + + +} +// I got the idea for this layout from the singlestep.c (found in eCos) +// But i thought the code was a bit tricky to port, and i wanna learn more about this anyway so, i'll just do smth similar to that + + + +typedef struct +{ + unsigned Rm : 4; // Rm + unsigned resv2 : 1; // Reserved 2 (0) + unsigned shift : 2; // hmm.. dunno actually but probably (LSL, LSR, ASR, ROR ) + unsigned amount : 5; // Shift amount 0-31 + unsigned Rd : 4; // Rd + unsigned Rn : 4; // Rn + unsigned s : 1; // S-flag + unsigned opcode : 4; // Opcode (Mov etc) + unsigned resv1 : 3; // Reserved 1 (000) + unsigned cond : 4; // Condition + +} dpisr; // Data Processing Immediate Register Shift +#define DPISR_R1 0 +#define DPISR_R2 0 +// Example <opcode> Rd, Rm, <shift> amount +typedef struct +{ + unsigned Rm : 4; // Rm + unsigned resv3 : 1; // Reserved 3 (1) + unsigned shift : 2; // (LSL, LSR, ASR, ROR ) + unsigned resv2 : 1; // Reserved 2 (0) + unsigned Rs : 4; // Rs + unsigned Rd : 4; // Rd + unsigned Rn : 4; // Rn + unsigned s : 1; // S-flag + unsigned opcode : 4; // Opcode + unsigned resv1 : 3; // Reserved 1 (000) + unsigned cond : 4; // Condition +} dprrs; // Data Processing Register Register Shift +#define DPRRS_R1 0 +#define DPRRS_R2 0 +#define DPRRS_R3 1 +// Example <opcode> Rd, Rn, Rm <shift> Rs +// This intruction is unpredictable if R15 is one of the used registers anyway. +typedef struct +{ + unsigned immed : 8; // Immediate value + unsigned rotate : 4; // rotate + unsigned Rd : 4; // Rd + unsigned Rn : 4; // Rn + unsigned s : 1; // S-flag + unsigned opcode : 4; // Opcode + unsigned resv1 : 3; // Reserved 1 (001) + unsigned cond : 4; // Condition +} dpi; // Data processing immediate +// example add r0, r1, (ror <immed>, <rotate * 2>) +#define DPI_R1 1 + +typedef struct +{ + unsigned immed : 12; // Immediate + unsigned Rd : 4; // Rd + unsigned Rn : 4; // Rn + unsigned L : 1; // L-bit (Load/Store)? + unsigned W : 1; // W-bit + unsigned B : 1; // B-bit + unsigned U : 1; // U-bit + unsigned p : 1; // P-bit + unsigned resv1 : 3; // Reserved 1 (010) + unsigned cond : 4; // Condition +} lsio; // Load/store immediate offset +// Example ldr Rd, [Rn, #<immed>] +#define LSIO_R1 2 + + +typedef struct +{ + unsigned Rm : 4; // Rm + unsigned resv2 : 1; // Reserved 2 (0) + unsigned shift : 2; // Shit type (LSL, LSR, ASR, ROR ) + unsigned amount : 5; // Shift amount (0-31) + unsigned Rd : 4; // Rd + unsigned Rn : 4; // Rn + unsigned L : 1; // L-bit (Load/Store)? + unsigned W : 1; // W-bit + unsigned B : 1; // B-bit + unsigned U : 1; // U-bit + unsigned p : 1; // P-bit + unsigned resv1 : 3; // Reserved 1 (011) + unsigned cond : 4; // Condition +} lsro; // Load/Store register offset +// Example ldr Rd, [Rn + Rm lsl 5] +#define LSRO_R1 3 +#define LSRO_R2 0 + + +typedef struct +{ + unsigned regs : 16; // Register mask + unsigned Rn : 4; // Rn + unsigned L : 1; // L-bit (Load/Store)? + unsigned W : 1; // W-bit + unsigned S : 1; // B-bit + unsigned U : 1; // U-bit + unsigned p : 1; // P-bit + + unsigned resv1 : 3; // Reserved 1 (100) + unsigned cond : 4; // Condition +} lsm; // Load store multiple +// Example: ldm r0, {r1, r2, r3} +#define LSM_R1 4 + +typedef struct +{ + unsigned offset : 24; // Branch offset + unsigned link : 1; // Link flag + unsigned resv1 : 3; // Reserved 1 (101) + unsigned cond : 4; // Condition +} bl; // Branch with link(optional) +#define BL_R1 5 + +typedef union { + dpisr DPISR; + dprrs DPRRS; + dpi DPI; + lsio LSIO; + lsro LSRO; + lsm LSM; + bl BL; + unsigned int uiInstruction; +} Instruction; + +/* +#define DPISR_R1 0 +#define DPISR_R2 0 + + +#define DPRRS_R1 0 +#define DPRRS_R2 0 +#define DPRRS_R3 1 + +#define DPI_R1 1 + +#define LSIO_R1 2 + +#define LSRO_R1 3 +#define LSRO_R2 0 + +#define LSM_R1 4 + +#define BL_R1 5 +*/ + +/* + * Data Processiong Opcode field values + */ +#define OPCODE_MOV 0xD +#define OPCODE_MVN 0xF +#define OPCODE_ADD 0x4 +#define OPCODE_ADC 0x5 +#define OPCODE_SUB 0x2 +#define OPCODE_SBC 0x6 +#define OPCODE_RSB 0x3 +#define OPCODE_RSC 0x7 +#define OPCODE_AND 0x0 +#define OPCODE_EOR 0x1 +#define OPCODE_ORR 0xC +#define OPCODE_BIC 0xE +#define OPCODE_CMP 0xA +#define OPCODE_CMN 0xB +#define OPCODE_TST 0x8 +#define OPCODE_TEQ 0x9 + +/* + * Shift field values + */ +#define SHIFT_LSL 0x0 +#define SHIFT_LSR 0x1 +#define SHIFT_ASR 0x2 +#define SHIFT_ROR 0x3 +#define SHIFT_RRX 0x3 /* Special case: ROR(0) implies RRX */ + + +unsigned int DecodeDPISR(dpisr Instr, unsigned int PC); +unsigned int DecodeDPRRS(dprrs Instr, unsigned int PC); +unsigned int DecodeDPI(dpi Instr, unsigned int PC); +unsigned int DecodeLSIO(lsio Instr, unsigned int PC); +unsigned int DecodeLSRO(lsro Instr, unsigned int PC); +unsigned int DecodeLSM(lsm Instr, unsigned int PC); +unsigned int DecodeBL(bl Instr, unsigned int PC); + + +/////////////////////////////////////////////////////////////// +// +unsigned int DecodeInstruction(unsigned int uiInstruction, unsigned int PC) +{ + Instruction myInstruction; + unsigned int uiCondMask; + + uiCondMask = (uiInstruction & 0xf0000000) >> 28; + + // This instruction can do whatever it wants, but if it doesn't execute we don't give a shit. + if (!CondWillExecute(uiCondMask, (unsigned int)g_Registers[18])) return PC + 4; + //Printf("CondWillExec"); + + myInstruction.uiInstruction = uiInstruction; + + // Start decoding.. phuu + + if ((myInstruction.DPISR.resv1 == DPISR_R1) && (myInstruction.DPISR.resv2 == DPISR_R2)) return DecodeDPISR(myInstruction.DPISR, PC); + else if ((myInstruction.DPRRS.resv1 == DPRRS_R1) && + (myInstruction.DPRRS.resv2 == DPRRS_R2) && + (myInstruction.DPRRS.resv3 == DPRRS_R3)) return DecodeDPRRS(myInstruction.DPRRS, PC); + else if ((myInstruction.DPI.resv1 == DPI_R1)) return DecodeDPI(myInstruction.DPI, PC); + else if ((myInstruction.LSIO.resv1 == LSIO_R1)) return DecodeLSIO(myInstruction.LSIO, PC); + + else if ((myInstruction.LSRO.resv1 == LSRO_R1) && + (myInstruction.LSRO.resv2 == LSRO_R2)) return DecodeLSRO(myInstruction.LSRO, PC); + else if (myInstruction.LSM.resv1 == LSM_R1) return DecodeLSM(myInstruction.LSM, PC); + else if (myInstruction.BL.resv1 == BL_R1) return DecodeBL(myInstruction.BL, PC); + + return 0; +} + +/////////////////////////////////////////////////////////////// +// +unsigned int LSL(unsigned int uiValue, unsigned int uiSteps) +{ + return uiValue << uiSteps; +} + +/////////////////////////////////////////////////////////////// +// +unsigned int LSR(unsigned int uiValue, unsigned int uiSteps) +{ + return uiValue >> uiSteps; +} + +/////////////////////////////////////////////////////////////// +// +// This one could be trickier since, i'm nor sure if a signed shift really is a signed shift. +unsigned int ASR(unsigned int uiValue, unsigned int uiSteps) +{ + unsigned int uiSignMask = 0; + + // Check if it's a negative number + if (uiValue & 0x80000000) { + // Yes, damn + uiSignMask = ((~0) << (32 - uiSteps)); + } + + return ((uiValue >> uiSteps) | uiSignMask); +} + +/////////////////////////////////////////////////////////////// +// +unsigned int ROR(unsigned int uiValue, unsigned int uiSteps) +{ + unsigned int uiRetval; + + while(uiSteps-- > 0) { + if (uiValue & 0x01) { + uiValue = (uiValue >> 1) | 0x80000000; + } else { + uiValue = uiValue >> 1; + } + } + return uiValue; +} + + +/////////////////////////////////////////////////////////////// +// +unsigned int Shift_Operand(unsigned int Rm, unsigned int amount, unsigned int shift) +{ + unsigned int uiRegisterValue; + + + + + uiRegisterValue = g_Registers[Rm]; + if (Rm == 0x0f) { + // Rm is PC, and PC is offseted by 8. + uiRegisterValue += 8; + } + + // Determine the shift mode. + //(LSL, LSR, ASR, ROR ) + switch (shift) { + case 0: // LSL + return LSL(uiRegisterValue, amount); + break; + case 1: // LSR + return LSR(uiRegisterValue, amount); + break; + case 2: // ASR + return ASR(uiRegisterValue, amount); + break; + case 3: // ROR + return ROR(uiRegisterValue, amount); + break; + + default: + break; + + } + return 0; +} + +/////////////////////////////////////////////////////////////// +// +// Example <opcode> Rd, Rm, <shift> amount +unsigned int DecodeDPISR(dpisr Instr, unsigned int uiPC) +{ + unsigned int uiOperand = Shift_Operand(Instr.Rm, Instr.amount, Instr.shift); + unsigned int uiRnVal = g_Registers[Instr.Rn]; + + + + // Only do this i Pc is Rd + if (Instr.Rd != 0x0f) return uiPC + 4; + + // The actual value that PC contains when executing this instruction is the instruction address+8 + if (Instr.Rn == 0x0f) uiRnVal += 8; + + // Check what opcode it is! + switch (Instr.opcode) { + case OPCODE_MOV: + return uiOperand; + case OPCODE_MVN: + return ~uiOperand; + case OPCODE_ADD: + return uiRnVal + uiOperand; + case OPCODE_ADC: + return uiRnVal + uiOperand + (((g_Registers[18] & (1 << 29))) == 0?0:1); + case OPCODE_SUB: + return uiRnVal - uiOperand; + case OPCODE_SBC: + return uiRnVal - uiOperand - (((g_Registers[18] & (1 << 29))) == 0?1:0); + case OPCODE_RSB: + return uiOperand - uiRnVal; + case OPCODE_RSC: + return uiOperand - uiRnVal - (((g_Registers[18] & (1 << 29))) == 0?1:0); + case OPCODE_AND: + return (uiRnVal & uiOperand); + case OPCODE_EOR: + return (uiRnVal^uiOperand); + case OPCODE_ORR: + return (uiRnVal | uiOperand); + case OPCODE_BIC: + return (uiRnVal & ~uiOperand); + default: + return 0; + } +} + + +/////////////////////////////////////////////////////////////// +// +//dprrs; // Data Processing Register Register Shift +// Example <opcode> Rd, Rn, Rm <shift> Rs +unsigned int DecodeDPRRS(dprrs Instr, unsigned int uiPC) +{ + unsigned int uiRmValue = g_Registers[Instr.Rm]; + unsigned int uiRsValue = g_Registers[Instr.Rs]; + unsigned int uiRnVal = g_Registers[Instr.Rn]; + if ((Instr.Rm = 0x0f)) uiRmValue += 8; + + + unsigned int uiOperand = Shift_Operand(uiRmValue, uiRsValue, Instr.shift); + + // Check if destination is PC + if (Instr.Rd != 0x0f) return uiPC + 4; + if ((Instr.Rn = 0x0f)) uiRnVal += 8; + + // Check what opcode it is! + switch (Instr.opcode) { + case OPCODE_MOV: + return uiOperand; + case OPCODE_MVN: + return ~uiOperand; + case OPCODE_ADD: + return uiRnVal + uiOperand; + case OPCODE_ADC: + return uiRnVal + uiOperand + (((g_Registers[18] & (1 << 29))) == 0?0:1); + case OPCODE_SUB: + return uiRnVal - uiOperand; + case OPCODE_SBC: + return uiRnVal - uiOperand - (((g_Registers[18] & (1 << 29))) == 0?1:0); + case OPCODE_RSB: + return uiOperand - uiRnVal; + case OPCODE_RSC: + return uiOperand - uiRnVal - (((g_Registers[18] & (1 << 29))) == 0?1:0); + case OPCODE_AND: + return (uiRnVal & uiOperand); + case OPCODE_EOR: + return (uiRnVal^uiOperand); + case OPCODE_ORR: + return (uiRnVal | uiOperand); + case OPCODE_BIC: + return (uiRnVal & ~uiOperand); + default: + return 0; + } + +} + +/////////////////////////////////////////////////////////////// +// +// dpi; // Data processing immediate +// example add r0, r1, (ror <immed>, <rotate * 2>) +unsigned int DecodeDPI(dpi Instr, unsigned int uiPC) +{ + unsigned int uiOperand = (ROR(Instr.immed, Instr.rotate << 1)); + unsigned int uiRnVal = g_Registers[Instr.Rn]; + + // Check if PC is destination + if (Instr.Rd != 0x0f) return uiPC + 4; // Next instruction + if ((Instr.Rn = 0x0f)) uiRnVal += 8; + + // Check what opcode it is! + switch ((Instr.opcode)) { + case OPCODE_MOV: + return uiOperand; + case OPCODE_MVN: + return ~uiOperand; + case OPCODE_ADD: + return uiRnVal + uiOperand; + case OPCODE_ADC: + return uiRnVal + uiOperand + (((g_Registers[18] & (1 << 29))) == 0?0:1); + case OPCODE_SUB: + return uiRnVal - uiOperand; + case OPCODE_SBC: + return uiRnVal - uiOperand - (((g_Registers[18] & (1 << 29))) == 0?1:0); + case OPCODE_RSB: + return uiOperand - uiRnVal; + case OPCODE_RSC: + return uiOperand - uiRnVal - (((g_Registers[18] & (1 << 29))) == 0?1:0); + case OPCODE_AND: + return (uiRnVal & uiOperand); + case OPCODE_EOR: + return (uiRnVal^uiOperand); + case OPCODE_ORR: + return (uiRnVal | uiOperand); + case OPCODE_BIC: + return (uiRnVal & ~uiOperand); + default: + return 0; + } + +} + +/////////////////////////////////////////////////////////////// +// +// lsio; // Load/store immediate offset +// Example ldr Rd, [Rn, #<immed>] +unsigned int DecodeLSIO(lsio Instr, unsigned int uiPC) +{ + unsigned int uiRnValue = g_Registers[Instr.Rn]; + unsigned int uiMemValue; + + // Check if destination is PC + if (Instr.Rd != 0x0f) return uiPC + 4; + // Check if it's a LDR instruction + if (Instr.L != 1) return uiPC + 4; + + if (Instr.Rn == 0x0f) uiRnValue += 8; + + // Check if it's pre-indexed + if (Instr.p == 1){ + + if (Instr.U == 1) { + // Add offset + uiRnValue += Instr.immed; + } else { + // Sub offset + uiRnValue -= Instr.immed; + } + } + + uiMemValue = *(unsigned int *)(uiRnValue); + + return uiMemValue; + +} + +/////////////////////////////////////////////////////////////// +// +// lsro; // Load/Store register offset +// Example ldr Rd, [Rn + Rm lsl 5] +unsigned int DecodeLSRO(lsro Instr, unsigned int uiPC) +{ + unsigned int uiRnValue = g_Registers[Instr.Rn]; + unsigned int uiRmValue = g_Registers[Instr.Rm]; + unsigned int uiIndex; + unsigned int uiMemValue; + + if (Instr.Rm == 0x0f) uiRmValue += 8; + if (Instr.Rn == 0x0f) uiRnValue += 8; + + // Check if destination is PC and that it's LDR instruction + if ((Instr.Rd != 0x0f) || (Instr.L != 1)) return uiPC + 4; + + uiIndex = Shift_Operand(Instr.Rm, Instr.amount, Instr.shift); + + if (Instr.p == 1){ + + if (Instr.U == 1) { + // Add offset + uiRnValue += uiIndex; + } else { + // Sub offset + uiRnValue -= uiIndex; + } + } + + uiMemValue = *(unsigned int *)(uiRnValue); + + return uiMemValue; + + +} +/////////////////////////////////////////////////////////////// +// +// lsm; // Load store multiple +// Example: ldm r0, {r1, r2, r3} +unsigned int DecodeLSM(lsm Instr, unsigned int uiPC) +{ + unsigned int uiRnValue = g_Registers[Instr.Rn]; + unsigned int uiOffsetToPC = 0; + unsigned int uiMemValue; + + // Make sure PC is destination and it's Load instruction + if (((Instr.regs & (1 << 15)) == 0) || (Instr.L != 1)) return uiPC + 4; + + + // Check if U bit it set + if (Instr.U == 0) { + // This means that it's ascending + // Also means that the PC is closest to Rn + if (Instr.p == 1) { + // Pre decrement. + uiOffsetToPC -= 4; + } else { + uiOffsetToPC = 0; + } + } else { + // The stack is descending, that means that the PC is as far away as possible. + // Lets find out how many registers before it. + for (int i = 0; i < 15; i++) { + if ((Instr.regs & (1 << i)) != 0) uiOffsetToPC += 4; + } + + // If the P bit is set, it uses pre increment + if (Instr.p == 1) uiOffsetToPC += 4; + } + + // read from out calculated address. + uiMemValue = *(unsigned int *)((uiRnValue + uiOffsetToPC) & ~0x03); + + return uiMemValue; + +} + +/////////////////////////////////////////////////////////////// +// +// bl; // Branch with link(optional) +unsigned int DecodeBL(bl Instr, unsigned int uiPC) +{ + //Printf("Decode BL"); + unsigned int uiAddress; + + uiAddress = Instr.offset; + if (uiAddress & 0x00800000) { + uiAddress |= 0xff000000; + } + + uiAddress <<= 2; + uiAddress += 8; + + return uiPC + uiAddress; + +} diff --git a/backends/gp32/dirent.h b/backends/gp32/dirent.h deleted file mode 100644 index 8b9698dade..0000000000 --- a/backends/gp32/dirent.h +++ /dev/null @@ -1,59 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// NOTE: (ph0x) -// borrowed from wince port as the file was either missing from the gp32sdk -// or was causing conflicts. -////////////////////////////////////////////////////////////////////////////// - - -/* Header is not present in Windows CE SDK */ -/* It would not be a bad idea to take this thing from gcc distro and port - it properly. For now only required part is ported. */ - -struct dirent -{ - long d_ino; /* Always zero. */ - unsigned short d_reclen; /* Always zero. */ - unsigned short d_namlen; /* Length of name in d_name. */ - char* d_name; /* File name. */ - /* NOTE: The name in the dirent structure points to the name in the - * finddata_t structure in the DIR. */ -}; - -/* - * This is an internal data structure. Good programmers will not use it - * except as an argument to one of the functions below. - */ -typedef struct -{ - /* disk transfer area for this dir */ -/* struct _finddata_t dd_dta; */ - - /* dirent struct to return from dir (NOTE: this makes this thread - * safe as long as only one thread uses a particular DIR struct at - * a time) */ - struct dirent dd_dir; - - /* _findnext handle */ - long dd_handle; - - /* - * Status of search: - * 0 = not started yet (next entry to read is first entry) - * -1 = off the end - * positive = 0 based index of next entry - */ - short dd_stat; - - /* given path for dir with search pattern (struct is extended) */ - char dd_name[1]; -} DIR; - - -DIR* opendir (const char*); -struct dirent* readdir (DIR*); -int closedir (DIR*); -/* -void rewinddir (DIR*); -long telldir (DIR*); -void seekdir (DIR*, long); -*/ diff --git a/backends/gp32/gfx_splash.h b/backends/gp32/gfx_splash.h new file mode 100644 index 0000000000..431330bf3d --- /dev/null +++ b/backends/gp32/gfx_splash.h @@ -0,0 +1,4845 @@ +///////////////////////////////////////// +// +// Header file for GP32 +// +// convertion of gfx_splash.bmp file : +// Width = 320 +// Heigth = 240 +// GP32 Mode = 8 Bits per Pixel +// +// with GP32Converter coded by Edorul : +// http://www.ifrance.com/edorul/ +// edorul@free.fr +// +///////////////////////////////////////// + +#define gfx_splash_width 320 +#define gfx_splash_height 240 + +#define gfx_splash_palnb 256 + +#include "gpgraphic.h" + +GP_PALETTEENTRY gfx_splash_Pal[256] = { + 0x843, 0x88B, 0x1941, 0x110D, 0x2883, 0x30C9, 0x2945, 0x2109, 0x214D, 0x2989, 0x218F, 0x3149, 0x394D, 0x3989, 0x318D, 0x8D1, + 0x1153, 0x9D9, 0x2993, 0x29DB, 0x1A01, 0x3243, 0x3A4B, 0x3B01, 0x1A15, 0x125B, 0x3255, 0x329B, 0x3B17, 0x331D, 0x40C3, 0x4145, + 0x498B, 0x6987, 0x61C9, 0x49D1, 0x4285, 0x524D, 0x4B43, 0x530D, 0x6207, 0x624D, 0x6307, 0x6B4B, 0x4211, 0x4A55, 0x4A93, 0x4297, + 0x5251, 0x5255, 0x5293, 0x5295, 0x4ADB, 0x5313, 0x535D, 0x6AD3, 0x62D9, 0x7355, 0x6319, 0x6B5D, 0x6B9B, 0x639F, 0x7359, 0x735D, + 0x739B, 0x7B9F, 0x32E1, 0x3B63, 0x4AA3, 0x52E9, 0x4BA3, 0x53A9, 0x6BE3, 0x6BA9, 0x7BF1, 0x7C4D, 0x5C1F, 0x7417, 0x741B, 0x5C25, + 0x54AB, 0x552F, 0x6C65, 0x6CAB, 0x7D27, 0x752D, 0x54F1, 0x5D35, 0x5D79, 0x6CF1, 0x6D75, 0x6DB9, 0x7E35, 0x763B, 0x89CF, 0xB085, + 0xA909, 0xA98D, 0xB14B, 0xB1CF, 0x8207, 0x834F, 0x8A53, 0x8AD3, 0x8A95, 0x9253, 0x9295, 0x8395, 0x8359, 0x835D, 0x83D9, 0x83DD, + 0x9359, 0x93D9, 0x93DD, 0xAA11, 0xA2D7, 0xB253, 0xBA95, 0xA393, 0xAB19, 0xABDB, 0xA3DF, 0xB319, 0xB3DF, 0xC001, 0xC8C7, 0xD843, + 0xD885, 0xC909, 0xC18D, 0xD14B, 0xD9CF, 0xE001, 0xE8C7, 0xF801, 0xF885, 0xF14B, 0xD295, 0xCB19, 0xC39D, 0xDB19, 0xD3DF, 0xF295, + 0xE319, 0xEB9D, 0xF35B, 0xFBDF, 0x83E1, 0x8C4D, 0x8C15, 0x945D, 0x9D53, 0x951F, 0xAC57, 0xAC9D, 0xA595, 0xB55D, 0xD517, 0xCD5B, + 0xE59B, 0xD65B, 0xE69B, 0x8421, 0x8C65, 0x8CA3, 0x84E7, 0x9461, 0x9465, 0x9CA1, 0x94A5, 0x8CAB, 0x9D25, 0x8D6D, 0xA463, 0xA4E1, + 0xA4E5, 0xB421, 0xB4E1, 0xB4A5, 0xA4E9, 0xAD65, 0xA529, 0xAD6D, 0xADAB, 0xADAD, 0xB56B, 0xB56D, 0xB5AB, 0xB5AD, 0x94F3, 0x8DB3, + 0x8DF9, 0xADB5, 0xA5F9, 0x9E27, 0x962D, 0xB665, 0xB62D, 0xBF25, 0xB729, 0x9675, 0x8EBD, 0x9F37, 0x9F3D, 0xA675, 0xAEB9, 0xAF37, + 0xAF7D, 0xCC63, 0xC4E7, 0xD463, 0xD4E7, 0xC5A5, 0xC569, 0xC5E9, 0xC5ED, 0xD529, 0xDD6D, 0xD5E9, 0xD5EF, 0xF463, 0xE5E1, 0xEDAD, + 0xD5F1, 0xCE67, 0xCE2D, 0xCF65, 0xCF6B, 0xE623, 0xE6AB, 0xEFE5, 0xEF2F, 0xC631, 0xCE75, 0xCEB3, 0xCEB7, 0xDE31, 0xD675, 0xD6B3, + 0xDEB7, 0xD6F9, 0xDF35, 0xCFBD, 0xEEB3, 0xE6F9, 0xEF77, 0xE739, 0xEF7D, 0xEFBB, 0xEFFF, 0xFF79, 0xFFB9, 0xFFFF, 0x1, 0x1 + +}; + +unsigned char gfx_splash[76800] = { + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF6, 0x4E, 0xBC, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x33, 0xE, + 0xFD, 0xF9, 0x3A, 0xE, 0x33, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF7, 0xF7, 0xF8, 0x99, 0x2, 0x15, 0x39, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF7, + 0xFD, 0x94, 0xE, 0xE, 0xE, 0x3A, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xE9, 0xE9, 0xEF, 0x99, 0x14, 0x17, 0x15, 0x99, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF0, + 0xE9, 0xE, 0xE, 0xB7, 0xF7, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, + 0xE9, 0xB8, 0xAC, 0x24, 0x15, 0x14, 0x17, 0x27, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xF9, + 0xF0, 0x97, 0x27, 0x4D, 0xC6, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3F, 0xE, + 0xE, 0xE, 0x3A, 0xFD, 0xF0, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF5, 0xE9, + 0xB8, 0x27, 0x15, 0x2, 0x2, 0x2, 0x17, 0x24, 0x35, 0xF9, 0xFD, 0xFD, 0xF8, 0xF0, 0xF0, 0xD8, + 0x2C, 0x0, 0x6, 0x2, 0x2, 0x16, 0x4D, 0xBC, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0x3A, + 0xE, 0x33, 0xF5, 0xFD, 0xE, 0x38, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xE9, 0xBD, + 0xAC, 0x15, 0x2, 0x15, 0x17, 0x15, 0x17, 0x26, 0x16, 0xF2, 0xFD, 0xF8, 0xF0, 0xE9, 0xBD, 0x4D, + 0x2, 0x14, 0x14, 0x14, 0x2, 0x2, 0x2, 0x2, 0x39, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xEA, 0xBD, 0xBD, + 0xAC, 0x24, 0x17, 0x17, 0x15, 0x26, 0x26, 0x26, 0x24, 0xF2, 0xF9, 0xF0, 0xE9, 0xBD, 0xB6, 0x16, + 0x24, 0x24, 0x15, 0x15, 0x15, 0x17, 0x24, 0x14, 0x2, 0x39, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xAC, 0x27, 0x17, 0x15, 0x15, 0x26, 0x26, 0x26, 0x24, 0xEB, 0xF7, 0xEE, 0xBD, 0xBD, 0xB6, 0x27, + 0x26, 0x26, 0x17, 0x15, 0x15, 0x24, 0x15, 0x14, 0x15, 0x2, 0x4E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xB6, + 0x27, 0x24, 0x15, 0x15, 0x2, 0x24, 0x26, 0x26, 0x26, 0x27, 0xC6, 0xEE, 0xBD, 0xBD, 0xB8, 0x35, + 0x26, 0x26, 0x15, 0x14, 0x15, 0x15, 0x15, 0x2, 0x14, 0x17, 0x24, 0xB5, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, 0xA3, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xE9, 0xBD, 0xB6, + 0x27, 0x15, 0x15, 0x2, 0x2, 0x2, 0x14, 0x15, 0x17, 0x26, 0x27, 0xC6, 0xD8, 0xBD, 0xBD, 0x4D, + 0x15, 0x17, 0x17, 0x16, 0x35, 0x16, 0x14, 0x14, 0x15, 0x17, 0x15, 0x24, 0xB8, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0xE, 0xE, 0x2C, 0x41, 0xB6, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xE9, 0xBD, 0xBD, + 0xAC, 0x27, 0x26, 0x2, 0x2, 0x0, 0x2, 0x26, 0x17, 0x26, 0x15, 0x4D, 0xD8, 0xBD, 0xBD, 0xAC, + 0x6, 0x15, 0x17, 0x27, 0xB6, 0xAA, 0x39, 0x6, 0x14, 0x17, 0x26, 0x26, 0x27, 0xEF, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB6, + 0x41, 0x2C, 0xE, 0xE, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF0, 0xE9, 0xBD, + 0xB8, 0xB5, 0x4E, 0x6, 0x15, 0x14, 0x2, 0x14, 0x26, 0x26, 0x17, 0x15, 0x4D, 0xAC, 0xBC, 0x39, + 0x2, 0x14, 0x17, 0x24, 0xB5, 0xBD, 0xB7, 0x40, 0x6, 0x24, 0x26, 0x26, 0x24, 0xAC, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF7, 0xBB, 0xA3, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, 0xE9, + 0xBD, 0xBD, 0xB8, 0x27, 0x17, 0x15, 0x14, 0x14, 0x15, 0x26, 0x26, 0x15, 0x2, 0x6, 0x27, 0x6, + 0x2, 0x2, 0x17, 0x24, 0xB5, 0xBD, 0xBD, 0xB6, 0x16, 0x15, 0x26, 0x17, 0x17, 0x4E, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, + 0xD8, 0xBD, 0xBD, 0x4E, 0x15, 0x17, 0x14, 0x14, 0x14, 0x17, 0x26, 0x17, 0x15, 0x14, 0x2, 0x2, + 0x2, 0x2, 0x15, 0x15, 0x4E, 0xBD, 0xBD, 0xBD, 0x6F, 0x15, 0x24, 0x14, 0x2, 0x27, 0xF6, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xA3, + 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xE9, 0xBD, 0xBD, 0xB6, 0x16, 0x14, 0x14, 0x14, 0x14, 0x15, 0x24, 0x26, 0x26, 0x24, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x39, 0xE9, 0xBD, 0xBD, 0xB4, 0x16, 0x24, 0x14, 0x2, 0x2, 0x35, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0xE, 0xA3, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, + 0xEE, 0xBD, 0xBD, 0xBD, 0x4E, 0x2, 0x14, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x14, 0x15, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x39, 0xE9, 0xBD, 0xBD, 0xA9, 0x16, 0x17, 0x15, 0x15, 0x2, 0x6, 0xB8, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0x41, + 0xE, 0xE, 0xE, 0xA3, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF5, 0xE9, 0xBD, 0xBD, 0xB6, 0x25, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, 0x2, 0x2, 0x2, 0x15, + 0x15, 0x17, 0x17, 0x15, 0x4E, 0xE9, 0xBD, 0xBD, 0x39, 0x2, 0x17, 0x17, 0x17, 0x15, 0x15, 0x4E, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xE, 0xAA, 0x2C, 0xE, 0xE, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF8, 0xEE, 0xD8, 0xBD, 0xBD, 0xA5, 0x15, 0x15, 0x14, 0x14, 0x17, 0x15, 0x14, 0x14, 0x2, 0x2, + 0x2, 0x14, 0x15, 0x16, 0xBC, 0xE9, 0xAC, 0x4E, 0x27, 0x2, 0x14, 0x17, 0x26, 0x15, 0x15, 0x4E, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xE, 0xE9, 0xBD, 0x38, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xB8, 0x4E, 0x6, 0x2, 0x14, 0x15, 0x15, 0x15, 0x14, 0x14, 0x2, + 0x2, 0x2, 0x14, 0x35, 0xD8, 0xA5, 0x16, 0x2, 0x2, 0x2, 0x14, 0x15, 0x15, 0x14, 0x2, 0x40, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF5, 0xE9, 0xBD, 0xBD, 0xB7, 0x4E, 0x9, 0x15, 0x14, 0x2, 0x0, 0x2, 0x2, 0x2, + 0x2, 0x15, 0x16, 0xB6, 0xB8, 0x27, 0x14, 0x17, 0x2, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x27, + 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0x2C, + 0x33, 0x3A, 0x41, 0xA8, 0xAA, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xF5, 0xEA, 0xD8, 0xBD, 0xB7, 0xAA, 0x35, 0x6, 0x2, 0x14, 0x14, 0x14, 0x15, + 0x15, 0x16, 0xA5, 0xB6, 0x2E, 0x6, 0x14, 0x17, 0x17, 0x15, 0x17, 0x17, 0x26, 0x26, 0x17, 0x27, + 0xF2, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xF0, 0xE9, 0xD8, 0xBD, 0xBD, 0xA5, 0x35, 0x16, 0x16, 0x16, 0x16, + 0x3C, 0xB8, 0xBD, 0xB4, 0x9, 0x2, 0x2, 0x15, 0x17, 0x17, 0x26, 0x24, 0x15, 0x26, 0x15, 0x24, + 0xF2, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xF0, 0xEA, 0xE9, 0xE9, 0xE9, 0xE9, 0xEB, 0xEB, 0xEB, + 0xEA, 0xD8, 0xBD, 0xB7, 0x35, 0x16, 0x2, 0x15, 0x24, 0x24, 0x26, 0x26, 0x15, 0x15, 0x17, 0x39, + 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0xE, 0xE, 0x2C, 0x41, 0xB6, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF8, 0xF7, 0xF7, 0xF8, 0xF9, 0xFD, 0xFD, 0xF9, + 0xF5, 0xEA, 0xD8, 0xBD, 0xB6, 0xA9, 0x16, 0x15, 0x17, 0x17, 0x26, 0x26, 0x26, 0x26, 0x24, 0xC6, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xB6, + 0x41, 0xE, 0xE, 0xE, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xF7, 0xEA, 0xD8, 0xBD, 0xBD, 0xA5, 0x27, 0x27, 0x27, 0x17, 0x26, 0x26, 0x15, 0x99, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xE, 0xF7, 0xBB, 0x41, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF2, 0xF2, 0xF2, 0xF2, + 0xF2, 0xEF, 0xE9, 0xE9, 0xEE, 0xE9, 0xD8, 0xB8, 0xBC, 0xBC, 0x4D, 0x24, 0x24, 0xB5, 0xF9, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xAA, + 0x31, 0xE, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xE9, 0x99, 0x4D, 0x16, 0x6, 0x9, 0x6, + 0x6, 0x6, 0x15, 0x27, 0x40, 0xB6, 0xD8, 0xE9, 0xEE, 0xF5, 0xF5, 0xF2, 0xF6, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0x31, 0x3F, 0x41, 0xF8, 0xF5, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xF0, 0xB5, 0x39, 0x16, 0x2, 0x2, 0x2, 0x2, 0x14, 0x14, + 0x14, 0x14, 0x14, 0x2, 0x2, 0x2, 0x16, 0x4D, 0xEB, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xA8, + 0xF9, 0xF0, 0xE, 0xE, 0xE, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xF7, 0xF0, 0xE9, 0x99, 0x15, 0x2, 0x2, 0x14, 0x15, 0x26, 0x26, 0x24, 0x15, + 0x15, 0x17, 0x26, 0x17, 0x15, 0x15, 0x15, 0x2, 0x16, 0xC5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xB6, 0xE, 0x2C, 0xBD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF5, 0xE9, 0xBD, 0x99, 0x15, 0x2, 0x2, 0x15, 0x17, 0x26, 0x26, 0x26, 0x26, 0x15, + 0x2, 0x14, 0x24, 0x15, 0x15, 0x15, 0x17, 0x17, 0x15, 0x24, 0xB5, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xF5, 0xE9, 0xBD, 0x99, 0x15, 0x2, 0x14, 0x15, 0x2, 0x2, 0x15, 0x24, 0x26, 0x26, 0x24, + 0x15, 0x14, 0x15, 0x15, 0x14, 0x15, 0x17, 0x15, 0x15, 0x26, 0x15, 0x4D, 0xF9, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xE9, 0xBD, 0xB6, 0x27, 0x2, 0x15, 0x26, 0x15, 0x2, 0x2, 0x2, 0x15, 0x15, 0x17, 0x24, + 0x24, 0x24, 0x17, 0x15, 0x15, 0x17, 0x15, 0x2, 0x15, 0x26, 0x26, 0x15, 0xBC, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, 0xA3, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, + 0xEE, 0xD8, 0xBD, 0x6F, 0x2, 0x2, 0x26, 0x26, 0x15, 0x24, 0x17, 0x14, 0x15, 0x15, 0x2, 0x15, + 0x24, 0x24, 0x17, 0x15, 0x24, 0x24, 0x15, 0x14, 0x15, 0x17, 0x14, 0x14, 0x16, 0xE9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0xE, 0xE, 0x2C, 0x41, 0xB6, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xE9, 0xBD, 0xBD, 0x2E, 0x0, 0x14, 0x26, 0x26, 0x15, 0x26, 0x17, 0x17, 0x17, 0x17, 0x15, 0x17, + 0x26, 0x26, 0x17, 0x15, 0x24, 0x15, 0x15, 0x14, 0x15, 0x14, 0x15, 0x26, 0x15, 0x2C, 0xF9, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB6, + 0x41, 0x2C, 0xE, 0xE, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0x38, 0xA3, 0xB4, 0xE9, 0xE, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, + 0xD8, 0xBD, 0xB6, 0x16, 0x0, 0x2, 0x24, 0x17, 0x2, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x24, 0x24, 0x15, 0x15, 0x14, 0x15, 0x15, 0x17, 0x26, 0x15, 0x9, 0xF0, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF7, 0xBB, 0xA3, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xBD, 0xB4, 0xA3, 0xE, 0x2C, 0xB6, 0xFD, 0xFD, 0xFD, 0xF8, 0xEE, + 0xBD, 0xBD, 0xAC, 0x6, 0x0, 0x0, 0x2, 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x15, 0x15, 0x17, + 0x2, 0x14, 0x15, 0x15, 0x14, 0x2, 0x2, 0x14, 0x14, 0x26, 0x26, 0x26, 0x24, 0x6, 0xB8, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAC, 0x6, 0x2, 0x14, 0x2, 0x14, 0x26, 0x26, 0x17, 0x17, 0x17, 0x15, 0x14, 0x17, + 0x2, 0x40, 0xAC, 0xAC, 0x4D, 0x16, 0x2, 0x15, 0x14, 0x24, 0x26, 0x26, 0x17, 0x15, 0x2E, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE9, 0x2C, 0xE, 0x31, 0xAA, 0xFD, 0xF9, 0xA8, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAC, 0x6, 0x2, 0x15, 0x14, 0x14, 0x15, 0x26, 0x26, 0x15, 0x14, 0x15, 0x39, 0x27, + 0x4E, 0xD8, 0xD8, 0xBD, 0xBD, 0xAC, 0x27, 0x2, 0x0, 0x14, 0x26, 0x17, 0x17, 0x17, 0x15, 0xBC, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0xE9, 0xFD, 0xF0, 0x3A, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAC, 0x6, 0x2, 0x17, 0x15, 0x14, 0x14, 0x17, 0x24, 0x14, 0x2, 0xAC, 0xF9, 0xF6, + 0xF9, 0xF7, 0xF0, 0xE9, 0xBD, 0xBD, 0xB6, 0x40, 0x2, 0x2, 0x24, 0x14, 0x15, 0x17, 0x15, 0x4E, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE, 0xF9, 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAA, 0x6, 0x2, 0x14, 0x14, 0x14, 0x14, 0x15, 0x14, 0x24, 0x27, 0xF9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF8, 0xF0, 0xE9, 0xBD, 0xBD, 0xAC, 0x6, 0x2, 0x24, 0x14, 0x2, 0x14, 0x14, 0x2E, + 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xAA, 0x3A, 0xF0, 0xFD, 0xE9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAC, 0x6, 0x2, 0x2, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x4E, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xA9, 0x2, 0x14, 0x17, 0x15, 0x15, 0x14, 0x2, 0x16, + 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x2C, + 0x38, 0xB4, 0xF5, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x31, 0xE, 0x2C, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xB6, 0x16, 0x2, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x2C, 0xF9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF7, 0xE9, 0xB8, 0xB6, 0xAC, 0x27, 0x2, 0x15, 0x26, 0x17, 0x17, 0x15, 0x15, 0x39, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, 0xFD, + 0xF5, 0xAA, 0x33, 0xE, 0x2C, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xEA, + 0xBD, 0xBD, 0xB8, 0x27, 0x2, 0x15, 0x15, 0x15, 0x14, 0x15, 0x15, 0x15, 0x9, 0xF0, 0xF9, 0xF8, + 0xF7, 0xF7, 0x4E, 0x6, 0x6, 0x9, 0x16, 0x2, 0x15, 0x24, 0x15, 0x17, 0x26, 0x15, 0x15, 0x99, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0x3A, 0xA3, 0xB6, 0xE9, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, + 0xD8, 0xBD, 0xBD, 0x35, 0x2, 0x2, 0x2, 0x2, 0x2, 0x15, 0x24, 0x2, 0x9, 0xEF, 0xF7, 0xE9, + 0xB8, 0xBC, 0x4E, 0x2, 0x14, 0x15, 0x15, 0x17, 0x17, 0x15, 0x17, 0x15, 0x15, 0x14, 0x6, 0xEB, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0x2C, + 0xE, 0x31, 0xAA, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF8, 0xE9, 0xB6, 0x3C, 0xE, 0x3A, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xE9, 0xBD, 0xBD, 0xAA, 0x6, 0x2, 0x14, 0x15, 0x6, 0x15, 0x14, 0x2, 0x2, 0xBD, 0xE9, 0x2E, + 0x2, 0x6, 0x15, 0x14, 0x14, 0x2, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0xF2, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xE9, + 0xFD, 0xF0, 0x3A, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xEA, 0xBD, 0xBD, 0xB8, 0x4E, 0x6, 0x24, 0x6, 0x14, 0x15, 0x14, 0x2, 0x2, 0x4E, 0xB6, 0x6, + 0x15, 0x15, 0x14, 0x2, 0x2, 0x14, 0x17, 0x17, 0x17, 0x17, 0x15, 0x17, 0x17, 0x15, 0x4E, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, + 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF5, 0xE9, 0xBD, 0xBD, 0xB8, 0x97, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, 0x39, 0xB6, 0x9, + 0x2, 0x2, 0x2, 0x2, 0x6, 0x2, 0x15, 0x17, 0x17, 0x17, 0x26, 0x26, 0x24, 0x16, 0xF2, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAA, 0x3A, + 0xF0, 0xFD, 0xE9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xF5, 0xE9, 0xBD, 0xBD, 0xB8, 0x4E, 0x15, 0x17, 0x17, 0x17, 0x17, 0x14, 0x3C, 0xD8, 0xB6, + 0x3C, 0x35, 0x35, 0x4E, 0xAA, 0x4E, 0x2, 0x15, 0x24, 0x24, 0x26, 0x26, 0x17, 0x4D, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x31, 0xE, 0x2C, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF5, 0xE9, 0xD8, 0xBD, 0xB8, 0xA5, 0x16, 0x15, 0x17, 0x15, 0x27, 0xE9, 0xF5, 0xF7, + 0xF5, 0xAC, 0x6, 0x6, 0x97, 0x4E, 0x2, 0x24, 0x15, 0x17, 0x26, 0x26, 0x15, 0xBC, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xF7, 0xEE, 0xE9, 0xD8, 0xE9, 0xC6, 0x99, 0x4E, 0x99, 0xF2, 0xF9, 0xFD, 0xFD, + 0xF9, 0xAC, 0x2, 0x15, 0x16, 0xAA, 0x35, 0x16, 0x27, 0x27, 0x24, 0x24, 0x4D, 0xF9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0x2C, 0x38, 0xB4, 0xF5, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF5, 0xF0, 0xF5, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF2, 0x35, 0x16, 0x35, 0xD8, 0xD8, 0xBC, 0xEB, 0xF2, 0xF2, 0xF2, 0xF9, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x3A, 0xFD, 0xF5, 0xAA, 0x33, 0xE, 0x2C, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF8, 0xF7, 0xEB, 0x99, 0x4E, 0x4D, 0x4D, 0x4D, 0x4E, 0xAC, 0xEF, + 0xF6, 0xF9, 0xF5, 0xEB, 0xF0, 0xF7, 0xF7, 0xF7, 0xEF, 0xC6, 0xF2, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xF7, 0xF0, 0xC6, 0x4D, 0x6, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x6, + 0x16, 0x4D, 0x99, 0xEB, 0xEB, 0xEF, 0xF7, 0xEF, 0x35, 0x6, 0x24, 0x27, 0x97, 0xF6, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF7, 0xF0, 0xE9, 0xB5, 0x24, 0x2, 0x14, 0x17, 0x17, 0x26, 0x26, 0x17, 0x24, 0x15, 0x2, + 0x2, 0x2, 0x2, 0x6, 0x6, 0x16, 0x4D, 0x16, 0x2, 0x14, 0x26, 0x14, 0x14, 0x27, 0xEB, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB3, 0xD6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x3A, + 0x94, 0x2C, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x94, 0x31, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xEE, 0xE9, 0xB8, 0x27, 0x2, 0x15, 0x26, 0x15, 0x15, 0x17, 0x26, 0x26, 0x26, 0x26, 0x15, + 0x2, 0x14, 0x15, 0x15, 0x2, 0x2, 0x2, 0x2, 0x14, 0x17, 0x26, 0x17, 0x15, 0x17, 0x4D, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF7, 0xF2, 0xF5, 0xFB, 0x67, 0x1E, 0x6C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF9, + 0xFD, 0xFD, 0xA3, 0x94, 0x41, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB7, 0x94, 0x41, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, + 0xF0, 0xD8, 0xBD, 0x97, 0x2, 0x14, 0x26, 0x26, 0x15, 0x2, 0x14, 0x15, 0x24, 0x26, 0x26, 0x24, + 0x15, 0x14, 0x15, 0x14, 0x2, 0x14, 0x14, 0x15, 0x14, 0x17, 0x26, 0x15, 0x15, 0x14, 0x97, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF2, 0xEA, 0xBD, 0xEF, 0xDC, 0x66, 0x1E, 0x4, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF5, + 0xFD, 0xFD, 0xFD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xB6, 0xF5, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xE9, 0xBD, 0xB6, 0x25, 0x2, 0x14, 0x15, 0x26, 0x26, 0x14, 0x14, 0x14, 0x15, 0x15, 0x17, 0x26, + 0x2A, 0x24, 0x17, 0x14, 0x14, 0x15, 0x24, 0x14, 0x15, 0x26, 0x26, 0x17, 0x15, 0x15, 0x4D, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xEB, 0xBD, 0xB6, 0xD8, 0x37, 0x4, 0x1F, 0x1E, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAA, 0x33, + 0xE9, 0xFD, 0xBD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0xA3, 0x31, 0xE, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, + 0xD8, 0xBD, 0xAC, 0x6, 0x2, 0x15, 0x26, 0x26, 0x26, 0x24, 0x15, 0x14, 0x15, 0x14, 0x15, 0x24, + 0x26, 0x26, 0x17, 0x15, 0x24, 0x24, 0x15, 0x14, 0x15, 0x26, 0x26, 0x26, 0x15, 0x15, 0x24, 0xF2, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF6, 0xE9, 0xB4, 0xAA, 0xB6, 0x20, 0x4, 0x29, 0x1F, 0xED, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF0, 0xB6, + 0x20, 0x20, 0x4, 0x20, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x31, 0xE, 0x2C, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAC, 0x6, 0x0, 0x24, 0x26, 0x26, 0x26, 0x15, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, + 0x26, 0x26, 0x17, 0x15, 0x24, 0x15, 0x15, 0x14, 0x15, 0x17, 0x17, 0x26, 0x14, 0x2, 0x25, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF4, 0xD8, 0xAA, 0x94, 0xA8, 0x30, 0x4, 0x25, 0x1E, 0xD7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xE9, 0xEA, 0xB6, + 0x4, 0x1E, 0x1F, 0x30, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE9, 0x31, 0xE, 0x31, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAC, 0x6, 0x0, 0x2, 0x24, 0x26, 0x26, 0x26, 0x17, 0x14, 0x16, 0x39, 0x4D, 0x35, + 0x16, 0x15, 0x17, 0x24, 0x24, 0x15, 0x15, 0x14, 0x14, 0x15, 0x15, 0x17, 0x15, 0x2, 0xD, 0xF5, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF5, 0xBD, 0xA3, 0x41, 0xA3, 0x20, 0x6, 0x29, 0x4, 0xAF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xBD, 0xB4, 0xBA, 0xA7, + 0x4, 0x1E, 0x4, 0xB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0x31, + 0xE, 0x31, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0xBD, 0xFD, 0xE, 0xA3, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAC, 0x6, 0x2, 0x0, 0x2, 0x26, 0x26, 0x26, 0x17, 0x4D, 0xC6, 0xD8, 0xBD, 0xBD, + 0xAC, 0x27, 0x15, 0x17, 0x17, 0x14, 0x15, 0x14, 0x14, 0x26, 0x26, 0x26, 0x24, 0x2, 0x9, 0xF0, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF0, 0xBD, 0xA4, 0x41, 0x6F, 0xD, 0x6, 0x29, 0x4, 0x97, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF7, 0xEA, 0xB6, 0x94, 0x94, 0xA7, + 0x1F, 0x20, 0x1F, 0x20, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xBD, + 0xFD, 0xE, 0xA3, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0xF8, 0xFD, 0xE, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0x4D, 0x2, 0x14, 0x14, 0x2, 0x14, 0x26, 0x26, 0x15, 0x99, 0xF7, 0xF0, 0xE9, 0xBD, + 0xBD, 0xB8, 0x97, 0x24, 0x24, 0x15, 0x16, 0x2E, 0x2E, 0x24, 0x26, 0x26, 0x17, 0x2, 0x4E, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF0, 0xBD, 0x94, 0x3F, 0x41, 0xD, 0x6, 0x29, 0x1F, 0x71, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFC, 0xF6, 0xF6, 0xF6, 0xF4, 0xF6, 0xF6, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, 0xFB, + 0xFD, 0xFD, 0xF5, 0xF7, 0xFD, 0xF6, 0xF4, 0xF6, 0xFD, 0xF2, 0xF4, 0xF6, 0xF6, 0xF4, 0xE2, 0xB5, + 0xA9, 0x6F, 0xB0, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xBD, 0xAA, 0x6F, 0x41, 0x3A, + 0x1E, 0x25, 0x20, 0xD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF8, + 0xFD, 0xE, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xB6, 0x3A, 0xFD, 0xE, 0xF0, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, + 0xBD, 0xBD, 0x35, 0x2, 0x17, 0x15, 0x14, 0x14, 0x15, 0x26, 0x26, 0x27, 0xF2, 0xF8, 0xF5, 0xEE, + 0xE9, 0xE9, 0xE9, 0xC6, 0xC6, 0xBC, 0xB8, 0xBD, 0xBD, 0xB8, 0x39, 0x24, 0x15, 0x4D, 0xF6, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF0, 0xBC, 0x41, 0x3C, 0x3C, 0xD, 0x4, 0x25, 0x1F, 0x71, 0xD5, 0xB5, 0xA7, 0xB0, 0xBA, 0xD8, + 0xE9, 0xE9, 0xEB, 0xD8, 0xB0, 0x40, 0x30, 0xD, 0xD, 0x20, 0x20, 0x20, 0xD, 0x20, 0xD, 0x20, + 0x20, 0x1F, 0x6, 0x6, 0x4, 0x4, 0x4, 0x4, 0xD, 0xB, 0xB, 0x40, 0xF4, 0xFD, 0xF6, 0xE0, + 0xD8, 0x6F, 0xB, 0x32, 0xD8, 0xF6, 0xF6, 0xF4, 0xE0, 0xB5, 0x72, 0x38, 0x3E, 0x25, 0x1F, 0xAF, + 0xF7, 0xF0, 0xEF, 0xF4, 0xB5, 0x1F, 0xFE, 0x0, 0x0, 0x0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x0, + 0x0, 0x0, 0xFE, 0x4, 0xB0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF5, 0xF0, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xD8, 0xA3, 0x41, 0x40, 0x30, + 0x1F, 0x6B, 0x37, 0xD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x3A, + 0xFD, 0xE, 0xF0, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xFD, 0xE, 0x2C, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, + 0xBD, 0xBD, 0x2E, 0x2, 0x17, 0x17, 0x15, 0x14, 0x14, 0x17, 0x26, 0x14, 0x35, 0xF2, 0xF9, 0xF8, + 0xF7, 0xF7, 0xF8, 0xF9, 0xF8, 0xF7, 0xF0, 0xE9, 0xE9, 0xF0, 0xF2, 0xBC, 0xC6, 0xF9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xEF, 0xBC, 0xA3, 0x3C, 0x38, 0xB, 0x4, 0x25, 0x28, 0x25, 0x1F, 0x0, 0xFE, 0x0, 0x0, 0x0, + 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x6, 0x6, 0x6, 0x4, 0x6, 0x4, 0x4, + 0x5, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x25, 0x6C, 0x97, 0x37, 0x4, + 0xFE, 0x0, 0xFE, 0x0, 0x0, 0x0, 0xD, 0x6E, 0x4, 0x0, 0x0, 0x0, 0x4, 0x4, 0x0, 0x39, + 0xE2, 0xE2, 0xD7, 0x72, 0x1F, 0x4, 0x1E, 0x1F, 0x1F, 0x20, 0x1F, 0x6, 0x6, 0x20, 0x20, 0x20, + 0x1F, 0x1F, 0x25, 0xB, 0x0, 0xB, 0x20, 0x4, 0xB, 0xB, 0x5, 0x5, 0x5, 0x4, 0x4, 0x4, + 0x5, 0x0, 0xFE, 0xFE, 0x0, 0x40, 0xFD, 0xFD, 0xFD, 0x40, 0xB0, 0xBA, 0x41, 0x3A, 0x32, 0x37, + 0x37, 0x97, 0x37, 0xB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0xFD, 0xE, 0x2C, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, + 0xBD, 0xBD, 0x32, 0x0, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x24, 0x26, 0x2, 0x27, 0xC6, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF7, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF0, 0xBD, 0xA3, 0x3A, 0x33, 0xB, 0x6, 0x29, 0x25, 0x4, 0x0, 0x4, 0x6, 0x20, 0x20, 0x20, + 0x25, 0x20, 0x20, 0x20, 0x6, 0x6, 0xD, 0x20, 0x20, 0x25, 0x25, 0x25, 0x20, 0x25, 0x20, 0x25, + 0x25, 0x20, 0x20, 0x20, 0x20, 0x20, 0x25, 0x20, 0x20, 0x37, 0x3E, 0x30, 0x6, 0x4, 0x4, 0x20, + 0x37, 0x25, 0x20, 0x25, 0x30, 0x20, 0x6, 0x0, 0x20, 0x25, 0x20, 0x20, 0x20, 0x25, 0x22, 0x1F, + 0x25, 0x39, 0x37, 0x1F, 0x4, 0x1F, 0x29, 0x1F, 0x1F, 0x20, 0x1F, 0x1E, 0x1F, 0x20, 0x20, 0x1F, + 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0xB, 0x6, 0x20, 0x20, 0x25, 0x30, 0x25, 0x20, 0x20, 0x37, 0x6C, + 0xA7, 0x6C, 0x3E, 0x72, 0x37, 0x25, 0x6F, 0x6C, 0x39, 0x0, 0x4, 0x4, 0x0, 0x0, 0x4, 0xB, + 0xFE, 0x0, 0x0, 0x6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xE, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, + 0xBD, 0xBD, 0x4E, 0x2, 0x2, 0x2, 0x2, 0x15, 0x14, 0x15, 0x15, 0x17, 0x14, 0x2, 0x6, 0x97, + 0xF2, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF0, 0xB7, 0x94, 0x3A, 0x33, 0xB, 0x4, 0x30, 0x25, 0x4, 0x6, 0x20, 0x6, 0x4, 0x4, 0x1E, + 0x6, 0x6, 0x6, 0x6, 0x4, 0x6, 0x6, 0x4, 0x4, 0x6, 0x1F, 0x1F, 0x4, 0x1F, 0x6, 0x4, + 0x1F, 0x4, 0x6, 0xB, 0x6, 0xB, 0xB, 0x5, 0x20, 0x4, 0x4, 0xB, 0x37, 0x37, 0x1F, 0x25, + 0x25, 0x1F, 0x6, 0x1F, 0x20, 0x20, 0x20, 0x6, 0x1F, 0x1F, 0x6, 0x1F, 0x20, 0x20, 0x25, 0x1F, + 0x1E, 0x1E, 0x4, 0x1E, 0x20, 0x1F, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, + 0x20, 0x20, 0x20, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x1F, 0x4, 0x1F, 0x25, 0x29, + 0x29, 0x4, 0x1F, 0x20, 0x37, 0x29, 0x0, 0x4, 0x4, 0x20, 0x20, 0xB, 0x5, 0x4, 0x4, 0x4, + 0x0, 0x4, 0x4, 0x4, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF5, 0xBD, 0x2C, + 0xE, 0x31, 0xBD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, + 0xBD, 0xBD, 0xB6, 0x16, 0x2, 0x15, 0x17, 0x15, 0x14, 0x15, 0x15, 0x15, 0x2, 0x2, 0x2, 0x2, + 0x16, 0x99, 0xEF, 0xF2, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xE9, 0xB7, 0xA3, 0x3A, 0x31, 0x7, 0x4, 0x25, 0x32, 0x4, 0x0, 0xD, 0x6, 0x1F, 0x1F, 0x1F, + 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x25, 0x25, 0x1F, 0x6, 0x1F, 0x20, 0x20, 0x1F, 0x25, 0x1F, 0x1F, + 0x1F, 0x6, 0x1F, 0x20, 0x20, 0x20, 0x20, 0xD, 0x20, 0x6, 0x1F, 0x6, 0xB, 0x20, 0x4, 0xB, + 0x20, 0x6, 0x4, 0x1F, 0x20, 0x1F, 0x1F, 0x6, 0x6, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x1F, 0x20, + 0x1F, 0x1F, 0x22, 0x1F, 0x1E, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x25, 0x29, 0x29, 0x25, 0x20, 0x25, + 0x20, 0x1F, 0x1F, 0x20, 0x1F, 0x6, 0x6, 0x6, 0x4, 0x1F, 0x4, 0x0, 0x0, 0x6, 0x6, 0x6, + 0x6, 0x1F, 0x6, 0x4, 0x1F, 0x1F, 0x1F, 0x20, 0x1F, 0x1F, 0x20, 0xB, 0x5, 0x4, 0x4, 0x4, + 0xB, 0x37, 0x30, 0x4, 0xD7, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xF0, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xE, 0xE9, + 0xFD, 0xF0, 0x3C, 0xB4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xEE, + 0xD8, 0xBD, 0xB8, 0xA5, 0x16, 0x14, 0x15, 0x15, 0x14, 0x15, 0x17, 0x15, 0x14, 0x14, 0x2, 0x2, + 0x0, 0x2, 0x2, 0x6, 0x16, 0x4E, 0xEF, 0xFD, 0xEB, 0x40, 0xC6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xE2, 0xB0, 0x40, 0x30, 0xD, 0x0, 0x2, 0x16, 0xD, 0x4, 0x4, 0x1F, 0x20, 0x1F, 0x25, 0x25, + 0x25, 0x30, 0x25, 0x25, 0x25, 0x25, 0x29, 0x29, 0x67, 0x29, 0x29, 0x29, 0x29, 0x30, 0x20, 0xB, + 0x39, 0x6B, 0x37, 0x29, 0x25, 0x37, 0x39, 0x30, 0x20, 0x25, 0x25, 0x20, 0x6, 0x25, 0x1F, 0x1F, + 0x1F, 0x28, 0x22, 0x20, 0x1F, 0x1F, 0x1F, 0x1E, 0xB, 0x20, 0x25, 0x30, 0x20, 0x20, 0x1F, 0xD, + 0x6, 0x1F, 0x1F, 0x1F, 0x6, 0x1F, 0x25, 0x29, 0x39, 0x37, 0x39, 0x65, 0x29, 0x25, 0x39, 0x71, + 0x96, 0x71, 0x71, 0x71, 0x96, 0x96, 0x29, 0x70, 0x67, 0x70, 0x67, 0xB2, 0x6E, 0x37, 0x71, 0x29, + 0x22, 0x29, 0x29, 0x1F, 0x6, 0x1F, 0x1F, 0x1F, 0x29, 0x1F, 0x6, 0xD, 0x4, 0x4, 0x0, 0x0, + 0x6, 0x29, 0x1F, 0x1F, 0xF4, 0xF4, 0xD8, 0xEB, 0xB0, 0x6F, 0xA3, 0x94, 0x5, 0x4, 0xF4, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, 0xB4, 0x3A, 0xF7, + 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xEE, 0xD8, 0xBD, 0xBD, 0xB4, 0x16, 0x2, 0x2, 0x2, 0x15, 0x24, 0x15, 0x15, 0x15, 0x14, 0x2, + 0x2, 0x2, 0x2, 0x2, 0x14, 0x2, 0x16, 0xB5, 0x39, 0x2, 0x15, 0xBC, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xFC, 0xD8, 0x72, 0xD6, 0x97, 0x39, 0x39, + 0x25, 0x25, 0x25, 0x20, 0xD, 0x0, 0x0, 0x16, 0x32, 0x25, 0x20, 0x25, 0x29, 0x25, 0x30, 0x32, + 0x30, 0xD, 0xB, 0x30, 0x25, 0x29, 0x29, 0x29, 0x29, 0x29, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x25, 0x25, 0x20, 0x25, 0x37, 0x25, 0x20, 0x20, 0x39, 0x30, 0x25, 0x25, 0xD, 0x29, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x25, 0x25, 0x25, 0x25, 0x30, 0x37, 0x37, 0x37, 0x37, 0x30, 0x37, 0x20, 0x6, + 0x25, 0x39, 0x37, 0x20, 0x25, 0x37, 0x37, 0x39, 0x37, 0x37, 0x6B, 0x71, 0x6B, 0x71, 0x9B, 0xAF, + 0xB5, 0xDB, 0x68, 0x4, 0x39, 0xE6, 0xDB, 0xDA, 0xE6, 0xE6, 0xDB, 0xE8, 0xD5, 0xE6, 0xE8, 0xE6, + 0xE6, 0xE6, 0xE2, 0xD7, 0xD7, 0xB5, 0x25, 0x6, 0xB5, 0xAE, 0x72, 0x72, 0x6F, 0xA7, 0x97, 0x71, + 0x9B, 0xB2, 0xB2, 0x7A, 0xD6, 0xB, 0x0, 0x32, 0x39, 0x2C, 0x16, 0xE, 0x4, 0x4, 0xED, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0x3A, 0xE, 0x31, + 0xBD, 0xF0, 0xAA, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF9, 0x94, 0xE, 0xE, 0x31, 0xAA, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xEE, 0xD8, 0xBD, 0xBD, 0xA9, 0x6, 0x15, 0x2, 0x2, 0x14, 0x2, 0x2, 0x2, 0x14, 0x2, + 0x2, 0x14, 0x14, 0x15, 0x15, 0x15, 0x2, 0x27, 0x27, 0x14, 0x17, 0x4D, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xEA, 0xEE, 0x5, 0x1E, 0xB2, 0x71, 0xB2, 0xB2, + 0xAF, 0x6E, 0x6B, 0x71, 0x6E, 0x25, 0x35, 0xB5, 0xA9, 0x6E, 0x97, 0x97, 0x6E, 0x6C, 0x6F, 0x6C, + 0x30, 0xB, 0xD, 0xA7, 0x97, 0xAF, 0xAF, 0xAF, 0x7A, 0x71, 0x6B, 0x39, 0x39, 0x37, 0x39, 0x39, + 0x37, 0x37, 0x39, 0x39, 0x72, 0x3E, 0xB, 0x4, 0xD6, 0xAE, 0x6E, 0x97, 0x6E, 0x97, 0xB2, 0xB2, + 0xB5, 0xB5, 0xB2, 0xAF, 0xAF, 0xAF, 0xAF, 0xAF, 0xB0, 0xB0, 0xA7, 0x6C, 0x39, 0x39, 0x25, 0x6, + 0x37, 0x97, 0x97, 0x97, 0xB5, 0xE2, 0xE2, 0xED, 0xE2, 0xE2, 0xEF, 0xE6, 0xDB, 0xD5, 0xB5, 0xA9, + 0x35, 0x3E, 0xD, 0xFE, 0x6, 0x40, 0x39, 0x6C, 0xAF, 0xA9, 0xAF, 0xB5, 0x40, 0xAF, 0x6E, 0x97, + 0xA9, 0x6E, 0x39, 0x37, 0x32, 0x25, 0xFE, 0x0, 0x37, 0x37, 0x30, 0x20, 0xD, 0x20, 0x20, 0x20, + 0x6, 0x20, 0x29, 0x29, 0x37, 0x4, 0x0, 0x20, 0x20, 0x6, 0x9, 0x4, 0x0, 0xB, 0xEE, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xE9, + 0xA3, 0x33, 0xE, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x41, 0xB6, 0xF9, 0xFD, 0xF8, 0xBD, 0x33, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xB6, 0x35, 0x15, 0x15, 0x14, 0x2, 0x2, 0x14, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, 0x16, 0x99, 0x16, 0x17, 0x24, 0xB5, 0xF9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xE9, 0xBD, 0xBB, 0x33, 0x4, 0x1E, 0x4, 0x4, 0x4, + 0x4, 0x0, 0x0, 0x4, 0x0, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0xB, + 0xB, 0x0, 0xFE, 0xD, 0x4, 0x6, 0x6, 0x6, 0x1F, 0x1F, 0x1E, 0x1E, 0x6, 0x4, 0x5, 0x5, + 0x4, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB, 0xB, 0x4, 0x1F, 0x1F, 0x6, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, + 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x0, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x0, 0x1E, 0x4, 0x4, 0x4, 0xB, 0x4, 0xB, 0x4, 0x4, + 0x4, 0x4, 0x0, 0x0, 0x0, 0x4, 0x0, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, + 0x0, 0x0, 0x4, 0x4, 0x4, 0x4, 0x0, 0x4, 0x4, 0x0, 0x0, 0xFE, 0x4, 0x3E, 0xFB, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF8, 0xBD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB7, 0x94, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF0, 0xE9, 0xBD, 0xBD, 0xB4, 0x32, 0x6, 0x15, 0x15, 0x14, 0x14, 0x15, 0x15, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x2, 0x14, 0x15, 0x16, 0x99, 0xB5, 0x99, 0x6, 0x15, 0x4D, 0xF9, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, 0xB4, 0xAA, 0xAA, 0x3A, 0x30, 0x30, 0x30, 0x20, + 0xD, 0xB, 0x5, 0x0, 0x0, 0x0, 0x4, 0x5, 0x4, 0xFE, 0x4, 0xB, 0x6, 0xB, 0x5, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x5, 0x4, 0x5, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x5, + 0xD, 0xB, 0x6, 0x6, 0x7, 0x5, 0x5, 0xB, 0x5, 0x1F, 0x1E, 0x1F, 0x1F, 0x4, 0x1E, 0x1F, + 0x1F, 0x1F, 0x6, 0x6, 0x1F, 0x1F, 0x1F, 0x6, 0xB, 0x6, 0x1F, 0x1F, 0x4, 0x1E, 0x1E, 0x1F, + 0x1F, 0x1E, 0x1E, 0x1F, 0x1E, 0x4, 0x1E, 0x4, 0x1F, 0x1E, 0x1E, 0x1F, 0x1E, 0x1F, 0x1F, 0x1F, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x1E, 0x4, 0x1F, 0x4, 0x4, 0x4, 0x4, 0x1E, 0x4, + 0x4, 0x4, 0x1E, 0x1F, 0x4, 0x6, 0x6, 0x4, 0x6, 0x4, 0x4, 0x5, 0x4, 0x4, 0x0, 0x0, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x25, 0x20, 0x25, 0xD, 0xD, 0x6, 0xB, 0xB6, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0x3F, 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF7, 0xF0, 0xE9, 0xD8, 0xD8, 0xB8, 0xA5, 0x39, 0x35, 0x27, 0x16, 0x15, 0x9, 0x6, + 0x2, 0x14, 0x14, 0x14, 0x2, 0x15, 0x2, 0x14, 0x6, 0x35, 0x99, 0x24, 0x26, 0x24, 0xF2, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xE9, 0xB9, 0xB4, 0xA5, 0xAA, 0xB4, 0x94, 0x41, 0x33, + 0x33, 0x2C, 0xC, 0x0, 0x5, 0x0, 0x0, 0x23, 0x20, 0xD, 0x20, 0x20, 0xCC, 0xCC, 0xBF, 0xCB, + 0xE3, 0xC7, 0xC9, 0xCA, 0xCA, 0xCA, 0xC9, 0xC9, 0xC9, 0xC9, 0x5C, 0xBF, 0xF3, 0xCF, 0xCF, 0xCF, + 0xC4, 0x2F, 0xA, 0x1, 0x1, 0xE, 0x1A, 0x2F, 0x3A, 0x48, 0xA6, 0xAB, 0xAD, 0xC1, 0xC9, 0xCD, + 0xCD, 0xC1, 0xEC, 0x5A, 0xBF, 0xC9, 0xAD, 0xC9, 0xC9, 0xC9, 0xC9, 0xBF, 0xAD, 0xCB, 0xC9, 0xC9, + 0xC9, 0xCB, 0xCB, 0xCB, 0xCF, 0xCF, 0xCE, 0xCE, 0xCE, 0xAD, 0xCD, 0xCD, 0xCD, 0xCD, 0xC2, 0xC2, + 0xC2, 0xC2, 0xC2, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xD0, 0xCA, 0x5D, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x57, 0x58, 0x5A, 0x57, 0x57, 0x57, 0x57, 0x5A, 0x5A, 0x0, + 0x4, 0xB, 0xD, 0x4, 0x4, 0xA7, 0x6F, 0x6F, 0xA3, 0xB8, 0xE9, 0xEB, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, + 0x41, 0x2C, 0x2C, 0x41, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x38, 0xE9, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF0, 0xF0, 0xEE, 0xE9, 0xE9, 0xE9, 0xD8, 0xB8, 0xB6, 0xAC, 0xAC, + 0x4E, 0x35, 0x15, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x16, 0xD7, 0x27, 0x15, 0x27, 0xF6, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF0, 0xE9, 0xBD, 0xBD, 0xAA, 0xA5, 0xA3, 0x3B, 0x3A, + 0x31, 0x2E, 0xE, 0xFE, 0x0, 0x5, 0x5, 0x23, 0x30, 0x5, 0x20, 0x25, 0xC9, 0xC9, 0xC9, 0x55, + 0xC9, 0xE3, 0xC3, 0xCA, 0xCA, 0xCA, 0xC9, 0x5C, 0x5A, 0x56, 0x56, 0x56, 0x5C, 0xCE, 0xEC, 0x41, + 0x7, 0x7, 0x9, 0xE, 0x7, 0x12, 0x2D, 0x2F, 0x36, 0x52, 0xAD, 0xAD, 0xAD, 0xBF, 0xCD, 0xCD, + 0xCD, 0xC9, 0xEC, 0x59, 0xCD, 0xCD, 0xCD, 0xC9, 0xC9, 0xC9, 0xC9, 0xCE, 0xBF, 0x53, 0x55, 0x52, + 0x36, 0xAD, 0xCE, 0xCC, 0xCA, 0xCA, 0xCC, 0xCA, 0xCA, 0x55, 0xC9, 0xCB, 0xCB, 0xCC, 0xCC, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, + 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x57, 0x57, 0x57, 0x57, 0x5A, 0x5A, 0x7, + 0xB, 0x20, 0x20, 0x4, 0x4, 0xB5, 0xA9, 0xB6, 0xBD, 0xE9, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF7, 0xBB, 0xFD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE9, 0x2C, 0xA3, 0xE, 0xFD, 0xFD, 0xBD, 0x38, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xF8, 0xF7, 0xF7, 0xF7, 0xF7, 0xF5, 0xF0, 0xE9, 0xD8, + 0xBD, 0xB8, 0xA5, 0x16, 0x6, 0x14, 0x15, 0x16, 0x39, 0xAC, 0xF7, 0xF2, 0xB5, 0xF2, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xF5, 0xEE, 0xEF, 0xD8, 0xAC, 0xA3, 0x3C, + 0x33, 0x2C, 0xE, 0x0, 0x0, 0x4, 0x4, 0x30, 0x30, 0x4, 0x4, 0x5, 0xC9, 0xC9, 0x5C, 0x55, + 0x52, 0x52, 0x53, 0x50, 0x4F, 0x4F, 0x4F, 0x5C, 0x5A, 0x56, 0x56, 0x46, 0x1A, 0x3, 0x1, 0x1, + 0x1, 0x1, 0x0, 0x1, 0x1, 0xA, 0x1A, 0x34, 0x3D, 0xAD, 0xAD, 0xAD, 0xAD, 0xCD, 0xCE, 0xCE, + 0xCD, 0xC9, 0xCD, 0x50, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCC, 0xD0, 0xCC, 0xCA, 0xBF, 0xBF, + 0xC0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0x5D, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, + 0x58, 0x5B, 0x58, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x57, 0x57, 0x57, 0x5A, 0x5A, 0x9, + 0xB, 0x25, 0x25, 0x4, 0x4, 0xEF, 0xD8, 0xE9, 0xEC, 0xF1, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB6, 0x3F, 0xFD, 0xFD, 0x2C, 0xEE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xEF, 0xEF, 0xF7, 0xF9, 0xFD, 0xFD, 0xFD, 0xF8, 0xF5, 0xEE, + 0xE9, 0xD8, 0xD8, 0xB8, 0x40, 0x35, 0x4E, 0x97, 0x4D, 0x4E, 0xBC, 0xF2, 0xF6, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xE9, 0xB6, 0x94, + 0x3A, 0x31, 0x2C, 0x0, 0x0, 0x4, 0x5, 0x37, 0x33, 0x0, 0x0, 0x0, 0x9, 0x1, 0x0, 0x7, + 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x55, 0x5C, 0x56, 0x56, 0x46, 0x0, 0x0, 0x0, 0x1, + 0x1, 0x1, 0x0, 0x0, 0x1, 0x7, 0xA, 0x2F, 0x54, 0xAD, 0xAD, 0xC4, 0xCE, 0xD0, 0xD0, 0xD0, + 0xD0, 0xD0, 0xF1, 0x4F, 0xD0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x57, 0x57, 0x57, 0x5A, 0x5A, 0x7, + 0x6, 0x25, 0x30, 0xB, 0x4, 0xFD, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xB7, + 0x41, 0x2C, 0x2C, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB5, 0x6, 0x16, 0x35, 0x97, 0xEF, 0xF9, 0xF2, 0xEF, 0xEB, 0xC6, + 0xAC, 0x4D, 0x99, 0x35, 0x9, 0x16, 0x3C, 0x6, 0x2, 0x2, 0x2, 0x6, 0x16, 0x99, 0xF6, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, 0xAA, + 0x3B, 0x33, 0x2C, 0x7, 0x0, 0x0, 0x4, 0x30, 0x30, 0x0, 0x0, 0x0, 0x9, 0x3, 0x1, 0x0, + 0x1, 0x0, 0x1, 0x1, 0x3, 0x1, 0x1, 0x53, 0xBF, 0x56, 0x56, 0x47, 0x1, 0x1, 0x1, 0x3, + 0x3, 0x3, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0xA, 0x1A, 0x2F, 0x2F, 0x2F, 0x2F, 0x3D, 0x3D, + 0xAD, 0xD0, 0xF1, 0x43, 0xD0, 0xD0, 0xC9, 0xBF, 0xBF, 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCC, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x57, 0x57, 0x5A, 0x5A, 0x7, + 0x4, 0x20, 0x20, 0x4, 0x6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xE9, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAC, 0x15, 0x15, 0x15, 0x16, 0xAC, 0xAC, 0x16, 0x6, 0x16, 0x6, + 0x2, 0x2, 0x2, 0x2, 0x2, 0x0, 0x2, 0x14, 0x17, 0x17, 0x17, 0x2, 0x2, 0x2, 0x99, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, + 0x41, 0x33, 0x31, 0xE, 0x7, 0x0, 0x4, 0x25, 0x25, 0x4, 0x0, 0x4, 0x12, 0x3, 0xA, 0x1, + 0x1, 0x0, 0x0, 0x1, 0x9, 0x1, 0x0, 0x4F, 0xC9, 0x56, 0x56, 0x50, 0x3, 0x1, 0x1, 0x1, + 0x1, 0x1, 0x1, 0x8, 0x7, 0x7, 0xA, 0x1A, 0x34, 0x34, 0x36, 0x48, 0x54, 0x53, 0xAB, 0xAD, + 0xAD, 0xAD, 0xA6, 0x1A, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0x54, 0x55, 0xAD, 0xBF, 0xBF, + 0xC9, 0xCC, 0xCC, 0xCA, 0xCA, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x57, 0x57, 0x57, 0x58, 0xB, + 0xB, 0x3E, 0x37, 0xB, 0x4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xA3, + 0xBD, 0xF8, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0xE, 0x2C, 0x41, 0xB6, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEF, 0x35, 0x27, 0x4D, 0x4D, 0x27, 0x2, 0x14, 0x24, 0x15, 0x2, + 0x14, 0x15, 0x15, 0x17, 0x14, 0x2, 0x14, 0x17, 0x17, 0x17, 0x15, 0x14, 0x14, 0x15, 0x27, 0xF6, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB8, + 0x6F, 0x38, 0x33, 0xE, 0x7, 0x0, 0x4, 0x20, 0x1F, 0x4, 0x4, 0x4, 0x3, 0x3, 0x1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x4F, 0xC9, 0x56, 0x56, 0x59, 0xA, 0x3, 0x3, 0x3, + 0x1, 0x1, 0x0, 0x1, 0x7, 0xE, 0x2D, 0x2F, 0x3D, 0x54, 0xC4, 0xBF, 0xAD, 0xAD, 0xAD, 0xAD, + 0xAD, 0xBF, 0x36, 0x10, 0x55, 0xAD, 0xAD, 0xAD, 0xAD, 0x4C, 0x18, 0x10, 0x12, 0x36, 0x46, 0x46, + 0x4F, 0x53, 0x55, 0x5A, 0x5C, 0xC9, 0xC9, 0xCA, 0xCC, 0xCC, 0xCA, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, + 0x5D, 0x5D, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x57, 0x58, 0x58, 0xB, + 0xD, 0x3E, 0x33, 0xB, 0x4, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xB6, + 0x3F, 0xE, 0x2C, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF8, 0xBD, 0xA3, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF8, 0xF7, 0xF5, 0x99, 0x16, 0x6, 0x2, 0x2, 0x2, 0x17, 0x26, 0x26, 0x26, 0x15, + 0x2, 0x14, 0x24, 0x15, 0x14, 0x15, 0x17, 0x17, 0x17, 0x15, 0x17, 0x15, 0x15, 0x26, 0x24, 0xB5, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB7, + 0x6F, 0x38, 0x31, 0x7, 0x1, 0x0, 0x2, 0xD, 0x6, 0x4, 0x4, 0x4, 0x1A, 0xA, 0x1, 0x0, + 0xE, 0x1, 0x0, 0x1, 0x7, 0x0, 0x0, 0x46, 0xCD, 0x56, 0x56, 0x59, 0x10, 0x3, 0x1, 0x9, + 0x1, 0x3, 0x1, 0x0, 0x1, 0x1, 0x3, 0x1A, 0x1A, 0x36, 0x3D, 0x48, 0x3D, 0x3D, 0x48, 0x54, + 0x55, 0xBF, 0x4C, 0x3, 0x52, 0xBF, 0xAD, 0x1A, 0x1, 0x1, 0x1, 0x3, 0x1, 0x1, 0x1D, 0x47, + 0x47, 0x47, 0x47, 0x47, 0x46, 0x46, 0x46, 0x55, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0x5D, 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x57, 0x57, 0x58, 0x5A, 0x6, + 0x0, 0x4, 0x5, 0x4, 0xA7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xA3, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xF5, 0xEE, 0xE9, 0xB8, 0x24, 0x15, 0x17, 0x15, 0x2, 0x14, 0x15, 0x24, 0x26, 0x26, 0x24, + 0x15, 0x14, 0x24, 0x15, 0x14, 0x15, 0x17, 0x15, 0x15, 0x17, 0x26, 0x17, 0x15, 0x26, 0x17, 0x99, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB7, + 0x6F, 0x38, 0x2C, 0x5, 0x0, 0x0, 0x2, 0xD, 0xD, 0x4, 0x4, 0x4, 0x3, 0xA, 0x1, 0x0, + 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1C, 0xC9, 0x51, 0x56, 0x59, 0x18, 0x3, 0x1, 0x3, + 0x3, 0x1, 0x3, 0x3, 0x3, 0x1A, 0x2F, 0x36, 0x36, 0x4C, 0x54, 0xAD, 0xAD, 0xBF, 0xC9, 0xC9, + 0xC9, 0xC9, 0x54, 0x3, 0x52, 0xC9, 0x34, 0x8, 0x52, 0x0, 0x0, 0x1, 0x3, 0x52, 0x52, 0xBF, + 0xC9, 0xCD, 0xCE, 0xCA, 0xCC, 0xD0, 0xD0, 0xD0, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0x5D, 0x5D, 0xCA, 0x5D, 0xCA, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x58, 0x5A, 0x5A, 0x6, + 0x4, 0x0, 0x4, 0x4, 0xD, 0xED, 0xEF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBB, 0xA8, 0xE, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xEA, 0xD8, 0xBD, 0x4D, 0x15, 0x26, 0x26, 0x26, 0x14, 0x14, 0x14, 0x15, 0x15, 0x17, 0x26, + 0x2A, 0x24, 0x17, 0x15, 0x15, 0x17, 0x24, 0x15, 0x15, 0x26, 0x26, 0x17, 0x17, 0x26, 0x24, 0xC6, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, + 0x41, 0x38, 0x30, 0x4, 0x4, 0x0, 0x0, 0xE, 0xD, 0x4, 0x4, 0x4, 0x3, 0x1, 0x1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2F, 0xCE, 0x57, 0x57, 0x5A, 0x1D, 0xA, 0x3, 0x3, + 0x1, 0x3, 0x12, 0x2C, 0xA, 0xA, 0x2E, 0x3D, 0x4C, 0x4C, 0x52, 0xAD, 0xAD, 0xAD, 0xBF, 0xC9, + 0xC9, 0xAD, 0x19, 0x11, 0x11, 0x10, 0x1, 0x3, 0x10, 0x0, 0x0, 0x1, 0x10, 0x19, 0x19, 0x18, + 0x1C, 0xCE, 0xCE, 0xC9, 0xC9, 0xC9, 0xC9, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x58, 0x57, 0x57, 0x57, 0x58, 0x5B, 0x5B, 0x6, + 0x4, 0x37, 0x37, 0x6, 0x4, 0x4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x41, 0xBD, 0xFD, 0xF0, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF5, 0xE9, 0xBD, 0xBD, 0x39, 0x15, 0x26, 0x26, 0x26, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x15, + 0x26, 0x26, 0x17, 0x15, 0x24, 0x24, 0x15, 0x14, 0x15, 0x26, 0x26, 0x15, 0x14, 0x2, 0x4D, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB6, + 0x41, 0x38, 0x30, 0x4, 0x4, 0x4, 0x0, 0xE, 0x20, 0x4, 0x4, 0x4, 0x3, 0x1, 0x1, 0x1, + 0x0, 0x1, 0x1, 0x1, 0x7, 0x1, 0x1, 0x1A, 0xCA, 0x57, 0x57, 0x51, 0x43, 0x3, 0x3, 0x3, + 0xA, 0xA, 0x3, 0x1A, 0xA, 0xA, 0x8, 0x36, 0x52, 0x4C, 0x4C, 0x52, 0x48, 0x4C, 0x4C, 0x4C, + 0x36, 0x1A, 0x11, 0x10, 0x35, 0x2B, 0x3, 0x3, 0x3, 0xFE, 0x0, 0x1, 0x18, 0x18, 0x19, 0x1B, + 0x1B, 0xCE, 0xCE, 0xCE, 0xD0, 0xD0, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x57, 0x58, 0x57, 0x57, 0x58, 0x58, 0x58, 0x5B, 0x6, + 0x6, 0x37, 0x25, 0x1F, 0x4, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0x41, 0xE, 0x2C, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF5, 0xE9, 0xD8, 0xBD, 0xA9, 0x35, 0x35, 0x27, 0x24, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, 0x17, + 0x26, 0x26, 0x15, 0x15, 0x24, 0x15, 0x15, 0x2, 0x15, 0x26, 0x15, 0x17, 0x15, 0x2, 0x4E, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB4, + 0x41, 0x38, 0xE, 0x4, 0x4, 0x4, 0x4, 0x30, 0x25, 0x4, 0x4, 0x4, 0x3, 0x1, 0x1, 0x1, + 0x3, 0x1, 0x3, 0xF, 0xF, 0xF, 0x10, 0x10, 0xC9, 0x5A, 0x57, 0x57, 0x43, 0xF, 0xF, 0x10, + 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, + 0xF, 0xF, 0x10, 0x3, 0x32, 0x16, 0x3, 0x3, 0x3, 0x0, 0x1, 0x3, 0x10, 0x18, 0x18, 0x46, + 0x18, 0xCE, 0xCE, 0xCD, 0xCE, 0xD0, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCC, + 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x58, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x1F, + 0x21, 0x71, 0x37, 0x25, 0x4, 0x20, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xEA, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF8, 0xF5, 0xF0, 0xF0, 0xE9, 0xD8, 0xBD, 0xBC, 0xAC, 0x27, 0x15, 0x17, 0x17, 0x15, 0x15, 0x24, + 0x15, 0x17, 0x17, 0x24, 0x24, 0x15, 0x15, 0x14, 0x15, 0x26, 0x26, 0x26, 0x15, 0x2, 0x94, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB4, + 0x3B, 0x38, 0xE, 0x4, 0x4, 0x4, 0x0, 0x23, 0x20, 0x4, 0x4, 0x4, 0x1, 0x1, 0x0, 0x0, + 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x5C, 0x5A, 0x57, 0x5A, 0x46, 0x1, 0xF, 0xF, + 0x1, 0xF, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, + 0x1, 0xF, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x10, 0x12, 0x10, 0x10, 0x12, 0x12, 0x55, + 0x12, 0x1D, 0x46, 0x43, 0x46, 0x4F, 0x46, 0x46, 0x46, 0x46, 0x4F, 0x4F, 0x4F, 0x50, 0x50, 0x51, + 0x55, 0x5C, 0xCA, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x1F, + 0x28, 0x71, 0x39, 0x20, 0x4, 0x6E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x31, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xEA, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xF9, 0xF7, 0xF0, 0xE9, 0xD8, 0xD8, 0xBC, 0xA5, 0x39, 0x35, 0x39, 0x4D, 0x4D, + 0x27, 0x2, 0x2, 0x17, 0x17, 0x14, 0x15, 0x14, 0x14, 0x17, 0x17, 0x24, 0x16, 0xB6, 0xF9, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB4, + 0x3B, 0x38, 0x2C, 0x4, 0x4, 0x0, 0x0, 0x25, 0x20, 0x4, 0x4, 0x4, 0xF, 0xF, 0xF, 0xF, + 0x1, 0x0, 0xFE, 0x1, 0x13, 0x1B, 0x42, 0x43, 0x5C, 0x5C, 0x57, 0x57, 0x56, 0x47, 0x47, 0x47, + 0x1A, 0x0, 0x0, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, + 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1A, 0x53, 0x53, 0x55, 0xBF, 0xBF, + 0xA, 0x3, 0x10, 0xF, 0x3, 0x10, 0x3, 0xF, 0xF, 0x10, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x1B, 0xCA, 0x5D, 0x5D, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x58, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x1E, + 0x28, 0xB2, 0x37, 0xD, 0x0, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x31, 0xFD, 0xFD, 0xFD, 0x41, 0xFD, 0xFD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF0, 0xF0, 0xF0, 0xEE, 0xE9, 0xE9, 0xBD, 0x4E, 0x9, + 0x2, 0x2, 0x15, 0x17, 0x17, 0x15, 0x15, 0x6, 0x9, 0x39, 0x97, 0x99, 0xF2, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xAA, + 0x3F, 0x33, 0x2C, 0x4, 0x4, 0x0, 0x0, 0x25, 0x20, 0x4, 0x4, 0x4, 0x10, 0xF, 0xF, 0x1, + 0x1, 0x1, 0x0, 0x1, 0x1B, 0x44, 0x46, 0x4F, 0x55, 0x5C, 0x57, 0x57, 0x56, 0x47, 0x47, 0x53, + 0x50, 0x19, 0x10, 0x10, 0xF, 0x10, 0x10, 0x10, 0x10, 0xF, 0x10, 0x10, 0x10, 0x10, 0x10, 0xF, + 0x0, 0x0, 0x0, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x53, 0xBF, 0xC9, 0xC9, 0xBF, + 0x1D, 0x46, 0x36, 0x1D, 0x1D, 0x1D, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, + 0x1B, 0x34, 0x55, 0xC0, 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x1E, + 0x28, 0xD5, 0xA7, 0x4, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x33, 0xE, + 0xFD, 0xF9, 0x3A, 0xE, 0x33, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF5, 0xAA, 0xFD, 0xBB, 0xE, 0xF0, 0xE9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xF7, 0xF0, 0xE9, 0xD8, 0xAC, 0x15, 0x15, + 0x14, 0x14, 0x17, 0x17, 0x17, 0x24, 0x4D, 0xBC, 0xEB, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, + 0x3F, 0x33, 0x2C, 0x7, 0x4, 0x0, 0x4, 0x25, 0x25, 0x4, 0x4, 0x1E, 0x1, 0x1, 0x1, 0x0, + 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x50, 0x5C, 0x51, 0x51, 0x56, 0x10, 0xF, 0xF, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xF, 0x10, 0xF, 0x10, 0x10, 0x10, 0x10, + 0x1, 0xF, 0xF, 0xF, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x12, 0xBF, 0xBF, 0xC9, 0xBF, + 0xAD, 0xBF, 0xBF, 0xBE, 0xBE, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xA4, 0xA6, 0x53, + 0xA4, 0x52, 0x2D, 0x3, 0x10, 0x10, 0x18, 0x1B, 0x19, 0x1B, 0x1D, 0x50, 0x5A, 0x5B, 0x5A, 0x5B, + 0x5A, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x4, + 0x28, 0xB5, 0x97, 0x4, 0x4, 0xED, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF7, + 0xFD, 0x94, 0xE, 0xE, 0xE, 0x3A, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xB4, 0xE, 0x31, 0xB6, 0xE, 0xE, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xC6, 0xAC, 0xF2, 0xFD, 0xFD, 0xF7, 0xEA, 0xBD, 0xBD, 0x4D, 0x15, 0x15, + 0x14, 0x2, 0x15, 0x17, 0x15, 0x27, 0xEF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xA8, + 0x3C, 0x32, 0x2C, 0xB, 0x4, 0x0, 0x4, 0x25, 0x25, 0x4, 0x4, 0x1E, 0x0, 0x0, 0x0, 0x0, + 0x2B, 0x7, 0x2B, 0x0, 0x0, 0x0, 0x1, 0x1, 0x4F, 0x5C, 0x57, 0x51, 0x51, 0x1, 0x1, 0x1, + 0x1, 0x3, 0x3, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xF, 0x1, + 0x11, 0x19, 0x11, 0x11, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x52, 0xAD, 0xBF, 0xBF, + 0x1C, 0x3, 0x3, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, + 0x1, 0x1, 0xF, 0xF, 0x10, 0x10, 0x10, 0x3, 0x2E, 0x10, 0x10, 0x19, 0x19, 0x59, 0x5A, 0x5A, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x1E, + 0x28, 0xB5, 0x37, 0xD, 0x4, 0x37, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF0, + 0xE9, 0xE, 0xE, 0xB7, 0xF7, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF7, 0xF5, 0xF5, 0xA9, 0x6, 0x2, 0x9, 0x40, 0xEB, 0xF2, 0xE9, 0xBD, 0xBD, 0xA5, 0x16, 0x15, + 0x17, 0x15, 0x15, 0x17, 0x15, 0x2, 0x27, 0xC6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xBD, 0xA8, + 0x3A, 0x32, 0xE, 0x6, 0x4, 0x0, 0x4, 0x30, 0x30, 0x4, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, + 0x4, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0x43, 0x5C, 0x51, 0x51, 0x51, 0x1, 0x0, 0x0, + 0x0, 0x1, 0x0, 0x0, 0x0, 0x7, 0x2B, 0x7, 0x2B, 0x7, 0x4B, 0x9, 0x0, 0x0, 0x1, 0x1, + 0x18, 0x10, 0x10, 0x10, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1A, 0xBF, 0xBF, 0xBF, + 0x1B, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, + 0x0, 0x0, 0x7, 0x27, 0x1, 0x1, 0x1, 0x1, 0x96, 0x12, 0x11, 0x11, 0x19, 0x19, 0x34, 0x36, + 0x36, 0x43, 0x46, 0x46, 0x46, 0x5A, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0x28, 0xD5, 0x6E, 0xB, 0x4, 0x37, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3F, 0xE, + 0xE, 0xE, 0x3A, 0xFD, 0xF0, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0xB4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xEA, 0xE9, 0xD8, 0x25, 0x14, 0x2, 0x2, 0x2, 0x9, 0x4E, 0xC6, 0xD8, 0xBD, 0xB7, 0xA5, 0x35, + 0x15, 0x14, 0x17, 0x17, 0x15, 0x14, 0x2, 0x6, 0x4E, 0xF2, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, + 0x3A, 0x33, 0xD, 0x4, 0x4, 0x0, 0x0, 0x32, 0x29, 0x4, 0x4, 0x1E, 0x8, 0x7, 0x7, 0x1, + 0x1, 0x0, 0xFE, 0xFE, 0xFE, 0x0, 0x1, 0x1, 0x43, 0xC0, 0x51, 0x57, 0x51, 0x1A, 0x10, 0x3, + 0x10, 0x10, 0x10, 0x10, 0x3, 0x3, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3, + 0x10, 0x10, 0x10, 0x10, 0x12, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x36, 0xBF, 0xBF, + 0x1A, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x9, 0x16, 0x7, 0xD, + 0x0, 0x0, 0x7, 0x2B, 0x0, 0x0, 0x0, 0x0, 0x2B, 0x9, 0x3, 0x10, 0x19, 0x19, 0xBF, 0xBF, + 0xBF, 0xC0, 0xC0, 0xC0, 0x5A, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x4, + 0x28, 0xB2, 0x6B, 0x20, 0x4, 0x30, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0x3A, + 0xE, 0x33, 0xF5, 0xFD, 0xE, 0x38, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE, 0xB4, 0x41, 0xFD, 0xFD, 0xAA, 0x38, 0xEE, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, + 0xD8, 0xBD, 0xB6, 0x16, 0x2, 0x15, 0x17, 0x15, 0x2, 0x2, 0x16, 0x39, 0x35, 0x2E, 0x2, 0x2, + 0x14, 0x2, 0x14, 0x17, 0x17, 0x15, 0x15, 0x14, 0x2, 0x39, 0xEF, 0xF2, 0xF2, 0xF6, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, + 0x3A, 0x32, 0xB, 0x4, 0x4, 0x4, 0x2, 0x25, 0x29, 0x1F, 0x4, 0x6, 0x52, 0x52, 0xA6, 0x46, + 0x52, 0x36, 0x0, 0x0, 0xFE, 0x3, 0x46, 0x4F, 0x50, 0xCA, 0x57, 0x57, 0x56, 0x46, 0x46, 0x1D, + 0x43, 0x46, 0x43, 0x43, 0x43, 0x43, 0x1A, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x3, 0x10, + 0x10, 0x10, 0x10, 0x1B, 0x1B, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x46, 0x4F, + 0x18, 0x3, 0x10, 0x10, 0x10, 0x3, 0x3, 0x3, 0x3, 0x1, 0x1, 0x3, 0x3, 0x1, 0x1, 0x7, + 0x1, 0x0, 0x0, 0x7, 0x1, 0x1, 0x1, 0x1, 0x7, 0x1, 0x1, 0x1, 0x12, 0x19, 0x4F, 0x59, + 0x5A, 0x58, 0x5B, 0x58, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0x29, 0x9D, 0x37, 0x25, 0x6, 0xA7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xE9, 0xA3, 0xFD, 0xFD, 0xD8, 0x2C, 0xFD, 0xFD, 0xFD, 0xF8, 0xEA, + 0xBD, 0xBD, 0xAC, 0x16, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x14, 0x2, 0x0, 0x0, 0x2, 0x2, + 0x2, 0x2, 0x14, 0x15, 0x15, 0x15, 0x15, 0x17, 0x15, 0x2, 0x15, 0x6, 0x9, 0x16, 0xC6, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB7, 0xA3, + 0x3A, 0x2E, 0x5, 0x0, 0x4, 0x4, 0x0, 0xD, 0x20, 0x1F, 0x6, 0x4, 0xBF, 0xAB, 0xC4, 0x52, + 0x55, 0x55, 0x34, 0xF, 0x10, 0x10, 0x10, 0x10, 0x1B, 0xCC, 0x5A, 0x57, 0x57, 0x1B, 0x10, 0x11, + 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x10, 0xF, 0x1, 0x1, 0x1, 0x4F, 0x53, + 0x53, 0x52, 0x52, 0x53, 0x1B, 0x3, 0x1, 0x1, 0x1, 0x10, 0x1A, 0x13, 0x18, 0x13, 0x18, 0x18, + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x13, 0x13, 0x1A, 0x8, 0x8, 0x3, 0x8, 0x8, + 0x3, 0x3, 0x3, 0x3, 0x3, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x8, 0x12, 0x12, 0x18, + 0x1A, 0x46, 0x50, 0x50, 0x56, 0x57, 0x58, 0x57, 0x56, 0x4F, 0x4F, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0x29, 0xD5, 0x71, 0xB, 0xFE, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0x2C, 0xFD, 0xFD, 0xB6, 0xA8, 0xFD, 0xEE, 0xE, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAC, 0x6, 0x14, 0x14, 0x2, 0x2, 0x2, 0x15, 0x24, 0x15, 0x15, 0x14, 0x2, 0x2, + 0x2, 0x2, 0x14, 0x15, 0x15, 0x17, 0x15, 0x17, 0x14, 0x2, 0x2, 0x15, 0x14, 0x2, 0x3C, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB6, 0xA3, + 0x33, 0x2C, 0x5, 0x4, 0x6, 0x4, 0xFE, 0x4, 0xB, 0x6, 0x4, 0x4, 0x54, 0x54, 0xAD, 0x54, + 0xC9, 0xC9, 0x4F, 0x46, 0x49, 0x53, 0x53, 0x53, 0x53, 0xCE, 0x5A, 0x57, 0x57, 0x50, 0x49, 0x47, + 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x3, 0x0, 0x0, 0x53, 0xC9, + 0xC9, 0xC9, 0xC9, 0x5C, 0x1B, 0x1, 0x1, 0x0, 0x0, 0x1, 0x36, 0x49, 0x49, 0x49, 0x49, 0x49, + 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0xAD, 0x55, 0xAD, 0x55, 0xBF, 0xBF, + 0xAD, 0xAD, 0xAB, 0x55, 0xAD, 0xAD, 0xAD, 0x55, 0x53, 0x53, 0x53, 0x52, 0x3D, 0x34, 0x12, 0x48, + 0x46, 0x46, 0x36, 0x1D, 0x1B, 0x1B, 0x1B, 0x1A, 0x1A, 0x1B, 0x1D, 0x50, 0x5B, 0x5B, 0x5D, 0x5, + 0x29, 0xD6, 0x39, 0x1F, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0xE, 0xE, 0x2C, 0x41, 0xB6, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xE, 0x2C, 0xBD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, + 0xBD, 0xBD, 0xAC, 0x16, 0x15, 0x14, 0x9, 0x6, 0x6, 0x15, 0x14, 0x2, 0x2, 0x2, 0x14, 0x2, + 0x2, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, 0x2, 0x15, 0x15, 0x15, 0x15, 0x16, 0xF2, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, 0x94, + 0x38, 0x31, 0xE, 0x5, 0x4, 0x4, 0xFE, 0xB, 0x20, 0x5, 0x4, 0x4, 0x0, 0xFE, 0x0, 0x0, + 0x1A, 0x55, 0x55, 0x55, 0xCE, 0xC2, 0xCE, 0xC2, 0xC2, 0xC9, 0x5C, 0x5A, 0x57, 0xC0, 0xC2, 0xC2, + 0xC1, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xCE, 0xAB, 0x1, 0x0, 0x12, 0xBF, + 0xC9, 0xCD, 0xCE, 0xC9, 0x1B, 0x1, 0x0, 0x0, 0x0, 0x1, 0x8, 0xAB, 0xC1, 0xC1, 0xC2, 0xC2, + 0xC1, 0xC1, 0xC1, 0xC2, 0xC2, 0xC2, 0xEC, 0xEC, 0xC2, 0xEA, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xC9, + 0xCD, 0xCD, 0xBF, 0xC9, 0xBF, 0xBF, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0xCE, 0xCF, 0xF3, 0xCF, 0xBE, + 0xBE, 0xBE, 0xBE, 0xBE, 0xAB, 0xAB, 0x53, 0x53, 0x47, 0x47, 0x49, 0x53, 0x5B, 0x5B, 0x5D, 0xB, + 0x25, 0xD7, 0x71, 0x1F, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xB6, + 0x41, 0x2C, 0xE, 0xE, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xEA, + 0xD8, 0xE9, 0xBC, 0x27, 0x16, 0x4E, 0xAC, 0xA9, 0x16, 0x14, 0x2, 0x2, 0x14, 0x15, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x14, 0x15, 0x15, 0x17, 0x26, 0x26, 0x26, 0x99, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, 0x94, + 0x33, 0x31, 0xE, 0xB, 0x4, 0x0, 0x20, 0xA7, 0x37, 0x5, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x3, 0x55, 0xBF, 0xBF, 0xC2, 0xCD, 0xBF, 0xBF, 0x5C, 0x5C, 0x5A, 0x5A, 0x5C, 0xC9, 0x55, + 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xAD, 0xBF, 0x55, 0x12, 0x1, 0x0, 0x1, 0x1A, + 0xAD, 0x55, 0x55, 0xBF, 0x1B, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x12, 0x1B, 0x1B, 0x1B, 0x59, + 0xAD, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xBF, 0xC9, 0xCD, 0xBF, 0xCD, 0xC9, 0xCD, 0xCD, 0xCE, 0xCD, + 0xCD, 0xCD, 0xBF, 0xBF, 0xBF, 0xC9, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0xCD, 0xCF, 0xD0, 0xD0, 0xC2, + 0xC2, 0xC2, 0xCE, 0xCE, 0xC2, 0xCE, 0xCE, 0xC9, 0xBE, 0xBE, 0xBE, 0xC0, 0x5B, 0x5B, 0x5D, 0xC, + 0x1F, 0x9D, 0x96, 0x0, 0x4, 0xF2, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xE, 0xBB, 0x41, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, + 0xF0, 0xF0, 0xF5, 0xEB, 0xC6, 0xD8, 0xBD, 0xBD, 0xB6, 0x27, 0x14, 0x14, 0x14, 0x15, 0x15, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x2, 0x14, 0x24, 0x15, 0x15, 0x17, 0x26, 0x24, 0x26, 0x26, 0x26, 0x4E, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB6, 0x94, + 0x38, 0x31, 0x2C, 0x5, 0x4, 0x0, 0x30, 0xB0, 0x37, 0x4, 0x0, 0x4, 0x1A, 0x12, 0x12, 0x3, + 0x1, 0x1, 0x3, 0x1A, 0x4C, 0xC9, 0xCA, 0xCA, 0xC9, 0x5C, 0xC0, 0x5A, 0x5C, 0x5C, 0x5C, 0x55, + 0xBF, 0xBF, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x55, 0xBF, 0x5C, 0x43, 0x1, 0x0, 0x1, 0x3, + 0x12, 0x55, 0xC9, 0xC9, 0x1D, 0x18, 0x18, 0x18, 0x12, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x5A, + 0x36, 0x3D, 0x4C, 0x4C, 0x4F, 0x52, 0x52, 0x52, 0xA6, 0x54, 0xC9, 0xCD, 0xCD, 0xCD, 0xC9, 0xCD, + 0xCE, 0xCE, 0xBF, 0xC9, 0xC6, 0x9B, 0x9B, 0xB2, 0xAC, 0xC9, 0xCD, 0xCD, 0xCF, 0xD0, 0xD0, 0x5C, + 0x5B, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5A, 0xC0, 0x5B, 0x5D, 0x5B, 0x5D, 0xC, + 0x25, 0x9D, 0x6B, 0x4, 0x25, 0x97, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF8, 0xF9, 0xFD, 0xFD, 0xF7, 0xF0, 0xE9, 0xE9, 0xE9, 0xBD, 0xA5, 0x4D, 0x97, 0xAC, 0x4E, 0x2E, + 0x9, 0x14, 0x14, 0x14, 0x2, 0x15, 0x15, 0x15, 0x15, 0x24, 0x26, 0x24, 0x26, 0x26, 0x17, 0x4E, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0xA3, + 0x38, 0x31, 0xE, 0x4, 0x6, 0x0, 0x30, 0x72, 0x25, 0x0, 0x0, 0x4, 0xCE, 0xC9, 0xCE, 0xCD, + 0x36, 0x1, 0x1, 0x12, 0x18, 0xBF, 0xC9, 0xC9, 0xC9, 0x5C, 0xC9, 0x5C, 0x5C, 0x5C, 0xC9, 0xAD, + 0xBF, 0xC9, 0xBF, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0xAD, 0xBF, 0xBF, 0xBF, 0x12, 0x0, 0x3, 0x1B, + 0x1, 0x8, 0x55, 0xC9, 0x1D, 0x18, 0x18, 0x18, 0x12, 0x12, 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x5A, + 0x1A, 0x1A, 0x2D, 0x1A, 0x2F, 0x34, 0x34, 0x34, 0x34, 0x4C, 0xC9, 0xCD, 0xC9, 0xC9, 0xC9, 0xC9, + 0xCD, 0xCE, 0xBF, 0xC9, 0xB4, 0x39, 0x39, 0x39, 0x48, 0xBF, 0xBF, 0xC9, 0xCF, 0xD0, 0xCC, 0x5B, + 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0xC, + 0x37, 0xE6, 0x9B, 0x25, 0x29, 0x4, 0xED, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF5, 0xF5, 0xF7, 0xF5, 0xF0, 0xE9, 0xD8, 0xBD, 0xB8, + 0xAC, 0x39, 0x15, 0x14, 0x14, 0x15, 0x15, 0x15, 0x17, 0x26, 0x26, 0x26, 0x26, 0x26, 0x17, 0x99, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB7, 0xA3, + 0x38, 0x32, 0xE, 0x4, 0x4, 0x0, 0x37, 0x6C, 0x20, 0x4, 0x4, 0x4, 0xBF, 0xBF, 0xBF, 0xBF, + 0x55, 0x3, 0x18, 0xC9, 0xCC, 0x5A, 0xC9, 0xC9, 0xC9, 0x5C, 0xC9, 0x5C, 0x5A, 0x5C, 0x5C, 0xBF, + 0xBF, 0xC8, 0xC3, 0xC4, 0xC7, 0xAD, 0xE1, 0x9D, 0xAD, 0xBF, 0xAD, 0xBF, 0x4F, 0x1, 0x1, 0xBF, + 0x1A, 0x0, 0x8, 0xAD, 0x36, 0x1A, 0x1A, 0x1B, 0x1A, 0x1A, 0x34, 0x3C, 0x2F, 0x3A, 0x1D, 0x5A, + 0x4C, 0xC9, 0xC9, 0xC9, 0xC9, 0xCD, 0xCE, 0xCD, 0xCD, 0xC9, 0xCD, 0xCD, 0xC9, 0xC9, 0xC9, 0xC9, + 0xC9, 0xCD, 0xBF, 0xC9, 0xC9, 0xC9, 0xCD, 0xC9, 0xC9, 0xC9, 0xC9, 0xCE, 0xCF, 0xD0, 0xBF, 0x53, + 0x56, 0x59, 0x5A, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0xC, + 0x4, 0x6D, 0x25, 0x1F, 0x30, 0x0, 0xB5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xFD, + 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xF0, 0xE9, 0xD8, + 0xBD, 0xB8, 0xAC, 0x35, 0x16, 0x14, 0x15, 0x17, 0x26, 0x26, 0x26, 0x26, 0x17, 0x26, 0x24, 0xEF, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, + 0x3A, 0x31, 0xE, 0x0, 0x4, 0x4, 0x39, 0x71, 0x29, 0x4, 0x0, 0x4, 0x55, 0xBF, 0xBF, 0x5C, + 0x5C, 0x1B, 0x1A, 0x53, 0xCE, 0x5A, 0xC9, 0xBF, 0xBF, 0xBF, 0xCE, 0x5C, 0x5A, 0x5C, 0xAD, 0xAD, + 0xBF, 0xAD, 0x55, 0xAD, 0xC3, 0x55, 0xC6, 0xC5, 0xAD, 0x55, 0xBF, 0xBF, 0xBF, 0xA, 0x1, 0x55, + 0xBF, 0x34, 0x1, 0xA, 0x55, 0xBF, 0xBF, 0xBF, 0xBF, 0xCD, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0x5A, + 0x52, 0xC9, 0xC9, 0xC9, 0xC9, 0xCD, 0xCD, 0xCD, 0xCD, 0xC9, 0xCE, 0xCE, 0xCD, 0xCD, 0xC9, 0xC9, + 0xC9, 0xCD, 0xBF, 0xC9, 0xE9, 0xC6, 0xB8, 0xC4, 0xC9, 0xC9, 0xC9, 0xCD, 0xCF, 0xD0, 0xAD, 0x52, + 0x53, 0x53, 0x55, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5, + 0x4, 0x0, 0xB, 0x6, 0x25, 0x4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0x2C, + 0x41, 0xBD, 0xF9, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xF0, + 0xE9, 0xD8, 0xBD, 0xB7, 0xAA, 0x35, 0x16, 0x17, 0x17, 0x17, 0x15, 0x17, 0x17, 0x17, 0x4D, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, + 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA8, + 0x3A, 0x33, 0xE, 0x0, 0x4, 0x4, 0x30, 0x39, 0x25, 0x6, 0x4, 0x4, 0x36, 0x36, 0x36, 0x46, + 0x46, 0x46, 0x53, 0xC9, 0xCE, 0x5A, 0x5C, 0xBF, 0xC9, 0xBF, 0xCE, 0x5A, 0x5A, 0x5C, 0x5C, 0xBF, + 0xC9, 0xC9, 0xC9, 0xC4, 0xAC, 0x54, 0xC3, 0xC3, 0xAD, 0x53, 0xBF, 0xBF, 0xBF, 0x34, 0x1, 0x52, + 0xC9, 0xBF, 0x36, 0x1, 0xA, 0x55, 0xBF, 0xBF, 0xBF, 0xC9, 0xAD, 0xBF, 0xBF, 0xBF, 0xBF, 0x59, + 0x52, 0xC9, 0xC9, 0xC9, 0xBF, 0xC9, 0xC9, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xC9, 0xBF, 0xAD, + 0xAD, 0xAD, 0xAD, 0xBF, 0x6B, 0x77, 0x65, 0x65, 0xBF, 0xC9, 0xCE, 0xCF, 0xF3, 0xF3, 0xCA, 0x5D, + 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x23, + 0x5, 0x25, 0x25, 0xB, 0x4, 0x39, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0xE, 0xE, 0xE, 0x38, 0xB4, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF7, 0xF0, 0xE9, 0xD8, 0xBD, 0xB8, 0xAC, 0x39, 0x24, 0x15, 0x17, 0x17, 0x17, 0x27, 0xF6, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xD8, 0xA3, + 0xE, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xAA, + 0x3A, 0x33, 0xE, 0x4, 0x4, 0x0, 0x20, 0x37, 0x1F, 0x1F, 0x4, 0x4, 0x52, 0x53, 0x54, 0x55, + 0x55, 0xAD, 0xAB, 0x4F, 0xC9, 0xC0, 0x55, 0xBF, 0xBF, 0xBF, 0xCE, 0x5C, 0x5A, 0x5C, 0x5C, 0xBF, + 0xBF, 0xBF, 0xBF, 0xC9, 0xC4, 0xAD, 0xC9, 0xAD, 0xBF, 0x54, 0xBF, 0xBF, 0xBF, 0x4F, 0x3, 0x46, + 0xBF, 0xC9, 0xBF, 0x36, 0x1, 0x3, 0x53, 0x55, 0x55, 0xBF, 0xAD, 0xBF, 0xBF, 0xBF, 0xBF, 0x59, + 0x4F, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xBF, 0xAD, 0xAD, 0xAD, 0x55, 0x55, 0xAD, 0xAD, 0xBF, 0xBF, + 0xBF, 0xC9, 0xBF, 0xBF, 0xAD, 0xAD, 0x55, 0xAD, 0xBF, 0xC9, 0xCB, 0xD0, 0xF3, 0xF3, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5, + 0x30, 0x97, 0x25, 0x20, 0x4, 0xB5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, + 0xBD, 0x41, 0xE, 0xE, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xEF, 0xEF, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF7, 0xE9, 0xB6, 0xB8, 0xBD, 0x97, 0x27, 0x15, 0x24, 0x27, 0x4D, 0xF2, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0xB4, 0xF7, 0xD8, 0x33, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, + 0x3C, 0x33, 0x2C, 0x5, 0x4, 0x0, 0x20, 0x39, 0x1F, 0x1F, 0x4, 0x4, 0x53, 0x53, 0x53, 0x53, + 0x53, 0x53, 0xBE, 0xC2, 0xC9, 0x5C, 0xBF, 0xBF, 0xAD, 0xBF, 0xCE, 0x5A, 0x5A, 0x5A, 0xBF, 0xAD, + 0xAD, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xAD, 0x55, 0x55, 0x55, 0x55, 0x36, 0x1, 0x34, + 0xCD, 0xBF, 0xBF, 0xC9, 0x52, 0x1, 0x3, 0x52, 0x55, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xC9, 0x59, + 0x52, 0xC9, 0xC9, 0xCD, 0xCD, 0xCD, 0xCD, 0xBF, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xBF, 0xC9, + 0xC9, 0xC9, 0xC0, 0xC9, 0xC9, 0xBF, 0xC0, 0xC9, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, 0x5B, 0x5D, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5A, 0x5A, 0x5A, 0x5A, 0x5B, 0x5B, 0x5, + 0x37, 0xB5, 0x29, 0x20, 0x6, 0x37, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE9, 0xA8, 0x31, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB5, 0x6, 0x16, 0x35, 0x99, 0xEF, 0xF9, 0xF2, 0xF2, 0xF2, 0xEB, + 0xB6, 0x97, 0xAC, 0x35, 0x6, 0x16, 0x39, 0x2, 0x2, 0x2, 0x2, 0x6, 0x16, 0x99, 0xF6, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, + 0xF9, 0xFD, 0xFD, 0xF8, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, + 0x3C, 0x33, 0x2C, 0xD, 0x0, 0x0, 0x20, 0x39, 0x1F, 0x20, 0x4, 0x4, 0xBF, 0xC9, 0xC9, 0xC9, + 0xBF, 0xC9, 0xBF, 0xBF, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xCE, 0x5C, 0x5C, 0x5A, 0x55, 0x46, + 0x4F, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x4F, 0x52, 0x52, 0x52, 0x52, 0x52, 0x12, 0x12, + 0xCD, 0xBF, 0xC9, 0xC9, 0xC9, 0x53, 0x3, 0x1A, 0x2F, 0x52, 0xAB, 0xBF, 0xBF, 0xBF, 0xC9, 0x55, + 0x52, 0xC9, 0xCD, 0xCD, 0xCD, 0xCD, 0xCB, 0xCD, 0xCF, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5A, 0x5B, 0x5A, 0x5B, 0x5B, 0x5D, 0xD, + 0x37, 0xD5, 0x6B, 0x20, 0x37, 0xFE, 0xEF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB5, 0x15, 0x15, 0x6, 0x16, 0xAC, 0xAC, 0x24, 0x6, 0x16, 0x9, + 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x2, 0x14, 0x17, 0x26, 0x17, 0x2, 0x2, 0x2, 0x99, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x3A, 0xEE, 0xFD, 0xE9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xAA, + 0x3C, 0x2E, 0x2C, 0x20, 0x0, 0x4, 0x20, 0x37, 0x20, 0x20, 0x4, 0x4, 0xD0, 0xC9, 0x36, 0x1A, + 0xA, 0x3, 0x1, 0x1, 0x3, 0x3, 0x3, 0x3, 0x3, 0x1A, 0xC9, 0x5A, 0x5C, 0x5A, 0x36, 0x34, + 0x34, 0x4F, 0x53, 0x59, 0x53, 0x53, 0x53, 0x53, 0x53, 0x52, 0x52, 0x52, 0x52, 0x52, 0x46, 0x3, + 0xCD, 0xBF, 0xC9, 0xC9, 0xCD, 0xC9, 0x34, 0x43, 0x52, 0xAD, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0x55, + 0x52, 0xC9, 0xCB, 0xCB, 0xCB, 0xCB, 0xCD, 0xCD, 0xCF, 0xCA, 0xCA, 0xCA, 0xCC, 0xCC, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5D, 0x5D, 0x5D, + 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x6, + 0x25, 0xD5, 0x71, 0xB, 0x30, 0xFE, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEF, 0x39, 0x27, 0x4D, 0x35, 0x16, 0x2, 0x14, 0x24, 0x24, 0x6, + 0x15, 0x14, 0x14, 0x15, 0x2, 0x2, 0x14, 0x15, 0x15, 0x17, 0x14, 0x2, 0x14, 0x15, 0x27, 0xF6, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xB6, 0x31, 0xE, 0x2C, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xA8, + 0x3C, 0x2E, 0xE, 0x20, 0x0, 0x0, 0xB, 0x37, 0x20, 0xB, 0x4, 0x0, 0xD0, 0x4C, 0x1A, 0x12, + 0xA, 0x8, 0x1A, 0xA, 0x12, 0x12, 0x1A, 0x8, 0x8, 0x1A, 0xBF, 0xC0, 0x5C, 0x5A, 0x36, 0x2F, + 0x2D, 0x2D, 0x2F, 0x36, 0x52, 0x55, 0x59, 0x59, 0x53, 0x53, 0x52, 0x52, 0x53, 0x54, 0x54, 0x1A, + 0xAD, 0xBF, 0xBF, 0xAD, 0xBF, 0xAD, 0x36, 0x4F, 0x55, 0xBF, 0xAD, 0xBF, 0xC4, 0x9D, 0xAD, 0x5A, + 0x52, 0xC9, 0xCD, 0xCB, 0xCB, 0xCF, 0xCB, 0xCD, 0xCE, 0xCA, 0xCA, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, + 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x2, + 0x1F, 0xE6, 0x97, 0xB, 0x4, 0x6E, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF8, 0xF7, 0xF5, 0x99, 0x16, 0x6, 0x6, 0x0, 0x2, 0x2, 0x15, 0x15, 0x17, 0x26, + 0x2A, 0x24, 0x17, 0x15, 0x15, 0x17, 0x24, 0x15, 0x15, 0x15, 0x17, 0x15, 0x15, 0x26, 0x15, 0xB5, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA8, + 0x3A, 0x32, 0x2C, 0x25, 0x0, 0x0, 0x5, 0x37, 0x20, 0xB, 0x4, 0x0, 0x36, 0x1A, 0x12, 0xA, + 0x12, 0x12, 0x8, 0xA, 0x12, 0x2D, 0x12, 0xA, 0x8, 0x2C, 0x55, 0xC9, 0xC0, 0x5C, 0x4C, 0x34, + 0x33, 0x38, 0x38, 0x3B, 0x48, 0x48, 0xA6, 0xAD, 0x55, 0x55, 0x55, 0x55, 0x53, 0x53, 0x53, 0x48, + 0x55, 0xCE, 0xCD, 0xCD, 0xCD, 0xCD, 0x54, 0x55, 0xBF, 0xC9, 0xBF, 0xBF, 0xBF, 0xA1, 0xC3, 0x55, + 0x2D, 0x2F, 0x36, 0x3D, 0x3D, 0x3D, 0x48, 0x3D, 0x3D, 0x46, 0x4F, 0x52, 0x52, 0x53, 0x53, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5A, 0x5B, 0x5B, 0x2, + 0x4, 0xDB, 0x39, 0xB, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xF5, 0xEE, 0xE9, 0xB8, 0x24, 0x15, 0x17, 0x26, 0x24, 0x17, 0x17, 0x15, 0x15, 0x15, 0x24, + 0x26, 0x26, 0x17, 0x15, 0x24, 0x24, 0x15, 0x14, 0x15, 0x17, 0x26, 0x26, 0x14, 0x15, 0x17, 0x24, + 0xE, 0x2C, 0x2C, 0xE, 0x94, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0x3A, 0xA3, 0xB6, 0xE9, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xBD, 0xA5, + 0x3A, 0x31, 0x25, 0x5, 0x4, 0x0, 0xD, 0x37, 0x20, 0x5, 0x4, 0x4, 0x1A, 0x1A, 0xA, 0x8, + 0x8, 0x3, 0x8, 0x3, 0x3, 0x3, 0xA, 0x2C, 0x12, 0x2D, 0x55, 0xC9, 0x5C, 0x5C, 0x52, 0x3B, + 0x3C, 0x33, 0x38, 0x3D, 0xA3, 0xA3, 0xA4, 0xAD, 0xAD, 0xBF, 0xBF, 0xAD, 0x55, 0x59, 0x55, 0x55, + 0x53, 0xC9, 0xCE, 0xCE, 0xCE, 0xCD, 0x54, 0xBF, 0xBF, 0xCF, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xAD, + 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xAB, 0xBF, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0x1F, 0xE2, 0x6E, 0xB, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0xE, 0xE, 0x2C, 0x41, 0xB6, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xEA, 0xD8, 0xBD, 0x3A, 0x15, 0x26, 0x26, 0x26, 0x26, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x26, 0x26, 0x17, 0x15, 0x24, 0x15, 0x15, 0x14, 0x15, 0x26, 0x26, 0x26, 0x15, 0x2, 0x15, 0x25, + 0x2C, 0x3A, 0xAA, 0x3A, 0x0, 0x94, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, + 0xE9, 0xB6, 0x3C, 0xE, 0x3A, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, + 0x3A, 0x30, 0xD, 0x0, 0x0, 0x0, 0xD, 0x39, 0x30, 0x1F, 0x0, 0x4, 0x2F, 0x1A, 0x12, 0x12, + 0x8, 0x8, 0x3, 0x3, 0xE, 0x2C, 0x33, 0x3C, 0x2F, 0x2F, 0x53, 0xCE, 0x5C, 0x5C, 0x52, 0x3A, + 0x2F, 0x3A, 0x48, 0xA6, 0xAD, 0xAD, 0xAD, 0xC4, 0xBF, 0xC9, 0xBF, 0xC4, 0xC4, 0xBF, 0xAD, 0xBF, + 0x59, 0x55, 0xCF, 0xCF, 0xCF, 0xCF, 0x54, 0xBF, 0xBF, 0xC9, 0xCF, 0xCD, 0xCD, 0xCD, 0xCF, 0xCE, + 0xBF, 0xC9, 0xCD, 0xCD, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5A, 0x5B, 0x5D, 0x6, + 0x6, 0xD7, 0x6E, 0x1F, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xB6, + 0x41, 0x2C, 0xE, 0xE, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF5, 0xE9, 0xBD, 0xBD, 0x2E, 0x2, 0x24, 0x26, 0x26, 0x26, 0x17, 0x17, 0x15, 0x14, 0x14, 0x15, + 0x15, 0x17, 0x17, 0x24, 0x24, 0x15, 0x15, 0x14, 0x15, 0x26, 0x26, 0x15, 0x6, 0x0, 0xD, 0x2E, + 0x2C, 0x2C, 0x2C, 0x41, 0xA8, 0x0, 0x94, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xBD, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB7, 0xA3, + 0x3A, 0x31, 0xB, 0x0, 0x0, 0x0, 0xD, 0x37, 0x37, 0x1F, 0x0, 0x4, 0x1B, 0x1B, 0x1B, 0x18, + 0x12, 0x12, 0x8, 0x3, 0x3, 0x3, 0x8, 0x1A, 0x1A, 0x2C, 0x4F, 0xCE, 0x5A, 0x5A, 0x53, 0x2F, + 0x1A, 0x2F, 0x34, 0x48, 0x52, 0xA6, 0xA6, 0xAB, 0xAD, 0xAD, 0xAD, 0xA6, 0xA6, 0xA6, 0xA6, 0xAD, + 0xAD, 0xBF, 0xAD, 0xC4, 0xC4, 0xAD, 0x4C, 0x55, 0xC9, 0x5A, 0xC4, 0xC4, 0xC4, 0xC4, 0xC4, 0xCD, + 0x5A, 0xC9, 0xCE, 0xCE, 0xD0, 0xD0, 0xCD, 0xC9, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x1F, 0xD7, 0x71, 0x6, 0x0, 0xED, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xE, 0xBB, 0x41, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF5, 0xE9, 0xD8, 0xBD, 0xA3, 0x2C, 0x32, 0x27, 0x24, 0x15, 0x15, 0x15, 0x15, 0x17, 0x17, 0x17, + 0x14, 0x15, 0x17, 0x26, 0x17, 0x14, 0x15, 0x14, 0x14, 0x17, 0x17, 0x26, 0x24, 0x2, 0xE, 0xE, + 0x2C, 0x2C, 0x2C, 0x2C, 0x31, 0x41, 0x31, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0xA3, + 0x3A, 0x32, 0xB, 0x0, 0x2, 0x0, 0xD, 0x37, 0x25, 0x6, 0x4, 0x4, 0x1B, 0x19, 0x19, 0x10, + 0x10, 0x10, 0x12, 0x12, 0x12, 0x12, 0x10, 0x10, 0xF, 0x10, 0x46, 0xCE, 0x5A, 0x5C, 0x53, 0x1A, + 0x18, 0x1A, 0x3B, 0x3B, 0x3B, 0x3D, 0xA5, 0x52, 0x48, 0x48, 0x52, 0xA4, 0x52, 0xA4, 0xA4, 0xA6, + 0xC4, 0xCD, 0xAD, 0xCD, 0xBF, 0xBF, 0x46, 0xBF, 0x4C, 0x5C, 0xC9, 0xC9, 0xC9, 0xC4, 0xC5, 0xC4, + 0x5A, 0xC9, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xD0, 0xD0, 0xCE, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0xCA, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5A, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0x1F, 0xD7, 0x71, 0x6, 0x0, 0xA7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF8, 0xF5, 0xF0, 0xF0, 0xE9, 0xD8, 0xBB, 0xB6, 0x35, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, + 0x2, 0x14, 0x17, 0x17, 0x17, 0x15, 0x15, 0x15, 0x14, 0x24, 0x26, 0x26, 0x17, 0x14, 0x16, 0x41, + 0xAA, 0xA8, 0xA8, 0xA3, 0x33, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0x41, 0xBB, 0xF7, 0xFD, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB6, 0x94, + 0x33, 0x2E, 0x6, 0x0, 0x2, 0x0, 0xD, 0x39, 0x29, 0x1F, 0x4, 0x4, 0x1C, 0x1A, 0x1D, 0x18, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x1A, 0x2F, 0x10, 0x11, 0x1D, 0xD0, 0x5C, 0x5C, 0x55, 0x11, + 0x19, 0x19, 0x18, 0x3D, 0x48, 0x3D, 0x48, 0xA6, 0x55, 0xBF, 0xC9, 0xBF, 0xC4, 0xBF, 0xBF, 0xBF, + 0xBF, 0xC1, 0xC4, 0xC9, 0xBF, 0x55, 0x53, 0xBF, 0x4F, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0xAD, 0xBF, + 0xBF, 0x52, 0x52, 0x52, 0x53, 0x50, 0x53, 0x53, 0x55, 0x55, 0x55, 0x55, 0x50, 0x53, 0x5A, 0x5C, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x58, 0x5B, 0x5D, 0x4, + 0x4, 0xB5, 0x6B, 0x1F, 0x4, 0x3E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x1, 0x7, + 0x7, 0x7, 0xE, 0x2C, 0x2C, 0x7, 0xE, 0x7, 0x0, 0x2C, 0x35, 0x16, 0x16, 0x16, 0x16, 0x15, + 0x2, 0x2, 0x2, 0x17, 0x17, 0x17, 0x15, 0x14, 0x2, 0x14, 0x15, 0x15, 0x15, 0x4D, 0x6F, 0x2C, + 0xE, 0xE, 0x2C, 0x31, 0xAA, 0x3A, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xBB, 0x41, 0x2C, 0x2C, 0x41, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, 0x41, + 0x38, 0x2C, 0x6, 0x0, 0x2, 0x2, 0x25, 0x39, 0x29, 0x1E, 0x4, 0x4, 0x36, 0x1A, 0x55, 0x12, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x2E, 0x1A, 0x10, 0x10, 0x1B, 0xCE, 0x5C, 0x5C, 0x59, 0x18, + 0x19, 0x19, 0x19, 0x19, 0x3D, 0x48, 0x54, 0x54, 0x55, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0x54, 0xAD, + 0x55, 0x55, 0x55, 0xAD, 0x54, 0x3D, 0x59, 0xAD, 0x36, 0xAD, 0x53, 0x1B, 0x1B, 0x1B, 0x1D, 0x1A, + 0x19, 0x19, 0x1B, 0x19, 0x1B, 0x1B, 0x34, 0x53, 0xBF, 0xC2, 0xC0, 0xAB, 0xBF, 0xBF, 0xBF, 0xBF, + 0x5D, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0x4, 0xB2, 0x39, 0x1F, 0x4, 0x3E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x7, 0x33, 0xAA, + 0x3C, 0x2C, 0x3A, 0x3C, 0x3A, 0x38, 0x41, 0x2C, 0xE, 0xE, 0xE, 0x31, 0x3F, 0xE, 0x9, 0x2, + 0x2, 0x0, 0x2, 0x17, 0x17, 0x17, 0x15, 0x2, 0x2, 0x6, 0x16, 0x16, 0x2E, 0x33, 0x33, 0x2C, + 0x2C, 0x2C, 0xE, 0x2C, 0x2C, 0xAA, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0xFD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xB4, 0x41, + 0x38, 0x25, 0x6, 0x0, 0x4, 0x4, 0x25, 0x39, 0x29, 0x1E, 0x4, 0x1E, 0x1C, 0x36, 0x59, 0x12, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x1A, 0x1A, 0x18, 0x18, 0x10, 0xCE, 0xC0, 0x5A, 0x5A, 0x10, + 0x18, 0x19, 0x19, 0x19, 0x18, 0x19, 0x19, 0x19, 0x19, 0x11, 0x11, 0x19, 0x1A, 0x18, 0x1A, 0x1C, + 0x19, 0x19, 0x19, 0x42, 0x1D, 0x1B, 0x59, 0x12, 0x1A, 0x55, 0x53, 0x1A, 0x1A, 0x1A, 0x53, 0x36, + 0x46, 0x1B, 0x1B, 0x1C, 0x1C, 0x1B, 0x42, 0x4F, 0x5C, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5A, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0xD, + 0x1F, 0x9B, 0x37, 0x6, 0x4, 0x6F, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x38, 0xA3, 0x38, + 0x3F, 0xA3, 0x38, 0x2C, 0x33, 0x33, 0x2C, 0x2C, 0x2C, 0x2C, 0xE, 0xE, 0x3F, 0xE, 0x2, 0x15, + 0x17, 0x15, 0x15, 0x17, 0x17, 0x15, 0x9, 0x2E, 0x3A, 0x2C, 0x31, 0x33, 0x31, 0x31, 0x31, 0x2C, + 0x33, 0x38, 0x31, 0xE, 0x2C, 0x41, 0x31, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xE9, 0xB6, 0xA3, 0x38, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, 0x3F, + 0x33, 0x25, 0x6, 0x4, 0x4, 0x0, 0x25, 0x6B, 0x29, 0x1E, 0x4, 0x1E, 0xC9, 0xC9, 0x55, 0xC9, + 0xCD, 0xC9, 0xCE, 0xD0, 0xC9, 0xC9, 0xCB, 0xCC, 0xCC, 0xCC, 0x53, 0xC9, 0xC9, 0x5A, 0x1C, 0x10, + 0x10, 0x18, 0x12, 0x10, 0x10, 0x12, 0x18, 0x18, 0x18, 0x18, 0x1B, 0x1A, 0x1A, 0x12, 0x12, 0x12, + 0x1A, 0x1B, 0x4F, 0x36, 0x36, 0x36, 0x53, 0x1B, 0xBF, 0x53, 0xBF, 0xAD, 0xBF, 0xBF, 0x55, 0xBF, + 0xC9, 0xBF, 0xBF, 0xBF, 0xBF, 0xC9, 0xAD, 0x52, 0x4F, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5D, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x6, + 0x6, 0x71, 0x29, 0x4, 0x4, 0xA9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xA3, + 0xE, 0xE, 0x33, 0xBD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0x2C, 0x2C, 0x3F, + 0x41, 0x33, 0x41, 0xAA, 0x2E, 0x16, 0x2C, 0x2C, 0xE, 0xE, 0xE, 0x38, 0x2C, 0x6, 0x14, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x14, 0x15, 0x4E, 0x3A, 0x31, 0x2C, 0x2C, 0xB6, 0x3A, 0x2C, 0x2C, 0x31, + 0x33, 0x33, 0x38, 0xE, 0x2C, 0x3A, 0x33, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, + 0x33, 0xB6, 0xE9, 0xF5, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xA8, 0x3C, + 0x32, 0x25, 0x4, 0x0, 0x6, 0x0, 0x25, 0x37, 0x29, 0x1E, 0x1E, 0x1F, 0xCE, 0xC9, 0x55, 0xC9, + 0xC9, 0xC9, 0xC9, 0xCE, 0xC9, 0xC9, 0xCB, 0xCB, 0xCB, 0xCE, 0xCB, 0xBF, 0xCA, 0x46, 0x43, 0x1B, + 0x10, 0x10, 0x18, 0x18, 0x18, 0x18, 0x1A, 0x55, 0xC9, 0xC9, 0xCA, 0xC9, 0xC9, 0xCE, 0xCE, 0xC9, + 0xC9, 0xC0, 0xC9, 0xC9, 0xC9, 0x46, 0x50, 0x1B, 0xCD, 0xAD, 0x5C, 0xC9, 0xC9, 0xCD, 0x55, 0xC9, + 0xCB, 0xC9, 0xC9, 0xC9, 0xCD, 0xD0, 0xF3, 0xF3, 0xCD, 0xBF, 0xBE, 0xBF, 0xBF, 0xBF, 0xC0, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5A, 0x5B, 0x5B, 0x58, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0x4, 0x37, 0x37, 0x1F, 0x4, 0xAF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x41, 0xE, + 0xE, 0xE, 0xE, 0xE, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xF5, 0xF5, 0xE, 0x2C, 0x33, 0x33, + 0xE, 0x3F, 0x3C, 0x25, 0x2, 0x2, 0x2, 0x9, 0x16, 0xE, 0x2C, 0x3F, 0x38, 0x9, 0x2, 0x14, + 0x15, 0x17, 0x17, 0x17, 0x15, 0x2, 0x16, 0x16, 0x2C, 0x2C, 0x2C, 0xB6, 0xE, 0xE, 0x2C, 0x2C, + 0x31, 0x33, 0x33, 0x2C, 0x33, 0xA3, 0x33, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xD8, + 0x33, 0x3A, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, 0x3A, + 0x2E, 0x25, 0x6, 0x0, 0x4, 0x0, 0x30, 0x67, 0x29, 0x1E, 0x1E, 0x1F, 0xC9, 0xC9, 0xA6, 0x9D, + 0x9F, 0x9F, 0xA1, 0xA1, 0xA2, 0xA1, 0xA2, 0xA1, 0xC4, 0xC9, 0xCB, 0xBF, 0xC9, 0x1A, 0x5A, 0x55, + 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1B, 0xC9, 0xCC, 0xCC, 0xCB, 0xCB, 0xC9, 0xCB, 0xCE, + 0xCE, 0xCE, 0xCD, 0xCB, 0xBF, 0x50, 0x55, 0x1B, 0xCD, 0xBF, 0x5C, 0xC9, 0xC9, 0xCD, 0x55, 0xC9, + 0xC9, 0xC9, 0xCD, 0xC9, 0xC9, 0xCF, 0xF3, 0xFA, 0xCD, 0x55, 0x55, 0x5C, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5D, 0x6, + 0x4, 0x3E, 0x37, 0x1F, 0x1E, 0xB2, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xAA, + 0xF9, 0xFD, 0xEA, 0x3F, 0xE, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, 0xE9, 0xE9, 0xE9, 0xE, 0x3A, 0x41, 0x41, + 0x2C, 0x2C, 0x2C, 0x16, 0x15, 0x15, 0x14, 0x2, 0x2, 0xD, 0x3C, 0x9, 0x2C, 0x3C, 0x2E, 0x6, + 0x2, 0x2, 0x15, 0x15, 0x15, 0x14, 0x2, 0x2, 0x16, 0x2C, 0x2C, 0xB4, 0x3A, 0x2C, 0x2C, 0x33, + 0x33, 0x31, 0x2C, 0x31, 0x33, 0x41, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xD8, 0x3A, 0x3A, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB7, 0x94, 0x38, + 0x2C, 0x20, 0xD, 0x0, 0x6, 0x0, 0x25, 0x37, 0x29, 0x1F, 0x1E, 0x1F, 0xC9, 0xCE, 0x52, 0x52, + 0x52, 0x52, 0x54, 0x52, 0x54, 0x54, 0x54, 0x55, 0xC9, 0xC9, 0xC9, 0xBF, 0x55, 0x43, 0x5B, 0x50, + 0x43, 0x19, 0x1B, 0x1B, 0x4D, 0x1B, 0x42, 0xAD, 0xCF, 0xD0, 0xD0, 0xD0, 0xD0, 0xC9, 0xCB, 0xCF, + 0xCB, 0xCF, 0xCE, 0xCE, 0x55, 0x59, 0xC9, 0x36, 0xBF, 0x55, 0xBF, 0xC9, 0xC4, 0xCD, 0x55, 0x55, + 0xAD, 0xBF, 0xC9, 0xC9, 0xCD, 0xF3, 0xFA, 0xFA, 0xD0, 0xCA, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0xCA, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x6, + 0x1F, 0x97, 0x37, 0x1F, 0x1E, 0xB2, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF5, 0xE9, 0xBD, 0xBD, 0xBD, 0xE, 0xA3, 0x33, 0xE, + 0x31, 0x3C, 0x2C, 0x2, 0x2, 0x14, 0x2, 0x2, 0x0, 0x2, 0x6, 0x9, 0x6, 0x9, 0x2, 0x0, + 0x0, 0x0, 0x2, 0x15, 0x15, 0x15, 0x17, 0x14, 0x2, 0x15, 0x2C, 0xE, 0x38, 0xA3, 0x3C, 0x31, + 0x2C, 0xE, 0x2C, 0x38, 0x33, 0x38, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE9, 0x3A, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB8, 0x94, 0x38, + 0x2C, 0x25, 0xD, 0x4, 0x6, 0x0, 0x4, 0x1F, 0x22, 0x1F, 0x1E, 0x1E, 0xBF, 0xCE, 0x54, 0x9D, + 0x9D, 0x9D, 0x9F, 0x9F, 0x9D, 0x9D, 0x9D, 0x9D, 0xC4, 0xCA, 0xC9, 0xBF, 0xAD, 0x50, 0x5A, 0x4F, + 0x1D, 0x1B, 0x1B, 0x1B, 0x36, 0x1B, 0xAD, 0xF3, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xCE, 0xCA, 0xC3, + 0xC9, 0xC9, 0xCB, 0xC9, 0x52, 0x5A, 0xC9, 0x4C, 0xC9, 0xBF, 0x5C, 0xCD, 0xC9, 0xCD, 0x53, 0x53, + 0xBF, 0xC9, 0xCB, 0xD0, 0xD0, 0xD0, 0xD0, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0xCA, 0x5D, 0xCA, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0xD, + 0x6, 0x25, 0xB, 0x6, 0x6, 0xAE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x33, 0x3C, + 0xF5, 0xFD, 0xFD, 0xFD, 0xEE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xEE, 0xBD, 0xBD, 0xBB, 0xBB, 0xE, 0x33, 0x38, 0x3A, + 0x33, 0x2C, 0x2C, 0x6, 0x15, 0x15, 0x15, 0x15, 0x6, 0x14, 0x2, 0x0, 0x0, 0x0, 0x2, 0x2, + 0x0, 0x2, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x14, 0x2, 0x14, 0x2, 0x2, 0x6, 0x35, 0xA8, + 0x3C, 0xE, 0x38, 0xB4, 0x41, 0x1, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xA3, + 0xE, 0xB4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB7, 0x94, 0x38, + 0x2C, 0x2C, 0xD, 0xB, 0x0, 0x0, 0x4, 0x4, 0x20, 0x1E, 0x4, 0x1E, 0x54, 0xCD, 0x53, 0xAD, + 0xAD, 0x55, 0xAD, 0xAD, 0xAD, 0xBF, 0xC9, 0xC9, 0xC9, 0xCA, 0xC9, 0xBF, 0xCE, 0x4F, 0x46, 0xBF, + 0x55, 0xBF, 0xC9, 0xC9, 0xCA, 0xCE, 0xF3, 0xF3, 0xF3, 0xCE, 0xCE, 0xCE, 0xCE, 0xC9, 0xC0, 0xCD, + 0xCD, 0xCD, 0xCD, 0xCD, 0x46, 0x5C, 0xC9, 0xBF, 0xCD, 0xBF, 0x5C, 0xC9, 0xC9, 0xCE, 0x55, 0xAD, + 0xBF, 0xBF, 0xC9, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0xD, + 0x4, 0x4, 0x4, 0x4, 0x1F, 0x6E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xD8, 0xE, + 0x2C, 0xFD, 0xFD, 0xFD, 0xE, 0x38, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBB, 0xBB, 0x31, 0xA5, 0x31, 0x31, + 0x2C, 0x33, 0x32, 0x14, 0x26, 0x26, 0x26, 0x24, 0x15, 0x15, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x17, 0x14, 0x2, 0x14, 0x15, 0x15, 0x14, 0x16, 0xE, + 0x38, 0xAA, 0x94, 0x31, 0x0, 0x94, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, + 0xF7, 0x41, 0xF0, 0x31, 0xEE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, 0x3A, + 0x31, 0x2C, 0x20, 0x20, 0xFE, 0x0, 0x20, 0x25, 0x22, 0x1E, 0x1E, 0x1E, 0xC4, 0xCD, 0xBF, 0x96, + 0x9A, 0x9A, 0x9A, 0x9A, 0x9B, 0x9D, 0x99, 0x99, 0xAD, 0xCA, 0xCA, 0xBF, 0xCC, 0xCB, 0xD0, 0x5C, + 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xCE, 0xF3, 0xF3, 0xCD, 0xBF, 0xC9, 0xCD, 0xCD, 0xC9, 0x55, 0x53, + 0x4F, 0x52, 0x52, 0x52, 0x1D, 0x5A, 0x4F, 0x4F, 0xCE, 0xC9, 0x5C, 0xCD, 0xCE, 0xD0, 0x55, 0x53, + 0x55, 0x55, 0xBF, 0xBF, 0xBF, 0xBF, 0x5C, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0xCA, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0xB, + 0x1F, 0x20, 0xB, 0x6, 0x1F, 0x6E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, + 0x3F, 0xFD, 0xFD, 0xFD, 0x38, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBB, 0xBB, 0xBB, 0xE, 0x33, 0xA3, 0x38, + 0xE, 0x0, 0xD, 0x15, 0x26, 0x15, 0x14, 0x2, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, + 0x14, 0x2, 0x14, 0x14, 0x2, 0x14, 0x24, 0x17, 0x15, 0x2, 0x15, 0x26, 0x26, 0x26, 0x15, 0x9, + 0x9, 0x7, 0x9, 0xE, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3F, + 0xE9, 0xD8, 0xF5, 0xE9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xA8, 0x3F, + 0x33, 0x2C, 0x20, 0xD, 0x0, 0x0, 0x37, 0x3E, 0x25, 0x1F, 0xB, 0x4, 0xC4, 0xCD, 0xBF, 0x55, + 0xCB, 0xCE, 0xD0, 0xCE, 0xCC, 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCB, 0x5C, 0xD0, 0xC9, 0x5C, 0x5C, + 0xC9, 0xCA, 0xCB, 0xCD, 0xC9, 0xCD, 0xCD, 0xBF, 0xC9, 0xBF, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0xBF, + 0xC9, 0xC2, 0xC2, 0xC2, 0x46, 0xC0, 0xCE, 0xCE, 0xCE, 0xCD, 0xC9, 0xF3, 0xF3, 0xF3, 0xCE, 0xCE, + 0xCE, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0xB, + 0x1F, 0x29, 0x20, 0x1F, 0x1F, 0xAF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBB, 0xBB, 0xBB, 0xE, 0x2C, 0xE, 0x31, + 0x38, 0xE, 0x6F, 0x16, 0x15, 0x35, 0x40, 0x3C, 0x16, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x2, 0x15, 0x15, 0x15, 0x15, 0x24, 0x24, 0x24, 0x26, 0x26, 0x26, 0x4D, + 0xE9, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, + 0xE, 0x41, 0xAA, 0xF7, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xAA, 0x41, + 0x33, 0x30, 0xD, 0x4, 0x7, 0xFE, 0x32, 0x37, 0x20, 0x5, 0x5, 0x4, 0xCF, 0xC4, 0xC9, 0x5C, + 0x55, 0xC9, 0xD0, 0xD0, 0xC9, 0xBF, 0x54, 0x53, 0x53, 0x52, 0x55, 0x53, 0xCE, 0x5C, 0x5A, 0x5C, + 0xC4, 0x52, 0x36, 0x36, 0x52, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0xC9, 0xCD, 0xCD, 0xD0, 0xD0, 0xD0, + 0xD0, 0xC9, 0xD0, 0xBF, 0x50, 0xCC, 0xF3, 0xD0, 0xD0, 0xD0, 0xC9, 0xD0, 0xD0, 0xD0, 0xCC, 0xCC, + 0xCC, 0xD0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0x1F, 0x37, 0xB, 0x4, 0x4, 0xD5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBB, 0xBB, 0xBB, 0x2C, 0x3C, 0x2C, 0x2C, + 0xE, 0x7, 0xAA, 0xA5, 0xA3, 0x94, 0x94, 0x41, 0x40, 0x16, 0x15, 0x24, 0x15, 0x16, 0x15, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x14, 0x15, 0x15, 0x15, 0x17, 0x26, 0x26, 0x26, 0x17, 0x26, 0x17, 0x39, + 0xEE, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF7, 0xB4, 0x33, 0xE, 0xAA, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0x94, + 0x38, 0x31, 0xD, 0xD, 0x4, 0x4, 0x3E, 0x6B, 0x25, 0x4, 0x4, 0x4, 0xF3, 0xCD, 0xCE, 0x5C, + 0x5C, 0x5C, 0x5A, 0x55, 0x1A, 0x1A, 0x3, 0x3, 0x10, 0x1A, 0x36, 0x36, 0xC9, 0xC9, 0x5C, 0x5A, + 0x48, 0x36, 0x1C, 0x1C, 0x4C, 0x54, 0xBF, 0xCD, 0xCF, 0xD0, 0xD0, 0xD0, 0xD0, 0xF3, 0xF3, 0xF3, + 0xD0, 0xC9, 0xD0, 0x52, 0x5A, 0xCC, 0xD0, 0xD0, 0xD0, 0xD0, 0xC0, 0xD0, 0xD0, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x6, + 0x1F, 0x37, 0x6, 0xFE, 0x71, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, 0xA3, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xBD, 0xE, 0x41, 0xA8, 0x3C, + 0x2C, 0xE, 0xBB, 0xB7, 0xB6, 0xAA, 0xA5, 0xA3, 0xA3, 0xA3, 0x40, 0x35, 0x39, 0x40, 0x39, 0x16, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, 0x15, 0x15, 0x17, 0x26, 0x26, 0x17, 0x17, 0x26, 0x17, 0x39, + 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0xA3, + 0x3B, 0x2C, 0xD, 0x20, 0x0, 0x0, 0x3E, 0x6E, 0x25, 0x4, 0x4, 0x4, 0xCE, 0xC9, 0xCE, 0xC9, + 0x5C, 0x5C, 0x5C, 0x4F, 0xA, 0x1A, 0x18, 0x12, 0x1A, 0x1B, 0x36, 0x36, 0xC9, 0xC9, 0x5C, 0x5A, + 0x46, 0x3D, 0x3D, 0x3D, 0x3D, 0x4C, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x55, 0xC9, 0xCD, + 0xCD, 0xBF, 0xCE, 0x46, 0x5A, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0x5C, 0xD0, 0xD0, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x6, + 0x1F, 0x37, 0x20, 0x20, 0xD5, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xE, + 0xE, 0xE, 0x2C, 0x41, 0xB6, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xBD, 0xE, 0x2C, 0x2C, 0x41, + 0xA3, 0x2C, 0xE9, 0xE9, 0xE9, 0xBD, 0xBD, 0xB7, 0xB7, 0xBD, 0xB7, 0xB6, 0xB4, 0xAA, 0xA8, 0xA3, + 0x4E, 0x35, 0x9, 0x6, 0x2, 0x14, 0x17, 0x17, 0x17, 0x17, 0x26, 0x26, 0x26, 0x26, 0x17, 0x99, + 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0x2C, 0x38, 0xB4, 0xF5, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0xA3, + 0x3A, 0x2C, 0x25, 0x25, 0x0, 0x0, 0x3E, 0x6E, 0x25, 0x1E, 0x4, 0x4, 0xC9, 0xC9, 0xC9, 0xD0, + 0x5C, 0x5C, 0x50, 0x1A, 0x3, 0xA, 0x12, 0x18, 0x1C, 0x1C, 0x36, 0x36, 0xBF, 0xC9, 0x5C, 0x5A, + 0x46, 0x3D, 0x4C, 0x48, 0x52, 0x52, 0x52, 0x52, 0x52, 0x54, 0x53, 0x55, 0x54, 0x55, 0xAD, 0x55, + 0xAD, 0xAD, 0xC1, 0x1D, 0x5A, 0xBF, 0xC9, 0xC9, 0xD0, 0xD0, 0x5C, 0xD0, 0xD0, 0xD0, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5D, 0x6, + 0x1F, 0x39, 0x20, 0x4, 0x6, 0x39, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB6, + 0x41, 0x2C, 0xE, 0xE, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xE9, 0x2C, 0x31, 0x2C, 0x2C, + 0x2C, 0xE, 0xF7, 0xF7, 0xF7, 0xF7, 0xF5, 0xF5, 0xF5, 0xF7, 0xF5, 0xF0, 0xEE, 0xE9, 0xBD, 0xB7, + 0xB6, 0xB4, 0xA5, 0x35, 0x9, 0x6, 0x15, 0x17, 0x17, 0x17, 0x26, 0x26, 0x26, 0x26, 0x24, 0xEB, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, + 0xFD, 0xF5, 0xAA, 0x33, 0xE, 0x2C, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, 0x94, + 0x38, 0x2C, 0x25, 0x20, 0x0, 0x0, 0x6C, 0x39, 0x20, 0x1E, 0x4, 0x4, 0x52, 0x52, 0x52, 0x52, + 0x52, 0x36, 0x12, 0x3, 0xA, 0x3, 0x18, 0x12, 0x1A, 0x34, 0x36, 0x36, 0x55, 0xC9, 0x5C, 0x5A, + 0x46, 0x36, 0x3D, 0x48, 0x52, 0xAB, 0x55, 0xBF, 0xBF, 0xAD, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, + 0xAD, 0xAD, 0xBF, 0x1D, 0x5A, 0xBF, 0xC9, 0xBF, 0xCD, 0xC9, 0xBF, 0xCE, 0xCD, 0xCC, 0xCC, 0xCC, + 0xCC, 0xD0, 0xCE, 0xCE, 0xCE, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, + 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x6, + 0x1F, 0x6B, 0x25, 0x6, 0x0, 0x20, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF7, 0xBB, 0xA3, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xEE, 0x2C, 0xE, 0x2C, 0x2C, + 0x2C, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF0, + 0xE9, 0xD8, 0xBD, 0xB8, 0xAA, 0x35, 0x16, 0x15, 0x17, 0x17, 0x15, 0x15, 0x17, 0x26, 0x4D, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xB4, 0x41, + 0x33, 0x30, 0xD, 0x5, 0x4, 0x4, 0x6C, 0x39, 0x20, 0x1E, 0x4, 0x1E, 0xE, 0x7, 0x3, 0x1, + 0x3, 0x3, 0xA, 0xA, 0x1A, 0xA, 0x18, 0x1A, 0x1B, 0x34, 0x36, 0x36, 0x53, 0xC9, 0x5C, 0x5A, + 0x4F, 0x3D, 0x3D, 0x3D, 0x52, 0xA6, 0x54, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xBF, 0xAD, + 0xAD, 0xAD, 0xAB, 0x46, 0xBF, 0xBF, 0xBF, 0xBF, 0xAD, 0xAD, 0x55, 0xBF, 0xBF, 0xC9, 0xCE, 0xCE, + 0xCE, 0xC9, 0xCE, 0xCE, 0xCE, 0xC9, 0xC9, 0xC0, 0xC0, 0xC0, 0xC0, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, + 0x5D, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, + 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x6, + 0x1F, 0x39, 0x20, 0x25, 0x1F, 0x39, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xF0, 0xE, 0x2C, 0x2C, 0x31, + 0x2C, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF7, 0xF0, 0xE9, 0xD8, 0xBD, 0xBB, 0xAC, 0x39, 0x24, 0x15, 0x17, 0x17, 0x17, 0x27, 0xF6, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, + 0x31, 0xE, 0x31, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xAA, 0x3C, + 0x33, 0x25, 0x6, 0x4, 0x4, 0x4, 0x37, 0x37, 0x20, 0x1F, 0x4, 0x1E, 0x2C, 0x2C, 0x8, 0x3, + 0x3, 0x3, 0x3, 0x3, 0x3, 0xA, 0x1A, 0x1A, 0x2F, 0x36, 0x36, 0x34, 0x52, 0xC9, 0x5C, 0x59, + 0x34, 0x36, 0x3B, 0x3D, 0x36, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x52, 0xAB, 0xAD, 0xBF, 0x36, + 0x8, 0xAD, 0x3D, 0x50, 0xBF, 0xAD, 0xAD, 0xBF, 0xBF, 0xAD, 0x55, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, + 0xAD, 0xBF, 0xBF, 0xBF, 0xBF, 0xC9, 0xC2, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCA, 0xCA, 0xCA, 0x5D, + 0x5D, 0x5D, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, + 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x6, + 0x1F, 0x97, 0x25, 0x6, 0x6, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xF0, 0xE, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF7, 0xF0, 0xE9, 0xE9, 0xD8, 0xBD, 0xB8, 0x97, 0x4D, 0x4D, 0x99, 0xF6, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0xBD, 0xFD, 0xE, 0xA3, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA5, 0x3A, + 0x32, 0x25, 0x6, 0x4, 0xB, 0x4, 0x30, 0x25, 0x25, 0x1F, 0x4, 0x1E, 0x2C, 0x2F, 0xA, 0xA, + 0x3, 0xA, 0xA, 0x1A, 0x12, 0x12, 0x1A, 0x1A, 0x2F, 0x36, 0x2F, 0x34, 0x4F, 0xC9, 0x5C, 0x50, + 0x1A, 0x3B, 0x3D, 0x3D, 0x3D, 0x48, 0x54, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xBF, 0xA6, 0x1, + 0x8, 0x52, 0x2F, 0x56, 0xAD, 0xAD, 0xAD, 0xBF, 0xCD, 0xC1, 0xBF, 0xCD, 0xCD, 0xCD, 0xCD, 0xCE, + 0xCE, 0xCE, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xCE, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, + 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, + 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x6, 0xB5, 0x6E, 0x6, 0x1F, 0x20, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xF0, 0xE, 0x31, 0x2C, 0x2C, + 0x3F, 0x7, 0x2C, 0xE, 0x2C, 0x2C, 0x2C, 0xE, 0xE, 0xE, 0xE, 0x2C, 0x2C, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xF5, 0xF0, 0xF0, 0xF5, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0xF8, 0xFD, 0xE, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, 0x3A, + 0x30, 0x25, 0x4, 0x4, 0x5, 0x4, 0x30, 0x30, 0x20, 0xB, 0x4, 0x4, 0x1A, 0xA, 0xA, 0x1A, + 0x1C, 0x36, 0x36, 0x36, 0x1A, 0x1A, 0xA, 0x3, 0x7, 0xA, 0xA, 0x2F, 0x3D, 0xCE, 0x5A, 0x1D, + 0x12, 0x3B, 0x3D, 0x3D, 0x48, 0x54, 0xAD, 0xBF, 0xBF, 0xAD, 0xAD, 0xAD, 0xBF, 0xAD, 0x1, 0x8, + 0x8, 0x36, 0x12, 0x57, 0xBF, 0xBF, 0xBF, 0xCD, 0xCD, 0xC1, 0x55, 0xCD, 0xCD, 0xCD, 0xCD, 0xCE, + 0xCE, 0xF3, 0xF3, 0xD0, 0xD0, 0xD0, 0xD0, 0xCE, 0xCA, 0xCA, 0x5D, 0xCA, 0xCA, 0xCA, 0x5D, 0xCA, + 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x1E, 0xA7, 0x3E, 0x1F, 0x1F, 0x20, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xF0, 0xE, 0x2C, 0x2C, 0x3A, + 0xAA, 0xE, 0x33, 0xB6, 0x41, 0x3A, 0x3A, 0x31, 0x2C, 0x2C, 0x31, 0x33, 0x2C, 0x1, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x3A, 0xFD, 0xE, 0xF0, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA5, 0x3A, + 0x32, 0x30, 0x5, 0x4, 0x5, 0x4, 0x25, 0x25, 0x20, 0x1F, 0x4, 0x4, 0x2F, 0x12, 0x12, 0x1A, + 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1C, 0x34, 0x2F, 0x1A, 0x12, 0x2F, 0x2D, 0x36, 0xCE, 0x5A, 0xA, + 0x8, 0x3B, 0x3D, 0x3D, 0x52, 0xAD, 0xAD, 0xAD, 0xAB, 0xA6, 0xA6, 0xA6, 0x52, 0x7, 0x3, 0x3, + 0x3, 0x7, 0x8, 0x43, 0x3D, 0x36, 0x36, 0x3D, 0x3D, 0x3D, 0x36, 0x34, 0x34, 0x34, 0x34, 0x36, + 0xCD, 0xC9, 0xCD, 0xCE, 0xD0, 0xCE, 0xCE, 0xCD, 0xCE, 0xCA, 0x5D, 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, + 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x4, 0xAF, 0x39, 0xB, 0x4, 0x29, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xF0, 0x31, 0x41, 0x31, 0xA8, + 0x2C, 0x2C, 0xE, 0x3A, 0x3A, 0x38, 0x3A, 0x31, 0x2C, 0x2C, 0x31, 0x33, 0x38, 0x2C, 0x0, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xB6, 0xFD, 0xE, 0x2C, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xAA, 0x3C, + 0x33, 0x2C, 0xB, 0x4, 0x4, 0x4, 0x30, 0x25, 0x20, 0xB, 0x0, 0x4, 0x1A, 0x1A, 0x1A, 0x12, + 0xA, 0x12, 0x1A, 0x36, 0x36, 0x34, 0x34, 0x2F, 0x1A, 0x1A, 0x1A, 0x2F, 0x2F, 0xCE, 0x50, 0x0, + 0x7, 0x3D, 0x3B, 0x3D, 0x48, 0x52, 0xAB, 0xA6, 0x3, 0xF, 0x1, 0x1, 0x12, 0x1D, 0x18, 0x3, + 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x1, 0x0, 0xF, 0xF, 0xF, 0x10, 0x10, 0x19, + 0xBF, 0xCE, 0xCE, 0xD0, 0xD0, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0x5D, 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, + 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5D, 0x50, 0x51, 0x5A, 0x5B, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x4, 0xB2, 0x6B, 0xD, 0x4, 0x97, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x2C, + 0x38, 0xB4, 0xF5, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xEE, 0x41, 0x1, 0xA5, 0x3A, + 0x2C, 0x2C, 0x2C, 0x33, 0x33, 0x33, 0x33, 0xE, 0x2C, 0x2C, 0x2C, 0x33, 0x38, 0x31, 0xE, 0x7, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xB4, 0x41, + 0x33, 0x2C, 0xE, 0x5, 0x4, 0x0, 0x30, 0x25, 0x20, 0xB, 0x0, 0x4, 0x2F, 0x1C, 0x1C, 0x1C, + 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x2F, 0x34, 0x2F, 0x34, 0x34, 0x34, 0x34, 0x2F, 0xC9, 0x43, 0x0, + 0x1, 0x3D, 0x36, 0x3A, 0x36, 0x3D, 0x48, 0xA, 0x1, 0x1, 0x0, 0xFE, 0x52, 0x55, 0x10, 0x0, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0x0, 0x0, 0x0, 0x1, 0xF, 0x10, 0x11, 0x43, + 0xBF, 0xD0, 0xD0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0x5D, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, + 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x4F, 0x0, 0x3, 0x10, 0x10, 0x10, 0x1B, 0x42, 0x43, 0x43, 0x5D, + 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x4, 0xD5, 0x97, 0xB, 0x4, 0xE6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, 0xFD, + 0xF5, 0xAA, 0x33, 0xE, 0x2C, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xEA, 0xF7, 0x94, 0x0, 0x2C, + 0x2C, 0x2C, 0xE, 0x2C, 0x31, 0x31, 0x2C, 0x2C, 0x2C, 0x31, 0x31, 0x31, 0x2C, 0x2C, 0x3C, 0x33, + 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, 0x41, + 0x33, 0x2C, 0x2C, 0xB, 0x4, 0x0, 0x30, 0x25, 0x20, 0x5, 0x0, 0x4, 0xA, 0x3, 0x3, 0x1, + 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, + 0x1, 0xF, 0xF, 0xF, 0xF, 0x1, 0x0, 0x1, 0x0, 0xFE, 0xFE, 0x0, 0x52, 0x59, 0x1, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x1, 0x10, 0x42, + 0x36, 0x53, 0x54, 0x1B, 0x52, 0x19, 0x43, 0x1B, 0x1B, 0x1D, 0x1D, 0x43, 0x1D, 0x1D, 0x1B, 0x1D, + 0x1B, 0x1D, 0x1B, 0x1B, 0x1A, 0x1, 0x1, 0x3, 0x3, 0x1, 0x1, 0x1, 0x1, 0x3, 0x3, 0x5B, + 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x1E, 0xD7, 0x97, 0x6, 0x4, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xE9, 0xEA, 0xEE, 0x3F, 0xE, + 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0x7, 0xA8, 0xA8, 0xB4, 0x41, 0x31, 0xB4, 0x38, + 0x7, 0x0, 0x9, 0xE, 0xE, 0xE, 0x31, 0xE, 0xE, 0xE, 0xE, 0x2C, 0x2C, 0xE, 0x2C, 0xE, + 0xE, 0x2C, 0x2C, 0xE, 0xE, 0xE, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB6, 0x94, + 0x38, 0x31, 0x2C, 0x5, 0x4, 0x4, 0x30, 0x37, 0x20, 0x5, 0x4, 0x4, 0x8, 0x10, 0x3, 0x1, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0x0, 0xFE, 0x0, 0xFE, 0x0, 0x0, 0x0, + 0x1, 0x1, 0x1, 0xF, 0x1, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1, 0x52, 0x50, 0x0, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xA, 0x1A, 0x1A, 0x1A, 0x12, 0x12, 0x1B, 0x1D, + 0xF, 0x10, 0x1, 0xF, 0x1, 0x10, 0x1, 0x1, 0xF, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, + 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x46, 0x46, 0x50, + 0x50, 0x59, 0x56, 0x51, 0x57, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x6, + 0x1F, 0xDB, 0xA9, 0x4, 0x4, 0xFC, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0x2C, + 0xE, 0x31, 0xAA, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xD8, 0xE9, 0x3F, 0x0, 0x2C, 0x2C, 0x38, 0xA3, 0x33, 0x3F, + 0xA8, 0x31, 0xE, 0xE, 0xE, 0x41, 0x3F, 0x2C, 0x33, 0x31, 0x2C, 0x38, 0x38, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0x94, + 0x38, 0x31, 0xE, 0x4, 0x5, 0x4, 0x20, 0x30, 0x20, 0x6, 0x4, 0x4, 0x53, 0x53, 0x50, 0x47, + 0x49, 0x45, 0x1B, 0x1, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x3, 0x52, 0x46, 0x0, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x12, 0x53, 0x54, 0x54, 0xB9, 0xAD, 0x53, 0x1B, + 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x3, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0x0, 0x0, 0x0, 0x12, 0x47, 0x49, 0x49, 0x49, 0x47, 0x49, 0x46, + 0x42, 0x44, 0x42, 0x42, 0x1B, 0x1D, 0x1B, 0x42, 0x1D, 0x50, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x6, + 0x1F, 0xDB, 0x97, 0x4, 0x4, 0xD5, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xE9, + 0xFD, 0xF0, 0x3A, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xEE, 0xD8, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xE9, 0x41, 0x0, 0x2C, 0x2C, 0x33, 0xAA, 0x7, + 0x7, 0x38, 0xA3, 0x38, 0x33, 0xA3, 0x2C, 0x33, 0x33, 0x31, 0x3A, 0xB4, 0xAA, 0x33, 0x31, 0x2C, + 0x2C, 0x33, 0x33, 0x33, 0x2C, 0x2C, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0x2C, 0x38, 0xB4, 0xF5, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB7, 0xA3, + 0x38, 0x31, 0xE, 0x0, 0x7, 0x4, 0xD, 0x25, 0x25, 0xB, 0x4, 0x4, 0xEC, 0xEC, 0xC2, 0xC1, + 0xC1, 0xC1, 0xC1, 0xC1, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xA, 0x52, 0x42, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x52, 0x54, 0xAD, 0xA1, 0x99, 0x53, 0x1A, + 0xFE, 0xFE, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xAB, 0xBE, 0xBE, 0xBE, 0xC1, 0xC2, + 0xC2, 0xC2, 0xCE, 0xCE, 0xC0, 0xC0, 0xC0, 0xC2, 0xC0, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x6, + 0x1F, 0xD5, 0x97, 0xB, 0x6, 0x6B, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, + 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xEA, 0xD8, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBB, 0xBB, 0xBD, 0xBD, 0xE9, 0x41, 0x0, 0x2C, 0xE, 0xAA, 0x7, + 0x7, 0xE, 0x2C, 0x41, 0xA3, 0x2C, 0x2C, 0x33, 0x33, 0x33, 0xAA, 0xAA, 0x94, 0x3A, 0xA3, 0x33, + 0x3F, 0x31, 0x33, 0x33, 0x2C, 0xE, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, + 0xFD, 0xF5, 0xAA, 0x33, 0xE, 0x2C, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, + 0x38, 0x33, 0xE, 0x0, 0x4, 0x4, 0x20, 0x30, 0x29, 0x6, 0x4, 0x4, 0x48, 0x3D, 0x3D, 0x3D, + 0x3B, 0x3B, 0x3A, 0x3B, 0x7, 0x0, 0x1, 0x0, 0x1, 0x3, 0x8, 0xA, 0xA, 0x1, 0xFE, 0xFE, + 0x0, 0x12, 0x1A, 0x2D, 0x12, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1A, 0x53, 0x1B, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x34, 0x54, 0xAD, 0xE1, 0xAD, 0x53, 0x44, + 0x1B, 0x7, 0x0, 0x3, 0x0, 0x1, 0x1, 0x0, 0x3, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xBE, 0xC2, 0xC2, 0xC2, 0x5D, + 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5A, 0x6, + 0x6, 0xAF, 0x97, 0x20, 0x1F, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAA, 0x3A, + 0xF0, 0xFD, 0xE9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xEE, 0xE9, 0xE9, 0xE9, 0xE9, 0xE9, 0xE9, + 0xE9, 0xE9, 0xE9, 0xBD, 0xBD, 0xBD, 0xBB, 0xBB, 0xBD, 0xBD, 0xE9, 0x3F, 0x0, 0x2C, 0x3A, 0x7, + 0x7, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0xE, 0x33, 0x3A, 0x38, 0x33, 0x38, 0x31, 0x94, 0x2C, 0x3A, + 0xB6, 0x33, 0x38, 0xA3, 0xA3, 0x2C, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xBD, 0xA8, + 0x3A, 0x33, 0x2C, 0x0, 0x4, 0x0, 0x30, 0x29, 0x25, 0x1E, 0x4, 0x4, 0x2F, 0x1A, 0xA, 0x3, + 0x3, 0xA, 0x3, 0x1, 0x3, 0xA, 0x1A, 0x12, 0x2F, 0x34, 0x34, 0x34, 0x36, 0xA, 0xFE, 0x0, + 0x0, 0x1A, 0x4C, 0x48, 0x2F, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1B, 0x53, 0x10, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1, 0x53, 0x55, 0xA6, 0x54, 0x53, 0x53, + 0xB9, 0xC9, 0xBF, 0x46, 0xBF, 0x43, 0x55, 0x59, 0x5A, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, + 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x50, 0x3, 0x1, 0x1, 0x0, 0x1, 0x36, 0xC2, 0xC2, 0xCE, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5A, 0x1F, + 0x1E, 0x71, 0x39, 0x25, 0x25, 0x6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x31, 0xE, 0x2C, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, + 0xF7, 0xF7, 0xF5, 0xEE, 0xD8, 0xBD, 0xBD, 0xBB, 0xBB, 0xBD, 0xBD, 0xD8, 0x3A, 0xE, 0x2C, 0x9, + 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0x2C, 0x2C, + 0x31, 0x2C, 0x2C, 0xE, 0xE, 0x31, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, + 0x31, 0xE, 0x31, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xBD, 0xA8, + 0x3B, 0x33, 0x2C, 0x0, 0x4, 0x0, 0x20, 0x29, 0x25, 0x1F, 0x4, 0x4, 0xA, 0x3, 0x3, 0x3, + 0x1, 0x1, 0x1, 0x3, 0x7, 0x7, 0x7, 0x3, 0xA, 0xA, 0x3, 0xA, 0xA, 0x7, 0xFE, 0x0, + 0x0, 0x3, 0xA, 0x8, 0x7, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1C, 0x53, 0x1, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x36, 0xAD, 0x9D, 0x54, 0x53, 0xA, + 0x4C, 0xCC, 0xCA, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, 0x50, 0x50, 0x50, 0x50, 0x56, 0x57, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x1F, + 0x1F, 0x71, 0x39, 0xD, 0x39, 0x4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xF0, 0xD8, 0xBD, 0xBD, 0xBB, 0xBB, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xE9, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0xBD, 0xFD, 0xE, 0xA3, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xBD, 0xA8, + 0x3A, 0x33, 0x2C, 0x0, 0x4, 0x0, 0x4, 0x1F, 0x25, 0x20, 0x6, 0x4, 0x1, 0x0, 0x0, 0x0, + 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x2A, 0x16, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, + 0x1, 0x1, 0x1, 0x1, 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0xFE, 0xFE, 0x36, 0x53, 0x1, 0xFE, 0xFE, + 0x24, 0x1F, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x3, 0x53, 0x55, 0xAD, 0x50, 0x1B, + 0x1A, 0x4F, 0x50, 0x50, 0x50, 0x53, 0x51, 0x50, 0x51, 0x51, 0x50, 0x50, 0x50, 0x50, 0x4F, 0x50, + 0x50, 0x50, 0x4F, 0x46, 0x46, 0x47, 0x46, 0x46, 0x42, 0x42, 0x42, 0x50, 0x5A, 0x5B, 0x58, 0x58, + 0x58, 0x58, 0x58, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x5A, 0x5B, 0x5B, 0x5B, 0x58, 0x6, + 0x4, 0x97, 0x3E, 0x6, 0x6B, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAA, 0x7, + 0x9, 0x7, 0x31, 0x1, 0x7, 0xE, 0x2C, 0x9, 0x7, 0x7, 0x7, 0x7, 0xE, 0x7, 0x7, 0x7, + 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x2C, 0x31, 0xE, 0x7, 0x7, 0x7, 0x7, 0x9, 0x9, + 0x7, 0x7, 0x7, 0x7, 0x0, 0xAA, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0xF8, 0xFD, 0xE, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, + 0x3A, 0x32, 0xD, 0x0, 0x5, 0x0, 0x4, 0x6, 0x25, 0x20, 0x6, 0x4, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0xFE, 0x0, 0x2B, 0x95, 0xD, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, + 0x0, 0x0, 0x0, 0x0, 0xFE, 0x0, 0xFE, 0x0, 0xFE, 0xFE, 0x0, 0x4F, 0x53, 0x0, 0xFE, 0xFE, + 0x2B, 0x2A, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x4C, 0x53, 0x54, 0x4F, 0xBF, + 0xB9, 0x3, 0x1, 0xF, 0xF, 0x10, 0x10, 0xF, 0x10, 0xF, 0xF, 0xF, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xF, 0x10, 0x10, 0x10, 0x19, 0x43, 0x57, 0x58, + 0x58, 0x5A, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x6, + 0x29, 0xB2, 0x6E, 0x1F, 0x39, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x94, 0x0, 0xE, + 0xB4, 0x3A, 0x41, 0xE, 0x2C, 0x9, 0x7, 0x33, 0xB4, 0x41, 0x2C, 0x94, 0xB4, 0x3C, 0x33, 0x2C, + 0x2C, 0x2C, 0xE, 0x2C, 0x2C, 0x31, 0x38, 0xA8, 0xAA, 0x33, 0xB4, 0xE, 0x41, 0x33, 0x33, 0x33, + 0x3A, 0xE, 0x2C, 0x2C, 0xAA, 0x7, 0xAA, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x3A, 0xFD, 0xE, 0xF0, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0xA3, + 0x3A, 0x2C, 0x7, 0x0, 0x5, 0x0, 0x25, 0x29, 0x25, 0x1F, 0x4, 0x4, 0x0, 0x0, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0x2, 0x4B, 0x27, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0x0, + 0x1, 0x1, 0x1, 0x1, 0x0, 0xFE, 0xFE, 0x0, 0xFE, 0xFE, 0x0, 0x4F, 0x4F, 0x0, 0xFE, 0x0, + 0x95, 0x2B, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x3, 0x55, 0x55, 0x53, 0xA, + 0x1, 0xF, 0x1, 0xF, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xF, 0xF, 0xF, 0x3, + 0x1, 0x1, 0x1, 0x3, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xF, 0xF, 0x11, 0x11, 0x42, 0x50, + 0x47, 0x1A, 0x52, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x6, + 0x1F, 0x25, 0x6, 0x1F, 0x37, 0x1F, 0xED, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x0, 0x2C, 0xE, + 0xE, 0xA3, 0xA8, 0x3C, 0x41, 0xA8, 0x31, 0xE, 0xE, 0x3A, 0xAA, 0x41, 0x2C, 0x2C, 0xE, 0x2C, + 0x2C, 0xE, 0x2C, 0x33, 0x33, 0x33, 0x3C, 0x31, 0x38, 0x3C, 0x33, 0xE, 0xB6, 0x3F, 0x33, 0x3F, + 0xB7, 0x3F, 0x2C, 0x3F, 0x41, 0x31, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xB6, 0xFD, 0xE, 0x2C, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, 0x41, + 0x33, 0x2C, 0x6, 0x0, 0x5, 0x0, 0x39, 0x6E, 0x29, 0x1F, 0x4, 0x4, 0xFE, 0x6, 0x2A, 0x0, + 0x2A, 0x16, 0x1F, 0x2A, 0x0, 0x24, 0x4B, 0x7, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, + 0x1, 0x1, 0x1, 0x1, 0xFE, 0x0, 0x0, 0x0, 0x0, 0xFE, 0x3, 0x53, 0x46, 0x0, 0xFE, 0x0, + 0x95, 0x25, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x4F, 0x55, 0x53, 0x3, + 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xA, 0x4D, 0x2E, 0x0, 0x3C, 0x4D, 0xA, 0x35, 0x4D, 0x2E, 0x0, 0x1, 0x3, 0x18, 0x18, 0x12, + 0x44, 0x4A, 0xF1, 0x5A, 0x5B, 0x5B, 0x58, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x1F, + 0x1E, 0x6, 0x4, 0x1F, 0x37, 0x25, 0xB5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB7, 0x2C, + 0xE, 0x38, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x7, 0x31, 0x3F, + 0xA5, 0x2C, 0xE, 0xE, 0xE, 0x7, 0x3A, 0x3F, 0x9, 0xE, 0x2C, 0x2C, 0x2C, 0x31, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x31, 0x33, 0x31, 0x38, 0x2C, 0x2C, 0x31, 0x3C, 0x41, 0xAA, 0x2C, 0x31, 0x2C, + 0x2C, 0x3A, 0xAA, 0xAA, 0x2C, 0x2C, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, 0x41, + 0x33, 0x2C, 0x6, 0x0, 0x5, 0x0, 0x39, 0x39, 0x29, 0x1F, 0x4, 0x1E, 0xFE, 0x27, 0x4B, 0x0, + 0x9, 0x7, 0x1, 0x7, 0x0, 0x1, 0x1, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, + 0x0, 0xFE, 0x0, 0x0, 0xFE, 0x0, 0xFE, 0x0, 0x0, 0xFE, 0x3, 0x52, 0x43, 0x0, 0xFE, 0x0, + 0x24, 0x6, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1A, 0x55, 0x50, 0x3, + 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x18, 0x1B, + 0x59, 0x5D, 0x5B, 0x58, 0x50, 0x1D, 0x56, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x6, + 0x1F, 0x39, 0x25, 0x1F, 0x37, 0x29, 0xB5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF0, + 0xFD, 0xF0, 0x3A, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF7, 0xF7, 0x9, 0x3A, 0x33, + 0x33, 0x2C, 0x2C, 0x2C, 0x2C, 0xE, 0xE, 0x94, 0x2C, 0x7, 0xE, 0xE, 0x2C, 0x31, 0x2C, 0x2C, + 0x2C, 0xE, 0xE, 0x3C, 0x3C, 0x38, 0x33, 0xE, 0x2C, 0x2C, 0x2C, 0x41, 0x31, 0x2C, 0x2C, 0xE, + 0x2C, 0x31, 0xA3, 0x2C, 0x31, 0x2C, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xD8, + 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, 0x41, + 0x3A, 0x2E, 0xB, 0x0, 0xB, 0x0, 0x37, 0x35, 0x25, 0x1F, 0x6, 0x1E, 0xFE, 0x2, 0x2, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0x0, 0xFE, 0x0, 0x0, 0xFE, 0x12, 0x53, 0x1B, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x53, 0x4F, 0x3, + 0x0, 0xFE, 0x0, 0x0, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x10, 0x10, + 0x1, 0x3, 0x1B, 0x46, 0x3, 0x10, 0x43, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x6, + 0x4, 0x6E, 0x39, 0x4, 0x6B, 0x29, 0xB5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, 0xBD, + 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF0, 0xE9, 0xE9, 0xE9, 0xE, 0x3F, 0x38, + 0x2C, 0x2C, 0x33, 0x33, 0x33, 0x2C, 0x2C, 0x33, 0x3A, 0x7, 0x7, 0x7, 0xE, 0x31, 0xA3, 0x31, + 0x2C, 0xE, 0xE, 0xAA, 0x33, 0x2C, 0x2C, 0x2C, 0x2C, 0x33, 0x33, 0x33, 0x33, 0x2C, 0xE, 0x2C, + 0x2C, 0xA3, 0x33, 0x2C, 0x2C, 0x2C, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, + 0xEA, 0xFD, 0x3C, 0xE, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB7, 0x94, + 0x38, 0x2E, 0xE, 0x0, 0xB, 0x4, 0x37, 0x37, 0x29, 0x1F, 0x4, 0x4, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x2B, 0x2A, 0x0, + 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0x1A, 0x55, 0x12, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1B, 0x53, 0x1B, + 0x1A, 0x1B, 0x1B, 0x1B, 0x34, 0x36, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x4F, 0x4F, 0x4F, 0x4F, + 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x36, 0x36, 0x46, 0x36, 0x34, 0x34, 0x12, + 0x12, 0x34, 0x34, 0x34, 0x49, 0xBF, 0xC0, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x6, + 0x4, 0x6C, 0x37, 0x1E, 0x71, 0x37, 0xA7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0x33, + 0xFD, 0xFD, 0xF0, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, 0xE9, 0xBD, 0xBD, 0xBD, 0xE, 0xA3, 0x31, + 0x2C, 0x33, 0x38, 0x33, 0x38, 0x2C, 0x2C, 0x33, 0xA3, 0xE, 0x7, 0x7, 0x7, 0x3C, 0x31, 0xA8, + 0xA8, 0xE, 0x38, 0x33, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x33, 0x33, 0x38, 0x3A, 0x2C, 0x2C, 0x2C, + 0x41, 0xB7, 0xA3, 0x31, 0x2C, 0x38, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, + 0xFD, 0xBD, 0x38, 0xF7, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, + 0x3A, 0x31, 0x2C, 0x0, 0x6, 0x4, 0x37, 0x39, 0x37, 0x1F, 0x4, 0x4, 0x0, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x6, 0x4B, 0x25, 0xFE, + 0xFE, 0xFE, 0x0, 0x1, 0x1, 0xF, 0x1, 0xF, 0x0, 0x0, 0x1D, 0x55, 0xE, 0x2B, 0x25, 0x0, + 0x1, 0x1, 0x1, 0xF, 0x1, 0xF, 0xF, 0x10, 0x11, 0x11, 0x11, 0x19, 0x19, 0x19, 0x50, 0x5C, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xD0, 0xCC, 0xCC, 0xCE, 0xCC, 0xD0, 0xD0, 0xD0, 0xF3, 0xF3, 0xD0, 0xCC, 0xCC, 0xF3, 0xCF, + 0x52, 0xAB, 0xC1, 0xB9, 0xAB, 0xA3, 0x1A, 0x1A, 0x1B, 0x5A, 0x5B, 0x5B, 0x5D, 0x5B, 0x5D, 0x1F, + 0x4, 0x6E, 0x37, 0x1F, 0x9B, 0x39, 0x6B, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xE, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xBD, 0xBD, 0xBB, 0xBB, 0x2C, 0x3C, 0xE, + 0x2C, 0x33, 0x33, 0x33, 0x31, 0x31, 0x33, 0x94, 0xA3, 0xE, 0x2C, 0xE, 0xA3, 0x2C, 0x7, 0x0, + 0xE, 0x3F, 0xAA, 0x31, 0xE, 0x2C, 0x2C, 0x2C, 0xE, 0x38, 0x31, 0x3C, 0xAA, 0xA3, 0x33, 0x33, + 0xA3, 0xE, 0x3C, 0xAA, 0xA3, 0x38, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0xF0, 0x33, 0xEA, 0xF0, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xAA, + 0x3C, 0x33, 0x2C, 0x4, 0x4, 0x0, 0x39, 0x39, 0x29, 0x1E, 0x4, 0x4, 0x0, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, + 0x0, 0x0, 0x0, 0xF, 0xF, 0xF, 0x1, 0x1, 0x1, 0xFE, 0x1D, 0x55, 0x2E, 0x95, 0x25, 0x1, + 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xF, 0xF, 0x10, 0x11, 0x11, 0x19, 0x42, 0x50, 0x5C, + 0xCA, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCB, 0xCB, + 0xCB, 0xCB, 0xCB, 0xCB, 0xCD, 0xCB, 0xCB, 0xD0, 0xD0, 0xD0, 0xD0, 0xF3, 0xD0, 0xD0, 0xF3, 0xD0, + 0xF3, 0xC4, 0x0, 0x0, 0x3, 0xBE, 0xBE, 0xBE, 0xBF, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5D, 0x1F, + 0x4, 0x97, 0x6B, 0x1E, 0x65, 0x0, 0x39, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0xE, 0xA3, 0x38, + 0xE, 0x31, 0x38, 0x31, 0x2C, 0x33, 0x3A, 0x38, 0x3A, 0x31, 0x2C, 0x41, 0xA3, 0xE, 0xE, 0x7, + 0x7, 0x0, 0xE, 0xAA, 0xAA, 0x38, 0x2C, 0x2C, 0x2C, 0x31, 0x33, 0x31, 0x2C, 0x31, 0xA3, 0xB4, + 0x2C, 0x2C, 0x2C, 0x2C, 0x38, 0xAA, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, + 0xE, 0xA3, 0xFD, 0x2C, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, + 0x3C, 0x33, 0x2C, 0x4, 0x4, 0x0, 0x39, 0x6B, 0x22, 0x1E, 0x4, 0x1E, 0x0, 0xFE, 0x0, 0xFE, + 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, + 0x1, 0x1, 0x1, 0xF, 0xF, 0xF, 0x3, 0x3, 0x3, 0x3, 0x43, 0x4F, 0xA, 0x12, 0x10, 0x12, + 0x12, 0x12, 0x12, 0x12, 0x18, 0x1A, 0x18, 0x10, 0x12, 0x18, 0x18, 0x19, 0x1B, 0x47, 0x1D, 0x1C, + 0x36, 0x4F, 0x5C, 0xCA, 0xCE, 0xCD, 0xCB, 0xCB, 0xC9, 0x5C, 0xC9, 0xC9, 0xCA, 0xCA, 0xCC, 0xCC, + 0xCB, 0xCB, 0xCB, 0xCB, 0xCD, 0xC9, 0xC9, 0xCB, 0xD0, 0xD0, 0xD0, 0xF3, 0xF3, 0xD0, 0xF3, 0xF3, + 0xF3, 0xD0, 0x12, 0x3, 0x3, 0x59, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5D, 0x6, + 0x4, 0x71, 0x65, 0x1E, 0x1F, 0xD7, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0x2C, + 0xE, 0x31, 0xAA, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0x7, 0x31, 0x94, + 0xAA, 0x3A, 0x2C, 0x2C, 0x2C, 0x38, 0x41, 0x3A, 0x38, 0x33, 0x33, 0xAA, 0x2C, 0x2C, 0x2C, 0x2C, + 0x9, 0x7, 0x7, 0x0, 0x38, 0xB7, 0x31, 0x31, 0x2C, 0x2C, 0xE, 0x7, 0x7, 0x7, 0x2C, 0xE, + 0x7, 0x7, 0xE, 0xA3, 0x3A, 0xE, 0x9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, + 0x3C, 0x33, 0x2C, 0x4, 0x6, 0x4, 0x6B, 0x6B, 0x29, 0x1E, 0x4, 0x1E, 0x0, 0xFE, 0xFE, 0x0, + 0x12, 0x1B, 0x42, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x13, 0x0, 0xFE, + 0xFE, 0x1, 0x47, 0x4F, 0x4F, 0x50, 0x50, 0x53, 0x46, 0x4F, 0x50, 0x4F, 0x4F, 0x50, 0x50, 0x53, + 0x53, 0x53, 0x55, 0x55, 0x55, 0xAD, 0x55, 0x55, 0x53, 0x55, 0x55, 0x55, 0xAD, 0x5C, 0x47, 0x44, + 0x34, 0x34, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x8, 0x8, 0x12, 0x12, 0x12, 0x46, 0xCC, + 0xCA, 0xCB, 0xCB, 0xCB, 0xCD, 0xBF, 0xBF, 0xC9, 0xCB, 0xCB, 0xD0, 0xD0, 0xD0, 0xF3, 0xF3, 0xF3, + 0xF3, 0xD0, 0x36, 0x36, 0x34, 0x1D, 0x43, 0x43, 0x43, 0x43, 0x43, 0x42, 0x42, 0x1D, 0x1D, 0x6, + 0x4, 0x6B, 0x6B, 0x1E, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xE9, + 0xFD, 0xF0, 0x3A, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0x7, 0x33, 0x2C, + 0x38, 0x41, 0xA8, 0x3A, 0x33, 0xB6, 0xA3, 0x3A, 0x31, 0x2C, 0x41, 0x33, 0x2C, 0x2C, 0x2C, 0x2C, + 0x2C, 0xE, 0xE, 0x9, 0x33, 0xA3, 0x31, 0x31, 0x38, 0xE, 0x0, 0xBB, 0xBB, 0xBB, 0xBB, 0xBD, + 0xD8, 0xF0, 0x2C, 0xB6, 0xA8, 0x3F, 0x1, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0x2C, 0x38, 0xB4, 0xF5, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xB4, + 0x3C, 0x33, 0x2C, 0x0, 0x6, 0x4, 0x6E, 0x6B, 0x29, 0x1E, 0x4, 0x4, 0xFE, 0xFE, 0xFE, 0x12, + 0xBE, 0xC2, 0xEC, 0xCE, 0xCE, 0xEC, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC1, 0xC1, 0xA4, 0x0, + 0xFE, 0x8, 0x53, 0x52, 0x53, 0x50, 0x50, 0x55, 0x4F, 0x4F, 0x52, 0x53, 0x53, 0x52, 0x4F, 0x50, + 0x52, 0x52, 0x52, 0x52, 0x53, 0x53, 0x53, 0x53, 0x53, 0xC4, 0xC4, 0x55, 0xAD, 0xC0, 0x55, 0xBE, + 0xBE, 0xC1, 0xC1, 0xC1, 0xBE, 0xBE, 0xC1, 0xC1, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xC1, 0xCC, + 0xCB, 0xCB, 0xCB, 0xCB, 0xCD, 0xBF, 0xAD, 0xBF, 0xC9, 0xCB, 0xD0, 0xD0, 0xD0, 0xF3, 0xF3, 0xF3, + 0xF3, 0xD0, 0x46, 0x46, 0x46, 0x1A, 0x3, 0xA, 0x12, 0x12, 0x12, 0x12, 0x12, 0x1A, 0x2D, 0x6, + 0x4, 0x7A, 0x39, 0x1F, 0x4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, + 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0xE, 0xA3, 0xA3, + 0x38, 0x2C, 0x31, 0x94, 0xA5, 0x38, 0xE, 0xE, 0x2C, 0x41, 0x3F, 0x41, 0xA3, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x33, 0x41, 0x3A, 0x33, 0x31, 0x31, 0x1, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBD, + 0xD8, 0xF0, 0xE, 0xB4, 0x2C, 0xA3, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, + 0xFD, 0xF5, 0xAA, 0x33, 0xE, 0x2C, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, + 0x3C, 0x33, 0xE, 0x0, 0x6, 0x0, 0x6B, 0x6B, 0x29, 0x1E, 0x4, 0x1E, 0x0, 0xFE, 0xFE, 0x7, + 0xAB, 0xCD, 0xF1, 0x36, 0xA, 0x7, 0x3, 0x3, 0x3, 0x1, 0x1, 0x1, 0x1, 0x7, 0x7, 0x0, + 0xFE, 0x12, 0x53, 0x52, 0x50, 0x53, 0x53, 0x55, 0x4F, 0x52, 0x52, 0x53, 0x53, 0x50, 0x4F, 0x4F, + 0x4F, 0x52, 0x52, 0x52, 0x52, 0x52, 0x53, 0x53, 0x52, 0x9D, 0x9C, 0x52, 0xAD, 0xC0, 0xBF, 0xEC, + 0xF1, 0xCE, 0xD0, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCD, 0xBF, 0xCD, 0xCD, 0xCE, 0xCE, 0xCE, 0xCB, + 0xCB, 0xCB, 0xCB, 0xCB, 0xCD, 0xC9, 0xBF, 0xBF, 0xC9, 0xC9, 0xCB, 0xD0, 0xD0, 0xD0, 0xF3, 0xF3, + 0xF3, 0xF3, 0xCA, 0xC0, 0xC9, 0xBF, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0x6, + 0x4, 0x9B, 0x6B, 0x1F, 0x20, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAA, 0x3A, + 0xF0, 0xFD, 0xE9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0x0, 0x9, 0x31, + 0xA8, 0x38, 0xE, 0x2C, 0x2C, 0x2C, 0x2C, 0xE, 0x3A, 0x41, 0x3F, 0x2C, 0x33, 0x94, 0xA3, 0x2C, + 0x2C, 0xE, 0x2C, 0xB4, 0x33, 0x31, 0x31, 0x2C, 0x7, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBB, 0xBD, + 0xD8, 0xF0, 0x7, 0x2C, 0x38, 0x2C, 0x1, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA5, + 0x3A, 0x33, 0xE, 0x0, 0x6, 0x0, 0x39, 0x6E, 0x29, 0x1F, 0x4, 0x1E, 0xFE, 0xFE, 0xFE, 0xFE, + 0x0, 0x3, 0xA, 0x3, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0x1A, 0x52, 0x4F, 0x4F, 0x4F, 0x53, 0x53, 0x52, 0x52, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, + 0x52, 0x4F, 0x4F, 0x4F, 0x52, 0x52, 0x53, 0x53, 0x52, 0xE1, 0xC7, 0x52, 0x55, 0xC0, 0x50, 0x5C, + 0xCC, 0xCC, 0xCC, 0xCC, 0xD0, 0xD0, 0xCC, 0xCB, 0xC9, 0x52, 0x53, 0x55, 0xBF, 0xC9, 0xCB, 0xCB, + 0xCB, 0xCB, 0xCB, 0xCB, 0xCD, 0xCD, 0xCD, 0xC9, 0xCD, 0xC9, 0xC9, 0xCB, 0xD0, 0xD0, 0xF3, 0xF3, + 0xF3, 0xF3, 0xCA, 0xCA, 0xC0, 0xCD, 0xEC, 0xF1, 0xF1, 0xF1, 0xEC, 0xEC, 0xF1, 0xF1, 0xF1, 0xB, + 0x1E, 0x96, 0x65, 0x1F, 0x39, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x31, 0xE, 0x2C, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0xBB, 0x0, 0xE, + 0x31, 0xAA, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x31, 0xA8, 0x2C, 0x3C, 0x41, 0x3C, 0x41, 0x41, 0xA3, + 0x41, 0xE, 0x41, 0x41, 0xE, 0x2C, 0xE, 0x0, 0xE9, 0xE9, 0xE9, 0xE9, 0xD8, 0xBD, 0xBD, 0xBD, + 0xD8, 0xF0, 0x31, 0x41, 0xE, 0x7, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB7, 0xA3, + 0x38, 0x32, 0x6, 0x0, 0x4, 0x0, 0x39, 0x6B, 0x29, 0x1F, 0x4, 0x1E, 0x1, 0x18, 0x1D, 0x43, + 0x1D, 0x1D, 0x1D, 0x1D, 0x1B, 0x1B, 0x1D, 0x1D, 0x1B, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, + 0x1A, 0x36, 0x4F, 0x4F, 0x4F, 0x50, 0x53, 0x53, 0x52, 0x52, 0x53, 0x53, 0x53, 0x53, 0x53, 0x52, + 0x52, 0x53, 0x52, 0x52, 0x52, 0x52, 0x53, 0x53, 0x52, 0x52, 0x52, 0x53, 0x55, 0xC0, 0x50, 0xC9, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xBF, 0x52, 0x52, 0x53, 0x53, 0x55, 0xBF, 0xCB, + 0xCB, 0xCB, 0xCB, 0xCB, 0xCF, 0xCB, 0xCB, 0xCB, 0xCB, 0xC9, 0xC9, 0xCB, 0xD0, 0xF3, 0xF3, 0xF3, + 0xF3, 0xF3, 0xCA, 0xCA, 0xCA, 0xCE, 0xF1, 0xF1, 0xF1, 0xF1, 0xEC, 0xEC, 0xF1, 0xC2, 0x5D, 0xB, + 0x4, 0x96, 0x65, 0x20, 0x9B, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x9, + 0x9, 0x2C, 0xE, 0xE, 0xE, 0x9, 0x9, 0x2C, 0xE, 0xE, 0xE, 0x9, 0x2C, 0x2C, 0xE, 0x2C, + 0x2C, 0xE, 0x2C, 0xE, 0xE, 0xE, 0xE, 0xF7, 0xF7, 0xF7, 0xF7, 0xF5, 0xEE, 0xD8, 0xBD, 0xBD, + 0xD8, 0xF0, 0x7, 0x3F, 0xAA, 0x3A, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB6, 0x94, + 0x33, 0x30, 0x20, 0x4, 0x6, 0x0, 0x29, 0x39, 0x29, 0x1F, 0x4, 0x1E, 0xFE, 0xFE, 0x0, 0x3, + 0x1B, 0x46, 0x50, 0x55, 0x5C, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0x53, 0x4F, 0x4F, 0x53, 0x53, 0x55, 0x52, 0x53, 0x53, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, + 0x52, 0x52, 0x52, 0x53, 0x53, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x53, 0x55, 0xC0, 0x50, 0xBF, + 0xC9, 0xCD, 0xCB, 0xCD, 0xC9, 0xCB, 0xC9, 0xC9, 0x55, 0x4F, 0x4F, 0x52, 0x53, 0x53, 0x55, 0xBF, + 0xCB, 0xCB, 0xCB, 0xCB, 0xCD, 0xCB, 0xCB, 0xCB, 0xCB, 0xC9, 0xBF, 0xCB, 0xCB, 0xD0, 0xF3, 0xF3, + 0xF3, 0xF3, 0xCA, 0xCA, 0xCA, 0xCE, 0xCA, 0xCA, 0x5D, 0x5B, 0x5A, 0x5B, 0x5B, 0x5B, 0x5D, 0xD, + 0x4, 0x97, 0x6B, 0x20, 0x6B, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, + 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, + 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, + 0xBB, 0xBD, 0xBD, 0xE9, 0xF0, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF5, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x9, 0x7, 0xE, 0xA5, 0x31, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xB4, 0x41, + 0x33, 0x2C, 0x20, 0x4, 0x6, 0x4, 0x25, 0x6B, 0x29, 0x1F, 0x1E, 0x1E, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0xA, 0x1A, 0x1D, 0x46, 0x53, 0x55, 0x5A, 0x5C, 0xCA, 0xCA, + 0x5D, 0x53, 0x4F, 0x4F, 0x52, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0xE1, 0x9D, 0x52, + 0x4F, 0x52, 0x4F, 0x4F, 0x55, 0x52, 0x52, 0x52, 0x52, 0x52, 0x53, 0x53, 0x55, 0xC0, 0x46, 0x36, + 0x53, 0xC9, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xBF, 0x52, 0x52, 0x52, 0x52, 0x52, 0x55, 0xAD, + 0xBF, 0xC4, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xCD, 0xBF, 0xC9, 0xC9, 0xCB, 0xD0, 0xF3, 0xF3, + 0xF3, 0xF3, 0xCC, 0xCC, 0xCC, 0xD0, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0xE, + 0x4, 0x9B, 0x71, 0x25, 0x29, 0x37, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xB7, + 0x41, 0x2C, 0x2C, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xE9, 0xF0, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x7, 0x2C, 0x3A, 0x2C, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, 0x3C, + 0x33, 0x2C, 0x20, 0x4, 0x4, 0x4, 0x25, 0x6B, 0x29, 0x1F, 0x1E, 0x1E, 0x0, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1, 0x1A, 0x3D, 0x54, 0x55, 0x5D, 0x5D, + 0x5C, 0x53, 0x53, 0x53, 0x53, 0x55, 0x55, 0x53, 0x53, 0x53, 0x53, 0x53, 0x52, 0x4E, 0x3A, 0x52, + 0x52, 0x52, 0x52, 0x53, 0xAB, 0x52, 0x53, 0xAB, 0x53, 0x53, 0x53, 0x53, 0xAD, 0x5A, 0x49, 0x49, + 0x44, 0x36, 0x53, 0xCA, 0xCB, 0xCC, 0xCB, 0xCB, 0xBF, 0x55, 0x53, 0x52, 0x52, 0x52, 0x52, 0x55, + 0xAD, 0xEC, 0xA0, 0xA0, 0xA0, 0x9E, 0x9E, 0x9E, 0x9E, 0xA0, 0xA0, 0x9E, 0xC4, 0xD0, 0xF3, 0xF3, + 0xF3, 0xF3, 0xCC, 0xCC, 0xCC, 0xCE, 0x59, 0x51, 0x51, 0x50, 0x50, 0x56, 0x5B, 0x5B, 0x5D, 0xC, + 0xB, 0xB2, 0x71, 0x1F, 0x4, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xE9, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, 0xE9, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xE9, 0xF0, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x7, 0xB8, 0x41, 0x2C, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x3A, 0x94, 0x2C, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xA8, 0x3C, + 0x33, 0x30, 0xD, 0x4, 0x5, 0x0, 0x25, 0x39, 0x29, 0x1F, 0x4, 0x1E, 0x0, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x8, 0x34, 0x52, 0x55, 0xCB, 0xD0, 0xD0, 0xD0, 0xC9, 0x5D, 0x5C, + 0x5C, 0x55, 0x55, 0x55, 0xAD, 0xBF, 0xBF, 0x52, 0x53, 0x53, 0x55, 0x55, 0x53, 0x55, 0x55, 0x53, + 0x53, 0x53, 0x55, 0x55, 0xAD, 0x52, 0x55, 0x53, 0x55, 0x55, 0x55, 0x55, 0xBF, 0xC0, 0x55, 0xC1, + 0xCD, 0xCE, 0xCE, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xC9, 0xBF, 0xBF, 0x55, 0x53, 0x52, 0x52, 0x53, + 0x54, 0xE9, 0xB2, 0xD5, 0xE5, 0x9B, 0x9A, 0xAF, 0x9B, 0xD5, 0xE5, 0x6B, 0xC4, 0xD0, 0xF3, 0xF3, + 0xF3, 0xF3, 0xCC, 0xCC, 0xCC, 0xCD, 0x2D, 0x1A, 0x13, 0x13, 0x13, 0x1B, 0x5A, 0x5B, 0x5B, 0xB, + 0x20, 0xD5, 0x71, 0x6, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xA3, + 0xBD, 0xF8, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, 0xEE, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, + 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, + 0xEE, 0xF5, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x0, 0xA3, 0x31, 0x2C, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0xF9, 0xFD, 0xFD, 0xA3, 0x94, 0x41, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xAA, 0x3C, + 0x33, 0x30, 0xB, 0x4, 0x5, 0x0, 0x20, 0x37, 0x29, 0x1F, 0x4, 0x1E, 0x0, 0x0, 0xFE, 0x0, + 0x0, 0x8, 0x36, 0xAD, 0xCF, 0xFA, 0xF3, 0xD0, 0xC9, 0xC9, 0xCB, 0xD0, 0xD0, 0xC9, 0x5C, 0x5D, + 0x5C, 0xCA, 0x4F, 0x7, 0x5B, 0x47, 0x1, 0x1A, 0x5D, 0x59, 0xA, 0x55, 0x5D, 0xC8, 0x9D, 0x5C, + 0x55, 0xBF, 0xF3, 0xD0, 0xCE, 0xBF, 0xC9, 0xBF, 0xBF, 0x5C, 0xC9, 0xC9, 0xCE, 0xC0, 0x59, 0xBF, + 0xC9, 0xCD, 0xC9, 0xC4, 0xC9, 0xCD, 0xCD, 0xCD, 0xAD, 0xCD, 0xCD, 0xCD, 0xC9, 0xBF, 0xAD, 0xAB, + 0xAD, 0xC6, 0x9B, 0xB2, 0xD5, 0x9D, 0x9A, 0x9B, 0xAF, 0xB5, 0xDE, 0x6B, 0xAD, 0xD0, 0xF3, 0xF3, + 0xF3, 0xF3, 0xCC, 0xCC, 0xCC, 0xCE, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x5B, 0x5B, 0x5B, 0xB, + 0x20, 0xD5, 0x71, 0x6, 0x37, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xB6, + 0x3F, 0xE, 0x2C, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, + 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, + 0xF8, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x7, 0x2C, 0x2C, 0x2C, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0xF5, 0xFD, 0xFD, 0xFD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, 0x3F, + 0x33, 0x30, 0x6, 0x4, 0x5, 0x0, 0x20, 0x39, 0x25, 0x1F, 0x4, 0x1E, 0x7, 0x2F, 0x48, 0xB9, + 0xCE, 0xC9, 0xAD, 0xBF, 0xD0, 0xD0, 0xF3, 0xF3, 0xD0, 0xCB, 0xCB, 0xD0, 0xD0, 0xCB, 0x5C, 0x5D, + 0x5C, 0x5D, 0x46, 0x0, 0x51, 0x50, 0x0, 0x3, 0x5A, 0x5A, 0x0, 0x0, 0x53, 0xCF, 0xC8, 0x5C, + 0x55, 0xBF, 0xD0, 0xF3, 0xCE, 0xAD, 0xC9, 0xAD, 0x55, 0x55, 0xBF, 0xC9, 0xCE, 0xC0, 0x50, 0x54, + 0xC9, 0xCC, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xCE, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC4, 0xC9, + 0xC9, 0xC6, 0x9B, 0xB2, 0xD5, 0x9F, 0x9A, 0x9B, 0xAF, 0xB5, 0xE5, 0x6B, 0xAD, 0xD0, 0xF3, 0xF3, + 0xF3, 0xF3, 0xCC, 0xCC, 0xD0, 0xCE, 0xC0, 0xCA, 0xC0, 0xC0, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x25, 0xB5, 0x6E, 0x4, 0xDB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x31, 0xA8, 0x38, 0x2C, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAA, + 0x33, 0xE9, 0xFD, 0xBD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xB4, 0x41, + 0x33, 0x30, 0x5, 0x4, 0x5, 0x0, 0x20, 0x39, 0x25, 0x1F, 0x4, 0x1E, 0xFA, 0xFD, 0xFA, 0xFA, + 0xF3, 0xD0, 0xC9, 0xAD, 0xBF, 0xCB, 0xD0, 0xD0, 0xD0, 0xCC, 0xCA, 0xCA, 0x5C, 0x5D, 0x5C, 0x5D, + 0x5C, 0x4F, 0x1, 0x1, 0x50, 0x57, 0x0, 0x3, 0x5A, 0x5A, 0x1, 0x1, 0x10, 0xBF, 0xAD, 0x5C, + 0x55, 0xBF, 0xD0, 0xF3, 0xD0, 0xBF, 0xBF, 0xC9, 0x55, 0x55, 0x55, 0xBF, 0xCD, 0xC9, 0x46, 0x34, + 0x1A, 0x36, 0xC9, 0xF3, 0xF3, 0xF3, 0xF3, 0xD0, 0xCE, 0xCB, 0xC9, 0xC9, 0xC9, 0xCB, 0xC4, 0xCF, + 0xC4, 0xC6, 0x9B, 0xAF, 0xDE, 0x9D, 0x9A, 0x97, 0xAF, 0xAF, 0xE5, 0x6B, 0xAD, 0xD0, 0xF3, 0xF3, + 0xF3, 0xF3, 0xD0, 0xD0, 0xF3, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5A, 0x5B, 0x7, + 0x20, 0xAF, 0x6E, 0xFE, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x38, + 0xA3, 0xB4, 0xE9, 0xE, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x7, 0x38, 0xAA, 0xA8, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xB6, 0x31, 0xE, 0x2C, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xB6, 0x41, + 0x33, 0x2C, 0x23, 0x4, 0x5, 0x0, 0x1F, 0x39, 0x29, 0x1F, 0x4, 0x1E, 0xFA, 0xFA, 0xFA, 0xFA, + 0xFA, 0xF3, 0xD0, 0xCF, 0xAD, 0x4C, 0x46, 0x50, 0x51, 0x5C, 0x5D, 0xCA, 0xCA, 0xCA, 0x5C, 0x5D, + 0xCA, 0x4F, 0x46, 0x1B, 0x50, 0x5B, 0x1, 0x0, 0x55, 0x5A, 0x1A, 0x1B, 0x50, 0x8, 0x7, 0x53, + 0x55, 0xBF, 0xCE, 0xD0, 0xF3, 0xC9, 0xBF, 0xC9, 0x55, 0x55, 0x55, 0x55, 0xC9, 0xC2, 0xAB, 0xC1, + 0xC1, 0xC1, 0xCE, 0xF3, 0xF3, 0xF3, 0xF3, 0xD0, 0xD0, 0xCB, 0xC9, 0xC9, 0xBF, 0xC9, 0xCB, 0xCB, + 0xC9, 0xC6, 0x9B, 0x9B, 0x9F, 0x9D, 0x9A, 0x97, 0xAF, 0xAF, 0xDE, 0x6B, 0x54, 0xD0, 0xF3, 0xFA, + 0xFA, 0xF3, 0xD0, 0xD0, 0xF1, 0x34, 0x46, 0x5D, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5A, 0x12, + 0x31, 0xD5, 0x71, 0x0, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, + 0xBD, 0xB4, 0xA3, 0xE, 0x2C, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x7, 0x2C, 0x2C, 0xA3, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0xA3, + 0x3A, 0x31, 0x23, 0x4, 0x5, 0x0, 0xB, 0x37, 0x29, 0x20, 0x4, 0x1E, 0xFA, 0xFA, 0xF3, 0xFA, + 0xC6, 0x41, 0xE, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0xA, 0x1D, 0x50, 0x5C, 0x5C, 0x5C, + 0x5C, 0x5D, 0x5A, 0x34, 0x50, 0x5D, 0x3, 0x0, 0x51, 0x5C, 0x53, 0x47, 0x5B, 0x53, 0x5A, 0x55, + 0x55, 0x5C, 0xCE, 0xF3, 0xF3, 0xCC, 0xBF, 0xC9, 0x55, 0x55, 0x55, 0x55, 0xBF, 0xC2, 0x53, 0xC9, + 0xCE, 0xCC, 0xCC, 0xD0, 0xF3, 0xF3, 0xF3, 0xF3, 0xD0, 0xD0, 0xCE, 0xC9, 0xBF, 0xBF, 0xBF, 0xC9, + 0xC9, 0xC6, 0x9B, 0x9B, 0x9D, 0x9D, 0x9A, 0x6E, 0x97, 0xA9, 0xD5, 0x39, 0x54, 0xD0, 0xFA, 0xFA, + 0xFA, 0xF3, 0xD0, 0xD0, 0xCD, 0xC1, 0xC2, 0x5D, 0x5B, 0x5B, 0x58, 0x57, 0x58, 0x5A, 0x5A, 0x8, + 0xC, 0x25, 0x1F, 0x5, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0x9, 0x9, + 0xE, 0xE, 0x9, 0x9, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x7, 0x9, 0xE, 0x9, 0x9, 0x7, 0x2C, + 0x31, 0xE, 0xE, 0x2C, 0x2C, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, 0x31, 0x2C, 0xE, 0xE, 0x2C, + 0xE, 0xE, 0x7, 0x2C, 0x38, 0xA3, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x41, 0xB6, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA5, + 0x3A, 0x33, 0xE, 0x4, 0x5, 0x0, 0x5, 0x30, 0x30, 0x20, 0x4, 0x4, 0xCF, 0xA6, 0x33, 0x0, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0xA, 0x36, 0x54, 0xAD, 0x5C, + 0xCA, 0x5D, 0x5C, 0x1, 0x1B, 0x5D, 0x12, 0x0, 0x52, 0x5C, 0xC9, 0x51, 0x5A, 0xA, 0x53, 0x55, + 0x55, 0x5C, 0xD0, 0xF3, 0xD0, 0xD0, 0x5C, 0xBF, 0xC9, 0xC9, 0xC9, 0xBF, 0xBF, 0xC9, 0x4F, 0xBF, + 0xD0, 0xCC, 0xCC, 0xCC, 0xD0, 0xF3, 0xF3, 0xD0, 0xF3, 0xF3, 0xCE, 0xC9, 0xCA, 0xC9, 0xBF, 0xBF, + 0xBF, 0xCD, 0x96, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x77, 0x77, 0x9A, 0x71, 0x55, 0xD0, 0xFA, 0xFA, + 0xFA, 0xF3, 0xCA, 0xCE, 0x5D, 0x5B, 0x5B, 0x58, 0x5B, 0x58, 0x5B, 0x58, 0x58, 0x5A, 0x5A, 0x23, + 0x5, 0x1F, 0x4, 0xD, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, + 0xBB, 0xF7, 0xFD, 0xFD, 0xF9, 0xA8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x7, 0x7, 0x0, + 0x7, 0x1, 0x0, 0x0, 0x38, 0x3A, 0x3A, 0x3A, 0x7, 0x0, 0x7, 0x7, 0x7, 0x7, 0x1, 0x7, + 0x3A, 0xE, 0x3A, 0x41, 0x33, 0xE, 0x2C, 0x31, 0x2C, 0xE, 0x2C, 0x2C, 0x41, 0xAA, 0x41, 0x31, + 0x2C, 0x2C, 0x2C, 0x2C, 0xAA, 0x31, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0xB7, 0xB4, 0x38, 0x2C, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xBD, 0xA8, + 0x3A, 0x33, 0xE, 0x0, 0x4, 0x4, 0xB, 0x37, 0x30, 0x20, 0x4, 0x1E, 0x0, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1, 0xA, 0x3A, 0xB4, 0xEC, 0xD0, 0xCB, 0xCB, 0xD0, 0xCF, 0x5C, + 0xCA, 0x5A, 0x1A, 0x3, 0x1A, 0x5D, 0x1D, 0x0, 0x4F, 0x5D, 0xCA, 0x5A, 0x56, 0x1, 0xF, 0x46, + 0x55, 0x5C, 0xD0, 0xF3, 0xF3, 0xF3, 0xC9, 0xBF, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xCD, 0x46, 0xA, + 0xA, 0x1C, 0xAD, 0x5C, 0xCB, 0xCE, 0xD0, 0xD0, 0xD0, 0xD0, 0xCD, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, + 0xBF, 0xC9, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xD0, 0xD0, 0xFA, 0xFA, + 0xFA, 0xEC, 0x4F, 0x4F, 0x46, 0x46, 0x47, 0x59, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x5A, 0x5A, 0xC, + 0x32, 0xB2, 0x29, 0x20, 0x6, 0xE2, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, + 0x41, 0x2C, 0x2C, 0x41, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0x2C, 0x1, + 0x7, 0x7, 0x7, 0x0, 0x7, 0x2C, 0xE, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x0, + 0x7, 0x7, 0x3F, 0x33, 0x0, 0x7, 0xE, 0xE, 0x2C, 0x2C, 0x2C, 0x3F, 0x94, 0x38, 0x3C, 0xA3, + 0x94, 0x31, 0xE, 0x94, 0x33, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, + 0xA3, 0xFD, 0xFD, 0xF9, 0xBD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA8, + 0x3B, 0x33, 0xD, 0x0, 0x4, 0x4, 0xB, 0x30, 0x30, 0x20, 0x4, 0x1E, 0xFE, 0xFE, 0xFE, 0x0, + 0x7, 0x2D, 0x94, 0xB6, 0xF0, 0xF8, 0xFA, 0xCF, 0xF3, 0xFA, 0xFA, 0xF3, 0xC9, 0xCB, 0xCF, 0x5C, + 0xCA, 0x5C, 0x52, 0x52, 0x4F, 0x5D, 0x46, 0x0, 0x46, 0xCA, 0x5C, 0x5C, 0x51, 0x56, 0x10, 0x1, + 0x1B, 0xBF, 0xD0, 0xD0, 0xD0, 0xD0, 0xC9, 0xC9, 0xAD, 0xC9, 0xC9, 0xC4, 0xC9, 0xCE, 0x55, 0xBE, + 0xC1, 0x48, 0x3A, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x8, 0x1A, 0x55, 0x5C, 0xC9, 0xCB, 0xC9, 0xCB, 0xCE, 0xC9, 0xCC, 0xCA, 0xD0, 0xFA, 0xFA, + 0xFA, 0xF1, 0xBF, 0xBE, 0xBF, 0xC2, 0xC0, 0xC0, 0x5B, 0x58, 0x58, 0x57, 0x58, 0x57, 0x5A, 0xC, + 0xB, 0x9B, 0x37, 0xB, 0x25, 0x37, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xE, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF7, 0xBB, 0xFD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0x2C, 0x1, + 0x7, 0x7, 0x1, 0x7, 0x7, 0x7, 0x1, 0x1, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x1, + 0x7, 0x7, 0x1, 0x1, 0x7, 0x7, 0x7, 0x7, 0xE, 0xE, 0x38, 0xB4, 0x3A, 0xA3, 0xE, 0x31, + 0x3C, 0xA3, 0xAA, 0x41, 0x7, 0x94, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0x31, 0xBD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBB, 0xA3, + 0x3A, 0x32, 0xB, 0x0, 0x6, 0x0, 0x0, 0x5, 0x30, 0x25, 0x4, 0x1E, 0x1, 0x33, 0xA4, 0xE9, + 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFA, 0xFA, 0xF3, 0xF3, 0xD0, 0xF3, 0xFA, 0xF3, 0xF3, 0xF3, 0x5C, + 0xCA, 0xCA, 0xCA, 0x4F, 0x1C, 0x5D, 0x50, 0x0, 0x36, 0xF3, 0xCC, 0xCA, 0xC9, 0x59, 0x57, 0x43, + 0x3, 0x3, 0x46, 0x5C, 0x5C, 0xBF, 0x5C, 0x5C, 0x5C, 0xC9, 0xC9, 0xCD, 0xBF, 0xCE, 0xBF, 0x3B, + 0x2E, 0x7, 0x1, 0x0, 0x0, 0x0, 0xFE, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x55, 0x55, 0x5C, 0xCA, 0x5C, 0xCA, 0xCA, 0xD0, 0xFA, 0xFA, + 0xF3, 0xC0, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x5B, 0x58, 0x58, 0x57, 0x5A, 0xC, + 0x20, 0x9B, 0x6B, 0x25, 0x29, 0x20, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF5, 0xBD, 0x2C, + 0xE, 0x31, 0xBD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xE, 0xE, 0x0, + 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0xE, 0xE, 0xE, 0xE, 0xE, 0x7, + 0x0, 0x7, 0x7, 0x7, 0x1, 0x7, 0x7, 0x7, 0x7, 0x7, 0x3C, 0x3F, 0xA5, 0x3A, 0xA3, 0xA3, + 0x33, 0x3C, 0x38, 0x2C, 0x2C, 0x0, 0x94, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xBB, 0x41, 0x2C, 0x2C, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB7, 0xA3, + 0x38, 0x31, 0xB, 0x4, 0x4, 0x0, 0xFE, 0x5, 0x30, 0x25, 0x1E, 0x1E, 0xFA, 0xFA, 0xFA, 0xFD, + 0xFA, 0xFD, 0xFA, 0xFA, 0xFA, 0xFD, 0xFA, 0xFA, 0xF3, 0xF3, 0xD0, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCC, 0xCA, 0x46, 0x3, 0x3, 0x5D, 0x5B, 0xA, 0x1C, 0xF3, 0xF3, 0xD0, 0xCC, 0xCA, 0x55, 0x51, + 0x56, 0x10, 0xF, 0x1C, 0x5C, 0xBF, 0x5C, 0x5C, 0x5C, 0xC9, 0xCD, 0xAC, 0xBF, 0xCE, 0x5A, 0x3, + 0x7, 0x1, 0x7, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x3, 0xBF, 0xC9, 0xCA, 0xCC, 0xD0, 0xF3, 0xCA, + 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x57, 0x57, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5A, 0x5A, 0xB, + 0x25, 0x9B, 0x37, 0x5, 0x1F, 0x20, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xE, 0xE9, + 0xFD, 0xF0, 0x3C, 0xB4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF0, 0xEA, 0xEA, 0xEA, 0xEA, 0xE, 0x7, 0x7, + 0x7, 0x7, 0x7, 0xE, 0xE, 0xE, 0xE, 0x9, 0xE, 0x7, 0xE, 0xE, 0xE, 0xE, 0xE, 0xE, + 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0xE, 0xE, 0x2C, 0x2C, 0xE, + 0x2C, 0x31, 0x7, 0x2C, 0x2C, 0x2C, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0x94, + 0x3A, 0x32, 0xB, 0x0, 0x4, 0x4, 0xB, 0x38, 0x25, 0x25, 0x4, 0x1E, 0xD0, 0xF3, 0xFA, 0xFA, + 0xFA, 0xFA, 0xFA, 0xF7, 0xC6, 0xA5, 0x52, 0x4F, 0x53, 0x55, 0xC9, 0xCE, 0xC9, 0xC4, 0xAD, 0xAD, + 0xAD, 0xCB, 0x55, 0x4F, 0x36, 0x5A, 0x5D, 0x5A, 0x1C, 0xF3, 0xF3, 0xF3, 0xF3, 0xD0, 0xC9, 0xAD, + 0x55, 0x5B, 0x1D, 0x3, 0x50, 0x5C, 0x5C, 0x5C, 0xC9, 0x5C, 0xCB, 0xE3, 0xC4, 0xCE, 0x5C, 0x43, + 0xBF, 0xBF, 0xBF, 0xBF, 0xC9, 0xC9, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, + 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5A, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x58, 0x58, 0x58, 0x57, 0x58, 0x57, 0x57, 0x58, 0x57, 0x58, 0x58, 0x58, 0x5A, 0x5A, 0x7, + 0x20, 0x9D, 0x37, 0x20, 0x20, 0x27, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, 0xB4, 0x3A, 0xF7, + 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xE9, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xE9, + 0xF5, 0xF9, 0x7, 0x2C, 0x2C, 0x2C, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB8, 0x94, + 0x33, 0x2E, 0xB, 0x0, 0x5, 0x4, 0x25, 0x6E, 0x37, 0x1F, 0x4, 0x1E, 0xCD, 0xD0, 0xD0, 0xCD, + 0xAD, 0x3D, 0x2D, 0x3, 0x1, 0x1, 0x1, 0x3, 0x3, 0xA, 0x47, 0xC1, 0x49, 0x1A, 0x1A, 0x35, + 0x36, 0xC9, 0x5C, 0x5A, 0x52, 0x55, 0x5C, 0xCA, 0x5C, 0xCC, 0xD0, 0xD0, 0xD0, 0xF3, 0xC9, 0xC9, + 0x5C, 0x5A, 0x5B, 0x59, 0x51, 0x5C, 0x5C, 0x5C, 0x5C, 0xC9, 0xC9, 0xC4, 0x5C, 0xCE, 0x5D, 0x46, + 0xCA, 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCC, 0xCC, 0xCA, 0xCA, 0xCC, 0xCC, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x5B, 0x5B, + 0x5B, 0x5B, 0x58, 0x5A, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x7, + 0xD, 0x9B, 0x37, 0xD, 0x22, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0x3A, 0xE, 0x31, + 0xBD, 0xF0, 0xAA, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xEA, + 0xF7, 0xFD, 0x7, 0x2C, 0x2C, 0x2C, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xBB, 0x41, 0x2C, 0x2C, 0x41, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB7, 0x94, + 0x38, 0x32, 0xE, 0x0, 0x5, 0x0, 0xB, 0x37, 0x29, 0x1F, 0x1E, 0x1E, 0x52, 0x2F, 0xA, 0x1, + 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x9, 0xA, 0x2E, 0xA, 0x34, 0xBF, 0xBF, 0x36, 0x1A, 0x1C, + 0x36, 0xC9, 0x5C, 0x5A, 0x52, 0x4C, 0x3D, 0x4E, 0x52, 0xC9, 0xCA, 0xCB, 0xCB, 0xCA, 0xC9, 0x5C, + 0x5C, 0x5C, 0x1A, 0x5A, 0x5A, 0x5C, 0x5C, 0x5C, 0x5C, 0xC9, 0xCB, 0xE3, 0xC3, 0xCE, 0xC0, 0x1D, + 0x55, 0xC4, 0xBF, 0xBF, 0xC9, 0xCA, 0xCC, 0xCA, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x58, 0x58, 0x58, 0x5A, 0xE, + 0x20, 0x9B, 0x37, 0x20, 0x22, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xE9, + 0xA3, 0x33, 0xE, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xE9, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xE9, + 0xF5, 0xF9, 0x0, 0xE, 0x2C, 0x2C, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0xFD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, + 0x3A, 0x31, 0xE, 0x0, 0x4, 0x0, 0x6, 0x37, 0x20, 0x1F, 0x1E, 0x4, 0x7, 0x0, 0x0, 0x0, + 0x7, 0x0, 0x1, 0x0, 0x0, 0x9, 0xE, 0xA, 0x16, 0xA, 0x1A, 0x49, 0xEC, 0x47, 0x1A, 0x1C, + 0x4C, 0x5C, 0x5C, 0x5C, 0x53, 0x4C, 0x3D, 0x36, 0x52, 0x55, 0xC9, 0xCD, 0xCB, 0xC9, 0x54, 0xAD, + 0x55, 0x5C, 0x1C, 0x46, 0x5C, 0x5C, 0xC9, 0xC9, 0xC9, 0xCB, 0xCB, 0xC9, 0xC9, 0xCE, 0x5C, 0x7, + 0x1, 0x1, 0x2C, 0x4C, 0xCD, 0xC9, 0xC4, 0x55, 0xAD, 0x5C, 0x5C, 0x5C, 0x5C, 0x55, 0x5A, 0x5A, + 0x5A, 0x57, 0x51, 0x51, 0x51, 0x57, 0x5A, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x58, 0x5A, 0x5A, 0x58, 0x5A, 0x5A, 0x7, + 0x20, 0x9B, 0x25, 0xD, 0x22, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF8, 0xBD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF0, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, + 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, + 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xE9, 0xE9, 0xBD, 0xBD, 0xBD, + 0xEA, 0xF7, 0x0, 0x7, 0x9, 0xE, 0x7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, + 0xA3, 0xBD, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xAA, + 0x3B, 0x33, 0x2C, 0x4, 0x6, 0x4, 0x25, 0x6E, 0x25, 0x1F, 0x4, 0x1E, 0x8, 0x1, 0x1, 0x1, + 0x3, 0x3, 0x1, 0x1, 0x0, 0x3, 0x3, 0x3, 0x3, 0x3, 0xA, 0x1B, 0xBE, 0xCD, 0x46, 0x1A, + 0x36, 0x5C, 0x5C, 0x5C, 0x55, 0x52, 0x36, 0x1B, 0x1A, 0x1B, 0x12, 0x2C, 0x9, 0x0, 0xFE, 0xFE, + 0xFE, 0x53, 0x46, 0x1D, 0x5D, 0x5A, 0x5A, 0x5C, 0xCD, 0xCE, 0xD0, 0xCD, 0x5C, 0xCD, 0x5C, 0x1B, + 0x1A, 0x12, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, + 0x3, 0xF, 0x3, 0x3, 0x3, 0x3, 0x12, 0x50, 0x5A, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x20, 0x79, 0x20, 0xD, 0x22, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x41, + 0xB6, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, + 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, + 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF7, 0xF0, 0xE9, 0xBD, 0xBD, + 0xE9, 0xF5, 0x0, 0x1, 0x1, 0x7, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xB6, 0x41, 0x2C, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, + 0x3B, 0x33, 0x2C, 0x4, 0x4, 0x0, 0x25, 0x71, 0x29, 0x1F, 0x1E, 0x1E, 0x2D, 0x1A, 0xA, 0xA, + 0xA, 0xA, 0xA, 0xA, 0x1, 0x1, 0x3, 0x3, 0x3, 0x1A, 0x1C, 0x1A, 0x46, 0xC1, 0xEC, 0x49, + 0x12, 0x12, 0x1C, 0x1D, 0x36, 0x3D, 0x1, 0x1, 0x1, 0x1, 0xFE, 0x0, 0x0, 0x0, 0xFE, 0xFE, + 0x0, 0x1C, 0xBF, 0x1A, 0xCA, 0x5A, 0xCA, 0xCA, 0xD0, 0xD0, 0xF3, 0xD0, 0xD0, 0xD0, 0x5C, 0x49, + 0x4A, 0x49, 0x49, 0x44, 0x1B, 0x2D, 0x1B, 0x1B, 0x1B, 0x1B, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, + 0x34, 0x34, 0x1B, 0x34, 0x34, 0x34, 0x2D, 0x8, 0x1, 0x12, 0x1B, 0x1D, 0x46, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5A, 0x5A, 0xB, + 0x20, 0x9B, 0x25, 0x20, 0x29, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xB7, + 0xB4, 0x38, 0x2C, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, + 0x3B, 0x33, 0x2C, 0x0, 0x4, 0xFE, 0x30, 0x6E, 0x28, 0x1F, 0x1E, 0x4, 0x12, 0xE, 0x3, 0x3, + 0x3, 0x3, 0x3, 0x1, 0x0, 0x0, 0x3, 0x1A, 0x36, 0x1C, 0x1C, 0x1A, 0x1A, 0x36, 0xBF, 0xF1, + 0xC2, 0xAB, 0x46, 0x1B, 0x12, 0x12, 0x8, 0x8, 0x8, 0x0, 0x43, 0x43, 0x43, 0x43, 0x1B, 0x10, + 0x0, 0x1, 0x5C, 0x5C, 0x5A, 0x51, 0x5C, 0x5C, 0xCA, 0xD0, 0xF3, 0xD0, 0xD0, 0xF3, 0x5C, 0xAB, + 0xBE, 0xBE, 0xAB, 0x49, 0x4A, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, + 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x4A, 0x49, 0x49, 0x49, 0x49, 0x49, 0xAB, 0x5A, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5A, 0x5A, 0xB, + 0xC, 0x9B, 0x30, 0x20, 0x29, 0x28, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, 0xA3, + 0xFD, 0xFD, 0xF9, 0xBD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0x2C, 0xE, 0x33, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xAA, + 0x3C, 0x33, 0xE, 0x0, 0x4, 0x0, 0x39, 0x97, 0x28, 0x1F, 0x1E, 0x1E, 0x12, 0x8, 0x8, 0x3, + 0x3, 0xA, 0x1A, 0xA, 0x1, 0x0, 0x3, 0xA, 0x1A, 0x1C, 0x1C, 0x1C, 0x1A, 0x1A, 0x1C, 0x52, + 0xAD, 0xEC, 0xF1, 0xEC, 0xCE, 0xC1, 0xC1, 0xC1, 0xC1, 0xAB, 0x5A, 0x5C, 0x5C, 0x5C, 0x5C, 0x5A, + 0x50, 0x10, 0x36, 0xCA, 0x5A, 0x46, 0x18, 0x50, 0x5C, 0xCC, 0xD0, 0xF3, 0xD0, 0xF3, 0xC9, 0xBF, + 0xBF, 0xCD, 0xBF, 0xCD, 0xC1, 0xC2, 0xC2, 0xC2, 0xC1, 0xC1, 0xC2, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, + 0xBE, 0xBE, 0xC1, 0xC1, 0xC1, 0xC1, 0xF1, 0xCE, 0xCE, 0xC2, 0xC2, 0xCE, 0xC0, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xD, + 0x5, 0x71, 0x32, 0xC, 0x29, 0x1F, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x31, + 0xBD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, + 0xD8, 0xF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0xE9, 0xFD, 0xF0, 0x3A, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA5, + 0x3C, 0x32, 0xB, 0x0, 0x5, 0x0, 0x39, 0x6F, 0x22, 0x21, 0x1E, 0x1E, 0x8, 0x7, 0x3, 0x9, + 0x3, 0xA, 0x3, 0x3, 0xA, 0xA, 0x3, 0xA, 0x18, 0x1B, 0x1A, 0x1C, 0x36, 0x36, 0x36, 0x36, + 0x36, 0x4F, 0x5A, 0x56, 0x51, 0x36, 0x1D, 0x1B, 0x1B, 0x34, 0x51, 0x5C, 0xCA, 0xCA, 0x5C, 0xCA, + 0xCA, 0x5D, 0x1B, 0x5C, 0x5A, 0x5A, 0x42, 0x10, 0x51, 0xC9, 0xCC, 0xF3, 0xF3, 0xF3, 0xCA, 0xBF, + 0xC2, 0xCE, 0xEC, 0xF7, 0xF1, 0xF1, 0xF1, 0xEC, 0xCE, 0xCE, 0xEC, 0xEC, 0xCD, 0xCD, 0xCD, 0xC2, + 0xC1, 0xC1, 0xC1, 0xC2, 0xC1, 0xEC, 0xCE, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xD, + 0x5, 0x97, 0x37, 0xD, 0x37, 0x1F, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, + 0x41, 0x2C, 0x2C, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, + 0xE, 0xE, 0xE, 0x9, 0xE, 0xE, 0xE, 0x2C, 0x2C, 0x2C, 0xE, 0xE, 0x2C, 0xE, 0xE, 0xE, + 0xE, 0xE, 0xE, 0x2C, 0x31, 0x2C, 0x2C, 0xE, 0x31, 0x31, 0x2C, 0xE, 0x2C, 0x7, 0x7, 0x7, + 0x7, 0x9, 0x0, 0x7, 0x7, 0x0, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, + 0xB6, 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB6, 0x94, + 0x38, 0x25, 0x1F, 0x4, 0x4, 0x0, 0x39, 0xA7, 0x28, 0x1F, 0x1E, 0x1E, 0x8, 0x7, 0xA, 0x2C, + 0x1A, 0x12, 0xA, 0x1A, 0x12, 0xA, 0xA, 0x1A, 0x1A, 0x18, 0x1B, 0x1A, 0x1C, 0x1A, 0x1C, 0x1C, + 0x34, 0x4C, 0x5C, 0x51, 0x50, 0xF, 0x10, 0x11, 0x11, 0xF, 0x1B, 0x46, 0x1A, 0x36, 0x50, 0x5C, + 0xCA, 0xCA, 0x5C, 0x50, 0xCA, 0x5C, 0x5C, 0x50, 0x43, 0xA, 0x52, 0xD0, 0xF3, 0xF3, 0xCE, 0xF1, + 0xF1, 0xF1, 0xCE, 0xCE, 0xD0, 0xD0, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xD, + 0x4, 0xA7, 0x39, 0x20, 0x65, 0x1E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF7, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x7, 0x3F, + 0x2C, 0x2C, 0x7, 0x0, 0x7, 0xE, 0xE, 0x31, 0x38, 0x33, 0xE, 0x41, 0x38, 0x3F, 0xA5, 0x2C, + 0x31, 0xA3, 0xB4, 0x41, 0x2C, 0xE, 0xE, 0x3C, 0xA8, 0xE, 0xA3, 0xA3, 0x3A, 0x7, 0x7, 0x0, + 0x0, 0x7, 0x7, 0x7, 0x9, 0x7, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, + 0x31, 0xE9, 0xF7, 0xB6, 0xB4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xB4, 0x41, + 0x33, 0x25, 0x1F, 0x4, 0x6, 0x0, 0x39, 0x9B, 0x28, 0x1F, 0x1E, 0x1E, 0x8, 0x8, 0xA, 0x12, + 0x1A, 0x1A, 0xA, 0xA, 0x12, 0x12, 0x10, 0xF, 0x1, 0x1, 0x1, 0xF, 0xF, 0xF, 0xF, 0xF, + 0xF, 0x11, 0x11, 0x10, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x43, 0x1B, 0x1, 0x0, 0x0, 0x0, + 0x3, 0x53, 0x5A, 0x50, 0xCA, 0xCA, 0xCA, 0x5C, 0x5D, 0xC0, 0xCA, 0xCC, 0xF3, 0xFA, 0xD0, 0xCE, + 0xCE, 0xCE, 0xD0, 0xD0, 0xD0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, + 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0xFE, 0xAE, 0x3E, 0x20, 0x6B, 0x1E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x3A, + 0xA3, 0xB6, 0xE9, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x7, 0x2C, 0x3C, + 0xA3, 0x2C, 0x7, 0x1, 0x7, 0xE, 0xE, 0xE, 0xE, 0x2C, 0x3C, 0x3C, 0xE, 0xB4, 0xB6, 0x3A, + 0x38, 0xA8, 0x38, 0x2C, 0x2C, 0xE, 0xE, 0x7, 0x38, 0x33, 0x0, 0x7, 0xE, 0x7, 0x7, 0x7, + 0x7, 0x1, 0x0, 0x0, 0x7, 0x7, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xBB, 0x41, 0x2C, 0xE, 0xA3, 0xD8, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA8, 0x3A, + 0x31, 0x30, 0x1F, 0x4, 0x6, 0x0, 0x3E, 0xAF, 0x28, 0x1F, 0x4, 0x1E, 0xF, 0x1, 0x1, 0x1, + 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x3, 0x1, 0x1, 0x1, 0x1, 0xFE, 0xFE, 0xFE, 0xFE, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x46, 0x1A, 0x1, 0x0, 0x1, 0x0, + 0x0, 0x1A, 0x5A, 0x1B, 0x53, 0xCA, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xD0, 0xF3, 0xCE, 0xC9, + 0xC9, 0xC9, 0xCD, 0xC9, 0xAD, 0x43, 0x43, 0x43, 0x5C, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0xFE, 0xBC, 0xA9, 0x20, 0x71, 0x1E, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xE9, + 0xB6, 0x3C, 0xE, 0x3A, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0x33, 0x2C, + 0x41, 0xA8, 0x33, 0x7, 0x7, 0x7, 0x7, 0xE, 0x38, 0x41, 0x31, 0xE, 0x31, 0x33, 0x38, 0x3A, + 0x33, 0x38, 0x31, 0x31, 0x33, 0x33, 0x2C, 0xE, 0xE, 0xA8, 0x0, 0x7, 0x7, 0x1, 0x7, 0xE, + 0xE, 0x7, 0x7, 0x0, 0x0, 0x1, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, 0x3A, + 0x31, 0x30, 0x6, 0x4, 0x4, 0x0, 0x6C, 0x9B, 0x22, 0x1F, 0x4, 0x1E, 0x1, 0x1, 0x1, 0x1, + 0xF, 0xF, 0xF, 0x1, 0x0, 0xFE, 0x3, 0x4F, 0x53, 0x59, 0x53, 0x53, 0x12, 0x0, 0xFE, 0xFE, + 0x0, 0x0, 0x0, 0xFE, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x46, 0xA, 0x0, 0x1, 0x1D, 0x0, + 0x0, 0x1, 0x55, 0x1D, 0xA, 0x2F, 0x2F, 0x34, 0x53, 0x55, 0x52, 0x3D, 0x36, 0x36, 0x2F, 0x12, + 0x1A, 0x1A, 0x1B, 0x13, 0x12, 0x46, 0x4F, 0x4F, 0x4F, 0x55, 0xC0, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, + 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5D, 0xD, + 0xFE, 0xE0, 0xBA, 0x20, 0x9B, 0x1F, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xBD, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF8, 0xF8, 0xF8, 0xE, 0x2C, 0x2C, + 0x2C, 0x38, 0xA3, 0xB6, 0xA3, 0x33, 0x3C, 0x41, 0x3A, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x38, 0xAA, + 0x38, 0x33, 0x31, 0x38, 0x38, 0x33, 0x33, 0xE, 0xE, 0xAA, 0x9, 0x9, 0x7, 0x1, 0x1, 0x7, + 0x9, 0xE, 0xE, 0x7, 0x1, 0x1, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA8, 0x3A, + 0x33, 0x2C, 0x6, 0x4, 0x4, 0x0, 0x6B, 0x9B, 0x29, 0x1F, 0x4, 0x4, 0x1, 0x1, 0x1, 0x1, + 0x1, 0xF, 0x1, 0x1, 0xFE, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xF, 0xF, 0xF, 0xF, + 0xF, 0xF, 0x1, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x46, 0x3, 0x0, 0x1, 0x4C, 0x4B, + 0x0, 0x0, 0xA, 0xA, 0x3, 0x46, 0x52, 0x52, 0x47, 0x47, 0x50, 0x5C, 0x5A, 0x5A, 0x5A, 0x5C, + 0x5C, 0x5C, 0x5C, 0x5C, 0x53, 0x5C, 0xCA, 0xCA, 0xBF, 0x53, 0x55, 0xCA, 0xCC, 0xCA, 0xCA, 0x5D, + 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5D, 0x5D, 0x6, + 0x0, 0xED, 0xD7, 0x1F, 0x9B, 0x1F, 0xED, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF5, 0xEE, 0xEA, 0xEA, 0x7, 0x31, 0x2C, + 0x2C, 0xE, 0x2C, 0x31, 0x33, 0x33, 0x2C, 0xE, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x31, 0xB6, + 0x31, 0x2C, 0x33, 0x38, 0x38, 0x33, 0x31, 0x2C, 0x31, 0xB6, 0x33, 0x2C, 0xE, 0x7, 0x7, 0x7, + 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xAA, 0x3F, + 0x2F, 0x2C, 0x6, 0x4, 0x4, 0x4, 0x37, 0x9B, 0x29, 0x1E, 0x4, 0x4, 0x0, 0x0, 0x2A, 0x6, + 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, + 0x1, 0x1, 0x1, 0xFE, 0x0, 0x0, 0x0, 0x0, 0xFE, 0x8, 0x43, 0x1, 0x0, 0x1, 0x36, 0x27, + 0x0, 0x0, 0x0, 0x8, 0x4F, 0x4F, 0x4F, 0x4F, 0x47, 0x47, 0x55, 0xC9, 0xCB, 0xCA, 0xCB, 0xD0, + 0xCE, 0xCE, 0xCB, 0xCB, 0xC9, 0x5C, 0xCA, 0xCA, 0xCE, 0xCC, 0xD0, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, + 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5D, 0x5D, 0x6, + 0x0, 0xD8, 0xBA, 0x1F, 0x71, 0x1F, 0xEF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0x31, + 0xE, 0x31, 0xB6, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xE9, 0xBD, 0xBD, 0xBD, 0x7, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x33, 0xB4, + 0x33, 0x2C, 0x33, 0x38, 0x3A, 0x33, 0x2C, 0x33, 0x38, 0x94, 0x3A, 0x2C, 0x2C, 0x2C, 0xE, 0x9, + 0x7, 0x7, 0x7, 0x7, 0x7, 0xE, 0x1, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xAA, 0x3F, + 0x2F, 0x2C, 0x4, 0x4, 0x6, 0x4, 0x20, 0xB2, 0x37, 0x4, 0x4, 0x1E, 0x0, 0x25, 0x4B, 0x0, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x46, 0x0, 0xFE, 0x0, 0x3, 0x42, + 0x1, 0x0, 0x0, 0x1, 0x4F, 0x53, 0x53, 0x53, 0x47, 0x46, 0x50, 0xC9, 0xCE, 0xCE, 0xCE, 0xCC, + 0xCE, 0xD0, 0xD0, 0xCC, 0xCE, 0xCC, 0xD0, 0xD0, 0xD0, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, + 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5D, 0x5D, 0x6, + 0xFE, 0xD8, 0xB0, 0x20, 0x71, 0x1F, 0xF6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xBD, + 0xFD, 0xE, 0xA3, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xBD, 0x7, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x31, 0x2C, 0x2C, 0x2C, 0x2C, 0xE, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x3A, + 0xAA, 0xA3, 0x33, 0x33, 0x31, 0x2C, 0x31, 0x33, 0x38, 0x38, 0x3A, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, + 0xE, 0x9, 0x7, 0x1, 0x7, 0x7, 0x0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xB4, 0x3F, + 0x34, 0x2C, 0x4, 0x4, 0x6, 0x4, 0x1F, 0xD5, 0x6B, 0x4, 0x1E, 0x1E, 0xFE, 0x0, 0x0, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0xFE, 0x0, 0x0, 0xFE, 0x12, 0x36, 0x0, 0xFE, 0xFE, 0xFE, 0x1, + 0x1B, 0x3, 0x0, 0x1, 0x1B, 0x50, 0x56, 0x51, 0x46, 0x43, 0x50, 0xC0, 0xCE, 0xD0, 0xD0, 0xD0, + 0xD0, 0xD0, 0xD0, 0xD0, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0x5D, + 0x5B, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5D, 0x6, + 0x20, 0xFB, 0xBA, 0x25, 0x6B, 0x4, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF8, + 0xFD, 0xE, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0x0, 0xE, 0x2C, + 0x2C, 0x33, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, + 0xE, 0x33, 0xA8, 0xA3, 0x33, 0xE, 0x41, 0xB4, 0x3A, 0x3A, 0x31, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2C, 0x2C, 0x7, 0x7, 0x0, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xAA, 0x3F, + 0x38, 0x30, 0x4, 0x4, 0x4, 0x4, 0x4, 0xD5, 0x71, 0x1E, 0x1E, 0x1E, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x2B, 0x16, 0x24, 0x6, 0x16, 0x9, 0x16, 0x7, 0x24, 0x7, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x36, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, + 0x0, 0x1A, 0x0, 0x0, 0x3, 0x5A, 0x5C, 0x5C, 0x46, 0x43, 0x3, 0x18, 0x1D, 0x46, 0x4C, 0x54, + 0xBF, 0xBF, 0xC9, 0xC9, 0xCC, 0xCC, 0xCC, 0x5C, 0x53, 0x53, 0x59, 0x59, 0x50, 0x50, 0x50, 0x50, + 0x50, 0x50, 0x50, 0x50, 0x50, 0x56, 0x56, 0x50, 0x51, 0x5D, 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, + 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x1F, + 0xB, 0xAF, 0x39, 0xB, 0x37, 0x97, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x3A, + 0xFD, 0xE, 0xF0, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0xBB, 0x0, 0x7, + 0x7, 0x2C, 0x7, 0xE, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0xE, 0xE, 0x2C, 0x2C, + 0xE, 0x7, 0x7, 0x7, 0x2C, 0x2C, 0x2C, 0xE, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, + 0x7, 0x7, 0x7, 0x7, 0x0, 0x94, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xA8, 0x3C, + 0x33, 0xE, 0x4, 0x6, 0x4, 0x4, 0x0, 0x9B, 0xB2, 0x4, 0x4, 0x1E, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x98, 0x7, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0xFE, 0x1A, 0x36, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0x0, 0x1A, 0x0, 0x0, 0x1, 0x1D, 0x59, 0x59, 0x43, 0x43, 0x8, 0x3, 0x3, 0xF, 0x10, 0x10, + 0x2F, 0xCD, 0xCE, 0xCE, 0xCE, 0xCD, 0xCE, 0x12, 0x3, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x18, 0x12, 0x12, 0x12, 0x12, 0x1A, 0x12, 0x12, 0x12, 0x50, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, + 0x5D, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5D, 0x1F, + 0xFE, 0x0, 0x4, 0xB, 0x4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, + 0xFD, 0xE, 0x2C, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xBD, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, + 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, + 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBD, + 0xD8, 0xF0, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, 0x3A, + 0x31, 0xB, 0x0, 0x6, 0x4, 0x4, 0x4, 0x6C, 0x9B, 0x1E, 0x4, 0x1E, 0x0, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x2, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x1D, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0x12, 0x0, 0x0, 0x0, 0x1, 0x53, 0x5A, 0x42, 0x4F, 0x46, 0x36, 0x36, 0x36, 0x34, 0x1A, + 0x12, 0x1A, 0x34, 0x34, 0x36, 0x46, 0x34, 0x12, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x3D, 0x3D, + 0x3D, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x36, 0x46, 0x4F, 0x50, 0x57, 0x5A, 0x5B, 0x5B, + 0x5D, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x6, + 0xB, 0x29, 0x32, 0x4, 0x20, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, 0xBD, 0xBD, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, + 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, + 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBD, 0xBD, + 0xE9, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB8, 0x94, 0x3A, + 0x31, 0xB, 0x4, 0x6, 0x4, 0x4, 0x0, 0x5, 0x20, 0x1F, 0x1E, 0x4, 0x0, 0x0, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x36, 0x0, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0x12, 0xFE, 0x0, 0x0, 0x0, 0x12, 0x5A, 0x43, 0x50, 0x59, 0x55, 0x55, 0x59, 0x53, 0x53, + 0x53, 0x34, 0x34, 0x34, 0x34, 0x34, 0x12, 0x1A, 0x4F, 0x52, 0x52, 0x52, 0x52, 0x55, 0x52, 0x52, + 0x52, 0x54, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x5C, 0x36, 0x1B, 0x1B, 0x1B, 0x1A, 0x59, + 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xC, + 0x0, 0x9B, 0x6E, 0xFE, 0xEF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, 0xBD, + 0xEA, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB6, 0x41, 0x38, + 0x30, 0xD, 0x6, 0x4, 0x4, 0x5, 0xFE, 0x0, 0x1F, 0x1F, 0x1F, 0x1E, 0x46, 0x4F, 0x4F, 0x46, + 0x46, 0x46, 0x4F, 0x46, 0x43, 0x43, 0x1D, 0x1A, 0x3, 0xFE, 0xFE, 0xFE, 0x0, 0x12, 0x12, 0x12, + 0x12, 0x12, 0x0, 0xFE, 0x12, 0x0, 0x0, 0x0, 0x0, 0x12, 0x34, 0x1, 0x1, 0x1, 0x1, 0x1, + 0x0, 0x12, 0x1, 0x1, 0x1, 0x1, 0x1, 0x43, 0x43, 0x55, 0x5C, 0x5C, 0x5C, 0xC0, 0xC0, 0xC0, + 0xBF, 0xC9, 0xCA, 0xC0, 0xC0, 0xCA, 0x36, 0x34, 0xC9, 0xC9, 0xC9, 0xC0, 0xC9, 0xC9, 0x5A, 0x5C, + 0x5C, 0x55, 0x55, 0x55, 0xBF, 0xBF, 0xBF, 0xBF, 0xBF, 0xC9, 0x5C, 0xBF, 0x5C, 0x5A, 0x5A, 0xCC, + 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xC, + 0x4, 0xAF, 0x3E, 0x0, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF5, 0xE9, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xE9, 0xEA, + 0xF5, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB6, 0x41, 0x38, + 0x2C, 0x2C, 0xD, 0x4, 0x4, 0x4, 0x4, 0x39, 0x71, 0x1F, 0x1E, 0x1E, 0xCA, 0xCA, 0x5C, 0x5C, + 0xCA, 0xC9, 0xCA, 0xCA, 0x5C, 0x5C, 0x5C, 0xC9, 0x4C, 0xFE, 0xFE, 0xFE, 0xA, 0x5C, 0x5C, 0x5C, + 0x5C, 0xBF, 0x1, 0xFE, 0x34, 0x8, 0x0, 0x0, 0x0, 0x12, 0x1A, 0x1, 0x1, 0xF, 0xF, 0xF, + 0x1, 0x2F, 0x96, 0x18, 0x11, 0x11, 0x19, 0x42, 0x43, 0x55, 0xC9, 0xC9, 0xCE, 0xCB, 0xCE, 0xC9, + 0xCD, 0xCD, 0xCF, 0xCF, 0xCE, 0xD0, 0x54, 0x36, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, + 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCA, 0xCB, 0xD0, 0xD0, 0xCC, 0xCA, 0xCA, 0xCC, 0xCA, + 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x23, + 0x5, 0xAF, 0x37, 0xB, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF7, + 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA3, 0x3A, + 0x2C, 0x2C, 0xD, 0x4, 0x4, 0x4, 0x20, 0xDB, 0xB5, 0x1E, 0x4, 0x1E, 0xC9, 0xC9, 0xC9, 0x5C, + 0xC9, 0xC9, 0xCC, 0xCC, 0xCA, 0xC9, 0x5C, 0x5C, 0x55, 0x0, 0xFE, 0xFE, 0x0, 0x5C, 0x5C, 0x5C, + 0x5C, 0x5C, 0x12, 0x0, 0x43, 0x1A, 0x0, 0x0, 0x0, 0xA, 0x3, 0x1, 0x1, 0xF, 0xF, 0xF, + 0xF, 0xF, 0x10, 0x10, 0x11, 0x11, 0x11, 0x43, 0x43, 0x55, 0xC9, 0xCD, 0xCE, 0xCE, 0xCE, 0xD0, + 0xD0, 0xCD, 0xCE, 0xCC, 0xCC, 0xCC, 0xBF, 0x3D, 0xCB, 0xCB, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xD0, + 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, + 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0xC, + 0x4, 0xAF, 0x37, 0x4, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, + 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, + 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xD8, 0xA8, 0x3C, + 0x33, 0x2C, 0xD, 0x2, 0x6, 0x4, 0x4, 0xD5, 0xB2, 0x4, 0x4, 0x1E, 0xCB, 0xCB, 0xE4, 0xC6, + 0xCA, 0xC9, 0xCA, 0xCC, 0xCC, 0xC9, 0xC9, 0xC9, 0xC9, 0x36, 0xFE, 0xFE, 0xFE, 0x36, 0x5C, 0xC9, + 0xC9, 0xC9, 0x46, 0x0, 0x43, 0x46, 0x1, 0x0, 0x0, 0x1, 0x1, 0xA, 0x95, 0x2E, 0xF, 0xF, + 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x11, 0x47, 0x43, 0x55, 0xC9, 0xCD, 0xCD, 0xC2, 0xCD, 0xCE, + 0xD0, 0xD0, 0xD0, 0xCC, 0xCC, 0xCC, 0xCC, 0xC0, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xC0, + 0x5D, 0xC0, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5A, 0x58, 0x5B, 0x7, + 0x4, 0x71, 0x6C, 0x0, 0xD7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xB4, 0x41, + 0x33, 0x2C, 0x7, 0x4, 0xB, 0x4, 0x4, 0xD5, 0xB5, 0x4, 0x4, 0x4, 0xCC, 0xCC, 0xC8, 0xC3, + 0xC9, 0xC9, 0xC9, 0x5C, 0x5C, 0xC9, 0xBF, 0x55, 0xAD, 0x53, 0x12, 0xFE, 0xFE, 0x0, 0x1A, 0x55, + 0x55, 0x55, 0x53, 0x0, 0x43, 0x5A, 0x12, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xF, 0xF, + 0xF, 0xF, 0xF, 0xF, 0xF, 0x10, 0x10, 0x59, 0x42, 0x59, 0x59, 0xBF, 0xCD, 0xCD, 0xCD, 0xCE, + 0xD0, 0xD0, 0xCC, 0xCC, 0xCE, 0xC9, 0xC9, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5D, + 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x58, 0x5B, 0x4, + 0x4, 0x79, 0x6B, 0x6, 0x29, 0xD5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xB6, 0x94, + 0x33, 0x31, 0xC, 0x4, 0x4, 0x4, 0x4, 0xDB, 0xD5, 0x4, 0x4, 0x4, 0xCC, 0xCA, 0xC6, 0xC3, + 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xAD, 0xBF, 0xBF, 0xBF, 0x55, 0x55, 0x1, 0xFE, 0x0, 0x1, 0x46, + 0x5C, 0x5C, 0x5C, 0x12, 0x36, 0x5A, 0x5A, 0x1A, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x3, + 0x3, 0x27, 0x2E, 0xA, 0x4B, 0x32, 0x12, 0x5C, 0x1B, 0x59, 0x59, 0xC1, 0xBF, 0xAD, 0xAD, 0xAD, + 0xAD, 0xBF, 0xAD, 0xAD, 0xAD, 0xBF, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0xC9, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5A, 0x5A, 0xB, + 0x4, 0x9B, 0x29, 0x20, 0x29, 0x29, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBB, 0xA3, + 0x3A, 0x33, 0xE, 0x5, 0x4, 0x4, 0x1F, 0xE6, 0xB2, 0x4, 0x4, 0x1E, 0xCA, 0xC9, 0x5C, 0x5A, + 0x5C, 0xC9, 0x5C, 0xCA, 0xCC, 0xCA, 0xC9, 0x5C, 0xC9, 0x55, 0x5A, 0x46, 0x10, 0x1, 0x0, 0x1, + 0x3, 0x1B, 0x1B, 0x18, 0x18, 0x43, 0x1D, 0x12, 0x1, 0x1D, 0x43, 0x43, 0x36, 0x46, 0x46, 0x46, + 0x46, 0x52, 0x4F, 0x4F, 0x52, 0x4F, 0x53, 0xBF, 0x18, 0x50, 0x56, 0xBF, 0xC2, 0xCD, 0xCD, 0xCD, + 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xD0, 0xD0, 0xCE, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x5B, 0x58, 0x5A, 0x5A, 0xE, + 0x0, 0x79, 0x6B, 0x6, 0xD5, 0x6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xBD, 0xAA, + 0x3C, 0x33, 0x2C, 0xB, 0x4, 0x4, 0x1F, 0xDB, 0xB2, 0x4, 0x4, 0x1E, 0x5C, 0x5C, 0x5C, 0x5C, + 0x5C, 0x5C, 0xBF, 0xCA, 0xCA, 0xC9, 0xC9, 0xC9, 0xC9, 0xAD, 0xBF, 0xBF, 0x49, 0x44, 0x13, 0x13, + 0x10, 0x10, 0xF, 0x10, 0x10, 0x3, 0x1, 0x3, 0x3, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, + 0xBF, 0xCE, 0xCE, 0xCE, 0xCE, 0xC9, 0xC9, 0xBF, 0x12, 0x7, 0x10, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x12, 0x1A, 0x1B, 0x1A, 0x1A, 0x1B, 0x34, 0x34, 0x1D, 0x36, 0x46, 0x46, 0x46, 0x46, 0x55, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x5B, 0x58, 0x58, 0x5A, 0x7, + 0x4, 0x9B, 0x6B, 0xD, 0x1F, 0x6B, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xE9, 0xB4, + 0x3C, 0x33, 0x2C, 0xB, 0x4, 0x4, 0x1F, 0xDB, 0xD5, 0x4, 0x4, 0x1E, 0x54, 0x53, 0x53, 0x55, + 0x5A, 0x5A, 0x55, 0x53, 0x55, 0x55, 0x55, 0x53, 0x53, 0x52, 0x53, 0x53, 0x52, 0x4A, 0xBE, 0x4A, + 0x49, 0x49, 0x45, 0x45, 0x45, 0x44, 0x12, 0x34, 0x3, 0xC9, 0x5C, 0xC9, 0xC9, 0xC9, 0xC9, 0xBF, + 0xBF, 0xC9, 0xC9, 0xCD, 0xC9, 0xC9, 0xC9, 0xBF, 0x55, 0x53, 0x55, 0x53, 0x53, 0x53, 0x53, 0x53, + 0x53, 0x53, 0x53, 0x53, 0x52, 0x52, 0x4F, 0x4F, 0x46, 0x46, 0x46, 0x4F, 0x4F, 0x46, 0x50, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x5B, 0x5B, 0x58, 0x58, 0x57, 0x5B, 0x5B, 0x5A, 0x5A, 0x7, + 0x4, 0x9A, 0x28, 0xD, 0x9B, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB6, + 0x41, 0x33, 0x2C, 0xB, 0x4, 0x4, 0x1F, 0xE6, 0xD5, 0x4, 0x4, 0x1E, 0x2F, 0x1A, 0x1C, 0x46, + 0x45, 0x45, 0x44, 0x13, 0x13, 0x13, 0x13, 0x12, 0x10, 0x10, 0x10, 0x10, 0x12, 0x12, 0x44, 0x49, + 0xBE, 0xBE, 0xC1, 0xC1, 0xC1, 0xC2, 0xBF, 0xBF, 0x3, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0xC9, + 0xBF, 0xC9, 0xC9, 0xCE, 0xCD, 0xC9, 0xC9, 0xC9, 0xBF, 0xC9, 0xCE, 0xCB, 0xCE, 0xCE, 0xCE, 0xCE, + 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x9, + 0x6, 0x77, 0x67, 0xB, 0x28, 0x29, 0xEF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0xBB, + 0xA3, 0x3A, 0x32, 0xB, 0x4, 0x0, 0x6, 0xDB, 0xB2, 0x4, 0x1E, 0x1F, 0x1C, 0x1A, 0x1A, 0x1A, + 0x1A, 0x44, 0x49, 0x4A, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, + 0xC1, 0xC1, 0xBE, 0xBE, 0xBE, 0xBF, 0x5C, 0xC9, 0x46, 0xAD, 0xC9, 0xC9, 0xE7, 0x9D, 0xBF, 0xBF, + 0xAD, 0xBF, 0xC9, 0xBF, 0xC9, 0xC9, 0xCD, 0xC0, 0xC9, 0x5C, 0xBF, 0xC9, 0xC9, 0xCD, 0xCD, 0xCD, + 0xCE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCE, 0xCE, 0xCE, 0xD0, 0xCC, 0xCE, 0xCC, 0xCC, 0xCC, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0xB, + 0x4, 0x79, 0x37, 0x6, 0x9D, 0x1F, 0x6B, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, + 0x94, 0x3A, 0x33, 0xD, 0x5, 0x4, 0x1F, 0xDB, 0xB2, 0x1E, 0x1F, 0x22, 0x1A, 0x1A, 0x1A, 0x8, + 0x3, 0x3, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x8, 0x12, 0x1A, 0x1A, 0x1A, 0x2F, 0x34, + 0x36, 0x3D, 0x46, 0x3D, 0x59, 0x59, 0x5C, 0xC9, 0x5C, 0xBF, 0xBF, 0xBF, 0xAD, 0x54, 0xBF, 0x5A, + 0x5C, 0xBF, 0x5C, 0xBF, 0xBF, 0x5C, 0xC9, 0xC0, 0xC0, 0x5C, 0xBF, 0xC9, 0xCD, 0xCD, 0xCE, 0xCE, + 0xCA, 0xCA, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5D, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x5A, 0x57, 0x58, 0x5B, 0x58, 0x58, 0x5B, 0x6, + 0x4, 0x9B, 0x37, 0xB, 0x9D, 0x65, 0x37, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, + 0xA5, 0x3C, 0x33, 0xC, 0x4, 0x4, 0x1F, 0xDB, 0x9D, 0x4, 0x1F, 0x28, 0x1A, 0xA, 0xA, 0xA, + 0xA, 0x1, 0x1, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3, 0x3, 0x8, 0x1A, 0x12, + 0x2D, 0x34, 0x34, 0x34, 0x55, 0xC0, 0x59, 0x53, 0x55, 0xC9, 0xCB, 0xCF, 0xCB, 0xCE, 0xCD, 0xCD, + 0xCB, 0xC9, 0xC9, 0xC9, 0xBF, 0xC9, 0xCD, 0xC9, 0xC9, 0x5C, 0xC9, 0xBF, 0xBF, 0xCB, 0xC9, 0xBF, + 0xBF, 0xCA, 0xCA, 0xCA, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x57, 0x5A, 0x5A, 0x57, 0x58, 0x58, 0x58, 0x5A, 0x5B, 0x6, + 0x4, 0xB5, 0x97, 0x1F, 0xB2, 0x65, 0x6E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, + 0xA5, 0x3C, 0x33, 0xC, 0x4, 0x4, 0x1E, 0xE6, 0xD5, 0x4, 0x1F, 0x1F, 0x2F, 0x1A, 0xA, 0x3, + 0x7, 0x1, 0x3, 0x3, 0x3, 0x8, 0x3, 0x3, 0x8, 0xA, 0xA, 0x8, 0x8, 0xA, 0xA, 0x1A, + 0x2F, 0x34, 0x34, 0x2F, 0x53, 0xC0, 0x5A, 0x52, 0x52, 0xAD, 0xCF, 0xCF, 0xD0, 0xD0, 0xD0, 0xF3, + 0xF3, 0xF3, 0xF3, 0xF3, 0xC4, 0xCF, 0xCF, 0xCE, 0xC0, 0xC9, 0xC9, 0xBF, 0xBF, 0xAD, 0xAD, 0xBF, + 0xBF, 0xBF, 0xBF, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCC, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x57, 0x57, 0x57, 0x58, 0x5A, 0x57, 0x58, 0x58, 0x58, 0x58, 0x5B, 0xB, + 0x4, 0xE2, 0xAF, 0x20, 0xB2, 0x29, 0xAF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, + 0xA5, 0x3C, 0x38, 0xC, 0x4, 0x4, 0x4, 0xDB, 0x9D, 0x4, 0x6, 0x1F, 0x1A, 0x3, 0x3, 0x3, + 0x1, 0x1, 0x8, 0x3, 0xA, 0x12, 0x8, 0x3, 0x1, 0x3, 0x3, 0x12, 0xA, 0x1A, 0x2E, 0x1A, + 0x1A, 0x2F, 0x34, 0x2F, 0x4F, 0xC0, 0x5A, 0x52, 0x52, 0x52, 0xAD, 0xC9, 0xC9, 0xCD, 0xCE, 0xCE, + 0xD0, 0xCE, 0xCE, 0xCE, 0xC9, 0xBF, 0xC9, 0xCD, 0xC0, 0xCE, 0xCD, 0xC9, 0xCD, 0xCD, 0xCD, 0xCE, + 0xCE, 0xD0, 0xD0, 0xD0, 0xCE, 0xCE, 0xCD, 0xCE, 0xCE, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5D, 0x5B, 0x5B, 0x5D, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x57, 0x58, 0x58, 0x57, 0x57, 0x58, 0x58, 0x58, 0x5B, 0xB, + 0x4, 0xDB, 0x97, 0x20, 0xD5, 0x29, 0xD5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, + 0xAA, 0x3C, 0x33, 0xC, 0x5, 0x4, 0x4, 0xD7, 0xB5, 0x4, 0x6, 0x6, 0x1A, 0xA, 0x1A, 0x3, + 0x1, 0x3, 0x8, 0x1, 0x3, 0xA, 0x3, 0x3, 0x3, 0x3, 0x3, 0x1A, 0x1A, 0x1A, 0x2E, 0x1A, + 0x2F, 0x34, 0x36, 0x34, 0x46, 0x5C, 0x5C, 0x53, 0x4C, 0x52, 0x48, 0x48, 0x48, 0x52, 0xA6, 0xA6, + 0x5C, 0xBF, 0xC4, 0xCD, 0xC9, 0xBF, 0xBF, 0xC9, 0xCD, 0xCE, 0xCD, 0xC9, 0xC9, 0xCD, 0xCE, 0xCE, + 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x57, 0x58, 0x58, 0x57, 0x57, 0x58, 0x58, 0x5B, 0x5B, 0x5, + 0x1F, 0xE2, 0x9B, 0x25, 0xB2, 0x29, 0xE6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF7, 0xB7, 0xBD, 0xF5, 0xF8, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, + 0xA8, 0x3C, 0x33, 0xC, 0x5, 0x4, 0x4, 0xD5, 0xD5, 0x6, 0x6, 0x6, 0x1A, 0xA, 0x12, 0x3, + 0x3, 0x8, 0x8, 0x3, 0x1, 0x1, 0x1, 0x3, 0x3, 0x3, 0x3, 0x3, 0x12, 0x1A, 0x2D, 0x34, + 0x3D, 0x36, 0x3B, 0x36, 0x36, 0x5C, 0x5C, 0x53, 0x52, 0x54, 0x54, 0xAD, 0xBF, 0xBF, 0xBF, 0xAD, + 0xC9, 0xC9, 0xC9, 0xBF, 0xBF, 0xC9, 0xBF, 0xC9, 0xCD, 0xCE, 0xCE, 0xD0, 0xD0, 0xD0, 0xCE, 0xCE, + 0xCE, 0xCE, 0xCE, 0xCE, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5A, 0x58, 0x58, 0x58, 0x58, 0x58, 0x57, 0x58, 0x58, 0x58, 0x58, 0x58, 0xB, + 0x6, 0xE1, 0x97, 0x20, 0x71, 0x1F, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xEE, 0xF0, 0xA3, 0x7, 0x38, 0xA3, 0xB4, + 0xF0, 0xF8, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xE9, + 0xA8, 0x3C, 0x33, 0xB, 0x4, 0x4, 0x4, 0xB5, 0xD5, 0x6, 0x6, 0xD, 0x1A, 0xA, 0x1A, 0x7, + 0x1, 0x1, 0x1, 0x8, 0x8, 0x3, 0x1, 0x1, 0x1, 0x3, 0x3, 0xA, 0x1A, 0x1A, 0x2F, 0x34, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x5C, 0xC0, 0x55, 0x54, 0x54, 0xAD, 0xBF, 0xAD, 0xAD, 0xAD, 0xAD, + 0xC9, 0x5C, 0xC9, 0xC9, 0xC9, 0xCD, 0xD0, 0xD0, 0xD0, 0xD0, 0xCE, 0xCD, 0xC9, 0xCD, 0xCE, 0xCE, + 0xD0, 0xD0, 0xD0, 0xCE, 0xCE, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x6, + 0x6, 0xFC, 0xB5, 0x25, 0x71, 0x1F, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x94, 0x2C, 0x2C, 0x41, 0xB6, 0xF5, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xD8, 0x2C, 0x0, 0xF, 0x8, 0x2D, + 0x3B, 0xA3, 0xB6, 0xEA, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, + 0xA4, 0x3A, 0x33, 0x5, 0x4, 0x4, 0x0, 0xAF, 0xB5, 0x4, 0x6, 0x6, 0x1A, 0xA, 0x3, 0x7, + 0x8, 0x3, 0x1, 0x1, 0x3, 0x8, 0x8, 0xA, 0xA, 0x3, 0xA, 0x3, 0x1A, 0x12, 0x1A, 0x1A, + 0x36, 0x36, 0x36, 0x36, 0x4C, 0xC9, 0xC0, 0x5A, 0xC9, 0xCF, 0xCD, 0xD0, 0xD0, 0xD0, 0xD0, 0xCE, + 0xCA, 0xCA, 0xD0, 0xD0, 0xD0, 0xCE, 0xD0, 0xD0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xD0, + 0xD0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x20, + 0xB, 0xD7, 0x6E, 0x20, 0x71, 0x28, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xD8, 0x2C, 0xB6, 0xA3, 0x31, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x1, 0x1, 0x1, 0x1, + 0x8, 0x12, 0x2D, 0x41, 0xB7, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, + 0xA3, 0x3A, 0x33, 0x7, 0x5, 0x4, 0xFE, 0x72, 0x97, 0x2, 0x6, 0xD, 0x2F, 0x1A, 0x12, 0x2C, + 0x2D, 0xA, 0x8, 0x1, 0x1, 0x3, 0x8, 0x3, 0xA, 0x3, 0x3, 0x2E, 0x2E, 0x1A, 0x1A, 0x1C, + 0x36, 0x4C, 0x52, 0x4C, 0x4C, 0x5C, 0x5C, 0x5A, 0xAD, 0xC4, 0xAD, 0xC4, 0xAD, 0xC4, 0xC9, 0xCF, + 0xC9, 0xCA, 0xD0, 0xD0, 0xD0, 0xCE, 0xD0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x20, + 0xFE, 0x0, 0x6, 0xB, 0x39, 0x37, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0x41, 0x33, 0xAA, 0x38, 0xF9, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x1, 0x1, 0x0, 0x0, + 0x0, 0x1, 0x1, 0x8, 0x3B, 0xB7, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xEA, 0xB7, + 0x94, 0x38, 0x25, 0xD, 0x4, 0x0, 0x0, 0x5, 0x20, 0xD, 0x25, 0xD, 0x2D, 0x12, 0xA, 0x7, + 0xA, 0x8, 0x1, 0x1, 0x1, 0x3, 0x8, 0x8, 0xA, 0xA, 0x3, 0xA, 0x12, 0xA, 0x12, 0x34, + 0x36, 0x4C, 0x4C, 0x3D, 0x4C, 0x5C, 0xC0, 0x5A, 0xAD, 0x54, 0x54, 0x54, 0x54, 0xA6, 0x54, 0xAD, + 0xC9, 0x5C, 0xC9, 0xC9, 0xBF, 0xC9, 0xC9, 0xBF, 0xC9, 0xC9, 0xC9, 0xC9, 0xC9, 0xCD, 0xC9, 0xC9, + 0xC9, 0xCD, 0xD0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCA, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCC, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x58, 0x5B, 0x5B, 0x25, + 0x4, 0x37, 0x39, 0x1F, 0x1F, 0xDB, 0xED, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xA3, 0x31, 0xBB, 0xFD, 0xFD, 0xBB, 0x3A, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x0, 0x8, 0x2D, 0x2C, + 0x1, 0x0, 0x0, 0x0, 0x8, 0x3B, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF4, 0xF4, 0xF7, 0xE9, 0xB0, + 0x6F, 0x30, 0xB, 0x4, 0x4, 0x4, 0x4, 0xFE, 0x0, 0xD, 0x25, 0xD, 0x1A, 0xA, 0xA, 0x9, + 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x3, 0xA, 0x1A, 0x12, 0x12, 0x12, 0x1A, 0x1C, 0x36, + 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x55, 0x5C, 0x5C, 0xC4, 0x55, 0x54, 0x54, 0x54, 0xAD, 0xC4, 0xBF, + 0xC9, 0x5C, 0xCD, 0xCD, 0xCD, 0xCD, 0xC9, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCE, 0xCE, 0xCE, + 0xD0, 0xD0, 0xD0, 0xCE, 0xD0, 0xD0, 0xCC, 0xCA, 0xCC, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, + 0xCA, 0xCA, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, + 0x5B, 0x5B, 0x5B, 0x5B, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x5B, 0x5B, 0x5B, 0x5B, 0x5B, 0x20, + 0x1F, 0xD7, 0x97, 0xB, 0xD, 0xE0, 0xE0, 0xED, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x41, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x1, 0x41, 0xEC, 0xF0, + 0xB7, 0x41, 0x2C, 0x1, 0x0, 0x12, 0xAA, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF5, 0xF5, 0xE2, 0x22, 0x4, 0x4, 0x4, 0x1E, + 0x4, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xFE, 0x4, 0xFE, 0x0, 0x4, 0x0, 0x0, 0x4, 0x0, 0x0, + 0xFE, 0x4, 0x0, 0x0, 0x0, 0x0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, + 0x4, 0x4, 0x4, 0x4, 0x4, 0x0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x5, 0x4, 0xFE, 0x5, 0x5, + 0x4, 0x0, 0x0, 0xFE, 0x0, 0x4, 0x0, 0xFE, 0x4, 0xFE, 0x0, 0x0, 0x4, 0x5, 0x5, 0x5, + 0x0, 0x4, 0x5, 0x5, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, 0x1E, 0x1E, + 0x4, 0x0, 0x4, 0x0, 0x0, 0x4, 0x4, 0x0, 0x6, 0xFE, 0x6, 0x4, 0xFE, 0x0, 0x0, 0x0, + 0xFE, 0x39, 0x25, 0xFE, 0x0, 0xB, 0x0, 0x4, 0x4, 0xB, 0x25, 0xBC, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x3A, 0x94, 0x2C, 0x2C, 0x41, 0xBB, 0xF7, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x3, 0xA3, 0xE9, 0xD8, + 0xE9, 0xF0, 0xE9, 0xB4, 0x8, 0x3, 0x94, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xBD, 0xB5, 0x64, 0x77, 0x79, 0x70, 0x67, + 0x3E, 0x6C, 0x3E, 0x38, 0x3E, 0x20, 0x20, 0xB3, 0xF6, 0xAE, 0x3E, 0x6E, 0x6C, 0x6F, 0x25, 0x4, + 0x37, 0x97, 0xA7, 0xA7, 0xA9, 0x97, 0x97, 0x71, 0x39, 0x39, 0x37, 0x37, 0x39, 0x39, 0x39, 0x37, + 0x39, 0x37, 0x39, 0x23, 0x1, 0x23, 0xA8, 0xA8, 0x6E, 0x72, 0x72, 0x72, 0xB2, 0xB3, 0xAF, 0x9B, + 0x96, 0x96, 0x96, 0x97, 0x71, 0x6B, 0x6B, 0x71, 0x39, 0x37, 0x39, 0x29, 0x4, 0x4, 0x39, 0x71, + 0x37, 0x6B, 0xD5, 0xE1, 0xD5, 0xD5, 0xE6, 0xE6, 0xF4, 0xF4, 0xE2, 0xB5, 0xAF, 0x3E, 0x25, 0x25, + 0x0, 0xFE, 0x25, 0x6E, 0x37, 0x39, 0x71, 0x97, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x65, 0x39, + 0x39, 0x32, 0x25, 0x2, 0xFE, 0x4, 0x39, 0x1F, 0x6, 0xD, 0xD, 0x6, 0xB, 0x6, 0x4, 0x4, + 0x1E, 0xD5, 0x39, 0x0, 0xFE, 0x6F, 0x20, 0x4, 0x1F, 0x4, 0x0, 0x38, 0xF7, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF9, 0xFD, 0xFD, 0xA3, 0x94, 0x41, 0x2C, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x3, 0xA3, 0xEA, 0xBD, + 0xB6, 0xB6, 0xBD, 0xF7, 0x33, 0x3, 0x94, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB6, 0xA4, 0x72, 0x64, 0x64, 0x21, 0x21, 0x22, + 0x20, 0x20, 0x20, 0x23, 0x30, 0x4, 0xFE, 0x30, 0xAE, 0x25, 0x6, 0x25, 0x20, 0x37, 0x25, 0xB, + 0x25, 0x32, 0x25, 0x25, 0x25, 0x6, 0x6, 0x1F, 0xD, 0xB, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, + 0x1E, 0x6, 0x20, 0x20, 0xB, 0x30, 0x30, 0xB, 0x16, 0x6, 0x6, 0x1F, 0x20, 0x25, 0x25, 0x1F, + 0x1F, 0x1F, 0x1F, 0x20, 0x25, 0x20, 0x25, 0x29, 0x25, 0x20, 0x25, 0x29, 0x1F, 0x1F, 0x37, 0x37, + 0x1F, 0x20, 0x39, 0x6B, 0x39, 0x37, 0x6B, 0x71, 0x6B, 0x6E, 0x6B, 0x97, 0xD5, 0xB5, 0xB5, 0xF4, + 0x30, 0x6, 0xA7, 0xF4, 0xD5, 0xE1, 0xE6, 0xE8, 0xE8, 0xE8, 0xE6, 0xE6, 0xE6, 0xE6, 0xE1, 0xE6, + 0xE1, 0xD5, 0xE2, 0xA5, 0x6, 0x20, 0xE6, 0xB2, 0x6E, 0xA7, 0x97, 0x3E, 0x39, 0x25, 0x1F, 0x25, + 0x37, 0xFC, 0xE0, 0x0, 0xB, 0xFC, 0xF4, 0xB2, 0x6E, 0x25, 0x4, 0x32, 0xEF, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF5, 0xFD, 0xFD, 0xFD, 0x2C, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x2C, 0x2C, 0x41, 0xFD, 0xF7, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x3, 0xA4, 0xF0, 0xF7, + 0xEA, 0xB7, 0xB4, 0xF0, 0x31, 0x3, 0x41, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, 0xA4, 0x41, 0x6C, 0x66, 0x21, 0x1F, 0x20, 0x1E, + 0x5, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x4, 0x6, 0x4, 0x4, 0x4, 0x0, 0x4, 0x4, 0x5, + 0x6, 0x6, 0x4, 0x4, 0x6, 0x4, 0x4, 0x1E, 0x4, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6, 0x1F, + 0x1E, 0x1F, 0x6, 0x6, 0x20, 0x6, 0x6, 0x1F, 0x6, 0x6, 0x6, 0x1F, 0x1F, 0x4, 0x1F, 0x1F, + 0x1F, 0x1F, 0xB, 0xB, 0x20, 0x20, 0x20, 0xB, 0x20, 0xB, 0x20, 0x20, 0x1F, 0x4, 0x20, 0x1F, + 0x4, 0x4, 0x6, 0x1F, 0x1E, 0x4, 0x4, 0x20, 0x0, 0x4, 0x4, 0x0, 0x4, 0x30, 0x30, 0x25, + 0x37, 0x4, 0x37, 0x6C, 0x20, 0x29, 0x25, 0x25, 0x29, 0x29, 0x22, 0x22, 0x22, 0x29, 0x22, 0x67, + 0x1F, 0x20, 0x37, 0x25, 0xB, 0x1F, 0x39, 0x29, 0x37, 0x25, 0x32, 0x25, 0xB, 0x6, 0x0, 0x4, + 0x20, 0xF4, 0xAF, 0x4, 0x4, 0x6E, 0x20, 0x37, 0x25, 0xB, 0x6, 0x2C, 0xEF, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAA, 0x33, 0xE9, 0xFD, 0xBD, 0x2C, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0xFD, 0x2C, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x3, 0xA4, 0xF5, 0xFD, + 0xFD, 0xF0, 0xB6, 0xF0, 0x33, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, 0xAA, 0x48, 0x40, 0x29, 0x22, 0x37, 0x37, 0x25, + 0x20, 0xD, 0xE, 0x7, 0x0, 0x0, 0x0, 0x20, 0x1F, 0x4, 0x4, 0x6, 0x4, 0x6, 0xB, 0xB, + 0x1F, 0x1F, 0x6, 0x4, 0x6, 0x20, 0x20, 0x1F, 0x4, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x29, 0x20, 0x6, 0x1F, 0x20, 0x20, 0x20, 0x6, 0x1F, 0x25, 0x25, 0x25, 0x25, 0x1F, 0x20, 0x25, + 0x25, 0x20, 0x25, 0x20, 0x20, 0x25, 0xD, 0x20, 0x20, 0x6, 0xB, 0x1F, 0x25, 0x25, 0x25, 0x1F, + 0x20, 0x1F, 0x4, 0x1F, 0x37, 0x25, 0x20, 0x4, 0x20, 0x20, 0x5, 0x20, 0x23, 0xB, 0x5, 0xB, + 0x5, 0x4, 0x4, 0xB, 0x4, 0xB, 0x1F, 0x1F, 0x4, 0xB, 0xB, 0xD, 0x1F, 0x20, 0x4, 0x6, + 0x20, 0x1F, 0x30, 0x20, 0xB, 0x20, 0x20, 0x20, 0xD, 0xB, 0xB, 0xD, 0x4, 0x4, 0x4, 0x1F, + 0x4, 0xD5, 0x9B, 0x4, 0x20, 0x1F, 0xB, 0x3E, 0xB6, 0xD8, 0xB0, 0x40, 0xEF, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x31, 0xE, 0x2C, 0xD8, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x3, 0xA4, 0xF5, 0xFD, + 0xF9, 0xF5, 0xBD, 0xF0, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, 0xAA, 0xA4, 0x41, 0x3E, 0x6B, 0x40, 0x3A, 0x39, + 0x37, 0x32, 0x2C, 0xE, 0x9, 0xFE, 0xFE, 0x37, 0x3E, 0x6, 0x6, 0x1F, 0x6, 0x6, 0xD, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x25, 0x30, 0x25, 0x20, 0x29, 0x37, 0x37, 0x30, 0x30, 0x25, 0x25, 0x25, + 0x37, 0x37, 0x30, 0x39, 0x6E, 0x37, 0x30, 0x37, 0x20, 0x29, 0x29, 0x29, 0x28, 0x28, 0x6B, 0x37, + 0x25, 0x1F, 0x25, 0x29, 0x29, 0x37, 0x37, 0x6E, 0x40, 0x97, 0xA9, 0x3E, 0x37, 0x25, 0x25, 0x39, + 0x37, 0x6B, 0x6E, 0x39, 0x39, 0x37, 0x6B, 0x25, 0x25, 0x20, 0x5, 0x4, 0x5, 0x4, 0x5, 0x25, + 0x3E, 0xAF, 0x37, 0x30, 0x20, 0xB, 0x37, 0x39, 0x20, 0x25, 0x25, 0x20, 0x25, 0x39, 0x29, 0x37, + 0x25, 0x25, 0x37, 0x25, 0x20, 0x33, 0xE, 0xE, 0x32, 0x6E, 0x30, 0x3A, 0x38, 0xB, 0xB, 0x1F, + 0x4, 0xE8, 0xD5, 0x4, 0x65, 0x6E, 0xB4, 0xB7, 0xE9, 0xFD, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xB7, 0x41, 0x2C, 0x2C, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x3, 0xA4, 0xF0, 0xF7, + 0xB7, 0xEA, 0xEA, 0xF5, 0x33, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, 0xB7, 0xB4, 0xB4, 0xAA, 0xAA, 0xA8, 0xA3, + 0x3C, 0x33, 0x2D, 0x2D, 0xE, 0x0, 0x0, 0x3E, 0x6E, 0xB, 0xD, 0x20, 0x20, 0x20, 0x20, 0x25, + 0x20, 0x25, 0x20, 0x25, 0x39, 0x20, 0x4, 0x6E, 0x39, 0x37, 0x6E, 0x37, 0x20, 0x39, 0x37, 0x6B, + 0x37, 0x72, 0x6F, 0xBA, 0xD8, 0xA7, 0x6E, 0x37, 0x37, 0x37, 0x25, 0x6C, 0x71, 0x71, 0x3E, 0x37, + 0x37, 0x39, 0x3E, 0x6E, 0x32, 0x39, 0xA9, 0x37, 0x0, 0x0, 0xB0, 0xD8, 0xA7, 0x32, 0x39, 0x6E, + 0x39, 0x37, 0x6F, 0x6E, 0xA7, 0x37, 0x6E, 0x6F, 0xD, 0x6F, 0x30, 0xE2, 0xB0, 0xFB, 0xB0, 0x20, + 0x6, 0x25, 0x37, 0x25, 0x32, 0x37, 0x37, 0x40, 0x37, 0x6E, 0x6E, 0x6F, 0x6E, 0xAF, 0xA9, 0xB5, + 0x97, 0xA9, 0xB0, 0xE2, 0xBC, 0xBC, 0xBA, 0xAF, 0x97, 0xA9, 0xD7, 0x6E, 0xB, 0x20, 0x20, 0x20, + 0x2, 0xE1, 0x9B, 0x1F, 0xB5, 0xBD, 0xD8, 0xE9, 0xF0, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, 0xAA, 0xF5, 0xE9, 0xB6, 0xA3, 0x38, 0x2C, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xA4, 0xF0, 0xF5, + 0x31, 0xAA, 0xF0, 0xF5, 0x33, 0x1, 0x41, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xF0, 0xEE, 0xE9, 0xE9, 0xE9, 0xE9, 0xBD, 0xB6, + 0xA3, 0x3C, 0x33, 0x31, 0xE, 0x0, 0xFE, 0x3E, 0x6E, 0x4, 0x5, 0x20, 0x20, 0x20, 0x20, 0x29, + 0x29, 0x37, 0x39, 0x37, 0xD, 0xD, 0xD, 0xB, 0x4, 0x20, 0xAE, 0x97, 0xA7, 0x3E, 0x6E, 0xBA, + 0xBA, 0xB5, 0x20, 0x0, 0x0, 0x0, 0x30, 0xA7, 0x3E, 0x6E, 0x6F, 0x97, 0x6F, 0xAF, 0xAF, 0xB0, + 0x6E, 0x6E, 0xAF, 0xA9, 0x6E, 0x97, 0x39, 0x6, 0x33, 0x30, 0x5, 0xFE, 0xF6, 0xD8, 0xAF, 0x6E, + 0xB0, 0xA7, 0xB5, 0xB0, 0xBC, 0xA7, 0xAF, 0xA9, 0x6F, 0xF6, 0xBC, 0xFB, 0x0, 0xB, 0xFD, 0xEF, + 0x6F, 0x37, 0xBA, 0x39, 0xF4, 0xBA, 0xE2, 0xBC, 0xA7, 0xAF, 0xD7, 0xD7, 0xE2, 0xA9, 0x6, 0xE2, + 0xB5, 0xFC, 0xFC, 0xFE, 0x0, 0xFE, 0x40, 0xFC, 0xFC, 0xF6, 0xEF, 0x3E, 0x4, 0xB, 0x20, 0x30, + 0x1F, 0xE6, 0x9B, 0x20, 0xEF, 0xF5, 0xF1, 0xF0, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0x94, 0xE, 0x2C, 0xAA, 0xBD, 0xF0, 0xF9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xA3, 0xBD, 0xF8, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xD8, 0xE, 0x1, 0x94, 0xE9, 0xEA, + 0x2C, 0xA3, 0xEA, 0xF5, 0x31, 0x1, 0x41, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF7, 0xF7, 0xF5, 0xF0, 0xE9, + 0xB4, 0x94, 0x38, 0x31, 0x2C, 0x0, 0x0, 0x3E, 0x6F, 0x6, 0x4, 0x4, 0x5, 0xB, 0xB, 0x4, + 0x1F, 0x6, 0x1F, 0xD, 0x20, 0x33, 0x3C, 0x32, 0x32, 0xD, 0x25, 0xA9, 0x6F, 0xA7, 0x25, 0xB, + 0x20, 0x30, 0x33, 0x3F, 0x3C, 0x33, 0x30, 0xB, 0x30, 0x32, 0x6E, 0x40, 0xD, 0x4, 0x4, 0x37, + 0xA7, 0x30, 0x30, 0x32, 0x40, 0xA7, 0x38, 0x2C, 0x3A, 0x33, 0x3A, 0x30, 0x7, 0x40, 0xB0, 0xBC, + 0xBB, 0xBA, 0xD8, 0xBC, 0xBB, 0xB6, 0xD8, 0xE9, 0xE9, 0xBC, 0xBD, 0x0, 0x32, 0x32, 0xFE, 0x32, + 0xFC, 0xEF, 0xE2, 0xED, 0xEF, 0xFE, 0x40, 0xE2, 0xB5, 0xD8, 0xB5, 0x6F, 0x7, 0xB, 0x32, 0xE, + 0x0, 0xAA, 0x2C, 0x94, 0x94, 0x3B, 0x3C, 0x7, 0x0, 0x0, 0xD, 0x30, 0x33, 0x37, 0x30, 0x25, + 0x4, 0xE6, 0x79, 0x20, 0xFD, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0x41, 0x33, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xB6, 0x3F, 0xE, 0x2C, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBB, 0xE9, 0x31, 0x1, 0x2D, 0x3A, 0x34, + 0x2C, 0xA4, 0xEA, 0xF5, 0x33, 0x1, 0x41, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, + 0xBD, 0xA3, 0x38, 0x33, 0x31, 0x4, 0xFE, 0x3E, 0x6B, 0x30, 0x6E, 0x3E, 0x38, 0x38, 0x30, 0xB, + 0x6, 0xD, 0xD, 0x32, 0xA3, 0xA3, 0x3C, 0x3D, 0x6F, 0x33, 0x30, 0xE, 0x33, 0x38, 0xAA, 0xBD, + 0xBA, 0xB6, 0xA3, 0x41, 0x41, 0x3F, 0x41, 0x41, 0x2C, 0xE, 0xE, 0xE, 0x32, 0xA3, 0x33, 0xE, + 0x5, 0x5, 0xE, 0x33, 0x40, 0x40, 0x41, 0xA3, 0x94, 0x41, 0x41, 0x38, 0x33, 0x2C, 0x31, 0xE, + 0xE, 0x9, 0x7, 0x7, 0x7, 0x7, 0x7, 0x9, 0xE, 0xE, 0xE, 0x38, 0x3A, 0x38, 0x40, 0xD, + 0x0, 0x0, 0x7, 0x0, 0xB, 0x33, 0x7, 0x2C, 0xD, 0x16, 0x16, 0x32, 0x6F, 0xB4, 0xA3, 0xB6, + 0xB4, 0x3A, 0xB7, 0xA4, 0xA4, 0xA4, 0xA4, 0xB4, 0xB7, 0xB4, 0xA3, 0x3B, 0x33, 0x33, 0x37, 0x30, + 0x1F, 0xE6, 0x9B, 0x25, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0x3F, 0x33, 0xE9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB8, 0xEE, 0x41, 0x0, 0x1, 0x1, 0x1, + 0x2C, 0xA8, 0xEA, 0xF5, 0x33, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xD8, 0xA8, 0x3A, 0x33, 0x33, 0x4, 0xFE, 0x39, 0x6E, 0x37, 0xA7, 0x41, 0x3C, 0x3F, 0x6F, 0xA7, + 0xB0, 0xD7, 0xD8, 0xD8, 0xD8, 0xB6, 0xB4, 0xB4, 0xA8, 0xB7, 0xBB, 0xE9, 0xD8, 0xE9, 0xD8, 0xD8, + 0xD8, 0xE9, 0xBD, 0xB7, 0xB4, 0xAA, 0xA3, 0xA3, 0xAA, 0xAA, 0xAA, 0xAA, 0xA3, 0xA8, 0xA3, 0xAA, + 0xB6, 0xBD, 0xBD, 0xD8, 0xE9, 0xE9, 0xE9, 0xE9, 0xB6, 0xB6, 0xA8, 0xA8, 0xAA, 0xA3, 0xAA, 0xAA, + 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xB4, 0xAA, 0xB4, 0xB4, 0xAA, 0xB4, 0xA3, 0xA3, 0x3C, 0x41, 0xA3, + 0x41, 0xA3, 0x6F, 0xA9, 0xAA, 0xA7, 0xA9, 0xB6, 0xBC, 0xD8, 0xD8, 0xBD, 0xB6, 0xB6, 0xB7, 0xEA, + 0xEB, 0xEF, 0xEB, 0xD8, 0xEA, 0xB7, 0xBD, 0xBD, 0xB9, 0xB7, 0xB4, 0xA3, 0x38, 0x38, 0x3C, 0x37, + 0x1E, 0xE6, 0x9B, 0x29, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0x3A, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x2C, 0xE, 0x33, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB6, 0xE9, 0xD8, 0x8, 0x0, 0x0, 0x0, + 0x12, 0xA4, 0xEA, 0xF5, 0x33, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xD8, 0xAA, 0x3B, 0x38, 0x38, 0x4, 0x0, 0x6E, 0x71, 0x6E, 0xBC, 0xB6, 0xB4, 0xB4, 0xB4, 0xBA, + 0xBD, 0xEB, 0xF0, 0xF0, 0xEB, 0xE9, 0xEA, 0xE9, 0xE9, 0xD8, 0xE9, 0xF0, 0xEA, 0xF0, 0xFD, 0xF0, + 0xFD, 0xF0, 0xF1, 0xF1, 0xE9, 0xE9, 0xE9, 0xBD, 0xD8, 0xD8, 0xBD, 0xBD, 0xB7, 0xB7, 0xBD, 0xBD, + 0xBD, 0xE9, 0xEE, 0xEE, 0xF0, 0xF5, 0xF5, 0xF5, 0xE9, 0xE9, 0xE9, 0xBD, 0xBD, 0xD8, 0xB6, 0xB7, + 0xB6, 0xB8, 0xB6, 0xB8, 0xB6, 0xB8, 0xB8, 0xBD, 0xBD, 0xBD, 0xB8, 0xB8, 0xB6, 0xB8, 0xAA, 0xAA, + 0xB4, 0xAA, 0xB6, 0xAA, 0xB8, 0xBB, 0xBB, 0xBD, 0xE9, 0xE9, 0xEE, 0xEE, 0xE9, 0xEA, 0xF0, 0xF0, + 0xEF, 0xFD, 0xF2, 0xF0, 0xF0, 0xF2, 0xEF, 0xF2, 0xF5, 0xEA, 0xBD, 0xB6, 0x94, 0x3F, 0x40, 0x3A, + 0x20, 0x9B, 0x29, 0x37, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xE9, 0xFD, 0xF0, 0x3A, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBD, 0xB6, 0xF0, 0xB7, 0xE, 0x1, 0x0, + 0x8, 0x94, 0xEA, 0xF5, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xE9, 0xAA, 0x3B, 0x38, 0x3A, 0x4, 0x4, 0x9B, 0x39, 0xAF, 0xF7, 0xEA, 0xE9, 0xE9, 0xE9, 0xEF, + 0xF7, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xF7, 0xF5, 0xF0, 0xFD, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xF7, 0xF0, 0xF0, 0xF5, 0xF0, 0xF0, 0xF0, 0xF5, 0xF0, 0xF0, 0xF0, 0xF0, + 0xF5, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xF9, 0xEF, 0xF0, 0xF0, 0xF5, 0xF5, 0xF0, + 0xF0, 0xEE, 0xE9, 0xEE, 0xF0, 0xF0, 0xEE, 0xF0, 0xF0, 0xF5, 0xEE, 0xF7, 0xE9, 0xE9, 0xF0, 0xBD, + 0xE9, 0xEA, 0xE9, 0xEE, 0xEE, 0xF0, 0xF7, 0xF5, 0xF5, 0xFD, 0xFD, 0xF7, 0xFD, 0xF5, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xBD, 0xA8, 0x94, 0x94, 0x3F, + 0x30, 0x3E, 0xB5, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB6, 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xEA, 0xBD, 0xE9, 0xF5, 0xE9, 0xA3, 0x3A, + 0x8, 0x3A, 0xE9, 0xF5, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xEA, 0xB4, 0x3F, 0x3A, 0x3C, 0x4, 0x0, 0x6E, 0x29, 0xAF, 0xFD, 0xF7, 0xF8, 0xF7, 0xFD, 0xF7, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xFD, 0xF7, 0xF5, 0xFD, + 0xF5, 0xF5, 0xF5, 0xFD, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xEA, 0xBD, 0xB4, 0xB4, 0xB7, + 0xF1, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x31, 0xE9, 0xF7, 0xB6, 0xB4, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, 0xEA, 0xD8, 0xF5, 0xF7, 0xF5, 0xF0, + 0xB6, 0xB4, 0xE9, 0xF5, 0x33, 0x1, 0x3B, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF9, 0xFB, 0xF4, 0xF4, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xE9, 0xB6, 0x3F, 0x3A, 0x41, 0x5, 0x0, 0x3E, 0x20, 0xA9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xEA, 0xE9, 0xE9, 0xE9, + 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x2C, 0xE, 0xA3, 0xD8, 0xF7, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xD8, 0xBD, 0x38, 0xAA, 0xE9, 0xF0, 0xF7, + 0xF8, 0xF0, 0xBD, 0xF0, 0xB4, 0x2C, 0x33, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF8, 0xED, 0xD3, 0x8F, 0x92, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xE9, 0xAA, 0x3C, 0x3F, 0x6F, 0xB, 0xFE, 0x4, 0x4, 0xB5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xF0, 0xF5, 0xF5, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0x94, 0xE, 0xE, 0x31, 0xAA, 0xF9, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x2C, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBB, 0xBD, 0xE, 0x12, 0x3B, 0x41, 0xA3, + 0xBD, 0xF0, 0xF0, 0xF5, 0xF8, 0xF0, 0xE9, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xE0, 0xD3, 0x84, 0x88, 0x88, 0x93, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xEA, 0xB4, 0x41, 0x3A, 0x23, 0x4, 0xB, 0x30, 0xFE, 0xB5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x41, 0xB6, 0xF9, 0xFD, 0xF8, 0xBD, 0x33, 0xF8, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, 0xA3, 0xBD, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xFB, 0xF4, 0xF4, 0xDF, 0xDD, 0xDD, 0xDD, 0xF4, 0xFB, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x0, 0x3, 0x8, 0x2C, + 0x3B, 0x94, 0xAA, 0xBD, 0xF0, 0xF5, 0xF5, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xED, + 0xD3, 0x8A, 0x86, 0x87, 0x89, 0x91, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, + 0xE9, 0xB4, 0x6F, 0x3E, 0xC, 0xFE, 0x4, 0xB, 0xFE, 0x3E, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB7, 0x94, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xB6, 0x41, 0x2C, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF7, 0xDC, 0x91, 0x8F, 0x8F, 0x89, 0x88, 0x88, 0x88, 0x8F, 0x93, 0xDF, 0xFB, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x0, 0x0, 0x1, 0x1, + 0xF, 0x12, 0x2D, 0x38, 0xA4, 0xB7, 0xEA, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xEE, 0xD4, 0x8A, + 0x86, 0x87, 0x87, 0x89, 0xD4, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, + 0xE9, 0xB4, 0x41, 0x3F, 0x30, 0x0, 0xFE, 0xFE, 0x0, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0x3F, 0xFD, 0xFD, 0xF9, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x2C, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xEE, 0xB1, 0x83, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x89, 0x92, + 0xDF, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xE9, 0x33, 0x0, 0x0, 0x0, 0x0, + 0x1, 0x1, 0x1, 0x1, 0x12, 0x3A, 0xB4, 0xF7, 0xFD, 0xFD, 0xF9, 0xF5, 0xD9, 0x8D, 0x89, 0x85, + 0x87, 0x87, 0x87, 0x90, 0xF4, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xE9, 0xB6, 0x94, 0xA3, 0x94, 0x3A, 0x3A, 0x94, 0xA3, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x38, 0xE9, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, 0xAA, 0xF5, 0xE9, 0xB6, 0xA3, 0x38, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xEE, 0xA8, 0x69, 0x7E, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x88, 0x89, 0x93, 0xDF, 0xFB, 0xFC, 0xFD, 0xFD, 0xE9, 0xB6, 0xEA, 0xF0, 0xB7, 0x41, 0x2C, 0x7, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x94, 0xF5, 0xF9, 0xF4, 0xD9, 0x8D, 0x86, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x88, 0x93, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF0, 0xD8, 0xAA, 0xAA, 0xB4, 0xBD, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0x2C, 0xA3, 0xE, 0xFD, 0xFD, 0xBD, 0x38, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0x94, 0xE, 0x2C, 0xAA, 0xBD, 0xF0, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xED, 0xB3, 0x72, 0x66, 0x7E, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x89, 0x92, 0xDD, 0xF4, 0xFB, 0xF0, 0xB7, 0xB6, 0xBD, 0xEA, 0xF0, 0xE9, 0xB4, + 0x3B, 0x2C, 0x7, 0x0, 0x0, 0x8, 0x41, 0xF0, 0xD9, 0x8D, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x89, 0xDA, 0xF4, 0xF4, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB6, 0x3F, 0xFD, 0xFD, 0x2C, 0xEE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0x41, 0x33, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF7, 0xE0, 0x90, 0x84, 0x84, 0x82, 0x7E, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x89, 0x8F, 0xDD, 0xDF, 0xED, 0xD8, 0xB7, 0xB6, 0xB6, 0xBD, 0xE9, + 0xEA, 0xD8, 0xB6, 0x3A, 0x1, 0x3, 0x41, 0xED, 0x8F, 0x88, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x89, 0x8F, 0x8F, 0x92, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0x3F, 0x33, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xEA, 0xAE, 0x83, 0x87, 0x87, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x89, 0x92, 0xDF, 0xF4, 0xEB, 0xBD, 0xB7, 0xE9, + 0xE9, 0xEA, 0xE9, 0xEE, 0x2C, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x92, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEE, 0x3A, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF8, 0xD8, 0x6D, 0x7E, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x8F, 0xDD, 0xD6, 0xEE, 0xB6, + 0xBB, 0xEE, 0xD8, 0xE0, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x89, 0xDD, 0xDF, 0xF4, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0xE, 0x2C, 0x41, 0xB6, 0xF5, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xBA, 0x74, 0x7F, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x86, 0x75, 0xD6, 0x38, + 0x2C, 0xB4, 0xE0, 0xDC, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x89, 0x89, 0x8F, 0x93, 0xF4, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF8, 0xBD, 0xA3, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF0, 0xAE, 0x63, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x5F, 0xD1, 0x37, + 0x3, 0x3F, 0xD8, 0xDF, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x8F, 0x93, 0xFB, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xD6, 0x76, 0x80, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x5F, 0xD1, 0x37, + 0x1, 0x3A, 0xD8, 0xDF, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x92, 0xFB, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, 0xFD, 0xFD, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xD8, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xAE, 0x63, 0x80, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x5F, 0xD1, 0x37, + 0x1, 0x3A, 0xD8, 0xDF, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0xD3, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x41, 0xBD, 0xFD, 0xF0, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, 0xEA, 0xFD, 0x3C, 0xE, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, + 0xBB, 0xA7, 0x6A, 0x62, 0x7F, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x5F, 0xD1, 0x37, + 0x1, 0x3B, 0xD8, 0xDC, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x89, 0xDD, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0x41, 0xE, 0x2C, 0xB6, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xBD, 0x38, 0xF7, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xE9, 0xB7, 0xA7, 0x6A, 0x62, 0x80, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x5F, 0xD1, 0x37, + 0x1, 0x3B, 0xBB, 0xDC, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x89, 0xDD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF0, 0x33, 0xEA, 0xF0, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF7, 0xE9, 0xB6, 0x72, 0x6A, 0x62, 0x7F, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x5F, 0xD1, 0x37, + 0x1, 0x2D, 0x3F, 0x38, 0x1, 0x8, 0x41, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x84, 0x91, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xEA, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, 0xE, 0xA3, 0xFD, 0x2C, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xEA, 0xB8, 0xA7, 0x6A, 0x62, 0x7F, 0x85, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x5F, 0xD1, 0x7A, + 0x0, 0x1, 0x3, 0x1, 0x1, 0x8, 0x41, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x86, 0x84, 0x8E, 0xDC, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, 0xFD, 0xFD, 0xFD, 0x41, 0xFD, 0xFD, 0x2C, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF7, 0xEA, 0xB8, 0xA7, 0x6A, 0x61, 0x80, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x5F, 0x8B, 0xD2, + 0x5, 0x0, 0x0, 0x0, 0x0, 0x8, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x89, 0x8A, 0xD3, 0xE0, 0xF7, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xAA, 0xFD, 0xBB, 0xE, 0xF0, 0xE9, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x41, 0xB6, 0xF0, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF5, 0xE9, 0xB6, 0x6F, 0x5E, 0x80, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x89, 0x8F, 0x89, 0x5F, 0x60, 0xD9, + 0x3E, 0x0, 0x0, 0x0, 0x1, 0x3, 0x3E, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x86, 0x8A, 0xD4, 0xED, 0xF7, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB4, 0xE, 0x31, 0xB6, 0xE, 0xE, 0xB6, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xB7, 0xB4, 0x38, 0x2C, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xEB, 0xB0, 0x69, 0x7F, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x83, 0xD4, 0xDA, 0xDF, 0xD3, 0x61, 0x75, + 0xDC, 0x37, 0x4, 0xFE, 0x0, 0x0, 0x3E, 0xDF, 0x88, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x86, 0x8E, 0xED, 0xF7, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, 0xA3, 0xFD, 0xFD, 0xF9, 0xBD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF4, 0xD9, 0x8D, 0x83, 0x85, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0x23, 0x72, 0xE0, 0xD4, 0x60, + 0x76, 0xDA, 0xD2, 0x70, 0x30, 0x38, 0xD6, 0x92, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x89, 0xDD, 0xF4, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xB4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x31, 0xBD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF4, 0xD4, 0x90, 0x89, 0x88, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xC, 0x2D, 0xB0, 0xD4, 0x75, + 0x75, 0x76, 0x8C, 0xD3, 0xD6, 0xD9, 0x8D, 0x86, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x88, 0x8F, 0xDD, 0xDF, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xB4, 0x41, 0xFD, 0xFD, 0xAA, 0x38, 0xEE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x2C, 0x2C, 0x41, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xF9, 0xEE, 0xD4, 0x90, 0x89, 0x88, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xC, 0x8, 0xA8, 0xDA, 0xD9, + 0xD2, 0xD9, 0xD1, 0xD1, 0xDC, 0xDC, 0xDD, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x8F, 0x93, 0xDF, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xE9, 0xA3, 0xFD, 0xFD, 0xD8, 0x2C, + 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xF7, 0xBB, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xEE, 0xD3, 0x8A, 0x86, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xC, 0x8, 0xA3, 0xED, 0xED, + 0x23, 0xA7, 0xE0, 0xF0, 0x38, 0x72, 0xDC, 0xDD, 0x88, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x89, 0x92, 0xDF, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xFD, 0xFD, 0xB6, 0xA8, 0xFD, 0xEE, 0xE, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xD8, 0xA3, 0xE, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF8, 0xE9, 0x8C, 0x86, 0x87, 0x85, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xB, 0x8, 0x94, 0xE0, 0xED, + 0x4, 0x2D, 0xAA, 0xF0, 0x23, 0xE, 0xA8, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x8F, 0xDF, 0xFB, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xE, 0x2C, 0xBD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xB4, 0xF7, 0xD8, 0x33, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF7, 0xD8, 0x7A, 0x75, 0x63, 0x61, 0x62, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xB, 0x8, 0x94, 0xE0, 0xE0, + 0x4, 0x8, 0x94, 0xF0, 0x23, 0x7, 0x41, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x89, 0xDD, 0xFB, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, 0xFD, 0xFD, 0xF8, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xF0, 0xBD, 0xB0, 0x78, 0x63, 0x80, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xC, 0x8, 0x94, 0xDC, 0xE0, + 0x4, 0x8, 0x94, 0xF0, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x93, 0xFB, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xA3, 0xFD, 0xFD, 0xF8, 0x41, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x3A, 0xEE, 0xFD, 0xE9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF7, 0xE9, 0x7C, 0x86, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xC, 0x8, 0x94, 0xDC, 0xE0, + 0x4, 0x8, 0x94, 0xF0, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0xDD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xA3, 0xBD, 0x31, 0xBD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x31, 0xE, 0x2C, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xF0, 0xAE, 0x83, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xC, 0x8, 0x94, 0xE0, 0xE0, + 0x4, 0x8, 0x94, 0xF0, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x92, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0x31, 0x2C, 0xF8, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xF9, 0xEA, 0xA7, 0x61, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xC, 0x8, 0xA3, 0xED, 0xED, + 0x0, 0x8, 0x94, 0xF0, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x85, 0x86, 0x89, 0xDD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, 0x31, 0xBD, 0xB6, 0xA3, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xD8, 0xA3, 0xE, 0x2C, 0x41, 0xBB, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF5, 0xB8, 0x6C, 0x62, 0x80, 0x80, 0x7F, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x63, 0xB3, 0xC, 0x8, 0xA4, 0xEE, 0xEE, + 0x1, 0x8, 0x94, 0xF0, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x86, 0x8A, 0xDD, 0xF4, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x41, 0xF8, 0xFD, 0xFD, 0xB6, 0xA3, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xB4, 0xF7, 0xD8, 0x33, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xF9, 0xF0, 0xB6, 0x7A, 0x78, 0x69, 0x60, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x7D, 0x73, 0xBA, 0xE, 0x8, 0xA4, 0xF0, 0xF0, + 0x7, 0x8, 0x94, 0xF0, 0x23, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x89, 0xDD, 0xFC, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, 0xFD, 0xFD, 0xF8, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xF9, 0xF7, 0xEB, 0xB8, 0x70, 0x7E, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x88, 0x84, 0x74, 0xAE, 0xBD, 0xE, 0x8, 0xA4, 0xF5, 0xF5, + 0x7, 0x8, 0xA4, 0xF0, 0x2C, 0x1, 0x3F, 0xDF, 0x89, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x80, 0x73, 0x73, 0x81, 0x80, 0x85, 0x87, 0x87, 0x87, 0x85, 0x86, 0x86, 0x89, 0x92, 0xFB, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x3A, 0xEE, 0xFD, 0xE9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBA, 0x74, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x88, 0x84, 0x8E, 0xD9, 0xBB, 0xB7, 0xBD, 0xE, 0x8, 0xAA, 0xF0, 0xF5, + 0x8, 0x8, 0xA4, 0xF5, 0x2D, 0x1, 0x3F, 0xE0, 0x84, 0x85, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x88, 0x84, 0x7B, 0x7A, 0x70, 0x73, 0x82, 0x83, 0x84, 0x8B, 0xB1, 0xB1, 0xD3, 0xDF, 0xFC, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x31, 0xE, 0x2C, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xB7, 0x6A, 0x7E, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x89, 0x8D, 0xD9, 0xF4, 0xF8, 0xE9, 0xBD, 0xBD, 0xE, 0x1, 0x48, 0xB6, 0xB4, + 0x3, 0x12, 0xA4, 0xF5, 0x33, 0x1, 0x41, 0xEA, 0x7A, 0x61, 0x80, 0x87, 0x87, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x86, 0x8D, 0xD6, 0xB6, 0xAE, 0xD1, 0xD9, 0xEE, 0xF0, 0xF0, 0xF5, 0xF9, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xE9, 0xA8, 0x70, 0x63, 0x81, 0x80, 0x83, 0x61, 0x62, 0x85, 0x87, + 0x87, 0x86, 0x8A, 0xD9, 0xF5, 0xF9, 0xFD, 0xFD, 0xE9, 0xBD, 0xE9, 0x31, 0x1, 0x12, 0x2D, 0xE, + 0x1, 0x12, 0xA4, 0xF1, 0x34, 0x3, 0x41, 0xF0, 0xBB, 0x72, 0x6A, 0x60, 0x85, 0x87, 0x87, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x88, 0x92, 0xED, 0xF0, 0xF5, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB7, 0x2C, 0xE, 0x38, 0xE9, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0x2C, 0xE, 0x31, 0xAA, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, 0xE9, 0xBA, 0xBA, 0xD6, 0xD8, 0xB4, 0x72, 0x74, 0x76, + 0xD1, 0xDC, 0xF5, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB6, 0xEE, 0xAA, 0x1, 0x1, 0x1, 0x1, + 0x1, 0x3, 0x2D, 0x2D, 0x1, 0x8, 0x94, 0xF5, 0xF8, 0xEE, 0xB7, 0xA7, 0x68, 0x62, 0x7F, 0x87, + 0x87, 0x87, 0x87, 0x87, 0x87, 0x89, 0xDF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF0, 0xFD, 0xF0, 0x3A, 0xB6, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xE9, 0xFD, 0xF0, 0x3A, 0xA3, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF7, 0xF7, 0xF8, 0xF0, 0xE9, 0xD8, 0xE0, + 0xF5, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB6, 0xD8, 0xEE, 0x31, 0x0, 0x0, 0x0, + 0x1, 0x1, 0x1, 0x1, 0x0, 0x8, 0x94, 0xF7, 0xFD, 0xF9, 0xF7, 0xE9, 0xB4, 0x72, 0x69, 0x62, + 0x85, 0x87, 0x87, 0x87, 0x89, 0x93, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x31, 0xBD, 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xF9, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBD, 0xB6, 0xEE, 0xBD, 0x31, 0x1, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x41, 0xF7, 0xFD, 0xFD, 0xFD, 0xF9, 0xF5, 0xD8, 0xB0, 0x72, + 0x61, 0x7E, 0x85, 0x89, 0xDD, 0xF4, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0x33, 0xFD, 0xFD, 0xF0, 0xE, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAA, 0x3A, 0xF0, 0xFD, 0xE9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xEE, 0xD8, 0xEA, 0xF8, 0xF0, 0xB4, 0x41, + 0x2C, 0xE, 0x1, 0x0, 0x1, 0x1, 0x41, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF0, 0xE9, + 0xB0, 0xAE, 0xB3, 0xDC, 0xFB, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xBB, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x31, 0xE, 0x2C, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF5, 0xE9, 0xE9, 0xA4, 0xBD, 0xF5, 0xF8, 0xF8, + 0xF5, 0xEE, 0xAA, 0x2C, 0x1, 0xE, 0xB4, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF7, 0xF5, 0xF7, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xEA, 0xBD, 0xBD, 0xE, 0x33, 0xA4, 0xB6, 0xE9, + 0xF5, 0xF5, 0xF0, 0xE9, 0xAA, 0xB7, 0xF0, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0x2C, 0xE, 0x31, 0xAA, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x3A, 0xA3, 0xB6, 0xE9, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x1, 0x1A, 0x34, 0x48, + 0xBD, 0xF0, 0xEA, 0xE9, 0xF0, 0xF0, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xE9, 0xFD, 0xF0, 0x3A, 0xA3, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xE9, 0xB6, 0x3C, 0xE, 0x3A, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x1, 0x1, 0xF, 0x12, + 0x48, 0xBD, 0xF0, 0xEA, 0xBD, 0xEE, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xF9, 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xBD, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x0, 0x1, 0x1, 0x1, + 0x12, 0x94, 0xE9, 0xF5, 0x33, 0x3A, 0xD8, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xAA, 0x3A, 0xF0, 0xFD, 0xE9, 0x2C, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF9, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x0, 0x1, 0x1, 0x0, + 0x1, 0x34, 0xB7, 0xF7, 0x31, 0x8, 0xA4, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x31, 0xE, 0x2C, 0xE9, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x2C, 0x38, 0xB4, 0xF5, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x1, 0x2D, 0x48, 0x3A, + 0x0, 0x12, 0xAA, 0xF5, 0x31, 0x3, 0x94, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x3A, 0xFD, 0xF5, 0xAA, 0x33, 0xE, 0x2C, 0xA3, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x7, 0xA4, 0xF5, 0xF0, + 0x7, 0x8, 0xA4, 0xF5, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xB6, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xAA, 0xF5, 0xF5, + 0x7, 0x8, 0xA4, 0xF5, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBD, 0xA3, 0x31, 0x2C, 0x3F, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0x31, 0xE, 0x31, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xAA, 0xF5, 0xF0, + 0x7, 0x8, 0xA4, 0xF5, 0x33, 0x3, 0x41, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB4, 0xA8, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xBD, 0xFD, 0xE, 0xA3, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xAA, 0xF5, 0xF5, + 0x7, 0x8, 0xA4, 0xF5, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xF9, 0xE, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xF8, 0xFD, 0xE, 0xF9, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xAA, 0xF0, 0xF0, + 0x7, 0x8, 0xA4, 0xF5, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x31, 0xE, 0xB6, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x3A, 0xFD, 0xE, 0xF0, 0x2C, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xAA, 0xF5, 0xF0, + 0x7, 0x8, 0xA4, 0xF5, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB4, 0xB6, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0xFD, 0xE, 0x2C, 0xD8, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xAA, 0xF5, 0xF0, + 0x7, 0x8, 0xA4, 0xF5, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x41, 0xBB, 0xF7, 0xF9, 0xE, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xAA, 0xF5, 0xF0, + 0x7, 0x8, 0xA4, 0xF5, 0x31, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xB6, 0x41, 0xE, 0xE, 0xB6, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xB6, 0x2C, 0xE, 0x33, 0xE9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xAA, 0xF5, 0xF0, + 0x7, 0x8, 0xA4, 0xF5, 0x33, 0x3, 0x48, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0xE9, 0xFD, 0xF0, 0x3A, 0xB6, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x8, 0xAA, 0xF5, 0xF0, + 0x7, 0x7, 0x3B, 0xAB, 0x12, 0x3, 0x94, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB6, 0xFD, 0xFD, 0xF9, 0xE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xBD, 0xE, 0x7, 0xA4, 0xF5, 0xF5, + 0x7, 0x1, 0x8, 0x8, 0x1, 0x8, 0x94, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x2C, 0x31, 0xE9, 0xF7, 0xB6, 0xB4, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xBD, 0xE9, 0x33, 0x7, 0x3B, 0xF0, 0xF8, + 0x33, 0x0, 0x1, 0x1, 0x1, 0x8, 0x94, 0xF7, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x2C, 0xE, 0xA3, 0xD8, 0xF7, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xE9, 0xB6, 0xEA, 0xE9, 0xAA, 0xA4, 0xE9, 0xF0, + 0xB6, 0x7, 0x0, 0x0, 0x1, 0x8, 0x41, 0xF5, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF7, 0xBB, 0x41, 0x2C, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF0, 0xB6, 0xB4, 0xBD, 0xE9, 0xEA, 0xBD, 0xB6, + 0xF5, 0xA8, 0x7, 0x0, 0x0, 0x1, 0x41, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, 0xF0, 0xD8, 0xB7, 0xBB, 0xE9, 0xD8, 0xB4, + 0xBD, 0xF0, 0xB6, 0x3A, 0xE, 0x2C, 0xB7, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF8, 0xF7, 0xF5, 0xF8, 0xF7, 0xE9, + 0xB4, 0xBD, 0xEA, 0xEA, 0xB7, 0xBD, 0xF0, 0xF8, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xF9, + 0xF5, 0xF0, 0xF5, 0xF8, 0xF9, 0xF9, 0xF9, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD + +}; diff --git a/backends/gp32/gp-fs.cpp b/backends/gp32/gp-fs.cpp index cd2ca42b6f..f752282ff5 100644 --- a/backends/gp32/gp-fs.cpp +++ b/backends/gp32/gp-fs.cpp @@ -1,72 +1,84 @@ /* ScummVM - Scumm Interpreter - * Copyright (C) 2001-2005 The ScummVM project + * Copyright (C) 2001 Ludvig Strigeus + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - * + * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Header$ + * */ #if defined (__GP32__) -#include "../fs/fs.h" -#include "stdio.h" +#include "stdafx.h" -extern "C" { - #include "gpstdio.h" -} +#include "backends/gp32/gp32.h" +#include "backends/fs/fs.h" +#include <stdio.h> +#include <gpstdio.h> /* - * Implementation of the ScummVM file system API based on GP32. + * Implementation of the ScummVM file system API based on GP32 SMC File Access. */ class GP32FilesystemNode : public FilesystemNode { protected: - String _displayName; + Common::String _displayName; bool _isDirectory; bool _isValid; - String _path; + Common::String _path; public: GP32FilesystemNode(); - GP32FilesystemNode(const String &path); + GP32FilesystemNode(const Common::String &path); GP32FilesystemNode(const GP32FilesystemNode *node); - virtual String displayName() const { return _displayName; } + virtual Common::String displayName() const { return _displayName; } virtual bool isValid() const { return _isValid; } virtual bool isDirectory() const { return _isDirectory; } - virtual String path() const { return _path; } + virtual Common::String path() const { return _path; } - virtual FSList *listDir(ListMode mode = kListDirectoriesOnly) const; + virtual FSList listDir(ListMode mode = kListDirectoriesOnly) const; virtual FilesystemNode *parent() const; virtual FilesystemNode *clone() const { return new GP32FilesystemNode(this); } }; -FilesystemNode *FilesystemNode::getRoot() { +AbstractFilesystemNode *FilesystemNode::getRoot() { return new GP32FilesystemNode(); } GP32FilesystemNode::GP32FilesystemNode() { + _displayName = "gp:\\SCUMMVM\\GAMES\\"; + _isValid = true; + _isDirectory = true; + _path = "gp:\\scummvm\\games\\"; +} + +/* +GP32FilesystemNode::GP32FilesystemNode() { _displayName = "gp:\\"; _isValid = true; _isDirectory = true; _path = "gp:\\"; } +*/ -/* -GP32FilesystemNode::GP32FilesystemNode(const String &p) { +GP32FilesystemNode::GP32FilesystemNode(const Common::String &p) { // TODO - extract last component from path _displayName = p; // TODO - check whether it is a directory, and whether the file actually exists @@ -74,7 +86,6 @@ GP32FilesystemNode::GP32FilesystemNode(const String &p) { _isDirectory = true; _path = p; } -*/ GP32FilesystemNode::GP32FilesystemNode(const GP32FilesystemNode *node) { _displayName = node->_displayName; @@ -83,13 +94,17 @@ GP32FilesystemNode::GP32FilesystemNode(const GP32FilesystemNode *node) { _path = node->_path; } -FSList *GP32FilesystemNode::listDir(ListMode mode) const { +AbstractFilesystemNode *FilesystemNode::getNodeForPath(const String &path) { + return new GP32FilesystemNode(path); +} + +FSList GP32FilesystemNode::listDir(ListMode mode) const { assert(_isDirectory); GPDIRENTRY dp; ulong read; - FSList *myList = new FSList(); + FSList myList; int start=0; // current file @@ -114,7 +129,7 @@ FSList *GP32FilesystemNode::listDir(ListMode mode) const { if (entry._isDirectory) entry._path += "\\"; //ph0x - myList->push_back(entry); + myList.push_back(entry); } return myList; } @@ -134,19 +149,36 @@ FilesystemNode *GP32FilesystemNode::parent() const { GP32FilesystemNode *p = new GP32FilesystemNode(); +// OLD - REMOVE ON CLEAN COMPILE +// // Root node is its own parent. Still we can't just return this +// // as the GUI code will call delete on the old node. +// if (_path != "gp:\\") { //ph0x +// const char *start = _path.c_str(); +// const char *end = lastPathComponent(_path); +// +// p->_path = String(start, end - start); +// p->_isValid = true; +// p->_isDirectory = true; +// p->_displayName = lastPathComponent(p->_path); +// } +// return p; +//} + // Root node is its own parent. Still we can't just return this // as the GUI code will call delete on the old node. - if (_path != "gp:\\") { //ph0x + if (_path != "gp:\\") { const char *start = _path.c_str(); const char *end = lastPathComponent(_path); - p->_path = String(start, end - start); - p->_isValid = true; - p->_isDirectory = true; + p->_path = Common::String(start, end - start); p->_displayName = lastPathComponent(p->_path); + } else { + p->_path = _path; + p->_displayName = _displayName; } + p->_isValid = true; + p->_isDirectory = true; return p; } -#endif // defined(__GP32__) - +#endif /* defined(__GP32__) */ diff --git a/backends/gp32/gp32.cpp b/backends/gp32/gp32.cpp index 844ec5ace6..c8912ed166 100644 --- a/backends/gp32/gp32.cpp +++ b/backends/gp32/gp32.cpp @@ -1,7 +1,8 @@ /* ScummVM - Scumm Interpreter * Copyright (C) 2001 Ludvig Strigeus - * Copyright (C) 2001/2002 The ScummVM project - * Copyright (C) 2002 ph0x (GP32 port) + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -16,35 +17,194 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * + */ + +/* + * + * Main Source for ScummVM for the GP32 + * */ +// TODO: +// Clean up GP leftovers and strip backend to only bits the GP32 needs. +// Finish restructure. +// Sort all remaining GCC 3.4 warnings. +// setTimerCallback: function call doesnt use * ? + +//#define REAL_MAIN + +#ifdef GP32_GDB +#include <gdb-stub.h> +#endif /*GP32_GDB */ + +#include "backends/gp32/setup.h" + +#include "backends/gp32/gp32.h" + +#include "backends/gp32/gfx_splash.h" +//#include "backends/gp32/resources/gfx_splash_alt.h" -//#define GPDEBUG //uncomment for debug messages (use DarkFader's emudebug.exe) -#include "gp32.h" +#define gpRGB16(r,g,b) (((((r)>>3)&0x1F) << 11) | ((((g)>>3)&0x1F) << 6) | (((b)>>3)&0x1F)<<1) +#define RGB_TO_16(r,g,b) (((((r)>>3)&0x1F) << 11) | ((((g)>>3)&0x1F) << 6) | (((b)>>3)&0x1F)<<1) + +int nflip, keydata; // Flip Index +GP_HPALETTE PAL; //palette +GPDRAWSURFACE LCDbuffer[BUFFERCOUNT + 1]; //buffers -#define MARK printf("%s, %s, %d", __FUNCTION__, __FILE__, __LINE__) //ph0x -#define GP_RGB16(r,g,b) (((((r>>3))&0x1f)<<11)|((((g>>3))&0x1f)<<6)|((((b>>3))&0x1f)<<1)) void GpSetPaletteEntry(u8 i, u8 r, u8 g, u8 b); -#define GAME_SURFACE 0 -#define NAMEME_SURFACE 1 -#define DEBUG_SURFACE 2 +// FIXME: No global init! + +float gammatab[256], gammatab2[256]; // fixme: one table +const float scrGamma[] = { 1.0, 1.001, 1.002, 1.003, 1.004, 1.005 }; +char gindex = 3; + +int mx = 1, my = 1; +int scrofsy = 239; +char currentsurf; + +// FIXME!! +// crashes if here and not buildgammatab() not called as very first line! check +// check if sav file handling overwrites something! +// float gammatab[256]; -GPDRAWSURFACE gpDraw[3]; // surfaces -int mx=1, my=1; // wrong if 0? -char currsurface; FILE *fstderr, *fstdout, *fstdin; -// Set colors of the palette -void OSystem_GP32::setPalette(const byte *colors, uint start, uint num) { +/**************************************************************** + GP32 Input mappings - Returns Button Pressed. +****************************************************************/ +int gpTrapKey(void) +{ + int value = 0; + +#define rKEY_A 0x4000 +#define rKEY_B 0x2000 +#define rKEY_L 0x1000 +#define rKEY_R 0x8000 +#define rKEY_UP 0x0800 +#define rKEY_DOWN 0x0200 +#define rKEY_LEFT 0x0100 +#define rKEY_RIGHT 0x0400 +#define rKEY_START 0x0040 +#define rKEY_SELECT 0x0080 +#define rPBDAT (*(volatile unsigned *)0x1560000c) +#define rPEDAT (*(volatile unsigned *)0x15600030) + + unsigned long gpb = rPBDAT; // 0x156 + unsigned long gpe = rPEDAT; + + if ((gpb & rKEY_LEFT) == 0) + value |= GPC_VK_LEFT; + if ((gpb & rKEY_RIGHT) == 0) + value |= GPC_VK_RIGHT; + if ((gpb & rKEY_UP) == 0) + value |= GPC_VK_UP; + if ((gpb & rKEY_DOWN) == 0) + value |= GPC_VK_DOWN; + if ((gpb & rKEY_A) == 0) + value |= GPC_VK_FA; + if ((gpb & rKEY_B) == 0) + value |= GPC_VK_FB; + if ((gpb & rKEY_L) == 0) + value |= GPC_VK_FL; + if ((gpb & rKEY_R) == 0) + value |= GPC_VK_FR; + if ((gpe & rKEY_SELECT) == 0) + value |= GPC_VK_SELECT; + if ((gpe & rKEY_START) == 0) + value |= GPC_VK_START; + + return value; +} + +/**************************************************************** + GP32 ScummVM OSystem Implementation. +****************************************************************/ + +//OSystem *OSystem_GP32::create() +//{ +// //OSystem_GP32 *syst = new OSystem_GP32(); +// //return syst; +// return new OSystem_GP32(); +//} + +OSystem *OSystem_GP32_create() +{ +// +// OSystem_GP32 *syst = new OSystem_GP32(); +//// +//// //syst->_mode = gfx_mode; +//// //syst->_full_screen = full_screen; +// +// // allocate palette storage +// syst->_currentPalette = (gpColor*)calloc(sizeof(gpColor), 256); +// +// // allocate the dirty rect storage +// syst->_mouseBackup = (byte*)malloc(MAX_MOUSE_W * MAX_MOUSE_H * MAX_SCALING * 2); +// return syst; +// return new OSystem_GP32(); + + //return OSystem_GP32::create(); + return new OSystem_GP32(); +} + +OSystem_GP32::OSystem_GP32() : +//#ifdef USE_OSD +// _osdSurface(0), _osdAlpha(SDL_ALPHA_TRANSPARENT), _osdFadeStartTime(0), +//#endif + _hwscreen(0), _screen(0), _screenWidth(0), _screenHeight(0), + _tmpscreen(0), _overlayVisible(false), +// _cdrom(0), +// _scaler_proc(0), + _modeChanged(false), _dirty_checksums(0), + _mouseVisible(false), _mouseDrawn(false), _mouseData(0), + _mouseHotspotX(0), _mouseHotspotY(0), + _currentShakePos(0), _newShakePos(0), + _paletteDirtyStart(0), _paletteDirtyEnd(0), _graphicsMutex(0) { + + // allocate palette storage + _currentPalette = (gpColor *) calloc(sizeof(gpColor), 256); + + // allocate the dirty rect storage + _mouseBackup = + (byte *) malloc(MAX_MOUSE_W * MAX_MOUSE_H * MAX_SCALING * 2); + + // reset mouse state + memset(&km, 0, sizeof(km)); + + _scaleFactor = 1; + _scaler_proc = Normal1x; + + _mode = GFX_NORMAL; + _full_screen = true; + _adjustAspectRatio = false; + _mode_flags = 0; + + //init_intern(); +} + +OSystem_GP32::~OSystem_GP32() { + if (_dirty_checksums) + free(_dirty_checksums); + free(_currentPalette); + free(_mouseBackup); + deleteMutex(_graphicsMutex); + quit(); +} + +// Set colors of the palette +void OSystem_GP32::setPalette(const byte * colors, uint start, uint num) { const byte *b = colors; uint i; - SDL_Color *base = _currentPalette + start; - for(i = 0; i < num; i++) { + gpColor *base = _currentPalette + start; + for (i = 0; i < num; i++) { base[i].r = b[0]; base[i].g = b[1]; base[i].b = b[2]; - b += 4; + b += 4; } if (start < _paletteDirtyStart) @@ -54,24 +214,51 @@ void OSystem_GP32::setPalette(const byte *colors, uint start, uint num) { _paletteDirtyEnd = start + num; } -// Set the size of the video bitmap. -// Typically, 320x200 -void OSystem_GP32::initSize(uint w, uint h) { - // Avoid redundant res changes +// Set the size of the video bitmap. +// Typically, 320x200 (x240 for FMTowns) + +// FIXME: Is there a clean way to get the Game_ID in the backend, I still like the virual keymap feature below. +//#include "base/gameDetector.h" +//#include "scumm/scumm.h" +//extern ScummEngine *g_scumm; + +const char shortkey0[] = ""; +const char shortkey1[] = "gpuolscty"; // give, pick up, use, open, look at, push, close, talk to, pull +const char shortkey2[] = "qwerasdfzxcv"; //push, open, walk to, use, pull, close, pick up, turn on, give, look, what is, turn off +const char shortkey3[] = "wlptuo"; // samnmax +const char *shortkey; +int skindex = 0; + +void OSystem_GP32::initSize(uint w, uint h) { + /*switch (menu[MENU_SCREENPOS].index) { + * case 0 : scrofsy = 239 - (240 - h)/2; break; + * case 1 : scrofsy = 239; break; + * } + */ + //switch (g_scumm->_gameId) { //fixme: add all + // case GID_TENTACLE : case GID_MONKEY2 : case GID_INDY4 : shortkey=shortkey1; break; + // case GID_INDY3 : case GID_ZAK256 : case GID_MONKEY : shortkey=shortkey2; break; + // case GID_SAMNMAX : shortkey=shortkey3; break; + // default : shortkey=shortkey0; break; + //} + + shortkey = shortkey0; + + // Avoid redundant res changes if ((int)w == _screenWidth && (int)h == _screenHeight) return; _screenWidth = w; _screenHeight = h; - CKSUM_NUM = (_screenWidth*_screenHeight/(8*8)); + CKSUM_NUM = (_screenWidth * _screenHeight / (8 * 8)); if (_dirty_checksums) free(_dirty_checksums); - _dirty_checksums = (uint32*)calloc(CKSUM_NUM*2, sizeof(uint32)); - _mouseData = NULL; + _dirty_checksums = (uint32 *) calloc(CKSUM_NUM * 2, sizeof(uint32)); + _mouseData = NULL; unload_gfx_mode(); load_gfx_mode(); - + return; } void OSystem_GP32::add_dirty_rect(int x, int y, int w, int h) { @@ -81,23 +268,32 @@ void OSystem_GP32::add_dirty_rect(int x, int y, int w, int h) { if (_num_dirty_rects == NUM_DIRTY_RECT) _forceFull = true; else { - SDL_Rect *r = &_dirty_rect_list[_num_dirty_rects++]; - - // Extend the dirty region by 1 pixel for scalers - // that "smear" the screen, e.g. 2xSAI + gpRect *r = &_dirty_rect_list[_num_dirty_rects++]; + + // Extend the dirty region by 1 pixel for scalers + // that "smear" the screen, e.g. 2xSAI if (_mode_flags & DF_UPDATE_EXPAND_1_PIXEL) { x--; y--; - w+=2; - h+=2; + w += 2; + h += 2; } - // clip - if (x < 0) { w+=x; x=0; } - if (y < 0) { h+=y; y=0; } - if (w > _screenWidth-x) { w = _screenWidth - x; } - if (h > _screenHeight-y) { h = _screenHeight - y; } - + if (x < 0) { + w += x; + x = 0; + } + if (y < 0) { + h += y; + y = 0; + } + if (w > _screenWidth - x) { + w = _screenWidth - x; + } + if (h > _screenHeight - y) { + h = _screenHeight - y; + } + r->x = x; r->y = y; r->w = w; @@ -105,45 +301,46 @@ void OSystem_GP32::add_dirty_rect(int x, int y, int w, int h) { } } -#define ROL(a,n) a = (a<<(n)) | (a>>(32-(n))) -#define DOLINE(x) a ^= ((uint32*)buf)[0+(x)*(_screenWidth/4)]; b ^= ((uint32*)buf)[1+(x)*(_screenWidth/4)] void OSystem_GP32::mk_checksums(const byte *buf) { uint32 *sums = _dirty_checksums; - uint x,y; - const uint last_x = (uint)_screenWidth/8; - const uint last_y = (uint)_screenHeight/8; + uint x, y; + const uint last_x = (uint) _screenWidth / 8; + const uint last_y = (uint) _screenHeight / 8; + + const uint BASE = 65521; /* largest prime smaller than 65536 */ /* the 8x8 blocks in buf are enumerated starting in the top left corner and * reading each line at a time from left to right */ - for(y=0; y != last_y; y++, buf+=_screenWidth*(8-1)) - for(x=0; x != last_x; x++, buf+=8) { - uint32 a = x; - uint32 b = y; - - DOLINE(0); ROL(a,13); ROL(b,11); - DOLINE(2); ROL(a,13); ROL(b,11); - DOLINE(4); ROL(a,13); ROL(b,11); - DOLINE(6); ROL(a,13); ROL(b,11); - - a*=0xDEADBEEF; - b*=0xBAADF00D; + for (y = 0; y != last_y; y++, buf += _screenWidth * (8 - 1)) + for (x = 0; x != last_x; x++, buf += 8) { + // Adler32 checksum algorithm (from RFC1950, used by gzip and zlib). + // This computes the Adler32 checksum of a 8x8 pixel block. Note + // that we can do the modulo operation (which is the slowest part) + // of the algorithm) at the end, instead of doing each iteration, + // since we only have 64 iterations in total - and thus s1 and + // s2 can't overflow anyway. + uint32 s1 = 1; + uint32 s2 = 0; + const byte *ptr = buf; + for (int subY = 0; subY < 8; subY++) { + for (int subX = 0; subX < 8; subX++) { + s1 += ptr[subX]; + s2 += s1; + } + ptr += _screenWidth; + } - DOLINE(1); ROL(a,13); ROL(b,11); - DOLINE(3); ROL(a,13); ROL(b,11); - DOLINE(5); ROL(a,13); ROL(b,11); - DOLINE(7); ROL(a,13); ROL(b,11); + s1 %= BASE; + s2 %= BASE; /* output the checksum for this block */ - *sums++=a+b; + *sums++ = (s2 << 16) + s1; } } -#undef DOLINE -#undef ROL - void OSystem_GP32::add_dirty_rgn_auto(const byte *buf) { - assert( ((uint32)buf & 3) == 0); - + assert(((uint32) buf & 3) == 0); + /* generate a table of the checksums */ mk_checksums(buf); @@ -153,24 +350,25 @@ void OSystem_GP32::add_dirty_rgn_auto(const byte *buf) { } /* go through the checksum list, compare it with the previous checksums, - and add all dirty rectangles to a list. try to combine small rectangles - into bigger ones in a simple way */ + * and add all dirty rectangles to a list. try to combine small rectangles + * into bigger ones in a simple way */ if (!_forceFull) { - int x,y,w; + int x, y, w; uint32 *ck = _dirty_checksums; - - for(y=0; y!=_screenHeight/8; y++) { - for(x=0; x!=_screenWidth/8; x++,ck++) { + + for (y = 0; y != _screenHeight / 8; y++) { + for (x = 0; x != _screenWidth / 8; x++, ck++) { if (ck[0] != ck[CKSUM_NUM]) { /* found a dirty 8x8 block, now go as far to the right as possible, - and at the same time, unmark the dirty status by setting old to new. */ - w=0; + * and at the same time, unmark the dirty status by setting old to new. */ + w = 0; do { - ck[w+CKSUM_NUM] = ck[w]; + ck[w + CKSUM_NUM] = ck[w]; w++; - } while (x+w != _screenWidth/8 && ck[w] != ck[w+CKSUM_NUM]); - - add_dirty_rect(x*8, y*8, w*8, 8); + } while (x + w != _screenWidth / 8 + && ck[w] != ck[w + CKSUM_NUM]); + + add_dirty_rect(x * 8, y * 8, w * 8, 8); if (_forceFull) goto get_out; @@ -178,30 +376,45 @@ void OSystem_GP32::add_dirty_rgn_auto(const byte *buf) { } } } else { - get_out:; + get_out:; /* Copy old checksums to new */ - memcpy(_dirty_checksums + CKSUM_NUM, _dirty_checksums, CKSUM_NUM * sizeof(uint32)); + memcpy(_dirty_checksums + CKSUM_NUM, _dirty_checksums, + CKSUM_NUM * sizeof(uint32)); } } // Draw a bitmap to screen. // The screen will not be updated to reflect the new bitmap -void OSystem_GP32::copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h) { +void OSystem_GP32::copyRectToScreen(const byte *buf, int pitch, int x, int y, + int w, int h) { if (_screen == NULL) return; - if (pitch == _screenWidth && x==0 && y==0 && w==_screenWidth && h==_screenHeight && _mode_flags&DF_WANT_RECT_OPTIM) { + if (pitch == _screenWidth && x == 0 && y == 0 && w == _screenWidth + && h == _screenHeight && _mode_flags & DF_WANT_RECT_OPTIM) { /* Special, optimized case for full screen updates. * It tries to determine what areas were actually changed, * and just updates those, on the actual display. */ add_dirty_rgn_auto(buf); } else { /* Clip the coordinates */ - if (x < 0) { w+=x; buf-=x; x = 0; } - if (y < 0) { h+=y; buf-=y*pitch; y = 0; } - if (w > _screenWidth-x) { w = _screenWidth - x; } - if (h > _screenHeight-y) { h = _screenHeight - y; } - + if (x < 0) { + w += x; + buf -= x; + x = 0; + } + if (y < 0) { + h += y; + buf -= y * pitch; + y = 0; + } + if (w > _screenWidth - x) { + w = _screenWidth - x; + } + if (h > _screenHeight - y) { + h = _screenHeight - y; + } + if (w <= 0 || h <= 0) return; @@ -213,162 +426,243 @@ void OSystem_GP32::copyRectToScreen(const byte *buf, int pitch, int x, int y, in if (_mouseDrawn) undraw_mouse(); - ///if (SDL_LockSurface(_screen) == -1) - /// error("SDL_LockSurface failed: %s.\n", SDL_GetError()); - - byte *dst = (byte *)_screen->pixels + y * _screenWidth + x; + byte *dst = (byte *) _screen->pixels + y * _screenWidth + x; do { memcpy(dst, buf, w); dst += _screenWidth; buf += pitch; } while (--h); - - ///SDL_UnlockSurface(_screen); } +gpSurface *gpCreateRGBSurface(Uint32 flags, int width, int height, int depth, + Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask) { -SDL_Surface *SDL_CreateRGBSurface - (Uint32 flags, int width, int height, int depth, - Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask) { - - SDL_Surface *surf = (SDL_Surface*)malloc(sizeof(SDL_Surface)); - surf->format = (SDL_PixelFormat*)malloc(sizeof(SDL_PixelFormat)); + gpSurface *surf = (gpSurface *) malloc(sizeof(gpSurface)); + surf->format = (gpPixelFormat *) malloc(sizeof(gpPixelFormat)); - if ((flags & SDL_HWSURFACE) == SDL_HWSURFACE) { - error(">HW surface (w=%d, h=%d)", width, height); - } else - if ((flags & SDL_SWSURFACE) == SDL_SWSURFACE) { - int size=width*height*(depth/8); - printf(">SW surface (w=%d, h=%d, size=%d, depth=%d)", width, height, size, depth); + if ((flags & gpHWSurface) == gpHWSurface) { + error(">HW surface (w=%d, h=%d)", width, height); + } else if ((flags & gpSWSurface) == gpSWSurface) { + int size = width * height * (depth / 8); + printf(">SW surface (w=%d, h=%d, size=%d, depth=%d)", width, + height, size, depth); surf->pixels = malloc(size); } else { error(">unknown surface", width, height); return NULL; - } - surf->w=width; - surf->h=height; - surf->pitch=width*(depth/8); - surf->format->BitsPerPixel=depth; - surf->format->BytesPerPixel=depth/8; + } + surf->w = width; + surf->h = height; + surf->pitch = width * (depth / 8); + surf->format->BitsPerPixel = depth; + surf->format->BytesPerPixel = depth / 8; return surf; } -SDL_Surface *SDL_SetVideoMode - (int width, int height, int bpp, Uint32 flags) { - - return SDL_CreateRGBSurface(flags, width, height, bpp, 0, 0, 0, 0); +gpSurface *gpSetVideoMode(int width, int height, int bpp, Uint32 flags) { + return gpCreateRGBSurface(flags, width, height, bpp, 0, 0, 0, 0); } -void SDL_FreeSurface(SDL_Surface *surface) { +void gpFreeSurface(gpSurface *surface) { // implement } -SDL_Surface *SDL_CreateRGBSurfaceFrom(void *pixels, - int width, int height, int depth, int pitch, - Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask) { +gpSurface *gpCreateRGBSurfaceFrom(void *pixels, + int width, int height, int depth, int pitch, + Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask) { // FIXME dont reuse code - SDL_Surface *surf = (SDL_Surface*)malloc(sizeof(SDL_Surface)); - surf->format = (SDL_PixelFormat*)malloc(sizeof(SDL_PixelFormat)); + gpSurface *surf = (gpSurface *) malloc(sizeof(gpSurface)); + surf->format = (gpPixelFormat *) malloc(sizeof(gpPixelFormat)); - surf->w=width; - surf->h=height; - surf->pitch=pitch; - surf->pixels=pixels; - surf->format->BitsPerPixel=depth; - surf->format->BytesPerPixel=depth/8; + surf->w = width; + surf->h = height; + surf->pitch = pitch; + surf->pixels = pixels; + surf->format->BitsPerPixel = depth; + surf->format->BytesPerPixel = depth / 8; return surf; } -int SDL_FillRect - (SDL_Surface *dst, SDL_Rect *dstrect, Uint32 color) { - - // implement +int gpFillRect(gpSurface *dst, gpRect *dstrect, Uint32 color) { + // FIXME: implement return 0; } +int mcshake = 0; -void SDL_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects) { - +void gpUpdateRects(gpSurface *screen, int numrects, gpRect *rects) { // FIXME dont duplicate code :) + // CHECK: shake causes crash? mcshake can get negative? + + if (screen->format->BitsPerPixel == 8) + while (numrects--) { + //if (mcshake && rects->h == LCD_HEIGHT) { //fixme? + if (mcshake && rects->h == /*_screenHeight*/ 200) { //fixme? + //printf("shaking %d", mcshake); + rects->h -= mcshake; + GpRectFill(NULL, &LCDbuffer[GAME_SURFACE], 0, rects->h + scrofsy, 320, mcshake, 0); //black border + } - if (screen->format->BitsPerPixel==8) - while (numrects--) { - u8 *s=(u8*)((u8*)screen->pixels+rects->y*320+rects->x); - u8 *d=(u8*)((u8*)gpDraw[GAME_SURFACE].ptbuffer+rects->x*240+239-rects->y); - u8 *s2=s, *d2=d; - - for (int x=rects->w; x; x--) { - for (int y=rects->h; y; y--) { - *d--=*s; - s+=320; // FIXME? screen->pitch; + u8 *s = + (u8 *) ((u8 *) screen->pixels + (rects->y + + mcshake) * 320 + rects->x); + u8 *d = + (u8 *) ((u8 *) LCDbuffer[GAME_SURFACE].ptbuffer + + rects->x * 240 + scrofsy - rects->y); + u8 *s2 = s, *d2 = d; + + for (int x = rects->w; x; x--) { + for (int y = rects->h; y; y--) { + *d-- = *s; + s += 320; // FIXME? screen->pitch; + } + d2 += 240; + d = d2; + s2++; + s = s2; } - d2+=240; - d=d2; - s2++; - s=s2; - } - rects++; - } - else - if (screen->format->BitsPerPixel==16) - while (numrects--) { - u16 *s=(u16*)((u16*)screen->pixels+rects->y*320+rects->x); - u16 *d=(u16*)((u16*)gpDraw[GAME_SURFACE].ptbuffer+rects->x*240+239-rects->y); - u16 *s2=s, *d2=d; - - for (int x=rects->w; x; x--) { - for (int y=rects->h; y; y--) { - *d--=*s; - s+=320; // FIXME? screen->pitch; + rects++; + } else if (screen->format->BitsPerPixel == 16) + while (numrects--) { + u16 *s = + (u16 *) ((u16 *) screen->pixels + rects->y * 320 + + rects->x); + u16 *d = + (u16 *) ((u16 *) LCDbuffer[GAME_SURFACE].ptbuffer + + rects->x * 240 + scrofsy - rects->y); + u16 *s2 = s, *d2 = d; + + for (int x = rects->w; x; x--) { + for (int y = rects->h; y; y--) { + *d-- = *s; + s += 320; // FIXME? screen->pitch; + } + d2 += 240; + d = d2; + s2++; + s = s2; } - d2+=240; - d=d2; - s2++; - s=s2; - } - rects++; - } - else error("blitting surface with wrong depth (%d)", screen->format->BitsPerPixel); + rects++; + } else + error("blitting surface with wrong depth (%d)", + screen->format->BitsPerPixel); // eh? works also when rects++ is here?? } -//#define SDL_BlitSurface SDL_UpperBlit -int SDL_BlitSurface(SDL_Surface *screen, SDL_Rect *rects, - SDL_Surface *dst, SDL_Rect *dstrect) { - +//#define gpBlitSurface gpUpperBlit +int gpBlitSurface(gpSurface *screen, gpRect *rects, gpSurface *dst, gpRect *dstrect) { // FIXME? role?? - //SDL_UpdateRects(screen, 1, rects); //ph0x! sdl_hwscreen + //gpUpdateRects(screen, 1, rects); //ph0x! _hwscreen return 0; } -int SDL_SetColors(SDL_Surface *surface, SDL_Color *colors, int firstcolor, int ncolors) { - if (currsurface == DEBUG_SURFACE) return 1; +int gpSetColors(gpSurface *surface, gpColor *colors, int firstcolor, int ncolors) { + float rr, gg, bb; + gpColor colors2[256]; - GpPaletteEntryChangeEx(firstcolor, ncolors, (GP_LOGPALENTRY*)colors, 0); + if (currentsurf == DEBUG_SURFACE) + return 1; + + for (int i = firstcolor; i < firstcolor + ncolors; i++) { + rr = colors[i].r * gammatab[colors[i].r]; + gg = colors[i].g * gammatab[colors[i].g]; + bb = colors[i].b * gammatab[colors[i].b]; + + if (rr > 255) + rr = 255; + if (gg > 255) + gg = 255; + if (bb > 255) + bb = 255; + + colors2[i].r = (u8) rr; + colors2[i].g = (u8) gg; + colors2[i].b = (u8) bb; + } + + GpPaletteEntryChangeEx(firstcolor, ncolors, (GP_LOGPALENTRY *) colors2, + 0); return 1; } +// Moves the screen content around by the given amount of pixels +// but only the top height pixel rows, the rest stays untouched +//void OSystem_GP32::move_screen(int dx, int dy, int height) +//{ +// if ((dx == 0) && (dy == 0)) +// return; +// +// if (dx == 0) { +// // vertical movement +// if (dy > 0) { +// // move down +// // copy from bottom to top +// for (int y = height - 1; y >= dy; y--) +// copyRectToScreen((byte *)_screen->pixels + _screenWidth * (y - dy), _screenWidth, 0, y, _screenWidth, 1); +// } else { +// // move up +// // copy from top to bottom +// for (int y = 0; y < height + dx; y++) +// copyRectToScreen((byte *)_screen->pixels + _screenWidth * (y - dy), _screenWidth, 0, y, _screenWidth, 1); +// } +// } else if (dy == 0) { +// // horizontal movement +// if (dx > 0) { +// // move right +// // copy from right to left +// for (int x = _screenWidth - 1; x >= dx; x--) +// copyRectToScreen((byte *)_screen->pixels + x - dx, _screenWidth, x, 0, 1, height); +// } else { +// // move left +// // copy from left to right +// for (int x = 0; x < _screenWidth; x++) +// copyRectToScreen((byte *)_screen->pixels + x - dx, _screenWidth, x, 0, 1, height); +// } +// } else { +// // free movement +// // not necessary for now +// } +//} + +int16 OSystem_GP32::get_height() { + return _screenHeight; +} + +int16 OSystem_GP32::get_width() { + return _screenWidth; +} + +//void OSystem_GP32::warpMouse(int, int) +//{ +//} + +void OSystem_GP32::warpMouse(int x, int y) { +// set_mouse_pos(x, y); +} + void OSystem_GP32::load_gfx_mode() { - GpRectFill(NULL,&gpDraw[GAME_SURFACE], 0, 0, 320, 240, 0); //black border + GpRectFill(NULL, &LCDbuffer[GAME_SURFACE], 0, 0, 320, 240, 0); //black border _forceFull = true; _mode_flags = DF_WANT_RECT_OPTIM | DF_UPDATE_EXPAND_1_PIXEL; - sdl_tmpscreen = NULL; + _tmpscreen = NULL; TMP_SCREEN_WIDTH = (_screenWidth + 3); - - switch(_mode) { + + switch (_mode) { case GFX_NORMAL: -normal_mode:; + //??????? + //normal_mode:; _scaleFactor = 1; _scaler_proc = Normal1x; + break; default: - error("unknown gfx mode"); + error("Unknown graphics mode"); _scaleFactor = 1; _scaler_proc = NULL; } @@ -376,159 +670,168 @@ normal_mode:; // // Create the surface that contains the 8 bit game data // - _screen = SDL_CreateRGBSurface(SDL_SWSURFACE, _screenWidth, _screenHeight, 8, 0, 0, 0, 0); + _screen = + gpCreateRGBSurface(gpSWSurface, _screenWidth, _screenHeight, 8, 0, + 0, 0, 0); if (_screen == NULL) error("_screen failed"); - // // Create the surface that contains the scaled graphics in 16 bit mode // - sdl_hwscreen = SDL_SetVideoMode(_screenWidth * _scaleFactor, _screenHeight * _scaleFactor, 16, - _full_screen ? (SDL_FULLSCREEN|SDL_SWSURFACE) : SDL_SWSURFACE - ); - if (sdl_hwscreen == NULL) - error("sdl_hwscreen failed"); - + _hwscreen = + gpSetVideoMode(_screenWidth * _scaleFactor, + _screenHeight * _scaleFactor, 16, + _full_screen ? (gpFullScreen | gpSWSurface) : gpSWSurface); + if (_hwscreen == NULL) + error("_hwscreen failed"); + // // Create the surface used for the graphics in 16 bit before scaling, and also the overlay // /* // Distinguish 555 and 565 mode - if (sdl_hwscreen->format->Rmask == 0x7C00) + if (_hwscreen->format->Rmask == 0x7C00) InitScalers(555); else InitScalers(565); */ //InitScalers(555); // ph0x fixme? - //ph0x fixme - tmpscreen needed? + //ph0x fixme - tmpscreen needed? + // Need some extra bytes around when using 2xSaI - uint16 *tmp_screen = (uint16*)calloc(TMP_SCREEN_WIDTH*(_screenHeight+3),sizeof(uint16)); - sdl_tmpscreen = SDL_CreateRGBSurfaceFrom(tmp_screen, - TMP_SCREEN_WIDTH, _screenHeight + 3, 16, TMP_SCREEN_WIDTH*2, - sdl_hwscreen->format->Rmask, - sdl_hwscreen->format->Gmask, - sdl_hwscreen->format->Bmask, - sdl_hwscreen->format->Amask); - - if (sdl_tmpscreen == NULL) - error("sdl_tmpscreen failed"); - - + uint16 *tmp_screen = + (uint16 *) calloc(TMP_SCREEN_WIDTH * (_screenHeight + 3), + sizeof(uint16)); + _tmpscreen = + gpCreateRGBSurfaceFrom(tmp_screen, TMP_SCREEN_WIDTH, + _screenHeight + 3, 16, TMP_SCREEN_WIDTH * 2, + _hwscreen->format->Rmask, _hwscreen->format->Gmask, + _hwscreen->format->Bmask, _hwscreen->format->Amask); + + if (_tmpscreen == NULL) + error("_tmpscreen failed"); + // keyboard cursor control, some other better place for it? km.x_max = _screenWidth * _scaleFactor - 1; km.y_max = _screenHeight * _scaleFactor - 1; - km.delay_time = 25; + //km.delay_time = 25; + km.delay_time = 15; km.last_time = 0; } void OSystem_GP32::unload_gfx_mode() { if (_screen) { - SDL_FreeSurface(_screen); - _screen = NULL; + gpFreeSurface(_screen); + _screen = NULL; } - if (sdl_hwscreen) { - SDL_FreeSurface(sdl_hwscreen); - sdl_hwscreen = NULL; + if (_hwscreen) { + gpFreeSurface(_hwscreen); + _hwscreen = NULL; } - - if (sdl_tmpscreen) { - free((uint16*)sdl_tmpscreen->pixels); - SDL_FreeSurface(sdl_tmpscreen); - sdl_tmpscreen = NULL; + + if (_tmpscreen) { + free((uint16 *) _tmpscreen->pixels); + gpFreeSurface(_tmpscreen); + _tmpscreen = NULL; } } - #include "common/util.h" + void OSystem_GP32::draw_mouse() { - if (!_overlay_visible) { + if (!_overlayVisible) { - if (_mouseDrawn || !_mouseVisible) - return; + if (_mouseDrawn || !_mouseVisible) + return; - int x = _mouse_cur_state.x - _mouseHotspotX; - int y = _mouse_cur_state.y - _mouseHotspotY; - int w = _mouse_cur_state.w; - int h = _mouse_cur_state.h; - byte color; - byte *src = _mouseData; // Image representing the mouse - byte *bak = _mouseBackup; // Surface used to backup the area obscured by the mouse - byte *dst; // Surface we are drawing into + int x = _mouseCurState.x - _mouseHotspotX; + int y = _mouseCurState.y - _mouseHotspotY; + int w = _mouseCurState.w; + int h = _mouseCurState.h; + byte color; + byte *src = _mouseData; // Image representing the mouse + byte *bak = _mouseBackup; // Surface used to backup the area obscured by the mouse + byte *dst; // Surface we are drawing into + + // clip the mouse rect, and addjust the src pointer accordingly + if (x < 0) { + w += x; + src -= x; + x = 0; + } + if (y < 0) { + h += y; + src -= y * _mouseCurState.w; + y = 0; + } + if (w > _screenWidth - x) + w = _screenWidth - x; + if (h > _screenHeight - y) + h = _screenHeight - y; - // clip the mouse rect, and addjust the src pointer accordingly - if (x < 0) { - w += x; - src -= x; - x = 0; - } - if (y < 0) { - h += y; - src -= y * _mouse_cur_state.w; - y = 0; - } - if (w > _screenWidth - x) - w = _screenWidth - x; - if (h > _screenHeight - y) - h = _screenHeight - y; + // Quick check to see if anything has to be drawn at all + if (w <= 0 || h <= 0) + return; - // Quick check to see if anything has to be drawn at all - if (w <= 0 || h <= 0) - return; + // Store the bounding box so that undraw mouse can restore the area the + // mouse currently covers to its original content. + _mouseOldState.x = x; + _mouseOldState.y = y; + _mouseOldState.w = w; + _mouseOldState.h = h; - // Store the bounding box so that undraw mouse can restore the area the - // mouse currently covers to its original content. - _mouse_old_state.x = x; - _mouse_old_state.y = y; - _mouse_old_state.w = w; - _mouse_old_state.h = h; + // Draw the mouse cursor; backup the covered area in "bak" - // Draw the mouse cursor; backup the covered area in "bak" + ///if (gpLockSurface(_screen) == -1) + /// error("gpLockSurface failed: %s.\n", gpGetError()); - ///if (SDL_LockSurface(_screen) == -1) - /// error("SDL_LockSurface failed: %s.\n", SDL_GetError()); - - // Mark as dirty - add_dirty_rect(x, y, w, h); + // as dirty + add_dirty_rect(x, y, w, h); - dst = (byte *)_screen->pixels + y * _screenWidth + x; - while (h > 0) { - int width = w; - while (width > 0) { - *bak++ = *dst; - color = *src++; - if (color != _mouseKeycolor) // transparent, don't draw - *dst = color; - dst++; - width--; + dst = (byte *) _screen->pixels + y * _screenWidth + x; + while (h > 0) { + int width = w; + while (width > 0) { + *bak++ = *dst; + color = *src++; + if (color != _mouseKeycolor) // Transparent, don't draw + *dst = color; + dst++; + width--; + } + src += _mouseCurState.w - w; + bak += MAX_MOUSE_W - w; + dst += _screenWidth - w; + h--; } - src += _mouse_cur_state.w - w; - bak += MAX_MOUSE_W - w; - dst += _screenWidth - w; - h--; - } - ///SDL_UnlockSurface(_screen); + ///gpUnlockSurface(_screen); - // Finally, set the flag to indicate the mouse has been drawn - _mouseDrawn = true; + // Finally, set the flag to indicate the mouse has been drawn + _mouseDrawn = true; } if (_mouseDrawn || !_mouseVisible) return; - int x = _mouse_cur_state.x - _mouseHotspotX; - int y = _mouse_cur_state.y - _mouseHotspotY; - int w = _mouse_cur_state.w; - int h = _mouse_cur_state.h; + int x = _mouseCurState.x - _mouseHotspotX; + int y = _mouseCurState.y - _mouseHotspotY; + int w = _mouseCurState.w; + int h = _mouseCurState.h; byte color; - byte *src = _mouseData; // Image representing the mouse - uint16 *bak = (uint16*)_mouseBackup; // Surface used to backup the area obscured by the mouse - uint16 *dst; // Surface we are drawing into + //byte *src = _mouseData; // Image representing the mouse + //uint16 *src = _mouseData; // Image representing the mouse + const byte *src = _mouseData; // Image representing the mouse + //byte *bak = _mouseBackup; // Surface used to backup the area obscured by the mouse + //byte *dst; // Surface we are drawing into + + //uint16 *bak = (uint16*)_mouseBackup; // Surface used to backup the area obscured by the mouse + //uint16 *dst; // Surface we are drawing into // clip the mouse rect, and addjust the src pointer accordingly if (x < 0) { @@ -538,10 +841,9 @@ void OSystem_GP32::draw_mouse() { } if (y < 0) { h += y; - src -= y * _mouse_cur_state.w; + src -= y * _mouseCurState.w; y = 0; } - // Quick check to see if anything has to be drawn at all if (w <= 0 || h <= 0) return; @@ -553,218 +855,234 @@ void OSystem_GP32::draw_mouse() { // Store the bounding box so that undraw mouse can restore the area the // mouse currently covers to its original content. - _mouse_old_state.x = x; - _mouse_old_state.y = y; - _mouse_old_state.w = w; - _mouse_old_state.h = h; + _mouseOldState.x = x; + _mouseOldState.y = y; + _mouseOldState.w = w; + _mouseOldState.h = h; // Draw the mouse cursor; backup the covered area in "bak" - ///if (SDL_LockSurface(sdl_tmpscreen) == -1) - /// error("SDL_LockSurface failed: %s.\n", SDL_GetError()); + ///if (gpLockSurface(_tmpscreen) == -1) + /// error("gpLockSurface failed: %s.\n", gpGetError()); - // Mark as dirty + // as dirty add_dirty_rect(x, y, w, h); - dst = (uint16 *)sdl_tmpscreen->pixels + (y+1) * TMP_SCREEN_WIDTH + (x+1); + uint16 *bak = (uint16 *) _mouseBackup; // Surface used to backup the area obscured by the mouse + uint16 *dst; // Surface we are drawing into + + dst = + (uint16 *) _tmpscreen->pixels + (y + 1) * TMP_SCREEN_WIDTH + (x + + 1); while (h > 0) { int width = w; while (width > 0) { *bak++ = *dst; color = *src++; if (color != 0xFF) // 0xFF = transparent, don't draw - *dst = RGBToColor(_currentPalette[color].r, _currentPalette[color].g, _currentPalette[color].b); + *dst = + RGB_TO_16(_currentPalette[color].r, + _currentPalette[color].g, + _currentPalette[color].b); dst++; width--; } - src += _mouse_cur_state.w - w; + src += _mouseCurState.w - w; bak += MAX_MOUSE_W - w; dst += TMP_SCREEN_WIDTH - w; h--; } - ///SDL_UnlockSurface(sdl_tmpscreen); - + ///gpUnlockSurface(_tmpscreen); + // Finally, set the flag to indicate the mouse has been drawn - _mouseDrawn = true; + _mouseDrawn = true; } -void OSystem_GP32::undraw_mouse() { //return; //fixme! - if (!_overlay_visible) { - - if (!_mouseDrawn) - return; - _mouseDrawn = false; - - ///if (SDL_LockSurface(_screen) == -1) - /// error("SDL_LockSurface failed: %s.\n", SDL_GetError()); +void OSystem_GP32::undraw_mouse() { + //return; //fixme! + if (!_overlayVisible) { - byte *dst, *bak = _mouseBackup; - const int old_mouse_x = _mouse_old_state.x; - const int old_mouse_y = _mouse_old_state.y; - const int old_mouse_w = _mouse_old_state.w; - const int old_mouse_h = _mouse_old_state.h; - int x, y; - - // No need to do clipping here, since draw_mouse() did that already - - dst = (byte *)_screen->pixels + old_mouse_y * _screenWidth + old_mouse_x; - for (y = 0; y < old_mouse_h; ++y, bak += MAX_MOUSE_W, dst += _screenWidth) { - for (x = 0; x < old_mouse_w; ++x) { - dst[x] = bak[x]; + if (!_mouseDrawn) + return; + _mouseDrawn = false; + + byte *dst, *bak = _mouseBackup; + const int old_mouse_x = _mouseOldState.x; + const int old_mouse_y = _mouseOldState.y; + const int old_mouse_w = _mouseOldState.w; + const int old_mouse_h = _mouseOldState.h; + int x, y; + + // No need to do clipping here, since draw_mouse() did that already + + dst = + (byte *) _screen->pixels + old_mouse_y * _screenWidth + + old_mouse_x; + for (y = 0; y < old_mouse_h; + ++y, bak += MAX_MOUSE_W, dst += _screenWidth) { + for (x = 0; x < old_mouse_w; ++x) { + dst[x] = bak[x]; + } } - } - - add_dirty_rect(old_mouse_x, old_mouse_y, old_mouse_w, old_mouse_h); - ///SDL_UnlockSurface(_screen); + add_dirty_rect(old_mouse_x, old_mouse_y, old_mouse_w, + old_mouse_h); } if (!_mouseDrawn) return; _mouseDrawn = false; - ///if (SDL_LockSurface(sdl_tmpscreen) == -1) - /// error("SDL_LockSurface failed: %s.\n", SDL_GetError()); - - uint16 *dst, *bak = (uint16 *)_mouseBackup; - const int old_mouse_x = _mouse_old_state.x; - const int old_mouse_y = _mouse_old_state.y; - const int old_mouse_w = _mouse_old_state.w; - const int old_mouse_h = _mouse_old_state.h; + uint16 *dst, *bak = (uint16 *) _mouseBackup; + const int old_mouse_x = _mouseOldState.x; + const int old_mouse_y = _mouseOldState.y; + const int old_mouse_w = _mouseOldState.w; + const int old_mouse_h = _mouseOldState.h; int x, y; // No need to do clipping here, since draw_mouse() did that already - dst = (uint16 *)sdl_tmpscreen->pixels + (old_mouse_y+1) * TMP_SCREEN_WIDTH + (old_mouse_x+1); - for (y = 0; y < old_mouse_h; ++y, bak += MAX_MOUSE_W, dst += TMP_SCREEN_WIDTH) { + dst = + (uint16 *) _tmpscreen->pixels + (old_mouse_y + + 1) * TMP_SCREEN_WIDTH + (old_mouse_x + 1); + for (y = 0; y < old_mouse_h; + ++y, bak += MAX_MOUSE_W, dst += TMP_SCREEN_WIDTH) { for (x = 0; x < old_mouse_w; ++x) { dst[x] = bak[x]; } } add_dirty_rect(old_mouse_x, old_mouse_y, old_mouse_w, old_mouse_h); - - ///SDL_UnlockSurface(sdl_tmpscreen); } -char * SDL_GetError() { - - // implement +char *gpGetError(void) { + // FIXME: implement return NULL; } -// Update the dirty areas of the screen -void OSystem_GP32::updateScreen() { - assert(sdl_hwscreen != NULL); - - // If the shake position changed, fill the dirty area with blackness - if (_currentShakePos != _newShakePos) { - SDL_Rect blackrect = {0, 0, _screenWidth*_scaleFactor, _newShakePos*_scaleFactor}; - SDL_FillRect(sdl_hwscreen, &blackrect, 0); - - _currentShakePos = _newShakePos; - - _forceFull = true; - } - - // Make sure the mouse is drawn, if it should be drawn. - draw_mouse(); //ph0x - - // Check whether the palette was changed in the meantime and update the - // screen surface accordingly. - if (_paletteDirtyEnd != 0) { - SDL_SetColors(_screen, _currentPalette + _paletteDirtyStart, - _paletteDirtyStart, - _paletteDirtyEnd - _paletteDirtyStart); - - _paletteDirtyEnd = 0; - - _forceFull = true; - } - - // Force a full redraw if requested - if (_forceFull) { - _num_dirty_rects = 1; - - _dirty_rect_list[0].x = 0; - _dirty_rect_list[0].y = 0; - _dirty_rect_list[0].w = _screenWidth; - _dirty_rect_list[0].h = _screenHeight; - } - - // Only draw anything if necessary - if (_num_dirty_rects > 0) { - - SDL_Rect *r; - uint32 srcPitch, dstPitch; - SDL_Rect *last_rect = _dirty_rect_list + _num_dirty_rects; - - // Convert appropriate parts of the 8bpp image into 16bpp - if (!_overlay_visible) { - SDL_Rect dst; - for(r = _dirty_rect_list; r != last_rect; ++r) { - dst = *r; - dst.x++; // FIXME? Shift rect by one since 2xSai needs to acces the data around - dst.y++; // FIXME? any pixel to scale it, and we want to avoid mem access crashes. - if (SDL_BlitSurface(_screen, r, sdl_hwscreen, &dst) != 0) //ph0x! sdl_tmpscreen - error("SDL_BlitSurface failed: %s", SDL_GetError()); - } - } - - ///SDL_LockSurface(sdl_tmpscreen); - ///SDL_LockSurface(sdl_hwscreen); - -// ph0x! (no scaling) cannot skip intro if commented? - - srcPitch = sdl_tmpscreen->pitch; - dstPitch = sdl_hwscreen->pitch; - for(r = _dirty_rect_list; r != last_rect; ++r) { - register int dst_y = r->y + _currentShakePos; - register int dst_h = 0; - if (dst_y < _screenHeight) { - dst_h = r->h; - if (dst_h > _screenHeight - dst_y) - dst_h = _screenHeight - dst_y; - - dst_y *= _scaleFactor; - - _scaler_proc((byte*)sdl_tmpscreen->pixels + (r->x*2+2) + (r->y+1)*srcPitch, srcPitch, (byte*)sdl_hwscreen->pixels + r->x*2*_scaleFactor + dst_y*dstPitch, dstPitch, r->w, dst_h); - } - r->x *= _scaleFactor; - r->y = dst_y; - r->w *= _scaleFactor; - r->h = dst_h * _scaleFactor; - } - - ///SDL_UnlockSurface(sdl_tmpscreen); - ///SDL_UnlockSurface(sdl_hwscreen); - - // Readjust the dirty rect list in case we are doing a full update. - // This is necessary if shaking is active. - if (_forceFull) { - _dirty_rect_list[0].y = 0; - _dirty_rect_list[0].h = _screenHeight * _scaleFactor; - } - - // Finally, blit all our changes to the screen - - // FIXME (dont use condition) - if (_overlay_visible) - SDL_UpdateRects(sdl_hwscreen, _num_dirty_rects, _dirty_rect_list); //ph0x! sdl_hwscreen - else - SDL_UpdateRects(_screen, _num_dirty_rects, _dirty_rect_list); - } - - _num_dirty_rects = 0; - _forceFull = false; -} +///////////////////////////////////////////////////////////////////////////// +// +// GP32 Screen Update Stuff - Mostly 'borrowed' from GP but using gpSDK +// +///////////////////////////////////////////////////////////////////////////// + +//// Update the dirty areas of the screen +void OSystem_GP32::updateScreen() { + //Common::StackLock lock(_graphicsMutex); // Lock the mutex until this function ends + internUpdateScreen(); +} + +// assert(_hwscreen != NULL); +// +// // If the shake position changed, fill the dirty area with blackness +// if (_currentShakePos != _newShakePos) { +// gpRect blackrect = {0, 0, _screenWidth*_scaleFactor, _newShakePos*_scaleFactor}; +// +// if (_adjustAspectRatio) +// blackrect.h = real2Aspect(blackrect.h - 1) + 1; +// +// gpFillRect(_hwscreen, &blackrect, 0); +// +// _currentShakePos = _newShakePos; +// +// _forceFull = true; +// } +// +// // Make sure the mouse is drawn, if it should be drawn. +// draw_mouse(); +// +// // Check whether the palette was changed in the meantime and update the +// // screen surface accordingly. +// if (_paletteDirtyEnd != 0) { +// gpSetColors(_screen, _currentPalette + _paletteDirtyStart, +// _paletteDirtyStart, +// _paletteDirtyEnd - _paletteDirtyStart); +// +// _paletteDirtyEnd = 0; +// +// _forceFull = true; +// } +// +// // Force a full redraw if requested +// if (_forceFull) { +// _num_dirty_rects = 1; +// +// _dirty_rect_list[0].x = 0; +// _dirty_rect_list[0].y = 0; +// _dirty_rect_list[0].w = _screenWidth; +// _dirty_rect_list[0].h = _screenHeight; +// } +// +// // Only draw anything if necessary +// if (_num_dirty_rects > 0) { +// +// gpRect *r; +// uint32 srcPitch, dstPitch; +// gpRect *last_rect = _dirty_rect_list + _num_dirty_rects; +// +// // Convert appropriate parts of the 8bpp image into 16bpp +// if (!_overlayVisible) { +// gpRect dst; +// for(r = _dirty_rect_list; r != last_rect; ++r) { +// dst = *r; +// dst.x++; // FIXME? Shift rect by one since 2xSai needs to acces the data around +// dst.y++; // FIXME? any pixel to scale it, and we want to avoid mem access crashes. +// +// if (gpBlitSurface(_screen, r, _hwscreen, &dst) != 0) //ph0x! _tmpscreen +// error("gpBlitSurface failed: %s", gpGetError()); +// } +// } +// +//// ph0x! (no scaling) cannot skip intro if commented? +// +// srcPitch = _tmpscreen->pitch; +// dstPitch = _hwscreen->pitch; +// for(r = _dirty_rect_list; r != last_rect; ++r) { +// register int dst_y = r->y + _currentShakePos; +// register int dst_h = 0; +// if (dst_y < _screenHeight) { +// dst_h = r->h; +// if (dst_h > _screenHeight - dst_y) +// dst_h = _screenHeight - dst_y; +// +// dst_y *= _scaleFactor; +// +// if (_overlayVisible) //ph0x fixme? +// _scaler_proc((byte*)_tmpscreen->pixels + (r->x*2+2) + (r->y+1)*srcPitch, srcPitch, +// (byte*)_hwscreen->pixels + r->x*2*_scaleFactor + dst_y*dstPitch, dstPitch, r->w, dst_h); +// } +// r->x *= _scaleFactor; +// r->y = dst_y; +// r->w *= _scaleFactor; +// r->h = dst_h * _scaleFactor; +// } +// +// // Readjust the dirty rect list in case we are doing a full update. +// // This is necessary if shaking is active. +// if (_forceFull) { +// _dirty_rect_list[0].y = 0; +// _dirty_rect_list[0].h = _screenHeight * _scaleFactor; +// } +// +// // Finally, blit all our changes to the screen +// +// // FIXME (dont use condition) +// if (_overlayVisible) +// gpUpdateRects(_hwscreen, _num_dirty_rects, _dirty_rect_list); //ph0x! _hwscreen +// else +// gpUpdateRects(_screen, _num_dirty_rects, _dirty_rect_list); +// } +// +// _num_dirty_rects = 0; +// _forceFull = false; +//} // Either show or hide the mouse cursor -bool OSystem_GP32::showMouse(bool visible) { +bool OSystem_GP32::showMouse(bool visible) { if (_mouseVisible == visible) return visible; - + bool last = _mouseVisible; _mouseVisible = visible; @@ -775,195 +1093,562 @@ bool OSystem_GP32::showMouse(bool visible) { return last; } - + // Set the position of the mouse cursor -void OSystem_GP32::set_mouse_pos(int x, int y) { - if (x != _mouse_cur_state.x || y != _mouse_cur_state.y) { - _mouse_cur_state.x = x; - _mouse_cur_state.y = y; +void OSystem_GP32::set_mouse_pos(int x, int y) { + if (x != _mouseCurState.x || y != _mouseCurState.y) { + _mouseCurState.x = x; + _mouseCurState.y = y; - mx=x; //ph0x fixme - my=y; //ph0x fixme + mx = x; //ph0x fixme + my = y; //ph0x fixme undraw_mouse(); } } -void OSystem_GP32::warpMouse(int x, int y) { - set_mouse_pos(x, y); -} - // Set the bitmap that's used when drawing the cursor. -void OSystem_GP32::setMouseCursor(const byte *buf, uint w, uint h, int hotspot_x, int hotspot_y, byte keycolor) { - _mouse_cur_state.w = w; - _mouse_cur_state.h = h; +void OSystem_GP32::setMouseCursor(const byte *buf, uint w, uint h, + int hotspot_x, int hotspot_y, byte keycolor, int cursorTargetScale) { + +// assert(w <= MAX_MOUSE_W); +// assert(h <= MAX_MOUSE_H); + + _mouseCurState.w = w; + _mouseCurState.h = h; _mouseHotspotX = hotspot_x; _mouseHotspotY = hotspot_y; _mouseKeycolor = keycolor; +//?????????? + _mouseData = (byte *) buf; + + undraw_mouse(); + if (_mouseData) free(_mouseData); - _mouseData = (byte *)malloc(w * h); - memcpy(_mouseData, buf, w * h); + _mouseData = (byte *) malloc(w * h); - undraw_mouse(); + memcpy(_mouseData, buf, w * h); } - + // Shaking is used in SCUMM. Set current shake position. -void OSystem_GP32::setShakePos(int shake_pos) { +void OSystem_GP32::setShakePos(int shake_pos) { _newShakePos = shake_pos; + mcshake = shake_pos; } - + // Get the number of milliseconds since the program was started. -uint32 OSystem_GP32::getMillis() { - return GpTickCountGet(); +uint32 OSystem_GP32::getMillis() { + return GpTickCountGet(); } - + // Delay for a specified amount of milliseconds -void OSystem_GP32::delayMillis(uint msecs) { +void OSystem_GP32::delayMillis(uint msecs) { int n = GpTickCountGet(); - while ( ( GpTickCountGet() - n ) < msecs) ; + while ((GpTickCountGet() - n) < msecs); } - + // Get the next event. -// Returns true if an event was retrieved. +// Returns true if an event was retrieved. + +const signed char abc[] = "0123456789abcdefghijklmnopqrstuvwxyz"; +signed int abcindex = -1; + +void switchsurf(int surf); +void buildgammatab(int val); + +///////////////////////////////////////////////////////////////////////////// +// +// GP32 Event Handlers. +// +///////////////////////////////////////////////////////////////////////////// + +bool OSystem_GP32::pollEvent(Event & event) { -bool OSystem_GP32::pollEvent(Event &event) { // fixme: make more user-friendly :) +#define EVENT_COUNT 2 // >=1 + //#define MOUSE_MIPS 2 // bg updates wrong if >1 ?? +#define MOUSE_MIPS 1 // bg updates wrong if >1 ?? - #define EVENT_COUNT 2 // >=1 - #define MOUSE_MIPS 1 // bg updates wrong if >1 ?? - - static int oldkey, eventcount=EVENT_COUNT, lastevent=0; - int key; + static int lastkey, eventcount = EVENT_COUNT, lastevent = 0; + static int simulate; + static bool backspace = true; + static uint32 t; + int key; + + key = gpTrapKey(); + + if (simulate) + simulate--; + switch (simulate) { + case 5: + lastevent = event.type = EVENT_KEYDOWN; + event.kbd.keycode = event.kbd.ascii = 8; + return true; + break; + case 3: + lastevent = event.type = EVENT_KEYDOWN; + event.kbd.keycode = event.kbd.ascii = abc[abcindex]; + return true; + break; + case 4: + case 2: + lastevent = event.type = EVENT_KEYUP; + //event.kbd.keycode = event.kbd.ascii = + return true; + break; + case 1: + lastkey = key = 0; + lastevent = 0; + event.type = (EventType) 0; + break; + } + + if (lastevent == EVENT_KEYDOWN) { + lastevent = event.type = EVENT_KEYUP; + //event.kbd.keycode = event.kbd.ascii; + return true; + } - key=GpKeyGet(); if (key == GPC_VK_NONE) { - if (lastevent==EVENT_LBUTTONDOWN) { - lastevent=0; - event.type = EVENT_LBUTTONUP; - return true; - } + lastevent = lastkey = 0; return false; - } + } - if (key == oldkey) { + if (key == lastkey) { eventcount--; - if (eventcount) return false; + if (eventcount) + return false; } - oldkey=key; - eventcount=EVENT_COUNT; + eventcount = EVENT_COUNT; event.type = EVENT_KEYDOWN; - if (key & GPC_VK_FL && key & GPC_VK_FR) { // L+R = save state - printf("Saving game, please wait..."); + if (key & GPC_VK_FL) { // L + if (_overlayVisible) + return false; + + if (key & GPC_VK_UP) { + if (key == lastkey) + return false; + + if (gindex < ARRAYSIZE(scrGamma) - 1) + gindex++; + buildgammatab(gindex); + _paletteDirtyStart = 0; + _paletteDirtyEnd = 255; //fixme? + lastevent = event.type; + lastkey = key; + return true; + } else + if (key & GPC_VK_DOWN) { + if (key == lastkey) + return false; + + if (gindex > 0) + gindex--; + buildgammatab(gindex); + _paletteDirtyStart = 0; + _paletteDirtyEnd = 255; //fixme? + lastevent = event.type; + lastkey = key; + return true; + } - //extern void autosave(void * engine); - //autosave(NULL); //FIXME? - do key=GpKeyGet(); while (key != GPC_VK_NONE) ; - return false; - } - - if (key & GPC_VK_FL) { // L = debug console - //GpGraphicModeSet(8, NULL); //FIXME: if 16bit? - currsurface=DEBUG_SURFACE; - GpSurfaceFlip(&gpDraw[currsurface]); - GpSetPaletteEntry ( 0, 0,0,0 ); - GpSetPaletteEntry ( 1, 255,0,0 ); - GpSetPaletteEntry ( 2, 255,255,255 ); - return false; + if (key == lastkey) + return false; + if (skindex > 0) + skindex--; + event.kbd.keycode = event.kbd.ascii = shortkey[skindex]; + lastevent = event.type; + lastkey = key; + return true; } - - if (key & GPC_VK_FR) { // R = game screen - //if (_overlay_visible) GpGraphicModeSet(16, NULL); - // else GpGraphicModeSet(8, NULL); - currsurface=GAME_SURFACE; - GpSurfaceFlip(&gpDraw[currsurface]); - _paletteDirtyStart=0; - _paletteDirtyEnd=255; //fixme? - return false; - } + lastkey = key; + + if (key & GPC_VK_FR) { // R + if (key & GPC_VK_UP) { + if (getMillis() < t) + return false; + //do key=GpKeyGet(); while (key & GPC_VK_UP); + //fixme -2/-1 + t = getMillis() + 200; + if (abcindex == -1) + abcindex = 0; + else { + if (abcindex < sizeof(abc) - 2) + abcindex++; + else + abcindex = 0; + } + if (backspace) + simulate = 6; + else { + backspace = true; + simulate = 4; + } + return false; + } + + if (key & GPC_VK_DOWN) { + if (getMillis() < t) + return false; + //do key=GpKeyGet(); while (key & GPC_VK_DOWN); + //fixme -2/-1 + t = getMillis() + 200; + if (abcindex == -1) + abcindex = abcindex = sizeof(abc) - 2; + else { + if (abcindex > 0) + abcindex--; + else + abcindex = sizeof(abc) - 2; + } + if (backspace) + simulate = 6; + else { + backspace = true; + simulate = 4; + } + return false; + } - if (key & GPC_VK_START) { // START = menu - event.kbd.keycode = 319; - event.kbd.ascii = 319; - return true; + if (key & GPC_VK_LEFT) { + abcindex = -1; + event.kbd.keycode = event.kbd.ascii = 8; + lastevent = event.type; + do + key = gpTrapKey(); + while (key & GPC_VK_LEFT); + return true; + } else if (key & GPC_VK_RIGHT) { + abcindex = -1; + backspace = false; + return false; + } + if (!_overlayVisible) { + if (lastevent == EVENT_KEYUP) + return false; + if (shortkey[skindex + 1]) + skindex++; + event.kbd.keycode = event.kbd.ascii = + shortkey[skindex]; + lastevent = event.type; + return true; + } + } else if (key & GPC_VK_START) { // START = menu/enter + if (_overlayVisible) + event.kbd.keycode = event.kbd.ascii = 13; + else { + event.kbd.keycode = event.kbd.ascii = 319; + //buildgammatab(ARRAYSIZE(scrGamma)-1); // moved to colortoRBG + } + lastevent = event.type; + return true; } - if (key & GPC_VK_SELECT) { // SELECT == escape/skip - if (_overlay_visible) - do key=GpKeyGet(); while (key != GPC_VK_NONE) ; // prevent 2xESC - event.kbd.keycode = 27; - event.kbd.ascii = 27; + if (key & GPC_VK_SELECT) { // SELECT == escape/skip + if (_overlayVisible) { + do + key = gpTrapKey(); + while (key != GPC_VK_NONE); // prevent 2xESC + buildgammatab(gindex); + _paletteDirtyStart = 0; + _paletteDirtyEnd = 255; //fixme? + } + event.kbd.keycode = event.kbd.ascii = 27; + lastevent = event.type; return true; - } + } if (key & GPC_VK_FA) { - lastevent=EVENT_LBUTTONDOWN; - event.type = EVENT_LBUTTONDOWN; + if (lastevent == EVENT_LBUTTONUP) + return false; + + if (lastevent == EVENT_LBUTTONDOWN) { + lastevent = EVENT_LBUTTONUP; + event.type = EVENT_LBUTTONUP; + } else { + lastevent = EVENT_LBUTTONDOWN; + event.type = EVENT_LBUTTONDOWN; + } return true; } + if (key & GPC_VK_FB) { - lastevent=EVENT_RBUTTONDOWN; - event.type = EVENT_RBUTTONDOWN; + if (lastevent == EVENT_RBUTTONUP) + return false; + + if (lastevent == EVENT_RBUTTONDOWN) { + lastevent = EVENT_RBUTTONUP; + event.type = EVENT_RBUTTONUP; + } else { + lastevent = EVENT_RBUTTONDOWN; + event.type = EVENT_RBUTTONDOWN; + } return true; } - if(key & GPC_VK_LEFT) { - mx-=MOUSE_MIPS; - if (mx<1) mx=1; // wrong if 0? + if (key & GPC_VK_LEFT) { + mx -= MOUSE_MIPS; + if (mx < 1) + mx = 1; // wrong if 0? } - if(key & GPC_VK_RIGHT) { - mx+=MOUSE_MIPS; - if (mx>319) mx=319; + if (key & GPC_VK_RIGHT) { + mx += MOUSE_MIPS; + if (mx > 319) + mx = 319; } - if(key & GPC_VK_UP) { - my-=MOUSE_MIPS; - if (my<1) my=1; // wrong if 0? + if (key & GPC_VK_UP) { + my -= MOUSE_MIPS; + if (my < 1) + my = 1; // wrong if 0? } - if(key & GPC_VK_DOWN) { - my+=MOUSE_MIPS; - if (my>199) my=199; + if (key & GPC_VK_DOWN) { + my += MOUSE_MIPS; + if (my > _screenHeight - 1) + my = _screenHeight - 1; } event.type = EVENT_MOUSEMOVE; km.x = event.mouse.x = mx; km.y = event.mouse.y = my; - event.mouse.x /= _scaleFactor; - event.mouse.y /= _scaleFactor; - + event.mouse.y /= _scaleFactor; set_mouse_pos(event.mouse.x, event.mouse.y); } -// Set the function to be invoked whenever samples need to be generated -// Format is the sample type format. -// Only 16-bit signed mode is needed for simon & scumm -bool OSystem_GP32::setSoundCallback(SoundProc proc, void *param) { - return false; +///////////////////////////////////////////////////////////////////////////// +// +// GP32 Graphics Stuff - +// +///////////////////////////////////////////////////////////////////////////// + +int16 OSystem_GP32::RBGToColor(uint8 r, uint8 g, uint8 b) { + float rr, gg, bb; + + rr = r * gammatab2[r]; + gg = g * gammatab2[g]; + bb = b * gammatab2[b]; + + if (rr > 255) + rr = 255; + if (gg > 255) + gg = 255; + if (bb > 255) + bb = 255; + + r = (u8) rr; + g = (u8) gg; + b = (u8) bb; + + //return ((((r>>3)&0x1F) << 11) | (((g>>2)&0x3F) << 5) | ((b>>3)&0x1F)); //ph0x + return (((((r) >> 3) & 0x1F) << 11) | ((((g) >> 3) & 0x1F) << 6) | + (((b) >> 3) & 0x1F) << 1); } +void OSystem_GP32::colorToRBG(int16 color, uint8 &r, uint8 &g, uint8 &b) { + float rr, gg, bb; + r = ((((color) >> 11) & 0x1F) << 3); //(((color>>11)&0x1F) << 3); + g = ((((color) >> 6) & 0x1F) << 3); //(((color>>5)&0x3F) << 2); + b = ((((color) >> 1) & 0x1F) << 3); //((color&0x1F) << 3); + + rr = r * gammatab2[r]; + gg = g * gammatab2[g]; + bb = b * gammatab2[b]; + + if (rr > 255) + rr = 255; + if (gg > 255) + gg = 255; + if (bb > 255) + bb = 255; + + r = (u8) rr; + g = (u8) gg; + b = (u8) bb; +} + +void switchsurf(int surf) { + GPLCDINFO lcd; + GpLcdInfoGet(&lcd); + + if (surf == DEBUG_SURFACE) { + if (lcd.lcd_global.U8_lcd.bpp == 16) + GpGraphicModeSet(8, NULL); + + currentsurf = DEBUG_SURFACE; + GpSurfaceFlip(&LCDbuffer[(int)currentsurf]); + + //GpSetPaletteEntry ( 0, 0,0,0 ); + //GpSetPaletteEntry ( 1, 0,0,0 ); + //GpSetPaletteEntry ( 2, 255,255,255 ); + + } else if (surf == GAME_SURFACE) { + //if (lcd.lcd_global.U8_lcd.bpp == 8) GpGraphicModeSet(16, NULL); + + currentsurf = GAME_SURFACE; + GpSurfaceFlip(&LCDbuffer[(int)currentsurf]); + //GpSetPaletteEntry ( 2, 0,0,0 ); + //GpSetPaletteEntry ( 1, 0,107,84 ); + //GpSetPaletteEntry ( 0, 255,255,255 ); + } else + error("Switching to false stuface"); +} + +///////////////////////////////////////////////////////////////////////////// +// +// GP32 Sound Stuff - +// +///////////////////////////////////////////////////////////////////////////// + void OSystem_GP32::clearSoundCallback() { - //_sound_proc = NULL; - //_sound_proc_param = NULL; +// _sound_proc = NULL; +// _sound_proc_param = NULL; +} + +typedef void SoundProc(void *param, byte *buf, int len); + +typedef struct GPSOUNDBUF { + PCM_SR freq; /* Taken from gpmm.h */ + PCM_BIT format; /* Taken from gpmm.h */ + unsigned int samples; /* Buffer length (in samples) */ + void *userdata; /* Userdata which gets passed to the callback function */ + SoundProc *callback; + unsigned int pollfreq; /* Frequency of the timer interrupt which polls the playing position + * recommended value: 2*(playingfreq in Hz/GPSOUNDBUF.samples) */ + unsigned int samplesize; /* Size of one sample (8bit mono->1, 16bit stereo->4) - don't touch this */ +} GPSOUNDBUF; + +GPSOUNDBUF gpsndbuf; // for scumm + +/* Global variables */ +unsigned int frame = 0; +unsigned int *soundPos = 0; +volatile int idx_buf; +unsigned int shiftVal = 0; +void *buffer; +GPSOUNDBUF soundBuf; + +/* This routine gets called by the timer interrupt and + * polls the current playing position within the buffer. + */ + +//void *blah; // holds "this" for mixer.cpp + +void soundtimer(void) { + unsigned int t = + (((unsigned int)(*soundPos) - (unsigned int)buffer) >> shiftVal) >= + soundBuf.samples ? 1 : 0; + if (t != frame) { + unsigned int offs = + ((frame == 1) ? (soundBuf.samples << shiftVal) : 0); + soundBuf.callback(soundBuf.userdata /*blah */ , (u8 *) ((unsigned int)buffer + offs), soundBuf.samples << shiftVal); //FIXME (*callback)(param) ? + frame = t; + } } +int GpSoundBufStart(GPSOUNDBUF *sb) { + frame = 0; + + /* Copy the structure */ + memcpy(&soundBuf, sb, sizeof(GPSOUNDBUF)); + + /* Calculate size of a single sample in bytes + * and a corresponding shift value + */ + shiftVal = 0; + switch (soundBuf.freq) { + case PCM_S11: + break; + case PCM_S22: + break; + case PCM_S44: + shiftVal++; + break; + case PCM_M11: + break; + case PCM_M22: + break; + case PCM_M44: + shiftVal++; + break; + } + if (soundBuf.format == PCM_16BIT) + shiftVal++; + soundBuf.samplesize = 1 << shiftVal; + + /* Allocate memory for the playing buffer */ + buffer = malloc(soundBuf.samplesize * soundBuf.samples * 2); + memset(buffer, 0, soundBuf.samplesize * soundBuf.samples * 2); + + /* Set timer interrupt #0 */ + if (GpTimerOptSet(0, soundBuf.pollfreq, 0, + soundtimer) == GPOS_ERR_ALREADY_USED) + error("timer slot used"); + GpTimerSet(0); + /* Start playing */ + GpPcmPlay((unsigned short *)buffer, + soundBuf.samples * soundBuf.samplesize * 2, 1); + GpPcmLock((unsigned short *)buffer, (int *)&idx_buf, + (unsigned int *)&soundPos); + + return 0; +} + +void GpSoundBufStop(void) { + GpPcmStop(); + GpPcmRemove((unsigned short *)buffer); + GpTimerKill(0); + free(buffer); +} + +int OSystem_GP32::getOutputSampleRate() const { + return SAMPLES_PER_SEC; +} + +// Set the function to be invoked whenever samples need to be generated +// Buffer Length and Poll Frequency changed. DJWillis +bool OSystem_GP32::setSoundCallback(SoundProc proc, void *param) { + gpsndbuf.freq = PCM_S22; // Taken from gpmm.h + gpsndbuf.format = PCM_16BIT; // Taken from gpmm.h + gpsndbuf.samples = 2048; //128; //fixme? // Buffer length (in samples) + //FIXME? crashes if not commented?! + //gpsndbuf.userdata=g_scumm; //param; //fixme? // Userdata which gets passed to the callback function + gpsndbuf.callback = proc; //mycallback; // Callback function (just like in SDL) + //2*((float)22025/(float)s.samples); + gpsndbuf.pollfreq = 8 * (SAMPLES_PER_SEC / gpsndbuf.samples); //fixme + // Frequency of the timer interrupt which polls the playing position + // recommended value: 2*(playingfreq in Hz/GPSOUNDBUF.samples) + //s.samplesize; // Size of one sample (8bit mono->1, 16bit stereo->4) - don't touch this + + GpPcmInit(PCM_S22, PCM_16BIT); + GpSoundBufStart(&gpsndbuf); + return true; +} + +///////////////////////////////////////////////////////////////////////////// +// +// GP32 Graphics Stuff +// +///////////////////////////////////////////////////////////////////////////// + void OSystem_GP32::get_screen_image(byte *buf) { /* make sure the mouse is gone */ undraw_mouse(); - - ///if (SDL_LockSurface(_screen) == -1) - /// error("SDL_LockSurface failed: %s.\n", SDL_GetError()); - memcpy(buf, _screen->pixels, _screenWidth*_screenHeight); + ///if (gpLockSurface(_screen) == -1) + /// error("gpLockSurface failed: %s.\n", gpGetError()); - ///SDL_UnlockSurface(_screen); + memcpy(buf, _screen->pixels, _screenWidth * _screenHeight); + + ///gpUnlockSurface(_screen); } void OSystem_GP32::hotswap_gfx_mode() { @@ -971,8 +1656,8 @@ void OSystem_GP32::hotswap_gfx_mode() { * of the screen data during the change. Then we draw that to * the new screen right after it's setup. */ - - byte *bak_mem = (byte*)malloc(_screenWidth*_screenHeight); + + byte *bak_mem = (byte *) malloc(_screenWidth * _screenHeight); get_screen_image(bak_mem); @@ -980,174 +1665,206 @@ void OSystem_GP32::hotswap_gfx_mode() { load_gfx_mode(); // reset palette - SDL_SetColors(_screen, _currentPalette, 0, 256); + gpSetColors(_screen, _currentPalette, 0, 256); // blit image - copyRectToScreen(bak_mem, _screenWidth, 0, 0, _screenWidth, _screenHeight); + copyRectToScreen(bak_mem, _screenWidth, 0, 0, _screenWidth, + _screenHeight); free(bak_mem); updateScreen(); } - -// Get or set a property -uint32 OSystem_GP32::property(int param, Property *value) { - switch(param) { - case PROP_GET_FULLSCREEN: - return _full_screen; +// Get or set a property +//uint32 OSystem_GP32::property(int param, Property *value) +//{ +// switch(param) { +// +// case PROP_GET_FULLSCREEN: +// return _full_screen; +//} - case PROP_OPEN_CD: //fixme? - /*if (SDL_InitSubSystem(SDL_INIT_CDROM) == -1) - _cdrom = NULL; - else { - _cdrom = SDL_CDOpen(value->cd_num); - // Did if open? Check if _cdrom is NULL - if (!_cdrom) { - warning("Couldn't open drive: %s\n", SDL_GetError()); - } - }*/ - break; +void OSystem_GP32::setWindowCaption(const char *caption) { + //gGameName = caption; // Would like to return game here like DC port. - DJWillis +} - case PROP_SET_GFX_MODE: - if (value->gfx_mode >= 7) - return 0; - _mode = value->gfx_mode; - hotswap_gfx_mode(); +// CDROM Code - All returns false as the GP32 has no CDROM ;-) - return 1; +bool OSystem_GP32::openCD(int drive) { + return false; +} - case PROP_GET_SAMPLE_RATE: - ///return SAMPLES_PER_SEC; //ph0x fixme - return 22050; - } +bool OSystem_GP32::pollCD() { + return false; +} - return 0; +void OSystem_GP32::playCD(int track, int num_loops, int start_frame, int duration) { } - -// Poll cdrom status -// Returns true if cd audio is playing -bool OSystem_GP32::pollCD() { return false; } -// Play cdrom audio track -void OSystem_GP32::playCD(int track, int num_loops, int start_frame, int duration) { } +void OSystem_GP32::stopCD() { +} -// Stop cdrom audio track -void OSystem_GP32::stopCD() { } +void OSystem_GP32::updateCD() { +} -// Update cdrom audio status -void OSystem_GP32::updateCD() { } +// End CDROM Code. // Add a new callback timer -void OSystem_GP32::setTimerCallback(TimerProc callback, int timer) { } -// Mutex handling -OSystem::MutexRef OSystem_GP32::createMutex() { +// ph0x FIXME: make members +int _timerinterval; +int (*_timercallback)(int); + +void voidcallback() { + //printf("timer running"); + _timercallback(_timerinterval); //FIXME ?? (*_timercallback)(_timerinterval); +} + +void OSystem_GP32::setTimerCallback(TimerProc callback, int timer) { + int timerno = 1; //0 used by sound proc + + if (!callback) { + GpTimerKill(timerno); + return; + } + + if (GpTimerOptSet(timerno, timer, 0, + voidcallback) == GPOS_ERR_ALREADY_USED) + error("timer slot used"); + + _timerinterval = timer; + _timercallback = callback; + GpTimerSet(timerno); +} + +// Mutex handling - DJWillis Hack +OSystem::MutexRef OSystem_GP32::createMutex(void) { return NULL; } -void OSystem_GP32::lockMutex(MutexRef mutex) { } -void OSystem_GP32::unlockMutex(MutexRef mutex) { } -void OSystem_GP32::deleteMutex(MutexRef mutex) { } + +void OSystem_GP32::lockMutex(MutexRef) { +} + +void OSystem_GP32::unlockMutex(MutexRef) { +} + +void OSystem_GP32::deleteMutex(MutexRef) { +} // Quit -void gphalt(int); -void OSystem_GP32::quit() { +void OSystem_GP32::quit() { + printf("Quitting..."); exit(0); } - + // Overlay -void OSystem_GP32::showOverlay() { +void OSystem_GP32::showOverlay() { // hide the mouse - undraw_mouse(); -u8* s=(u8*)_screen->pixels; -u16* d=(u16*)sdl_tmpscreen->pixels; -u8 c; -// convert to 16 bit -for (int y=0; y<200; y++) { - for (int x=0; x<320; x++) { - c=*s; - *d++ = (u16)GP_RGB16(_currentPalette[c].r, _currentPalette[c].g, _currentPalette[c].b); - s++; - } - d+=3; // tmpscreen width is screen+3 -} -GpGraphicModeSet(16, NULL); //ph0x -//GpRectFill(NULL,&gpDraw[GAME_SURFACE], 0, 0, 320, 240*2, 0); //black border - - _overlay_visible = true; + u8 *s = (u8 *) _screen->pixels; + u16 *d = (u16 *) _tmpscreen->pixels; + u8 c; + // convert to 16 bit + for (int y = 0; y < _screenHeight; y++) { + for (int x = 0; x < 320; x++) { + c = *s; + *d++ = + (u16) gpRGB16(_currentPalette[c].r, + _currentPalette[c].g, _currentPalette[c].b); + s++; + } + d += 3; // tmpscreen width is screen+3 + } + GpGraphicModeSet(16, NULL); //ph0x + // Test code. + //??????????? + //GpRectFill(NULL,&LCDbuffer[GAME_SURFACE], 0, 0, 320, 240, 0); //black border + _overlayVisible = true; clearOverlay(); } -void OSystem_GP32::hideOverlay() { +void OSystem_GP32::hideOverlay() { // hide the mouse undraw_mouse(); -GpGraphicModeSet(8, NULL); //ph0x -GpRectFill(NULL,&gpDraw[GAME_SURFACE], 0, 200, 320, 40, 0); //black border + GpGraphicModeSet(8, NULL); //ph0x + GpRectFill(NULL, &LCDbuffer[GAME_SURFACE], 0, 0, 320, 240, 0); //black border - _overlay_visible = false; + _overlayVisible = false; _forceFull = true; } -void OSystem_GP32::clearOverlay() { - if (!_overlay_visible) +void OSystem_GP32::clearOverlay() { + if (!_overlayVisible) return; - + // hide the mouse undraw_mouse(); // Clear the overlay by making the game screen "look through" everywhere. - SDL_Rect src, dst; + gpRect src, dst; src.x = src.y = 0; dst.x = dst.y = 1; src.w = dst.w = _screenWidth; src.h = dst.h = _screenHeight; - if (SDL_BlitSurface(_screen, &src, sdl_tmpscreen, &dst) != 0) //FIXME - error("SDL_BlitSurface failed: %s", SDL_GetError()); - + if (gpBlitSurface(_screen, &src, _tmpscreen, &dst) != 0) //FIXME + error("gpBlitSurface failed: %s", gpGetError()); _forceFull = true; } -void OSystem_GP32::grabOverlay(int16 *buf, int pitch) { - if (!_overlay_visible) +void OSystem_GP32::grabOverlay(int16 *buf, int pitch) { + if (!_overlayVisible) return; - if (sdl_tmpscreen == NULL) + if (_tmpscreen == NULL) return; // hide the mouse undraw_mouse(); - ///if (SDL_LockSurface(sdl_tmpscreen) == -1) - /// error("SDL_LockSurface failed: %s.\n", SDL_GetError()); + ///if (gpLockSurface(_tmpscreen) == -1) + /// error("gpLockSurface failed: %s.\n", gpGetError()); - int16 *src = (int16 *)sdl_tmpscreen->pixels + TMP_SCREEN_WIDTH + 1; + int16 *src = (int16 *) _tmpscreen->pixels + TMP_SCREEN_WIDTH + 1; int h = _screenHeight; do { - memcpy(buf, src, _screenWidth*2); + memcpy(buf, src, _screenWidth * 2); src += TMP_SCREEN_WIDTH; buf += pitch; } while (--h); - ///SDL_UnlockSurface(sdl_tmpscreen); + ///gpUnlockSurface(_tmpscreen); } -void OSystem_GP32::copyRectToOverlay(const int16 *buf, int pitch, int x, int y, int w, int h) { - if (!_overlay_visible) +void OSystem_GP32::copyRectToOverlay(const int16 * buf, int pitch, int x, + int y, int w, int h) { + if (!_overlayVisible) return; - if (sdl_tmpscreen == NULL) + if (_tmpscreen == NULL) return; // Clip the coordinates - if (x < 0) { w+=x; buf-=x; x = 0; } - if (y < 0) { h+=y; buf-=y*pitch; y = 0; } - if (w > _screenWidth-x) { w = _screenWidth - x; } - if (h > _screenHeight-y) { h = _screenHeight - y; } + if (x < 0) { + w += x; + buf -= x; + x = 0; + } + if (y < 0) { + h += y; + buf -= y * pitch; + y = 0; + } + if (w > _screenWidth - x) { + w = _screenWidth - x; + } + if (h > _screenHeight - y) { + h = _screenHeight - y; + } if (w <= 0 || h <= 0) return; - + // Mark the modified region as dirty cksum_valid = false; add_dirty_rect(x, y, w, h); @@ -1155,147 +1872,666 @@ void OSystem_GP32::copyRectToOverlay(const int16 *buf, int pitch, int x, int y, /* FIXME: undraw mouse only if the draw rect intersects with the mouse rect */ undraw_mouse(); - ///if (SDL_LockSurface(sdl_tmpscreen) == -1) - /// error("SDL_LockSurface failed: %s.\n", SDL_GetError()); + ///if (gpLockSurface(_tmpscreen) == -1) + /// error("gpLockSurface failed: %s.\n", gpGetError()); - int16 *dst = (int16 *)sdl_tmpscreen->pixels + (y+1) * TMP_SCREEN_WIDTH + (x+1); + int16 *dst = + (int16 *) _tmpscreen->pixels + (y + 1) * TMP_SCREEN_WIDTH + (x + + 1); do { - memcpy(dst, buf, w*2); + memcpy(dst, buf, w * 2); dst += TMP_SCREEN_WIDTH; buf += pitch; } while (--h); - ///SDL_UnlockSurface(sdl_tmpscreen); + ///gpUnlockSurface(_tmpscreen); } -OSystem *OSystem_GP32::create(int gfx_mode, bool full_screen) { - OSystem_GP32 *syst = new OSystem_GP32(); - - syst->_mode = gfx_mode; - syst->_full_screen = full_screen; - - // allocate palette storage - syst->_currentPalette = (SDL_Color*)calloc(sizeof(SDL_Color), 256); +void OSystem_GP32::internUpdateScreen() { + assert(_hwscreen != NULL); - // allocate the dirty rect storage - syst->_mouseBackup = (byte*)malloc(MAX_MOUSE_W * MAX_MOUSE_H * MAX_SCALING * 2); - return syst; + // If the shake position changed, fill the dirty area with blackness + + if (_currentShakePos != _newShakePos) { + + gpRect blackrect = + { 0, 0, _screenWidth * _scaleFactor, + _newShakePos * _scaleFactor }; + + //if (_adjustAspectRatio) + // blackrect.h = real2Aspect(blackrect.h - 1) + 1; + + gpFillRect(_hwscreen, &blackrect, 0); + + _currentShakePos = _newShakePos; + + _forceFull = true; + } + // Make sure the mouse is drawn, if it should be drawn. + draw_mouse(); + + // Check whether the palette was changed in the meantime and update the + // screen surface accordingly. + if (_paletteDirtyEnd != 0) { + + gpSetColors(_screen, _currentPalette + _paletteDirtyStart, + _paletteDirtyStart, _paletteDirtyEnd - _paletteDirtyStart); + + _paletteDirtyEnd = 0; + + _forceFull = true; + } +//#ifdef USE_OSD +// // OSD visible (i.e. non-transparent)? +// if (_osdAlpha != gpALPHA_TRANSPARENT) { +// // Updated alpha value +// const int diff = gpGetTicks() - _osdFadeStartTime; +// if (diff > 0) { +// if (diff >= kOSDFadeOutDuration) { +// // Back to full transparency +// _osdAlpha = gpALPHA_TRANSPARENT; +// } else { +// // Do a linear fade out... +// const int startAlpha = gpALPHA_TRANSPARENT + kOSDInitialAlpha * (gpALPHA_OPAQUE - gpALPHA_TRANSPARENT) / 100; +// _osdAlpha = startAlpha + diff * (gpALPHA_TRANSPARENT - startAlpha) / kOSDFadeOutDuration; +// } +// gpSetAlpha(_osdSurface, gpRLEACCEL | gpSRCCOLORKEY | gpSRCALPHA, _osdAlpha); +// _forceFull = true; +// } +// } +//#endif + + // Force a full redraw if requested + if (_forceFull) { + _num_dirty_rects = 1; + + _dirty_rect_list[0].x = 0; + _dirty_rect_list[0].y = 0; + _dirty_rect_list[0].w = _screenWidth; + _dirty_rect_list[0].h = _screenHeight; + } + // Only draw anything if necessary + if (_num_dirty_rects > 0) { + + gpRect *r; + gpRect dst; + uint32 srcPitch, dstPitch; + gpRect *last_rect = _dirty_rect_list + _num_dirty_rects; + + if (_scaler_proc == Normal1x && !_adjustAspectRatio) { + + gpSurface *target = + _overlayVisible ? _tmpscreen : _screen; + for (r = _dirty_rect_list; r != last_rect; ++r) { + dst = *r; + + if (_overlayVisible) { + // FIXME: I don't understand why this is necessary... + dst.x--; + dst.y--; + } + dst.y += _currentShakePos; + if (gpBlitSurface(target, r, _hwscreen, + &dst) != 0) + error("gpBlitSurface failed: %s", + gpGetError()); + } + } else { + if (!_overlayVisible) { + + for (r = _dirty_rect_list; r != last_rect; ++r) { + dst = *r; + dst.x++; // Shift rect by one since 2xSai needs to acces the data around + dst.y++; // any pixel to scale it, and we want to avoid mem access crashes. + if (gpBlitSurface(_screen, r, + _tmpscreen, &dst) != 0) + error + ("gpBlitSurface failed: %s", + gpGetError()); + } + } + //gpLockSurface(_tmpscreen); + //gpLockSurface(_hwscreen); + + srcPitch = _tmpscreen->pitch; + dstPitch = _hwscreen->pitch; + + for (r = _dirty_rect_list; r != last_rect; ++r) { + + register int dst_y = r->y + _currentShakePos; + register int dst_h = 0; + register int orig_dst_y = 0; + + if (dst_y < _screenHeight) { + dst_h = r->h; + if (dst_h > _screenHeight - dst_y) + dst_h = _screenHeight - dst_y; + + dst_y *= _scaleFactor; + + if (_adjustAspectRatio) { + orig_dst_y = dst_y; + dst_y = real2Aspect(dst_y); + + } + + _scaler_proc((byte *) _tmpscreen-> + pixels + (r->x * 2 + 2) + (r->y + + 1) * srcPitch, srcPitch, + (byte *) _hwscreen->pixels + + r->x * 2 * _scaleFactor + + dst_y * dstPitch, dstPitch, r->w, + dst_h); + } + + r->x *= _scaleFactor; + r->y = dst_y; + r->w *= _scaleFactor; + r->h = dst_h * _scaleFactor; + + if (_adjustAspectRatio + && orig_dst_y / _scaleFactor < + _screenHeight) + r->h = + stretch200To240((uint8 *) + _hwscreen->pixels, dstPitch, r->w, + r->h, r->x, r->y, orig_dst_y); + } + //gpUnlockSurface(_tmpscreen); + //gpUnlockSurface(_hwscreen); + + } + + // Readjust the dirty rect list in case we are doing a full update. + // This is necessary if shaking is active. + if (_forceFull) { + _dirty_rect_list[0].y = 0; + _dirty_rect_list[0].h = 240; + + } +#ifdef USE_OSD + if (_osdAlpha != gpALPHA_TRANSPARENT) { + gpBlitSurface(_osdSurface, 0, _hwscreen, 0); + } +#endif + + // Finally, blit all our changes to the screen + gpUpdateRects(_hwscreen, _num_dirty_rects, _dirty_rect_list); + + } + + _num_dirty_rects = 0; + _forceFull = false; } -OSystem *OSystem_GP32_create(int gfx_mode, bool full_screen) { - return OSystem_GP32::create(gfx_mode, full_screen); // fullscreen +// assert(_hwscreen != NULL); +// +// // If the shake position changed, fill the dirty area with blackness +// if (_currentShakePos != _newShakePos) { +// gpRect blackrect = {0, 0, _screenWidth*_scaleFactor, _newShakePos*_scaleFactor}; +// gpFillRect(_hwscreen, &blackrect, 0); +// +// _currentShakePos = _newShakePos; +// +// _forceFull = true; +// } +// +// // Make sure the mouse is drawn, if it should be drawn. +// draw_mouse(); //ph0x +// +// // Check whether the palette was changed in the meantime and update the +// // screen surface accordingly. +// if (_paletteDirtyEnd != 0) { +// gpSetColors(_screen, _currentPalette + _paletteDirtyStart, +// _paletteDirtyStart, +// _paletteDirtyEnd - _paletteDirtyStart); +// +// _paletteDirtyEnd = 0; +// +// _forceFull = true; +// } +// +// // Force a full redraw if requested +// if (_forceFull) { +// _num_dirty_rects = 1; +// +// _dirty_rect_list[0].x = 0; +// _dirty_rect_list[0].y = 0; +// _dirty_rect_list[0].w = _screenWidth; +// _dirty_rect_list[0].h = _screenHeight; +// } +// +// // Only draw anything if necessary +// if (_num_dirty_rects > 0) { +// +// gpRect *r; +// uint32 srcPitch, dstPitch; +// gpRect *last_rect = _dirty_rect_list + _num_dirty_rects; +// +// // Convert appropriate parts of the 8bpp image into 16bpp +// if (!_overlayVisible) { +// gpRect dst; +// for(r = _dirty_rect_list; r != last_rect; ++r) { +// dst = *r; +// dst.x++; // FIXME? Shift rect by one since 2xSai needs to acces the data around +// dst.y++; // FIXME? any pixel to scale it, and we want to avoid mem access crashes. +// +// if (gpBlitSurface(_screen, r, _hwscreen, &dst) != 0) //ph0x! gp_tmpscreen +// error("gpBlitSurface failed: %s", gpGetError()); +// } +// } +// +// ///gp_LockSurface(gp_tmpscreen); +// ///gp_LockSurface(gp_hwscreen); +// +//// ph0x! (no scaling) cannot skip intro if commented? +// +// srcPitch = _tmpscreen->pitch; +// dstPitch = _hwscreen->pitch; +// for(r = _dirty_rect_list; r != last_rect; ++r) { +// register int dst_y = r->y + _currentShakePos; +// register int dst_h = 0; +// if (dst_y < _screenHeight) { +// dst_h = r->h; +// if (dst_h > _screenHeight - dst_y) +// dst_h = _screenHeight - dst_y; +// +// dst_y *= _scaleFactor; +// +// if (_overlayVisible) //ph0x fixme? +// _scaler_proc((byte*)_tmpscreen->pixels + (r->x*2+2) + (r->y+1)*srcPitch, srcPitch, +// (byte*)_hwscreen->pixels + r->x*2*_scaleFactor + dst_y*dstPitch, dstPitch, r->w, dst_h); +// } +// r->x *= _scaleFactor; +// r->y = dst_y; +// r->w *= _scaleFactor; +// r->h = dst_h * _scaleFactor; +// } +// +// ///gp_UnlockSurface(gp_tmpscreen); +// ///gp_UnlockSurface(gp_hwscreen); +// +// // Readjust the dirty rect list in case we are doing a full update. +// // This is necessary if shaking is active. +// if (_forceFull) { +// _dirty_rect_list[0].y = 0; +// _dirty_rect_list[0].h = _screenHeight * _scaleFactor; +// } +// +// // Finally, blit all our changes to the screen +// +// // FIXME (dont use condition) +// if (_overlayVisible) +// gpUpdateRects(_hwscreen, _num_dirty_rects, _dirty_rect_list); //ph0x! gp_hwscreen +// else +// gpUpdateRects(_screen, _num_dirty_rects, _dirty_rect_list); +// } +// +// _num_dirty_rects = 0; +// _forceFull = false; +//} + +void OSystem_GP32::setFeatureState(Feature f, bool enable) { + + switch (f) { + case kFeatureFullscreenMode: + setFullscreenMode(enable); + break; + case kFeatureAspectRatioCorrection: + if (_screenHeight == 200 && _adjustAspectRatio != enable) { + Common::StackLock lock(_graphicsMutex); + + //assert(_hwscreen != 0); + _adjustAspectRatio ^= true; + hotswap_gfx_mode(); + +#ifdef USE_OSD + char buffer[128]; + if (_adjustAspectRatio) + sprintf(buffer, + "Enabled aspect ratio correction\n%d x %d -> %d x %d", + _screenWidth, _screenHeight, _hwscreen->w, + _hwscreen->h); + else + sprintf(buffer, + "Disabled aspect ratio correction\n%d x %d -> %d x %d", + _screenWidth, _screenHeight, _hwscreen->w, + _hwscreen->h); + displayMessageOnOSD(buffer); +#endif + + // Blit everything to the screen + internUpdateScreen(); + + // Make sure that an EVENT_SCREEN_CHANGED gets sent later + _modeChanged = true; + } + break; + case kFeatureAutoComputeDirtyRects: + if (enable) + _mode_flags |= DF_WANT_RECT_OPTIM; + else + _mode_flags &= ~DF_WANT_RECT_OPTIM; + break; + default: + break; + } } -////////////////////////////////////////////////// -// GP32 stuff -////////////////////////////////////////////////// +bool OSystem_GP32::hasFeature(Feature f) { + return false; + (f == kFeatureFullscreenMode) || (f == kFeatureAspectRatioCorrection); + // || +// (f == kFeatureAutoComputeDirtyRects); +} -extern "C" int write(int fd, void *p, size_t n); -int write(int fd, void *p, size_t n) { return 0; } //ph0x hack! +bool OSystem_GP32::getFeatureState(Feature f) { -// Converts 8bit rgb values to a GP32 palette value -void GpSetPaletteEntry(u8 i, u8 r, u8 g, u8 b) { - GP_PALETTEENTRY entry = GP_RGB16(r,g,b); - GpPaletteEntryChange ( i, 1, &entry, 0 ); + switch (f) { + case kFeatureFullscreenMode: + return _full_screen; + case kFeatureAspectRatioCorrection: + return _adjustAspectRatio; + case kFeatureAutoComputeDirtyRects: + return _mode_flags & DF_WANT_RECT_OPTIM; + default: + return false; + } } -void switchsurf(int surf) { - GPLCDINFO lcd; - GpLcdInfoGet(&lcd); +void OSystem_GP32::setFullscreenMode(bool enable) { + Common::StackLock lock(_graphicsMutex); - if (surf == DEBUG_SURFACE) { - if (lcd.lcd_global.U8_lcd.bpp == 16) - GpGraphicModeSet(8, NULL); + if (_full_screen != enable) { + assert(_hwscreen != 0); + _full_screen ^= true; + undraw_mouse(); - currsurface = DEBUG_SURFACE; - GpSurfaceFlip(&gpDraw[currsurface]); - GpSetPaletteEntry(0, 0, 0, 0); - GpSetPaletteEntry(1, 255, 0, 0); - GpSetPaletteEntry(2, 255, 255, 255); - } else { - if (surf == GAME_SURFACE) { - currsurface = GAME_SURFACE; - GpSurfaceFlip(&gpDraw[currsurface]); + //if (!gpWM_ToggleFullScreen(_hwscreen)) { + // if ToggleFullScreen fails, achieve the same effect with hotswap gfx mode + // hotswap_gfx_mode(); + //} + +#ifdef USE_OSD + if (_full_screen) + displayMessageOnOSD("Fullscreen mode"); + else + displayMessageOnOSD("Windowed mode"); +#endif + + // Blit everything to the screen + internUpdateScreen(); + + // Make sure that an EVENT_SCREEN_CHANGED gets sent later + _modeChanged = true; + } +} + +static const OSystem::GraphicsMode supportedGraphicsModes[] = { + {"1x", "320x240 16bpp", GFX_NORMAL}, + {0, 0, 0} +}; + +const OSystem::GraphicsMode *OSystem_GP32::getSupportedGraphicsModes() const { + return supportedGraphicsModes; +} + +int OSystem_GP32::getDefaultGraphicsMode() const { + return GFX_NORMAL; +} + +bool OSystem_GP32::setGraphicsMode(int mode) { + + Common::StackLock lock(_graphicsMutex); + + int newScaleFactor = 1; + ScalerProc *newScalerProc; + + switch (mode) { + case GFX_NORMAL: + newScaleFactor = 1; + newScalerProc = Normal1x; + break; + //case GFX_DOUBLESIZE: + // newScaleFactor = 2; + // newScalerProc = Normal2x; + // break; + //case GFX_TRIPLESIZE: + // newScaleFactor = 3; + // newScalerProc = Normal3x; + // break; + //case GFX_2XSAI: + // newScaleFactor = 2; + // newScalerProc = _2xSaI; + // break; + //case GFX_SUPER2XSAI: + // newScaleFactor = 2; + // newScalerProc = Super2xSaI; + // break; + //case GFX_SUPEREAGLE: + // newScaleFactor = 2; + // newScalerProc = SuperEagle; + // break; + //case GFX_ADVMAME2X: + // newScaleFactor = 2; + // newScalerProc = AdvMame2x; + // break; + //case GFX_ADVMAME3X: + // newScaleFactor = 3; + // newScalerProc = AdvMame3x; + // break; + //case GFX_HQ2X: + // newScaleFactor = 2; + // newScalerProc = HQ2x; + // break; + //case GFX_HQ3X: + // newScaleFactor = 3; + // newScalerProc = HQ3x; + // break; + //case GFX_TV2X: + // newScaleFactor = 2; + // newScalerProc = TV2x; + // break; + //case GFX_DOTMATRIX: + // newScaleFactor = 2; + // newScalerProc = DotMatrix; + // break; + + default: + warning("unknown gfx mode %d", mode); + return false; + } + + _mode = mode; + _scaler_proc = newScalerProc; + if (newScaleFactor != _scaleFactor) { + _scaleFactor = newScaleFactor; + hotswap_gfx_mode(); + } + + if (!_screen) + return true; + +#ifdef USE_OSD + if (_osdSurface) { + const char *newScalerName = 0; + const GraphicsMode *g = s_supportedGraphicsModes; + while (g->name) { + if (g->id == mode) { + newScalerName = g->description; + break; + } + g++; + } + if (newScalerName) { + char buffer[128]; + sprintf(buffer, + "Active graphics filter: %s\n%d x %d -> %d x %d", + newScalerName, _screenWidth, _screenHeight, + _hwscreen->w, _hwscreen->h); + displayMessageOnOSD(buffer); } } - +#endif + + // Blit everything to the screen + _forceFull = true; + internUpdateScreen(); + + // Make sure that an EVENT_SCREEN_CHANGED gets sent later + _modeChanged = true; + + return true; +} + +int OSystem_GP32::getGraphicsMode() const { + return _mode; } -int gpprintf(const char *fmt, ...) { //return 0; //fixme +////OSystem *OSystem_GP32::create(int gfx_mode, bool full_screen) +//OSystem *OSystem_GP32::create() +//{ +// //OSystem_GP32 *syst = new OSystem_GP32(); +// +// //syst->_mode = gfx_mode; +// //syst->_full_screen = full_screen; +// // +// //// allocate palette storage +// //syst->_currentPalette = (gpColor*)calloc(sizeof(gpColor), 256); +// +// //// allocate the dirty rect storage +// //syst->_mouseBackup = (byte*)malloc(MAX_MOUSE_W * MAX_MOUSE_H * MAX_SCALING * 2); +// /*return syst;*/ +// return new OSystem_GP32(); +//} + +////////////////////////////////////////////////// +// GP32 stuff +////////////////////////////////////////////////// + +extern "C" int write(int fd, void *p, size_t n); +int write(int fd, void *p, size_t n) { //ph0x hack! + return 0; +} + +// Converts 8bit rgb values to a GP32 palette value +void GpSetPaletteEntry(u8 i, u8 r, u8 g, u8 b) { + GP_PALETTEENTRY entry = gpRGB16(r, g, b); + GpPaletteEntryChange(i, 1, &entry, 0); +} + +int gpprintf(const char *fmt, ...) { + static bool busy; static int y; - char s[1024]; // ? - int r; + char s[1024]; // ? va_list marker; - - // combine + + if (busy) + return 0; + busy = true; va_start(marker, fmt); - r = vsprintf(s, fmt, marker); - va_end(marker); - // print to console + vsprintf(s, fmt, marker); + va_end(marker); -#ifdef GPDEBUG -//dprintf("mem: %d ", gm_availablesize()); +#ifdef GPDEBUG + //dprintf("mem: %d ", gm_availablesize()); dprintf(s); - if (s[strlen(s)-1] != '\n') dprintf("\n"); + if (s[strlen(s) - 1] != '\n') + dprintf("\n"); //if (s[0]!='>') return r; -#endif - +#endif + + fprintf(stdout, s); + // print to lcd - GpTextOut(NULL, &gpDraw[DEBUG_SURFACE], 0, y, s, 1); - y+= (ENGFONT_H-FONT_LINEGAP); - if (y>(240/(ENGFONT_H-FONT_LINEGAP)) * (ENGFONT_H-FONT_LINEGAP)) { - y=0; - GpRectFill(NULL,&gpDraw[DEBUG_SURFACE], 0, 0, 320, 240, 2); + GpTextOut(NULL, &LCDbuffer[DEBUG_SURFACE], 0, y, s, 1); + y += (ENGFONT_H - FONT_LINEGAP); + if (y > + (240 / (ENGFONT_H - FONT_LINEGAP)) * (ENGFONT_H - FONT_LINEGAP)) { + y = 0; + GpRectFill(NULL, &LCDbuffer[DEBUG_SURFACE], 0, 0, 320, 240, 2); } - return r; + busy = false; + return 0; } int gpfprintf(FILE *stream, const char *fmt, ...) { - //printf(fmt, "fixme"); + char s[256]; + va_list marker; + + va_start(marker, fmt); + vsprintf(s, fmt, marker); + va_end(marker); + + return fwrite(s, 1, strlen(s), stream); } -FILE *gpfopen(const char *filename, const char *mode) { - //FIXME: - // - allocation ? - // - mode - // - malloc -> new +typedef struct { + FILE f; + ulong size; + ulong p; //cache position +} xfile; + +#define XFILE(f) (*(xfile*)f) +#define FCACHE_SIZE 8*1024 // speed up writes + +FILE *gpfopen(const char *filename, const char *mode) { + //FIXME: allocation, mode, malloc -> new ulong m; - FILE *f = (FILE*)malloc(sizeof(FILE) + sizeof(ulong)); + FILE *f; + ERR_CODE err; + char s[256]; + if (!strchr(filename, '.')) { + sprintf(s, "%s.", filename); + filename = s; + } //printf(">open %s as %s", filename, mode); // FIXME add binary/text support - if (tolower(mode[0])=='r') { - m=OPEN_R; - GpFileGetSize(filename, (ulong*)(f+1)); // hack (size in handle :) - } else - if (tolower(mode[0])=='w') { + if (tolower(mode[0]) == 'r') { + f = (FILE *) malloc(sizeof(xfile)); + m = OPEN_R; + GpFileGetSize(filename, &XFILE(f).size); + err = GpFileOpen(filename, m, f); + } else if (tolower(mode[0]) == 'w') { //printf("open if as W"); + f = (FILE *) malloc(sizeof(xfile) + FCACHE_SIZE); + XFILE(f).size = 0; // FIXME? new file has no size? + XFILE(f).p = 0; + m = OPEN_W; + err = GpFileCreate(filename, ALWAYS_CREATE, f); + } else + error("wrong file mode"); - *(ulong*)(f+1)=0; // FIXME? new file has no size? - m=OPEN_W; - GpFileCreate(filename, ALWAYS_CREATE, f); - } - else error("wrong file mode"); - - if (!f) error("%s: cannot crate F_HANDLE", __FUNCTION__); - ERR_CODE err = GpFileOpen(filename, m, f); + if (!f) + error("%s: cannot crate F_HANDLE", __FUNCTION__); if (err) { - //if (strcmp(filename, "tentacle.000")==0 || strcmp(filename, "TENTACLE.000")==0) error(">bingo!"); - //if (blah>1) error("(%s) %s", filename, __FUNCTION__); else - return NULL; - } else return f; + //printf("IOerr %d", err); + return NULL; + } else + return f; } +int gpfclose(FILE *f) { + if (!f) { + //warning("closing null file"); + return 1; + } - -int gpfclose(FILE *stream) { - if (*(u32*)((char*)stream-sizeof(u32)) == 0x4321) { - debug(0, "double closing", __FUNCTION__); + if (*(u32 *)((char *)f - sizeof(u32)) == 0x4321) { + debug(0, "Double closing", __FUNCTION__); return 1; - } // return 1 ?? - ERR_CODE err = GpFileClose(*stream); - free(stream); + } // return 1 ?? + + if (XFILE(f).p) { + GpFileWrite(*f, (char *)f + sizeof(xfile), XFILE(f).p); // flush cache + XFILE(f).p = 0; + } + + ERR_CODE err = GpFileClose(*f); + free(f); + return err; } @@ -1303,112 +2539,163 @@ int gpfseek(FILE *stream, long offset, int whence) { ulong dummy; switch (whence) { - case SEEK_SET : whence = FROM_BEGIN; break; - case SEEK_CUR : whence = FROM_CURRENT; break; - case SEEK_END : whence = FROM_END; break; + case SEEK_SET: + whence = FROM_BEGIN; + break; + case SEEK_CUR: + whence = FROM_CURRENT; + break; + case SEEK_END: + whence = FROM_END; + break; } - return GpFileSeek(*stream, whence, offset, (long*)&dummy); + return GpFileSeek(*stream, whence, offset, (long *)&dummy); } -long gpftell(FILE *stream) { // fixme? use standard func - ulong pos=0; - ERR_CODE err = GpFileSeek(*stream, FROM_CURRENT, 0, (long*)&pos); +long gpftell(FILE *stream) { // fixme? use standard func + ulong pos = 0; + //ERR_CODE err = GpFileSeek(*stream, FROM_CURRENT, 0, (long*)&pos); return pos; } - size_t gpfread(void *ptr, size_t size, size_t n, FILE *stream) { - ulong readcount=0; - ERR_CODE err = GpFileRead(*stream, ptr, size*n, &readcount); //fixme? size*n - return readcount/size; //FIXME? + ulong readcount = 0; + //ERR_CODE err = GpFileRead(*stream, ptr, size*n, &readcount); //fixme? size*n + return readcount / size; //FIXME? } -size_t gpfwrite(const void *ptr, size_t size, size_t n, FILE *stream) { - ERR_CODE err=GpFileWrite(*stream, ptr, size*n); //fixme size*n? - //printf("writing to file"); - return err; +size_t gpfwrite(const void *ptr, size_t size, size_t n, FILE *f) { + int len = size * n; + + if (!f) { + //warning("writing to null file"); + return 0; + } + + if (XFILE(f).p + len < FCACHE_SIZE) { + memcpy((char *)f + sizeof(xfile) + XFILE(f).p, ptr, len); + XFILE(f).p += len; + } else { + if (XFILE(f).p) { + GpFileWrite(*f, (char *)f + sizeof(xfile), XFILE(f).p); // flush cache + XFILE(f).p = 0; + } + + ERR_CODE err = GpFileWrite(*f, ptr, len); + if (!err) + return n; + else + return -err; + } + return 0; } void gpclearerr(FILE *stream) { - //error("fixme: %s", __FUNCTION__); + //warning("fixme: %s", __FUNCTION__); } -int gpfeof(FILE *stream) { //fixme! - return ftell(stream) >= *(ulong*)(stream+1); +int gpfeof(FILE *f) { //fixme! + return ftell(f) >= XFILE(f).size; } char *gpfgets(char *s, int n, FILE *f) { - int err, i=0; + int i = 0; - while (!feof(f) && i<n) { + while (!feof(f) && i < n) { fread(&s[i], 1, 1, f); - if (s[i]=='\n') { - s[i+1]=0; + if (s[i] == '\n') { + s[i + 1] = 0; return s; } i++; } if (feof(f)) return NULL; - else return s; + else + return s; +} + +char gpfgetc(FILE *f) { + char c[1]; + + fread(&c[0], 1, 1, f); + return c[0]; +} + +int gpfflush(FILE * stream) { + return 0; } -int gpfflush(FILE *stream) { return 0;} +/* + * GP32 Memory managment. + */ void *gpmalloc(size_t size) { - void *p = gm_malloc(size+sizeof(u32)); // gm_zi_malloc(size+sizeof(u32)); + u32 np; + u32 *up; + + np = (u32) gm_malloc(size + sizeof(u32)); - //memset((char*)((char*)p+sizeof(u32)), 0, size); - //printf("callocing"); - if (p) { - *(u32*)p = 0x1234; - return ((char*)p+sizeof(u32)); - } else return NULL; + if (np) { + up = (u32 *) np; + *up = 0x1234; + return (void *)(np + sizeof(u32)); + } + + return NULL; } -void *gpcalloc(size_t nitems, size_t size) { - void *p = gpmalloc(nitems*size); //gpcalloc doesnt clear? - - memset(p, 0, nitems*size); - if (*(u8*)p) warning("%s: calloc doesn't clear!", __FUNCTION__); //fixme: was error - //printf("callocing"); - return p; +void *gpcalloc(size_t nitems, size_t size) { + void *p = gpmalloc(nitems * size); //gpcalloc doesnt clear? + + memset(p, 0, nitems * size); + if (*(u8 *) p) + warning("%s: calloc doesn't clear!", __FUNCTION__); //fixme: was error + //printf("callocing"); + return p; } void gpfree(void *block) { - if (!block) {debug(0, "freeing null pointer"); return;} - if (*(u32*)((char*)block-sizeof(u32)) == 0x4321) error("%s: double deallocation!", __FUNCTION__); - if (*(u32*)((char*)block-sizeof(u32)) != 0x1234) error("%s: corrupt block!", __FUNCTION__); - *(u32*)((char*)block-sizeof(u32)) = 0x4321; - gm_free((char*)block-sizeof(u32)); + u32 np; + u32 *up; + + if (!block) { + debug(0, "freeing null pointer"); + return; + } + + np = ((u32) block) - sizeof(u32); + up = (u32 *) np; + if (*up == 0x4321) + error("%s: double deallocation!", __FUNCTION__); + + if (*up != 0x1234) + error("%s: corrupt block!", __FUNCTION__); + *up = 0x4321; + + gm_free(up); } -void gphalt(int code=0) { - GpGraphicModeSet(8, NULL); - currsurface=DEBUG_SURFACE; - GpSurfaceFlip(&gpDraw[currsurface]); - GpSetPaletteEntry ( 0, 0,0,0 ); - GpSetPaletteEntry ( 1, 255,0,0 ); - GpSetPaletteEntry ( 2, 255,255,255 ); - printf("HALT!"); - while (1); +/* +char *gpstrdup(const char *s) { + char *p=(char*)malloc(strlen(s)+1); + memcpy(p, s, strlen(s)+1); + return p; } +*/ char *gpstrdup(const char *strSource) { - - char *buffer; - buffer = (char *)malloc(strlen(strSource) + 1); - if (buffer) - strcpy(buffer, strSource); - return buffer; + char *strBuffer; + strBuffer = (char *)malloc(strlen(strSource) + 1); + if (strBuffer) + strcpy(strBuffer, strSource); + return strBuffer; } time_t gptime(time_t *timer) { - time_t t = GpTickCountGet() / 1000; if (timer) *timer = t; - return t; } @@ -1419,116 +2706,516 @@ void gpdeinit() { } void gpexit(int code) { - switchsurf(DEBUG_SURFACE); - printf("Your GP32 will now restart..."); - gpdeinit(); - GpAppExit(); + if (!code) { + printf("----------------------------------------"); + printf(" Your GP32 is now restarting... "); + printf("----------------------------------------"); + + gpdeinit(); + + // FIXME: use function :) + int n = GpTickCountGet(); + while ((GpTickCountGet() - n) < 3000); + + GpAppExit(); + } else { + printf("Exit Code %d", code); + while (1); + } } -//#include <string.h> -#include "common/gamedetector.h" -VersionSettings* menu() { - const VersionSettings *v = version_settings; - VersionSettings* games[30]; - int n=0; +/**************************************************************** + Setup CPU Speed - Calls to CPUSPEED.S +****************************************************************/ +void gpCPUSpeed(int freq) { + // To extend use: cpu_speed(CLK_SPEED, DIV_FACTOR, CLK_MODE); + if (freq == 166) + cpu_speed(165000000, 0x2f001, 3); // 40 Bus? + if (freq == 156) + cpu_speed(156000000, 0x2c001, 3); // 36 Bus + if (freq == 133) + cpu_speed(133500000, (81 << 12) | (2 << 4) | 1, 2); // 66 Bus? + if (freq == 132) + cpu_speed(132000000, 0x3a011, 3); // 33 Bus + if (freq == 120) + cpu_speed(120000000, 0x24001, 2); + if (freq == 100) + cpu_speed(102000000, (43 << 12) | (1 << 4) | 1, 2); + if (freq == 66) + cpu_speed(67500000, (37 << 12) | (0 << 4) | 2, 2); + if (freq == 40) + cpu_speed(40000000, 0x48013, 1); // Default + if (freq == 33) + cpu_speed(33750000, (37 << 12) | (0 << 4) | 3, 2); // Ultra slow +} + +/**************************************************************** + Pre-ScummVM Configuration Menu. +****************************************************************/ +int ConfigMenu() { + //#ifndef GP32_GDB + // gpCPUSpeed(40); + //#endif /*GP32_GDB*/ + + GpSetPaletteEntry(2, 0, 0, 0); + GpSetPaletteEntry(1, 0, 0, 0); + GpSetPaletteEntry(0, 255, 255, 255); + + int i, key, fg, bg, choice = 0, y = ENGFONT_H * 7; + int n = ARRAYSIZE(menu); + + GpTextOut(NULL, &LCDbuffer[(int)currentsurf], 0, y, + "Configuration Menu", 1); + y += ENGFONT_H; + GpTextOut(NULL, &LCDbuffer[(int)currentsurf], 0, y, + "----------------------------------------", 1); + y += ENGFONT_H; - /*GpSetPaletteEntry ( 0, 0,0,0 ); - GpSetPaletteEntry ( 1, 255,0,0 ); - GpSetPaletteEntry ( 2, 255,255,255 );*/ + do { + for (i = 0; i < n; i++) { + if (i == choice) { + fg = 2; + bg = 1; + } else { + fg = 1; + bg = 2; + } + GpRectFill(NULL, &LCDbuffer[(int)currentsurf], 0, + y + i * ENGFONT_H, 320, ENGFONT_H, bg); + char s[256]; + sprintf(s, "%s [%s]", menu[i].option, + menu[i].submenu[menu[i].index]); + GpTextOut(NULL, &LCDbuffer[(int)currentsurf], 0, + y + i * ENGFONT_H, s, fg); + } - currsurface=GAME_SURFACE; - GpSurfaceFlip(&gpDraw[currsurface]); - printf("menu"); - - char s[256]; - while (v->filename && v->gamename) { - sprintf(s, "%s.000", v->filename); //fixme? (extension ok?) - FILE* f = fopen(s, "r"); - if (f) { - (const VersionSettings*)games[n++]=v; - fclose(f); + do + key = gpTrapKey(); + while (key == GPC_VK_NONE); + + if (key & GPC_VK_DOWN) { + if (choice < n - 1) + choice++; + } + if (key & GPC_VK_UP) { + if (choice > 0) + choice--; + } + if (key & GPC_VK_LEFT) { + if (menu[choice].index > 0) + menu[choice].index--; + } + if (key & GPC_VK_RIGHT) { + if (menu[choice].submenu[menu[choice].index + 1]) + menu[choice].index++; } - v++; + //if (key & GPC_VK_START || key & GPC_VK_FA) return 1; + if (key & GPC_VK_FA) + return 1; + //if (key & GPC_VK_SELECT) return 0; + + do + key = gpTrapKey(); + while (key != GPC_VK_NONE); + + } while (1); +} + +/**************************************************************** + Delay (very simple delay) +****************************************************************/ +void Delay(unsigned int ms) { + unsigned int delay_by; + delay_by = GpTickCountGet(); + while (GpTickCountGet() - delay_by < ms); +} + +/**************************************************************** + Triple buffering code +****************************************************************/ +void FlipScreen() { + if (nflip == 0) { + GpSurfaceFlip(&LCDbuffer[0]); + nflip = 1; + } else if (nflip == 1) { + GpSurfaceFlip(&LCDbuffer[1]); + nflip = 2; + } else if (nflip == 2) { + GpSurfaceFlip(&LCDbuffer[2]); + nflip = 0; + } +} + +/**************************************************************** + Clear all the screen buffers +****************************************************************/ +void ClearScreen() { + int i; + for (i = 0; i <= BUFFERCOUNT; i++) { + GpRectFill(NULL, &LCDbuffer[i], 0, 0, LCDbuffer[i].buf_w, + LCDbuffer[i].buf_h, 0x00); } +} - int i, key, fg, bg, choice=0, y=0; +/**************************************************************** + Fade to black +****************************************************************/ +void FadeToBlack(int delay_time) { + //Fade to black + int x; + for (x = 0; x < 30; x++) { + //Fade it further + GpLcdFade(-1, NULL); - //GpRectFill(NULL,&gpDraw[currsurface], 0, 0, 320, 200, 2); - GpTextOut(NULL, &gpDraw[currsurface], 0, y, "ScummVM (GP32 port by ph0x)", 255); y+=ENGFONT_H; + //refresh screen + GpSurfaceFlip(&LCDbuffer[nflip]); - if (!n) { - GpTextOut(NULL, &gpDraw[currsurface], 0, y, "No games found! put game data in gp:\\", 255); y+=ENGFONT_H; - while (1); + //wait a littel bit + Delay(delay_time); } - - - if (n==1) return games[choice]; //fixme? - GpTextOut(NULL, &gpDraw[currsurface], 0, y, "select game:", 255); y+=ENGFONT_H; - do { - for (i=0; i<n; i++) { - if (i==choice) {fg=100; bg=255;} else {fg=123; bg=0;} - GpRectFill(NULL,&gpDraw[currsurface], 0, y+i*ENGFONT_H, 320, ENGFONT_H, bg); - GpTextOut(NULL, &gpDraw[currsurface], 0, y+i*ENGFONT_H, (char*)games[i]->gamename, fg); - } - - do key=GpKeyGet(); while (key == GPC_VK_NONE) ; - if (key & GPC_VK_DOWN) - {if (choice<n-1) choice++;} else - if (key & GPC_VK_UP) - {if (choice>0) choice--;} else - if (key & GPC_VK_START || key & GPC_VK_FA) return games[choice]; //fixme? - do key=GpKeyGet(); while (key != GPC_VK_NONE) ; - - } while (1); + + //Now Clear all the buffers + ClearScreen(); + + //Turn the fading off + GpLcdNoFade(NULL); + + //Now flip to end it all and leave it black + FlipScreen(); } -int gpinit() { +/**************************************************************** + Fade to White +****************************************************************/ +void FadeToWhite(int delay_time) { + //Fade to black + int x; + for (x = 0; x < 30; x++) { + //Fade it further + GpLcdFade(1, NULL); - ERR_CODE err; - - //GpKeyInit(); + //refresh screen + GpSurfaceFlip(&LCDbuffer[nflip]); + + //wait a littel bit + Delay(delay_time); + } + + //Now Clear all the buffers + ClearScreen(); + + //Turn the fading off + GpLcdNoFade(NULL); + + //Now flip to end it all and leave it black + FlipScreen(); +} + +/**************************************************************** + Initialise the File System +****************************************************************/ +void InitFileSystem() { + //Initialises GP32 file system GpFatInit(); GpRelativePathSet("gp:\\gpmm"); + // Create folders on SMC if there not there + // For storing games, saves, config and scummvm.ini. + GpDirCreate("gp:\\data", NOT_IF_EXIST); + GpDirCreate("gp:\\data\\scummvm", NOT_IF_EXIST); + GpDirCreate("gp:\\data\\scummvm\\games", NOT_IF_EXIST); + GpDirCreate("gp:\\data\\scummvm\\config", NOT_IF_EXIST); +} + +/**************************************************************** + Splash Screen - show splash screen +****************************************************************/ + +void InitSplashPal() { + static GP_HPALETTE h_splash_pal = NULL; + if (h_splash_pal) + GpPaletteDelete(h_splash_pal); + h_splash_pal = GpPaletteCreate(gfx_splash_palnb, gfx_splash_Pal); + GpPaletteDelete(GpPaletteSelect(h_splash_pal)); + GpPaletteRealize(); +} + +int SplashScreen() { + int key; + + ClearScreen(); + InitSplashPal(); + + // Show the screen (load into all buffers - ready for screen transition) + GpBitBlt(NULL, &LCDbuffer[0], 0, 0, gfx_splash_width, + gfx_splash_height, (unsigned char *)gfx_splash, 0, 0, + gfx_splash_width, gfx_splash_height); + GpBitBlt(NULL, &LCDbuffer[1], 0, 0, gfx_splash_width, + gfx_splash_height, (unsigned char *)gfx_splash, 0, 0, + gfx_splash_width, gfx_splash_height); + GpBitBlt(NULL, &LCDbuffer[2], 0, 0, gfx_splash_width, + gfx_splash_height, (unsigned char *)gfx_splash, 0, 0, + gfx_splash_width, gfx_splash_height); + + // Refresh screen (show the logo) + FlipScreen(); + + // Initialise the File System + // Done during SpashScreen to hide folder create (if needed) from users. + InitFileSystem(); + + //TODO: Put branchs for Start and Select and act accordingly. + + do { + do + key = gpTrapKey(); + while (key == GPC_VK_NONE); + if (key & GPC_VK_START) { + FadeToBlack(20); + return 0; + } + if (key & GPC_VK_SELECT) { + FadeToWhite(20); + ConfigMenu(); + return 0; + } + do + key = gpTrapKey(); + while (key != GPC_VK_NONE); + } while (1); + + //Fade the screen into GP32 setup or ScummVM. + //FadeToWhite(100); +} + +/**************************************************************** + Read and write the GP32 config file to the SMC +****************************************************************/ +void ConfigRead() { + FILE *f; + + f = fopen("gp:\\data\\scummvm\\config\\config.dat", "r"); + + if (f) { + for (unsigned int i = 0; i < ARRAYSIZE(menu); i++) + fread(&menu[i].index, 1, sizeof(menu[i].index), f); + fclose(f); + } +} + +void ConfigWrite() { + FILE *f; + + f = fopen("gp:\\data\\scummvm\\config\\config.dat", "w"); + + if (f) { + for (unsigned int i = 0; i < ARRAYSIZE(menu); i++) + fwrite(&menu[i].index, 1, sizeof(menu[i].index), f); + fclose(f); + } +} + +/**************************************************************** + Prepare GP32 +****************************************************************/ +void InitLCD() { // Initialize graphics - GpGraphicModeSet(8, NULL); - GpLcdSurfaceGet(&gpDraw[DEBUG_SURFACE], DEBUG_SURFACE); - GpLcdSurfaceGet(&gpDraw[NAMEME_SURFACE], NAMEME_SURFACE); - GpLcdSurfaceGet(&gpDraw[GAME_SURFACE], GAME_SURFACE); - - GpSetPaletteEntry(0, 0, 0, 0); - GpSetPaletteEntry(1, 255, 0, 0); - GpSetPaletteEntry(2, 255, 255, 255); + GpGraphicModeSet(COLOUR_8BIT_MODE, NULL); - // fixme - use get function - currsurface=DEBUG_SURFACE; - GpSurfaceSet(&gpDraw[currsurface]); + // Set the current buffer + nflip = 0; - GpLcdEnable(); - -#ifdef GPDEBUG - printf(">waiting for debugger..."); - InitDebug(); -#endif - printf(">Running ScummVM"); + short i; + for (i = 0; i <= BUFFERCOUNT; i++) { + GpLcdSurfaceGet(&LCDbuffer[i], i); + } +} -} +void Init() { + // Setup the LCD. + InitLCD(); + + // Load the Splash Screen and give the option of config or ScummVM. + // also sets up file system. + SplashScreen(); + + //GpSetPaletteEntry ( 2, 0,0,0 ); + //GpSetPaletteEntry ( 1, 0,0,0 ); + //GpSetPaletteEntry ( 0, 255,255,255 ); + + //// fixme - use get function + ////currentsurf=DEBUG_SURFACE; + ////GpSurfaceSet(&LCDbuffer[(int)currentsurf]); + //GpSurfaceSet(&LCDbuffer[nflip]); + //GpLcdEnable(); + + //stderr = fstdout = fopen("gp:\\data\\scummvm\\config\\debug.out", "w"); + //stdin = NULL; //fixme? + ////fstdin = fopen("stdin", "w"); + ////fstderr = fopen("stderr", "w"); + + //printf(" ScummVM for the GP32"); + //printf("----------------------------------------"); + //printf("PRIVATE BUILD - DO NOT PASS ON!"); + //printf("ScummVM (c) 2001-4 The ScummVM Team"); + //printf("GP32 Backend (c) 2004 by DJWillis"); + //printf("Compiled %s, %s", __DATE__, __TIME__); + //printf("----------------------------------------"); + //printf(" Press 'A' to Start ScummVM"); + //printf("----------------------------------------"); + + ///* + //ERR_CODE err; + // + //unsigned long bad; + //err = GpFormat("gp:", FORMAT_RESCUE, &bad); + //char s[256]; + //GpRelativePathGet(s); + //*/ +} + +//void *gpmemset (void *s, int c, size_t n) { +// for (int i=n-1; i>=0; i--) +// ((char*)s)[i]=(char)c; +//} +// +//void *gpmemcpy (void *dest, const void *src, size_t n) { +// for (int i=n-1; i>=0; i--) +// ((char*)dest)[i]=((char*)src)[i]; +//} + +void buildgammatab(int val) { + float g = 1; + for (int i = 0; i < 256; i++) { + gammatab[255 - i] = g; + g *= scrGamma[val]; + } +} -extern "C" void GpMain (void * arg); // hack -void GpMain (void * arg) { - gpinit(); - - // fixme - use get function - currsurface=GAME_SURFACE; - GpSurfaceFlip(&gpDraw[currsurface]); +void buildgammatab2(int val) { + float g = 1; + for (int i = 0; i < 256; i++) { + gammatab2[255 - i] = g; + g *= scrGamma[val]; + } +} + +int stricmp(const char *string1, const char *string2) { + char src[4096]; + char dest[4096]; + int i; + + for (i = 0; i < strlen(string1); i++) + if (string1[i] >= 'A' && string1[i] <= 'Z') + src[i] = string1[i] + 32; + else + src[i] = string1[i]; + src[i] = 0; + + for (i = 0; i < strlen(string2); i++) + if (string2[i] >= 'A' && string2[i] <= 'Z') + dest[i] = string2[i] + 32; + else + dest[i] = string2[i]; + dest[i] = 0; + + return strcmp(src, dest); +} + +int strnicmp(const char *string1, const char *string2, int len) { + char src[4096]; + char dest[4096]; + int i; + + for (i = 0; i < strlen(string1) && i < len; i++) + if (string1[i] >= 'A' && string1[i] <= 'Z') + src[i] = string1[i] + 32; + else + src[i] = string1[i]; + src[i] = 0; + + for (i = 0; i < strlen(string2) && i < len; i++) + if (string2[i] >= 'A' && string2[i] <= 'Z') + dest[i] = string2[i] + 32; + else + dest[i] = string2[i]; + dest[i] = 0; + + return strncmp(src, dest, len); +} + +extern "C" void GpMain(void *arg); +extern "C" int scummvm_main(int argc, char *argv[]); - char *argv[] = { "scummvm", /*(char*)menu()->filename*/ NULL }; - int argc = 1; +void GpMain(void *arg) { - extern int main(int argc, char *argv[]); - main(argc, argv); - - error("returned from main ?!"); +#ifdef GP32_GDB + OpenUSB(); + InstallISR(); +#endif /*GP32_GDB */ + + // Wank up the GP32 good and propper ;-) + // asm volatile(" \n" + //" mov r0, #0x01 \n" + //" ldr r1, [r0] \n" + + //" \n" + //: + //: + //:"r0", "r1"); + + // FIXME: causes crash?! (if not at first line of gpmain()) + buildgammatab(gindex); + buildgammatab2(ARRAYSIZE(scrGamma) - 1); + + Init(); + + // ConfigRead(); + + //if () + //{ + // ConfigWrite(); + //} + + //ConfigMenu(); + //ConfigWrite(); + + // fixme - use get function + + //currentsurf=GAME_SURFACE; + //GpSurfaceFlip(&LCDbuffer[(int)currentsurf]); + +#ifndef GP32_GDB + int CPUSpeed = + atoi((const char *)menu[MENU_CPUSPEED].submenu[menu[MENU_CPUSPEED]. + index]); +#endif /*GP32_GDB */ + + //static char *argv[] = { "scummvm", NULL, NULL, NULL }; +// char *argv[] = { "scummvm", (char*)menu[MENU_MUSICDRV].submenu[menu[MENU_MUSICDRV].index]}; +// static int argc = 4; + + // Game Testing... + //int argc = 2; + //int argc = 4; char *argv[] = { "scummvm", "-enull", "-pgp:\\gpmm\\scummvm\\sky\\", "sky" }; + int argc = 4; + char *argv[] = { "scummvm", "-enull", "", "" }; + + while (1) { + // Only set the CPU speed if the GDB Stub is NOT needed. + // No point calling ClearScreen(); as we want to see any odd stuff. +#ifndef GP32_GDB + gpCPUSpeed(CPUSpeed); + ClearScreen(); +#endif /*GP32_GDB */ + + //FadeToWhite(200); + //exit(scummvm_main(argc, argv)); + ////////////////cast_argv = f(const_cast<double&>(d)); + //////////////char* argv_; + ////////////// argv_ = const_cast<*char*>(argv); + scummvm_main(argc, argv); + } } diff --git a/backends/gp32/gp32.h b/backends/gp32/gp32.h index 1e8ff60ee8..b5a9db6ee3 100644 --- a/backends/gp32/gp32.h +++ b/backends/gp32/gp32.h @@ -1,7 +1,8 @@ /* ScummVM - Scumm Interpreter * Copyright (C) 2001 Ludvig Strigeus - * Copyright (C) 2001/2002 The ScummVM project - * Copyright (C) 2002 ph0x (GP32 port) + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -16,33 +17,81 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * */ +#ifndef GP32_H +#define GP32_H -#include "backends/intern.h" +///////////////////////////////////////////////////////////////////////////// +// Header for GP32 ScummVM Backend +///////////////////////////////////////////////////////////////////////////// + +//Standard ScummVM includes. #include "common/stdafx.h" #include "common/scummsys.h" +#include "common/scaler.h" #include "common/system.h" -#include "common/scummsys.h" -#include "common/stdafx.h" +#include "backends/intern.h" + #include "base/engine.h" -#include "scumm/saveload.h" -#include "common/scaler.h" +//#include "scumm/saveload.h" + +//Graphics wrapper - SDL Derived. +#include "backends/gp32/graphics.h" + +//Pre-ScummVM Config stuff +//#include "backends/gp32/config.h" + +#define LCD_WIDTH 320 +#define LCD_HEIGHT 240 +#define LCD_WIDTH_CENTER LCD_WIDTH / 2 +#define LCD_HEIGHT_CENTER LCD_HEIGHT / 2 +#define LCD_SIZE (LCD_WIDTH * LCD_HEIGHT) + +// Graphics Bits +#define GAME_SURFACE 0 +#define GAME_SURFACE2 1 +#define DEBUG_SURFACE 2 -#include "portdefs.h" -#include "sdl.h" +extern int nflip, keydata; // Flip Index +extern GP_HPALETTE PAL; //palette -class OSystem_GP32 : public OSystem { +//void Delay(int ms); +//void FadeToBlack(int delay_time); + + +#define BUFFERCOUNT 2 +extern GPDRAWSURFACE LCDbuffer[BUFFERCOUNT + 1]; //buffers + +#define BACKGROUND_COLOR 0 //Black color +#define COLOUR_8BIT_MODE 8 +#define COLOUR_16BIT_MODE 16 + +/* Assembly routines from cpuspeed.s */ +extern "C" {void cpu_speed(int,int,int);} // CPU Speed control (3 int's, clock, bus, dividor) + +/* Fake main() entry point */ +//int main_scummvm(int argc, char *argv[]); + +//Prototypes +class OSystem_GP32 : public OSystem +{ public: + OSystem_GP32(); + virtual ~OSystem_GP32(); + // Set colors of the palette void setPalette(const byte *colors, uint start, uint num); // Set the size of the video bitmap. // Typically, 320x200 void initSize(uint w, uint h); - int16 getHeight() { return _screenHeight; } - int16 getWidth() { return _screenWidth; } - + int16 getHeight() { return _screenHeight; } + int16 getWidth() { return _screenWidth; } + // Draw a bitmap to screen. // The screen will not be updated to reflect the new bitmap void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h); @@ -52,13 +101,11 @@ public: // Either show or hide the mouse cursor bool showMouse(bool visible); - void warpMouse(int x, int y); - - // Set the position of the mouse cursor - void set_mouse_pos(int x, int y); + void warpMouse(int x, int y); + // Set the bitmap that's used when drawing the cursor. - void setMouseCursor(const byte *buf, uint w, uint h, int hotspot_x, int hotspot_y, byte keycolor); + void setMouseCursor(const byte *buf, uint w, uint h, int hotspot_x, int hotspot_y, byte keycolor = 255, int cursorTargetScale = 1); // Shaking is used in SCUMM. Set current shake position. void setShakePos(int shake_pos); @@ -68,7 +115,7 @@ public: // Delay for a specified amount of milliseconds void delayMillis(uint msecs); - + // Get the next event. // Returns true if an event was retrieved. bool pollEvent(Event &event); @@ -77,10 +124,14 @@ public: // Format is the sample type format. // Only 16-bit signed mode is needed for simon & scumm bool setSoundCallback(SoundProc proc, void *param); - void clearSoundCallback(); + + // Clear Sound Sample + void clearSoundCallback(); + // OLD - Delete when sure not needed. // Get or set a property - uint32 property(int param, Property *value); + //uint32 property(int param, Property *value); + //virtual uint32 property(int param, Property *value); // Poll cdrom status // Returns true if cd audio is playing @@ -98,12 +149,17 @@ public: // Add a new callback timer void setTimerCallback(TimerProc callback, int timer); - // Mutex handling + // Mutex handling OSystem::MutexRef createMutex(); void lockMutex(MutexRef mutex); void unlockMutex(MutexRef mutex); void deleteMutex(MutexRef mutex); - + // DJWillis + + //helper + int16 get_height(); + int16 get_width(); + // Quit void quit(); @@ -114,12 +170,42 @@ public: void grabOverlay(int16 *buf, int pitch); void copyRectToOverlay(const int16 *buf, int pitch, int x, int y, int w, int h); - static OSystem *create(int gfx_mode, bool full_screen); + //static OSystem *create(int gfx_mode, bool full_screen); + + int16 RBGToColor(uint8 r, uint8 g, uint8 b); + void colorToRBG(int16 color, uint8 &r, uint8 &g, uint8 &b); + + //void *gm_yocalloc(size_t num_elem, size_t size_elem); + //void *gm_realloc(void *ptr, size_t size); + + // New 0.6.0 + + const GraphicsMode *getSupportedGraphicsModes() const; + int getDefaultGraphicsMode() const; + bool setGraphicsMode(int mode); + int getGraphicsMode() const; + + void setWindowCaption(const char *caption); + bool openCD(int drive); + + // Determine the output sample rate. Audio data provided by the sound + // Callback sound be played using this rate. + // FIXME: GP32 Hardcodes rate currently. + int getOutputSampleRate() const; + + bool hasFeature(Feature f); + void setFeatureState(Feature f, bool enable); + bool getFeatureState(Feature f); + + //static OSystem *create(); private: - SDL_Surface *sdl_tmpscreen; // temporary screen (for scalers/overlay) - SDL_Surface *sdl_hwscreen; // hardware screen - bool _overlay_visible; + + // Set the position of the mouse cursor - Not part of OSystem anymore. + void set_mouse_pos(int x, int y); + + gpSurface *_tmpscreen; // temporary screen (for scalers/overlay) + gpSurface *_hwscreen; // hardware screen + bool _overlayVisible; ScalerProc *_scaler_proc; @@ -128,15 +214,11 @@ private: //uint msec_start; //uint32 get_ticks(); - ///OSystem_GP32(); // eh? - /// ~OSystem_GP32(); - // unseen game screen - SDL_Surface *_screen; + gpSurface *_screen; int _screenWidth, _screenHeight; - // CD Audio - ///SDL_CD *_cdrom; + // CD Audio, Not used in GP32 backend int cd_track, cd_num_loops, cd_start_frame, cd_end_frame; uint32 cd_end_time, cd_stop_time, cd_next_second; @@ -150,17 +232,20 @@ private: int _mode; bool _full_screen; uint32 _mode_flags; + bool _modeChanged; + + /** True if aspect ratio correction is enabled. */ + bool _adjustAspectRatio; enum { NUM_DIRTY_RECT = 100, - MAX_MOUSE_W = 40, MAX_MOUSE_H = 40, MAX_SCALING = 3 }; // Dirty rect managment - SDL_Rect _dirty_rect_list[100]; + gpRect _dirty_rect_list[100]; int _num_dirty_rects; uint32 *_dirty_checksums; bool cksum_valid; @@ -180,8 +265,8 @@ private: bool _mouseDrawn; byte *_mouseData; byte *_mouseBackup; - MousePos _mouse_cur_state; - MousePos _mouse_old_state; + MousePos _mouseCurState; + MousePos _mouseOldState; int16 _mouseHotspotX; int16 _mouseHotspotY; byte _mouseKeycolor; @@ -191,10 +276,15 @@ private: int _newShakePos; // Palette data - SDL_Color *_currentPalette; + gpColor *_currentPalette; uint _paletteDirtyStart, _paletteDirtyEnd; - + /** + * Mutex which prevents multiple threads from interfering with each other + * when accessing the screen. + */ + MutexRef _graphicsMutex; + void add_dirty_rgn_auto(const byte *buf); void mk_checksums(const byte *buf); @@ -205,14 +295,22 @@ private: void draw_mouse(); void undraw_mouse(); + void internUpdateScreen(); + void load_gfx_mode(); void unload_gfx_mode(); void hotswap_gfx_mode(); + void setFullscreenMode(bool enable); + void get_screen_image(byte *buf); void setup_icon(); void kbd_mouse(); - - static OSystem_GP32 *create(); + //static OSystem_GP32 *create(); }; + +#else + #warning GP32.H Called more then once. +#endif /* GP32_H */ + diff --git a/backends/gp32/sdl.h b/backends/gp32/graphics.h index be0c162225..ed28f61a98 100644 --- a/backends/gp32/sdl.h +++ b/backends/gp32/graphics.h @@ -1,9 +1,36 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2001 Ludvig Strigeus + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * + */ ////////////////////////////////////////////////////////////////////////////// -// pseudo SDL header (ph0x) -// borrowed from sdl 1.2.3 as port is based mostly on the sdl backend +// +// GP32 Graphics structure header +// ////////////////////////////////////////////////////////////////////////////// +#ifndef GRAPHICS_H +#define GRAPHICS_H + #define Sint16 s16 #define Uint16 u16 #define Uint32 u32 @@ -12,24 +39,23 @@ typedef struct { Sint16 x, y; Uint16 w, h; -} SDL_Rect; +} gpRect; typedef struct { Uint8 r; Uint8 g; Uint8 b; Uint8 unused; -} SDL_Color; +} gpColor; typedef struct { int ncolors; - SDL_Color *colors; -} SDL_Palette; - + gpColor *colors; +} gpPalette; /* Everything in the pixel format structure is read-only */ -typedef struct SDL_PixelFormat { - SDL_Palette *palette; +typedef struct gpPixelFormat { + gpPalette *palette; Uint8 BitsPerPixel; Uint8 BytesPerPixel; Uint8 Rloss; @@ -49,11 +75,11 @@ typedef struct SDL_PixelFormat { Uint32 colorkey; /* Alpha value information (per-surface alpha) */ Uint8 alpha; -} SDL_PixelFormat; +} gpPixelFormat; -typedef struct SDL_Surface { +typedef struct gpSurface { Uint32 flags; /* Read-only */ - SDL_PixelFormat *format; /* Read-only */ + gpPixelFormat *format; /* Read-only */ int w, h; /* Read-only */ Uint16 pitch; /* Read-only */ void *pixels; /* Read-write */ @@ -63,23 +89,24 @@ typedef struct SDL_Surface { struct private_hwdata *hwdata; /* clipping information */ - SDL_Rect clip_rect; /* Read-only */ + gpRect clip_rect; /* Read-only */ Uint32 unused1; /* for binary compatibility */ /* Allow recursive locks */ Uint32 locked; /* Private */ /* info for fast blit mapping to other surfaces */ -/// struct SDL_BlitMap *map; /* Private */ + // struct gpBlitMap *map; /* Private */ /* format version, bumped at every change to invalidate blit maps */ unsigned int format_version; /* Private */ /* Reference count -- used when freeing surface */ int refcount; /* Read-mostly */ -} SDL_Surface; +} gpSurface; -#define SDL_SWSURFACE 0x00000000 -#define SDL_HWSURFACE 0x00000001 -#define SDL_FULLSCREEN 0x80000000 +#define gpSWSurface 0x00000000 +#define gpHWSurface 0x00000001 +#define gpFullScreen 0x80000000 +#endif /* GRAPHICS_H */ diff --git a/backends/gp32/portdefs.h b/backends/gp32/portdefs.h index 57d1c66f7f..dd5a844a93 100644 --- a/backends/gp32/portdefs.h +++ b/backends/gp32/portdefs.h @@ -1,7 +1,8 @@ /* ScummVM - Scumm Interpreter * Copyright (C) 2001 Ludvig Strigeus - * Copyright (C) 2001/2002 The ScummVM project - * Copyright (C) 2002 ph0x (GP32 port) + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -16,109 +17,157 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * */ - -//#define __size_t // SDK hack? - #include <stdio.h> - #include <stdlib.h> - #include <string.h> - #include <stdarg.h> - #include <ctype.h> - - -extern "C" { - #include "gpfont.h" - #include "gpfont_port.h" - #include "gpgraphic.h" - #include "gpmm.h" - #include "gpmem.h" - #include "gpos_def.h" - #include "gpstdio.h" - #include "gpstdlib.h" - #include "gpdef.h" - //#include "defines.h" -} - -#undef byte // SDK hack? - +#ifndef PORTDEFS_H +#define PORTDEFS_H + +// Prevents error trying to call main() twice from within the program ;-). +#ifndef REAL_MAIN + #define main scummvm_main +#endif /* REAL_MAIN */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdarg.h> +#include <math.h> +#include <time.h> +#include <cctype> + +//?? +//#include <math.h> +//#include <time.h> + +// GP32 SDK Includes +#include <gpfont.h> +#include <gpfont16.h> +#include <gpfont_port.h> +#include <gpgraphic.h> +#include <gpgraphic16.h> +#include <gpmm.h> +#include <gpmem.h> +#include <gpos_def.h> +#include <gpstdio.h> +#include <gpstdlib.h> +#include <gpdef.h> + +#define size_t long unsigned int // SDK hack + +// Undefine SDK defs. + +#undef byte +#undef malloc +#undef calloc +#undef free + +#undef stderr +#undef stdout +#undef stdin + +// Redefine SDK defs. typedef unsigned char u8; typedef signed char s8; typedef unsigned short u16; typedef short s16; typedef unsigned int u32; -typedef int s32; - - extern int gpprintf(const char *fmt, ...); - #define printf gpprintf - - extern void *gpmalloc(size_t size); - extern void *gpcalloc(size_t nitems, size_t size); - extern void gpfree(void *block); - extern char *gpstrdup(const char *s); - - #define malloc gpmalloc - #define calloc gpcalloc //gm_calloc - #define free gpfree - /*#define memset gm_memset - #define memcopy gm_memcopy - - #define strcpy gm_strcpy // uncomment? - #define strncpy gm_strncpy - #define strcat gm_strcat - #define sprintf gm_sprintf*/ - #define strdup gpstrdup - - #define assert(e) ((e) ? 0 : (printf("!AS: " #e " (%s, %d)\n", __FILE__, __LINE__))) - #define ASSERT assert - - #define ENDLESSLOOP while (1) - - - #define FILE F_HANDLE - extern FILE *fstderr; - extern FILE *fstdout; - extern FILE *fstdin; - - #define stderr fstderr - #define stdout fstdout - #define stdin fstdin - - extern FILE *gpfopen(const char *filename, const char *mode); - extern int gpfclose(FILE *stream); - extern int gpfseek(FILE *stream, long offset, int whence); - extern size_t gpfread(void *ptr, size_t size, size_t n, FILE *stream); - extern size_t gpfwrite(const void *ptr, size_t size, size_t n, FILE*stream); - extern long gpftell(FILE *stream); - extern void gpclearerr(FILE *stream); - extern int gpfeof(FILE *stream); - extern char *gpfgets(char *s, int n, FILE *stream); - extern int gpfflush(FILE *stream); - - #define fopen gpfopen - #define fclose gpfclose - #define fseek gpfseek - #define fread gpfread - #define fwrite gpfwrite - #define ftell gpftell - #define clearerr gpclearerr - #define feof gpfeof - #define fgets gpfgets - - extern int gpfprintf(FILE *stream, const char *fmt, ...); - #define fprintf gpfprintf - #define fflush gpfflush - - extern void gpexit(int code); - #define exit gpexit - //#define error printf - - extern time_t gptime(time_t *timer); - #define time gptime - #define MARK printf("MARK: %s, %s, %d", __FILE__, __FUNCTION__, __LINE__); - - extern void *gpmemset (void *s, int c, size_t n); - extern void *gpmemcpy (void *dest, const void *src, size_t n); - //#define memset gpmemset - //#define memcpy gpmemcpy - +typedef int s32; +typedef int time_t; + +extern int gpprintf(const char *fmt, ...); +#define printf gpprintf + +extern void *gpmalloc(size_t size); +extern void *gpcalloc(size_t nitems, size_t size); +extern void gpfree(void *block); +extern char *gpstrdup(const char *s); + +#define malloc gpmalloc +#define calloc gpcalloc //gm_calloc +//#define calloc gm_calloc +#define free gpfree + +// #define memset gm_memset +// #define memcopy gm_memcopy +// +// #define strcpy gm_strcpy // uncomment? +// #define strncpy gm_strncpy +// #define strcat gm_strcat +// #define sprintf gm_sprintf + +#define strdup gpstrdup + +#define assert(e) ((e) ? 0 : (printf("!AS: " #e " (%s, %d)\n", __FILE__, __LINE__))) +#define ASSERT assert + +#define ENDLESSLOOP while (1) + +#define FILE F_HANDLE +extern FILE *fstderr; +extern FILE *fstdout; +extern FILE *fstdin; + +#define stderr fstderr +#define stdout fstdout +#define stdin fstdin + +extern FILE *gpfopen(const char *filename, const char *mode); +extern int gpfclose(FILE *stream); +extern int gpfseek(FILE *stream, long offset, int whence); +extern size_t gpfread(void *ptr, size_t size, size_t n, FILE *stream); +extern size_t gpfwrite(const void *ptr, size_t size, size_t n, FILE*stream); +extern long gpftell(FILE *stream); +extern void gpclearerr(FILE *stream); +extern int gpfeof(FILE *stream); +extern char *gpfgets(char *s, int n, FILE *stream); +extern int gpfflush(FILE *stream); +extern char gpfgetc(FILE *stream); + +#define fopen gpfopen +#define fclose gpfclose +#define fseek gpfseek +#define fread gpfread +#define fwrite gpfwrite +#define ftell gpftell + +#undef clearerr +#define clearerr gpclearerr + +#undef feof +#define feof gpfeof +#define fgets gpfgets +#define fgetc gpfgetc +#define getc gpfgetc + +extern int gpfprintf(FILE *stream, const char *fmt, ...); +#define fprintf gpfprintf +#define fflush gpfflush + +extern void gpexit(int code); +#define exit gpexit +//#define error printf + +//extern time_t gptime(time_t *timer); +//#define time gptime + +// MARK Debug Point. +#define MARK printf("MARK: %s, %s, %d", __FILE__, __FUNCTION__, __LINE__); + +extern void *gpmemset (void *s, int c, size_t n); +extern void *gpmemcpy (void *dest, const void *src, size_t n); +//#define memset gpmemset +//#define memcpy gpmemcpy + +// Missing stuff +int stricmp(const char *string1, const char *string2); +int strnicmp(const char *string1, const char *string2, int len); +inline float sin(float) { return 0; } +inline float cos(float) { return 0; } +inline float sqrt(float) { return 0; } +inline float atan2(float, float) { return 0; } + +// EOF +#endif /* PORTDEFS_H */ diff --git a/backends/gp32/setup.h b/backends/gp32/setup.h new file mode 100644 index 0000000000..27d3385ca0 --- /dev/null +++ b/backends/gp32/setup.h @@ -0,0 +1,102 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2001 Ludvig Strigeus + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * + */ + +#ifndef SETUP_H +#define SETUP_H + +#ifndef NULL + #define NULL 0 +#endif + +///////////////////////////////////////////////////////////////////////////// +// +// ScummVM/GP32 - Configuration front-end launcher and splash-screen stuff. +// Also contains GP32 start-up code. +// Not part of ScummVM backend as such. +// +///////////////////////////////////////////////////////////////////////////// + +#define MENU_MUSICDRV 0 +#define MENU_SCREENPOS 1 +#define MENU_CPUSPEED 2 + +// OLD CONFIG +// NULL marks end (FIXME) +typedef struct { + const char *option; + const char **submenu; + int index; +} tmenu; + +const char *sautorun[] = { +"NOT IMPLEMENTED", +/* +"Off", +"On", +*/ +//NULL +}; + +const char *ssounddrv[] = { +"-eadlib", +"-enull", +NULL +}; + +const char *sscreenpos[] = { +"Top", +"Center", +NULL +}; + +const char *scpuspeed[] = { +"66", +"100", +"120", +"132", +"156", +"166", +"180", +"200", +NULL +}; + +const char *sbrightness[] = { +"Normal", +"Lighter", +"Lightest", +"Darker", +"Darkest", +NULL +}; + +tmenu menu[] = { +{"Music Driver", ssounddrv, 0}, +{"Screen Position", sscreenpos, 1}, +{"CPU Speed (MHz)", scpuspeed, 3}, +}; + +#else + #warning GP32 LAUNCHER.H Called more then once. +#endif /* SETUP_H */ diff --git a/backends/gp32/startup.c b/backends/gp32/startup.c new file mode 100644 index 0000000000..159d373242 --- /dev/null +++ b/backends/gp32/startup.c @@ -0,0 +1,130 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2001 Ludvig Strigeus + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * + */ + +#include <gpdef.h> +#include <gpstdlib.h> +#include <gpfont.h> +#include <gpfont_port.h> +#include <gpfontres.dat> + +#include <initval_port.h> + +#ifdef USE_GP_MEM + #include <gpmem.h> +#endif + +//#ifdef GP32_GDB +// #include <gdb-stub.h> +//#endif /*GP32_GDB*/ + +unsigned int HEAPSTART; +unsigned int HEAPEND; + +void InitializeFont (void); +extern void GpKeyPollingTimeSet (int loop_cnt); +extern void GpMain(void *arg); + +//extern int OpenUSB (); +//extern void InstallISR (); + + + +int main (int arg_len, char * arg_v) + { + GM_HEAP_DEF gm_heap_def; + + _gp_sdk_init(); + + // keyboard polling count setting + GpKeyPollingTimeSet (KEYPOLLING_NUM); + + #ifdef USE_GP_MEM + gm_heap_def.heapstart = (void*)(HEAPSTART); + gm_heap_def.heapend = (void *)(HEAPEND & ~3); + gm_heap_init (&gm_heap_def); + + gp_mem_func.malloc = gm_malloc; + gp_mem_func.zimalloc = gm_zi_malloc; + gp_mem_func.calloc = gm_calloc; + gp_mem_func.free = gm_free; + gp_mem_func.availablemem = gm_availablesize; + gp_mem_func.malloc_ex = gm_malloc_ex; + gp_mem_func.free_ex = gm_free_ex; + gp_mem_func.make_mem_partition = gm_make_mem_part; + + gp_str_func.memset = gm_memset; + gp_str_func.memcpy = gm_memcpy; + gp_str_func.strcpy = gm_strcpy; + gp_str_func.strncpy = gm_strncpy; + gp_str_func.strcat = gm_strcat; + gp_str_func.strncat = gm_strncat; + gp_str_func.gpstrlen = gm_lstrlen; + gp_str_func.sprintf = gm_sprintf; + gp_str_func.uppercase = gm_uppercase; + gp_str_func.lowercase = gm_lowercase; + gp_str_func.compare = gm_compare; + gp_str_func.trim_right = gm_trim_right; + #endif /*USE_GP_MEM*/ + + //Font initialize + InitializeFont (); + + GpKernelInitialize (); + + GpKernelStart (); + + GpAppExit (); + while (1) {}; + } + +void InitializeFont (void) + { + BGFONTINFO mInfo; + mInfo.kor_w = KORFONT_W; + mInfo.kor_h = KORFONT_H; + mInfo.eng_w = ENGFONT_W; + mInfo.eng_h = ENGFONT_H; + mInfo.chargap = FONT_CHARGAP; + mInfo.linegap = FONT_LINEGAP; + GpFontInit (&mInfo); + GpFontResSet ((unsigned char*)fontresKor, (unsigned char*)fontresEng); + } + +int GpPredefinedStackGet (H_THREAD th) + { + switch (th) + { + case H_THREAD_GPMAIN: + return GPMAIN_STACK_SIZE; + case H_THREAD_NET: + return NET_STACK_SIZE; + case H_THREAD_TMR0: + case H_THREAD_TMR1: + case H_THREAD_TMR2: + case H_THREAD_TMR3: + return USER_STACK_SIZE; + default: + return 0; + } + } diff --git a/backends/gp32/startup.h b/backends/gp32/startup.h new file mode 100644 index 0000000000..e87a2cf467 --- /dev/null +++ b/backends/gp32/startup.h @@ -0,0 +1,49 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2001 Ludvig Strigeus + * Copyright (C) 2001/2004 The ScummVM project + * Copyright (C) 2002 Ph0x - GP32 Backend + * Copyright (C) 2003/2004 DJWillis - GP32 Backend + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Header$ + * + */ + +#ifndef STARTUP_H +#define STARTUP_H + +///////////////////////////////////////////////////////////////////////////// +// +// ScummVM/GP32 - GP32 start-up header. +// Not part of ScummVM backend as such. +// +///////////////////////////////////////////////////////////////////////////// + +// GP32 SDK Includes. +#include <gpdef.h> +#include <gpstdlib.h> +#include <gpfont.h> +#include <gpfont_port.h> +#include <gpfontres.dat> +#include <initval_port.h> + +// GP32 System startup. + +unsigned int HEAPSTART; +unsigned int HEAPEND; +void InitializeFont (void); + +#endif /* STARTUP_H */ diff --git a/backends/gp32/stat.h b/backends/gp32/stat.h deleted file mode 100644 index 5f3c3d8b6e..0000000000 --- a/backends/gp32/stat.h +++ /dev/null @@ -1,29 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// NOTE: (ph0x) -// borrowed from wince port as the file was either missing from the gp32sdk -// or was causing conflicts. -////////////////////////////////////////////////////////////////////////////// - -/* Header is not present in Windows CE SDK */ - -#include <sys/types.h> - -struct stat { - _dev_t st_dev; - _ino_t st_ino; - unsigned short st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - _off_t st_size; - time_t st_atime; - time_t st_mtime; - time_t st_ctime; -}; - - -#define _S_IFDIR 0040000 /* directory */ -#define S_IFDIR _S_IFDIR - -int stat(const char *, struct stat *); diff --git a/backends/intern.h b/backends/intern.h index c5e6ce9b22..b5d4e0e7ce 100644 --- a/backends/intern.h +++ b/backends/intern.h @@ -34,7 +34,7 @@ extern OSystem *OSystem_Dreamcast_create(); extern OSystem *OSystem_WINCE3_create(); extern OSystem *OSystem_X11_create(); extern OSystem *OSystem_MAC_create(int gfx_mode, bool full_screen); -extern OSystem *OSystem_GP32_create(int gfx_mode, bool full_screen); //ph0x +extern OSystem *OSystem_GP32_create(); extern OSystem *OSystem_PALMOS_create(); diff --git a/base/main.cpp b/base/main.cpp index fc9fa4eaea..c6fd2b60aa 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -135,7 +135,7 @@ extern "C" int main(int argc, char *argv[]); #if defined(MACOSX) || defined(QTOPIA) #include <SDL.h> -#elif !defined(__MORPHOS__) && !defined(__DC__) +#elif !defined(__MORPHOS__) && !defined(__DC__) && !defined(__GP32__) #undef main #endif |