[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git "a/ap/hostapp/zdump_ref/Linux\345\271\263\345\217\260zdump\345\212\237\350\203\275\344\275\277\347\224\250\344\273\213\347\273\215.pdf" "b/ap/hostapp/zdump_ref/Linux\345\271\263\345\217\260zdump\345\212\237\350\203\275\344\275\277\347\224\250\344\273\213\347\273\215.pdf"
new file mode 100755
index 0000000..2883dcf
--- /dev/null
+++ "b/ap/hostapp/zdump_ref/Linux\345\271\263\345\217\260zdump\345\212\237\350\203\275\344\275\277\347\224\250\344\273\213\347\273\215.pdf"
Binary files differ
diff --git a/ap/hostapp/zdump_ref/Makefile b/ap/hostapp/zdump_ref/Makefile
new file mode 100755
index 0000000..c353255
--- /dev/null
+++ b/ap/hostapp/zdump_ref/Makefile
@@ -0,0 +1,7 @@
+all:

+	gcc -c ramdump.c -o ramdump.o

+	gcc -c usb_dev.c -o usb_dev.o

+	gcc usb_dev.o ramdump.o -o zdump

+.PHONY:clean

+clean:

+	rm -rf *.o

diff --git a/ap/hostapp/zdump_ref/ramdump.c b/ap/hostapp/zdump_ref/ramdump.c
new file mode 100755
index 0000000..f48280b
--- /dev/null
+++ b/ap/hostapp/zdump_ref/ramdump.c
@@ -0,0 +1,645 @@
+/*******************************************************************************
+* °æÈ¨ËùÓÐ (C)2016, ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
+* 
+* ÎļþÃû³Æ:     ramdump.c
+* Îļþ±êʶ:     ramdump.c
+* ÄÚÈÝÕªÒª:     ramdump linuxµ¼³ö¹¤¾ß
+* 
+* ÐÞ¸ÄÈÕÆÚ        °æ±¾ºÅ      Ð޸ıê¼Ç        ÐÞ¸ÄÈË          ÐÞ¸ÄÄÚÈÝ
+* ------------------------------------------------------------------------------
+* 2016/3/10      V1.0        Create                             ´´½¨
+* 
+*******************************************************************************/
+
+/*******************************************************************************
+*                                   Í·Îļþ                                     *
+*******************************************************************************/
+#include<stdlib.h>
+#include<stdio.h>
+#include<string.h>
+#include<sys/types.h>
+#include<sys/stat.h>
+#include<fcntl.h>
+#include<errno.h>
+#include<getopt.h>
+#include<stdarg.h>
+#include<termios.h>
+#include<stddef.h>
+#include<dirent.h>
+#include <unistd.h>
+#include<time.h>
+//#include<properties.h>
+//#include<cutils/properties.h>
+//#include<cutils/log.h>
+
+/*******************************************************************************
+*                                  ³£Á¿¶¨Òå                                    *
+*******************************************************************************/
+
+/*******************************************************************************
+*                                   ºê¶¨Òå                                     *
+*******************************************************************************/
+#define MODEM_TRAP_PATH "/dev/ttyUSB0"
+#define MODEM_TRAP_PATH2 "/dev/ttyUSB1"
+// #define MODEM_RAMDUMP_PATH "/data/local/log/Ramdump"
+#define RAMDUMP_DEFAULT_BAUD B115200
+#define RAMDUMP_DEFAULT_DELAY 1000
+#define USB_DIR_FILE_NAME_SIZE 1024
+#define LOG_TAG "Modem_Ramdump"
+#define USB_DIR_BASE "/sys/bus/usb/devices"
+#define USB_PID 0x0197
+#define SUCCESS  0
+#define FAIL    -1
+
+//#define printf(...) ALOGE(__VA_ARGS__)
+
+/*Ramdump Ö¸ÁÒå*/
+#define DUMPFILE_LINK_REQ       (UINT32)1       //ͬ²½ÇëÇó
+#define DUMPFILE_LINK_RSP       (UINT32)2       //ͬ²½ÇëÇóÓ¦´ð£¬¸½´øramdumpÎļþÊýÄ¿
+#define DUMPFILE_FILE_REQ       (UINT32)3       //ÇëÇóÖ¸¶¨±àºÅÎļþÐÅÏ¢
+#define DUMPFILE_FILE_RSP       (UINT32)4       //Îļþ±àºÅÎļþÐÅÏ¢Ó¦´ð£¬¸½´ø´«ÊäÎļþÃû¼°´óС
+#define DUMPFILE_READ_REQ       (UINT32)5       //ÇëÇó¶Áȡָ¶¨±àºÅÎļþÄÚÈÝ
+#define DUMPFILE_READ_RSP       (UINT32)6       //ÎļþÄÚÈݶÁȡӦ´ð£¬¸½´øÎļþÄÚÈÝ
+#define DUMPFILE_END_REQ        (UINT32)7       //´«Êä½áÊø
+#define DUMPFILE_END_RSP        (UINT32)8       //´«Êä½áÊøÓ¦´ð
+#define DUMPFILE_CMD_FAIL       (UINT32)9       //Ö¸Áî´íÈ¥
+#define DUMPFILE_NO_FAIL        (UINT32)10      //Îļþ±àºÅ´íÎó
+#define DUMPFILE_LENGTH_FAIL    (UINT32)11      //ÎļþλÖôóС´íÎó
+#define CMD_BUFFER_LEN          (UINT32)16      //Ö¸Áî²Á·À¶¾
+#define FILENAME_LEN            (UINT32)32      //ÎļþÃû³¤¶È
+#define FILENAME_MAX_LEN        (UINT32)256      //ÎļþÃû×î´ó³¤¶È
+#define DATA_BLOCK_SIZE         (0x40000) // Êý¾Ý»º³å´óС
+//#define DATA_BLOCK_SIZE         (0x00800) // Êý¾Ý»º³å´óС,2k
+
+#define MIN(a, b) ((a)< (b) ? (a): (b))
+#define DEFAULT_RAMDUMP_FOLD   "/home/dujing/code/v3/ramdump/ramdump_file/"   //"/mnt/sdcard/ramdump"
+
+//#define ZTE_LOG_PATH      "/home/dujing/code/v3/ramdump/zte_file"
+#define CPLOG_PATH  "persist.service.ztelog.path"
+//#define CPLOG_TIMESTAMP_DIR  "persist.service.ztelog.timedir"
+#define __FUNCTION__ "ramdumpfuc"
+/*******************************************************************************
+*                                Êý¾ÝÀàÐͶ¨Òå                                  *
+*******************************************************************************/
+typedef struct {
+	char file_name[32];
+	unsigned int file_size;
+} file_info_t;
+typedef unsigned int UINT32;
+
+/*******************************************************************************
+*                                º¯ÊýÉùÃ÷                                  *
+*******************************************************************************/
+extern int dev_get_usbsys_val(const char *sys_filename, int base);
+extern int dev_strStartsWith(const char *line, const char *src);
+extern int dev_get_ttyport_by_syspath(char *syspath);
+extern int dev_get_device(void);
+
+/*******************************************************************************
+*                              ¾Ö²¿¾²Ì¬±äÁ¿¶¨Òå                                *
+*******************************************************************************/
+static int g_modem_fd = -1;
+static int g_reboot_flag = 0;
+static int g_moniter_time = 0;
+
+/*******************************************************************************
+*                                È«¾Ö±äÁ¿¶¨Òå                                  *
+*******************************************************************************/
+int PROPERTY_VALUE_MAX = 256;
+extern int g_usb_dev;
+/*******************************************************************************
+*                                ¾Ö²¿º¯ÊýʵÏÖ                                  *
+*******************************************************************************/
+static void mdp_print_array(const char* prefix, const char *buf, int length)
+{
+#if 0
+	int i = 0;
+	int len = MIN(length,16 );
+	printf("%s ", prefix );
+	for (i = 0; i< len; i++) {
+		printf("%02X ", buf[i]);
+	}
+	if (length > len)
+		printf("...");
+	printf("\n");
+#endif
+}
+
+static int tty_write(int fd, const char *buf, int size)
+{
+	int ret = 0;
+	int repeat_count = 0;
+WRITE:
+	ret = write(fd, buf, size);
+	if (0 == ret) {
+		printf("%s error: %s\n", __FUNCTION__, strerror(errno));
+		repeat_count += 1;
+		if (3 > repeat_count) {
+			sleep(1);
+		    goto WRITE;
+		}
+	}
+	if (ret != size) {
+		printf("%s failed, size=%d, ret=%d\n", __FUNCTION__, size, ret);
+		return -1;
+	}
+	return 0;
+}
+
+static int tty_read(int fd, char *buf, int size, unsigned int delay_ms)
+{
+	int ret = -1;
+	int read_count = 0;
+	fd_set fds;
+	int repeat_count = 0;
+	struct timeval tv;
+	if (buf == NULL)
+		return -1;
+	tv.tv_sec = delay_ms / 1000;
+	tv.tv_usec = (delay_ms % 1000) * 1000;
+	FD_ZERO(&fds);//Çå¿Õfd_set¼¯ºÏ
+	FD_SET(fd, &fds);//½«¸ø¶¨µÄÃèÊö·ûfd¼ÓÈ뼯ºÏµ±ÖÐ
+READ:
+	ret = select(fd + 1, &fds, NULL, NULL, &tv);
+	if (ret > 0) {
+		read_count = read(fd, buf, size);
+		if (read_count <= 0) {
+			printf("%s read failed for ret=%d\n", __FUNCTION__, read_count);
+			return -1;
+		}
+		return read_count;
+	} else if (ret == 0) {
+		printf("%s select time out %dms\n", __FUNCTION__, delay_ms);
+		printf("%s timeout error: %s\n", __FUNCTION__, strerror(errno));
+		if (3 > repeat_count) {
+			repeat_count += 1;
+			sleep(1);
+			goto READ;
+		}
+	} else {
+		printf("%s select failed %s\n", __FUNCTION__, strerror(errno));
+	}
+	return -1;
+}
+
+static int mdp_send(const char *buf, int size)
+{
+	mdp_print_array(__FUNCTION__, buf, size);
+	return tty_write(g_modem_fd, buf, size);
+}
+
+static int mdp_receive(char *buf, int size)
+{
+	int count = 0;
+	int ret = 0;
+	int length = size;
+	char *pbuffer = buf;
+	while (length > 0) {
+		count = tty_read(g_modem_fd, pbuffer, size, RAMDUMP_DEFAULT_DELAY);
+		if (count < 0) {
+			return -1;
+		}
+		pbuffer += count;
+		length -= count;
+	}
+	mdp_print_array(__FUNCTION__, buf, size);
+	return size;
+}
+
+static int mdp_send_command(unsigned int cmd, unsigned int argc, ...)
+{
+	char buffer[CMD_BUFFER_LEN] = {0};
+	unsigned int i = 0;
+	unsigned int arg = 0;
+	UINT32 *pbuffer = (UINT32*)buffer;
+	*pbuffer = cmd;
+	va_list ap;
+	va_start(ap, argc);
+	for (i=0; i<argc; i++) {
+		arg = va_arg(ap, unsigned int);
+		*(++pbuffer) = arg;
+	}
+	va_end(ap);
+	return mdp_send(buffer, CMD_BUFFER_LEN);
+}
+
+static int mdp_receive_ack(unsigned int ack)
+{
+	int ret = 0;
+	unsigned int  resp;
+	char buffer[64] = {0};
+	ret = mdp_receive((char *)&resp, sizeof(unsigned int));
+//    ret = mdp_receive(buffer, 64);
+	if (ret > 0) {
+//        resp = *(unsigned int*)buffer;
+		if (ack == resp)
+			return 0;
+	}
+	return -1;
+}
+
+static int init_devices(char* dev_path, speed_t speed)
+{
+	int fd = -1;
+	struct termios tios;
+	printf("%s\n", __FUNCTION__);
+	fd = open(dev_path, O_RDWR);
+	if (fd < 0) {
+		printf("Can't open %s(%s)\n", dev_path, strerror(errno));
+		return -1;
+	}
+	if (tcgetattr(fd, &tios) < 0) {
+		printf(" tcgetattr failed(%s)\n", strerror(errno));
+		return -1;
+	}
+	tios.c_cflag = CS8 | CREAD | CRTSCTS | CLOCAL;
+	tios.c_iflag = IGNPAR;
+	tios.c_oflag = 0;
+	tios.c_lflag = 0;
+	tios.c_cc[VTIME] = 0;
+	tios.c_cc[VMIN] = 1;
+	cfsetispeed(&tios, RAMDUMP_DEFAULT_BAUD);
+	cfsetospeed(&tios, RAMDUMP_DEFAULT_BAUD);
+	tcflush(fd, TCIFLUSH);
+	if (tcsetattr(fd,TCSANOW, &tios) < 0) {
+		printf(" tcgetattr failed(%s)\n", strerror(errno));
+		return -1;
+	}
+	return fd;
+}
+
+static int create_fold(char *fold)
+{
+	char buffer[256]= {0};
+	snprintf(buffer, 256, "mkdir -p %s\n", fold);
+	int ret = system(buffer);
+	if (ret < 0)
+		return -1;
+	return 0;
+}
+
+static int create_file(char* fold, char * path)
+{
+	int fd = -1;
+	DIR *pdir = NULL;
+	char file_name[FILENAME_MAX_LEN] = {0};
+	int ret = 0;
+	if ((fold==NULL) || (*fold=='\0'))
+		fold = DEFAULT_RAMDUMP_FOLD;
+	if ( (path==NULL) || (*path=='\0')) {
+		printf("%s path=NULL\n", __FUNCTION__);
+		return -1;
+	}
+	if ((pdir = opendir(fold)) == NULL) {
+		ret = create_fold(fold);
+		if (ret < 0) {
+			printf("%s create fold %s failed (%s)", __FUNCTION__, fold, strerror(errno));
+			return -1;
+		}
+	}
+	if (pdir != NULL)
+		closedir(pdir);
+	snprintf(file_name, FILENAME_MAX_LEN, "%s/%s", fold, path);
+	unlink(file_name);
+	printf("%s %s\n", __FUNCTION__, file_name);
+	fd = open(file_name, O_CREAT| O_RDWR, 0777);
+	if (fd < 0) {
+		printf("failed to create %s (%s)\n", path, strerror(errno));
+	}
+	return fd;
+}
+
+static int write_to_file(int fd, char*buffer, int size)
+{
+	int ret = 0;
+	if ((fd < 0) || (buffer==NULL) || (size<=0))
+		return -1;
+	ret = write(fd, buffer, size);
+	if (ret < size) {
+		printf("write to file failed, ret=%d, size=%d\n", ret, size);
+		return -1;
+	}
+	return 0;
+
+}
+
+static int dump_file(int index, char *fold)
+{
+	int ret = 0;
+	char path[256] = {0};
+	char cmd_buffer[CMD_BUFFER_LEN] = {0};
+	file_info_t file_info = {{0}, 0};
+	char data_buffer[DATA_BLOCK_SIZE] = {0};
+	int fd = 0;
+	int file_size, read_count, file_offset;
+
+	if ((ret = mdp_send_command(DUMPFILE_FILE_REQ, 1, index)) < 0) {
+		printf("%s failed to send command DUMPFILE_FILE_REQ\n", __FUNCTION__);
+		return -1;
+	}
+	if ((ret = mdp_receive_ack(DUMPFILE_FILE_RSP)) < 0) {
+		printf("%s failed to receive DUMPFILE_FILE_RSP\n", __FUNCTION__);
+		return -1;
+	}
+	if ((ret = mdp_receive((char*)&file_info, sizeof(file_info))) < 0) {
+		printf("%s failed to get fileinfo\n", __FUNCTION__);
+		return -1;
+	}
+	if ((fd = create_file(fold, file_info.file_name)) < 0) {
+		printf("failed to create file %s\n", file_info.file_name);
+		return -1;
+	}
+	printf("filename=%s\t size=%d\n", file_info.file_name, file_info.file_size);
+	file_size = file_info.file_size;
+	file_offset = read_count = 0;
+	while (file_size > 0) {
+		read_count = MIN(file_size, DATA_BLOCK_SIZE);
+		if (mdp_send_command(DUMPFILE_READ_REQ, 3, index, file_offset, read_count) < 0) {
+			printf("%s failed to send DUMPFILE_READ_REQ\n", __FUNCTION__);
+			ret = -1;
+			goto exit;
+		}
+		if (mdp_receive_ack(DUMPFILE_READ_RSP) < 0) {
+			printf("%s failed to receive ack DUMPFILE_READ_RSP\n", __FUNCTION__);
+			ret = -1;
+			goto exit;
+		}
+		if (mdp_receive(data_buffer, read_count) < 0) {
+			printf("failed to read file data\n");
+			ret = -1;
+			goto exit;
+		}
+		if (write_to_file(fd, data_buffer, read_count)< 0) {
+			printf("failed to write file data\n");
+			ret = -1;
+			goto exit;
+		}
+		file_offset += read_count;
+		file_size -= read_count;
+	}
+	ret = 0;
+exit:
+	close(fd);
+	return ret;;
+}
+
+static int do_modem_ramdump( char* tty, char*path)
+{
+	int ret = -1;
+	int file_number = 0;
+	int i = 0;
+
+	g_modem_fd = init_devices(tty, RAMDUMP_DEFAULT_BAUD);
+	if (g_modem_fd < 0) {
+		printf("failed to open %s\n", tty);
+		return -1;
+	}
+	if ((ret = mdp_send_command(DUMPFILE_LINK_REQ, 0)) < 0) {
+		printf("Send DUMPFILE_LINK_REQ failed\n");
+		ret = -1;
+		goto exit;
+	}
+	if ((ret = mdp_receive_ack(DUMPFILE_LINK_RSP)) < 0) {
+		printf("failed to receive DUMPFILE_LINK_RSP\n");
+		ret =  -1;
+		goto exit;
+	}
+	ret = mdp_receive((char*)&file_number, sizeof(unsigned int));
+	if (ret < 0) {
+		printf("failed to get filenumber\n");
+		ret = -1;
+		goto exit;
+	}
+	printf("file_number = %d\n", file_number);
+	for (i = 0; i < file_number; i++) {
+		printf("dump file index=%d \n", i);
+		ret = dump_file(i, path);
+		if (ret < 0) {
+			printf("dump file index=%d failed\n", i);
+			ret = -1;
+			goto exit;
+		}
+		printf("dump file index=%d success\n", i);
+	}
+	if (g_reboot_flag == 1){
+		printf("ramdump except reboot enabled\n");
+		if ((ret = mdp_send_command(DUMPFILE_END_REQ, 0)) < 0) {
+			printf("failed to send DUMPFILE_END_REQ\n");
+			ret = -1;
+			goto exit;
+		}
+		mdp_receive_ack(DUMPFILE_END_RSP);
+	}
+	ret = 0;
+exit:
+	if (g_modem_fd > 0)
+		close(g_modem_fd);
+	return ret;
+}
+
+void broadcast_ramdump_result(int success)
+{
+	char command[256];
+	snprintf(command, 256, "am broadcast -a zte.com.cn.intent_modemramdump_finished --ez extra_success %s", (success == 0 ? "true" : "false"));//Android·¢Ë͹㲥ָÁî
+	printf("%s %s\n", __FUNCTION__, command);
+	system(command);
+}
+
+static void  compress_and_rm_fold(char *pfold, char *time_str)
+{
+	char buffer[512] = {0};
+	int ret = 0;
+
+	//sunjy add 
+	//delete duplicate file which preffix is g_current_file_index;
+	snprintf(buffer, 512, "cd %s; busybox rm -rvf %s\n", pfold, "*.tgz");
+	printf("%s %s\n", __FUNCTION__, buffer);
+	system(buffer);
+
+	char preffix[256] = {0};
+	char str[256] = {0};
+	strcat(preffix, time_str);
+	strcpy(time_str, preffix);
+
+	printf("%s %s %s\n", __FUNCTION__, pfold, time_str);
+	snprintf(buffer, 512, "cd %s; busybox tar -zcf %s.tgz %s/*\n", pfold, time_str, time_str);
+	printf("%s %s\n", __FUNCTION__, buffer);
+	ret = system(buffer);
+	if(ret != 0){
+		printf("compress failed, delete the unfinished compressed file\n");
+		snprintf(buffer, 512, "cd %s; busybox rm -rf  %s.tgz \n", pfold, time_str);
+	}else {
+		printf("compress finished, delete the source fold\n");
+		snprintf(buffer, 512, "cd %s; busybox rm -rf %s\n", pfold, time_str);
+	// property_set("persist.service.ramdump.index", str); (ºóÐø´ò¿ª£©
+
+	// property_get("persist.service.ramdump.index", str, "6");  OPEN LATER
+	//printf("%s %s %s\n", __FUNCTION__, "persist.service.ramdump.index=", str);
+	}
+	printf("%s %s\n", __FUNCTION__, buffer);
+	system(buffer);
+}
+
+static int get_time_str(char *buf, size_t size)
+{
+	struct tm cur_tm;
+	time_t now = time(NULL);
+	if (NULL==buf || size<=0)
+		return -1;
+	localtime_r(&now, &cur_tm);
+	strftime(buf, size, "%Y_%m%d_%H%M%S", &cur_tm);
+	printf("%s %s\n", __FUNCTION__, buf);
+	return 0;
+}
+
+static int get_ramdump_fold_name(char *ramdump_path, size_t size, char *prefix, char *time_buffer)
+{
+	if (ramdump_path == NULL || size <= 0 || time_buffer == NULL)
+		return -1;
+	//sunjy add
+	//modify path,like "sdcard0/GoTaLog/Ramdump/index.yyyymmdd_hhmmss"
+	//char logTime[30] = {0};
+	//property_get(CPLOG_PATH, ramdump_path, ZTE_LOG_PATH);
+
+	strcat(ramdump_path, prefix);
+	strcat(ramdump_path, "/");
+	strcat(ramdump_path, time_buffer);
+
+	//snprintf(ramdump_path, size, "%s/%s", prefix, time_buffer);
+	printf("%s %s\n", __FUNCTION__, ramdump_path);
+	return 0;
+}
+
+static int ramdump_export(char *dump_path)
+{
+	int ret = -1;
+	int i;
+	char dev_tty[256] = {0};
+
+	for (i = 0; i <= 255; i++) {
+		snprintf(dev_tty, 256, "/dev/ttyUSB%d", i);
+		if (access(dev_tty, F_OK) < 0){
+			continue;
+		}
+		printf("try to get the ramdump data from %s\n", dev_tty);
+		ret = do_modem_ramdump(dev_tty, dump_path);
+		if (ret >= 0) {
+			printf("get the ramdump data from %s success\n", dev_tty);
+			//compress_and_rm_fold(DEFAULT_RAMDUMP_FOLD, time_str);
+			break;
+		} else if (ret == -1) {
+			printf("try to repeat do_modem_ramdump begin\n");
+			ret = do_modem_ramdump(dev_tty, dump_path);
+			if (ret >= 0) {
+				printf("get the ramdump data from %s success\n", dev_tty);
+				//compress_and_rm_fold(DEFAULT_RAMDUMP_FOLD, time_str);
+			break;
+			}else{
+				printf("get the ramdump data from %s failed\n", dev_tty);
+			}
+		}
+	}
+	return ret;
+}
+
+static int ramdump_mainloop(int moniter_time, char *dump_path)
+{
+	int ret = -1;
+	char dev_tty[256] = {0};
+
+	while(1)
+	{
+		if ((ret == -1) && (moniter_time >= 0))
+			sleep(moniter_time);
+		else
+			break;
+		ret = dev_get_device();
+	}
+	if (g_usb_dev < 0)
+		return -1;
+
+	snprintf(dev_tty, 256, "/dev/ttyUSB%d", g_usb_dev);
+	ret = do_modem_ramdump(dev_tty, dump_path);
+	if (ret >= 0) {
+		printf("get the ramdump data from %s success\n", dev_tty);
+	} else if (ret == -1) {
+		printf("try to repeat do_modem_ramdump begin\n");
+		ret = do_modem_ramdump(dev_tty, dump_path);
+		if (ret >= 0) {
+			printf("get the ramdump data from %s success\n", dev_tty);
+		}else{
+			printf("get the ramdump data from %s failed\n", dev_tty);
+		}
+	}
+	return ret;
+}
+
+/*******************************************************************************
+*                                È«¾Öº¯ÊýʵÏÖ                                  *
+*******************************************************************************/
+int main(int argc, char* argv[])
+{
+	int ret = -1;
+	int opt = 0;
+	int dump_path_flag = 0;
+	char dump_path[256] = {0};
+	char time_str[64] = {0};
+
+	// property_set("ctl.stop", "ztemodemlog");
+	//sleep(1);
+	if(get_time_str(time_str, 64) < 0){
+		printf("Can't get the time str\n");
+		return -1;
+	}
+
+	if (argc == 1){
+		get_ramdump_fold_name(dump_path, 256, DEFAULT_RAMDUMP_FOLD, time_str);
+		dump_path_flag = 1;
+		ret = ramdump_export(dump_path);
+		return ret;
+	}
+	ret = -1;
+	while((opt = getopt(argc, argv, ":p:rt:m")) != -1){
+		switch(opt){
+			case 'p':
+			{
+				ret = get_ramdump_fold_name(dump_path, 256, optarg, time_str);
+				dump_path_flag = 1;
+				if (ret < 0) {
+					printf("Can't get the ramdump fold path\n");
+					return -1;
+				}
+				break;
+			}
+			case 'r':
+			{
+				g_reboot_flag = 1;
+				break;
+			}
+			case 't':
+			{
+				g_moniter_time = atoi(optarg);
+			}
+			case 'm':
+			{
+				printf("begin to monitor ramdump!\n");
+				if (dump_path_flag == 0){
+					get_ramdump_fold_name(dump_path, 256, DEFAULT_RAMDUMP_FOLD, time_str);
+					dump_path_flag = 1;
+				}
+				ret = ramdump_mainloop(g_moniter_time, dump_path);
+				return ret;
+			}
+			case '?':
+				printf("invailed arguments!\n");
+				return -1;
+		}
+	}
+	if (dump_path_flag == 0){
+		get_ramdump_fold_name(dump_path, 256, DEFAULT_RAMDUMP_FOLD, time_str);
+		dump_path_flag = 1;
+	}
+	ret = ramdump_export(dump_path);
+	return ret;
+}
+
diff --git a/ap/hostapp/zdump_ref/usb_dev.c b/ap/hostapp/zdump_ref/usb_dev.c
new file mode 100755
index 0000000..e64b20e
--- /dev/null
+++ b/ap/hostapp/zdump_ref/usb_dev.c
@@ -0,0 +1,170 @@
+/*******************************************************************************
+* °æÈ¨ËùÓÐ (C)2016, ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
+* 
+* ÎļþÃû³Æ:     usb_dev.c
+* Îļþ±êʶ:     usb_dev.c
+* ÄÚÈÝÕªÒª:     usbÉ豸·ÃÎʹ¤¾ß
+* 
+* ÐÞ¸ÄÈÕÆÚ        °æ±¾ºÅ      Ð޸ıê¼Ç        ÐÞ¸ÄÈË          ÐÞ¸ÄÄÚÈÝ
+* ------------------------------------------------------------------------------
+* 2016/3/10      V1.0        Create                             ´´½¨
+* 
+*******************************************************************************/
+
+/*******************************************************************************
+*                                   Í·Îļþ                                     *
+*******************************************************************************/
+#include<stdlib.h>
+#include<stdio.h>
+#include<string.h>
+#include<sys/types.h>
+#include<sys/stat.h>
+#include<fcntl.h>
+#include<errno.h>
+#include<getopt.h>
+#include<stdarg.h>
+#include<termios.h>
+#include<stddef.h>
+#include<dirent.h>
+#include <unistd.h>
+
+/*******************************************************************************
+*                                   ºê¶¨Òå                                     *
+*******************************************************************************/
+#define USB_DIR_FILE_NAME_SIZE 1024
+#define USB_DIR_BASE "/sys/bus/usb/devices"
+#define USB_PID 0x0197
+#define SUCCESS 0
+#define FAIL    -1
+
+/*******************************************************************************
+*                                  ³£Á¿¶¨Òå                                    *
+*******************************************************************************/
+char sys_filename[USB_DIR_FILE_NAME_SIZE] = {0};
+int g_usb_dev = -1;
+
+/*******************************************************************************
+*                                Êý¾ÝÀàÐͶ¨Òå                                  *
+*******************************************************************************/
+
+/*******************************************************************************
+*                                º¯ÊýÉùÃ÷                                  *
+*******************************************************************************/
+
+/*******************************************************************************
+*                              ¾Ö²¿¾²Ì¬±äÁ¿¶¨Òå                                *
+*******************************************************************************/
+
+/*******************************************************************************
+*                                È«¾Ö±äÁ¿¶¨Òå                                  *
+*******************************************************************************/
+
+/*******************************************************************************
+*                                ¾Ö²¿º¯ÊýʵÏÖ                                  *
+*******************************************************************************/
+int dev_get_usbsys_val(const char *sys_filename, int base)
+{
+	char buff[64] = {0};
+	int ret_val = -1;
+	int fd = -1;
+
+	fd = open(sys_filename, O_RDONLY);
+	if (fd < 0) {
+		printf("failed to open usbsys, error is %s\n", strerror(errno));
+		return FAIL;
+	}
+
+	if (read(fd, buff, sizeof(buff)) <= 0) {
+		printf("[%s] read:%s failed\n", __func__, sys_filename);
+	}
+	else {
+		ret_val = strtoul(buff, NULL, base);
+	}
+	close(fd);
+
+	return ret_val;
+}
+
+int dev_strStartsWith(const char *line, const char *src)
+{
+	int ret = -1;
+
+	for ( ; *line != '\0' && *src != '\0'; line++, src++) {
+		if (*line != *src) {
+			return FAIL;
+		}
+	}
+	ret = atoi(line);
+	return ret;
+}
+
+int dev_get_ttyport_by_syspath(char *syspath)
+{
+	DIR *usbdir = NULL;
+	struct dirent *dent = NULL;
+	int usb_port = -1;
+
+	usbdir = opendir(syspath);
+	if (usbdir == NULL) {
+		printf("%s: open [%s] busdir failed\n", __func__, syspath);
+		return -1;
+	}
+
+	while ((dent = readdir(usbdir)) != NULL)
+	{
+		usb_port = dev_strStartsWith(dent->d_name, "ttyUSB");
+		if ( usb_port >= 0) {
+			closedir(usbdir);
+			usbdir = NULL;
+			return usb_port;
+		}
+	}
+
+	if (usbdir) {
+		closedir(usbdir);
+		usbdir = NULL;
+	}
+	return FAIL;
+}
+
+int dev_get_device(void)
+{
+	DIR *usbdir = NULL;
+	struct dirent *dent = NULL;
+	int idProduct = 0;
+	int bConfigurationValue = 0;
+	int num = 0;
+	usbdir = opendir(USB_DIR_BASE);
+	if (usbdir == NULL)
+		return FAIL;
+
+	while ((dent = readdir(usbdir)) != NULL){
+		if (strcmp(dent->d_name, ".") == 0 || strcmp(dent->d_name, "..") == 0) {
+			continue;
+		}
+
+		snprintf(sys_filename, sizeof(sys_filename), "%s/%s/idProduct", USB_DIR_BASE, dent->d_name);
+		if ((idProduct = dev_get_usbsys_val(sys_filename, 16)) <= 0) {
+			continue;
+		}
+
+		snprintf(sys_filename, sizeof(sys_filename), "%s/%s/bConfigurationValue", USB_DIR_BASE, dent->d_name);
+		if ((bConfigurationValue = dev_get_usbsys_val(sys_filename, 10)) <= 0) {
+			continue;
+		}
+
+		if (idProduct == USB_PID){
+			snprintf(sys_filename, sizeof(sys_filename), "%s/%s/%s:%d.%d", USB_DIR_BASE, dent->d_name, dent->d_name, bConfigurationValue, 0);
+			g_usb_dev = dev_get_ttyport_by_syspath(sys_filename);
+			closedir(usbdir);
+			usbdir = NULL;
+			return SUCCESS;
+		}
+	}
+	if (usbdir) {
+		closedir(usbdir);
+		usbdir = NULL;
+	}
+	return FAIL;
+}
+
diff --git "a/ap/hostapp/zlogtrace_ref/Linux\345\271\263\345\217\260zlogtrace\345\212\237\350\203\275\344\275\277\347\224\250\344\273\213\347\273\215.pdf" "b/ap/hostapp/zlogtrace_ref/Linux\345\271\263\345\217\260zlogtrace\345\212\237\350\203\275\344\275\277\347\224\250\344\273\213\347\273\215.pdf"
new file mode 100755
index 0000000..c7b3193
--- /dev/null
+++ "b/ap/hostapp/zlogtrace_ref/Linux\345\271\263\345\217\260zlogtrace\345\212\237\350\203\275\344\275\277\347\224\250\344\273\213\347\273\215.pdf"
Binary files differ
diff --git a/ap/hostapp/zlogtrace_ref/Makefile b/ap/hostapp/zlogtrace_ref/Makefile
new file mode 100755
index 0000000..ca07248
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/Makefile
@@ -0,0 +1,20 @@
+EXEC  = zlogtrace
+
+CFLAGS += -I./localfs_save/
+CFLAGS += -I./localfs_save/config
+CFLAGS += -I./netport_rserial
+CFLAGS += -g
+
+SRCS = $(wildcard *.c ./localfs_save/*.c ./netcom_rserial/*.c )
+OBJS = $(patsubst %.c,%.o, $(SRCS))
+LDLIBS += -lpthread
+LDLIBS += -lm
+
+all: $(EXEC)
+
+$(EXEC): $(OBJS)
+	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -Wl,--start-group $(LDLIBS) $(LDLIBS_$@) -Wl,--end-group
+	@cp $@ $@.elf
+
+clean:
+	-rm -f $(EXEC) $(OBJS) *.elf *.gdb *.o
\ No newline at end of file
diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/Makefile b/ap/hostapp/zlogtrace_ref/localfs_save/Makefile
new file mode 100755
index 0000000..5e6ee84
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/Makefile
@@ -0,0 +1,13 @@
+SUBEXEC = savefs
+all: $(SUBEXEC)
+
+CFLAGS += -I./config
+CFLAGS += -I../
+CFLAGS += -g
+
+REMOBJ=log_usb.o log_savefs.o -lpthread
+$(SUBEXEC): $(REMOBJ)
+	$(CC) $(CFLAGS)  $(LDFLAGS)  -o $(SUBEXEC) $(REMOBJ)
+
+clean:
+	rm -f $(SUBEXEC) *.o
diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/config/IPStart.rule b/ap/hostapp/zlogtrace_ref/localfs_save/config/IPStart.rule
new file mode 100755
index 0000000..e88bca9
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/config/IPStart.rule
Binary files differ
diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/config/IPStart_rule.h b/ap/hostapp/zlogtrace_ref/localfs_save/config/IPStart_rule.h
new file mode 100755
index 0000000..b0a9eda
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/config/IPStart_rule.h
@@ -0,0 +1,10 @@
+#ifndef __IPSTART_RULE_H__
+#define __IPSTART_RULE_H__
+
+char IPStart_rule_buf[] = {
+    0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 0x06, 0xCD, 0xBB, 0xBB, 
+    0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 
+    0x05, 0x00, 0x01, 0x01, 0x36, 0xA3, 0x7E, 
+};
+
+#endif
diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/config/config_to_h_tool/Makefile b/ap/hostapp/zlogtrace_ref/localfs_save/config/config_to_h_tool/Makefile
new file mode 100755
index 0000000..523cf26
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/config/config_to_h_tool/Makefile
@@ -0,0 +1,26 @@
+# If use the arm gcc, please set the arm gcc path.

+# ARM_GCC = ~/ARM_Linux_GCC/bin/arm-none-linux-gnueabi-

+

+CC = $(ARM_GCC)gcc

+

+CFLAGS = -Wall -g

+LD_LIBRARY =

+

+INCLUDE =

+SRC_FILES = $(wildcard ./*.c)

+

+BIN_TARGET = config_to_h_tool

+

+OBJECTS = $(patsubst %.c,%.o, $(SRC_FILES))

+

+$(BIN_TARGET) : $(OBJECTS)

+	$(CC) $(CFLAGS) $(INCLUDE) $^ -o $@ $(LD_LIBRARY)

+	@rm -vf ./*.o

+

+$(OBJECTS) : %.o : %.c

+	$(CC) -c $(CFLAGS) $(INCLUDE) $< -o $@  $(LD_LIBRARY)

+

+.PHONY: clean

+clean:

+	@rm -rvf $(BIN_TARGET) ./*.o

+

diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/config/config_to_h_tool/config_to_h_tool b/ap/hostapp/zlogtrace_ref/localfs_save/config/config_to_h_tool/config_to_h_tool
new file mode 100755
index 0000000..089c315
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/config/config_to_h_tool/config_to_h_tool
Binary files differ
diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/config/config_to_h_tool/main.c b/ap/hostapp/zlogtrace_ref/localfs_save/config/config_to_h_tool/main.c
new file mode 100755
index 0000000..5925638
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/config/config_to_h_tool/main.c
@@ -0,0 +1,138 @@
+/*******************************************************************
+ *          CopyRight(C) 2022-2026  Fibocom Wireless Inc
+ *******************************************************************
+ * FileName : main.c
+ * Author   : Frank.zhou
+ * Date     : 2022.05.25
+ * Used     : Generate the h files from files
+ *******************************************************************/
+#include <stdio.h>
+#include <string.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <ctype.h>
+#include <fcntl.h>
+
+
+int main(int argc, char **argv)
+{
+    int ret = -1, i, write_len = 0, file_size = 0;
+    char default_name[512] = {0}, newname[512] = {0},H_Name[512] = {0};
+    char writebuf[512] = {0};
+    uint8_t *readbuf = NULL;
+    FILE *fp_read = NULL, *fp_write = NULL;
+    char *tmp = NULL;
+    char *filename = argv[1];
+
+    if(argc != 2 || argv[1] == NULL) {
+        printf("The input param is error.\n");
+        return -1;
+    }
+
+    fp_read = fopen(filename, "rb");
+    if (fp_read == NULL){
+        printf("open '%s' failed! '%s'\n", filename, strerror(errno));
+        goto END;
+    }
+
+    fseek(fp_read, 0, SEEK_END);
+    file_size = ftell(fp_read);
+    fseek(fp_read, 0, SEEK_SET);
+    printf("filename: %s, file_size:%d\n", filename, file_size);
+
+    readbuf = malloc(file_size);
+    if (readbuf == NULL) {
+        printf("malloc readbuf failed.\n");
+        fclose(fp_read);
+        goto END;
+    }
+
+    if (fread(readbuf, 1, file_size, fp_read) != file_size) {
+        printf("read '%s' failed! '%s'\n", filename, strerror(errno));
+        goto END;
+    }
+    
+    strcpy(H_Name, filename);
+    tmp = strrchr(H_Name, '.');
+    if (tmp) {
+        *tmp = '_';
+    }
+
+    snprintf(newname, sizeof(newname), "%s.h", H_Name);
+    fp_write = fopen(newname, "wb");
+    if (fp_write == NULL){
+        printf("open '%s' failed! '%s'\n", newname, strerror(errno));
+        goto END;
+    }
+
+    tmp = strrchr(H_Name, '/');
+    if (tmp == NULL) {
+        tmp = H_Name;
+    } else {
+        tmp++;
+    }
+    strcpy(default_name, tmp);
+    strcpy(H_Name, default_name);
+
+    for(i=0; H_Name[i] ; i++) {
+        H_Name[i] = toupper(H_Name[i]);
+    }
+
+    write_len = sprintf(writebuf, "#ifndef __%s_H__\n", H_Name);
+    if (fwrite(writebuf, 1, write_len, fp_write) != write_len) {
+        printf("fwrite '%s' failed! '%s'\n", newname, strerror(errno));
+        goto END;
+    }
+
+    write_len = sprintf(writebuf, "#define __%s_H__\n\n", H_Name);
+    if (fwrite(writebuf, 1, write_len, fp_write) != write_len) {
+        printf("fwrite '%s' failed! '%s'\n", newname, strerror(errno));
+        goto END;
+    }
+
+    write_len = sprintf(writebuf, "char %s_buf[] = {\n    ", default_name);
+    if (fwrite(writebuf, 1, write_len, fp_write) != write_len) {
+        printf("fwrite '%s' failed! '%s'\n", newname, strerror(errno));
+        goto END;
+    }
+
+    for(i=0; i<file_size; i++) {
+        write_len = sprintf(writebuf, "0x%02X, ", readbuf[i]);
+        if (((i+1)%16) == 0) {
+            write_len += sprintf(writebuf + write_len, "\n    ");
+        }
+
+        if (fwrite(writebuf, 1, write_len, fp_write) != write_len) {
+            printf("fwrite '%s' failed! '%s'\n", newname, strerror(errno));
+            goto END;
+        }
+    }
+    
+    write_len = sprintf(writebuf, "\n};\n\n#endif\n");
+    if (fwrite(writebuf, 1, write_len, fp_write) != write_len) {
+        printf("fwrite '%s' failed! '%s'\n", newname, strerror(errno));
+        goto END;
+    }
+
+    printf("generated file: %s\n", newname);
+    ret=0;
+END:
+    
+    if (fp_write) {
+        fclose(fp_write);
+    }
+    
+    if (fp_read) {
+        fclose(fp_read);
+    }
+    
+    if (readbuf) {
+        free(readbuf);
+    }
+
+    return ret;
+    
+
+    return 0;
+}
diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/config/modemrule.rule b/ap/hostapp/zlogtrace_ref/localfs_save/config/modemrule.rule
new file mode 100755
index 0000000..264f89f
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/config/modemrule.rule
Binary files differ
diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/config/modemrule_rule.h b/ap/hostapp/zlogtrace_ref/localfs_save/config/modemrule_rule.h
new file mode 100755
index 0000000..f8d59d1
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/config/modemrule_rule.h
@@ -0,0 +1,1954 @@
+#ifndef __MODEMRULE_RULE_H__
+#define __MODEMRULE_RULE_H__
+
+char modemrule_rule_buf[] = {
+    0xA0, 0xB1, 0xC2, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x40, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0xA3, 0x76, 0x00, 0x00, 
+    0x06, 0x77, 0x00, 0x00, 0x9C, 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, 
+    0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 
+    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 
+    0xAF, 0xE9, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 0x06, 
+    0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x00, 0x65, 0xA8, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 
+    0x73, 0x01, 0x79, 0x0A, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x69, 0x0A, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x65, 0x0A, 0x01, 0x00, 0x03, 0x0C, 0x42, 0x0A, 
+    0x0E, 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, 0x00, 0x00, 0x00, 
+    0x0F, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 
+    0x01, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x01, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 
+    0x7F, 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, 0x00, 0x00, 0x00, 
+    0x03, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x0F, 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, 
+    0x1F, 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, 0x00, 0x00, 0x00, 
+    0xFF, 0x0F, 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, 0x00, 0xC0, 
+    0x7F, 0x00, 0x03, 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, 0x00, 
+    0xFF, 0xFF, 0x1F, 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, 0x00, 
+    0x1F, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x0F, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0xFF, 0xFF, 0xFF, 0x0F, 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, 0xFF, 0xFF, 0xFF, 0x7F, 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, 
+    0xFE, 0x07, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x03, 0x25, 
+    0xFC, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 0x06, 0x00, 
+    0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
+    0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0xA8, 0x8D, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 
+    0x01, 0x3C, 0x04, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x2C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x28, 0x04, 0x02, 0x00, 0x03, 0x00, 0x21, 0x04, 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, 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, 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, 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, 
+    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, 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, 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, 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, 
+    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, 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, 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, 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, 
+    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, 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, 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, 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, 
+    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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 
+    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, 0x00, 0x00, 0x00, 0x03, 
+    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, 0x00, 0x00, 0x00, 0x0F, 
+    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, 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, 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, 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, 
+    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, 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, 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, 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, 
+    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, 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, 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, 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, 
+    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, 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, 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, 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, 0x1F, 
+    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, 0x00, 0x00, 0x00, 0xFE, 
+    0x03, 0x23, 0xBC, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 
+    0x06, 0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x01, 0x00, 0x04, 0x00, 0x03, 0x00, 0x01, 0x00, 0x13, 0x91, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 
+    0x55, 0x73, 0x01, 0x19, 0x01, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x09, 0x01, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x01, 0x03, 0x00, 0x03, 0x00, 0xFF, 
+    0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 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, 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, 0x0F, 0x0F, 0x0F, 0x0F, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 
+    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 
+    0x91, 0x4D, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 0x06, 
+    0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0x00, 0x04, 0x00, 0x04, 0x01, 0x01, 0x00, 0xEE, 0x9C, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 
+    0x73, 0x01, 0x9B, 0x00, 0x00, 0x00, 0x06, 0x4A, 0xBB, 0xBB, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x87, 0x00, 0x04, 0x01, 0x03, 0x00, 0x40, 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, 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, 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, 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, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x6C, 0xA6, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 
+    0x06, 0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x01, 0x00, 0x04, 0x00, 0x04, 0x02, 0x01, 0x00, 0x8A, 0x73, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 
+    0x55, 0x73, 0x01, 0x22, 0x00, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x12, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0E, 0x00, 0x04, 0x02, 0x03, 0x0B, 0x01, 
+    0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB5, 0x78, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 
+    0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04, 0x03, 0x01, 0x00, 
+    0x56, 0x29, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x99, 0x00, 0x00, 0x00, 0x06, 
+    0x4A, 0xBB, 0xBB, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
+    0x00, 0x85, 0x00, 0x04, 0x03, 0x03, 0x00, 0x80, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
+    0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
+    0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
+    0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
+    0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x23, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 
+    0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04, 0x04, 0x01, 0x00, 0x53, 
+    0xA5, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x6C, 0x00, 0x00, 0x00, 0x06, 0x00, 
+    0xBB, 0xBB, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 
+    0x58, 0x00, 0x04, 0x04, 0x03, 0x6C, 0x01, 0x40, 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, 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, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0xEE, 0x7E, 0x01, 0xAA, 0xAA, 
+    0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04, 0x05, 0x01, 
+    0x00, 0x8F, 0xFF, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x3E, 0x00, 0x00, 
+    0x06, 0x00, 0xBB, 0xBB, 0x08, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x01, 0x00, 0x04, 0x3E, 0x04, 0x05, 0x03, 0x0B, 0x02, 0x00, 0x3D, 0x0F, 0x01, 0x90, 0x00, 0x00, 
+    0x02, 0x90, 0x00, 0x00, 0x03, 0x90, 0x00, 0x00, 0x04, 0x90, 0x00, 0x00, 0x05, 0x90, 0x00, 0x00, 
+    0x06, 0x90, 0x00, 0x00, 0x07, 0x90, 0x00, 0x00, 0x08, 0x90, 0x00, 0x00, 0x09, 0x90, 0x00, 0x00, 
+    0x0A, 0x90, 0x00, 0x00, 0x0B, 0x90, 0x00, 0x00, 0x0C, 0x90, 0x00, 0x00, 0x0D, 0x90, 0x00, 0x00, 
+    0x0E, 0x90, 0x00, 0x00, 0x0F, 0x90, 0x00, 0x00, 0x10, 0x90, 0x00, 0x00, 0x11, 0x90, 0x00, 0x00, 
+    0x12, 0x90, 0x00, 0x00, 0x13, 0x90, 0x00, 0x00, 0x14, 0x90, 0x00, 0x00, 0x15, 0x90, 0x00, 0x00, 
+    0x16, 0x90, 0x00, 0x00, 0x17, 0x90, 0x00, 0x00, 0x18, 0x90, 0x00, 0x00, 0x19, 0x90, 0x00, 0x00, 
+    0x1A, 0x90, 0x00, 0x00, 0x1B, 0x90, 0x00, 0x00, 0x1C, 0x90, 0x00, 0x00, 0x1D, 0x90, 0x00, 0x00, 
+    0x1E, 0x90, 0x00, 0x00, 0x1F, 0x90, 0x00, 0x00, 0x20, 0x90, 0x00, 0x00, 0x21, 0x90, 0x00, 0x00, 
+    0x00, 0xA0, 0x00, 0x00, 0x01, 0xA0, 0x00, 0x00, 0x02, 0xA0, 0x00, 0x00, 0x03, 0xA0, 0x00, 0x00, 
+    0x04, 0xA0, 0x00, 0x00, 0x05, 0xA0, 0x00, 0x00, 0x06, 0xA0, 0x00, 0x00, 0x07, 0xA0, 0x00, 0x00, 
+    0x08, 0xA0, 0x00, 0x00, 0x09, 0xA0, 0x00, 0x00, 0x0A, 0xA0, 0x00, 0x00, 0x0B, 0xA0, 0x00, 0x00, 
+    0x0C, 0xA0, 0x00, 0x00, 0x0D, 0xA0, 0x00, 0x00, 0x0E, 0xA0, 0x00, 0x00, 0x0F, 0xA0, 0x00, 0x00, 
+    0x10, 0xA0, 0x00, 0x00, 0x11, 0xA0, 0x00, 0x00, 0x12, 0xA0, 0x00, 0x00, 0x13, 0xA0, 0x00, 0x00, 
+    0x14, 0xA0, 0x00, 0x00, 0x15, 0xA0, 0x00, 0x00, 0x16, 0xA0, 0x00, 0x00, 0x17, 0xA0, 0x00, 0x00, 
+    0x18, 0xA0, 0x00, 0x00, 0x19, 0xA0, 0x00, 0x00, 0x1A, 0xA0, 0x00, 0x00, 0x1B, 0xA0, 0x00, 0x00, 
+    0x1C, 0xA0, 0x00, 0x00, 0x1D, 0xA0, 0x00, 0x00, 0x1E, 0xA0, 0x00, 0x00, 0x1F, 0xA0, 0x00, 0x00, 
+    0x20, 0xA0, 0x00, 0x00, 0x21, 0xA0, 0x00, 0x00, 0x22, 0xA0, 0x00, 0x00, 0x23, 0xA0, 0x00, 0x00, 
+    0x24, 0xA0, 0x00, 0x00, 0x25, 0xA0, 0x00, 0x00, 0x26, 0xA0, 0x00, 0x00, 0x27, 0xA0, 0x00, 0x00, 
+    0x28, 0xA0, 0x00, 0x00, 0x64, 0xA0, 0x00, 0x00, 0x65, 0xA0, 0x00, 0x00, 0x66, 0xA0, 0x00, 0x00, 
+    0x67, 0xA0, 0x00, 0x00, 0x68, 0xA0, 0x00, 0x00, 0x69, 0xA0, 0x00, 0x00, 0x6A, 0xA0, 0x00, 0x00, 
+    0x6B, 0xA0, 0x00, 0x00, 0x6C, 0xA0, 0x00, 0x00, 0x6D, 0xA0, 0x00, 0x00, 0x6E, 0xA0, 0x00, 0x00, 
+    0x6F, 0xA0, 0x00, 0x00, 0x70, 0xA0, 0x00, 0x00, 0x71, 0xA0, 0x00, 0x00, 0x72, 0xA0, 0x00, 0x00, 
+    0x73, 0xA0, 0x00, 0x00, 0x74, 0xA0, 0x00, 0x00, 0x75, 0xA0, 0x00, 0x00, 0x76, 0xA0, 0x00, 0x00, 
+    0x77, 0xA0, 0x00, 0x00, 0x78, 0xA0, 0x00, 0x00, 0x79, 0xA0, 0x00, 0x00, 0x7A, 0xA0, 0x00, 0x00, 
+    0x7B, 0xA0, 0x00, 0x00, 0x7C, 0xA0, 0x00, 0x00, 0x7D, 0x5D, 0xA0, 0x00, 0x00, 0x7D, 0x5E, 0xA0, 
+    0x00, 0x00, 0x7F, 0xA0, 0x00, 0x00, 0x80, 0xA0, 0x00, 0x00, 0x81, 0xA0, 0x00, 0x00, 0x82, 0xA0, 
+    0x00, 0x00, 0x83, 0xA0, 0x00, 0x00, 0x84, 0xA0, 0x00, 0x00, 0x85, 0xA0, 0x00, 0x00, 0x86, 0xA0, 
+    0x00, 0x00, 0x87, 0xA0, 0x00, 0x00, 0x88, 0xA0, 0x00, 0x00, 0x89, 0xA0, 0x00, 0x00, 0x8A, 0xA0, 
+    0x00, 0x00, 0x8B, 0xA0, 0x00, 0x00, 0xC8, 0xA0, 0x00, 0x00, 0xC9, 0xA0, 0x00, 0x00, 0xCA, 0xA0, 
+    0x00, 0x00, 0xCB, 0xA0, 0x00, 0x00, 0xCC, 0xA0, 0x00, 0x00, 0xCD, 0xA0, 0x00, 0x00, 0xCE, 0xA0, 
+    0x00, 0x00, 0xCF, 0xA0, 0x00, 0x00, 0xD0, 0xA0, 0x00, 0x00, 0xD1, 0xA0, 0x00, 0x00, 0xD2, 0xA0, 
+    0x00, 0x00, 0xD3, 0xA0, 0x00, 0x00, 0xD4, 0xA0, 0x00, 0x00, 0xD5, 0xA0, 0x00, 0x00, 0xD6, 0xA0, 
+    0x00, 0x00, 0xD7, 0xA0, 0x00, 0x00, 0xD8, 0xA0, 0x00, 0x00, 0xD9, 0xA0, 0x00, 0x00, 0xDA, 0xA0, 
+    0x00, 0x00, 0xDB, 0xA0, 0x00, 0x00, 0xDC, 0xA0, 0x00, 0x00, 0xDD, 0xA0, 0x00, 0x00, 0xDE, 0xA0, 
+    0x00, 0x00, 0xDF, 0xA0, 0x00, 0x00, 0xE0, 0xA0, 0x00, 0x00, 0xE1, 0xA0, 0x00, 0x00, 0xE2, 0xA0, 
+    0x00, 0x00, 0xE3, 0xA0, 0x00, 0x00, 0xE4, 0xA0, 0x00, 0x00, 0xE5, 0xA0, 0x00, 0x00, 0xE6, 0xA0, 
+    0x00, 0x00, 0xE7, 0xA0, 0x00, 0x00, 0xE8, 0xA0, 0x00, 0x00, 0xE9, 0xA0, 0x00, 0x00, 0xEA, 0xA0, 
+    0x00, 0x00, 0xEB, 0xA0, 0x00, 0x00, 0xEC, 0xA0, 0x00, 0x00, 0xED, 0xA0, 0x00, 0x00, 0xEE, 0xA0, 
+    0x00, 0x00, 0xEF, 0xA0, 0x00, 0x00, 0xF0, 0xA0, 0x00, 0x00, 0xF1, 0xA0, 0x00, 0x00, 0xF2, 0xA0, 
+    0x00, 0x00, 0xF3, 0xA0, 0x00, 0x00, 0xF4, 0xA0, 0x00, 0x00, 0xF5, 0xA0, 0x00, 0x00, 0xF6, 0xA0, 
+    0x00, 0x00, 0x2C, 0xA1, 0x00, 0x00, 0x2D, 0xA1, 0x00, 0x00, 0x2E, 0xA1, 0x00, 0x00, 0x2F, 0xA1, 
+    0x00, 0x00, 0x30, 0xA1, 0x00, 0x00, 0x31, 0xA1, 0x00, 0x00, 0x32, 0xA1, 0x00, 0x00, 0x33, 0xA1, 
+    0x00, 0x00, 0x34, 0xA1, 0x00, 0x00, 0x35, 0xA1, 0x00, 0x00, 0x36, 0xA1, 0x00, 0x00, 0x37, 0xA1, 
+    0x00, 0x00, 0x38, 0xA1, 0x00, 0x00, 0x39, 0xA1, 0x00, 0x00, 0x3A, 0xA1, 0x00, 0x00, 0x3B, 0xA1, 
+    0x00, 0x00, 0x3C, 0xA1, 0x00, 0x00, 0x3D, 0xA1, 0x00, 0x00, 0x3E, 0xA1, 0x00, 0x00, 0x3F, 0xA1, 
+    0x00, 0x00, 0x40, 0xA1, 0x00, 0x00, 0x41, 0xA1, 0x00, 0x00, 0x42, 0xA1, 0x00, 0x00, 0x43, 0xA1, 
+    0x00, 0x00, 0x44, 0xA1, 0x00, 0x00, 0x90, 0xA1, 0x00, 0x00, 0x91, 0xA1, 0x00, 0x00, 0x92, 0xA1, 
+    0x00, 0x00, 0x93, 0xA1, 0x00, 0x00, 0x94, 0xA1, 0x00, 0x00, 0x95, 0xA1, 0x00, 0x00, 0x96, 0xA1, 
+    0x00, 0x00, 0x97, 0xA1, 0x00, 0x00, 0x98, 0xA1, 0x00, 0x00, 0x99, 0xA1, 0x00, 0x00, 0x9A, 0xA1, 
+    0x00, 0x00, 0x9B, 0xA1, 0x00, 0x00, 0x9C, 0xA1, 0x00, 0x00, 0x9D, 0xA1, 0x00, 0x00, 0x9E, 0xA1, 
+    0x00, 0x00, 0x9F, 0xA1, 0x00, 0x00, 0xA0, 0xA1, 0x00, 0x00, 0xA1, 0xA1, 0x00, 0x00, 0xA2, 0xA1, 
+    0x00, 0x00, 0xA3, 0xA1, 0x00, 0x00, 0xA4, 0xA1, 0x00, 0x00, 0xA5, 0xA1, 0x00, 0x00, 0xA6, 0xA1, 
+    0x00, 0x00, 0xA7, 0xA1, 0x00, 0x00, 0xA8, 0xA1, 0x00, 0x00, 0xA9, 0xA1, 0x00, 0x00, 0xAA, 0xA1, 
+    0x00, 0x00, 0xAB, 0xA1, 0x00, 0x00, 0xAC, 0xA1, 0x00, 0x00, 0xAD, 0xA1, 0x00, 0x00, 0xAE, 0xA1, 
+    0x00, 0x00, 0xAF, 0xA1, 0x00, 0x00, 0xB0, 0xA1, 0x00, 0x00, 0xB1, 0xA1, 0x00, 0x00, 0xB2, 0xA1, 
+    0x00, 0x00, 0xB3, 0xA1, 0x00, 0x00, 0xB4, 0xA1, 0x00, 0x00, 0xB5, 0xA1, 0x00, 0x00, 0xB6, 0xA1, 
+    0x00, 0x00, 0xB7, 0xA1, 0x00, 0x00, 0xB8, 0xA1, 0x00, 0x00, 0xB9, 0xA1, 0x00, 0x00, 0xBA, 0xA1, 
+    0x00, 0x00, 0xBB, 0xA1, 0x00, 0x00, 0xBC, 0xA1, 0x00, 0x00, 0xBD, 0xA1, 0x00, 0x00, 0xBE, 0xA1, 
+    0x00, 0x00, 0xBF, 0xA1, 0x00, 0x00, 0xC0, 0xA1, 0x00, 0x00, 0xF4, 0xA1, 0x00, 0x00, 0xF5, 0xA1, 
+    0x00, 0x00, 0xF6, 0xA1, 0x00, 0x00, 0xF7, 0xA1, 0x00, 0x00, 0xF8, 0xA1, 0x00, 0x00, 0xF9, 0xA1, 
+    0x00, 0x00, 0xFA, 0xA1, 0x00, 0x00, 0xFB, 0xA1, 0x00, 0x00, 0xFC, 0xA1, 0x00, 0x00, 0xFD, 0xA1, 
+    0x00, 0x00, 0xFE, 0xA1, 0x00, 0x00, 0xFF, 0xA1, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x01, 0xA2, 
+    0x00, 0x00, 0x02, 0xA2, 0x00, 0x00, 0x03, 0xA2, 0x00, 0x00, 0x04, 0xA2, 0x00, 0x00, 0x05, 0xA2, 
+    0x00, 0x00, 0x06, 0xA2, 0x00, 0x00, 0x07, 0xA2, 0x00, 0x00, 0x08, 0xA2, 0x00, 0x00, 0x09, 0xA2, 
+    0x00, 0x00, 0x0A, 0xA2, 0x00, 0x00, 0x0B, 0xA2, 0x00, 0x00, 0x0C, 0xA2, 0x00, 0x00, 0x0D, 0xA2, 
+    0x00, 0x00, 0x0E, 0xA2, 0x00, 0x00, 0x58, 0xA2, 0x00, 0x00, 0x59, 0xA2, 0x00, 0x00, 0x5A, 0xA2, 
+    0x00, 0x00, 0x5B, 0xA2, 0x00, 0x00, 0x5C, 0xA2, 0x00, 0x00, 0x5D, 0xA2, 0x00, 0x00, 0x5E, 0xA2, 
+    0x00, 0x00, 0x5F, 0xA2, 0x00, 0x00, 0x60, 0xA2, 0x00, 0x00, 0x61, 0xA2, 0x00, 0x00, 0x62, 0xA2, 
+    0x00, 0x00, 0x63, 0xA2, 0x00, 0x00, 0x64, 0xA2, 0x00, 0x00, 0x65, 0xA2, 0x00, 0x00, 0x66, 0xA2, 
+    0x00, 0x00, 0x67, 0xA2, 0x00, 0x00, 0x68, 0xA2, 0x00, 0x00, 0x69, 0xA2, 0x00, 0x00, 0x6A, 0xA2, 
+    0x00, 0x00, 0x6B, 0xA2, 0x00, 0x00, 0x6C, 0xA2, 0x00, 0x00, 0x6D, 0xA2, 0x00, 0x00, 0x6E, 0xA2, 
+    0x00, 0x00, 0x6F, 0xA2, 0x00, 0x00, 0x70, 0xA2, 0x00, 0x00, 0x71, 0xA2, 0x00, 0x00, 0xBC, 0xA2, 
+    0x00, 0x00, 0xBD, 0xA2, 0x00, 0x00, 0xBE, 0xA2, 0x00, 0x00, 0xBF, 0xA2, 0x00, 0x00, 0xC0, 0xA2, 
+    0x00, 0x00, 0xC1, 0xA2, 0x00, 0x00, 0xC2, 0xA2, 0x00, 0x00, 0xC3, 0xA2, 0x00, 0x00, 0xC4, 0xA2, 
+    0x00, 0x00, 0xC5, 0xA2, 0x00, 0x00, 0xC6, 0xA2, 0x00, 0x00, 0xC7, 0xA2, 0x00, 0x00, 0xC8, 0xA2, 
+    0x00, 0x00, 0xC9, 0xA2, 0x00, 0x00, 0xCA, 0xA2, 0x00, 0x00, 0xCB, 0xA2, 0x00, 0x00, 0xCC, 0xA2, 
+    0x00, 0x00, 0xCD, 0xA2, 0x00, 0x00, 0xCE, 0xA2, 0x00, 0x00, 0xCF, 0xA2, 0x00, 0x00, 0xD0, 0xA2, 
+    0x00, 0x00, 0xD1, 0xA2, 0x00, 0x00, 0xD2, 0xA2, 0x00, 0x00, 0xD3, 0xA2, 0x00, 0x00, 0xD4, 0xA2, 
+    0x00, 0x00, 0xD5, 0xA2, 0x00, 0x00, 0xD6, 0xA2, 0x00, 0x00, 0x20, 0xA3, 0x00, 0x00, 0x21, 0xA3, 
+    0x00, 0x00, 0x22, 0xA3, 0x00, 0x00, 0x23, 0xA3, 0x00, 0x00, 0x24, 0xA3, 0x00, 0x00, 0x25, 0xA3, 
+    0x00, 0x00, 0x26, 0xA3, 0x00, 0x00, 0x27, 0xA3, 0x00, 0x00, 0x28, 0xA3, 0x00, 0x00, 0x29, 0xA3, 
+    0x00, 0x00, 0x2A, 0xA3, 0x00, 0x00, 0x2B, 0xA3, 0x00, 0x00, 0x2C, 0xA3, 0x00, 0x00, 0x2D, 0xA3, 
+    0x00, 0x00, 0x2E, 0xA3, 0x00, 0x00, 0x2F, 0xA3, 0x00, 0x00, 0x52, 0xA3, 0x00, 0x00, 0x53, 0xA3, 
+    0x00, 0x00, 0x54, 0xA3, 0x00, 0x00, 0x55, 0xA3, 0x00, 0x00, 0x56, 0xA3, 0x00, 0x00, 0x57, 0xA3, 
+    0x00, 0x00, 0x58, 0xA3, 0x00, 0x00, 0x59, 0xA3, 0x00, 0x00, 0x5A, 0xA3, 0x00, 0x00, 0x5B, 0xA3, 
+    0x00, 0x00, 0x5C, 0xA3, 0x00, 0x00, 0x84, 0xA3, 0x00, 0x00, 0x85, 0xA3, 0x00, 0x00, 0x86, 0xA3, 
+    0x00, 0x00, 0x87, 0xA3, 0x00, 0x00, 0x88, 0xA3, 0x00, 0x00, 0x89, 0xA3, 0x00, 0x00, 0x8A, 0xA3, 
+    0x00, 0x00, 0x8B, 0xA3, 0x00, 0x00, 0x8C, 0xA3, 0x00, 0x00, 0x8D, 0xA3, 0x00, 0x00, 0x8E, 0xA3, 
+    0x00, 0x00, 0x8F, 0xA3, 0x00, 0x00, 0x90, 0xA3, 0x00, 0x00, 0x91, 0xA3, 0x00, 0x00, 0x92, 0xA3, 
+    0x00, 0x00, 0x93, 0xA3, 0x00, 0x00, 0x94, 0xA3, 0x00, 0x00, 0x95, 0xA3, 0x00, 0x00, 0x96, 0xA3, 
+    0x00, 0x00, 0x97, 0xA3, 0x00, 0x00, 0x98, 0xA3, 0x00, 0x00, 0x99, 0xA3, 0x00, 0x00, 0x9A, 0xA3, 
+    0x00, 0x00, 0xE8, 0xA3, 0x00, 0x00, 0xE9, 0xA3, 0x00, 0x00, 0xEA, 0xA3, 0x00, 0x00, 0xEB, 0xA3, 
+    0x00, 0x00, 0xEC, 0xA3, 0x00, 0x00, 0xED, 0xA3, 0x00, 0x00, 0xEE, 0xA3, 0x00, 0x00, 0xEF, 0xA3, 
+    0x00, 0x00, 0xF0, 0xA3, 0x00, 0x00, 0xF1, 0xA3, 0x00, 0x00, 0xF2, 0xA3, 0x00, 0x00, 0xF3, 0xA3, 
+    0x00, 0x00, 0xF4, 0xA3, 0x00, 0x00, 0xF5, 0xA3, 0x00, 0x00, 0xF6, 0xA3, 0x00, 0x00, 0xF7, 0xA3, 
+    0x00, 0x00, 0xF8, 0xA3, 0x00, 0x00, 0xF9, 0xA3, 0x00, 0x00, 0xFA, 0xA3, 0x00, 0x00, 0xFB, 0xA3, 
+    0x00, 0x00, 0xFC, 0xA3, 0x00, 0x00, 0x4C, 0xA4, 0x00, 0x00, 0x4D, 0xA4, 0x00, 0x00, 0x4E, 0xA4, 
+    0x00, 0x00, 0x4F, 0xA4, 0x00, 0x00, 0x50, 0xA4, 0x00, 0x00, 0x51, 0xA4, 0x00, 0x00, 0x52, 0xA4, 
+    0x00, 0x00, 0x53, 0xA4, 0x00, 0x00, 0x54, 0xA4, 0x00, 0x00, 0x7D, 0x5E, 0xA4, 0x00, 0x00, 0x7F, 
+    0xA4, 0x00, 0x00, 0x80, 0xA4, 0x00, 0x00, 0x81, 0xA4, 0x00, 0x00, 0x82, 0xA4, 0x00, 0x00, 0x83, 
+    0xA4, 0x00, 0x00, 0x84, 0xA4, 0x00, 0x00, 0x85, 0xA4, 0x00, 0x00, 0x86, 0xA4, 0x00, 0x00, 0x87, 
+    0xA4, 0x00, 0x00, 0xB0, 0xA4, 0x00, 0x00, 0xB1, 0xA4, 0x00, 0x00, 0xB2, 0xA4, 0x00, 0x00, 0xB3, 
+    0xA4, 0x00, 0x00, 0xB4, 0xA4, 0x00, 0x00, 0xB5, 0xA4, 0x00, 0x00, 0xB6, 0xA4, 0x00, 0x00, 0xB7, 
+    0xA4, 0x00, 0x00, 0xB8, 0xA4, 0x00, 0x00, 0xB9, 0xA4, 0x00, 0x00, 0xBA, 0xA4, 0x00, 0x00, 0xBB, 
+    0xA4, 0x00, 0x00, 0xBC, 0xA4, 0x00, 0x00, 0xBD, 0xA4, 0x00, 0x00, 0xBE, 0xA4, 0x00, 0x00, 0xBF, 
+    0xA4, 0x00, 0x00, 0xC0, 0xA4, 0x00, 0x00, 0xC1, 0xA4, 0x00, 0x00, 0xC2, 0xA4, 0x00, 0x00, 0xC3, 
+    0xA4, 0x00, 0x00, 0xC4, 0xA4, 0x00, 0x00, 0xC5, 0xA4, 0x00, 0x00, 0xC6, 0xA4, 0x00, 0x00, 0xC7, 
+    0xA4, 0x00, 0x00, 0xC8, 0xA4, 0x00, 0x00, 0xC9, 0xA4, 0x00, 0x00, 0xCA, 0xA4, 0x00, 0x00, 0xCB, 
+    0xA4, 0x00, 0x00, 0xCC, 0xA4, 0x00, 0x00, 0xCD, 0xA4, 0x00, 0x00, 0xCE, 0xA4, 0x00, 0x00, 0xCF, 
+    0xA4, 0x00, 0x00, 0xD0, 0xA4, 0x00, 0x00, 0xD1, 0xA4, 0x00, 0x00, 0xD2, 0xA4, 0x00, 0x00, 0x14, 
+    0xA5, 0x00, 0x00, 0x15, 0xA5, 0x00, 0x00, 0x16, 0xA5, 0x00, 0x00, 0x17, 0xA5, 0x00, 0x00, 0x18, 
+    0xA5, 0x00, 0x00, 0x19, 0xA5, 0x00, 0x00, 0x1A, 0xA5, 0x00, 0x00, 0x1B, 0xA5, 0x00, 0x00, 0x1C, 
+    0xA5, 0x00, 0x00, 0x1D, 0xA5, 0x00, 0x00, 0x1E, 0xA5, 0x00, 0x00, 0x1F, 0xA5, 0x00, 0x00, 0x20, 
+    0xA5, 0x00, 0x00, 0x21, 0xA5, 0x00, 0x00, 0x22, 0xA5, 0x00, 0x00, 0x23, 0xA5, 0x00, 0x00, 0x24, 
+    0xA5, 0x00, 0x00, 0x25, 0xA5, 0x00, 0x00, 0x26, 0xA5, 0x00, 0x00, 0x27, 0xA5, 0x00, 0x00, 0x28, 
+    0xA5, 0x00, 0x00, 0x29, 0xA5, 0x00, 0x00, 0x2A, 0xA5, 0x00, 0x00, 0x2B, 0xA5, 0x00, 0x00, 0x2C, 
+    0xA5, 0x00, 0x00, 0x2D, 0xA5, 0x00, 0x00, 0x2E, 0xA5, 0x00, 0x00, 0x2F, 0xA5, 0x00, 0x00, 0x30, 
+    0xA5, 0x00, 0x00, 0x31, 0xA5, 0x00, 0x00, 0x32, 0xA5, 0x00, 0x00, 0x33, 0xA5, 0x00, 0x00, 0x34, 
+    0xA5, 0x00, 0x00, 0x35, 0xA5, 0x00, 0x00, 0x36, 0xA5, 0x00, 0x00, 0x78, 0xA5, 0x00, 0x00, 0x79, 
+    0xA5, 0x00, 0x00, 0x7A, 0xA5, 0x00, 0x00, 0x7B, 0xA5, 0x00, 0x00, 0x7C, 0xA5, 0x00, 0x00, 0x7D, 
+    0x5D, 0xA5, 0x00, 0x00, 0x7D, 0x5E, 0xA5, 0x00, 0x00, 0x7F, 0xA5, 0x00, 0x00, 0x82, 0xA5, 0x00, 
+    0x00, 0x83, 0xA5, 0x00, 0x00, 0x84, 0xA5, 0x00, 0x00, 0x85, 0xA5, 0x00, 0x00, 0x87, 0xA5, 0x00, 
+    0x00, 0x88, 0xA5, 0x00, 0x00, 0x89, 0xA5, 0x00, 0x00, 0x8A, 0xA5, 0x00, 0x00, 0x8B, 0xA5, 0x00, 
+    0x00, 0x8C, 0xA5, 0x00, 0x00, 0x91, 0xA5, 0x00, 0x00, 0x92, 0xA5, 0x00, 0x00, 0x93, 0xA5, 0x00, 
+    0x00, 0x94, 0xA5, 0x00, 0x00, 0x95, 0xA5, 0x00, 0x00, 0x96, 0xA5, 0x00, 0x00, 0x97, 0xA5, 0x00, 
+    0x00, 0x98, 0xA5, 0x00, 0x00, 0x99, 0xA5, 0x00, 0x00, 0x9A, 0xA5, 0x00, 0x00, 0x9B, 0xA5, 0x00, 
+    0x00, 0x9C, 0xA5, 0x00, 0x00, 0x9D, 0xA5, 0x00, 0x00, 0x9E, 0xA5, 0x00, 0x00, 0x9F, 0xA5, 0x00, 
+    0x00, 0xA0, 0xA5, 0x00, 0x00, 0xA1, 0xA5, 0x00, 0x00, 0xA2, 0xA5, 0x00, 0x00, 0xA3, 0xA5, 0x00, 
+    0x00, 0xA4, 0xA5, 0x00, 0x00, 0xA5, 0xA5, 0x00, 0x00, 0xA6, 0xA5, 0x00, 0x00, 0xA7, 0xA5, 0x00, 
+    0x00, 0xA8, 0xA5, 0x00, 0x00, 0xA9, 0xA5, 0x00, 0x00, 0xAA, 0xA5, 0x00, 0x00, 0xAB, 0xA5, 0x00, 
+    0x00, 0xAC, 0xA5, 0x00, 0x00, 0xAD, 0xA5, 0x00, 0x00, 0xAE, 0xA5, 0x00, 0x00, 0xAF, 0xA5, 0x00, 
+    0x00, 0xB0, 0xA5, 0x00, 0x00, 0xB1, 0xA5, 0x00, 0x00, 0xF5, 0xA5, 0x00, 0x00, 0xF6, 0xA5, 0x00, 
+    0x00, 0xF7, 0xA5, 0x00, 0x00, 0xF8, 0xA5, 0x00, 0x00, 0xF9, 0xA5, 0x00, 0x00, 0xFA, 0xA5, 0x00, 
+    0x00, 0xFB, 0xA5, 0x00, 0x00, 0xFC, 0xA5, 0x00, 0x00, 0xFD, 0xA5, 0x00, 0x00, 0xFE, 0xA5, 0x00, 
+    0x00, 0xFF, 0xA5, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x01, 0xA6, 0x00, 0x00, 0x02, 0xA6, 0x00, 
+    0x00, 0x03, 0xA6, 0x00, 0x00, 0x04, 0xA6, 0x00, 0x00, 0x05, 0xA6, 0x00, 0x00, 0x06, 0xA6, 0x00, 
+    0x00, 0x07, 0xA6, 0x00, 0x00, 0x08, 0xA6, 0x00, 0x00, 0x09, 0xA6, 0x00, 0x00, 0x0A, 0xA6, 0x00, 
+    0x00, 0x0B, 0xA6, 0x00, 0x00, 0x0C, 0xA6, 0x00, 0x00, 0x0D, 0xA6, 0x00, 0x00, 0x0E, 0xA6, 0x00, 
+    0x00, 0x0F, 0xA6, 0x00, 0x00, 0x10, 0xA6, 0x00, 0x00, 0x59, 0xA6, 0x00, 0x00, 0x5A, 0xA6, 0x00, 
+    0x00, 0x5B, 0xA6, 0x00, 0x00, 0x5C, 0xA6, 0x00, 0x00, 0x5D, 0xA6, 0x00, 0x00, 0x5E, 0xA6, 0x00, 
+    0x00, 0x5F, 0xA6, 0x00, 0x00, 0x60, 0xA6, 0x00, 0x00, 0x61, 0xA6, 0x00, 0x00, 0x62, 0xA6, 0x00, 
+    0x00, 0x63, 0xA6, 0x00, 0x00, 0x64, 0xA6, 0x00, 0x00, 0x65, 0xA6, 0x00, 0x00, 0x66, 0xA6, 0x00, 
+    0x00, 0x67, 0xA6, 0x00, 0x00, 0x68, 0xA6, 0x00, 0x00, 0x69, 0xA6, 0x00, 0x00, 0x6A, 0xA6, 0x00, 
+    0x00, 0x6B, 0xA6, 0x00, 0x00, 0x8B, 0xA6, 0x00, 0x00, 0x8C, 0xA6, 0x00, 0x00, 0x8D, 0xA6, 0x00, 
+    0x00, 0x8E, 0xA6, 0x00, 0x00, 0x8F, 0xA6, 0x00, 0x00, 0x90, 0xA6, 0x00, 0x00, 0x91, 0xA6, 0x00, 
+    0x00, 0x92, 0xA6, 0x00, 0x00, 0x93, 0xA6, 0x00, 0x00, 0x94, 0xA6, 0x00, 0x00, 0x95, 0xA6, 0x00, 
+    0x00, 0xBD, 0xA6, 0x00, 0x00, 0xBE, 0xA6, 0x00, 0x00, 0xBF, 0xA6, 0x00, 0x00, 0xC0, 0xA6, 0x00, 
+    0x00, 0xC1, 0xA6, 0x00, 0x00, 0xC2, 0xA6, 0x00, 0x00, 0xC3, 0xA6, 0x00, 0x00, 0xC4, 0xA6, 0x00, 
+    0x00, 0xC5, 0xA6, 0x00, 0x00, 0xC6, 0xA6, 0x00, 0x00, 0xC7, 0xA6, 0x00, 0x00, 0xC8, 0xA6, 0x00, 
+    0x00, 0xC9, 0xA6, 0x00, 0x00, 0xCA, 0xA6, 0x00, 0x00, 0xEF, 0xA6, 0x00, 0x00, 0xF0, 0xA6, 0x00, 
+    0x00, 0xF1, 0xA6, 0x00, 0x00, 0xF2, 0xA6, 0x00, 0x00, 0xF3, 0xA6, 0x00, 0x00, 0xF4, 0xA6, 0x00, 
+    0x00, 0xF5, 0xA6, 0x00, 0x00, 0xF6, 0xA6, 0x00, 0x00, 0xF7, 0xA6, 0x00, 0x00, 0xF8, 0xA6, 0x00, 
+    0x00, 0xF9, 0xA6, 0x00, 0x00, 0xFA, 0xA6, 0x00, 0x00, 0xFB, 0xA6, 0x00, 0x00, 0xFC, 0xA6, 0x00, 
+    0x00, 0x3A, 0xA7, 0x00, 0x00, 0x3B, 0xA7, 0x00, 0x00, 0x3C, 0xA7, 0x00, 0x00, 0x4E, 0xA7, 0x00, 
+    0x00, 0x53, 0xA7, 0x00, 0x00, 0x54, 0xA7, 0x00, 0x00, 0x58, 0xA7, 0x00, 0x00, 0x59, 0xA7, 0x00, 
+    0x00, 0x5A, 0xA7, 0x00, 0x00, 0x5B, 0xA7, 0x00, 0x00, 0x5C, 0xA7, 0x00, 0x00, 0x5D, 0xA7, 0x00, 
+    0x00, 0x5E, 0xA7, 0x00, 0x00, 0x5F, 0xA7, 0x00, 0x00, 0x60, 0xA7, 0x00, 0x00, 0x61, 0xA7, 0x00, 
+    0x00, 0x62, 0xA7, 0x00, 0x00, 0x63, 0xA7, 0x00, 0x00, 0x64, 0xA7, 0x00, 0x00, 0x65, 0xA7, 0x00, 
+    0x00, 0x66, 0xA7, 0x00, 0x00, 0x67, 0xA7, 0x00, 0x00, 0x68, 0xA7, 0x00, 0x00, 0x69, 0xA7, 0x00, 
+    0x00, 0x6A, 0xA7, 0x00, 0x00, 0x6B, 0xA7, 0x00, 0x00, 0x6C, 0xA7, 0x00, 0x00, 0x6D, 0xA7, 0x00, 
+    0x00, 0x6E, 0xA7, 0x00, 0x00, 0x6F, 0xA7, 0x00, 0x00, 0x70, 0xA7, 0x00, 0x00, 0x71, 0xA7, 0x00, 
+    0x00, 0x8A, 0xA7, 0x00, 0x00, 0x8B, 0xA7, 0x00, 0x00, 0x8C, 0xA7, 0x00, 0x00, 0x8D, 0xA7, 0x00, 
+    0x00, 0x8E, 0xA7, 0x00, 0x00, 0x8F, 0xA7, 0x00, 0x00, 0x90, 0xA7, 0x00, 0x00, 0x91, 0xA7, 0x00, 
+    0x00, 0x92, 0xA7, 0x00, 0x00, 0x93, 0xA7, 0x00, 0x00, 0x94, 0xA7, 0x00, 0x00, 0x95, 0xA7, 0x00, 
+    0x00, 0x96, 0xA7, 0x00, 0x00, 0x97, 0xA7, 0x00, 0x00, 0x98, 0xA7, 0x00, 0x00, 0x99, 0xA7, 0x00, 
+    0x00, 0x9A, 0xA7, 0x00, 0x00, 0x9B, 0xA7, 0x00, 0x00, 0x9C, 0xA7, 0x00, 0x00, 0x9D, 0xA7, 0x00, 
+    0x00, 0x9E, 0xA7, 0x00, 0x00, 0x9F, 0xA7, 0x00, 0x00, 0xA0, 0xA7, 0x00, 0x00, 0xA1, 0xA7, 0x00, 
+    0x00, 0xA2, 0xA7, 0x00, 0x00, 0xBC, 0xA7, 0x00, 0x00, 0xBD, 0xA7, 0x00, 0x00, 0xBE, 0xA7, 0x00, 
+    0x00, 0xBF, 0xA7, 0x00, 0x00, 0xC0, 0xA7, 0x00, 0x00, 0xC1, 0xA7, 0x00, 0x00, 0xC2, 0xA7, 0x00, 
+    0x00, 0xC3, 0xA7, 0x00, 0x00, 0xC4, 0xA7, 0x00, 0x00, 0xC5, 0xA7, 0x00, 0x00, 0xC6, 0xA7, 0x00, 
+    0x00, 0xC7, 0xA7, 0x00, 0x00, 0xC8, 0xA7, 0x00, 0x00, 0xC9, 0xA7, 0x00, 0x00, 0xCA, 0xA7, 0x00, 
+    0x00, 0xEE, 0xA7, 0x00, 0x00, 0xEF, 0xA7, 0x00, 0x00, 0xF0, 0xA7, 0x00, 0x00, 0xF1, 0xA7, 0x00, 
+    0x00, 0xF2, 0xA7, 0x00, 0x00, 0xF3, 0xA7, 0x00, 0x00, 0xF4, 0xA7, 0x00, 0x00, 0xF5, 0xA7, 0x00, 
+    0x00, 0xF6, 0xA7, 0x00, 0x00, 0xF7, 0xA7, 0x00, 0x00, 0xF8, 0xA7, 0x00, 0x00, 0xF9, 0xA7, 0x00, 
+    0x00, 0xFA, 0xA7, 0x00, 0x00, 0xFB, 0xA7, 0x00, 0x00, 0xFC, 0xA7, 0x00, 0x00, 0xFD, 0xA7, 0x00, 
+    0x00, 0xFE, 0xA7, 0x00, 0x00, 0xFF, 0xA7, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x01, 0xA8, 0x00, 
+    0x00, 0x02, 0xA8, 0x00, 0x00, 0x03, 0xA8, 0x00, 0x00, 0x20, 0xA8, 0x00, 0x00, 0x21, 0xA8, 0x00, 
+    0x00, 0x22, 0xA8, 0x00, 0x00, 0x23, 0xA8, 0x00, 0x00, 0x24, 0xA8, 0x00, 0x00, 0x25, 0xA8, 0x00, 
+    0x00, 0x52, 0xA8, 0x00, 0x00, 0x53, 0xA8, 0x00, 0x00, 0x54, 0xA8, 0x00, 0x00, 0x55, 0xA8, 0x00, 
+    0x00, 0x56, 0xA8, 0x00, 0x00, 0x57, 0xA8, 0x00, 0x00, 0x58, 0xA8, 0x00, 0x00, 0x84, 0xA8, 0x00, 
+    0x00, 0x85, 0xA8, 0x00, 0x00, 0x86, 0xA8, 0x00, 0x00, 0x87, 0xA8, 0x00, 0x00, 0x88, 0xA8, 0x00, 
+    0x00, 0x89, 0xA8, 0x00, 0x00, 0x8A, 0xA8, 0x00, 0x00, 0x8B, 0xA8, 0x00, 0x00, 0x8C, 0xA8, 0x00, 
+    0x00, 0x8D, 0xA8, 0x00, 0x00, 0x8E, 0xA8, 0x00, 0x00, 0x8F, 0xA8, 0x00, 0x00, 0xB6, 0xA8, 0x00, 
+    0x00, 0xB7, 0xA8, 0x00, 0x00, 0xB8, 0xA8, 0x00, 0x00, 0xB9, 0xA8, 0x00, 0x00, 0xBA, 0xA8, 0x00, 
+    0x00, 0xBB, 0xA8, 0x00, 0x00, 0xBC, 0xA8, 0x00, 0x00, 0xBD, 0xA8, 0x00, 0x00, 0xBE, 0xA8, 0x00, 
+    0x00, 0xBF, 0xA8, 0x00, 0x00, 0xE8, 0xA8, 0x00, 0x00, 0xE9, 0xA8, 0x00, 0x00, 0xEA, 0xA8, 0x00, 
+    0x00, 0xEB, 0xA8, 0x00, 0x00, 0xEC, 0xA8, 0x00, 0x00, 0xED, 0xA8, 0x00, 0x00, 0xEE, 0xA8, 0x00, 
+    0x00, 0xEF, 0xA8, 0x00, 0x00, 0xF0, 0xA8, 0x00, 0x00, 0xF1, 0xA8, 0x00, 0x00, 0xF2, 0xA8, 0x00, 
+    0x00, 0xF3, 0xA8, 0x00, 0x00, 0xF4, 0xA8, 0x00, 0x00, 0xF5, 0xA8, 0x00, 0x00, 0xF6, 0xA8, 0x00, 
+    0x00, 0xF7, 0xA8, 0x00, 0x00, 0xF8, 0xA8, 0x00, 0x00, 0xF9, 0xA8, 0x00, 0x00, 0xFA, 0xA8, 0x00, 
+    0x00, 0xFB, 0xA8, 0x00, 0x00, 0xFC, 0xA8, 0x00, 0x00, 0xFD, 0xA8, 0x00, 0x00, 0x1A, 0xA9, 0x00, 
+    0x00, 0x1B, 0xA9, 0x00, 0x00, 0x1C, 0xA9, 0x00, 0x00, 0x1D, 0xA9, 0x00, 0x00, 0x1E, 0xA9, 0x00, 
+    0x00, 0x1F, 0xA9, 0x00, 0x00, 0x20, 0xA9, 0x00, 0x00, 0x21, 0xA9, 0x00, 0x00, 0x22, 0xA9, 0x00, 
+    0x00, 0x23, 0xA9, 0x00, 0x00, 0x24, 0xA9, 0x00, 0x00, 0x25, 0xA9, 0x00, 0x00, 0x26, 0xA9, 0x00, 
+    0x00, 0x27, 0xA9, 0x00, 0x00, 0x28, 0xA9, 0x00, 0x00, 0x29, 0xA9, 0x00, 0x00, 0x2A, 0xA9, 0x00, 
+    0x00, 0x2B, 0xA9, 0x00, 0x00, 0x2C, 0xA9, 0x00, 0x00, 0x2D, 0xA9, 0x00, 0x00, 0x2E, 0xA9, 0x00, 
+    0x00, 0x2F, 0xA9, 0x00, 0x00, 0x30, 0xA9, 0x00, 0x00, 0x31, 0xA9, 0x00, 0x00, 0x32, 0xA9, 0x00, 
+    0x00, 0x33, 0xA9, 0x00, 0x00, 0x34, 0xA9, 0x00, 0x00, 0x4C, 0xA9, 0x00, 0x00, 0x4D, 0xA9, 0x00, 
+    0x00, 0x4E, 0xA9, 0x00, 0x00, 0x4F, 0xA9, 0x00, 0x00, 0x50, 0xA9, 0x00, 0x00, 0x51, 0xA9, 0x00, 
+    0x00, 0x5B, 0xA9, 0x00, 0x00, 0x5C, 0xA9, 0x00, 0x00, 0x5D, 0xA9, 0x00, 0x00, 0x5E, 0xA9, 0x00, 
+    0x00, 0x5F, 0xA9, 0x00, 0x00, 0x60, 0xA9, 0x00, 0x00, 0x61, 0xA9, 0x00, 0x00, 0x62, 0xA9, 0x00, 
+    0x00, 0x63, 0xA9, 0x00, 0x00, 0x64, 0xA9, 0x00, 0x00, 0x6A, 0xA9, 0x00, 0x00, 0x79, 0xA9, 0x00, 
+    0x00, 0x7A, 0xA9, 0x00, 0x00, 0xA6, 0xA9, 0x00, 0x00, 0xA7, 0xA9, 0x00, 0x00, 0xA8, 0xA9, 0x00, 
+    0x00, 0xA9, 0xA9, 0x00, 0x00, 0xAA, 0xA9, 0x00, 0x00, 0xAB, 0xA9, 0x00, 0x00, 0xAC, 0xA9, 0x00, 
+    0x00, 0xAD, 0xA9, 0x00, 0x00, 0xAE, 0xA9, 0x00, 0x00, 0xAF, 0xA9, 0x00, 0x00, 0xB0, 0xA9, 0x00, 
+    0x00, 0xB1, 0xA9, 0x00, 0x00, 0xB2, 0xA9, 0x00, 0x00, 0xB3, 0xA9, 0x00, 0x00, 0xB4, 0xA9, 0x00, 
+    0x00, 0xB5, 0xA9, 0x00, 0x00, 0xB6, 0xA9, 0x00, 0x00, 0xB7, 0xA9, 0x00, 0x00, 0xB8, 0xA9, 0x00, 
+    0x00, 0xB9, 0xA9, 0x00, 0x00, 0xBA, 0xA9, 0x00, 0x00, 0xBB, 0xA9, 0x00, 0x00, 0xBC, 0xA9, 0x00, 
+    0x00, 0xD8, 0xA9, 0x00, 0x00, 0xD9, 0xA9, 0x00, 0x00, 0xDA, 0xA9, 0x00, 0x00, 0xDB, 0xA9, 0x00, 
+    0x00, 0xDC, 0xA9, 0x00, 0x00, 0xDD, 0xA9, 0x00, 0x00, 0xDE, 0xA9, 0x00, 0x00, 0xDF, 0xA9, 0x00, 
+    0x00, 0xE0, 0xA9, 0x00, 0x00, 0xE1, 0xA9, 0x00, 0x00, 0xE2, 0xA9, 0x00, 0x00, 0xE3, 0xA9, 0x00, 
+    0x00, 0xE4, 0xA9, 0x00, 0x00, 0xE5, 0xA9, 0x00, 0x00, 0xE6, 0xA9, 0x00, 0x00, 0xE7, 0xA9, 0x00, 
+    0x00, 0xE8, 0xA9, 0x00, 0x00, 0xE9, 0xA9, 0x00, 0x00, 0xEA, 0xA9, 0x00, 0x00, 0xEB, 0xA9, 0x00, 
+    0x00, 0xEC, 0xA9, 0x00, 0x00, 0xED, 0xA9, 0x00, 0x00, 0xEE, 0xA9, 0x00, 0x00, 0xEF, 0xA9, 0x00, 
+    0x00, 0xF0, 0xA9, 0x00, 0x00, 0xF1, 0xA9, 0x00, 0x00, 0xF2, 0xA9, 0x00, 0x00, 0xF3, 0xA9, 0x00, 
+    0x00, 0xF4, 0xA9, 0x00, 0x00, 0x0A, 0xAA, 0x00, 0x00, 0x0B, 0xAA, 0x00, 0x00, 0x0C, 0xAA, 0x00, 
+    0x00, 0x0D, 0xAA, 0x00, 0x00, 0x0E, 0xAA, 0x00, 0x00, 0x0F, 0xAA, 0x00, 0x00, 0x10, 0xAA, 0x00, 
+    0x00, 0x11, 0xAA, 0x00, 0x00, 0x12, 0xAA, 0x00, 0x00, 0x13, 0xAA, 0x00, 0x00, 0x14, 0xAA, 0x00, 
+    0x00, 0x15, 0xAA, 0x00, 0x00, 0x16, 0xAA, 0x00, 0x00, 0x17, 0xAA, 0x00, 0x00, 0x18, 0xAA, 0x00, 
+    0x00, 0x19, 0xAA, 0x00, 0x00, 0x1A, 0xAA, 0x00, 0x00, 0x1B, 0xAA, 0x00, 0x00, 0x1C, 0xAA, 0x00, 
+    0x00, 0x1D, 0xAA, 0x00, 0x00, 0x1E, 0xAA, 0x00, 0x00, 0x1F, 0xAA, 0x00, 0x00, 0x20, 0xAA, 0x00, 
+    0x00, 0x21, 0xAA, 0x00, 0x00, 0x22, 0xAA, 0x00, 0x00, 0x23, 0xAA, 0x00, 0x00, 0x24, 0xAA, 0x00, 
+    0x00, 0x25, 0xAA, 0x00, 0x00, 0x26, 0xAA, 0x00, 0x00, 0x27, 0xAA, 0x00, 0x00, 0x28, 0xAA, 0x00, 
+    0x00, 0x3C, 0xAA, 0x00, 0x00, 0x3D, 0xAA, 0x00, 0x00, 0x3E, 0xAA, 0x00, 0x00, 0x3F, 0xAA, 0x00, 
+    0x00, 0x40, 0xAA, 0x00, 0x00, 0x41, 0xAA, 0x00, 0x00, 0x42, 0xAA, 0x00, 0x00, 0x43, 0xAA, 0x00, 
+    0x00, 0x44, 0xAA, 0x00, 0x00, 0x45, 0xAA, 0x00, 0x00, 0x46, 0xAA, 0x00, 0x00, 0x47, 0xAA, 0x00, 
+    0x00, 0x48, 0xAA, 0x00, 0x00, 0x49, 0xAA, 0x00, 0x00, 0x4A, 0xAA, 0x00, 0x00, 0x4B, 0xAA, 0x00, 
+    0x00, 0x4C, 0xAA, 0x00, 0x00, 0x4D, 0xAA, 0x00, 0x00, 0x4E, 0xAA, 0x00, 0x00, 0x6E, 0xAA, 0x00, 
+    0x00, 0x6F, 0xAA, 0x00, 0x00, 0x70, 0xAA, 0x00, 0x00, 0x71, 0xAA, 0x00, 0x00, 0x72, 0xAA, 0x00, 
+    0x00, 0x73, 0xAA, 0x00, 0x00, 0x74, 0xAA, 0x00, 0x00, 0x75, 0xAA, 0x00, 0x00, 0x76, 0xAA, 0x00, 
+    0x00, 0x77, 0xAA, 0x00, 0x00, 0x78, 0xAA, 0x00, 0x00, 0x79, 0xAA, 0x00, 0x00, 0x7A, 0xAA, 0x00, 
+    0x00, 0x7B, 0xAA, 0x00, 0x00, 0x7C, 0xAA, 0x00, 0x00, 0x7D, 0x5D, 0xAA, 0x00, 0x00, 0x7D, 0x5E, 
+    0xAA, 0x00, 0x00, 0x7F, 0xAA, 0x00, 0x00, 0x80, 0xAA, 0x00, 0x00, 0x81, 0xAA, 0x00, 0x00, 0x82, 
+    0xAA, 0x00, 0x00, 0x83, 0xAA, 0x00, 0x00, 0x84, 0xAA, 0x00, 0x00, 0x85, 0xAA, 0x00, 0x00, 0x86, 
+    0xAA, 0x00, 0x00, 0xA0, 0xAA, 0x00, 0x00, 0xA1, 0xAA, 0x00, 0x00, 0xA2, 0xAA, 0x00, 0x00, 0xA3, 
+    0xAA, 0x00, 0x00, 0xA4, 0xAA, 0x00, 0x00, 0xA5, 0xAA, 0x00, 0x00, 0xA6, 0xAA, 0x00, 0x00, 0xA7, 
+    0xAA, 0x00, 0x00, 0xA9, 0xAA, 0x00, 0x00, 0xAA, 0xAA, 0x00, 0x00, 0xAB, 0xAA, 0x00, 0x00, 0xAC, 
+    0xAA, 0x00, 0x00, 0xAD, 0xAA, 0x00, 0x00, 0xAE, 0xAA, 0x00, 0x00, 0xAF, 0xAA, 0x00, 0x00, 0xB0, 
+    0xAA, 0x00, 0x00, 0xB1, 0xAA, 0x00, 0x00, 0xB2, 0xAA, 0x00, 0x00, 0xB3, 0xAA, 0x00, 0x00, 0xB4, 
+    0xAA, 0x00, 0x00, 0xB5, 0xAA, 0x00, 0x00, 0xB6, 0xAA, 0x00, 0x00, 0xB7, 0xAA, 0x00, 0x00, 0xB8, 
+    0xAA, 0x00, 0x00, 0xB9, 0xAA, 0x00, 0x00, 0xBA, 0xAA, 0x00, 0x00, 0xBB, 0xAA, 0x00, 0x00, 0xD2, 
+    0xAA, 0x00, 0x00, 0xD3, 0xAA, 0x00, 0x00, 0xD4, 0xAA, 0x00, 0x00, 0xD5, 0xAA, 0x00, 0x00, 0xD6, 
+    0xAA, 0x00, 0x00, 0xD7, 0xAA, 0x00, 0x00, 0xD8, 0xAA, 0x00, 0x00, 0xD9, 0xAA, 0x00, 0x00, 0xDA, 
+    0xAA, 0x00, 0x00, 0xDB, 0xAA, 0x00, 0x00, 0xDC, 0xAA, 0x00, 0x00, 0xDD, 0xAA, 0x00, 0x00, 0x04, 
+    0xAB, 0x00, 0x00, 0x05, 0xAB, 0x00, 0x00, 0x06, 0xAB, 0x00, 0x00, 0x07, 0xAB, 0x00, 0x00, 0x08, 
+    0xAB, 0x00, 0x00, 0x09, 0xAB, 0x00, 0x00, 0x0A, 0xAB, 0x00, 0x00, 0x0B, 0xAB, 0x00, 0x00, 0x0C, 
+    0xAB, 0x00, 0x00, 0x0D, 0xAB, 0x00, 0x00, 0x0E, 0xAB, 0x00, 0x00, 0x0F, 0xAB, 0x00, 0x00, 0x10, 
+    0xAB, 0x00, 0x00, 0x11, 0xAB, 0x00, 0x00, 0x12, 0xAB, 0x00, 0x00, 0x13, 0xAB, 0x00, 0x00, 0x14, 
+    0xAB, 0x00, 0x00, 0x15, 0xAB, 0x00, 0x00, 0x16, 0xAB, 0x00, 0x00, 0x17, 0xAB, 0x00, 0x00, 0x18, 
+    0xAB, 0x00, 0x00, 0x19, 0xAB, 0x00, 0x00, 0x36, 0xAB, 0x00, 0x00, 0x37, 0xAB, 0x00, 0x00, 0x38, 
+    0xAB, 0x00, 0x00, 0x39, 0xAB, 0x00, 0x00, 0x3A, 0xAB, 0x00, 0x00, 0x3B, 0xAB, 0x00, 0x00, 0x3C, 
+    0xAB, 0x00, 0x00, 0x3D, 0xAB, 0x00, 0x00, 0x3E, 0xAB, 0x00, 0x00, 0x3F, 0xAB, 0x00, 0x00, 0x40, 
+    0xAB, 0x00, 0x00, 0x41, 0xAB, 0x00, 0x00, 0x42, 0xAB, 0x00, 0x00, 0x43, 0xAB, 0x00, 0x00, 0x44, 
+    0xAB, 0x00, 0x00, 0x45, 0xAB, 0x00, 0x00, 0x46, 0xAB, 0x00, 0x00, 0x47, 0xAB, 0x00, 0x00, 0x48, 
+    0xAB, 0x00, 0x00, 0x49, 0xAB, 0x00, 0x00, 0x4A, 0xAB, 0x00, 0x00, 0x4B, 0xAB, 0x00, 0x00, 0x4C, 
+    0xAB, 0x00, 0x00, 0x4D, 0xAB, 0x00, 0x00, 0x4E, 0xAB, 0x00, 0x00, 0x4F, 0xAB, 0x00, 0x00, 0x50, 
+    0xAB, 0x00, 0x00, 0x68, 0xAB, 0x00, 0x00, 0x69, 0xAB, 0x00, 0x00, 0x6A, 0xAB, 0x00, 0x00, 0x6B, 
+    0xAB, 0x00, 0x00, 0x6C, 0xAB, 0x00, 0x00, 0x6D, 0xAB, 0x00, 0x00, 0x6E, 0xAB, 0x00, 0x00, 0x6F, 
+    0xAB, 0x00, 0x00, 0x70, 0xAB, 0x00, 0x00, 0x71, 0xAB, 0x00, 0x00, 0x72, 0xAB, 0x00, 0x00, 0x73, 
+    0xAB, 0x00, 0x00, 0x74, 0xAB, 0x00, 0x00, 0x75, 0xAB, 0x00, 0x00, 0x76, 0xAB, 0x00, 0x00, 0x77, 
+    0xAB, 0x00, 0x00, 0x78, 0xAB, 0x00, 0x00, 0x79, 0xAB, 0x00, 0x00, 0x7A, 0xAB, 0x00, 0x00, 0x7B, 
+    0xAB, 0x00, 0x00, 0x7C, 0xAB, 0x00, 0x00, 0x7D, 0x5D, 0xAB, 0x00, 0x00, 0x7D, 0x5E, 0xAB, 0x00, 
+    0x00, 0x7F, 0xAB, 0x00, 0x00, 0x80, 0xAB, 0x00, 0x00, 0x81, 0xAB, 0x00, 0x00, 0x82, 0xAB, 0x00, 
+    0x00, 0x83, 0xAB, 0x00, 0x00, 0x84, 0xAB, 0x00, 0x00, 0x85, 0xAB, 0x00, 0x00, 0x86, 0xAB, 0x00, 
+    0x00, 0x87, 0xAB, 0x00, 0x00, 0x88, 0xAB, 0x00, 0x00, 0x89, 0xAB, 0x00, 0x00, 0x9A, 0xAB, 0x00, 
+    0x00, 0x9B, 0xAB, 0x00, 0x00, 0x9C, 0xAB, 0x00, 0x00, 0x9D, 0xAB, 0x00, 0x00, 0x9E, 0xAB, 0x00, 
+    0x00, 0x9F, 0xAB, 0x00, 0x00, 0xA0, 0xAB, 0x00, 0x00, 0xA1, 0xAB, 0x00, 0x00, 0xA2, 0xAB, 0x00, 
+    0x00, 0xA3, 0xAB, 0x00, 0x00, 0xA4, 0xAB, 0x00, 0x00, 0xA5, 0xAB, 0x00, 0x00, 0xA6, 0xAB, 0x00, 
+    0x00, 0xA7, 0xAB, 0x00, 0x00, 0xA8, 0xAB, 0x00, 0x00, 0xA9, 0xAB, 0x00, 0x00, 0xAA, 0xAB, 0x00, 
+    0x00, 0xAB, 0xAB, 0x00, 0x00, 0xAC, 0xAB, 0x00, 0x00, 0xAD, 0xAB, 0x00, 0x00, 0xAE, 0xAB, 0x00, 
+    0x00, 0xAF, 0xAB, 0x00, 0x00, 0xB0, 0xAB, 0x00, 0x00, 0xB1, 0xAB, 0x00, 0x00, 0xB2, 0xAB, 0x00, 
+    0x00, 0xCC, 0xAB, 0x00, 0x00, 0xCD, 0xAB, 0x00, 0x00, 0xCE, 0xAB, 0x00, 0x00, 0xCF, 0xAB, 0x00, 
+    0x00, 0xD0, 0xAB, 0x00, 0x00, 0xD1, 0xAB, 0x00, 0x00, 0xD2, 0xAB, 0x00, 0x00, 0xD3, 0xAB, 0x00, 
+    0x00, 0xD4, 0xAB, 0x00, 0x00, 0xD5, 0xAB, 0x00, 0x00, 0xD6, 0xAB, 0x00, 0x00, 0xD7, 0xAB, 0x00, 
+    0x00, 0xD8, 0xAB, 0x00, 0x00, 0xD9, 0xAB, 0x00, 0x00, 0xDA, 0xAB, 0x00, 0x00, 0xDB, 0xAB, 0x00, 
+    0x00, 0xDC, 0xAB, 0x00, 0x00, 0xDD, 0xAB, 0x00, 0x00, 0xDE, 0xAB, 0x00, 0x00, 0xDF, 0xAB, 0x00, 
+    0x00, 0xE0, 0xAB, 0x00, 0x00, 0xE1, 0xAB, 0x00, 0x00, 0xE2, 0xAB, 0x00, 0x00, 0xE3, 0xAB, 0x00, 
+    0x00, 0xE4, 0xAB, 0x00, 0x00, 0xE5, 0xAB, 0x00, 0x00, 0xE6, 0xAB, 0x00, 0x00, 0xE7, 0xAB, 0x00, 
+    0x00, 0xE8, 0xAB, 0x00, 0x00, 0xE9, 0xAB, 0x00, 0x00, 0xEA, 0xAB, 0x00, 0x00, 0xEB, 0xAB, 0x00, 
+    0x00, 0xEC, 0xAB, 0x00, 0x00, 0xED, 0xAB, 0x00, 0x00, 0xEE, 0xAB, 0x00, 0x00, 0xFE, 0xAB, 0x00, 
+    0x00, 0xFF, 0xAB, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x01, 0xAC, 0x00, 0x00, 0x02, 0xAC, 0x00, 
+    0x00, 0x03, 0xAC, 0x00, 0x00, 0x04, 0xAC, 0x00, 0x00, 0x05, 0xAC, 0x00, 0x00, 0x06, 0xAC, 0x00, 
+    0x00, 0x07, 0xAC, 0x00, 0x00, 0x08, 0xAC, 0x00, 0x00, 0x09, 0xAC, 0x00, 0x00, 0x0A, 0xAC, 0x00, 
+    0x00, 0x0B, 0xAC, 0x00, 0x00, 0x0C, 0xAC, 0x00, 0x00, 0x0D, 0xAC, 0x00, 0x00, 0x0E, 0xAC, 0x00, 
+    0x00, 0x0F, 0xAC, 0x00, 0x00, 0x10, 0xAC, 0x00, 0x00, 0x11, 0xAC, 0x00, 0x00, 0x12, 0xAC, 0x00, 
+    0x00, 0x30, 0xAC, 0x00, 0x00, 0x31, 0xAC, 0x00, 0x00, 0x32, 0xAC, 0x00, 0x00, 0x33, 0xAC, 0x00, 
+    0x00, 0x34, 0xAC, 0x00, 0x00, 0x35, 0xAC, 0x00, 0x00, 0x36, 0xAC, 0x00, 0x00, 0x37, 0xAC, 0x00, 
+    0x00, 0x38, 0xAC, 0x00, 0x00, 0x39, 0xAC, 0x00, 0x00, 0x3A, 0xAC, 0x00, 0x00, 0x3B, 0xAC, 0x00, 
+    0x00, 0x3D, 0xAC, 0x00, 0x00, 0x3E, 0xAC, 0x00, 0x00, 0x3F, 0xAC, 0x00, 0x00, 0x40, 0xAC, 0x00, 
+    0x00, 0x41, 0xAC, 0x00, 0x00, 0x42, 0xAC, 0x00, 0x00, 0x43, 0xAC, 0x00, 0x00, 0x44, 0xAC, 0x00, 
+    0x00, 0x45, 0xAC, 0x00, 0x00, 0x46, 0xAC, 0x00, 0x00, 0x47, 0xAC, 0x00, 0x00, 0x48, 0xAC, 0x00, 
+    0x00, 0x49, 0xAC, 0x00, 0x00, 0x4A, 0xAC, 0x00, 0x00, 0x4B, 0xAC, 0x00, 0x00, 0x4C, 0xAC, 0x00, 
+    0x00, 0x4D, 0xAC, 0x00, 0x00, 0x4E, 0xAC, 0x00, 0x00, 0x4F, 0xAC, 0x00, 0x00, 0x50, 0xAC, 0x00, 
+    0x00, 0x51, 0xAC, 0x00, 0x00, 0x52, 0xAC, 0x00, 0x00, 0x53, 0xAC, 0x00, 0x00, 0x54, 0xAC, 0x00, 
+    0x00, 0x55, 0xAC, 0x00, 0x00, 0x56, 0xAC, 0x00, 0x00, 0x57, 0xAC, 0x00, 0x00, 0x58, 0xAC, 0x00, 
+    0x00, 0x62, 0xAC, 0x00, 0x00, 0x63, 0xAC, 0x00, 0x00, 0x64, 0xAC, 0x00, 0x00, 0x65, 0xAC, 0x00, 
+    0x00, 0x66, 0xAC, 0x00, 0x00, 0x67, 0xAC, 0x00, 0x00, 0x68, 0xAC, 0x00, 0x00, 0x69, 0xAC, 0x00, 
+    0x00, 0x6A, 0xAC, 0x00, 0x00, 0x6B, 0xAC, 0x00, 0x00, 0x6C, 0xAC, 0x00, 0x00, 0x6D, 0xAC, 0x00, 
+    0x00, 0x6E, 0xAC, 0x00, 0x00, 0x6F, 0xAC, 0x00, 0x00, 0x70, 0xAC, 0x00, 0x00, 0x71, 0xAC, 0x00, 
+    0x00, 0x72, 0xAC, 0x00, 0x00, 0x73, 0xAC, 0x00, 0x00, 0x74, 0xAC, 0x00, 0x00, 0x75, 0xAC, 0x00, 
+    0x00, 0x76, 0xAC, 0x00, 0x00, 0x77, 0xAC, 0x00, 0x00, 0x78, 0xAC, 0x00, 0x00, 0x79, 0xAC, 0x00, 
+    0x00, 0x7A, 0xAC, 0x00, 0x00, 0x7B, 0xAC, 0x00, 0x00, 0x7C, 0xAC, 0x00, 0x00, 0x7D, 0x5D, 0xAC, 
+    0x00, 0x00, 0x7D, 0x5E, 0xAC, 0x00, 0x00, 0x7F, 0xAC, 0x00, 0x00, 0x80, 0xAC, 0x00, 0x00, 0x81, 
+    0xAC, 0x00, 0x00, 0x82, 0xAC, 0x00, 0x00, 0x83, 0xAC, 0x00, 0x00, 0x84, 0xAC, 0x00, 0x00, 0x85, 
+    0xAC, 0x00, 0x00, 0x86, 0xAC, 0x00, 0x00, 0x87, 0xAC, 0x00, 0x00, 0x88, 0xAC, 0x00, 0x00, 0x89, 
+    0xAC, 0x00, 0x00, 0x8A, 0xAC, 0x00, 0x00, 0x8B, 0xAC, 0x00, 0x00, 0x8C, 0xAC, 0x00, 0x00, 0x8D, 
+    0xAC, 0x00, 0x00, 0x8E, 0xAC, 0x00, 0x00, 0x8F, 0xAC, 0x00, 0x00, 0x90, 0xAC, 0x00, 0x00, 0x91, 
+    0xAC, 0x00, 0x00, 0x92, 0xAC, 0x00, 0x00, 0x93, 0xAC, 0x00, 0x00, 0x94, 0xAC, 0x00, 0x00, 0x95, 
+    0xAC, 0x00, 0x00, 0x96, 0xAC, 0x00, 0x00, 0x97, 0xAC, 0x00, 0x00, 0x98, 0xAC, 0x00, 0x00, 0x99, 
+    0xAC, 0x00, 0x00, 0x9A, 0xAC, 0x00, 0x00, 0x9B, 0xAC, 0x00, 0x00, 0x9C, 0xAC, 0x00, 0x00, 0x9D, 
+    0xAC, 0x00, 0x00, 0x9E, 0xAC, 0x00, 0x00, 0x9F, 0xAC, 0x00, 0x00, 0xA0, 0xAC, 0x00, 0x00, 0xA1, 
+    0xAC, 0x00, 0x00, 0xA2, 0xAC, 0x00, 0x00, 0xA3, 0xAC, 0x00, 0x00, 0xA4, 0xAC, 0x00, 0x00, 0xA5, 
+    0xAC, 0x00, 0x00, 0xA6, 0xAC, 0x00, 0x00, 0xA7, 0xAC, 0x00, 0x00, 0xA8, 0xAC, 0x00, 0x00, 0xA9, 
+    0xAC, 0x00, 0x00, 0xAA, 0xAC, 0x00, 0x00, 0xAB, 0xAC, 0x00, 0x00, 0xAC, 0xAC, 0x00, 0x00, 0xAD, 
+    0xAC, 0x00, 0x00, 0xAE, 0xAC, 0x00, 0x00, 0xAF, 0xAC, 0x00, 0x00, 0xB0, 0xAC, 0x00, 0x00, 0xB1, 
+    0xAC, 0x00, 0x00, 0xB2, 0xAC, 0x00, 0x00, 0xB3, 0xAC, 0x00, 0x00, 0xB4, 0xAC, 0x00, 0x00, 0xB5, 
+    0xAC, 0x00, 0x00, 0xB6, 0xAC, 0x00, 0x00, 0xB7, 0xAC, 0x00, 0x00, 0xB8, 0xAC, 0x00, 0x00, 0xB9, 
+    0xAC, 0x00, 0x00, 0xBA, 0xAC, 0x00, 0x00, 0xBB, 0xAC, 0x00, 0x00, 0xBC, 0xAC, 0x00, 0x00, 0xBD, 
+    0xAC, 0x00, 0x00, 0xBE, 0xAC, 0x00, 0x00, 0xBF, 0xAC, 0x00, 0x00, 0xC0, 0xAC, 0x00, 0x00, 0xC1, 
+    0xAC, 0x00, 0x00, 0xC2, 0xAC, 0x00, 0x00, 0xC3, 0xAC, 0x00, 0x00, 0xC4, 0xAC, 0x00, 0x00, 0xC5, 
+    0xAC, 0x00, 0x00, 0xF8, 0xAC, 0x00, 0x00, 0xF9, 0xAC, 0x00, 0x00, 0xFA, 0xAC, 0x00, 0x00, 0x0C, 
+    0xAD, 0x00, 0x00, 0x0D, 0xAD, 0x00, 0x00, 0x0E, 0xAD, 0x00, 0x00, 0x0F, 0xAD, 0x00, 0x00, 0x10, 
+    0xAD, 0x00, 0x00, 0x11, 0xAD, 0x00, 0x00, 0x16, 0xAD, 0x00, 0x00, 0x17, 0xAD, 0x00, 0x00, 0x2F, 
+    0xAD, 0x00, 0x00, 0x30, 0xAD, 0x00, 0x00, 0x48, 0xAD, 0x00, 0x00, 0x49, 0xAD, 0x00, 0x00, 0x4A, 
+    0xAD, 0x00, 0x00, 0x4B, 0xAD, 0x00, 0x00, 0x4C, 0xAD, 0x00, 0x00, 0x4D, 0xAD, 0x00, 0x00, 0x4E, 
+    0xAD, 0x00, 0x00, 0x4F, 0xAD, 0x00, 0x00, 0x50, 0xAD, 0x00, 0x00, 0x51, 0xAD, 0x00, 0x00, 0x61, 
+    0xAD, 0x00, 0x00, 0x62, 0xAD, 0x00, 0x00, 0x63, 0xAD, 0x00, 0x00, 0x64, 0xAD, 0x00, 0x00, 0x7A, 
+    0xAD, 0x00, 0x00, 0x7B, 0xAD, 0x00, 0x00, 0x7C, 0xAD, 0x00, 0x00, 0x7D, 0x5D, 0xAD, 0x00, 0x00, 
+    0x7D, 0x5E, 0xAD, 0x00, 0x00, 0x7F, 0xAD, 0x00, 0x00, 0x80, 0xAD, 0x00, 0x00, 0x8E, 0xAD, 0x00, 
+    0x00, 0x8F, 0xAD, 0x00, 0x00, 0x90, 0xAD, 0x00, 0x00, 0x91, 0xAD, 0x00, 0x00, 0x92, 0xAD, 0x00, 
+    0x00, 0x93, 0xAD, 0x00, 0x00, 0xAC, 0xAD, 0x00, 0x00, 0xC0, 0xAD, 0x00, 0x00, 0xC1, 0xAD, 0x00, 
+    0x00, 0xC2, 0xAD, 0x00, 0x00, 0xC3, 0xAD, 0x00, 0x00, 0xC4, 0xAD, 0x00, 0x00, 0xD4, 0xAD, 0x00, 
+    0x00, 0xD5, 0xAD, 0x00, 0x00, 0xDE, 0xAD, 0x00, 0x00, 0xDF, 0xAD, 0x00, 0x00, 0xE0, 0xAD, 0x00, 
+    0x00, 0xE1, 0xAD, 0x00, 0x00, 0xE2, 0xAD, 0x00, 0x00, 0xE3, 0xAD, 0x00, 0x00, 0xE4, 0xAD, 0x00, 
+    0x00, 0x10, 0xAE, 0x00, 0x00, 0x11, 0xAE, 0x00, 0x00, 0x24, 0xAE, 0x00, 0x00, 0x42, 0xAE, 0x00, 
+    0x00, 0x43, 0xAE, 0x00, 0x00, 0x44, 0xAE, 0x00, 0x00, 0x45, 0xAE, 0x00, 0x00, 0x46, 0xAE, 0x00, 
+    0x00, 0x60, 0xAE, 0x00, 0x00, 0x61, 0xAE, 0x00, 0x00, 0x62, 0xAE, 0x00, 0x00, 0x63, 0xAE, 0x00, 
+    0x00, 0x64, 0xAE, 0x00, 0x00, 0x65, 0xAE, 0x00, 0x00, 0x66, 0xAE, 0x00, 0x00, 0x67, 0xAE, 0x00, 
+    0x00, 0x68, 0xAE, 0x00, 0x00, 0x7D, 0x5E, 0xAE, 0x00, 0x00, 0x7F, 0xAE, 0x00, 0x00, 0x80, 0xAE, 
+    0x00, 0x00, 0x81, 0xAE, 0x00, 0x00, 0x82, 0xAE, 0x00, 0x00, 0x83, 0xAE, 0x00, 0x00, 0x84, 0xAE, 
+    0x00, 0x00, 0x9C, 0xAE, 0x00, 0x00, 0x9D, 0xAE, 0x00, 0x00, 0x9E, 0xAE, 0x00, 0x00, 0x9F, 0xAE, 
+    0x00, 0x00, 0xA0, 0xAE, 0x00, 0x00, 0xA1, 0xAE, 0x00, 0x00, 0xA2, 0xAE, 0x00, 0x00, 0xA3, 0xAE, 
+    0x00, 0x00, 0xA4, 0xAE, 0x00, 0x00, 0xA5, 0xAE, 0x00, 0x00, 0xA6, 0xAE, 0x00, 0x00, 0xA7, 0xAE, 
+    0x00, 0x00, 0xA8, 0xAE, 0x00, 0x00, 0xA9, 0xAE, 0x00, 0x00, 0xAA, 0xAE, 0x00, 0x00, 0xAB, 0xAE, 
+    0x00, 0x00, 0xAC, 0xAE, 0x00, 0x00, 0xAD, 0xAE, 0x00, 0x00, 0xAE, 0xAE, 0x00, 0x00, 0xAF, 0xAE, 
+    0x00, 0x00, 0xB0, 0xAE, 0x00, 0x00, 0xB1, 0xAE, 0x00, 0x00, 0xB2, 0xAE, 0x00, 0x00, 0xB3, 0xAE, 
+    0x00, 0x00, 0xB4, 0xAE, 0x00, 0x00, 0xB5, 0xAE, 0x00, 0x00, 0xB6, 0xAE, 0x00, 0x00, 0xB7, 0xAE, 
+    0x00, 0x00, 0xB8, 0xAE, 0x00, 0x00, 0xC4, 0xAE, 0x00, 0x00, 0xC5, 0xAE, 0x00, 0x00, 0xC6, 0xAE, 
+    0x00, 0x00, 0xC7, 0xAE, 0x00, 0x00, 0xC8, 0xAE, 0x00, 0x00, 0xC9, 0xAE, 0x00, 0x00, 0xCA, 0xAE, 
+    0x00, 0x00, 0xCB, 0xAE, 0x00, 0x00, 0xCC, 0xAE, 0x00, 0x00, 0xCD, 0xAE, 0x00, 0x00, 0xCE, 0xAE, 
+    0x00, 0x00, 0xCF, 0xAE, 0x00, 0x00, 0xD0, 0xAE, 0x00, 0x00, 0xE2, 0xAE, 0x00, 0x00, 0xF6, 0xAE, 
+    0x00, 0x00, 0xF7, 0xAE, 0x00, 0x00, 0xF8, 0xAE, 0x00, 0x00, 0xF9, 0xAE, 0x00, 0x00, 0xFA, 0xAE, 
+    0x00, 0x00, 0xFB, 0xAE, 0x00, 0x00, 0xFC, 0xAE, 0x00, 0x00, 0xFD, 0xAE, 0x00, 0x00, 0xFE, 0xAE, 
+    0x00, 0x00, 0xFF, 0xAE, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x01, 0xAF, 0x00, 0x00, 0x14, 0xAF, 
+    0x00, 0x00, 0x15, 0xAF, 0x00, 0x00, 0x16, 0xAF, 0x00, 0x00, 0x17, 0xAF, 0x00, 0x00, 0x32, 0xAF, 
+    0x00, 0x00, 0x33, 0xAF, 0x00, 0x00, 0x34, 0xAF, 0x00, 0x00, 0x35, 0xAF, 0x00, 0x00, 0x36, 0xAF, 
+    0x00, 0x00, 0x37, 0xAF, 0x00, 0x00, 0x38, 0xAF, 0x00, 0x00, 0x39, 0xAF, 0x00, 0x00, 0x3A, 0xAF, 
+    0x00, 0x00, 0x3B, 0xAF, 0x00, 0x00, 0x50, 0xAF, 0x00, 0x00, 0x51, 0xAF, 0x00, 0x00, 0x52, 0xAF, 
+    0x00, 0x00, 0x53, 0xAF, 0x00, 0x00, 0x54, 0xAF, 0x00, 0x00, 0x55, 0xAF, 0x00, 0x00, 0x6E, 0xAF, 
+    0x00, 0x00, 0x70, 0xAF, 0x00, 0x00, 0x71, 0xAF, 0x00, 0x00, 0x72, 0xAF, 0x00, 0x00, 0x82, 0xAF, 
+    0x00, 0x00, 0x8C, 0xAF, 0x00, 0x00, 0x8D, 0xAF, 0x00, 0x00, 0x8E, 0xAF, 0x00, 0x00, 0x8F, 0xAF, 
+    0x00, 0x00, 0x90, 0xAF, 0x00, 0x00, 0x91, 0xAF, 0x00, 0x00, 0x92, 0xAF, 0x00, 0x00, 0x93, 0xAF, 
+    0x00, 0x00, 0x94, 0xAF, 0x00, 0x00, 0x95, 0xAF, 0x00, 0x00, 0x96, 0xAF, 0x00, 0x00, 0x97, 0xAF, 
+    0x00, 0x00, 0x98, 0xAF, 0x00, 0x00, 0x99, 0xAF, 0x00, 0x00, 0x9A, 0xAF, 0x00, 0x00, 0x9B, 0xAF, 
+    0x00, 0x00, 0x9C, 0xAF, 0x00, 0x00, 0x9D, 0xAF, 0x00, 0x00, 0x9E, 0xAF, 0x00, 0x00, 0x9F, 0xAF, 
+    0x00, 0x00, 0xA0, 0xAF, 0x00, 0x00, 0xA1, 0xAF, 0x00, 0x00, 0xA2, 0xAF, 0x00, 0x00, 0xA3, 0xAF, 
+    0x00, 0x00, 0xA4, 0xAF, 0x00, 0x00, 0xA5, 0xAF, 0x00, 0x00, 0xA6, 0xAF, 0x00, 0x00, 0xA7, 0xAF, 
+    0x00, 0x00, 0xA8, 0xAF, 0x00, 0x00, 0xA9, 0xAF, 0x00, 0x00, 0xAA, 0xAF, 0x00, 0x00, 0xAB, 0xAF, 
+    0x00, 0x00, 0xAC, 0xAF, 0x00, 0x00, 0xAD, 0xAF, 0x00, 0x00, 0xAE, 0xAF, 0x00, 0x00, 0xAF, 0xAF, 
+    0x00, 0x00, 0xB0, 0xAF, 0x00, 0x00, 0xB1, 0xAF, 0x00, 0x00, 0xB2, 0xAF, 0x00, 0x00, 0xB3, 0xAF, 
+    0x00, 0x00, 0xB4, 0xAF, 0x00, 0x00, 0xB5, 0xAF, 0x00, 0x00, 0xB6, 0xAF, 0x00, 0x00, 0xB7, 0xAF, 
+    0x00, 0x00, 0xB8, 0xAF, 0x00, 0x00, 0xF1, 0xAF, 0x00, 0x00, 0xF2, 0xAF, 0x00, 0x00, 0xF3, 0xAF, 
+    0x00, 0x00, 0xF4, 0xAF, 0x00, 0x00, 0x04, 0xB0, 0x00, 0x00, 0x05, 0xB0, 0x00, 0x00, 0x06, 0xB0, 
+    0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 
+    0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0C, 0xB0, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x0E, 0xB0, 
+    0x00, 0x00, 0xCC, 0xB0, 0x00, 0x00, 0xCD, 0xB0, 0x00, 0x00, 0xCE, 0xB0, 0x00, 0x00, 0xCF, 0xB0, 
+    0x00, 0x00, 0xD0, 0xB0, 0x00, 0x00, 0xD1, 0xB0, 0x00, 0x00, 0xD2, 0xB0, 0x00, 0x00, 0xD3, 0xB0, 
+    0x00, 0x00, 0xD4, 0xB0, 0x00, 0x00, 0xD5, 0xB0, 0x00, 0x00, 0xD6, 0xB0, 0x00, 0x00, 0xD7, 0xB0, 
+    0x00, 0x00, 0xD8, 0xB0, 0x00, 0x00, 0xD9, 0xB0, 0x00, 0x00, 0xE0, 0xB0, 0x00, 0x00, 0xE1, 0xB0, 
+    0x00, 0x00, 0xE2, 0xB0, 0x00, 0x00, 0xE3, 0xB0, 0x00, 0x00, 0xE4, 0xB0, 0x00, 0x00, 0xE5, 0xB0, 
+    0x00, 0x00, 0xE6, 0xB0, 0x00, 0x00, 0xE7, 0xB0, 0x00, 0x00, 0xE8, 0xB0, 0x00, 0x00, 0xE9, 0xB0, 
+    0x00, 0x00, 0xEA, 0xB0, 0x00, 0x00, 0xEB, 0xB0, 0x00, 0x00, 0xEC, 0xB0, 0x00, 0x00, 0xED, 0xB0, 
+    0x00, 0x00, 0xEE, 0xB0, 0x00, 0x00, 0xEF, 0xB0, 0x00, 0x00, 0xF0, 0xB0, 0x00, 0x00, 0xF1, 0xB0, 
+    0x00, 0x00, 0xF2, 0xB0, 0x00, 0x00, 0xF3, 0xB0, 0x00, 0x00, 0xF4, 0xB0, 0x00, 0x00, 0xF5, 0xB0, 
+    0x00, 0x00, 0xF6, 0xB0, 0x00, 0x00, 0xF7, 0xB0, 0x00, 0x00, 0xF8, 0xB0, 0x00, 0x00, 0xF9, 0xB0, 
+    0x00, 0x00, 0xFA, 0xB0, 0x00, 0x00, 0xFB, 0xB0, 0x00, 0x00, 0xFC, 0xB0, 0x00, 0x00, 0xFD, 0xB0, 
+    0x00, 0x00, 0xFE, 0xB0, 0x00, 0x00, 0xFF, 0xB0, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x01, 0xB1, 
+    0x00, 0x00, 0x02, 0xB1, 0x00, 0x00, 0x03, 0xB1, 0x00, 0x00, 0x04, 0xB1, 0x00, 0x00, 0x05, 0xB1, 
+    0x00, 0x00, 0x06, 0xB1, 0x00, 0x00, 0x07, 0xB1, 0x00, 0x00, 0x08, 0xB1, 0x00, 0x00, 0x09, 0xB1, 
+    0x00, 0x00, 0x0A, 0xB1, 0x00, 0x00, 0x0B, 0xB1, 0x00, 0x00, 0x0C, 0xB1, 0x00, 0x00, 0x0D, 0xB1, 
+    0x00, 0x00, 0x0E, 0xB1, 0x00, 0x00, 0x0F, 0xB1, 0x00, 0x00, 0x10, 0xB1, 0x00, 0x00, 0x11, 0xB1, 
+    0x00, 0x00, 0x12, 0xB1, 0x00, 0x00, 0x13, 0xB1, 0x00, 0x00, 0x14, 0xB1, 0x00, 0x00, 0x15, 0xB1, 
+    0x00, 0x00, 0x16, 0xB1, 0x00, 0x00, 0x17, 0xB1, 0x00, 0x00, 0x18, 0xB1, 0x00, 0x00, 0x19, 0xB1, 
+    0x00, 0x00, 0x1A, 0xB1, 0x00, 0x00, 0x1B, 0xB1, 0x00, 0x00, 0x1C, 0xB1, 0x00, 0x00, 0x1D, 0xB1, 
+    0x00, 0x00, 0x1E, 0xB1, 0x00, 0x00, 0x1F, 0xB1, 0x00, 0x00, 0x20, 0xB1, 0x00, 0x00, 0x21, 0xB1, 
+    0x00, 0x00, 0x22, 0xB1, 0x00, 0x00, 0x23, 0xB1, 0x00, 0x00, 0x24, 0xB1, 0x00, 0x00, 0x25, 0xB1, 
+    0x00, 0x00, 0x26, 0xB1, 0x00, 0x00, 0x27, 0xB1, 0x00, 0x00, 0x28, 0xB1, 0x00, 0x00, 0x29, 0xB1, 
+    0x00, 0x00, 0x2A, 0xB1, 0x00, 0x00, 0x2B, 0xB1, 0x00, 0x00, 0x2C, 0xB1, 0x00, 0x00, 0x2D, 0xB1, 
+    0x00, 0x00, 0x2E, 0xB1, 0x00, 0x00, 0x2F, 0xB1, 0x00, 0x00, 0x30, 0xB1, 0x00, 0x00, 0x31, 0xB1, 
+    0x00, 0x00, 0x32, 0xB1, 0x00, 0x00, 0x33, 0xB1, 0x00, 0x00, 0x34, 0xB1, 0x00, 0x00, 0x35, 0xB1, 
+    0x00, 0x00, 0x36, 0xB1, 0x00, 0x00, 0x37, 0xB1, 0x00, 0x00, 0x38, 0xB1, 0x00, 0x00, 0x39, 0xB1, 
+    0x00, 0x00, 0x3A, 0xB1, 0x00, 0x00, 0x3B, 0xB1, 0x00, 0x00, 0x3C, 0xB1, 0x00, 0x00, 0x3D, 0xB1, 
+    0x00, 0x00, 0x3E, 0xB1, 0x00, 0x00, 0x3F, 0xB1, 0x00, 0x00, 0x40, 0xB1, 0x00, 0x00, 0x41, 0xB1, 
+    0x00, 0x00, 0x42, 0xB1, 0x00, 0x00, 0x43, 0xB1, 0x00, 0x00, 0x44, 0xB1, 0x00, 0x00, 0x45, 0xB1, 
+    0x00, 0x00, 0x46, 0xB1, 0x00, 0x00, 0x47, 0xB1, 0x00, 0x00, 0x48, 0xB1, 0x00, 0x00, 0x49, 0xB1, 
+    0x00, 0x00, 0x4A, 0xB1, 0x00, 0x00, 0x4B, 0xB1, 0x00, 0x00, 0x4C, 0xB1, 0x00, 0x00, 0x4D, 0xB1, 
+    0x00, 0x00, 0x4E, 0xB1, 0x00, 0x00, 0x4F, 0xB1, 0x00, 0x00, 0x50, 0xB1, 0x00, 0x00, 0x51, 0xB1, 
+    0x00, 0x00, 0x52, 0xB1, 0x00, 0x00, 0x53, 0xB1, 0x00, 0x00, 0x54, 0xB1, 0x00, 0x00, 0x55, 0xB1, 
+    0x00, 0x00, 0x56, 0xB1, 0x00, 0x00, 0x57, 0xB1, 0x00, 0x00, 0x58, 0xB1, 0x00, 0x00, 0x59, 0xB1, 
+    0x00, 0x00, 0x5A, 0xB1, 0x00, 0x00, 0x5B, 0xB1, 0x00, 0x00, 0x5C, 0xB1, 0x00, 0x00, 0x5D, 0xB1, 
+    0x00, 0x00, 0x5E, 0xB1, 0x00, 0x00, 0x5F, 0xB1, 0x00, 0x00, 0x60, 0xB1, 0x00, 0x00, 0x61, 0xB1, 
+    0x00, 0x00, 0x62, 0xB1, 0x00, 0x00, 0x6B, 0xB1, 0x00, 0x00, 0x6C, 0xB1, 0x00, 0x00, 0x6D, 0xB1, 
+    0x00, 0x00, 0x6E, 0xB1, 0x00, 0x00, 0x6F, 0xB1, 0x00, 0x00, 0x70, 0xB1, 0x00, 0x00, 0x71, 0xB1, 
+    0x00, 0x00, 0x72, 0xB1, 0x00, 0x00, 0x73, 0xB1, 0x00, 0x00, 0x74, 0xB1, 0x00, 0x00, 0x75, 0xB1, 
+    0x00, 0x00, 0x76, 0xB1, 0x00, 0x00, 0x77, 0xB1, 0x00, 0x00, 0x78, 0xB1, 0x00, 0x00, 0x79, 0xB1, 
+    0x00, 0x00, 0x7A, 0xB1, 0x00, 0x00, 0x7B, 0xB1, 0x00, 0x00, 0x7C, 0xB1, 0x00, 0x00, 0x7D, 0x5D, 
+    0xB1, 0x00, 0x00, 0x7D, 0x5E, 0xB1, 0x00, 0x00, 0x7F, 0xB1, 0x00, 0x00, 0x80, 0xB1, 0x00, 0x00, 
+    0xA8, 0xB1, 0x00, 0x00, 0xA9, 0xB1, 0x00, 0x00, 0xAA, 0xB1, 0x00, 0x00, 0xAB, 0xB1, 0x00, 0x00, 
+    0xAC, 0xB1, 0x00, 0x00, 0xAD, 0xB1, 0x00, 0x00, 0xAE, 0xB1, 0x00, 0x00, 0xAF, 0xB1, 0x00, 0x00, 
+    0xB0, 0xB1, 0x00, 0x00, 0xB1, 0xB1, 0x00, 0x00, 0xB2, 0xB1, 0x00, 0x00, 0xB3, 0xB1, 0x00, 0x00, 
+    0xB4, 0xB1, 0x00, 0x00, 0xB5, 0xB1, 0x00, 0x00, 0xB6, 0xB1, 0x00, 0x00, 0xB7, 0xB1, 0x00, 0x00, 
+    0xB8, 0xB1, 0x00, 0x00, 0xB9, 0xB1, 0x00, 0x00, 0xBA, 0xB1, 0x00, 0x00, 0xBB, 0xB1, 0x00, 0x00, 
+    0xBC, 0xB1, 0x00, 0x00, 0xBD, 0xB1, 0x00, 0x00, 0xBE, 0xB1, 0x00, 0x00, 0xBF, 0xB1, 0x00, 0x00, 
+    0xC0, 0xB1, 0x00, 0x00, 0xC1, 0xB1, 0x00, 0x00, 0xC2, 0xB1, 0x00, 0x00, 0xC3, 0xB1, 0x00, 0x00, 
+    0xC4, 0xB1, 0x00, 0x00, 0xC5, 0xB1, 0x00, 0x00, 0xC6, 0xB1, 0x00, 0x00, 0xC7, 0xB1, 0x00, 0x00, 
+    0xC8, 0xB1, 0x00, 0x00, 0xC9, 0xB1, 0x00, 0x00, 0xCA, 0xB1, 0x00, 0x00, 0xCB, 0xB1, 0x00, 0x00, 
+    0xCC, 0xB1, 0x00, 0x00, 0xCD, 0xB1, 0x00, 0x00, 0xCE, 0xB1, 0x00, 0x00, 0xCF, 0xB1, 0x00, 0x00, 
+    0xD0, 0xB1, 0x00, 0x00, 0xD1, 0xB1, 0x00, 0x00, 0xD2, 0xB1, 0x00, 0x00, 0xD3, 0xB1, 0x00, 0x00, 
+    0xD4, 0xB1, 0x00, 0x00, 0xD5, 0xB1, 0x00, 0x00, 0xEE, 0xB1, 0x00, 0x00, 0xEF, 0xB1, 0x00, 0x00, 
+    0xF0, 0xB1, 0x00, 0x00, 0xF1, 0xB1, 0x00, 0x00, 0xF2, 0xB1, 0x00, 0x00, 0xF3, 0xB1, 0x00, 0x00, 
+    0xF4, 0xB1, 0x00, 0x00, 0xF5, 0xB1, 0x00, 0x00, 0xF6, 0xB1, 0x00, 0x00, 0xF7, 0xB1, 0x00, 0x00, 
+    0xF8, 0xB1, 0x00, 0x00, 0xF9, 0xB1, 0x00, 0x00, 0xFA, 0xB1, 0x00, 0x00, 0xFB, 0xB1, 0x00, 0x00, 
+    0xFC, 0xB1, 0x00, 0x00, 0xFD, 0xB1, 0x00, 0x00, 0xFE, 0xB1, 0x00, 0x00, 0xFF, 0xB1, 0x00, 0x00, 
+    0x00, 0xB2, 0x00, 0x00, 0x01, 0xB2, 0x00, 0x00, 0x02, 0xB2, 0x00, 0x00, 0x03, 0xB2, 0x00, 0x00, 
+    0x04, 0xB2, 0x00, 0x00, 0x05, 0xB2, 0x00, 0x00, 0x06, 0xB2, 0x00, 0x00, 0x07, 0xB2, 0x00, 0x00, 
+    0x08, 0xB2, 0x00, 0x00, 0x09, 0xB2, 0x00, 0x00, 0x0A, 0xB2, 0x00, 0x00, 0x0B, 0xB2, 0x00, 0x00, 
+    0x0C, 0xB2, 0x00, 0x00, 0x0D, 0xB2, 0x00, 0x00, 0x0E, 0xB2, 0x00, 0x00, 0x0F, 0xB2, 0x00, 0x00, 
+    0x10, 0xB2, 0x00, 0x00, 0x11, 0xB2, 0x00, 0x00, 0x12, 0xB2, 0x00, 0x00, 0x13, 0xB2, 0x00, 0x00, 
+    0x14, 0xB2, 0x00, 0x00, 0x15, 0xB2, 0x00, 0x00, 0x16, 0xB2, 0x00, 0x00, 0x17, 0xB2, 0x00, 0x00, 
+    0x18, 0xB2, 0x00, 0x00, 0x19, 0xB2, 0x00, 0x00, 0x1A, 0xB2, 0x00, 0x00, 0x1B, 0xB2, 0x00, 0x00, 
+    0x34, 0xB2, 0x00, 0x00, 0x35, 0xB2, 0x00, 0x00, 0x36, 0xB2, 0x00, 0x00, 0x37, 0xB2, 0x00, 0x00, 
+    0x38, 0xB2, 0x00, 0x00, 0x39, 0xB2, 0x00, 0x00, 0x3A, 0xB2, 0x00, 0x00, 0x3B, 0xB2, 0x00, 0x00, 
+    0x3C, 0xB2, 0x00, 0x00, 0x3D, 0xB2, 0x00, 0x00, 0x3E, 0xB2, 0x00, 0x00, 0x3F, 0xB2, 0x00, 0x00, 
+    0x40, 0xB2, 0x00, 0x00, 0x41, 0xB2, 0x00, 0x00, 0x42, 0xB2, 0x00, 0x00, 0x43, 0xB2, 0x00, 0x00, 
+    0x44, 0xB2, 0x00, 0x00, 0x45, 0xB2, 0x00, 0x00, 0x46, 0xB2, 0x00, 0x00, 0x47, 0xB2, 0x00, 0x00, 
+    0x48, 0xB2, 0x00, 0x00, 0x49, 0xB2, 0x00, 0x00, 0x4A, 0xB2, 0x00, 0x00, 0x4B, 0xB2, 0x00, 0x00, 
+    0x4C, 0xB2, 0x00, 0x00, 0x4D, 0xB2, 0x00, 0x00, 0x4E, 0xB2, 0x00, 0x00, 0x4F, 0xB2, 0x00, 0x00, 
+    0x50, 0xB2, 0x00, 0x00, 0x51, 0xB2, 0x00, 0x00, 0x52, 0xB2, 0x00, 0x00, 0x53, 0xB2, 0x00, 0x00, 
+    0x66, 0xB2, 0x00, 0x00, 0x67, 0xB2, 0x00, 0x00, 0x68, 0xB2, 0x00, 0x00, 0x69, 0xB2, 0x00, 0x00, 
+    0x6A, 0xB2, 0x00, 0x00, 0x6B, 0xB2, 0x00, 0x00, 0x6C, 0xB2, 0x00, 0x00, 0x6D, 0xB2, 0x00, 0x00, 
+    0x6E, 0xB2, 0x00, 0x00, 0x6F, 0xB2, 0x00, 0x00, 0x70, 0xB2, 0x00, 0x00, 0x71, 0xB2, 0x00, 0x00, 
+    0x72, 0xB2, 0x00, 0x00, 0x73, 0xB2, 0x00, 0x00, 0x74, 0xB2, 0x00, 0x00, 0x75, 0xB2, 0x00, 0x00, 
+    0x76, 0xB2, 0x00, 0x00, 0x77, 0xB2, 0x00, 0x00, 0x78, 0xB2, 0x00, 0x00, 0x79, 0xB2, 0x00, 0x00, 
+    0x7A, 0xB2, 0x00, 0x00, 0x7B, 0xB2, 0x00, 0x00, 0x7C, 0xB2, 0x00, 0x00, 0x7D, 0x5D, 0xB2, 0x00, 
+    0x00, 0x7D, 0x5E, 0xB2, 0x00, 0x00, 0x7F, 0xB2, 0x00, 0x00, 0x80, 0xB2, 0x00, 0x00, 0x81, 0xB2, 
+    0x00, 0x00, 0x82, 0xB2, 0x00, 0x00, 0x83, 0xB2, 0x00, 0x00, 0x84, 0xB2, 0x00, 0x00, 0x85, 0xB2, 
+    0x00, 0x00, 0x86, 0xB2, 0x00, 0x00, 0x87, 0xB2, 0x00, 0x00, 0x88, 0xB2, 0x00, 0x00, 0x98, 0xB2, 
+    0x00, 0x00, 0x99, 0xB2, 0x00, 0x00, 0x9A, 0xB2, 0x00, 0x00, 0x9B, 0xB2, 0x00, 0x00, 0x9C, 0xB2, 
+    0x00, 0x00, 0x9D, 0xB2, 0x00, 0x00, 0x9E, 0xB2, 0x00, 0x00, 0x9F, 0xB2, 0x00, 0x00, 0xA0, 0xB2, 
+    0x00, 0x00, 0xA1, 0xB2, 0x00, 0x00, 0xA2, 0xB2, 0x00, 0x00, 0xA3, 0xB2, 0x00, 0x00, 0xA4, 0xB2, 
+    0x00, 0x00, 0xA5, 0xB2, 0x00, 0x00, 0xA6, 0xB2, 0x00, 0x00, 0xA7, 0xB2, 0x00, 0x00, 0xA8, 0xB2, 
+    0x00, 0x00, 0xA9, 0xB2, 0x00, 0x00, 0xAA, 0xB2, 0x00, 0x00, 0xAB, 0xB2, 0x00, 0x00, 0xAC, 0xB2, 
+    0x00, 0x00, 0xAD, 0xB2, 0x00, 0x00, 0xAE, 0xB2, 0x00, 0x00, 0xAF, 0xB2, 0x00, 0x00, 0xB0, 0xB2, 
+    0x00, 0x00, 0xB1, 0xB2, 0x00, 0x00, 0xB2, 0xB2, 0x00, 0x00, 0xB3, 0xB2, 0x00, 0x00, 0xB4, 0xB2, 
+    0x00, 0x00, 0xB5, 0xB2, 0x00, 0x00, 0xB6, 0xB2, 0x00, 0x00, 0xB7, 0xB2, 0x00, 0x00, 0xB8, 0xB2, 
+    0x00, 0x00, 0xB9, 0xB2, 0x00, 0x00, 0xBA, 0xB2, 0x00, 0x00, 0xBB, 0xB2, 0x00, 0x00, 0xBC, 0xB2, 
+    0x00, 0x00, 0xBD, 0xB2, 0x00, 0x00, 0xBE, 0xB2, 0x00, 0x00, 0xBF, 0xB2, 0x00, 0x00, 0xC0, 0xB2, 
+    0x00, 0x00, 0xCA, 0xB2, 0x00, 0x00, 0xCB, 0xB2, 0x00, 0x00, 0xCC, 0xB2, 0x00, 0x00, 0xCD, 0xB2, 
+    0x00, 0x00, 0xCE, 0xB2, 0x00, 0x00, 0xCF, 0xB2, 0x00, 0x00, 0xD0, 0xB2, 0x00, 0x00, 0xD1, 0xB2, 
+    0x00, 0x00, 0xD2, 0xB2, 0x00, 0x00, 0xD3, 0xB2, 0x00, 0x00, 0xD4, 0xB2, 0x00, 0x00, 0xD5, 0xB2, 
+    0x00, 0x00, 0xD6, 0xB2, 0x00, 0x00, 0xD7, 0xB2, 0x00, 0x00, 0xD8, 0xB2, 0x00, 0x00, 0xD9, 0xB2, 
+    0x00, 0x00, 0xDA, 0xB2, 0x00, 0x00, 0xDB, 0xB2, 0x00, 0x00, 0xDC, 0xB2, 0x00, 0x00, 0xDD, 0xB2, 
+    0x00, 0x00, 0xDE, 0xB2, 0x00, 0x00, 0xDF, 0xB2, 0x00, 0x00, 0xE0, 0xB2, 0x00, 0x00, 0xE1, 0xB2, 
+    0x00, 0x00, 0xE2, 0xB2, 0x00, 0x00, 0xE3, 0xB2, 0x00, 0x00, 0xE4, 0xB2, 0x00, 0x00, 0xE5, 0xB2, 
+    0x00, 0x00, 0xE6, 0xB2, 0x00, 0x00, 0xE7, 0xB2, 0x00, 0x00, 0xE8, 0xB2, 0x00, 0x00, 0xE9, 0xB2, 
+    0x00, 0x00, 0xEA, 0xB2, 0x00, 0x00, 0xEB, 0xB2, 0x00, 0x00, 0xEC, 0xB2, 0x00, 0x00, 0xED, 0xB2, 
+    0x00, 0x00, 0xEE, 0xB2, 0x00, 0x00, 0xEF, 0xB2, 0x00, 0x00, 0xF0, 0xB2, 0x00, 0x00, 0xF1, 0xB2, 
+    0x00, 0x00, 0xF2, 0xB2, 0x00, 0x00, 0xF3, 0xB2, 0x00, 0x00, 0xF4, 0xB2, 0x00, 0x00, 0xF5, 0xB2, 
+    0x00, 0x00, 0xF6, 0xB2, 0x00, 0x00, 0xF7, 0xB2, 0x00, 0x00, 0xF8, 0xB2, 0x00, 0x00, 0xF9, 0xB2, 
+    0x00, 0x00, 0xFA, 0xB2, 0x00, 0x00, 0xFB, 0xB2, 0x00, 0x00, 0xFC, 0xB2, 0x00, 0x00, 0xFD, 0xB2, 
+    0x00, 0x00, 0xFE, 0xB2, 0x00, 0x00, 0xFF, 0xB2, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x00, 0x01, 0xB3, 
+    0x00, 0x00, 0x02, 0xB3, 0x00, 0x00, 0x03, 0xB3, 0x00, 0x00, 0x04, 0xB3, 0x00, 0x00, 0x05, 0xB3, 
+    0x00, 0x00, 0x06, 0xB3, 0x00, 0x00, 0x07, 0xB3, 0x00, 0x00, 0x08, 0xB3, 0x00, 0x00, 0x09, 0xB3, 
+    0x00, 0x00, 0x0A, 0xB3, 0x00, 0x00, 0x0B, 0xB3, 0x00, 0x00, 0x0C, 0xB3, 0x00, 0x00, 0x0D, 0xB3, 
+    0x00, 0x00, 0x0E, 0xB3, 0x00, 0x00, 0x0F, 0xB3, 0x00, 0x00, 0x10, 0xB3, 0x00, 0x00, 0x11, 0xB3, 
+    0x00, 0x00, 0x12, 0xB3, 0x00, 0x00, 0x13, 0xB3, 0x00, 0x00, 0x14, 0xB3, 0x00, 0x00, 0x15, 0xB3, 
+    0x00, 0x00, 0x16, 0xB3, 0x00, 0x00, 0x17, 0xB3, 0x00, 0x00, 0x18, 0xB3, 0x00, 0x00, 0x19, 0xB3, 
+    0x00, 0x00, 0x1A, 0xB3, 0x00, 0x00, 0x1B, 0xB3, 0x00, 0x00, 0x1C, 0xB3, 0x00, 0x00, 0x1D, 0xB3, 
+    0x00, 0x00, 0x1E, 0xB3, 0x00, 0x00, 0x1F, 0xB3, 0x00, 0x00, 0x20, 0xB3, 0x00, 0x00, 0x21, 0xB3, 
+    0x00, 0x00, 0x22, 0xB3, 0x00, 0x00, 0x23, 0xB3, 0x00, 0x00, 0x24, 0xB3, 0x00, 0x00, 0x25, 0xB3, 
+    0x00, 0x00, 0x26, 0xB3, 0x00, 0x00, 0x27, 0xB3, 0x00, 0x00, 0x28, 0xB3, 0x00, 0x00, 0x29, 0xB3, 
+    0x00, 0x00, 0x2A, 0xB3, 0x00, 0x00, 0x2B, 0xB3, 0x00, 0x00, 0x2C, 0xB3, 0x00, 0x00, 0x2D, 0xB3, 
+    0x00, 0x00, 0x2E, 0xB3, 0x00, 0x00, 0x2F, 0xB3, 0x00, 0x00, 0x30, 0xB3, 0x00, 0x00, 0x31, 0xB3, 
+    0x00, 0x00, 0x32, 0xB3, 0x00, 0x00, 0x33, 0xB3, 0x00, 0x00, 0x34, 0xB3, 0x00, 0x00, 0x35, 0xB3, 
+    0x00, 0x00, 0x88, 0xB3, 0x00, 0x00, 0x89, 0xB3, 0x00, 0x00, 0x8A, 0xB3, 0x00, 0x00, 0x8B, 0xB3, 
+    0x00, 0x00, 0x8C, 0xB3, 0x00, 0x00, 0x8D, 0xB3, 0x00, 0x00, 0x8E, 0xB3, 0x00, 0x00, 0x9C, 0xB3, 
+    0x00, 0x00, 0x9D, 0xB3, 0x00, 0x00, 0x9E, 0xB3, 0x00, 0x00, 0x9F, 0xB3, 0x00, 0x00, 0xA0, 0xB3, 
+    0x00, 0x00, 0xA1, 0xB3, 0x00, 0x00, 0xA2, 0xB3, 0x00, 0x00, 0xA3, 0xB3, 0x00, 0x00, 0xA4, 0xB3, 
+    0x00, 0x00, 0xA5, 0xB3, 0x00, 0x00, 0xA6, 0xB3, 0x00, 0x00, 0xA7, 0xB3, 0x00, 0x00, 0xA8, 0xB3, 
+    0x00, 0x00, 0xA9, 0xB3, 0x00, 0x00, 0xAA, 0xB3, 0x00, 0x00, 0xAB, 0xB3, 0x00, 0x00, 0xAC, 0xB3, 
+    0x00, 0x00, 0xAD, 0xB3, 0x00, 0x00, 0xAE, 0xB3, 0x00, 0x00, 0xAF, 0xB3, 0x00, 0x00, 0xB0, 0xB3, 
+    0x00, 0x00, 0xB1, 0xB3, 0x00, 0x00, 0xB2, 0xB3, 0x00, 0x00, 0xB3, 0xB3, 0x00, 0x00, 0xCE, 0xB3, 
+    0x00, 0x00, 0xCF, 0xB3, 0x00, 0x00, 0xD0, 0xB3, 0x00, 0x00, 0xD1, 0xB3, 0x00, 0x00, 0xD2, 0xB3, 
+    0x00, 0x00, 0xD3, 0xB3, 0x00, 0x00, 0xD4, 0xB3, 0x00, 0x00, 0xD5, 0xB3, 0x00, 0x00, 0xD6, 0xB3, 
+    0x00, 0x00, 0xD7, 0xB3, 0x00, 0x00, 0xD8, 0xB3, 0x00, 0x00, 0xD9, 0xB3, 0x00, 0x00, 0xDA, 0xB3, 
+    0x00, 0x00, 0xDB, 0xB3, 0x00, 0x00, 0xDC, 0xB3, 0x00, 0x00, 0xDD, 0xB3, 0x00, 0x00, 0xDE, 0xB3, 
+    0x00, 0x00, 0xDF, 0xB3, 0x00, 0x00, 0xEC, 0xB3, 0x00, 0x00, 0xED, 0xB3, 0x00, 0x00, 0xEE, 0xB3, 
+    0x00, 0x00, 0xEF, 0xB3, 0x00, 0x00, 0xF0, 0xB3, 0x00, 0x00, 0xF1, 0xB3, 0x00, 0x00, 0xF2, 0xB3, 
+    0x00, 0x00, 0xF3, 0xB3, 0x00, 0x00, 0xF4, 0xB3, 0x00, 0x00, 0xF5, 0xB3, 0x00, 0x00, 0xF6, 0xB3, 
+    0x00, 0x00, 0xF7, 0xB3, 0x00, 0x00, 0xF8, 0xB3, 0x00, 0x00, 0xF9, 0xB3, 0x00, 0x00, 0xFA, 0xB3, 
+    0x00, 0x00, 0xFB, 0xB3, 0x00, 0x00, 0xFC, 0xB3, 0x00, 0x00, 0x0A, 0xB4, 0x00, 0x00, 0x0B, 0xB4, 
+    0x00, 0x00, 0x0C, 0xB4, 0x00, 0x00, 0x0D, 0xB4, 0x00, 0x00, 0x0E, 0xB4, 0x00, 0x00, 0x0F, 0xB4, 
+    0x00, 0x00, 0x10, 0xB4, 0x00, 0x00, 0x11, 0xB4, 0x00, 0x00, 0x12, 0xB4, 0x00, 0x00, 0x13, 0xB4, 
+    0x00, 0x00, 0x14, 0xB4, 0x00, 0x00, 0x15, 0xB4, 0x00, 0x00, 0x16, 0xB4, 0x00, 0x00, 0x17, 0xB4, 
+    0x00, 0x00, 0x18, 0xB4, 0x00, 0x00, 0x19, 0xB4, 0x00, 0x00, 0x1A, 0xB4, 0x00, 0x00, 0x1B, 0xB4, 
+    0x00, 0x00, 0x1C, 0xB4, 0x00, 0x00, 0x1D, 0xB4, 0x00, 0x00, 0x1E, 0xB4, 0x00, 0x00, 0x1F, 0xB4, 
+    0x00, 0x00, 0x20, 0xB4, 0x00, 0x00, 0x21, 0xB4, 0x00, 0x00, 0x22, 0xB4, 0x00, 0x00, 0x23, 0xB4, 
+    0x00, 0x00, 0x24, 0xB4, 0x00, 0x00, 0x3C, 0xB4, 0x00, 0x00, 0x3D, 0xB4, 0x00, 0x00, 0x3E, 0xB4, 
+    0x00, 0x00, 0x3F, 0xB4, 0x00, 0x00, 0x40, 0xB4, 0x00, 0x00, 0x41, 0xB4, 0x00, 0x00, 0x50, 0xB4, 
+    0x00, 0x00, 0x51, 0xB4, 0x00, 0x00, 0x52, 0xB4, 0x00, 0x00, 0x53, 0xB4, 0x00, 0x00, 0x54, 0xB4, 
+    0x00, 0x00, 0x55, 0xB4, 0x00, 0x00, 0x56, 0xB4, 0x00, 0x00, 0x64, 0xB4, 0x00, 0x00, 0x6E, 0xB4, 
+    0x00, 0x00, 0x78, 0xB4, 0x00, 0x00, 0x8C, 0xB4, 0x00, 0x00, 0x8D, 0xB4, 0x00, 0x00, 0x8E, 0xB4, 
+    0x00, 0x00, 0x8F, 0xB4, 0x00, 0x00, 0x90, 0xB4, 0x00, 0x00, 0x91, 0xB4, 0x00, 0x00, 0x92, 0xB4, 
+    0x00, 0x00, 0x93, 0xB4, 0x00, 0x00, 0x94, 0xB4, 0x00, 0x00, 0x95, 0xB4, 0x00, 0x00, 0x96, 0xB4, 
+    0x00, 0x00, 0x97, 0xB4, 0x00, 0x00, 0x98, 0xB4, 0x00, 0x00, 0x99, 0xB4, 0x00, 0x00, 0x9A, 0xB4, 
+    0x00, 0x00, 0x9B, 0xB4, 0x00, 0x00, 0x9C, 0xB4, 0x00, 0x00, 0x9D, 0xB4, 0x00, 0x00, 0x9E, 0xB4, 
+    0x00, 0x00, 0x9F, 0xB4, 0x00, 0x00, 0xA0, 0xB4, 0x00, 0x00, 0xA1, 0xB4, 0x00, 0x00, 0xA2, 0xB4, 
+    0x00, 0x00, 0xA3, 0xB4, 0x00, 0x00, 0xA4, 0xB4, 0x00, 0x00, 0xA5, 0xB4, 0x00, 0x00, 0xA6, 0xB4, 
+    0x00, 0x00, 0xA7, 0xB4, 0x00, 0x00, 0xA8, 0xB4, 0x00, 0x00, 0xA9, 0xB4, 0x00, 0x00, 0xAA, 0xB4, 
+    0x00, 0x00, 0xAB, 0xB4, 0x00, 0x00, 0xAC, 0xB4, 0x00, 0x00, 0xAD, 0xB4, 0x00, 0x00, 0xAE, 0xB4, 
+    0x00, 0x00, 0xAF, 0xB4, 0x00, 0x00, 0xB0, 0xB4, 0x00, 0x00, 0xB1, 0xB4, 0x00, 0x00, 0xDC, 0xB4, 
+    0x00, 0x00, 0xDD, 0xB4, 0x00, 0x00, 0xDE, 0xB4, 0x00, 0x00, 0xDF, 0xB4, 0x00, 0x00, 0xE0, 0xB4, 
+    0x00, 0x00, 0xE1, 0xB4, 0x00, 0x00, 0xE2, 0xB4, 0x00, 0x00, 0xE3, 0xB4, 0x00, 0x00, 0xF0, 0xB4, 
+    0x00, 0x00, 0xF1, 0xB4, 0x00, 0x00, 0xF2, 0xB4, 0x00, 0x00, 0xF3, 0xB4, 0x00, 0x00, 0xF4, 0xB4, 
+    0x00, 0x00, 0xF5, 0xB4, 0x00, 0x00, 0x04, 0xB5, 0x00, 0x00, 0x18, 0xB5, 0x00, 0x00, 0x19, 0xB5, 
+    0x00, 0x00, 0x1A, 0xB5, 0x00, 0x00, 0x22, 0xB5, 0x00, 0x00, 0x23, 0xB5, 0x00, 0x00, 0x24, 0xB5, 
+    0x00, 0x00, 0x25, 0xB5, 0x00, 0x00, 0x36, 0xB5, 0x00, 0x00, 0x37, 0xB5, 0x00, 0x00, 0x38, 0xB5, 
+    0x00, 0x00, 0x39, 0xB5, 0x00, 0x00, 0x3A, 0xB5, 0x00, 0x00, 0x3B, 0xB5, 0x00, 0x00, 0x3C, 0xB5, 
+    0x00, 0x00, 0x3D, 0xB5, 0x00, 0x00, 0x3E, 0xB5, 0x00, 0x00, 0x3F, 0xB5, 0x00, 0x00, 0x40, 0xB5, 
+    0x00, 0x00, 0x5E, 0xB5, 0x00, 0x00, 0x5F, 0xB5, 0x00, 0x00, 0x60, 0xB5, 0x00, 0x00, 0x61, 0xB5, 
+    0x00, 0x00, 0x62, 0xB5, 0x00, 0x00, 0x72, 0xB5, 0x00, 0x00, 0x73, 0xB5, 0x00, 0x00, 0x86, 0xB5, 
+    0x00, 0x00, 0x90, 0xB5, 0x00, 0x00, 0x71, 0xB7, 0x00, 0x00, 0x72, 0xB7, 0x00, 0x00, 0x73, 0xB7, 
+    0x00, 0x00, 0x85, 0xB7, 0x00, 0x00, 0x86, 0xB7, 0x00, 0x00, 0x87, 0xB7, 0x00, 0x00, 0xA3, 0xB7, 
+    0x00, 0x00, 0xA4, 0xB7, 0x00, 0x00, 0xA5, 0xB7, 0x00, 0x00, 0xA6, 0xB7, 0x00, 0x00, 0xA7, 0xB7, 
+    0x00, 0x00, 0xA8, 0xB7, 0x00, 0x00, 0xA9, 0xB7, 0x00, 0x00, 0xAA, 0xB7, 0x00, 0x00, 0xAB, 0xB7, 
+    0x00, 0x00, 0xB7, 0xB7, 0x00, 0x00, 0xB8, 0xB7, 0x00, 0x00, 0xB9, 0xB7, 0x00, 0x00, 0xBA, 0xB7, 
+    0x00, 0x00, 0xD5, 0xB7, 0x00, 0x00, 0xD6, 0xB7, 0x00, 0x00, 0xD9, 0xB7, 0x00, 0x00, 0xDA, 0xB7, 
+    0x00, 0x00, 0xE9, 0xB7, 0x00, 0x00, 0xEA, 0xB7, 0x00, 0x00, 0xEB, 0xB7, 0x00, 0x00, 0xEC, 0xB7, 
+    0x00, 0x00, 0xEF, 0xB7, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00, 0x09, 0xB8, 
+    0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x0D, 0xB8, 
+    0x00, 0x00, 0x0E, 0xB8, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x10, 0xB8, 0x00, 0x00, 0x11, 0xB8, 
+    0x00, 0x00, 0x12, 0xB8, 0x00, 0x00, 0x13, 0xB8, 0x00, 0x00, 0x14, 0xB8, 0x00, 0x00, 0x15, 0xB8, 
+    0x00, 0x00, 0x16, 0xB8, 0x00, 0x00, 0x17, 0xB8, 0x00, 0x00, 0x18, 0xB8, 0x00, 0x00, 0x19, 0xB8, 
+    0x00, 0x00, 0x1A, 0xB8, 0x00, 0x00, 0x1B, 0xB8, 0x00, 0x00, 0x1C, 0xB8, 0x00, 0x00, 0x1D, 0xB8, 
+    0x00, 0x00, 0x1E, 0xB8, 0x00, 0x00, 0x25, 0xB8, 0x00, 0x00, 0x26, 0xB8, 0x00, 0x00, 0x27, 0xB8, 
+    0x00, 0x00, 0x28, 0xB8, 0x00, 0x00, 0x38, 0xB8, 0x00, 0x00, 0x39, 0xB8, 0x00, 0x00, 0x3A, 0xB8, 
+    0x00, 0x00, 0x3B, 0xB8, 0x00, 0x00, 0x3C, 0xB8, 0x00, 0x00, 0x3D, 0xB8, 0x00, 0x00, 0x3E, 0xB8, 
+    0x00, 0x00, 0x3F, 0xB8, 0x00, 0x00, 0x40, 0xB8, 0x00, 0x00, 0x41, 0xB8, 0x00, 0x00, 0x42, 0xB8, 
+    0x00, 0x00, 0x43, 0xB8, 0x00, 0x00, 0x44, 0xB8, 0x00, 0x00, 0x4C, 0xB8, 0x00, 0x00, 0x4D, 0xB8, 
+    0x00, 0x00, 0x4E, 0xB8, 0x00, 0x00, 0x4F, 0xB8, 0x00, 0x00, 0x6A, 0xB8, 0x00, 0x00, 0x6B, 0xB8, 
+    0x00, 0x00, 0x6C, 0xB8, 0x00, 0x00, 0x6D, 0xB8, 0x00, 0x00, 0x7F, 0xB8, 0x00, 0x00, 0x80, 0xB8, 
+    0x00, 0x00, 0x81, 0xB8, 0x00, 0x00, 0x82, 0xB8, 0x00, 0x00, 0x83, 0xB8, 0x00, 0x00, 0x84, 0xB8, 
+    0x00, 0x00, 0x85, 0xB8, 0x00, 0x00, 0x86, 0xB8, 0x00, 0x00, 0x87, 0xB8, 0x00, 0x00, 0x88, 0xB8, 
+    0x00, 0x00, 0x89, 0xB8, 0x00, 0x00, 0x8A, 0xB8, 0x00, 0x00, 0x8B, 0xB8, 0x00, 0x00, 0x8C, 0xB8, 
+    0x00, 0x00, 0x8D, 0xB8, 0x00, 0x00, 0x8E, 0xB8, 0x00, 0x00, 0x8F, 0xB8, 0x00, 0x00, 0x64, 0xB9, 
+    0x00, 0x00, 0x65, 0xB9, 0x00, 0x00, 0x66, 0xB9, 0x00, 0x00, 0x78, 0xB9, 0x00, 0x00, 0x96, 0xB9, 
+    0x00, 0x00, 0x97, 0xB9, 0x00, 0x00, 0x98, 0xB9, 0x00, 0x00, 0x99, 0xB9, 0x00, 0x00, 0x9A, 0xB9, 
+    0x00, 0x00, 0x9B, 0xB9, 0x00, 0x00, 0x9C, 0xB9, 0x00, 0x00, 0x9D, 0xB9, 0x00, 0x00, 0xAA, 0xB9, 
+    0x00, 0x00, 0xAB, 0xB9, 0x00, 0x00, 0xAC, 0xB9, 0x00, 0x00, 0xAD, 0xB9, 0x00, 0x00, 0xC8, 0xB9, 
+    0x00, 0x00, 0xC9, 0xB9, 0x00, 0x00, 0xCA, 0xB9, 0x00, 0x00, 0xCB, 0xB9, 0x00, 0x00, 0xDD, 0xB9, 
+    0x00, 0x00, 0xDE, 0xB9, 0x00, 0x00, 0xDF, 0xB9, 0x00, 0x00, 0xFA, 0xB9, 0x00, 0x00, 0xFB, 0xB9, 
+    0x00, 0x00, 0xFC, 0xB9, 0x00, 0x00, 0xFD, 0xB9, 0x00, 0x00, 0xFE, 0xB9, 0x00, 0x00, 0xFF, 0xB9, 
+    0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x01, 0xBA, 0x00, 0x00, 0x02, 0xBA, 0x00, 0x00, 0x03, 0xBA, 
+    0x00, 0x00, 0x04, 0xBA, 0x00, 0x00, 0x05, 0xBA, 0x00, 0x00, 0x06, 0xBA, 0x00, 0x00, 0x07, 0xBA, 
+    0x00, 0x00, 0x08, 0xBA, 0x00, 0x00, 0x09, 0xBA, 0x00, 0x00, 0x0A, 0xBA, 0x00, 0x00, 0x0B, 0xBA, 
+    0x00, 0x00, 0x0C, 0xBA, 0x00, 0x00, 0x0D, 0xBA, 0x00, 0x00, 0x0E, 0xBA, 0x00, 0x00, 0x0F, 0xBA, 
+    0x00, 0x00, 0x10, 0xBA, 0x00, 0x00, 0x11, 0xBA, 0x00, 0x00, 0x18, 0xBA, 0x00, 0x00, 0x19, 0xBA, 
+    0x00, 0x00, 0x1A, 0xBA, 0x00, 0x00, 0x1B, 0xBA, 0x00, 0x00, 0x2C, 0xBA, 0x00, 0x00, 0x2D, 0xBA, 
+    0x00, 0x00, 0x2E, 0xBA, 0x00, 0x00, 0x2F, 0xBA, 0x00, 0x00, 0x30, 0xBA, 0x00, 0x00, 0x31, 0xBA, 
+    0x00, 0x00, 0x32, 0xBA, 0x00, 0x00, 0x40, 0xBA, 0x00, 0x00, 0x41, 0xBA, 0x00, 0x00, 0x5E, 0xBA, 
+    0x00, 0x00, 0x5F, 0xBA, 0x00, 0x00, 0x60, 0xBA, 0x00, 0x00, 0x61, 0xBA, 0x00, 0x00, 0x72, 0xBA, 
+    0x00, 0x00, 0x73, 0xBA, 0x00, 0x00, 0x74, 0xBA, 0x00, 0x00, 0x75, 0xBA, 0x00, 0x00, 0x76, 0xBA, 
+    0x00, 0x00, 0x77, 0xBA, 0x00, 0x00, 0x78, 0xBA, 0x00, 0x00, 0x79, 0xBA, 0x00, 0x00, 0x7A, 0xBA, 
+    0x00, 0x00, 0x7B, 0xBA, 0x00, 0x00, 0x7C, 0xBA, 0x00, 0x00, 0x7D, 0x5D, 0xBA, 0x00, 0x00, 0x7D, 
+    0x5E, 0xBA, 0x00, 0x00, 0x7F, 0xBA, 0x00, 0x00, 0xBC, 0xBB, 0x00, 0x00, 0xBD, 0xBB, 0x00, 0x00, 
+    0xBE, 0xBB, 0x00, 0x00, 0x96, 0xBC, 0x00, 0x00, 0x97, 0xBC, 0x00, 0x00, 0x98, 0xBC, 0x00, 0x00, 
+    0x99, 0xBC, 0x00, 0x00, 0x9A, 0xBC, 0x00, 0x00, 0x9B, 0xBC, 0x00, 0x00, 0x9C, 0xBC, 0x00, 0x00, 
+    0x9D, 0xBC, 0x00, 0x00, 0x9E, 0xBC, 0x00, 0x00, 0xDC, 0xBE, 0x00, 0x00, 0xDD, 0xBE, 0x00, 0x00, 
+    0xDE, 0xBE, 0x00, 0x00, 0xDF, 0xBE, 0x00, 0x00, 0xE0, 0xBE, 0x00, 0x00, 0xE1, 0xBE, 0x00, 0x00, 
+    0xE2, 0xBE, 0x00, 0x00, 0xF0, 0xBE, 0x00, 0x00, 0xFA, 0xBE, 0x00, 0x00, 0xFB, 0xBE, 0x00, 0x00, 
+    0xFC, 0xBE, 0x00, 0x00, 0xFD, 0xBE, 0x00, 0x00, 0xFE, 0xBE, 0x00, 0x00, 0xFF, 0xBE, 0x00, 0x00, 
+    0x00, 0xBF, 0x00, 0x00, 0x01, 0xBF, 0x00, 0x00, 0x02, 0xBF, 0x00, 0x00, 0x03, 0xBF, 0x00, 0x00, 
+    0x04, 0xBF, 0x00, 0x00, 0x05, 0xBF, 0x00, 0x00, 0x18, 0xBF, 0x00, 0x00, 0x19, 0xBF, 0x00, 0x00, 
+    0x1A, 0xBF, 0x00, 0x00, 0x1B, 0xBF, 0x00, 0x00, 0x1C, 0xBF, 0x00, 0x00, 0x1D, 0xBF, 0x00, 0x00, 
+    0x1E, 0xBF, 0x00, 0x00, 0x1F, 0xBF, 0x00, 0x00, 0x20, 0xBF, 0x00, 0x00, 0x2C, 0xBF, 0x00, 0x00, 
+    0x2D, 0xBF, 0x00, 0x00, 0x36, 0xBF, 0x00, 0x00, 0x37, 0xBF, 0x00, 0x00, 0x38, 0xBF, 0x00, 0x00, 
+    0x39, 0xBF, 0x00, 0x00, 0x4A, 0xBF, 0x00, 0x00, 0x4B, 0xBF, 0x00, 0x00, 0x4C, 0xBF, 0x00, 0x00, 
+    0x4D, 0xBF, 0x00, 0x00, 0x4E, 0xBF, 0x00, 0x00, 0x4F, 0xBF, 0x00, 0x00, 0x50, 0xBF, 0x00, 0x00, 
+    0x54, 0xBF, 0x00, 0x00, 0x55, 0xBF, 0x00, 0x00, 0x56, 0xBF, 0x00, 0x00, 0x57, 0xBF, 0x00, 0x00, 
+    0x58, 0xBF, 0x00, 0x00, 0x59, 0xBF, 0x00, 0x00, 0x5E, 0xBF, 0x00, 0x00, 0x5F, 0xBF, 0x00, 0x00, 
+    0x60, 0xBF, 0x00, 0x00, 0x61, 0xBF, 0x00, 0x00, 0x62, 0xBF, 0x00, 0x00, 0x63, 0xBF, 0x00, 0x00, 
+    0x64, 0xBF, 0x00, 0x00, 0x65, 0xBF, 0x00, 0x00, 0x66, 0xBF, 0x00, 0x00, 0x67, 0xBF, 0x00, 0x00, 
+    0x68, 0xBF, 0x00, 0x00, 0x69, 0xBF, 0x00, 0x00, 0x6A, 0xBF, 0x00, 0x00, 0x6B, 0xBF, 0x00, 0x00, 
+    0x6C, 0xBF, 0x00, 0x00, 0x6D, 0xBF, 0x00, 0x00, 0x6E, 0xBF, 0x00, 0x00, 0x6F, 0xBF, 0x00, 0x00, 
+    0x70, 0xBF, 0x00, 0x00, 0x71, 0xBF, 0x00, 0x00, 0x72, 0xBF, 0x00, 0x00, 0x73, 0xBF, 0x00, 0x00, 
+    0x74, 0xBF, 0x00, 0x00, 0x75, 0xBF, 0x00, 0x00, 0x76, 0xBF, 0x00, 0x00, 0x77, 0xBF, 0x00, 0x00, 
+    0x78, 0xBF, 0x00, 0x00, 0x79, 0xBF, 0x00, 0x00, 0x7A, 0xBF, 0x00, 0x00, 0x7B, 0xBF, 0x00, 0x00, 
+    0x7C, 0xBF, 0x00, 0x00, 0x7D, 0x5D, 0xBF, 0x00, 0x00, 0x7D, 0x5E, 0xBF, 0x00, 0x00, 0x7F, 0xBF, 
+    0x00, 0x00, 0x80, 0xBF, 0x00, 0x00, 0x81, 0xBF, 0x00, 0x00, 0x82, 0xBF, 0x00, 0x00, 0x83, 0xBF, 
+    0x00, 0x00, 0x84, 0xBF, 0x00, 0x00, 0x90, 0xBF, 0x00, 0x00, 0x91, 0xBF, 0x00, 0x00, 0x92, 0xBF, 
+    0x00, 0x00, 0x93, 0xBF, 0x00, 0x00, 0x94, 0xBF, 0x00, 0x00, 0x95, 0xBF, 0x00, 0x00, 0x96, 0xBF, 
+    0x00, 0x00, 0x97, 0xBF, 0x00, 0x00, 0x98, 0xBF, 0x00, 0x00, 0x99, 0xBF, 0x00, 0x00, 0x9A, 0xBF, 
+    0x00, 0x00, 0x9B, 0xBF, 0x00, 0x00, 0x9C, 0xBF, 0x00, 0x00, 0x9D, 0xBF, 0x00, 0x00, 0x9E, 0xBF, 
+    0x00, 0x00, 0x9F, 0xBF, 0x00, 0x00, 0xA0, 0xBF, 0x00, 0x00, 0xA1, 0xBF, 0x00, 0x00, 0xA2, 0xBF, 
+    0x00, 0x00, 0xA3, 0xBF, 0x00, 0x00, 0xA4, 0xBF, 0x00, 0x00, 0xA5, 0xBF, 0x00, 0x00, 0xC2, 0xBF, 
+    0x00, 0x00, 0xC3, 0xBF, 0x00, 0x00, 0xC4, 0xBF, 0x00, 0x00, 0xC5, 0xBF, 0x00, 0x00, 0xC6, 0xBF, 
+    0x00, 0x00, 0xC7, 0xBF, 0x00, 0x00, 0xC8, 0xBF, 0x00, 0x00, 0xC9, 0xBF, 0x00, 0x00, 0xCA, 0xBF, 
+    0x00, 0x00, 0xCB, 0xBF, 0x00, 0x00, 0xCC, 0xBF, 0x00, 0x00, 0xCD, 0xBF, 0x00, 0x00, 0xCE, 0xBF, 
+    0x00, 0x00, 0xCF, 0xBF, 0x00, 0x00, 0xD0, 0xBF, 0x00, 0x00, 0xD1, 0xBF, 0x00, 0x00, 0xD2, 0xBF, 
+    0x00, 0x00, 0xD3, 0xBF, 0x00, 0x00, 0xD4, 0xBF, 0x00, 0x00, 0xD5, 0xBF, 0x00, 0x00, 0xD6, 0xBF, 
+    0x00, 0x00, 0xD7, 0xBF, 0x00, 0x00, 0xD8, 0xBF, 0x00, 0x00, 0xD9, 0xBF, 0x00, 0x00, 0xDA, 0xBF, 
+    0x00, 0x00, 0xDB, 0xBF, 0x00, 0x00, 0xDC, 0xBF, 0x00, 0x00, 0xDD, 0xBF, 0x00, 0x00, 0xDE, 0xBF, 
+    0x00, 0x00, 0xDF, 0xBF, 0x00, 0x00, 0xE0, 0xBF, 0x00, 0x00, 0xE1, 0xBF, 0x00, 0x00, 0xE2, 0xBF, 
+    0x00, 0x00, 0xE3, 0xBF, 0x00, 0x00, 0xE4, 0xBF, 0x00, 0x00, 0xE5, 0xBF, 0x00, 0x00, 0xE6, 0xBF, 
+    0x00, 0x00, 0xE7, 0xBF, 0x00, 0x00, 0xE8, 0xBF, 0x00, 0x00, 0xE9, 0xBF, 0x00, 0x00, 0xEA, 0xBF, 
+    0x00, 0x00, 0xEB, 0xBF, 0x00, 0x00, 0xEC, 0xBF, 0x00, 0x00, 0xED, 0xBF, 0x00, 0x00, 0xEE, 0xBF, 
+    0x00, 0x00, 0xEF, 0xBF, 0x00, 0x00, 0xF0, 0xBF, 0x00, 0x00, 0xF1, 0xBF, 0x00, 0x00, 0xF2, 0xBF, 
+    0x00, 0x00, 0xF3, 0xBF, 0x00, 0x00, 0xF4, 0xBF, 0x00, 0x00, 0xF5, 0xBF, 0x00, 0x00, 0xF6, 0xBF, 
+    0x00, 0x00, 0xF7, 0xBF, 0x00, 0x00, 0xF8, 0xBF, 0x00, 0x00, 0xF9, 0xBF, 0x00, 0x00, 0xFA, 0xBF, 
+    0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0xFC, 0xBF, 0x00, 0x00, 0xFD, 0xBF, 0x00, 0x00, 0xFE, 0xBF, 
+    0x00, 0x00, 0xFF, 0xBF, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x02, 0xC0, 
+    0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x04, 0xC0, 0x00, 0x00, 0x05, 0xC0, 0x00, 0x00, 0x06, 0xC0, 
+    0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x08, 0xC0, 0x00, 0x00, 0x26, 0xC0, 0x00, 0x00, 0x27, 0xC0, 
+    0x00, 0x00, 0x28, 0xC0, 0x00, 0x00, 0x29, 0xC0, 0x00, 0x00, 0x2A, 0xC0, 0x00, 0x00, 0x2B, 0xC0, 
+    0x00, 0x00, 0x2C, 0xC0, 0x00, 0x00, 0x2D, 0xC0, 0x00, 0x00, 0x2E, 0xC0, 0x00, 0x00, 0x2F, 0xC0, 
+    0x00, 0x00, 0x30, 0xC0, 0x00, 0x00, 0x31, 0xC0, 0x00, 0x00, 0x32, 0xC0, 0x00, 0x00, 0x33, 0xC0, 
+    0x00, 0x00, 0x34, 0xC0, 0x00, 0x00, 0x35, 0xC0, 0x00, 0x00, 0x36, 0xC0, 0x00, 0x00, 0x37, 0xC0, 
+    0x00, 0x00, 0x38, 0xC0, 0x00, 0x00, 0x39, 0xC0, 0x00, 0x00, 0x3A, 0xC0, 0x00, 0x00, 0x3B, 0xC0, 
+    0x00, 0x00, 0x3C, 0xC0, 0x00, 0x00, 0x3D, 0xC0, 0x00, 0x00, 0x58, 0xC0, 0x00, 0x00, 0x59, 0xC0, 
+    0x00, 0x00, 0x5A, 0xC0, 0x00, 0x00, 0x5B, 0xC0, 0x00, 0x00, 0x5C, 0xC0, 0x00, 0x00, 0x5D, 0xC0, 
+    0x00, 0x00, 0x5E, 0xC0, 0x00, 0x00, 0x5F, 0xC0, 0x00, 0x00, 0x60, 0xC0, 0x00, 0x00, 0x61, 0xC0, 
+    0x00, 0x00, 0x62, 0xC0, 0x00, 0x00, 0x63, 0xC0, 0x00, 0x00, 0x64, 0xC0, 0x00, 0x00, 0x65, 0xC0, 
+    0x00, 0x00, 0x66, 0xC0, 0x00, 0x00, 0x67, 0xC0, 0x00, 0x00, 0x68, 0xC0, 0x00, 0x00, 0x69, 0xC0, 
+    0x00, 0x00, 0x6A, 0xC0, 0x00, 0x00, 0x6B, 0xC0, 0x00, 0x00, 0x6C, 0xC0, 0x00, 0x00, 0x6D, 0xC0, 
+    0x00, 0x00, 0x6E, 0xC0, 0x00, 0x00, 0x6F, 0xC0, 0x00, 0x00, 0x70, 0xC0, 0x00, 0x00, 0x71, 0xC0, 
+    0x00, 0x00, 0x72, 0xC0, 0x00, 0x00, 0x73, 0xC0, 0x00, 0x00, 0x74, 0xC0, 0x00, 0x00, 0x75, 0xC0, 
+    0x00, 0x00, 0x76, 0xC0, 0x00, 0x00, 0x77, 0xC0, 0x00, 0x00, 0x78, 0xC0, 0x00, 0x00, 0x79, 0xC0, 
+    0x00, 0x00, 0x7A, 0xC0, 0x00, 0x00, 0x8A, 0xC0, 0x00, 0x00, 0x8B, 0xC0, 0x00, 0x00, 0x8C, 0xC0, 
+    0x00, 0x00, 0x8D, 0xC0, 0x00, 0x00, 0x8E, 0xC0, 0x00, 0x00, 0x8F, 0xC0, 0x00, 0x00, 0x90, 0xC0, 
+    0x00, 0x00, 0x91, 0xC0, 0x00, 0x00, 0x92, 0xC0, 0x00, 0x00, 0x93, 0xC0, 0x00, 0x00, 0x94, 0xC0, 
+    0x00, 0x00, 0x95, 0xC0, 0x00, 0x00, 0x96, 0xC0, 0x00, 0x00, 0x97, 0xC0, 0x00, 0x00, 0x98, 0xC0, 
+    0x00, 0x00, 0x99, 0xC0, 0x00, 0x00, 0x9A, 0xC0, 0x00, 0x00, 0x9B, 0xC0, 0x00, 0x00, 0x9C, 0xC0, 
+    0x00, 0x00, 0x9D, 0xC0, 0x00, 0x00, 0x9E, 0xC0, 0x00, 0x00, 0x9F, 0xC0, 0x00, 0x00, 0xA0, 0xC0, 
+    0x00, 0x00, 0xA1, 0xC0, 0x00, 0x00, 0xA2, 0xC0, 0x00, 0x00, 0xA3, 0xC0, 0x00, 0x00, 0xA4, 0xC0, 
+    0x00, 0x00, 0xA5, 0xC0, 0x00, 0x00, 0xA6, 0xC0, 0x00, 0x00, 0xA7, 0xC0, 0x00, 0x00, 0xA8, 0xC0, 
+    0x00, 0x00, 0xA9, 0xC0, 0x00, 0x00, 0xAA, 0xC0, 0x00, 0x00, 0xAB, 0xC0, 0x00, 0x00, 0xAC, 0xC0, 
+    0x00, 0x00, 0xAD, 0xC0, 0x00, 0x00, 0xAE, 0xC0, 0x00, 0x00, 0xAF, 0xC0, 0x00, 0x00, 0xB0, 0xC0, 
+    0x00, 0x00, 0xB1, 0xC0, 0x00, 0x00, 0xB2, 0xC0, 0x00, 0x00, 0xB3, 0xC0, 0x00, 0x00, 0xB4, 0xC0, 
+    0x00, 0x00, 0xB5, 0xC0, 0x00, 0x00, 0xB6, 0xC0, 0x00, 0x00, 0xB7, 0xC0, 0x00, 0x00, 0xB8, 0xC0, 
+    0x00, 0x00, 0xB9, 0xC0, 0x00, 0x00, 0xBA, 0xC0, 0x00, 0x00, 0xBB, 0xC0, 0x00, 0x00, 0xBC, 0xC0, 
+    0x00, 0x00, 0xBD, 0xC0, 0x00, 0x00, 0xBE, 0xC0, 0x00, 0x00, 0xBF, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 
+    0x00, 0x00, 0xC1, 0xC0, 0x00, 0x00, 0xC2, 0xC0, 0x00, 0x00, 0xC3, 0xC0, 0x00, 0x00, 0xC4, 0xC0, 
+    0x00, 0x00, 0xEE, 0xC0, 0x00, 0x00, 0xEF, 0xC0, 0x00, 0x00, 0xF0, 0xC0, 0x00, 0x00, 0xF1, 0xC0, 
+    0x00, 0x00, 0xF2, 0xC0, 0x00, 0x00, 0xF3, 0xC0, 0x00, 0x00, 0xF4, 0xC0, 0x00, 0x00, 0xF5, 0xC0, 
+    0x00, 0x00, 0xF6, 0xC0, 0x00, 0x00, 0xF7, 0xC0, 0x00, 0x00, 0xF8, 0xC0, 0x00, 0x00, 0xF9, 0xC0, 
+    0x00, 0x00, 0xFA, 0xC0, 0x00, 0x00, 0xFB, 0xC0, 0x00, 0x00, 0xFC, 0xC0, 0x00, 0x00, 0xFD, 0xC0, 
+    0x00, 0x00, 0xFE, 0xC0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x20, 0xC1, 
+    0x00, 0x00, 0x21, 0xC1, 0x00, 0x00, 0x22, 0xC1, 0x00, 0x00, 0x23, 0xC1, 0x00, 0x00, 0x24, 0xC1, 
+    0x00, 0x00, 0x25, 0xC1, 0x00, 0x00, 0x26, 0xC1, 0x00, 0x00, 0x27, 0xC1, 0x00, 0x00, 0x28, 0xC1, 
+    0x00, 0x00, 0x29, 0xC1, 0x00, 0x00, 0x2A, 0xC1, 0x00, 0x00, 0x2B, 0xC1, 0x00, 0x00, 0x2C, 0xC1, 
+    0x00, 0x00, 0x2D, 0xC1, 0x00, 0x00, 0x2E, 0xC1, 0x00, 0x00, 0x2F, 0xC1, 0x00, 0x00, 0x30, 0xC1, 
+    0x00, 0x00, 0x31, 0xC1, 0x00, 0x00, 0x32, 0xC1, 0x00, 0x00, 0x33, 0xC1, 0x00, 0x00, 0x34, 0xC1, 
+    0x00, 0x00, 0x84, 0xC1, 0x00, 0x00, 0x85, 0xC1, 0x00, 0x00, 0x86, 0xC1, 0x00, 0x00, 0x87, 0xC1, 
+    0x00, 0x00, 0x88, 0xC1, 0x00, 0x00, 0x89, 0xC1, 0x00, 0x00, 0x8A, 0xC1, 0x00, 0x00, 0x8B, 0xC1, 
+    0x00, 0x00, 0x8C, 0xC1, 0x00, 0x00, 0x8D, 0xC1, 0x00, 0x00, 0x8E, 0xC1, 0x00, 0x00, 0x8F, 0xC1, 
+    0x00, 0x00, 0x90, 0xC1, 0x00, 0x00, 0x91, 0xC1, 0x00, 0x00, 0x92, 0xC1, 0x00, 0x00, 0x93, 0xC1, 
+    0x00, 0x00, 0x94, 0xC1, 0x00, 0x00, 0x95, 0xC1, 0x00, 0x00, 0x96, 0xC1, 0x00, 0x00, 0x97, 0xC1, 
+    0x00, 0x00, 0x98, 0xC1, 0x00, 0x00, 0x99, 0xC1, 0x00, 0x00, 0x9A, 0xC1, 0x00, 0x00, 0x9B, 0xC1, 
+    0x00, 0x00, 0x9C, 0xC1, 0x00, 0x00, 0x9D, 0xC1, 0x00, 0x00, 0x9E, 0xC1, 0x00, 0x00, 0x9F, 0xC1, 
+    0x00, 0x00, 0xA0, 0xC1, 0x00, 0x00, 0xA1, 0xC1, 0x00, 0x00, 0xA2, 0xC1, 0x00, 0x00, 0xA3, 0xC1, 
+    0x00, 0x00, 0xA4, 0xC1, 0x00, 0x00, 0xB6, 0xC1, 0x00, 0x00, 0xC0, 0xC1, 0x00, 0x00, 0xC1, 0xC1, 
+    0x00, 0x00, 0xC2, 0xC1, 0x00, 0x00, 0xC3, 0xC1, 0x00, 0x00, 0xC4, 0xC1, 0x00, 0x00, 0xC5, 0xC1, 
+    0x00, 0x00, 0xC6, 0xC1, 0x00, 0x00, 0xC7, 0xC1, 0x00, 0x00, 0xC8, 0xC1, 0x00, 0x00, 0xC9, 0xC1, 
+    0x00, 0x00, 0xCA, 0xC1, 0x00, 0x00, 0xCB, 0xC1, 0x00, 0x00, 0xCC, 0xC1, 0x00, 0x00, 0xCD, 0xC1, 
+    0x00, 0x00, 0xCE, 0xC1, 0x00, 0x00, 0xCF, 0xC1, 0x00, 0x00, 0xD0, 0xC1, 0x00, 0x00, 0xD1, 0xC1, 
+    0x00, 0x00, 0xD2, 0xC1, 0x00, 0x00, 0xD3, 0xC1, 0x00, 0x00, 0xD4, 0xC1, 0x00, 0x00, 0xD5, 0xC1, 
+    0x00, 0x00, 0xD6, 0xC1, 0x00, 0x00, 0xD7, 0xC1, 0x00, 0x00, 0xD8, 0xC1, 0x00, 0x00, 0xD9, 0xC1, 
+    0x00, 0x00, 0xDA, 0xC1, 0x00, 0x00, 0xDB, 0xC1, 0x00, 0x00, 0xDC, 0xC1, 0x00, 0x00, 0xDD, 0xC1, 
+    0x00, 0x00, 0xDE, 0xC1, 0x00, 0x00, 0xDF, 0xC1, 0x00, 0x00, 0xE0, 0xC1, 0x00, 0x00, 0xE1, 0xC1, 
+    0x00, 0x00, 0xE2, 0xC1, 0x00, 0x00, 0xE3, 0xC1, 0x00, 0x00, 0xE4, 0xC1, 0x00, 0x00, 0xE5, 0xC1, 
+    0x00, 0x00, 0xE6, 0xC1, 0x00, 0x00, 0xE7, 0xC1, 0x00, 0x00, 0xE8, 0xC1, 0x00, 0x00, 0xE9, 0xC1, 
+    0x00, 0x00, 0xEA, 0xC1, 0x00, 0x00, 0xEB, 0xC1, 0x00, 0x00, 0xEC, 0xC1, 0x00, 0x00, 0xED, 0xC1, 
+    0x00, 0x00, 0xEE, 0xC1, 0x00, 0x00, 0xEF, 0xC1, 0x00, 0x00, 0xF0, 0xC1, 0x00, 0x00, 0xF1, 0xC1, 
+    0x00, 0x00, 0xF2, 0xC1, 0x00, 0x00, 0xF3, 0xC1, 0x00, 0x00, 0xF4, 0xC1, 0x00, 0x00, 0xF5, 0xC1, 
+    0x00, 0x00, 0xF6, 0xC1, 0x00, 0x00, 0xF7, 0xC1, 0x00, 0x00, 0xF8, 0xC1, 0x00, 0x00, 0xF9, 0xC1, 
+    0x00, 0x00, 0xFA, 0xC1, 0x00, 0x00, 0xFB, 0xC1, 0x00, 0x00, 0xFC, 0xC1, 0x00, 0x00, 0xFD, 0xC1, 
+    0x00, 0x00, 0xFE, 0xC1, 0x00, 0x00, 0xFF, 0xC1, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x01, 0xC2, 
+    0x00, 0x00, 0x02, 0xC2, 0x00, 0x00, 0x03, 0xC2, 0x00, 0x00, 0x04, 0xC2, 0x00, 0x00, 0x05, 0xC2, 
+    0x00, 0x00, 0x06, 0xC2, 0x00, 0x00, 0x07, 0xC2, 0x00, 0x00, 0x08, 0xC2, 0x00, 0x00, 0x09, 0xC2, 
+    0x00, 0x00, 0x0A, 0xC2, 0x00, 0x00, 0x0B, 0xC2, 0x00, 0x00, 0x0C, 0xC2, 0x00, 0x00, 0x0D, 0xC2, 
+    0x00, 0x00, 0x0E, 0xC2, 0x00, 0x00, 0x0F, 0xC2, 0x00, 0x00, 0x10, 0xC2, 0x00, 0x00, 0x11, 0xC2, 
+    0x00, 0x00, 0x12, 0xC2, 0x00, 0x00, 0x13, 0xC2, 0x00, 0x00, 0x14, 0xC2, 0x00, 0x00, 0x15, 0xC2, 
+    0x00, 0x00, 0x16, 0xC2, 0x00, 0x00, 0x17, 0xC2, 0x00, 0x00, 0x18, 0xC2, 0x00, 0x00, 0x19, 0xC2, 
+    0x00, 0x00, 0x1A, 0xC2, 0x00, 0x00, 0x1B, 0xC2, 0x00, 0x00, 0x1C, 0xC2, 0x00, 0x00, 0x1D, 0xC2, 
+    0x00, 0x00, 0x1E, 0xC2, 0x00, 0x00, 0x1F, 0xC2, 0x00, 0x00, 0x20, 0xC2, 0x00, 0x00, 0x21, 0xC2, 
+    0x00, 0x00, 0x22, 0xC2, 0x00, 0x00, 0x23, 0xC2, 0x00, 0x00, 0x11, 0xC7, 0x00, 0x00, 0x12, 0xC7, 
+    0x00, 0x00, 0x13, 0xC7, 0x00, 0x00, 0x14, 0xC7, 0x00, 0x00, 0x15, 0xC7, 0x00, 0x00, 0x16, 0xC7, 
+    0x00, 0x00, 0x17, 0xC7, 0x00, 0x00, 0x18, 0xC7, 0x00, 0x00, 0x19, 0xC7, 0x00, 0x00, 0x1A, 0xC7, 
+    0x00, 0x00, 0x1B, 0xC7, 0x00, 0x00, 0x25, 0xC7, 0x00, 0x00, 0x26, 0xC7, 0x00, 0x00, 0x27, 0xC7, 
+    0x00, 0x00, 0x28, 0xC7, 0x00, 0x00, 0x29, 0xC7, 0x00, 0x00, 0x2A, 0xC7, 0x00, 0x00, 0x2B, 0xC7, 
+    0x00, 0x00, 0x2C, 0xC7, 0x00, 0x00, 0x39, 0xC7, 0x00, 0x00, 0x3A, 0xC7, 0x00, 0x00, 0x4D, 0xC7, 
+    0x00, 0x00, 0x4E, 0xC7, 0x00, 0x00, 0x4F, 0xC7, 0x00, 0x00, 0x50, 0xC7, 0x00, 0x00, 0x57, 0xC7, 
+    0x00, 0x00, 0x62, 0xC7, 0x00, 0x00, 0x63, 0xC7, 0x00, 0x00, 0x64, 0xC7, 0x00, 0x00, 0x65, 0xC7, 
+    0x00, 0x00, 0x66, 0xC7, 0x00, 0x00, 0x67, 0xC7, 0x00, 0x00, 0x68, 0xC7, 0x00, 0x00, 0x69, 0xC7, 
+    0x00, 0x00, 0x6A, 0xC7, 0x00, 0x00, 0x6B, 0xC7, 0x00, 0x00, 0x6C, 0xC7, 0x00, 0x00, 0x6D, 0xC7, 
+    0x00, 0x00, 0x6E, 0xC7, 0x00, 0x00, 0x6F, 0xC7, 0x00, 0x00, 0x70, 0xC7, 0x00, 0x00, 0x71, 0xC7, 
+    0x00, 0x00, 0x72, 0xC7, 0x00, 0x00, 0x76, 0xC7, 0x00, 0x00, 0x77, 0xC7, 0x00, 0x00, 0x78, 0xC7, 
+    0x00, 0x00, 0x79, 0xC7, 0x00, 0x00, 0x7A, 0xC7, 0x00, 0x00, 0x7B, 0xC7, 0x00, 0x00, 0x7C, 0xC7, 
+    0x00, 0x00, 0x7D, 0x5D, 0xC7, 0x00, 0x00, 0x7D, 0x5E, 0xC7, 0x00, 0x00, 0x7F, 0xC7, 0x00, 0x00, 
+    0x80, 0xC7, 0x00, 0x00, 0x81, 0xC7, 0x00, 0x00, 0x8A, 0xC7, 0x00, 0x00, 0x8B, 0xC7, 0x00, 0x00, 
+    0x8C, 0xC7, 0x00, 0x00, 0x8D, 0xC7, 0x00, 0x00, 0x8E, 0xC7, 0x00, 0x00, 0x8F, 0xC7, 0x00, 0x00, 
+    0x90, 0xC7, 0x00, 0x00, 0x91, 0xC7, 0x00, 0x00, 0x92, 0xC7, 0x00, 0x00, 0x93, 0xC7, 0x00, 0x00, 
+    0x94, 0xC7, 0x00, 0x00, 0x95, 0xC7, 0x00, 0x00, 0x96, 0xC7, 0x00, 0x00, 0x97, 0xC7, 0x00, 0x00, 
+    0x9E, 0xC7, 0x00, 0x00, 0x9F, 0xC7, 0x00, 0x00, 0xA0, 0xC7, 0x00, 0x00, 0xA1, 0xC7, 0x00, 0x00, 
+    0xA2, 0xC7, 0x00, 0x00, 0xD8, 0xC7, 0x00, 0x00, 0xEB, 0xC7, 0x00, 0x00, 0xF6, 0xC7, 0x00, 0x00, 
+    0xFF, 0xC7, 0x00, 0x00, 0x28, 0xC8, 0x00, 0x00, 0x3C, 0xC8, 0x00, 0x00, 0x3D, 0xC8, 0x00, 0x00, 
+    0x3E, 0xC8, 0x00, 0x00, 0x4F, 0xC8, 0x00, 0x00, 0x50, 0xC8, 0x00, 0x00, 0x51, 0xC8, 0x00, 0x00, 
+    0x52, 0xC8, 0x00, 0x00, 0x53, 0xC8, 0x00, 0x00, 0x54, 0xC8, 0x00, 0x00, 0x55, 0xC8, 0x00, 0x00, 
+    0x5B, 0xC8, 0x00, 0x00, 0x5C, 0xC8, 0x00, 0x00, 0x5D, 0xC8, 0x00, 0x00, 0x5E, 0xC8, 0x00, 0x00, 
+    0x5F, 0xC8, 0x00, 0x00, 0x60, 0xC8, 0x00, 0x00, 0x61, 0xC8, 0x00, 0x00, 0x6D, 0xC8, 0x00, 0x00, 
+    0x6E, 0xC8, 0x00, 0x00, 0x6F, 0xC8, 0x00, 0x00, 0x70, 0xC8, 0x00, 0x00, 0x71, 0xC8, 0x00, 0x00, 
+    0x72, 0xC8, 0x00, 0x00, 0x73, 0xC8, 0x00, 0x00, 0x74, 0xC8, 0x00, 0x00, 0x75, 0xC8, 0x00, 0x00, 
+    0x76, 0xC8, 0x00, 0x00, 0x77, 0xC8, 0x00, 0x00, 0x78, 0xC8, 0x00, 0x00, 0x8C, 0xC8, 0x00, 0x00, 
+    0x8D, 0xC8, 0x00, 0x00, 0xA0, 0xC8, 0x00, 0x00, 0xA1, 0xC8, 0x00, 0x00, 0xBE, 0xC8, 0x00, 0x00, 
+    0xBF, 0xC8, 0x00, 0x00, 0xC0, 0xC8, 0x00, 0x00, 0xC1, 0xC8, 0x00, 0x00, 0xC2, 0xC8, 0x00, 0x00, 
+    0xC7, 0xC8, 0x00, 0x00, 0xC8, 0xC8, 0x00, 0x00, 0xC9, 0xC8, 0x00, 0x00, 0xCA, 0xC8, 0x00, 0x00, 
+    0xCB, 0xC8, 0x00, 0x00, 0xCC, 0xC8, 0x00, 0x00, 0xCD, 0xC8, 0x00, 0x00, 0xCE, 0xC8, 0x00, 0x00, 
+    0xD2, 0xC8, 0x00, 0x00, 0xD3, 0xC8, 0x00, 0x00, 0xD4, 0xC8, 0x00, 0x00, 0xD5, 0xC8, 0x00, 0x00, 
+    0xD6, 0xC8, 0x00, 0x00, 0xD7, 0xC8, 0x00, 0x00, 0xD8, 0xC8, 0x00, 0x00, 0xD9, 0xC8, 0x00, 0x00, 
+    0xDA, 0xC8, 0x00, 0x00, 0xDB, 0xC8, 0x00, 0x00, 0xDC, 0xC8, 0x00, 0x00, 0xDD, 0xC8, 0x00, 0x00, 
+    0xEB, 0xC8, 0x00, 0x00, 0xEC, 0xC8, 0x00, 0x00, 0xED, 0xC8, 0x00, 0x00, 0xEE, 0xC8, 0x00, 0x00, 
+    0xEF, 0xC8, 0x00, 0x00, 0xF0, 0xC8, 0x00, 0x00, 0xF1, 0xC8, 0x00, 0x00, 0x04, 0xC9, 0x00, 0x00, 
+    0x05, 0xC9, 0x00, 0x00, 0x06, 0xC9, 0x00, 0x00, 0x17, 0xC9, 0x00, 0x00, 0x18, 0xC9, 0x00, 0x00, 
+    0x19, 0xC9, 0x00, 0x00, 0x1A, 0xC9, 0x00, 0x00, 0x22, 0xC9, 0x00, 0x00, 0x23, 0xC9, 0x00, 0x00, 
+    0x24, 0xC9, 0x00, 0x00, 0x25, 0xC9, 0x00, 0x00, 0x26, 0xC9, 0x00, 0x00, 0x27, 0xC9, 0x00, 0x00, 
+    0x28, 0xC9, 0x00, 0x00, 0x29, 0xC9, 0x00, 0x00, 0x2A, 0xC9, 0x00, 0x00, 0x2D, 0xC9, 0x00, 0x00, 
+    0x2E, 0xC9, 0x00, 0x00, 0x3B, 0xC9, 0x00, 0x00, 0x3C, 0xC9, 0x00, 0x00, 0x3D, 0xC9, 0x00, 0x00, 
+    0x3E, 0xC9, 0x00, 0x00, 0x54, 0xC9, 0x00, 0x00, 0x55, 0xC9, 0x00, 0x00, 0x56, 0xC9, 0x00, 0x00, 
+    0x58, 0xC9, 0x00, 0x00, 0xFE, 0xC9, 0x00, 0x00, 0xFF, 0xC9, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 
+    0x01, 0xCA, 0x00, 0x00, 0x17, 0xCA, 0x00, 0x00, 0x18, 0xCA, 0x00, 0x00, 0x19, 0xCA, 0x00, 0x00, 
+    0x1A, 0xCA, 0x00, 0x00, 0xF8, 0xCA, 0x00, 0x00, 0xF9, 0xCA, 0x00, 0x00, 0xFA, 0xCA, 0x00, 0x00, 
+    0xFB, 0xCA, 0x00, 0x00, 0xFC, 0xCA, 0x00, 0x00, 0xFD, 0xCA, 0x00, 0x00, 0xFE, 0xCA, 0x00, 0x00, 
+    0xFF, 0xCA, 0x00, 0x00, 0x00, 0xCB, 0x00, 0x00, 0x01, 0xCB, 0x00, 0x00, 0x02, 0xCB, 0x00, 0x00, 
+    0x03, 0xCB, 0x00, 0x00, 0x04, 0xCB, 0x00, 0x00, 0x05, 0xCB, 0x00, 0x00, 0x06, 0xCB, 0x00, 0x00, 
+    0x07, 0xCB, 0x00, 0x00, 0x08, 0xCB, 0x00, 0x00, 0x09, 0xCB, 0x00, 0x00, 0x0A, 0xCB, 0x00, 0x00, 
+    0x0B, 0xCB, 0x00, 0x00, 0x0C, 0xCB, 0x00, 0x00, 0x0D, 0xCB, 0x00, 0x00, 0x0E, 0xCB, 0x00, 0x00, 
+    0x0F, 0xCB, 0x00, 0x00, 0x10, 0xCB, 0x00, 0x00, 0x11, 0xCB, 0x00, 0x00, 0x12, 0xCB, 0x00, 0x00, 
+    0x13, 0xCB, 0x00, 0x00, 0x14, 0xCB, 0x00, 0x00, 0x15, 0xCB, 0x00, 0x00, 0x16, 0xCB, 0x00, 0x00, 
+    0x17, 0xCB, 0x00, 0x00, 0x18, 0xCB, 0x00, 0x00, 0x19, 0xCB, 0x00, 0x00, 0x1A, 0xCB, 0x00, 0x00, 
+    0x1B, 0xCB, 0x00, 0x00, 0x1C, 0xCB, 0x00, 0x00, 0x1D, 0xCB, 0x00, 0x00, 0x1E, 0xCB, 0x00, 0x00, 
+    0x1F, 0xCB, 0x00, 0x00, 0x2A, 0xCB, 0x00, 0x00, 0xC0, 0xCB, 0x00, 0x00, 0xC1, 0xCB, 0x00, 0x00, 
+    0xC2, 0xCB, 0x00, 0x00, 0xC3, 0xCB, 0x00, 0x00, 0xC4, 0xCB, 0x00, 0x00, 0xC5, 0xCB, 0x00, 0x00, 
+    0xC6, 0xCB, 0x00, 0x00, 0xC7, 0xCB, 0x00, 0x00, 0xC8, 0xCB, 0x00, 0x00, 0xC9, 0xCB, 0x00, 0x00, 
+    0xCA, 0xCB, 0x00, 0x00, 0xCB, 0xCB, 0x00, 0x00, 0xCC, 0xCB, 0x00, 0x00, 0xCD, 0xCB, 0x00, 0x00, 
+    0xCE, 0xCB, 0x00, 0x00, 0xD4, 0xCB, 0x00, 0x00, 0xD5, 0xCB, 0x00, 0x00, 0xD6, 0xCB, 0x00, 0x00, 
+    0xD7, 0xCB, 0x00, 0x00, 0xD8, 0xCB, 0x00, 0x00, 0xD9, 0xCB, 0x00, 0x00, 0x8C, 0xCC, 0x00, 0x00, 
+    0x8D, 0xCC, 0x00, 0x00, 0x8E, 0xCC, 0x00, 0x00, 0x8F, 0xCC, 0x00, 0x00, 0x90, 0xCC, 0x00, 0x00, 
+    0x91, 0xCC, 0x00, 0x00, 0x92, 0xCC, 0x00, 0x00, 0x93, 0xCC, 0x00, 0x00, 0x94, 0xCC, 0x00, 0x00, 
+    0x95, 0xCC, 0x00, 0x00, 0xEC, 0xCC, 0x00, 0x00, 0xED, 0xCC, 0x00, 0x00, 0xF5, 0xCC, 0x00, 0x00, 
+    0xF6, 0xCC, 0x00, 0x00, 0xF7, 0xCC, 0x00, 0x00, 0xF8, 0xCC, 0x00, 0x00, 0xF9, 0xCC, 0x00, 0x00, 
+    0xFA, 0xCC, 0x00, 0x00, 0xFB, 0xCC, 0x00, 0x00, 0xFC, 0xCC, 0x00, 0x00, 0xFD, 0xCC, 0x00, 0x00, 
+    0xFE, 0xCC, 0x00, 0x00, 0xFF, 0xCC, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x01, 0xCD, 0x00, 0x00, 
+    0x02, 0xCD, 0x00, 0x00, 0x03, 0xCD, 0x00, 0x00, 0x04, 0xCD, 0x00, 0x00, 0x05, 0xCD, 0x00, 0x00, 
+    0x06, 0xCD, 0x00, 0x00, 0x0A, 0xCD, 0x00, 0x00, 0x0B, 0xCD, 0x00, 0x00, 0x0C, 0xCD, 0x00, 0x00, 
+    0x0D, 0xCD, 0x00, 0x00, 0x0F, 0xCD, 0x00, 0x00, 0x10, 0xCD, 0x00, 0x00, 0x11, 0xCD, 0x00, 0x00, 
+    0x12, 0xCD, 0x00, 0x00, 0x13, 0xCD, 0x00, 0x00, 0x14, 0xCD, 0x00, 0x00, 0x15, 0xCD, 0x00, 0x00, 
+    0x16, 0xCD, 0x00, 0x00, 0x17, 0xCD, 0x00, 0x00, 0x18, 0xCD, 0x00, 0x00, 0x19, 0xCD, 0x00, 0x00, 
+    0x1A, 0xCD, 0x00, 0x00, 0x1B, 0xCD, 0x00, 0x00, 0x1C, 0xCD, 0x00, 0x00, 0x1D, 0xCD, 0x00, 0x00, 
+    0x1E, 0xCD, 0x00, 0x00, 0x1F, 0xCD, 0x00, 0x00, 0x20, 0xCD, 0x00, 0x00, 0x21, 0xCD, 0x00, 0x00, 
+    0x28, 0xCD, 0x00, 0x00, 0x31, 0xCD, 0x00, 0x00, 0x3C, 0xCD, 0x00, 0x00, 0x3D, 0xCD, 0x00, 0x00, 
+    0x45, 0xCD, 0x00, 0x00, 0x50, 0xCD, 0x00, 0x00, 0x51, 0xCD, 0x00, 0x00, 0x52, 0xCD, 0x00, 0x00, 
+    0x53, 0xCD, 0x00, 0x00, 0x54, 0xCD, 0x00, 0x00, 0x55, 0xCD, 0x00, 0x00, 0x56, 0xCD, 0x00, 0x00, 
+    0x57, 0xCD, 0x00, 0x00, 0x58, 0xCD, 0x00, 0x00, 0x59, 0xCD, 0x00, 0x00, 0x5A, 0xCD, 0x00, 0x00, 
+    0x5B, 0xCD, 0x00, 0x00, 0x5C, 0xCD, 0x00, 0x00, 0x5D, 0xCD, 0x00, 0x00, 0x5E, 0xCD, 0x00, 0x00, 
+    0x5F, 0xCD, 0x00, 0x00, 0x60, 0xCD, 0x00, 0x00, 0x61, 0xCD, 0x00, 0x00, 0x62, 0xCD, 0x00, 0x00, 
+    0x63, 0xCD, 0x00, 0x00, 0x64, 0xCD, 0x00, 0x00, 0x65, 0xCD, 0x00, 0x00, 0x66, 0xCD, 0x00, 0x00, 
+    0x67, 0xCD, 0x00, 0x00, 0x68, 0xCD, 0x00, 0x00, 0x69, 0xCD, 0x00, 0x00, 0x6A, 0xCD, 0x00, 0x00, 
+    0x6B, 0xCD, 0x00, 0x00, 0x6C, 0xCD, 0x00, 0x00, 0x6D, 0xCD, 0x00, 0x00, 0x6E, 0xCD, 0x00, 0x00, 
+    0x6F, 0xCD, 0x00, 0x00, 0x70, 0xCD, 0x00, 0x00, 0x71, 0xCD, 0x00, 0x00, 0x72, 0xCD, 0x00, 0x00, 
+    0x73, 0xCD, 0x00, 0x00, 0x74, 0xCD, 0x00, 0x00, 0x75, 0xCD, 0x00, 0x00, 0x76, 0xCD, 0x00, 0x00, 
+    0x77, 0xCD, 0x00, 0x00, 0x78, 0xCD, 0x00, 0x00, 0x79, 0xCD, 0x00, 0x00, 0x7A, 0xCD, 0x00, 0x00, 
+    0x7B, 0xCD, 0x00, 0x00, 0x7C, 0xCD, 0x00, 0x00, 0x7D, 0x5D, 0xCD, 0x00, 0x00, 0x87, 0xCD, 0x00, 
+    0x00, 0x88, 0xCD, 0x00, 0x00, 0x89, 0xCD, 0x00, 0x00, 0x8A, 0xCD, 0x00, 0x00, 0x8B, 0xCD, 0x00, 
+    0x00, 0x8C, 0xCD, 0x00, 0x00, 0x8D, 0xCD, 0x00, 0x00, 0x8E, 0xCD, 0x00, 0x00, 0x8F, 0xCD, 0x00, 
+    0x00, 0x90, 0xCD, 0x00, 0x00, 0xA9, 0xCD, 0x00, 0x00, 0xAA, 0xCD, 0x00, 0x00, 0xB4, 0xCD, 0x00, 
+    0x00, 0xC8, 0xCD, 0x00, 0x00, 0xD2, 0xCD, 0x00, 0x00, 0xD3, 0xCD, 0x00, 0x00, 0xD4, 0xCD, 0x00, 
+    0x00, 0xDB, 0xCD, 0x00, 0x00, 0xDC, 0xCD, 0x00, 0x00, 0xDD, 0xCD, 0x00, 0x00, 0xEF, 0xCD, 0x00, 
+    0x00, 0xFA, 0xCD, 0x00, 0x00, 0xFB, 0xCD, 0x00, 0x00, 0xFC, 0xCD, 0x00, 0x00, 0xFD, 0xCD, 0x00, 
+    0x00, 0xFE, 0xCD, 0x00, 0x00, 0xFF, 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x01, 0xCE, 0x00, 
+    0x00, 0x03, 0xCE, 0x00, 0x00, 0x04, 0xCE, 0x00, 0x00, 0x05, 0xCE, 0x00, 0x00, 0x23, 0xCE, 0x00, 
+    0x00, 0x24, 0xCE, 0x00, 0x00, 0x25, 0xCE, 0x00, 0x00, 0x26, 0xCE, 0x00, 0x00, 0x27, 0xCE, 0x00, 
+    0x00, 0x28, 0xCE, 0x00, 0x00, 0x29, 0xCE, 0x00, 0x00, 0x2A, 0xCE, 0x00, 0x00, 0x2B, 0xCE, 0x00, 
+    0x00, 0x2C, 0xCE, 0x00, 0x00, 0x2D, 0xCE, 0x00, 0x00, 0x2E, 0xCE, 0x00, 0x00, 0x2F, 0xCE, 0x00, 
+    0x00, 0x30, 0xCE, 0x00, 0x00, 0x31, 0xCE, 0x00, 0x00, 0x32, 0xCE, 0x00, 0x00, 0x33, 0xCE, 0x00, 
+    0x00, 0x34, 0xCE, 0x00, 0x00, 0x35, 0xCE, 0x00, 0x00, 0x36, 0xCE, 0x00, 0x00, 0x37, 0xCE, 0x00, 
+    0x00, 0x38, 0xCE, 0x00, 0x00, 0x39, 0xCE, 0x00, 0x00, 0x3B, 0xCE, 0x00, 0x00, 0x4A, 0xCE, 0x00, 
+    0x00, 0x54, 0xCE, 0x00, 0x00, 0x55, 0xCE, 0x00, 0x00, 0x56, 0xCE, 0x00, 0x00, 0x5E, 0xCE, 0x00, 
+    0x00, 0x5F, 0xCE, 0x00, 0x00, 0x60, 0xCE, 0x00, 0x00, 0x61, 0xCE, 0x00, 0x00, 0x62, 0xCE, 0x00, 
+    0x00, 0x63, 0xCE, 0x00, 0x00, 0x64, 0xCE, 0x00, 0x00, 0x65, 0xCE, 0x00, 0x00, 0x66, 0xCE, 0x00, 
+    0x00, 0x67, 0xCE, 0x00, 0x00, 0x68, 0xCE, 0x00, 0x00, 0x69, 0xCE, 0x00, 0x00, 0x6A, 0xCE, 0x00, 
+    0x00, 0x6B, 0xCE, 0x00, 0x00, 0x72, 0xCE, 0x00, 0x00, 0x73, 0xCE, 0x00, 0x00, 0x74, 0xCE, 0x00, 
+    0x00, 0x75, 0xCE, 0x00, 0x00, 0x76, 0xCE, 0x00, 0x00, 0x77, 0xCE, 0x00, 0x00, 0x78, 0xCE, 0x00, 
+    0x00, 0x79, 0xCE, 0x00, 0x00, 0x7A, 0xCE, 0x00, 0x00, 0x7B, 0xCE, 0x00, 0x00, 0x7C, 0xCE, 0x00, 
+    0x00, 0x7D, 0x5D, 0xCE, 0x00, 0x00, 0x86, 0xCE, 0x00, 0x00, 0x87, 0xCE, 0x00, 0x00, 0x88, 0xCE, 
+    0x00, 0x00, 0x9A, 0xCE, 0x00, 0x00, 0xAE, 0xCE, 0x00, 0x00, 0xAF, 0xCE, 0x00, 0x00, 0xB0, 0xCE, 
+    0x00, 0x00, 0xB1, 0xCE, 0x00, 0x00, 0xC2, 0xCE, 0x00, 0x00, 0xCC, 0xCE, 0x00, 0x00, 0xCD, 0xCE, 
+    0x00, 0x00, 0xCE, 0xCE, 0x00, 0x00, 0xCF, 0xCE, 0x00, 0x00, 0xD0, 0xCE, 0x00, 0x00, 0x00, 0xD1, 
+    0x00, 0x00, 0x01, 0xD1, 0x00, 0x00, 0x02, 0xD1, 0x00, 0x00, 0x03, 0xD1, 0x00, 0x00, 0x04, 0xD1, 
+    0x00, 0x00, 0x05, 0xD1, 0x00, 0x00, 0x06, 0xD1, 0x00, 0x00, 0x07, 0xD1, 0x00, 0x00, 0x08, 0xD1, 
+    0x00, 0x00, 0x09, 0xD1, 0x00, 0x00, 0x0A, 0xD1, 0x00, 0x00, 0x0B, 0xD1, 0x00, 0x00, 0x0C, 0xD1, 
+    0x00, 0x00, 0x0D, 0xD1, 0x00, 0x00, 0x0E, 0xD1, 0x00, 0x00, 0x0F, 0xD1, 0x00, 0x00, 0x10, 0xD1, 
+    0x00, 0x00, 0x11, 0xD1, 0x00, 0x00, 0x12, 0xD1, 0x00, 0x00, 0x13, 0xD1, 0x00, 0x00, 0x14, 0xD1, 
+    0x00, 0x00, 0x15, 0xD1, 0x00, 0x00, 0x16, 0xD1, 0x00, 0x00, 0x17, 0xD1, 0x00, 0x00, 0x18, 0xD1, 
+    0x00, 0x00, 0x19, 0xD1, 0x00, 0x00, 0x1A, 0xD1, 0x00, 0x00, 0x1B, 0xD1, 0x00, 0x00, 0x1C, 0xD1, 
+    0x00, 0x00, 0x1D, 0xD1, 0x00, 0x00, 0x1E, 0xD1, 0x00, 0x00, 0x1F, 0xD1, 0x00, 0x00, 0x20, 0xD1, 
+    0x00, 0x00, 0x21, 0xD1, 0x00, 0x00, 0x22, 0xD1, 0x00, 0x00, 0x23, 0xD1, 0x00, 0x00, 0x24, 0xD1, 
+    0x00, 0x00, 0x25, 0xD1, 0x00, 0x00, 0x26, 0xD1, 0x00, 0x00, 0x27, 0xD1, 0x00, 0x00, 0x28, 0xD1, 
+    0x00, 0x00, 0x3C, 0xD1, 0x00, 0x00, 0x3D, 0xD1, 0x00, 0x00, 0x3E, 0xD1, 0x00, 0x00, 0x3F, 0xD1, 
+    0x00, 0x00, 0x40, 0xD1, 0x00, 0x00, 0x41, 0xD1, 0x00, 0x00, 0x42, 0xD1, 0x00, 0x00, 0x43, 0xD1, 
+    0x00, 0x00, 0x44, 0xD1, 0x00, 0x00, 0x45, 0xD1, 0x00, 0x00, 0x46, 0xD1, 0x00, 0x00, 0x47, 0xD1, 
+    0x00, 0x00, 0x48, 0xD1, 0x00, 0x00, 0x49, 0xD1, 0x00, 0x00, 0x4A, 0xD1, 0x00, 0x00, 0x4B, 0xD1, 
+    0x00, 0x00, 0x4C, 0xD1, 0x00, 0x00, 0x4D, 0xD1, 0x00, 0x00, 0x4E, 0xD1, 0x00, 0x00, 0x4F, 0xD1, 
+    0x00, 0x00, 0x50, 0xD1, 0x00, 0x00, 0x51, 0xD1, 0x00, 0x00, 0x52, 0xD1, 0x00, 0x00, 0x53, 0xD1, 
+    0x00, 0x00, 0x54, 0xD1, 0x00, 0x00, 0x55, 0xD1, 0x00, 0x00, 0x56, 0xD1, 0x00, 0x00, 0x57, 0xD1, 
+    0x00, 0x00, 0x99, 0xDA, 0x00, 0x00, 0x9A, 0xDA, 0x00, 0x00, 0x9B, 0xDA, 0x00, 0x00, 0x9C, 0xDA, 
+    0x00, 0x00, 0x9D, 0xDA, 0x00, 0x00, 0x9E, 0xDA, 0x00, 0x00, 0x9F, 0xDA, 0x00, 0x00, 0xA0, 0xDA, 
+    0x00, 0x00, 0xA1, 0xDA, 0x00, 0x00, 0xA2, 0xDA, 0x00, 0x00, 0xA3, 0xDA, 0x00, 0x00, 0xA4, 0xDA, 
+    0x00, 0x00, 0xA5, 0xDA, 0x00, 0x00, 0xA6, 0xDA, 0x00, 0x00, 0xA7, 0xDA, 0x00, 0x00, 0xB1, 0xDA, 
+    0x00, 0x00, 0xB2, 0xDA, 0x00, 0x00, 0xB3, 0xDA, 0x00, 0x00, 0xB4, 0xDA, 0x00, 0x00, 0xB5, 0xDA, 
+    0x00, 0x00, 0xB6, 0xDA, 0x00, 0x00, 0xB7, 0xDA, 0x00, 0x00, 0xB8, 0xDA, 0x00, 0x00, 0xB9, 0xDA, 
+    0x00, 0x00, 0xBA, 0xDA, 0x00, 0x00, 0xBB, 0xDA, 0x00, 0x00, 0xBC, 0xDA, 0x00, 0x00, 0xBD, 0xDA, 
+    0x00, 0x00, 0xBE, 0xDA, 0x00, 0x00, 0xBF, 0xDA, 0x00, 0x00, 0xC0, 0xDA, 0x00, 0x00, 0xC1, 0xDA, 
+    0x00, 0x00, 0xC2, 0xDA, 0x00, 0x00, 0xC3, 0xDA, 0x00, 0x00, 0xC4, 0xDA, 0x00, 0x00, 0xC5, 0xDA, 
+    0x00, 0x00, 0xC6, 0xDA, 0x00, 0x00, 0xC7, 0xDA, 0x00, 0x00, 0xC8, 0xDA, 0x00, 0x00, 0xC9, 0xDA, 
+    0x00, 0x00, 0xCA, 0xDA, 0x00, 0x00, 0xCB, 0xDA, 0x00, 0x00, 0xCC, 0xDA, 0x00, 0x00, 0xCD, 0xDA, 
+    0x00, 0x00, 0xCE, 0xDA, 0x00, 0x00, 0xD4, 0xDA, 0x00, 0x00, 0xD5, 0xDA, 0x00, 0x00, 0xD6, 0xDA, 
+    0x00, 0x00, 0xDE, 0xDA, 0x00, 0x00, 0xDF, 0xDA, 0x00, 0x00, 0xE0, 0xDA, 0x00, 0x00, 0xE1, 0xDA, 
+    0x00, 0x00, 0xE2, 0xDA, 0x00, 0x00, 0xE8, 0xDA, 0x00, 0x00, 0xE9, 0xDA, 0x00, 0x00, 0xEA, 0xDA, 
+    0x00, 0x00, 0xEB, 0xDA, 0x00, 0x00, 0xEC, 0xDA, 0x00, 0x00, 0xED, 0xDA, 0x00, 0x00, 0xF2, 0xDA, 
+    0x00, 0x00, 0xF3, 0xDA, 0x00, 0x00, 0xFC, 0xDA, 0x00, 0x00, 0xFD, 0xDA, 0x00, 0x00, 0xFE, 0xDA, 
+    0x00, 0x00, 0xFF, 0xDA, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0xC5, 0xDB, 0x00, 0x00, 0xC6, 0xDB, 
+    0x00, 0x00, 0xC7, 0xDB, 0x00, 0x00, 0xC8, 0xDB, 0x00, 0x00, 0xC9, 0xDB, 0x00, 0x00, 0xCA, 0xDB, 
+    0x00, 0x00, 0xCB, 0xDB, 0x00, 0x00, 0xCC, 0xDB, 0x00, 0x00, 0xCD, 0xDB, 0x00, 0x00, 0xCE, 0xDB, 
+    0x00, 0x00, 0xCF, 0xDB, 0x00, 0x00, 0xD0, 0xDB, 0x00, 0x00, 0xD1, 0xDB, 0x00, 0x00, 0xD2, 0xDB, 
+    0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x0B, 0xE0, 0x00, 0x00, 0x0C, 0xE0, 0x00, 0x00, 0x0D, 0xE0, 
+    0x00, 0x00, 0x0E, 0xE0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x10, 0xE0, 0x00, 0x00, 0x11, 0xE0, 
+    0x00, 0x00, 0x12, 0xE0, 0x00, 0x00, 0x29, 0xE0, 0x00, 0x00, 0x2A, 0xE0, 0x00, 0x00, 0x2B, 0xE0, 
+    0x00, 0x00, 0x2C, 0xE0, 0x00, 0x00, 0x2D, 0xE0, 0x00, 0x00, 0x2E, 0xE0, 0x00, 0x00, 0x47, 0xE0, 
+    0x00, 0x00, 0x48, 0xE0, 0x00, 0x00, 0x49, 0xE0, 0x00, 0x00, 0x4A, 0xE0, 0x00, 0x00, 0x4B, 0xE0, 
+    0x00, 0x00, 0x4C, 0xE0, 0x00, 0x00, 0x4D, 0xE0, 0x00, 0x00, 0x4E, 0xE0, 0x00, 0x00, 0x4F, 0xE0, 
+    0x00, 0x00, 0x50, 0xE0, 0x00, 0x00, 0x51, 0xE0, 0x00, 0x00, 0x52, 0xE0, 0x00, 0x00, 0x53, 0xE0, 
+    0x00, 0x00, 0x54, 0xE0, 0x00, 0x00, 0x55, 0xE0, 0x00, 0x00, 0x56, 0xE0, 0x00, 0x00, 0x57, 0xE0, 
+    0x00, 0x00, 0x58, 0xE0, 0x00, 0x00, 0x59, 0xE0, 0x00, 0x00, 0x5A, 0xE0, 0x00, 0x00, 0x5B, 0xE0, 
+    0x00, 0x00, 0x5C, 0xE0, 0x00, 0x00, 0x5D, 0xE0, 0x00, 0x00, 0x5E, 0xE0, 0x00, 0x00, 0x5F, 0xE0, 
+    0x00, 0x00, 0x60, 0xE0, 0x00, 0x00, 0x6F, 0xE0, 0x00, 0x00, 0x70, 0xE0, 0x00, 0x00, 0x71, 0xE0, 
+    0x00, 0x00, 0x72, 0xE0, 0x00, 0x00, 0x73, 0xE0, 0x00, 0x00, 0x74, 0xE0, 0x00, 0x00, 0x75, 0xE0, 
+    0x00, 0x00, 0x76, 0xE0, 0x00, 0x00, 0x77, 0xE0, 0x00, 0x00, 0x78, 0xE0, 0x00, 0x00, 0x79, 0xE0, 
+    0x00, 0x00, 0x7A, 0xE0, 0x00, 0x00, 0xA1, 0xE0, 0x00, 0x00, 0xA2, 0xE0, 0x00, 0x00, 0xA3, 0xE0, 
+    0x00, 0x00, 0xA4, 0xE0, 0x00, 0x00, 0xA5, 0xE0, 0x00, 0x00, 0xA6, 0xE0, 0x00, 0x00, 0xA7, 0xE0, 
+    0x00, 0x00, 0xA8, 0xE0, 0x00, 0x00, 0xA9, 0xE0, 0x00, 0x00, 0xAA, 0xE0, 0x00, 0x00, 0xAB, 0xE0, 
+    0x00, 0x00, 0xAC, 0xE0, 0x00, 0x00, 0xAD, 0xE0, 0x00, 0x00, 0xBF, 0xE0, 0x00, 0x00, 0xC0, 0xE0, 
+    0x00, 0x00, 0xC1, 0xE0, 0x00, 0x00, 0xC2, 0xE0, 0x00, 0x00, 0xC3, 0xE0, 0x00, 0x00, 0xC4, 0xE0, 
+    0x00, 0x00, 0xC5, 0xE0, 0x00, 0x00, 0x2D, 0xE1, 0x00, 0x00, 0x37, 0xE1, 0x00, 0x00, 0x38, 0xE1, 
+    0x00, 0x00, 0x39, 0xE1, 0x00, 0x00, 0x3A, 0xE1, 0x00, 0x00, 0x3B, 0xE1, 0x00, 0x00, 0x3C, 0xE1, 
+    0x00, 0x00, 0x3D, 0xE1, 0x00, 0x00, 0x3E, 0xE1, 0x00, 0x00, 0x3F, 0xE1, 0x00, 0x00, 0x40, 0xE1, 
+    0x00, 0x00, 0x41, 0xE1, 0x00, 0x00, 0x42, 0xE1, 0x00, 0x00, 0x43, 0xE1, 0x00, 0x00, 0x44, 0xE1, 
+    0x00, 0x00, 0x45, 0xE1, 0x00, 0x00, 0x46, 0xE1, 0x00, 0x00, 0x47, 0xE1, 0x00, 0x00, 0x48, 0xE1, 
+    0x00, 0x00, 0x49, 0xE1, 0x00, 0x00, 0x4A, 0xE1, 0x00, 0x00, 0x4B, 0xE1, 0x00, 0x00, 0x4C, 0xE1, 
+    0x00, 0x00, 0x4D, 0xE1, 0x00, 0x00, 0x4E, 0xE1, 0x00, 0x00, 0x4F, 0xE1, 0x00, 0x00, 0x50, 0xE1, 
+    0x00, 0x00, 0x51, 0xE1, 0x00, 0x00, 0x52, 0xE1, 0x00, 0x00, 0x53, 0xE1, 0x00, 0x00, 0x54, 0xE1, 
+    0x00, 0x00, 0x55, 0xE1, 0x00, 0x00, 0x56, 0xE1, 0x00, 0x00, 0x57, 0xE1, 0x00, 0x00, 0x58, 0xE1, 
+    0x00, 0x00, 0x59, 0xE1, 0x00, 0x00, 0x5A, 0xE1, 0x00, 0x00, 0x5B, 0xE1, 0x00, 0x00, 0x5C, 0xE1, 
+    0x00, 0x00, 0x5D, 0xE1, 0x00, 0x00, 0x5E, 0xE1, 0x00, 0x00, 0x5F, 0xE1, 0x00, 0x00, 0x60, 0xE1, 
+    0x00, 0x00, 0x61, 0xE1, 0x00, 0x00, 0x9B, 0xE1, 0x00, 0x00, 0x9C, 0xE1, 0x00, 0x00, 0x9D, 0xE1, 
+    0x00, 0x00, 0x9E, 0xE1, 0x00, 0x00, 0xAF, 0xE1, 0x00, 0x00, 0xB0, 0xE1, 0x00, 0x00, 0xB1, 0xE1, 
+    0x00, 0x00, 0xB2, 0xE1, 0x00, 0x00, 0xB3, 0xE1, 0x00, 0x00, 0xB4, 0xE1, 0x00, 0x00, 0xB5, 0xE1, 
+    0x00, 0x00, 0xB6, 0xE1, 0x00, 0x00, 0xB7, 0xE1, 0x00, 0x00, 0xB8, 0xE1, 0x00, 0x00, 0xB9, 0xE1, 
+    0x00, 0x00, 0xBA, 0xE1, 0x00, 0x00, 0xBB, 0xE1, 0x00, 0x00, 0xBC, 0xE1, 0x00, 0x00, 0xBD, 0xE1, 
+    0x00, 0x00, 0xBE, 0xE1, 0x00, 0x00, 0xBF, 0xE1, 0x00, 0x00, 0xC0, 0xE1, 0x00, 0x00, 0xC1, 0xE1, 
+    0x00, 0x00, 0xC2, 0xE1, 0x00, 0x00, 0xC3, 0xE1, 0x00, 0x00, 0xC4, 0xE1, 0x00, 0x00, 0xC5, 0xE1, 
+    0x00, 0x00, 0xC6, 0xE1, 0x00, 0x00, 0xC7, 0xE1, 0x00, 0x00, 0xC8, 0xE1, 0x00, 0x00, 0xE1, 0xE1, 
+    0x00, 0x00, 0xE2, 0xE1, 0x00, 0x00, 0xE3, 0xE1, 0x00, 0x00, 0xE4, 0xE1, 0x00, 0x00, 0xE5, 0xE1, 
+    0x00, 0x00, 0xE6, 0xE1, 0x00, 0x00, 0xE7, 0xE1, 0x00, 0x00, 0xE8, 0xE1, 0x00, 0x00, 0xE9, 0xE1, 
+    0x00, 0x00, 0xEA, 0xE1, 0x00, 0x00, 0xEB, 0xE1, 0x00, 0x00, 0xEC, 0xE1, 0x00, 0x00, 0xED, 0xE1, 
+    0x00, 0x00, 0xEE, 0xE1, 0x00, 0x00, 0xEF, 0xE1, 0x00, 0x00, 0xF0, 0xE1, 0x00, 0x00, 0xF1, 0xE1, 
+    0x00, 0x00, 0xF2, 0xE1, 0x00, 0x00, 0xF3, 0xE1, 0x00, 0x00, 0xF4, 0xE1, 0x00, 0x00, 0xF5, 0xE1, 
+    0x00, 0x00, 0xF6, 0xE1, 0x00, 0x00, 0xF7, 0xE1, 0x00, 0x00, 0xF8, 0xE1, 0x00, 0x00, 0xF9, 0xE1, 
+    0x00, 0x00, 0xFA, 0xE1, 0x00, 0x00, 0xFB, 0xE1, 0x00, 0x00, 0xFC, 0xE1, 0x00, 0x00, 0xFD, 0xE1, 
+    0x00, 0x00, 0xFE, 0xE1, 0x00, 0x00, 0xFF, 0xE1, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x01, 0xE2, 
+    0x00, 0x00, 0x02, 0xE2, 0x00, 0x00, 0x03, 0xE2, 0x00, 0x00, 0x04, 0xE2, 0x00, 0x00, 0x13, 0xE2, 
+    0x00, 0x00, 0x14, 0xE2, 0x00, 0x00, 0x15, 0xE2, 0x00, 0x00, 0x16, 0xE2, 0x00, 0x00, 0x17, 0xE2, 
+    0x00, 0x00, 0x18, 0xE2, 0x00, 0x00, 0x19, 0xE2, 0x00, 0x00, 0x1A, 0xE2, 0x00, 0x00, 0x1B, 0xE2, 
+    0x00, 0x00, 0x1C, 0xE2, 0x00, 0x00, 0x1D, 0xE2, 0x00, 0x00, 0x1E, 0xE2, 0x00, 0x00, 0x1F, 0xE2, 
+    0x00, 0x00, 0x20, 0xE2, 0x00, 0x00, 0x21, 0xE2, 0x00, 0x00, 0x22, 0xE2, 0x00, 0x00, 0x23, 0xE2, 
+    0x00, 0x00, 0x24, 0xE2, 0x00, 0x00, 0x25, 0xE2, 0x00, 0x00, 0x26, 0xE2, 0x00, 0x00, 0x27, 0xE2, 
+    0x00, 0x00, 0x28, 0xE2, 0x00, 0x00, 0x29, 0xE2, 0x00, 0x00, 0x2A, 0xE2, 0x00, 0x00, 0x2B, 0xE2, 
+    0x00, 0x00, 0x2C, 0xE2, 0x00, 0x00, 0x2D, 0xE2, 0x00, 0x00, 0x2E, 0xE2, 0x00, 0x00, 0x2F, 0xE2, 
+    0x00, 0x00, 0x30, 0xE2, 0x00, 0x00, 0x31, 0xE2, 0x00, 0x00, 0x32, 0xE2, 0x00, 0x00, 0x33, 0xE2, 
+    0x00, 0x00, 0x34, 0xE2, 0x00, 0x00, 0x35, 0xE2, 0x00, 0x00, 0x36, 0xE2, 0x00, 0x00, 0x37, 0xE2, 
+    0x00, 0x00, 0x38, 0xE2, 0x00, 0x00, 0x63, 0xE2, 0x00, 0x00, 0x64, 0xE2, 0x00, 0x00, 0x65, 0xE2, 
+    0x00, 0x00, 0x66, 0xE2, 0x00, 0x00, 0x67, 0xE2, 0x00, 0x00, 0x68, 0xE2, 0x00, 0x00, 0x69, 0xE2, 
+    0x00, 0x00, 0x6A, 0xE2, 0x00, 0x00, 0x77, 0xE2, 0x00, 0x00, 0x78, 0xE2, 0x00, 0x00, 0x79, 0xE2, 
+    0x00, 0x00, 0x7A, 0xE2, 0x00, 0x00, 0x7B, 0xE2, 0x00, 0x00, 0x7C, 0xE2, 0x00, 0x00, 0x7D, 0x5D, 
+    0xE2, 0x00, 0x00, 0x7D, 0x5E, 0xE2, 0x00, 0x00, 0x7F, 0xE2, 0x00, 0x00, 0x80, 0xE2, 0x00, 0x00, 
+    0x81, 0xE2, 0x00, 0x00, 0x9F, 0xE2, 0x00, 0x00, 0xA9, 0xE2, 0x00, 0x00, 0xAA, 0xE2, 0x00, 0x00, 
+    0xAB, 0xE2, 0x00, 0x00, 0xAC, 0xE2, 0x00, 0x00, 0xBD, 0xE2, 0x00, 0x00, 0xBE, 0xE2, 0x00, 0x00, 
+    0xBF, 0xE2, 0x00, 0x00, 0xC0, 0xE2, 0x00, 0x00, 0xC1, 0xE2, 0x00, 0x00, 0xC2, 0xE2, 0x00, 0x00, 
+    0xC3, 0xE2, 0x00, 0x00, 0xC4, 0xE2, 0x00, 0x00, 0xC5, 0xE2, 0x00, 0x00, 0xC7, 0xE2, 0x00, 0x00, 
+    0xC8, 0xE2, 0x00, 0x00, 0xC9, 0xE2, 0x00, 0x00, 0xCA, 0xE2, 0x00, 0x00, 0xCB, 0xE2, 0x00, 0x00, 
+    0xCC, 0xE2, 0x00, 0x00, 0xCD, 0xE2, 0x00, 0x00, 0xCE, 0xE2, 0x00, 0x00, 0xCF, 0xE2, 0x00, 0x00, 
+    0xD0, 0xE2, 0x00, 0x00, 0xD1, 0xE2, 0x00, 0x00, 0xD2, 0xE2, 0x00, 0x00, 0xD3, 0xE2, 0x00, 0x00, 
+    0xD4, 0xE2, 0x00, 0x00, 0xD5, 0xE2, 0x00, 0x00, 0xD6, 0xE2, 0x00, 0x00, 0xD7, 0xE2, 0x00, 0x00, 
+    0xD8, 0xE2, 0x00, 0x00, 0xD9, 0xE2, 0x00, 0x00, 0xDA, 0xE2, 0x00, 0x00, 0xDB, 0xE2, 0x00, 0x00, 
+    0xDC, 0xE2, 0x00, 0x00, 0xDD, 0xE2, 0x00, 0x00, 0xDE, 0xE2, 0x00, 0x00, 0xDF, 0xE2, 0x00, 0x00, 
+    0xE0, 0xE2, 0x00, 0x00, 0xE1, 0xE2, 0x00, 0x00, 0xE2, 0xE2, 0x00, 0x00, 0xE3, 0xE2, 0x00, 0x00, 
+    0xE4, 0xE2, 0x00, 0x00, 0xF9, 0xE2, 0x00, 0x00, 0xFA, 0xE2, 0x00, 0x00, 0xFB, 0xE2, 0x00, 0x00, 
+    0xFC, 0xE2, 0x00, 0x00, 0xFD, 0xE2, 0x00, 0x00, 0xFE, 0xE2, 0x00, 0x00, 0xFF, 0xE2, 0x00, 0x00, 
+    0x00, 0xE3, 0x00, 0x00, 0x01, 0xE3, 0x00, 0x00, 0x02, 0xE3, 0x00, 0x00, 0x03, 0xE3, 0x00, 0x00, 
+    0x04, 0xE3, 0x00, 0x00, 0x05, 0xE3, 0x00, 0x00, 0x06, 0xE3, 0x00, 0x00, 0x07, 0xE3, 0x00, 0x00, 
+    0x08, 0xE3, 0x00, 0x00, 0x2B, 0xE3, 0x00, 0x00, 0x2C, 0xE3, 0x00, 0x00, 0x2D, 0xE3, 0x00, 0x00, 
+    0x2E, 0xE3, 0x00, 0x00, 0x2F, 0xE3, 0x00, 0x00, 0x30, 0xE3, 0x00, 0x00, 0x31, 0xE3, 0x00, 0x00, 
+    0x32, 0xE3, 0x00, 0x00, 0x33, 0xE3, 0x00, 0x00, 0x34, 0xE3, 0x00, 0x00, 0x35, 0xE3, 0x00, 0x00, 
+    0x02, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x04, 0x00, 0x01, 0x00, 0x05, 0x00, 0x01, 0x00, 
+    0x06, 0x00, 0x01, 0x00, 0x07, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x09, 0x00, 0x01, 0x00, 
+    0x0A, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x01, 0x00, 0x0D, 0x00, 0x01, 0x00, 
+    0x0E, 0x00, 0x01, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x10, 0x00, 0x01, 0x00, 0x11, 0x00, 0x01, 0x00, 
+    0x12, 0x00, 0x01, 0x00, 0x13, 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, 0x00, 0x15, 0x00, 0x01, 0x00, 
+    0x16, 0x00, 0x01, 0x00, 0x17, 0x00, 0x01, 0x00, 0x18, 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, 
+    0x1A, 0x00, 0x01, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x01, 0x00, 
+    0x1E, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01, 0x00, 0x21, 0x00, 0x01, 0x00, 
+    0x22, 0x00, 0x01, 0x00, 0x23, 0x00, 0x01, 0x00, 0x24, 0x00, 0x01, 0x00, 0x25, 0x00, 0x01, 0x00, 
+    0x26, 0x00, 0x01, 0x00, 0x27, 0x00, 0x01, 0x00, 0x28, 0x00, 0x01, 0x00, 0x29, 0x00, 0x01, 0x00, 
+    0x2A, 0x00, 0x01, 0x00, 0x2B, 0x00, 0x01, 0x00, 0x2C, 0x00, 0x01, 0x00, 0x2D, 0x00, 0x01, 0x00, 
+    0x2E, 0x00, 0x01, 0x00, 0x2F, 0x00, 0x01, 0x00, 0x30, 0x00, 0x01, 0x00, 0x31, 0x00, 0x01, 0x00, 
+    0x32, 0x00, 0x01, 0x00, 0x33, 0x00, 0x01, 0x00, 0x34, 0x00, 0x01, 0x00, 0x35, 0x00, 0x01, 0x00, 
+    0x36, 0x00, 0x01, 0x00, 0x37, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x39, 0x00, 0x01, 0x00, 
+    0x3A, 0x00, 0x01, 0x00, 0x3B, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x01, 0x00, 0x3D, 0x00, 0x01, 0x00, 
+    0x3E, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x01, 0x00, 0x40, 0x00, 0x01, 0x00, 0x41, 0x00, 0x01, 0x00, 
+    0x42, 0x00, 0x01, 0x00, 0x43, 0x00, 0x01, 0x00, 0x44, 0x00, 0x01, 0x00, 0x45, 0x00, 0x01, 0x00, 
+    0x46, 0x00, 0x01, 0x00, 0x47, 0x00, 0x01, 0x00, 0x48, 0x00, 0x01, 0x00, 0x49, 0x00, 0x01, 0x00, 
+    0x4A, 0x00, 0x01, 0x00, 0x4B, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x01, 0x00, 0x4D, 0x00, 0x01, 0x00, 
+    0x4E, 0x00, 0x01, 0x00, 0x4F, 0x00, 0x01, 0x00, 0x50, 0x00, 0x01, 0x00, 0x51, 0x00, 0x01, 0x00, 
+    0x52, 0x00, 0x01, 0x00, 0x53, 0x00, 0x01, 0x00, 0x54, 0x00, 0x01, 0x00, 0x55, 0x00, 0x01, 0x00, 
+    0x56, 0x00, 0x01, 0x00, 0x57, 0x00, 0x01, 0x00, 0x58, 0x00, 0x01, 0x00, 0x59, 0x00, 0x01, 0x00, 
+    0x5A, 0x00, 0x01, 0x00, 0x5B, 0x00, 0x01, 0x00, 0x5C, 0x00, 0x01, 0x00, 0x5D, 0x00, 0x01, 0x00, 
+    0x5E, 0x00, 0x01, 0x00, 0x5F, 0x00, 0x01, 0x00, 0x60, 0x00, 0x01, 0x00, 0x61, 0x00, 0x01, 0x00, 
+    0x01, 0x00, 0x7D, 0x5D, 0x00, 0x02, 0x00, 0x7D, 0x5D, 0x00, 0x03, 0x00, 0x7D, 0x5D, 0x00, 0x01, 
+    0x00, 0x01, 0x7F, 0x02, 0x00, 0x01, 0x7F, 0x03, 0x00, 0x01, 0x7F, 0x04, 0x00, 0x01, 0x7F, 0x05, 
+    0x00, 0x01, 0x7F, 0x06, 0x00, 0x01, 0x7F, 0x01, 0x00, 0x02, 0x7F, 0x01, 0x00, 0x03, 0x7F, 0x02, 
+    0x00, 0x03, 0x7F, 0x01, 0x00, 0x06, 0x7F, 0x02, 0x00, 0x06, 0x7F, 0x03, 0x00, 0x06, 0x7F, 0x04, 
+    0x00, 0x06, 0x7F, 0x05, 0x00, 0x06, 0x7F, 0x06, 0x00, 0x06, 0x7F, 0x07, 0x00, 0x06, 0x7F, 0x01, 
+    0x00, 0x07, 0x7F, 0x01, 0x00, 0x08, 0x7F, 0x02, 0x00, 0x08, 0x7F, 0x03, 0x00, 0x08, 0x7F, 0x04, 
+    0x00, 0x08, 0x7F, 0x05, 0x00, 0x08, 0x7F, 0x06, 0x00, 0x08, 0x7F, 0x07, 0x00, 0x08, 0x7F, 0x08, 
+    0x00, 0x08, 0x7F, 0x09, 0x00, 0x08, 0x7F, 0x0A, 0x00, 0x08, 0x7F, 0x0B, 0x00, 0x08, 0x7F, 0x0C, 
+    0x00, 0x08, 0x7F, 0x0D, 0x00, 0x08, 0x7F, 0x0E, 0x00, 0x08, 0x7F, 0x0F, 0x00, 0x08, 0x7F, 0x01, 
+    0x00, 0x09, 0x7F, 0x02, 0x00, 0x09, 0x7F, 0x03, 0x00, 0x09, 0x7F, 0x04, 0x00, 0x09, 0x7F, 0x05, 
+    0x00, 0x09, 0x7F, 0x06, 0x00, 0x09, 0x7F, 0x07, 0x00, 0x09, 0x7F, 0x08, 0x00, 0x09, 0x7F, 0x09, 
+    0x00, 0x09, 0x7F, 0x0A, 0x00, 0x09, 0x7F, 0x0B, 0x00, 0x09, 0x7F, 0x0C, 0x00, 0x09, 0x7F, 0x0D, 
+    0x00, 0x09, 0x7F, 0x0E, 0x00, 0x09, 0x7F, 0x0F, 0x00, 0x09, 0x7F, 0x10, 0x00, 0x09, 0x7F, 0x11, 
+    0x00, 0x09, 0x7F, 0x12, 0x00, 0x09, 0x7F, 0x13, 0x00, 0x09, 0x7F, 0x14, 0x00, 0x09, 0x7F, 0x15, 
+    0x00, 0x09, 0x7F, 0x01, 0x00, 0x0B, 0x7F, 0x01, 0x00, 0x0C, 0x7F, 0x01, 0x00, 0x0D, 0x7F, 0x02, 
+    0x00, 0x0D, 0x7F, 0x01, 0x00, 0x0E, 0x7F, 0x02, 0x00, 0x0E, 0x7F, 0x03, 0x00, 0x0E, 0x7F, 0x04, 
+    0x00, 0x0E, 0x7F, 0x05, 0x00, 0x0E, 0x7F, 0x01, 0x00, 0x0F, 0x7F, 0x02, 0x00, 0x0F, 0x7F, 0x01, 
+    0x00, 0x10, 0x7F, 0x02, 0x00, 0x10, 0x7F, 0x03, 0x00, 0x10, 0x7F, 0x04, 0x00, 0x10, 0x7F, 0x05, 
+    0x00, 0x10, 0x7F, 0x01, 0x00, 0x11, 0x7F, 0x02, 0x00, 0x11, 0x7F, 0x01, 0x00, 0x12, 0x7F, 0x02, 
+    0x00, 0x12, 0x7F, 0x03, 0x00, 0x12, 0x7F, 0x04, 0x00, 0x12, 0x7F, 0x05, 0x00, 0x12, 0x7F, 0x01, 
+    0x00, 0x13, 0x7F, 0x02, 0x00, 0x13, 0x7F, 0x03, 0x00, 0x13, 0x7F, 0x04, 0x00, 0x13, 0x7F, 0x01, 
+    0x00, 0x00, 0x01, 0xFF, 0xFF, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
+    0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
+    0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
+    0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
+    0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
+    0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
+    0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xD6, 0x29, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 
+    0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04, 0x08, 0x01, 0x00, 0xF0, 0x00, 
+    0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0xF0, 0x24, 0x00, 0x00, 0x06, 0xBF, 0xBB, 
+    0xBB, 0xE0, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xDC, 
+    0x24, 0x04, 0x08, 0x03, 0x0B, 0x02, 0x00, 0xF2, 0x08, 0x01, 0x00, 0x00, 0x12, 0x02, 0x00, 0x00, 
+    0x12, 0x03, 0x00, 0x00, 0x12, 0x04, 0x00, 0x00, 0x12, 0x05, 0x00, 0x00, 0x12, 0x06, 0x00, 0x00, 
+    0x12, 0x07, 0x00, 0x00, 0x12, 0x08, 0x00, 0x00, 0x12, 0x09, 0x00, 0x00, 0x12, 0x0A, 0x00, 0x00, 
+    0x12, 0x0B, 0x00, 0x00, 0x12, 0x01, 0x00, 0x01, 0x12, 0x02, 0x00, 0x01, 0x12, 0x03, 0x00, 0x01, 
+    0x12, 0x04, 0x00, 0x01, 0x12, 0x05, 0x00, 0x01, 0x12, 0x06, 0x00, 0x01, 0x12, 0x07, 0x00, 0x01, 
+    0x12, 0x08, 0x00, 0x01, 0x12, 0x00, 0x08, 0x01, 0x12, 0x01, 0x08, 0x01, 0x12, 0x02, 0x08, 0x01, 
+    0x12, 0x01, 0x20, 0x01, 0x12, 0x02, 0x20, 0x01, 0x12, 0x03, 0x20, 0x01, 0x12, 0x04, 0x20, 0x01, 
+    0x12, 0x05, 0x20, 0x01, 0x12, 0x06, 0x20, 0x01, 0x12, 0x07, 0x20, 0x01, 0x12, 0x08, 0x20, 0x01, 
+    0x12, 0x09, 0x20, 0x01, 0x12, 0x0A, 0x20, 0x01, 0x12, 0x0B, 0x20, 0x01, 0x12, 0x0C, 0x20, 0x01, 
+    0x12, 0x0D, 0x20, 0x01, 0x12, 0x0E, 0x20, 0x01, 0x12, 0x0F, 0x20, 0x01, 0x12, 0x10, 0x20, 0x01, 
+    0x12, 0x11, 0x20, 0x01, 0x12, 0x12, 0x20, 0x01, 0x12, 0x13, 0x20, 0x01, 0x12, 0x14, 0x20, 0x01, 
+    0x12, 0x15, 0x20, 0x01, 0x12, 0x16, 0x20, 0x01, 0x12, 0x17, 0x20, 0x01, 0x12, 0x18, 0x20, 0x01, 
+    0x12, 0x01, 0x30, 0x01, 0x12, 0x02, 0x30, 0x01, 0x12, 0x03, 0x30, 0x01, 0x12, 0x04, 0x30, 0x01, 
+    0x12, 0x05, 0x30, 0x01, 0x12, 0x06, 0x30, 0x01, 0x12, 0x07, 0x30, 0x01, 0x12, 0x08, 0x30, 0x01, 
+    0x12, 0x09, 0x30, 0x01, 0x12, 0x0A, 0x30, 0x01, 0x12, 0x0B, 0x30, 0x01, 0x12, 0x0C, 0x30, 0x01, 
+    0x12, 0x0D, 0x30, 0x01, 0x12, 0x0E, 0x30, 0x01, 0x12, 0x0F, 0x30, 0x01, 0x12, 0x10, 0x30, 0x01, 
+    0x12, 0x11, 0x30, 0x01, 0x12, 0x12, 0x30, 0x01, 0x12, 0x13, 0x30, 0x01, 0x12, 0x14, 0x30, 0x01, 
+    0x12, 0x15, 0x30, 0x01, 0x12, 0x16, 0x30, 0x01, 0x12, 0x17, 0x30, 0x01, 0x12, 0x18, 0x30, 0x01, 
+    0x12, 0x19, 0x30, 0x01, 0x12, 0x1A, 0x30, 0x01, 0x12, 0x1B, 0x30, 0x01, 0x12, 0x1C, 0x30, 0x01, 
+    0x12, 0x1D, 0x30, 0x01, 0x12, 0x1E, 0x30, 0x01, 0x12, 0x1F, 0x30, 0x01, 0x12, 0x20, 0x30, 0x01, 
+    0x12, 0x21, 0x30, 0x01, 0x12, 0x22, 0x30, 0x01, 0x12, 0x23, 0x30, 0x01, 0x12, 0x24, 0x30, 0x01, 
+    0x12, 0x25, 0x30, 0x01, 0x12, 0x26, 0x30, 0x01, 0x12, 0x27, 0x30, 0x01, 0x12, 0x28, 0x30, 0x01, 
+    0x12, 0x29, 0x30, 0x01, 0x12, 0x2A, 0x30, 0x01, 0x12, 0x2B, 0x30, 0x01, 0x12, 0x2C, 0x30, 0x01, 
+    0x12, 0x2D, 0x30, 0x01, 0x12, 0x2E, 0x30, 0x01, 0x12, 0x2F, 0x30, 0x01, 0x12, 0x30, 0x30, 0x01, 
+    0x12, 0x31, 0x30, 0x01, 0x12, 0x32, 0x30, 0x01, 0x12, 0x33, 0x30, 0x01, 0x12, 0x34, 0x30, 0x01, 
+    0x12, 0x01, 0x40, 0x01, 0x12, 0x02, 0x40, 0x01, 0x12, 0x03, 0x40, 0x01, 0x12, 0x04, 0x40, 0x01, 
+    0x12, 0x05, 0x40, 0x01, 0x12, 0x06, 0x40, 0x01, 0x12, 0x07, 0x40, 0x01, 0x12, 0x08, 0x40, 0x01, 
+    0x12, 0x09, 0x40, 0x01, 0x12, 0x0A, 0x40, 0x01, 0x12, 0x0B, 0x40, 0x01, 0x12, 0x0C, 0x40, 0x01, 
+    0x12, 0x0D, 0x40, 0x01, 0x12, 0x0E, 0x40, 0x01, 0x12, 0x0F, 0x40, 0x01, 0x12, 0x10, 0x40, 0x01, 
+    0x12, 0x11, 0x40, 0x01, 0x12, 0x12, 0x40, 0x01, 0x12, 0x13, 0x40, 0x01, 0x12, 0x14, 0x40, 0x01, 
+    0x12, 0x15, 0x40, 0x01, 0x12, 0x16, 0x40, 0x01, 0x12, 0x17, 0x40, 0x01, 0x12, 0x18, 0x40, 0x01, 
+    0x12, 0x19, 0x40, 0x01, 0x12, 0x1A, 0x40, 0x01, 0x12, 0x1B, 0x40, 0x01, 0x12, 0x1C, 0x40, 0x01, 
+    0x12, 0x1D, 0x40, 0x01, 0x12, 0x1E, 0x40, 0x01, 0x12, 0x1F, 0x40, 0x01, 0x12, 0x20, 0x40, 0x01, 
+    0x12, 0x21, 0x40, 0x01, 0x12, 0x22, 0x40, 0x01, 0x12, 0x23, 0x40, 0x01, 0x12, 0x24, 0x40, 0x01, 
+    0x12, 0x25, 0x40, 0x01, 0x12, 0x26, 0x40, 0x01, 0x12, 0x27, 0x40, 0x01, 0x12, 0x28, 0x40, 0x01, 
+    0x12, 0x29, 0x40, 0x01, 0x12, 0x2A, 0x40, 0x01, 0x12, 0x2B, 0x40, 0x01, 0x12, 0x2C, 0x40, 0x01, 
+    0x12, 0x2D, 0x40, 0x01, 0x12, 0x2E, 0x40, 0x01, 0x12, 0x2F, 0x40, 0x01, 0x12, 0x30, 0x40, 0x01, 
+    0x12, 0x31, 0x40, 0x01, 0x12, 0x32, 0x40, 0x01, 0x12, 0x33, 0x40, 0x01, 0x12, 0x34, 0x40, 0x01, 
+    0x12, 0x35, 0x40, 0x01, 0x12, 0x36, 0x40, 0x01, 0x12, 0x37, 0x40, 0x01, 0x12, 0x38, 0x40, 0x01, 
+    0x12, 0x39, 0x40, 0x01, 0x12, 0x3A, 0x40, 0x01, 0x12, 0x3B, 0x40, 0x01, 0x12, 0x3C, 0x40, 0x01, 
+    0x12, 0x3D, 0x40, 0x01, 0x12, 0x3E, 0x40, 0x01, 0x12, 0x3F, 0x40, 0x01, 0x12, 0x40, 0x40, 0x01, 
+    0x12, 0x41, 0x40, 0x01, 0x12, 0x42, 0x40, 0x01, 0x12, 0x43, 0x40, 0x01, 0x12, 0x44, 0x40, 0x01, 
+    0x12, 0x45, 0x40, 0x01, 0x12, 0x46, 0x40, 0x01, 0x12, 0x47, 0x40, 0x01, 0x12, 0x48, 0x40, 0x01, 
+    0x12, 0x49, 0x40, 0x01, 0x12, 0x4A, 0x40, 0x01, 0x12, 0x4B, 0x40, 0x01, 0x12, 0x4C, 0x40, 0x01, 
+    0x12, 0x4D, 0x40, 0x01, 0x12, 0x4E, 0x40, 0x01, 0x12, 0x4F, 0x40, 0x01, 0x12, 0x50, 0x40, 0x01, 
+    0x12, 0x51, 0x40, 0x01, 0x12, 0x52, 0x40, 0x01, 0x12, 0x53, 0x40, 0x01, 0x12, 0x54, 0x40, 0x01, 
+    0x12, 0x55, 0x40, 0x01, 0x12, 0x56, 0x40, 0x01, 0x12, 0x57, 0x40, 0x01, 0x12, 0x58, 0x40, 0x01, 
+    0x12, 0x59, 0x40, 0x01, 0x12, 0x5A, 0x40, 0x01, 0x12, 0x5B, 0x40, 0x01, 0x12, 0x5C, 0x40, 0x01, 
+    0x12, 0x5D, 0x40, 0x01, 0x12, 0x5E, 0x40, 0x01, 0x12, 0x5F, 0x40, 0x01, 0x12, 0x60, 0x40, 0x01, 
+    0x12, 0x61, 0x40, 0x01, 0x12, 0x62, 0x40, 0x01, 0x12, 0x63, 0x40, 0x01, 0x12, 0x64, 0x40, 0x01, 
+    0x12, 0x65, 0x40, 0x01, 0x12, 0x66, 0x40, 0x01, 0x12, 0x67, 0x40, 0x01, 0x12, 0x68, 0x40, 0x01, 
+    0x12, 0x69, 0x40, 0x01, 0x12, 0x6A, 0x40, 0x01, 0x12, 0x6B, 0x40, 0x01, 0x12, 0x6C, 0x40, 0x01, 
+    0x12, 0x6D, 0x40, 0x01, 0x12, 0x6E, 0x40, 0x01, 0x12, 0x6F, 0x40, 0x01, 0x12, 0x70, 0x40, 0x01, 
+    0x12, 0x71, 0x40, 0x01, 0x12, 0x72, 0x40, 0x01, 0x12, 0x73, 0x40, 0x01, 0x12, 0x74, 0x40, 0x01, 
+    0x12, 0x75, 0x40, 0x01, 0x12, 0x76, 0x40, 0x01, 0x12, 0x77, 0x40, 0x01, 0x12, 0x78, 0x40, 0x01, 
+    0x12, 0x79, 0x40, 0x01, 0x12, 0x7A, 0x40, 0x01, 0x12, 0x7B, 0x40, 0x01, 0x12, 0x7C, 0x40, 0x01, 
+    0x12, 0x7D, 0x5D, 0x40, 0x01, 0x12, 0x7D, 0x5E, 0x40, 0x01, 0x12, 0x7F, 0x40, 0x01, 0x12, 0x80, 
+    0x40, 0x01, 0x12, 0x81, 0x40, 0x01, 0x12, 0x82, 0x40, 0x01, 0x12, 0x83, 0x40, 0x01, 0x12, 0x84, 
+    0x40, 0x01, 0x12, 0x85, 0x40, 0x01, 0x12, 0x86, 0x40, 0x01, 0x12, 0x87, 0x40, 0x01, 0x12, 0x88, 
+    0x40, 0x01, 0x12, 0x89, 0x40, 0x01, 0x12, 0x8A, 0x40, 0x01, 0x12, 0x8B, 0x40, 0x01, 0x12, 0x8C, 
+    0x40, 0x01, 0x12, 0x8D, 0x40, 0x01, 0x12, 0x8E, 0x40, 0x01, 0x12, 0x8F, 0x40, 0x01, 0x12, 0x90, 
+    0x40, 0x01, 0x12, 0x91, 0x40, 0x01, 0x12, 0x92, 0x40, 0x01, 0x12, 0x93, 0x40, 0x01, 0x12, 0x94, 
+    0x40, 0x01, 0x12, 0x96, 0x40, 0x01, 0x12, 0x97, 0x40, 0x01, 0x12, 0x98, 0x40, 0x01, 0x12, 0x99, 
+    0x40, 0x01, 0x12, 0x9A, 0x40, 0x01, 0x12, 0x9B, 0x40, 0x01, 0x12, 0x9C, 0x40, 0x01, 0x12, 0x9D, 
+    0x40, 0x01, 0x12, 0x9E, 0x40, 0x01, 0x12, 0x9F, 0x40, 0x01, 0x12, 0xA0, 0x40, 0x01, 0x12, 0xA1, 
+    0x40, 0x01, 0x12, 0xA2, 0x40, 0x01, 0x12, 0xA3, 0x40, 0x01, 0x12, 0xA4, 0x40, 0x01, 0x12, 0xA5, 
+    0x40, 0x01, 0x12, 0xA6, 0x40, 0x01, 0x12, 0xA7, 0x40, 0x01, 0x12, 0xA8, 0x40, 0x01, 0x12, 0xA9, 
+    0x40, 0x01, 0x12, 0xAA, 0x40, 0x01, 0x12, 0xAB, 0x40, 0x01, 0x12, 0xAC, 0x40, 0x01, 0x12, 0xAD, 
+    0x40, 0x01, 0x12, 0xAE, 0x40, 0x01, 0x12, 0xAF, 0x40, 0x01, 0x12, 0xB0, 0x40, 0x01, 0x12, 0xB1, 
+    0x40, 0x01, 0x12, 0xB2, 0x40, 0x01, 0x12, 0xB3, 0x40, 0x01, 0x12, 0x01, 0x50, 0x01, 0x12, 0x02, 
+    0x50, 0x01, 0x12, 0x03, 0x50, 0x01, 0x12, 0x04, 0x50, 0x01, 0x12, 0x05, 0x50, 0x01, 0x12, 0x06, 
+    0x50, 0x01, 0x12, 0x07, 0x50, 0x01, 0x12, 0x08, 0x50, 0x01, 0x12, 0x09, 0x50, 0x01, 0x12, 0x0A, 
+    0x50, 0x01, 0x12, 0x0B, 0x50, 0x01, 0x12, 0x0C, 0x50, 0x01, 0x12, 0x0D, 0x50, 0x01, 0x12, 0x0E, 
+    0x50, 0x01, 0x12, 0x0F, 0x50, 0x01, 0x12, 0x10, 0x50, 0x01, 0x12, 0x11, 0x50, 0x01, 0x12, 0x12, 
+    0x50, 0x01, 0x12, 0x13, 0x50, 0x01, 0x12, 0x14, 0x50, 0x01, 0x12, 0x15, 0x50, 0x01, 0x12, 0x16, 
+    0x50, 0x01, 0x12, 0x17, 0x50, 0x01, 0x12, 0x18, 0x50, 0x01, 0x12, 0x19, 0x50, 0x01, 0x12, 0x1A, 
+    0x50, 0x01, 0x12, 0x1B, 0x50, 0x01, 0x12, 0x1C, 0x50, 0x01, 0x12, 0x1D, 0x50, 0x01, 0x12, 0x1E, 
+    0x50, 0x01, 0x12, 0x1F, 0x50, 0x01, 0x12, 0x20, 0x50, 0x01, 0x12, 0x21, 0x50, 0x01, 0x12, 0x22, 
+    0x50, 0x01, 0x12, 0x23, 0x50, 0x01, 0x12, 0x24, 0x50, 0x01, 0x12, 0x25, 0x50, 0x01, 0x12, 0x26, 
+    0x50, 0x01, 0x12, 0x27, 0x50, 0x01, 0x12, 0x28, 0x50, 0x01, 0x12, 0x01, 0xA0, 0x01, 0x12, 0x02, 
+    0xA0, 0x01, 0x12, 0x03, 0xA0, 0x01, 0x12, 0x04, 0xA0, 0x01, 0x12, 0x05, 0xA0, 0x01, 0x12, 0x06, 
+    0xA0, 0x01, 0x12, 0x07, 0xA0, 0x01, 0x12, 0x08, 0xA0, 0x01, 0x12, 0x09, 0xA0, 0x01, 0x12, 0x0A, 
+    0xA0, 0x01, 0x12, 0x0B, 0xA0, 0x01, 0x12, 0x0C, 0xA0, 0x01, 0x12, 0x0D, 0xA0, 0x01, 0x12, 0x0E, 
+    0xA0, 0x01, 0x12, 0x0F, 0xA0, 0x01, 0x12, 0x10, 0xA0, 0x01, 0x12, 0x01, 0xB0, 0x01, 0x12, 0x02, 
+    0xB0, 0x01, 0x12, 0x03, 0xB0, 0x01, 0x12, 0x04, 0xB0, 0x01, 0x12, 0x05, 0xB0, 0x01, 0x12, 0x06, 
+    0xB0, 0x01, 0x12, 0x07, 0xB0, 0x01, 0x12, 0x08, 0xB0, 0x01, 0x12, 0x09, 0xB0, 0x01, 0x12, 0x0A, 
+    0xB0, 0x01, 0x12, 0x0B, 0xB0, 0x01, 0x12, 0x0C, 0xB0, 0x01, 0x12, 0x0D, 0xB0, 0x01, 0x12, 0x0E, 
+    0xB0, 0x01, 0x12, 0x0F, 0xB0, 0x01, 0x12, 0x10, 0xB0, 0x01, 0x12, 0x11, 0xB0, 0x01, 0x12, 0x12, 
+    0xB0, 0x01, 0x12, 0x13, 0xB0, 0x01, 0x12, 0x14, 0xB0, 0x01, 0x12, 0x15, 0xB0, 0x01, 0x12, 0x16, 
+    0xB0, 0x01, 0x12, 0x17, 0xB0, 0x01, 0x12, 0x18, 0xB0, 0x01, 0x12, 0x19, 0xB0, 0x01, 0x12, 0x1A, 
+    0xB0, 0x01, 0x12, 0x1B, 0xB0, 0x01, 0x12, 0x1C, 0xB0, 0x01, 0x12, 0x1D, 0xB0, 0x01, 0x12, 0x1E, 
+    0xB0, 0x01, 0x12, 0x1F, 0xB0, 0x01, 0x12, 0x01, 0xC0, 0x01, 0x12, 0x02, 0xC0, 0x01, 0x12, 0x03, 
+    0xC0, 0x01, 0x12, 0x04, 0xC0, 0x01, 0x12, 0x05, 0xC0, 0x01, 0x12, 0x06, 0xC0, 0x01, 0x12, 0x07, 
+    0xC0, 0x01, 0x12, 0x08, 0xC0, 0x01, 0x12, 0x09, 0xC0, 0x01, 0x12, 0x0A, 0xC0, 0x01, 0x12, 0x0B, 
+    0xC0, 0x01, 0x12, 0x0C, 0xC0, 0x01, 0x12, 0x0D, 0xC0, 0x01, 0x12, 0x0E, 0xC0, 0x01, 0x12, 0x0F, 
+    0xC0, 0x01, 0x12, 0x10, 0xC0, 0x01, 0x12, 0x11, 0xC0, 0x01, 0x12, 0x12, 0xC0, 0x01, 0x12, 0x13, 
+    0xC0, 0x01, 0x12, 0x14, 0xC0, 0x01, 0x12, 0x15, 0xC0, 0x01, 0x12, 0x16, 0xC0, 0x01, 0x12, 0x17, 
+    0xC0, 0x01, 0x12, 0x18, 0xC0, 0x01, 0x12, 0x19, 0xC0, 0x01, 0x12, 0x1A, 0xC0, 0x01, 0x12, 0x1B, 
+    0xC0, 0x01, 0x12, 0x1C, 0xC0, 0x01, 0x12, 0x1D, 0xC0, 0x01, 0x12, 0x1E, 0xC0, 0x01, 0x12, 0x1F, 
+    0xC0, 0x01, 0x12, 0x20, 0xC0, 0x01, 0x12, 0x21, 0xC0, 0x01, 0x12, 0x22, 0xC0, 0x01, 0x12, 0x23, 
+    0xC0, 0x01, 0x12, 0x24, 0xC0, 0x01, 0x12, 0x25, 0xC0, 0x01, 0x12, 0x26, 0xC0, 0x01, 0x12, 0x27, 
+    0xC0, 0x01, 0x12, 0x28, 0xC0, 0x01, 0x12, 0x29, 0xC0, 0x01, 0x12, 0x2A, 0xC0, 0x01, 0x12, 0x2B, 
+    0xC0, 0x01, 0x12, 0x2C, 0xC0, 0x01, 0x12, 0x2D, 0xC0, 0x01, 0x12, 0x2E, 0xC0, 0x01, 0x12, 0x2F, 
+    0xC0, 0x01, 0x12, 0x30, 0xC0, 0x01, 0x12, 0x31, 0xC0, 0x01, 0x12, 0x32, 0xC0, 0x01, 0x12, 0x33, 
+    0xC0, 0x01, 0x12, 0x34, 0xC0, 0x01, 0x12, 0x35, 0xC0, 0x01, 0x12, 0x36, 0xC0, 0x01, 0x12, 0x37, 
+    0xC0, 0x01, 0x12, 0x38, 0xC0, 0x01, 0x12, 0x39, 0xC0, 0x01, 0x12, 0x3A, 0xC0, 0x01, 0x12, 0x3B, 
+    0xC0, 0x01, 0x12, 0x3C, 0xC0, 0x01, 0x12, 0x3D, 0xC0, 0x01, 0x12, 0x3E, 0xC0, 0x01, 0x12, 0x3F, 
+    0xC0, 0x01, 0x12, 0x40, 0xC0, 0x01, 0x12, 0x41, 0xC0, 0x01, 0x12, 0x42, 0xC0, 0x01, 0x12, 0x43, 
+    0xC0, 0x01, 0x12, 0x44, 0xC0, 0x01, 0x12, 0x45, 0xC0, 0x01, 0x12, 0x46, 0xC0, 0x01, 0x12, 0x47, 
+    0xC0, 0x01, 0x12, 0x48, 0xC0, 0x01, 0x12, 0x49, 0xC0, 0x01, 0x12, 0x4A, 0xC0, 0x01, 0x12, 0x4B, 
+    0xC0, 0x01, 0x12, 0x4C, 0xC0, 0x01, 0x12, 0x4D, 0xC0, 0x01, 0x12, 0x4E, 0xC0, 0x01, 0x12, 0x4F, 
+    0xC0, 0x01, 0x12, 0x50, 0xC0, 0x01, 0x12, 0x51, 0xC0, 0x01, 0x12, 0x52, 0xC0, 0x01, 0x12, 0x53, 
+    0xC0, 0x01, 0x12, 0x54, 0xC0, 0x01, 0x12, 0x55, 0xC0, 0x01, 0x12, 0x56, 0xC0, 0x01, 0x12, 0x57, 
+    0xC0, 0x01, 0x12, 0x58, 0xC0, 0x01, 0x12, 0x59, 0xC0, 0x01, 0x12, 0x5A, 0xC0, 0x01, 0x12, 0x5B, 
+    0xC0, 0x01, 0x12, 0x5C, 0xC0, 0x01, 0x12, 0x5D, 0xC0, 0x01, 0x12, 0x5E, 0xC0, 0x01, 0x12, 0x5F, 
+    0xC0, 0x01, 0x12, 0x60, 0xC0, 0x01, 0x12, 0x61, 0xC0, 0x01, 0x12, 0x62, 0xC0, 0x01, 0x12, 0x63, 
+    0xC0, 0x01, 0x12, 0x64, 0xC0, 0x01, 0x12, 0x65, 0xC0, 0x01, 0x12, 0x66, 0xC0, 0x01, 0x12, 0x67, 
+    0xC0, 0x01, 0x12, 0x68, 0xC0, 0x01, 0x12, 0x69, 0xC0, 0x01, 0x12, 0x6A, 0xC0, 0x01, 0x12, 0x6B, 
+    0xC0, 0x01, 0x12, 0x6C, 0xC0, 0x01, 0x12, 0x6D, 0xC0, 0x01, 0x12, 0x6E, 0xC0, 0x01, 0x12, 0x6F, 
+    0xC0, 0x01, 0x12, 0x01, 0xD0, 0x01, 0x12, 0x02, 0xD0, 0x01, 0x12, 0x03, 0xD0, 0x01, 0x12, 0x04, 
+    0xD0, 0x01, 0x12, 0x05, 0xD0, 0x01, 0x12, 0x06, 0xD0, 0x01, 0x12, 0x07, 0xD0, 0x01, 0x12, 0x08, 
+    0xD0, 0x01, 0x12, 0x09, 0xD0, 0x01, 0x12, 0x0A, 0xD0, 0x01, 0x12, 0x0B, 0xD0, 0x01, 0x12, 0x0C, 
+    0xD0, 0x01, 0x12, 0x0D, 0xD0, 0x01, 0x12, 0x0E, 0xD0, 0x01, 0x12, 0x0F, 0xD0, 0x01, 0x12, 0x10, 
+    0xD0, 0x01, 0x12, 0x11, 0xD0, 0x01, 0x12, 0x12, 0xD0, 0x01, 0x12, 0x13, 0xD0, 0x01, 0x12, 0x14, 
+    0xD0, 0x01, 0x12, 0x15, 0xD0, 0x01, 0x12, 0x16, 0xD0, 0x01, 0x12, 0x17, 0xD0, 0x01, 0x12, 0x18, 
+    0xD0, 0x01, 0x12, 0x19, 0xD0, 0x01, 0x12, 0x1A, 0xD0, 0x01, 0x12, 0x1B, 0xD0, 0x01, 0x12, 0x1C, 
+    0xD0, 0x01, 0x12, 0x1D, 0xD0, 0x01, 0x12, 0x01, 0xE0, 0x01, 0x12, 0x02, 0xE0, 0x01, 0x12, 0x03, 
+    0xE0, 0x01, 0x12, 0x04, 0xE0, 0x01, 0x12, 0x05, 0xE0, 0x01, 0x12, 0x06, 0xE0, 0x01, 0x12, 0x07, 
+    0xE0, 0x01, 0x12, 0x08, 0xE0, 0x01, 0x12, 0x09, 0xE0, 0x01, 0x12, 0x0A, 0xE0, 0x01, 0x12, 0x0B, 
+    0xE0, 0x01, 0x12, 0x0C, 0xE0, 0x01, 0x12, 0x0D, 0xE0, 0x01, 0x12, 0x0E, 0xE0, 0x01, 0x12, 0x0F, 
+    0xE0, 0x01, 0x12, 0x10, 0xE0, 0x01, 0x12, 0x11, 0xE0, 0x01, 0x12, 0x12, 0xE0, 0x01, 0x12, 0x13, 
+    0xE0, 0x01, 0x12, 0x14, 0xE0, 0x01, 0x12, 0x15, 0xE0, 0x01, 0x12, 0x16, 0xE0, 0x01, 0x12, 0x17, 
+    0xE0, 0x01, 0x12, 0x18, 0xE0, 0x01, 0x12, 0x19, 0xE0, 0x01, 0x12, 0x1A, 0xE0, 0x01, 0x12, 0x1B, 
+    0xE0, 0x01, 0x12, 0x1C, 0xE0, 0x01, 0x12, 0x1D, 0xE0, 0x01, 0x12, 0x1E, 0xE0, 0x01, 0x12, 0x1F, 
+    0xE0, 0x01, 0x12, 0x20, 0xE0, 0x01, 0x12, 0x21, 0xE0, 0x01, 0x12, 0x22, 0xE0, 0x01, 0x12, 0x23, 
+    0xE0, 0x01, 0x12, 0x24, 0xE0, 0x01, 0x12, 0x25, 0xE0, 0x01, 0x12, 0x26, 0xE0, 0x01, 0x12, 0x27, 
+    0xE0, 0x01, 0x12, 0x28, 0xE0, 0x01, 0x12, 0x29, 0xE0, 0x01, 0x12, 0x2A, 0xE0, 0x01, 0x12, 0x01, 
+    0xF0, 0x01, 0x12, 0x02, 0xF0, 0x01, 0x12, 0x03, 0xF0, 0x01, 0x12, 0x04, 0xF0, 0x01, 0x12, 0x05, 
+    0xF0, 0x01, 0x12, 0x06, 0xF0, 0x01, 0x12, 0x07, 0xF0, 0x01, 0x12, 0x08, 0xF0, 0x01, 0x12, 0x09, 
+    0xF0, 0x01, 0x12, 0x0A, 0xF0, 0x01, 0x12, 0x0B, 0xF0, 0x01, 0x12, 0x0C, 0xF0, 0x01, 0x12, 0x0D, 
+    0xF0, 0x01, 0x12, 0x0E, 0xF0, 0x01, 0x12, 0x0F, 0xF0, 0x01, 0x12, 0x10, 0xF0, 0x01, 0x12, 0x11, 
+    0xF0, 0x01, 0x12, 0x12, 0xF0, 0x01, 0x12, 0x13, 0xF0, 0x01, 0x12, 0x14, 0xF0, 0x01, 0x12, 0x15, 
+    0xF0, 0x01, 0x12, 0x16, 0xF0, 0x01, 0x12, 0x17, 0xF0, 0x01, 0x12, 0x18, 0xF0, 0x01, 0x12, 0x19, 
+    0xF0, 0x01, 0x12, 0x1A, 0xF0, 0x01, 0x12, 0x1B, 0xF0, 0x01, 0x12, 0x1C, 0xF0, 0x01, 0x12, 0x1D, 
+    0xF0, 0x01, 0x12, 0x1E, 0xF0, 0x01, 0x12, 0x1F, 0xF0, 0x01, 0x12, 0x20, 0xF0, 0x01, 0x12, 0x21, 
+    0xF0, 0x01, 0x12, 0x01, 0xF8, 0x01, 0x12, 0x02, 0xF8, 0x01, 0x12, 0x03, 0xF8, 0x01, 0x12, 0x04, 
+    0xF8, 0x01, 0x12, 0x05, 0xF8, 0x01, 0x12, 0x06, 0xF8, 0x01, 0x12, 0x07, 0xF8, 0x01, 0x12, 0x08, 
+    0xF8, 0x01, 0x12, 0x09, 0xF8, 0x01, 0x12, 0x0A, 0xF8, 0x01, 0x12, 0x0B, 0xF8, 0x01, 0x12, 0x0C, 
+    0xF8, 0x01, 0x12, 0x0D, 0xF8, 0x01, 0x12, 0x0E, 0xF8, 0x01, 0x12, 0x0F, 0xF8, 0x01, 0x12, 0x10, 
+    0xF8, 0x01, 0x12, 0x11, 0xF8, 0x01, 0x12, 0x12, 0xF8, 0x01, 0x12, 0x14, 0xF8, 0x01, 0x12, 0x15, 
+    0xF8, 0x01, 0x12, 0x16, 0xF8, 0x01, 0x12, 0x17, 0xF8, 0x01, 0x12, 0x18, 0xF8, 0x01, 0x12, 0x19, 
+    0xF8, 0x01, 0x12, 0x1A, 0xF8, 0x01, 0x12, 0x1D, 0xF8, 0x01, 0x12, 0x01, 0x00, 0x02, 0x12, 0x02, 
+    0x00, 0x02, 0x12, 0x03, 0x00, 0x02, 0x12, 0x04, 0x00, 0x02, 0x12, 0x05, 0x00, 0x02, 0x12, 0x06, 
+    0x00, 0x02, 0x12, 0x07, 0x00, 0x02, 0x12, 0x01, 0x10, 0x02, 0x12, 0x02, 0x10, 0x02, 0x12, 0x03, 
+    0x10, 0x02, 0x12, 0x04, 0x10, 0x02, 0x12, 0x05, 0x10, 0x02, 0x12, 0x06, 0x10, 0x02, 0x12, 0x07, 
+    0x10, 0x02, 0x12, 0x08, 0x10, 0x02, 0x12, 0x09, 0x10, 0x02, 0x12, 0x0A, 0x10, 0x02, 0x12, 0x0B, 
+    0x10, 0x02, 0x12, 0x0C, 0x10, 0x02, 0x12, 0x0D, 0x10, 0x02, 0x12, 0x0E, 0x10, 0x02, 0x12, 0x0F, 
+    0x10, 0x02, 0x12, 0x10, 0x10, 0x02, 0x12, 0x11, 0x10, 0x02, 0x12, 0x01, 0x20, 0x02, 0x12, 0x02, 
+    0x20, 0x02, 0x12, 0x03, 0x20, 0x02, 0x12, 0x04, 0x20, 0x02, 0x12, 0x05, 0x20, 0x02, 0x12, 0x06, 
+    0x20, 0x02, 0x12, 0x07, 0x20, 0x02, 0x12, 0x08, 0x20, 0x02, 0x12, 0x09, 0x20, 0x02, 0x12, 0x0A, 
+    0x20, 0x02, 0x12, 0x0B, 0x20, 0x02, 0x12, 0x0C, 0x20, 0x02, 0x12, 0x0D, 0x20, 0x02, 0x12, 0x0E, 
+    0x20, 0x02, 0x12, 0x0F, 0x20, 0x02, 0x12, 0x01, 0x30, 0x02, 0x12, 0x02, 0x30, 0x02, 0x12, 0x03, 
+    0x30, 0x02, 0x12, 0x04, 0x30, 0x02, 0x12, 0x05, 0x30, 0x02, 0x12, 0x06, 0x30, 0x02, 0x12, 0x07, 
+    0x30, 0x02, 0x12, 0x08, 0x30, 0x02, 0x12, 0x09, 0x30, 0x02, 0x12, 0x0A, 0x30, 0x02, 0x12, 0x0B, 
+    0x30, 0x02, 0x12, 0x0C, 0x30, 0x02, 0x12, 0x0D, 0x30, 0x02, 0x12, 0x0E, 0x30, 0x02, 0x12, 0x0F, 
+    0x30, 0x02, 0x12, 0x10, 0x30, 0x02, 0x12, 0x11, 0x30, 0x02, 0x12, 0x12, 0x30, 0x02, 0x12, 0x13, 
+    0x30, 0x02, 0x12, 0x14, 0x30, 0x02, 0x12, 0x15, 0x30, 0x02, 0x12, 0x16, 0x30, 0x02, 0x12, 0x17, 
+    0x30, 0x02, 0x12, 0x18, 0x30, 0x02, 0x12, 0x19, 0x30, 0x02, 0x12, 0x1A, 0x30, 0x02, 0x12, 0x1B, 
+    0x30, 0x02, 0x12, 0x1C, 0x30, 0x02, 0x12, 0x1D, 0x30, 0x02, 0x12, 0x01, 0x40, 0x02, 0x12, 0x02, 
+    0x40, 0x02, 0x12, 0x03, 0x40, 0x02, 0x12, 0x04, 0x40, 0x02, 0x12, 0x05, 0x40, 0x02, 0x12, 0x06, 
+    0x40, 0x02, 0x12, 0x07, 0x40, 0x02, 0x12, 0x08, 0x40, 0x02, 0x12, 0x09, 0x40, 0x02, 0x12, 0x0A, 
+    0x40, 0x02, 0x12, 0x0B, 0x40, 0x02, 0x12, 0x0C, 0x40, 0x02, 0x12, 0x0D, 0x40, 0x02, 0x12, 0x0E, 
+    0x40, 0x02, 0x12, 0x0F, 0x40, 0x02, 0x12, 0x10, 0x40, 0x02, 0x12, 0x11, 0x40, 0x02, 0x12, 0x12, 
+    0x40, 0x02, 0x12, 0x13, 0x40, 0x02, 0x12, 0x14, 0x40, 0x02, 0x12, 0x15, 0x40, 0x02, 0x12, 0x16, 
+    0x40, 0x02, 0x12, 0x17, 0x40, 0x02, 0x12, 0x18, 0x40, 0x02, 0x12, 0x19, 0x40, 0x02, 0x12, 0x1A, 
+    0x40, 0x02, 0x12, 0x1B, 0x40, 0x02, 0x12, 0x1C, 0x40, 0x02, 0x12, 0x1D, 0x40, 0x02, 0x12, 0x1E, 
+    0x40, 0x02, 0x12, 0x1F, 0x40, 0x02, 0x12, 0x20, 0x40, 0x02, 0x12, 0x21, 0x40, 0x02, 0x12, 0x22, 
+    0x40, 0x02, 0x12, 0x23, 0x40, 0x02, 0x12, 0x24, 0x40, 0x02, 0x12, 0x25, 0x40, 0x02, 0x12, 0x26, 
+    0x40, 0x02, 0x12, 0x27, 0x40, 0x02, 0x12, 0x28, 0x40, 0x02, 0x12, 0x29, 0x40, 0x02, 0x12, 0x2A, 
+    0x40, 0x02, 0x12, 0x2B, 0x40, 0x02, 0x12, 0x2C, 0x40, 0x02, 0x12, 0x2D, 0x40, 0x02, 0x12, 0x2E, 
+    0x40, 0x02, 0x12, 0x2F, 0x40, 0x02, 0x12, 0x30, 0x40, 0x02, 0x12, 0x31, 0x40, 0x02, 0x12, 0x32, 
+    0x40, 0x02, 0x12, 0x33, 0x40, 0x02, 0x12, 0x34, 0x40, 0x02, 0x12, 0x35, 0x40, 0x02, 0x12, 0x36, 
+    0x40, 0x02, 0x12, 0x37, 0x40, 0x02, 0x12, 0x38, 0x40, 0x02, 0x12, 0x39, 0x40, 0x02, 0x12, 0x3A, 
+    0x40, 0x02, 0x12, 0x3B, 0x40, 0x02, 0x12, 0x3C, 0x40, 0x02, 0x12, 0x3D, 0x40, 0x02, 0x12, 0x3E, 
+    0x40, 0x02, 0x12, 0x3F, 0x40, 0x02, 0x12, 0x40, 0x40, 0x02, 0x12, 0x41, 0x40, 0x02, 0x12, 0x42, 
+    0x40, 0x02, 0x12, 0x43, 0x40, 0x02, 0x12, 0x44, 0x40, 0x02, 0x12, 0x45, 0x40, 0x02, 0x12, 0x46, 
+    0x40, 0x02, 0x12, 0x47, 0x40, 0x02, 0x12, 0x48, 0x40, 0x02, 0x12, 0x49, 0x40, 0x02, 0x12, 0x4A, 
+    0x40, 0x02, 0x12, 0x01, 0x50, 0x02, 0x12, 0x02, 0x50, 0x02, 0x12, 0x03, 0x50, 0x02, 0x12, 0x04, 
+    0x50, 0x02, 0x12, 0x05, 0x50, 0x02, 0x12, 0x06, 0x50, 0x02, 0x12, 0x07, 0x50, 0x02, 0x12, 0x08, 
+    0x50, 0x02, 0x12, 0x09, 0x50, 0x02, 0x12, 0x0A, 0x50, 0x02, 0x12, 0x0B, 0x50, 0x02, 0x12, 0x0C, 
+    0x50, 0x02, 0x12, 0x0D, 0x50, 0x02, 0x12, 0x0E, 0x50, 0x02, 0x12, 0x0F, 0x50, 0x02, 0x12, 0x10, 
+    0x50, 0x02, 0x12, 0x11, 0x50, 0x02, 0x12, 0x12, 0x50, 0x02, 0x12, 0x13, 0x50, 0x02, 0x12, 0x14, 
+    0x50, 0x02, 0x12, 0x15, 0x50, 0x02, 0x12, 0x16, 0x50, 0x02, 0x12, 0x17, 0x50, 0x02, 0x12, 0x18, 
+    0x50, 0x02, 0x12, 0x19, 0x50, 0x02, 0x12, 0x1A, 0x50, 0x02, 0x12, 0x1B, 0x50, 0x02, 0x12, 0x1C, 
+    0x50, 0x02, 0x12, 0x1D, 0x50, 0x02, 0x12, 0x1E, 0x50, 0x02, 0x12, 0x1F, 0x50, 0x02, 0x12, 0x01, 
+    0x60, 0x02, 0x12, 0x02, 0x60, 0x02, 0x12, 0x03, 0x60, 0x02, 0x12, 0x04, 0x60, 0x02, 0x12, 0x05, 
+    0x60, 0x02, 0x12, 0x06, 0x60, 0x02, 0x12, 0x07, 0x60, 0x02, 0x12, 0x08, 0x60, 0x02, 0x12, 0x09, 
+    0x60, 0x02, 0x12, 0x0A, 0x60, 0x02, 0x12, 0x0B, 0x60, 0x02, 0x12, 0x0C, 0x60, 0x02, 0x12, 0x0D, 
+    0x60, 0x02, 0x12, 0x0E, 0x60, 0x02, 0x12, 0x0F, 0x60, 0x02, 0x12, 0x10, 0x60, 0x02, 0x12, 0x11, 
+    0x60, 0x02, 0x12, 0x12, 0x60, 0x02, 0x12, 0x13, 0x60, 0x02, 0x12, 0x14, 0x60, 0x02, 0x12, 0x15, 
+    0x60, 0x02, 0x12, 0x16, 0x60, 0x02, 0x12, 0x17, 0x60, 0x02, 0x12, 0x18, 0x60, 0x02, 0x12, 0x19, 
+    0x60, 0x02, 0x12, 0x1A, 0x60, 0x02, 0x12, 0x1B, 0x60, 0x02, 0x12, 0x1C, 0x60, 0x02, 0x12, 0x1D, 
+    0x60, 0x02, 0x12, 0x1E, 0x60, 0x02, 0x12, 0x1F, 0x60, 0x02, 0x12, 0x20, 0x60, 0x02, 0x12, 0x21, 
+    0x60, 0x02, 0x12, 0x22, 0x60, 0x02, 0x12, 0x23, 0x60, 0x02, 0x12, 0x24, 0x60, 0x02, 0x12, 0x25, 
+    0x60, 0x02, 0x12, 0x26, 0x60, 0x02, 0x12, 0x27, 0x60, 0x02, 0x12, 0x28, 0x60, 0x02, 0x12, 0x29, 
+    0x60, 0x02, 0x12, 0x2A, 0x60, 0x02, 0x12, 0x2B, 0x60, 0x02, 0x12, 0x2C, 0x60, 0x02, 0x12, 0x2D, 
+    0x60, 0x02, 0x12, 0x2E, 0x60, 0x02, 0x12, 0x2F, 0x60, 0x02, 0x12, 0x30, 0x60, 0x02, 0x12, 0x31, 
+    0x60, 0x02, 0x12, 0x32, 0x60, 0x02, 0x12, 0x33, 0x60, 0x02, 0x12, 0x34, 0x60, 0x02, 0x12, 0x35, 
+    0x60, 0x02, 0x12, 0x36, 0x60, 0x02, 0x12, 0x37, 0x60, 0x02, 0x12, 0x38, 0x60, 0x02, 0x12, 0x39, 
+    0x60, 0x02, 0x12, 0x3A, 0x60, 0x02, 0x12, 0x3B, 0x60, 0x02, 0x12, 0x3C, 0x60, 0x02, 0x12, 0x3D, 
+    0x60, 0x02, 0x12, 0x3E, 0x60, 0x02, 0x12, 0x3F, 0x60, 0x02, 0x12, 0x40, 0x60, 0x02, 0x12, 0x41, 
+    0x60, 0x02, 0x12, 0x42, 0x60, 0x02, 0x12, 0x43, 0x60, 0x02, 0x12, 0x44, 0x60, 0x02, 0x12, 0x45, 
+    0x60, 0x02, 0x12, 0x46, 0x60, 0x02, 0x12, 0x47, 0x60, 0x02, 0x12, 0x48, 0x60, 0x02, 0x12, 0x49, 
+    0x60, 0x02, 0x12, 0x4A, 0x60, 0x02, 0x12, 0x4B, 0x60, 0x02, 0x12, 0x4C, 0x60, 0x02, 0x12, 0x4D, 
+    0x60, 0x02, 0x12, 0x4E, 0x60, 0x02, 0x12, 0x4F, 0x60, 0x02, 0x12, 0x50, 0x60, 0x02, 0x12, 0x51, 
+    0x60, 0x02, 0x12, 0x52, 0x60, 0x02, 0x12, 0x53, 0x60, 0x02, 0x12, 0x54, 0x60, 0x02, 0x12, 0x55, 
+    0x60, 0x02, 0x12, 0x56, 0x60, 0x02, 0x12, 0x01, 0x70, 0x02, 0x12, 0x02, 0x70, 0x02, 0x12, 0x03, 
+    0x70, 0x02, 0x12, 0x04, 0x70, 0x02, 0x12, 0x05, 0x70, 0x02, 0x12, 0x06, 0x70, 0x02, 0x12, 0x07, 
+    0x70, 0x02, 0x12, 0x08, 0x70, 0x02, 0x12, 0x09, 0x70, 0x02, 0x12, 0x0A, 0x70, 0x02, 0x12, 0x0B, 
+    0x70, 0x02, 0x12, 0x0C, 0x70, 0x02, 0x12, 0x0D, 0x70, 0x02, 0x12, 0x0E, 0x70, 0x02, 0x12, 0x0F, 
+    0x70, 0x02, 0x12, 0x10, 0x70, 0x02, 0x12, 0x11, 0x70, 0x02, 0x12, 0x12, 0x70, 0x02, 0x12, 0x13, 
+    0x70, 0x02, 0x12, 0x14, 0x70, 0x02, 0x12, 0x15, 0x70, 0x02, 0x12, 0x16, 0x70, 0x02, 0x12, 0x17, 
+    0x70, 0x02, 0x12, 0x18, 0x70, 0x02, 0x12, 0x19, 0x70, 0x02, 0x12, 0x1A, 0x70, 0x02, 0x12, 0x1B, 
+    0x70, 0x02, 0x12, 0x1C, 0x70, 0x02, 0x12, 0x1D, 0x70, 0x02, 0x12, 0x1E, 0x70, 0x02, 0x12, 0x1F, 
+    0x70, 0x02, 0x12, 0x20, 0x70, 0x02, 0x12, 0x21, 0x70, 0x02, 0x12, 0x22, 0x70, 0x02, 0x12, 0x23, 
+    0x70, 0x02, 0x12, 0x24, 0x70, 0x02, 0x12, 0x25, 0x70, 0x02, 0x12, 0x26, 0x70, 0x02, 0x12, 0x27, 
+    0x70, 0x02, 0x12, 0x28, 0x70, 0x02, 0x12, 0x29, 0x70, 0x02, 0x12, 0x2A, 0x70, 0x02, 0x12, 0x2B, 
+    0x70, 0x02, 0x12, 0x2C, 0x70, 0x02, 0x12, 0x2D, 0x70, 0x02, 0x12, 0x2E, 0x70, 0x02, 0x12, 0x2F, 
+    0x70, 0x02, 0x12, 0x30, 0x70, 0x02, 0x12, 0x31, 0x70, 0x02, 0x12, 0x32, 0x70, 0x02, 0x12, 0x33, 
+    0x70, 0x02, 0x12, 0x34, 0x70, 0x02, 0x12, 0x35, 0x70, 0x02, 0x12, 0x36, 0x70, 0x02, 0x12, 0x37, 
+    0x70, 0x02, 0x12, 0x38, 0x70, 0x02, 0x12, 0x39, 0x70, 0x02, 0x12, 0x3A, 0x70, 0x02, 0x12, 0x3B, 
+    0x70, 0x02, 0x12, 0x3C, 0x70, 0x02, 0x12, 0x3D, 0x70, 0x02, 0x12, 0x3E, 0x70, 0x02, 0x12, 0x3F, 
+    0x70, 0x02, 0x12, 0x40, 0x70, 0x02, 0x12, 0x41, 0x70, 0x02, 0x12, 0x42, 0x70, 0x02, 0x12, 0x43, 
+    0x70, 0x02, 0x12, 0x44, 0x70, 0x02, 0x12, 0x45, 0x70, 0x02, 0x12, 0x46, 0x70, 0x02, 0x12, 0x47, 
+    0x70, 0x02, 0x12, 0x48, 0x70, 0x02, 0x12, 0x49, 0x70, 0x02, 0x12, 0x4A, 0x70, 0x02, 0x12, 0x4B, 
+    0x70, 0x02, 0x12, 0x4C, 0x70, 0x02, 0x12, 0x4D, 0x70, 0x02, 0x12, 0x4E, 0x70, 0x02, 0x12, 0x4F, 
+    0x70, 0x02, 0x12, 0x50, 0x70, 0x02, 0x12, 0x51, 0x70, 0x02, 0x12, 0x52, 0x70, 0x02, 0x12, 0x53, 
+    0x70, 0x02, 0x12, 0x54, 0x70, 0x02, 0x12, 0x55, 0x70, 0x02, 0x12, 0x56, 0x70, 0x02, 0x12, 0x57, 
+    0x70, 0x02, 0x12, 0x58, 0x70, 0x02, 0x12, 0x59, 0x70, 0x02, 0x12, 0x5A, 0x70, 0x02, 0x12, 0x5B, 
+    0x70, 0x02, 0x12, 0x5C, 0x70, 0x02, 0x12, 0x5D, 0x70, 0x02, 0x12, 0x5E, 0x70, 0x02, 0x12, 0x5F, 
+    0x70, 0x02, 0x12, 0x60, 0x70, 0x02, 0x12, 0x61, 0x70, 0x02, 0x12, 0x62, 0x70, 0x02, 0x12, 0x63, 
+    0x70, 0x02, 0x12, 0x64, 0x70, 0x02, 0x12, 0x65, 0x70, 0x02, 0x12, 0x66, 0x70, 0x02, 0x12, 0x67, 
+    0x70, 0x02, 0x12, 0x68, 0x70, 0x02, 0x12, 0x69, 0x70, 0x02, 0x12, 0x6A, 0x70, 0x02, 0x12, 0x6B, 
+    0x70, 0x02, 0x12, 0x6C, 0x70, 0x02, 0x12, 0x6D, 0x70, 0x02, 0x12, 0x6E, 0x70, 0x02, 0x12, 0x6F, 
+    0x70, 0x02, 0x12, 0x70, 0x70, 0x02, 0x12, 0x71, 0x70, 0x02, 0x12, 0x72, 0x70, 0x02, 0x12, 0x73, 
+    0x70, 0x02, 0x12, 0x74, 0x70, 0x02, 0x12, 0x75, 0x70, 0x02, 0x12, 0x76, 0x70, 0x02, 0x12, 0x77, 
+    0x70, 0x02, 0x12, 0x78, 0x70, 0x02, 0x12, 0x79, 0x70, 0x02, 0x12, 0x7A, 0x70, 0x02, 0x12, 0x7B, 
+    0x70, 0x02, 0x12, 0x7C, 0x70, 0x02, 0x12, 0x7D, 0x5D, 0x70, 0x02, 0x12, 0x7D, 0x5E, 0x70, 0x02, 
+    0x12, 0x7F, 0x70, 0x02, 0x12, 0x80, 0x70, 0x02, 0x12, 0x81, 0x70, 0x02, 0x12, 0x82, 0x70, 0x02, 
+    0x12, 0x83, 0x70, 0x02, 0x12, 0x84, 0x70, 0x02, 0x12, 0x85, 0x70, 0x02, 0x12, 0x86, 0x70, 0x02, 
+    0x12, 0x87, 0x70, 0x02, 0x12, 0x88, 0x70, 0x02, 0x12, 0x89, 0x70, 0x02, 0x12, 0x8A, 0x70, 0x02, 
+    0x12, 0x8B, 0x70, 0x02, 0x12, 0x8C, 0x70, 0x02, 0x12, 0x8D, 0x70, 0x02, 0x12, 0x8E, 0x70, 0x02, 
+    0x12, 0x8F, 0x70, 0x02, 0x12, 0x90, 0x70, 0x02, 0x12, 0x91, 0x70, 0x02, 0x12, 0x92, 0x70, 0x02, 
+    0x12, 0x93, 0x70, 0x02, 0x12, 0x94, 0x70, 0x02, 0x12, 0x95, 0x70, 0x02, 0x12, 0x96, 0x70, 0x02, 
+    0x12, 0x97, 0x70, 0x02, 0x12, 0x98, 0x70, 0x02, 0x12, 0x99, 0x70, 0x02, 0x12, 0x9A, 0x70, 0x02, 
+    0x12, 0x9B, 0x70, 0x02, 0x12, 0x9C, 0x70, 0x02, 0x12, 0x9D, 0x70, 0x02, 0x12, 0x9E, 0x70, 0x02, 
+    0x12, 0x9F, 0x70, 0x02, 0x12, 0xA0, 0x70, 0x02, 0x12, 0xA1, 0x70, 0x02, 0x12, 0xA2, 0x70, 0x02, 
+    0x12, 0xA3, 0x70, 0x02, 0x12, 0xA4, 0x70, 0x02, 0x12, 0xA5, 0x70, 0x02, 0x12, 0xA6, 0x70, 0x02, 
+    0x12, 0xA7, 0x70, 0x02, 0x12, 0xA8, 0x70, 0x02, 0x12, 0xA9, 0x70, 0x02, 0x12, 0xAA, 0x70, 0x02, 
+    0x12, 0xAB, 0x70, 0x02, 0x12, 0xAC, 0x70, 0x02, 0x12, 0xAD, 0x70, 0x02, 0x12, 0xAE, 0x70, 0x02, 
+    0x12, 0xAF, 0x70, 0x02, 0x12, 0xB0, 0x70, 0x02, 0x12, 0xB1, 0x70, 0x02, 0x12, 0xB2, 0x70, 0x02, 
+    0x12, 0xB3, 0x70, 0x02, 0x12, 0xB4, 0x70, 0x02, 0x12, 0xB5, 0x70, 0x02, 0x12, 0xB6, 0x70, 0x02, 
+    0x12, 0xB7, 0x70, 0x02, 0x12, 0xB8, 0x70, 0x02, 0x12, 0xB9, 0x70, 0x02, 0x12, 0xBA, 0x70, 0x02, 
+    0x12, 0xBB, 0x70, 0x02, 0x12, 0xBC, 0x70, 0x02, 0x12, 0xBD, 0x70, 0x02, 0x12, 0xBE, 0x70, 0x02, 
+    0x12, 0xBF, 0x70, 0x02, 0x12, 0xC0, 0x70, 0x02, 0x12, 0xC1, 0x70, 0x02, 0x12, 0xC2, 0x70, 0x02, 
+    0x12, 0xC3, 0x70, 0x02, 0x12, 0xC4, 0x70, 0x02, 0x12, 0xC5, 0x70, 0x02, 0x12, 0xC6, 0x70, 0x02, 
+    0x12, 0xC7, 0x70, 0x02, 0x12, 0xC8, 0x70, 0x02, 0x12, 0xC9, 0x70, 0x02, 0x12, 0xCA, 0x70, 0x02, 
+    0x12, 0xCB, 0x70, 0x02, 0x12, 0xCC, 0x70, 0x02, 0x12, 0xCD, 0x70, 0x02, 0x12, 0xCE, 0x70, 0x02, 
+    0x12, 0xCF, 0x70, 0x02, 0x12, 0xD0, 0x70, 0x02, 0x12, 0xD1, 0x70, 0x02, 0x12, 0x2D, 0x71, 0x02, 
+    0x12, 0x2E, 0x71, 0x02, 0x12, 0x2F, 0x71, 0x02, 0x12, 0x30, 0x71, 0x02, 0x12, 0x31, 0x71, 0x02, 
+    0x12, 0x32, 0x71, 0x02, 0x12, 0x33, 0x71, 0x02, 0x12, 0x34, 0x71, 0x02, 0x12, 0x35, 0x71, 0x02, 
+    0x12, 0x36, 0x71, 0x02, 0x12, 0x37, 0x71, 0x02, 0x12, 0x38, 0x71, 0x02, 0x12, 0x39, 0x71, 0x02, 
+    0x12, 0x3A, 0x71, 0x02, 0x12, 0x3B, 0x71, 0x02, 0x12, 0x3C, 0x71, 0x02, 0x12, 0x3D, 0x71, 0x02, 
+    0x12, 0x3E, 0x71, 0x02, 0x12, 0x3F, 0x71, 0x02, 0x12, 0x40, 0x71, 0x02, 0x12, 0x41, 0x71, 0x02, 
+    0x12, 0x42, 0x71, 0x02, 0x12, 0x43, 0x71, 0x02, 0x12, 0x44, 0x71, 0x02, 0x12, 0x45, 0x71, 0x02, 
+    0x12, 0x46, 0x71, 0x02, 0x12, 0x47, 0x71, 0x02, 0x12, 0x48, 0x71, 0x02, 0x12, 0x49, 0x71, 0x02, 
+    0x12, 0x4A, 0x71, 0x02, 0x12, 0x4B, 0x71, 0x02, 0x12, 0x4C, 0x71, 0x02, 0x12, 0x4D, 0x71, 0x02, 
+    0x12, 0x4E, 0x71, 0x02, 0x12, 0x4F, 0x71, 0x02, 0x12, 0x50, 0x71, 0x02, 0x12, 0x51, 0x71, 0x02, 
+    0x12, 0x52, 0x71, 0x02, 0x12, 0x53, 0x71, 0x02, 0x12, 0x54, 0x71, 0x02, 0x12, 0x55, 0x71, 0x02, 
+    0x12, 0x56, 0x71, 0x02, 0x12, 0x57, 0x71, 0x02, 0x12, 0x58, 0x71, 0x02, 0x12, 0x59, 0x71, 0x02, 
+    0x12, 0x5A, 0x71, 0x02, 0x12, 0x5B, 0x71, 0x02, 0x12, 0x5C, 0x71, 0x02, 0x12, 0x5D, 0x71, 0x02, 
+    0x12, 0x5E, 0x71, 0x02, 0x12, 0x5F, 0x71, 0x02, 0x12, 0x60, 0x71, 0x02, 0x12, 0x61, 0x71, 0x02, 
+    0x12, 0x62, 0x71, 0x02, 0x12, 0x63, 0x71, 0x02, 0x12, 0x64, 0x71, 0x02, 0x12, 0x65, 0x71, 0x02, 
+    0x12, 0x66, 0x71, 0x02, 0x12, 0x67, 0x71, 0x02, 0x12, 0x68, 0x71, 0x02, 0x12, 0x69, 0x71, 0x02, 
+    0x12, 0x6A, 0x71, 0x02, 0x12, 0x6B, 0x71, 0x02, 0x12, 0x6C, 0x71, 0x02, 0x12, 0x6D, 0x71, 0x02, 
+    0x12, 0x6E, 0x71, 0x02, 0x12, 0x6F, 0x71, 0x02, 0x12, 0x70, 0x71, 0x02, 0x12, 0x71, 0x71, 0x02, 
+    0x12, 0x72, 0x71, 0x02, 0x12, 0x73, 0x71, 0x02, 0x12, 0x74, 0x71, 0x02, 0x12, 0x75, 0x71, 0x02, 
+    0x12, 0x76, 0x71, 0x02, 0x12, 0x77, 0x71, 0x02, 0x12, 0x78, 0x71, 0x02, 0x12, 0x79, 0x71, 0x02, 
+    0x12, 0x7A, 0x71, 0x02, 0x12, 0x7B, 0x71, 0x02, 0x12, 0x7C, 0x71, 0x02, 0x12, 0x7D, 0x5D, 0x71, 
+    0x02, 0x12, 0x7D, 0x5E, 0x71, 0x02, 0x12, 0x7F, 0x71, 0x02, 0x12, 0x80, 0x71, 0x02, 0x12, 0x81, 
+    0x71, 0x02, 0x12, 0x01, 0x80, 0x02, 0x12, 0x02, 0x80, 0x02, 0x12, 0x03, 0x80, 0x02, 0x12, 0x04, 
+    0x80, 0x02, 0x12, 0x05, 0x80, 0x02, 0x12, 0x06, 0x80, 0x02, 0x12, 0x07, 0x80, 0x02, 0x12, 0x08, 
+    0x80, 0x02, 0x12, 0x09, 0x80, 0x02, 0x12, 0x0A, 0x80, 0x02, 0x12, 0x0B, 0x80, 0x02, 0x12, 0x0C, 
+    0x80, 0x02, 0x12, 0x0D, 0x80, 0x02, 0x12, 0x0E, 0x80, 0x02, 0x12, 0x0F, 0x80, 0x02, 0x12, 0x10, 
+    0x80, 0x02, 0x12, 0x11, 0x80, 0x02, 0x12, 0x12, 0x80, 0x02, 0x12, 0x13, 0x80, 0x02, 0x12, 0x14, 
+    0x80, 0x02, 0x12, 0x15, 0x80, 0x02, 0x12, 0x16, 0x80, 0x02, 0x12, 0x17, 0x80, 0x02, 0x12, 0x18, 
+    0x80, 0x02, 0x12, 0x19, 0x80, 0x02, 0x12, 0x1A, 0x80, 0x02, 0x12, 0x1B, 0x80, 0x02, 0x12, 0x1C, 
+    0x80, 0x02, 0x12, 0x1D, 0x80, 0x02, 0x12, 0x1E, 0x80, 0x02, 0x12, 0x1F, 0x80, 0x02, 0x12, 0x20, 
+    0x80, 0x02, 0x12, 0x21, 0x80, 0x02, 0x12, 0x22, 0x80, 0x02, 0x12, 0x23, 0x80, 0x02, 0x12, 0x24, 
+    0x80, 0x02, 0x12, 0x25, 0x80, 0x02, 0x12, 0x26, 0x80, 0x02, 0x12, 0x27, 0x80, 0x02, 0x12, 0x28, 
+    0x80, 0x02, 0x12, 0x29, 0x80, 0x02, 0x12, 0x2A, 0x80, 0x02, 0x12, 0x2B, 0x80, 0x02, 0x12, 0x2C, 
+    0x80, 0x02, 0x12, 0x2D, 0x80, 0x02, 0x12, 0x2E, 0x80, 0x02, 0x12, 0x2F, 0x80, 0x02, 0x12, 0x30, 
+    0x80, 0x02, 0x12, 0x31, 0x80, 0x02, 0x12, 0x32, 0x80, 0x02, 0x12, 0x33, 0x80, 0x02, 0x12, 0x34, 
+    0x80, 0x02, 0x12, 0x35, 0x80, 0x02, 0x12, 0x36, 0x80, 0x02, 0x12, 0x37, 0x80, 0x02, 0x12, 0x38, 
+    0x80, 0x02, 0x12, 0x39, 0x80, 0x02, 0x12, 0x3A, 0x80, 0x02, 0x12, 0x3B, 0x80, 0x02, 0x12, 0x3C, 
+    0x80, 0x02, 0x12, 0x3D, 0x80, 0x02, 0x12, 0x3E, 0x80, 0x02, 0x12, 0x3F, 0x80, 0x02, 0x12, 0x40, 
+    0x80, 0x02, 0x12, 0x41, 0x80, 0x02, 0x12, 0x42, 0x80, 0x02, 0x12, 0x43, 0x80, 0x02, 0x12, 0x44, 
+    0x80, 0x02, 0x12, 0x01, 0x90, 0x02, 0x12, 0x02, 0x90, 0x02, 0x12, 0x03, 0x90, 0x02, 0x12, 0x04, 
+    0x90, 0x02, 0x12, 0x05, 0x90, 0x02, 0x12, 0x06, 0x90, 0x02, 0x12, 0x07, 0x90, 0x02, 0x12, 0x08, 
+    0x90, 0x02, 0x12, 0x09, 0x90, 0x02, 0x12, 0x0A, 0x90, 0x02, 0x12, 0x0B, 0x90, 0x02, 0x12, 0x0C, 
+    0x90, 0x02, 0x12, 0x0D, 0x90, 0x02, 0x12, 0x0E, 0x90, 0x02, 0x12, 0x01, 0xA0, 0x02, 0x12, 0x02, 
+    0xA0, 0x02, 0x12, 0x03, 0xA0, 0x02, 0x12, 0x04, 0xA0, 0x02, 0x12, 0x05, 0xA0, 0x02, 0x12, 0x06, 
+    0xA0, 0x02, 0x12, 0x07, 0xA0, 0x02, 0x12, 0x08, 0xA0, 0x02, 0x12, 0x09, 0xA0, 0x02, 0x12, 0x0A, 
+    0xA0, 0x02, 0x12, 0x0B, 0xA0, 0x02, 0x12, 0x0C, 0xA0, 0x02, 0x12, 0x0D, 0xA0, 0x02, 0x12, 0x0E, 
+    0xA0, 0x02, 0x12, 0x0F, 0xA0, 0x02, 0x12, 0x10, 0xA0, 0x02, 0x12, 0x11, 0xA0, 0x02, 0x12, 0x12, 
+    0xA0, 0x02, 0x12, 0x13, 0xA0, 0x02, 0x12, 0x14, 0xA0, 0x02, 0x12, 0x15, 0xA0, 0x02, 0x12, 0x16, 
+    0xA0, 0x02, 0x12, 0x17, 0xA0, 0x02, 0x12, 0x18, 0xA0, 0x02, 0x12, 0x19, 0xA0, 0x02, 0x12, 0x1A, 
+    0xA0, 0x02, 0x12, 0x1B, 0xA0, 0x02, 0x12, 0x1C, 0xA0, 0x02, 0x12, 0x1D, 0xA0, 0x02, 0x12, 0x1E, 
+    0xA0, 0x02, 0x12, 0x1F, 0xA0, 0x02, 0x12, 0x20, 0xA0, 0x02, 0x12, 0x21, 0xA0, 0x02, 0x12, 0x01, 
+    0xB0, 0x02, 0x12, 0x02, 0xB0, 0x02, 0x12, 0x03, 0xB0, 0x02, 0x12, 0x04, 0xB0, 0x02, 0x12, 0x05, 
+    0xB0, 0x02, 0x12, 0x06, 0xB0, 0x02, 0x12, 0x07, 0xB0, 0x02, 0x12, 0x08, 0xB0, 0x02, 0x12, 0x09, 
+    0xB0, 0x02, 0x12, 0x0A, 0xB0, 0x02, 0x12, 0x0B, 0xB0, 0x02, 0x12, 0x0C, 0xB0, 0x02, 0x12, 0x0D, 
+    0xB0, 0x02, 0x12, 0x0E, 0xB0, 0x02, 0x12, 0x0F, 0xB0, 0x02, 0x12, 0x10, 0xB0, 0x02, 0x12, 0x11, 
+    0xB0, 0x02, 0x12, 0x12, 0xB0, 0x02, 0x12, 0x13, 0xB0, 0x02, 0x12, 0x14, 0xB0, 0x02, 0x12, 0x15, 
+    0xB0, 0x02, 0x12, 0x16, 0xB0, 0x02, 0x12, 0x17, 0xB0, 0x02, 0x12, 0x18, 0xB0, 0x02, 0x12, 0x19, 
+    0xB0, 0x02, 0x12, 0x1A, 0xB0, 0x02, 0x12, 0x1B, 0xB0, 0x02, 0x12, 0x1C, 0xB0, 0x02, 0x12, 0x1D, 
+    0xB0, 0x02, 0x12, 0x1E, 0xB0, 0x02, 0x12, 0x1F, 0xB0, 0x02, 0x12, 0x20, 0xB0, 0x02, 0x12, 0x21, 
+    0xB0, 0x02, 0x12, 0x22, 0xB0, 0x02, 0x12, 0x23, 0xB0, 0x02, 0x12, 0x24, 0xB0, 0x02, 0x12, 0x25, 
+    0xB0, 0x02, 0x12, 0x26, 0xB0, 0x02, 0x12, 0x27, 0xB0, 0x02, 0x12, 0x28, 0xB0, 0x02, 0x12, 0x29, 
+    0xB0, 0x02, 0x12, 0x2A, 0xB0, 0x02, 0x12, 0x2B, 0xB0, 0x02, 0x12, 0x2C, 0xB0, 0x02, 0x12, 0x2D, 
+    0xB0, 0x02, 0x12, 0x2E, 0xB0, 0x02, 0x12, 0x2F, 0xB0, 0x02, 0x12, 0x30, 0xB0, 0x02, 0x12, 0x31, 
+    0xB0, 0x02, 0x12, 0x32, 0xB0, 0x02, 0x12, 0x33, 0xB0, 0x02, 0x12, 0x34, 0xB0, 0x02, 0x12, 0x35, 
+    0xB0, 0x02, 0x12, 0x36, 0xB0, 0x02, 0x12, 0x37, 0xB0, 0x02, 0x12, 0x38, 0xB0, 0x02, 0x12, 0x39, 
+    0xB0, 0x02, 0x12, 0x3A, 0xB0, 0x02, 0x12, 0x3B, 0xB0, 0x02, 0x12, 0x01, 0xC0, 0x02, 0x12, 0x02, 
+    0xC0, 0x02, 0x12, 0x03, 0xC0, 0x02, 0x12, 0x04, 0xC0, 0x02, 0x12, 0x05, 0xC0, 0x02, 0x12, 0x06, 
+    0xC0, 0x02, 0x12, 0x07, 0xC0, 0x02, 0x12, 0x08, 0xC0, 0x02, 0x12, 0x09, 0xC0, 0x02, 0x12, 0x0A, 
+    0xC0, 0x02, 0x12, 0x0B, 0xC0, 0x02, 0x12, 0x0C, 0xC0, 0x02, 0x12, 0x01, 0xD0, 0x02, 0x12, 0x02, 
+    0xD0, 0x02, 0x12, 0x03, 0xD0, 0x02, 0x12, 0x04, 0xD0, 0x02, 0x12, 0x05, 0xD0, 0x02, 0x12, 0x06, 
+    0xD0, 0x02, 0x12, 0x07, 0xD0, 0x02, 0x12, 0x08, 0xD0, 0x02, 0x12, 0x09, 0xD0, 0x02, 0x12, 0x0A, 
+    0xD0, 0x02, 0x12, 0x0B, 0xD0, 0x02, 0x12, 0x0C, 0xD0, 0x02, 0x12, 0x0D, 0xD0, 0x02, 0x12, 0x0E, 
+    0xD0, 0x02, 0x12, 0x0F, 0xD0, 0x02, 0x12, 0x10, 0xD0, 0x02, 0x12, 0x11, 0xD0, 0x02, 0x12, 0x12, 
+    0xD0, 0x02, 0x12, 0x13, 0xD0, 0x02, 0x12, 0x14, 0xD0, 0x02, 0x12, 0x15, 0xD0, 0x02, 0x12, 0x16, 
+    0xD0, 0x02, 0x12, 0x17, 0xD0, 0x02, 0x12, 0x18, 0xD0, 0x02, 0x12, 0x19, 0xD0, 0x02, 0x12, 0x1A, 
+    0xD0, 0x02, 0x12, 0x1B, 0xD0, 0x02, 0x12, 0x1C, 0xD0, 0x02, 0x12, 0x1D, 0xD0, 0x02, 0x12, 0x1E, 
+    0xD0, 0x02, 0x12, 0x1F, 0xD0, 0x02, 0x12, 0x20, 0xD0, 0x02, 0x12, 0x21, 0xD0, 0x02, 0x12, 0x22, 
+    0xD0, 0x02, 0x12, 0x23, 0xD0, 0x02, 0x12, 0x24, 0xD0, 0x02, 0x12, 0x25, 0xD0, 0x02, 0x12, 0x26, 
+    0xD0, 0x02, 0x12, 0x27, 0xD0, 0x02, 0x12, 0x28, 0xD0, 0x02, 0x12, 0x29, 0xD0, 0x02, 0x12, 0x2A, 
+    0xD0, 0x02, 0x12, 0x2B, 0xD0, 0x02, 0x12, 0x2C, 0xD0, 0x02, 0x12, 0x2D, 0xD0, 0x02, 0x12, 0x2E, 
+    0xD0, 0x02, 0x12, 0x2F, 0xD0, 0x02, 0x12, 0x30, 0xD0, 0x02, 0x12, 0x31, 0xD0, 0x02, 0x12, 0x32, 
+    0xD0, 0x02, 0x12, 0x33, 0xD0, 0x02, 0x12, 0x34, 0xD0, 0x02, 0x12, 0x35, 0xD0, 0x02, 0x12, 0x36, 
+    0xD0, 0x02, 0x12, 0x37, 0xD0, 0x02, 0x12, 0x38, 0xD0, 0x02, 0x12, 0x39, 0xD0, 0x02, 0x12, 0x3A, 
+    0xD0, 0x02, 0x12, 0x3B, 0xD0, 0x02, 0x12, 0x3C, 0xD0, 0x02, 0x12, 0x3D, 0xD0, 0x02, 0x12, 0x3E, 
+    0xD0, 0x02, 0x12, 0x3F, 0xD0, 0x02, 0x12, 0x40, 0xD0, 0x02, 0x12, 0x41, 0xD0, 0x02, 0x12, 0x42, 
+    0xD0, 0x02, 0x12, 0x43, 0xD0, 0x02, 0x12, 0x44, 0xD0, 0x02, 0x12, 0x45, 0xD0, 0x02, 0x12, 0x46, 
+    0xD0, 0x02, 0x12, 0x47, 0xD0, 0x02, 0x12, 0x48, 0xD0, 0x02, 0x12, 0x49, 0xD0, 0x02, 0x12, 0x4A, 
+    0xD0, 0x02, 0x12, 0x4B, 0xD0, 0x02, 0x12, 0x4C, 0xD0, 0x02, 0x12, 0x4D, 0xD0, 0x02, 0x12, 0x4E, 
+    0xD0, 0x02, 0x12, 0x4F, 0xD0, 0x02, 0x12, 0x50, 0xD0, 0x02, 0x12, 0x51, 0xD0, 0x02, 0x12, 0x52, 
+    0xD0, 0x02, 0x12, 0x53, 0xD0, 0x02, 0x12, 0x54, 0xD0, 0x02, 0x12, 0x55, 0xD0, 0x02, 0x12, 0x56, 
+    0xD0, 0x02, 0x12, 0x57, 0xD0, 0x02, 0x12, 0x58, 0xD0, 0x02, 0x12, 0x01, 0x00, 0x03, 0x12, 0x02, 
+    0x00, 0x03, 0x12, 0x03, 0x00, 0x03, 0x12, 0x04, 0x00, 0x03, 0x12, 0x05, 0x00, 0x03, 0x12, 0x06, 
+    0x00, 0x03, 0x12, 0x07, 0x00, 0x03, 0x12, 0x08, 0x00, 0x03, 0x12, 0x09, 0x00, 0x03, 0x12, 0x0A, 
+    0x00, 0x03, 0x12, 0x0B, 0x00, 0x03, 0x12, 0x0C, 0x00, 0x03, 0x12, 0x0D, 0x00, 0x03, 0x12, 0x0E, 
+    0x00, 0x03, 0x12, 0x01, 0x10, 0x03, 0x12, 0x02, 0x10, 0x03, 0x12, 0x03, 0x10, 0x03, 0x12, 0x04, 
+    0x10, 0x03, 0x12, 0x05, 0x10, 0x03, 0x12, 0x06, 0x10, 0x03, 0x12, 0x07, 0x10, 0x03, 0x12, 0x08, 
+    0x10, 0x03, 0x12, 0x09, 0x10, 0x03, 0x12, 0x0A, 0x10, 0x03, 0x12, 0x0B, 0x10, 0x03, 0x12, 0x0C, 
+    0x10, 0x03, 0x12, 0x0D, 0x10, 0x03, 0x12, 0x0E, 0x10, 0x03, 0x12, 0x0F, 0x10, 0x03, 0x12, 0x10, 
+    0x10, 0x03, 0x12, 0x11, 0x10, 0x03, 0x12, 0x12, 0x10, 0x03, 0x12, 0x13, 0x10, 0x03, 0x12, 0x14, 
+    0x10, 0x03, 0x12, 0x15, 0x10, 0x03, 0x12, 0x16, 0x10, 0x03, 0x12, 0x17, 0x10, 0x03, 0x12, 0x18, 
+    0x10, 0x03, 0x12, 0x19, 0x10, 0x03, 0x12, 0x1A, 0x10, 0x03, 0x12, 0x1B, 0x10, 0x03, 0x12, 0x1C, 
+    0x10, 0x03, 0x12, 0x01, 0x00, 0x04, 0x12, 0x02, 0x00, 0x04, 0x12, 0x03, 0x00, 0x04, 0x12, 0x04, 
+    0x00, 0x04, 0x12, 0x05, 0x00, 0x04, 0x12, 0x06, 0x00, 0x04, 0x12, 0x07, 0x00, 0x04, 0x12, 0x08, 
+    0x00, 0x04, 0x12, 0x09, 0x00, 0x04, 0x12, 0x00, 0x10, 0x04, 0x12, 0x01, 0x10, 0x04, 0x12, 0x02, 
+    0x10, 0x04, 0x12, 0x03, 0x10, 0x04, 0x12, 0x04, 0x10, 0x04, 0x12, 0x05, 0x10, 0x04, 0x12, 0x06, 
+    0x10, 0x04, 0x12, 0x07, 0x10, 0x04, 0x12, 0x08, 0x10, 0x04, 0x12, 0x09, 0x10, 0x04, 0x12, 0x0A, 
+    0x10, 0x04, 0x12, 0x0B, 0x10, 0x04, 0x12, 0x0C, 0x10, 0x04, 0x12, 0x0D, 0x10, 0x04, 0x12, 0x0E, 
+    0x10, 0x04, 0x12, 0x0F, 0x10, 0x04, 0x12, 0x10, 0x10, 0x04, 0x12, 0x11, 0x10, 0x04, 0x12, 0x12, 
+    0x10, 0x04, 0x12, 0x13, 0x10, 0x04, 0x12, 0x14, 0x10, 0x04, 0x12, 0x15, 0x10, 0x04, 0x12, 0x16, 
+    0x10, 0x04, 0x12, 0x17, 0x10, 0x04, 0x12, 0x18, 0x10, 0x04, 0x12, 0x19, 0x10, 0x04, 0x12, 0x1A, 
+    0x10, 0x04, 0x12, 0x1B, 0x10, 0x04, 0x12, 0x1C, 0x10, 0x04, 0x12, 0x1D, 0x10, 0x04, 0x12, 0x1E, 
+    0x10, 0x04, 0x12, 0x1F, 0x10, 0x04, 0x12, 0x20, 0x10, 0x04, 0x12, 0x21, 0x10, 0x04, 0x12, 0x22, 
+    0x10, 0x04, 0x12, 0x23, 0x10, 0x04, 0x12, 0x24, 0x10, 0x04, 0x12, 0x25, 0x10, 0x04, 0x12, 0x26, 
+    0x10, 0x04, 0x12, 0x27, 0x10, 0x04, 0x12, 0x28, 0x10, 0x04, 0x12, 0x29, 0x10, 0x04, 0x12, 0x2A, 
+    0x10, 0x04, 0x12, 0x2B, 0x10, 0x04, 0x12, 0x2C, 0x10, 0x04, 0x12, 0x01, 0x20, 0x04, 0x12, 0x02, 
+    0x20, 0x04, 0x12, 0x03, 0x20, 0x04, 0x12, 0x04, 0x20, 0x04, 0x12, 0x05, 0x20, 0x04, 0x12, 0x06, 
+    0x20, 0x04, 0x12, 0x07, 0x20, 0x04, 0x12, 0x08, 0x20, 0x04, 0x12, 0x09, 0x20, 0x04, 0x12, 0x0A, 
+    0x20, 0x04, 0x12, 0x0B, 0x20, 0x04, 0x12, 0x0C, 0x20, 0x04, 0x12, 0x0D, 0x20, 0x04, 0x12, 0x0E, 
+    0x20, 0x04, 0x12, 0x0F, 0x20, 0x04, 0x12, 0x10, 0x20, 0x04, 0x12, 0x11, 0x20, 0x04, 0x12, 0x12, 
+    0x20, 0x04, 0x12, 0x13, 0x20, 0x04, 0x12, 0x14, 0x20, 0x04, 0x12, 0x15, 0x20, 0x04, 0x12, 0x16, 
+    0x20, 0x04, 0x12, 0x17, 0x20, 0x04, 0x12, 0x18, 0x20, 0x04, 0x12, 0x19, 0x20, 0x04, 0x12, 0x1A, 
+    0x20, 0x04, 0x12, 0x1B, 0x20, 0x04, 0x12, 0x1C, 0x20, 0x04, 0x12, 0x1D, 0x20, 0x04, 0x12, 0x1E, 
+    0x20, 0x04, 0x12, 0x1F, 0x20, 0x04, 0x12, 0x20, 0x20, 0x04, 0x12, 0x21, 0x20, 0x04, 0x12, 0x22, 
+    0x20, 0x04, 0x12, 0x23, 0x20, 0x04, 0x12, 0x24, 0x20, 0x04, 0x12, 0x25, 0x20, 0x04, 0x12, 0x26, 
+    0x20, 0x04, 0x12, 0x27, 0x20, 0x04, 0x12, 0x28, 0x20, 0x04, 0x12, 0x29, 0x20, 0x04, 0x12, 0x2A, 
+    0x20, 0x04, 0x12, 0x2B, 0x20, 0x04, 0x12, 0x2C, 0x20, 0x04, 0x12, 0x2D, 0x20, 0x04, 0x12, 0x2E, 
+    0x20, 0x04, 0x12, 0x2F, 0x20, 0x04, 0x12, 0x30, 0x20, 0x04, 0x12, 0x31, 0x20, 0x04, 0x12, 0x32, 
+    0x20, 0x04, 0x12, 0x33, 0x20, 0x04, 0x12, 0x34, 0x20, 0x04, 0x12, 0x35, 0x20, 0x04, 0x12, 0x36, 
+    0x20, 0x04, 0x12, 0x37, 0x20, 0x04, 0x12, 0x38, 0x20, 0x04, 0x12, 0x39, 0x20, 0x04, 0x12, 0x3A, 
+    0x20, 0x04, 0x12, 0x3B, 0x20, 0x04, 0x12, 0x3C, 0x20, 0x04, 0x12, 0x3D, 0x20, 0x04, 0x12, 0x3E, 
+    0x20, 0x04, 0x12, 0x3F, 0x20, 0x04, 0x12, 0x40, 0x20, 0x04, 0x12, 0x41, 0x20, 0x04, 0x12, 0x42, 
+    0x20, 0x04, 0x12, 0x43, 0x20, 0x04, 0x12, 0x44, 0x20, 0x04, 0x12, 0x45, 0x20, 0x04, 0x12, 0x46, 
+    0x20, 0x04, 0x12, 0x01, 0x30, 0x04, 0x12, 0x02, 0x30, 0x04, 0x12, 0x03, 0x30, 0x04, 0x12, 0x04, 
+    0x30, 0x04, 0x12, 0x05, 0x30, 0x04, 0x12, 0x06, 0x30, 0x04, 0x12, 0x07, 0x30, 0x04, 0x12, 0x08, 
+    0x30, 0x04, 0x12, 0x09, 0x30, 0x04, 0x12, 0x0A, 0x30, 0x04, 0x12, 0x0B, 0x30, 0x04, 0x12, 0x0C, 
+    0x30, 0x04, 0x12, 0x0D, 0x30, 0x04, 0x12, 0x0E, 0x30, 0x04, 0x12, 0x0F, 0x30, 0x04, 0x12, 0x10, 
+    0x30, 0x04, 0x12, 0x11, 0x30, 0x04, 0x12, 0x12, 0x30, 0x04, 0x12, 0x13, 0x30, 0x04, 0x12, 0x14, 
+    0x30, 0x04, 0x12, 0x15, 0x30, 0x04, 0x12, 0x16, 0x30, 0x04, 0x12, 0x17, 0x30, 0x04, 0x12, 0x18, 
+    0x30, 0x04, 0x12, 0x19, 0x30, 0x04, 0x12, 0x1A, 0x30, 0x04, 0x12, 0x1B, 0x30, 0x04, 0x12, 0x1C, 
+    0x30, 0x04, 0x12, 0x1D, 0x30, 0x04, 0x12, 0x1E, 0x30, 0x04, 0x12, 0x1F, 0x30, 0x04, 0x12, 0x20, 
+    0x30, 0x04, 0x12, 0x21, 0x30, 0x04, 0x12, 0x22, 0x30, 0x04, 0x12, 0x23, 0x30, 0x04, 0x12, 0x24, 
+    0x30, 0x04, 0x12, 0x25, 0x30, 0x04, 0x12, 0x26, 0x30, 0x04, 0x12, 0x27, 0x30, 0x04, 0x12, 0x28, 
+    0x30, 0x04, 0x12, 0x29, 0x30, 0x04, 0x12, 0x2A, 0x30, 0x04, 0x12, 0x2B, 0x30, 0x04, 0x12, 0x2C, 
+    0x30, 0x04, 0x12, 0x2D, 0x30, 0x04, 0x12, 0x2E, 0x30, 0x04, 0x12, 0x2F, 0x30, 0x04, 0x12, 0x30, 
+    0x30, 0x04, 0x12, 0x31, 0x30, 0x04, 0x12, 0x32, 0x30, 0x04, 0x12, 0x33, 0x30, 0x04, 0x12, 0x34, 
+    0x30, 0x04, 0x12, 0x35, 0x30, 0x04, 0x12, 0x36, 0x30, 0x04, 0x12, 0x37, 0x30, 0x04, 0x12, 0x38, 
+    0x30, 0x04, 0x12, 0x39, 0x30, 0x04, 0x12, 0x01, 0x40, 0x04, 0x12, 0x02, 0x40, 0x04, 0x12, 0x03, 
+    0x40, 0x04, 0x12, 0x04, 0x40, 0x04, 0x12, 0x05, 0x40, 0x04, 0x12, 0x06, 0x40, 0x04, 0x12, 0x07, 
+    0x40, 0x04, 0x12, 0x08, 0x40, 0x04, 0x12, 0x09, 0x40, 0x04, 0x12, 0x0A, 0x40, 0x04, 0x12, 0x0B, 
+    0x40, 0x04, 0x12, 0x0C, 0x40, 0x04, 0x12, 0x0D, 0x40, 0x04, 0x12, 0x0E, 0x40, 0x04, 0x12, 0x0F, 
+    0x40, 0x04, 0x12, 0x10, 0x40, 0x04, 0x12, 0x11, 0x40, 0x04, 0x12, 0x12, 0x40, 0x04, 0x12, 0x13, 
+    0x40, 0x04, 0x12, 0x14, 0x40, 0x04, 0x12, 0x15, 0x40, 0x04, 0x12, 0x16, 0x40, 0x04, 0x12, 0x17, 
+    0x40, 0x04, 0x12, 0x18, 0x40, 0x04, 0x12, 0x19, 0x40, 0x04, 0x12, 0x1A, 0x40, 0x04, 0x12, 0x1B, 
+    0x40, 0x04, 0x12, 0x1C, 0x40, 0x04, 0x12, 0x1D, 0x40, 0x04, 0x12, 0x1E, 0x40, 0x04, 0x12, 0x1F, 
+    0x40, 0x04, 0x12, 0x20, 0x40, 0x04, 0x12, 0x21, 0x40, 0x04, 0x12, 0x22, 0x40, 0x04, 0x12, 0x23, 
+    0x40, 0x04, 0x12, 0x24, 0x40, 0x04, 0x12, 0x25, 0x40, 0x04, 0x12, 0x26, 0x40, 0x04, 0x12, 0x27, 
+    0x40, 0x04, 0x12, 0x28, 0x40, 0x04, 0x12, 0x29, 0x40, 0x04, 0x12, 0x2A, 0x40, 0x04, 0x12, 0x2B, 
+    0x40, 0x04, 0x12, 0x2C, 0x40, 0x04, 0x12, 0x2D, 0x40, 0x04, 0x12, 0x2E, 0x40, 0x04, 0x12, 0x2F, 
+    0x40, 0x04, 0x12, 0x30, 0x40, 0x04, 0x12, 0x31, 0x40, 0x04, 0x12, 0x32, 0x40, 0x04, 0x12, 0x33, 
+    0x40, 0x04, 0x12, 0x34, 0x40, 0x04, 0x12, 0x35, 0x40, 0x04, 0x12, 0x36, 0x40, 0x04, 0x12, 0x37, 
+    0x40, 0x04, 0x12, 0x38, 0x40, 0x04, 0x12, 0x39, 0x40, 0x04, 0x12, 0x3A, 0x40, 0x04, 0x12, 0x3B, 
+    0x40, 0x04, 0x12, 0x3C, 0x40, 0x04, 0x12, 0x3D, 0x40, 0x04, 0x12, 0x3E, 0x40, 0x04, 0x12, 0x3F, 
+    0x40, 0x04, 0x12, 0x40, 0x40, 0x04, 0x12, 0x41, 0x40, 0x04, 0x12, 0x42, 0x40, 0x04, 0x12, 0x43, 
+    0x40, 0x04, 0x12, 0x44, 0x40, 0x04, 0x12, 0x45, 0x40, 0x04, 0x12, 0x46, 0x40, 0x04, 0x12, 0x47, 
+    0x40, 0x04, 0x12, 0x48, 0x40, 0x04, 0x12, 0x49, 0x40, 0x04, 0x12, 0x4A, 0x40, 0x04, 0x12, 0x4B, 
+    0x40, 0x04, 0x12, 0x4C, 0x40, 0x04, 0x12, 0x4D, 0x40, 0x04, 0x12, 0x4E, 0x40, 0x04, 0x12, 0x4F, 
+    0x40, 0x04, 0x12, 0x50, 0x40, 0x04, 0x12, 0x51, 0x40, 0x04, 0x12, 0x52, 0x40, 0x04, 0x12, 0x53, 
+    0x40, 0x04, 0x12, 0x54, 0x40, 0x04, 0x12, 0x55, 0x40, 0x04, 0x12, 0x56, 0x40, 0x04, 0x12, 0x57, 
+    0x40, 0x04, 0x12, 0x58, 0x40, 0x04, 0x12, 0x59, 0x40, 0x04, 0x12, 0x5A, 0x40, 0x04, 0x12, 0x5B, 
+    0x40, 0x04, 0x12, 0x5C, 0x40, 0x04, 0x12, 0x5D, 0x40, 0x04, 0x12, 0x5E, 0x40, 0x04, 0x12, 0x5F, 
+    0x40, 0x04, 0x12, 0x60, 0x40, 0x04, 0x12, 0x61, 0x40, 0x04, 0x12, 0x62, 0x40, 0x04, 0x12, 0x63, 
+    0x40, 0x04, 0x12, 0x64, 0x40, 0x04, 0x12, 0x65, 0x40, 0x04, 0x12, 0x66, 0x40, 0x04, 0x12, 0x67, 
+    0x40, 0x04, 0x12, 0x68, 0x40, 0x04, 0x12, 0x69, 0x40, 0x04, 0x12, 0x6A, 0x40, 0x04, 0x12, 0x6B, 
+    0x40, 0x04, 0x12, 0x6C, 0x40, 0x04, 0x12, 0x6D, 0x40, 0x04, 0x12, 0x01, 0x50, 0x04, 0x12, 0x02, 
+    0x50, 0x04, 0x12, 0x03, 0x50, 0x04, 0x12, 0x04, 0x50, 0x04, 0x12, 0x05, 0x50, 0x04, 0x12, 0x06, 
+    0x50, 0x04, 0x12, 0x07, 0x50, 0x04, 0x12, 0x08, 0x50, 0x04, 0x12, 0x09, 0x50, 0x04, 0x12, 0x0A, 
+    0x50, 0x04, 0x12, 0x0B, 0x50, 0x04, 0x12, 0x0C, 0x50, 0x04, 0x12, 0x0D, 0x50, 0x04, 0x12, 0x0E, 
+    0x50, 0x04, 0x12, 0x0F, 0x50, 0x04, 0x12, 0x10, 0x50, 0x04, 0x12, 0x11, 0x50, 0x04, 0x12, 0x12, 
+    0x50, 0x04, 0x12, 0x13, 0x50, 0x04, 0x12, 0x14, 0x50, 0x04, 0x12, 0x15, 0x50, 0x04, 0x12, 0x16, 
+    0x50, 0x04, 0x12, 0x17, 0x50, 0x04, 0x12, 0x18, 0x50, 0x04, 0x12, 0x19, 0x50, 0x04, 0x12, 0x1A, 
+    0x50, 0x04, 0x12, 0x1B, 0x50, 0x04, 0x12, 0x1C, 0x50, 0x04, 0x12, 0x1D, 0x50, 0x04, 0x12, 0x1E, 
+    0x50, 0x04, 0x12, 0x1F, 0x50, 0x04, 0x12, 0x20, 0x50, 0x04, 0x12, 0x21, 0x50, 0x04, 0x12, 0x22, 
+    0x50, 0x04, 0x12, 0x23, 0x50, 0x04, 0x12, 0x24, 0x50, 0x04, 0x12, 0x25, 0x50, 0x04, 0x12, 0x26, 
+    0x50, 0x04, 0x12, 0x27, 0x50, 0x04, 0x12, 0x28, 0x50, 0x04, 0x12, 0x29, 0x50, 0x04, 0x12, 0x2A, 
+    0x50, 0x04, 0x12, 0x2B, 0x50, 0x04, 0x12, 0x2C, 0x50, 0x04, 0x12, 0x2D, 0x50, 0x04, 0x12, 0x2E, 
+    0x50, 0x04, 0x12, 0x2F, 0x50, 0x04, 0x12, 0x30, 0x50, 0x04, 0x12, 0x31, 0x50, 0x04, 0x12, 0x32, 
+    0x50, 0x04, 0x12, 0x33, 0x50, 0x04, 0x12, 0x34, 0x50, 0x04, 0x12, 0x35, 0x50, 0x04, 0x12, 0x36, 
+    0x50, 0x04, 0x12, 0x37, 0x50, 0x04, 0x12, 0x01, 0x60, 0x04, 0x12, 0x02, 0x60, 0x04, 0x12, 0x03, 
+    0x60, 0x04, 0x12, 0x32, 0x60, 0x04, 0x12, 0x33, 0x60, 0x04, 0x12, 0x34, 0x60, 0x04, 0x12, 0x35, 
+    0x60, 0x04, 0x12, 0x36, 0x60, 0x04, 0x12, 0x37, 0x60, 0x04, 0x12, 0x38, 0x60, 0x04, 0x12, 0x39, 
+    0x60, 0x04, 0x12, 0x3A, 0x60, 0x04, 0x12, 0x3B, 0x60, 0x04, 0x12, 0x3C, 0x60, 0x04, 0x12, 0x3D, 
+    0x60, 0x04, 0x12, 0x3E, 0x60, 0x04, 0x12, 0x3F, 0x60, 0x04, 0x12, 0x40, 0x60, 0x04, 0x12, 0x41, 
+    0x60, 0x04, 0x12, 0x42, 0x60, 0x04, 0x12, 0x43, 0x60, 0x04, 0x12, 0x44, 0x60, 0x04, 0x12, 0x45, 
+    0x60, 0x04, 0x12, 0x46, 0x60, 0x04, 0x12, 0x47, 0x60, 0x04, 0x12, 0x48, 0x60, 0x04, 0x12, 0x96, 
+    0x60, 0x04, 0x12, 0x97, 0x60, 0x04, 0x12, 0x98, 0x60, 0x04, 0x12, 0x99, 0x60, 0x04, 0x12, 0x9A, 
+    0x60, 0x04, 0x12, 0x9B, 0x60, 0x04, 0x12, 0xC8, 0x60, 0x04, 0x12, 0xC9, 0x60, 0x04, 0x12, 0xCA, 
+    0x60, 0x04, 0x12, 0xCB, 0x60, 0x04, 0x12, 0xCC, 0x60, 0x04, 0x12, 0xCD, 0x60, 0x04, 0x12, 0xCE, 
+    0x60, 0x04, 0x12, 0xCF, 0x60, 0x04, 0x12, 0xD0, 0x60, 0x04, 0x12, 0xD1, 0x60, 0x04, 0x12, 0xD2, 
+    0x60, 0x04, 0x12, 0xD3, 0x60, 0x04, 0x12, 0xD4, 0x60, 0x04, 0x12, 0xD5, 0x60, 0x04, 0x12, 0xD6, 
+    0x60, 0x04, 0x12, 0xD7, 0x60, 0x04, 0x12, 0xD8, 0x60, 0x04, 0x12, 0xD9, 0x60, 0x04, 0x12, 0x2C, 
+    0x61, 0x04, 0x12, 0x2D, 0x61, 0x04, 0x12, 0x2E, 0x61, 0x04, 0x12, 0x2F, 0x61, 0x04, 0x12, 0x30, 
+    0x61, 0x04, 0x12, 0x31, 0x61, 0x04, 0x12, 0x32, 0x61, 0x04, 0x12, 0x33, 0x61, 0x04, 0x12, 0x01, 
+    0x70, 0x04, 0x12, 0x02, 0x70, 0x04, 0x12, 0x03, 0x70, 0x04, 0x12, 0x04, 0x70, 0x04, 0x12, 0x05, 
+    0x70, 0x04, 0x12, 0x06, 0x70, 0x04, 0x12, 0x07, 0x70, 0x04, 0x12, 0x08, 0x70, 0x04, 0x12, 0x09, 
+    0x70, 0x04, 0x12, 0x0A, 0x70, 0x04, 0x12, 0x0B, 0x70, 0x04, 0x12, 0x0C, 0x70, 0x04, 0x12, 0x0D, 
+    0x70, 0x04, 0x12, 0x0E, 0x70, 0x04, 0x12, 0x0F, 0x70, 0x04, 0x12, 0x10, 0x70, 0x04, 0x12, 0x11, 
+    0x70, 0x04, 0x12, 0x12, 0x70, 0x04, 0x12, 0x13, 0x70, 0x04, 0x12, 0x14, 0x70, 0x04, 0x12, 0x15, 
+    0x70, 0x04, 0x12, 0x16, 0x70, 0x04, 0x12, 0x17, 0x70, 0x04, 0x12, 0x18, 0x70, 0x04, 0x12, 0x19, 
+    0x70, 0x04, 0x12, 0x1A, 0x70, 0x04, 0x12, 0x1B, 0x70, 0x04, 0x12, 0x1C, 0x70, 0x04, 0x12, 0x1D, 
+    0x70, 0x04, 0x12, 0x1E, 0x70, 0x04, 0x12, 0x1F, 0x70, 0x04, 0x12, 0x20, 0x70, 0x04, 0x12, 0x21, 
+    0x70, 0x04, 0x12, 0x22, 0x70, 0x04, 0x12, 0x23, 0x70, 0x04, 0x12, 0x24, 0x70, 0x04, 0x12, 0x25, 
+    0x70, 0x04, 0x12, 0x26, 0x70, 0x04, 0x12, 0x27, 0x70, 0x04, 0x12, 0x28, 0x70, 0x04, 0x12, 0x29, 
+    0x70, 0x04, 0x12, 0x2A, 0x70, 0x04, 0x12, 0x2B, 0x70, 0x04, 0x12, 0x2C, 0x70, 0x04, 0x12, 0x2D, 
+    0x70, 0x04, 0x12, 0x2E, 0x70, 0x04, 0x12, 0x2F, 0x70, 0x04, 0x12, 0x30, 0x70, 0x04, 0x12, 0x31, 
+    0x70, 0x04, 0x12, 0x32, 0x70, 0x04, 0x12, 0x33, 0x70, 0x04, 0x12, 0x34, 0x70, 0x04, 0x12, 0x35, 
+    0x70, 0x04, 0x12, 0x36, 0x70, 0x04, 0x12, 0x37, 0x70, 0x04, 0x12, 0x38, 0x70, 0x04, 0x12, 0x39, 
+    0x70, 0x04, 0x12, 0x3A, 0x70, 0x04, 0x12, 0x3B, 0x70, 0x04, 0x12, 0x3C, 0x70, 0x04, 0x12, 0x3D, 
+    0x70, 0x04, 0x12, 0x3E, 0x70, 0x04, 0x12, 0x01, 0x80, 0x04, 0x12, 0x02, 0x80, 0x04, 0x12, 0x03, 
+    0x80, 0x04, 0x12, 0x04, 0x80, 0x04, 0x12, 0x05, 0x80, 0x04, 0x12, 0x06, 0x80, 0x04, 0x12, 0x07, 
+    0x80, 0x04, 0x12, 0x08, 0x80, 0x04, 0x12, 0x09, 0x80, 0x04, 0x12, 0x0A, 0x80, 0x04, 0x12, 0x0B, 
+    0x80, 0x04, 0x12, 0x0C, 0x80, 0x04, 0x12, 0x0D, 0x80, 0x04, 0x12, 0x0E, 0x80, 0x04, 0x12, 0x0F, 
+    0x80, 0x04, 0x12, 0x10, 0x80, 0x04, 0x12, 0x11, 0x80, 0x04, 0x12, 0x12, 0x80, 0x04, 0x12, 0x13, 
+    0x80, 0x04, 0x12, 0x01, 0x90, 0x04, 0x12, 0x02, 0x90, 0x04, 0x12, 0x03, 0x90, 0x04, 0x12, 0x04, 
+    0x90, 0x04, 0x12, 0x05, 0x90, 0x04, 0x12, 0x06, 0x90, 0x04, 0x12, 0x07, 0x90, 0x04, 0x12, 0x08, 
+    0x90, 0x04, 0x12, 0x09, 0x90, 0x04, 0x12, 0x0A, 0x90, 0x04, 0x12, 0x0B, 0x90, 0x04, 0x12, 0x0C, 
+    0x90, 0x04, 0x12, 0x0D, 0x90, 0x04, 0x12, 0x0E, 0x90, 0x04, 0x12, 0x0F, 0x90, 0x04, 0x12, 0x10, 
+    0x90, 0x04, 0x12, 0x11, 0x90, 0x04, 0x12, 0x12, 0x90, 0x04, 0x12, 0x00, 0xA0, 0x04, 0x12, 0x01, 
+    0xA0, 0x04, 0x12, 0x02, 0xA0, 0x04, 0x12, 0x03, 0xA0, 0x04, 0x12, 0x04, 0xA0, 0x04, 0x12, 0x05, 
+    0xA0, 0x04, 0x12, 0x06, 0xA0, 0x04, 0x12, 0x07, 0xA0, 0x04, 0x12, 0x08, 0xA0, 0x04, 0x12, 0x09, 
+    0xA0, 0x04, 0x12, 0x0A, 0xA0, 0x04, 0x12, 0x0B, 0xA0, 0x04, 0x12, 0x0C, 0xA0, 0x04, 0x12, 0x0D, 
+    0xA0, 0x04, 0x12, 0x0E, 0xA0, 0x04, 0x12, 0x0F, 0xA0, 0x04, 0x12, 0x10, 0xA0, 0x04, 0x12, 0x11, 
+    0xA0, 0x04, 0x12, 0x00, 0x00, 0x05, 0x12, 0x01, 0x00, 0x05, 0x12, 0x02, 0x00, 0x05, 0x12, 0x03, 
+    0x00, 0x05, 0x12, 0x04, 0x00, 0x05, 0x12, 0x05, 0x00, 0x05, 0x12, 0x06, 0x00, 0x05, 0x12, 0x07, 
+    0x00, 0x05, 0x12, 0x08, 0x00, 0x05, 0x12, 0x09, 0x00, 0x05, 0x12, 0x0A, 0x00, 0x05, 0x12, 0x0B, 
+    0x00, 0x05, 0x12, 0x0C, 0x00, 0x05, 0x12, 0x0D, 0x00, 0x05, 0x12, 0x0E, 0x00, 0x05, 0x12, 0x0F, 
+    0x00, 0x05, 0x12, 0x10, 0x00, 0x05, 0x12, 0x11, 0x00, 0x05, 0x12, 0x12, 0x00, 0x05, 0x12, 0x13, 
+    0x00, 0x05, 0x12, 0x14, 0x00, 0x05, 0x12, 0x15, 0x00, 0x05, 0x12, 0x16, 0x00, 0x05, 0x12, 0x17, 
+    0x00, 0x05, 0x12, 0x18, 0x00, 0x05, 0x12, 0x19, 0x00, 0x05, 0x12, 0x1A, 0x00, 0x05, 0x12, 0x1B, 
+    0x00, 0x05, 0x12, 0x1C, 0x00, 0x05, 0x12, 0x1D, 0x00, 0x05, 0x12, 0x1E, 0x00, 0x05, 0x12, 0x1F, 
+    0x00, 0x05, 0x12, 0x20, 0x00, 0x05, 0x12, 0x21, 0x00, 0x05, 0x12, 0x22, 0x00, 0x05, 0x12, 0x23, 
+    0x00, 0x05, 0x12, 0x24, 0x00, 0x05, 0x12, 0x25, 0x00, 0x05, 0x12, 0x26, 0x00, 0x05, 0x12, 0x27, 
+    0x00, 0x05, 0x12, 0x28, 0x00, 0x05, 0x12, 0x29, 0x00, 0x05, 0x12, 0x2A, 0x00, 0x05, 0x12, 0x2B, 
+    0x00, 0x05, 0x12, 0x2C, 0x00, 0x05, 0x12, 0x2D, 0x00, 0x05, 0x12, 0x2E, 0x00, 0x05, 0x12, 0x65, 
+    0x00, 0x05, 0x12, 0x66, 0x00, 0x05, 0x12, 0x67, 0x00, 0x05, 0x12, 0x68, 0x00, 0x05, 0x12, 0x69, 
+    0x00, 0x05, 0x12, 0xC9, 0x00, 0x05, 0x12, 0xCA, 0x00, 0x05, 0x12, 0xCB, 0x00, 0x05, 0x12, 0xCC, 
+    0x00, 0x05, 0x12, 0xCD, 0x00, 0x05, 0x12, 0xCE, 0x00, 0x05, 0x12, 0xCF, 0x00, 0x05, 0x12, 0xD0, 
+    0x00, 0x05, 0x12, 0xD1, 0x00, 0x05, 0x12, 0xD2, 0x00, 0x05, 0x12, 0xD3, 0x00, 0x05, 0x12, 0xD4, 
+    0x00, 0x05, 0x12, 0xD5, 0x00, 0x05, 0x12, 0xD6, 0x00, 0x05, 0x12, 0xD7, 0x00, 0x05, 0x12, 0xD8, 
+    0x00, 0x05, 0x12, 0xD9, 0x00, 0x05, 0x12, 0xDA, 0x00, 0x05, 0x12, 0xDB, 0x00, 0x05, 0x12, 0xDC, 
+    0x00, 0x05, 0x12, 0xDD, 0x00, 0x05, 0x12, 0xDE, 0x00, 0x05, 0x12, 0xDF, 0x00, 0x05, 0x12, 0xE0, 
+    0x00, 0x05, 0x12, 0xE1, 0x00, 0x05, 0x12, 0xE2, 0x00, 0x05, 0x12, 0xE3, 0x00, 0x05, 0x12, 0xE4, 
+    0x00, 0x05, 0x12, 0xE5, 0x00, 0x05, 0x12, 0x01, 0x00, 0x06, 0x12, 0x01, 0x10, 0x06, 0x12, 0x02, 
+    0x10, 0x06, 0x12, 0x03, 0x10, 0x06, 0x12, 0x04, 0x10, 0x06, 0x12, 0x05, 0x10, 0x06, 0x12, 0x06, 
+    0x10, 0x06, 0x12, 0x07, 0x10, 0x06, 0x12, 0x08, 0x10, 0x06, 0x12, 0x09, 0x10, 0x06, 0x12, 0x0A, 
+    0x10, 0x06, 0x12, 0x0B, 0x10, 0x06, 0x12, 0x0C, 0x10, 0x06, 0x12, 0x0D, 0x10, 0x06, 0x12, 0x0E, 
+    0x10, 0x06, 0x12, 0x0F, 0x10, 0x06, 0x12, 0x10, 0x10, 0x06, 0x12, 0x11, 0x10, 0x06, 0x12, 0x12, 
+    0x10, 0x06, 0x12, 0x13, 0x10, 0x06, 0x12, 0x14, 0x10, 0x06, 0x12, 0x15, 0x10, 0x06, 0x12, 0x16, 
+    0x10, 0x06, 0x12, 0x17, 0x10, 0x06, 0x12, 0x18, 0x10, 0x06, 0x12, 0x19, 0x10, 0x06, 0x12, 0x1A, 
+    0x10, 0x06, 0x12, 0x1B, 0x10, 0x06, 0x12, 0x1C, 0x10, 0x06, 0x12, 0x1D, 0x10, 0x06, 0x12, 0x1E, 
+    0x10, 0x06, 0x12, 0x1F, 0x10, 0x06, 0x12, 0x20, 0x10, 0x06, 0x12, 0x21, 0x10, 0x06, 0x12, 0x22, 
+    0x10, 0x06, 0x12, 0x23, 0x10, 0x06, 0x12, 0x24, 0x10, 0x06, 0x12, 0x25, 0x10, 0x06, 0x12, 0x26, 
+    0x10, 0x06, 0x12, 0x2E, 0x10, 0x06, 0x12, 0x2F, 0x10, 0x06, 0x12, 0x30, 0x10, 0x06, 0x12, 0x31, 
+    0x10, 0x06, 0x12, 0x32, 0x10, 0x06, 0x12, 0x33, 0x10, 0x06, 0x12, 0x34, 0x10, 0x06, 0x12, 0x35, 
+    0x10, 0x06, 0x12, 0x36, 0x10, 0x06, 0x12, 0x37, 0x10, 0x06, 0x12, 0x42, 0x10, 0x06, 0x12, 0x43, 
+    0x10, 0x06, 0x12, 0x44, 0x10, 0x06, 0x12, 0x45, 0x10, 0x06, 0x12, 0x46, 0x10, 0x06, 0x12, 0x47, 
+    0x10, 0x06, 0x12, 0x48, 0x10, 0x06, 0x12, 0x49, 0x10, 0x06, 0x12, 0x4A, 0x10, 0x06, 0x12, 0x4B, 
+    0x10, 0x06, 0x12, 0x4C, 0x10, 0x06, 0x12, 0x4D, 0x10, 0x06, 0x12, 0x4E, 0x10, 0x06, 0x12, 0x4F, 
+    0x10, 0x06, 0x12, 0x50, 0x10, 0x06, 0x12, 0x51, 0x10, 0x06, 0x12, 0x52, 0x10, 0x06, 0x12, 0x53, 
+    0x10, 0x06, 0x12, 0x54, 0x10, 0x06, 0x12, 0x55, 0x10, 0x06, 0x12, 0x01, 0x20, 0x06, 0x12, 0x02, 
+    0x20, 0x06, 0x12, 0x03, 0x20, 0x06, 0x12, 0x04, 0x20, 0x06, 0x12, 0x05, 0x20, 0x06, 0x12, 0x06, 
+    0x20, 0x06, 0x12, 0x07, 0x20, 0x06, 0x12, 0x08, 0x20, 0x06, 0x12, 0x09, 0x20, 0x06, 0x12, 0x0A, 
+    0x20, 0x06, 0x12, 0x0B, 0x20, 0x06, 0x12, 0x0C, 0x20, 0x06, 0x12, 0x0D, 0x20, 0x06, 0x12, 0x0E, 
+    0x20, 0x06, 0x12, 0x0F, 0x20, 0x06, 0x12, 0x10, 0x20, 0x06, 0x12, 0x11, 0x20, 0x06, 0x12, 0x12, 
+    0x20, 0x06, 0x12, 0x13, 0x20, 0x06, 0x12, 0x14, 0x20, 0x06, 0x12, 0x15, 0x20, 0x06, 0x12, 0x16, 
+    0x20, 0x06, 0x12, 0x17, 0x20, 0x06, 0x12, 0x18, 0x20, 0x06, 0x12, 0x01, 0x00, 0x07, 0x12, 0x01, 
+    0x10, 0x07, 0x12, 0x02, 0x10, 0x07, 0x12, 0x03, 0x10, 0x07, 0x12, 0x04, 0x10, 0x07, 0x12, 0x05, 
+    0x10, 0x07, 0x12, 0x06, 0x10, 0x07, 0x12, 0x07, 0x10, 0x07, 0x12, 0x08, 0x10, 0x07, 0x12, 0x09, 
+    0x10, 0x07, 0x12, 0x0A, 0x10, 0x07, 0x12, 0x0B, 0x10, 0x07, 0x12, 0x0C, 0x10, 0x07, 0x12, 0x0D, 
+    0x10, 0x07, 0x12, 0x0E, 0x10, 0x07, 0x12, 0x01, 0x20, 0x07, 0x12, 0x02, 0x20, 0x07, 0x12, 0x03, 
+    0x20, 0x07, 0x12, 0x04, 0x20, 0x07, 0x12, 0x05, 0x20, 0x07, 0x12, 0x06, 0x20, 0x07, 0x12, 0x07, 
+    0x20, 0x07, 0x12, 0x08, 0x20, 0x07, 0x12, 0x09, 0x20, 0x07, 0x12, 0x0A, 0x20, 0x07, 0x12, 0x0B, 
+    0x20, 0x07, 0x12, 0x0C, 0x20, 0x07, 0x12, 0x0D, 0x20, 0x07, 0x12, 0x0E, 0x20, 0x07, 0x12, 0x0F, 
+    0x20, 0x07, 0x12, 0x01, 0x30, 0x07, 0x12, 0x02, 0x30, 0x07, 0x12, 0x03, 0x30, 0x07, 0x12, 0x04, 
+    0x30, 0x07, 0x12, 0x05, 0x30, 0x07, 0x12, 0x06, 0x30, 0x07, 0x12, 0x07, 0x30, 0x07, 0x12, 0x08, 
+    0x30, 0x07, 0x12, 0x09, 0x30, 0x07, 0x12, 0x0A, 0x30, 0x07, 0x12, 0x01, 0x40, 0x07, 0x12, 0x02, 
+    0x40, 0x07, 0x12, 0x03, 0x40, 0x07, 0x12, 0x04, 0x40, 0x07, 0x12, 0x05, 0x40, 0x07, 0x12, 0x06, 
+    0x40, 0x07, 0x12, 0x07, 0x40, 0x07, 0x12, 0x08, 0x40, 0x07, 0x12, 0x01, 0x50, 0x07, 0x12, 0x01, 
+    0x60, 0x07, 0x12, 0x02, 0x60, 0x07, 0x12, 0x03, 0x60, 0x07, 0x12, 0x04, 0x60, 0x07, 0x12, 0x05, 
+    0x60, 0x07, 0x12, 0x06, 0x60, 0x07, 0x12, 0x01, 0x00, 0x08, 0x12, 0x02, 0x00, 0x08, 0x12, 0x03, 
+    0x00, 0x08, 0x12, 0x04, 0x00, 0x08, 0x12, 0x05, 0x00, 0x08, 0x12, 0x06, 0x00, 0x08, 0x12, 0x07, 
+    0x00, 0x08, 0x12, 0x08, 0x00, 0x08, 0x12, 0x09, 0x00, 0x08, 0x12, 0x0A, 0x00, 0x08, 0x12, 0x0B, 
+    0x00, 0x08, 0x12, 0x0C, 0x00, 0x08, 0x12, 0x0D, 0x00, 0x08, 0x12, 0x0E, 0x00, 0x08, 0x12, 0x0F, 
+    0x00, 0x08, 0x12, 0x10, 0x00, 0x08, 0x12, 0x11, 0x00, 0x08, 0x12, 0x12, 0x00, 0x08, 0x12, 0x13, 
+    0x00, 0x08, 0x12, 0x14, 0x00, 0x08, 0x12, 0x15, 0x00, 0x08, 0x12, 0x16, 0x00, 0x08, 0x12, 0x17, 
+    0x00, 0x08, 0x12, 0x18, 0x00, 0x08, 0x12, 0x19, 0x00, 0x08, 0x12, 0x1A, 0x00, 0x08, 0x12, 0x01, 
+    0x10, 0x08, 0x12, 0x02, 0x10, 0x08, 0x12, 0x03, 0x10, 0x08, 0x12, 0x04, 0x10, 0x08, 0x12, 0x05, 
+    0x10, 0x08, 0x12, 0x06, 0x10, 0x08, 0x12, 0x07, 0x10, 0x08, 0x12, 0x08, 0x10, 0x08, 0x12, 0x09, 
+    0x10, 0x08, 0x12, 0x0A, 0x10, 0x08, 0x12, 0x0B, 0x10, 0x08, 0x12, 0x0C, 0x10, 0x08, 0x12, 0x0D, 
+    0x10, 0x08, 0x12, 0x0E, 0x10, 0x08, 0x12, 0x0F, 0x10, 0x08, 0x12, 0x10, 0x10, 0x08, 0x12, 0x11, 
+    0x10, 0x08, 0x12, 0x12, 0x10, 0x08, 0x12, 0x13, 0x10, 0x08, 0x12, 0x01, 0x20, 0x08, 0x12, 0x02, 
+    0x20, 0x08, 0x12, 0x03, 0x20, 0x08, 0x12, 0x04, 0x20, 0x08, 0x12, 0x05, 0x20, 0x08, 0x12, 0x06, 
+    0x20, 0x08, 0x12, 0x07, 0x20, 0x08, 0x12, 0x08, 0x20, 0x08, 0x12, 0x09, 0x20, 0x08, 0x12, 0x0A, 
+    0x20, 0x08, 0x12, 0x0B, 0x20, 0x08, 0x12, 0x0C, 0x20, 0x08, 0x12, 0x0D, 0x20, 0x08, 0x12, 0x0E, 
+    0x20, 0x08, 0x12, 0x0F, 0x20, 0x08, 0x12, 0x10, 0x20, 0x08, 0x12, 0x11, 0x20, 0x08, 0x12, 0x12, 
+    0x20, 0x08, 0x12, 0x13, 0x20, 0x08, 0x12, 0x14, 0x20, 0x08, 0x12, 0x15, 0x20, 0x08, 0x12, 0x16, 
+    0x20, 0x08, 0x12, 0x17, 0x20, 0x08, 0x12, 0x01, 0x00, 0x00, 0x01, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
+    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x04, 
+    0x00, 0x03, 0x00, 0xDC, 0x5B, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 
+    0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x09, 0x00, 0x01, 0x00, 0xBD, 0x4D, 0x7E, 0x01, 0xAA, 0xAA, 
+    0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x01, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x08, 0x01, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x01, 0x09, 0x00, 0x03, 
+    0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x00, 0x31, 0xC8, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 0x55, 0x73, 0x01, 0x18, 0x00, 0x00, 0x00, 
+    0x06, 0x00, 0xBB, 0xBB, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+    0x01, 0x00, 0x04, 0x00, 0x08, 0x00, 0x01, 0x00, 0x06, 0x51, 0x7E, 0x01, 0xAA, 0xAA, 0xAA, 0x01, 
+    0x55, 0x73, 0x01, 0x18, 0x01, 0x00, 0x00, 0x06, 0x00, 0xBB, 0xBB, 0x08, 0x01, 0x00, 0x00, 0x00, 
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x01, 0x08, 0x00, 0x03, 0x0F, 0xFF, 
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
+    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 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, 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, 
+    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, 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, 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, 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, 
+    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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 
+    0xA6, 0x7E, 
+};
+
+#endif
diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/log_savefs.c b/ap/hostapp/zlogtrace_ref/localfs_save/log_savefs.c
new file mode 100755
index 0000000..8a99c29
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/log_savefs.c
@@ -0,0 +1,387 @@
+/*
+ * 
+ * Copyright (C)  2023
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details
+ *
+ * FileName : log_savefs.c
+ * This program Capture module's trace log, and save log to local 
+ * file system.
+ */
+ 
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <termios.h>
+#include <pthread.h>
+#include <sys/ioctl.h>
+#include <signal.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <sys/mman.h>
+#include "log_usb.h"
+#include "log_savefs.h"
+#include "./config/IPStart_rule.h"
+#include "./config/modemrule_rule.h"
+
+/**
+ * ºê¶¨Òå
+ */
+#define DELETE_OLD_FILE_NUMR (1)
+#define READ_BUFFER_SIZE     (2048)
+#define SINGLE_LOG_SIZE      (50*1024*1024)
+#define UNIT_ONE_MB_SIZE     (1024*1024)
+
+/**
+ * Íⲿ±äÁ¿ÒýÓÃ
+ */
+extern int    errno;
+
+/**
+ * È«¾Ö±äÁ¿¶¨Òå
+ */        
+char    gReadBuffer[READ_BUFFER_SIZE];
+static  pthread_mutex_t s_state_mutex = PTHREAD_MUTEX_INITIALIZER;
+static  pthread_cond_t  s_state_cond = PTHREAD_COND_INITIALIZER;
+
+T_LOG_RULE_TYPE gRuleOps[] = 
+{
+    {"modemrule.rule", modemrule_rule_buf, sizeof(modemrule_rule_buf)},
+    {"IPStart.rule",  IPStart_rule_buf,    sizeof(IPStart_rule_buf)}
+};
+
+char gHeartBeat_Data[] = {0x01,0xaa,0xaa,0xaa,0x01,0x55,0x73,0x01,
+                         0x14,0x00,0x00,0x00,0x06,0x67,0xbb,0xbb,
+                         0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+                         0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
+                         0x44,0x09,0x7e};
+
+T_COMM_FS_PARAM gFsSaveParam;
+
+/**
+ * @brief д³öÊý¾Ý
+ * @param[in] void
+ * @return ³É¹¦·µ»ØÐ´È볤¶È£¬Ê§°Ü·µ»Ø-1
+ * @note
+ * @see 
+ */
+static int zLogAgt_WriteToTracePort(usbdev_t *udev, char *buf, int len)
+{
+    int retval = -1, write_len = 0;
+    int left_len = len;
+
+    while (left_len > 0) {
+        retval = zLogAgt_Usb_Write(udev, buf+write_len, len);
+        if (retval == -1) {
+            if (errno == EINTR) {
+                continue;
+            }
+            printf("%s failed.\n", __func__);
+            return retval;
+        }
+        left_len -= retval;
+        write_len += retval;
+    }
+
+    return write_len;
+}
+
+/**
+ * @brief ·¢Ë͹æÔòÎļþ¸ø°å²à
+ * @param[in] void
+ * @return ³É¹¦·µ»Ø0£¬Ê§°Ü·µ»Ø-1
+ * @note
+ * @see 
+ */
+static int zLogAgt_SendRuleFile(usbdev_t *udev)
+{
+    int  ret = -1;
+    int  read_size = 0; 
+    char *read_buf = NULL;
+    int  log_fp = -1;
+    int  index = 0;
+    int rule_size = (sizeof(gRuleOps) / sizeof(T_LOG_RULE_TYPE));
+
+    read_buf = (char *)malloc(ZLOG_RULE_MAX_SIZE);
+    if (read_buf == NULL)
+        return ret;
+        
+    for (; index < rule_size; index++) {
+        log_fp = open(gRuleOps[index].name, O_RDONLY);
+            
+        if (log_fp >= 0) {
+            while ((read_size = read(log_fp, read_buf, ZLOG_RULE_MAX_SIZE - 1)) > 0) {
+                ret = zLogAgt_WriteToTracePort(udev, read_buf, read_size);
+                if (ret < 0) {
+                    printf("write trace port failed\n");
+                    close(log_fp);
+                    free(read_buf);
+                    return ret;
+                }
+                memset(read_buf, 0, sizeof(read_buf));
+            }
+        }
+        else {        
+            ret = zLogAgt_WriteToTracePort(udev, gRuleOps[index].buf, gRuleOps[index].len);
+            if (ret < 0) {
+                free(read_buf);
+                printf("write trace port failed\n");
+                return ret;
+            }
+        }
+    }
+    
+    if (log_fp >= 0) {
+        close(log_fp);
+        log_fp = -1;
+    }
+    ret = 0;
+    free(read_buf); 
+    return ret;        
+}
+
+/**
+ * @brief ÐÄÌø°ü·¢ËÍÏß³ÌÈë¿Ú
+ * @param[in] void
+ * @return ³É¹¦·µ»ØZOSS_SUCCESS£¬Ê§°Ü·µ»ØZOSS_ERROR
+ * @note
+ * @see 
+ */
+static void *zLogAgt_HeartBeatSend_Entry(void *param)
+{
+    int  write_len = 0;
+    int  remain_len = 0;
+    usbdev_t *udev = (usbdev_t *)param;
+    
+    if (param == NULL)
+        return NULL;
+    
+    if (zLogAgt_SendRuleFile(udev)) 
+        return NULL;
+
+    while (1) {  
+        remain_len = sizeof(gHeartBeat_Data);        
+        while (remain_len > 0) {
+            write_len = 0;
+            int retval = zLogAgt_Usb_Write(udev, gHeartBeat_Data + write_len, remain_len);
+            if (retval <= 0) {
+                PRINTF_DBG_ERROR("retval:%d\n", retval);    
+                
+                /*ÐÄÌø°ü·¢ËÍʧ°Ü, Ö÷½ø³ÌÍ˳ö*/
+                pthread_mutex_lock(&s_state_mutex);
+                pthread_cond_broadcast (&s_state_cond);
+                pthread_mutex_unlock(&s_state_mutex);
+                return NULL;
+            }
+            remain_len -= retval;
+            write_len  += retval;
+        }
+    
+        if (write_len != sizeof(gHeartBeat_Data)) {            
+            PRINTF_DBG_ERROR("write_len:%d \n", write_len);    
+        }
+        sleep(2);
+    }
+}
+
+/**
+ * @brief ɾ³ýLog File
+ * @param[in]ÐèҪɾ³ýµÄÎļþ¸öÊý
+ * @return ³É¹¦·µ»Ø0
+ * @note
+ * @see 
+ */
+static int zLogAgt_DelLogFile(int delcnt)
+{
+    int  ret = 0;    
+    char shcmd[ZLOG_SHELL_CMD_SIZE];
+
+    if (delcnt < DELETE_OLD_FILE_NUMR)
+        delcnt = DELETE_OLD_FILE_NUMR;
+
+    sprintf(shcmd, "ls -rt | sort | head -%d| xargs rm -rf", delcnt);
+    ret = system(shcmd);
+    if (ret < 0)
+        printf("system error errno:%d(%s) \n", errno, strerror(errno));
+    
+    return ret;
+}
+
+/**
+ * @brief ´´½¨Log File
+ * @param[in] void
+ * @return ³É¹¦·µ»ØZOSS_SUCCESS£¬Ê§°Ü·µ»ØZOSS_ERROR
+ * @note
+ * @see 
+ */
+static int zLogAgt_CreatLogFile(int log_fp)
+{
+    int new_fd = -1;
+    char filename[ZLOG_BUF_SIZE] = {0};
+    time_t t = time(NULL);
+    struct tm *tm = localtime(&t);
+
+    gFsSaveParam.tmaxLogNum = (gFsSaveParam.tMaxLogsize) / (SINGLE_LOG_SIZE);
+
+    if (gFsSaveParam.uFileNum >= gFsSaveParam.tmaxLogNum){    
+        zLogAgt_DelLogFile(DELETE_OLD_FILE_NUMR);
+        gFsSaveParam.uFileNum -= DELETE_OLD_FILE_NUMR;
+    }
+
+    sprintf(filename, "%s/%02d_%02d%02d_%02d%02d%02d.log", gFsSaveParam.localFsPath,
+        1900+tm->tm_year, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);
+
+    if (log_fp >= 0) {
+        close(log_fp);
+    }
+    
+    new_fd = open(filename, O_WRONLY|O_CREAT|O_TRUNC, 0644);
+
+    if (new_fd < 0) {
+        printf("open %s failed errno %d %s.\n", filename, errno, strerror(new_fd));
+    }
+    
+    gFsSaveParam.uFileNum++;
+    gFsSaveParam.curfd = new_fd;
+
+    return new_fd;
+}
+
+ /**
+ * @brief LOG ¶ÁÈ¡¼°±£´æÏß³Ì
+ * @param[in] void
+ * @return ³É¹¦·µ»ØZOSS_SUCCESS£¬Ê§°Ü·µ»ØZOSS_ERROR
+ * @note
+ * @see 
+ */
+void *zlogAgt_StoreToFs_Entry(void *param)
+{
+    int read_size = 0;
+    int dlog_fp   = -1;
+    unsigned int total_len = 0;
+    usbdev_t *udev = (usbdev_t *)param;
+    pthread_t heartbeat_thread;
+
+    if (pthread_create(&heartbeat_thread, NULL, zLogAgt_HeartBeatSend_Entry, (void *)udev)) {
+        PRINTF_DBG_ERROR("create thread failed.\n");
+    }
+    
+    while (1) {
+        if (read_size <= 0) {
+            read_size = zLogAgt_Usb_Read(udev, gReadBuffer, sizeof(gReadBuffer));
+        }
+        else {
+            if ((dlog_fp < 0) 
+                || ((total_len + read_size) >= SINGLE_LOG_SIZE)) {
+                total_len = 0;
+                dlog_fp = zLogAgt_CreatLogFile(dlog_fp);
+                if (dlog_fp < 0) {
+                    break;
+                }
+            }
+            int w_ret = write(dlog_fp, gReadBuffer, read_size);
+            if (w_ret < 0) {
+                printf("%s failed.\n", __func__);
+                dlog_fp = zLogAgt_CreatLogFile(dlog_fp);
+                if (dlog_fp < 0) {
+                    break;
+                }
+                continue;
+            }
+            read_size -= w_ret;
+            total_len += w_ret;    
+            fsync (dlog_fp);
+        }
+    }
+
+   if (dlog_fp >= 0) {
+        close(dlog_fp);
+        dlog_fp = -1;
+    }
+
+    zLogAgt_Usb_Close(udev);
+    pthread_exit(NULL);
+    
+    return NULL;
+}
+
+/**
+ * @brief ÐźÅÍ˳öº¯ÊýÈë¿Ú
+ * @param[in] msg
+ * @return void
+ * @note
+ * @see 
+ */
+static void zLogAgt_Exit_Process(int msg)
+{
+    printf("\n%s: %d\n", __func__, msg);
+
+    pthread_mutex_lock(&s_state_mutex);
+    pthread_cond_broadcast(&s_state_cond);
+    pthread_mutex_unlock(&s_state_mutex);
+
+    sleep(1);
+    /*Enable Ctrl+C to exit*/
+    signal(SIGINT, SIG_DFL); 
+}
+
+/**
+ * @brief LOG±£´æÖ÷º¯ÊýÈë¿Ú
+ * @param[in] É豸Îļþ¾ä±ú
+ * @return 
+ * @note
+ * @see 
+ */
+int zLogAgt_Savefs_Main(int fd_devfile)
+{
+    int ret = -1;
+    int opt = -1;
+    usbdev_t udev = {0};
+    pthread_t savefs_thread;
+    
+    if (access(gFsSaveParam.localFsPath, 0)) {
+        mkdir(gFsSaveParam.localFsPath, 0777);
+    }
+
+    gFsSaveParam.tMaxLogsize *= UNIT_ONE_MB_SIZE;
+    
+    if (gFsSaveParam.tMaxLogsize <= SINGLE_LOG_SIZE)
+        gFsSaveParam.tMaxLogsize = SINGLE_LOG_SIZE;
+    
+    udev.ttyfd = fd_devfile;
+
+    ret = pthread_create(&savefs_thread, NULL, zlogAgt_StoreToFs_Entry, (void *)&udev);
+    if (!ret) {
+        signal(SIGINT, zLogAgt_Exit_Process); //ctrl+C
+        signal(SIGTERM, zLogAgt_Exit_Process); //kill
+        pthread_mutex_lock(&s_state_mutex);
+        pthread_cond_wait(&s_state_cond, &s_state_mutex);
+        pthread_mutex_unlock(&s_state_mutex);
+    }
+    else {
+        printf("%s create thread failed, ret:%d error:%s\n", __func__, ret, strerror(ret));
+        return -1;
+    }
+
+    ret = pthread_join(savefs_thread, NULL);
+
+    if (ret) {
+        printf("pthread_join error: %s\n", strerror(ret));
+    }
+    return  0;
+
+}
+
+
diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/log_savefs.h b/ap/hostapp/zlogtrace_ref/localfs_save/log_savefs.h
new file mode 100755
index 0000000..fe3f3b3
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/log_savefs.h
@@ -0,0 +1,42 @@
+/*

+ * 

+ * Copyright (C)  2023

+ *

+ * This program is free software; you can redistribute it and/or modify

+ * it under the terms of the GNU General Public License as published by

+ * the Free Software Foundation; either version 2 of the License, or

+ * (at your option) any later version.

+ *

+ * This program is distributed in the hope that it will be useful,

+ * but WITHOUT ANY WARRANTY; without even the implied warranty of

+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

+ * GNU General Public License for more details

+ *

+ * FileName : log_savefsf.h

+ * This program Capture module's trace log to local file system.

+ */

+

+#ifndef __LOG_SAVEFS_H__

+#define __LOG_SAVEFS_H__

+

+#include <stdio.h>

+#include <stdlib.h>

+#include <stdint.h>

+#include <string.h>

+

+/**

+ * ºê¶¨Òå

+ */

+#define ZLOG_RULE_MAX_SIZE 2048

+#define READ_WRITE_BUF_SIZE 4096

+

+typedef struct 

+{

+    char *name;

+    char *buf;

+    int  len;

+}T_LOG_RULE_TYPE;

+

+

+#endif

+

diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/log_usb.c b/ap/hostapp/zlogtrace_ref/localfs_save/log_usb.c
new file mode 100755
index 0000000..14182f8
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/log_usb.c
@@ -0,0 +1,103 @@
+/*

+ * 

+ * Copyright (C)  2023

+ *

+ * This program is free software; you can redistribute it and/or modify

+ * it under the terms of the GNU General Public License as published by

+ * the Free Software Foundation; either version 2 of the License, or

+ * (at your option) any later version.

+ *

+ * This program is distributed in the hope that it will be useful,

+ * but WITHOUT ANY WARRANTY; without even the implied warranty of

+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

+ * GNU General Public License for more details

+ *

+ * FileName : log_usb.c

+ * This program Capture module's trace log.

+ */

+

+#include "log_usb.h"

+

+int zLogAgt_Usb_Close(usbdev_t *udev)

+{

+    if (udev == NULL)

+        return -1;

+    

+    if (udev->ttyfd >= 0) {

+        close(udev->ttyfd);

+        udev->ttyfd = -1;

+    }

+    return 0;

+}

+

+static int poll_wait(int poll_fd, short events, int timeout_msec)

+{

+    struct pollfd pollfds[] = {{poll_fd, events, 0}};

+

+    int ret = poll(pollfds, 1, timeout_msec);

+    if (ret == 0) {

+        return ETIMEDOUT;

+    } else if (ret < 0) {

+        dbg_time("%s errno:%d(%s) \n", __func__, errno, strerror(errno));

+    }

+

+    if (pollfds[0].revents & (POLLERR | POLLHUP | POLLNVAL)) {

+        return EIO;

+    }

+

+    if (pollfds[0].revents & (events)) {

+        return 0;

+    }

+

+    return EIO;

+}

+

+int zLogAgt_Usb_Write(usbdev_t *udev, char *pbuf, int len)

+{

+    int write_size = 0;

+    int timeout_msec = 3000;

+

+    while (write_size < len)

+    {

+        int retval = -1;

+   

+        if (udev->ttyfd >= 0) {

+            if (poll_wait(udev->ttyfd, POLLOUT, timeout_msec)) {

+                break;

+            }

+            retval = write(udev->ttyfd, pbuf + write_size, len - write_size);

+            if (retval < 0 && errno != EINTR) {

+                dbg_time("%s write:%d, errno:%d(%s)\n", __func__, retval, errno, strerror(errno));

+                return retval;

+            }

+        }

+        write_size += retval;        

+    }

+

+    return write_size;

+}

+

+int zLogAgt_Usb_Read(usbdev_t *udev, char *pbuf, int len)

+{

+    int read_size = 0;

+    int timeout_msec = 1000;

+

+    while (read_size < len)

+    {

+        int retval = -1;

+        if (udev->ttyfd >= 0) {

+            if (poll_wait(udev->ttyfd, POLLIN, timeout_msec)) {

+                break;

+            }

+            

+            retval = read(udev->ttyfd, pbuf + read_size, len - read_size);

+            if (retval <= 0 && errno != EINTR) {

+                dbg_time("%s read:%d, errno:%d(%s)\n", __func__, retval, errno, strerror(errno));

+                return retval;

+            }

+        }

+        read_size += retval;

+    }

+    return read_size;

+}

+

diff --git a/ap/hostapp/zlogtrace_ref/localfs_save/log_usb.h b/ap/hostapp/zlogtrace_ref/localfs_save/log_usb.h
new file mode 100755
index 0000000..aa5c7e5
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/localfs_save/log_usb.h
@@ -0,0 +1,48 @@
+/*

+ * 

+ * Copyright (C)  2023

+ *

+ * This program is free software; you can redistribute it and/or modify

+ * it under the terms of the GNU General Public License as published by

+ * the Free Software Foundation; either version 2 of the License, or

+ * (at your option) any later version.

+ *

+ * This program is distributed in the hope that it will be useful,

+ * but WITHOUT ANY WARRANTY; without even the implied warranty of

+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

+ * GNU General Public License for more details

+ *

+ * FileName : log_usb.h

+ * This program Capture module's trace log.

+ */

+

+#ifndef __LOG_USB_H__

+#define __LOG_USB_H__

+

+#include <fcntl.h>

+#include <termios.h>

+#include <poll.h>

+#include "../zlog_com.h"

+

+#define ZLOG_BUF_SIZE               (512)

+#define ZLOG_SHELL_CMD_SIZE         (64)

+

+#define MAX_USBFS_BULK_IN_SIZE      (4 * 1024)

+#define MAX_USBFS_BULK_OUT_SIZE     (4 * 1024)

+#define USB_TTY_DEV                 "/dev/ttyUSB0"

+

+//common define

+#define MIN(X, Y) ((X)<(Y))? (X):(Y)

+

+typedef struct

+{

+    char *portname;

+    int ttyfd;

+} usbdev_t;

+

+int zLogAgt_Usb_Write(usbdev_t *udev, char *pbuf, int size);

+int zLogAgt_Usb_Read(usbdev_t *udev, char *pbuf, int size);

+int zLogAgt_Usb_Close(usbdev_t *udev);

+

+#endif

+

diff --git a/ap/hostapp/zlogtrace_ref/netcom_rserial/Makefile b/ap/hostapp/zlogtrace_ref/netcom_rserial/Makefile
new file mode 100755
index 0000000..05d74b2
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/netcom_rserial/Makefile
@@ -0,0 +1,9 @@
+SUBEXEC = netserial
+all: $(SUBEXEC)
+
+REMOBJ=comm_serial.o comm_stty.o
+$(SUBEXEC): $(REMOBJ)
+	$(CC) $(LDFLAGS) -o $(SUBEXEC) $(REMOBJ)
+
+clean:
+	rm -f $(SUBEXEC) *.elf *.gdb *.o 
diff --git a/ap/hostapp/zlogtrace_ref/netcom_rserial/README.txt b/ap/hostapp/zlogtrace_ref/netcom_rserial/README.txt
new file mode 100755
index 0000000..06a7ac0
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/netcom_rserial/README.txt
@@ -0,0 +1,149 @@
+---------

+

+The remserial program acts as a communications bridge between a TCP/IP

+network port and a Linux device such as a serial port.  Any character-oriented

+Linux /dev device will work.

+

+The program can also use pseudo-ttys as the device.  A pseudo-tty is like

+a serial port in that it has a /dev entry that can be opened by a program

+that expects a serial port device, except that instead of belonging to

+a physical serial device, the data can be intercepted by another program.

+The remserial program uses this to connect a network port to the

+"master" (programming) side of the pseudo-tty allowing the device driver

+(slave) side to be used by some program expecting a serial port.  See example

+3 below for details.

+

+The program can operate as a server accepting network connections from

+other machines, or as a client, connecting to remote machine that

+is running the remserial program or some other program that accepts

+a raw network connection.  The network connection passes data as-is,

+there is no control protocol over the network socket.

+

+Multiple copies of the program can run on the same computer at the same

+time assuming each is using a different network port and device.

+

+Some examples:

+

+1) Give access to a RS232 device over a network.

+

+The computer with the serial port connected to the device (such as a

+data aquisition device) runs the remserial program:

+

+	remserial -d -p 23000 -s "9600 raw" /dev/ttyS0 &

+

+This starts the program in daemon mode so that it runs in the background,

+it waits for connections on port 23000 and sets up the serial port

+/dev/ttyS0 at 9600 baud.  Network connections to port 23000 from any

+machine can then read and write to the device attached to the serial port.

+

+This can be started from /etc/rc.local or as an entry in /etc/inittab

+or set up as a system service with a file in /etc/rc.init/.

+

+2) Connect an RS232 device to a specified server.

+

+The computer with the serial port connected to the device (such as a

+data aquisition device) runs the remserial program:

+

+	remserial -d -r server-name -p 23000 -s "9600 raw" /dev/ttyS0 &

+

+This would be used with case number 1 above creating an end-to-end serial

+port connection.  What goes in the serial port on one machine would come

+out the serial port of the other machine.  The ports could be running at

+different baud rates or other serial port settings.

+

+3) Connect a Linux program that needs a serial port to a remote serial port.

+

+Some programs are written to communicate directly with a serial port such

+as some data aquisition programs.  The remserial program can use

+pseudo-ttys to fool the program into thinking that it is talking to a

+real serial port on the local machine:

+

+	remserial -d -r server-name -p 23000 -l /dev/remserial1 /dev/ptmx &

+

+This creates a file called /dev/remserial1 which can be used by the

+data aquisition application as its serial port.  Any data sent or received

+is passed to the remote server-name on port 23000 where a computer configured

+in case number 1 above passes it to a real serial port.

+

+The remserial program uses the special pseudo-tty master device /dev/ptmx

+(see man ptmx) which creates a slave device that looks like a normal

+serial port named /dev/pts/something.  Unfortunately, the actual device

+name created isn't consistent, so the remserial program creates a symbol

+link from the device name specified with the -l option to the /dev/pts/

+name that was created allowing the other application to be configured

+with a consistent device name.

+

+4) Server farm console control.

+

+Assuming multiple Linux servers (such as web servers) are set up to have a

+serial port as their console instead of a monitor/keyboard, their serial

+ports could be connected to a control server using a multi-port serial board.

+On the control server, a copy of remserial is run for each server:

+

+	remserial -d -p 23000 -s "115200 raw" /dev/ttyS0 &

+	remserial -d -p 23001 -s "115200 raw" /dev/ttyS1 &

+	remserial -d -p 23002 -s "115200 raw" /dev/ttyS2 &

+	remserial -d -p 23003 -s "115200 raw" /dev/ttyS3 &

+	etc.

+

+From any computer on the local network, use a telnet program to connect

+to the control server on the appropriate port:

+

+	telnet control-server-name 23002

+

+This would connect through the associated serial port to the desired server's

+console.  This example would then give the user console access to the 3rd

+server.

+

+Careful scripting such as using the Linux "expect" program could allow

+batches of commands to be run on each server.

+

+Other Linux program useful with remserial

+-----------------------------------------

+

+- nc - The netcat program is similar to remserial except that it creates

+  connections between network ports and command line standard input and

+  output.

+

+  For example, with case number 1 above, the following command run on

+  another computer will send the contents of the named file out the

+  serial port used by the remserial program:

+

+  nc server-name 23000 <file-name

+

+  Similarily, the following command will store incoming serial data in a file

+  until the program is manually interrupted:

+

+  nc server-name 23000 >file-name

+

+- telnet - The telnet program is normally used to log into a remote computer,

+  but when used with network ports other than number 23, it operates in a

+  raw data mode.

+

+  For example, with case number 1 above, the following command will allow

+  the user of the telnet program to see incoming serial port data and

+  type data on the keyboard to send to the serial port:

+

+  telnet server-name 23000

+

+  This is ideal for controlling the device connected to the serial port 

+  if it has some sort of command line interface usable over the serial port.

+

+

+remserial Usage:

+---------------

+

+remserial [-r machinename] [-p netport] [-s "stty params"] device

+

+-r machinename		The remote machine name to connect to.  If not

+			specified, then this is the server side.

+-p netport		Specifiy IP port# (default 23000)

+-s "stty params"	If serial port, specify stty parameters, see man stty

+-d			Run as daemon programs

+-x debuglevel		Set debug level, 0 is default, 1,2 give more info

+-l linkname		If the device is /dev/ptmx, creates a symbolic link

+                        to the corresponding slave pseudo-tty so that another

+			application has a static device name to use.

+-m max-connections	Maximum number of simultaneous client connections to allow

+device			Character oriented device node such as /dev/ttyS0.

+

diff --git a/ap/hostapp/zlogtrace_ref/netcom_rserial/comm_serial.c b/ap/hostapp/zlogtrace_ref/netcom_rserial/comm_serial.c
new file mode 100755
index 0000000..6b641b2
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/netcom_rserial/comm_serial.c
@@ -0,0 +1,405 @@
+/*
+ * 
+ * Copyright (C) 2000  Paul Davis, pdavis@lpccomp.bc.ca
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *
+ * This program acts as a bridge either between a socket(2) and a
+ * serial/parallel port or between a socket and a pseudo-tty.
+ */
+#include "../zlog_com.h"
+
+/**
+ * ºê¶¨Òå
+ */
+#define RECVBUF_MODEM_MAX_LEN   2048
+#define RECVBUF_SOCK_CLIENT_LEN  512
+
+/**
+ * Íⲿ±äÁ¿ÒýÓÃ
+ */
+extern char* ptsname(int fd);
+
+/**
+ * Íⲿº¯ÊýÒýÓÃ
+ */
+extern int set_tty(int fd, char *settings);
+
+/**
+ * È«¾Ö±äÁ¿¶¨Òå
+ */
+struct sockaddr_in addr, remoteaddr;
+int    devfd;
+int    *remotefd;
+char   *machinename;
+char   *sttyparms;
+char   *sdevname;
+char   *linkname;
+int    sockfd    = -1;
+int    port    = 23000;
+int    debug   = 0;
+int    isdaemon    = 0;
+int    curConnects = 0;
+int    maxConnects = 1;
+int    writeonly;
+
+fd_set  fdsread, fdsreaduse;
+struct  hostent *remotehost;
+char    devbuf[RECVBUF_MODEM_MAX_LEN];
+
+/**
+ * ¾Ö²¿º¯ÊýÉùÃ÷
+ */
+void zLogAgt_SigHandler(int sig);
+int zLogAgt_connect_to(struct sockaddr_in *addr);
+void usage(char *progname);
+void link_slave(int fd);
+
+/**
+ * @brief ÐźŴ¦Àíº¯Êý
+ * @param[in] sigÐźÅÖµ
+ * @return VOID
+ * @note
+ * @see 
+ */
+void zLogAgt_SigHandler(int sig)
+{
+    int i;
+
+    if (sockfd != -1)
+        close(sockfd);
+    
+    for (i=0; i<curConnects; i++)
+        close(remotefd[i]);
+    
+    if (devfd != -1)
+        close(devfd);
+    
+    if (linkname)
+        unlink(linkname);
+    
+    printf("Terminating on signal %d", sig);
+    exit(8);
+}
+
+void link_slave(int fd)
+{
+    char *slavename;
+    int status = grantpt(devfd);
+    if (status != -1)
+        status = unlockpt(devfd);
+    if (status != -1) {
+        slavename = ptsname(devfd);
+        if (slavename) {
+            // Safety first
+            unlink(linkname);
+            status = symlink(slavename, linkname);
+        }
+        else
+            status = -1;
+    }
+    if (status == -1) {
+        printf( "Cannot create link for pseudo-tty: %m");
+        exit(9);
+    }
+}
+
+/**
+ * @brief socketÍøÂçͨÐÅ´¦ÀíÁ÷³Ì
+ * @param[in] addr
+ * @return socket Ì×½Ó×Ö
+ * @note
+ * @see 
+ */
+int zLogAgt_connect_to(struct sockaddr_in *addr)
+{
+    int waitlogged = 0;
+    int stat;
+    int sockfd;
+    extern int errno;
+
+    if (debug > 0) {
+        unsigned long ip = ntohl(addr->sin_addr.s_addr);
+        printf("Trying to connect to %d.%d.%d.%d",
+            (int)(ip>>24)&0xff,
+            (int)(ip>>16)&0xff,
+            (int)(ip>>8)&0xff,
+            (int)(ip>>0)&0xff);
+    }
+
+    while (1) {
+        /* Open the socket for communications */
+        sockfd = socket(AF_INET, SOCK_STREAM, 6);
+        
+        if (sockfd == -1) {
+            printf( "Can't open socket: %m");
+            exit(10);
+        }
+
+        /* Try to connect to the remote server,
+           if it fails, keep trying */
+
+        stat = connect(sockfd, (struct sockaddr*)addr,
+            sizeof(struct sockaddr_in));
+        if (debug>1)
+            if (stat == -1)
+                printf( "Connect status %d, errno %d: %m\n", stat,errno);
+            else
+                printf( "Connect status %d\n", stat);
+
+        if (stat == 0)
+            break;
+        /* Write a message to printf once */
+        if (!waitlogged) {
+            printf(    "Waiting for server on %s port %d: %m",    machinename, port);
+            waitlogged = 1;
+        }
+        close(sockfd);
+        sleep(10);
+    }
+    if (waitlogged || debug > 0)
+        printf("Connected to server %s port %d", machinename, port);
+    
+    return sockfd;
+}
+
+/**
+ * main º¯Êý¶¨Òå
+ */
+ /**
+ * @brief net <-> serial ģʽÖ÷´¦Àíº¯Êý
+ * @param[in] usb É豸Îļþ¾ä±ú
+ * @return Á÷³Ì´¦Àí½á¹û
+ * @note
+ * @see 
+ */
+int zLogAgt_NetSerial_Main(int fd_usb)
+{
+    int result;
+    extern char *optarg;
+    extern int optind;
+    int maxfd = -1;
+    int devbytes;
+    int remoteaddrlen;
+    int waitlogged = 0;
+    register int i;
+    
+    PRINTF_DBG_INFO("Net and Serial Enter\n");
+
+    printf("sdevname=%s, port=%d, stty=%s\n",sdevname,port,sttyparms);//sdevname=/dev/ttyUSB0, port=23000, stty=921600 raw, optind=5
+
+    devfd = fd_usb;
+    
+    signal(SIGINT,  zLogAgt_SigHandler);
+    signal(SIGHUP,  zLogAgt_SigHandler);
+    signal(SIGTERM, zLogAgt_SigHandler);
+
+    remotefd = (int *) malloc (maxConnects * sizeof(int));
+    openlog("remserial", LOG_PID, LOG_USER);
+
+    if (linkname)
+        link_slave(devfd);
+
+    /* remserial  -r server-name -p 23000 -s "9600 raw" /dev/ttyS0 */
+    if (machinename) {
+        /* We are the client,
+           Find the IP address for the remote machine */
+        remotehost = gethostbyname(machinename);
+        if (!remotehost) {
+            printf("Couldn't determine address of %s\n", machinename);
+            exit(3);
+        }
+
+        /* Copy it into the addr structure */
+        addr.sin_family = AF_INET;
+        memcpy(&(addr.sin_addr), remotehost->h_addr_list[0],
+            sizeof(struct in_addr));
+        addr.sin_port = htons(port);
+
+        remotefd[curConnects++] = zLogAgt_connect_to(&addr);
+    }
+    else {
+        /* We are the server */
+        /* Open the initial socket for communications */
+        sockfd = socket(AF_INET, SOCK_STREAM, 6);
+        if (sockfd == -1) {
+            printf("Can't open socket: %m\n");
+            exit(4);
+        }
+
+        addr.sin_family = AF_INET;
+        //addr.sin_addr.s_addr = 0;
+        addr.sin_port = htons(port);
+        addr.sin_addr.s_addr = htonl(INADDR_ANY);
+     
+        /* Set up to listen on the given port */
+        if(bind(sockfd, (struct sockaddr*)(&addr),
+            sizeof(struct sockaddr_in)) < 0) {
+            printf("Couldn't bind port %d, aborting: %m",port);
+            exit(5);
+        }
+        if (debug > 1)
+            printf("Bound port\n");
+
+        /* Tell the system we want to listen on this socket */
+        result = listen(sockfd, 4);
+        if (result == -1) {
+            printf( "Socket listen failed: %m");
+            exit(6);
+        }
+
+        if (debug > 1)
+            printf("Done listen\n");
+    }
+
+    if (isdaemon) {
+        setsid();
+        close(0);
+        close(1);
+        close(2);
+    }
+
+    /* Set up the files/sockets for the select() call */
+    if (sockfd != -1) {
+        FD_SET(sockfd, &fdsread);
+        if (sockfd >= maxfd)
+            maxfd = sockfd + 1;
+    }
+
+    for (i = 0; i < curConnects; i++) {
+        FD_SET(remotefd[i], &fdsread);
+        if (remotefd[i] >= maxfd)
+            maxfd = remotefd[i] + 1;
+    }
+
+    if (!writeonly) {
+        FD_SET(devfd, &fdsread);
+        if (devfd >= maxfd)
+            maxfd = devfd + 1;
+    }
+
+    while (1) {
+        /* Wait for data from the listening socket, the device
+           or the remote connection */
+        fdsreaduse = fdsread;
+        if (select(maxfd, &fdsreaduse, NULL, NULL, NULL) == -1)
+            break;
+
+        /* Activity on the controlling socket, only on server */
+        if (!machinename && FD_ISSET(sockfd, &fdsreaduse)) {
+            int fd;
+
+            /* Accept the remote systems attachment */
+            remoteaddrlen = sizeof(struct sockaddr_in);
+            fd = accept(sockfd, (struct sockaddr*)(&remoteaddr), &remoteaddrlen);
+        
+            if (fd == -1)
+                printf("accept failed: \n");
+            else if (curConnects < maxConnects) {
+                unsigned long ip;
+                remotefd[curConnects++] = fd;
+                /* Tell select to watch this new socket */
+                FD_SET(fd, &fdsread);
+                if ( fd >= maxfd )
+                    maxfd = fd + 1;
+                ip = ntohl(remoteaddr.sin_addr.s_addr);
+                printf( "Connection from %d.%d.%d.%d\n",
+                    (int)(ip>>24)&0xff,
+                    (int)(ip>>16)&0xff,
+                    (int)(ip>>8)&0xff,
+                    (int)(ip>>0)&0xff);
+            }
+            else {
+                // Too many connections, just close it to reject
+                close(fd);
+            }
+        }
+
+        /* Data to read from the device */
+        if (FD_ISSET(devfd, &fdsreaduse)) {
+            devbytes = read(devfd, devbuf, RECVBUF_MODEM_MAX_LEN - 1);
+
+            if (debug > 1)
+                printf("Device: %d bytes\n", devbytes);
+            if (devbytes <= 0) {
+                if (debug > 0)
+                    printf("%s closed\n", sdevname);
+                close(devfd);
+                FD_CLR(devfd, &fdsread);
+                while (1) {
+                    devfd = open(sdevname, O_RDWR);
+                    if (devfd != -1)
+                        break;
+                    printf("Open of %s failed: %m\n", sdevname);
+                    if (errno != EIO)
+                        exit(7);
+                    sleep(1);
+                }
+                if (debug > 0)
+                    printf("%s re-opened", sdevname);
+                if (sttyparms)
+                    set_tty(devfd, sttyparms);
+                if (linkname)
+                    link_slave(devfd);
+                FD_SET(devfd, &fdsread);
+                if (devfd >= maxfd)
+                    maxfd = devfd + 1;
+            }
+            else
+                for (i = 0; i < curConnects; i++)
+                    write(remotefd[i], devbuf, devbytes);
+        }
+
+        if (debug > 1)
+            printf("read Remotefd data start\n");
+        /* Data to read from the remote system */
+        for (i = 0; i < curConnects; i++)
+            if (FD_ISSET(remotefd[i], &fdsreaduse)) {
+                devbytes = read(remotefd[i], devbuf, RECVBUF_SOCK_CLIENT_LEN);
+                //if ( debug>1 && devbytes>0 )
+                if (debug > 1)
+                    printf("Remote: %d bytes", devbytes);
+
+                if (devbytes == 0) {
+                    register int j;
+                    printf("Connection closed\n");
+                    close(remotefd[i]);
+                    FD_CLR(remotefd[i], &fdsread);
+                    curConnects--;
+                    
+                    for (j=i; j<curConnects; j++)
+                        remotefd[j] = remotefd[j+1];
+                    
+                    if (machinename) {
+                        /* Wait for the server again */
+                        remotefd[curConnects++] = zLogAgt_connect_to(&addr);
+                        FD_SET(remotefd[curConnects-1], &fdsread);
+                        if (remotefd[curConnects-1] >= maxfd)
+                            maxfd = remotefd[curConnects-1] + 1;
+                    }
+                }
+                else if (devfd != -1)
+                    /* Write the data to the device */
+                    write(devfd, devbuf, devbytes);
+        }
+    }
+    close(sockfd);
+    for (i=0; i<curConnects; i++)
+        close(remotefd[i]);
+
+    return 0;
+}
+
diff --git a/ap/hostapp/zlogtrace_ref/netcom_rserial/comm_stty.c b/ap/hostapp/zlogtrace_ref/netcom_rserial/comm_stty.c
new file mode 100755
index 0000000..9229ee0
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/netcom_rserial/comm_stty.c
@@ -0,0 +1,275 @@
+/*
+ * remserial
+ * Copyright (C) 2000  Paul Davis
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <stdlib.h>
+#include <termios.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include "../zlog_com.h"
+
+/**
+ * ºê¶¨Òå
+ */
+#define CFLG    0
+#define IFLG    1
+#define OFLG    2
+#define LFLG    3
+#define RFLG    4
+#define BFLG    5
+
+
+/**
+ * Íⲿ±äÁ¿ÒýÓÃ
+ */
+extern int errno;
+
+/**
+ * È«¾Ö±äÁ¿¶¨Òå
+ */
+static struct sttyset {
+    char *name;
+    int which;
+    int mask;
+    int value;
+} sttynames[] = {
+    { "raw",    RFLG,    0,     0},
+    { "0",      BFLG,    0,     B0},
+    { "50",     BFLG,    0,     B50},
+    { "75",     BFLG,    0,     B75},
+    { "110",    BFLG,    0,     B110},
+    { "134",    BFLG,    0,     B134},
+    { "150",    BFLG,    0,     B150},
+    { "200",    BFLG,    0,     B200},
+    { "300",    BFLG,    0,     B300},
+    { "600",    BFLG,    0,     B600},
+    { "1200",   BFLG,    0,     B1200},
+    { "1800",   BFLG,    0,     B1800},
+    { "2400",   BFLG,    0,     B2400},
+    { "4800",   BFLG,    0,     B4800},
+    { "9600",   BFLG,    0,     B9600},
+    { "19200",  BFLG,    0,     B19200},
+    { "38400",  BFLG,    0,     B38400},
+#ifdef B57600
+    { "57600",  BFLG,    0,     B57600},
+#endif
+#ifdef B115200
+    { "115200", BFLG,    0,     B115200},
+#endif
+#ifdef B230400
+    { "230400", BFLG,    0,     B230400},
+#endif
+    { "cs7",     CFLG,    CSIZE,     CS7},
+    { "cs8",     CFLG,    CSIZE,     CS8},
+    { "cstopb",  CFLG,    CSTOPB,    CSTOPB},
+    { "cread",   CFLG,    CREAD,     CREAD},
+    { "parenb",  CFLG,    PARENB,    PARENB},
+    { "parodd",  CFLG,    PARODD,    PARODD},
+    { "hubcl",   CFLG,    HUPCL,     HUPCL},
+    { "clocal",  CFLG,    CLOCAL,    CLOCAL},
+#ifdef CRTSCTS
+    { "crtscts", CFLG,    CRTSCTS,   CRTSCTS},
+#endif
+#ifdef ORTSFL
+    { "ortsfl",  CFLG,    ORTSFL,    ORTSFL},
+#endif
+#ifdef CTSFLOW
+    { "ctsflow", CFLG,    CTSFLOW,   CTSFLOW},
+#endif
+#ifdef RTSFLOW
+    { "rtsflow", CFLG,    RTSFLOW,   RTSFLOW},
+#endif
+    { "ignbrk",  IFLG,    IGNBRK,    IGNBRK},
+    { "brkint",  IFLG,    BRKINT,    BRKINT},
+    { "ignpar",  IFLG,    IGNPAR,    IGNPAR},
+    { "parmrk",  IFLG,    PARMRK,    PARMRK},
+    { "inpck",   IFLG,    INPCK,     INPCK},
+    { "istrip",  IFLG,    ISTRIP,    ISTRIP},
+    { "inlcr",   IFLG,    INLCR,     INLCR},
+    { "igncr",   IFLG,    IGNCR,     IGNCR},
+    { "icrnl",   IFLG,    ICRNL,     ICRNL},
+#ifdef IUCLC    // Missing on OSX, FreeBSD
+    { "iuclc",   IFLG,    IUCLC,     IUCLC},
+#endif
+    { "ixon",    IFLG,    IXON,      IXON},
+    { "ixany",   IFLG,    IXANY,     IXANY},
+    { "ixoff",   IFLG,    IXOFF,     IXOFF},
+#ifdef IMAXBEL
+    { "imaxbel", IFLG,    IMAXBEL,   IMAXBEL},
+#endif
+    { "opost",   OFLG,    OPOST,     OPOST},
+#ifdef ILCUC    // Missing on OSX, FreeBSD
+    { "olcuc",   OFLG,    OLCUC,     OLCUC},
+#endif
+    { "onlcr",   OFLG,    ONLCR,        ONLCR},
+    { "ocrnl",   OFLG,    OCRNL,        OCRNL},
+    { "onocr",   OFLG,    ONOCR,        ONOCR},
+    { "onlret",  OFLG,    ONLRET,        ONLRET},
+    { "ofil",    OFLG,    OFILL,        OFILL},
+    { "ofdel",   OFLG,    OFDEL,        OFDEL},
+    { "nl0",     OFLG,    NLDLY,        NL0},
+    { "nl1",     OFLG,    NLDLY,        NL1},
+    { "cr0",     OFLG,    CRDLY,        CR0},
+    { "cr1",     OFLG,    CRDLY,        CR1},
+    { "cr2",     OFLG,    CRDLY,        CR2},
+    { "cr3",     OFLG,    CRDLY,        CR3},
+    { "tab0",    OFLG,    TABDLY,       TAB0},
+    { "tab1",    OFLG,    TABDLY,       TAB1},
+    { "tab2",    OFLG,    TABDLY,       TAB2},
+    { "tab3",    OFLG,    TABDLY,       TAB3},
+    { "bs0",     OFLG,    BSDLY,        BS0},
+    { "bs1",     OFLG,    BSDLY,        BS1},
+    { "vt0",     OFLG,    VTDLY,        VT0},
+    { "vt1",     OFLG,    VTDLY,        VT1},
+    { "ff0",     OFLG,    FFDLY,        FF0},
+    { "ff1",     OFLG,    FFDLY,        FF1},
+    { "isig",    LFLG,    ISIG,         ISIG},
+    { "icanon",    LFLG,    ICANON,        ICANON},
+#ifdef XCASE    // Missing on OSX, FreeBSD
+    { "xcase",    LFLG,    XCASE,        XCASE},
+#endif
+    { "echo",      LFLG,    ECHO,        ECHO},
+    { "echoe",     LFLG,    ECHOE,        ECHOE},
+    { "echok",     LFLG,    ECHOK,        ECHOK},
+    { "echonl",    LFLG,    ECHONL,        ECHONL},
+    { "noflsh",    LFLG,    NOFLSH,        NOFLSH},
+    { "tostop",    LFLG,    TOSTOP,        TOSTOP},
+#ifdef ECHOCTL
+    { "echoctl",   LFLG,    ECHOCTL,    ECHOCTL},
+#endif
+#ifdef ECHOPRT
+    { "echoprt",   LFLG,    ECHOPRT,    ECHOPRT},
+#endif
+#ifdef ECHOKE
+    { "echoke",    LFLG,    ECHOKE,     ECHOKE},
+#endif
+#ifdef FLUSHO
+    { "flusho",    LFLG,    FLUSHO,     FLUSHO},
+#endif
+#ifdef PENDIN
+    { "pendin",    LFLG,    PENDIN,     PENDIN},
+#endif
+    { "iexten",    LFLG,    IEXTEN,     IEXTEN},
+#ifdef TOSTOP
+    { "tostop",    LFLG,    TOSTOP,     TOSTOP},
+#endif
+    { NULL,        0,       0,          0}
+};
+
+/**
+ * @brief ÉèÖÃttyÉ豸µÄ²¨ÌØÂÊ
+ * @param[in] term¡¢p¡¢turnon
+ * @return void
+ * @note
+ * @see 
+ */
+static void set_this_tty(struct termios *term, struct sttyset *p, int turnon)
+{
+    /*
+    pdebug(5,"set_this_tty: setting %s on? %d\n",p->name,turnon);
+    */
+    switch (p->which) {
+    case CFLG:
+        term->c_cflag &= ~(p->mask);
+        if (turnon)
+            term->c_cflag |= p->value;
+        break;
+    case IFLG:
+        term->c_iflag &= ~(p->mask);
+        if (turnon)
+            term->c_iflag |= p->value;
+        break;
+    case OFLG:
+        term->c_oflag &= ~(p->mask);
+        if (turnon)
+            term->c_oflag |= p->value;
+        break;
+    case LFLG:
+        term->c_lflag &= ~(p->mask);
+        if (turnon)
+            term->c_lflag |= p->value;
+        break;
+    case RFLG:
+        term->c_iflag = 0;
+        term->c_oflag = 0;
+        term->c_lflag = 0;
+        term->c_cc[VMIN] = 1;
+        term->c_cc[VTIME] = 0;
+        break;
+    case BFLG:
+        cfsetispeed(term, p->value);
+        cfsetospeed(term, p->value);
+        break;
+    }
+}
+
+/**
+ * @brief ÉèÖÃttyÉ豸µÄ²¨ÌØÂÊ
+ * @param[in] fdÉ豸ÎļþÃèÊö·û
+ * @param[in] settings ²¨ÌØÂÊÖµ
+ * @return ³É¹¦·µ»Ø0£¬Ê§°Ü·µ»Ø-1
+ * @note
+ * @see 
+ */
+int set_tty(int fd, char *settings)
+{
+    register char *p;
+    register char *s;
+    struct termios term;
+    register int i;
+    int mode;
+
+    printf("set_tty: baud rate is %s, and the default baud is %s\n", settings, ZLOG_DEFAULT_TTYBAUD);
+
+    if (tcgetattr(fd,&term) == -1) {
+        /*
+        pdebug(4,"set_tty: cannot get settings for fd %d, error %d\n",
+            fd,errno);
+        */
+        return -1;
+    }
+
+    s = strdup(settings);
+    p = strtok(s, " \t\n");
+    while (p) {
+        mode = 1;
+        if (*p == '-') {
+            mode = 0;
+            p++;
+        }
+        for (i=0; sttynames[i].name; i++) {
+            if (!strcmp(p,sttynames[i].name)) {
+                set_this_tty(&term,&sttynames[i],mode);
+                break;
+            }
+        }
+        p = strtok(NULL, " \t\n");
+    }
+    free(s);
+    if (tcsetattr(fd, TCSANOW, &term) == -1) {
+        /*
+        pdebug(4,"set_tty: cannot get settings for fd %d error %d\n",
+            fd,errno);
+        */
+        return -1;
+    }
+    else
+        return 0;
+}
+
diff --git a/ap/hostapp/zlogtrace_ref/readcmd.txt b/ap/hostapp/zlogtrace_ref/readcmd.txt
new file mode 100755
index 0000000..3b601a6
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/readcmd.txt
@@ -0,0 +1,39 @@
+

+运行命令如下:

+

+底板存log功能:

+       ./zlogcom -d "/dev/ttyUSB0" -f "/tmp/logfile"  -t 100

+

+网口log<--> serial口 log传输:

+       ./zlogcom -d "/dev/ttyUSB0"  -p 23000  -s “921600 raw” 

+

+保存文件系统必选参数: -d是log口设备文件路径, -f是要保存的文件路径,-t是要保存的log总大小:100代表100M: 其中,单个log的大小默认是50M(代码可以修改)

+                       #define  SINGLE_LOG_SIZE        (50*1024*1024)  注:单个log大小可以根据磁盘大小进行设置

+                       如果保存的log量超过了用户输入的总log大小,可以设置删除较早的文件,使用宏 DELETE_OLD_FILE_NUMR 进行配置

+                       #define  DELETE_OLD_FILE_NUMR   (1)             注:代码中默认是1

+                       这两个宏值可根据实际需要进行动态配置。

+

+网口-串口模式必选参数:-d是log口设备文件路径, -p是服务器端口号,-s 是可选参数波特率,默认是921600

+

+

+

+具体参数项

+

+序号    参数                       说明

+1        -d  /dev/ttyUSB1        Log口设备路径,需传入正确 

+1        -f  /tmp/logfile        log保存到大板侧本地文件系统时,传入的文件路径

+2        -p netport              指定IP端口(默认23000)

+3        -s \"stty params\"      如果是串口,指定stty参数

+4        -r machinename          要连接的远程机器名。如果未指定,那么这是服务器端。

+5        -m max-connections      允许的最大同时客户端连接数

+6        -e                      作为守护程序运行

+7        -x debuglevel           设置调试级别,0为默认值,1,2给出更多信息

+8        -w                      只写入设备,不读取

+

+

+其他说明

+1. 如果是本地存log功能,必须传入本地log保存路径和USB的设备文件名称(如ttyUSB1);

+

+2. 如果心跳包发送失败,本地保存log的进程会退出;

+

+3. V3t的板子如果死机或者重新断电上电、重启等,需要重新启动大板本地log保存功能和网口log导出的进程;
\ No newline at end of file
diff --git a/ap/hostapp/zlogtrace_ref/zlog_com.h b/ap/hostapp/zlogtrace_ref/zlog_com.h
new file mode 100755
index 0000000..8e50907
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/zlog_com.h
@@ -0,0 +1,82 @@
+/*

+ * 

+ * Copyright (C)  2023

+ *

+ * This program is free software; you can redistribute it and/or modify

+ * it under the terms of the GNU General Public License as published by

+ * the Free Software Foundation; either version 2 of the License, or

+ * (at your option) any later version.

+ *

+ * This program is distributed in the hope that it will be useful,

+ * but WITHOUT ANY WARRANTY; without even the implied warranty of

+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

+ * GNU General Public License for more details

+ *

+ * FileName : zlog_com.h

+ * This program Capture module's trace log.

+ */

+

+#ifndef __ZLOG_COM_H__

+#define __ZLOG_COM_H__

+

+#include <stdio.h>

+#include <stdlib.h>

+#include <string.h>

+#include <fcntl.h>

+#include <unistd.h>

+#include <syslog.h>

+#include <signal.h>

+#include <errno.h>

+#include <sys/time.h>

+#include <sys/types.h>

+#include <sys/socket.h>

+#include <netinet/in.h>

+#include <netdb.h>

+

+/**

+ * Íⲿº¯ÊýÉùÃ÷

+ */

+extern int set_tty(int fd,char *settings);

+

+/**

+ * ºê¶¨Òå

+ */

+#define ZLOG_DEFAULT_TTYBAUD  "921600 raw"

+

+#define PRINTF_DBG_INFO(fmt, args...) \

+		do 							\

+		{ 							\

+			printf("INFO:%s(%d)-%s:\n"fmt":\n", __FILE__,__LINE__,__FUNCTION__); \

+		} while (0)

+

+#define PRINTF_DBG_ERROR(fmt, args...) \

+		do 							\

+		{ 							\

+			printf("ERROR:%s(line %d)--%s: "fmt": %s\n", __FILE__,__LINE__,__FUNCTION__,##args, strerror(errno)); \

+		} while (0)

+

+#define dbg_time(fmt, args...)  \

+		do {   \

+			fprintf(stdout, "[%s-%d] " fmt, __func__, __LINE__, ##args); \

+			fflush(stdout); \

+		} while (0)

+		

+typedef unsigned long UINT32;

+typedef unsigned long ULONG32;

+

+/**

+ * ½á¹¹Ì嶨Òå

+ */

+typedef struct 

+{

+	UINT32  curfd;

+	UINT32  uFileNum;

+	UINT32  uFileSize;

+	UINT32  tmaxLogNum;

+	ULONG32 tMaxLogsize;

+	char    *localFsPath;

+}T_COMM_FS_PARAM;

+

+#endif

+

+

diff --git a/ap/hostapp/zlogtrace_ref/zlog_main.c b/ap/hostapp/zlogtrace_ref/zlog_main.c
new file mode 100755
index 0000000..813a845
--- /dev/null
+++ b/ap/hostapp/zlogtrace_ref/zlog_main.c
@@ -0,0 +1,155 @@
+/*
+ *
+ * * Copyright 2023
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+#include "zlog_com.h"
+
+/**
+ * ºê¶¨Òå
+ */
+
+/**
+ * Íⲿ±äÁ¿ÒýÓÃ
+ */
+extern int 	port;
+extern int 	debug;
+extern char	*machinename;
+extern char	*sttyparms;
+extern char	*linkname;
+extern int	isdaemon;
+extern int	curConnects;
+extern int	writeonly;
+extern char	*sdevname;
+extern int	maxConnects;
+extern T_COMM_FS_PARAM gFsSaveParam;
+
+/**
+ * Íⲿº¯ÊýÉùÃ÷
+ */
+extern int zLogAgt_Savefs_Main(int fd_devfile);
+extern int zLogAgt_NetSerial_Main(int fd_usb);
+
+/**
+ * È«¾Ö±äÁ¿¶¨Òå
+ */
+
+/**
+* ¾Ö²¿º¯ÊýÉùÃ÷
+ */
+static void pusage(char *progname); 
+
+/**
+ * ¾Ö²¿º¯Êý¶¨Òå
+ */
+int zLogAgt_argv_proc(int argc, char *argv[])
+{
+    int opt;
+    extern char *optarg;
+    
+    while ((opt=getopt(argc,argv,"ed:f:t:m:p:r:s:l:wx:")) != EOF)
+        switch (opt) {
+        case 'd':
+            sdevname = optarg;
+            break;
+        case 'f':
+            gFsSaveParam.localFsPath = optarg;
+            break;
+        case 't':
+            gFsSaveParam.tMaxLogsize = atoi(optarg);
+            break;
+        case 'e':
+            isdaemon = 1;
+            break;
+        case 'm':
+            maxConnects = atoi(optarg);
+            break;
+        case 'p':
+            port = atoi(optarg);
+            break;
+        case 'r':
+            machinename = optarg;
+            break;
+        case 's':
+            sttyparms = optarg;
+            break;
+        case 'l':
+            linkname = optarg;
+            break;
+        case 'x':
+            debug = atoi(optarg);
+            break;
+        case 'w':
+            writeonly = 1;
+            break;    
+        default:
+            pusage(argv[0]);
+            break;
+        }
+}
+
+static void pusage(char *progname) 
+{
+    printf("log trace serial version 1.3.  Usage:\n");
+    printf("local save:[-d devicepath] [-f \"log save path\"][-s \"stty params\"]  \n\n");
+    printf("net serial:[-d devicepath] [-r machinename] [-p netport] [-s \"stty params\"] [-m maxconnect] \n\n");
+    printf("-d devpath    I/O device, either serial port or pseudo-tty master: (for example: ttyUSB0)\n");    
+    printf("-f local fs path    Specifiy log save path: (for example: /tmp/logfile)\n");    
+    printf("-t total log size    Specifiy the total log size can be saved /\n");
+    printf("-r machinename    The remote machine name to connect to.  If not\n");
+    printf("            specified, then this is the server side.\n");
+    printf("-p netport    Specifiy IP port# (default 23000)\n");
+    printf("-s     \"stty params\"    If serial port, specify stty parameters, see man stty\n");
+    printf("-m max-connections    Maximum number of simultaneous client connections to allow\n");
+    printf("-e                Run as a daemon program\n");
+    printf("-x debuglevel    Set debug level, 0 is default, 1,2 give more info\n");
+    printf("-l linkname        If the device name is a pseudo-tty, create a link to the slave\n");
+    printf("-w              Only write to the device, no reading\n");
+}
+
+/**
+ * main º¯Êý¶¨Òå
+ */
+int main(int argc, char *argv[])
+{
+    int devfd = 0;
+    
+    zLogAgt_argv_proc(argc, argv);
+    
+    if (sdevname == NULL) {
+        printf("devpath is not config\n");
+        exit(1);
+    }    
+    
+    devfd = open(sdevname, O_RDWR, 0755);
+    if (devfd < 0) {
+        printf("Open of %s failed: %m\n", sdevname);
+        exit(2);
+    }
+
+    if (sttyparms) 
+        set_tty(devfd, sttyparms);
+    else
+        set_tty(devfd, ZLOG_DEFAULT_TTYBAUD);
+        
+    /*Èç¹û±£´æµ½´ó°å±¾µØÎļþϵͳ*/
+    if(gFsSaveParam.localFsPath)     
+        zLogAgt_Savefs_Main(devfd);
+    else 
+        zLogAgt_NetSerial_Main(devfd);
+}
+