[Scummvm-cvs-logs] CVS: scummvm/backends/gp32/h defines.h,NONE,1.1 gpdef.h,NONE,1.1 gpfont.h,NONE,1.1 gpfont_port.h,NONE,1.1 gpfontres.dat,NONE,1.1 gpgraphic.h,NONE,1.1 gpmem.h,NONE,1.1 gpmm.h,NONE,1.1 gpos_def.h,NONE,1.1 gpsockdef.h,NONE,1.1 gpstdio.h,NONE,1.1 gpstdlib.h,NONE,1.1 initval_port.h,NONE,1.1

Peter Moraliyski ph0x at users.sourceforge.net
Sat Nov 30 07:42:01 CET 2002


Update of /cvsroot/scummvm/scummvm/backends/gp32/h
In directory sc8-pr-cvs1:/tmp/cvs-serv1417/backends/gp32/h

Added Files:
	defines.h gpdef.h gpfont.h gpfont_port.h gpfontres.dat 
	gpgraphic.h gpmem.h gpmm.h gpos_def.h gpsockdef.h gpstdio.h 
	gpstdlib.h initval_port.h 
Log Message:


B

gp32 sdk headerCVgp32 sdk header files
S ----------------------------------------------------------------------


--- NEW FILE: defines.h ---
/* defines.h */

#ifndef __DEFINES_H__
#define __DEFINES_H__

typedef unsigned char u8;
typedef signed char s8;
typedef unsigned short u16;
typedef short s16;
typedef unsigned int u32;
typedef int s32;

//#define	LITTLE_ENDIAN
/*
typedef union
  {
#ifdef LITTLE_ENDIAN
    struct
      {
        u8 low;
        u8 high;
      } byte;
#else
    struct
      {
        u8 high;
        u8 low;
      } byte;
#endif
    u16 word;
  } word;


typedef union
  {
#ifdef	LITTLE_ENDIAN
    struct
      {
        word low;
        word high;
      } word;
#else
    struct
      {
        word high;
        word low;
      } word;
#endif
    u32	dword;
  } dword;





#ifndef BOOL
#define	BOOL	int
#endif
#ifndef TRUE
#define	TRUE	1
#endif
#ifndef FALSE
#define	FALSE	0
#endif

#ifndef	NULL
#define	NULL	0
#endif
*/
#endif


--- NEW FILE: gpdef.h ---

#ifndef __GPDEF_H__
#define __GPDEF_H__

#include "gpos_def.h"

#ifndef NULL
#define NULL 	0
#endif

#ifndef TRUE
#define TRUE	1
#else
#undef TRUE
#define TRUE	1
#endif

#ifndef	FALSE
#define FALSE	0
#else
#undef	FALSE
#define FALSE	0
#endif

#ifndef __size_t
#define __size_t 1
   typedef unsigned int size_t;
#endif

//ph0x
//#undef byte 
//#define byte	char

#undef ubyte
#define ubyte	unsigned char

#undef uchar
#define uchar unsigned char

#undef word
#define word	short

#undef uword
#define uword	unsigned short

#undef ushort
#define ushort unsigned short

#undef dword
#define dword	long

#undef udword
#define udword	unsigned long

#undef ulong
#define ulong unsigned long

/* Button definitions */
#define	GPC_VK_NONE		0x00
#define	GPC_VK_LEFT		0x01
#define	GPC_VK_UP		0x08
#define	GPC_VK_RIGHT	0x04
#define	GPC_VK_DOWN		0x02

#define GPC_VK_F1		0x80	/*AT OLD, VK_ENTER*/
#define GPC_VK_F2		0x10	/*AT OLD, VK_F3*/
#define GPC_VK_F3		0x20	/*AT OLD, VK_F2*/
#define GPC_VK_ENTER	0x40	/*AT OLD, VK_F1*/

#define GPC_VK_START	0x100
#define GPC_VK_SELECT	0x200

#define GPC_VK_FA		GPC_VK_ENTER
#define GPC_VK_FB		GPC_VK_F3
#define GPC_VK_FL		GPC_VK_F2
#define GPC_VK_FR		GPC_VK_F1

/* LCD Definitions */
#define	GPC_LCD_WIDTH	320
#define	GPC_LCD_HEIGHT	240
#define GPC_LCD_PHYSICAL_W	240
#define GPC_LCD_PHYSICAL_H	320

typedef struct tagGPRECT{
	int left;
	int top;
	int right;
	int bottom;
}GPRECT;

typedef struct tagGPPOINT{
	int X;
	int Y;
} GPPOINT;

/* file stuff */
#define MAX_PATH_NAME_LEN	256

#endif /*__GPDEF_H__*/


--- NEW FILE: gpfont.h ---

#ifndef __GPFONT_H__
#define	__GPFONT_H__

#include "gpdef.h" 
#include "gpgraphic.h"

typedef struct tagBGFONTINFO{
	int kor_w;
	int kor_h;
	int eng_w;
	int eng_h;
	int chargap;	
	int linegap;
}BGFONTINFO;

void GpFontInit (BGFONTINFO * ptr);

void GpFontResSet (unsigned char * p_kor, unsigned char * p_eng);
unsigned char * GpKorFontResGet(void);
unsigned char * GpEngFontResGet(void);

void GpSysFontGet (BGFONTINFO *fInfo);
int GpTextWidthGet (const char * lpsz);
int GpTextHeightGet (const char * lpsz);
int GpTextLenGet (const char * str);

void GpTextOut (GPDRAWTAG * gptag, GPDRAWSURFACE * ptgpds, int x, int y,
              char * source, unsigned char color);
void GpCharOut (GPDRAWTAG * gptag, GPDRAWSURFACE * ptgpds, int x, int y, 
              char * source, unsigned char color);
void GpTextNOut (GPDRAWTAG * gptag, GPDRAWSURFACE * ptgpds, int x, int y, 
		      char * source, int nStart, int nString, unsigned char color);
		      
#define GPC_GT_BOTTOM		0x2
#define GPC_GT_HCENTER		0x8
#define GPC_GT_LEFT		0x10
#define GPC_GT_RIGHT		0x20
#define GPC_GT_TOP		0x40
#define GPC_GT_WORDBREAK	0x80
#define GPC_GT_VCENTER		0x100
		      
void GpTextDraw (GPDRAWSURFACE * ptgpds, GPRECT * cRect, unsigned int uFormat, 
		      char * source, int nStart, int nCount, unsigned char color);

typedef struct tagEXT_FONT{
	int fx_flag;
	unsigned char * lpsz;
	unsigned char * pBmFont;
	int ex_font_w;
	int ex_font_h;
	int ex_chargap;
	int ex_linegap;
	int color1;
	int color2;
} EXT_FONT;

int GpCustTextOut (GPDRAWTAG * gptag, GPDRAWSURFACE * ptgpds, int x, int y, EXT_FONT * y_font);

void GpHAutomatonInit (void);
int GpHAutomatonInput (const char * p_input, char ** p_working);
int GpHAutomatonDelete (char ** p_working);
char * GpHAutomatonBuffered (void);

#endif



--- NEW FILE: gpfont_port.h ---
#ifndef __GPFONT_PORT_H__
#define	__GPFONT_PORT_H__

#define KORFONT_W		12	/* pixel */
#define KORFONT_H		12	/* pixel */
#define ENGFONT_W		8	/* pixel */
#define ENGFONT_H 		16	/* pixel */
#define FONT_CHARGAP   	4	/* percentage */
#define FONT_LINEGAP	4	/* percentage */

#endif

--- NEW FILE: gpfontres.dat ---
/*font size : (12, 12), font number : 344*/
const unsigned char fontresKor[] = { /* Foreign lang */
0x00, 0x00, 0x02, 0x04, 0x02, 0x04, 0x04, 0x04, 0x18, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, 0x04, 0xf2, 0x07, 
0x04, 0x04, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xfe, 0x07, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 
0x02, 0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x04, 0x42, 0x04, 0x42, 0x04, 
0x42, 0x04, 0xc2, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xfe, 0x07, 0x02, 0x04, 0x02, 0x04, 0x02, 0x04, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x07, 0x42, 0x00, 0x42, 0x00, 
0x42, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xfe, 0x07, 0x42, 0x00, 0xfe, 0x07, 0x42, 0x00, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x38, 0x00, 0xc0, 0x07, 
0x20, 0x00, 0x18, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x04, 0x00, 0x38, 0x00, 0xc2, 0x07, 0x3c, 0x00, 0xe0, 0x07, 0x18, 0x00, 0x04, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x02, 0x04, 0x02, 0x04, 
0x02, 0x04, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x06, 0x04, 0x38, 0x04, 0xc0, 0x07, 0x30, 0x04, 0x0c, 0x04, 0x02, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x30, 0x04, 0xc6, 0x07, 
0x38, 0x04, 0xe0, 0x07, 0x18, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x02, 0x01, 0x0c, 0x05, 0xf0, 0x05, 0x08, 0x05, 0x04, 0x05, 0x02, 0x01, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x04, 0x42, 0x04, 0x44, 0x04, 
0x48, 0x04, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xfe, 0x07, 0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x42, 0x04, 0x02, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0xfe, 0x05, 0x02, 0x04, 
0x02, 0x04, 0xfe, 0x05, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x3c, 0x01, 0x42, 0x05, 0x42, 0x05, 0x42, 0x05, 0x3c, 0x01, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 
0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x08, 0x04, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x04, 0x08, 0x04, 0x30, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x04, 0x08, 0x04, 
0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x00, 
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 
0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 
0x20, 0x04, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xf0, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 
0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 
0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 
0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x01, 
0x20, 0x01, 0xe0, 0x07, 0x20, 0x01, 0x20, 0x01, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 
0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x07, 
0xc0, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x40, 0x02, 
0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x40, 0x04, 
0x80, 0x04, 0x00, 0x07, 0x80, 0x04, 0x40, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x04, 0x40, 0x04, 0x80, 0x07, 0x40, 0x04, 0x20, 0x04, 0x40, 0x04, 0x80, 0x07, 
0x40, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x20, 0x05, 
0x40, 0x05, 0x80, 0x05, 0x40, 0x05, 0x20, 0x05, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x48, 0x04, 
0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x90, 0x04, 
0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xe0, 0x07, 
0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x60, 0x01, 0x90, 0x05, 
0x10, 0x05, 0x10, 0x05, 0x10, 0x05, 0x90, 0x05, 0x60, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x20, 0x04, 
0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 
0x20, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x04, 0x20, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x04, 
0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 
0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x05, 0x40, 0x05, 
0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 
0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x01, 
0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0x40, 0x01, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x01, 0x40, 0x01, 0xc0, 0x07, 0x40, 0x01, 0x40, 0x01, 
0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 
0x00, 0x02, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x06, 0x80, 0x01, 0x40, 0x00, 0x80, 0x01, 0x00, 0x06, 
0x80, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x40, 0x04, 
0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x40, 0x04, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x80, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x05, 0x80, 0x04, 
0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x80, 0x04, 0x00, 0x07, 
0x80, 0x04, 0x40, 0x04, 0x80, 0x04, 0x00, 0x07, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x40, 0x05, 0x80, 0x05, 0x00, 0x05, 0x80, 0x05, 0x40, 0x05, 
0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x80, 0x04, 
0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0xa0, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x05, 0x20, 0x05, 0x20, 0x05, 0x20, 0x05, 0x20, 0x05, 
0x20, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0xe0, 0x05, 
0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xe0
, 0x05, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x01, 0x40, 0x01, 0xa0, 0x05, 0x20, 0x05, 0x20, 0x05, 0x20, 0x05, 0xa0, 0x05, 
0x40, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 
0x08, 0x04, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x04, 0x10, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x04, 0xf0, 0x07, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x00, 0x40, 0x00, 
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 
0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xf0, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 
0x20, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xe0, 0x07, 0x20, 0x01, 0x20, 0x01, 0x20, 0x01, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x01, 0xe0, 0x07, 
0x20, 0x01, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x07, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x20, 0x07, 
0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xc0, 0x03, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x40, 0x04, 0x80, 0x07, 
0x80, 0x04, 0x40, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x04, 0x80, 0x07, 0x40, 0x04, 0x80, 0x07, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x20, 0x05, 0xc0, 0x05, 
0x40, 0x05, 0x20, 0x05, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x90, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x90, 0x04, 0x90, 0x04, 
0x90, 0x04, 0x90, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x04, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0xe0, 0x07, 0x20, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x90, 0x05, 0x10, 0x05, 
0x90, 0x05, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x40, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x04, 0x80, 0x07, 
0x00, 0x00, 0x40, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x07, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 
0x40, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x05, 0x40, 0x05, 0x40, 0x05, 
0x40, 0x05, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x01, 0x40, 0x01, 
0x40, 0x01, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xc0, 0x07, 0x40, 0x01, 0xc0, 0x07, 0x40, 0x01, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06, 
0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x00, 0x00, 0x07, 0x00, 0x01, 0x80, 0x00, 0x00, 0x07, 0x00, 0x01, 0x80, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x40, 0x04, 0x40, 0x04, 
0x40, 0x04, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x04, 0x80, 0x04, 0x00, 0x07, 0x00, 0x05, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x80, 0x07, 0x40, 0x04, 
0x80, 0x07, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x01, 0x40, 0x05, 0x80, 0x05, 0x80, 0x05, 0x40, 0x05, 0x40, 0x01, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 
0xa0, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xc0, 0x07, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 
0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x01, 0xa0, 0x05, 0x20, 0x05, 0xa0, 0x05, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x10, 0x04, 0x20, 0x04, 
0x40, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x04, 0x40, 0x04, 0x90, 0x07, 0x20, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x00, 0x20, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 
0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xf0, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0x90, 0x07, 0x10, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x20, 0x04, 0x20, 0x04, 
0x20, 0x04, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xf0, 0x07, 0x10, 0x01, 0x10, 0x01, 0x10, 0x01, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x10, 0x01, 0xf0, 0x07, 
0x10, 0x01, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x10, 0x00, 0x60, 0x00, 0x80, 0x07, 0x80, 0x00, 0x40, 0x00, 0x30, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xc0, 0x00, 0x20, 0x07, 
0xc0, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xc0, 0x03, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x60, 0x04, 0x80, 0x07, 
0x40, 0x04, 0x20, 0x04, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x04, 0xc0, 0x04, 0x20, 0x07, 0xc0, 0x04, 0x80, 0x07, 0x40, 0x04, 0x20, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x20, 0x05, 0xc0, 0x05, 
0x40, 0x05, 0x20, 0x05, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x90, 0x04, 0x90, 0x04, 0x90, 0x04, 0xa0, 0x04, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x90, 0x04, 0x90, 0x04, 
0x90, 0x04, 0x10, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 
0x00, 0x00, 0x10, 0x04, 0xf0, 0x05, 0x10, 0x04, 0x10, 0x04, 0xf0, 0x05, 0x10, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x90, 0x05, 0x10, 0x05, 
0x90, 0x05, 0x60, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x80, 0x04, 
0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x80, 0x04, 
0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x80, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 
0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x05, 0x40, 0x05, 
0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 
0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x02, 
0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x02, 0x80, 0x02, 0x80, 0x07, 0x80, 0x02, 0x80, 0x02, 
0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 
0x00, 0x02, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06, 
0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x04, 
0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x04, 0x00, 0x06, 0x00, 0x05, 
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x05, 0x00, 0x06, 
0x00, 0x05, 0x80, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x05, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x40, 0x01, 0x40, 0x05, 0x80, 0x05, 0x40, 0x05, 0x40, 0x01, 
0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 
0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x40, 0x05, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 
0x40, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x80, 0x07, 
0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x07, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x02, 0x80, 0x02, 0x40, 0x03, 0x40, 0x02, 0x40, 0x06, 0x40, 0x02, 0x40, 0x03, 
0x80, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 
0x80, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x04, 0x80, 0x04, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x80, 0x07, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 
0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xc0, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x05, 0x40, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x04, 0x80, 0x04, 
0x80, 0x04, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x07, 0x80, 0x02, 0x80, 0x02, 0x80, 0x02, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x80, 0x02, 0x80, 0x07, 
0x80, 0x02, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x07, 0x00, 0x01, 
0x80, 0x00, 0x80, 0x07, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x03, 0x80, 0x04, 0x80, 0x04, 0x80, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x80, 0x04, 0x00, 0x07, 
0x00, 0x05, 0x80, 0x04, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x04, 0x00, 0x07, 0x80, 0x04, 0x00, 0x07, 0x00, 0x05, 0x80, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x40, 0x05, 0x80, 0x05, 
0x80, 0x05, 0x40, 0x05, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x40, 0x05, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x40, 0x05, 0x40, 0x05, 
0x40, 0x05, 0x40, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x40, 0x04, 0xc0, 0x07, 0x40, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x40, 0x03, 0x40, 0x06, 
0x40, 0x03, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xff, 0x07, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x20, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xff, 0x07, 0x90, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x90, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x90, 0x00, 
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 
0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x3e, 0x00, 
0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x07, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0xff, 0x07, 
0x20, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 
0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x7e, 0x00, 0x02, 0x00, 0x02, 0x00, 
0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 
0x10, 0x00, 0x1f, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0x22, 0x00, 0x3c, 0x00, 0x20, 0x00, 0x20, 0x00, 0x28, 0x00, 0x08, 0x00, 
0x08, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x22, 0x00, 0x3c, 0x00, 
0x20, 0x00, 0x28, 0x00, 0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0x22,
 0x00, 0x3c, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x1f, 0x00, 
0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x1f, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 
0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 
0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 
0x40, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x90, 0x00, 0x90, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 
0x90, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 
0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x90, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x90, 0x00, 
0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 
0x02, 0x00, 0x1e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 
0xff, 0x07, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1e, 0x00, 
0x02, 0x00, 0x02, 0x00, 0xff, 0x07, 0x20, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x1e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 
0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x00, 
0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x12, 0x00, 0x1c, 0x00, 
0x10, 0x00, 0x14, 0x00, 0x14, 0x00, 0x04, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x10, 0x00, 0x12, 0x00, 0x1c, 0x00, 0x10, 0x00, 0x10, 0x00, 0x12, 0x00, 0x02, 0x00, 
0xff, 0x07, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x11, 0x00, 0x1e, 0x00, 
0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 
0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 
0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 
0x04, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xf8, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x80, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xf8, 0x07, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x20, 0x02, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x80, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x20, 0x02, 
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x02, 0xf0, 0x07, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x07, 
0x80, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0xe0, 0x01, 0x20, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0xc0, 0x01, 0x40, 0x00, 0xc0, 0x01, 0x40, 0x00, 0x40, 0x00, 
0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
0x40, 0x00, 0x70, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x78, 0x00, 0x40, 0x00, 0x40, 0x00, 0x50, 0x00, 0x10, 0x00, 
0xfc, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x70, 0x00, 
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x02, 0xf0, 0x07, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x70, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 
0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
0x70, 0x00, 0x40, 0x00, 0x40, 0x00, 0x70, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x80, 0x00, 
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x40, 0x01, 
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xf0, 0x07, 0x00, 0x00, 
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x40, 0x01, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0xf0, 0x07, 0x00, 0x00, 
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
0x20, 0x00, 0x60, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x20, 0x00, 0x20, 0x00, 
0x20, 0x00, 0x00, 0x00, 
0xe0, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x07, 0x80, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0xe0, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 
0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x60, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 0x20, 0x00, 0x20, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x02, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x01, 0xf0, 0x07, 
0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x30, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 
0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 
0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 
0x0a, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 
0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x05, 0x00, 
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 
0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 
0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 
0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 
0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 
0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x15, 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x15, 0x00, 
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00, 
0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00, 
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0d, 0x00, 
0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 
0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x11, 0x00, 
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x05, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 
0x1f, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 
0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 
0x02, 0x00, 0x01, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 
0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x15, 0x00, 
0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x15, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 
0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00, 
0x09, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 
0x0a, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 
0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x05, 0x00, 
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 
0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 
0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 
0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 
0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 
0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x15, 0x00, 0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x15, 0x00, 
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00, 
0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00, 
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0d, 0x00, 
0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0f, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x08, 0x00, 
0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 
0x01, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 
0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x11, 0x00, 
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x05, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x01, 0x00, 0x02, 0x00, 0x1c, 0x00, 
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 0x1d, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x11, 0x00, 
0x1f, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x15, 0x00, 0x15, 0x00, 
0x1d, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x19, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 
0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x0f, 0x00, 0x05, 0x00, 0x05, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 
0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x0c, 0x00, 
0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0
x00, 0x00, 0x06, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x0a, 0x00, 0x09, 0x00, 
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x15, 0x00, 
0x16, 0x00, 0x14, 0x00, 0x16, 0x00, 0x15, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x15, 0x00, 
0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0f, 0x00, 0x09, 0x00, 0x09, 0x00, 0x09, 0x00, 0x0f, 0x00, 
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0d, 0x00, 
0x09, 0x00, 0x19, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/*font size : (8, 16), font number : 128*/
const unsigned char fontresEng[] = { /* Ascii code */
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0xe0, 0x0f, 0x10, 0x10, 0x90, 0x14, 0xd0, 0x10, 0xd0, 0x10, 0x90, 0x14, 0x10, 0x10, 0xe0, 0x0f, 
0xe0, 0x0f, 0xf0, 0x1f, 0x70, 0x1b, 0x30, 0x1f, 0x30, 0x1f, 0x70, 0x1b, 0xf0, 0x1f, 0xe0, 0x0f, 
0x00, 0x00, 0x80, 0x07, 0xc0, 0x0f, 0xe0, 0x0f, 0xf0, 0x07, 0xe0, 0x0f, 0xc0, 0x0f, 0x80, 0x07, 
0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01, 
0x80, 0x03, 0x80, 0x03, 0x90, 0x0f, 0x70, 0x1c, 0x70, 0x1c, 0x90, 0x0f, 0x80, 0x03, 0x80, 0x03, 
0x00, 0x03, 0x80, 0x07, 0x90, 0x0f, 0xf0, 0x1f, 0xf0, 0x1f, 0x90, 0x0f, 0x80, 0x07, 0x00, 0x03, 
0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xc0, 0x03, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 
0xfe, 0x7f, 0xfe, 0x7f, 0x7e, 0x7e, 0x3e, 0x7c, 0x3e, 0x7c, 0x7e, 0x7e, 0xfe, 0x7f, 0xfe, 0x7f, 
0x00, 0x00, 0xc0, 0x03, 0x60, 0x06, 0x20, 0x04, 0x20, 0x04, 0x60, 0x06, 0xc0, 0x03, 0x00, 0x00, 
0xfe, 0x7f, 0x3e, 0x7c, 0x9e, 0x79, 0xde, 0x7b, 0xde, 0x7b, 0x9e, 0x79, 0x3e, 0x7c, 0xfe, 0x7f, 
0x00, 0x00, 0xe0, 0x00, 0xf0, 0x01, 0x10, 0x03, 0x10, 0x17, 0xf0, 0x1d, 0xe0, 0x18, 0x00, 0x1e, 
0x00, 0x00, 0x40, 0x0e, 0x40, 0x1f, 0xf0, 0x11, 0xf0, 0x11, 0x40, 0x1f, 0x40, 0x0e, 0x00, 0x00, 
0x00, 0x0e, 0x00, 0x1f, 0x00, 0x11, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 
0x30, 0x00, 0x70, 0x00, 0xf0, 0x1f, 0xe0, 0x1f, 0x00, 0x14, 0x00, 0x14, 0x00, 0x1c, 0x00, 0x1c, 
0x38, 0x00, 0xf8, 0x1f, 0xf0, 0x1f, 0x00, 0x14, 0x00, 0x14, 0x70, 0x14, 0xf0, 0x1f, 0xe0, 0x1f, 
0x00, 0x00, 0xe0, 0x01, 0xe0, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 
0x00, 0x00, 0xf0, 0x1f, 0xe0, 0x0f, 0xc0, 0x07, 0x80, 0x03, 0x80, 0x03, 0x00, 0x01, 0x00, 0x01, 
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x80, 0x03, 0x80, 0x03, 0xc0, 0x07, 0xe0, 0x0f, 0xf0, 0x1f, 
0x00, 0x00, 0x40, 0x04, 0x60, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f, 0x60, 0x0c, 0x40, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xb0, 0x1f, 0xb0, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x1f, 0xb0, 0x1f, 
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xe0, 0x01, 0xe0, 0x01, 
0x00, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 
0x00, 0x00, 0x48, 0x04, 0x68, 0x0c, 0xf8, 0x1f, 0xf8, 0x1f, 0x68, 0x0c, 0x48, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x04, 0x00, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x0c, 0x00, 0x04, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x60, 0x00, 0x40, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x40, 0x05, 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01, 
0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0x40, 0x05, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 
0x00, 0x00, 0xc0, 0x03, 0xc0, 0x03, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 
0x00, 0x01, 0x80, 0x03, 0xc0, 0x07, 0x00, 0x01, 0x00, 0x01, 0xc0, 0x07, 0x80, 0x03, 0x00, 0x01, 
0x00, 0x00, 0x60, 0x00, 0xe0, 0x01, 0xe0, 0x07, 0xe0, 0x0f, 0xe0, 0x07, 0xe0, 0x01, 0x60, 0x00, 
0x00, 0x00, 0x00, 0x0c, 0x00, 0x0f, 0xc0, 0x0f, 0xe0, 0x0f, 0xc0, 0x0f, 0x00, 0x0f, 0x00, 0x0c, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xb0, 0x1f, 0xb0, 0x1f, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x38, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 
0x00, 0x00, 0x40, 0x04, 0xf0, 0x1f, 0xf0, 0x1f, 0x40, 0x04, 0xf0, 0x1f, 0xf0, 0x1f, 0x40, 0x04, 
0x00, 0x00, 0x60, 0x0e, 0x30, 0x1f, 0x10, 0x11, 0x1c, 0x71, 0x1c, 0x71, 0xf0, 0x19, 0xe0, 0x0c, 
0x00, 0x00, 0x10, 0x06, 0x30, 0x06, 0x60, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x30, 0x03, 0x30, 0x06, 
0x00, 0x00, 0xe0, 0x00, 0xf0, 0x0d, 0x10, 0x1f, 0x90, 0x13, 0xe0, 0x1e, 0xf0, 0x0d, 0x10, 0x01, 
0x00, 0x00, 0x00, 0x04, 0x00, 0x3c, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0xe0, 0x0f, 0x30, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x30, 0x18, 0xe0, 0x0f, 0xc0, 0x07, 0x00, 0x00, 
0x00, 0x01, 0x40, 0x05, 0xc0, 0x07, 0x80, 0x03, 0x80, 0x03, 0xc0, 0x07, 0x40, 0x05, 0x00, 0x01, 
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xe0, 0x0f, 0xe0, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x78, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x60, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x00, 0x03, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x18, 
0x00, 0x00, 0xe0, 0x0f, 0xf0, 0x1f, 0x90, 0x11, 0x10, 0x13, 0x10, 0x16, 0xf0, 0x1f, 0xe0, 0x0f, 
0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x10, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x00, 0x10, 0x00, 
0x00, 0x00, 0x30, 0x08, 0x70, 0x18, 0xd0, 0x10, 0x90, 0x11, 0x10, 0x13, 0x30, 0x1e, 0x30, 0x0c, 
0x00, 0x00, 0x20, 0x08, 0x30, 0x18, 0x10, 0x11, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x1f, 0xe0, 0x0e, 
0x00, 0x00, 0x80, 0x01, 0x80, 0x03, 0x80, 0x06, 0x90, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f, 0x90, 0x00, 
0x00, 0x00, 0x20, 0x1f, 0x30, 0x1f, 0x10, 0x11, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x11, 0xe0, 0x10, 
0x00, 0x00, 0xe0, 0x07, 0xf0, 0x0f, 0x10, 0x19, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x01, 0xe0, 0x00, 
0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0xf0, 0x10, 0xf0, 0x11, 0x00, 0x13, 0x00, 0x1e, 0x00, 0x1c, 
0x00, 0x00, 0xe0, 0x0e, 0xf0, 0x1f, 0x10, 0x11, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x1f, 0xe0, 0x0e, 
0x00, 0x00, 0x00, 0x0e, 0x10, 0x1f, 0x10, 0x11, 0x10, 0x11, 0x30, 0x11, 0xe0, 0x1f, 0xc0, 0x0f, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x60, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x70, 0x0c, 0x60, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0xc0, 0x06, 0x60, 0x0c, 0x30, 0x18, 0x10, 0x10, 0x00, 0x00, 
0x00, 0x00, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x40, 0x02, 0x00, 0x00, 
0x00, 0x00, 0x10, 0x10, 0x30, 0x18, 0x60, 0x0c, 0xc0, 0x06, 0x80, 0x03, 0x00, 0x01, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x0c, 0x00, 0x1c, 0x00, 0x10, 0xb0, 0x11, 0xb0, 0x13, 0x00, 0x1e, 0x00, 0x0c, 
0x00, 0x00, 0xe0, 0x0f, 0xf0, 0x1f, 0x10, 0x10, 0xd0, 0x13, 0xd0, 0x13, 0xd0, 0x1f, 0x80, 0x0f, 
0x00, 0x00, 0xf0, 0x03, 0xf0, 0x07, 0x80, 0x0c, 0x80, 0x18, 0x80, 0x0c, 0xf0, 0x07, 0xf0, 0x03, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x11, 0x10, 0x11, 0xf0, 0x1f, 0xe0, 0x0e, 
0x00, 0x00, 0xc0, 0x07, 0xe0, 0x0f, 0x30, 0x18, 0x10, 0x10, 0x10, 0x10, 0x30, 0x18, 0x60, 0x0c, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x30, 0x18, 0xe0, 0x0f, 0xc0, 0x07, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x11, 0x90, 0x13, 0x30, 0x18, 0x70, 0x1c, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x11, 0x80, 0x13, 0x00, 0x18, 0x00, 0x1c, 
0x00, 0x00, 0xc0, 0x07, 0xe0, 0x0f, 0x30, 0x18, 0x90, 0x10, 0x90, 0x10, 0xe0, 0x18, 0xf0, 0x0c, 
0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xf0, 0x1f, 0xf0, 0x1f, 
0x00, 
0x00, 0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x60, 0x00, 0x70, 0x00, 0x10, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xe0, 0x1f, 0x00, 0x10, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x01, 0xc0, 0x07, 0xf0, 0x1e, 0x30, 0x18, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x00, 0x30, 0x00, 0x70, 0x00, 
0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x0c, 0xf0, 0x1f, 0xf0, 0x1f, 
0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 0xf0, 0x1f, 0xf0, 0x1f, 
0x00, 0x00, 0xc0, 0x07, 0xe0, 0x0f, 0x30, 0x18, 0x10, 0x10, 0x30, 0x18, 0xe0, 0x0f, 0xc0, 0x07, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x11, 0x00, 0x11, 0x00, 0x1f, 0x00, 0x0e, 
0x00, 0x00, 0xc0, 0x0f, 0xe0, 0x1f, 0x20, 0x10, 0xe0, 0x10, 0x78, 0x10, 0xf8, 0x1f, 0xc8, 0x0f, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x11, 0x80, 0x11, 0xf0, 0x1f, 0x70, 0x0e, 
0x00, 0x00, 0x60, 0x0c, 0x70, 0x1e, 0x10, 0x13, 0x10, 0x11, 0x90, 0x11, 0xf0, 0x1c, 0x60, 0x0c, 
0x00, 0x18, 0x00, 0x10, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x00, 0x10, 0x00, 0x18, 
0x00, 0x00, 0xe0, 0x1f, 0xf0, 0x1f, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0xf0, 0x1f, 0xe0, 0x1f, 
0x00, 0x00, 0xc0, 0x1f, 0xe0, 0x1f, 0x30, 0x00, 0x10, 0x00, 0x30, 0x00, 0xe0, 0x1f, 0xc0, 0x1f, 
0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x60, 0x00, 0xc0, 0x00, 0x60, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 
0x00, 0x00, 0x70, 0x1c, 0xf0, 0x1e, 0x80, 0x03, 0x00, 0x01, 0x80, 0x03, 0xf0, 0x1e, 0x70, 0x1c, 
0x00, 0x00, 0x00, 0x1c, 0x10, 0x1e, 0xf0, 0x03, 0xf0, 0x01, 0xf0, 0x03, 0x10, 0x1e, 0x00, 0x1c, 
0x00, 0x00, 0x70, 0x1c, 0xf0, 0x18, 0x90, 0x11, 0x10, 0x13, 0x10, 0x16, 0x30, 0x1c, 0x70, 0x18, 
0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x1c, 0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 0xc0, 0x01, 0xe0, 0x00, 0x70, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x08, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x08, 
0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x70, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x60, 0x00, 0xf0, 0x02, 0x90, 0x02, 0x90, 0x02, 0xe0, 0x03, 0xf0, 0x01, 0x10, 0x00, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xe0, 0x1f, 0x10, 0x02, 0x10, 0x03, 0xf0, 0x01, 0xe0, 0x00, 
0x00, 0x00, 0xe0, 0x01, 0xf0, 0x03, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x30, 0x03, 0x20, 0x01, 
0x00, 0x00, 0xe0, 0x00, 0xf0, 0x01, 0x10, 0x03, 0x10, 0x12, 0xe0, 0x1f, 0xf0, 0x1f, 0x10, 0x00, 
0x00, 0x00, 0xe0, 0x01, 0xf0, 0x03, 0x90, 0x02, 0x90, 0x02, 0x90, 0x02, 0xb0, 0x03, 0xa0, 0x01, 
0x00, 0x00, 0x10, 0x01, 0xf0, 0x0f, 0xf0, 0x1f, 0x10, 0x11, 0x00, 0x19, 0x00, 0x0c, 0x00, 0x00, 
0x00, 0x00, 0xc8, 0x01, 0xec, 0x03, 0x24, 0x02, 0x24, 0x02, 0xfc, 0x01, 0xf8, 0x03, 0x00, 0x02, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x00, 0x01, 0x00, 0x02, 0xf0, 0x03, 0xf0, 0x01, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0xf0, 0x1b, 0xf0, 0x1b, 0x10, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x04, 0x02, 0xfc, 0x1b, 0xf8, 0x1b, 0x00, 0x00, 
0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x80, 0x00, 0xc0, 0x01, 0x70, 0x03, 0x30, 0x02, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xf0, 0x1f, 0xf0, 0x1f, 0x10, 0x00, 0x00, 0x00, 
0x00, 0x00, 0xf0, 0x01, 0xf0, 0x03, 0x00, 0x01, 0xf0, 0x01, 0x00, 0x01, 0xf0, 0x03, 0xf0, 0x01, 
0x00, 0x00, 0x00, 0x02, 0xf0, 0x03, 0xf0, 0x01, 0x00, 0x02, 0x00, 0x02, 0xf0, 0x03, 0xf0, 0x01, 
0x00, 0x00, 0xe0, 0x01, 0xf0, 0x03, 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0xf0, 0x03, 0xe0, 0x01, 
0x00, 0x00, 0x04, 0x02, 0xfc, 0x03, 0xfc, 0x01, 0x24, 0x02, 0x20, 0x02, 0xe0, 0x03, 0xc0, 0x01, 
0x00, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0x20, 0x02, 0x24, 0x02, 0xfc, 0x01, 0xfc, 0x03, 0x04, 0x02, 
0x00, 0x00, 0x10, 0x02, 0xf0, 0x03, 0xf0, 0x01, 0x10, 0x03, 0x00, 0x02, 0x80, 0x03, 0x80, 0x01, 
0x00, 0x00, 0x20, 0x01, 0xb0, 0x03, 0x90, 0x02, 0xd0, 0x02, 0x50, 0x02, 0x70, 0x03, 0x20, 0x01, 
0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0xe0, 0x0f, 0xf0, 0x1f, 0x10, 0x02, 0x30, 0x02, 0x20, 0x00, 
0x00, 0x00, 0xe0, 0x03, 0xf0, 0x03, 0x10, 0x00, 0x10, 0x00, 0xe0, 0x03, 0xf0, 0x03, 0x10, 0x00, 
0x00, 0x00, 0x80, 0x03, 0xc0, 0x03, 0x60, 0x00, 0x30, 0x00, 0x60, 0x00, 0xc0, 0x03, 0x80, 0x03, 
0x00, 0x00, 0xe0, 0x03, 0xf0, 0x03, 0x30, 0x00, 0x60, 0x00, 0x30, 0x00, 0xf0, 0x03, 0xe0, 0x03, 
0x00, 0x00, 0x10, 0x02, 0x30, 0x03, 0xe0, 0x01, 0xc0, 0x00, 0xe0, 0x01, 0x30, 0x03, 0x10, 0x02, 
0x00, 0x00, 0xc0, 0x03, 0xe4, 0x03, 0x24, 0x00, 0x24, 0x00, 0x2c, 0x00, 0xf8, 0x03, 0xf0, 0x03, 
0x00, 0x00, 0x10, 0x03, 0x30, 0x03, 0x70, 0x02, 0xd0, 0x02, 0x90, 0x03, 0x30, 0x03, 0x30, 0x02, 
0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0xe0, 0x0f, 0xf0, 0x1e, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1e, 0xf0, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0xf0, 0x1e, 0xe0, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x08, 0x00, 0x18, 0x00, 0x10, 0x00, 0x18, 0x00, 0x08, 0x00, 0x18, 0x00, 0x10, 
0x00, 0x00, 0xe0, 0x00, 0xe0, 0x01, 0x20, 0x03, 0x20, 0x06, 0x20, 0x03, 0xe0, 0x01, 0xe0, 0x00, };

--- NEW FILE: gpgraphic.h ---

#ifndef 	__GRAPHIC_H__
#define		__GRAPHIC_H__

#define GPC_DRAW_OK				0
#define	GPC_DRAW_ERR_FULL		1
#define GPC_DRAW_ERR_PARAM		2
#define GPC_DRAW_ERR_UNKNOWN	3
#define GPC_DRAW_ERR_OUTOFMEM	4

#define GPC_LCD_ON_BIT			0x80
#define GPC_LCD_VACTIVE			0x40
#define GPC_LCD_HACTIVE			0x20

typedef struct tagGPLCDINFO{
	union{
		int U32_lcd;
		struct{
			char clk_value;
			char lcd_buf_count;
			char bpp;
			char b_lcd_on;
		}U8_lcd;
	}lcd_global;
	unsigned int buffer_size;
	unsigned int * buf_addr[4];
	unsigned int * r_palette;
	unsigned int * m_palette;
}GPLCDINFO;

typedef struct tagGPDRAWTAG{
	int restoreflag;
	short clip_x;
	short clip_y;
	short clip_w;
	short clip_h;
}GPDRAWTAG;

typedef struct tagGPDRAWSURFACE{
	unsigned char * ptbuffer;
	int bpp;	/*reserved*/
	int buf_w;
	int buf_h;
	int ox;
	int oy;
	unsigned char * o_buffer;
} GPDRAWSURFACE;

#define GPC_DFLAG_1BPP	1
#define GPC_DFLAG_2BPP	2
#define GPC_DFLAG_4BPP	4
#define GPC_DFLAG_8BPP	8
#define GPC_DFLAG_16BPP	16

int GpGraphicModeSet(int gd_bpp, int * gp_pal);
void GpLcdInfoGet(GPLCDINFO * p_info);
void GpLcdEnable(void);
void GpLcdDisable(void);
int GpLcdStatusGet(void);
int GpLcdSurfaceGet(GPDRAWSURFACE * ptgpds, int idx);
int GpMemSurfaceGet(GPDRAWSURFACE * ptgpds);
extern void (*GpSurfaceSet)(GPDRAWSURFACE * ptgpds);
extern void (*GpSurfaceFlip)(GPDRAWSURFACE * ptgpds);
unsigned char * GpLcdLock(void);
void GpLcdUnlock(void);

#define GPC_PAL_RED_MASK	0xf800
#define GPC_PAL_GREEN_MASK	0x07c0
#define GPC_PAL_BLUE_MASK	0x003e
#define GPC_PALCHAN_RED_BIT		0x4
#define GPC_PALCHAN_GREEN_BIT	0x2
#define GPC_PALCHAN_BLUE_BIT	0x1

typedef unsigned short GP_PALETTEENTRY;
typedef struct tag_GP_LOGPALENTRY{
	unsigned char peRed;
	unsigned char peGreen;
	unsigned char peBlue;
	unsigned char peFlags;
}GP_LOGPALENTRY;

typedef unsigned long * GP_HPALETTE;
GP_HPALETTE GpPaletteCreate (int entry_num, GP_PALETTEENTRY * pal_entry);
GP_HPALETTE GpPaletteCreateEx (int entry_num, GP_LOGPALENTRY * pal_entry);

GP_HPALETTE GpPaletteSelect(GP_HPALETTE h_new);

unsigned int GpPaletteRealize (void);
int GpPaletteDelete (GP_HPALETTE hPal);
#define GPC_PAL_SYNC_REALIZE	0
#define GPC_PAL_ASYNC_REALIZE	1
#define GPC_PAL_NO_REALIZE		2
int GpPaletteEntryChange (int pal_offset, int entry_num, GP_PALETTEENTRY * pal_entry, int flag);
int GpPaletteEntryChangeEx (int pal_offset, int entry_num, GP_LOGPALENTRY * pal_entry, int flag);

GP_HPALETTE GpRegPalGet (void);
GP_HPALETTE GpLogPalGet (void);

int GpLcdFade (int fade_step, GP_HPALETTE old_pal);
void GpLcdNoFade (GP_HPALETTE old_pal);
int GpLcdChanFade (int fade_step, int chan, GP_HPALETTE old_pal);
int GpLcdFadeNormalize (GP_HPALETTE basic_pal);

int GpBitBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char * src, int sx,int sy,int imgw,int imgh);
int GpTransBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char *src,int sx,int sy,int imgw,int imgh,unsigned char color);
int GpBitLRBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char * src,int sx,int sy,int imgw,int imgh);
int GpTransLRBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char* src,int sx,int sy,int imgw,int imgh,unsigned char color);
int GpBitUDBlt (GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char * src,int sx,int sy,int imgw,int imgh);
int GpTransUDBlt(GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char* src,int sx,int sy,int imgw,int imgh,unsigned char color);
int GpRectFill(GPDRAWTAG * gptag,GPDRAWSURFACE * ptgpds,int dx,int dy,int width,int height,unsigned char color);

void GpPointSet(GPDRAWSURFACE * ptgpds,int x, int y, unsigned char color);
void GpLineDraw(GPDRAWSURFACE * ptgpds,int xS,int yS,int xE,int yE,unsigned char color);
void GpRectDraw(GPDRAWSURFACE * ptgpds,int left,int top,int right,int bottom,unsigned char color);
void GpEllipseDraw(GPDRAWSURFACE * ptgpds,int xS,int yS,int w,int h,unsigned char color);

/*************************************************************************************************

GPGRAPHIC Effect API

	You must import libgpg_ex??.a for using the following:


CURRENTLY, THE FOLLOWING ARE ALLOWED

  GPC_GDFX_COPY
  GPC_GDFX_TRANS
  GPC_GDFX_EASYBLEND
  GPC_GDFX_TRANS | GPC_GDFX_EASYBLEND
  GPC_GDFX_BLEND
  GPC_GDFX_TRANS | GPC_GDFX_BLEND
  GPC_GDFX_INVERT
  GPC_GDFX_TRANS | GPC_GDFX_INVERT
  GPC_GDFX_LRFLIP
  GPC_GDFX_UDFLIP
  GPC_GDFX_TRANS | GPC_GDFX_LRFLIP
  GPC_GDFX_TRANS | GPC_GDFX_UDFLIP
  GPC_GDFX_RAYPLUS
  GPC_GDFX_TRANS | GPC_GDFX_RAYPLUS
  GPC_GDFX_TRANS | GPC_GDFX_MASKING
  GPC_GDFX_MASKING | GPC_GDFX_RAYPLUS
  GPC_GDFX_TRANS | GPC_GDFX_CHRAYPLUS
  GPC_GDFX_TRANS | GPC_GDFX_PART_RAY
  GPC_GDFX_RAYMINUS
  GPC_GDFX_TRANS | GPC_GDFX_RAYMINUS
  GPC_GDFX_MASKING | GPC_GDFX_RAYMINUS
*****************************************************************************************************/

#define GPC_GDFX_NOEFFECT	0x00
#define GPC_GDFX_COPY		0x01
#define GPC_GDFX_TRANS		0x02
#define GPC_GDFX_EASYBLEND	0x04
#define GPC_GDFX_BLEND		0x08
#define GPC_GDFX_EXCHANGE	0x10
#define GPC_GDFX_INVERT		0x20
#define GPC_GDFX_LRFLIP		0x40
#define GPC_GDFX_UDFLIP		0x80
#define GPC_GDFX_RAYPLUS	0x100
#define GPC_GDFX_MASKING	0x200
#define GPC_GDFX_CHRAYPLUS	0x400
#define GPC_GDFX_PART_RAY	0x800
#define GPC_GDFX_RAYMINUS	0x1000
#define GPC_GDFX_SRC_RPLUS	0x2000

typedef struct tagGPGD_FX{
	int fx_flag;		/*effect option*/
	int v_default;		/*default value*/
	int v_tmp;		/*temporary value*/
	int * v_list;		/*value list (not yet used)*/
}GPGD_FX;

int GpFxBlt(GPDRAWTAG *gptag, GPDRAWSURFACE *tggpds, int dx, int dy, int width, int height, GPDRAWSURFACE *srcgpds, GPGD_FX *gpfx);

#endif /*__gpgraphic_h__*/



--- NEW FILE: gpmem.h ---

#ifndef __GPMEM_H__
#define	 __GPMEM_H__ 

typedef struct tagGM_HEAP_DEF{
	void * heapstart;
	void * heapend;
        } GM_HEAP_DEF;

struct tagGPMEMFUNC{
	void * (*malloc)(unsigned int size);
	void * (*zimalloc)(unsigned int size);
	void * (*calloc)(int count, unsigned int size);
	void (*free)(void * pt);
	unsigned int (*availablemem)(void);
	void * (*malloc_ex)(unsigned int size, int ex_flag, unsigned char init_val);
	void (*free_ex)(void);
	void * (*make_mem_partition)(struct tagGPMEMFUNC * p_mem_sub, unsigned int size, int * err_no);
        };
typedef struct tagGPMEMFUNC GPMEMFUNC;

typedef struct tagGPSTRFUNC{
	void (*memset)(void * ptr, unsigned char val, unsigned int size);
	void * (*memcpy)(void * s1, const void * s2, unsigned int size);
	char * (*strcpy)(char * s1, const char * s2);
	char * (*strncpy)(char * s1, const char * s2, unsigned int size); 
	char * (*strcat)(char * s1, const char * s2);
	char * (*strncat)(char * s1, const char * s2, unsigned int size);
	int (*gpstrlen)(const char * s);
	int (*sprintf)(char * buf, const char * fmt, ...);
	void (*uppercase)(char *ptr, int count);
	void (*lowercase)(char *ptr, int count);
	int (*compare)(const char *pt1, const char *pt2);
	void (*trim_right)(const char *ptr);
} GPSTRFUNC;

void gm_heap_init(GM_HEAP_DEF * p_def);

extern void * gm_malloc(unsigned int size);
extern void * gm_zi_malloc(unsigned int size);
#define MALLOC_EX_AUTOFREE		0x1
#define MALLOC_EX_MEMSET		0x2
extern void * gm_malloc_ex(unsigned int size, int ex_flag, unsigned char init_val);
extern void * gm_calloc(int count, unsigned int size);
extern void gm_free(void * pt);
extern void gm_free_ex(void);
extern unsigned int gm_availablesize(void);
extern void * gm_make_mem_part(GPMEMFUNC * p_mem_sub, unsigned int size, int * err_no);

extern void gm_memset(void * /*ptr*/, unsigned char /*val*/, unsigned int /*size*/);
extern void * gm_memcpy(void * /*s1*/, const void * /*s2*/, unsigned int /*size*/);
extern char * gm_strcpy(char * /*s1*/, const char * /*s2*/);
extern char * gm_strncpy(char * /*s1*/, const char * /*s2*/, unsigned int /*size*/);
extern char * gm_strcat(char * /*s1*/, const char * /*s2*/);
extern char * gm_strncat(char * /*s1*/, const char * /*s2*/, unsigned int /*size*/);
extern int gm_lstrlen(const char * /*s*/);
extern int gm_sprintf(char * buf, const char * fmt, ...);
extern void gm_lowercase(char * ptr, int count);
extern void gm_uppercase(char * ptr, int count);
extern int gm_compare(const char * pt1, const char * pt2);
extern void gm_trim_right(const char * ptr);

#endif /*__GPMEM_H__*/



--- NEW FILE: gpmm.h ---

#ifndef	__GPMM_H__
#define	__GPMM_H__

/* MIDI related  */
#define GPC_MIDISTATUS_BUSY	1
#define GPC_MIDISTATUS_READY	0
#define GPC_MIDISTATUS_PAUSED 	2

void GpMidiPlay (unsigned char * midisrc,int repeatcount);
void GpMidiListPlay (unsigned char ** srclist,int listcount);
void GpMidiStop (void);
void GpMidiPause (void);
void GpMidiReplay (void);
int GpMidiStatusGet (int * played);

/* PCM related */
#define GPC_EPCM_OK		0
#define GPC_EPCM_FULL		1
#define GPC_EPCM_NO_INIT	2

typedef enum{
	PCM_M11,
	PCM_S11,
	PCM_M22,
	PCM_S22,
	PCM_M44,
	PCM_S44
} PCM_SR;

typedef enum{
	PCM_8BIT,
	PCM_16BIT
} PCM_BIT;

int GpPcmInit (PCM_SR sr, PCM_BIT bit_count);
int GpPcmPlay (unsigned short * src, int size, int repeatflag);
void GpPcmRemove (unsigned short * src);
void GpPcmStop (void);
int GpPcmEnvGet (PCM_SR * p_sr, PCM_BIT * p_bit_count, int * p_real_sr);

int GpPcmLock (unsigned short * p_src, int * idx_buf, unsigned int * addr_of_playing_buf);
void GpPcmOnlyKill (unsigned short * p_src);

#endif	/*__GENERALMIDI_H__*/

--- NEW FILE: gpos_def.h ---
#ifndef __gpos_def_h__
#define __gpos_def_h__

typedef enum{
	H_THREAD_SOUND,
	H_THREAD_IDLE,
	H_THREAD_GPMAIN,
	H_THREAD_NET,
	H_THREAD_TMR0,
	H_THREAD_TMR1,
	H_THREAD_TMR2,
	H_THREAD_TMR3
}H_THREAD;

/*************************************************************
* OS launching flag			                                 *
*************************************************************/
#define ALLOW_PRIORITY_REVERSION	0x1						//BIT [0] flag : if set, allow reversion.

/*******************************************************************/
/*Schedule related define*/
#define GPOS_DFT_RUNNING_TIME	20	//20*2 = 40ms
#define GPOS_DFT_SUSPEND_TIME	5	//5*2 = 10ms
/*******************************************************************/

/*******************************************************************/
/*Priority define*/
#define GPOS_PRIO_ABOVE_NORMAL	2
#define GPOS_PRIO_NORMAL		3
#define GPOS_PRIO_BELOW_NORMAL	4
#define GPOS_PRIO_LOW			5
/*******************************************************************/

/*******************************************************************/
/*GP kernel related return values list*/
#define GPOS_ERR_OK					0
#define GPOS_ERR_NOEFFECT			1
#define GPOS_ERR_INVALIDARG			2
#define GPOS_ERR_ALREADY_USED		3
#define GPOS_ERR_INVALID_ACCESS		4
#define GPOS_ERR_OUTOFMEM			5
#define GPOS_ERR_STACK				6
#define GPOS_ERR_PENDED_THREAD		7
/*******************************************************************/

/*******************************************************************/
/*User thread define*/
#define GPC_MAXPROGTIMER	4

int GpTimerOptSet(int idx, int tmr_tps, int max_exec_tick, void (*irq_tmrfunc)(void));
int GpTimerSet(int idx);
int GpTimerPause(int idx);
int GpTimerResume(int idx);
void GpTimerKill(int idx);
/*******************************************************************/

/*******************************************************************/
/*GP kernel control define*/
void GpMain(void * arg);
void GpKernelInitialize(void);
void GpKernelStart(void);
void GpKernelOptSet(int flag);
void GpKernelLock(void);
void GpKernelUnlock(void);
void GpThreadSleep(unsigned int delay);
int GpThreadOptSet(H_THREAD th, int priority, int stk_size);	/*return ok or err*/
H_THREAD GpThreadHandleGet(void);
void GpNetThreadAct(void (*t_func)(void));
void GpNetThreadDelete(void);
/*******************************************************************/

int GpPredefinedStackGet(H_THREAD th);

#endif

--- NEW FILE: gpsockdef.h ---

#ifndef __GPSOCKDEF_H__
#define __GPSOCKDEF_H__

/*****************************************************************************/
typedef enum{
	GNS_MDM_INIT,
	GNS_MDM_DIAL,
	GNS_MDM_HANGUP,
	GNS_TIME_OUT,	/*lcp or ipcp time out for an ack long enough */
	GNS_LCP_UP,
	GNS_IP_UP,
	GNS_USR_SEND,
	GNS_PPP_QUIT,
	GNS_ERR_CHAP,
	GNS_ERR_PAP
}GP_NET_STATE;

/***************************************************************************/
struct tagGP_COMM_OPT{
	int baudrate;
	void (*uart_reset)(int ch);
	void (*uart_open)(int ch, int baudrate, int en_int);
	void (*uart_sendc)(int ch, unsigned char data);
	int (*uart_getc)(int ch, unsigned char * data);
	int (*uart_sendready)(int channel);
	unsigned int (*get_nettick)(void);
};
typedef struct tagGP_COMM_OPT GP_COMM_OPT;

struct tagGP_COMM_MEM{
	void* (*malloc)(unsigned int nbyte);
	void (*free)(void * pt);
};
typedef struct tagGP_COMM_MEM GP_COMM_MEM; 

/*****************************************************************************/
#define MAX_PARAM_STRING	128

struct tagGP_INET_OPT{
	char gp_phone_num[MAX_PARAM_STRING];
	char gp_userid[MAX_PARAM_STRING];
	char gp_pwd[MAX_PARAM_STRING];
	char gp_fhost[MAX_PARAM_STRING];
	int gp_fport;
	char gp_modem_init_cmd[MAX_PARAM_STRING];
	char gp_modem_sub_cmd[MAX_PARAM_STRING];
	int gp_ppp_tmo;
	int gp_line_tmo;
	void (*deliver_state)(GP_NET_STATE msg);
	char gp_dns_addr[MAX_PARAM_STRING];
#ifdef GPNET_DEBUG
	void (*deliver_msg)(const char *p_str);
	void (*copy_tx)(unsigned char data);
	void (*copy_rx)(unsigned char data);
#endif	
};
typedef struct tagGP_INET_OPT GP_INET_OPT;

/****************************************************************************/
extern GP_COMM_OPT gp_comm_opt;
extern GP_COMM_MEM gp_comm_mem;
extern GP_INET_OPT gp_inet_opt;

#endif /*__GPSOCKDEF_H__*/

--- NEW FILE: gpstdio.h ---

#ifndef __GPSTDIO_H__
#define __GPSTDIO_H__

#include "gpdef.h"
/*****************************************************************/
/*GP32 FAT                                                        */
/*****************************************************************/
typedef enum {
	SM_OK,					/* 0 */
	ERR_FLASH_STATUS,
	ERR_CARD_NOT_DETECTED,
	ERR_CARD_CHANGED,
	ERR_NOT_ERASED,
	ERR_NOT_FORMATTED,
	ERR_INVALID_MBR,
	ERR_INVALID_PBR,
	ERR_INVALID_FAT,
	ERR_INVALID_NAME,
	ERR_INVALID_HANDLE,		/* 10 */
	ERR_INVALID_PARAM,
	ERR_NO_EMPTY_BLOCK,
	ERR_INVALID_BLOCK,
	ERR_ECC,
	ERR_ECC_CORRECTABLE,
	ERR_FILE_OPENED,
	ERR_FILE_EXIST,
	ERR_DIR_NOT_EMPTY,
	ERR_EOF,
	ERR_FILE_NOT_OPENED,	/* 20 */
	ERR_FILE_NOT_EXIST,
	ERR_NO_LONG_NAME,
	ERR_NOT_FOUND,
	ERR_INCORRECT_FAT,
	ERR_ROOT_DIR,
	ERR_LOCKED,
	ERR_NOT_PERMITTED,
	ERR_OUT_OF_MEMORY,
	ERR_OUT_OF_ROOT_ENTRY,
	ERR_NO_MORE_ENTRY,		/* 30 */
	ERR_SM_TIMEOUT,
	ERR_SYSTEM_PARAMETER,
	ERR_INTERNAL,
	ERR_FILE_NAME_LEN_TOO_LONG,
	ERR_NO_EMPTY_CLUSTER,
	ERR_INVALID_R_PATH,
	ERR_ID_NOT_FOUND,
	ERR_ID_INVALID,
	ERR_NOT_INITIALIZED
} ERR_CODE;		/* 0 when success. otherwise error code */

typedef long F_HANDLE;	/* MSB is 1, when error. otherwise cluster
						 * number
						 *	(bits 30 - 24: device number (0 - 128))
						 *	(bits 23 - 17: file opened id) =>
						 *		used multi-access mode
						 */
						 
/* fcreate mode */
#define NOT_IF_EXIST		0
#define ALWAYS_CREATE		1

/* open mode (can be ORed) */
#define OPEN_R				1
#define OPEN_W				2

/* ddel mode */
#define NOT_IF_NOT_EMPTY	0
#define ALWAYS_DELETE		1

/* seek mode */
#define FROM_CURRENT		0
#define FROM_BEGIN			1
#define FROM_END			2

/* format mode */
#define FORMAT_NORMAL		0
#define FORMAT_RESCUE		1


typedef struct {
     uword year;
     ubyte month;
     ubyte day;
     ubyte hour;
     ubyte min;
     ubyte sec;
     ubyte msec;
}sTIME;

/**********
 * attr
 *	7-6 Reserved. Must be 0's.
 *	5: 1 = ARCHIVE file was modified
 *	4: 1 = DIRECTORY, 0 = file
 *	3: 1 = VOLUME label
 *	2: 1 = SYSTEM file or directory
 *	1: 1 = HIDDEN file or directory
 *	0: 1 = READONLY file
 **********/
typedef struct {
	udword attr;
	udword cluster;
	udword size;
	sTIME time;
} GPFILEATTR;

typedef struct {           
	char name[16];
} GPDIRENTRY;


ERR_CODE GpFatInit (void);
ERR_CODE GpRelativePathSet (const char * p_path);
void GpRelativePathGet (char *p_path);

ERR_CODE GpFileCreate (const char * p_file_name, ulong fcreate_mode, F_HANDLE *p_handle);
ERR_CODE GpFileOpen (const char * p_file_name, ulong fopen_mode, F_HANDLE *p_handle);
ERR_CODE GpFileRead (F_HANDLE h_file, void * p_buf, ulong buf_size, ulong * p_read_count);
ERR_CODE GpFileWrite (F_HANDLE h_file, const void * p_buf, ulong count);
ERR_CODE GpFileSeek (F_HANDLE h_file, ulong seek_mode, ulong offset, long * p_old_offset);
ERR_CODE GpFileClose (F_HANDLE h_file);
ERR_CODE GpFileRemove (const char * p_file_name);
ERR_CODE GpFileGetSize (const char * p_file_name, ulong * p_size);
ERR_CODE GpFileExtend (F_HANDLE h_file, ulong size);
ERR_CODE GpFileMove (const char * old_path, const char * new_path);
ERR_CODE GpFileRename (const char * old_path, const char * new_path);

ERR_CODE GpDirCreate (const char * p_dir_name, ulong dcreate_mode);
ERR_CODE GpDirRemove (const char * p_dir_name, ulong ddel_mode);
ERR_CODE GpDirEnumNum (const char * p_dir_name, ulong * p_num);
ERR_CODE GpDirEnumList (const char * p_dir_name, ulong entry_start, ulong entry_count, GPDIRENTRY * p_list, ulong * p_read_count);

ERR_CODE GpFileAttr (const char * p_name, GPFILEATTR * p_attr);

ERR_CODE GpVolumeInfo (const char * p_vol_name, ulong * total_size, ulong * used_size, ulong * free_size);
ERR_CODE GpFormat (const char * p_vol_name, ulong format_id, ulong * p_bad_block);

ERR_CODE GpNoFATUpdate (const char * p_vol_name);
ERR_CODE GpFATUpdate (const char * p_vol_name);

ERR_CODE GpFatInitialized (void);
ERR_CODE GpSMCDetected (void);

#endif

--- NEW FILE: gpstdlib.h ---
#ifndef __GPSTDLIB_H__
#define __GPSTDLIB_H__

#ifdef __cplusplus
extern "C" {
#endif

/************************************************************************/
/*SYS INITIALIZE FUNCTION*/
void _gp_sdk_init(void);
void _gp_key_polling_time_set(int loop_cnt);


/************************************************************************/
int GpAppPathSet(const char * p_path, int n_len);
char * GpAppPathGet(int * n_len /* optional */);
int GpUserInfoGet(char * p_id, char * p_pwd);
int GpArgSet(int len, char * p_arg);
int GpAppExecute(char * p_code_ptr, const char * s_path);
void GpAppExit(void);
unsigned int GpTickCountGet(void);
void GpNetTpsSet(int tps);
int GpUSBLineCheck(void);

/*Keyboard*/
void GpKeyInit(void);
int GpKeyGet(void);							/*return key data*/
int GpKeyGetEx(int * key_status);			/*return GpKeyChanged()*/
int GpKeyChanged(void);

/*CPU Speed*/
int GpClockSpeedChange(int master_speed, int div_factor, int clk_mode);
unsigned int GpMClkGet(void);
unsigned int GpHClkGet(void);
unsigned int GpPClkGet(void);
/***********************************************************************/

/***********************************************************************/
	#include "gpmem.h"

extern GPMEMFUNC gp_mem_func;
extern GPSTRFUNC gp_str_func;
/***********************************************************************/

/***********************************************************************/
void GpSrand(int seed);
unsigned int GpRand(void);
unsigned int GpRandN(unsigned n);
/***********************************************************************/

#ifdef __cplusplus
}
#endif

#endif /*__k41lib_h__*/

--- NEW FILE: initval_port.h ---
#ifndef __INITVAL_PORT_H__
#define __INITVAL_PORT_H__

/*******************************************************************/
/*at loading time, thread stack define -- implemented in gpstart.c*/
#define GPMAIN_STACK_SIZE		(100<<10)		/*100KB	-- access code = 0*/
#define NET_STACK_SIZE			(64<<10)		/*64KB	-- access code = 1*/
#define USER_STACK_SIZE			(4 << 10)		/*4KB   -- access code = 2*/
/*******************************************************************/

/*************************************************************
* Heap Management Library Attach                             *
*************************************************************/
#define USE_GP_MEM		1									/* If you don't use gpmem.alf, change USE_GP_MEM to 0 */

/*************************************************************
* Button Checking Loop count	                             *
*************************************************************/
#define KEYPOLLING_NUM	20									/* You can change polling number, but the valus must be as small as possible. */

/*************************************************************
* Processor Clock speed		                                 *
*************************************************************/
#define DEFAULT_MCLK	67800000
#define CHANGE_MCLK		0									/* If the CHANGE_MCLK is zero, the clock speed of process is 40MHz */
#if CHANGE_MCLK												/* If the CHANGE_MCLK is non-zero, select CLOCKSPEED */
	#define YOUR_SELECT_CLK		0
	#if (YOUR_SELECT_CLK == 0)
		#define CLK_SPEED       59250000
		#define DIV_FACTOR      0x47022
		#define CLK_MODE        1
	#elif (YOUR_SELECT_CLK == 1 )
	#else
	#endif
#endif /*CHANGE_MCLK*/

#endif /*__initval_port_h__*/





More information about the Scummvm-git-logs mailing list