- header cleanup

This commit is contained in:
Christoph Oelckers 2019-12-23 21:19:42 +01:00
parent 9ab8a8c737
commit 141887263d
19 changed files with 10 additions and 753 deletions

View file

@ -666,8 +666,6 @@ set( FASTMATH_SOURCES
common/utility/strnatcmp.c
common/rendering/gl_load/gl_load.c
# Another bit of cruft just to make S(hit)DL happy...
sdlappicon.cpp
gitinfo.cpp
)

View file

@ -22,7 +22,6 @@ extern char nogl;
extern int32_t swapcomplete;
EXTERN_CVAR(Int, r_borderless);
EXTERN_CVAR(Bool, r_usenewaspect)
// video

View file

@ -23,7 +23,6 @@ static_assert('\xff' == 255, "Char must be unsigned!");
#include "collections.h"
#include "compat.h"
#include "glbuild.h"
#include "palette.h"
#include "pragmas.h"
@ -1074,7 +1073,6 @@ enum {
TEXFILTER_ON = 5, // GL_LINEAR_MIPMAP_LINEAR
};
extern int32_t glmultisample, glnvmultisamplehint;
extern int32_t glprojectionhacks;
extern int32_t gltexmaxsize;
void gltexapplyprops (void);

View file

@ -1,55 +0,0 @@
#ifndef dxdidf_h_
#define dxdidf_h_
// Joystick
static DIOBJECTDATAFORMAT c_dfDIJoystick_odf[] = {
{ &GUID_XAxis, 0, 0x80FFFF03, 0x00000100 },
{ &GUID_YAxis, 4, 0x80FFFF03, 0x00000100 },
{ &GUID_ZAxis, 8, 0x80FFFF03, 0x00000100 },
{ &GUID_RxAxis, 12, 0x80FFFF03, 0x00000100 },
{ &GUID_RyAxis, 16, 0x80FFFF03, 0x00000100 },
{ &GUID_RzAxis, 20, 0x80FFFF03, 0x00000100 },
{ &GUID_Slider, 24, 0x80FFFF03, 0x00000100 },
{ &GUID_Slider, 28, 0x80FFFF03, 0x00000100 },
{ &GUID_POV, 32, 0x80FFFF10, 0x00000000 },
{ &GUID_POV, 36, 0x80FFFF10, 0x00000000 },
{ &GUID_POV, 40, 0x80FFFF10, 0x00000000 },
{ &GUID_POV, 44, 0x80FFFF10, 0x00000000 },
{ NULL, 48, 0x80FFFF0C, 0x00000000 },
{ NULL, 49, 0x80FFFF0C, 0x00000000 },
{ NULL, 50, 0x80FFFF0C, 0x00000000 },
{ NULL, 51, 0x80FFFF0C, 0x00000000 },
{ NULL, 52, 0x80FFFF0C, 0x00000000 },
{ NULL, 53, 0x80FFFF0C, 0x00000000 },
{ NULL, 54, 0x80FFFF0C, 0x00000000 },
{ NULL, 55, 0x80FFFF0C, 0x00000000 },
{ NULL, 56, 0x80FFFF0C, 0x00000000 },
{ NULL, 57, 0x80FFFF0C, 0x00000000 },
{ NULL, 58, 0x80FFFF0C, 0x00000000 },
{ NULL, 59, 0x80FFFF0C, 0x00000000 },
{ NULL, 60, 0x80FFFF0C, 0x00000000 },
{ NULL, 61, 0x80FFFF0C, 0x00000000 },
{ NULL, 62, 0x80FFFF0C, 0x00000000 },
{ NULL, 63, 0x80FFFF0C, 0x00000000 },
{ NULL, 64, 0x80FFFF0C, 0x00000000 },
{ NULL, 65, 0x80FFFF0C, 0x00000000 },
{ NULL, 66, 0x80FFFF0C, 0x00000000 },
{ NULL, 67, 0x80FFFF0C, 0x00000000 },
{ NULL, 68, 0x80FFFF0C, 0x00000000 },
{ NULL, 69, 0x80FFFF0C, 0x00000000 },
{ NULL, 70, 0x80FFFF0C, 0x00000000 },
{ NULL, 71, 0x80FFFF0C, 0x00000000 },
{ NULL, 72, 0x80FFFF0C, 0x00000000 },
{ NULL, 73, 0x80FFFF0C, 0x00000000 },
{ NULL, 74, 0x80FFFF0C, 0x00000000 },
{ NULL, 75, 0x80FFFF0C, 0x00000000 },
{ NULL, 76, 0x80FFFF0C, 0x00000000 },
{ NULL, 77, 0x80FFFF0C, 0x00000000 },
{ NULL, 78, 0x80FFFF0C, 0x00000000 },
{ NULL, 79, 0x80FFFF0C, 0x00000000 }
};
const DIDATAFORMAT c_dfDIJoystick = { sizeof(DIDATAFORMAT), sizeof(DIOBJECTDATAFORMAT), 0x00000001, 80, 44, c_dfDIJoystick_odf };
#endif // dxdidf_h_

View file

@ -1,20 +0,0 @@
#ifndef BGLBUILD_H_INCLUDED_
#define BGLBUILD_H_INCLUDED_
#ifdef USE_OPENGL
#if !defined GEKKO
# define USE_GLEXT
#endif
#if defined EDUKE32_OSX
# include <OpenGL/glu.h>
#else
# include <GL/glu.h>
#endif
#endif //USE_OPENGL
#endif

View file

@ -1,57 +0,0 @@
#ifndef linklist_h_
#define linklist_h_
#include "compat.h"
namespace LL
{
template <typename T> FORCE_INLINE CONSTEXPR_CXX14 void Reset(T const node) { node->next = node->prev = node; }
template <typename T> FORCE_INLINE CONSTEXPR_CXX14 void Unlink(T const node)
{
node->prev->next = node->next;
node->next->prev = node->prev;
}
template <typename T> FORCE_INLINE CONSTEXPR_CXX14 void Insert(T const root, T const node)
{
node->next = root;
node->prev = root->prev;
root->prev->next = node;
root->prev = node;
}
template <typename T> FORCE_INLINE CONSTEXPR_CXX14 void Remove(T const node)
{
Unlink(node);
Reset(node);
}
template <typename T> FORCE_INLINE CONSTEXPR_CXX14 void Move(T const node, T const root)
{
Unlink(node);
Insert(root, node);
}
template <typename T, typename Tt> FORCE_INLINE CONSTEXPR_CXX14 void SortedInsert(T const root, T const node, Tt remove_pointer_t<T>::*m)
{
T best = root->next;
while ((best != root) && (node->*m > best->*m))
best = best->next;
Insert(best, node);
}
template <typename T> FORCE_INLINE CONSTEXPR bool Empty(T const root) { return ((root->next == root) && (root->prev == root)); }
#if 0
template <typename T> FORCE_INLINE void ReverseList(T const root)
{
T node = root->next;
for (T trav = root->prev, tprev; trav != node; trav = tprev)
{
tprev = trav->prev;
Move(trav, node);
}
}
#endif
} // namespace LL
#endif

View file

@ -1,20 +0,0 @@
#ifndef mutex_h_
#define mutex_h_
#include <mutex>
typedef std::mutex mutex_t;
inline void mutex_lock(mutex_t* mutex)
{
mutex->lock();
}
inline void mutex_unlock(mutex_t* mutex)
{
mutex->unlock();
}
#endif

View file

@ -8,7 +8,6 @@
#include <functional>
#include "compat.h"
#include "mutex.h"
#include "printf.h"
struct osdfuncparm_t

View file

@ -1,87 +0,0 @@
#ifndef SDL_INC_H_
#define SDL_INC_H_
// include this before SDL does
#ifdef _WIN32
# include "windows_inc.h"
#endif
// Workaround for i686-MinGW-w64.
#if defined __MINGW64_VERSION_MAJOR && !defined __MINGW64__
# define __MINGW64_VERSION_MAJOR_BACKUP __MINGW64_VERSION_MAJOR
# undef __MINGW64_VERSION_MAJOR
#endif
#if defined SDL_USEFOLDER
# if SDL_TARGET == 2
# include <SDL2/SDL.h>
# include <SDL2/SDL_syswm.h>
# else
# include <SDL/SDL.h>
# include <SDL/SDL_syswm.h>
# endif
#else
# include "SDL.h"
# if !defined __APPLE__
# include "SDL_syswm.h"
# endif
#endif
#if defined __MINGW64_VERSION_MAJOR_BACKUP && !defined __MINGW64__
# define __MINGW64_VERSION_MAJOR __MINGW64_VERSION_MAJOR_BACKUP
# undef __MINGW64_VERSION_MAJOR_BACKUP
#endif
/* =================================================================
Minimum required SDL versions:
=================================================================== */
#define SDL_MIN_X 1
#define SDL_MIN_Y 2
#define SDL_MIN_Z 10
#define SDL_REQUIREDVERSION (SDL_VERSIONNUM(SDL_MIN_X,SDL_MIN_Y,SDL_MIN_Z))
#define SDL_MIXER_MIN_X 1
#define SDL_MIXER_MIN_Y 2
#define SDL_MIXER_MIN_Z 7
#define MIX_REQUIREDVERSION (SDL_VERSIONNUM(SDL_MIXER_MIN_X,SDL_MIXER_MIN_Y,SDL_MIXER_MIN_Z))
#if !(SDL_VERSION_ATLEAST(SDL_MIN_X,SDL_MIN_Y,SDL_MIN_Z))
#error SDL version found is too old
#endif
#if defined NEED_SDL_MIXER
# if defined SDL_USEFOLDER
# if SDL_TARGET == 2
# include <SDL2/SDL_mixer.h>
# else
# include <SDL/SDL_mixer.h>
# endif
# else
# include "SDL_mixer.h"
# endif
/* starting with 1.2.1, SDL_mixer provides MIX_xxx version
macros. the new SDL_MIXER_xxx version macros start with
1.2.6 but they keep backwards compatibility. 1.2.0 does
not even have any version macros, so let's reject it */
# if !defined(MIX_MAJOR_VERSION) || !defined(MIX_MINOR_VERSION) || !defined(MIX_PATCHLEVEL)
# error SDL_mixer version found is too old
# endif
# ifndef MIX_COMPILEDVERSION
# define MIX_COMPILEDVERSION (SDL_VERSIONNUM(MIX_MAJOR_VERSION,MIX_MINOR_VERSION,MIX_PATCHLEVEL))
# endif
# if MIX_COMPILEDVERSION < MIX_REQUIREDVERSION
# error SDL_mixer version found is too old
# endif
# if SDL_MAJOR_VERSION != MIX_MAJOR_VERSION
# error Major version of SDL_mixer headers does not match SDL headers
# endif
#endif
#endif /* SDL_INC_H_ */

View file

@ -1,5 +0,0 @@
struct sdlappicon {
int width,height;
const char *pixels;
};

View file

@ -8,75 +8,6 @@
#include "baselayer.h"
#include "compat.h"
#define EDUKE32_SDL_LINKED_PREREQ(x, a, b, c) ((x).major > (a) || ((x).major == (a) && ((x).minor > (b) || ((x).minor == (b) && (x).patch >= (c)))))
#ifdef _WIN32
HWND win_gethwnd(void);
HINSTANCE win_gethinstance(void);
#endif
#include "sdlappicon.h"
#if (SDL_MAJOR_VERSION == 1 && SDL_MINOR_VERSION < 3) // SDL 1.2
int32_t SDL_WaitEventTimeout(SDL_Event *event, int32_t timeout);
#endif
#define SDL_GL_ATTRIBUTES(iter, attrib) \
for (iter = 0; iter < (int32_t)ARRAY_SIZE(attrib); iter++) \
{ \
int32_t j = attrib[iter].value; \
if (!multisamplecheck && \
(attrib[iter].attr == SDL_GL_MULTISAMPLEBUFFERS || attrib[iter].attr == SDL_GL_MULTISAMPLESAMPLES)) \
{ \
j = 0; \
} \
SDL_GL_SetAttribute(attrib[iter].attr, j); \
}
#define SDL_ADDMODE(x, y, c, f) \
{ \
int fullscreen; \
for (fullscreen = f; fullscreen >= 0; --fullscreen) \
{ \
if (validmodecnt < MAXVALIDMODES) \
{ \
int32_t mn; \
for (mn = 0; mn < validmodecnt; mn++) \
if (validmode[mn].xdim == x && validmode[mn].ydim == y && validmode[mn].bpp == c && \
validmode[mn].fs == fullscreen) \
break; \
if (mn == validmodecnt) \
{ \
validmode[validmodecnt].xdim = x; \
validmode[validmodecnt].ydim = y; \
validmode[validmodecnt].bpp = c; \
validmode[validmodecnt].fs = fullscreen; \
validmodecnt++; \
/*initprintf(" - %dx%d %d-bit %s\n", x, y, c, (fullscreen&1)?"fullscreen":"windowed");*/ \
} \
} \
} \
}
#define SDL_CHECKMODE(w, h) ((w < MAXXDIM) && (h < MAXYDIM) && (w >= MINXDIM) && (h >= MINYDIM) && (((float)w/(float)h) >= 1.2f))
#define SDL_CHECKFSMODES(w, h) \
if (w == 0 && h == 0) \
{ \
initprintf("No fullscreen modes available!\n"); \
w = MAXXDIM; \
h = MAXYDIM; \
}
#if SDL_MAJOR_VERSION != 1
#define SDL2_VIDEO_ERR(XX) \
{ \
initprintf("Unable to set video mode: " XX " failed: %s\n", SDL_GetError()); \
destroy_window_resources(); \
return -1; \
}
#endif
inline void idle(int const msec = 1)
{

View file

@ -1492,7 +1492,7 @@ static int32_t polymost_md3draw(md3model_t *m, tspriteptr_t tspr)
md3xyzn_t *v0, *v1;
int32_t i, surfi;
float f, g, k0, k1, k2=0, k3=0, mat[16]; // inits: compiler-happy
GLfloat pc[4];
float pc[4];
// int32_t texunits = GL_TEXTURE0;
const int32_t owner = tspr->owner;

View file

@ -577,7 +577,7 @@ void setBlendFactor(int index, int alpha)
void handle_blend(uint8_t enable, uint8_t blend, uint8_t def)
{
static GLenum const blendFuncTokens[NUMBLENDFACTORS] =
static uint8_t const blendFuncTokens[NUMBLENDFACTORS] =
{
STYLEALPHA_Zero,
STYLEALPHA_One,

View file

@ -118,10 +118,6 @@ static int32_t drawpoly_srepeat = 0, drawpoly_trepeat = 0;
static int32_t lastglpolygonmode = 0; //FUK
#ifdef USE_GLEXT
int32_t glmultisample = 0, glnvmultisamplehint = 0;
#endif
int32_t glprojectionhacks = 2;
static FHardwareTexture *polymosttext = 0;
int32_t glrendmode = REND_POLYMOST;

View file

@ -46,7 +46,6 @@
#include "../../glbackend/glbackend.h"
#ifdef USE_OPENGL
# include "glbuild.h"
# include "glsurface.h"
#endif
@ -60,15 +59,6 @@
# include <mach/mach_time.h>
#endif
FString progdir;
CVAR(Int, r_displayindex, 0, CVAR_ARCHIVE | CVAR_VIDEOCONFIG)
CVAR(Int, r_borderless, 2, CVAR_ARCHIVE | CVAR_VIDEOCONFIG)
CVAR(Int, maxrefreshfreq, 0, CVAR_ARCHIVE | CVAR_VIDEOCONFIG)
CVAR(Int, windowpos, 0, CVAR_ARCHIVE | CVAR_VIDEOCONFIG)
CVAR(Int, windowx, -1, CVAR_ARCHIVE | CVAR_VIDEOCONFIG)
CVAR(Int, windowy, -1, CVAR_ARCHIVE | CVAR_VIDEOCONFIG)
double g_beforeSwapTime;
GameInterface* gi;

View file

@ -619,7 +619,7 @@ void V_Init2()
polymost_glinit();
GLInterface.Init(SCREENHEIGHT);
GLInterface.InitGLState(4, glmultisample);
GLInterface.InitGLState(4, 4/*glmultisample*/);
GLInterface.mSamplers->SetTextureFilterMode(hw_texfilter, hw_anisotropy);
//setsizeneeded = true;

View file

@ -66,10 +66,15 @@ PFNWGLSWAPINTERVALEXTPROC myWglSwapIntervalExtProc;
//
//
//==========================================================================
#ifndef OFFSCREEN
#define MS 4
#else
#define MS 0
#endif
SystemGLFrameBuffer::SystemGLFrameBuffer(void *hMonitor, bool fullscreen) : SystemBaseFrameBuffer(hMonitor, fullscreen)
{
if (!static_cast<Win32GLVideo *>(Video)->InitHardware(Window, 0))
if (!static_cast<Win32GLVideo *>(Video)->InitHardware(Window, MS))
{
I_FatalError("Unable to initialize OpenGL");
return;

View file

@ -47,7 +47,7 @@
//#include "version.h" // for GAMENAME
// Stuff that needs to be set up later.
extern FString progdir;
FString progdir;
static bool batchrun;
#define GAMENAMELOWERCASE "demolition"
#define GAMENAME "Demolition"

View file

@ -1,415 +0,0 @@
#include "sdlappicon.h"
sdlappicon sdlappicon = {
48, 48,
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\037\004\004\001\325\036"
"\036(\325\036\036_\325\036\036\222\325\036\036\270\325\036\036\321\325\036\036\343\325"
"\036\036\355\325\036\036\355\325\036\036\343\325\036\036\321\325\036\036\270\325\036"
"\036\222\325\036\036_\325\036\036(\037\004\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036"
"\036\325\036\036s\325\036\036\304\325\036\036\365\343<<\377\350aa\377\355\202\202"
"\377\361\242\242\377\366\277\277\377\366\301\301\377\366\277\277\377\362"
"\251\251\377\355\202\202\377\350ee\377\345JJ\377\340--\377\325\036\036\365"
"\325\036\036\304\325\036\036s\325\036\036\036\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\334\037\037&\325\036\036\222\325\036\036\354\343"
"AA\377\360\227\227\377\371\334\334\377\375\364\364\377\376\371\371\377\376"
"\371\371\377\375\366\366\377\374\353\353\377\372\341\341\377\371\330\330"
"\377\370\315\315\377\365\274\274\377\364\267\267\377\364\267\267\377\363"
"\253\253\377\360\235\235\377\352oo\377\341\062\062\377\325\036\036\354\325\036"
"\036\222\334\037\037&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\311\034\034\014\325\036\036"
"|\325\036\036\354\345NN\377\365\270\270\377\373\350\350\377\375\362\362\377"
"\375\362\362\377\375\366\366\377\375\360\360\377\375\362\362\377\375\362"
"\362\377\373\350\350\377\371\334\334\377\371\326\326\377\367\312\312\377"
"\365\270\270\377\363\262\262\377\363\254\254\377\361\244\244\377\361\242"
"\242\377\362\247\247\377\363\262\262\377\361\236\236\377\344GG\377\325\036"
"\036\354\325\036\036|\311\034\034\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036\064\325\036\036\305\341\062"
"\062\377\360\231\231\377\367\310\310\377\370\325\325\377\371\334\334\377\373"
"\350\350\377\374\357\357\377\375\364\364\377\375\366\366\377\375\366\366"
"\377\376\367\367\377\375\366\366\377\375\366\366\377\375\364\364\377\374"
"\353\353\377\372\341\341\377\370\323\323\377\365\270\270\377\361\236\236"
"\377\361\236\236\377\361\244\244\377\363\262\262\377\366\301\301\377\367"
"\310\310\377\363\254\254\377\342\067\067\377\325\036\036\305\325\036\036\064\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036Z\325"
"\036\036\356\344GG\377\361\236\236\377\363\262\262\377\365\272\272\377\367"
"\310\310\377\371\326\326\377\373\350\350\377\375\364\364\377\376\371\371"
"\377\371\330\330\377\362\251\251\377\355\206\206\377\351ll\377\347WW\377"
"\346OO\377\347XX\377\352oo\377\360\227\227\377\370\325\325\377\375\362\362"
"\377\370\325\325\377\365\270\270\377\365\274\274\377\366\301\301\377\367"
"\307\307\377\370\323\323\377\372\341\341\377\351ff\377\325\036\036\356\325"
"\036\036Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036q\325\036"
"\036\374\347XX\377\357\220\220\377\360\225\225\377\361\242\242\377\364\263"
"\263\377\370\325\325\377\375\360\360\377\370\323\323\377\356\213\213\377"
"\345NN\377\342\067\067\377\342\067\067\377\342\067\067\377\341\062\062\377\340++"
"\377\337$$\377\331\037\037\377\320\035\035\377\314\035\035\377\311\034\034\377\337"
"\040\040\377\353tt\377\370\315\315\377\374\353\353\377\371\326\326\377\370"
"\315\315\377\371\330\330\377\373\346\346\377\374\351\351\377\357\224\224"
"\377\325\036\036\374\325\036\036q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036q\320"
"\035\035\377\347XX\377\355\206\206\377\355\206\206\377\356\215\215\377\361"
"\244\244\377\371\330\330\377\370\321\321\377\347\\\\\377\340''\377\340--"
"\377\342\065\065\377\342\067\067\377\342\067\067\377\342\067\067\377\342\065\065\377"
"\340++\377\340%%\377\327\036\036\377\320\035\035\377\314\035\035\377\303\034\034"
"\377\302\033\033\377\307\034\034\377\322\036\036\377\347XX\377\370\323\323\377"
"\374\353\353\377\373\343\343\377\373\350\350\377\373\346\346\377\374\351"
"\351\377\363\254\254\377\332\037\037\377\325\036\036q\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036"
"Z\325\036\036\374\347WW\377\354yy\377\353xx\377\354\177\177\377\363\254\254"
"\377\376\367\367\377\353tt\377\313\035\035\377\327\036\036\377\337\040\040\377"
"\340++\377\341\064\064\377\342\067\067\377\342\067\067\377\342\067\067\377\342\065"
"\065\377\340--\377\340%%\377\327\036\036\377\320\035\035\377\313\035\035\377\303"
"\034\034\377\302\033\033\377\313\035\035\377\325\036\036\377\331\037\037\377\336\037"
"\037\377\356\207\207\377\376\371\371\377\374\353\353\377\373\346\346\377\372"
"\341\341\377\371\334\334\377\361\236\236\377\325\036\036\374\325\036\036Z\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\327"
"\036\036\061\325\036\036\355\345NN\377\354{{\377\352oo\377\353tt\377\364\263\263"
"\377\373\350\350\377\343<<\377\275\032\032\377\303\034\034\377\320\035\035\377"
"\336\037\037\377\340''\377\341..\377\342\065\065\377\342\067\067\377\342\067\067"
"\377\342\065\065\377\340--\377\337$$\377\327\036\036\377\320\035\035\377\311\034"
"\034\377\302\033\033\377\303\034\034\377\320\035\035\377\331\037\037\377\332\037\037"
"\377\340''\377\340--\377\351ff\377\374\357\357\377\374\353\353\377\371\330"
"\330\377\370\315\315\377\367\310\310\377\354}}\377\325\036\036\355\327\036\036"
"\061\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\331\037\037\013"
"\325\036\036\310\342\071\071\377\356\213\213\377\354\177\177\377\354yy\377\364"
"\263\263\377\371\326\326\377\320\035\035\377\262\031\031\377\266\031\031\377\275"
"\032\032\377\307\034\034\377\327\036\036\377\337$$\377\340--\377\342\065\065\377"
"\342\067\067\377\342\067\067\377\342\065\065\377\340--\377\337$$\377\327\036\036"
"\377\314\035\035\377\311\034\034\377\302\033\033\377\311\034\034\377\325\036\036\377"
"\331\037\037\377\337\040\040\377\340--\377\341..\377\341..\377\345JJ\377\371"
"\334\334\377\373\343\343\377\366\277\277\377\365\270\270\377\366\277\277"
"\377\346QQ\377\325\036\036\310\331\037\037\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\325\036\036|\336\037\037\377\360\225\225\377\357\220\220\377"
"\356\207\207\377\363\262\262\377\372\341\341\377\303\034\034\377\257\030\030"
"\377\260\031\031\377\262\031\031\377\271\032\032\377\340''\377\363\254\254\377"
"\340--\377\340))\377\341\062\062\377\342\067\067\377\342\067\067\377\342\067\067"
"\377\340--\377\337$$\377\322\036\036\377\314\035\035\377\307\034\034\377\303\034"
"\034\377\320\035\035\377\331\037\037\377\353tt\377\345JJ\377\341..\377\341..\377"
"\340++\377\340''\377\342\065\065\377\373\344\344\377\370\323\323\377\364\263"
"\263\377\364\263\263\377\363\254\254\377\337$$\377\325\036\036|\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\322\036\036\"\325\036\036\356\354\177\177\377\361"
"\244\244\377\360\227\227\377\361\242\242\377\375\366\366\377\340''\377\257"
"\030\030\377\253\030\030\377\253\030\030\377\260\031\031\377\343<<\377\375\360\360"
"\377\370\323\323\377\361\236\236\377\337$$\377\331\037\037\377\275\032\032\377"
"\246\027\027\377\223\025\025\377\203\022\022\377\203\022\022\377\214\023\023\377\232"
"\026\026\377\250\030\030\377\273\032\032\377\322\036\036\377\342\071\071\377\376\367"
"\367\377\375\362\362\377\351jj\377\340--\377\340''\377\336\037\037\377\325"
"\036\036\377\343AA\377\375\366\366\377\365\272\272\377\362\251\251\377\361"
"\236\236\377\355\202\202\377\325\036\036\356\322\036\036\"\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\325\036\036\222\342\067\067\377\364\267\267\377\362\251\251\377"
"\361\244\244\377\370\325\325\377\351ll\377\271\032\032\377\264\031\031\377\262"
"\031\031\377\253\030\030\377\346SS\377\376\367\367\377\362\251\251\377\360\225"
"\225\377\375\366\366\377\313\035\035\377\177\022\022\377~\021\021\377x\021\021\377"
"w\020\020\377u\020\020\377u\020\020\377w\020\020\377x\021\021\377~\021\021\377\177\022"
"\022\377\250\030\030\377\363\253\253\377\374\357\357\377\374\357\357\377\376"
"\371\371\377\354yy\377\336\037\037\377\327\036\036\377\322\036\036\377\314\035\035"
"\377\353tt\377\371\326\326\377\360\231\231\377\360\227\227\377\360\235\235"
"\377\342\065\065\377\325\036\036\222\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036\036\325"
"\036\036\355\360\227\227\377\366\277\277\377\363\262\262\377\367\310\310\377"
"\370\315\315\377\303\034\034\377\276\033\033\377\275\032\032\377\266\031\031\377"
"\343<<\377\376\367\367\377\357\220\220\377\354{{\377\351ff\377\356\213\213"
"\377\360\227\227\377w\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377"
"u\020\020\377u\020\020\377u\020\020\377u\020\020\377w\020\020\377\253\030\030\377\371"
"\330\330\377\363\253\253\377\373\344\344\377\371\334\334\377\376\371\371"
"\377\347XX\377\322\036\036\377\314\035\035\377\303\034\034\377\302\033\033\377\370"
"\315\315\377\364\267\267\377\357\220\220\377\357\220\220\377\354\177\177"
"\377\325\036\036\355\325\036\036\036\000\000\000\000\000\000\000\000\325\036\036q\341..\377\367"
"\312\312\377\366\301\301\377\365\274\274\377\374\351\351\377\346OO\377\313"
"\035\035\377\307\034\034\377\302\033\033\377\340''\377\374\353\353\377\361\244"
"\244\377\353tt\377\346QQ\377\346OO\377\365\270\270\377\376\375\375\377\302"
"\033\033\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020"
"\377u\020\020\377u\020\020\377u\020\020\377\360\231\231\377\370\323\323\377\346"
"OO\377\357\220\220\377\366\301\301\377\370\315\315\377\374\357\357\377\341"
"..\377\302\033\033\377\276\033\033\377\275\032\032\377\343AA\377\372\341\341\377"
"\357\220\220\377\357\224\224\377\360\235\235\377\340))\377\325\036\036q\000\000"
"\000\000\221\024\024\003\325\036\036\305\353tt\377\366\301\301\377\365\272\272\377"
"\367\312\312\377\370\315\315\377\325\036\036\377\322\036\036\377\320\035\035\377"
"\314\035\035\377\364\263\263\377\367\307\307\377\357\220\220\377\350aa\377"
"\346OO\377\367\310\310\377\376\375\375\377\376\375\375\377\367\312\312\377"
"|\021\021\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020"
"\377u\020\020\377\271\032\032\377\376\375\375\377\376\375\375\377\367\310\310"
"\377\346OO\377\356\207\207\377\363\262\262\377\370\315\315\377\364\263\263"
"\377\276\033\033\377\275\032\032\377\273\032\032\377\273\032\032\377\367\310\310"
"\377\363\253\253\377\360\225\225\377\360\231\231\377\350ee\377\325\036\036"
"\305\221\024\024\003\327\036\036'\325\036\036\366\363\253\253\377\364\267\267\377"
"\365\270\270\377\373\343\343\377\353rr\377\327\036\036\377\327\036\036\377\327"
"\036\036\377\345NN\377\374\351\351\377\363\256\256\377\357\220\220\377\341"
"\064\064\377\365\270\270\377\376\375\375\377\376\375\375\377\376\375\375\377"
"\376\375\375\377\343AA\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020"
"\020\377u\020\020\377u\020\020\377\364\267\267\377\376\375\375\377\376\375\375"
"\377\376\375\375\377\365\270\270\377\341\064\064\377\356\215\215\377\360\227"
"\227\377\373\343\343\377\343<<\377\275\032\032\377\275\032\032\377\276\033\033"
"\377\350ee\377\370\323\323\377\357\224\224\377\357\224\224\377\357\220\220"
"\377\325\036\036\366\327\036\036'\325\036\036_\341..\377\364\267\267\377\364\263"
"\263\377\364\263\263\377\376\371\371\377\337\040\040\377\322\036\036\377\322"
"\036\036\377\327\036\036\377\366\277\277\377\370\323\323\377\365\272\272\377"
"\351ff\377\356\207\207\377\376\375\375\377\376\375\375\377\376\375\375\377"
"\376\375\375\377\376\375\375\377\374\353\353\377\223\025\025\377u\020\020\377"
"u\020\020\377u\020\020\377u\020\020\377u\020\020\377\320\035\035\377\376\375\375\377"
"\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\356\207"
"\207\377\346SS\377\357\224\224\377\365\270\270\377\365\272\272\377\275\032"
"\032\377\275\032\032\377\275\032\032\377\314\035\035\377\376\367\367\377\360\231"
"\231\377\360\231\231\377\361\242\242\377\340++\377\325\036\036_\325\036\036\222"
"\344GG\377\364\267\267\377\363\262\262\377\366\277\277\377\367\307\307\377"
"\320\035\035\377\320\035\035\377\320\035\035\377\340--\377\376\371\371\377\365"
"\274\274\377\361\242\242\377\343<<\377\372\335\335\377\376\375\375\377\376"
"\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375"
"\377\354\177\177\377\241\027\027\377\346SS\377\352oo\377\340%%\377\212\023\023"
"\377\367\312\312\377\376\375\375\377\376\375\375\377\376\375\375\377\376"
"\375\375\377\376\375\375\377\372\335\335\377\343<<\377\355\202\202\377\360"
"\225\225\377\376\367\367\377\331\037\037\377\275\032\032\377\276\033\033\377\302"
"\033\033\377\366\305\305\377\364\263\263\377\361\236\236\377\363\253\253\377"
"\344CC\377\325\036\036\222\325\036\036\272\351ff\377\364\263\263\377\363\256"
"\256\377\370\323\323\377\357\220\220\377\320\035\035\377\320\035\035\377\320"
"\035\035\377\351ff\377\372\341\341\377\364\263\263\377\352oo\377\354yy\377"
"\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375"
"\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377"
"\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375"
"\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377"
"\376\375\375\377\376\375\375\377\354yy\377\350]]\377\360\231\231\377\371"
"\330\330\377\350aa\377\302\033\033\377\302\033\033\377\303\034\034\377\357\220"
"\220\377\367\312\312\377\361\242\242\377\362\247\247\377\351jj\377\325\036"
"\036\272\325\036\036\321\355\202\202\377\365\270\270\377\363\262\262\377\372"
"\341\341\377\352mm\377\320\035\035\377\314\035\035\377\314\035\035\377\360\227"
"\227\377\370\321\321\377\363\256\256\377\345JJ\377\363\256\256\377\376\375"
"\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377"
"\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375"
"\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377"
"\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375"
"\375\377\376\375\375\377\363\256\256\377\344EE\377\361\236\236\377\367\310"
"\310\377\357\224\224\377\303\034\034\377\303\034\034\377\303\034\034\377\351jj"
"\377\371\330\330\377\362\247\247\377\363\253\253\377\356\207\207\377\325"
"\036\036\321\325\036\036\343\361\242\242\377\365\270\270\377\364\263\263\377"
"\373\350\350\377\347WW\377\320\035\035\377\320\035\035\377\320\035\035\377\365"
"\272\272\377\367\307\307\377\363\262\262\377\341..\377\371\326\326\377\376"
"\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375"
"\377\376\375\375\377\376\375\375\377\376\375\375\377\363\256\256\377\244"
"\027\027\377u\020\020\377\276\033\033\377\370\323\323\377\376\375\375\377\376\375"
"\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377"
"\376\375\375\377\371\326\326\377\340--\377\362\247\247\377\365\274\274\377"
"\366\277\277\377\311\034\034\377\311\034\034\377\311\034\034\377\346QQ\377\373"
"\344\344\377\363\253\253\377\363\254\254\377\357\224\224\377\325\036\036\343"
"\325\036\036\355\364\263\263\377\366\305\305\377\366\277\277\377\374\357\357"
"\377\345NN\377\327\036\036\377\327\036\036\377\327\036\036\377\370\315\315\377"
"\367\312\312\377\367\310\310\377\345JJ\377\375\364\364\377\376\375\375\377"
"\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375"
"\375\377\376\375\375\377\376\367\367\377\223\025\025\377u\020\020\377u\020\020"
"\377u\020\020\377\275\032\032\377\376\375\375\377\376\375\375\377\376\375\375"
"\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\375"
"\364\364\377\344GG\377\365\274\274\377\365\274\274\377\367\312\312\377\313"
"\035\035\377\313\035\035\377\313\035\035\377\344CC\377\374\351\351\377\363\254"
"\254\377\363\256\256\377\361\244\244\377\325\036\036\355\325\036\036\355\365"
"\270\270\377\367\312\312\377\367\310\310\377\375\360\360\377\346QQ\377\336"
"\037\037\377\336\037\037\377\336\037\037\377\363\254\254\377\370\321\321\377\370"
"\321\321\377\365\272\272\377\364\267\267\377\364\267\267\377\364\267\267"
"\377\364\267\267\377\364\267\267\377\364\267\267\377\372\341\341\377\376"
"\375\375\377\367\307\307\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377"
"\201\022\022\377\376\375\375\377\376\375\375\377\370\323\323\377\364\267\267"
"\377\364\267\267\377\364\267\267\377\364\267\267\377\364\267\267\377\365"
"\272\272\377\370\315\315\377\370\315\315\377\361\244\244\377\311\034\034\377"
"\311\034\034\377\311\034\034\377\343AA\377\373\350\350\377\363\253\253\377\363"
"\254\254\377\361\244\244\377\325\036\036\355\325\036\036\343\365\270\270\377"
"\370\323\323\377\370\315\315\377\374\357\357\377\350aa\377\337\040\040\377"
"\337$$\377\337$$\377\337$$\377\337$$\377\337$$\377\221\024\024\377w\020\020\377"
"u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377\346OO\377\376\375"
"\375\377\375\360\360\377\210\023\023\377u\020\020\377u\020\020\377u\020\020\377\253"
"\030\030\377\376\375\375\377\376\375\375\377\320\035\035\377u\020\020\377u\020\020"
"\377u\020\020\377u\020\020\377w\020\020\377\214\023\023\377\311\034\034\377\311\034"
"\034\377\311\034\034\377\311\034\034\377\311\034\034\377\311\034\034\377\346QQ\377"
"\373\344\344\377\363\253\253\377\363\253\253\377\360\235\235\377\325\036\036"
"\343\325\036\036\321\361\242\242\377\371\330\330\377\370\325\325\377\374\353"
"\353\377\354yy\377\337$$\377\340''\377\340''\377\340''\377\340''\377\340"
"%%\377\241\027\027\377x\021\021\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377"
"u\020\020\377\331\037\037\377\376\375\375\377\376\375\375\377\360\225\225\377"
"\210\023\023\377u\020\020\377\233\026\026\377\366\301\301\377\376\375\375\377\376"
"\375\375\377\233\026\026\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377x\021"
"\021\377\232\026\026\377\313\035\035\377\313\035\035\377\311\034\034\377\311\034\034"
"\377\311\034\034\377\311\034\034\377\351jj\377\371\334\334\377\363\253\253\377"
"\363\256\256\377\356\207\207\377\325\036\036\321\325\036\036\272\354\177\177"
"\377\371\334\334\377\371\330\330\377\373\346\346\377\360\235\235\377\340"
"%%\377\340''\377\340%%\377\340%%\377\337\040\040\377\337\040\040\377\262\031\031"
"\377~\021\021\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377~\021"
"\021\377\367\312\312\377\376\375\375\377\376\375\375\377\376\375\375\377\373"
"\344\344\377\376\375\375\377\376\375\375\377\376\375\375\377\360\231\231"
"\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377~\021\021\377\251"
"\030\030\377\311\034\034\377\311\034\034\377\311\034\034\377\311\034\034\377\311\034"
"\034\377\313\035\035\377\357\220\220\377\370\321\321\377\363\254\254\377\363"
"\262\262\377\352mm\377\325\036\036\272\325\036\036\222\347XX\377\371\334\334"
"\377\371\330\330\377\371\334\334\377\367\312\312\377\337$$\377\337\040\040"
"\377\337\040\040\377\336\037\037\377\332\037\037\377\331\037\037\377\303\034\034\377"
"\177\022\022\377w\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020"
"\020\377\235\026\026\377\367\307\307\377\376\375\375\377\376\375\375\377\376"
"\375\375\377\376\375\375\377\376\375\375\377\361\236\236\377\212\023\023\377"
"u\020\020\377u\020\020\377u\020\020\377u\020\020\377w\020\020\377\177\022\022\377\271"
"\032\032\377\307\034\034\377\307\034\034\377\311\034\034\377\311\034\034\377\311\034"
"\034\377\311\034\034\377\366\305\305\377\366\277\277\377\363\256\256\377\363"
"\262\262\377\345JJ\377\325\036\036\222\325\036\036_\342\065\065\377\371\330\330"
"\377\370\325\325\377\370\321\321\377\376\371\371\377\341..\377\336\037\037"
"\377\331\037\037\377\327\036\036\377\327\036\036\377\320\035\035\377\313\035\035\377"
"\241\027\027\377|\021\021\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020"
"\020\377u\020\020\377\351ll\377\376\375\375\377\376\375\375\377\376\375\375"
"\377\376\375\375\377\376\375\375\377\340%%\377u\020\020\377u\020\020\377u\020"
"\020\377u\020\020\377u\020\020\377|\021\021\377\241\027\027\377\302\033\033\377\302"
"\033\033\377\303\034\034\377\311\034\034\377\311\034\034\377\311\034\034\377\332\037"
"\037\377\376\371\371\377\363\254\254\377\363\254\254\377\363\262\262\377\340"
"--\377\325\036\036_\327\036\036'\325\036\036\366\366\277\277\377\367\312\312\377"
"\367\307\307\377\373\346\346\377\353rr\377\327\036\036\377\322\036\036\377\320"
"\035\035\377\313\035\035\377\302\033\033\377\276\033\033\377\266\031\031\377\177\022"
"\022\377w\020\020\377u\020\020\377u\020\020\377u\020\020\377u\020\020\377\253\030\030"
"\377\376\367\367\377\376\375\375\377\376\375\375\377\376\375\375\377\376"
"\375\375\377\376\375\375\377\373\344\344\377\210\023\023\377u\020\020\377u\020"
"\020\377u\020\020\377w\020\020\377\177\022\022\377\262\031\031\377\275\032\032\377\276"
"\033\033\377\302\033\033\377\302\033\033\377\303\034\034\377\303\034\034\377\351ff"
"\377\371\334\334\377\362\251\251\377\363\253\253\377\362\247\247\377\325"
"\036\036\366\327\036\036'\221\024\024\003\325\036\036\305\354}}\377\367\310\310\377"
"\366\301\301\377\370\315\315\377\367\312\312\377\320\035\035\377\311\034\034"
"\377\303\034\034\377\302\033\033\377\275\032\032\377\275\032\032\377\276\033\033\377"
"\253\030\030\377~\021\021\377w\020\020\377u\020\020\377u\020\020\377w\020\020\377\365"
"\272\272\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375"
"\377\376\375\375\377\376\375\375\377\376\375\375\377\354\177\177\377u\020"
"\020\377u\020\020\377w\020\020\377~\021\021\377\253\030\030\377\271\032\032\377\271"
"\032\032\377\273\032\032\377\275\032\032\377\276\033\033\377\302\033\033\377\303\034"
"\034\377\367\310\310\377\364\267\267\377\361\244\244\377\363\253\253\377\352"
"oo\377\325\036\036\305\221\024\024\003\000\000\000\000\325\036\036q\340--\377\367\307\307"
"\377\365\270\270\377\363\262\262\377\373\346\346\377\344GG\377\302\033\033"
"\377\275\032\032\377\275\032\032\377\275\032\032\377\275\032\032\377\275\032\032\377"
"\275\032\032\377\250\030\030\377~\021\021\377w\020\020\377u\020\020\377\343AA\377\376"
"\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375"
"\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\271"
"\032\032\377w\020\020\377~\021\021\377\250\030\030\377\275\032\032\377\275\032\032\377"
"\273\032\032\377\273\032\032\377\271\032\032\377\275\032\032\377\275\032\032\377\343"
"AA\377\373\344\344\377\361\236\236\377\361\244\244\377\363\254\254\377\340"
"++\377\325\036\036q\000\000\000\000\000\000\000\000\325\036\036\036\325\036\036\355\356\215\215"
"\377\363\262\262\377\362\247\247\377\365\272\272\377\370\315\315\377\276"
"\033\033\377\275\032\032\377\275\032\032\377\275\032\032\377\275\032\032\377\275\032"
"\032\377\273\032\032\377\275\032\032\377\257\030\030\377\177\022\022\377\237\026\026"
"\377\374\353\353\377\376\375\375\377\376\375\375\377\376\375\375\377\376"
"\375\375\377\376\375\375\377\376\375\375\377\376\375\375\377\376\375\375"
"\377\373\346\346\377\370\315\315\377\206\023\023\377\260\031\031\377\276\033\033"
"\377\275\032\032\377\276\033\033\377\275\032\032\377\273\032\032\377\271\032\032\377"
"\271\032\032\377\275\032\032\377\370\315\315\377\365\270\270\377\360\227\227"
"\377\361\242\242\377\356\213\213\377\325\036\036\355\325\036\036\036\000\000\000\000\000"
"\000\000\000\000\000\000\000\325\036\036\222\340--\377\362\247\247\377\360\227\227\377\360"
"\225\225\377\370\323\323\377\352mm\377\275\032\032\377\275\032\032\377\275\032"
"\032\377\273\032\032\377\273\032\032\377\275\032\032\377\302\033\033\377\303\034\034"
"\377\276\033\033\377\363\254\254\377\357\224\224\377\354yy\377\363\256\256"
"\377\371\326\326\377\375\362\362\377\375\362\362\377\371\326\326\377\363"
"\256\256\377\354yy\377\343<<\377\365\270\270\377\355\202\202\377\311\034\034"
"\377\303\034\034\377\276\033\033\377\275\032\032\377\275\032\032\377\275\032\032\377"
"\275\032\032\377\273\032\032\377\351jj\377\370\315\315\377\356\215\215\377\357"
"\224\224\377\361\236\236\377\343<<\377\325\036\036\222\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\322\036\036\"\325\036\036\356\353tt\377\360\227\227\377\360\225"
"\225\377\362\251\251\377\375\366\366\377\340--\377\275\032\032\377\273\032\032"
"\377\273\032\032\377\275\032\032\377\302\033\033\377\303\034\034\377\311\034\034\377"
"\350aa\377\373\346\346\377\361\242\242\377\353tt\377\345NN\377\341\062\062"
"\377\336\037\037\377\336\037\037\377\341\062\062\377\345JJ\377\352oo\377\360\231"
"\231\377\363\262\262\377\375\366\366\377\341\062\062\377\311\034\034\377\302"
"\033\033\377\275\032\032\377\275\032\032\377\275\032\032\377\275\032\032\377\340--"
"\377\375\366\366\377\361\236\236\377\356\213\213\377\357\220\220\377\354"
"}}\377\325\036\036\356\322\036\036\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\325\036\036|\331\037\037\377\360\227\227\377\360\231\231\377\360\227\227\377"
"\366\277\277\377\372\341\341\377\327\036\036\377\273\032\032\377\275\032\032\377"
"\276\033\033\377\302\033\033\377\307\034\034\377\332\037\037\377\373\350\350\377"
"\370\323\323\377\366\277\277\377\365\270\270\377\365\270\270\377\366\277"
"\277\377\367\310\310\377\367\312\312\377\366\277\277\377\364\267\267\377"
"\364\263\263\377\364\263\263\377\367\312\312\377\373\346\346\377\356\207"
"\207\377\311\034\034\377\303\034\034\377\302\033\033\377\275\032\032\377\275\032\032"
"\377\327\036\036\377\373\343\343\377\366\277\277\377\357\220\220\377\357\220"
"\220\377\357\224\224\377\340''\377\325\036\036|\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\331\037\037\013\325\036\036\310\342\067\067\377\361\236\236"
"\377\357\224\224\377\357\220\220\377\366\305\305\377\371\330\330\377\336"
"\037\037\377\276\033\033\377\302\033\033\377\303\034\034\377\311\034\034\377\320\035"
"\035\377\346QQ\377\366\277\277\377\376\367\367\377\373\344\344\377\370\325"
"\325\377\371\330\330\377\370\325\325\377\371\326\326\377\371\330\330\377"
"\370\325\325\377\373\343\343\377\375\366\366\377\365\274\274\377\345JJ\377"
"\303\034\034\377\307\034\034\377\311\034\034\377\307\034\034\377\302\033\033\377\336"
"\037\037\377\371\330\330\377\367\310\310\377\360\225\225\377\357\224\224\377"
"\360\225\225\377\345JJ\377\325\036\036\310\331\037\037\013\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\327\036\036\061\325\036\036\355\347XX\377"
"\360\225\225\377\357\220\220\377\357\220\220\377\366\301\301\377\374\351"
"\351\377\343AA\377\302\033\033\377\311\034\034\377\314\035\035\377\322\036\036\377"
"\327\036\036\377\327\036\036\377\337$$\377\350ee\377\361\236\236\377\363\253"
"\253\377\370\321\321\377\370\321\321\377\363\253\253\377\361\236\236\377"
"\350ee\377\336\037\037\377\320\035\035\377\314\035\035\377\311\034\034\377\307\034"
"\034\377\311\034\034\377\311\034\034\377\343AA\377\374\351\351\377\366\301\301"
"\377\360\225\225\377\360\225\225\377\360\231\231\377\352mm\377\325\036\036"
"\355\327\036\036\061\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\325\036\036Z\325\036\036\374\352mm\377\360\227\227\377\357\224"
"\224\377\360\227\227\377\366\277\277\377\376\371\371\377\354yy\377\313\035"
"\035\377\320\035\035\377\322\036\036\377\325\036\036\377\325\036\036\377\322\036\036"
"\377\320\035\035\377\325\036\036\377\331\037\037\377\336\037\037\377\336\037\037\377"
"\331\037\037\377\322\036\036\377\320\035\035\377\320\035\035\377\320\035\035\377\320"
"\035\035\377\313\035\035\377\307\034\034\377\307\034\034\377\354yy\377\376\371\371"
"\377\366\277\277\377\360\231\231\377\360\225\225\377\360\231\231\377\354"
"\177\177\377\325\036\036\374\325\036\036Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036q\322\036\036"
"\377\353rr\377\360\235\235\377\361\236\236\377\361\236\236\377\363\262\262"
"\377\371\334\334\377\370\321\321\377\345JJ\377\327\036\036\377\327\036\036\377"
"\322\036\036\377\322\036\036\377\320\035\035\377\327\036\036\377\331\037\037\377\336"
"\037\037\377\336\037\037\377\332\037\037\377\325\036\036\377\320\035\035\377\320\035"
"\035\377\320\035\035\377\320\035\035\377\313\035\035\377\344CC\377\370\315\315\377"
"\371\330\330\377\363\262\262\377\361\244\244\377\362\247\247\377\361\236"
"\236\377\355\202\202\377\336\037\037\377\325\036\036q\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\325\036\036q\325\036\036\374\351ff\377\361\236\236\377\362\251\251\377"
"\362\251\251\377\363\256\256\377\370\315\315\377\374\353\353\377\367\312"
"\312\377\354}}\377\341..\377\320\035\035\377\322\036\036\377\327\036\036\377\332"
"\037\037\377\336\037\037\377\336\037\037\377\332\037\037\377\327\036\036\377\322\036"
"\036\377\320\035\035\377\340++\377\354yy\377\367\312\312\377\373\350\350\377"
"\366\305\305\377\362\247\247\377\363\253\253\377\363\253\253\377\362\251"
"\251\377\353tt\377\325\036\036\374\325\036\036q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\325\036\036Z\325\036\036\356\345JJ\377\363\254\254\377\364"
"\263\263\377\364\263\263\377\365\270\270\377\365\274\274\377\370\315\315"
"\377\372\341\341\377\375\364\364\377\370\323\323\377\361\236\236\377\354"
"{{\377\353tt\377\346QQ\377\346QQ\377\353tt\377\354{{\377\361\236\236\377"
"\370\323\323\377\375\364\364\377\371\334\334\377\366\305\305\377\363\254"
"\254\377\362\251\251\377\362\247\247\377\363\262\262\377\363\256\256\377"
"\346SS\377\325\036\036\356\325\036\036Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036\064\325\036\036\305\340))\377\357\220\220"
"\377\365\274\274\377\366\277\277\377\366\277\277\377\365\274\274\377\365"
"\272\272\377\364\263\263\377\366\301\301\377\370\325\325\377\373\343\343"
"\377\373\344\344\377\375\360\360\377\375\360\360\377\373\346\346\377\373"
"\343\343\377\370\325\325\377\366\301\301\377\364\267\267\377\364\267\267"
"\377\363\262\262\377\364\263\263\377\363\262\262\377\363\254\254\377\357"
"\220\220\377\341..\377\325\036\036\305\325\036\036\064\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\311\034\034\014\325"
"\036\036|\325\036\036\354\343<<\377\361\236\236\377\367\307\307\377\366\277\277"
"\377\365\272\272\377\364\267\267\377\364\267\267\377\365\272\272\377\366"
"\277\277\377\366\301\301\377\367\312\312\377\370\315\315\377\367\310\310"
"\377\366\277\277\377\365\270\270\377\364\267\267\377\364\263\263\377\364"
"\263\263\377\365\272\272\377\364\267\267\377\361\236\236\377\344EE\377\325"
"\036\036\354\325\036\036|\311\034\034\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\334\037"
"\037&\325\036\036\222\325\036\036\354\340))\377\353tt\377\363\256\256\377\366"
"\277\277\377\366\301\301\377\366\277\277\377\366\305\305\377\367\307\307"
"\377\370\315\315\377\370\321\321\377\370\315\315\377\367\307\307\377\366"
"\277\277\377\366\277\277\377\365\270\270\377\363\254\254\377\354{{\377\341"
"\064\064\377\325\036\036\354\325\036\036\222\334\037\037&\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\325\036\036\036\325\036\036s\325\036\036"
"\304\325\036\036\365\340++\377\345JJ\377\352mm\377\357\220\220\377\363\254"
"\254\377\364\267\267\377\364\267\267\377\363\256\256\377\357\220\220\377"
"\353rr\377\346OO\377\340--\377\325\036\036\365\325\036\036\304\325\036\036s\325"
"\036\036\036\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\037\004\004\001\325\036\036(\325\036\036_\325\036\036"
"\222\325\036\036\270\325\036\036\321\325\036\036\343\325\036\036\355\325\036\036\355"
"\325\036\036\343\325\036\036\321\325\036\036\270\325\036\036\222\325\036\036_\325\036"
"\036(\037\004\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000",
};