diff options
Diffstat (limited to 'drivers/input')
78 files changed, 60944 insertions, 17331 deletions
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig index f168d87..bb8ce8c 100644 --- a/drivers/input/Kconfig +++ b/drivers/input/Kconfig @@ -161,6 +161,15 @@ config INPUT_APMPOWER To compile this driver as a module, choose M here: the module will be called apm-power. +config INPUT_SECBRIDGE + default n + bool "Enable input bridge support" + help + Say Y here if you want to enable input bridge. + This is useful for enabling different operation + according to key combinations. + If unsure, say N. + config INPUT_KEYRESET tristate "Reset key" depends on INPUT diff --git a/drivers/input/Makefile b/drivers/input/Makefile index 5d4593d..3055bfe 100644 --- a/drivers/input/Makefile +++ b/drivers/input/Makefile @@ -25,3 +25,4 @@ obj-$(CONFIG_INPUT_MISC) += misc/ obj-$(CONFIG_INPUT_APMPOWER) += apm-power.o obj-$(CONFIG_INPUT_KEYRESET) += keyreset.o +obj-$(CONFIG_INPUT_SECBRIDGE) += sec-input-bridge.o diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 6e7dd68..67dd99a 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -13,7 +13,12 @@ #define EVDEV_MINOR_BASE 64 #define EVDEV_MINORS 32 #define EVDEV_MIN_BUFFER_SIZE 64U + +#ifdef CONFIG_INPUT_WACOM +#define EVDEV_BUF_PACKETS 32 +#else #define EVDEV_BUF_PACKETS 8 +#endif #include <linux/poll.h> #include <linux/sched.h> @@ -45,6 +50,7 @@ struct evdev_client { unsigned int packet_head; /* [future] position of the first element of next packet */ spinlock_t buffer_lock; /* protects access to buffer, head and tail */ struct wake_lock wake_lock; + bool use_wake_lock; char name[28]; struct fasync_struct *fasync; struct evdev *evdev; @@ -62,7 +68,6 @@ static void evdev_pass_event(struct evdev_client *client, /* Interrupts are disabled, just acquire the lock. */ spin_lock(&client->buffer_lock); - wake_lock_timeout(&client->wake_lock, 5 * HZ); client->buffer[client->head++] = *event; client->head &= client->bufsize - 1; @@ -79,10 +84,14 @@ static void evdev_pass_event(struct evdev_client *client, client->buffer[client->tail].value = 0; client->packet_head = client->tail; + if (client->use_wake_lock) + wake_unlock(&client->wake_lock); } if (event->type == EV_SYN && event->code == SYN_REPORT) { client->packet_head = client->head; + if (client->use_wake_lock) + wake_lock(&client->wake_lock); kill_fasync(&client->fasync, SIGIO, POLL_IN); } @@ -262,7 +271,8 @@ static int evdev_release(struct inode *inode, struct file *file) mutex_unlock(&evdev->mutex); evdev_detach_client(evdev, client); - wake_lock_destroy(&client->wake_lock); + if (client->use_wake_lock) + wake_lock_destroy(&client->wake_lock); kfree(client); evdev_close_device(evdev); @@ -316,7 +326,6 @@ static int evdev_open(struct inode *inode, struct file *file) spin_lock_init(&client->buffer_lock); snprintf(client->name, sizeof(client->name), "%s-%d", dev_name(&evdev->dev), task_tgid_vnr(current)); - wake_lock_init(&client->wake_lock, WAKE_LOCK_SUSPEND, client->name); client->evdev = evdev; evdev_attach_client(evdev, client); @@ -331,7 +340,6 @@ static int evdev_open(struct inode *inode, struct file *file) err_free_client: evdev_detach_client(evdev, client); - wake_lock_destroy(&client->wake_lock); kfree(client); err_put_evdev: put_device(&evdev->dev); @@ -385,7 +393,8 @@ static int evdev_fetch_next_event(struct evdev_client *client, if (have_event) { *event = client->buffer[client->tail++]; client->tail &= client->bufsize - 1; - if (client->head == client->tail) + if (client->use_wake_lock && + client->packet_head == client->tail) wake_unlock(&client->wake_lock); } @@ -635,6 +644,35 @@ static int evdev_handle_set_keycode_v2(struct input_dev *dev, void __user *p) return input_set_keycode(dev, &ke); } +static int evdev_enable_suspend_block(struct evdev *evdev, + struct evdev_client *client) +{ + if (client->use_wake_lock) + return 0; + + spin_lock_irq(&client->buffer_lock); + wake_lock_init(&client->wake_lock, WAKE_LOCK_SUSPEND, client->name); + client->use_wake_lock = true; + if (client->packet_head != client->tail) + wake_lock(&client->wake_lock); + spin_unlock_irq(&client->buffer_lock); + return 0; +} + +static int evdev_disable_suspend_block(struct evdev *evdev, + struct evdev_client *client) +{ + if (!client->use_wake_lock) + return 0; + + spin_lock_irq(&client->buffer_lock); + client->use_wake_lock = false; + wake_lock_destroy(&client->wake_lock); + spin_unlock_irq(&client->buffer_lock); + + return 0; +} + static long evdev_do_ioctl(struct file *file, unsigned int cmd, void __user *p, int compat_mode) { @@ -708,6 +746,15 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd, case EVIOCSKEYCODE_V2: return evdev_handle_set_keycode_v2(dev, p); + + case EVIOCGSUSPENDBLOCK: + return put_user(client->use_wake_lock, ip); + + case EVIOCSSUSPENDBLOCK: + if (p) + return evdev_enable_suspend_block(evdev, client); + else + return evdev_disable_suspend_block(evdev, client); } size = _IOC_SIZE(cmd); diff --git a/drivers/input/keyboard/cypress/cypress-touchkey.c b/drivers/input/keyboard/cypress/cypress-touchkey.c index d29d91c..f29fbb0 100644 --- a/drivers/input/keyboard/cypress/cypress-touchkey.c +++ b/drivers/input/keyboard/cypress/cypress-touchkey.c @@ -48,7 +48,7 @@ /* M0 Touchkey temporary setting */ -#if defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_C1VZW) +#if defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_M3) #define CONFIG_MACH_Q1_BD #elif defined(CONFIG_MACH_C1) && !defined(CONFIG_TARGET_LOCALE_KOR) #define CONFIG_MACH_Q1_BD @@ -61,19 +61,21 @@ #define CONFIG_TARGET_LOCALE_NAATT #endif -#if defined(CONFIG_TARGET_LOCALE_NAATT) -static int touchkey_keycode[5] = { 0, - KEY_MENU, KEY_ENTER, KEY_BACK, KEY_END }; -#elif defined(CONFIG_TARGET_LOCALE_NA) -static int touchkey_keycode[5] = { NULL, - KEY_SEARCH, KEY_BACK, KEY_HOME, KEY_MENU }; -#elif defined(CONFIG_MACH_M0) \ - || defined(CONFIG_MACH_C1) \ - || defined(CONFIG_MACH_C1VZW) -static int touchkey_keycode[3] = { 0, KEY_BACK, KEY_MENU,}; +static int touchkey_keycode[] = { 0, +#if defined(TK_USE_4KEY_TYPE_ATT) + KEY_MENU, KEY_ENTER, KEY_BACK, KEY_END, + +#elif defined(TK_USE_4KEY_TYPE_NA) + KEY_SEARCH, KEY_BACK, KEY_HOMEPAGE, KEY_MENU, + +#elif defined(TK_USE_2KEY_TYPE_M0) + KEY_BACK, KEY_MENU, + #else -static int touchkey_keycode[3] = { 0, KEY_MENU, KEY_BACK }; + KEY_MENU, KEY_BACK, + #endif +}; static const int touchkey_count = sizeof(touchkey_keycode) / sizeof(int); struct touchkey_i2c *tkey_i2c_local; @@ -82,8 +84,6 @@ int touch_led_timeout = 3; // timeout for the touchkey backlight in secs int touch_led_disabled = 0; // 1= force disable the touchkey backlight #if defined(TK_HAS_AUTOCAL) -static u8 home_sensitivity; -static u8 search_sensitivity; static u16 raw_data0; static u16 raw_data1; static u16 raw_data2; @@ -117,6 +117,10 @@ static int touchkey_i2c_check(struct touchkey_i2c *tkey_i2c); static u8 menu_sensitivity; static u8 back_sensitivity; +#if defined(TK_USE_4KEY) +static u8 home_sensitivity; +static u8 search_sensitivity; +#endif static int touchkey_enable; static bool touchkey_probe = true; @@ -353,7 +357,8 @@ static ssize_t touchkey_raw_data0_show(struct device *dev, data[18], data[19]); raw_data0 = ((0x00FF & data[18]) << 8) | data[19]; #elif defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_C1)\ -|| defined(CONFIG_MACH_C1VZW) +|| defined(CONFIG_MACH_M3)\ + || defined(CONFIG_MACH_T0) printk(KERN_DEBUG "called %s data[16] =%d,data[17] = %d\n", __func__, data[16], data[17]); raw_data0 = ((0x00FF & data[16]) << 8) | data[17]; /* menu*/ @@ -383,7 +388,8 @@ static ssize_t touchkey_raw_data1_show(struct device *dev, data[20], data[21]); raw_data1 = ((0x00FF & data[20]) << 8) | data[21]; #elif defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_C1)\ -|| defined(CONFIG_MACH_C1VZW) +|| defined(CONFIG_MACH_M3)\ + || defined(CONFIG_MACH_T0) printk(KERN_DEBUG "called %s data[14] =%d,data[15] = %d\n", __func__, data[14], data[15]); raw_data1 = ((0x00FF & data[14]) << 8) | data[15]; /*back*/ @@ -552,9 +558,8 @@ static int touchkey_firmware_update(struct touchkey_i2c *tkey_i2c) tkey_i2c->firmware_ver = data[1]; tkey_i2c->module_ver = data[2]; - #if defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_C1) \ -|| defined(CONFIG_MACH_C1VZW) +|| defined(CONFIG_MACH_M3) || defined(CONFIG_MACH_T0) if ((tkey_i2c->firmware_ver < TK_FIRMWARE_VER) && (tkey_i2c->module_ver <= TK_MODULE_VER)) { #else @@ -589,7 +594,7 @@ static int touchkey_firmware_update(struct touchkey_i2c *tkey_i2c) "[TouchKey] i2c read fail.\n"); return TK_UPDATE_FAIL; } - +#if defined(CONFIG_TARGET_LOCALE_KOR) ret = i2c_touchkey_read(tkey_i2c->client, KEYCODE_REG, data, 3); if (ret < 0) { printk(KERN_DEBUG @@ -597,6 +602,7 @@ static int touchkey_firmware_update(struct touchkey_i2c *tkey_i2c) } tkey_i2c->firmware_ver = data[1]; tkey_i2c->module_ver = data[2]; +#endif printk(KERN_DEBUG "[TouchKey] firm ver = %d, module ver = %d\n", tkey_i2c->firmware_ver, tkey_i2c->module_ver); } else { @@ -734,8 +740,13 @@ static irqreturn_t touchkey_interrupt(int irq, void *dev_id) input_report_key(tkey_i2c->input_dev, touchkey_keycode[keycode_type], pressed); input_sync(tkey_i2c->input_dev); - /* printk(KERN_DEBUG "[TouchKey] keycode:%d pressed:%d\n", - touchkey_keycode[keycode_index], pressed); */ +#if !defined(CONFIG_SAMSUNG_PRODUCT_SHIP) + printk(KERN_DEBUG "[TouchKey] keycode:%d pressed:%d\n", + touchkey_keycode[keycode_type], pressed); +#else + pr_debug("[TouchKey] pressed:%d\n", + pressed); +#endif #if defined(CONFIG_TARGET_LOCALE_KOR) if (g_debug_tkey == true) { @@ -1094,6 +1105,10 @@ static ssize_t touchkey_led_control(struct device *dev, int ret; static const int ledCmd[] = {TK_CMD_LED_ON, TK_CMD_LED_OFF}; +#if defined(CONFIG_TARGET_LOCALE_KOR) + if (touchkey_probe == false) + return size; +#endif ret = sscanf(buf, "%d", &data); if (ret != 1) { printk(KERN_DEBUG "[TouchKey] %s, %d err\n", @@ -1261,7 +1276,7 @@ void touchscreen_state_report(int state) } } -#if defined(CONFIG_TARGET_LOCALE_NAATT) || defined(CONFIG_TARGET_LOCALE_NA) +#if defined(TK_USE_4KEY) static ssize_t touchkey_menu_show(struct device *dev, struct device_attribute *attr, char *buf) { @@ -1375,7 +1390,8 @@ static ssize_t touchkey_menu_show(struct device *dev, { struct touchkey_i2c *tkey_i2c = dev_get_drvdata(dev); #if defined(CONFIG_MACH_Q1_BD) \ -|| (defined(CONFIG_MACH_C1) && defined(CONFIG_TARGET_LOCALE_KOR)) +|| (defined(CONFIG_MACH_C1) && defined(CONFIG_TARGET_LOCALE_KOR))\ + || defined(CONFIG_MACH_T0) u8 data[14] = { 0, }; int ret; @@ -1399,7 +1415,8 @@ static ssize_t touchkey_back_show(struct device *dev, { struct touchkey_i2c *tkey_i2c = dev_get_drvdata(dev); #if defined(CONFIG_MACH_Q1_BD) \ -|| (defined(CONFIG_MACH_C1) && defined(CONFIG_TARGET_LOCALE_KOR)) + || (defined(CONFIG_MACH_C1) && defined(CONFIG_TARGET_LOCALE_KOR))\ + || defined(CONFIG_MACH_T0) u8 data[14] = { 0, }; int ret; @@ -1511,6 +1528,10 @@ static ssize_t set_touchkey_update_show(struct device *dev, i2c_touchkey_write(tkey_i2c->client, &get_touch, 1); #endif +#if defined(TK_HAS_AUTOCAL) + touchkey_autocalibration(tkey_i2c); +#endif + enable_irq(tkey_i2c->irq); return count; @@ -1565,7 +1586,7 @@ static DEVICE_ATTR(touchkey_menu, S_IRUGO | S_IWUSR | S_IWGRP, static DEVICE_ATTR(touchkey_back, S_IRUGO | S_IWUSR | S_IWGRP, touchkey_back_show, NULL); -#if defined(CONFIG_TARGET_LOCALE_NA) || defined(CONFIG_TARGET_LOCALE_NAATT) +#if defined(TK_USE_4KEY) static DEVICE_ATTR(touchkey_home, S_IRUGO, touchkey_home_show, NULL); static DEVICE_ATTR(touchkey_search, S_IRUGO, touchkey_search_show, NULL); #endif @@ -1612,7 +1633,7 @@ static struct attribute *touchkey_attributes[] = { &dev_attr_brightness.attr, &dev_attr_touchkey_menu.attr, &dev_attr_touchkey_back.attr, -#if defined(CONFIG_TARGET_LOCALE_NA) || defined(CONFIG_TARGET_LOCALE_NAATT) +#if defined(TK_USE_4KEY) &dev_attr_touchkey_home.attr, &dev_attr_touchkey_search.attr, #endif @@ -1746,15 +1767,29 @@ static int i2c_touchkey_probe(struct i2c_client *client, } } - ret = touchkey_i2c_check(tkey_i2c); - if (ret < 0) { +#if defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_C1) + gpio_request(GPIO_OLED_DET, "OLED_DET"); + ret = gpio_get_value(GPIO_OLED_DET); + printk(KERN_DEBUG + "[TouchKey] OLED_DET = %d\n", ret); + + if (ret == 0) { printk(KERN_DEBUG - "[TouchKey] i2c read fail. do not excute firm update.\n"); + "[TouchKey] device wasn't connected to board\n"); input_unregister_device(input_dev); touchkey_probe = false; return -EBUSY; } +#else + ret = touchkey_i2c_check(tkey_i2c); + if (ret < 0) { + printk(KERN_DEBUG"[TouchKey] probe failed\n"); + input_unregister_device(input_dev); + touchkey_probe = false; + return -EBUSY; + } +#endif ret = request_threaded_irq(tkey_i2c->irq, NULL, touchkey_interrupt, @@ -1768,7 +1803,6 @@ static int i2c_touchkey_probe(struct i2c_client *client, return -EBUSY; } - tkey_i2c->pdata->led_power_on(1); #if defined(TK_HAS_FIRMWARE_UPDATE) @@ -1820,7 +1854,7 @@ static int __init touchkey_init(void) { int ret = 0; -#if defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_C1VZW) +#if defined(CONFIG_MACH_M0) if (system_rev < TOUCHKEY_FW_UPDATEABLE_HW_REV) { printk(KERN_DEBUG "[Touchkey] Doesn't support this board rev %d\n", system_rev); diff --git a/drivers/input/keyboard/cypress/issp_main.c b/drivers/input/keyboard/cypress/issp_main.c index c212506..ddca59b4 100644 --- a/drivers/input/keyboard/cypress/issp_main.c +++ b/drivers/input/keyboard/cypress/issp_main.c @@ -389,9 +389,11 @@ unsigned int iChecksumTarget; #include "touchkey_fw_NA.h" #elif defined(CONFIG_TARGET_LOCALE_NAATT) #include "touchkey_fw_NAATT.h" -#elif defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_C1)\ -|| defined(CONFIG_MACH_C1VZW) +#elif defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_C1) || \ + defined(CONFIG_MACH_M3) #include "touchkey_fw_M0.h" +#elif defined(CONFIG_MACH_T0) +#include "touchkey_fw_T0.h" #else #include "touchkey_fw_U1.h" #endif @@ -684,7 +686,7 @@ RAM Load, FLASHBlock Program, and Target Checksum Verification.*/ /*INTFREE(); */ #else /*INTLOCK(); */ - local_irq_save(flags); + /*local_irq_save(flags);*/ /* Initialize the Host & Target for ISSP operations */ fIsError = fPowerCycleInitializeTargetForISSP(); if (fIsError) { @@ -713,20 +715,20 @@ RAM Load, FLASHBlock Program, and Target Checksum Verification.*/ #endif /*INTFREE(); */ - local_irq_restore(flags); + /*local_irq_restore(flags);*/ /*printk(KERN_DEBUG"fVerifySiliconID END\n"); */ /* Bulk-Erase the Device. */ /*printk(KERN_DEBUG"fEraseTarget START\n"); */ /*INTLOCK(); */ fIsError = fEraseTarget(); - local_irq_save(flags); + /*local_irq_save(flags);*/ if (fIsError) { ErrorTrap(fIsError); return fIsError; } /*INTFREE(); */ - local_irq_restore(flags); + /*local_irq_restore(flags);*/ /*printk(KERN_DEBUG"fEraseTarget END\n"); */ /*============================================================== @@ -739,7 +741,7 @@ this data should come from the HEX output of PSoC Designer.*/ iChecksumData = 0; /*PTJ: NUM_BANKS should be 1 for Krypton*/ for (bBankCounter = 0; bBankCounter < NUM_BANKS; bBankCounter++) { - local_irq_save(flags); + /*local_irq_save(flags);*/ for (iBlockCounter = 0; iBlockCounter < BLOCKS_PER_BANK; iBlockCounter++) { /*printk(KERN_DEBUG @@ -789,7 +791,7 @@ this data should come from the HEX output of PSoC Designer.*/ /*INTFREE(); */ /*local_irq_restore(flags);*/ } - local_irq_restore(flags); + /*local_irq_restore(flags);*/ } /*printk(KERN_DEBUG"\r\n Program Flash Blocks End\n"); */ @@ -857,7 +859,7 @@ this data should come from the HEX output of PSoC Designer.*/ come from the hex output of psoc designer. printk(KERN_DEBUG"program security data start\n");*/ /*INTLOCK(); */ - local_irq_save(flags); + /*local_irq_save(flags);*/ for (bBankCounter = 0; bBankCounter < NUM_BANKS; bBankCounter++) { /*PTJ: READ-WRITE-SETUP used here to select SRAM Bank 1 */ #ifdef CY8C20x66 @@ -887,7 +889,7 @@ this data should come from the HEX output of PSoC Designer.*/ } } /*INTFREE(); */ - local_irq_restore(flags); + /*local_irq_restore(flags);*/ /*printk(KERN_DEBUG"Program security data END\n"); */ @@ -897,7 +899,7 @@ this data should come from the HEX output of PSoC Designer.*/ loads abTargetDataOUT[] with security data that was used in secure bit stream*/ /*INTLOCK(); */ - local_irq_save(flags); + /*local_irq_save(flags);*/ fIsError = fLoadSecurityData(bBankCounter); if (fIsError) { ErrorTrap(fIsError); @@ -911,14 +913,14 @@ this data should come from the HEX output of PSoC Designer.*/ } #endif /*INTFREE(); */ - local_irq_restore(flags); + /*local_irq_restore(flags);*/ /*printk(KERN_DEBUG"Load security data END\n"); */ #endif /* security end */ /*======================================================= PTJ: Doing Checksum after READ-SECURITY*/ /*INTLOCK(); */ - local_irq_save(flags); + /*local_irq_save(flags);*/ iChecksumTarget = 0; for (bBankCounter = 0; bBankCounter < NUM_BANKS; bBankCounter++) { fIsError = fAccTargetBankChecksum(&iChecksumTarget); @@ -929,7 +931,7 @@ this data should come from the HEX output of PSoC Designer.*/ } /*INTFREE(); */ - local_irq_restore(flags); + /*local_irq_restore(flags);*/ /*printk(KERN_DEBUG"Checksum : iChecksumTarget (0x%X)\n", (unsigned char)iChecksumTarget); diff --git a/drivers/input/keyboard/cypress/touchkey_fw_T0.h b/drivers/input/keyboard/cypress/touchkey_fw_T0.h new file mode 100644 index 0000000..671d265 --- /dev/null +++ b/drivers/input/keyboard/cypress/touchkey_fw_T0.h @@ -0,0 +1,770 @@ +unsigned char firmware_data[] = { + 0x40, 0x7d, 0x00, 0x68, 0x30, 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, 0x30, + 0x7e, 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, 0x30, 0x7d, 0x00, 0x68, + 0x7e, 0x7e, 0x30, 0x30, 0x30, 0x7d, 0x04, 0xae, 0x7e, 0x7e, 0x30, + 0x30, 0x30, 0x7d, 0x05, 0xfb, 0x7e, 0x7e, 0x30, 0x30, 0x30, 0x7e, + 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, 0x30, + 0x7e, 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, 0x30, + 0x7e, 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, 0x30, + 0x7e, 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, + 0x30, 0x7e, 0x30, 0x30, 0x30, 0x7e, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x40, 0x71, 0x10, 0x62, 0xe3, + 0x06, 0x70, 0xef, 0x62, 0xe3, 0x38, 0x50, 0x80, 0x4e, 0x62, 0xe3, + 0x38, 0x5d, 0xd5, 0x08, 0x62, 0xd5, 0x00, 0x55, + 0xfa, 0x01, 0x40, 0x4f, 0x5b, 0x01, 0x03, 0x53, 0xf9, 0x55, 0xf8, 0x3a, + 0x50, 0x06, 0x00, 0x40, 0x40, 0x71, 0x10, 0x51, 0xfa, 0x60, 0xe8, + 0x70, 0xef, 0x18, 0x60, 0xd5, 0x55, 0xf8, 0x00, 0x55, 0xf9, 0x00, + 0x71, 0x10, 0x62, 0xe0, 0x1a, 0x70, 0xef, 0x62, 0xe3, 0x38, 0x71, + 0x10, 0x41, 0xe1, 0xfe, 0x70, 0xef, 0x62, 0xe3, 0x38, 0x62, 0xd1, + 0x03, 0x50, 0x80, 0x4e, 0x62, 0xd3, 0x03, 0x62, + 0xd0, 0x00, 0x62, 0xd5, 0x00, 0x62, 0xd4, 0x00, 0x71, 0xc0, 0x7c, 0x03, + 0x1b, 0x62, 0xd0, 0x00, 0x50, 0x01, 0x57, 0xc2, 0x08, 0x28, 0x53, + 0x51, 0x18, 0x75, 0x09, 0x00, 0x28, 0x4b, 0x51, 0x51, 0x80, 0x04, + 0x75, 0x09, 0x00, 0x62, 0xe3, 0x00, 0x08, 0x28, 0x60, 0xd5, 0x74, + 0xa0, 0x4b, 0x18, 0x75, 0x09, 0x00, 0x08, 0x28, 0x53, 0x51, 0x18, + 0x75, 0x09, 0x00, 0x08, 0x28, 0xa0, 0x1c, 0x53, + 0x50, 0x18, 0x75, 0x09, 0x00, 0x08, 0x28, 0x3f, 0x51, 0x47, 0x51, 0xff, + 0xb0, 0x06, 0x5d, 0xd5, 0x74, 0x60, 0xd5, 0x18, 0x7a, 0x50, 0xbf, + 0xeb, 0x8f, 0xc9, 0x18, 0x75, 0x09, 0x00, 0x08, 0x28, 0x53, 0x50, + 0x50, 0x00, 0x3f, 0x51, 0x47, 0x51, 0xff, 0xb0, 0x08, 0x5d, 0xd5, + 0x74, 0x60, 0xd5, 0x50, 0x00, 0x7a, 0x50, 0xbf, 0xef, 0x18, 0x8f, + 0xaa, 0x18, 0x71, 0x10, 0x43, 0xe3, 0x00, 0x70, + 0xef, 0x62, 0xe0, 0x00, 0x41, 0xfe, 0xe7, 0x43, 0xfe, 0x10, 0x71, 0x10, + 0x62, 0xe0, 0x1a, 0x70, 0xef, 0x62, 0xe2, 0x00, 0x7c, 0x1b, 0x4b, + 0x8f, 0xff, 0x7f, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x01, 0x99, 0x03, 0x33, 0x06, 0x66, + 0x0c, 0xcc, 0x19, 0x99, 0x33, 0x33, 0x66, 0x66, + 0xcc, 0xcc, 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x0b, 0xff, 0x18, 0x00, + 0x2f, 0xff, 0x5f, 0xff, 0xbf, 0xff, 0x01, 0x66, 0x02, 0xcc, 0x05, + 0x99, 0x0b, 0x32, 0x16, 0x66, 0x2c, 0xcc, 0x59, 0x98, 0xb3, 0x32, + 0x01, 0x4c, 0x02, 0x99, 0x05, 0x33, 0x0a, 0x65, 0x14, 0xcc, 0x29, + 0x98, 0x53, 0x32, 0xa6, 0x65, 0x01, 0x33, 0x02, 0x66, 0x04, 0xcc, + 0x09, 0x99, 0x13, 0x33, 0x26, 0x65, 0x4c, 0xcc, + 0x99, 0x99, 0x1d, 0xea, 0x70, 0xef, 0x62, 0x61, 0x00, 0x62, 0xfd, 0x00, + 0x62, 0xcd, 0x00, 0x62, 0xce, 0x00, 0x62, 0xa5, 0x00, 0x62, 0xa4, + 0x00, 0x62, 0xa0, 0x00, 0x62, 0xa1, 0x80, 0x62, 0xa2, 0xc0, 0x62, + 0xa3, 0x0c, 0x62, 0xa8, 0x00, 0x62, 0xa6, 0x00, 0x62, 0xa7, 0x00, + 0x62, 0x7c, 0x33, 0x62, 0x7a, 0x00, 0x62, 0x7b, 0x00, 0x62, 0x79, + 0x00, 0x62, 0x36, 0x00, 0x62, 0x37, 0x00, 0x62, + 0x38, 0x00, 0x62, 0x39, 0x00, 0x62, 0x3a, 0x00, 0x62, 0x3b, 0x00, 0x62, + 0x3c, 0x00, 0x62, 0x3d, 0x00, 0x62, 0x3e, 0x00, 0x62, 0x3f, 0x00, + 0x62, 0x40, 0x00, 0x62, 0x41, 0x00, 0x62, 0x42, 0x00, 0x62, 0x43, + 0x00, 0x62, 0x44, 0x00, 0x62, 0x45, 0x00, 0x62, 0x46, 0x00, 0x62, + 0x47, 0x00, 0x62, 0x48, 0x00, 0x62, 0x49, 0x00, 0x62, 0x4a, 0x00, + 0x62, 0x4b, 0x00, 0x62, 0x4c, 0x00, 0x62, 0x4d, + 0x00, 0x62, 0x4e, 0x00, 0x62, 0x4f, 0x00, 0x62, 0xca, 0x20, 0x62, 0xd6, + 0x44, 0x62, 0xcf, 0x00, 0x62, 0xcb, 0x00, 0x62, 0xc8, 0x00, 0x62, + 0xcc, 0x00, 0x62, 0xc9, 0x00, 0x62, 0xd7, 0x00, 0x62, 0xa9, 0x00, + 0x62, 0x2b, 0x00, 0x62, 0xb0, 0x00, 0x62, 0xb3, 0x02, 0x62, 0xb6, + 0x00, 0x62, 0xb2, 0x00, 0x62, 0xb5, 0x00, 0x62, 0xb8, 0x00, 0x62, + 0xb1, 0x00, 0x62, 0xb4, 0x00, 0x62, 0xb7, 0x00, + 0x62, 0x33, 0x00, 0x62, 0x34, 0x00, 0x62, 0x35, 0x00, 0x71, 0x10, 0x62, + 0x54, 0x00, 0x62, 0x55, 0x00, 0x62, 0x56, 0x00, 0x62, 0x57, 0x00, + 0x62, 0x58, 0x00, 0x62, 0x59, 0x00, 0x62, 0x5a, 0x00, 0x62, 0x5b, + 0x00, 0x62, 0xdc, 0x00, 0x62, 0xe2, 0x00, 0x62, 0xdd, 0x00, 0x62, + 0xd8, 0x02, 0x62, 0xd9, 0x00, 0x62, 0xda, 0x28, 0x62, 0xdb, 0x00, + 0x62, 0xdf, 0x00, 0x62, 0x29, 0x00, 0x62, 0x30, + 0x00, 0x62, 0xbd, 0x00, 0x70, 0xef, 0x70, 0xef, 0x62, 0x00, 0x08, 0x71, + 0x10, 0x62, 0x00, 0x08, 0x62, 0x01, 0x92, 0x70, 0xef, 0x62, 0x04, + 0x17, 0x71, 0x10, 0x62, 0x04, 0x17, 0x62, 0x05, 0xab, 0x70, 0xef, + 0x62, 0x08, 0x00, 0x71, 0x10, 0x62, 0x08, 0x00, 0x62, 0x09, 0x28, + 0x70, 0xef, 0x62, 0x0c, 0x00, 0x71, 0x10, 0x62, 0x0c, 0x00, 0x62, + 0x0d, 0x00, 0x70, 0xef, 0x62, 0x10, 0x00, 0x71, + 0x10, 0x62, 0x10, 0x00, 0x62, 0x11, 0x00, 0x70, 0xef, 0x62, 0x01, 0x00, + 0x62, 0x05, 0x00, 0x62, 0x09, 0x00, 0x62, 0x0d, 0x00, 0x62, 0x11, + 0x00, 0x70, 0xef, 0x7f, 0x55, 0x02, 0x08, 0x55, 0x03, 0x17, 0x55, + 0x04, 0x00, 0x7c, 0x03, 0x28, 0x7f, 0x7c, 0x01, 0xc4, 0x70, 0xef, + 0x7f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x62, 0xd0, + 0x00, 0x53, 0x00, 0x71, 0x10, 0x5d, 0xe0, 0x08, 0x21, 0xf8, 0x29, 0x00, + 0x70, 0xfe, 0x60, 0xe0, 0x70, 0xef, 0x4b, 0x4b, 0x4b, 0x4b, 0x51, + 0x02, 0x21, 0xf7, 0x60, 0x00, 0x6e, 0x00, 0xc0, 0x05, 0x21, 0xf7, + 0x80, 0x05, 0x29, 0x08, 0x80, 0x01, 0x60, 0x00, 0x6e, 0x00, 0xc0, + 0x05, 0x21, 0xf7, 0x80, 0x05, 0x29, 0x08, 0x80, 0x01, 0x60, 0x00, + 0x6e, 0x00, 0xc0, 0x05, 0x21, 0xf7, 0x80, 0x05, + 0x29, 0x08, 0x80, 0x01, 0x60, 0x00, 0x6e, 0x00, 0xc0, 0x05, 0x21, 0xf7, + 0x80, 0x05, 0x29, 0x08, 0x80, 0x01, 0x60, 0x00, 0x6e, 0x00, 0xc0, + 0x05, 0x21, 0xf7, 0x80, 0x05, 0x29, 0x08, 0x80, 0x01, 0x60, 0x00, + 0x6e, 0x00, 0xc0, 0x05, 0x21, 0xf7, 0x80, 0x05, 0x29, 0x08, 0x80, + 0x01, 0x60, 0x00, 0x6e, 0x00, 0xc0, 0x05, 0x21, 0xf7, 0x80, 0x05, + 0x29, 0x08, 0x80, 0x01, 0x60, 0x00, 0x6e, 0x00, + 0xc0, 0x05, 0x21, 0xf7, 0x80, 0x05, 0x29, 0x08, 0x80, 0x01, 0x60, 0x00, + 0x47, 0x00, 0x00, 0x49, 0x01, 0x00, 0x29, 0x08, 0x60, 0x00, 0x57, + 0x01, 0x79, 0xbf, 0xfe, 0x18, 0x71, 0x10, 0x60, 0xe0, 0x70, 0xef, + 0x71, 0x01, 0x7f, 0x08, 0x67, 0x67, 0x67, 0x67, 0x21, 0x0f, 0xff, + 0x40, 0x9f, 0x4e, 0x18, 0x21, 0x0f, 0xff, 0x39, 0x9f, 0x47, 0x7f, + 0x08, 0x10, 0x28, 0xa0, 0x0b, 0x9f, 0x3f, 0x20, + 0x18, 0x75, 0xdf, 0xf5, 0x74, 0x8f, 0xf2, 0x38, 0xfe, 0x7f, 0x52, 0x00, + 0xa0, 0x08, 0x10, 0x9f, 0x2d, 0x20, 0x75, 0x8f, 0xf6, 0x70, 0x3f, + 0x71, 0xc0, 0x7f, 0x50, 0x0d, 0x9f, 0x20, 0x50, 0x0a, 0x9f, 0x1c, + 0x7f, 0x70, 0xbf, 0x62, 0xd3, 0x03, 0x4f, 0x52, 0xfb, 0xa0, 0x15, + 0x7b, 0xfb, 0x52, 0xfc, 0x59, 0xfd, 0x60, 0xd3, 0x52, 0x00, 0x9f, + 0x05, 0x4f, 0x62, 0xd3, 0x03, 0x77, 0xfd, 0x8f, + 0xe9, 0x70, 0x3f, 0x71, 0xc0, 0x7f, 0x3d, 0xfa, 0x00, 0xb0, 0x06, 0x3d, + 0xfb, 0x00, 0xa0, 0x18, 0x10, 0x52, 0xfc, 0x59, 0xfd, 0x28, 0x9e, + 0xe6, 0x20, 0x07, 0xfd, 0x01, 0x0f, 0xfc, 0x00, 0x17, 0xfb, 0x01, + 0x1f, 0xfa, 0x00, 0x8f, 0xe0, 0x7f, 0x50, 0x01, 0x80, 0x03, 0x50, + 0x00, 0x62, 0xd0, 0x00, 0x29, 0x00, 0xa0, 0x06, 0x26, 0x03, 0xef, + 0x80, 0x04, 0x2e, 0x03, 0x10, 0x51, 0x03, 0x60, + 0x04, 0x70, 0x3f, 0x71, 0xc0, 0x7f, 0x70, 0x3f, 0x71, 0xc0, 0x7f, 0x50, + 0x01, 0x80, 0x03, 0x50, 0x00, 0x62, 0xd0, 0x00, 0x29, 0x00, 0xa0, + 0x06, 0x26, 0x03, 0xfb, 0x80, 0x04, 0x2e, 0x03, 0x04, 0x51, 0x03, + 0x60, 0x04, 0x70, 0x3f, 0x71, 0xc0, 0x7f, 0x70, 0x3f, 0x71, 0xc0, + 0x7f, 0x08, 0x10, 0x70, 0x3f, 0x71, 0x80, 0x5d, 0xd3, 0x08, 0x5d, + 0xd0, 0x08, 0x62, 0xd0, 0x00, 0x51, 0x08, 0x60, + 0xd3, 0x2e, 0x05, 0x80, 0x49, 0xd7, 0x08, 0xa0, 0x09, 0x26, 0x05, 0xf0, + 0x2e, 0x05, 0x00, 0x80, 0x08, 0x49, 0xd7, 0x20, 0xa0, 0x03, 0x80, + 0xa6, 0x51, 0x05, 0x21, 0x0e, 0xe0, 0x01, 0x80, 0x11, 0x80, 0x67, + 0x80, 0x79, 0x80, 0x47, 0x80, 0x96, 0x80, 0x94, 0x80, 0x92, 0x80, + 0x90, 0x80, 0x97, 0x5d, 0xd8, 0x21, 0xfe, 0x39, 0x40, 0xa0, 0x06, + 0x62, 0xd7, 0x00, 0x80, 0x8a, 0x49, 0xd8, 0x01, + 0xb0, 0x0f, 0x55, 0x0c, 0x02, 0x26, 0x05, 0xf0, 0x2e, 0x05, 0x02, 0x62, + 0xd7, 0x10, 0x80, 0x77, 0x55, 0x0c, 0x01, 0x26, 0x05, 0xf0, 0x2e, + 0x05, 0x06, 0x5f, 0x07, 0x06, 0x51, 0x09, 0x02, 0x07, 0x5c, 0x52, + 0x00, 0x60, 0xd8, 0x76, 0x07, 0x62, 0xd7, 0x14, 0x80, 0x5b, 0x51, + 0x0a, 0x78, 0x3a, 0x07, 0xc0, 0x0f, 0x51, 0x09, 0x02, 0x07, 0x5c, + 0x52, 0x00, 0x60, 0xd8, 0x76, 0x07, 0x2e, 0x05, + 0x20, 0x60, 0xd8, 0x62, 0xd7, 0x04, 0x80, 0x3f, 0x5d, 0xd8, 0x3a, 0x0a, + 0xd0, 0x2b, 0xa0, 0x29, 0x53, 0x07, 0x53, 0x06, 0x26, 0x05, 0xf0, + 0x2e, 0x05, 0x04, 0x80, 0x18, 0x51, 0x0b, 0x78, 0x3a, 0x07, 0xc0, + 0x16, 0x51, 0x09, 0x02, 0x07, 0x5c, 0x5d, 0xd8, 0x54, 0x00, 0x2e, + 0x05, 0x10, 0x76, 0x07, 0x80, 0x01, 0x62, 0xd7, 0x10, 0x80, 0x0f, + 0x62, 0xd7, 0x00, 0x80, 0x0a, 0x26, 0x05, 0xf0, + 0x2e, 0x05, 0x00, 0x55, 0x0c, 0x00, 0x18, 0x60, 0xd0, 0x18, 0x60, 0xd3, + 0x20, 0x18, 0x7e, 0x62, 0xd0, 0x00, 0x71, 0x10, 0x41, 0x04, 0xfc, + 0x43, 0x05, 0x03, 0x70, 0xef, 0x26, 0x03, 0xfc, 0x51, 0x03, 0x60, + 0x04, 0x55, 0x0c, 0x00, 0x90, 0x28, 0x90, 0x2d, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x50, 0x00, 0x53, 0x06, 0x71, 0x10, 0x43, 0x04, 0x03, + 0x43, 0x05, 0x03, 0x70, 0xef, 0x2e, 0x03, 0x03, + 0x51, 0x03, 0x60, 0x04, 0x7f, 0x62, 0xd0, 0x00, 0x51, 0x05, 0x21, 0xb0, + 0x26, 0x05, 0x4f, 0x7f, 0x41, 0xe0, 0x7f, 0x43, 0xe0, 0x80, 0x7f, + 0x43, 0xd6, 0x31, 0x7f, 0x41, 0xe0, 0x7f, 0x41, 0xd6, 0xfe, 0x7f, + 0x62, 0xd0, 0x00, 0x4f, 0x52, 0xfd, 0x53, 0x0a, 0x52, 0xfc, 0x53, + 0x0b, 0x52, 0xfb, 0x53, 0x09, 0x52, 0xfa, 0x53, 0x08, 0x70, 0x3f, + 0x71, 0xc0, 0x7f, 0x08, 0x5d, 0xa4, 0x04, 0x1b, + 0x5d, 0xa5, 0x0c, 0x1a, 0x55, 0x1c, 0x01, 0x18, 0x7e, 0x70, 0xbf, 0x62, + 0xd0, 0x00, 0x70, 0xbf, 0x53, 0x1e, 0x64, 0x5c, 0x62, 0xd3, 0x00, + 0x52, 0x8d, 0x62, 0xd3, 0x00, 0x13, 0x63, 0x62, 0xd3, 0x00, 0x54, + 0x67, 0x62, 0xd3, 0x00, 0x52, 0x8c, 0x62, 0xd3, 0x00, 0x1b, 0x62, + 0x62, 0xd3, 0x00, 0x54, 0x66, 0x48, 0x66, 0x80, 0xb0, 0x33, 0x3d, + 0x66, 0x00, 0xb0, 0x7b, 0x51, 0x0d, 0x3b, 0x67, + 0xc0, 0x75, 0x52, 0x67, 0x58, 0x1e, 0x01, 0x00, 0x6d, 0x62, 0xd3, 0x00, + 0x05, 0x40, 0xc0, 0x09, 0x51, 0x0f, 0x3b, 0x40, 0xd0, 0x12, 0xa0, + 0x10, 0x56, 0x40, 0x00, 0x5b, 0x64, 0x5c, 0x62, 0xd3, 0x00, 0x07, + 0x63, 0x01, 0x0f, 0x62, 0x00, 0x80, 0x41, 0x3d, 0x66, 0xff, 0xb0, + 0x09, 0x50, 0xff, 0x12, 0x0e, 0x3b, 0x67, 0xc0, 0x20, 0x62, 0xd3, + 0x00, 0x56, 0x67, 0x00, 0x56, 0x66, 0x00, 0x5b, + 0x67, 0x5c, 0x62, 0xd3, 0x00, 0x52, 0x47, 0x78, 0xd0, 0x03, 0x50, 0x00, + 0x54, 0x47, 0x08, 0x5b, 0x64, 0x5c, 0x18, 0xb0, 0x2c, 0x62, 0xd3, + 0x00, 0x52, 0x8d, 0x62, 0xd3, 0x00, 0x54, 0x63, 0x62, 0xd3, 0x00, + 0x52, 0x8c, 0x62, 0xd3, 0x00, 0x54, 0x62, 0x51, 0x1e, 0x64, 0x5c, + 0x62, 0xd3, 0x00, 0x56, 0x67, 0x00, 0x56, 0x66, 0x00, 0x5b, 0x67, + 0x5c, 0x62, 0xd3, 0x00, 0x51, 0x12, 0x54, 0x47, + 0x70, 0x3f, 0x71, 0xc0, 0x7f, 0x70, 0xbf, 0x62, 0xd0, 0x00, 0x70, 0xbf, + 0x08, 0x5c, 0x62, 0xd3, 0x00, 0x52, 0x42, 0x53, 0x19, 0x55, 0x18, + 0x00, 0x18, 0x08, 0x90, 0x7e, 0x62, 0xd3, 0x00, 0x23, 0x44, 0xb0, + 0x2c, 0x51, 0x10, 0x04, 0x19, 0x0e, 0x18, 0x00, 0x18, 0x64, 0x5c, + 0x62, 0xd3, 0x00, 0x52, 0x67, 0x12, 0x19, 0x52, 0x66, 0x1a, 0x18, + 0xc0, 0x39, 0x5b, 0x67, 0x5c, 0x62, 0xd3, 0x00, + 0x52, 0x45, 0x78, 0x54, 0x45, 0x08, 0x5b, 0x64, 0x5c, 0x18, 0xb0, 0x3e, + 0x80, 0x18, 0x51, 0x10, 0x14, 0x19, 0x1e, 0x18, 0x00, 0x18, 0x64, + 0x5c, 0x62, 0xd3, 0x00, 0x52, 0x67, 0x12, 0x19, 0x52, 0x66, 0x1a, + 0x18, 0xc0, 0x0e, 0x5b, 0x67, 0x90, 0x31, 0x62, 0xd3, 0x00, 0x2d, + 0x44, 0x50, 0x01, 0x80, 0x24, 0x5b, 0x67, 0x08, 0x90, 0x23, 0x73, + 0x62, 0xd3, 0x00, 0x25, 0x44, 0x62, 0xd3, 0x00, + 0x20, 0x51, 0x11, 0x54, 0x45, 0x50, 0x00, 0x80, 0x0d, 0x5b, 0x67, 0x90, + 0x0d, 0x73, 0x62, 0xd3, 0x00, 0x25, 0x44, 0x50, 0x00, 0x70, 0x3f, + 0x71, 0xc0, 0x7f, 0x08, 0x67, 0x67, 0x67, 0x5c, 0x18, 0x21, 0x07, + 0xf0, 0x01, 0x7f, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, + 0x70, 0xbf, 0x70, 0xbf, 0x62, 0xd3, 0x00, 0x50, 0x02, 0x78, 0x08, + 0x5c, 0x56, 0x42, 0x1e, 0x18, 0x78, 0xdf, 0xf8, + 0x70, 0x3f, 0x71, 0xc0, 0x7f, 0x08, 0x91, 0xb2, 0x70, 0xbf, 0x18, 0x08, + 0x64, 0x5c, 0x62, 0xd3, 0x00, 0x52, 0x8d, 0x62, 0xd3, 0x00, 0x54, + 0x63, 0x62, 0xd3, 0x00, 0x52, 0x8c, 0x62, 0xd3, 0x00, 0x54, 0x62, + 0x18, 0x78, 0xdf, 0xe0, 0x70, 0x3f, 0x71, 0xc0, 0x7f, 0x62, 0xd0, + 0x00, 0x55, 0x14, 0x00, 0x50, 0x02, 0x78, 0x08, 0x9f, 0x0e, 0x39, + 0x01, 0xb0, 0x04, 0x55, 0x14, 0x01, 0x18, 0x78, + 0xdf, 0xf3, 0x51, 0x14, 0x7f, 0x50, 0x02, 0x78, 0x08, 0x9e, 0x3e, 0x18, + 0x78, 0xdf, 0xfa, 0x7f, 0x98, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, + 0x96, 0x97, 0xd8, 0xd9, 0xda, 0xdb, 0xdf, 0x00, 0x01, 0x03, 0x07, + 0x0f, 0x1f, 0x3f, 0x7f, 0xff, 0x70, 0xbf, 0x62, 0xd0, 0x00, 0x62, + 0xd3, 0x00, 0x57, 0x00, 0x56, 0x44, 0x00, 0x79, 0xdf, 0xfb, 0x62, + 0xd3, 0x00, 0x57, 0x01, 0x50, 0x03, 0x54, 0x45, + 0x79, 0xdf, 0xfc, 0x62, 0xd3, 0x00, 0x50, 0x14, 0x57, 0x01, 0x54, 0x47, + 0x79, 0xdf, 0xfc, 0x70, 0x3f, 0x71, 0xc0, 0x55, 0x0d, 0x19, 0x55, + 0x0e, 0x05, 0x55, 0x0f, 0x14, 0x55, 0x10, 0x01, 0x55, 0x11, 0x03, + 0x55, 0x12, 0x14, 0x55, 0x22, 0x04, 0x55, 0x1f, 0x14, 0x43, 0x61, + 0x0d, 0x57, 0x00, 0x50, 0x02, 0x90, 0xae, 0x50, 0x04, 0xff, 0x98, + 0x29, 0x00, 0x60, 0xa9, 0x62, 0xa0, 0x08, 0x43, + 0xa2, 0x04, 0x62, 0xa3, 0x70, 0x43, 0x7a, 0x01, 0x43, 0xaa, 0x02, 0x43, + 0xdf, 0x01, 0x50, 0x01, 0x57, 0x09, 0x90, 0x20, 0x90, 0x55, 0x57, + 0x01, 0x50, 0xb3, 0x91, 0x5d, 0x50, 0x01, 0x57, 0x0e, 0x90, 0x12, + 0x90, 0x47, 0x7f, 0x53, 0x22, 0xff, 0x67, 0x29, 0x00, 0x60, 0xa9, + 0x51, 0x21, 0x58, 0x20, 0x90, 0x01, 0x7f, 0x62, 0xd0, 0x00, 0x21, + 0x03, 0x53, 0x21, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x29, 0x80, 0x60, 0xa1, 0x5b, 0x78, 0x21, 0x0f, 0x29, 0x08, 0x74, 0x53, + 0x20, 0x12, 0x22, 0x02, 0x21, 0x5c, 0x50, 0x00, 0x53, 0x1d, 0x53, + 0x23, 0x29, 0x01, 0x79, 0xa0, 0x08, 0x64, 0x6b, 0x1d, 0x6b, 0x23, + 0x8f, 0xf5, 0x60, 0xb5, 0x51, 0x1d, 0x60, 0xb4, 0x7f, 0x50, 0x02, + 0x78, 0x08, 0x90, 0x28, 0x90, 0x5a, 0x18, 0x78, 0xdf, 0xf8, 0x7f, + 0x41, 0xdf, 0xfe, 0x71, 0x10, 0x41, 0xd8, 0xfd, + 0x70, 0xef, 0x41, 0x61, 0xf3, 0x41, 0xa2, 0xfb, 0x41, 0xa0, 0xf7, 0x62, + 0xa3, 0x00, 0x62, 0xa9, 0x00, 0x41, 0xaa, 0xfd, 0x7f, 0x02, 0x08, + 0x02, 0x20, 0x64, 0x5c, 0xff, 0xf8, 0x4b, 0x74, 0xff, 0xf4, 0x7f, + 0x62, 0xd0, 0x00, 0x53, 0x1d, 0x10, 0x5b, 0x64, 0x64, 0x5c, 0x71, + 0x10, 0x5e, 0x01, 0x2a, 0x1d, 0x61, 0x01, 0x36, 0x1d, 0xff, 0x5e, + 0x00, 0x22, 0x1d, 0x61, 0x00, 0x36, 0x1d, 0xff, + 0x18, 0xfe, 0xd6, 0x5c, 0x5e, 0x00, 0x2a, 0x1d, 0x61, 0x00, 0x70, 0xef, + 0x7f, 0x62, 0xd0, 0x00, 0x10, 0x73, 0x53, 0x1d, 0x71, 0x10, 0x5b, + 0xfe, 0xc0, 0x5c, 0x5e, 0x00, 0x22, 0x1d, 0x61, 0x00, 0x70, 0xef, + 0x18, 0x64, 0x64, 0x5c, 0x71, 0x10, 0x5e, 0x01, 0x22, 0x1d, 0x61, + 0x01, 0x36, 0x1d, 0xff, 0x5e, 0x00, 0x2a, 0x1d, 0x61, 0x00, 0x70, + 0xef, 0x7f, 0x70, 0xbf, 0x62, 0xd0, 0x00, 0x53, + 0x1e, 0x50, 0x00, 0x53, 0x1a, 0x53, 0x1b, 0x51, 0x1e, 0x5c, 0x62, 0xd3, + 0x00, 0x52, 0x24, 0x53, 0x1f, 0x43, 0xa0, 0x01, 0x51, 0x1f, 0x60, + 0xfd, 0x41, 0xa3, 0xdf, 0x51, 0x1e, 0x9f, 0x7a, 0x9f, 0x81, 0x58, + 0x23, 0x55, 0x1c, 0x00, 0x62, 0xa5, 0x00, 0x62, 0xa4, 0x00, 0x43, + 0xb3, 0x01, 0x51, 0x1c, 0xaf, 0xfd, 0x79, 0xdf, 0xee, 0x51, 0x1e, + 0x9f, 0x5f, 0x9f, 0x91, 0x43, 0xa3, 0x20, 0x41, + 0xa0, 0xfe, 0x62, 0xfd, 0x00, 0x50, 0xff, 0x4c, 0x1b, 0x14, 0x1b, 0x51, + 0x20, 0x11, 0x08, 0xfe, 0x4d, 0x4c, 0x1a, 0x1c, 0x1a, 0xd0, 0x07, + 0x55, 0x1a, 0x00, 0x55, 0x1b, 0x00, 0x51, 0x1e, 0x64, 0x5c, 0x62, + 0xd3, 0x00, 0x51, 0x1b, 0x54, 0x8d, 0x51, 0x1a, 0x54, 0x8c, 0x70, + 0x3f, 0x71, 0xc0, 0x7f, 0x08, 0x9f, 0x86, 0x18, 0x78, 0xdf, 0xfa, + 0x7f, 0x70, 0xbf, 0x62, 0xd0, 0x00, 0x53, 0x27, + 0x5a, 0x26, 0x55, 0x1e, 0x01, 0x62, 0xd3, 0x00, 0x58, 0x1e, 0x56, 0x24, + 0x80, 0x55, 0x29, 0x08, 0x55, 0x28, 0x80, 0x51, 0x1e, 0x9f, 0x63, + 0x51, 0x1e, 0x9f, 0x5f, 0x70, 0xbf, 0x58, 0x1e, 0x62, 0xd3, 0x00, + 0x51, 0x1b, 0x3a, 0x27, 0x51, 0x1a, 0x1a, 0x26, 0xd0, 0x06, 0x51, + 0x28, 0x73, 0x25, 0x24, 0x68, 0x28, 0x26, 0x28, 0x7f, 0x51, 0x28, + 0x2d, 0x24, 0x7a, 0x29, 0xbf, 0xd6, 0x7a, 0x1e, + 0xdf, 0xc4, 0x70, 0x3f, 0x71, 0xc0, 0x7f, 0x62, 0xd0, 0x00, 0x51, 0xa5, + 0x11, 0xdc, 0x51, 0xa4, 0x19, 0x05, 0xd0, 0x12, 0x7c, 0x16, 0xe7, + 0x39, 0x0f, 0xa0, 0x16, 0x62, 0xd0, 0x00, 0x76, 0xa5, 0x0e, 0xa4, + 0x00, 0x80, 0x0c, 0x62, 0xd0, 0x00, 0x55, 0xa5, 0x00, 0x55, 0xa4, + 0x00, 0x90, 0xbe, 0x7f, 0x62, 0xd0, 0x00, 0x3c, 0xaf, 0xf0, 0xd0, + 0x03, 0x76, 0xaf, 0x62, 0xd0, 0x00, 0x51, 0x2f, + 0x21, 0x7f, 0x53, 0x51, 0x51, 0xaf, 0x3a, 0x51, 0xb0, 0x55, 0x7c, 0x16, + 0xe7, 0x62, 0xd0, 0x00, 0x53, 0xb0, 0x3c, 0xb0, 0x0f, 0xa0, 0x3d, + 0x3c, 0xab, 0x00, 0xb0, 0x1c, 0x55, 0x94, 0x00, 0x55, 0x95, 0x00, + 0x51, 0xb0, 0x53, 0x50, 0x55, 0x51, 0x00, 0x06, 0x50, 0x94, 0x0e, + 0x51, 0x00, 0x51, 0x51, 0x60, 0xd5, 0x50, 0x08, 0x3f, 0x50, 0x62, + 0xd0, 0x00, 0x55, 0xa7, 0x00, 0x3c, 0xae, 0x00, + 0xb0, 0x0a, 0x7c, 0x17, 0x7c, 0x62, 0xd0, 0x00, 0x55, 0xae, 0x01, 0x62, + 0xd0, 0x00, 0x55, 0xa6, 0x03, 0x80, 0x0c, 0x62, 0xd0, 0x00, 0x3c, + 0xa9, 0x00, 0xb0, 0x04, 0x55, 0xa9, 0x01, 0x7f, 0x62, 0xd0, 0x00, + 0x55, 0xa5, 0x00, 0x55, 0xa4, 0x00, 0x3c, 0xae, 0x01, 0xb0, 0x33, + 0x7a, 0xa6, 0x3c, 0xa6, 0x00, 0xb0, 0x3a, 0x3c, 0xae, 0x01, 0xb0, + 0x0a, 0x7c, 0x18, 0x0f, 0x62, 0xd0, 0x00, 0x55, + 0xae, 0x00, 0x62, 0xd0, 0x00, 0x3c, 0xab, 0x00, 0xb0, 0x0e, 0x51, 0xb0, + 0x53, 0x50, 0x55, 0x51, 0x00, 0x06, 0x50, 0x94, 0x7c, 0x1d, 0xb9, + 0x62, 0xd0, 0x00, 0x55, 0xaf, 0x00, 0x80, 0x0f, 0x62, 0xd0, 0x00, + 0x3c, 0xa9, 0x01, 0xb0, 0x07, 0x55, 0xa9, 0x00, 0x55, 0xaf, 0x00, + 0x7f, 0x10, 0x4f, 0x38, 0x16, 0x62, 0xd0, 0x00, 0x3c, 0xaa, 0x00, + 0xb0, 0x05, 0x51, 0x9c, 0x53, 0x24, 0x56, 0x0d, + 0x00, 0x80, 0xff, 0x56, 0x00, 0x00, 0x80, 0xf3, 0x62, 0xd0, 0x00, 0x3c, + 0xaa, 0x00, 0xb0, 0x1b, 0x52, 0x00, 0x53, 0x50, 0x55, 0x51, 0x00, + 0x06, 0x50, 0x9c, 0x7c, 0x1d, 0x06, 0x52, 0x00, 0x53, 0x4e, 0x55, + 0x4f, 0x00, 0x06, 0x4e, 0x24, 0x7c, 0x1d, 0xa1, 0x10, 0x52, 0x00, + 0x7c, 0x09, 0x3a, 0x20, 0x10, 0x7c, 0x05, 0xc5, 0x62, 0xd0, 0x00, + 0x20, 0x39, 0x00, 0xbf, 0xee, 0x3d, 0x00, 0x00, + 0xb0, 0x12, 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x55, 0x4c, 0x01, 0x7c, + 0x1c, 0x2a, 0x7c, 0x1c, 0x88, 0x80, 0x80, 0x3d, 0x00, 0x01, 0xb0, + 0x2a, 0x62, 0xd0, 0x00, 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x65, + 0x4e, 0x6b, 0x4f, 0x50, 0x00, 0x08, 0x50, 0x05, 0x08, 0x51, 0x4f, + 0x08, 0x51, 0x4e, 0x08, 0x7c, 0x1b, 0xe6, 0x18, 0x53, 0x4e, 0x18, + 0x53, 0x4f, 0x38, 0xfe, 0x7c, 0x1c, 0x88, 0x80, + 0x52, 0x3d, 0x00, 0x02, 0xb0, 0x21, 0x62, 0xd0, 0x00, 0x7c, 0x1c, 0x60, + 0x7c, 0x1c, 0x95, 0x55, 0x4c, 0x03, 0x7c, 0x1c, 0x2a, 0x70, 0xfb, + 0x6e, 0x4f, 0x6e, 0x4e, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, 0x7c, + 0x1c, 0x88, 0x80, 0x2d, 0x3d, 0x00, 0x03, 0xb0, 0x28, 0x62, 0xd0, + 0x00, 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x65, 0x4e, 0x6b, 0x4f, + 0x50, 0x00, 0x08, 0x50, 0x05, 0x08, 0x51, 0x4f, + 0x08, 0x51, 0x4e, 0x08, 0x7c, 0x1b, 0xe6, 0x18, 0x53, 0x4e, 0x18, 0x53, + 0x4f, 0x38, 0xfe, 0x7c, 0x1c, 0x88, 0x7c, 0x1c, 0x6c, 0x7c, 0x1c, + 0xc1, 0x52, 0x0d, 0x7c, 0x1d, 0xad, 0x02, 0x50, 0x53, 0x50, 0x51, + 0x4f, 0x0a, 0x51, 0x53, 0x51, 0x7c, 0x1d, 0x6f, 0x06, 0x4e, 0x8c, + 0x0e, 0x4f, 0x00, 0x51, 0x4f, 0x7c, 0x1c, 0xab, 0x7c, 0x1c, 0x88, + 0x77, 0x00, 0x3d, 0x00, 0x02, 0xcf, 0x0a, 0x77, + 0x0d, 0x3d, 0x0d, 0x03, 0xce, 0xfe, 0x56, 0x00, 0x00, 0x81, 0x06, 0x7c, + 0x1c, 0x6c, 0x7c, 0x1c, 0xc1, 0x51, 0x51, 0x60, 0xd4, 0x3e, 0x50, + 0x54, 0x0e, 0x3e, 0x50, 0x54, 0x0f, 0x52, 0x00, 0x53, 0x50, 0x55, + 0x51, 0x00, 0x55, 0x4e, 0x06, 0x55, 0x4f, 0x00, 0x55, 0x4b, 0x00, + 0x55, 0x4a, 0x00, 0x3c, 0x4f, 0x00, 0xb0, 0x06, 0x3c, 0x4e, 0x00, + 0xa0, 0x1a, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, + 0xd0, 0x0c, 0x62, 0xd0, 0x00, 0x51, 0x50, 0x04, 0x4b, 0x51, 0x51, 0x0c, + 0x4a, 0x65, 0x50, 0x6b, 0x51, 0x8f, 0xde, 0x5f, 0x50, 0x4b, 0x5f, + 0x51, 0x4a, 0x62, 0xd0, 0x00, 0x5a, 0x4e, 0x06, 0x4e, 0x03, 0x51, + 0x4e, 0x04, 0x50, 0x0e, 0x51, 0x03, 0x51, 0x51, 0x60, 0xd4, 0x3e, + 0x50, 0x54, 0x10, 0x3e, 0x50, 0x54, 0x11, 0x52, 0x00, 0x53, 0x50, + 0x55, 0x51, 0x00, 0x55, 0x4e, 0x06, 0x55, 0x4f, + 0x00, 0x55, 0x4b, 0x00, 0x55, 0x4a, 0x00, 0x3c, 0x4f, 0x00, 0xb0, 0x06, + 0x3c, 0x4e, 0x00, 0xa0, 0x1a, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, + 0xd0, 0x0c, 0x62, 0xd0, 0x00, 0x51, 0x50, 0x04, 0x4b, 0x51, 0x51, + 0x0c, 0x4a, 0x65, 0x50, 0x6b, 0x51, 0x8f, 0xde, 0x5f, 0x50, 0x4b, + 0x5f, 0x51, 0x4a, 0x62, 0xd0, 0x00, 0x5a, 0x4e, 0x06, 0x4e, 0x05, + 0x51, 0x4e, 0x04, 0x50, 0x0e, 0x51, 0x03, 0x51, + 0x51, 0x60, 0xd4, 0x3e, 0x50, 0x54, 0x12, 0x3e, 0x50, 0x54, 0x13, 0x50, + 0x03, 0x08, 0x5a, 0x50, 0x06, 0x50, 0x0e, 0x08, 0x51, 0x50, 0x08, + 0x7c, 0x1a, 0x9f, 0x38, 0xfd, 0x62, 0xd0, 0x00, 0x51, 0x50, 0x54, + 0x15, 0x51, 0x51, 0x54, 0x14, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, + 0x8c, 0x7c, 0x1d, 0x1d, 0x06, 0x50, 0x62, 0x7c, 0x1d, 0x5f, 0x7c, + 0x1c, 0x60, 0x51, 0x50, 0x01, 0x6a, 0x7c, 0x1d, + 0x1d, 0x51, 0x50, 0x01, 0x72, 0x7c, 0x1d, 0x1d, 0x06, 0x50, 0x7a, 0x7c, + 0x1d, 0x5f, 0x77, 0x00, 0x3d, 0x00, 0x02, 0xce, 0xf7, 0x38, 0xea, + 0x20, 0x7f, 0x10, 0x4f, 0x38, 0x16, 0x10, 0x57, 0x09, 0x50, 0x01, + 0x7c, 0x08, 0x74, 0x20, 0x62, 0xd0, 0x00, 0x50, 0x01, 0x10, 0x08, + 0x57, 0x92, 0x28, 0x53, 0x51, 0x18, 0x75, 0x09, 0x00, 0x28, 0x53, + 0x50, 0x20, 0x10, 0x51, 0x51, 0x08, 0x51, 0x50, + 0x20, 0x7c, 0x09, 0xb9, 0x20, 0x10, 0x57, 0x0e, 0x50, 0x01, 0x7c, 0x08, + 0x74, 0x20, 0x62, 0xd0, 0x00, 0x3c, 0xaa, 0x01, 0xb0, 0x0b, 0x51, + 0x24, 0x53, 0x30, 0x51, 0x25, 0x53, 0x31, 0x80, 0x0c, 0x62, 0xd0, + 0x00, 0x51, 0x9c, 0x53, 0x24, 0x51, 0x9d, 0x53, 0x25, 0x10, 0x50, + 0x00, 0x7c, 0x09, 0x3a, 0x20, 0x56, 0x0d, 0x00, 0x80, 0xff, 0x56, + 0x00, 0x00, 0x80, 0xf3, 0x62, 0xd0, 0x00, 0x3c, + 0xaa, 0x00, 0xb0, 0x1b, 0x52, 0x00, 0x53, 0x50, 0x55, 0x51, 0x00, 0x06, + 0x50, 0x9c, 0x7c, 0x1d, 0x06, 0x52, 0x00, 0x53, 0x4e, 0x55, 0x4f, + 0x00, 0x06, 0x4e, 0x24, 0x7c, 0x1d, 0xa1, 0x10, 0x52, 0x00, 0x7c, + 0x09, 0x3a, 0x20, 0x10, 0x7c, 0x05, 0xc5, 0x62, 0xd0, 0x00, 0x20, + 0x39, 0x00, 0xbf, 0xee, 0x3d, 0x00, 0x00, 0xb0, 0x12, 0x7c, 0x1c, + 0x60, 0x7c, 0x1c, 0x95, 0x55, 0x4c, 0x01, 0x7c, + 0x1c, 0x2a, 0x7c, 0x1c, 0x88, 0x80, 0x80, 0x3d, 0x00, 0x01, 0xb0, 0x2a, + 0x62, 0xd0, 0x00, 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x65, 0x4e, + 0x6b, 0x4f, 0x50, 0x00, 0x08, 0x50, 0x05, 0x08, 0x51, 0x4f, 0x08, + 0x51, 0x4e, 0x08, 0x7c, 0x1b, 0xe6, 0x18, 0x53, 0x4e, 0x18, 0x53, + 0x4f, 0x38, 0xfe, 0x7c, 0x1c, 0x88, 0x80, 0x52, 0x3d, 0x00, 0x02, + 0xb0, 0x21, 0x62, 0xd0, 0x00, 0x7c, 0x1c, 0x60, + 0x7c, 0x1c, 0x95, 0x55, 0x4c, 0x03, 0x7c, 0x1c, 0x2a, 0x70, 0xfb, 0x6e, + 0x4f, 0x6e, 0x4e, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, 0x7c, 0x1c, + 0x88, 0x80, 0x2d, 0x3d, 0x00, 0x03, 0xb0, 0x28, 0x62, 0xd0, 0x00, + 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x65, 0x4e, 0x6b, 0x4f, 0x50, + 0x00, 0x08, 0x50, 0x05, 0x08, 0x51, 0x4f, 0x08, 0x51, 0x4e, 0x08, + 0x7c, 0x1b, 0xe6, 0x18, 0x53, 0x4e, 0x18, 0x53, + 0x4f, 0x38, 0xfe, 0x7c, 0x1c, 0x88, 0x7c, 0x1c, 0x6c, 0x7c, 0x1c, 0xc1, + 0x52, 0x0d, 0x7c, 0x1d, 0xad, 0x02, 0x50, 0x53, 0x50, 0x51, 0x4f, + 0x0a, 0x51, 0x53, 0x51, 0x7c, 0x1d, 0x6f, 0x06, 0x4e, 0x8c, 0x0e, + 0x4f, 0x00, 0x51, 0x4f, 0x7c, 0x1c, 0xab, 0x7c, 0x1c, 0x88, 0x77, + 0x00, 0x3d, 0x00, 0x02, 0xcf, 0x0a, 0x77, 0x0d, 0x3d, 0x0d, 0x03, + 0xce, 0xfe, 0x56, 0x00, 0x00, 0x81, 0x06, 0x7c, + 0x1c, 0x6c, 0x7c, 0x1c, 0xc1, 0x51, 0x51, 0x60, 0xd4, 0x3e, 0x50, 0x54, + 0x0e, 0x3e, 0x50, 0x54, 0x0f, 0x52, 0x00, 0x53, 0x50, 0x55, 0x51, + 0x00, 0x55, 0x4e, 0x06, 0x55, 0x4f, 0x00, 0x55, 0x4b, 0x00, 0x55, + 0x4a, 0x00, 0x3c, 0x4f, 0x00, 0xb0, 0x06, 0x3c, 0x4e, 0x00, 0xa0, + 0x1a, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, 0xd0, 0x0c, 0x62, 0xd0, + 0x00, 0x51, 0x50, 0x04, 0x4b, 0x51, 0x51, 0x0c, + 0x4a, 0x65, 0x50, 0x6b, 0x51, 0x8f, 0xde, 0x5f, 0x50, 0x4b, 0x5f, 0x51, + 0x4a, 0x62, 0xd0, 0x00, 0x5a, 0x4e, 0x06, 0x4e, 0x03, 0x51, 0x4e, + 0x04, 0x50, 0x0e, 0x51, 0x03, 0x51, 0x51, 0x60, 0xd4, 0x3e, 0x50, + 0x54, 0x10, 0x3e, 0x50, 0x54, 0x11, 0x52, 0x00, 0x53, 0x50, 0x55, + 0x51, 0x00, 0x55, 0x4e, 0x06, 0x55, 0x4f, 0x00, 0x55, 0x4b, 0x00, + 0x55, 0x4a, 0x00, 0x3c, 0x4f, 0x00, 0xb0, 0x06, + 0x3c, 0x4e, 0x00, 0xa0, 0x1a, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, 0xd0, + 0x0c, 0x62, 0xd0, 0x00, 0x51, 0x50, 0x04, 0x4b, 0x51, 0x51, 0x0c, + 0x4a, 0x65, 0x50, 0x6b, 0x51, 0x8f, 0xde, 0x5f, 0x50, 0x4b, 0x5f, + 0x51, 0x4a, 0x62, 0xd0, 0x00, 0x5a, 0x4e, 0x06, 0x4e, 0x05, 0x51, + 0x4e, 0x04, 0x50, 0x0e, 0x51, 0x03, 0x51, 0x51, 0x60, 0xd4, 0x3e, + 0x50, 0x54, 0x12, 0x3e, 0x50, 0x54, 0x13, 0x50, + 0x03, 0x08, 0x5a, 0x50, 0x06, 0x50, 0x0e, 0x08, 0x51, 0x50, 0x08, 0x7c, + 0x1a, 0x9f, 0x38, 0xfd, 0x62, 0xd0, 0x00, 0x51, 0x50, 0x54, 0x15, + 0x51, 0x51, 0x54, 0x14, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, 0x8c, + 0x7c, 0x1d, 0x1d, 0x06, 0x50, 0x62, 0x7c, 0x1d, 0x5f, 0x7c, 0x1c, + 0x60, 0x51, 0x50, 0x01, 0x6a, 0x7c, 0x1d, 0x1d, 0x51, 0x50, 0x01, + 0x72, 0x7c, 0x1d, 0x1d, 0x06, 0x50, 0x7a, 0x7c, + 0x1d, 0x5f, 0x77, 0x00, 0x3d, 0x00, 0x02, 0xce, 0xf7, 0x56, 0x00, 0x00, + 0x80, 0x19, 0x7c, 0x1c, 0x6c, 0x06, 0x50, 0x24, 0x7c, 0x1d, 0x06, + 0x52, 0x00, 0x53, 0x4e, 0x55, 0x4f, 0x00, 0x06, 0x4e, 0x30, 0x7c, + 0x1d, 0xa1, 0x77, 0x00, 0x3d, 0x00, 0x02, 0xcf, 0xe4, 0x38, 0xea, + 0x20, 0x7f, 0x10, 0x4f, 0x38, 0x02, 0x62, 0xd0, 0x00, 0x52, 0xfc, + 0x01, 0x02, 0x53, 0x50, 0x52, 0xfb, 0x09, 0x00, + 0x7c, 0x1d, 0x12, 0x52, 0xfc, 0x01, 0x04, 0x53, 0x4e, 0x52, 0xfb, 0x7c, + 0x1c, 0xb6, 0x12, 0x50, 0x51, 0x4f, 0x1a, 0x51, 0xc0, 0x6f, 0x52, + 0xfc, 0x53, 0x50, 0x52, 0xfb, 0x7c, 0x1d, 0x12, 0x52, 0xfc, 0x01, + 0x02, 0x53, 0x4e, 0x52, 0xfb, 0x7c, 0x1c, 0xb6, 0x12, 0x50, 0x51, + 0x4f, 0x1a, 0x51, 0xc0, 0x10, 0x52, 0xfc, 0x01, 0x02, 0x7c, 0x1d, + 0x3b, 0x54, 0x00, 0x3e, 0x50, 0x54, 0x01, 0x80, + 0xb3, 0x62, 0xd0, 0x00, 0x52, 0xfc, 0x01, 0x04, 0x53, 0x50, 0x52, 0xfb, + 0x09, 0x00, 0x7c, 0x1d, 0x12, 0x52, 0xfc, 0x53, 0x4e, 0x52, 0xfb, + 0x60, 0xd4, 0x3e, 0x4e, 0x53, 0x4f, 0x3e, 0x4e, 0x12, 0x50, 0x51, + 0x4f, 0x1a, 0x51, 0xc0, 0x10, 0x52, 0xfc, 0x01, 0x04, 0x7c, 0x1d, + 0x3b, 0x54, 0x00, 0x3e, 0x50, 0x54, 0x01, 0x80, 0x7e, 0x62, 0xd0, + 0x00, 0x52, 0xfc, 0x53, 0x50, 0x52, 0xfb, 0x7c, + 0x1d, 0x54, 0x80, 0x70, 0x62, 0xd0, 0x00, 0x52, 0xfc, 0x53, 0x50, 0x52, + 0xfb, 0x7c, 0x1d, 0x12, 0x52, 0xfc, 0x01, 0x04, 0x53, 0x4e, 0x52, + 0xfb, 0x7c, 0x1c, 0xb6, 0x12, 0x50, 0x51, 0x4f, 0x1a, 0x51, 0xc0, + 0x10, 0x52, 0xfc, 0x01, 0x04, 0x7c, 0x1d, 0x3b, 0x54, 0x00, 0x3e, + 0x50, 0x54, 0x01, 0x80, 0x42, 0x62, 0xd0, 0x00, 0x52, 0xfc, 0x01, + 0x02, 0x53, 0x50, 0x52, 0xfb, 0x09, 0x00, 0x7c, + 0x1d, 0x12, 0x52, 0xfc, 0x53, 0x4e, 0x52, 0xfb, 0x60, 0xd4, 0x3e, 0x4e, + 0x53, 0x4f, 0x3e, 0x4e, 0x12, 0x50, 0x51, 0x4f, 0x1a, 0x51, 0xc0, + 0x10, 0x52, 0xfc, 0x01, 0x02, 0x7c, 0x1d, 0x3b, 0x54, 0x00, 0x3e, + 0x50, 0x54, 0x01, 0x80, 0x0d, 0x62, 0xd0, 0x00, 0x52, 0xfc, 0x53, + 0x50, 0x52, 0xfb, 0x7c, 0x1d, 0x54, 0x62, 0xd0, 0x00, 0x52, 0x01, + 0x53, 0x50, 0x52, 0x00, 0x53, 0x51, 0x38, 0xfe, + 0x20, 0x7f, 0x10, 0x4f, 0x38, 0x05, 0x62, 0xd0, 0x00, 0x55, 0xb2, 0x00, + 0x56, 0x00, 0x00, 0x80, 0xcd, 0x62, 0xd0, 0x00, 0x3c, 0xaa, 0x00, + 0xb0, 0x1b, 0x52, 0x00, 0x53, 0x50, 0x55, 0x51, 0x00, 0x06, 0x50, + 0x9c, 0x7c, 0x1d, 0x06, 0x52, 0x00, 0x53, 0x4e, 0x55, 0x4f, 0x00, + 0x06, 0x4e, 0x24, 0x7c, 0x1d, 0xa1, 0x10, 0x52, 0x00, 0x7c, 0x09, + 0x3a, 0x20, 0x10, 0x7c, 0x05, 0xc5, 0x62, 0xd0, + 0x00, 0x20, 0x39, 0x00, 0xbf, 0xee, 0x3d, 0x00, 0x00, 0xb0, 0x12, 0x7c, + 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x55, 0x4c, 0x01, 0x7c, 0x1c, 0x2a, + 0x7c, 0x1c, 0x88, 0x80, 0x80, 0x3d, 0x00, 0x01, 0xb0, 0x2a, 0x62, + 0xd0, 0x00, 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x65, 0x4e, 0x6b, + 0x4f, 0x50, 0x00, 0x08, 0x50, 0x05, 0x08, 0x51, 0x4f, 0x08, 0x51, + 0x4e, 0x08, 0x7c, 0x1b, 0xe6, 0x18, 0x53, 0x4e, + 0x18, 0x53, 0x4f, 0x38, 0xfe, 0x7c, 0x1c, 0x88, 0x80, 0x52, 0x3d, 0x00, + 0x02, 0xb0, 0x21, 0x62, 0xd0, 0x00, 0x7c, 0x1c, 0x60, 0x7c, 0x1c, + 0x95, 0x55, 0x4c, 0x03, 0x7c, 0x1c, 0x2a, 0x70, 0xfb, 0x6e, 0x4f, + 0x6e, 0x4e, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, 0x7c, 0x1c, 0x88, + 0x80, 0x2d, 0x3d, 0x00, 0x03, 0xb0, 0x28, 0x62, 0xd0, 0x00, 0x7c, + 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x65, 0x4e, 0x6b, + 0x4f, 0x50, 0x00, 0x08, 0x50, 0x05, 0x08, 0x51, 0x4f, 0x08, 0x51, 0x4e, + 0x08, 0x7c, 0x1b, 0xe6, 0x18, 0x53, 0x4e, 0x18, 0x53, 0x4f, 0x38, + 0xfe, 0x7c, 0x1c, 0x88, 0x77, 0x00, 0x3d, 0x00, 0x02, 0xcf, 0x30, + 0x56, 0x00, 0x00, 0x82, 0x86, 0x62, 0xd0, 0x00, 0x3c, 0xb1, 0x02, + 0xa0, 0x9f, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, 0x62, 0x7c, 0x1c, + 0x77, 0x06, 0x50, 0x8c, 0x7c, 0x1d, 0x06, 0x7c, + 0x1d, 0x2e, 0xd0, 0x16, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, 0x62, 0x7c, + 0x1c, 0x77, 0x06, 0x50, 0x8c, 0x7c, 0x1d, 0x06, 0x7c, 0x1d, 0xd2, + 0x80, 0x17, 0x62, 0xd0, 0x00, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, + 0x8c, 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x62, 0x7c, 0x1d, 0x06, 0x7c, + 0x1d, 0xd2, 0x50, 0x90, 0x13, 0x02, 0x50, 0x01, 0x1b, 0x01, 0xc0, + 0x4e, 0x62, 0xd0, 0x00, 0x7c, 0x1c, 0x60, 0x51, + 0x50, 0x01, 0x7a, 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x8c, 0x7c, 0x1d, 0x06, + 0x7c, 0x1d, 0x2e, 0xd0, 0x16, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, + 0x7a, 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x8c, 0x7c, 0x1d, 0x06, 0x7c, + 0x1d, 0xc5, 0x80, 0x17, 0x62, 0xd0, 0x00, 0x7c, 0x1c, 0x60, 0x51, + 0x50, 0x01, 0x8c, 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x7a, 0x7c, 0x1d, + 0x06, 0x7c, 0x1d, 0xc5, 0x50, 0x90, 0x13, 0x04, + 0x50, 0x01, 0x1b, 0x03, 0xd0, 0x08, 0x62, 0xd0, 0x00, 0x76, 0xb2, 0x81, + 0xde, 0x62, 0xd0, 0x00, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, 0x8c, + 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x7a, 0x7c, 0x1d, 0x06, 0x7c, 0x1d, + 0x2e, 0xd0, 0x5a, 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x06, 0x4e, + 0x01, 0x0e, 0x4f, 0x00, 0x7c, 0x1c, 0x88, 0x7c, 0x1c, 0x60, 0x51, + 0x50, 0x01, 0x8c, 0x7c, 0x1c, 0x77, 0x06, 0x50, + 0x7a, 0x7c, 0x1d, 0x06, 0x7c, 0x1d, 0x2e, 0xd0, 0xb4, 0x7c, 0x1c, 0x60, + 0x7c, 0x1c, 0x95, 0x06, 0x4e, 0x01, 0x0e, 0x4f, 0x00, 0x7c, 0x1c, + 0x88, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, 0x8c, 0x7c, 0x1c, 0x77, + 0x06, 0x50, 0x7a, 0x7c, 0x1d, 0x06, 0x7c, 0x1d, 0x2e, 0xd0, 0x90, + 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x06, 0x4e, 0x01, 0x0e, 0x4f, + 0x00, 0x7c, 0x1c, 0x88, 0x80, 0x7f, 0x62, 0xd0, + 0x00, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, 0x8c, 0x7c, 0x1c, 0x77, 0x06, + 0x50, 0x7a, 0x7c, 0x1d, 0x06, 0x3e, 0x50, 0x12, 0x4e, 0x51, 0x51, + 0x1a, 0x4f, 0xd0, 0x62, 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x16, + 0x4e, 0x01, 0x1e, 0x4f, 0x00, 0x7c, 0x1c, 0x88, 0x7c, 0x1c, 0x60, + 0x51, 0x50, 0x01, 0x8c, 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x7a, 0x7c, + 0x1d, 0x06, 0x3e, 0x50, 0x12, 0x4e, 0x51, 0x51, + 0x1a, 0x4f, 0xd0, 0x39, 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x16, 0x4e, + 0x01, 0x1e, 0x4f, 0x00, 0x7c, 0x1c, 0x88, 0x7c, 0x1c, 0x60, 0x51, + 0x50, 0x01, 0x8c, 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x7a, 0x7c, 0x1d, + 0x06, 0x3e, 0x50, 0x12, 0x4e, 0x51, 0x51, 0x1a, 0x4f, 0xd0, 0x10, + 0x7c, 0x1c, 0x60, 0x7c, 0x1c, 0x95, 0x16, 0x4e, 0x01, 0x1e, 0x4f, + 0x00, 0x7c, 0x1c, 0x88, 0x62, 0xd0, 0x00, 0x7c, + 0x1c, 0x60, 0x51, 0x50, 0x01, 0x72, 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x6a, + 0x0e, 0x51, 0x00, 0x7c, 0x1c, 0x88, 0x7c, 0x1c, 0x60, 0x51, 0x50, + 0x01, 0x7a, 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x72, 0x0e, 0x51, 0x00, + 0x7c, 0x1c, 0x88, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, 0x8c, 0x7c, + 0x1c, 0x77, 0x06, 0x50, 0x7a, 0x0e, 0x51, 0x00, 0x7c, 0x1c, 0x88, + 0x10, 0x52, 0x00, 0x7c, 0x06, 0x09, 0x20, 0x62, + 0xd0, 0x00, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, 0x8c, 0x7c, 0x1c, 0x77, + 0x06, 0x50, 0x62, 0x7c, 0x1d, 0x06, 0x7c, 0x1d, 0x2e, 0xd0, 0x25, + 0x52, 0x00, 0x53, 0x50, 0x55, 0x51, 0x00, 0x06, 0x50, 0x98, 0x0e, + 0x51, 0x00, 0x51, 0x51, 0x60, 0xd4, 0x3e, 0x50, 0x7a, 0x50, 0x53, + 0x4f, 0x06, 0x4f, 0x01, 0x51, 0x51, 0x60, 0xd5, 0x51, 0x4f, 0x3f, + 0x50, 0x80, 0x0a, 0x7c, 0x1c, 0x6c, 0x06, 0x50, + 0x98, 0x7c, 0x1d, 0xb9, 0x7c, 0x1c, 0x6c, 0x06, 0x50, 0x98, 0x7c, 0x1d, + 0x06, 0x50, 0x05, 0x3a, 0x51, 0xd0, 0x58, 0x7c, 0x1c, 0x60, 0x51, + 0x50, 0x01, 0x62, 0x53, 0x4e, 0x51, 0x51, 0x09, 0x00, 0x53, 0x4f, + 0x06, 0x50, 0x8c, 0x7c, 0x1d, 0x06, 0x3e, 0x50, 0x53, 0x50, 0x51, + 0x4f, 0x60, 0xd4, 0x3e, 0x4e, 0x53, 0x4d, 0x3e, 0x4e, 0x16, 0x4e, + 0x02, 0x02, 0x50, 0x53, 0x50, 0x51, 0x4d, 0x0a, + 0x51, 0x53, 0x51, 0x70, 0xfb, 0x6e, 0x51, 0x6e, 0x50, 0x51, 0x4f, 0x60, + 0xd5, 0x51, 0x51, 0x3f, 0x4e, 0x51, 0x50, 0x3f, 0x4e, 0x52, 0x00, + 0x53, 0x50, 0x55, 0x51, 0x00, 0x06, 0x50, 0x98, 0x0e, 0x51, 0x00, + 0x51, 0x51, 0x60, 0xd5, 0x50, 0x00, 0x3f, 0x50, 0x77, 0x00, 0x3d, + 0x00, 0x02, 0xcd, 0x77, 0x62, 0xd0, 0x00, 0x3c, 0xb1, 0x02, 0xb2, + 0x20, 0x56, 0x00, 0x00, 0x82, 0x16, 0x62, 0xd0, + 0x00, 0x7c, 0x1c, 0x60, 0x51, 0x50, 0x01, 0x8c, 0x7c, 0x1c, 0x77, 0x06, + 0x50, 0x38, 0x0e, 0x51, 0x00, 0x7c, 0x1c, 0x88, 0x7c, 0x1c, 0x60, + 0x51, 0x50, 0x01, 0x62, 0x7c, 0x1c, 0x77, 0x06, 0x50, 0x3c, 0x0e, + 0x51, 0x00, 0x7c, 0x1c, 0x88, 0x97, 0xf7, 0x40, 0x51, 0x50, 0x01, + 0x62, 0x7c, 0x1c, 0x77, 0x51, 0x50, 0x01, 0x8c, 0x53, 0x4c, 0x51, + 0x51, 0x7c, 0x1d, 0x7b, 0x51, 0x4e, 0x12, 0x4c, + 0x51, 0x4f, 0x1a, 0x4d, 0xd0, 0x21, 0x7c, 0x1d, 0x6f, 0x51, 0x4e, 0x01, + 0x62, 0x53, 0x4c, 0x51, 0x4f, 0x7c, 0x1d, 0x7b, 0x06, 0x4e, 0x8c, + 0x7c, 0x1d, 0x46, 0x12, 0x4c, 0x54, 0x02, 0x51, 0x4f, 0x1a, 0x4d, + 0x54, 0x01, 0x80, 0x07, 0x56, 0x02, 0x00, 0x56, 0x01, 0x00, 0x62, + 0xd0, 0x00, 0x06, 0x50, 0x34, 0x0e, 0x51, 0x00, 0x51, 0x51, 0x60, + 0xd5, 0x52, 0x01, 0x3f, 0x50, 0x52, 0x02, 0x3f, + 0x50, 0x3d, 0x00, 0x00, 0xb0, 0x35, 0x97, 0x98, 0x40, 0x51, 0x50, 0x01, + 0x8c, 0x97, 0xa8, 0x40, 0x55, 0x4c, 0x01, 0x97, 0x55, 0x40, 0x06, + 0x50, 0x38, 0x0e, 0x51, 0x00, 0x97, 0xaa, 0x40, 0x97, 0x7f, 0x40, + 0x51, 0x50, 0x01, 0x62, 0x97, 0x8f, 0x40, 0x55, 0x4c, 0x01, 0x97, + 0x3c, 0x40, 0x06, 0x50, 0x3c, 0x0e, 0x51, 0x00, 0x97, 0x91, 0x40, + 0x80, 0xfb, 0x3d, 0x00, 0x01, 0xb0, 0x44, 0x62, + 0xd0, 0x00, 0x97, 0x5c, 0x40, 0x51, 0x50, 0x01, 0x8c, 0x97, 0x6c, 0x40, + 0x55, 0x4c, 0x05, 0x97, 0x19, 0x40, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, + 0x4e, 0x06, 0x50, 0x38, 0x0e, 0x51, 0x00, 0x97, 0x68, 0x40, 0x97, + 0x3d, 0x40, 0x51, 0x50, 0x01, 0x62, 0x97, 0x4d, 0x40, 0x55, 0x4c, + 0x05, 0x96, 0xfa, 0x40, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, 0x06, + 0x50, 0x3c, 0x0e, 0x51, 0x00, 0x97, 0x49, 0x40, + 0x80, 0xb3, 0x3d, 0x00, 0x02, 0xb0, 0x68, 0x62, 0xd0, 0x00, 0x97, 0x14, + 0x40, 0x51, 0x50, 0x01, 0x8c, 0x97, 0x24, 0x40, 0x55, 0x4c, 0x03, + 0x96, 0xd1, 0x40, 0x50, 0x00, 0x08, 0x50, 0x03, 0x08, 0x51, 0x4f, + 0x08, 0x51, 0x4e, 0x08, 0x7c, 0x1b, 0xe6, 0x18, 0x53, 0x4e, 0x18, + 0x53, 0x4f, 0x38, 0xfe, 0x06, 0x50, 0x38, 0x0e, 0x51, 0x00, 0x97, + 0x0f, 0x40, 0x96, 0xe4, 0x40, 0x51, 0x50, 0x01, + 0x62, 0x96, 0xf4, 0x40, 0x65, 0x4e, 0x6b, 0x4f, 0x65, 0x4e, 0x6b, 0x4f, + 0x50, 0x00, 0x08, 0x50, 0x03, 0x08, 0x51, 0x4f, 0x08, 0x51, 0x4e, + 0x08, 0x7c, 0x1b, 0xe6, 0x18, 0x53, 0x4e, 0x18, 0x53, 0x4f, 0x38, + 0xfe, 0x06, 0x50, 0x3c, 0x0e, 0x51, 0x00, 0x96, 0xdd, 0x40, 0x80, + 0x47, 0x3d, 0x00, 0x03, 0xb0, 0x42, 0x62, 0xd0, 0x00, 0x96, 0xa8, + 0x40, 0x51, 0x50, 0x01, 0x8c, 0x96, 0xb8, 0x40, + 0x55, 0x4c, 0x05, 0x96, 0x65, 0x40, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, + 0x06, 0x50, 0x38, 0x0e, 0x51, 0x00, 0x96, 0xb4, 0x40, 0x96, 0x89, + 0x40, 0x51, 0x50, 0x01, 0x62, 0x96, 0x99, 0x40, 0x55, 0x4c, 0x05, + 0x96, 0x46, 0x40, 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, 0x06, 0x50, + 0x3c, 0x0e, 0x51, 0x00, 0x96, 0x95, 0x40, 0x62, 0xd0, 0x00, 0x96, + 0x67, 0x40, 0x51, 0x50, 0x01, 0x62, 0x96, 0x77, + 0x40, 0x51, 0x50, 0x01, 0x8c, 0x53, 0x4c, 0x51, 0x51, 0x97, 0x70, 0x40, + 0x51, 0x4e, 0x12, 0x4c, 0x51, 0x4f, 0x1a, 0x4d, 0xd0, 0x21, 0x97, + 0x57, 0x40, 0x51, 0x4e, 0x01, 0x62, 0x53, 0x4c, 0x51, 0x4f, 0x97, + 0x58, 0x40, 0x06, 0x4e, 0x8c, 0x97, 0x1d, 0x40, 0x12, 0x4c, 0x54, + 0x04, 0x51, 0x4f, 0x1a, 0x4d, 0x54, 0x03, 0x80, 0x07, 0x56, 0x04, + 0x00, 0x56, 0x03, 0x00, 0x62, 0xd0, 0x00, 0x06, + 0x50, 0x34, 0x0e, 0x51, 0x00, 0x51, 0x51, 0x60, 0xd5, 0x52, 0x03, 0x3f, + 0x50, 0x52, 0x04, 0x3f, 0x50, 0x77, 0x00, 0x3d, 0x00, 0x02, 0xcd, + 0xe7, 0x62, 0xd0, 0x00, 0x3c, 0xb1, 0x02, 0xa0, 0x18, 0x3c, 0xb2, + 0x00, 0xa0, 0x13, 0x50, 0x01, 0x08, 0x50, 0x2c, 0x08, 0x90, 0x0e, + 0x38, 0xfe, 0x7c, 0x0a, 0xee, 0x10, 0x7c, 0x07, 0xc5, 0x20, 0x38, + 0xfb, 0x20, 0x7f, 0x10, 0x4f, 0x80, 0x02, 0x40, + 0x62, 0xd0, 0x00, 0x52, 0xfc, 0x53, 0x50, 0x52, 0xfb, 0x53, 0x51, 0x51, + 0x50, 0x11, 0x01, 0x54, 0xfc, 0x51, 0x51, 0x19, 0x00, 0x54, 0xfb, + 0x3c, 0x51, 0x00, 0xbf, 0xe4, 0x3c, 0x50, 0x00, 0xbf, 0xdf, 0x20, + 0x7f, 0x10, 0x7c, 0x04, 0x8f, 0x7c, 0x04, 0x6c, 0x20, 0x7f, 0x10, + 0x7c, 0x04, 0x8b, 0x7c, 0x04, 0x68, 0x20, 0x7f, 0x62, 0xd0, 0x00, + 0x51, 0x42, 0x12, 0x67, 0x50, 0x00, 0x1a, 0x66, + 0xd0, 0x0f, 0x51, 0x43, 0x12, 0x69, 0x50, 0x00, 0x1a, 0x68, 0xd0, 0x05, + 0x50, 0x0f, 0x80, 0x17, 0x62, 0xd0, 0x00, 0x51, 0x69, 0x12, 0x67, + 0x51, 0x68, 0x1a, 0x66, 0xd0, 0x05, 0x50, 0x00, 0x80, 0x06, 0x62, + 0xd0, 0x00, 0x50, 0x01, 0x7f, 0x10, 0x4f, 0x38, 0x05, 0x62, 0xd0, + 0x00, 0x51, 0x67, 0x54, 0x02, 0x51, 0x66, 0x54, 0x01, 0x56, 0x04, + 0x00, 0x56, 0x00, 0x00, 0x56, 0x03, 0x00, 0x80, + 0x61, 0x95, 0x69, 0x40, 0x06, 0x50, 0x42, 0x0e, 0x51, 0x00, 0x51, 0x51, + 0x60, 0xd4, 0x3e, 0x50, 0x53, 0x50, 0x96, 0x5b, 0x40, 0x06, 0x4e, + 0x66, 0x0e, 0x4f, 0x00, 0x51, 0x4f, 0x95, 0x8c, 0x40, 0x51, 0x50, + 0x12, 0x4e, 0x50, 0x00, 0x1a, 0x4f, 0xd0, 0x03, 0x77, 0x03, 0x62, + 0xd0, 0x00, 0x95, 0x2f, 0x40, 0x06, 0x50, 0x66, 0x95, 0xcf, 0x40, + 0x3e, 0x50, 0x53, 0x50, 0x52, 0x02, 0x12, 0x50, + 0x52, 0x01, 0x1a, 0x51, 0xd0, 0x1a, 0x95, 0x18, 0x40, 0x06, 0x50, 0x66, + 0x0e, 0x51, 0x00, 0x51, 0x51, 0x60, 0xd4, 0x3e, 0x50, 0x54, 0x01, + 0x3e, 0x50, 0x54, 0x02, 0x52, 0x00, 0x54, 0x04, 0x77, 0x00, 0x3d, + 0x00, 0x02, 0xcf, 0x9c, 0x50, 0x01, 0x3b, 0x03, 0xd0, 0x08, 0x62, + 0xd0, 0x00, 0x50, 0x0f, 0x80, 0x06, 0x52, 0x04, 0x62, 0xd0, 0x00, + 0x38, 0xfb, 0x20, 0x7f, 0x10, 0x4f, 0x38, 0x02, + 0x70, 0xfe, 0x62, 0xd0, 0x00, 0x26, 0x2a, 0xf0, 0x51, 0xb0, 0x01, 0x01, + 0x53, 0x51, 0x51, 0x2a, 0x2a, 0x51, 0x53, 0x2a, 0x71, 0x01, 0x62, + 0xe3, 0x38, 0x10, 0x7c, 0x05, 0xc5, 0x62, 0xd0, 0x00, 0x20, 0x41, + 0x00, 0xf7, 0x56, 0x01, 0x00, 0x56, 0x00, 0x00, 0x80, 0x21, 0x10, + 0x7c, 0x05, 0xc5, 0x62, 0xd0, 0x00, 0x20, 0x53, 0x51, 0x47, 0x51, + 0x20, 0xa0, 0x03, 0x80, 0x1a, 0x50, 0x00, 0x08, + 0x50, 0x04, 0x08, 0x9e, 0xb6, 0x38, 0xfe, 0x77, 0x01, 0x0f, 0x00, 0x00, + 0x52, 0x01, 0x11, 0xdc, 0x52, 0x00, 0x19, 0x05, 0xcf, 0xd7, 0x56, + 0x01, 0x00, 0x56, 0x00, 0x00, 0x80, 0x21, 0x10, 0x7c, 0x05, 0xc5, + 0x62, 0xd0, 0x00, 0x20, 0x53, 0x51, 0x47, 0x51, 0x20, 0xb0, 0x03, + 0x80, 0x1a, 0x50, 0x00, 0x08, 0x50, 0x04, 0x08, 0x9e, 0x84, 0x38, + 0xfe, 0x77, 0x01, 0x0f, 0x00, 0x00, 0x52, 0x01, + 0x11, 0x2c, 0x52, 0x00, 0x19, 0x01, 0xcf, 0xd7, 0x43, 0x00, 0x08, 0x38, + 0xfe, 0x20, 0x7f, 0x10, 0x4f, 0x38, 0x02, 0x70, 0xfe, 0x62, 0xd0, + 0x00, 0x26, 0x2a, 0xf0, 0x51, 0xb0, 0x01, 0x09, 0x53, 0x51, 0x51, + 0x2a, 0x2a, 0x51, 0x53, 0x2a, 0x71, 0x01, 0x62, 0xe3, 0x38, 0x10, + 0x7c, 0x05, 0xc5, 0x62, 0xd0, 0x00, 0x20, 0x41, 0x00, 0xf7, 0x56, + 0x01, 0x00, 0x56, 0x00, 0x00, 0x80, 0x21, 0x10, + 0x7c, 0x05, 0xc5, 0x62, 0xd0, 0x00, 0x20, 0x53, 0x51, 0x47, 0x51, 0x20, + 0xa0, 0x03, 0x80, 0x1a, 0x50, 0x00, 0x08, 0x50, 0x04, 0x08, 0x9e, + 0x23, 0x38, 0xfe, 0x77, 0x01, 0x0f, 0x00, 0x00, 0x52, 0x01, 0x11, + 0xdc, 0x52, 0x00, 0x19, 0x05, 0xcf, 0xd7, 0x56, 0x01, 0x00, 0x56, + 0x00, 0x00, 0x80, 0x21, 0x10, 0x7c, 0x05, 0xc5, 0x62, 0xd0, 0x00, + 0x20, 0x53, 0x51, 0x47, 0x51, 0x20, 0xb0, 0x03, + 0x80, 0x1a, 0x50, 0x00, 0x08, 0x50, 0x04, 0x08, 0x9d, 0xf1, 0x38, 0xfe, + 0x77, 0x01, 0x0f, 0x00, 0x00, 0x52, 0x01, 0x11, 0x2c, 0x52, 0x00, + 0x19, 0x01, 0xcf, 0xd7, 0x43, 0x00, 0x08, 0x38, 0xfe, 0x20, 0x7f, + 0x10, 0x4f, 0x38, 0x04, 0x62, 0xd0, 0x00, 0x51, 0x2a, 0x21, 0xf0, + 0x54, 0x00, 0x51, 0x2d, 0x54, 0x01, 0x3d, 0x00, 0x10, 0xb0, 0x2a, + 0x55, 0xa7, 0x00, 0x3c, 0xab, 0x01, 0xb0, 0x09, + 0x55, 0x94, 0x00, 0x55, 0x95, 0x00, 0x80, 0x0f, 0x62, 0xd0, 0x00, 0x3c, + 0xae, 0x01, 0xa0, 0x07, 0x55, 0x94, 0x00, 0x55, 0x95, 0x00, 0x56, + 0x00, 0x00, 0x62, 0xd0, 0x00, 0x26, 0x2a, 0x0f, 0x81, 0x76, 0x3d, + 0x00, 0x20, 0xb0, 0x18, 0x62, 0xd0, 0x00, 0x55, 0xa7, 0x01, 0x55, + 0xa8, 0x00, 0x55, 0x94, 0x08, 0x55, 0x95, 0x08, 0x56, 0x00, 0x00, + 0x26, 0x2a, 0x0f, 0x81, 0x5a, 0x3d, 0x00, 0x30, + 0xb0, 0x0f, 0x62, 0xd0, 0x00, 0x55, 0xb1, 0x00, 0x56, 0x00, 0x00, 0x26, + 0x2a, 0x0f, 0x81, 0x47, 0x3d, 0x00, 0x40, 0xb0, 0x0f, 0x62, 0xd0, + 0x00, 0x55, 0xb1, 0x02, 0x56, 0x00, 0x00, 0x26, 0x2a, 0x0f, 0x81, + 0x34, 0x3d, 0x00, 0x50, 0xb0, 0xa7, 0x52, 0x01, 0x54, 0x03, 0x56, + 0x02, 0x00, 0x3d, 0x02, 0x00, 0xb0, 0x06, 0x3d, 0x03, 0x01, 0xa0, + 0x21, 0x3d, 0x02, 0x00, 0xb0, 0x06, 0x3d, 0x03, + 0x02, 0xa0, 0x28, 0x3d, 0x02, 0x00, 0xb0, 0x06, 0x3d, 0x03, 0x04, 0xa0, + 0x36, 0x3d, 0x02, 0x00, 0xb0, 0x06, 0x3d, 0x03, 0x08, 0xa0, 0x48, + 0x80, 0x62, 0x62, 0xd0, 0x00, 0x55, 0xaa, 0x01, 0x51, 0x2f, 0x29, + 0x80, 0x53, 0x2f, 0x7c, 0x0d, 0x19, 0x80, 0x51, 0x62, 0xd0, 0x00, + 0x51, 0x2b, 0x53, 0x42, 0x51, 0x2b, 0x53, 0x43, 0x51, 0x2b, 0x53, + 0x2e, 0x51, 0x2c, 0x53, 0x0e, 0x55, 0x0d, 0x00, + 0x80, 0x39, 0x62, 0xd0, 0x00, 0x51, 0x2b, 0x53, 0x2f, 0x3c, 0xaa, 0x00, + 0xa0, 0x09, 0x51, 0x2f, 0x29, 0x80, 0x53, 0x2f, 0x80, 0x25, 0x62, + 0xd0, 0x00, 0x26, 0x2f, 0x7f, 0x80, 0x1d, 0x62, 0xd0, 0x00, 0x55, + 0xaa, 0x00, 0x26, 0x2f, 0x7f, 0x51, 0x9c, 0x53, 0x24, 0x51, 0x24, + 0x53, 0x30, 0x51, 0x9d, 0x53, 0x25, 0x51, 0x25, 0x53, 0x31, 0x7c, + 0x0d, 0x19, 0x56, 0x00, 0x00, 0x62, 0xd0, 0x00, + 0x26, 0x2a, 0x0f, 0x55, 0x2b, 0x11, 0x55, 0x2c, 0x08, 0x55, 0x2d, 0x00, + 0x80, 0x89, 0x3d, 0x00, 0x60, 0xb0, 0x0f, 0x62, 0xd0, 0x00, 0x55, + 0xab, 0x01, 0x56, 0x00, 0x00, 0x26, 0x2a, 0x0f, 0x80, 0x76, 0x3d, + 0x00, 0x70, 0xb0, 0x0f, 0x62, 0xd0, 0x00, 0x55, 0xab, 0x00, 0x56, + 0x00, 0x00, 0x26, 0x2a, 0x0f, 0x80, 0x63, 0x3d, 0x00, 0x80, 0xb0, + 0x5e, 0x56, 0x00, 0x00, 0x62, 0xd0, 0x00, 0x26, + 0x2a, 0x0f, 0x9c, 0x9f, 0x10, 0x7c, 0x08, 0xb8, 0x7c, 0x05, 0xdb, 0x20, + 0x70, 0xfe, 0x93, 0xcf, 0x40, 0x62, 0xda, 0x00, 0x71, 0x10, 0x41, + 0xdc, 0xfe, 0x70, 0xcf, 0x43, 0x01, 0x08, 0x43, 0x00, 0x08, 0x50, + 0x00, 0x08, 0x50, 0x1e, 0x08, 0x9c, 0x52, 0x38, 0xfe, 0x71, 0x01, + 0x43, 0xe0, 0x10, 0x43, 0xff, 0x08, 0x70, 0xfe, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x10, 0x7c, 0x07, 0xe7, + 0x7c, 0x05, 0x8f, 0x7c, 0x05, 0xd0, 0x20, 0x93, 0x3f, 0x40, 0x62, 0xe3, + 0x38, 0x56, 0x00, 0x00, 0x62, 0xd0, 0x00, 0x26, 0x2a, 0x0f, 0x38, + 0xfc, 0x20, 0x7f, 0x62, 0xd0, 0x00, 0x3c, 0xa7, 0x00, 0xa0, 0x13, + 0x9c, 0x3f, 0x62, 0xd0, 0x00, 0x3c, 0xa8, 0x00, 0xb0, 0x33, 0x55, + 0xa8, 0x01, 0x7c, 0x0a, 0xee, 0x80, 0x2b, 0x62, 0xd0, 0x00, 0x50, + 0x01, 0x3a, 0x94, 0xd0, 0x08, 0x10, 0x7c, 0x04, + 0x8f, 0x20, 0x80, 0x06, 0x10, 0x7c, 0x04, 0x8b, 0x20, 0x62, 0xd0, 0x00, + 0x50, 0x01, 0x3a, 0x95, 0xd0, 0x08, 0x10, 0x7c, 0x04, 0x6c, 0x20, + 0x80, 0x06, 0x10, 0x7c, 0x04, 0x68, 0x20, 0x7f, 0x10, 0x4f, 0x38, + 0x03, 0x56, 0x02, 0x00, 0x56, 0x01, 0x00, 0x56, 0x00, 0x00, 0x80, + 0x3e, 0x62, 0xd0, 0x00, 0x91, 0xad, 0x40, 0x52, 0xfc, 0x04, 0x50, + 0x52, 0xfb, 0x0c, 0x51, 0x51, 0x51, 0x60, 0xd4, + 0x3e, 0x50, 0x53, 0x51, 0x3e, 0x50, 0x53, 0x50, 0x52, 0x02, 0x12, 0x50, + 0x52, 0x01, 0x1a, 0x51, 0xd0, 0x18, 0x91, 0x8c, 0x40, 0x52, 0xfc, + 0x04, 0x50, 0x52, 0xfb, 0x0c, 0x51, 0x51, 0x51, 0x60, 0xd4, 0x3e, + 0x50, 0x54, 0x01, 0x3e, 0x50, 0x54, 0x02, 0x77, 0x00, 0x52, 0x00, + 0x3b, 0xfa, 0xcf, 0xbe, 0x62, 0xd0, 0x00, 0x52, 0x02, 0x53, 0x50, + 0x52, 0x01, 0x53, 0x51, 0x38, 0xfd, 0x20, 0x7f, + 0x10, 0x7c, 0x04, 0x1a, 0x20, 0x10, 0x50, 0x04, 0x08, 0x50, 0x00, 0x08, + 0x50, 0x8c, 0x08, 0x7c, 0x04, 0x23, 0x38, 0xfd, 0x20, 0x10, 0x50, + 0x04, 0x08, 0x50, 0x00, 0x08, 0x50, 0x62, 0x08, 0x7c, 0x04, 0x23, + 0x38, 0xfd, 0x20, 0x10, 0x50, 0x04, 0x08, 0x50, 0x00, 0x08, 0x50, + 0x66, 0x08, 0x7c, 0x04, 0x23, 0x38, 0xfd, 0x20, 0x10, 0x50, 0x00, + 0x7c, 0x03, 0x3e, 0x20, 0x10, 0x50, 0xff, 0x7c, + 0x03, 0x3e, 0x20, 0x10, 0x50, 0xff, 0x7c, 0x03, 0x3e, 0x20, 0x7f, 0x62, + 0xd0, 0x00, 0x55, 0xaa, 0x00, 0x55, 0xab, 0x01, 0x10, 0x7c, 0x04, + 0x8f, 0x7c, 0x04, 0x6c, 0x20, 0x9b, 0x45, 0x62, 0xe3, 0x38, 0x92, + 0x7c, 0x40, 0x43, 0x00, 0x08, 0x62, 0xd0, 0x00, 0x55, 0x2a, 0x08, + 0x55, 0x2b, 0x11, 0x55, 0x2c, 0x08, 0x55, 0x2e, 0x1e, 0x55, 0x2f, + 0x03, 0x55, 0x30, 0x5f, 0x55, 0x31, 0x28, 0x55, + 0x32, 0x00, 0x55, 0x33, 0x00, 0x3c, 0xaa, 0x00, 0xa0, 0x09, 0x51, 0x2f, + 0x29, 0x80, 0x53, 0x2f, 0x80, 0x07, 0x62, 0xd0, 0x00, 0x26, 0x2f, + 0x7f, 0x10, 0x50, 0x00, 0x08, 0x50, 0x2a, 0x08, 0x50, 0x06, 0x08, + 0x50, 0x16, 0x08, 0x7c, 0x05, 0xe2, 0x38, 0xfc, 0x7c, 0x05, 0x8f, + 0x7c, 0x05, 0xd0, 0x20, 0x91, 0xd5, 0x40, 0x10, 0x7c, 0x07, 0xe7, + 0x7c, 0x07, 0x6d, 0x20, 0x7c, 0x0d, 0x19, 0x80, + 0x22, 0x62, 0xe3, 0x38, 0x7c, 0x10, 0xc2, 0x10, 0x7c, 0x07, 0xab, 0x62, + 0xd0, 0x00, 0x20, 0x39, 0x00, 0xa0, 0x09, 0x7c, 0x0a, 0x07, 0x7c, + 0x0a, 0x31, 0x80, 0x04, 0x7c, 0x0a, 0x9f, 0x9c, 0xc2, 0x9e, 0x78, + 0x8f, 0xde, 0x8f, 0xff, 0x10, 0x4f, 0x7c, 0x1b, 0xf1, 0x20, 0x70, + 0x3f, 0x71, 0xc0, 0x7f, 0x5d, 0xd0, 0x08, 0x62, 0xd0, 0x00, 0x50, + 0x00, 0x53, 0x4a, 0x53, 0x4b, 0x55, 0x49, 0x10, + 0x66, 0xfc, 0x6c, 0xfb, 0x6b, 0x4a, 0x6b, 0x4b, 0x51, 0x4a, 0x1b, 0xfa, + 0x51, 0x4b, 0x1b, 0xf9, 0xc0, 0x09, 0x53, 0x4b, 0x52, 0xfa, 0x1c, + 0x4a, 0x77, 0xfc, 0x7a, 0x49, 0xbf, 0xe3, 0x51, 0x4a, 0x54, 0xfa, + 0x51, 0x4b, 0x54, 0xf9, 0x18, 0x60, 0xd0, 0x7f, 0x55, 0x4d, 0x00, + 0x55, 0x4b, 0x00, 0x55, 0x4a, 0x00, 0x3c, 0x4d, 0x00, 0xb0, 0x06, + 0x3c, 0x4c, 0x00, 0xa0, 0x1a, 0x70, 0xfb, 0x6e, + 0x4d, 0x6e, 0x4c, 0xd0, 0x0c, 0x62, 0xd0, 0x00, 0x51, 0x4e, 0x04, 0x4b, + 0x51, 0x4f, 0x0c, 0x4a, 0x65, 0x4e, 0x6b, 0x4f, 0x8f, 0xde, 0x5f, + 0x4e, 0x4b, 0x5f, 0x4f, 0x4a, 0x62, 0xd0, 0x00, 0x7f, 0x52, 0x00, + 0x53, 0x50, 0x55, 0x51, 0x00, 0x65, 0x50, 0x6b, 0x51, 0x7f, 0x62, + 0xd0, 0x00, 0x52, 0x00, 0x53, 0x50, 0x55, 0x51, 0x00, 0x7f, 0x53, + 0x4e, 0x51, 0x51, 0x09, 0x00, 0x60, 0xd4, 0x3e, + 0x4e, 0x53, 0x4f, 0x3e, 0x4e, 0x53, 0x4e, 0x7f, 0x51, 0x51, 0x60, 0xd5, + 0x51, 0x4f, 0x3f, 0x50, 0x51, 0x4e, 0x3f, 0x50, 0x7f, 0x06, 0x50, + 0x8c, 0x0e, 0x51, 0x00, 0x51, 0x51, 0x60, 0xd4, 0x3e, 0x50, 0x53, + 0x4f, 0x3e, 0x50, 0x16, 0x50, 0x02, 0x53, 0x4e, 0x7f, 0x60, 0xd4, + 0x3e, 0x4e, 0x53, 0x4f, 0x3e, 0x4e, 0x53, 0x4e, 0x7f, 0x09, 0x00, + 0x60, 0xd4, 0x3e, 0x4e, 0x53, 0x4f, 0x3e, 0x4e, + 0x7f, 0x55, 0x4e, 0x06, 0x55, 0x4f, 0x00, 0x55, 0x4b, 0x00, 0x55, 0x4a, + 0x00, 0x3c, 0x4f, 0x00, 0xb0, 0x06, 0x3c, 0x4e, 0x00, 0xa0, 0x1a, + 0x70, 0xfb, 0x6e, 0x4f, 0x6e, 0x4e, 0xd0, 0x0c, 0x62, 0xd0, 0x00, + 0x51, 0x50, 0x04, 0x4b, 0x51, 0x51, 0x0c, 0x4a, 0x65, 0x50, 0x6b, + 0x51, 0x8f, 0xde, 0x5f, 0x50, 0x4b, 0x5f, 0x51, 0x4a, 0x62, 0xd0, + 0x00, 0x5a, 0x4e, 0x06, 0x4e, 0x01, 0x51, 0x4e, + 0x04, 0x50, 0x0e, 0x51, 0x03, 0x7f, 0x0e, 0x51, 0x00, 0x51, 0x51, 0x60, + 0xd4, 0x3e, 0x50, 0x53, 0x51, 0x7f, 0x60, 0xd4, 0x3e, 0x50, 0x53, + 0x51, 0x3e, 0x50, 0x53, 0x50, 0x7f, 0x53, 0x4e, 0x51, 0x51, 0x09, + 0x00, 0x60, 0xd5, 0x52, 0x14, 0x3f, 0x4e, 0x52, 0x15, 0x3f, 0x4e, + 0x7f, 0x3e, 0x50, 0x53, 0x50, 0x51, 0x4e, 0x12, 0x50, 0x51, 0x4f, + 0x1a, 0x51, 0x7f, 0x53, 0x50, 0x52, 0xfb, 0x09, + 0x00, 0x60, 0xd4, 0x3e, 0x50, 0x7f, 0x0e, 0x4f, 0x00, 0x51, 0x4f, 0x60, + 0xd4, 0x3e, 0x4e, 0x53, 0x4f, 0x3e, 0x4e, 0x7f, 0x60, 0xd4, 0x3e, + 0x50, 0x54, 0x00, 0x3e, 0x50, 0x54, 0x01, 0x7f, 0x0e, 0x51, 0x00, + 0x51, 0x51, 0x60, 0xd5, 0x52, 0x14, 0x3f, 0x50, 0x52, 0x15, 0x3f, + 0x50, 0x7f, 0x52, 0x00, 0x53, 0x4e, 0x55, 0x4f, 0x00, 0x65, 0x4e, + 0x6b, 0x4f, 0x7f, 0x09, 0x00, 0x60, 0xd4, 0x3e, + 0x4c, 0x53, 0x4d, 0x3e, 0x4c, 0x53, 0x4c, 0x7f, 0x71, 0x10, 0x41, 0x04, + 0xfe, 0x41, 0x05, 0xfe, 0x41, 0x04, 0xfd, 0x41, 0x05, 0xfd, 0x70, + 0xcf, 0x43, 0x04, 0x01, 0x43, 0x04, 0x02, 0x71, 0x01, 0x7f, 0x0e, + 0x4f, 0x00, 0x51, 0x4f, 0x60, 0xd5, 0x51, 0x51, 0x3f, 0x4e, 0x7f, + 0x53, 0x4e, 0x55, 0x4f, 0x00, 0x65, 0x4e, 0x6b, 0x4f, 0x51, 0x4e, + 0x7f, 0x0e, 0x51, 0x00, 0x51, 0x51, 0x60, 0xd5, + 0x50, 0x00, 0x3f, 0x50, 0x7f, 0x3e, 0x50, 0x12, 0x4e, 0x54, 0x04, 0x51, + 0x51, 0x1a, 0x4f, 0x54, 0x03, 0x7f, 0x3e, 0x50, 0x12, 0x4e, 0x54, + 0x02, 0x51, 0x51, 0x1a, 0x4f, 0x54, 0x01, 0x7f, 0x71, 0x10, 0x41, + 0x00, 0xf7, 0x41, 0x01, 0xf7, 0x70, 0xcf, 0x7f, 0x00, 0x2a, 0x00, + 0x16, 0x00, 0x52, 0x00, 0x10, 0x00, 0x6a, 0x00, 0x22, 0x00, 0x90, + 0x00, 0x04, 0x00, 0x94, 0x04, 0x08, 0x08, 0x08, + 0x08, 0x00, 0x98, 0x00, 0x04, 0x00, 0x9c, 0x02, 0x5f, 0x28, 0x00, 0x9e, + 0x00, 0x08, 0x00, 0xa6, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x01, + 0x02, 0x00, 0xad, 0x00, 0x06, 0xff, 0x00, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30 +}; diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c index b8d2a93..bf75ef5 100644 --- a/drivers/input/keyboard/gpio_keys.c +++ b/drivers/input/keyboard/gpio_keys.c @@ -389,6 +389,59 @@ static struct attribute_group sec_key_attr_group = { .attrs = sec_key_attrs, }; +#ifdef CONFIG_MACH_GC1 +void gpio_keys_check_zoom_exception(unsigned int code, + bool *zoomkey, unsigned int *hotkey, unsigned int *index) +{ + switch (code) { + case KEY_CAMERA_ZOOMIN: + *hotkey = 0x221; + *index = 5; + break; + case KEY_CAMERA_ZOOMOUT: + *hotkey = 0x222; + *index = 6; + break; + case 0x221: + *hotkey = KEY_CAMERA_ZOOMIN; + *index = 3; + break; + case 0x222: + *hotkey = KEY_CAMERA_ZOOMOUT; + *index = 4; + break; + default: + *zoomkey = false; + return; + } + *zoomkey = true; +} +#endif + +#ifdef CONFIG_FAST_BOOT +extern bool fake_shut_down; + +struct timer_list fake_timer; +bool fake_pressed; + +static void gpio_keys_fake_off_check(unsigned long _data) +{ + struct input_dev *input = (struct input_dev *)_data; + unsigned int type = EV_KEY; + + if (fake_pressed == false) + return ; + + printk(KERN_DEBUG"[Keys] make event\n"); + + input_event(input, type, KEY_FAKE_PWR, 1); + input_sync(input); + + input_event(input, type, KEY_FAKE_PWR, 0); + input_sync(input); +} +#endif + static void gpio_keys_report_event(struct gpio_button_data *bdata) { struct gpio_keys_button *button = bdata->button; @@ -396,13 +449,61 @@ static void gpio_keys_report_event(struct gpio_button_data *bdata) unsigned int type = button->type ?: EV_KEY; int state = (gpio_get_value_cansleep(button->gpio) ? 1 : 0) ^ button->active_low; +#ifdef CONFIG_MACH_GC1 + struct gpio_keys_drvdata *ddata = input_get_drvdata(input); + struct gpio_button_data *tmp_bdata; + static bool overlapped; + static unsigned int hotkey; + unsigned int index_hotkey = 0; + bool zoomkey = false; + +#ifdef CONFIG_FAST_BOOT + /*Fake pwr off control*/ + if (fake_shut_down) { + if (button->code == KEY_POWER) { + if (!!state) { + printk(KERN_DEBUG"[Keys] start fake check\n"); + fake_pressed = true; + mod_timer(&fake_timer, + jiffies + msecs_to_jiffies(1000)); + } else { + printk(KERN_DEBUG"[Keys] end fake checkPwr 0\n"); + fake_pressed = false; + } + } + return ; + } +#endif + if (system_rev < 6 && system_rev >= 2) { + if (overlapped) { + if (hotkey == button->code && !state) { + bdata->key_state = !!state; + bdata->wakeup = false; + overlapped = false; +#ifdef CONFIG_SAMSUNG_PRODUCT_SHIP + printk(KERN_DEBUG"[KEYS] Ignored\n"); +#else + printk(KERN_DEBUG"[KEYS] Ignore %d %d\n", + hotkey, state); +#endif + return; + } + } + + gpio_keys_check_zoom_exception(button->code, &zoomkey, + &hotkey, &index_hotkey); + } +#endif if (type == EV_ABS) { - if (state) + if (state) { input_event(input, type, button->code, button->value); + input_sync(input); + } } else { if (bdata->wakeup && !state) { input_event(input, type, button->code, !state); + input_sync(input); if (button->code == KEY_POWER) printk(KERN_DEBUG"[keys] f PWR %d\n", !state); } @@ -410,12 +511,32 @@ static void gpio_keys_report_event(struct gpio_button_data *bdata) bdata->key_state = !!state; bdata->wakeup = false; + +#ifdef CONFIG_MACH_GC1 + if (system_rev < 6 && system_rev >= 2 + && zoomkey && state) { + tmp_bdata = &ddata->data[index_hotkey]; + + if (tmp_bdata->key_state) { +#ifdef CONFIG_SAMSUNG_PRODUCT_SHIP + printk(KERN_DEBUG"[KEYS] overlapped\n"); +#else + printk(KERN_DEBUG"[KEYS] overlapped. Forced release c %d h %d\n", + tmp_bdata->button->code, hotkey); +#endif + input_event(input, type, hotkey, 0); + input_sync(input); + + overlapped = true; + } + } +#endif input_event(input, type, button->code, !!state); + input_sync(input); + if (button->code == KEY_POWER) printk(KERN_DEBUG"[keys]PWR %d\n", !!state); } - - input_sync(input); } static void gpio_keys_work_func(struct work_struct *work) @@ -638,6 +759,12 @@ static int __devinit gpio_keys_probe(struct platform_device *pdev) gpio_keys_report_event(&ddata->data[i]); input_sync(input); +#ifdef CONFIG_FAST_BOOT + /*Fake power off*/ + input_set_capability(input, EV_KEY, KEY_FAKE_PWR); + setup_timer(&fake_timer, gpio_keys_fake_off_check, + (unsigned long)input); +#endif device_init_wakeup(&pdev->dev, wakeup); return 0; diff --git a/drivers/input/keyboard/samsung-keypad.c b/drivers/input/keyboard/samsung-keypad.c index f689f49..74581e3 100644 --- a/drivers/input/keyboard/samsung-keypad.c +++ b/drivers/input/keyboard/samsung-keypad.c @@ -23,6 +23,13 @@ #include <linux/slab.h> #include <linux/sched.h> #include <plat/keypad.h> +#include <linux/regulator/consumer.h> +#include <linux/regulator/driver.h> +#include <linux/regulator/machine.h> +#include <linux/gpio.h> +#include <plat/gpio-cfg.h> + + #define SAMSUNG_KEYIFCON 0x00 #define SAMSUNG_KEYIFSTSCLR 0x04 @@ -56,6 +63,11 @@ /* SAMSUNG_KEYIFFC */ #define SAMSUNG_KEYIFFC_MASK (0x3ff << 0) +extern struct class *sec_class; + +static int key_suspend; +static int key_led_prev; + enum samsung_keypad_type { KEYPAD_TYPE_SAMSUNG, KEYPAD_TYPE_S5PV210, @@ -64,6 +76,7 @@ enum samsung_keypad_type { struct samsung_keypad { struct input_dev *input_dev; struct clk *clk; + struct device *dev; void __iomem *base; wait_queue_head_t wait; bool stopped; @@ -132,16 +145,15 @@ static bool samsung_keypad_report(struct samsung_keypad *keypad, continue; pressed = row_state[col] & (1 << row); - + pressed = pressed ? 1 : 0; dev_dbg(&keypad->input_dev->dev, "key %s, row: %d, col: %d\n", pressed ? "pressed" : "released", row, col); val = MATRIX_SCAN_CODE(row, col, keypad->row_shift); - input_event(input_dev, EV_MSC, MSC_SCAN, val); - input_report_key(input_dev, - keypad->keycodes[val], pressed); + input_event(input_dev, EV_KEY, keypad->keycodes[val], pressed); + printk(KERN_INFO "[KEY]:%d, :%d, %d\n", keypad->keycodes[val], val, pressed); } input_sync(keypad->input_dev); } @@ -158,13 +170,14 @@ static irqreturn_t samsung_keypad_irq(int irq, void *dev_id) unsigned int val; bool key_down; + + printk(KERN_INFO "[KEY]samsung_keypad_irq()\n"); + do { val = readl(keypad->base + SAMSUNG_KEYIFSTSCLR); /* Clear interrupt. */ writel(~0x0, keypad->base + SAMSUNG_KEYIFSTSCLR); - samsung_keypad_scan(keypad, row_state); - key_down = samsung_keypad_report(keypad, row_state); if (key_down) wait_event_timeout(keypad->wait, keypad->stopped, @@ -175,10 +188,36 @@ static irqreturn_t samsung_keypad_irq(int irq, void *dev_id) return IRQ_HANDLED; } +static irqreturn_t samsung_keypad_xeint_irq(int irq, void *dev_id) +{ + struct samsung_keypad *keypad = dev_id; + struct input_dev *input_dev = keypad->input_dev; + unsigned int val; + + printk(KERN_INFO "[KEY]samsung_keypad_xeint_irq()\n"); + + input_event(input_dev, EV_KEY, KEY_POWER, 1); + input_event(input_dev, EV_KEY, KEY_POWER, 0); + input_sync(input_dev); + + s3c_gpio_cfgpin(GPIO_KBR_0, S3C_GPIO_SFN(3)); + s3c_gpio_setpull(GPIO_KBR_0, S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(GPIO_KBR_1, S3C_GPIO_SFN(3)); + s3c_gpio_setpull(GPIO_KBR_1, S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(GPIO_KBR_2, S3C_GPIO_SFN(3)); + s3c_gpio_setpull(GPIO_KBR_2, S3C_GPIO_PULL_UP); + s3c_gpio_cfgall_range(GPIO_KBR_3, 2, S3C_GPIO_SFN(3), S3C_GPIO_PULL_UP); + s3c_gpio_cfgall_range(GPIO_KBC_0, 5, S3C_GPIO_SFN(3), S3C_GPIO_PULL_NONE); + + return IRQ_HANDLED; +} + static void samsung_keypad_start(struct samsung_keypad *keypad) { unsigned int val; + printk(KERN_INFO "[KEY]samsung_keypad_start()\n"); + /* Tell IRQ thread that it may poll the device. */ keypad->stopped = false; @@ -197,6 +236,8 @@ static void samsung_keypad_stop(struct samsung_keypad *keypad) { unsigned int val; + printk(KERN_INFO "[KEY]samsung_keypad_stop()\n"); + /* Signal IRQ thread to stop polling and disable the handler. */ keypad->stopped = true; wake_up(&keypad->wait); @@ -235,6 +276,76 @@ static void samsung_keypad_close(struct input_dev *input_dev) samsung_keypad_stop(keypad); } +static ssize_t key_disable_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ +/* struct samsung_keypad *keypad = dev_get_drvdata(dev);*/ + return 0; + +} + +static ssize_t key_disable_store(struct device *dev, + struct device_attribute *attr, const char *buf, + size_t size) +{ +/* struct samsung_keypad *keypad = dev_get_drvdata(dev);*/ + + return 0; +} + +static ssize_t key_pressed_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct samsung_keypad *keypad = dev_get_drvdata(dev); + return 0; +} + +static ssize_t key_led_onoff(struct device *dev, + struct device_attribute *attr, const char *buf, + size_t size) +{ + int data; + struct regulator *regulator; + regulator = regulator_get(NULL, "VREG_KEY"); + if (IS_ERR(regulator)) + return 0; + sscanf(buf, "%d\n", &data); + + if (key_led_prev == data || key_suspend == 1) + return 0; + if (data) { + regulator_enable(regulator); + printk(KERN_INFO "[KEY] key_led_on\n"); + } + else { + regulator_disable(regulator); + printk(KERN_INFO "[KEY] key_led_off\n"); + } + key_led_prev = data; + regulator_put(regulator); + mdelay(70); + return 0; +} + +static DEVICE_ATTR(disable_key, S_IRUGO | S_IWUSR | S_IWGRP, + key_disable_show, key_disable_store); +static DEVICE_ATTR(key_pressed, S_IRUGO | S_IWUSR | S_IWGRP, + key_pressed_show, NULL); +static DEVICE_ATTR(keyled_onoff, S_IRUGO | S_IWUSR | S_IWGRP, + NULL, key_led_onoff); + +static struct attribute *key_attributes[] = { + &dev_attr_disable_key.attr, + &dev_attr_key_pressed.attr, + &dev_attr_keyled_onoff.attr, + NULL, +}; + +static struct attribute_group key_attr_group = { + .attrs = key_attributes, +}; + + static int __devinit samsung_keypad_probe(struct platform_device *pdev) { const struct samsung_keypad_platdata *pdata; @@ -245,6 +356,7 @@ static int __devinit samsung_keypad_probe(struct platform_device *pdev) unsigned int row_shift; unsigned int keymap_size; int error; + int ret; pdata = pdev->dev.platform_data; if (!pdata) { @@ -304,6 +416,11 @@ static int __devinit samsung_keypad_probe(struct platform_device *pdev) init_waitqueue_head(&keypad->wait); input_dev->name = pdev->name; + #if defined(CONFIG_MACH_GRANDE) || defined(CONFIG_MACH_IRON) + input_dev->phys = "grande_3x4_keypad/input0"; + #else + input_dev->phys = "samsung-keypad/input0"; + #endif input_dev->id.bustype = BUS_HOST; input_dev->dev.parent = &pdev->dev; input_set_drvdata(input_dev, keypad); @@ -311,11 +428,17 @@ static int __devinit samsung_keypad_probe(struct platform_device *pdev) input_dev->open = samsung_keypad_open; input_dev->close = samsung_keypad_close; - input_dev->evbit[0] = BIT_MASK(EV_KEY); + + set_bit(EV_SYN, input_dev->evbit); + set_bit(EV_LED, input_dev->evbit); + set_bit(LED_MISC, input_dev->ledbit); + set_bit(EV_KEY, input_dev->evbit); if (!pdata->no_autorepeat) - input_dev->evbit[0] |= BIT_MASK(EV_REP); + set_bit(EV_REP, input_dev->evbit); - input_set_capability(input_dev, EV_MSC, MSC_SCAN); + + /* when sleep => wakeup, we want to report key-value as KEY_POWER */ + input_set_capability(input_dev, EV_KEY, KEY_POWER); input_dev->keycode = keypad->keycodes; input_dev->keycodesize = sizeof(keypad->keycodes[0]); @@ -343,6 +466,21 @@ static int __devinit samsung_keypad_probe(struct platform_device *pdev) device_init_wakeup(&pdev->dev, pdata->wakeup); platform_set_drvdata(pdev, keypad); + /*sysfs*/ + keypad->dev = device_create(sec_class, NULL, 0, NULL, "sec_keypad"); + if (IS_ERR(keypad->dev)) { + printk(KERN_ERR "Failed to create device(tkey_i2c->dev)!\n"); + input_unregister_device(input_dev); + } else { + dev_set_drvdata(keypad->dev, keypad); + ret = sysfs_create_group(&keypad->dev->kobj, + &key_attr_group); + if (ret) { + printk(KERN_ERR + "[Key]: failed to create sysfs group\n"); + } + } + return 0; err_free_irq: @@ -381,7 +519,7 @@ static int __devexit samsung_keypad_remove(struct platform_device *pdev) return 0; } -#ifdef CONFIG_PM +#if 1 /*CONFIG_PM*/ static void samsung_keypad_toggle_wakeup(struct samsung_keypad *keypad, bool enable) { @@ -410,13 +548,56 @@ static int samsung_keypad_suspend(struct device *dev) struct platform_device *pdev = to_platform_device(dev); struct samsung_keypad *keypad = platform_get_drvdata(pdev); struct input_dev *input_dev = keypad->input_dev; + int irq; + int error; + + printk(KERN_INFO "[KEY] samsung_keypad_suspend()\n"); mutex_lock(&input_dev->mutex); if (input_dev->users) samsung_keypad_stop(keypad); - samsung_keypad_toggle_wakeup(keypad, true); +/* samsung_keypad_toggle_wakeup(keypad, true); */ + + s3c_gpio_cfgpin(GPIO_KBR_0, S3C_GPIO_SFN(0xf)); + s3c_gpio_setpull(GPIO_KBR_0, S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(GPIO_KBR_1, S3C_GPIO_SFN(0xf)); + s3c_gpio_setpull(GPIO_KBR_1, S3C_GPIO_PULL_UP); + s3c_gpio_cfgpin(GPIO_KBR_2, S3C_GPIO_SFN(0xf)); + s3c_gpio_setpull(GPIO_KBR_2, S3C_GPIO_PULL_UP); + s3c_gpio_cfgall_range(GPIO_KBR_3, 2, S3C_GPIO_SFN(0xf), S3C_GPIO_PULL_UP); + s3c_gpio_cfgall_range(GPIO_KBC_0, 5, S3C_GPIO_OUTPUT, S3C_GPIO_PULL_DOWN); + + irq = gpio_to_irq(GPIO_KBR_0); + /*printk(KERN_INFO "[KEY] KP_ROW[2] : %d\n", irq); // KBR(0)*/ + error = request_threaded_irq(irq, NULL, samsung_keypad_xeint_irq, + IRQF_TRIGGER_FALLING, dev_name(&pdev->dev), keypad); + enable_irq_wake(irq); + + irq = gpio_to_irq(GPIO_KBR_1); + /*printk(KERN_INFO "[KEY] KP_ROW[4] : %d\n", irq); // KBR(3)*/ + error = request_threaded_irq(irq, NULL, samsung_keypad_xeint_irq, + IRQF_TRIGGER_FALLING, dev_name(&pdev->dev), keypad); + enable_irq_wake(irq); + + irq = gpio_to_irq(GPIO_KBR_2); + /*printk(KERN_INFO "[KEY] KP_ROW[8] : %d\n", irq); // KBR(1)*/ + error = request_threaded_irq(irq, NULL, samsung_keypad_xeint_irq, + IRQF_TRIGGER_FALLING, dev_name(&pdev->dev), keypad); + enable_irq_wake(irq); + + irq = gpio_to_irq(GPIO_KBR_3); + /*printk(KERN_INFO "[KEY] KP_ROW[11] : %d\n", irq); // KBR(4)*/ + error = request_threaded_irq(irq, NULL, samsung_keypad_xeint_irq, + IRQF_TRIGGER_FALLING, dev_name(&pdev->dev), keypad); + enable_irq_wake(irq); + + irq = gpio_to_irq(GPIO_KBR_4); + /*printk(KERN_INFO "[KEY] KP_ROW[12] : %d\n", irq); // KBR(2)*/ + error = request_threaded_irq(irq, NULL, samsung_keypad_xeint_irq, + IRQF_TRIGGER_FALLING, dev_name(&pdev->dev), keypad); + enable_irq_wake(irq); mutex_unlock(&input_dev->mutex); @@ -429,15 +610,18 @@ static int samsung_keypad_resume(struct device *dev) struct samsung_keypad *keypad = platform_get_drvdata(pdev); struct input_dev *input_dev = keypad->input_dev; + printk(KERN_INFO "[KEY]samsung_keypad_resume()\n"); + mutex_lock(&input_dev->mutex); - samsung_keypad_toggle_wakeup(keypad, false); +/* samsung_keypad_toggle_wakeup(keypad, false);*/ if (input_dev->users) samsung_keypad_start(keypad); mutex_unlock(&input_dev->mutex); + key_suspend = 0; return 0; } @@ -449,7 +633,11 @@ static const struct dev_pm_ops samsung_keypad_pm_ops = { static struct platform_device_id samsung_keypad_driver_ids[] = { { + #if defined(CONFIG_MACH_GRANDE) || defined(CONFIG_MACH_IRON) + .name = "grande_3x4_keypad", + #else .name = "samsung-keypad", + #endif .driver_data = KEYPAD_TYPE_SAMSUNG, }, { .name = "s5pv210-keypad", @@ -463,9 +651,13 @@ static struct platform_driver samsung_keypad_driver = { .probe = samsung_keypad_probe, .remove = __devexit_p(samsung_keypad_remove), .driver = { +#if defined(CONFIG_MACH_GRANDE) || defined(CONFIG_MACH_IRON) + .name = "grande_3x4_keypad", +#else .name = "samsung-keypad", +#endif .owner = THIS_MODULE, -#ifdef CONFIG_PM +#if 1 /*CONFIG_PM*/ .pm = &samsung_keypad_pm_ops, #endif }, diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index 8a356ef..9b75c47 100644..100755 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig @@ -515,4 +515,17 @@ config INPUT_XEN_KBDDEV_FRONTEND To compile this driver as a module, choose M here: the module will be called xen-kbdfront. +config INPUT_FLIP + tristate "INPUT_FLIP" + help + Say Y here if you want to support gpio based Flip... + +config INPUT_KR3DH + tristate "ST KR3DH accelerometer sensor" + depends on I2C + help + Say Y here if you want to support for ST KR3DH accelerometer sensor. + + To compile this driver as a module, choose M here: the + module will be called kr3dh. endif diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile index 1d6cd26..549156c 100644..100755 --- a/drivers/input/misc/Makefile +++ b/drivers/input/misc/Makefile @@ -27,6 +27,7 @@ obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o obj-$(CONFIG_INPUT_IXP4XX_BEEPER) += ixp4xx-beeper.o obj-$(CONFIG_INPUT_KEYCHORD) += keychord.o obj-$(CONFIG_INPUT_KEYSPAN_REMOTE) += keyspan_remote.o +obj-$(CONFIG_INPUT_KR3DH) += kr3dh.o obj-$(CONFIG_INPUT_M68K_BEEP) += m68kspkr.o obj-$(CONFIG_INPUT_MAX8925_ONKEY) += max8925_onkey.o obj-$(CONFIG_INPUT_PCAP) += pcap_keys.o @@ -49,4 +50,5 @@ obj-$(CONFIG_INPUT_XEN_KBDDEV_FRONTEND) += xen-kbdfront.o obj-$(CONFIG_INPUT_YEALINK) += yealink.o obj-$(CONFIG_SENSORS_BH1721FVC) += bh1721fvc.o obj-$(CONFIG_MPU_SENSORS_AK8975) += ak8975.o -obj-$(CONFIG_OPTICAL_GP2A) += gp2a.o
\ No newline at end of file +obj-$(CONFIG_OPTICAL_GP2A) += gp2a.o +obj-$(CONFIG_INPUT_FLIP) += flip.o
\ No newline at end of file diff --git a/drivers/input/misc/ak8975.c b/drivers/input/misc/ak8975.c index d95f229..027c2df 100755..100644 --- a/drivers/input/misc/ak8975.c +++ b/drivers/input/misc/ak8975.c @@ -12,7 +12,9 @@ * GNU General Public License for more details. * */ - +#ifdef CONFIG_MPU_SENSORS_MPU3050 +#define FACTORY_TEST +#endif #include <linux/i2c.h> #include <linux/interrupt.h> #include <linux/irq.h> @@ -803,6 +805,7 @@ return 0; exit_class_create_failed: exit_i2c_failed: + misc_deregister(&akm->akmd_device); exit_akmd_device_register_failed: #if USING_IRQ free_irq(akm->irq, akm); diff --git a/drivers/input/misc/flip.c b/drivers/input/misc/flip.c new file mode 100644 index 0000000..769268d --- /dev/null +++ b/drivers/input/misc/flip.c @@ -0,0 +1,408 @@ + +/* Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#include <linux/module.h> +#include <linux/init.h> +#include <linux/kernel.h> +#include <linux/errno.h> +#include <linux/input.h> +#include <linux/interrupt.h> +#include <linux/irq.h> +#include <linux/platform_device.h> +#include <linux/log2.h> +#include <linux/spinlock.h> +#include <linux/hrtimer.h> +#include <linux/sched.h> +#include <linux/pm.h> +#include <linux/slab.h> +#include <linux/pm_runtime.h> +#include <linux/gpio.h> +#include <linux/interrupt.h> +#include <linux/switch.h> +#include <linux/workqueue.h> +#include <linux/irqdesc.h> +#include <linux/fs.h> +#include <linux/sysctl.h> +#include <linux/proc_fs.h> +#include <linux/delay.h> +#include <linux/input.h> +#include <linux/workqueue.h> +#include <linux/irqdesc.h> +#include <linux/wakelock.h> + +#define REPORT_KEY 0 +#define FLIP_NOTINIT -1 +#define FLIP_OPEN 1 +#define FLIP_CLOSE 0 + +#define FLIP_SCAN_INTERVAL (50) /* ms */ +#define FLIP_STABLE_COUNT (1) +#define GPIO_FLIP GPIO_HALL_SW + +extern struct class *sec_class; + +#if 0 /* DEBUG */ +#define dbg_printk(fmt, ...) \ + printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) +#else +#define dbg_printk(fmt, ...) \ + ({ if (0) printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); 0; }) +#endif + +///////////////////////////////////////////////////////////////////// +struct sec_flip_pdata { + int wakeup; + int debounce_interval; + unsigned int rep:1; /* enable input subsystem auto repeat */ +}; + +struct sec_flip { + struct input_dev *input; + struct wake_lock wlock; + struct workqueue_struct *wq; /* The actuak work queue */ + struct work_struct flip_id_det; /* The work being queued */ + struct timer_list flip_timer; + struct device *sec_flip; + int timer_debounce; + int gpio; + int irq; +}; + + +///////////////////////////////////////////////////////////////////// +#ifdef CONFIG_S5P_DSIM_SWITCHABLE_DUAL_LCD +extern void s3cfb_switch_dual_lcd(int lcd_sel); +#endif +extern void samsung_switching_tsp(int flip); +extern void samsung_switching_tkey(int flip); +///////////////////////////////////////////////////////////////////// + +static int flip_status; +static int flip_status_before; + +/* 0 : open, 1: close */ +int Is_folder_state(void) +{ + printk("%s: flip_status = %d\n", __func__,flip_status); + return !flip_status; +} +EXPORT_SYMBOL(Is_folder_state); + + +static void sec_report_flip_key(struct sec_flip *flip) +{ +#if REPORT_KEY + if (flip_status) { + input_report_key(flip->input, KEY_FOLDER_OPEN, 1); + input_report_key(flip->input, KEY_FOLDER_OPEN, 0); + input_sync(flip->input); + dbg_printk("[FLIP] %s: input flip key : open\n", __FUNCTION__); + } else { + input_report_key(flip->input, KEY_FOLDER_CLOSE, 1); + input_report_key(flip->input, KEY_FOLDER_CLOSE, 0); + input_sync(flip->input); + dbg_printk ("[FLIP] %s: input flip key : close\n", __FUNCTION__); + } +#else + if (flip_status) { + input_report_switch(flip->input, SW_LID, 0); + input_sync(flip->input); + dbg_printk("[FLIP] %s: input flip key : open\n", __FUNCTION__); + } else { + input_report_switch(flip->input, SW_LID, 1); + input_sync(flip->input); + dbg_printk ("[FLIP] %s: input flip key : close\n", __FUNCTION__); + } +#endif +} + +static void set_flip_status(struct sec_flip *flip) +{ + int val = 0; + + val = gpio_get_value_cansleep(flip->gpio); + dbg_printk("%s, val:%d, flip_status:%d\n", __FUNCTION__, val, flip_status); + if (flip_status != val) { + flip_status_before = flip_status; + flip_status = val ? FLIP_OPEN : FLIP_CLOSE; + } + +} + +static void sec_flip_work_func(struct work_struct *work) +{ + struct sec_flip* flip = container_of( work, struct sec_flip, flip_id_det); + + //enable_irq(flip->irq); + + set_flip_status(flip); + printk("%s: %s, before:%d \n", __func__, (flip_status) ? "OPEN 1" : "CLOSE 0", flip_status_before); + + sec_report_flip_key(flip); + + if (flip_status != flip_status_before) { +#ifdef CONFIG_S5P_DSIM_SWITCHABLE_DUAL_LCD + s3cfb_switch_dual_lcd(!flip_status); +#endif + samsung_switching_tsp(flip_status); + samsung_switching_tkey(flip_status); + } +} + +static irqreturn_t sec_flip_irq_handler(int irq, void *_flip) +{ + struct sec_flip *flip = _flip; + + dbg_printk("%s\n", __FUNCTION__); + +/* + val = gpio_get_value_cansleep(flip->gpio); + + if(val){ // OPEN + flip_status = 1; + } else{ // CLOSE + flip_status = 0; + samsung_switching_tsp_pre(0, flip_status); + } + printk("[FLIP] %s: val=%d (1:open, 0:close)\n", __func__, val); + + wake_lock_timeout(&flip->wlock, 1 * HZ); +*/ + if (flip->timer_debounce) + mod_timer(&flip->flip_timer, + jiffies + msecs_to_jiffies(flip->timer_debounce)); + else + queue_work(flip->wq, &flip->flip_id_det ); + + return IRQ_HANDLED; +} + + +void sec_flip_timer(unsigned long data) +{ + struct sec_flip* flip = (struct sec_flip*)data; + + dbg_printk("%s\n", __FUNCTION__); + queue_work(flip->wq, &flip->flip_id_det); +} + +#if 1 /*CONFIG_PM*/ +static int sec_flip_suspend(struct device *dev) +{ + struct sec_flip *flip = dev_get_drvdata(dev); + + dbg_printk(KERN_INFO "[FLIP]%s:\n", __func__); + + if (device_may_wakeup(dev)) { + enable_irq_wake(flip->irq); + printk(KERN_INFO "[FLIP]%s: enable_irq_wake\n", __func__); + } + + return 0; +} + +static int sec_flip_resume(struct device *dev) +{ + struct sec_flip *flip = dev_get_drvdata(dev); + + dbg_printk("[FLIP]%s:\n", __func__); + + if (device_may_wakeup(dev)) { + disable_irq_wake(flip->irq); + printk(KERN_INFO "[FLIP]%s: disable_irq_wake\n", __func__); + } + + return 0; +} + +static struct dev_pm_ops pm8058_flip_pm_ops = { + .suspend = sec_flip_suspend, + .resume = sec_flip_resume, +}; +#endif + +static ssize_t status_check(struct device *dev, struct device_attribute *attr, char *buf) +{ + printk("flip status check : %d\n", flip_status); + return sprintf(buf, "%d\n", flip_status); +} + +static DEVICE_ATTR(flipStatus, S_IRUGO | S_IWUSR | S_IWGRP , status_check, NULL); + +static int __devinit sec_flip_probe(struct platform_device *pdev) +{ + struct input_dev *input; + int err; + struct sec_flip *flip; + struct sec_flip_pdata *pdata = pdev->dev.platform_data; + + dev_info(&pdev->dev, "probe\n"); + + if (!pdata) { + dev_err(&pdev->dev, "power key platform data not supplied\n"); + return -EINVAL; + } + + flip = kzalloc(sizeof(*flip), GFP_KERNEL); + if (!flip) + return -ENOMEM; + +/* INPUT DEVICE */ + input = input_allocate_device(); + if (!input) { + dev_err(&pdev->dev, "Can't allocate power button\n"); + err = -ENOMEM; + goto free_flip; + } + + if (pdata->rep) + __set_bit(EV_REP, input->evbit); + +#if REPORT_KEY + input_set_capability(input, EV_KEY, KEY_FOLDER_OPEN); + input_set_capability(input, EV_KEY, KEY_FOLDER_CLOSE); +#else + input_set_capability(input, EV_SW, SW_LID); +#endif + + input->name = "sec_flip"; + input->phys = "sec_flip/input0"; + input->dev.parent = &pdev->dev; + + err = input_register_device(input); + if (err) { + dev_err(&pdev->dev, "Can't register power key: %d\n", err); + goto free_input_dev; + } + flip->input = input; + + platform_set_drvdata(pdev, flip); + wake_lock_init(&flip->wlock, WAKE_LOCK_SUSPEND, "sec_flip"); + setup_timer(&flip->flip_timer, sec_flip_timer, (unsigned long)flip); + +/* Initialize the static variable*/ + flip_status = FLIP_NOTINIT; + flip_status_before = FLIP_NOTINIT; + +/* INTERRUPT */ + flip->gpio = GPIO_FLIP; + flip->irq = gpio_to_irq(GPIO_FLIP); + + if (pdata->debounce_interval) { + err = gpio_set_debounce(flip->gpio, + pdata->debounce_interval * 1000); + /* use timer if gpiolib doesn't provide debounce */ + if (err < 0) + flip->timer_debounce = pdata->debounce_interval; + + printk("%s: error:%d, timer_debounce=%d\n", __func__, err, flip->timer_debounce); + } + + + flip->wq = create_singlethread_workqueue("sec_flip_wq"); + if (!flip->wq) { + dev_err(&pdev->dev, "create_workqueue failed.\n"); + } + INIT_WORK(&flip->flip_id_det, sec_flip_work_func); + + device_init_wakeup(&pdev->dev, pdata->wakeup); + + + err = request_threaded_irq(flip->irq, NULL, sec_flip_irq_handler, (IRQF_TRIGGER_RISING|IRQF_TRIGGER_FALLING), "flip_det_irq", flip); + if (err < 0) { + dev_err(&pdev->dev, "Can't get %d IRQ for flip: %d\n", + flip->irq, err); + goto unreg_input_dev; + } + /*enable_irq_wake(flip->irq);*/ + /*disable_irq_nosync(flip->irq);*/ + + printk("%s: gpio=%d irq=%d\n", __func__, flip->gpio, flip->irq); + +/* SYSFS for FACTORY TEST */ + flip->sec_flip = device_create(sec_class, NULL, 0, NULL, "sec_flip"); + err = device_create_file(flip->sec_flip , &dev_attr_flipStatus); + if(err<0){ + printk("flip status check cannot create file : %d\n", flip_status); + goto free_flip; + } + + mod_timer(&flip->flip_timer, jiffies + msecs_to_jiffies(5000)); + return 0; + + +unreg_input_dev: + input_unregister_device(input); + input = NULL; +free_input_dev: + input_free_device(input); +free_flip: + + kfree(flip); + + return err; +} + +static int __devexit sec_flip_remove(struct platform_device *pdev) +{ + struct sec_flip *flip = platform_get_drvdata(pdev); + + printk("%s:\n", __func__); + + if (flip!=NULL) + del_timer_sync(&flip->flip_timer); + + device_init_wakeup(&pdev->dev, 0); + + if (flip!=NULL) { + free_irq(flip->irq, NULL); + destroy_workqueue(flip->wq); + input_unregister_device(flip->input); + kfree(flip); + } + + return 0; +} + +static struct platform_driver sec_flip_driver = { + .probe = sec_flip_probe, + .remove = __devexit_p(sec_flip_remove), + .driver = { + .name = "sec_flip", + .owner = THIS_MODULE, +#if 1 /* CONFIG_PM */ + .pm = &pm8058_flip_pm_ops, +#endif + }, +}; + +static int __init sec_flip_init(void) +{ + return platform_driver_register(&sec_flip_driver); +} +module_init(sec_flip_init); + +static void __exit sec_flip_exit(void) +{ + platform_driver_unregister(&sec_flip_driver); +} +module_exit(sec_flip_exit); + +MODULE_ALIAS("platform:sec_flip"); +MODULE_DESCRIPTION("Flip Key with GPIO"); +MODULE_LICENSE("GPL v2"); diff --git a/drivers/input/misc/gp2a.c b/drivers/input/misc/gp2a.c index 05564cb..5da7ec0 100755..100644 --- a/drivers/input/misc/gp2a.c +++ b/drivers/input/misc/gp2a.c @@ -58,8 +58,6 @@ #define VENDOR_NAME "SHARP" #define CHIP_NAME "GP2A0002" -#define ADC_SAMPLE_NUM 5 - /* ADDSEL is LOW */ #define REGS_PROX 0x0 /* Read Only */ #define REGS_GAIN 0x1 /* Write Only */ @@ -121,34 +119,6 @@ static u8 reg_defaults[5] = { /* light sensor adc channel */ #define ALS_IOUT_ADC 9 -#if defined(CONFIG_MACH_P8) - -static const int adc_table[4] = { - 320, - 840, - 1400, - 1950, -}; - -#elif defined(CONFIG_MACH_P2) - -static const int adc_table[4] = { - 480, - 975, - 1535, - 2090, -}; - -#else - -static const int adc_table[4] = { - 430, - 925, - 1485, - 1950, -}; -#endif - struct gp2a_data; enum { @@ -182,7 +152,6 @@ struct gp2a_data { struct mutex adc_mutex; struct wake_lock prx_wake_lock; struct workqueue_struct *wq; - unsigned int adc_total; struct s3c_adc_client *padc; bool enable_wakeup; int prox_value; @@ -386,7 +355,6 @@ static int lightsensor_get_adcvalue(struct gp2a_data *gp2a) { int value = 0; int fake_value; - unsigned int adc_avr_value; /* get ADC */ /* value = gp2a->pdata->light_adc_value(); */ @@ -402,28 +370,16 @@ static int lightsensor_get_adcvalue(struct gp2a_data *gp2a) value = 0; } - gp2a->adc_total += value; - - adc_avr_value = gp2a->adc_total/ADC_SAMPLE_NUM; - - gp2a->adc_total -= adc_avr_value; - /* Cut off ADC Value */ -#if 1 - if (adc_avr_value < LIGHT_FAKE_LIMIT) { + if (value < LIGHT_FAKE_LIMIT) { fake_value = - (adc_avr_value < LIGHT_FAKE_THRESHOLD) ? - 0 : 2 * (adc_avr_value) - LIGHT_FAKE_LIMIT; - adc_avr_value = fake_value; + (value < LIGHT_FAKE_THRESHOLD) ? + 0 : 2 * (value) - LIGHT_FAKE_LIMIT; + value = fake_value; } -#else - if (adc_avr_value < 10) { - gp2a->adc_total = 0; - adc_avr_value = 0; - } -#endif - return adc_avr_value; + + return value; } static ssize_t lightsensor_file_state_show(struct device *dev, @@ -521,7 +477,6 @@ static struct device_attribute *proximity_sensor_attrs[] = { static void gp2a_work_func_light(struct work_struct *work) { - int i; struct gp2a_data *gp2a = container_of(work, struct gp2a_data, work_light); int adc = lightsensor_get_adcvalue(gp2a); @@ -705,12 +660,7 @@ static int gp2a_i2c_probe(struct i2c_client *client, pr_err("%s: missing pdata!\n", __func__); return ret; } - /* - if (!pdata->power || !pdata->light_adc_value) { - pr_err("%s: incomplete pdata!\n", __func__); - return ret; - } - */ + if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { pr_err("%s: i2c functionality check failed!\n", __func__); return ret; @@ -892,8 +842,6 @@ static int gp2a_i2c_probe(struct i2c_client *client, input_report_abs(gp2a->proximity_input_dev, ABS_DISTANCE, 1); input_sync(gp2a->proximity_input_dev); - gp2a->adc_total = 0; - goto done; /* error, unwind it all */ diff --git a/drivers/input/misc/kr3dh.c b/drivers/input/misc/kr3dh.c new file mode 100644 index 0000000..0ef6543 --- /dev/null +++ b/drivers/input/misc/kr3dh.c @@ -0,0 +1,1352 @@ +/* + * kr3dh.c - ST Microelectronics three-axes accelerometer + * + * Copyright (C) 2010 Samsung Electronics + * Donggeun Kim <dg77.kim@samsung.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include <linux/module.h> +#include <linux/init.h> +#include <linux/interrupt.h> +#include <linux/platform_device.h> +#include <linux/workqueue.h> +#include <linux/mutex.h> +#include <linux/err.h> +#include <linux/i2c.h> +#include <linux/delay.h> +#include <linux/gpio.h> +#include <linux/input.h> +#include <linux/slab.h> +#include <linux/pm_runtime.h> +#include <linux/kr3dh.h> + +#define KR3DH_AUTO_INCREASE 0x80 +#define KR3DH_WHO_AM_I 0x0f +#define KR3DH_CTRL_REG1 0x20 +#define KR3DH_CTRL_REG2 0x21 +#define KR3DH_CTRL_REG3 0x22 +#define KR3DH_CTRL_REG4 0x23 +#define KR3DH_CTRL_REG5 0x24 +#define KR3DH_HP_FILTER_RESET 0x25 +#define KR3DH_REFERENCE 0x26 +#define KR3DH_STATUS_REG 0x27 +#define KR3DH_OUT_X_L 0x28 +#define KR3DH_OUT_X_H 0x29 +#define KR3DH_OUT_Y_L 0x2a +#define KR3DH_OUT_Y_H 0x2b +#define KR3DH_OUT_Z_L 0x2c +#define KR3DH_OUT_Z_H 0x2d +#define KR3DH_INT1_CFG_REG 0x30 +#define KR3DH_INT1_SRC_REG 0x31 +#define KR3DH_INT1_THS 0x32 +#define KR3DH_INT1_DURATION 0x33 +#define KR3DH_INT2_CFG_REG 0x34 +#define KR3DH_INT2_SRC_REG 0x35 +#define KR3DH_INT2_THS 0x36 +#define KR3DH_INT2_DURATION 0x37 +#define KR3DH_MULTI_OUT_X_L (KR3DH_AUTO_INCREASE | KR3DH_OUT_X_L) + +#define KR3DH_PM_SHIFT 5 +#define KR3DH_PM_MASK ((0x7) << KR3DH_PM_SHIFT) +#define KR3DH_DATA_RATE_SHIFT 3 +#define KR3DH_DATA_RATE_MASK ((0x3) << KR3DH_DATA_RATE_SHIFT) +#define KR3DH_ZEN_SHIFT 2 +#define KR3DH_ZEN_MASK ((0x1) << KR3DH_ZEN_SHIFT) +#define KR3DH_YEN_SHIFT 1 +#define KR3DH_YEN_MASK ((0x1) << KR3DH_YEN_SHIFT) +#define KR3DH_XEN_SHIFT 0 +#define KR3DH_XEN_MASK ((0x1) << KR3DH_XEN_SHIFT) + +#define KR3DH_BOOT_SHIFT 7 +#define KR3DH_BOOT_MASK ((0x1) << KR3DH_BOOT_SHIFT) +#define KR3DH_HPM_SHIFT 5 +#define KR3DH_HPM_MASK ((0x3) << KR3DH_HPM_SHIFT) +#define KR3DH_FDS_SHIFT 4 +#define KR3DH_FDS_MASK ((0x1) << KR3DH_FDS_SHIFT) +#define KR3DH_HPEN2_SHIFT 3 +#define KR3DH_HPEN2_MASK ((0x1) << KR3DH_HPEN2_SHIFT) +#define KR3DH_HPEN1_SHIFT 2 +#define KR3DH_HPEN1_MASK ((0x1) << KR3DH_HPEN1_SHIFT) +#define KR3DH_HPCF_SHIFT 0 +#define KR3DH_HPCF_MASK ((0x3) << KR3DH_HPCF_SHIFT) + +#define KR3DH_INT_ACTIVE_SHIFT 7 +#define KR3DH_INT_ACTIVE_MASK ((0x1) << KR3DH_INT_ACTIVE_SHIFT) +#define KR3DH_INT_PPOD_SHIFT 6 +#define KR3DH_INT_PPOD_MASK ((0x1) << KR3DH_INT_PPOD_SHIFT) +#define KR3DH_LIR2_SHIFT 5 +#define KR3DH_LIR2_MASK ((0x1) << KR3DH_LIR2_SHIFT) +#define KR3DH_INT2_CFG_SHIFT 3 +#define KR3DH_INT2_CFG_MASK ((0x3) << KR3DH_INT2_CFG_SHIFT) +#define KR3DH_LIR1_SHIFT 2 +#define KR3DH_LIR1_MASK ((0x1) << KR3DH_LIR1_SHIFT) +#define KR3DH_INT1_CFG_SHIFT 0 +#define KR3DH_INT1_CFG_MASK ((0x3) << KR3DH_INT1_CFG_SHIFT) + +#define KR3DH_BDU_SHIFT 7 +#define KR3DH_BDU_MASK ((0x1) << KR3DH_BDU_SHIFT) +#define KR3DH_BLE_SHIFT 6 +#define KR3DH_BLE_MASK ((0x1) << KR3DH_BLE_SHIFT) +#define KR3DH_FS_SHIFT 4 +#define KR3DH_FS_MASK ((0x3) << KR3DH_FS_SHIFT) +#define KR3DH_ST_SIGN_SHIFT 3 +#define KR3DH_ST_SIGN_MASK ((0x1) << KR3DH_ST_SIGN_SHIFT) +#define KR3DH_ST_SHIFT 1 +#define KR3DH_ST_MASK ((0x3) << KR3DH_ST_SHIFT) +#define KR3DH_SIM_SHIFT 0 +#define KR3DH_SIM_MASK ((0x1) << KR3DH_SIM_SHIFT) + +#define KR3DH_TURNON_SHIFT 0 +#define KR3DH_TURNON_MASK ((0x3) << KR3DH_BOOT_SHIFT) + +#define KR3DH_ZYXOR_SHIFT 7 +#define KR3DH_ZYXOR_MASK ((0x1) << KR3DH_ZYXOR_SHIFT) +#define KR3DH_ZOR_SHIFT 6 +#define KR3DH_ZOR_MASK ((0x1) << KR3DH_ZOR_SHIFT) +#define KR3DH_YOR_SHIFT 5 +#define KR3DH_YOR_MASK ((0x1) << KR3DH_YOR_SHIFT) +#define KR3DH_XOR_SHIFT 4 +#define KR3DH_XOR_MASK ((0x1) << KR3DH_XOR_SHIFT) +#define KR3DH_ZYXDA_SHIFT 3 +#define KR3DH_ZYXDA_MASK ((0x1) << KR3DH_ZYXDA_SHIFT) +#define KR3DH_ZDA_SHIFT 2 +#define KR3DH_ZDA_MASK ((0x1) << KR3DH_ZDA_SHIFT) +#define KR3DH_YDA_SHIFT 1 +#define KR3DH_YDA_MASK ((0x1) << KR3DH_YDA_SHIFT) +#define KR3DH_XDA_SHIFT 0 +#define KR3DH_XDA_MASK ((0x1) << KR3DH_XDA_SHIFT) + +#define KR3DH_AOR_SHIFT 7 +#define KR3DH_AOR_MASK ((0x1) << KR3DH_AOR_SHIFT) +#define KR3DH_6D_SHIFT 6 +#define KR3DH_6D_MASK ((0x1) << KR3DH_6D_SHIFT) +#define KR3DH_ZHIE_SHIFT 5 +#define KR3DH_ZHIE_MASK ((0x1) << KR3DH_ZHIE_SHIFT) +#define KR3DH_ZLIE_SHIFT 4 +#define KR3DH_ZLIE_MASK ((0x1) << KR3DH_ZLIE_SHIFT) +#define KR3DH_YHIE_SHIFT 3 +#define KR3DH_YHIE_MASK ((0x1) << KR3DH_YHIE_SHIFT) +#define KR3DH_YLIE_SHIFT 2 +#define KR3DH_YLIE_MASK ((0x1) << KR3DH_YLIE_SHIFT) +#define KR3DH_XHIE_SHIFT 1 +#define KR3DH_XHIE_MASK ((0x1) << KR3DH_XHIE_SHIFT) +#define KR3DH_XLIE_SHIFT 0 +#define KR3DH_XLIE_MASK ((0x1) << KR3DH_XLIE_SHIFT) + +#define KR3DH_IA_SHIFT 6 +#define KR3DH_IA_MASK ((0x1) << KR3DH_IA_SHIFT) +#define KR3DH_ZH_SHIFT 5 +#define KR3DH_ZH_MASK ((0x1) << KR3DH_ZH_SHIFT) +#define KR3DH_ZL_SHIFT 4 +#define KR3DH_ZL_MASK ((0x1) << KR3DH_ZL_SHIFT) +#define KR3DH_YH_SHIFT 3 +#define KR3DH_YH_MASK ((0x1) << KR3DH_YH_SHIFT) +#define KR3DH_YL_SHIFT 2 +#define KR3DH_YL_MASK ((0x1) << KR3DH_YL_SHIFT) +#define KR3DH_XH_SHIFT 1 +#define KR3DH_XH_MASK ((0x1) << KR3DH_XH_SHIFT) +#define KR3DH_XL_SHIFT 0 +#define KR3DH_XL_MASK ((0x1) << KR3DH_XL_SHIFT) + +#define KR3DH_INT_THS_MASK 0x7f +#define KR3DH_INT_DURATION_MASK 0x7f + +#define KR3DH_DEV_ID 0x32 +#define K3DH_DEV_ID 0x33 + +#define KR3DH_OUT_MIN_VALUE (-32768) +#define KR3DH_OUT_MAX_VALUE (32767) + +#define KR3DH_ON 1 +#define KR3DH_OFF 0 + +struct kr3dh_chip { + struct i2c_client *client; + struct device *dev; + struct input_dev *idev; + struct work_struct work1; + struct work_struct work2; + struct mutex lock; + struct kr3dh_platform_data *pdata; + + s16 x; + s16 y; + s16 z; + + int irq2; + u8 power_mode; + u8 data_rate; + u8 zen; + u8 yen; + u8 xen; + u8 reboot; + u8 hpmode; + u8 filter_sel; + u8 hp_enable_1; + u8 hp_enable_2; + u8 hpcf; + u8 int_hl_active; + u8 int_pp_od; + u8 int2_latch; + u8 int2_cfg; + u8 int1_latch; + u8 int1_cfg; + u8 block_data_update; + u8 endian; + u8 fullscale; + u8 selftest_sign; + u8 selftest; + u8 spi_mode; + u8 turn_on_mode; + u8 int1_combination; + u8 int1_6d_enable; + u8 int1_z_high_enable; + u8 int1_z_low_enable; + u8 int1_y_high_enable; + u8 int1_y_low_enable; + u8 int1_x_high_enable; + u8 int1_x_low_enable; + u8 int1_threshold; + u8 int1_duration; + u8 int2_combination; + u8 int2_6d_enable; + u8 int2_z_high_enable; + u8 int2_z_low_enable; + u8 int2_y_high_enable; + u8 int2_y_low_enable; + u8 int2_x_high_enable; + u8 int2_x_low_enable; + u8 int2_threshold; + u8 int2_duration; + u8 resume_power_mode; +}; + +static int kr3dh_write_reg(struct i2c_client *client, u8 reg, + u8 *value, u8 length) +{ + int ret; + + if (length == 1) + ret = i2c_smbus_write_byte_data(client, reg, *value); + else + ret = i2c_smbus_write_i2c_block_data(client, reg, + length, value); + if (ret < 0) + dev_err(&client->dev, "%s: reg 0x%x, err %d\n", + __func__, reg, ret); + + return ret; +} + +static int kr3dh_read_reg(struct i2c_client *client, u8 reg) +{ + int ret; + + ret = i2c_smbus_read_byte_data(client, reg); + if (ret < 0) + dev_err(&client->dev, "%s: reg 0x%x, err %d\n", + __func__, reg, ret); + + return ret; +} + +static void kr3dh_set_power_mode(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_PM_SHIFT) & KR3DH_PM_MASK; + value = temp | chip->data_rate | chip->zen | + chip->yen | chip->xen; + + mutex_lock(&chip->lock); + chip->power_mode = temp; + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG1, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_power_mode(struct kr3dh_chip *chip) +{ + return chip->power_mode >> KR3DH_PM_SHIFT; +} + +static void kr3dh_set_zen(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_ZEN_SHIFT) & KR3DH_ZEN_MASK; + value = temp | chip->power_mode | chip->data_rate | + chip->yen | chip->xen; + mutex_lock(&chip->lock); + chip->zen = temp; + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG1, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_zen(struct kr3dh_chip *chip) +{ + return chip->zen >> KR3DH_ZEN_SHIFT; +} + +static void kr3dh_set_yen(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_YEN_SHIFT) & KR3DH_YEN_MASK; + value = temp | chip->power_mode | chip->data_rate | + chip->zen | chip->xen; + mutex_lock(&chip->lock); + chip->yen = temp; + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG1, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_yen(struct kr3dh_chip *chip) +{ + return chip->yen >> KR3DH_YEN_SHIFT; +} + +static void kr3dh_set_xen(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_XEN_SHIFT) & KR3DH_XEN_MASK; + value = temp | chip->power_mode | chip->data_rate | + chip->zen | chip->yen; + mutex_lock(&chip->lock); + chip->xen = temp; + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG1, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_xen(struct kr3dh_chip *chip) +{ + return chip->xen >> KR3DH_XEN_SHIFT; +} + +static void kr3dh_set_reboot(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_BOOT_SHIFT) & KR3DH_BOOT_MASK; + value = temp | chip->hpmode | chip->filter_sel | chip->hp_enable_2 | + chip->hp_enable_1 | chip->hpcf; + mutex_lock(&chip->lock); + chip->reboot = temp; + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG2, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_reboot(struct kr3dh_chip *chip) +{ + return chip->reboot >> KR3DH_BOOT_SHIFT; +} + +static void kr3dh_set_int1_6d_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_6D_SHIFT) & KR3DH_6D_MASK; + value = temp | chip->int1_combination | chip->int1_z_high_enable | + chip->int1_z_low_enable | chip->int1_y_high_enable | + chip->int1_y_low_enable | chip->int1_x_high_enable | + chip->int1_x_low_enable; + mutex_lock(&chip->lock); + chip->int1_6d_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT1_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int1_6d_enable(struct kr3dh_chip *chip) +{ + return chip->int1_z_high_enable >> KR3DH_6D_SHIFT; +} + +static void kr3dh_set_int1_z_high_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_ZHIE_SHIFT) & KR3DH_ZHIE_MASK; + value = temp | chip->int1_combination | chip->int1_6d_enable | + chip->int1_z_low_enable | chip->int1_y_high_enable | + chip->int1_y_low_enable | chip->int1_x_high_enable | + chip->int1_x_low_enable; + mutex_lock(&chip->lock); + chip->int1_z_high_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT1_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int1_z_high_enable(struct kr3dh_chip *chip) +{ + return chip->int1_z_high_enable >> KR3DH_ZHIE_SHIFT; +} + +static void kr3dh_set_int1_z_low_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_ZLIE_SHIFT) & KR3DH_ZLIE_MASK; + value = temp | chip->int1_combination | chip->int1_6d_enable | + chip->int1_z_high_enable | chip->int1_y_high_enable | + chip->int1_y_low_enable | chip->int1_x_high_enable | + chip->int1_x_low_enable; + mutex_lock(&chip->lock); + chip->int1_z_low_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT1_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int1_z_low_enable(struct kr3dh_chip *chip) +{ + return chip->int1_z_low_enable >> KR3DH_ZLIE_SHIFT; +} + +static void kr3dh_set_int1_y_high_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_YHIE_SHIFT) & KR3DH_YHIE_MASK; + value = temp | chip->int1_combination | chip->int1_6d_enable | + chip->int1_z_high_enable | chip->int1_z_low_enable | + chip->int1_y_low_enable | chip->int1_x_high_enable | + chip->int1_x_low_enable; + mutex_lock(&chip->lock); + chip->int1_y_high_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT1_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int1_y_high_enable(struct kr3dh_chip *chip) +{ + return chip->int1_y_high_enable >> KR3DH_YHIE_SHIFT; +} + +static void kr3dh_set_int1_y_low_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_YLIE_SHIFT) & KR3DH_YLIE_MASK; + value = temp | chip->int1_combination | chip->int1_6d_enable | + chip->int1_z_high_enable | chip->int1_z_low_enable | + chip->int1_y_high_enable | chip->int1_x_high_enable | + chip->int1_x_low_enable; + mutex_lock(&chip->lock); + chip->int1_y_low_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT1_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int1_y_low_enable(struct kr3dh_chip *chip) +{ + return chip->int1_y_low_enable >> KR3DH_YLIE_SHIFT; +} + +static void kr3dh_set_int1_x_high_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_XHIE_SHIFT) & KR3DH_XHIE_MASK; + value = temp | chip->int1_combination | chip->int1_6d_enable | + chip->int1_z_high_enable | chip->int1_z_low_enable | + chip->int1_y_high_enable | chip->int1_y_low_enable | + chip->int1_x_low_enable; + mutex_lock(&chip->lock); + chip->int1_x_high_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT1_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int1_x_high_enable(struct kr3dh_chip *chip) +{ + return chip->int1_x_high_enable >> KR3DH_XHIE_SHIFT; +} + +static void kr3dh_set_int1_x_low_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_XLIE_SHIFT) & KR3DH_XLIE_MASK; + value = temp | chip->int1_combination | chip->int1_6d_enable | + chip->int1_z_high_enable | chip->int1_z_low_enable | + chip->int1_y_high_enable | chip->int1_y_low_enable | + chip->int1_x_high_enable; + mutex_lock(&chip->lock); + chip->int1_x_low_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT1_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int1_x_low_enable(struct kr3dh_chip *chip) +{ + return chip->int1_x_low_enable >> KR3DH_XLIE_SHIFT; +} + +static void kr3dh_set_int1_threshold(struct kr3dh_chip *chip, u8 val) +{ + u8 value = val; + + mutex_lock(&chip->lock); + chip->int1_threshold = val & KR3DH_INT_THS_MASK; + kr3dh_write_reg(chip->client, KR3DH_INT1_THS, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int1_threshold(struct kr3dh_chip *chip) +{ + return chip->int1_threshold; +} + +static void kr3dh_set_int1_duration(struct kr3dh_chip *chip, u8 val) +{ + u8 value = val; + + mutex_lock(&chip->lock); + chip->int1_duration = val & KR3DH_INT_DURATION_MASK; + kr3dh_write_reg(chip->client, KR3DH_INT1_DURATION, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int1_duration(struct kr3dh_chip *chip) +{ + return chip->int1_duration; +} + +static void kr3dh_set_int2_6d_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_6D_SHIFT) & KR3DH_6D_MASK; + value = temp | chip->int2_combination | chip->int2_z_high_enable | + chip->int2_z_low_enable | chip->int2_y_high_enable | + chip->int2_y_low_enable | chip->int2_x_high_enable | + chip->int2_x_low_enable; + mutex_lock(&chip->lock); + chip->int2_6d_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT2_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int2_6d_enable(struct kr3dh_chip *chip) +{ + return chip->int2_6d_enable >> KR3DH_6D_SHIFT; +} + +static void kr3dh_set_int2_z_high_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_ZHIE_SHIFT) & KR3DH_ZHIE_MASK; + value = temp | chip->int2_combination | chip->int2_6d_enable | + chip->int2_z_low_enable | chip->int2_y_high_enable | + chip->int2_y_low_enable | chip->int2_x_high_enable | + chip->int2_x_low_enable; + mutex_lock(&chip->lock); + chip->int2_z_high_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT2_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int2_z_high_enable(struct kr3dh_chip *chip) +{ + return chip->int2_z_high_enable >> KR3DH_ZHIE_SHIFT; +} + +static void kr3dh_set_int2_z_low_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_ZLIE_SHIFT) & KR3DH_ZLIE_MASK; + value = temp | chip->int2_combination | chip->int2_6d_enable | + chip->int2_z_high_enable | chip->int2_y_high_enable | + chip->int2_y_low_enable | chip->int2_x_high_enable | + chip->int2_x_low_enable; + mutex_lock(&chip->lock); + chip->int2_z_low_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT2_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int2_z_low_enable(struct kr3dh_chip *chip) +{ + return chip->int2_z_low_enable >> KR3DH_ZLIE_SHIFT; +} + +static void kr3dh_set_int2_y_high_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_YHIE_SHIFT) & KR3DH_YHIE_MASK; + value = temp | chip->int2_combination | chip->int2_6d_enable | + chip->int2_z_high_enable | chip->int2_z_low_enable | + chip->int2_y_low_enable | chip->int2_x_high_enable | + chip->int2_x_low_enable; + mutex_lock(&chip->lock); + chip->int2_y_high_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT2_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int2_y_high_enable(struct kr3dh_chip *chip) +{ + return chip->int2_y_high_enable >> KR3DH_YHIE_SHIFT; +} + +static void kr3dh_set_int2_y_low_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_YLIE_SHIFT) & KR3DH_YLIE_MASK; + value = temp | chip->int2_combination | chip->int2_6d_enable | + chip->int2_z_high_enable | chip->int2_z_low_enable | + chip->int2_y_high_enable | chip->int2_x_high_enable | + chip->int2_x_low_enable; + mutex_lock(&chip->lock); + chip->int2_y_low_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT2_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int2_y_low_enable(struct kr3dh_chip *chip) +{ + return chip->int2_y_low_enable >> KR3DH_YLIE_SHIFT; +} + +static void kr3dh_set_int2_x_high_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_XHIE_SHIFT) & KR3DH_XHIE_MASK; + value = temp | chip->int2_combination | chip->int2_6d_enable | + chip->int2_z_high_enable | chip->int2_z_low_enable | + chip->int2_y_high_enable | chip->int2_y_low_enable | + chip->int2_x_low_enable; + mutex_lock(&chip->lock); + chip->int2_x_high_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT2_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int2_x_high_enable(struct kr3dh_chip *chip) +{ + return chip->int2_x_high_enable >> KR3DH_XHIE_SHIFT; +} + +static void kr3dh_set_int2_x_low_enable(struct kr3dh_chip *chip, u8 val) +{ + u8 value, temp; + + temp = (val << KR3DH_XLIE_SHIFT) & KR3DH_XLIE_MASK; + value = temp | chip->int2_combination | chip->int2_6d_enable | + chip->int2_z_high_enable | chip->int2_z_low_enable | + chip->int2_y_high_enable | chip->int2_y_low_enable | + chip->int2_x_high_enable; + mutex_lock(&chip->lock); + chip->int2_x_low_enable = temp; + kr3dh_write_reg(chip->client, KR3DH_INT2_CFG_REG, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int2_x_low_enable(struct kr3dh_chip *chip) +{ + return chip->int2_x_low_enable >> KR3DH_XLIE_SHIFT; +} + +static void kr3dh_set_int2_threshold(struct kr3dh_chip *chip, u8 val) +{ + u8 value = val; + + mutex_lock(&chip->lock); + chip->int2_threshold = val & KR3DH_INT_THS_MASK; + kr3dh_write_reg(chip->client, KR3DH_INT2_THS, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int2_threshold(struct kr3dh_chip *chip) +{ + return chip->int2_threshold; +} + +static void kr3dh_set_int2_duration(struct kr3dh_chip *chip, u8 val) +{ + u8 value = val; + + mutex_lock(&chip->lock); + chip->int2_duration = val & KR3DH_INT_DURATION_MASK; + kr3dh_write_reg(chip->client, KR3DH_INT2_DURATION, &value, 1); + mutex_unlock(&chip->lock); +} + +static u8 kr3dh_get_int2_duration(struct kr3dh_chip *chip) +{ + return chip->int2_duration; +} + +static void kr3dh_get_xyz(struct kr3dh_chip *chip) +{ + u8 xyz_values[6]; + s16 temp; + int ret; + + mutex_lock(&chip->lock); + + ret = i2c_smbus_read_i2c_block_data(chip->client, + KR3DH_MULTI_OUT_X_L, 6, xyz_values); + if (ret < 0) + goto out; + + temp = ((xyz_values[1] << BITS_PER_BYTE) | xyz_values[0]); + chip->x = chip->pdata->negate_x ? -(temp >> 4) : temp >> 4; + temp = ((xyz_values[3] << BITS_PER_BYTE) | xyz_values[2]); + chip->y = chip->pdata->negate_y ? -(temp >> 4) : temp >> 4; + temp = ((xyz_values[5] << BITS_PER_BYTE) | xyz_values[4]); + chip->z = chip->pdata->negate_z ? -(temp >> 4) : temp >> 4; + + if (chip->pdata->change_xy) { + temp = chip->x; + chip->x = chip->y; + chip->y = temp; + } +out: + mutex_unlock(&chip->lock); +} + +static void kr3dh_work1(struct work_struct *work) +{ + struct kr3dh_chip *chip = container_of(work, + struct kr3dh_chip, work1); + u8 int1_src = 0; + + int1_src = kr3dh_read_reg(chip->client, KR3DH_INT1_SRC_REG); + if (int1_src || + ((chip->int1_cfg & KR3DH_INT1_CFG_MASK) == KR3DH_DATA_READY)) { + kr3dh_get_xyz(chip); + mutex_lock(&chip->lock); + input_report_abs(chip->idev, ABS_MISC, 1); + input_report_abs(chip->idev, ABS_MISC, int1_src); + input_report_abs(chip->idev, ABS_X, chip->x); + input_report_abs(chip->idev, ABS_Y, chip->y); + input_report_abs(chip->idev, ABS_Z, chip->z); + input_sync(chip->idev); + mutex_unlock(&chip->lock); + } + + enable_irq(chip->client->irq); +} + +static void kr3dh_work2(struct work_struct *work) +{ + struct kr3dh_chip *chip = container_of(work, + struct kr3dh_chip, work2); + u8 int2_src = 0; + + int2_src = kr3dh_read_reg(chip->client, KR3DH_INT2_SRC_REG); + if (int2_src || + ((chip->int2_cfg & KR3DH_INT2_CFG_MASK) == KR3DH_DATA_READY)) { + kr3dh_get_xyz(chip); + mutex_lock(&chip->lock); + input_report_abs(chip->idev, ABS_MISC, 2); + input_report_abs(chip->idev, ABS_MISC, int2_src); + input_report_abs(chip->idev, ABS_X, chip->x); + input_report_abs(chip->idev, ABS_Y, chip->y); + input_report_abs(chip->idev, ABS_Z, chip->z); + input_sync(chip->idev); + mutex_unlock(&chip->lock); + } + + enable_irq(chip->irq2); +} + +static irqreturn_t kr3dh_irq1(int irq, void *data) +{ + struct kr3dh_chip *chip = data; + + if (!work_pending(&chip->work1)) { + disable_irq_nosync(irq); + schedule_work(&chip->work1); + } else { + dev_err(&chip->client->dev, "work pending\n"); + } + + return IRQ_HANDLED; +} + +static irqreturn_t kr3dh_irq2(int irq, void *data) +{ + struct kr3dh_chip *chip = data; + + if (!work_pending(&chip->work2)) { + disable_irq_nosync(irq); + schedule_work(&chip->work2); + } else { + dev_err(&chip->client->dev, "work pending\n"); + } + + return IRQ_HANDLED; +} + +static ssize_t kr3dh_show_xyz(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct kr3dh_chip *chip = dev_get_drvdata(dev); + kr3dh_get_xyz(chip); + return sprintf(buf, "%d %d %d\n", chip->x, chip->y, chip->z); +} +static DEVICE_ATTR(xyz, S_IRUGO, kr3dh_show_xyz, NULL); + +static ssize_t kr3dh_show_reg_state(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct kr3dh_chip *chip = dev_get_drvdata(dev); + u8 ctrl_reg[5], int1_reg[4]; + int ret; + + ret = i2c_smbus_read_i2c_block_data(chip->client, + (KR3DH_CTRL_REG1 | KR3DH_AUTO_INCREASE), 5, ctrl_reg); + + if (ret < 0) { + dev_err(&chip->client->dev, "%s: reg 0x%x, err %d\n", + __func__, KR3DH_CTRL_REG1, ret); + return ret; + } + + ret = i2c_smbus_read_i2c_block_data(chip->client, + (KR3DH_INT1_CFG_REG | KR3DH_AUTO_INCREASE), 4, int1_reg); + + if (ret < 0) { + dev_err(&chip->client->dev, "%s: reg 0x%x, err %d\n", + __func__, KR3DH_INT1_CFG_REG, ret); + return ret; + } + + ret = i2c_smbus_read_byte_data(chip->client, KR3DH_STATUS_REG); + if (ret < 0) { + dev_err(&chip->client->dev, "%s: reg 0x%x, err %d\n", + __func__, KR3DH_STATUS_REG, ret); + return ret; + } + + return sprintf(buf, "ctrl1:0x%x ctrl2:0x%x ctrl3:0x%x\n" + "ctrl4:0x%x ctrl5:0x%x\n" + "int1_cfg:0x%x int1_src:0x%x int1_ths:0x%x\n" + "int1_dur:0x%x status_reg:0x%x\n", + ctrl_reg[0], ctrl_reg[1], ctrl_reg[2], + ctrl_reg[3], ctrl_reg[4], + int1_reg[0], int1_reg[1], int1_reg[2], + int1_reg[3], ret); +} +static DEVICE_ATTR(reg_state, S_IRUGO, kr3dh_show_reg_state, NULL); + +#define KR3DH_INPUT(name) \ +static ssize_t kr3dh_store_##name(struct device *dev, \ + struct device_attribute *attr, const char *buf, size_t count) \ +{ \ + struct kr3dh_chip *chip = dev_get_drvdata(dev); \ + unsigned long val; \ + int ret; \ + \ + if (!count) \ + return -EINVAL; \ + ret = strict_strtoul(buf, 10, &val); \ + if (ret) { \ + dev_err(dev, "fail: conversion %s 5o number\n", buf); \ + return count; \ + } \ + kr3dh_set_##name(chip, (u8) val); \ + return count; \ +} \ +static ssize_t kr3dh_show_##name(struct device *dev, \ + struct device_attribute *attr, char *buf) \ +{ \ + struct kr3dh_chip *chip = dev_get_drvdata(dev); \ + u16 ret = kr3dh_get_##name(chip); \ + return sprintf(buf, "%d\n", ret); \ +} \ +static DEVICE_ATTR(name, S_IRUGO | S_IWUSR, \ + kr3dh_show_##name, kr3dh_store_##name); + +KR3DH_INPUT(power_mode); +KR3DH_INPUT(zen); +KR3DH_INPUT(yen); +KR3DH_INPUT(xen); +KR3DH_INPUT(reboot); +KR3DH_INPUT(int1_6d_enable); +KR3DH_INPUT(int1_z_high_enable); +KR3DH_INPUT(int1_z_low_enable); +KR3DH_INPUT(int1_y_high_enable); +KR3DH_INPUT(int1_y_low_enable); +KR3DH_INPUT(int1_x_high_enable); +KR3DH_INPUT(int1_x_low_enable); +KR3DH_INPUT(int1_threshold); +KR3DH_INPUT(int1_duration); +KR3DH_INPUT(int2_6d_enable); +KR3DH_INPUT(int2_z_high_enable); +KR3DH_INPUT(int2_z_low_enable); +KR3DH_INPUT(int2_y_high_enable); +KR3DH_INPUT(int2_y_low_enable); +KR3DH_INPUT(int2_x_high_enable); +KR3DH_INPUT(int2_x_low_enable); +KR3DH_INPUT(int2_threshold); +KR3DH_INPUT(int2_duration); + +static struct attribute *kr3dh_attributes[] = { + &dev_attr_power_mode.attr, + &dev_attr_zen.attr, + &dev_attr_yen.attr, + &dev_attr_xen.attr, + &dev_attr_reboot.attr, + &dev_attr_int1_6d_enable.attr, + &dev_attr_int1_z_high_enable.attr, + &dev_attr_int1_z_low_enable.attr, + &dev_attr_int1_y_high_enable.attr, + &dev_attr_int1_y_low_enable.attr, + &dev_attr_int1_x_high_enable.attr, + &dev_attr_int1_x_low_enable.attr, + &dev_attr_int1_threshold.attr, + &dev_attr_int1_duration.attr, + &dev_attr_int2_6d_enable.attr, + &dev_attr_int2_z_high_enable.attr, + &dev_attr_int2_z_low_enable.attr, + &dev_attr_int2_y_high_enable.attr, + &dev_attr_int2_y_low_enable.attr, + &dev_attr_int2_x_high_enable.attr, + &dev_attr_int2_x_low_enable.attr, + &dev_attr_int2_threshold.attr, + &dev_attr_int2_duration.attr, + &dev_attr_xyz.attr, + &dev_attr_reg_state.attr, + NULL +}; + +static const struct attribute_group kr3dh_group = { + .attrs = kr3dh_attributes, +}; + +static void kr3dh_unregister_input_device(struct kr3dh_chip *chip) +{ + struct i2c_client *client = chip->client; + + if (client->irq > 0) + free_irq(client->irq, chip); + if (chip->irq2 > 0) + free_irq(chip->irq2, chip); + + input_unregister_device(chip->idev); + chip->idev = NULL; +} + +static int kr3dh_register_input_device(struct kr3dh_chip *chip) +{ + struct i2c_client *client = chip->client; + struct input_dev *idev; + int ret; + + idev = chip->idev = input_allocate_device(); + if (!idev) { + dev_err(&client->dev, "allocating input device failed\n"); + ret = -ENOMEM; + goto error_alloc; + } + + idev->name = "KR3DH accelerometer"; + idev->id.bustype = BUS_I2C; + idev->dev.parent = &client->dev; + idev->evbit[0] = BIT_MASK(EV_ABS); + + input_set_abs_params(idev, ABS_MISC, 0, 255, 0, 0); + input_set_abs_params(idev, ABS_X, KR3DH_OUT_MIN_VALUE, + KR3DH_OUT_MAX_VALUE, 0, 0); + input_set_abs_params(idev, ABS_Y, KR3DH_OUT_MIN_VALUE, + KR3DH_OUT_MAX_VALUE, 0, 0); + input_set_abs_params(idev, ABS_Z, KR3DH_OUT_MIN_VALUE, + KR3DH_OUT_MAX_VALUE, 0, 0); + + input_set_drvdata(idev, chip); + + ret = input_register_device(idev); + if (ret) { + dev_err(&client->dev, "registering input device failed\n"); + goto error_reg; + } + + if (client->irq > 0) { + unsigned long irq_flag = IRQF_DISABLED; + + irq_flag |= IRQF_TRIGGER_RISING; + ret = request_irq(client->irq, kr3dh_irq1, irq_flag, + "KR3DH accelerometer int1", chip); + if (ret) { + dev_err(&client->dev, "can't get IRQ %d, ret %d\n", + client->irq, ret); + goto error_irq1; + } + } + + if (chip->irq2 > 0) { + unsigned long irq_flag = IRQF_DISABLED; + + irq_flag |= IRQF_TRIGGER_RISING; + ret = request_irq(chip->irq2, kr3dh_irq2, irq_flag, + "KR3DH accelerometer int2", chip); + if (ret) { + dev_err(&client->dev, "can't get IRQ %d, ret %d\n", + chip->irq2, ret); + goto error_irq2; + } + } + + return 0; + +error_irq2: + if (client->irq > 0) + free_irq(client->irq, chip); +error_irq1: + input_unregister_device(idev); +error_reg: + input_free_device(idev); +error_alloc: + return ret; +} + +static void kr3dh_initialize_chip(struct kr3dh_chip *chip) +{ + u8 value; + + /* CTRL_REG1 */ + value = chip->power_mode | chip->data_rate | chip->zen | chip->yen | + chip->xen; + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG1, &value, 1); + + /* CTRL_REG2 */ + value = chip->reboot | chip->hpmode | chip->filter_sel | + chip->hp_enable_2 | chip->hp_enable_1 | chip->hpcf; + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG2, &value, 1); + + /* CTRL_REG3 */ + value = chip->int_hl_active | chip->int_pp_od | chip->int2_latch | + chip->int2_cfg | chip->int1_latch | chip->int1_cfg; + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG3, &value, 1); + + /* CTRL_REG4 */ + value = chip->block_data_update | chip->endian | chip->fullscale | + chip->selftest_sign | chip->selftest | chip->spi_mode; + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG4, &value, 1); + + /* INT1_THS_REG */ + kr3dh_write_reg(chip->client, KR3DH_INT1_THS, + &chip->int1_threshold, 1); + + /* INT1_DURATION_REG */ + kr3dh_write_reg(chip->client, KR3DH_INT1_DURATION, + &chip->int1_duration, 1); + + /* INT2_THS_REG */ + kr3dh_write_reg(chip->client, KR3DH_INT2_THS, + &chip->int2_threshold, 1); + + /* INT2_DURATION_REG */ + kr3dh_write_reg(chip->client, KR3DH_INT2_DURATION, + &chip->int2_duration, 1); + + /* INT1_CFG_REG */ + value = chip->int1_combination | chip->int1_6d_enable | + chip->int1_z_high_enable | chip->int1_z_low_enable | + chip->int1_y_high_enable | chip->int1_y_low_enable | + chip->int1_x_high_enable | chip->int1_x_low_enable; + kr3dh_write_reg(chip->client, KR3DH_INT1_CFG_REG, &value, 1); + + /* INT2_CFG_REG */ + value = chip->int2_combination | chip->int2_6d_enable | + chip->int2_z_high_enable | chip->int2_z_low_enable | + chip->int2_y_high_enable | chip->int2_y_low_enable | + chip->int2_x_high_enable | chip->int2_x_low_enable; + kr3dh_write_reg(chip->client, KR3DH_INT2_CFG_REG, &value, 1); + + /* CTRL_REG5 */ + kr3dh_write_reg(chip->client, KR3DH_CTRL_REG5, &chip->turn_on_mode, 1); + +} + +static void kr3dh_format_chip_data(struct kr3dh_chip *chip, + struct kr3dh_platform_data *pdata) +{ + chip->irq2 = pdata->irq2; + + /* CTRL_REG1 */ + chip->power_mode = (pdata->power_mode << KR3DH_PM_SHIFT) & + KR3DH_PM_MASK; + chip->resume_power_mode = chip->power_mode; + chip->data_rate = (pdata->data_rate << KR3DH_DATA_RATE_SHIFT) & + KR3DH_DATA_RATE_MASK; + chip->zen = (pdata->zen << KR3DH_ZEN_SHIFT) & KR3DH_ZEN_MASK; + chip->yen = (pdata->yen << KR3DH_YEN_SHIFT) & KR3DH_YEN_MASK; + chip->xen = (pdata->xen << KR3DH_XEN_SHIFT) & KR3DH_XEN_MASK; + + /* CTRL_REG2 */ + chip->reboot = (pdata->reboot << KR3DH_BOOT_SHIFT) & KR3DH_BOOT_MASK; + chip->hpmode = (pdata->hpmode << KR3DH_HPM_SHIFT) & KR3DH_HPM_MASK; + chip->filter_sel = (pdata->filter_sel << KR3DH_FDS_SHIFT) & + KR3DH_FDS_MASK; + chip->hp_enable_2 = (pdata->hp_enable_2 << KR3DH_HPEN2_SHIFT) & + KR3DH_HPEN2_MASK; + chip->hp_enable_1 = (pdata->hp_enable_1 << KR3DH_HPEN1_SHIFT) & + KR3DH_HPEN1_MASK; + chip->hpcf = (pdata->hpcf << KR3DH_HPCF_SHIFT) & KR3DH_HPCF_MASK; + + /* CTRL_REG3 */ + chip->int_hl_active = (pdata->int_hl_active << KR3DH_INT_ACTIVE_SHIFT) & + KR3DH_INT_ACTIVE_MASK; + chip->int_pp_od = (pdata->int_pp_od << KR3DH_INT_PPOD_SHIFT) & + KR3DH_INT_PPOD_MASK; + chip->int2_latch = (pdata->int2_latch << KR3DH_LIR2_SHIFT) & + KR3DH_LIR2_MASK; + chip->int2_cfg = (pdata->int2_cfg << KR3DH_INT2_CFG_SHIFT) & + KR3DH_INT2_CFG_MASK; + chip->int1_latch = (pdata->int1_latch << KR3DH_LIR1_SHIFT) & + KR3DH_LIR1_MASK; + chip->int1_cfg = (pdata->int1_cfg << KR3DH_INT1_CFG_SHIFT) & + KR3DH_INT1_CFG_MASK; + + /* CTRL_REG4 */ + chip->block_data_update = + ((pdata->block_data_update << KR3DH_BDU_SHIFT) + & KR3DH_BDU_MASK); + chip->endian = (pdata->endian << KR3DH_BLE_SHIFT) & KR3DH_BLE_MASK; + chip->fullscale = (pdata->fullscale << KR3DH_FS_SHIFT) & KR3DH_FS_MASK; + chip->selftest_sign = (pdata->selftest_sign << KR3DH_ST_SIGN_SHIFT) & + KR3DH_ST_SIGN_MASK; + chip->selftest = (pdata->selftest << KR3DH_ST_SHIFT) & KR3DH_ST_MASK; + chip->spi_mode = (pdata->spi_mode << KR3DH_SIM_SHIFT) & KR3DH_SIM_MASK; + + /* CTRL_REG5 */ + chip->turn_on_mode = pdata->turn_on_mode & KR3DH_TURNON_MASK; + + /* INT1_CFG_REG */ + chip->int1_combination = (pdata->int1_combination << KR3DH_AOR_SHIFT) & + KR3DH_AOR_MASK; + chip->int1_6d_enable = (pdata->int1_6d_enable << KR3DH_6D_SHIFT) & + KR3DH_6D_MASK; + chip->int1_z_high_enable = (pdata->int1_z_high_enable << + KR3DH_ZHIE_SHIFT) & KR3DH_ZHIE_MASK; + chip->int1_z_low_enable = (pdata->int1_z_low_enable << + KR3DH_ZLIE_SHIFT) & KR3DH_ZLIE_MASK; + chip->int1_y_high_enable = (pdata->int1_y_high_enable << + KR3DH_YHIE_SHIFT) & KR3DH_YHIE_MASK; + chip->int1_y_low_enable = (pdata->int1_y_low_enable << + KR3DH_YLIE_SHIFT) & KR3DH_YLIE_MASK; + chip->int1_x_high_enable = (pdata->int1_x_high_enable << + KR3DH_XHIE_SHIFT) & KR3DH_XHIE_MASK; + chip->int1_x_low_enable = (pdata->int1_x_low_enable << + KR3DH_XLIE_SHIFT) & KR3DH_XLIE_MASK; + + /* INT1_THS_REG */ + chip->int1_threshold = pdata->int1_threshold & KR3DH_INT_THS_MASK; + + /* INT1_DURATION_REG */ + chip->int1_duration = pdata->int1_duration & KR3DH_INT_DURATION_MASK; + + /* INT2_CFG_REG */ + chip->int2_combination = (pdata->int2_combination << KR3DH_AOR_SHIFT) & + KR3DH_AOR_MASK; + chip->int2_6d_enable = (pdata->int2_6d_enable << KR3DH_6D_SHIFT) & + KR3DH_6D_MASK; + chip->int2_z_high_enable = (pdata->int2_z_high_enable << + KR3DH_ZHIE_SHIFT) & KR3DH_ZHIE_MASK; + chip->int2_z_low_enable = (pdata->int2_z_low_enable << + KR3DH_ZLIE_SHIFT) & KR3DH_ZLIE_MASK; + chip->int2_y_high_enable = (pdata->int2_y_high_enable << + KR3DH_YHIE_SHIFT) & KR3DH_YHIE_MASK; + chip->int2_y_low_enable = (pdata->int2_y_low_enable << + KR3DH_YLIE_SHIFT) & KR3DH_YLIE_MASK; + chip->int2_x_high_enable = (pdata->int2_x_high_enable << + KR3DH_XHIE_SHIFT) & KR3DH_XHIE_MASK; + chip->int2_x_low_enable = (pdata->int2_x_low_enable << + KR3DH_XLIE_SHIFT) & KR3DH_XLIE_MASK; + + /* INT2_THS_REG */ + chip->int2_threshold = pdata->int2_threshold & KR3DH_INT_THS_MASK; + + /* INT2_DURATION_REG */ + chip->int2_duration = pdata->int2_duration & KR3DH_INT_DURATION_MASK; +} + +static int __devinit kr3dh_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + struct kr3dh_chip *chip; + struct kr3dh_platform_data *pdata; + u8 value; + int ret = -1; + + chip = kzalloc(sizeof(struct kr3dh_chip), GFP_KERNEL); + if (!chip) + return -ENOMEM; + + pdata = client->dev.platform_data; + chip->pdata = pdata; + + /* Detect device id */ + value = kr3dh_read_reg(client, KR3DH_WHO_AM_I); + if ((value != KR3DH_DEV_ID) && (value != K3DH_DEV_ID)) { + dev_err(&client->dev, "failed to detect device id\n"); + goto error_devid_detect; + } + + chip->client = client; + + i2c_set_clientdata(client, chip); + INIT_WORK(&chip->work1, kr3dh_work1); + INIT_WORK(&chip->work2, kr3dh_work2); + mutex_init(&chip->lock); + + ret = sysfs_create_group(&client->dev.kobj, &kr3dh_group); + if (ret) { + dev_err(&client->dev, + "creating attribute group failed\n"); + goto error_sysfs; + } + + if (pdata) + kr3dh_format_chip_data(chip, pdata); + + ret = kr3dh_register_input_device(chip); + if (ret) { + dev_err(&client->dev, "registering input device failed\n"); + goto error_input; + } + + kr3dh_initialize_chip(chip); + + pm_runtime_set_active(&client->dev); + + dev_info(&client->dev, "%s registered\n", id->name); + + return 0; + +error_input: + sysfs_remove_group(&client->dev.kobj, &kr3dh_group); +error_devid_detect: +error_sysfs: + kfree(chip); + return ret; +} + +static int __devexit kr3dh_remove(struct i2c_client *client) +{ + struct kr3dh_chip *chip = i2c_get_clientdata(client); + + disable_irq_nosync(client->irq); + disable_irq_nosync(chip->irq2); + cancel_work_sync(&chip->work1); + cancel_work_sync(&chip->work2); + + kr3dh_unregister_input_device(chip); + sysfs_remove_group(&client->dev.kobj, &kr3dh_group); + kfree(chip); + + return 0; +} + +#ifdef CONFIG_PM +static int kr3dh_suspend(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct kr3dh_chip *chip = i2c_get_clientdata(client); + + disable_irq_nosync(client->irq); + disable_irq_nosync(chip->irq2); + cancel_work_sync(&chip->work1); + cancel_work_sync(&chip->work2); + + chip->resume_power_mode = chip->power_mode; + kr3dh_set_power_mode(chip, KR3DH_POWER_DOWN << KR3DH_PM_SHIFT); + + return 0; +} + +static int kr3dh_resume(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct kr3dh_chip *chip = i2c_get_clientdata(client); + + kr3dh_set_power_mode(chip, chip->resume_power_mode >> KR3DH_PM_SHIFT); + + enable_irq(client->irq); + enable_irq(chip->irq2); + + return 0; +} + +static int kr3dh_freeze(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct kr3dh_chip *chip = i2c_get_clientdata(client); + + disable_irq_nosync(client->irq); + disable_irq_nosync(chip->irq2); + cancel_work_sync(&chip->work1); + cancel_work_sync(&chip->work2); + + return 0; +} + +static int kr3dh_restore(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct kr3dh_chip *chip = i2c_get_clientdata(client); + + kr3dh_initialize_chip(chip); + + enable_irq(client->irq); + enable_irq(chip->irq2); + + return 0; +} + + +static const struct dev_pm_ops kr3dh_dev_pm_ops = { + .suspend = kr3dh_suspend, + .resume = kr3dh_resume, + .freeze = kr3dh_freeze, + .restore = kr3dh_restore, +}; + +#define KR3DH_DEV_PM_OPS (&kr3dh_dev_pm_ops) +#else +#define KR3DH_DEV_PM_OPS NULL +#endif + +static const struct i2c_device_id kr3dh_id[] = { + { "KR3DH", 0 }, + { } +}; +MODULE_DEVICE_TABLE(i2c, kr3dh_id); + +static struct i2c_driver kr3dh_i2c_driver = { + .driver = { + .name = "KR3DH", + .pm = KR3DH_DEV_PM_OPS, + }, + .probe = kr3dh_probe, + .remove = __exit_p(kr3dh_remove), + .id_table = kr3dh_id, +}; + +static int __init kr3dh_init(void) +{ + return i2c_add_driver(&kr3dh_i2c_driver); +} +module_init(kr3dh_init); + +static void __exit kr3dh_exit(void) +{ + i2c_del_driver(&kr3dh_i2c_driver); +} +module_exit(kr3dh_exit); + +MODULE_AUTHOR("Donggeun Kim <dg77.kim@samsung.com>"); +MODULE_DESCRIPTION("KR3DH accelerometer driver"); +MODULE_LICENSE("GPL"); diff --git a/drivers/input/sec-input-bridge.c b/drivers/input/sec-input-bridge.c new file mode 100644 index 0000000..efb2187 --- /dev/null +++ b/drivers/input/sec-input-bridge.c @@ -0,0 +1,388 @@ +/* + * sec-input-bridge.c - Specific control input event bridge + * for Samsung Electronics + * + * Copyright (C) 2010 Samsung Electronics + * Yongsul Oh <yongsul96.oh@samsung.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/input.h> +#include <linux/slab.h> +#include <linux/init.h> +#include <linux/device.h> +#include <linux/platform_device.h> +#include <linux/delay.h> +#include <linux/init.h> + +#include <linux/workqueue.h> +#include <linux/mutex.h> + +#include <linux/input/sec-input-bridge.h> + +struct sec_input_bridge { + struct sec_input_bridge_platform_data *pdata; + struct work_struct work; + struct mutex lock; + struct platform_device *dev; + + /* + * Because this flag size is 32 byte, Max map table number is 32. + */ + u32 send_uevent_flag; + u8 *check_index; +}; + +static void input_bridge_set_ids(struct input_device_id *ids, unsigned int type, + unsigned int code) +{ + switch (type) { + case EV_KEY: + ids->flags = INPUT_DEVICE_ID_MATCH_KEYBIT; + __set_bit(code, ids->keybit); + break; + + case EV_REL: + ids->flags = INPUT_DEVICE_ID_MATCH_RELBIT; + __set_bit(code, ids->relbit); + break; + + case EV_ABS: + ids->flags = INPUT_DEVICE_ID_MATCH_ABSBIT; + __set_bit(code, ids->absbit); + break; + + case EV_MSC: + ids->flags = INPUT_DEVICE_ID_MATCH_MSCIT; + __set_bit(code, ids->mscbit); + break; + + case EV_SW: + ids->flags = INPUT_DEVICE_ID_MATCH_SWBIT; + __set_bit(code, ids->swbit); + break; + + case EV_LED: + ids->flags = INPUT_DEVICE_ID_MATCH_LEDBIT; + __set_bit(code, ids->ledbit); + break; + + case EV_SND: + ids->flags = INPUT_DEVICE_ID_MATCH_SNDBIT; + __set_bit(code, ids->sndbit); + break; + + case EV_FF: + ids->flags = INPUT_DEVICE_ID_MATCH_FFBIT; + __set_bit(code, ids->ffbit); + break; + + case EV_PWR: + /* do nothing */ + break; + + default: + printk(KERN_ERR + "input_bridge_set_ids: unknown type %u (code %u)\n", + type, code); + return; + } + + ids->flags |= INPUT_DEVICE_ID_MATCH_EVBIT; + __set_bit(type, ids->evbit); +} + +static void input_bridge_work(struct work_struct *work) +{ + struct sec_input_bridge *bridge = container_of(work, + struct sec_input_bridge, + work); + int state, i; + char env_str[16]; + char *envp[] = { env_str, NULL }; + + mutex_lock(&bridge->lock); + + for (i = 0; i < bridge->pdata->num_map; i++) { + if (bridge->send_uevent_flag & (1 << i)) { + if (bridge->pdata->mmap[i].enable_uevent) { + printk(KERN_ERR + "!!!!sec-input-bridge: OK!!, KEY input matched , now send uevent!!!!\n"); + sprintf(env_str, "%s=%s", + bridge->pdata->mmap[i].uevent_env_str, + bridge->pdata->mmap[i]. + uevent_env_value); + printk(KERN_ERR + "<kobject_uevent_env for sec-input-bridge>, event: %s\n", + env_str); + state = + kobject_uevent_env(&bridge->dev->dev.kobj, + bridge->pdata->mmap[i]. + uevent_action, envp); + if (state != 0) + printk(KERN_ERR + "<error, kobject_uevent_env fail> with action : %d\n", + bridge->pdata->mmap[i]. + uevent_action); + } + if (bridge->pdata->mmap[i].pre_event_func) { + bridge->pdata->mmap[i]. + pre_event_func(bridge->pdata->event_data); + } + + bridge->send_uevent_flag &= ~(1 << i); + } + } + + if (bridge->pdata->lcd_warning_func) + bridge->pdata->lcd_warning_func(); + + mutex_unlock(&bridge->lock); + + printk(KERN_INFO "<sec-input-bridge> all process done !!!!\n"); +} + +static void input_bridge_event(struct input_handle *handle, unsigned int type, + unsigned int code, int value) +{ + int rep_check; + int i; + + struct input_handler *sec_bridge_handler = handle->handler; + struct sec_input_bridge *sec_bridge = sec_bridge_handler->private; + + rep_check = test_bit(EV_REP, sec_bridge_handler->id_table->evbit); + rep_check = (rep_check << 1) | 1; + + switch (type) { + case EV_KEY: + if (value & rep_check) { + printk(KERN_INFO + "sec-input-bridge: KEY input intercepted, type : %d , code : %d , value %d ", + type, code, value); + + for (i = 0; i < sec_bridge->pdata->num_map; i++) { + if (sec_bridge->pdata->mmap[i]. + mkey_map[(sec_bridge->check_index[i])]. + code == code) { + sec_bridge->check_index[i]++; + if ((sec_bridge->check_index[i]) >= + (sec_bridge->pdata->mmap[i]. + num_mkey)) { + sec_bridge->send_uevent_flag |= + 1 << i; + schedule_work(&sec_bridge-> + work); + sec_bridge->check_index[i] = 0; + } + } else if (sec_bridge->pdata->mmap[i]. + mkey_map[0].code == code) { + sec_bridge->check_index[i] = 1; + } else { + sec_bridge->check_index[i] = 0; + } + } + } + break; + + default: + break; + } + +} + +static int input_bridge_connect(struct input_handler *handler, + struct input_dev *dev, + const struct input_device_id *id) +{ + struct input_handle *handle; + int error; + + handle = kzalloc(sizeof(struct input_handle), GFP_KERNEL); + if (!handle) + return -ENOMEM; + + handle->dev = dev; + handle->handler = handler; + handle->name = "sec-input-bridge"; + + error = input_register_handle(handle); + if (error) { + printk(KERN_ERR + "sec-input-bridge: Failed to register input bridge handler, " + "error %d\n", error); + kfree(handle); + return error; + } + + error = input_open_device(handle); + if (error) { + printk(KERN_ERR + "sec-input-bridge: Failed to open input bridge device, " + "error %d\n", error); + input_unregister_handle(handle); + kfree(handle); + return error; + } + + return 0; +} + +static void input_bridge_disconnect(struct input_handle *handle) +{ + input_close_device(handle); + input_unregister_handle(handle); + kfree(handle); +} + +static struct input_handler input_bridge_handler = { + .event = input_bridge_event, + .connect = input_bridge_connect, + .disconnect = input_bridge_disconnect, + .name = "sec-input-bridge", +}; + +static int __devinit sec_input_bridge_probe(struct platform_device *dev) +{ + struct sec_input_bridge_platform_data *pdata; + struct sec_input_bridge *bridge; + struct input_device_id *input_bridge_ids; + + int state; + int i, j; + int k = 0; + int total_num_key = 0; + + pdata = dev->dev.platform_data; + if (!pdata) { + dev_err(&dev->dev, "No samsung input bridge platform data.\n"); + return -EINVAL; + } + + if (pdata->num_map == 0) { + dev_err(&dev->dev, + "No samsung input bridge platform data. num_mkey == 0\n"); + return -EINVAL; + } + + bridge = kzalloc(sizeof(struct sec_input_bridge), GFP_KERNEL); + if (!bridge) + return -ENOMEM; + + bridge->check_index = kzalloc(sizeof(u8) * pdata->num_map, GFP_KERNEL); + if (!bridge->check_index) { + kfree(bridge); + return -ENOMEM; + } + + bridge->send_uevent_flag = 0; + + for (i = 0; i < pdata->num_map; i++) + total_num_key += pdata->mmap[i].num_mkey; + + input_bridge_ids = + kzalloc(sizeof(struct input_device_id[(total_num_key + 1)]), + GFP_KERNEL); + if (!input_bridge_ids) { + kfree(bridge->check_index); + kfree(bridge); + return -ENOMEM; + } + memset(input_bridge_ids, 0x00, sizeof(input_bridge_ids)); + + for (i = 0; i < pdata->num_map; i++) { + for (j = 0; j < pdata->mmap[i].num_mkey; j++) { + input_bridge_set_ids(&input_bridge_ids[k++], + pdata->mmap[i].mkey_map[j].type, + pdata->mmap[i].mkey_map[j].code); + } + } + + input_bridge_handler.private = bridge; + input_bridge_handler.id_table = input_bridge_ids; + + state = input_register_handler(&input_bridge_handler); + if (state) + goto input_register_fail; + + bridge->dev = dev; + bridge->pdata = pdata; + + INIT_WORK(&bridge->work, input_bridge_work); + mutex_init(&bridge->lock); + + platform_set_drvdata(dev, bridge); + + return 0; + + input_register_fail: + kfree(bridge->check_index); + kfree(bridge); + kfree(input_bridge_ids); + + return state; + +} + +static int __devexit sec_input_bridge_remove(struct platform_device *dev) +{ + struct sec_input_bridge *bridge = platform_get_drvdata(dev); + + cancel_work_sync(&bridge->work); + mutex_destroy(&bridge->lock); + kfree(input_bridge_handler.id_table); + input_unregister_handler(&input_bridge_handler); + kfree(bridge->check_index); + kfree(bridge); + platform_set_drvdata(dev, NULL); + + return 0; +} + +#ifdef CONFIG_PM +static int sec_input_bridge_suspend(struct platform_device *dev, + pm_message_t state) +{ + return 0; +} + +static int sec_input_bridge_resume(struct platform_device *dev) +{ + return 0; +} +#else +#define sec_input_bridge_suspend NULL +#define sec_input_bridge_resume NULL +#endif + +static struct platform_driver sec_input_bridge_driver = { + .probe = sec_input_bridge_probe, + .remove = __devexit_p(sec_input_bridge_remove), + .suspend = sec_input_bridge_suspend, + .resume = sec_input_bridge_resume, + .driver = { + .name = "samsung_input_bridge", + }, +}; + +static int __init sec_input_bridge_init(void) +{ + return platform_driver_register(&sec_input_bridge_driver); +} + +static void __exit sec_input_bridge_exit(void) +{ + platform_driver_unregister(&sec_input_bridge_driver); +} + +module_init(sec_input_bridge_init); +module_exit(sec_input_bridge_exit); + +MODULE_AUTHOR("Yongsul Oh <yongsul96.oh@samsung.com>"); +MODULE_DESCRIPTION("Input Event -> Specific Control Bridge"); +MODULE_LICENSE("GPL"); diff --git a/drivers/input/touchscreen/477_SMD_V02.h b/drivers/input/touchscreen/477_SMD_V02.h new file mode 100644 index 0000000..9d67119 --- /dev/null +++ b/drivers/input/touchscreen/477_SMD_V02.h @@ -0,0 +1,3986 @@ +/* + * Copyright (c) 2012 by MELFAS, Inc. All right reserved. + * + * Permission is hereby granted for the distribution of this firmware data + * in hexadecimal or equivalent format, provided this copyright notice is + * accompanying it." + */ +/*MELFAS HEX to C converter v1.9 for mms100 [2011.10.20]*/ +/* 31.0 KBytes ( 31744 Bytes ) */ +const size_t MELFAS_binary_nLength_4_77_NEW = 0x7C00; + +const u8 MELFAS_binary_4_77_NEW[] = { + /* Model name : + * Module revision : + * Firmware version : + */ + 0x00, 0x20, 0x00, 0x20, 0x79, 0x02, 0x00, 0x00, + 0x39, 0x02, 0x00, 0x00, 0x3D, 0x02, 0x00, 0x00, + 0x41, 0x02, 0x00, 0x00, 0x45, 0x02, 0x00, 0x00, + 0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4D, 0x02, 0x00, 0x00, + 0x51, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x02, 0x00, 0x00, 0x59, 0x02, 0x00, 0x00, + 0x39, 0x01, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00, + 0x25, 0x01, 0x00, 0x00, 0x21, 0x02, 0x00, 0x00, + 0x35, 0x02, 0x00, 0x00, 0x71, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x30, 0xB5, 0x11, 0x4B, 0x11, 0x4A, 0x1B, 0x88, + 0x12, 0x78, 0xD3, 0x18, 0xDB, 0xB2, 0xE1, 0x2B, + 0x02, 0xD0, 0xE5, 0x2B, 0x17, 0xD1, 0x09, 0xE0, + 0x0D, 0x49, 0x0E, 0x4A, 0x04, 0x23, 0x01, 0x3B, + 0xDB, 0xB2, 0xC8, 0x5C, 0x98, 0x54, 0x00, 0x2B, + 0xF9, 0xD1, 0x0C, 0xE0, 0x0A, 0x4C, 0x09, 0x48, + 0x0A, 0x49, 0x0B, 0x4A, 0x04, 0x23, 0x01, 0x3B, + 0xDB, 0xB2, 0xE5, 0x5C, 0x1D, 0x54, 0xCD, 0x5C, + 0x9D, 0x54, 0x00, 0x2B, 0xF7, 0xD1, 0x30, 0xBD, + 0x28, 0x00, 0x00, 0x20, 0x2A, 0x00, 0x00, 0x20, + 0x2D, 0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x50, + 0x35, 0x00, 0x00, 0x20, 0x31, 0x00, 0x00, 0x20, + 0x10, 0x00, 0x00, 0x50, 0x03, 0x4A, 0x00, 0x23, + 0x13, 0x70, 0x80, 0x22, 0xD2, 0x05, 0x13, 0x70, + 0x70, 0x47, 0xC0, 0x46, 0x00, 0x00, 0x00, 0x20, + 0x06, 0x4B, 0x00, 0x22, 0x5A, 0x70, 0x80, 0x23, + 0xDB, 0x05, 0x59, 0x69, 0x04, 0x4A, 0x0A, 0x40, + 0x5A, 0x61, 0x59, 0x69, 0x03, 0x4A, 0x0A, 0x40, + 0x5A, 0x61, 0x70, 0x47, 0x00, 0x00, 0x00, 0x20, + 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xEF, + 0x70, 0xB5, 0xA0, 0x23, 0xDB, 0x05, 0x1C, 0x7A, + 0x24, 0x4D, 0x0F, 0x22, 0x14, 0x40, 0x2A, 0x78, + 0x23, 0x4E, 0x00, 0x2A, 0x06, 0xD0, 0x23, 0x4B, + 0x1B, 0x68, 0x98, 0x47, 0x00, 0x23, 0x2B, 0x70, + 0x34, 0x70, 0x3A, 0xE0, 0x9B, 0x7A, 0x32, 0x78, + 0xE1, 0x07, 0x02, 0xD5, 0x1E, 0x4A, 0x13, 0x80, + 0x07, 0xE0, 0x08, 0x21, 0x0C, 0x42, 0x0A, 0xD0, + 0x1C, 0x4B, 0x1A, 0x78, 0x52, 0x18, 0xD2, 0xB2, + 0x1A, 0x70, 0xFF, 0xF7, 0x8D, 0xFF, 0x1A, 0x4B, + 0x1B, 0x68, 0x98, 0x47, 0x19, 0xE0, 0xA1, 0x07, + 0x0D, 0xD5, 0x08, 0x2A, 0x01, 0xD0, 0x01, 0x2A, + 0x01, 0xD1, 0x16, 0x4B, 0x02, 0xE0, 0x12, 0x4A, + 0x13, 0x80, 0x15, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x00, 0x22, 0x10, 0x4B, 0x08, 0xE0, 0x63, 0x07, + 0x07, 0xD5, 0x11, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x0C, 0x4B, 0x1A, 0x78, 0x08, 0x32, 0xD2, 0xB2, + 0x1A, 0x70, 0x07, 0x4B, 0x01, 0x22, 0x1C, 0x70, + 0xA0, 0x23, 0xDB, 0x05, 0x1A, 0x72, 0x0B, 0x49, + 0x10, 0x22, 0x1A, 0x72, 0x00, 0x22, 0x0A, 0x70, + 0x1A, 0x72, 0x70, 0xBD, 0x2C, 0x00, 0x00, 0x20, + 0x2B, 0x00, 0x00, 0x20, 0x24, 0x00, 0x00, 0x20, + 0x28, 0x00, 0x00, 0x20, 0x2A, 0x00, 0x00, 0x20, + 0x1C, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x20, + 0x18, 0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x20, + 0x03, 0x4A, 0x00, 0x23, 0x93, 0x70, 0x80, 0x22, + 0xD2, 0x05, 0x53, 0x70, 0x70, 0x47, 0xC0, 0x46, + 0x00, 0x00, 0x00, 0x20, 0x70, 0x47, 0xC0, 0x46, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x38, 0xB5, 0x80, 0x23, 0xDB, 0x05, 0xFB, 0x21, + 0x5A, 0x68, 0x59, 0x60, 0x99, 0x68, 0x08, 0x21, + 0x99, 0x60, 0x00, 0x22, 0xD9, 0x68, 0xDA, 0x60, + 0x19, 0x6C, 0x80, 0x21, 0xC9, 0x01, 0x19, 0x64, + 0x19, 0x69, 0x44, 0x49, 0x19, 0x61, 0x44, 0x4B, + 0x44, 0x49, 0x00, 0xE0, 0x04, 0xC3, 0x8B, 0x42, + 0xFC, 0xD3, 0x43, 0x4B, 0x43, 0x4A, 0x9B, 0x0A, + 0xDB, 0xB2, 0x13, 0x70, 0x42, 0x4B, 0x43, 0x49, + 0x1B, 0x68, 0x9B, 0x0A, 0xDB, 0xB2, 0x53, 0x70, + 0x41, 0x4B, 0x1B, 0x68, 0x9B, 0x0A, 0xDB, 0xB2, + 0x93, 0x70, 0x40, 0x4B, 0x1B, 0x68, 0x9B, 0x0A, + 0xDB, 0xB2, 0xD3, 0x70, 0x00, 0x23, 0x0B, 0x70, + 0x03, 0x23, 0x08, 0xE0, 0x58, 0x1C, 0x15, 0x5C, + 0xD4, 0x5C, 0xA5, 0x42, 0x07, 0xD9, 0xD4, 0x5C, + 0x01, 0x34, 0xE4, 0xB2, 0x0C, 0x54, 0x01, 0x3B, + 0xDB, 0xB2, 0xFF, 0x2B, 0xF2, 0xD1, 0x30, 0x4A, + 0x11, 0x78, 0x35, 0x4A, 0x11, 0x70, 0x11, 0x1C, + 0xFF, 0x2B, 0x03, 0xD1, 0x2D, 0x4B, 0xDB, 0x78, + 0x1E, 0x2B, 0x04, 0xD9, 0xFF, 0x23, 0x4B, 0x70, + 0x8B, 0x70, 0xCB, 0x70, 0x0B, 0xE0, 0x2A, 0x4B, + 0x1B, 0x68, 0x1B, 0x78, 0x53, 0x70, 0x2A, 0x4B, + 0x1B, 0x68, 0x1B, 0x78, 0x93, 0x70, 0x29, 0x4B, + 0x1B, 0x68, 0x1B, 0x78, 0xD3, 0x70, 0x28, 0x4B, + 0xDA, 0x78, 0xFF, 0x2A, 0x08, 0xD0, 0x9A, 0x78, + 0xFF, 0x2A, 0x05, 0xD0, 0x5B, 0x78, 0xFF, 0x2B, + 0x02, 0xD0, 0x00, 0xF0, 0x67, 0xF8, 0x38, 0xBD, + 0x22, 0x4B, 0x23, 0x4A, 0xC0, 0x21, 0x13, 0x60, + 0x22, 0x4A, 0x49, 0x00, 0x13, 0x60, 0x22, 0x4A, + 0x22, 0x48, 0x13, 0x60, 0x22, 0x4A, 0x13, 0x60, + 0x22, 0x4B, 0x02, 0x22, 0x5A, 0x50, 0xC0, 0x21, + 0x91, 0x40, 0x5C, 0x58, 0x20, 0x40, 0x58, 0x50, + 0x1F, 0x49, 0x04, 0x24, 0x08, 0x69, 0x20, 0x43, + 0x08, 0x61, 0x62, 0xB6, 0x1A, 0x60, 0x80, 0x23, + 0xDB, 0x05, 0x1A, 0x6C, 0x80, 0x22, 0x12, 0x02, + 0x1A, 0x64, 0x1A, 0x6C, 0x80, 0x22, 0xD2, 0x01, + 0x1A, 0x64, 0x9A, 0x68, 0x80, 0x22, 0x52, 0x00, + 0x9A, 0x60, 0xA0, 0x22, 0xD2, 0x05, 0x91, 0x68, + 0x14, 0x49, 0x91, 0x60, 0x1A, 0x6C, 0x00, 0x22, + 0x1A, 0x64, 0xFE, 0xE7, 0x10, 0x4F, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x3C, 0x00, 0x00, 0x20, + 0xFF, 0x03, 0x00, 0x00, 0x31, 0x00, 0x00, 0x20, + 0x08, 0x04, 0x00, 0x00, 0x35, 0x00, 0x00, 0x20, + 0x0C, 0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, + 0x2D, 0x00, 0x00, 0x20, 0xF9, 0x03, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x20, + 0x1C, 0x00, 0x00, 0x20, 0xFF, 0x00, 0xFF, 0xFF, + 0x20, 0x00, 0x00, 0x20, 0x00, 0xE1, 0x00, 0xE0, + 0x00, 0xED, 0x00, 0xE0, 0x00, 0x00, 0xC8, 0x42, + 0x70, 0x47, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, + 0x4D, 0x31, 0x48, 0x30, 0x43, 0x4F, 0x34, 0x35, + 0xFF, 0x5B, 0x00, 0x00, 0xFF, 0x73, 0x00, 0x00, + 0xFF, 0x7B, 0x00, 0x00, 0xF7, 0xB5, 0x03, 0xF0, + 0xC3, 0xFC, 0x05, 0xF0, 0x33, 0xF8, 0x00, 0x20, + 0x05, 0xF0, 0xF2, 0xFB, 0x4E, 0x4B, 0x33, 0x33, + 0x1B, 0x78, 0x5E, 0x42, 0x73, 0x41, 0x10, 0x26, + 0xF6, 0x1A, 0x4C, 0x4B, 0x1E, 0x70, 0x4C, 0x4B, + 0x1A, 0x68, 0x01, 0x3A, 0x53, 0x42, 0x5A, 0x41, + 0x4A, 0x4B, 0x1A, 0x70, 0x4A, 0x4B, 0x1C, 0x78, + 0x00, 0x2C, 0x22, 0xD1, 0x49, 0x4A, 0x01, 0x25, + 0x14, 0x70, 0x1D, 0x70, 0x00, 0xF0, 0x52, 0xFA, + 0x47, 0x4B, 0x28, 0x1C, 0xDA, 0x78, 0x9A, 0x70, + 0x5C, 0x70, 0x05, 0xF0, 0xD1, 0xFB, 0x03, 0xF0, + 0x7F, 0xFB, 0x01, 0xF0, 0x17, 0xFB, 0x80, 0x23, + 0xDB, 0x05, 0x1A, 0x6C, 0x7F, 0x21, 0x8A, 0x43, + 0x1A, 0x64, 0x00, 0xF0, 0xF5, 0xFD, 0x02, 0xF0, + 0x4B, 0xFF, 0x01, 0xF0, 0x0B, 0xFB, 0x01, 0xF0, + 0xA3, 0xFA, 0x3C, 0x4B, 0x02, 0x20, 0x1B, 0x68, + 0x98, 0x47, 0x3B, 0x4C, 0x23, 0x78, 0x00, 0x2B, + 0x03, 0xD1, 0x3A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x0F, 0xD0, 0x23, 0x78, 0x00, 0xF0, 0x94, 0xFC, + 0x22, 0x78, 0x2E, 0x4B, 0x00, 0x2A, 0x01, 0xD0, + 0x1E, 0x70, 0x01, 0xE0, 0x0D, 0x22, 0x1A, 0x70, + 0x31, 0x4A, 0x00, 0x23, 0x13, 0x70, 0x31, 0x4A, + 0x13, 0x70, 0x2C, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x2C, 0xD0, 0x2F, 0x4D, 0x2B, 0x78, 0x00, 0x2B, + 0x28, 0xD0, 0x2A, 0x4C, 0x13, 0x20, 0x23, 0x68, + 0x98, 0x47, 0x00, 0xF0, 0x0F, 0xFA, 0x03, 0xF0, + 0x08, 0xFB, 0x03, 0xF0, 0x8B, 0xFA, 0x29, 0x4B, + 0x18, 0x78, 0x01, 0xF0, 0xA1, 0xF8, 0x00, 0xF0, + 0xC7, 0xFD, 0x27, 0x4A, 0x01, 0x23, 0x13, 0x70, + 0x26, 0x4A, 0x13, 0x80, 0x02, 0xF0, 0xDE, 0xFF, + 0x2B, 0x78, 0x00, 0x2B, 0xFC, 0xD1, 0x23, 0x68, + 0x14, 0x20, 0x98, 0x47, 0x00, 0xF0, 0xF6, 0xF9, + 0x03, 0xF0, 0xEF, 0xFA, 0x03, 0xF0, 0x72, 0xFA, + 0x1C, 0x4B, 0x18, 0x78, 0x01, 0xF0, 0x88, 0xF8, + 0x10, 0x4B, 0x1E, 0x70, 0x00, 0xF0, 0x7E, 0xFF, + 0x0E, 0x4C, 0x27, 0x78, 0x78, 0xB2, 0x13, 0x28, + 0x00, 0xD9, 0x8D, 0xE1, 0x05, 0xF0, 0xD4, 0xF8, + 0x74, 0x00, 0x8C, 0x01, 0x78, 0x01, 0x8C, 0x01, + 0x8C, 0x01, 0x8C, 0x01, 0x8C, 0x01, 0x8C, 0x01, + 0x8C, 0x01, 0x8C, 0x01, 0x8C, 0x01, 0x8C, 0x01, + 0x8C, 0x01, 0x68, 0x00, 0x8C, 0x01, 0x3A, 0x00, + 0x30, 0x00, 0x5F, 0x00, 0x8C, 0x01, 0x89, 0x01, + 0xAE, 0x09, 0x00, 0x20, 0x1D, 0x03, 0x00, 0x20, + 0x50, 0x11, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0xE9, 0x01, 0x00, 0x20, 0xEA, 0x01, 0x00, 0x20, + 0xAA, 0x0A, 0x00, 0x20, 0xF8, 0x01, 0x00, 0x20, + 0xE8, 0x01, 0x00, 0x20, 0xE7, 0x01, 0x00, 0x20, + 0xE5, 0x01, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0xF6, 0x03, 0x00, 0x20, 0x08, 0x03, 0x00, 0x20, + 0xB1, 0x4B, 0x00, 0x22, 0x1A, 0x70, 0x00, 0xF0, + 0x7D, 0xFE, 0xB0, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x00, 0xD0, 0x55, 0xE1, 0xAE, 0x4C, 0x23, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, 0xAD, 0x49, + 0x03, 0xF0, 0xB8, 0xFC, 0x23, 0x78, 0x00, 0x2B, + 0x06, 0xD0, 0x01, 0x21, 0x00, 0x20, 0xAA, 0x4A, + 0x0B, 0x1C, 0x00, 0x90, 0x03, 0xF0, 0x56, 0xFC, + 0xA8, 0x4B, 0x98, 0x78, 0x03, 0xF0, 0x78, 0xFA, + 0xA7, 0x4D, 0xE8, 0x7B, 0x03, 0xF0, 0x52, 0xF8, + 0xA6, 0x4C, 0x20, 0x60, 0x28, 0x7C, 0x03, 0xF0, + 0x4D, 0xF8, 0x11, 0x23, 0x60, 0x60, 0xEB, 0x56, + 0xEA, 0x7B, 0x53, 0x43, 0xA3, 0x60, 0x9A, 0x4B, + 0x00, 0x22, 0x1A, 0x70, 0xA0, 0x4B, 0x1B, 0x78, + 0xA0, 0x4B, 0x18, 0x78, 0x01, 0xF0, 0x14, 0xF8, + 0x95, 0x4B, 0x9D, 0x4D, 0x00, 0x24, 0x1C, 0x70, + 0x2B, 0x78, 0x00, 0xF0, 0x29, 0xFD, 0x03, 0xF0, + 0x8B, 0xFF, 0x00, 0xF0, 0x25, 0xFD, 0x2C, 0x70, + 0x8F, 0x4B, 0x01, 0x24, 0x1C, 0x70, 0x00, 0xF0, + 0x9B, 0xFC, 0x97, 0x4B, 0x1B, 0x68, 0x9A, 0x05, + 0x13, 0xD5, 0x96, 0x4A, 0x96, 0x4B, 0x04, 0x20, + 0x1A, 0x60, 0x96, 0x4B, 0x19, 0x68, 0x01, 0x43, + 0x19, 0x60, 0x19, 0x68, 0x02, 0x20, 0x81, 0x43, + 0x19, 0x60, 0x19, 0x68, 0x0C, 0x43, 0x1C, 0x60, + 0x91, 0x4B, 0x00, 0x21, 0x19, 0x60, 0x91, 0x4B, + 0x1A, 0x60, 0x91, 0x4C, 0x03, 0x20, 0x23, 0x68, + 0x98, 0x47, 0x03, 0xF0, 0x3F, 0xF8, 0x23, 0x68, + 0x05, 0x20, 0x98, 0x47, 0x02, 0xF0, 0xE4, 0xFF, + 0x8C, 0x4C, 0x8D, 0x4D, 0x01, 0x20, 0x40, 0x42, + 0x21, 0x1C, 0x2A, 0x1C, 0x04, 0xF0, 0x4C, 0xFC, + 0x79, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x03, 0xD0, + 0x0C, 0x20, 0x88, 0x49, 0x03, 0xF0, 0x4E, 0xFC, + 0x87, 0x4A, 0x23, 0x68, 0x13, 0x80, 0x2B, 0x68, + 0x53, 0x80, 0x73, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x06, 0xD0, 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, + 0x0C, 0x20, 0x0B, 0x1C, 0x03, 0xF0, 0xE6, 0xFB, + 0x7B, 0x4C, 0x06, 0x20, 0x23, 0x68, 0x98, 0x47, + 0x03, 0xF0, 0xF4, 0xFF, 0x04, 0xF0, 0x64, 0xF9, + 0x04, 0xF0, 0x98, 0xFB, 0x00, 0xF0, 0x62, 0xF9, + 0x04, 0xF0, 0x06, 0xFD, 0x04, 0xF0, 0x7E, 0xFE, + 0x78, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x2A, 0xD1, + 0x23, 0x68, 0x07, 0x20, 0x98, 0x47, 0x01, 0xF0, + 0x51, 0xFA, 0x23, 0x68, 0x08, 0x20, 0x98, 0x47, + 0x02, 0xF0, 0xB2, 0xFF, 0x02, 0xF0, 0xBA, 0xFF, + 0x23, 0x68, 0x09, 0x20, 0x98, 0x47, 0x01, 0xF0, + 0x69, 0xFA, 0x01, 0xF0, 0xD1, 0xFB, 0x23, 0x68, + 0x0A, 0x20, 0x98, 0x47, 0x01, 0xF0, 0x6E, 0xFC, + 0x02, 0xF0, 0x44, 0xFB, 0x23, 0x68, 0x0B, 0x20, + 0x98, 0x47, 0x01, 0xF0, 0xB8, 0xFE, 0x01, 0xF0, + 0xD7, 0xFF, 0x23, 0x68, 0x0E, 0x20, 0x98, 0x47, + 0x02, 0xF0, 0x84, 0xF8, 0x02, 0xF0, 0xF2, 0xF9, + 0x23, 0x68, 0x10, 0x20, 0x98, 0x47, 0x00, 0xF0, + 0x81, 0xF9, 0x5B, 0x4B, 0x0F, 0x20, 0x1B, 0x68, + 0x98, 0x47, 0x5E, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x3C, 0xD1, 0x02, 0xF0, 0x4F, 0xFA, 0x5C, 0x4B, + 0x1A, 0x68, 0x5C, 0x4B, 0x00, 0x2A, 0x04, 0xD1, + 0x5B, 0x49, 0x09, 0x68, 0x00, 0x29, 0x00, 0xDD, + 0x1A, 0x70, 0x47, 0x4A, 0x19, 0x78, 0x32, 0x32, + 0x12, 0x78, 0x91, 0x42, 0x01, 0xD3, 0x00, 0x22, + 0x1A, 0x70, 0x1B, 0x78, 0x00, 0x2B, 0x21, 0xD1, + 0x53, 0x4B, 0x51, 0x4C, 0x1B, 0x68, 0x00, 0x2B, + 0x09, 0xDD, 0x20, 0x68, 0x00, 0x28, 0x06, 0xD1, + 0x39, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x02, 0xD0, + 0x4E, 0x49, 0x03, 0xF0, 0xCF, 0xFB, 0x4E, 0x4B, + 0x1B, 0x68, 0x98, 0x47, 0x23, 0x68, 0x00, 0x2B, + 0x0A, 0xDD, 0x49, 0x4B, 0x18, 0x68, 0x00, 0x28, + 0x06, 0xD1, 0x31, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x02, 0xD0, 0x48, 0x49, 0x03, 0xF0, 0xBE, 0xFB, + 0x02, 0xF0, 0x72, 0xFA, 0x41, 0x4B, 0x1A, 0x78, + 0x01, 0x32, 0x1A, 0x70, 0x32, 0x4B, 0x1B, 0x68, + 0x9A, 0x05, 0x23, 0xD5, 0x34, 0x4B, 0x18, 0x68, + 0x2A, 0x4B, 0x1A, 0x79, 0x19, 0x78, 0x2F, 0x4B, + 0x18, 0x1A, 0x53, 0x1C, 0x98, 0x40, 0x04, 0xF0, + 0x8D, 0xFF, 0x23, 0x4C, 0x2F, 0x4D, 0x23, 0x78, + 0x28, 0x60, 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, + 0x39, 0x49, 0x03, 0xF0, 0x9F, 0xFB, 0x23, 0x78, + 0x00, 0x2B, 0x06, 0xD0, 0x00, 0x20, 0x01, 0x21, + 0x2A, 0x1C, 0x04, 0x23, 0x00, 0x90, 0x03, 0xF0, + 0x3D, 0xFB, 0x24, 0x4B, 0x01, 0x21, 0x1A, 0x68, + 0x8A, 0x43, 0x1A, 0x60, 0x80, 0x23, 0xDB, 0x05, + 0x9A, 0x6C, 0x01, 0x21, 0x0A, 0x43, 0x9A, 0x64, + 0x00, 0xF0, 0x1E, 0xFC, 0x2D, 0x4B, 0x00, 0x20, + 0x18, 0x56, 0x00, 0xF0, 0x5D, 0xFE, 0x17, 0xE0, + 0x0F, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x03, 0xD0, + 0x05, 0x20, 0x29, 0x49, 0x03, 0xF0, 0x7A, 0xFB, + 0x01, 0x20, 0x00, 0xF0, 0xF9, 0xFE, 0x00, 0x20, + 0x00, 0xF0, 0xF6, 0xFE, 0x13, 0x23, 0x23, 0x70, + 0x06, 0xE0, 0x00, 0xF0, 0x0D, 0xFC, 0x03, 0xE0, + 0x13, 0x4B, 0x11, 0x20, 0x1B, 0x68, 0x98, 0x47, + 0x20, 0x4B, 0x1F, 0x70, 0xEB, 0xE5, 0xC0, 0x46, + 0xEA, 0x01, 0x00, 0x20, 0xE0, 0x01, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x34, 0x59, 0x00, 0x00, + 0xAC, 0x0A, 0x00, 0x20, 0xAA, 0x0A, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xFC, 0x02, 0x00, 0x20, + 0x1D, 0x03, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x58, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x00, + 0x14, 0xE0, 0x00, 0xE0, 0x10, 0xE0, 0x00, 0xE0, + 0x18, 0xE0, 0x00, 0xE0, 0xFC, 0x01, 0x00, 0x20, + 0xF8, 0x01, 0x00, 0x20, 0x34, 0x11, 0x00, 0x20, + 0x38, 0x11, 0x00, 0x20, 0x38, 0x59, 0x00, 0x00, + 0x54, 0x11, 0x00, 0x20, 0x48, 0x11, 0x00, 0x20, + 0x20, 0x01, 0x00, 0x20, 0xCA, 0x00, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x3E, 0x59, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x20, 0x47, 0x59, 0x00, 0x00, + 0x51, 0x59, 0x00, 0x00, 0xB3, 0x01, 0x00, 0x20, + 0x5E, 0x59, 0x00, 0x00, 0x56, 0x00, 0x00, 0x20, + 0x08, 0xB5, 0x01, 0xF0, 0x99, 0xFD, 0x01, 0xF0, + 0xB3, 0xFD, 0x03, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x02, 0xF0, 0xD2, 0xF9, 0x08, 0xBD, 0xC0, 0x46, + 0x00, 0x02, 0x00, 0x20, 0x10, 0xB5, 0x04, 0xF0, + 0xEF, 0xFD, 0x05, 0x4C, 0x00, 0x20, 0x23, 0x68, + 0x98, 0x47, 0x04, 0xF0, 0x19, 0xFE, 0x23, 0x68, + 0x01, 0x20, 0x98, 0x47, 0x10, 0xBD, 0xC0, 0x46, + 0xF8, 0x01, 0x00, 0x20, 0x7F, 0xB5, 0x17, 0x4D, + 0x17, 0x4B, 0x5B, 0x1B, 0x03, 0x93, 0x17, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, 0x00, 0x20, + 0x01, 0x21, 0x03, 0xAA, 0x04, 0x23, 0x00, 0x90, + 0x03, 0xF0, 0xA0, 0xFA, 0x12, 0x4E, 0x18, 0xE0, + 0x14, 0x2C, 0x00, 0xDD, 0x14, 0x24, 0xE1, 0xB2, + 0x08, 0x1C, 0x03, 0xE0, 0x01, 0x38, 0xC0, 0xB2, + 0x2B, 0x5C, 0x33, 0x54, 0x00, 0x28, 0xF9, 0xD1, + 0x0A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x04, 0xD0, + 0x09, 0x4A, 0x01, 0x23, 0x00, 0x90, 0x03, 0xF0, + 0x89, 0xFA, 0x03, 0x9B, 0x2D, 0x19, 0x1B, 0x1B, + 0x03, 0x93, 0x03, 0x9C, 0x00, 0x2C, 0xE3, 0xD1, + 0x7F, 0xBD, 0xC0, 0x46, 0x0C, 0x1E, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x54, 0x11, 0x00, 0x20, 0x13, 0xB5, 0x1E, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x37, 0xD0, 0x1D, 0x4C, + 0x00, 0x23, 0x23, 0x70, 0x1C, 0x4B, 0x04, 0x20, + 0x1B, 0x68, 0x98, 0x47, 0x1B, 0x4B, 0x1C, 0x4A, + 0x59, 0x68, 0x1B, 0x68, 0x11, 0x80, 0x53, 0x80, + 0x1A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x18, 0x20, + 0x0B, 0x1C, 0x03, 0xF0, 0x5B, 0xFA, 0x23, 0x78, + 0x15, 0x4C, 0x00, 0x2B, 0x1A, 0xD0, 0x13, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, + 0x12, 0x49, 0x03, 0xF0, 0xA7, 0xFA, 0x12, 0x4A, + 0x01, 0x23, 0x13, 0x70, 0x22, 0x68, 0x02, 0x2A, + 0x04, 0xDC, 0xD2, 0x18, 0x22, 0x60, 0x0F, 0x4A, + 0x13, 0x70, 0x08, 0xE0, 0xFF, 0xF7, 0x74, 0xFF, + 0x0D, 0x4B, 0x0D, 0x22, 0x1A, 0x70, 0x00, 0x23, + 0x23, 0x60, 0x00, 0xE0, 0x23, 0x60, 0x13, 0xBD, + 0x1C, 0x03, 0x00, 0x20, 0x3D, 0x11, 0x00, 0x20, + 0xF8, 0x01, 0x00, 0x20, 0x70, 0x01, 0x00, 0x20, + 0x54, 0x11, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x84, 0x01, 0x00, 0x20, 0xD0, 0x58, 0x00, 0x00, + 0x48, 0x11, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, + 0x1D, 0x03, 0x00, 0x20, 0xF0, 0xB5, 0xBA, 0x4B, + 0x85, 0xB0, 0x04, 0x33, 0xDB, 0x7F, 0x00, 0x24, + 0xB8, 0x49, 0x0A, 0x22, 0x09, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0x10, 0x1C, 0x58, 0x43, 0x08, 0x18, + 0x3C, 0x25, 0x40, 0x5F, 0x00, 0x28, 0x00, 0xD0, + 0x01, 0x24, 0x00, 0x2B, 0xF3, 0xD1, 0xB2, 0x4B, + 0xB2, 0x4A, 0x1B, 0x78, 0x07, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0x19, 0x1D, 0x49, 0x00, 0x89, 0x5E, + 0x00, 0x29, 0x00, 0xD0, 0x01, 0x24, 0x00, 0x2B, + 0xF5, 0xD1, 0xAD, 0x4A, 0x00, 0x2C, 0x04, 0xD1, + 0x13, 0x68, 0xAC, 0x49, 0x8B, 0x42, 0x01, 0xD0, + 0x01, 0x33, 0x13, 0x60, 0xAA, 0x4B, 0x00, 0x22, + 0x1A, 0x70, 0xA4, 0x4B, 0x1A, 0x68, 0xA2, 0x4B, + 0x00, 0x2A, 0x7C, 0xD1, 0xA3, 0x4A, 0x12, 0x68, + 0x00, 0x2A, 0x78, 0xD1, 0x1A, 0x1C, 0x34, 0x32, + 0x10, 0x78, 0x00, 0x28, 0x41, 0xD1, 0xA3, 0x4A, + 0x12, 0x78, 0x01, 0x2A, 0x17, 0xD1, 0xA2, 0x4B, + 0x18, 0x70, 0xA2, 0x4B, 0x1A, 0x70, 0xA2, 0x4B, + 0x18, 0x70, 0xA2, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x02, 0xD0, 0xA1, 0x49, 0x03, 0xF0, 0x2E, 0xFA, + 0x99, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x01, 0xF0, + 0x9F, 0xFC, 0x01, 0xF0, 0xB9, 0xFC, 0x97, 0x4B, + 0x00, 0x22, 0x1A, 0x70, 0x67, 0xE1, 0x9B, 0x4A, + 0x3C, 0x33, 0x1B, 0x78, 0x12, 0x68, 0x9A, 0x42, + 0x1F, 0xDB, 0x96, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x02, 0xD0, 0x97, 0x49, 0x03, 0xF0, 0x16, 0xFA, + 0x96, 0x4B, 0x87, 0x49, 0x1A, 0x68, 0x3D, 0x31, + 0x01, 0x32, 0x1A, 0x60, 0x09, 0x78, 0x8A, 0x42, + 0x0F, 0xDB, 0x00, 0x20, 0x18, 0x60, 0x8A, 0x4B, + 0x18, 0x70, 0x8A, 0x4B, 0x18, 0x70, 0x8B, 0x4B, + 0x1B, 0x78, 0x83, 0x42, 0x02, 0xD0, 0x8E, 0x49, + 0x03, 0xF0, 0x00, 0xFA, 0x82, 0x4B, 0x02, 0x22, + 0x1A, 0x70, 0x85, 0x4B, 0x8B, 0x4A, 0x00, 0x21, + 0x19, 0x70, 0x10, 0x68, 0x85, 0x4B, 0x19, 0x60, + 0x13, 0x1C, 0x88, 0x42, 0x0E, 0xDD, 0x01, 0x38, + 0x10, 0x60, 0x8C, 0x42, 0x00, 0xD0, 0x11, 0x60, + 0x1A, 0x68, 0x01, 0x2A, 0x00, 0xD0, 0x18, 0xE1, + 0x00, 0x22, 0x1A, 0x60, 0x76, 0x4B, 0x03, 0x22, + 0x1A, 0x70, 0x28, 0xE1, 0x80, 0x4B, 0x81, 0x49, + 0x04, 0x33, 0xDB, 0x8F, 0x8B, 0x42, 0x00, 0xD1, + 0x0B, 0xE1, 0x7F, 0x49, 0x09, 0x68, 0x99, 0x42, + 0x00, 0xDA, 0x06, 0xE1, 0x68, 0x4B, 0x6C, 0x48, + 0x19, 0x1C, 0x3E, 0x31, 0x09, 0x78, 0x00, 0x68, + 0x88, 0x42, 0x00, 0xDA, 0xFD, 0xE0, 0x3F, 0x33, + 0x1B, 0x78, 0x13, 0x60, 0xF9, 0xE0, 0x04, 0x33, + 0xD8, 0x7F, 0x00, 0x23, 0x1A, 0x1C, 0x75, 0x49, + 0x31, 0xE0, 0x01, 0x38, 0xC0, 0xB2, 0x0A, 0x24, + 0x44, 0x43, 0x5E, 0x4F, 0x3D, 0x19, 0x3C, 0x26, + 0xAD, 0x5F, 0x00, 0x2D, 0x27, 0xDD, 0x0C, 0x19, + 0x3C, 0x27, 0xE4, 0x5F, 0x00, 0x2C, 0x22, 0xDD, + 0x44, 0x00, 0x0D, 0x19, 0xAF, 0x88, 0x57, 0x4D, + 0x3E, 0xB2, 0x2C, 0x19, 0xA4, 0x88, 0x25, 0xB2, + 0x76, 0x1B, 0x02, 0xD4, 0x3C, 0x1B, 0xA4, 0xB2, + 0x01, 0xE0, 0xE4, 0x1B, 0xA4, 0xB2, 0x05, 0x1C, + 0x64, 0x4E, 0x50, 0x4F, 0x10, 0x35, 0x6D, 0x00, + 0xA2, 0x18, 0xAC, 0x5B, 0xED, 0x5B, 0x27, 0xB2, + 0x2E, 0xB2, 0x92, 0xB2, 0xBF, 0x1B, 0x02, 0xD4, + 0x64, 0x1B, 0xA4, 0xB2, 0x01, 0xE0, 0x2C, 0x1B, + 0xA4, 0xB2, 0xE3, 0x18, 0x9B, 0xB2, 0x00, 0x28, + 0xCB, 0xD1, 0x56, 0x49, 0x08, 0x60, 0x4D, 0x49, + 0x0C, 0x78, 0x43, 0x49, 0x00, 0x2C, 0x40, 0xD0, + 0x34, 0x31, 0x0B, 0x78, 0x00, 0x2B, 0x00, 0xD0, + 0xB3, 0xE0, 0x4A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x02, 0xD0, 0x53, 0x49, 0x03, 0xF0, 0x7E, 0xF9, + 0x4F, 0x4C, 0x52, 0x4A, 0x23, 0x68, 0x13, 0x80, + 0x51, 0x4B, 0x1B, 0x68, 0x53, 0x80, 0x43, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x23, + 0x02, 0x21, 0x00, 0x93, 0x00, 0x20, 0x0B, 0x1C, + 0x03, 0xF0, 0x14, 0xF9, 0x32, 0x49, 0x20, 0x68, + 0x4A, 0x8F, 0x3B, 0x4B, 0x90, 0x42, 0x14, 0xDA, + 0x41, 0x4A, 0x47, 0x48, 0x45, 0x32, 0x12, 0x78, + 0x00, 0x68, 0x90, 0x42, 0x0D, 0xDA, 0x1B, 0x78, + 0x00, 0x2B, 0x00, 0xD0, 0x89, 0xE0, 0x37, 0x4B, + 0x3C, 0x31, 0x1A, 0x68, 0x09, 0x78, 0x8A, 0x42, + 0x00, 0xDB, 0x82, 0xE0, 0x01, 0x32, 0x1A, 0x60, + 0x7F, 0xE0, 0x01, 0x22, 0x1A, 0x70, 0x31, 0x4A, + 0x00, 0x23, 0x13, 0x60, 0x31, 0x4A, 0x13, 0x60, + 0x77, 0xE0, 0x08, 0x1C, 0x34, 0x30, 0x00, 0x78, + 0x00, 0x28, 0x72, 0xD1, 0x32, 0x48, 0x09, 0x8F, + 0x00, 0x68, 0x88, 0x42, 0x09, 0xDB, 0x2E, 0x49, + 0x33, 0x48, 0x45, 0x31, 0x09, 0x78, 0x00, 0x68, + 0x88, 0x42, 0x02, 0xDB, 0x22, 0x49, 0x01, 0x20, + 0x08, 0x70, 0x1F, 0x49, 0x09, 0x78, 0x00, 0x29, + 0x08, 0xD1, 0x15, 0x49, 0x08, 0x8F, 0x27, 0x49, + 0x88, 0x42, 0x5A, 0xD0, 0x1C, 0x49, 0x09, 0x78, + 0x00, 0x29, 0x56, 0xD0, 0x11, 0x49, 0x09, 0x68, + 0x01, 0x29, 0x05, 0xDC, 0x0E, 0x49, 0xC9, 0x8E, + 0x8A, 0x42, 0x01, 0xD8, 0x8B, 0x42, 0x49, 0xD9, + 0x13, 0x4B, 0x00, 0x20, 0x18, 0x70, 0x13, 0x4B, + 0x01, 0x22, 0x1A, 0x70, 0x12, 0x4B, 0x18, 0x70, + 0x12, 0x4B, 0x1B, 0x78, 0x83, 0x42, 0x02, 0xD0, + 0x11, 0x49, 0x03, 0xF0, 0x0F, 0xF9, 0x0A, 0x4B, + 0x01, 0x22, 0x1A, 0x70, 0x01, 0xF0, 0x80, 0xFB, + 0x01, 0xF0, 0x9A, 0xFB, 0x35, 0xE0, 0xC0, 0x46, + 0xAE, 0x09, 0x00, 0x20, 0x9C, 0x0D, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0xE0, 0x00, 0x00, 0x20, + 0xC8, 0x01, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x7F, + 0xB3, 0x01, 0x00, 0x20, 0xB4, 0x01, 0x00, 0x20, + 0xDC, 0x01, 0x00, 0x20, 0xDD, 0x01, 0x00, 0x20, + 0xD4, 0x01, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0xDA, 0x58, 0x00, 0x00, 0xD8, 0x01, 0x00, 0x20, + 0xE4, 0x58, 0x00, 0x00, 0xD0, 0x01, 0x00, 0x20, + 0xEC, 0x58, 0x00, 0x00, 0xCC, 0x01, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0xFF, 0xFF, 0x00, 0x00, + 0x34, 0x11, 0x00, 0x20, 0x20, 0x03, 0x00, 0x20, + 0xF5, 0x58, 0x00, 0x00, 0x54, 0x11, 0x00, 0x20, + 0x38, 0x11, 0x00, 0x20, 0x0D, 0x4B, 0x01, 0x22, + 0x1A, 0x70, 0x0D, 0x4B, 0x34, 0x33, 0x1B, 0x78, + 0x00, 0x2B, 0x10, 0xD0, 0x0B, 0x4B, 0x1A, 0x78, + 0x00, 0x2A, 0x0C, 0xD0, 0x0A, 0x4A, 0x00, 0x21, + 0x51, 0x56, 0x03, 0x29, 0x07, 0xD0, 0x09, 0x49, + 0x09, 0x78, 0x48, 0x42, 0x41, 0x41, 0x01, 0x31, + 0x11, 0x70, 0x00, 0x22, 0x1A, 0x70, 0x05, 0xB0, + 0xF0, 0xBD, 0xC0, 0x46, 0xB4, 0x01, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xDC, 0x01, 0x00, 0x20, + 0xB3, 0x01, 0x00, 0x20, 0xDD, 0x01, 0x00, 0x20, + 0x10, 0xB5, 0x54, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x0A, 0xD0, 0x53, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x01, 0xF0, 0x1A, 0xFB, 0x01, 0xF0, 0x34, 0xFB, + 0x01, 0xF0, 0x56, 0xFF, 0x02, 0xF0, 0x90, 0xFB, + 0x4E, 0x4B, 0x02, 0x21, 0x1A, 0x68, 0x8A, 0x43, + 0x1A, 0x60, 0x19, 0x68, 0x80, 0x22, 0xD2, 0x05, + 0x90, 0x68, 0x91, 0x60, 0x19, 0x68, 0x08, 0x20, + 0x81, 0x43, 0x19, 0x60, 0x19, 0x68, 0x90, 0x68, + 0x91, 0x60, 0x19, 0x68, 0x04, 0x20, 0x81, 0x43, + 0x19, 0x60, 0x1B, 0x68, 0x91, 0x68, 0x93, 0x60, + 0x40, 0x4B, 0x18, 0x78, 0x42, 0x4B, 0x1B, 0x78, + 0x00, 0x28, 0x32, 0xD0, 0x00, 0x2B, 0x03, 0xD0, + 0x00, 0x20, 0x40, 0x49, 0x03, 0xF0, 0x7A, 0xF8, + 0x3F, 0x4B, 0x80, 0x22, 0x19, 0x68, 0x52, 0x00, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0xA0, 0x23, + 0xDB, 0x05, 0x99, 0x68, 0x9A, 0x60, 0x37, 0x4B, + 0x3A, 0x4A, 0x19, 0x68, 0x0A, 0x40, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x99, 0x68, + 0x9A, 0x60, 0x37, 0x4A, 0x01, 0x21, 0x11, 0x70, + 0x19, 0x68, 0x80, 0x22, 0x52, 0x04, 0x0A, 0x43, + 0x1A, 0x60, 0xC0, 0x46, 0xC0, 0x46, 0xC0, 0x46, + 0xC0, 0x46, 0x62, 0xB6, 0x31, 0x4A, 0x19, 0x68, + 0x0A, 0x40, 0x1A, 0x60, 0xBF, 0xF3, 0x6F, 0x8F, + 0xFA, 0x20, 0xC0, 0x00, 0x02, 0xF0, 0x6E, 0xFC, + 0x11, 0xE0, 0x00, 0x2B, 0x02, 0xD0, 0x2C, 0x49, + 0x03, 0xF0, 0x48, 0xF8, 0x2B, 0x48, 0x02, 0xF0, + 0x65, 0xFC, 0x2B, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x05, 0xD1, 0x2A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x01, 0xD1, 0x02, 0xF0, 0x59, 0xFE, 0x1D, 0x4B, + 0x02, 0x21, 0x1A, 0x68, 0x0A, 0x43, 0x1A, 0x60, + 0x19, 0x68, 0x80, 0x22, 0xD2, 0x05, 0x90, 0x68, + 0x91, 0x60, 0x23, 0x49, 0x01, 0x31, 0xC8, 0x7F, + 0x08, 0x21, 0x00, 0x28, 0x06, 0xD0, 0x18, 0x68, + 0x01, 0x43, 0x19, 0x60, 0x19, 0x68, 0x90, 0x68, + 0x91, 0x60, 0x05, 0xE0, 0x18, 0x68, 0x88, 0x43, + 0x18, 0x60, 0x19, 0x68, 0x90, 0x68, 0x91, 0x60, + 0x1A, 0x68, 0x04, 0x21, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0xFA, 0x20, + 0x99, 0x68, 0xC0, 0x00, 0x9A, 0x60, 0x02, 0xF0, + 0x31, 0xFC, 0x06, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x06, 0xD0, 0x12, 0x4C, 0x0D, 0x20, 0x23, 0x68, + 0x98, 0x47, 0x23, 0x68, 0x12, 0x20, 0x98, 0x47, + 0x10, 0xBD, 0xC0, 0x46, 0xE8, 0x01, 0x00, 0x20, + 0x68, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0xFB, 0x58, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x20, 0xFF, 0xFE, 0xFF, 0xFF, + 0x2C, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFE, + 0x01, 0x59, 0x00, 0x00, 0x40, 0x42, 0x0F, 0x00, + 0xE5, 0x01, 0x00, 0x20, 0xE4, 0x01, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xF8, 0x01, 0x00, 0x20, + 0x10, 0xB5, 0x31, 0x4B, 0x02, 0x24, 0x19, 0x78, + 0x30, 0x4B, 0x4A, 0xB2, 0x1B, 0x78, 0x00, 0x2B, + 0x25, 0xD0, 0x2F, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x21, 0xD1, 0x2E, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x1D, 0xD1, 0x2D, 0x4B, 0xA2, 0x42, 0x07, 0xD0, + 0x2C, 0x48, 0x80, 0x7B, 0x00, 0x28, 0x03, 0xD1, + 0x2B, 0x48, 0x00, 0x68, 0x00, 0x28, 0x03, 0xD0, + 0x00, 0x21, 0x19, 0x60, 0x01, 0x24, 0x0E, 0xE0, + 0x28, 0x4A, 0x18, 0x68, 0x92, 0x68, 0x90, 0x42, + 0x01, 0xDA, 0x01, 0x30, 0x18, 0x60, 0x00, 0x29, + 0x36, 0xD0, 0x21, 0x4B, 0x00, 0x24, 0x1B, 0x68, + 0x93, 0x42, 0x16, 0xDA, 0x30, 0xE0, 0x63, 0xB2, + 0x93, 0x42, 0x2D, 0xD0, 0x01, 0x2B, 0x1D, 0xD0, + 0x02, 0x2B, 0x02, 0xD0, 0x00, 0x2B, 0x0C, 0xD0, + 0x24, 0xE0, 0x1D, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x00, 0x20, 0x1B, 0x49, 0x02, 0xF0, + 0xA5, 0xFF, 0x00, 0x20, 0x02, 0xF0, 0x78, 0xFB, + 0x18, 0xE0, 0x17, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x00, 0x20, 0x16, 0x49, 0x02, 0xF0, + 0x99, 0xFF, 0x12, 0x4B, 0x58, 0x68, 0x02, 0xF0, + 0x6B, 0xFB, 0x0B, 0xE0, 0x10, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, 0x11, 0x49, + 0x02, 0xF0, 0x8C, 0xFF, 0x0B, 0x4B, 0x18, 0x68, + 0x02, 0xF0, 0x5E, 0xFB, 0x02, 0x4B, 0x1C, 0x70, + 0x02, 0xF0, 0x4C, 0xFB, 0x10, 0xBD, 0xC0, 0x46, + 0x3C, 0x00, 0x00, 0x20, 0x1C, 0x03, 0x00, 0x20, + 0xE3, 0x01, 0x00, 0x20, 0xE2, 0x01, 0x00, 0x20, + 0x5C, 0x00, 0x00, 0x20, 0x70, 0x01, 0x00, 0x20, + 0xE0, 0x00, 0x00, 0x20, 0xFC, 0x02, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x09, 0x59, 0x00, 0x00, + 0x0E, 0x59, 0x00, 0x00, 0x13, 0x59, 0x00, 0x00, + 0x08, 0xB5, 0x02, 0xF0, 0x5F, 0xFB, 0x08, 0xBD, + 0x08, 0xB5, 0x02, 0xF0, 0x4D, 0xFB, 0x08, 0xBD, + 0x08, 0xB5, 0x02, 0xF0, 0xE5, 0xFA, 0x80, 0x23, + 0xDB, 0x05, 0x9A, 0x6C, 0x01, 0x21, 0x0A, 0x43, + 0x9A, 0x64, 0xFF, 0xF7, 0xF1, 0xFF, 0x08, 0xBD, + 0xF0, 0xB5, 0x87, 0xB0, 0xFF, 0xF7, 0xF0, 0xFF, + 0x78, 0x4A, 0x79, 0x4C, 0x53, 0x78, 0x15, 0x78, + 0x78, 0x48, 0x10, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x9A, 0x1C, 0x67, 0x46, 0xB2, 0x18, 0x79, 0x01, + 0x52, 0x00, 0x12, 0x5B, 0xC9, 0x18, 0x4F, 0x00, + 0x3A, 0x52, 0x73, 0x4A, 0x00, 0x27, 0x8F, 0x54, + 0x00, 0x2B, 0xEF, 0xD1, 0x63, 0x46, 0x5A, 0x1E, + 0xD2, 0xB2, 0x00, 0x2B, 0x04, 0xD0, 0x56, 0x1C, + 0x2B, 0x1C, 0xB6, 0x01, 0x94, 0x46, 0xF3, 0xE7, + 0x6C, 0x4B, 0x6D, 0x4C, 0x1B, 0x78, 0x6D, 0x48, + 0x67, 0x49, 0x6D, 0x4A, 0x0E, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0xE5, 0x5C, 0xC6, 0x5C, 0x01, 0x35, + 0x02, 0x36, 0xAD, 0x01, 0xAD, 0x19, 0x6D, 0x00, + 0x6E, 0x5A, 0x5D, 0x00, 0xAE, 0x52, 0x67, 0x4D, + 0x00, 0x26, 0xEE, 0x54, 0x00, 0x2B, 0xEE, 0xD1, + 0x65, 0x25, 0x03, 0x95, 0x5B, 0x4C, 0x66, 0xE0, + 0xFF, 0xF7, 0xB2, 0xFF, 0x26, 0x78, 0x63, 0x78, + 0x05, 0x96, 0x2D, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x58, 0x4F, 0xF0, 0x18, 0x04, 0x9D, 0x40, 0x00, + 0x9A, 0x1C, 0xC0, 0x5B, 0xAD, 0x18, 0x54, 0x4F, + 0x6D, 0x00, 0xEF, 0x5B, 0xC7, 0x1B, 0x04, 0xD4, + 0x51, 0x4F, 0xED, 0x5B, 0x45, 0x1B, 0x02, 0x95, + 0x03, 0xE0, 0x4F, 0x4F, 0xED, 0x5B, 0x2D, 0x1A, + 0x02, 0x95, 0x04, 0x98, 0x87, 0x18, 0x4C, 0x48, + 0x7F, 0x00, 0xC0, 0x5B, 0x4B, 0x4F, 0x84, 0x46, + 0xF0, 0x18, 0x42, 0x00, 0x15, 0x1C, 0x62, 0x46, + 0xEA, 0x53, 0x49, 0x4D, 0x2F, 0x5C, 0x02, 0x9D, + 0xBD, 0x42, 0x00, 0xDA, 0x3D, 0x1C, 0x46, 0x4F, + 0x3D, 0x54, 0x00, 0x2B, 0xD2, 0xD1, 0x0B, 0x1C, + 0x59, 0x1E, 0xC9, 0xB2, 0x00, 0x2B, 0x05, 0xD0, + 0x48, 0x1C, 0x80, 0x01, 0x05, 0x9B, 0x4E, 0x01, + 0x04, 0x90, 0xF2, 0xE7, 0x3F, 0x4B, 0x3C, 0x4A, + 0x1B, 0x78, 0x22, 0xE0, 0x3E, 0x4D, 0x01, 0x3B, + 0xDB, 0xB2, 0x3E, 0x4F, 0xEE, 0x5C, 0x3E, 0x48, + 0xFD, 0x5C, 0x59, 0x00, 0x01, 0x36, 0x09, 0x5A, + 0x02, 0x35, 0xB0, 0x01, 0x40, 0x19, 0x40, 0x00, + 0x87, 0x5A, 0x80, 0x5A, 0xCF, 0x1B, 0x01, 0xD4, + 0x09, 0x1A, 0x00, 0xE0, 0x41, 0x1A, 0xB6, 0x01, + 0x75, 0x19, 0x2F, 0x48, 0x6D, 0x00, 0x46, 0x5B, + 0x33, 0x48, 0x5D, 0x00, 0x2E, 0x52, 0x33, 0x48, + 0xC5, 0x5C, 0xA9, 0x42, 0x00, 0xDA, 0x29, 0x1C, + 0xC1, 0x54, 0x00, 0x2B, 0xDA, 0xD1, 0x03, 0x9B, + 0x01, 0x3B, 0xDB, 0xB2, 0x03, 0x93, 0x00, 0x2B, + 0x92, 0xD1, 0x61, 0x78, 0x24, 0x78, 0x24, 0x4A, + 0x04, 0x94, 0x1E, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x45, 0x01, 0xED, 0x18, 0x21, 0x4F, 0x6D, 0x00, + 0xEE, 0x5B, 0x25, 0x88, 0xAC, 0x46, 0x9D, 0x1C, + 0x66, 0x45, 0x09, 0xD9, 0x27, 0x88, 0xF6, 0x1B, + 0x8F, 0x01, 0xBC, 0x46, 0x65, 0x44, 0x6D, 0x00, + 0xB6, 0xB2, 0xAF, 0x5A, 0xAE, 0x52, 0x05, 0xE0, + 0x8E, 0x01, 0x75, 0x19, 0x6D, 0x00, 0xAE, 0x5A, + 0x00, 0x26, 0xAE, 0x52, 0x00, 0x2B, 0xE1, 0xD1, + 0x01, 0x1C, 0x48, 0x1E, 0xC0, 0xB2, 0x00, 0x29, + 0x05, 0xD0, 0x41, 0x1C, 0x18, 0x4F, 0xCC, 0x01, + 0x04, 0x9B, 0xE4, 0x19, 0xF2, 0xE7, 0x11, 0x4B, + 0x13, 0x4F, 0x1B, 0x78, 0x10, 0x4E, 0x15, 0x48, + 0x10, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0xF5, 0x5C, + 0x13, 0x49, 0xED, 0x01, 0x5A, 0x00, 0x6D, 0x18, + 0xD4, 0x5B, 0x29, 0x88, 0x8C, 0x42, 0x03, 0xD9, + 0x2D, 0x88, 0x64, 0x1B, 0x84, 0x52, 0x01, 0xE0, + 0x00, 0x25, 0x85, 0x52, 0x00, 0x2B, 0xEC, 0xD1, + 0x07, 0xB0, 0xF0, 0xBD, 0x0A, 0x03, 0x00, 0x20, + 0x00, 0x40, 0x00, 0x40, 0xF8, 0x03, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0x30, 0x75, 0x00, 0x00, 0x2A, 0x75, 0x00, 0x00, + 0x14, 0x02, 0x00, 0x20, 0xA4, 0x0A, 0x00, 0x20, + 0x02, 0x40, 0x00, 0x40, 0x3C, 0x0D, 0x00, 0x20, + 0x82, 0x40, 0x00, 0x40, 0xF0, 0xB5, 0x87, 0xB0, + 0x02, 0xF0, 0x4A, 0xF8, 0x02, 0xF0, 0x60, 0xF9, + 0x00, 0x28, 0xFB, 0xD1, 0x52, 0x4B, 0x1B, 0x78, + 0x02, 0x2B, 0x09, 0xD0, 0x51, 0x4B, 0x52, 0x49, + 0x40, 0x33, 0x1A, 0x78, 0x53, 0x42, 0x54, 0x18, + 0xE0, 0x54, 0x01, 0x33, 0x93, 0x42, 0xFA, 0xDD, + 0x4C, 0x4E, 0x4E, 0x4F, 0x33, 0x1C, 0x40, 0x33, + 0x1C, 0x78, 0x64, 0x42, 0x0C, 0xE0, 0xFA, 0x78, + 0x80, 0x23, 0x12, 0x19, 0xD2, 0xB2, 0xDB, 0x05, + 0x1A, 0x71, 0xFF, 0xF7, 0xC1, 0xFE, 0x28, 0x78, + 0x20, 0x18, 0x03, 0xF0, 0xF3, 0xFD, 0x01, 0x34, + 0x35, 0x1C, 0x40, 0x35, 0x2B, 0x78, 0x9C, 0x42, + 0xED, 0xDD, 0x00, 0x26, 0x25, 0xE0, 0x2C, 0x78, + 0x2F, 0x1C, 0x64, 0x42, 0x40, 0x3F, 0x1A, 0xE0, + 0x3E, 0x4B, 0xDA, 0x78, 0x80, 0x23, 0x12, 0x19, + 0xDB, 0x05, 0xD2, 0xB2, 0x1A, 0x71, 0xFF, 0xF7, + 0xA7, 0xFE, 0x2D, 0x78, 0x04, 0xA9, 0x65, 0x19, + 0x05, 0xAA, 0x28, 0x1C, 0x03, 0xF0, 0xF8, 0xFD, + 0x35, 0x49, 0x04, 0x9B, 0x4A, 0x5D, 0xFF, 0x2B, + 0x00, 0xDD, 0xFF, 0x23, 0x9A, 0x42, 0x00, 0xDA, + 0x1A, 0x1C, 0x4A, 0x55, 0x01, 0x34, 0x3D, 0x1C, + 0x40, 0x35, 0x2B, 0x78, 0x9C, 0x42, 0xDF, 0xDD, + 0x01, 0x36, 0x2F, 0x4A, 0x2B, 0x4D, 0x13, 0x78, + 0x40, 0x35, 0x9E, 0x42, 0xD3, 0xDB, 0x01, 0xF0, + 0xDF, 0xFF, 0x2C, 0x49, 0x2A, 0x78, 0x0D, 0x78, + 0x2B, 0x49, 0x27, 0x48, 0x09, 0x78, 0x01, 0x23, + 0x03, 0x91, 0x9B, 0x1A, 0x00, 0x21, 0x29, 0x4C, + 0x10, 0x18, 0x94, 0x46, 0x11, 0xE0, 0xC6, 0x18, + 0x72, 0x1E, 0x12, 0x78, 0xC7, 0x5C, 0x6A, 0x43, + 0x02, 0x92, 0x03, 0x9A, 0x57, 0x43, 0x02, 0x9A, + 0xD7, 0x19, 0x72, 0x78, 0x6A, 0x43, 0xBA, 0x18, + 0x94, 0x42, 0x01, 0xDB, 0x94, 0xB2, 0x19, 0x1C, + 0x01, 0x33, 0x9C, 0x45, 0xEB, 0xDC, 0x19, 0x4B, + 0x1D, 0x4C, 0xDA, 0x78, 0x51, 0x18, 0xC9, 0xB2, + 0x99, 0x70, 0x13, 0x4B, 0x18, 0x78, 0x00, 0x28, + 0x05, 0xD1, 0x23, 0x78, 0x00, 0x2B, 0x02, 0xD0, + 0x18, 0x49, 0x02, 0xF0, 0xB7, 0xFD, 0x23, 0x78, + 0x00, 0x2B, 0x0B, 0xD0, 0x0D, 0x4B, 0x00, 0x20, + 0x40, 0x33, 0x19, 0x78, 0x0C, 0x4A, 0x49, 0x00, + 0x01, 0x31, 0xC9, 0xB2, 0x01, 0x23, 0x00, 0x90, + 0x02, 0xF0, 0x50, 0xFD, 0x0E, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x21, 0x00, 0x20, + 0x0D, 0x4A, 0x0B, 0x1C, 0x00, 0x90, 0x02, 0xF0, + 0x45, 0xFD, 0x07, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0xE0, 0x01, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x93, 0x01, 0x00, 0x20, 0xAA, 0x0A, 0x00, 0x20, + 0x87, 0x0D, 0x00, 0x20, 0x54, 0x00, 0x00, 0x20, + 0x55, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0x00, 0x00, + 0xEB, 0x01, 0x00, 0x20, 0x1A, 0x59, 0x00, 0x00, + 0xAC, 0x0A, 0x00, 0x20, 0x13, 0xB5, 0x24, 0x4B, + 0x24, 0x4C, 0x1B, 0x68, 0x00, 0x2B, 0x0E, 0xD0, + 0x23, 0x78, 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, + 0x21, 0x49, 0x02, 0xF0, 0x77, 0xFD, 0xFF, 0xF7, + 0x6D, 0xFA, 0x23, 0x78, 0x00, 0x2B, 0x02, 0xD1, + 0x02, 0xF0, 0x38, 0xF8, 0xFE, 0xE7, 0x23, 0x78, + 0x00, 0x2B, 0x09, 0xD0, 0x1B, 0x4C, 0x23, 0x68, + 0xDA, 0x00, 0x05, 0xD5, 0xFF, 0xF7, 0x5E, 0xFA, + 0x22, 0x68, 0x19, 0x4B, 0x13, 0x40, 0x23, 0x60, + 0x14, 0x4C, 0x23, 0x78, 0x00, 0x2B, 0x22, 0xD0, + 0x14, 0x4B, 0x1B, 0x68, 0x5A, 0x01, 0x1E, 0xD5, + 0x14, 0x49, 0x00, 0x20, 0x02, 0xF0, 0x56, 0xFD, + 0x13, 0x4B, 0x14, 0x4A, 0x19, 0x88, 0x11, 0x80, + 0x59, 0x88, 0x51, 0x80, 0x99, 0x88, 0x91, 0x80, + 0xDB, 0x88, 0xD3, 0x80, 0x10, 0x4B, 0x1B, 0x78, + 0x13, 0x81, 0x23, 0x78, 0x00, 0x2B, 0x05, 0xD0, + 0x00, 0x20, 0x05, 0x21, 0x02, 0x23, 0x00, 0x90, + 0x02, 0xF0, 0xE8, 0xFC, 0x05, 0x4B, 0x0B, 0x4A, + 0x19, 0x68, 0x0A, 0x40, 0x1A, 0x60, 0x13, 0xBD, + 0x0C, 0x1E, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x20, 0x59, 0x00, 0x00, 0x58, 0x00, 0x00, 0x20, + 0xFF, 0xFF, 0xFF, 0xEF, 0x27, 0x59, 0x00, 0x00, + 0x04, 0x02, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0xAA, 0x0A, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFB, + 0x10, 0xB5, 0x02, 0x28, 0x04, 0xD0, 0x03, 0x28, + 0x45, 0xD0, 0x01, 0x28, 0x33, 0xD1, 0x15, 0xE0, + 0xFF, 0xF7, 0xF6, 0xF9, 0x29, 0x4B, 0x2A, 0x4C, + 0x40, 0x33, 0x1B, 0x78, 0x29, 0x49, 0x50, 0x22, + 0x23, 0x70, 0x29, 0x48, 0x04, 0xF0, 0xA6, 0xF9, + 0x28, 0x4B, 0x0D, 0x20, 0x1B, 0x68, 0x98, 0x47, + 0xFF, 0xF7, 0xF4, 0xF9, 0x23, 0x78, 0x10, 0x2B, + 0x1A, 0xD1, 0x14, 0xE0, 0xFF, 0xF7, 0xE0, 0xF9, + 0x1E, 0x4B, 0x1F, 0x4C, 0x40, 0x33, 0x1B, 0x78, + 0x21, 0x49, 0x50, 0x22, 0x23, 0x70, 0x1E, 0x48, + 0x04, 0xF0, 0x90, 0xF9, 0x1D, 0x4B, 0x0C, 0x20, + 0x1B, 0x68, 0x98, 0x47, 0xFF, 0xF7, 0xDE, 0xF9, + 0x23, 0x78, 0x10, 0x2B, 0x04, 0xD1, 0x1B, 0x4B, + 0xDA, 0x78, 0x9A, 0x70, 0x02, 0xF0, 0xD1, 0xFA, + 0x02, 0xF0, 0x54, 0xFA, 0x20, 0xE0, 0x18, 0x4B, + 0x1A, 0x78, 0x00, 0x2A, 0x05, 0xD0, 0x17, 0x4A, + 0x11, 0x68, 0x01, 0x31, 0x11, 0x60, 0x00, 0x22, + 0x1A, 0x70, 0x15, 0x4B, 0x1A, 0x68, 0x13, 0x2A, + 0x05, 0xDD, 0x00, 0x22, 0x1A, 0x60, 0x0A, 0x4B, + 0x10, 0x22, 0x1A, 0x70, 0x0C, 0xE0, 0x0F, 0x4B, + 0x1A, 0x68, 0x3B, 0x2A, 0x08, 0xDD, 0x00, 0x22, + 0x1A, 0x60, 0x0E, 0x4B, 0x01, 0x20, 0x1B, 0x68, + 0x98, 0x47, 0x0D, 0x4B, 0x01, 0x22, 0x1A, 0x70, + 0x10, 0xBD, 0xC0, 0x46, 0xAE, 0x09, 0x00, 0x20, + 0x1D, 0x03, 0x00, 0x20, 0x4A, 0x74, 0x00, 0x00, + 0x48, 0x0D, 0x00, 0x20, 0xF8, 0x01, 0x00, 0x20, + 0x9A, 0x74, 0x00, 0x00, 0xAA, 0x0A, 0x00, 0x20, + 0xC4, 0x01, 0x00, 0x20, 0xC0, 0x01, 0x00, 0x20, + 0xBC, 0x01, 0x00, 0x20, 0x6C, 0x00, 0x00, 0x20, + 0xE7, 0x01, 0x00, 0x20, 0x10, 0xB5, 0x0C, 0x4B, + 0x01, 0x22, 0x99, 0x79, 0x00, 0x23, 0x00, 0xE0, + 0x23, 0x1C, 0x5C, 0x1C, 0x10, 0x1C, 0xE4, 0xB2, + 0x98, 0x40, 0x81, 0x42, 0xF8, 0xDA, 0x07, 0x4A, + 0x07, 0x21, 0x13, 0x71, 0x80, 0x22, 0xD2, 0x05, + 0x0B, 0x40, 0x19, 0x02, 0x10, 0x6C, 0x04, 0x4B, + 0x03, 0x40, 0x0B, 0x43, 0x13, 0x64, 0x10, 0xBD, + 0x48, 0x0D, 0x00, 0x20, 0x5C, 0x00, 0x00, 0x20, + 0xFF, 0xF8, 0xFF, 0xFF, 0x06, 0x4B, 0x07, 0x22, + 0xD9, 0x79, 0x80, 0x23, 0xDB, 0x05, 0x18, 0x6C, + 0x11, 0x40, 0x04, 0x4A, 0x09, 0x02, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x64, 0x70, 0x47, 0xC0, 0x46, + 0x48, 0x0D, 0x00, 0x20, 0xFF, 0xF8, 0xFF, 0xFF, + 0xF0, 0xB5, 0x8D, 0xB0, 0x04, 0x90, 0xFF, 0xF7, + 0xC9, 0xFF, 0xC7, 0x4B, 0xC7, 0x48, 0xDE, 0x78, + 0x00, 0x21, 0x05, 0x96, 0x9C, 0x78, 0x07, 0xE0, + 0x01, 0x3B, 0xDB, 0xB2, 0xEE, 0x18, 0x76, 0x00, + 0x31, 0x52, 0x00, 0x2B, 0xF8, 0xD1, 0x05, 0x92, + 0x05, 0x9A, 0x05, 0x9E, 0x01, 0x3A, 0xD2, 0xB2, + 0x00, 0x2E, 0x02, 0xD0, 0x23, 0x1C, 0x55, 0x01, + 0xF3, 0xE7, 0x04, 0x9F, 0x00, 0x2F, 0x05, 0xD0, + 0xBB, 0x4B, 0x05, 0x9E, 0x5B, 0x7B, 0x06, 0x96, + 0x03, 0x93, 0x04, 0xE0, 0xB9, 0x4B, 0x02, 0x27, + 0x9B, 0x78, 0x06, 0x97, 0x03, 0x93, 0x68, 0x46, + 0x0C, 0x21, 0x0B, 0x56, 0xB2, 0x4C, 0x0B, 0x93, + 0x5B, 0x42, 0x09, 0x93, 0xAA, 0xE0, 0x6A, 0x46, + 0x18, 0x23, 0x9A, 0x56, 0xE6, 0x7A, 0x27, 0x1C, + 0x02, 0x92, 0x0D, 0xE0, 0x30, 0x1C, 0x00, 0x21, + 0x2A, 0x1C, 0x02, 0x9B, 0x02, 0xF0, 0x4C, 0xF9, + 0x30, 0x1C, 0x01, 0x21, 0x2A, 0x1C, 0x02, 0x9B, + 0x02, 0xF0, 0x46, 0xF9, 0x01, 0x36, 0xF6, 0xB2, + 0xBB, 0x7A, 0xFA, 0x7A, 0xD2, 0x18, 0x3B, 0x1C, + 0x96, 0x42, 0xEB, 0xDB, 0x04, 0x9E, 0x00, 0x2E, + 0x00, 0xD1, 0x0E, 0x3D, 0x68, 0x46, 0x18, 0x21, + 0x08, 0x56, 0x5E, 0x7B, 0x9E, 0x4F, 0x02, 0x90, + 0x0D, 0xE0, 0x30, 0x1C, 0x00, 0x21, 0x2A, 0x1C, + 0x02, 0x9B, 0x02, 0xF0, 0x2D, 0xF9, 0x30, 0x1C, + 0x01, 0x21, 0x2A, 0x1C, 0x02, 0x9B, 0x02, 0xF0, + 0x27, 0xF9, 0x01, 0x36, 0xF6, 0xB2, 0x7A, 0x7B, + 0x3B, 0x7B, 0xD3, 0x18, 0x9E, 0x42, 0xEC, 0xDB, + 0xFF, 0xF7, 0xAE, 0xFC, 0x96, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x23, 0x18, 0x1C, + 0x19, 0x1C, 0x0B, 0xAA, 0x00, 0x93, 0x02, 0xF0, + 0xAD, 0xFB, 0x00, 0x25, 0x8C, 0x4E, 0x90, 0x4F, + 0x0E, 0xE0, 0x3B, 0x78, 0x00, 0x2B, 0x09, 0xD0, + 0x8E, 0x4B, 0xEA, 0x01, 0xD2, 0x18, 0x00, 0x23, + 0xB1, 0x78, 0x01, 0x20, 0x00, 0x93, 0x02, 0x23, + 0x02, 0xF0, 0x9C, 0xFB, 0x01, 0x35, 0xED, 0xB2, + 0xF3, 0x78, 0x9D, 0x42, 0xED, 0xD3, 0x0B, 0x9A, + 0xB6, 0x78, 0xD2, 0xB2, 0x02, 0x96, 0x07, 0x92, + 0x80, 0x4D, 0x39, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x08, 0x9E, 0x99, 0x1C, 0x71, 0x18, 0x82, 0x4F, + 0x49, 0x00, 0xCE, 0x5B, 0xD1, 0x18, 0x48, 0x00, + 0x40, 0x5B, 0xB7, 0xB2, 0xB8, 0x42, 0x14, 0xDC, + 0xC0, 0x1B, 0x01, 0x1C, 0x80, 0x31, 0x01, 0xDA, + 0x80, 0x20, 0x40, 0x42, 0xD7, 0x18, 0x7F, 0x28, + 0x00, 0xDD, 0x7F, 0x20, 0x79, 0x49, 0x78, 0x54, + 0xD1, 0x18, 0x48, 0x00, 0x2E, 0x52, 0x1C, 0x27, + 0x6E, 0x46, 0x77, 0x48, 0xBE, 0x5D, 0x0E, 0x54, + 0x13, 0xE0, 0x04, 0x9E, 0x00, 0x2E, 0x10, 0xD0, + 0x74, 0x4E, 0xB0, 0x42, 0x08, 0xD0, 0x71, 0x4E, + 0x8E, 0x57, 0x80, 0x19, 0x87, 0x42, 0x03, 0xDA, + 0x6F, 0x48, 0x0E, 0x5C, 0x01, 0x36, 0x0E, 0x54, + 0xD1, 0x18, 0x01, 0x27, 0x49, 0x00, 0x7F, 0x42, + 0x6F, 0x52, 0x00, 0x2B, 0xC6, 0xD1, 0x63, 0x46, + 0x5E, 0x1E, 0xF6, 0xB2, 0x00, 0x2B, 0x06, 0xD0, + 0x72, 0x1C, 0x92, 0x01, 0x08, 0x92, 0x02, 0x9B, + 0x72, 0x01, 0xB4, 0x46, 0xF1, 0xE7, 0x0B, 0x9B, + 0x01, 0x3B, 0x0B, 0x93, 0x0B, 0x9D, 0x09, 0x9E, + 0xB5, 0x42, 0x00, 0xDB, 0x4F, 0xE7, 0x04, 0x9F, + 0x00, 0x2F, 0x45, 0xD0, 0xA0, 0x78, 0xE3, 0x78, + 0x04, 0x90, 0x61, 0x78, 0x56, 0x4A, 0x06, 0x91, + 0x24, 0x78, 0x02, 0x94, 0x11, 0x7C, 0xD0, 0x7A, + 0x5B, 0x4C, 0x08, 0x18, 0xC0, 0xB2, 0x07, 0x90, + 0x12, 0x7B, 0x89, 0x18, 0xC9, 0xB2, 0x08, 0x91, + 0x55, 0x4A, 0x28, 0xE0, 0x03, 0x9E, 0x01, 0x3B, + 0xDB, 0xB2, 0x00, 0x2E, 0x01, 0xD1, 0xC7, 0x18, + 0xD6, 0x55, 0x06, 0x9E, 0xB1, 0x42, 0x02, 0xD2, + 0x02, 0x9F, 0xBB, 0x42, 0x0C, 0xD3, 0xEF, 0x18, + 0xC6, 0x18, 0x09, 0x97, 0x97, 0x5D, 0xBC, 0x46, + 0x09, 0x9F, 0xE7, 0x5D, 0xBC, 0x44, 0x08, 0x9F, + 0xBC, 0x44, 0x67, 0x46, 0x97, 0x55, 0x0B, 0xE0, + 0xEF, 0x18, 0xC6, 0x18, 0x09, 0x97, 0x97, 0x5D, + 0xBC, 0x46, 0x09, 0x9F, 0xE7, 0x5D, 0xBC, 0x44, + 0x07, 0x9F, 0xBC, 0x44, 0x67, 0x46, 0x97, 0x55, + 0x00, 0x2B, 0xD7, 0xD1, 0x0B, 0x1C, 0x59, 0x1E, + 0xC9, 0xB2, 0x00, 0x2B, 0x3E, 0xD0, 0x26, 0x25, + 0x04, 0x9B, 0x48, 0x01, 0x4D, 0x43, 0xF3, 0xE7, + 0x63, 0x7C, 0xE2, 0x79, 0x07, 0x25, 0x9A, 0x18, + 0x03, 0x92, 0x34, 0x4A, 0xA0, 0x7B, 0x02, 0x21, + 0x52, 0x5E, 0x26, 0x79, 0xAD, 0x1A, 0x6D, 0x00, + 0x86, 0x19, 0xED, 0xB2, 0x34, 0x49, 0x84, 0x46, + 0x09, 0xE0, 0xB8, 0x18, 0x44, 0x5C, 0x01, 0x32, + 0x2C, 0x19, 0x44, 0x54, 0xD2, 0xB2, 0xB2, 0x42, + 0xF7, 0xDB, 0x01, 0x33, 0xDB, 0xB2, 0x03, 0x9A, + 0x93, 0x42, 0x02, 0xDA, 0x62, 0x46, 0x5F, 0x01, + 0xF5, 0xE7, 0x23, 0x4A, 0x2A, 0x49, 0x10, 0x7C, + 0xD3, 0x7B, 0x56, 0x79, 0x95, 0x79, 0x9E, 0x19, + 0x45, 0x19, 0x84, 0x46, 0x09, 0xE0, 0xB8, 0x18, + 0x44, 0x5C, 0x01, 0x32, 0x0E, 0x3C, 0x44, 0x54, + 0xD2, 0xB2, 0xAA, 0x42, 0xF7, 0xDB, 0x01, 0x33, + 0xDB, 0xB2, 0xB3, 0x42, 0x02, 0xDA, 0x62, 0x46, + 0x5F, 0x01, 0xF6, 0xE7, 0x1A, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x13, 0xD0, 0x05, 0x20, 0x1F, 0x49, + 0x02, 0xF0, 0x10, 0xFB, 0x0E, 0xE0, 0x2B, 0x78, + 0x00, 0x2B, 0x08, 0xD0, 0x18, 0x4B, 0x72, 0x01, + 0xA1, 0x78, 0xD2, 0x18, 0x05, 0x20, 0x01, 0x23, + 0x00, 0x93, 0x02, 0xF0, 0xAB, 0xFA, 0x01, 0x36, + 0xF6, 0xB2, 0x02, 0xE0, 0x0A, 0x4C, 0x0E, 0x4D, + 0x05, 0x9E, 0xE3, 0x78, 0xB3, 0x42, 0xEA, 0xD8, + 0x00, 0x21, 0x01, 0x20, 0x0A, 0x1C, 0x40, 0x42, + 0x02, 0x23, 0x02, 0xF0, 0x01, 0xF8, 0x01, 0x20, + 0x40, 0x42, 0x01, 0x21, 0x00, 0x22, 0x02, 0x23, + 0x01, 0xF0, 0xFA, 0xFF, 0xA4, 0x78, 0x25, 0xE0, + 0x0A, 0x03, 0x00, 0x20, 0xF8, 0x03, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x04, 0x02, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x84, 0x40, 0x00, 0x40, + 0x00, 0x40, 0x00, 0x40, 0x64, 0x0E, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0xFF, 0xFF, 0x00, 0x00, + 0x36, 0x75, 0x00, 0x00, 0x2E, 0x59, 0x00, 0x00, + 0x01, 0x3C, 0x00, 0x21, 0xE4, 0xB2, 0x0A, 0x1C, + 0x20, 0x1C, 0x01, 0x23, 0x01, 0xF0, 0xD8, 0xFF, + 0x01, 0x21, 0x20, 0x1C, 0x00, 0x22, 0x0B, 0x1C, + 0x01, 0xF0, 0xD2, 0xFF, 0x00, 0x2C, 0xEF, 0xD1, + 0xFF, 0xF7, 0x30, 0xFE, 0x0D, 0xB0, 0xF0, 0xBD, + 0x08, 0xB5, 0x03, 0xF0, 0xC5, 0xFD, 0x05, 0x4B, + 0x01, 0x20, 0x1B, 0x68, 0x98, 0x47, 0x01, 0x20, + 0x04, 0xF0, 0x22, 0xF9, 0x01, 0xF0, 0xD6, 0xFD, + 0x08, 0xBD, 0xC0, 0x46, 0xF8, 0x01, 0x00, 0x20, + 0xF7, 0xB5, 0x2C, 0x4A, 0x00, 0x20, 0x10, 0x60, + 0x2B, 0x4A, 0x2C, 0x4E, 0x11, 0x8C, 0x2C, 0x4A, + 0x11, 0x60, 0x72, 0x1D, 0xD2, 0x7F, 0xF1, 0x7D, + 0x50, 0x1E, 0x44, 0x42, 0x60, 0x41, 0x29, 0x4C, + 0x08, 0x1A, 0x00, 0x90, 0x20, 0x60, 0xB0, 0x1D, + 0xC5, 0x7F, 0x37, 0x7E, 0x6B, 0x1E, 0x58, 0x42, + 0x58, 0x41, 0x3B, 0x1A, 0x01, 0x93, 0x63, 0x60, + 0x01, 0x2A, 0x02, 0xD1, 0x00, 0x20, 0x20, 0x81, + 0x05, 0xE0, 0x26, 0x23, 0xF0, 0x5E, 0x49, 0x00, + 0x03, 0xF0, 0xBA, 0xFE, 0x20, 0x81, 0x01, 0x2D, + 0x02, 0xD1, 0x00, 0x23, 0x63, 0x81, 0x05, 0xE0, + 0x28, 0x23, 0xF0, 0x5E, 0x79, 0x00, 0x03, 0xF0, + 0xAF, 0xFE, 0x60, 0x81, 0x15, 0x4F, 0x01, 0x9B, + 0x28, 0x20, 0x3E, 0x5E, 0x59, 0x00, 0x70, 0x00, + 0x80, 0x19, 0x03, 0xF0, 0xA5, 0xFE, 0x40, 0x43, + 0x12, 0x4C, 0x43, 0x00, 0x80, 0x00, 0xE3, 0x60, + 0xC3, 0x18, 0x23, 0x61, 0x26, 0x20, 0x3D, 0x5E, + 0x00, 0x9B, 0x68, 0x00, 0x59, 0x00, 0x40, 0x19, + 0x03, 0xF0, 0x96, 0xFE, 0x2C, 0x37, 0x60, 0x61, + 0xA0, 0x61, 0x3B, 0x78, 0x00, 0x2B, 0x02, 0xD1, + 0xE6, 0x61, 0x25, 0x62, 0x01, 0xE0, 0xE5, 0x61, + 0x26, 0x62, 0x07, 0x4B, 0x01, 0x22, 0x52, 0x42, + 0x5A, 0x60, 0xF7, 0xBD, 0x9C, 0x0D, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x20, 0x02, 0x00, 0x20, 0x24, 0x09, 0x00, 0x20, + 0xCC, 0x00, 0x00, 0x20, 0xF0, 0xB5, 0x24, 0x4B, + 0x87, 0xB0, 0x1E, 0x7E, 0xDB, 0x7D, 0x72, 0x1C, + 0xD9, 0x1C, 0x02, 0x33, 0x03, 0x93, 0x05, 0x92, + 0x00, 0x23, 0x20, 0x4A, 0x04, 0x91, 0x18, 0x1C, + 0x05, 0x9C, 0xE5, 0x1A, 0xEF, 0x01, 0x01, 0x97, + 0xBC, 0x5A, 0xB8, 0x52, 0x04, 0x9C, 0xAD, 0x01, + 0x29, 0x19, 0x4F, 0x00, 0xBC, 0x5A, 0x1A, 0x4C, + 0xB8, 0x52, 0x00, 0x27, 0x2F, 0x55, 0x0F, 0x55, + 0x01, 0x99, 0x18, 0x4F, 0x01, 0x33, 0xCF, 0x19, + 0x02, 0x97, 0x39, 0x88, 0x38, 0x80, 0x03, 0x99, + 0x6F, 0x18, 0x79, 0x00, 0x01, 0x91, 0x89, 0x5A, + 0x01, 0x99, 0x88, 0x52, 0x12, 0x49, 0x6D, 0x18, + 0x00, 0x21, 0x29, 0x70, 0x39, 0x55, 0xF7, 0x1A, + 0x0C, 0x4D, 0x01, 0x37, 0xD8, 0xDA, 0x00, 0x22, + 0x01, 0x36, 0x03, 0x9B, 0x11, 0x1C, 0xB6, 0x01, + 0x58, 0x00, 0x2F, 0x5A, 0x2A, 0x52, 0xF0, 0x18, + 0x47, 0x00, 0xEC, 0x5B, 0xEA, 0x53, 0x06, 0x4F, + 0xF9, 0x54, 0x01, 0x3B, 0x39, 0x54, 0x01, 0x2B, + 0xF2, 0xD1, 0x07, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0xAE, 0x09, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, + 0x00, 0x20, 0x00, 0x40, 0x02, 0x40, 0x00, 0x40, + 0x01, 0x20, 0x00, 0x40, 0xF7, 0xB5, 0x0D, 0x4B, + 0x19, 0x7E, 0xDE, 0x7D, 0x48, 0x1C, 0x01, 0x36, + 0x00, 0x23, 0x01, 0x90, 0x01, 0x9C, 0x32, 0x1C, + 0xE7, 0x1A, 0xBF, 0x01, 0x95, 0x1C, 0xAC, 0x46, + 0xBC, 0x44, 0x07, 0x4C, 0x00, 0x25, 0x60, 0x46, + 0x01, 0x3A, 0x05, 0x55, 0x50, 0x1C, 0xF5, 0xDA, + 0x01, 0x33, 0xCA, 0x1A, 0x01, 0x32, 0xED, 0xDA, + 0xF7, 0xBD, 0xC0, 0x46, 0xAE, 0x09, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x40, 0x00, 0xB5, 0x0D, 0x4B, + 0x08, 0x22, 0x9B, 0x5E, 0x0C, 0x4A, 0x11, 0x1C, + 0x35, 0x31, 0x09, 0x78, 0x12, 0x7F, 0x4B, 0x43, + 0x52, 0xB2, 0x9B, 0x11, 0x93, 0x42, 0x00, 0xDA, + 0x13, 0x1C, 0x08, 0x4A, 0x13, 0x60, 0x80, 0x22, + 0xD2, 0x05, 0x1B, 0x05, 0x19, 0x09, 0x90, 0x69, + 0x05, 0x4B, 0x03, 0x40, 0x0B, 0x43, 0x93, 0x61, + 0x00, 0xBD, 0xC0, 0x46, 0x70, 0x01, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x38, 0x0D, 0x00, 0x20, + 0xFF, 0xFF, 0x00, 0xF0, 0xF0, 0xB5, 0xA9, 0x4A, + 0xA9, 0x48, 0x11, 0x68, 0x07, 0x68, 0x93, 0xB0, + 0x8C, 0x46, 0x0D, 0x22, 0x00, 0x21, 0x7F, 0x25, + 0xFF, 0x24, 0x01, 0x97, 0x90, 0x00, 0x83, 0x18, + 0xA4, 0x4E, 0x5B, 0x00, 0xF3, 0x18, 0x99, 0x87, + 0x00, 0x27, 0x38, 0x33, 0x1F, 0x72, 0x67, 0x46, + 0x39, 0x50, 0x01, 0x3A, 0x01, 0x9F, 0xD2, 0xB2, + 0x39, 0x50, 0x00, 0x26, 0xDD, 0x72, 0x5D, 0x72, + 0x1C, 0x73, 0x9C, 0x72, 0xD9, 0x80, 0xFF, 0x2A, + 0xE8, 0xD1, 0x9B, 0x4A, 0x9B, 0x4B, 0x11, 0x7E, + 0x98, 0x68, 0x9B, 0x4C, 0x97, 0x4D, 0x01, 0x39, + 0x04, 0x90, 0xA6, 0x81, 0x2E, 0x60, 0x88, 0x42, + 0x02, 0xDA, 0x01, 0x30, 0x04, 0x90, 0x98, 0x60, + 0xDE, 0x68, 0x11, 0x96, 0x00, 0x2E, 0x02, 0xDD, + 0x01, 0x3E, 0x11, 0x96, 0xDE, 0x60, 0xD1, 0x7D, + 0x1A, 0x68, 0x01, 0x39, 0x8A, 0x42, 0x01, 0xDA, + 0x01, 0x32, 0x1A, 0x60, 0x5A, 0x68, 0x00, 0x2A, + 0x01, 0xDD, 0x01, 0x3A, 0x5A, 0x60, 0x04, 0x9F, + 0x11, 0x98, 0x87, 0x42, 0x00, 0xDA, 0xA3, 0xE0, + 0x19, 0x68, 0x5B, 0x68, 0x84, 0x4A, 0x06, 0x93, + 0x88, 0x4B, 0x12, 0x68, 0x1B, 0x68, 0x86, 0x4C, + 0x0D, 0x93, 0x80, 0x4B, 0x10, 0x91, 0x1B, 0x68, + 0x09, 0x92, 0x0A, 0x93, 0xA4, 0x89, 0x84, 0x48, + 0x0C, 0x94, 0x06, 0x9D, 0x10, 0x9E, 0xB5, 0x42, + 0x00, 0xDD, 0x81, 0xE0, 0x04, 0x9A, 0x6F, 0x46, + 0x10, 0x21, 0x01, 0x32, 0xCF, 0x5D, 0x92, 0x01, + 0x33, 0x1C, 0x02, 0x92, 0x07, 0x97, 0x05, 0xE0, + 0x00, 0x27, 0x2F, 0x54, 0x06, 0x9F, 0x01, 0x3B, + 0x9F, 0x42, 0x71, 0xDC, 0x02, 0x99, 0x9C, 0x1C, + 0x0D, 0x19, 0x2A, 0x5C, 0x77, 0x4E, 0x69, 0x00, + 0x89, 0x5B, 0x0E, 0x2A, 0xF0, 0xD8, 0x0D, 0x9D, + 0x49, 0x1B, 0x00, 0x2A, 0x00, 0xD1, 0x71, 0xE0, + 0x01, 0x3A, 0xD4, 0xB2, 0x09, 0x9E, 0x04, 0x9F, + 0xA2, 0x00, 0xB5, 0x18, 0x4F, 0x43, 0x2E, 0x68, + 0xB4, 0x46, 0x67, 0x44, 0x2F, 0x60, 0x0A, 0x9D, + 0x0E, 0x1C, 0xAF, 0x18, 0x3D, 0x68, 0x5E, 0x43, + 0xAC, 0x46, 0x15, 0x19, 0x6D, 0x00, 0x01, 0x95, + 0x62, 0x4D, 0x66, 0x44, 0xAC, 0x46, 0x01, 0x9D, + 0x3E, 0x60, 0xAC, 0x44, 0x65, 0x46, 0xAF, 0x8F, + 0x38, 0x35, 0x2E, 0x7A, 0xCF, 0x19, 0x03, 0x96, + 0x09, 0x26, 0xAE, 0x57, 0xAF, 0x80, 0x01, 0x96, + 0x0C, 0x9E, 0x6F, 0x46, 0xB4, 0x46, 0x01, 0x26, + 0xB4, 0x44, 0x03, 0x9E, 0x01, 0x36, 0x03, 0x96, + 0x66, 0x46, 0xB6, 0xB2, 0x0C, 0x96, 0x0C, 0x26, + 0xF7, 0x5D, 0x04, 0x9E, 0x2F, 0x72, 0x01, 0x9F, + 0xBE, 0x42, 0x00, 0xDA, 0x6E, 0x72, 0x51, 0x4E, + 0x15, 0x19, 0x6D, 0x00, 0x75, 0x19, 0x38, 0x35, + 0x0A, 0x26, 0xAE, 0x57, 0x04, 0x9F, 0xB7, 0x42, + 0x00, 0xDD, 0xAF, 0x72, 0x4B, 0x4E, 0x15, 0x19, + 0x6D, 0x00, 0x75, 0x19, 0x38, 0x35, 0x0B, 0x26, + 0xAE, 0x57, 0xB3, 0x42, 0x00, 0xDA, 0xEB, 0x72, + 0x15, 0x19, 0x46, 0x4F, 0x6D, 0x00, 0x7D, 0x19, + 0x38, 0x35, 0x0C, 0x26, 0xAE, 0x57, 0xB3, 0x42, + 0x00, 0xDD, 0x2B, 0x73, 0x12, 0x19, 0x41, 0x4C, + 0x52, 0x00, 0xA2, 0x18, 0x3E, 0x25, 0x54, 0x5F, + 0x38, 0x32, 0xA1, 0x42, 0x8E, 0xDD, 0x06, 0x9F, + 0x01, 0x3B, 0xD1, 0x80, 0x9F, 0x42, 0x8D, 0xDD, + 0x04, 0x99, 0x11, 0x9A, 0x01, 0x39, 0x04, 0x91, + 0x91, 0x42, 0x00, 0xDB, 0x71, 0xE7, 0x6B, 0x46, + 0x30, 0x24, 0xE4, 0x5A, 0x38, 0x4B, 0x9C, 0x81, + 0x13, 0xB0, 0xF0, 0xBD, 0x02, 0x39, 0xCA, 0x43, + 0xD2, 0x17, 0x11, 0x40, 0x03, 0x91, 0x04, 0x9E, + 0x03, 0x9F, 0x71, 0x43, 0x5F, 0x43, 0x0E, 0x91, + 0x00, 0x25, 0xD9, 0xB2, 0x0F, 0x97, 0x05, 0x91, + 0x03, 0x22, 0x01, 0x95, 0x9C, 0x46, 0x08, 0x94, + 0x31, 0x4E, 0x32, 0x4F, 0x07, 0x9C, 0xB1, 0x5C, + 0x05, 0x9D, 0xBB, 0x5C, 0x61, 0x18, 0xEB, 0x18, + 0x49, 0xB2, 0x01, 0x31, 0x5B, 0xB2, 0x89, 0x01, + 0x02, 0x33, 0xCB, 0x18, 0x1C, 0x5C, 0x65, 0xB2, + 0x69, 0x1E, 0x0D, 0x29, 0x27, 0xD8, 0x08, 0x9B, + 0x02, 0x9F, 0x8E, 0x00, 0xFF, 0x18, 0x0B, 0x97, + 0x09, 0x9F, 0x71, 0x18, 0xBB, 0x19, 0x0A, 0x9F, + 0x49, 0x00, 0xBF, 0x19, 0x1B, 0x4E, 0x00, 0x97, + 0x01, 0x9F, 0x71, 0x18, 0x38, 0x31, 0x00, 0x2F, + 0x1A, 0xD1, 0xE4, 0xB2, 0x01, 0x94, 0x0B, 0x9D, + 0x0E, 0x34, 0xE4, 0xB2, 0x2C, 0x54, 0x1C, 0x68, + 0x0E, 0x9E, 0x00, 0x9F, 0xA4, 0x19, 0x1C, 0x60, + 0x3B, 0x68, 0x0F, 0x9C, 0x03, 0x9D, 0x1B, 0x19, + 0x3B, 0x60, 0x8C, 0x88, 0x0B, 0x7A, 0x2C, 0x19, + 0x01, 0x33, 0x8C, 0x80, 0x0B, 0x72, 0x53, 0x1E, + 0x00, 0x2A, 0x10, 0xD0, 0xDA, 0xB2, 0xBF, 0xE7, + 0x02, 0x9E, 0x08, 0x99, 0x01, 0x9C, 0x73, 0x18, + 0x1F, 0x2C, 0xF4, 0xD0, 0xAC, 0x42, 0xF2, 0xD0, + 0x1F, 0x25, 0x1F, 0x26, 0x1D, 0x54, 0x01, 0x96, + 0x53, 0x1E, 0x00, 0x2A, 0xEE, 0xD1, 0x63, 0x46, + 0x18, 0xE7, 0xC0, 0x46, 0x44, 0x00, 0x00, 0x20, + 0x48, 0x00, 0x00, 0x20, 0x24, 0x02, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xE4, 0x10, 0x00, 0x20, + 0x70, 0x01, 0x00, 0x20, 0x38, 0x0D, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, + 0xF8, 0x59, 0x00, 0x00, 0xF4, 0x59, 0x00, 0x00, + 0xF0, 0xB5, 0x89, 0xB0, 0x0F, 0x23, 0x46, 0x49, + 0xFF, 0x22, 0x02, 0xE0, 0x58, 0x18, 0x01, 0x38, + 0x02, 0x70, 0x01, 0x3B, 0x00, 0x2B, 0xF9, 0xD1, + 0x42, 0x4B, 0xD8, 0x68, 0x19, 0x68, 0x9A, 0x68, + 0x5B, 0x68, 0x01, 0x90, 0x03, 0x93, 0x40, 0x4B, + 0x02, 0x91, 0x1B, 0x68, 0x04, 0x93, 0x3F, 0x4B, + 0x5B, 0x7F, 0x06, 0x93, 0x68, 0xE0, 0x07, 0x9B, + 0x88, 0x1C, 0x3D, 0x4A, 0x18, 0x18, 0x83, 0x5C, + 0x5B, 0xB2, 0x1F, 0x2B, 0x5A, 0xD1, 0x3B, 0x4A, + 0x40, 0x00, 0x82, 0x5A, 0x04, 0x9D, 0x04, 0x20, + 0x52, 0x1B, 0x05, 0x92, 0x38, 0x4A, 0x01, 0x38, + 0xC0, 0xB2, 0x14, 0x56, 0x37, 0x4A, 0x64, 0x44, + 0x12, 0x56, 0x01, 0x34, 0x8A, 0x18, 0xA4, 0x01, + 0x02, 0x32, 0x31, 0x4E, 0xA2, 0x18, 0xB4, 0x5C, + 0x0E, 0x2C, 0x41, 0xD8, 0x1F, 0x2B, 0x3E, 0xD0, + 0xA3, 0x42, 0x3D, 0xD0, 0x00, 0x2C, 0x3B, 0xD0, + 0x0A, 0x27, 0x5D, 0x1E, 0x7D, 0x43, 0x2E, 0x4A, + 0x2D, 0x4E, 0x55, 0x19, 0x62, 0x1E, 0x7A, 0x43, + 0xB2, 0x18, 0x3E, 0x27, 0xEE, 0x5F, 0x3E, 0x27, + 0xD5, 0x5F, 0x1A, 0x1C, 0xAE, 0x42, 0x00, 0xDD, + 0x22, 0x1C, 0x0A, 0x25, 0x01, 0x3A, 0x6A, 0x43, + 0x25, 0x4E, 0x06, 0x9D, 0xB2, 0x18, 0x3E, 0x27, + 0xD2, 0x5F, 0x05, 0x9E, 0x6A, 0x43, 0x92, 0x11, + 0x96, 0x42, 0x1D, 0xDD, 0x9C, 0x42, 0x02, 0xD9, + 0x1A, 0x1C, 0x23, 0x1C, 0x14, 0x1C, 0x5E, 0x1E, + 0x15, 0x4A, 0xF6, 0xB2, 0x97, 0x5D, 0x00, 0x25, + 0x00, 0x97, 0x6F, 0x46, 0x7D, 0x57, 0x01, 0x3C, + 0xE4, 0xB2, 0x6F, 0x1C, 0x09, 0xD0, 0xA5, 0x42, + 0x03, 0xDA, 0x6D, 0x46, 0x2D, 0x78, 0x15, 0x55, + 0x06, 0xE0, 0xA5, 0x42, 0x04, 0xDD, 0xE4, 0xB2, + 0x54, 0x55, 0x94, 0x55, 0x00, 0xE0, 0x23, 0x1C, + 0x00, 0x28, 0xAB, 0xD1, 0x01, 0x39, 0x03, 0x9E, + 0xB1, 0x42, 0x98, 0xDA, 0x62, 0x46, 0x01, 0x3A, + 0x01, 0x9F, 0xBA, 0x42, 0x05, 0xDB, 0x53, 0x1C, + 0x9B, 0x01, 0x02, 0x99, 0x07, 0x93, 0x94, 0x46, + 0xF1, 0xE7, 0x09, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0xEC, 0x02, 0x00, 0x20, 0xE4, 0x10, 0x00, 0x20, + 0x38, 0x0D, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, + 0xF8, 0x59, 0x00, 0x00, 0xF4, 0x59, 0x00, 0x00, + 0x24, 0x02, 0x00, 0x20, 0xF0, 0xB5, 0xD4, 0x4A, + 0x8D, 0xB0, 0x11, 0x68, 0x00, 0x23, 0xD0, 0x18, + 0xBE, 0x30, 0x00, 0x24, 0x00, 0x5F, 0x0A, 0x3B, + 0x44, 0x1E, 0xA0, 0x41, 0x1D, 0x1C, 0x09, 0x18, + 0x8C, 0x35, 0xF4, 0xD1, 0xCD, 0x4B, 0x11, 0x60, + 0x1B, 0x68, 0xBE, 0x32, 0x03, 0x93, 0xCC, 0x4B, + 0x0E, 0x24, 0x1B, 0x68, 0x05, 0x93, 0xCB, 0x4E, + 0x01, 0x3C, 0x33, 0x57, 0x5F, 0x1C, 0x01, 0xD1, + 0x73, 0xE0, 0x03, 0x1C, 0xC7, 0x4D, 0xE8, 0x56, + 0x46, 0x1C, 0xFA, 0xD1, 0x2B, 0x55, 0x5F, 0x1C, + 0x6B, 0xD0, 0x03, 0x98, 0x9D, 0x00, 0x46, 0x19, + 0x37, 0x68, 0xA0, 0x00, 0xBC, 0x46, 0x03, 0x9F, + 0x3F, 0x58, 0xBC, 0x44, 0x67, 0x46, 0x37, 0x60, + 0x05, 0x9E, 0x05, 0x9F, 0x75, 0x19, 0x2E, 0x68, + 0x38, 0x58, 0xB9, 0x4F, 0x30, 0x18, 0x0A, 0x26, + 0x28, 0x60, 0x30, 0x1C, 0x58, 0x43, 0x38, 0x18, + 0x38, 0x30, 0x09, 0x27, 0xC7, 0x57, 0x55, 0x79, + 0xBC, 0x46, 0x6F, 0xB2, 0xBC, 0x45, 0x00, 0xDD, + 0x45, 0x72, 0x5E, 0x43, 0xB0, 0x4D, 0x90, 0x79, + 0xAE, 0x19, 0x38, 0x36, 0x0A, 0x27, 0xF7, 0x57, + 0x45, 0xB2, 0xAF, 0x42, 0x00, 0xDA, 0xB0, 0x72, + 0xD6, 0x79, 0xAB, 0x4F, 0x06, 0x96, 0x0A, 0x26, + 0x30, 0x1C, 0x58, 0x43, 0x38, 0x18, 0x38, 0x30, + 0x0B, 0x25, 0x45, 0x57, 0xAC, 0x46, 0x6D, 0x46, + 0x18, 0x35, 0x2D, 0x78, 0x6D, 0xB2, 0xAC, 0x45, + 0x03, 0xDD, 0x6F, 0x46, 0x18, 0x25, 0xEF, 0x5D, + 0xC7, 0x72, 0x5E, 0x43, 0xA0, 0x4D, 0x10, 0x7A, + 0xAF, 0x19, 0x38, 0x37, 0x0C, 0x26, 0xBE, 0x57, + 0x45, 0xB2, 0xAE, 0x42, 0x00, 0xDA, 0x38, 0x73, + 0x0A, 0x20, 0x58, 0x43, 0x56, 0x88, 0x9A, 0x4F, + 0x06, 0x96, 0x38, 0x18, 0x3E, 0x26, 0x85, 0x5F, + 0x18, 0x26, 0xAC, 0x46, 0x6D, 0x46, 0x75, 0x5F, + 0x38, 0x30, 0x0A, 0x26, 0xAC, 0x45, 0x03, 0xDA, + 0x6F, 0x46, 0x18, 0x25, 0xEF, 0x5B, 0xC7, 0x80, + 0x5E, 0x43, 0x91, 0x48, 0x01, 0x39, 0x87, 0x19, + 0xBB, 0x8F, 0x10, 0x88, 0xC3, 0x18, 0xBB, 0x87, + 0x38, 0x37, 0x10, 0x79, 0x3B, 0x7A, 0xC3, 0x18, + 0x3B, 0x72, 0x0A, 0x3A, 0x00, 0x2C, 0x00, 0xD0, + 0x81, 0xE7, 0x89, 0x4F, 0x26, 0x1C, 0x3D, 0x1C, + 0x3C, 0x35, 0x03, 0x95, 0x39, 0x60, 0x25, 0x1C, + 0x88, 0x48, 0x00, 0x22, 0x33, 0x18, 0x9A, 0x56, + 0x01, 0x32, 0x19, 0xD1, 0x1D, 0x70, 0xB5, 0x42, + 0x12, 0xD0, 0x82, 0x4B, 0xB1, 0x00, 0x1A, 0x68, + 0xAB, 0x00, 0x50, 0x58, 0xD0, 0x50, 0x80, 0x4A, + 0x7D, 0x48, 0x12, 0x68, 0x51, 0x58, 0xD1, 0x50, + 0x0A, 0x22, 0x13, 0x1C, 0x6B, 0x43, 0xC0, 0x18, + 0x3C, 0x30, 0x03, 0x99, 0x03, 0xF0, 0x7E, 0xFB, + 0x3B, 0x68, 0x01, 0x35, 0x9D, 0x42, 0x05, 0xDA, + 0x03, 0x99, 0x01, 0x36, 0x0A, 0x31, 0x03, 0x91, + 0x0E, 0x2E, 0xD9, 0xD1, 0x76, 0x4B, 0x1B, 0x68, + 0xDA, 0x06, 0x3B, 0xD5, 0x75, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x04, 0x20, 0x74, 0x49, + 0x01, 0xF0, 0xD4, 0xFE, 0x00, 0x25, 0x73, 0x4E, + 0x2C, 0xE0, 0x69, 0x1C, 0x89, 0x01, 0x33, 0x68, + 0x77, 0x68, 0x71, 0x4A, 0x03, 0x91, 0xA4, 0x46, + 0x12, 0xE0, 0x03, 0x9C, 0x99, 0x1C, 0x61, 0x18, + 0x88, 0x5C, 0x40, 0xB2, 0x44, 0x1E, 0x0D, 0x2C, + 0x09, 0xD8, 0x66, 0x4C, 0x20, 0x18, 0x01, 0x38, + 0x00, 0x78, 0x40, 0xB2, 0x44, 0x1C, 0x02, 0xD0, + 0x01, 0x30, 0xC0, 0xB2, 0x88, 0x54, 0x01, 0x3B, + 0xBB, 0x42, 0xEA, 0xDA, 0x61, 0x4B, 0x64, 0x46, + 0x1B, 0x78, 0x00, 0x2B, 0x09, 0xD0, 0x63, 0x4B, + 0x63, 0x4F, 0xAA, 0x01, 0xD9, 0x7D, 0xD2, 0x19, + 0x01, 0x23, 0x04, 0x20, 0x00, 0x93, 0x01, 0xF0, + 0x4D, 0xFE, 0x01, 0x35, 0x5D, 0x4F, 0x3B, 0x7E, + 0x9D, 0x42, 0xCE, 0xDB, 0x5D, 0x4B, 0x1B, 0x68, + 0x00, 0x2B, 0x10, 0xDD, 0x5C, 0x4B, 0x5D, 0x4A, + 0x99, 0x89, 0x11, 0x80, 0x1B, 0x89, 0x53, 0x80, + 0x52, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x17, 0x20, + 0x0B, 0x1C, 0x01, 0xF0, 0x33, 0xFE, 0x48, 0x4B, + 0x55, 0x48, 0x1D, 0x1C, 0x40, 0xCD, 0x4F, 0x49, + 0x07, 0x96, 0x47, 0x89, 0x08, 0x97, 0x0A, 0x8D, + 0x47, 0x68, 0x16, 0xB2, 0x05, 0x96, 0x86, 0x69, + 0x09, 0x97, 0xB7, 0xB2, 0xD2, 0x1B, 0x04, 0x97, + 0x92, 0xB2, 0x31, 0x31, 0x09, 0x78, 0x0A, 0x92, + 0x3E, 0x4A, 0x00, 0x20, 0x06, 0x91, 0x17, 0x68, + 0x03, 0x90, 0x2F, 0xE0, 0x03, 0x9A, 0x0A, 0x23, + 0x53, 0x43, 0x01, 0xCF, 0x05, 0x99, 0x48, 0x43, + 0x37, 0x49, 0xCB, 0x18, 0x3C, 0x22, 0x99, 0x5E, + 0x09, 0x9B, 0x59, 0x43, 0x03, 0xF0, 0x94, 0xFA, + 0x08, 0x99, 0x42, 0x4A, 0x08, 0x18, 0x13, 0x78, + 0x80, 0xB2, 0x28, 0x80, 0x00, 0x2B, 0x15, 0xD1, + 0x00, 0xB2, 0xB0, 0x42, 0x07, 0xDA, 0x06, 0x9B, + 0x80, 0x1B, 0x58, 0x43, 0x04, 0x99, 0x80, 0x11, + 0x08, 0x18, 0x28, 0x80, 0x0A, 0xE0, 0x05, 0x9A, + 0x10, 0x1A, 0xB0, 0x42, 0x06, 0xDA, 0x06, 0x9B, + 0x80, 0x1B, 0x58, 0x43, 0x0A, 0x99, 0x80, 0x11, + 0x08, 0x1A, 0x28, 0x80, 0x03, 0x9A, 0x02, 0x35, + 0x01, 0x32, 0x03, 0x92, 0x03, 0x9B, 0x07, 0x98, + 0x83, 0x42, 0xCB, 0xDB, 0x20, 0x4D, 0x2E, 0x49, + 0x2D, 0x68, 0x28, 0x4A, 0x05, 0x95, 0x0E, 0x89, + 0x0D, 0x68, 0x07, 0x96, 0xD3, 0x8C, 0x08, 0x95, + 0x4D, 0x69, 0x1F, 0xB2, 0xAE, 0xB2, 0x11, 0x1C, + 0x04, 0x97, 0x06, 0x96, 0x2F, 0x31, 0x09, 0x78, + 0x9B, 0x1B, 0x9B, 0xB2, 0x09, 0x91, 0x30, 0x32, + 0x12, 0x78, 0x15, 0x4E, 0x0B, 0x93, 0x16, 0x4B, + 0x00, 0x20, 0x0A, 0x92, 0x1F, 0x68, 0x20, 0x36, + 0x03, 0x90, 0x50, 0xE0, 0x03, 0x9A, 0x0A, 0x23, + 0x53, 0x43, 0x01, 0xCF, 0x04, 0x99, 0x48, 0x43, + 0x0D, 0x49, 0x5B, 0x18, 0x3C, 0x22, 0x99, 0x5E, + 0x08, 0x9B, 0x59, 0x43, 0x03, 0xF0, 0x40, 0xFA, + 0x07, 0x99, 0x18, 0x4A, 0x08, 0x18, 0x13, 0x78, + 0x80, 0xB2, 0x30, 0x80, 0x00, 0x2B, 0x36, 0xD1, + 0x00, 0xB2, 0xA8, 0x42, 0x28, 0xDA, 0x09, 0x9B, + 0x40, 0x1B, 0x58, 0x43, 0x06, 0x99, 0x80, 0x11, + 0x08, 0x18, 0x30, 0x80, 0x2B, 0xE0, 0xC0, 0x46, + 0x24, 0x02, 0x00, 0x20, 0x48, 0x00, 0x00, 0x20, + 0x44, 0x00, 0x00, 0x20, 0xEC, 0x02, 0x00, 0x20, + 0x58, 0x00, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x64, 0x59, 0x00, 0x00, 0xE4, 0x10, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x40, 0xAE, 0x09, 0x00, 0x20, + 0x42, 0x20, 0x00, 0x40, 0x9C, 0x0D, 0x00, 0x20, + 0x70, 0x01, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0x24, 0x09, 0x00, 0x20, 0xDF, 0x01, 0x00, 0x20, + 0x04, 0x9A, 0x10, 0x1A, 0xA8, 0x42, 0x06, 0xDA, + 0x0A, 0x9B, 0x40, 0x1B, 0x58, 0x43, 0x0B, 0x99, + 0x80, 0x11, 0x08, 0x1A, 0x30, 0x80, 0x03, 0x9A, + 0x02, 0x36, 0x01, 0x32, 0x03, 0x92, 0x03, 0x9B, + 0x05, 0x98, 0x83, 0x42, 0xAA, 0xDB, 0x1B, 0x4B, + 0x1A, 0x1C, 0x2A, 0x32, 0x17, 0x78, 0x1A, 0x1C, + 0x2B, 0x32, 0x12, 0x78, 0x28, 0x21, 0x5E, 0x5E, + 0x03, 0x92, 0x26, 0x25, 0x5A, 0x5F, 0x2C, 0x33, + 0x04, 0x92, 0x1B, 0x78, 0x14, 0x49, 0x06, 0x93, + 0x00, 0x25, 0xB4, 0x46, 0x1D, 0xE0, 0x00, 0x26, + 0x8B, 0x5F, 0x00, 0x2B, 0x16, 0xD0, 0x11, 0x4A, + 0xA8, 0x18, 0x04, 0x23, 0xC2, 0x5E, 0x20, 0x26, + 0x83, 0x5F, 0x00, 0x2F, 0x01, 0xD0, 0x66, 0x46, + 0xB2, 0x1A, 0x03, 0x9E, 0x00, 0x2E, 0x01, 0xD0, + 0x04, 0x9E, 0xF3, 0x1A, 0x06, 0x9E, 0x00, 0x2E, + 0x02, 0xD0, 0x16, 0x1C, 0x1A, 0x1C, 0x33, 0x1C, + 0x82, 0x80, 0x03, 0x84, 0x01, 0x34, 0x0A, 0x31, + 0x02, 0x35, 0x05, 0x9E, 0xB4, 0x42, 0xDE, 0xDB, + 0x0D, 0xB0, 0xF0, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0x60, 0x02, 0x00, 0x20, 0x24, 0x02, 0x00, 0x20, + 0x30, 0xB5, 0x0A, 0x4B, 0x00, 0x21, 0x04, 0x33, + 0xDB, 0x7F, 0x09, 0x4A, 0x0A, 0x24, 0x08, 0x1C, + 0x07, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x25, 0x1C, + 0x5D, 0x43, 0x55, 0x19, 0xA9, 0x87, 0x05, 0x4D, + 0xE8, 0x54, 0x00, 0x2B, 0xF5, 0xD1, 0x13, 0x60, + 0x30, 0xBD, 0xC0, 0x46, 0xAE, 0x09, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x64, 0x01, 0x00, 0x20, + 0x00, 0xB5, 0x08, 0x4A, 0x01, 0x23, 0x5B, 0x42, + 0x53, 0x60, 0x07, 0x4B, 0x00, 0x21, 0x11, 0x60, + 0x1B, 0x78, 0x04, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x18, 0x1D, 0x40, 0x00, 0x81, 0x52, 0x00, 0x2B, + 0xF8, 0xD1, 0x00, 0xBD, 0xE0, 0x00, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0x49, 0x43, 0x40, 0x43, + 0x40, 0x18, 0x70, 0x47, 0x70, 0x47, 0xF0, 0xB5, + 0x83, 0x4B, 0x00, 0x22, 0x04, 0x33, 0xD9, 0x7F, + 0x87, 0xB0, 0x0B, 0x1C, 0x81, 0x48, 0x0A, 0x26, + 0x15, 0x1C, 0x07, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x34, 0x1C, 0x5C, 0x43, 0x04, 0x19, 0xA2, 0x87, + 0x38, 0x34, 0x25, 0x72, 0x04, 0x1C, 0x00, 0x2B, + 0xF4, 0xD1, 0x7B, 0x4B, 0x1A, 0x68, 0x0B, 0x1C, + 0x91, 0x42, 0x00, 0xDD, 0x13, 0x1C, 0x23, 0x60, + 0x78, 0x48, 0x79, 0x4A, 0x79, 0x4B, 0x0E, 0x24, + 0xFF, 0x21, 0x01, 0x3C, 0xE4, 0xB2, 0xA5, 0x00, + 0x01, 0x55, 0xAB, 0x50, 0x00, 0x2C, 0xF8, 0xD1, + 0x6F, 0x4B, 0x25, 0x1C, 0x04, 0x33, 0xDB, 0x7F, + 0x26, 0x1C, 0x03, 0x93, 0x72, 0x4B, 0x1B, 0x69, + 0x04, 0x93, 0x6D, 0x4B, 0x1B, 0x68, 0x05, 0x93, + 0x47, 0xE0, 0x70, 0x4C, 0x63, 0x5D, 0x00, 0x2B, + 0x42, 0xD0, 0x6F, 0x4C, 0xAB, 0x00, 0xE3, 0x58, + 0x04, 0x9C, 0x1B, 0x01, 0x1B, 0x19, 0x01, 0x93, + 0x6C, 0x4B, 0x6A, 0x00, 0x01, 0x27, 0xD3, 0x18, + 0x00, 0x24, 0x7F, 0x42, 0x02, 0x93, 0x20, 0xE0, + 0x0A, 0x23, 0x63, 0x43, 0x60, 0x48, 0xC3, 0x18, + 0x3C, 0x21, 0x5B, 0x5E, 0x00, 0x2B, 0x16, 0xD0, + 0x02, 0x9A, 0x63, 0x00, 0xC3, 0x18, 0x98, 0x88, + 0x93, 0x88, 0x5B, 0x4A, 0xC0, 0x1A, 0x23, 0x1C, + 0x10, 0x33, 0x5B, 0x00, 0x99, 0x5A, 0x02, 0x9A, + 0x00, 0xB2, 0x13, 0x8B, 0xC9, 0x1A, 0x09, 0xB2, + 0xFF, 0xF7, 0x98, 0xFF, 0x01, 0x9B, 0x98, 0x42, + 0x01, 0xDA, 0x27, 0x1C, 0x01, 0x90, 0x01, 0x34, + 0xE4, 0xB2, 0x05, 0x98, 0x84, 0x42, 0xDB, 0xDB, + 0x79, 0x1C, 0x0D, 0xD0, 0x4F, 0x4B, 0x50, 0x49, + 0xD8, 0x57, 0xBA, 0x00, 0x01, 0x30, 0x04, 0xD0, + 0x88, 0x58, 0x01, 0x9C, 0xA0, 0x42, 0x03, 0xDD, + 0x00, 0xE0, 0x01, 0x9C, 0x8C, 0x50, 0xDD, 0x55, + 0x01, 0x35, 0x03, 0x9C, 0xEB, 0xB2, 0xA3, 0x42, + 0xB3, 0xD3, 0x34, 0x1C, 0x00, 0x25, 0x44, 0x4E, + 0x28, 0xE0, 0x44, 0x48, 0x47, 0x5D, 0x7B, 0xB2, + 0x01, 0x33, 0x21, 0xD0, 0x69, 0x00, 0xFF, 0xB2, + 0x3E, 0x4B, 0x71, 0x18, 0x89, 0x88, 0x7A, 0x00, + 0x9A, 0x18, 0x91, 0x80, 0x29, 0x1C, 0x10, 0x31, + 0x3A, 0x1C, 0x49, 0x00, 0x89, 0x5B, 0x10, 0x32, + 0x52, 0x00, 0xD1, 0x52, 0x0A, 0x22, 0x10, 0x1C, + 0x78, 0x43, 0x11, 0x1C, 0x69, 0x43, 0x1B, 0x18, + 0x18, 0x1C, 0x71, 0x18, 0x3C, 0x30, 0x3C, 0x31, + 0x03, 0xF0, 0x40, 0xF9, 0x34, 0x4B, 0xAA, 0x00, + 0xD2, 0x58, 0x37, 0x4B, 0xBF, 0x00, 0xFA, 0x50, + 0x01, 0x35, 0xED, 0xB2, 0x33, 0x68, 0x9D, 0x42, + 0xD3, 0xDB, 0x3D, 0xE0, 0x2D, 0x4E, 0x33, 0x57, + 0x01, 0x33, 0x36, 0xD1, 0x0A, 0x23, 0x63, 0x43, + 0xEB, 0x18, 0x3C, 0x20, 0x1B, 0x5E, 0x00, 0x2B, + 0x2F, 0xD0, 0x25, 0x4B, 0x2E, 0x4A, 0x04, 0x33, + 0xDF, 0x7F, 0x00, 0x23, 0x26, 0xE0, 0x29, 0x4E, + 0xF6, 0x5C, 0x00, 0x2E, 0x20, 0xD1, 0x00, 0x26, + 0x90, 0x5F, 0x00, 0x28, 0x1C, 0xD1, 0x21, 0x4A, + 0x67, 0x00, 0x11, 0x55, 0x1E, 0x49, 0x1D, 0x48, + 0xCF, 0x19, 0xBF, 0x88, 0x5A, 0x00, 0x82, 0x18, + 0x97, 0x80, 0x27, 0x1C, 0x10, 0x37, 0x1A, 0x1C, + 0x7F, 0x00, 0x7F, 0x5A, 0x10, 0x32, 0x52, 0x00, + 0x17, 0x52, 0x0A, 0x22, 0x53, 0x43, 0xC0, 0x18, + 0x13, 0x1C, 0x63, 0x43, 0xC9, 0x18, 0x3C, 0x31, + 0x3C, 0x30, 0x03, 0xF0, 0xFF, 0xF8, 0x04, 0xE0, + 0x01, 0x33, 0x0A, 0x32, 0xD9, 0xB2, 0xB9, 0x42, + 0xD5, 0xD3, 0x01, 0x34, 0xE4, 0xB2, 0x00, 0xE0, + 0x0D, 0x4D, 0x2B, 0x68, 0x9C, 0x42, 0xBD, 0xDB, + 0x09, 0x4B, 0x0C, 0x49, 0x04, 0x33, 0xDD, 0x7F, + 0x12, 0x4B, 0xFF, 0x20, 0x1C, 0x1C, 0x0E, 0x34, + 0x1A, 0x78, 0xAA, 0x42, 0x02, 0xD2, 0x8A, 0x5C, + 0x1A, 0x70, 0x00, 0xE0, 0x18, 0x70, 0x01, 0x33, + 0xA3, 0x42, 0xF5, 0xD1, 0x07, 0xB0, 0xF0, 0xBD, + 0xAE, 0x09, 0x00, 0x20, 0x9C, 0x0D, 0x00, 0x20, + 0x24, 0x02, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x20, + 0xF8, 0x10, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x7F, + 0x24, 0x09, 0x00, 0x20, 0xEC, 0x01, 0x00, 0x20, + 0xF8, 0x00, 0x00, 0x20, 0x80, 0x09, 0x00, 0x20, + 0xD8, 0x0D, 0x00, 0x20, 0xEC, 0x02, 0x00, 0x20, + 0xF7, 0xB5, 0x42, 0x4B, 0x00, 0x21, 0x19, 0x60, + 0x41, 0x4B, 0x0A, 0x24, 0x19, 0x60, 0x41, 0x4B, + 0x08, 0x1C, 0x04, 0x33, 0xDB, 0x7F, 0x40, 0x4D, + 0x1A, 0x1C, 0xA4, 0x46, 0x11, 0xE0, 0x01, 0x3A, + 0xD2, 0xB2, 0x26, 0x1C, 0x56, 0x43, 0xAE, 0x19, + 0x38, 0x36, 0x36, 0x7A, 0xB0, 0x42, 0x00, 0xDA, + 0x30, 0x1C, 0x66, 0x46, 0x56, 0x43, 0xAE, 0x19, + 0x3C, 0x27, 0xF6, 0x5F, 0xB1, 0x42, 0x00, 0xDA, + 0x31, 0x1C, 0x00, 0x2A, 0xEB, 0xD1, 0x32, 0x4A, + 0x50, 0x60, 0x11, 0x60, 0x2F, 0x4A, 0x0A, 0x20, + 0x11, 0x68, 0x31, 0x4A, 0x07, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0x04, 0x1C, 0x5C, 0x43, 0x14, 0x19, + 0x38, 0x34, 0x24, 0x7A, 0x09, 0x19, 0x14, 0x1C, + 0x00, 0x2B, 0xF4, 0xD1, 0x27, 0x4B, 0x19, 0x60, + 0x13, 0x68, 0x00, 0x2B, 0x0F, 0xDD, 0x26, 0x4B, + 0x28, 0x4A, 0x5B, 0x68, 0x11, 0x80, 0x53, 0x80, + 0x27, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x1D, 0x20, + 0x0B, 0x1C, 0x01, 0xF0, 0x8F, 0xFB, 0x23, 0x68, + 0x00, 0x2B, 0x19, 0xDD, 0x21, 0x4A, 0x08, 0x23, + 0xD1, 0x5E, 0x21, 0x4B, 0x0C, 0x24, 0x12, 0x5F, + 0x18, 0x1C, 0x3D, 0x33, 0x1B, 0x78, 0x3C, 0x30, + 0x53, 0x43, 0x00, 0x78, 0x9B, 0x11, 0xC3, 0x18, + 0x99, 0x42, 0x09, 0xDC, 0x18, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, 0x19, 0x49, + 0x01, 0xF0, 0xCC, 0xFB, 0xFF, 0xF7, 0x40, 0xFE, + 0x11, 0x4B, 0x17, 0x4A, 0x1B, 0x68, 0x12, 0x78, + 0x93, 0x42, 0x12, 0xDB, 0x0B, 0x4B, 0x12, 0x4A, + 0x18, 0x68, 0xD1, 0x8E, 0x0A, 0x4B, 0x88, 0x42, + 0x03, 0xDB, 0x11, 0x8F, 0x58, 0x68, 0x88, 0x42, + 0x03, 0xDA, 0x52, 0x8F, 0x5B, 0x68, 0x93, 0x42, + 0x07, 0xDB, 0x0E, 0x4B, 0x01, 0x22, 0x1A, 0x70, + 0x03, 0xE0, 0x00, 0x2B, 0x01, 0xD1, 0x0B, 0x4A, + 0x13, 0x70, 0xF7, 0xBD, 0x4C, 0x11, 0x00, 0x20, + 0x0C, 0x02, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x70, 0x01, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x6C, 0x59, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x20, 0xF5, 0x00, 0x00, 0x20, + 0x38, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0x00, 0x2A, + 0x07, 0xD0, 0x54, 0x43, 0x58, 0x43, 0xD1, 0x18, + 0x20, 0x18, 0x4D, 0x10, 0x40, 0x19, 0x02, 0xF0, + 0xBB, 0xFF, 0x38, 0xBD, 0x10, 0xB5, 0x43, 0x1A, + 0xDC, 0x17, 0x1B, 0x19, 0x63, 0x40, 0xFF, 0xF7, + 0xEB, 0xFF, 0x10, 0xBD, 0xF0, 0xB5, 0xA9, 0x4B, + 0x00, 0x25, 0x04, 0x33, 0x87, 0xB0, 0xDC, 0x7F, + 0x2E, 0x1C, 0x46, 0xE0, 0x01, 0x3C, 0xE4, 0xB2, + 0x0A, 0x22, 0x62, 0x43, 0x99, 0x18, 0x38, 0x31, + 0x88, 0x88, 0x00, 0x28, 0x3D, 0xD0, 0xA2, 0x4F, + 0x3F, 0x5D, 0x00, 0x2F, 0x2A, 0xD1, 0xA1, 0x49, + 0x09, 0x78, 0x00, 0x29, 0x07, 0xD0, 0x9A, 0x18, + 0x01, 0x21, 0x3C, 0x32, 0x1D, 0x20, 0x02, 0x23, + 0x00, 0x91, 0x01, 0xF0, 0x07, 0xFB, 0x0A, 0x20, + 0x60, 0x43, 0x9B, 0x4B, 0x9B, 0x49, 0x18, 0x18, + 0x3C, 0x27, 0xC2, 0x5F, 0x38, 0x30, 0x94, 0x46, + 0x26, 0x27, 0xCA, 0x5F, 0x1F, 0x1C, 0x94, 0x45, + 0x08, 0xDB, 0x4E, 0x31, 0x0A, 0x78, 0x96, 0x49, + 0x00, 0x7A, 0x49, 0x68, 0x4A, 0x43, 0x92, 0x11, + 0x90, 0x42, 0x16, 0xDA, 0x0A, 0x22, 0x62, 0x43, + 0xBA, 0x18, 0xD5, 0x87, 0x38, 0x32, 0x16, 0x72, + 0x95, 0x80, 0x08, 0xE0, 0x8D, 0x4A, 0x00, 0xB2, + 0x28, 0x27, 0xD2, 0x5F, 0x82, 0x42, 0x08, 0xDD, + 0xCD, 0x80, 0x0E, 0x72, 0x8D, 0x80, 0x8B, 0x4A, + 0xA1, 0x00, 0x8D, 0x50, 0x1A, 0x68, 0x01, 0x3A, + 0x1A, 0x60, 0x85, 0x4B, 0x00, 0x2C, 0xB5, 0xD1, + 0x1C, 0x60, 0x87, 0x4B, 0x9C, 0x73, 0x7F, 0x4B, + 0x04, 0x33, 0xDC, 0x7F, 0xC7, 0xE0, 0x01, 0x3C, + 0xE4, 0xB2, 0x0A, 0x23, 0x63, 0x43, 0xED, 0x18, + 0xAA, 0x8F, 0x38, 0x35, 0x00, 0x2A, 0x00, 0xD1, + 0x93, 0xE0, 0x7C, 0x4B, 0x12, 0xB2, 0x1B, 0x8D, + 0x19, 0xB2, 0x52, 0x1A, 0x52, 0x10, 0x5B, 0x00, + 0xD3, 0x18, 0xAB, 0x80, 0x7A, 0x4B, 0x9A, 0x7B, + 0x00, 0x2A, 0x0D, 0xD1, 0x79, 0x4A, 0x12, 0x57, + 0x00, 0x2A, 0x09, 0xD1, 0x78, 0x4A, 0x01, 0x21, + 0x11, 0x70, 0x80, 0x22, 0xD2, 0x05, 0x50, 0x69, + 0x00, 0x0E, 0x00, 0x06, 0x01, 0x43, 0x51, 0x61, + 0x01, 0x22, 0x9A, 0x73, 0x73, 0x4E, 0x71, 0x4B, + 0x1A, 0x57, 0x33, 0x78, 0x9A, 0x42, 0x70, 0xDB, + 0x6F, 0x4B, 0x1A, 0x78, 0x00, 0x2A, 0x01, 0xD0, + 0x00, 0x22, 0x1A, 0x70, 0x66, 0x4D, 0x62, 0x00, + 0x2B, 0x68, 0x01, 0x33, 0x2B, 0x60, 0xAB, 0x18, + 0x04, 0x27, 0xD9, 0x5F, 0x6A, 0x4B, 0x9A, 0x18, + 0x04, 0x26, 0x90, 0x5F, 0x22, 0x1C, 0x10, 0x32, + 0x52, 0x00, 0x57, 0x5F, 0x03, 0x97, 0xD7, 0x5E, + 0x0A, 0x1A, 0xD3, 0x17, 0x03, 0x9E, 0xD2, 0x18, + 0x5A, 0x40, 0xF3, 0x1B, 0xDE, 0x17, 0x9B, 0x19, + 0x73, 0x40, 0xD3, 0x18, 0x04, 0x93, 0x59, 0x4B, + 0x2E, 0x22, 0x9E, 0x5E, 0x04, 0x9B, 0x32, 0x1C, + 0x05, 0x96, 0xFF, 0xF7, 0x39, 0xFF, 0x05, 0x9A, + 0x04, 0x9B, 0x06, 0x1C, 0x03, 0x99, 0x38, 0x1C, + 0xFF, 0xF7, 0x32, 0xFF, 0x4D, 0x4A, 0x13, 0x1C, + 0x2D, 0x33, 0x1B, 0x78, 0x2A, 0x1C, 0x5B, 0xB2, + 0x9E, 0x42, 0x07, 0xDD, 0x55, 0x49, 0xC9, 0x69, + 0xCF, 0x1A, 0xBE, 0x42, 0x03, 0xDB, 0x4E, 0x1E, + 0xF6, 0x1A, 0x00, 0xE0, 0x1E, 0x1C, 0x45, 0x4B, + 0x2E, 0x33, 0x1B, 0x78, 0x5B, 0xB2, 0x98, 0x42, + 0x07, 0xDD, 0x4E, 0x49, 0x09, 0x6A, 0xCF, 0x1A, + 0xB8, 0x42, 0x03, 0xDB, 0x48, 0x1E, 0xC0, 0x1A, + 0x00, 0xE0, 0x18, 0x1C, 0x63, 0x00, 0xD3, 0x18, + 0x9E, 0x80, 0x23, 0x1C, 0x10, 0x33, 0x5B, 0x00, + 0xE8, 0x52, 0x0A, 0x25, 0x65, 0x43, 0x3D, 0x4B, + 0x43, 0x4E, 0x30, 0x20, 0x1F, 0x5E, 0x76, 0x19, + 0x55, 0x19, 0x3C, 0x21, 0x70, 0x5E, 0x3C, 0x22, + 0xA9, 0x5E, 0x3A, 0x1C, 0xFF, 0xF7, 0x0A, 0xFF, + 0x38, 0x36, 0xA8, 0x87, 0x38, 0x35, 0x30, 0x7A, + 0x29, 0x7A, 0x3A, 0x1C, 0xFF, 0xF7, 0x02, 0xFF, + 0x28, 0x72, 0x31, 0x4B, 0x62, 0x00, 0x99, 0x18, + 0x37, 0x48, 0x89, 0x88, 0x82, 0x18, 0x91, 0x80, + 0x22, 0x1C, 0x10, 0x32, 0x52, 0x00, 0xD1, 0x5A, + 0x11, 0x52, 0x0A, 0x22, 0x11, 0x1C, 0x61, 0x43, + 0x40, 0x18, 0x59, 0x18, 0x0D, 0x1C, 0x3C, 0x30, + 0x3C, 0x31, 0x02, 0xF0, 0x07, 0xFF, 0x3C, 0x23, + 0xEA, 0x5E, 0x38, 0x35, 0x29, 0x4B, 0x00, 0x2A, + 0x0C, 0xD0, 0x24, 0x49, 0x1A, 0x5D, 0x32, 0x31, + 0x09, 0x78, 0x50, 0xB2, 0x88, 0x42, 0x06, 0xDA, + 0x01, 0x32, 0x1A, 0x55, 0x01, 0x23, 0x5B, 0x42, + 0xAB, 0x80, 0x00, 0xE0, 0x1A, 0x55, 0x1C, 0x4D, + 0x00, 0x2C, 0x00, 0xD0, 0x33, 0xE7, 0x22, 0x4E, + 0x29, 0x68, 0x32, 0x68, 0x22, 0x4B, 0x91, 0x42, + 0x25, 0xDA, 0x19, 0x68, 0x17, 0x48, 0x01, 0x31, + 0x19, 0x60, 0x3E, 0x30, 0x00, 0x78, 0x40, 0xB2, + 0x81, 0x42, 0x1C, 0xDA, 0x0F, 0x4B, 0x2A, 0x60, + 0x04, 0x33, 0xDC, 0x7F, 0x14, 0xE0, 0x01, 0x3C, + 0xE4, 0xB2, 0x63, 0x00, 0xF2, 0x18, 0x92, 0x88, + 0xEB, 0x18, 0x9A, 0x80, 0x23, 0x1C, 0x10, 0x33, + 0x5B, 0x00, 0x9A, 0x5B, 0x5A, 0x53, 0x0A, 0x22, + 0x11, 0x1C, 0x61, 0x43, 0x68, 0x18, 0x71, 0x18, + 0x3C, 0x30, 0x3C, 0x31, 0x02, 0xF0, 0xC6, 0xFE, + 0x00, 0x2C, 0xE8, 0xD1, 0x00, 0xE0, 0x1C, 0x60, + 0x07, 0xB0, 0xF0, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0xEC, 0x01, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x0C, 0x02, 0x00, 0x20, 0xF8, 0x00, 0x00, 0x20, + 0x70, 0x01, 0x00, 0x20, 0x3E, 0x11, 0x00, 0x20, + 0xE2, 0x01, 0x00, 0x20, 0x7A, 0x0D, 0x00, 0x20, + 0x20, 0x03, 0x00, 0x20, 0x24, 0x09, 0x00, 0x20, + 0x60, 0x01, 0x00, 0x20, 0xF0, 0xB5, 0x31, 0x4B, + 0x31, 0x4D, 0x1E, 0x78, 0x31, 0x4B, 0x00, 0x27, + 0x1A, 0x1C, 0x2F, 0x60, 0x2B, 0x32, 0x12, 0x78, + 0x89, 0xB0, 0x04, 0x92, 0x50, 0x00, 0x1A, 0x1C, + 0x06, 0x90, 0x32, 0x32, 0x12, 0x78, 0x07, 0x92, + 0x30, 0x22, 0x99, 0x5E, 0x6B, 0x68, 0x05, 0x91, + 0x02, 0x93, 0x03, 0x97, 0x42, 0xE0, 0x01, 0x3E, + 0xF6, 0xB2, 0x33, 0x1D, 0x5B, 0x00, 0x01, 0x93, + 0xEB, 0x5A, 0x00, 0x2B, 0x34, 0xD0, 0x04, 0x98, + 0x1B, 0xB2, 0x1B, 0x1A, 0x06, 0x99, 0x5B, 0x10, + 0xCB, 0x18, 0x01, 0x9A, 0x20, 0x48, 0x9B, 0xB2, + 0xAB, 0x52, 0xF2, 0x00, 0x81, 0x58, 0x84, 0x18, + 0x07, 0x98, 0x1B, 0xB2, 0x81, 0x42, 0x07, 0xDA, + 0x1B, 0x48, 0x01, 0x31, 0x81, 0x50, 0x01, 0x99, + 0x00, 0x22, 0x63, 0x60, 0x6A, 0x52, 0x21, 0xE0, + 0x60, 0x68, 0x01, 0x37, 0x1A, 0x1A, 0xD1, 0x17, + 0x84, 0x46, 0x50, 0x18, 0x05, 0x9A, 0x48, 0x40, + 0x11, 0x18, 0x00, 0x90, 0x60, 0x46, 0x42, 0x43, + 0x94, 0x46, 0x00, 0x9A, 0x53, 0x43, 0x62, 0x46, + 0xD0, 0x18, 0x4B, 0x10, 0xC0, 0x18, 0x02, 0xF0, + 0xF3, 0xFD, 0x01, 0x9B, 0x03, 0x99, 0x60, 0x60, + 0xE8, 0x52, 0x81, 0x42, 0x04, 0xDB, 0x05, 0xE0, + 0x09, 0x48, 0xF2, 0x00, 0x83, 0x50, 0x01, 0xE0, + 0x02, 0x96, 0x03, 0x90, 0x00, 0x2E, 0xBA, 0xD1, + 0x02, 0x99, 0x09, 0xB0, 0x2F, 0x60, 0x69, 0x60, + 0xF0, 0xBD, 0xC0, 0x46, 0x7C, 0x09, 0x00, 0x20, + 0xE0, 0x00, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x48, 0x09, 0x00, 0x20, 0xF7, 0xB5, 0x27, 0x4B, + 0x27, 0x49, 0x04, 0x33, 0xDB, 0x7F, 0x27, 0x4A, + 0x27, 0x48, 0x42, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x1C, 0x1C, 0x14, 0x34, 0x64, 0x00, 0x04, 0x19, + 0x04, 0x25, 0x64, 0x5F, 0x00, 0x2C, 0x27, 0xD0, + 0x0A, 0x24, 0x5C, 0x43, 0x0C, 0x19, 0x3C, 0x26, + 0xA4, 0x5F, 0x00, 0x2C, 0x20, 0xD0, 0x5C, 0x00, + 0x0E, 0x19, 0xB6, 0x88, 0x05, 0x19, 0x37, 0xB2, + 0xBC, 0x46, 0x04, 0x27, 0xEF, 0x5F, 0x65, 0x46, + 0xED, 0x1B, 0x6F, 0x10, 0xBE, 0x19, 0x14, 0x19, + 0xA6, 0x80, 0x1C, 0x1C, 0x10, 0x34, 0x64, 0x00, + 0x0E, 0x5B, 0x1C, 0x1C, 0x0C, 0x34, 0x37, 0xB2, + 0x64, 0x00, 0xBC, 0x46, 0x25, 0x5E, 0x67, 0x46, + 0x7F, 0x1B, 0x7F, 0x10, 0xBE, 0x19, 0xA6, 0x52, + 0x10, 0x4C, 0x01, 0x26, 0xE6, 0x54, 0x10, 0xE0, + 0x0B, 0x4D, 0x5C, 0x00, 0x2E, 0x19, 0xB6, 0x88, + 0x14, 0x19, 0xA6, 0x80, 0x1E, 0x1C, 0x10, 0x36, + 0x1C, 0x1C, 0x76, 0x00, 0x76, 0x5B, 0x0C, 0x34, + 0x64, 0x00, 0x16, 0x53, 0x07, 0x4C, 0x00, 0x26, + 0xE6, 0x54, 0x00, 0x2B, 0xBA, 0xD1, 0x0B, 0x68, + 0x13, 0x60, 0xF7, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x80, 0x09, 0x00, 0x20, + 0x20, 0x01, 0x00, 0x20, 0xEC, 0x01, 0x00, 0x20, + 0xF7, 0xB5, 0x35, 0x4A, 0x35, 0x4B, 0x11, 0x1C, + 0x33, 0x31, 0x34, 0x32, 0x0E, 0x78, 0x12, 0x78, + 0x04, 0x33, 0xDB, 0x7F, 0x32, 0x49, 0x01, 0x92, + 0xB4, 0x46, 0x32, 0x4A, 0x4B, 0xE0, 0x32, 0x48, + 0x01, 0x3B, 0xDB, 0xB2, 0xC4, 0x5C, 0x01, 0x98, + 0x00, 0x2C, 0x00, 0xD1, 0x60, 0x46, 0x5E, 0x00, + 0x8D, 0x19, 0x96, 0x19, 0x04, 0x27, 0xF6, 0x5F, + 0xAD, 0x88, 0x00, 0x96, 0x00, 0x9F, 0x2E, 0xB2, + 0xBE, 0x1B, 0xF7, 0x17, 0xF6, 0x19, 0x7E, 0x40, + 0x86, 0x42, 0x10, 0xDA, 0x1E, 0x1C, 0x0C, 0x36, + 0x76, 0x00, 0xB6, 0x5E, 0x1F, 0x1C, 0x10, 0x37, + 0x00, 0x96, 0x7F, 0x00, 0xCF, 0x5F, 0x00, 0x9E, + 0xF7, 0x1B, 0xFE, 0x17, 0xBF, 0x19, 0x77, 0x40, + 0x00, 0x97, 0x87, 0x42, 0x18, 0xDB, 0x58, 0x00, + 0x10, 0x18, 0x1E, 0x1C, 0x85, 0x80, 0x10, 0x36, + 0x19, 0x4D, 0x18, 0x1C, 0x76, 0x00, 0x0C, 0x30, + 0x75, 0x5B, 0x40, 0x00, 0x15, 0x52, 0x18, 0x1C, + 0x14, 0x30, 0x40, 0x00, 0x10, 0x18, 0x04, 0x27, + 0xC0, 0x5F, 0x00, 0x28, 0x04, 0xDD, 0x00, 0x2C, + 0x02, 0xD1, 0x13, 0x48, 0x01, 0x24, 0xC4, 0x54, + 0x0A, 0x24, 0x5C, 0x43, 0x0E, 0x4D, 0x18, 0x1C, + 0x2C, 0x19, 0x14, 0x30, 0x0D, 0x4D, 0x40, 0x00, + 0xA4, 0x8F, 0x28, 0x18, 0x84, 0x80, 0x00, 0x2B, + 0xB1, 0xD1, 0x0A, 0x68, 0x09, 0x4B, 0x0B, 0x49, + 0x1A, 0x60, 0x0B, 0x4B, 0x1A, 0x78, 0x0B, 0x4B, + 0x1A, 0x70, 0x0B, 0x4A, 0x0B, 0x1C, 0x31, 0xCA, + 0x31, 0xC3, 0xC0, 0xCA, 0xC0, 0xC3, 0xF7, 0xBD, + 0x48, 0x0D, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x20, 0x01, 0x00, 0x20, + 0x64, 0x01, 0x00, 0x20, 0xCC, 0x00, 0x00, 0x20, + 0xF5, 0x00, 0x00, 0x20, 0xF4, 0x00, 0x00, 0x20, + 0xE0, 0x00, 0x00, 0x20, 0xF7, 0xB5, 0x19, 0x48, + 0x01, 0x23, 0x5B, 0x42, 0x43, 0x60, 0x18, 0x4B, + 0x1A, 0x78, 0x18, 0x4B, 0x19, 0x1C, 0x2B, 0x33, + 0x1E, 0x78, 0x2A, 0x31, 0x0F, 0x78, 0x00, 0x23, + 0xB4, 0x46, 0x1E, 0xE0, 0x01, 0x3A, 0xD2, 0xB2, + 0x13, 0x4C, 0x51, 0x00, 0x61, 0x5A, 0x0E, 0xB2, + 0xF6, 0x43, 0xF6, 0x17, 0x0E, 0x40, 0x11, 0x1D, + 0x49, 0x00, 0xB5, 0xB2, 0x0E, 0x52, 0x00, 0x2D, + 0x0F, 0xD0, 0x0E, 0x4E, 0x2D, 0xB2, 0x8E, 0x5F, + 0x00, 0x2E, 0x04, 0xDC, 0xBD, 0x42, 0x07, 0xDA, + 0x00, 0x25, 0x0D, 0x52, 0x05, 0xE0, 0x65, 0x45, + 0x02, 0xDA, 0x00, 0x26, 0x0E, 0x52, 0x00, 0xE0, + 0x01, 0x33, 0x00, 0x2A, 0xDE, 0xD1, 0x01, 0x4A, + 0x13, 0x60, 0xF7, 0xBD, 0xE0, 0x00, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x3C, 0x0D, 0x00, 0x20, 0xCC, 0x00, 0x00, 0x20, + 0xEF, 0xF3, 0x08, 0x80, 0x70, 0x47, 0x00, 0xBA, + 0x70, 0x47, 0x40, 0xBA, 0x70, 0x47, 0xC0, 0xBA, + 0x70, 0x47, 0x70, 0xB5, 0x00, 0x28, 0x16, 0xDA, + 0xC0, 0xB2, 0x0F, 0x23, 0x03, 0x40, 0x08, 0x3B, + 0x12, 0x4A, 0x9B, 0x08, 0x9B, 0x00, 0x9B, 0x18, + 0x03, 0x22, 0x10, 0x40, 0x90, 0x40, 0xFF, 0x22, + 0x5D, 0x68, 0x14, 0x1C, 0x84, 0x40, 0x89, 0x01, + 0xA5, 0x43, 0x0A, 0x40, 0x82, 0x40, 0x28, 0x1C, + 0x10, 0x43, 0x58, 0x60, 0x11, 0xE0, 0x03, 0x24, + 0x82, 0x08, 0x09, 0x4B, 0x20, 0x40, 0xC0, 0x32, + 0xA0, 0x40, 0x92, 0x00, 0xFF, 0x24, 0xD5, 0x58, + 0x26, 0x1C, 0x86, 0x40, 0x89, 0x01, 0xB5, 0x43, + 0x0C, 0x40, 0x84, 0x40, 0x28, 0x1C, 0x20, 0x43, + 0xD0, 0x50, 0x70, 0xBD, 0x18, 0xED, 0x00, 0xE0, + 0x00, 0xE1, 0x00, 0xE0, 0x08, 0x4B, 0x40, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x49, 0x06, 0x49, 0x0E, + 0x11, 0x43, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x07, 0x4B, 0x3F, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x11, 0x40, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0x08, 0x4A, 0x19, 0x68, 0x18, 0x68, + 0x89, 0x04, 0x89, 0x0E, 0x09, 0x02, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x40, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x08, 0x4B, 0x20, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x49, 0x06, 0x49, 0x0E, + 0x11, 0x43, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x07, 0x4B, 0x5F, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x11, 0x40, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0xBE, 0x21, 0x1A, 0x68, 0xC9, 0x01, + 0x18, 0x68, 0x11, 0x40, 0x05, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x20, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x18, 0x6C, 0x80, 0x00, 0xC0, 0x0F, 0x70, 0x47, + 0x08, 0x4B, 0x10, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x49, 0x06, 0x49, 0x0E, 0x11, 0x43, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0x6F, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x11, 0x40, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x0B, 0x4B, + 0x19, 0x68, 0x00, 0x28, 0x04, 0xD0, 0x49, 0x06, + 0x49, 0x0E, 0x10, 0x22, 0x11, 0x43, 0x01, 0xE0, + 0x6F, 0x22, 0x11, 0x40, 0x1A, 0x68, 0x7F, 0x20, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x00, 0xBD, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0xDE, 0x21, 0x1A, 0x68, 0xC9, 0x01, + 0x18, 0x68, 0x11, 0x40, 0x05, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x10, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x18, 0x6C, 0xC0, 0x00, 0xC0, 0x0F, 0x70, 0x47, + 0x08, 0x4B, 0x01, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x49, 0x06, 0x49, 0x0E, 0x11, 0x43, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0x7E, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x11, 0x40, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x07, 0x4B, 0xFC, 0x21, + 0x1A, 0x68, 0xC9, 0x01, 0x18, 0x68, 0x11, 0x40, + 0x05, 0x4A, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x08, 0x4B, 0x01, 0x22, + 0x19, 0x68, 0x18, 0x68, 0x49, 0x04, 0x49, 0x0E, + 0x11, 0x43, 0x06, 0x4A, 0x09, 0x02, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x80, 0x23, 0xDB, 0x05, 0x18, 0x6C, 0xC0, 0x01, + 0xC0, 0x0F, 0x70, 0x47, 0x08, 0x4B, 0x02, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x49, 0x06, 0x49, 0x0E, + 0x11, 0x43, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x07, 0x4B, 0x7D, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x11, 0x40, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0xFA, 0x21, 0x1A, 0x68, 0xC9, 0x01, + 0x18, 0x68, 0x11, 0x40, 0x05, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x02, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x18, 0x6C, 0x80, 0x01, 0xC0, 0x0F, 0x70, 0x47, + 0x08, 0x4B, 0x04, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x49, 0x06, 0x49, 0x0E, 0x11, 0x43, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0x7B, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x11, 0x40, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x0B, 0x4B, + 0x19, 0x68, 0x00, 0x28, 0x04, 0xD0, 0x49, 0x06, + 0x49, 0x0E, 0x04, 0x22, 0x11, 0x43, 0x01, 0xE0, + 0x7B, 0x22, 0x11, 0x40, 0x1A, 0x68, 0x7F, 0x20, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x00, 0xBD, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0xF6, 0x21, 0x1A, 0x68, 0xC9, 0x01, + 0x18, 0x68, 0x11, 0x40, 0x05, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x04, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x18, 0x6C, 0x40, 0x01, 0xC0, 0x0F, 0x70, 0x47, + 0x10, 0xB5, 0x80, 0x23, 0xDB, 0x05, 0x04, 0x1D, + 0x98, 0x69, 0x3F, 0x22, 0x14, 0x40, 0x90, 0x43, + 0x20, 0x43, 0x01, 0x24, 0x98, 0x61, 0x88, 0x1C, + 0x21, 0x40, 0x41, 0x18, 0x0A, 0x40, 0x11, 0x02, + 0x98, 0x69, 0x02, 0x4A, 0x02, 0x40, 0x0A, 0x43, + 0x9A, 0x61, 0x10, 0xBD, 0xFF, 0xC0, 0xFF, 0xFF, + 0x06, 0x4B, 0x7F, 0x22, 0x19, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x18, 0x6C, 0x01, 0x39, 0x90, 0x43, + 0x11, 0x40, 0x02, 0x1C, 0x0A, 0x43, 0x1A, 0x64, + 0x70, 0x47, 0xC0, 0x46, 0x18, 0x09, 0x00, 0x20, + 0x80, 0x23, 0xDB, 0x05, 0x1A, 0x6C, 0x7F, 0x21, + 0x8A, 0x43, 0x01, 0x21, 0x0A, 0x43, 0x1A, 0x64, + 0x70, 0x47, 0x80, 0x23, 0xDB, 0x05, 0xDA, 0x69, + 0x0F, 0x21, 0x8A, 0x43, 0x02, 0x21, 0x0A, 0x43, + 0xDA, 0x61, 0xDA, 0x69, 0xF0, 0x21, 0x8A, 0x43, + 0x30, 0x21, 0x0A, 0x43, 0xDA, 0x61, 0x0C, 0x4A, + 0x11, 0x79, 0x01, 0x39, 0xC9, 0xB2, 0x59, 0x77, + 0xD8, 0x69, 0x0A, 0x49, 0x01, 0x40, 0x80, 0x20, + 0xC0, 0x02, 0x01, 0x43, 0xD9, 0x61, 0xD8, 0x69, + 0x07, 0x49, 0x01, 0x40, 0xA0, 0x20, 0xC0, 0x03, + 0x01, 0x43, 0xD9, 0x61, 0x92, 0x79, 0x01, 0x3A, + 0xD2, 0xB2, 0xDA, 0x77, 0x70, 0x47, 0xC0, 0x46, + 0x04, 0x02, 0x00, 0x20, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0xFF, 0x0F, 0xFF, 0x30, 0xB5, 0x1A, 0x4A, + 0x1A, 0x4B, 0x11, 0x88, 0x1A, 0x4C, 0xC9, 0x18, + 0x80, 0x23, 0xDB, 0x05, 0x89, 0xB2, 0x18, 0x8C, + 0x19, 0x84, 0x59, 0x8C, 0x00, 0x21, 0x59, 0x84, + 0x50, 0x88, 0x16, 0x4D, 0x01, 0x19, 0x89, 0xB2, + 0x9A, 0x8C, 0x99, 0x84, 0x42, 0x1E, 0xDC, 0x8C, + 0x92, 0xB2, 0x44, 0x19, 0xDA, 0x84, 0xA4, 0xB2, + 0x1D, 0x8D, 0x1C, 0x85, 0x10, 0x4C, 0x00, 0x19, + 0x80, 0xB2, 0x5C, 0x8D, 0x58, 0x85, 0x98, 0x8D, + 0x99, 0x85, 0xD8, 0x8D, 0xDA, 0x85, 0x18, 0x8E, + 0x19, 0x86, 0x58, 0x8E, 0x5A, 0x86, 0x98, 0x8E, + 0x99, 0x86, 0xD8, 0x8E, 0xDA, 0x86, 0x18, 0x8F, + 0x19, 0x87, 0x58, 0x8F, 0x5A, 0x87, 0x98, 0x8F, + 0x99, 0x87, 0xD9, 0x8F, 0xDA, 0x87, 0x30, 0xBD, + 0x04, 0x02, 0x00, 0x20, 0xFF, 0x07, 0x00, 0x00, + 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x05, 0x00, 0x00, + 0xFF, 0x01, 0x00, 0x00, 0x30, 0xB5, 0x22, 0x4B, + 0xEE, 0x24, 0x1A, 0x68, 0xE4, 0x01, 0x14, 0x40, + 0x20, 0x48, 0x1A, 0x68, 0x7F, 0x21, 0x02, 0x40, + 0x22, 0x43, 0x1A, 0x60, 0x1C, 0x68, 0x80, 0x22, + 0xD2, 0x05, 0x15, 0x69, 0x14, 0x61, 0x1C, 0x4C, + 0xA4, 0x7C, 0x00, 0x2C, 0x16, 0xD0, 0x1C, 0x68, + 0x04, 0x25, 0x64, 0x04, 0x64, 0x0E, 0x2C, 0x43, + 0x1D, 0x68, 0x0C, 0x40, 0x24, 0x02, 0x28, 0x40, + 0x20, 0x43, 0x18, 0x60, 0x18, 0x68, 0x14, 0x69, + 0x10, 0x61, 0x1C, 0x68, 0x7B, 0x20, 0x20, 0x40, + 0x1C, 0x68, 0x8C, 0x43, 0x21, 0x1C, 0x01, 0x43, + 0x19, 0x60, 0x15, 0xE0, 0x1C, 0x68, 0x04, 0x25, + 0x64, 0x06, 0x64, 0x0E, 0x2C, 0x43, 0x1D, 0x68, + 0x0C, 0x40, 0x8D, 0x43, 0x29, 0x1C, 0x21, 0x43, + 0x19, 0x60, 0x19, 0x68, 0x14, 0x69, 0x11, 0x61, + 0x1C, 0x68, 0xF6, 0x21, 0xC9, 0x01, 0x21, 0x40, + 0x1C, 0x68, 0x20, 0x40, 0x08, 0x43, 0x18, 0x60, + 0x1B, 0x68, 0x11, 0x69, 0x13, 0x61, 0x30, 0xBD, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0xAE, 0x09, 0x00, 0x20, 0x00, 0xB5, 0x72, 0xB6, + 0x0F, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x0F, 0x4B, + 0x9A, 0x7C, 0x0F, 0x4B, 0x00, 0x2A, 0x07, 0xD0, + 0x1A, 0x68, 0xF6, 0x21, 0xC9, 0x01, 0x11, 0x40, + 0x18, 0x68, 0x0C, 0x4A, 0x02, 0x40, 0x05, 0xE0, + 0x19, 0x68, 0x7B, 0x22, 0x11, 0x40, 0x1A, 0x68, + 0x7F, 0x20, 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x62, 0xB6, 0x00, 0xBD, 0xC0, 0x46, + 0x64, 0x00, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x00, 0xB5, 0x72, 0xB6, 0x10, 0x4B, 0x00, 0x22, + 0x1A, 0x70, 0x10, 0x4B, 0x9A, 0x7C, 0x10, 0x4B, + 0x19, 0x68, 0x00, 0x2A, 0x08, 0xD0, 0x49, 0x04, + 0x04, 0x22, 0x49, 0x0E, 0x11, 0x43, 0x18, 0x68, + 0x0C, 0x4A, 0x09, 0x02, 0x02, 0x40, 0x06, 0xE0, + 0x49, 0x06, 0x04, 0x22, 0x49, 0x0E, 0x11, 0x43, + 0x1A, 0x68, 0x7F, 0x20, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x62, 0xB6, 0x00, 0xBD, + 0x64, 0x00, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x01, 0x4B, 0x18, 0x78, 0x70, 0x47, 0xC0, 0x46, + 0x64, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x6C, 0x80, 0x22, 0xD2, 0x01, + 0x0A, 0x43, 0x1A, 0x64, 0x23, 0x4A, 0x80, 0x21, + 0x10, 0x68, 0x49, 0x00, 0x01, 0x43, 0x11, 0x60, + 0x12, 0x68, 0x99, 0x68, 0x9A, 0x60, 0x19, 0x6C, + 0x80, 0x22, 0x12, 0x02, 0x0A, 0x43, 0x1A, 0x64, + 0x19, 0x6C, 0x1D, 0x4A, 0x0A, 0x40, 0x1A, 0x64, + 0x1C, 0x4B, 0x7F, 0x22, 0x59, 0x7B, 0x1C, 0x4B, + 0x11, 0x40, 0x18, 0x68, 0x1B, 0x4A, 0x09, 0x04, + 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, 0x19, 0x68, + 0xA0, 0x22, 0xD2, 0x05, 0x90, 0x68, 0x91, 0x60, + 0x18, 0x68, 0x17, 0x49, 0x01, 0x40, 0x84, 0x20, + 0xC0, 0x05, 0x01, 0x43, 0x19, 0x60, 0x19, 0x68, + 0x90, 0x68, 0x91, 0x60, 0x13, 0x49, 0x09, 0x78, + 0x49, 0xB2, 0x00, 0x29, 0x02, 0xD0, 0x01, 0x29, + 0x0C, 0xD1, 0x03, 0xE0, 0x18, 0x68, 0x10, 0x49, + 0x01, 0x40, 0x03, 0xE0, 0x18, 0x68, 0x80, 0x21, + 0x09, 0x04, 0x01, 0x43, 0x19, 0x60, 0x1B, 0x68, + 0x91, 0x68, 0x93, 0x60, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x6C, 0x0A, 0x4A, 0x0A, 0x40, 0x1A, 0x64, + 0x00, 0xBD, 0xC0, 0x46, 0x14, 0x00, 0x00, 0x20, + 0xFF, 0x7F, 0xFF, 0xFF, 0xAE, 0x09, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0x80, 0xFF, + 0xFF, 0xFF, 0xFF, 0x80, 0xFA, 0x02, 0x00, 0x20, + 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, + 0x04, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x80, 0x23, + 0xDB, 0x05, 0x99, 0x6C, 0x91, 0x43, 0x99, 0x64, + 0x1A, 0x70, 0x70, 0x47, 0x00, 0x00, 0x00, 0x20, + 0x03, 0x4A, 0x01, 0x23, 0x13, 0x70, 0x80, 0x22, + 0xD2, 0x05, 0x53, 0x70, 0x70, 0x47, 0xC0, 0x46, + 0x02, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x06, 0x4B, + 0x72, 0xB6, 0x1A, 0x78, 0x00, 0x2A, 0x04, 0xD0, + 0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, 0x30, 0xBF, + 0xF6, 0xE7, 0x62, 0xB6, 0x00, 0xBD, 0xC0, 0x46, + 0x02, 0x00, 0x00, 0x20, 0x38, 0xB5, 0x09, 0x4B, + 0x09, 0x49, 0x9A, 0x78, 0x1C, 0x79, 0x51, 0x43, + 0x08, 0x4B, 0x05, 0x1C, 0xC9, 0x18, 0x08, 0x48, + 0x02, 0xF0, 0x7A, 0xF8, 0x06, 0x4B, 0x29, 0x1C, + 0x01, 0x34, 0x58, 0x43, 0xA1, 0x40, 0x02, 0xF0, + 0x73, 0xF8, 0x38, 0xBD, 0xAA, 0x0A, 0x00, 0x20, + 0x44, 0xFE, 0xFF, 0xFF, 0xFE, 0x24, 0x02, 0x00, + 0x40, 0x42, 0x0F, 0x00, 0x05, 0x4B, 0x19, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x5A, 0x69, 0x09, 0x02, + 0x12, 0x0E, 0x09, 0x0A, 0x12, 0x06, 0x0A, 0x43, + 0x5A, 0x61, 0x70, 0x47, 0x04, 0x00, 0x00, 0x20, + 0x01, 0x4B, 0x18, 0x60, 0x70, 0x47, 0xC0, 0x46, + 0x04, 0x00, 0x00, 0x20, 0x05, 0x4B, 0x01, 0x22, + 0x1A, 0x70, 0x80, 0x23, 0xDB, 0x05, 0x59, 0x69, + 0x80, 0x22, 0x52, 0x04, 0x0A, 0x43, 0x5A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x01, 0x00, 0x00, 0x20, + 0x00, 0xB5, 0x05, 0x4B, 0x72, 0xB6, 0x1A, 0x78, + 0x00, 0x2A, 0x03, 0xD0, 0xC0, 0x46, 0xC0, 0x46, + 0x62, 0xB6, 0xF7, 0xE7, 0x62, 0xB6, 0x00, 0xBD, + 0x00, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x10, 0x4B, + 0x1B, 0x68, 0x9A, 0x05, 0x0C, 0xD5, 0x0F, 0x4A, + 0x0F, 0x4B, 0x72, 0xB6, 0x11, 0x78, 0x00, 0x29, + 0x02, 0xD1, 0x19, 0x78, 0x00, 0x29, 0x11, 0xD0, + 0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, 0xF4, 0xE7, + 0x08, 0x4A, 0x09, 0x4B, 0x72, 0xB6, 0x11, 0x78, + 0x00, 0x29, 0x02, 0xD1, 0x19, 0x78, 0x00, 0x29, + 0x04, 0xD0, 0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, + 0x30, 0xBF, 0xF3, 0xE7, 0x62, 0xB6, 0x00, 0xBD, + 0x58, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x13, 0x49, + 0x13, 0x4B, 0x04, 0x24, 0x19, 0x60, 0x13, 0x4B, + 0x13, 0x4D, 0x1A, 0x68, 0x22, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x02, 0x24, 0xA2, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x01, 0x24, 0x22, 0x43, 0x0F, 0x4C, + 0x1A, 0x60, 0x00, 0x22, 0x22, 0x60, 0x0E, 0x4A, + 0x11, 0x60, 0x2E, 0x78, 0x2D, 0x79, 0x70, 0x43, + 0x01, 0x35, 0xE8, 0x40, 0x09, 0x1A, 0x11, 0x60, + 0x20, 0x68, 0x11, 0x68, 0x88, 0x42, 0xFB, 0xD2, + 0x1A, 0x68, 0x01, 0x21, 0x8A, 0x43, 0x1A, 0x60, + 0x70, 0xBD, 0xC0, 0x46, 0xFF, 0xFF, 0xFF, 0x00, + 0x14, 0xE0, 0x00, 0xE0, 0x10, 0xE0, 0x00, 0xE0, + 0xAA, 0x0A, 0x00, 0x20, 0x18, 0xE0, 0x00, 0xE0, + 0xFC, 0x01, 0x00, 0x20, 0x00, 0xB5, 0x00, 0x23, + 0x06, 0x4A, 0x98, 0x42, 0x02, 0xDB, 0xD3, 0x1C, + 0xDB, 0x7F, 0x43, 0x43, 0x02, 0x32, 0xD2, 0x7F, + 0x01, 0x30, 0x52, 0xB2, 0x90, 0x40, 0x18, 0x18, + 0x40, 0x18, 0x00, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0xF0, 0xB5, 0x85, 0xB0, 0x05, 0x1C, 0x0C, 0x1C, + 0x16, 0x1C, 0x00, 0x29, 0x05, 0xD0, 0x2B, 0x4B, + 0x02, 0x33, 0xDB, 0x7F, 0x5B, 0xB2, 0x00, 0x2B, + 0x4E, 0xD0, 0x21, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, + 0xDD, 0xFF, 0x27, 0x49, 0x27, 0x4F, 0x4A, 0x7A, + 0x09, 0x7A, 0x13, 0x19, 0x51, 0x18, 0x02, 0x91, + 0x41, 0x01, 0xCF, 0x19, 0x00, 0x22, 0x03, 0x97, + 0x84, 0x46, 0x13, 0xE0, 0x22, 0x48, 0xC1, 0x56, + 0x58, 0x1C, 0xC0, 0xB2, 0xCF, 0x0F, 0x01, 0x90, + 0x7F, 0x18, 0x03, 0x98, 0x7F, 0x10, 0xC7, 0x19, + 0x08, 0x37, 0x00, 0x97, 0x6F, 0x46, 0x38, 0x79, + 0x00, 0x9F, 0x02, 0x33, 0xB8, 0x70, 0x01, 0x27, + 0x8F, 0x40, 0x3A, 0x43, 0x02, 0x98, 0x83, 0x42, + 0xE8, 0xDB, 0x15, 0x4B, 0x60, 0x46, 0xDF, 0x79, + 0x61, 0x42, 0x61, 0x41, 0x5B, 0x7C, 0x79, 0x18, + 0x1C, 0x19, 0x49, 0x10, 0x01, 0x39, 0x01, 0x34, + 0x89, 0x06, 0x24, 0x05, 0x0C, 0x43, 0x22, 0x43, + 0x0E, 0x49, 0x10, 0x4C, 0x40, 0x01, 0x43, 0x18, + 0x0F, 0x4F, 0x01, 0x19, 0x4C, 0x68, 0x4A, 0x60, + 0xAA, 0x1C, 0xD2, 0xB2, 0xC0, 0x19, 0x02, 0x71, + 0x00, 0x2E, 0x07, 0xD0, 0x0B, 0x4A, 0x01, 0x21, + 0x52, 0x57, 0x91, 0x40, 0x0A, 0x1C, 0x99, 0x69, + 0x9A, 0x61, 0x01, 0xE0, 0x9A, 0x69, 0x9E, 0x61, + 0x05, 0xB0, 0xF0, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0x0A, 0x03, 0x00, 0x20, 0x00, 0x10, 0x00, 0x40, + 0x10, 0x75, 0x00, 0x00, 0x18, 0x10, 0x00, 0x40, + 0x10, 0x10, 0x00, 0x40, 0xEA, 0x74, 0x00, 0x00, + 0x10, 0xB5, 0x08, 0x4B, 0x00, 0x21, 0x1B, 0x68, + 0x01, 0x3B, 0x08, 0xE0, 0x06, 0x4C, 0x58, 0x01, + 0x09, 0x22, 0x00, 0x19, 0x84, 0x18, 0xA1, 0x72, + 0x01, 0x3A, 0xFB, 0xD2, 0x01, 0x3B, 0x00, 0x2B, + 0xF4, 0xDA, 0x10, 0xBD, 0x18, 0x09, 0x00, 0x20, + 0x00, 0x10, 0x00, 0x40, 0x38, 0xB5, 0xFF, 0xF7, + 0xE7, 0xFF, 0x00, 0x21, 0x01, 0x20, 0x0A, 0x1C, + 0x40, 0x42, 0xFF, 0xF7, 0x75, 0xFF, 0x01, 0x20, + 0x40, 0x42, 0x01, 0x21, 0x00, 0x22, 0xFF, 0xF7, + 0x6F, 0xFF, 0x0A, 0x4D, 0xAC, 0x7B, 0x0B, 0xE0, + 0x20, 0x1C, 0x00, 0x21, 0x01, 0x22, 0xFF, 0xF7, + 0x67, 0xFF, 0x01, 0x21, 0x20, 0x1C, 0x0A, 0x1C, + 0xFF, 0xF7, 0x62, 0xFF, 0x01, 0x34, 0xE4, 0xB2, + 0xAA, 0x7B, 0x2B, 0x79, 0xD3, 0x18, 0x9C, 0x42, + 0xEE, 0xDB, 0x38, 0xBD, 0x0A, 0x03, 0x00, 0x20, + 0xF0, 0xB5, 0x85, 0xB0, 0x05, 0x1C, 0x0E, 0x1C, + 0x02, 0x92, 0x1F, 0x1C, 0x00, 0x29, 0x05, 0xD0, + 0x21, 0x4B, 0x02, 0x33, 0xDB, 0x7F, 0x5B, 0xB2, + 0x00, 0x2B, 0x3B, 0xD0, 0x31, 0x1C, 0x28, 0x1C, + 0xFF, 0xF7, 0x34, 0xFF, 0x1D, 0x4A, 0xC0, 0xB2, + 0x01, 0x90, 0x53, 0x7A, 0x12, 0x7A, 0xF6, 0x18, + 0x9A, 0x18, 0x1B, 0x4B, 0xB9, 0x1E, 0x1B, 0x7C, + 0x48, 0x1E, 0x81, 0x41, 0x49, 0x42, 0xF6, 0xB2, + 0x03, 0x91, 0x9C, 0x46, 0x24, 0xE0, 0x00, 0x2F, + 0x07, 0xD1, 0x26, 0x21, 0x71, 0x43, 0x15, 0x4B, + 0x49, 0x19, 0xCC, 0x5C, 0x64, 0x44, 0xE4, 0xB2, + 0x08, 0xE0, 0x01, 0x2F, 0x04, 0xD1, 0x73, 0x01, + 0x11, 0x49, 0x5B, 0x19, 0x5C, 0x5C, 0x01, 0xE0, + 0x03, 0x9B, 0x1C, 0x40, 0x0F, 0x4B, 0x02, 0x99, + 0x9B, 0x57, 0x02, 0x36, 0xD8, 0x0F, 0xC0, 0x18, + 0x63, 0x18, 0xDB, 0xB2, 0x00, 0x93, 0x01, 0x9B, + 0x40, 0x10, 0x59, 0x01, 0x6B, 0x46, 0x08, 0x18, + 0x1B, 0x78, 0x09, 0x49, 0xF6, 0xB2, 0x43, 0x54, + 0x96, 0x42, 0xD8, 0xDB, 0x05, 0xB0, 0xF0, 0xBD, + 0xAE, 0x09, 0x00, 0x20, 0x0A, 0x03, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x36, 0x75, 0x00, 0x00, + 0xB3, 0x0A, 0x00, 0x20, 0x10, 0x75, 0x00, 0x00, + 0x00, 0x10, 0x00, 0x40, 0x70, 0xB5, 0x2A, 0x4B, + 0x2A, 0x4A, 0x19, 0x68, 0x80, 0x24, 0x0A, 0x40, + 0x1A, 0x60, 0x1A, 0x68, 0xE4, 0x05, 0x28, 0x4D, + 0xA1, 0x68, 0xA2, 0x60, 0x69, 0x7A, 0x03, 0x22, + 0x18, 0x68, 0x11, 0x40, 0x25, 0x4A, 0x89, 0x04, + 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0xA1, 0x68, 0xA2, 0x60, 0x19, 0x68, 0x80, 0x22, + 0x52, 0x03, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0xA1, 0x68, 0xA2, 0x60, 0x29, 0x7A, 0x18, 0x68, + 0x07, 0x26, 0x1D, 0x4A, 0x31, 0x40, 0x49, 0x05, + 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0xA1, 0x68, 0xA2, 0x60, 0xA9, 0x7B, 0x0F, 0x29, + 0x25, 0xD8, 0xEA, 0x7B, 0x0F, 0x2A, 0x22, 0xD8, + 0x18, 0x68, 0x09, 0x07, 0x00, 0x01, 0x00, 0x09, + 0x01, 0x43, 0x19, 0x60, 0x0F, 0x21, 0x0A, 0x40, + 0x18, 0x68, 0x11, 0x06, 0x11, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1B, 0x68, 0xA2, 0x68, + 0xA3, 0x60, 0xFF, 0xF7, 0x49, 0xFC, 0x0E, 0x4A, + 0x63, 0x6C, 0x13, 0x43, 0x63, 0x64, 0xFF, 0xF7, + 0x5C, 0xFC, 0xFF, 0xF7, 0x87, 0xFC, 0xEB, 0x79, + 0x0A, 0x4A, 0x1E, 0x40, 0x33, 0x02, 0x26, 0x6C, + 0x16, 0x40, 0x1E, 0x43, 0x26, 0x64, 0x70, 0xBD, + 0x14, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFC, 0xFF, + 0x48, 0x0D, 0x00, 0x20, 0xFF, 0xFF, 0xF3, 0xFF, + 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, + 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xF8, 0xFF, 0xFF, + 0x00, 0xB5, 0x80, 0x21, 0xC9, 0x05, 0x0B, 0x79, + 0x5A, 0x1E, 0xD2, 0xB2, 0x98, 0x42, 0x09, 0xDD, + 0x00, 0xE0, 0x0B, 0x71, 0x01, 0x33, 0xDB, 0xB2, + 0x83, 0x42, 0xFA, 0xDD, 0x04, 0xE0, 0x0A, 0x71, + 0x01, 0x3A, 0xD2, 0xB2, 0x82, 0x42, 0xFA, 0xDA, + 0x00, 0xBD, 0x38, 0xB5, 0x17, 0x4C, 0xA0, 0x78, + 0xFF, 0xF7, 0xE6, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x21, 0x79, 0x5A, 0x68, 0xC9, 0x07, 0x52, 0x00, + 0x52, 0x08, 0x0A, 0x43, 0x5A, 0x60, 0x60, 0x79, + 0x03, 0x22, 0x5D, 0x68, 0x10, 0x49, 0x10, 0x40, + 0x80, 0x03, 0x29, 0x40, 0x01, 0x43, 0x59, 0x60, + 0xA0, 0x79, 0x0E, 0x49, 0x5D, 0x68, 0x10, 0x40, + 0x00, 0x03, 0x29, 0x40, 0x01, 0x43, 0x59, 0x60, + 0xE0, 0x79, 0x0B, 0x49, 0x5D, 0x68, 0x10, 0x40, + 0x29, 0x40, 0x80, 0x02, 0x01, 0x43, 0x59, 0x60, + 0x21, 0x7A, 0x58, 0x68, 0x0A, 0x40, 0x11, 0x02, + 0x06, 0x4A, 0x02, 0x40, 0x0A, 0x43, 0x5A, 0x60, + 0x38, 0xBD, 0xC0, 0x46, 0xAA, 0x0A, 0x00, 0x20, + 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, + 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, + 0xF8, 0xB5, 0x80, 0x23, 0xDB, 0x05, 0x1A, 0x68, + 0x7A, 0x4A, 0x00, 0x21, 0x08, 0x20, 0x19, 0x60, + 0x10, 0x60, 0x14, 0x68, 0x9D, 0x68, 0x9C, 0x60, + 0x77, 0x4C, 0x21, 0x60, 0x24, 0x68, 0xDD, 0x68, + 0xDC, 0x60, 0xFE, 0x25, 0x75, 0x4C, 0xED, 0x01, + 0x25, 0x60, 0x24, 0x68, 0x1D, 0x69, 0x1C, 0x61, + 0x5C, 0x69, 0x59, 0x61, 0x9C, 0x69, 0x99, 0x61, + 0xDC, 0x69, 0xD9, 0x61, 0x1C, 0x6C, 0x80, 0x24, + 0xE4, 0x01, 0x1C, 0x64, 0x5C, 0x6C, 0x59, 0x64, + 0x9C, 0x6C, 0x6D, 0x4C, 0x99, 0x64, 0x21, 0x60, + 0xA0, 0x24, 0xE4, 0x05, 0xA5, 0x68, 0xA1, 0x60, + 0x1C, 0x6C, 0x6A, 0x49, 0x21, 0x40, 0x19, 0x64, + 0x1C, 0x68, 0x80, 0x21, 0x49, 0x05, 0x21, 0x43, + 0x19, 0x60, 0x67, 0x49, 0x01, 0x31, 0xC9, 0x7F, + 0x00, 0x29, 0x03, 0xD0, 0x11, 0x68, 0x08, 0x43, + 0x10, 0x60, 0x02, 0xE0, 0x11, 0x68, 0x81, 0x43, + 0x11, 0x60, 0x11, 0x68, 0x98, 0x68, 0x99, 0x60, + 0x13, 0x68, 0x04, 0x26, 0x33, 0x43, 0x13, 0x60, + 0x13, 0x68, 0x80, 0x25, 0xED, 0x05, 0xA9, 0x68, + 0xAB, 0x60, 0x13, 0x68, 0x02, 0x27, 0x3B, 0x43, + 0x13, 0x60, 0x13, 0x68, 0xA9, 0x68, 0xAB, 0x60, + 0x13, 0x68, 0x01, 0x20, 0x83, 0x43, 0x13, 0x60, + 0x13, 0x68, 0xAA, 0x68, 0xAB, 0x60, 0xFF, 0xF7, + 0xED, 0xFE, 0x54, 0x4B, 0x1C, 0x22, 0x9A, 0x56, + 0xA9, 0x69, 0x53, 0x4B, 0x12, 0x05, 0xF2, 0x40, + 0x0B, 0x40, 0x13, 0x43, 0xAB, 0x61, 0xFF, 0xF7, + 0x61, 0xFE, 0x50, 0x4A, 0x50, 0x4B, 0x01, 0x21, + 0x1A, 0x60, 0x50, 0x4B, 0x08, 0x24, 0x1A, 0x68, + 0x10, 0x20, 0x32, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0xBA, 0x43, 0x1A, 0x60, 0x4C, 0x4B, 0xC0, 0x22, + 0x52, 0x00, 0x99, 0x50, 0x20, 0x21, 0x9F, 0x50, + 0x9E, 0x50, 0x9C, 0x50, 0x98, 0x50, 0x99, 0x50, + 0x40, 0x21, 0x99, 0x50, 0xC0, 0x22, 0xBA, 0x40, + 0x98, 0x58, 0xFF, 0x24, 0xA0, 0x43, 0xC0, 0x24, + 0x20, 0x43, 0x98, 0x50, 0x9C, 0x58, 0x43, 0x48, + 0x04, 0x40, 0x9C, 0x50, 0x9C, 0x58, 0x42, 0x48, + 0x20, 0x40, 0x80, 0x24, 0x24, 0x04, 0x04, 0x43, + 0x9C, 0x50, 0x9C, 0x58, 0x24, 0x02, 0x24, 0x0A, + 0x2C, 0x43, 0x9C, 0x50, 0xC1, 0x22, 0xBA, 0x40, + 0x98, 0x58, 0x04, 0x1C, 0xFF, 0x20, 0x84, 0x43, + 0x0C, 0x43, 0x9C, 0x50, 0x9C, 0x58, 0x37, 0x48, + 0x20, 0x40, 0x80, 0x24, 0x24, 0x02, 0x20, 0x43, + 0x98, 0x50, 0x98, 0x58, 0x34, 0x4C, 0x20, 0x40, + 0x98, 0x50, 0x34, 0x4A, 0x10, 0x69, 0x30, 0x43, + 0x10, 0x61, 0x62, 0xB6, 0x08, 0x22, 0x01, 0x20, + 0x1E, 0x60, 0x18, 0x60, 0x1F, 0x60, 0x1A, 0x60, + 0x2F, 0x4B, 0x20, 0x20, 0x10, 0x24, 0xDC, 0x67, + 0xD8, 0x67, 0xD9, 0x67, 0xFF, 0xF7, 0x46, 0xFC, + 0x21, 0x4C, 0xE0, 0x7D, 0x21, 0x7E, 0xFF, 0xF7, + 0xFB, 0xFA, 0xE3, 0x7C, 0x00, 0x2B, 0x26, 0xD0, + 0x1A, 0x4B, 0x01, 0x21, 0x18, 0x68, 0x27, 0x4A, + 0x40, 0x00, 0x40, 0x0E, 0x08, 0x43, 0x19, 0x68, + 0x00, 0x06, 0x11, 0x40, 0x01, 0x43, 0x19, 0x60, + 0x19, 0x68, 0x28, 0x69, 0x29, 0x61, 0x19, 0x68, + 0x49, 0x00, 0x49, 0x0E, 0x0F, 0x43, 0x39, 0x06, + 0x1F, 0x68, 0x17, 0x40, 0x0F, 0x43, 0x1F, 0x60, + 0x19, 0x68, 0x28, 0x69, 0x29, 0x61, 0x19, 0x68, + 0x49, 0x00, 0x49, 0x0E, 0x0E, 0x43, 0x19, 0x68, + 0x36, 0x06, 0x0A, 0x40, 0x32, 0x43, 0x1A, 0x60, + 0x1B, 0x68, 0x2A, 0x69, 0x2B, 0x61, 0xFF, 0xF7, + 0xD4, 0xFE, 0xFF, 0xF7, 0xC1, 0xF8, 0xFF, 0xF7, + 0x0F, 0xF9, 0xFF, 0xF7, 0x7D, 0xF9, 0xFF, 0xF7, + 0x65, 0xFB, 0xF8, 0xBD, 0x14, 0x00, 0x00, 0x20, + 0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0x7F, 0xFF, + 0xAE, 0x09, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0xFF, 0xFF, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, + 0x14, 0xE0, 0x00, 0xE0, 0x10, 0xE0, 0x00, 0xE0, + 0x00, 0xE1, 0x00, 0xE0, 0xFF, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xED, 0x00, 0xE0, + 0x04, 0xE1, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x80, + 0x08, 0xB5, 0x0C, 0x4A, 0x0C, 0x4B, 0x0D, 0x49, + 0x01, 0xE0, 0x01, 0xCA, 0x01, 0xC3, 0x8B, 0x42, + 0xFB, 0xD3, 0x0B, 0x4B, 0x0B, 0x49, 0x00, 0x22, + 0x00, 0xE0, 0x04, 0xC3, 0x8B, 0x42, 0xFC, 0xD3, + 0xFF, 0xF7, 0x26, 0xF8, 0x08, 0x4B, 0x00, 0x22, + 0x00, 0xE0, 0x04, 0xC3, 0x83, 0x42, 0xFC, 0xD3, + 0x08, 0xBD, 0xC0, 0x46, 0xFC, 0x59, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x20, 0x5C, 0x00, 0x00, 0x20, + 0x5C, 0x00, 0x00, 0x20, 0xEC, 0x11, 0x00, 0x20, + 0x0C, 0x1E, 0x00, 0x20, 0x00, 0xB5, 0x13, 0x4B, + 0x1B, 0x68, 0x01, 0x2B, 0x02, 0xD0, 0x08, 0x2B, + 0x1E, 0xD1, 0x0F, 0xE0, 0x10, 0x4B, 0x11, 0x4A, + 0x1A, 0x60, 0x11, 0x4A, 0x5A, 0x60, 0x11, 0x4A, + 0x11, 0x4B, 0x1A, 0x60, 0x11, 0x4B, 0x12, 0x4A, + 0x1A, 0x60, 0x12, 0x4A, 0x5A, 0x60, 0x12, 0x4A, + 0x9A, 0x60, 0x0D, 0xE0, 0x09, 0x4B, 0x08, 0x4A, + 0x09, 0x49, 0x13, 0x60, 0x51, 0x60, 0x0A, 0x4A, + 0x13, 0x60, 0x0A, 0x4A, 0x13, 0x60, 0x53, 0x60, + 0x93, 0x60, 0x0C, 0x4B, 0x01, 0x22, 0x1A, 0x70, + 0x00, 0xBD, 0xC0, 0x46, 0x50, 0x11, 0x00, 0x20, + 0x68, 0x00, 0x00, 0x20, 0xF9, 0x03, 0x00, 0x00, + 0x7D, 0x3F, 0x00, 0x00, 0xB5, 0x3F, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x20, 0x18, 0x00, 0x00, 0x20, + 0xC1, 0x40, 0x00, 0x00, 0xA9, 0x42, 0x00, 0x00, + 0x0D, 0x44, 0x00, 0x00, 0xE4, 0x01, 0x00, 0x20, + 0x00, 0xB5, 0x00, 0x23, 0xC2, 0x5C, 0x01, 0x33, + 0x00, 0x2A, 0xFB, 0xD1, 0x01, 0x3B, 0xD8, 0xB2, + 0x00, 0xBD, 0xC0, 0x46, 0xF7, 0xB5, 0x1C, 0x1C, + 0x08, 0xAB, 0x1F, 0x78, 0x26, 0x4B, 0x0E, 0x1C, + 0x1B, 0x68, 0x01, 0x21, 0x81, 0x40, 0x0B, 0x42, + 0x44, 0xD0, 0x00, 0x2F, 0x07, 0xD0, 0x04, 0x2C, + 0x32, 0xD8, 0x22, 0x4B, 0x19, 0x5D, 0x05, 0x33, + 0x00, 0x91, 0x1F, 0x5D, 0x08, 0xE0, 0x04, 0x2C, + 0x2E, 0xD8, 0x1E, 0x4B, 0x19, 0x1C, 0x0A, 0x31, + 0x09, 0x5D, 0x0F, 0x33, 0x1F, 0x5D, 0x00, 0x91, + 0x03, 0x2C, 0x28, 0xD0, 0x00, 0x2C, 0x28, 0xD0, + 0x28, 0xE0, 0x3A, 0x20, 0x21, 0x1C, 0x01, 0xF0, + 0x63, 0xFC, 0x86, 0x42, 0x05, 0xDD, 0x6B, 0x46, + 0x1B, 0x78, 0xC0, 0xB2, 0x2B, 0x70, 0x68, 0x70, + 0x02, 0xE0, 0x2F, 0x70, 0x30, 0x1C, 0x6E, 0x70, + 0x36, 0x1A, 0x60, 0x43, 0x01, 0x99, 0x00, 0x23, + 0x69, 0x60, 0xAB, 0x60, 0x09, 0x18, 0xF6, 0xB2, + 0x01, 0x91, 0xFF, 0xF7, 0xE3, 0xFA, 0xFF, 0xF7, + 0x37, 0xFB, 0x00, 0x28, 0xFB, 0xD1, 0x0B, 0xE0, + 0x0F, 0x23, 0x00, 0x27, 0x00, 0x93, 0x05, 0xE0, + 0x0F, 0x21, 0x00, 0x91, 0x02, 0xE0, 0x02, 0x24, + 0x00, 0xE0, 0x01, 0x24, 0x04, 0x4D, 0x01, 0x92, + 0x00, 0x2E, 0xD2, 0xD1, 0xF7, 0xBD, 0xC0, 0x46, + 0x58, 0x00, 0x00, 0x20, 0x73, 0x59, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x20, 0x38, 0xB5, 0x11, 0x4B, + 0x01, 0x22, 0x1B, 0x68, 0x82, 0x40, 0x0D, 0x1C, + 0x13, 0x42, 0x19, 0xD0, 0x0E, 0x4C, 0x0B, 0x23, + 0x23, 0x70, 0x08, 0x1C, 0xFF, 0xF7, 0x90, 0xFF, + 0x60, 0x70, 0x63, 0x78, 0x07, 0x22, 0x02, 0x33, + 0x13, 0x40, 0x93, 0x42, 0x03, 0xD1, 0x63, 0x78, + 0x01, 0x3B, 0xDB, 0xB2, 0x63, 0x70, 0x00, 0x23, + 0x65, 0x60, 0xA3, 0x60, 0xFF, 0xF7, 0xAA, 0xFA, + 0xFF, 0xF7, 0xFE, 0xFA, 0x00, 0x28, 0xFB, 0xD1, + 0x38, 0xBD, 0xC0, 0x46, 0x58, 0x00, 0x00, 0x20, + 0x70, 0x00, 0x00, 0x20, 0x1F, 0xB5, 0x0B, 0x4C, + 0x6B, 0x46, 0xD8, 0x73, 0x23, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x00, 0x20, 0x08, 0x49, 0xFF, 0xF7, + 0xCD, 0xFF, 0x23, 0x78, 0x00, 0x2B, 0x07, 0xD0, + 0x6A, 0x46, 0x01, 0x21, 0x00, 0x20, 0x0F, 0x32, + 0x04, 0x23, 0x00, 0x91, 0xFF, 0xF7, 0x6A, 0xFF, + 0x1F, 0xBD, 0xC0, 0x46, 0xEB, 0x01, 0x00, 0x20, + 0x87, 0x59, 0x00, 0x00, 0xF8, 0xB5, 0xFF, 0xF7, + 0xD7, 0xFA, 0x00, 0x28, 0x70, 0xD1, 0x39, 0x4B, + 0x1A, 0x68, 0x00, 0x2A, 0x03, 0xDC, 0x38, 0x4B, + 0x1B, 0x68, 0x00, 0x2B, 0x3E, 0xDD, 0x37, 0x49, + 0x03, 0x23, 0x0B, 0x70, 0x36, 0x4B, 0x04, 0x33, + 0xDB, 0x7F, 0x1C, 0x1C, 0x9A, 0x42, 0x00, 0xDA, + 0xD3, 0xB2, 0x4B, 0x70, 0x0A, 0x21, 0x8C, 0x46, + 0x32, 0x4A, 0x00, 0x23, 0x2D, 0x49, 0x1F, 0xE0, + 0x01, 0x33, 0x03, 0xE0, 0x66, 0x46, 0x5E, 0x43, + 0x00, 0x20, 0x76, 0x18, 0x0A, 0x30, 0x37, 0x18, + 0x32, 0x25, 0x7F, 0x5F, 0x00, 0x2F, 0xF3, 0xD0, + 0xA3, 0x42, 0x13, 0xDA, 0x58, 0x00, 0x08, 0x18, + 0x80, 0x88, 0xDE, 0x00, 0x10, 0x70, 0x00, 0xB2, + 0x00, 0x12, 0x80, 0x19, 0x50, 0x70, 0x18, 0x1C, + 0x10, 0x30, 0x40, 0x00, 0x08, 0x5A, 0x01, 0x33, + 0x90, 0x70, 0x00, 0x0A, 0xD0, 0x70, 0x04, 0x32, + 0xA3, 0x42, 0xDF, 0xDB, 0x1D, 0x4B, 0x1F, 0x4A, + 0x5A, 0x60, 0x00, 0x22, 0x9A, 0x60, 0xFF, 0xF7, + 0x3D, 0xFA, 0xFF, 0xF7, 0x91, 0xFA, 0x00, 0x28, + 0xFB, 0xD1, 0x29, 0xE0, 0x1A, 0x4A, 0x53, 0x68, + 0x01, 0x33, 0x25, 0xD0, 0x15, 0x4B, 0x13, 0x21, + 0x19, 0x70, 0x11, 0x68, 0x94, 0x46, 0x59, 0x70, + 0x16, 0x4B, 0x14, 0x49, 0x1D, 0x78, 0x03, 0x1C, + 0x0D, 0xE0, 0x23, 0x1C, 0x01, 0xE0, 0x5E, 0x00, + 0x66, 0x44, 0x02, 0x30, 0x34, 0x18, 0x06, 0x22, + 0xA7, 0x5E, 0x5C, 0x1C, 0x00, 0x2F, 0xF4, 0xD0, + 0x0B, 0x70, 0x23, 0x1C, 0x01, 0x31, 0x00, 0x20, + 0xAB, 0x42, 0xF0, 0xDB, 0x07, 0x4B, 0x09, 0x4A, + 0x98, 0x60, 0x5A, 0x60, 0xFF, 0xF7, 0x12, 0xFA, + 0xFF, 0xF7, 0x66, 0xFA, 0x00, 0x28, 0xFB, 0xD1, + 0xF8, 0xBD, 0xC0, 0x46, 0x9C, 0x0D, 0x00, 0x20, + 0x20, 0x01, 0x00, 0x20, 0x70, 0x00, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xF0, 0x09, 0x00, 0x20, + 0xE0, 0x00, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0x08, 0xB5, 0x64, 0x4B, 0x1B, 0x88, 0x1D, 0x2B, + 0x47, 0xD0, 0x1A, 0xD8, 0x05, 0x2B, 0x00, 0xD1, + 0x96, 0xE0, 0x0D, 0xD8, 0x02, 0x2B, 0x63, 0xD0, + 0x03, 0xD8, 0x01, 0x2B, 0x00, 0xD0, 0xB7, 0xE0, + 0x57, 0xE0, 0x03, 0x2B, 0x00, 0xD1, 0x87, 0xE0, + 0x04, 0x2B, 0x00, 0xD0, 0xB0, 0xE0, 0x8F, 0xE0, + 0x07, 0x2B, 0x65, 0xD0, 0x5C, 0xD3, 0x1B, 0x2B, + 0x1C, 0xD0, 0x1C, 0x2B, 0x00, 0xD0, 0xA7, 0xE0, + 0x22, 0xE0, 0x22, 0x2B, 0x40, 0xD0, 0x08, 0xD8, + 0x1F, 0x2B, 0x5D, 0xD0, 0x2A, 0xD3, 0x20, 0x2B, + 0x5E, 0xD0, 0x21, 0x2B, 0x00, 0xD0, 0x9B, 0xE0, + 0x5E, 0xE0, 0x41, 0x2B, 0x64, 0xD0, 0x03, 0xD8, + 0x40, 0x2B, 0x00, 0xD0, 0x94, 0xE0, 0x5B, 0xE0, + 0x42, 0x2B, 0x61, 0xD0, 0x60, 0x2B, 0x00, 0xD0, + 0x8E, 0xE0, 0x72, 0xE0, 0x48, 0x4A, 0x49, 0x4B, + 0x12, 0x78, 0x01, 0x20, 0x19, 0x68, 0x90, 0x40, + 0x02, 0x1C, 0x0A, 0x43, 0x1A, 0x60, 0x83, 0xE0, + 0x43, 0x49, 0x44, 0x4B, 0x09, 0x78, 0x1A, 0x68, + 0x01, 0x20, 0x88, 0x40, 0x82, 0x43, 0x1A, 0x60, + 0x7A, 0xE0, 0x3F, 0x4B, 0x1A, 0x78, 0x40, 0x4B, + 0x1A, 0x70, 0x75, 0xE0, 0x3C, 0x4B, 0x0D, 0x21, + 0x1A, 0x78, 0x3E, 0x4B, 0x1A, 0x70, 0x3C, 0x4A, + 0x11, 0x70, 0x1A, 0x78, 0x3C, 0x4B, 0x00, 0x2A, + 0x02, 0xD0, 0x00, 0x22, 0x5A, 0x70, 0x67, 0xE0, + 0x3A, 0x4A, 0x52, 0x78, 0x5A, 0x70, 0x63, 0xE0, + 0x33, 0x4B, 0x1A, 0x78, 0x38, 0x4B, 0x1A, 0x70, + 0x5E, 0xE0, 0x31, 0x4B, 0x1A, 0x78, 0x37, 0x4B, + 0x1A, 0x60, 0xFD, 0xF7, 0x09, 0xFC, 0x57, 0xE0, + 0x2D, 0x4B, 0x1A, 0x78, 0x34, 0x4B, 0x9A, 0x70, + 0x98, 0x78, 0xFF, 0xF7, 0x8D, 0xFC, 0x4F, 0xE0, + 0x29, 0x4B, 0x1A, 0x78, 0x30, 0x4B, 0x9A, 0x70, + 0x29, 0x4B, 0x0F, 0x22, 0x1A, 0x70, 0x47, 0xE0, + 0x2E, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x43, 0xE0, + 0x2D, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x3F, 0xE0, + 0x0C, 0x20, 0xFD, 0xF7, 0x85, 0xF9, 0x3B, 0xE0, + 0x0D, 0x20, 0xFD, 0xF7, 0x81, 0xF9, 0x37, 0xE0, + 0x28, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x33, 0xE0, + 0x27, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x2F, 0xE0, + 0x26, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x2B, 0xE0, + 0x25, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x27, 0xE0, + 0x24, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x14, 0x4B, + 0x1A, 0x78, 0x23, 0x4B, 0x1A, 0x70, 0x1F, 0xE0, + 0x11, 0x4B, 0x1A, 0x78, 0x1E, 0x4B, 0x9A, 0x70, + 0x1A, 0xE0, 0x0F, 0x4B, 0x1A, 0x78, 0x1F, 0x4B, + 0x1A, 0x70, 0x1A, 0x78, 0x10, 0x4B, 0x01, 0x3A, + 0x01, 0x2A, 0x03, 0xD8, 0x40, 0x33, 0x0F, 0x22, + 0x1A, 0x70, 0x0D, 0xE0, 0x1A, 0x4A, 0x40, 0x33, + 0x12, 0x78, 0x00, 0x2A, 0x04, 0xD0, 0x19, 0x4A, + 0x40, 0x32, 0x12, 0x78, 0x1A, 0x70, 0x03, 0xE0, + 0x08, 0x4A, 0x40, 0x32, 0x12, 0x78, 0x1A, 0x70, + 0x08, 0xBD, 0xC0, 0x46, 0x28, 0x00, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x50, 0x58, 0x00, 0x00, 0x20, + 0x1D, 0x03, 0x00, 0x20, 0xE3, 0x01, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x4A, 0x74, 0x00, 0x00, + 0xDE, 0x01, 0x00, 0x20, 0x50, 0x11, 0x00, 0x20, + 0xAA, 0x0A, 0x00, 0x20, 0xE4, 0x01, 0x00, 0x20, + 0xDC, 0x01, 0x00, 0x20, 0xE8, 0x01, 0x00, 0x20, + 0xE7, 0x01, 0x00, 0x20, 0xE5, 0x01, 0x00, 0x20, + 0x8B, 0x01, 0x00, 0x20, 0xE6, 0x01, 0x00, 0x20, + 0x92, 0x01, 0x00, 0x20, 0xE0, 0x01, 0x00, 0x20, + 0xDD, 0x01, 0x00, 0x20, 0x9A, 0x74, 0x00, 0x00, + 0x30, 0xB5, 0x4A, 0x4B, 0x1B, 0x88, 0x34, 0x2B, + 0x47, 0xD0, 0x0C, 0xD8, 0x2E, 0x2B, 0x4F, 0xD0, + 0x04, 0xD8, 0x00, 0x2B, 0x14, 0xD0, 0x1D, 0x2B, + 0x78, 0xD1, 0x16, 0xE0, 0x2F, 0x2B, 0x51, 0xD0, + 0x30, 0x2B, 0x73, 0xD1, 0x56, 0xE0, 0x38, 0x2B, + 0x66, 0xD0, 0x04, 0xD8, 0x35, 0x2B, 0x39, 0xD0, + 0x37, 0x2B, 0x6B, 0xD1, 0x5B, 0xE0, 0x39, 0x2B, + 0x63, 0xD0, 0x86, 0x2B, 0x66, 0xD1, 0x09, 0xE0, + 0x3B, 0x4B, 0x5A, 0x7B, 0x3B, 0x4B, 0x1A, 0x70, + 0x6F, 0xE0, 0x3B, 0x4B, 0x1A, 0x78, 0x39, 0x4B, + 0x1A, 0x70, 0x6A, 0xE0, 0x39, 0x49, 0x3A, 0x4A, + 0x0B, 0x78, 0x00, 0x2B, 0x0F, 0xD1, 0x10, 0x78, + 0x34, 0x49, 0x08, 0x70, 0x50, 0x78, 0x37, 0x49, + 0x08, 0x70, 0x52, 0x68, 0xD1, 0x18, 0x36, 0x4C, + 0x08, 0x78, 0x19, 0x19, 0x01, 0x33, 0x08, 0x70, + 0x06, 0x2B, 0xF7, 0xD1, 0x55, 0xE0, 0x52, 0x68, + 0x00, 0x23, 0x08, 0x78, 0x2B, 0x4D, 0xC0, 0x18, + 0x02, 0x38, 0x10, 0x18, 0x04, 0x78, 0x58, 0x19, + 0x01, 0x33, 0x04, 0x70, 0x08, 0x2B, 0xF4, 0xD1, + 0x47, 0xE0, 0x2C, 0x4B, 0x1A, 0x68, 0x25, 0x4B, + 0x1A, 0x60, 0x42, 0xE0, 0x80, 0x23, 0xDB, 0x05, + 0x1A, 0x79, 0x22, 0x4B, 0x1A, 0x70, 0x3C, 0xE0, + 0x22, 0x4B, 0x27, 0x4A, 0x1B, 0x78, 0x1F, 0x49, + 0xD3, 0x18, 0x1A, 0x68, 0x5B, 0x68, 0x0A, 0x60, + 0x4B, 0x60, 0x32, 0xE0, 0x1A, 0x4B, 0x1A, 0x1C, + 0x2C, 0x32, 0x11, 0x78, 0x19, 0x4A, 0x00, 0x29, + 0x07, 0xD1, 0x09, 0xE0, 0x16, 0x4B, 0x1A, 0x1C, + 0x2C, 0x32, 0x11, 0x78, 0x15, 0x4A, 0x00, 0x29, + 0x02, 0xD1, 0xDB, 0x8C, 0x13, 0x80, 0x20, 0xE0, + 0x1B, 0x8D, 0x13, 0x80, 0x1D, 0xE0, 0x19, 0x4B, + 0x1A, 0x78, 0x10, 0x4B, 0x1A, 0x70, 0x18, 0xE0, + 0x17, 0x4B, 0x1A, 0x78, 0x0D, 0x4B, 0x1A, 0x70, + 0x13, 0xE0, 0x16, 0x4B, 0x1A, 0x78, 0x0B, 0x4B, + 0x1A, 0x70, 0x0E, 0xE0, 0x90, 0x3B, 0x9A, 0xB2, + 0x13, 0x2A, 0x0A, 0xD8, 0x09, 0x4A, 0x5B, 0x01, + 0x12, 0x78, 0x06, 0x49, 0x9B, 0x18, 0x10, 0x4A, + 0x9B, 0x18, 0x1A, 0x68, 0x5B, 0x68, 0x0A, 0x60, + 0x4B, 0x60, 0x30, 0xBD, 0x28, 0x00, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x50, + 0x1D, 0x03, 0x00, 0x20, 0x2A, 0x00, 0x00, 0x20, + 0x70, 0x00, 0x00, 0x20, 0x0D, 0x00, 0x00, 0x50, + 0x0E, 0x00, 0x00, 0x50, 0x1C, 0x09, 0x00, 0x20, + 0xB1, 0x09, 0x00, 0x20, 0xFF, 0x5B, 0x00, 0x00, + 0xFF, 0x73, 0x00, 0x00, 0xFF, 0x7B, 0x00, 0x00, + 0xB3, 0x0A, 0x00, 0x20, 0x08, 0xB5, 0x08, 0x4B, + 0x1B, 0x88, 0x86, 0x2B, 0x0B, 0xD1, 0x07, 0x4B, + 0x9A, 0x68, 0x01, 0x2A, 0x02, 0xDC, 0x9A, 0x68, + 0x01, 0x32, 0x9A, 0x60, 0x9B, 0x68, 0x02, 0x2B, + 0x01, 0xD1, 0xFF, 0xF7, 0x71, 0xF8, 0x08, 0xBD, + 0x28, 0x00, 0x00, 0x20, 0x70, 0x00, 0x00, 0x20, + 0x7F, 0xB5, 0x31, 0x4C, 0x03, 0x90, 0x23, 0x78, + 0x0D, 0x1C, 0x16, 0x1C, 0x00, 0x2B, 0x03, 0xD0, + 0x01, 0x20, 0x2E, 0x49, 0xFF, 0xF7, 0x6E, 0xFD, + 0x23, 0x78, 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x21, + 0x08, 0x1C, 0x03, 0xAA, 0x04, 0x23, 0x00, 0x91, + 0xFF, 0xF7, 0x0C, 0xFD, 0x28, 0x4B, 0x03, 0x99, + 0x1B, 0x78, 0x28, 0x4A, 0x00, 0x2B, 0x15, 0xD1, + 0x13, 0x1C, 0x4A, 0x33, 0x00, 0x20, 0x1B, 0x5E, + 0x8E, 0x1B, 0x9E, 0x42, 0x05, 0xDC, 0x13, 0x1C, + 0x4C, 0x33, 0x00, 0x20, 0x1B, 0x5E, 0x9E, 0x42, + 0x08, 0xDA, 0x21, 0x48, 0x01, 0x23, 0x03, 0x70, + 0x20, 0x48, 0x03, 0x70, 0x20, 0x48, 0x03, 0x70, + 0x20, 0x48, 0x03, 0x70, 0x53, 0x78, 0x00, 0x2B, + 0x04, 0xD0, 0x1F, 0x4B, 0x5B, 0x5D, 0x59, 0x43, + 0x89, 0x11, 0x03, 0x91, 0x1D, 0x4B, 0x6A, 0x00, + 0xD0, 0x5A, 0x1D, 0x4B, 0x03, 0x99, 0xD4, 0x5E, + 0xC0, 0x08, 0x14, 0x4A, 0x89, 0xB2, 0x04, 0x1B, + 0x64, 0x1A, 0x56, 0x7C, 0x24, 0xB2, 0x19, 0x4B, + 0xB4, 0x42, 0x02, 0xDC, 0x76, 0x42, 0xB4, 0x42, + 0x02, 0xDA, 0x00, 0x24, 0x5C, 0x55, 0x05, 0xE0, + 0x5C, 0x5D, 0x96, 0x7C, 0xA6, 0x42, 0x01, 0xD0, + 0x01, 0x34, 0x5C, 0x55, 0x43, 0x1A, 0x9B, 0xB2, + 0x92, 0x7E, 0x19, 0xB2, 0x91, 0x42, 0x02, 0xDB, + 0x09, 0x4A, 0x01, 0x21, 0x11, 0x70, 0x0C, 0x4A, + 0x6D, 0x00, 0xAB, 0x52, 0x7F, 0xBD, 0xC0, 0x46, + 0xEB, 0x01, 0x00, 0x20, 0x8B, 0x59, 0x00, 0x00, + 0xE4, 0x01, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x48, 0x11, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, + 0x30, 0x11, 0x00, 0x20, 0xC4, 0x01, 0x00, 0x20, + 0x92, 0x7B, 0x00, 0x00, 0x14, 0x02, 0x00, 0x20, + 0x3C, 0x0D, 0x00, 0x20, 0xA4, 0x0A, 0x00, 0x20, + 0xF0, 0xB5, 0x48, 0x4B, 0x89, 0xB0, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, 0x46, 0x49, + 0xFF, 0xF7, 0xF4, 0xFC, 0x45, 0x4A, 0x00, 0x23, + 0x13, 0x70, 0x45, 0x4A, 0x0C, 0x20, 0x01, 0x38, + 0xC0, 0xB2, 0x81, 0x00, 0x8B, 0x50, 0x00, 0x28, + 0xF9, 0xD1, 0x42, 0x4B, 0x42, 0x4A, 0x18, 0x70, + 0x01, 0x23, 0x13, 0x70, 0x41, 0x4A, 0x13, 0x70, + 0x41, 0x4B, 0x19, 0x7E, 0x04, 0x91, 0xDA, 0x7D, + 0x05, 0x92, 0x1B, 0x7D, 0x06, 0x93, 0x0B, 0x1C, + 0x2D, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x5D, 0x1C, + 0x3C, 0x4C, 0xEA, 0x01, 0x12, 0x19, 0x16, 0x88, + 0x3B, 0x49, 0x5A, 0x00, 0x5C, 0x01, 0x56, 0x52, + 0xAD, 0x01, 0x05, 0x9A, 0x07, 0x94, 0x9C, 0x46, + 0x1A, 0xE0, 0x01, 0x3A, 0xD2, 0xB2, 0x93, 0x1C, + 0xEB, 0x18, 0x36, 0x4C, 0x5B, 0x00, 0x19, 0x5B, + 0x06, 0x9B, 0x00, 0x2B, 0x05, 0xD0, 0xD3, 0x1C, + 0xEB, 0x18, 0x5B, 0x00, 0x1B, 0x5B, 0xC9, 0x18, + 0x49, 0x10, 0x07, 0x9C, 0xA7, 0x18, 0x7B, 0x00, + 0x1C, 0x1C, 0x2F, 0x4B, 0xE1, 0x52, 0x2F, 0x4C, + 0x01, 0x23, 0x89, 0x1B, 0x3B, 0x55, 0x40, 0x18, + 0x00, 0x2A, 0xE2, 0xD1, 0x63, 0x46, 0x00, 0x2B, + 0xCF, 0xD1, 0x25, 0x4B, 0x04, 0x9C, 0xD9, 0x7D, + 0x61, 0x43, 0x01, 0xF0, 0xD5, 0xF8, 0x28, 0x4B, + 0x05, 0x1C, 0x58, 0x8C, 0x27, 0x4C, 0x00, 0x28, + 0x02, 0xD1, 0x40, 0x23, 0x23, 0x60, 0x07, 0xE0, + 0x80, 0x01, 0x29, 0x1C, 0x01, 0xF0, 0xC8, 0xF8, + 0x6E, 0x28, 0x00, 0xDD, 0x6E, 0x20, 0x20, 0x60, + 0x12, 0x4C, 0x23, 0x78, 0x00, 0x2B, 0x03, 0xD0, + 0x00, 0x20, 0x1F, 0x49, 0xFF, 0xF7, 0x8A, 0xFC, + 0x1B, 0x4B, 0x1E, 0x4A, 0x5B, 0x8C, 0x55, 0x80, + 0x13, 0x80, 0x23, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x00, 0x20, + 0x0B, 0x1C, 0xFF, 0xF7, 0x23, 0xFC, 0x18, 0x4B, + 0x18, 0x48, 0x1B, 0x78, 0x00, 0x22, 0x18, 0x49, + 0x04, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x5C, 0x00, + 0xC2, 0x54, 0x62, 0x52, 0x00, 0x2B, 0xF8, 0xD1, + 0x09, 0xB0, 0xF0, 0xBD, 0xEB, 0x01, 0x00, 0x20, + 0x91, 0x59, 0x00, 0x00, 0x1C, 0x03, 0x00, 0x20, + 0xBC, 0x11, 0x00, 0x20, 0xF4, 0x10, 0x00, 0x20, + 0x20, 0x09, 0x00, 0x20, 0x3C, 0x11, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0x02, 0x40, 0x00, 0x40, + 0x94, 0x11, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, + 0xF8, 0x03, 0x00, 0x20, 0xB3, 0x0A, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x78, 0x09, 0x00, 0x20, + 0x9A, 0x59, 0x00, 0x00, 0x54, 0x11, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0xA4, 0x0A, 0x00, 0x20, + 0x14, 0x02, 0x00, 0x20, 0xF0, 0xB5, 0xA0, 0x4A, + 0x00, 0x23, 0x13, 0x70, 0x9F, 0x4A, 0x85, 0xB0, + 0x13, 0x70, 0x9F, 0x4A, 0x13, 0x70, 0x9F, 0x4A, + 0x13, 0x70, 0x9F, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x01, 0x20, 0x9D, 0x49, 0xFF, 0xF7, + 0x31, 0xFC, 0x00, 0x24, 0x9C, 0x4D, 0x9A, 0x4E, + 0x11, 0xE0, 0x33, 0x78, 0x00, 0x2B, 0x0C, 0xD0, + 0xEB, 0x7D, 0x29, 0x7D, 0x99, 0x48, 0xC9, 0x18, + 0xE2, 0x01, 0x00, 0x23, 0x12, 0x18, 0x00, 0x93, + 0xC9, 0xB2, 0x01, 0x20, 0x02, 0x23, 0xFF, 0xF7, + 0xC5, 0xFB, 0x01, 0x34, 0xE4, 0xB2, 0x29, 0x7E, + 0x8C, 0x42, 0xEA, 0xD3, 0x92, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x00, 0xD1, 0x0D, 0xE1, 0x91, 0x4B, + 0x1A, 0x78, 0x00, 0x2A, 0x1F, 0xD1, 0x90, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x1B, 0xD0, 0xEB, 0x7D, + 0x8E, 0x4C, 0x07, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x5D, 0x01, 0x2D, 0x18, 0x2A, 0x55, 0x00, 0x2B, + 0xF8, 0xD1, 0x03, 0x1C, 0x58, 0x1E, 0xC0, 0xB2, + 0x00, 0x2B, 0x01, 0xD0, 0x0B, 0x1C, 0xF6, 0xE7, + 0x87, 0x4A, 0x86, 0x48, 0x12, 0x78, 0x49, 0x01, + 0x03, 0xE0, 0x01, 0x3A, 0xD2, 0xB2, 0x8C, 0x18, + 0x23, 0x54, 0x00, 0x2A, 0xF9, 0xD1, 0x80, 0x4B, + 0x7E, 0x4A, 0x19, 0x78, 0x1B, 0x78, 0x11, 0x70, + 0x00, 0x2B, 0x70, 0xD0, 0x78, 0x4B, 0x1A, 0x7E, + 0xD9, 0x7D, 0x02, 0x92, 0x1B, 0x7D, 0x03, 0x93, + 0x22, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x59, 0x1C, + 0x89, 0x01, 0xC8, 0x19, 0x79, 0x4C, 0x03, 0x9D, + 0x40, 0x00, 0x00, 0x5B, 0x00, 0x2D, 0x04, 0xD0, + 0x89, 0x19, 0x49, 0x00, 0x09, 0x5B, 0x40, 0x18, + 0x40, 0x10, 0x59, 0x01, 0x89, 0x18, 0x74, 0x4D, + 0x4C, 0x00, 0x65, 0x5B, 0x6F, 0x4C, 0xED, 0x08, + 0x0C, 0x5D, 0x28, 0x1A, 0x84, 0x42, 0x04, 0xDA, + 0xFF, 0x28, 0x00, 0xDD, 0xFF, 0x20, 0x6B, 0x4D, + 0x68, 0x54, 0x00, 0x2B, 0xDD, 0xD1, 0x11, 0x1C, + 0x4A, 0x1E, 0xD2, 0xB2, 0x00, 0x29, 0x03, 0xD0, + 0x02, 0x9B, 0x97, 0x1C, 0xD6, 0x1C, 0xF4, 0xE7, + 0x5F, 0x4A, 0x65, 0x4B, 0x17, 0x7E, 0x1B, 0x78, + 0x62, 0x49, 0x7F, 0x01, 0x10, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0x64, 0x4E, 0x5A, 0x00, 0x94, 0x5B, + 0xF8, 0x18, 0x45, 0x56, 0x26, 0xB2, 0x2A, 0x1C, + 0xB5, 0x42, 0x00, 0xDA, 0x22, 0x1C, 0x12, 0xB2, + 0xFF, 0x2A, 0x00, 0xDD, 0xFF, 0x22, 0x42, 0x54, + 0x00, 0x2B, 0xEC, 0xD1, 0x50, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x03, 0x20, 0x5A, 0x49, + 0xFF, 0xF7, 0x94, 0xFB, 0x00, 0x24, 0x4E, 0x4D, + 0x4B, 0x4E, 0x0E, 0xE0, 0x33, 0x78, 0x00, 0x2B, + 0x09, 0xD0, 0x50, 0x4B, 0x62, 0x01, 0xD2, 0x18, + 0x00, 0x23, 0xE9, 0x7D, 0x03, 0x20, 0x00, 0x93, + 0x01, 0x23, 0xFF, 0xF7, 0x2B, 0xFB, 0x01, 0x34, + 0xE4, 0xB2, 0x2B, 0x7E, 0xA3, 0x42, 0xED, 0xD8, + 0x40, 0x4A, 0x01, 0x23, 0x13, 0x70, 0x3D, 0x4A, + 0x13, 0x70, 0x3B, 0x4A, 0x13, 0x70, 0x3E, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x6D, 0xD0, 0x49, 0x4B, + 0x1B, 0x68, 0x58, 0x02, 0x69, 0xD5, 0x3C, 0x4A, + 0x80, 0x24, 0x16, 0x7D, 0x13, 0x7E, 0xD2, 0x7D, + 0x45, 0x4D, 0xB6, 0x18, 0xF6, 0xB2, 0x24, 0x06, + 0xB4, 0x46, 0x18, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x42, 0x49, 0x5A, 0x00, 0x5F, 0x1C, 0x56, 0x5A, + 0xBF, 0x01, 0x62, 0x46, 0x0D, 0xE0, 0x01, 0x3A, + 0xD2, 0xB2, 0x91, 0x1C, 0x79, 0x18, 0x37, 0x48, + 0x49, 0x00, 0x09, 0x5A, 0x89, 0x1B, 0x8C, 0x42, + 0x00, 0xDA, 0x0C, 0x1C, 0x8D, 0x42, 0x00, 0xDD, + 0x0D, 0x1C, 0x00, 0x2A, 0xEF, 0xD1, 0x00, 0x2B, + 0xE4, 0xD1, 0x16, 0x20, 0x36, 0x49, 0xFF, 0xF7, + 0x45, 0xFB, 0x25, 0x4B, 0x35, 0x4A, 0x1B, 0x78, + 0x14, 0x80, 0x55, 0x80, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x16, 0x20, + 0x0B, 0x1C, 0xFF, 0xF7, 0xDF, 0xFA, 0x26, 0x4B, + 0x80, 0x20, 0x1B, 0x78, 0x2A, 0x49, 0x00, 0x06, + 0x2D, 0x4E, 0x2E, 0x4D, 0x19, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0xF7, 0x5C, 0x7A, 0x1C, 0x94, 0x46, + 0x64, 0x46, 0xEA, 0x5C, 0xA4, 0x01, 0xA4, 0x46, + 0x02, 0x32, 0x62, 0x44, 0x1D, 0x4C, 0x52, 0x00, + 0x12, 0x5B, 0x22, 0x4C, 0x7F, 0x00, 0x94, 0x46, + 0x3A, 0x5B, 0x64, 0x46, 0xA2, 0x1A, 0x90, 0x42, + 0x00, 0xDA, 0x10, 0x1C, 0x91, 0x42, 0x00, 0xDD, + 0x11, 0x1C, 0x00, 0x2B, 0xE3, 0xD1, 0x0C, 0x4B, + 0x1C, 0x4A, 0x1B, 0x78, 0x10, 0x80, 0x51, 0x80, + 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x23, 0x02, 0x21, + 0x00, 0x93, 0x16, 0x20, 0x0B, 0x1C, 0xFF, 0xF7, + 0xAD, 0xFA, 0x05, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0xAC, 0x09, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, + 0x30, 0x11, 0x00, 0x20, 0x48, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0xAB, 0x59, 0x00, 0x00, + 0xAE, 0x09, 0x00, 0x20, 0x84, 0x40, 0x00, 0x40, + 0x1C, 0x03, 0x00, 0x20, 0xE1, 0x01, 0x00, 0x20, + 0xE3, 0x01, 0x00, 0x20, 0x64, 0x0E, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, + 0xF8, 0x03, 0x00, 0x20, 0x3C, 0x0D, 0x00, 0x20, + 0xAF, 0x59, 0x00, 0x00, 0x58, 0x00, 0x00, 0x20, + 0xFF, 0xFF, 0xFF, 0x7F, 0x94, 0x11, 0x00, 0x20, + 0xB5, 0x59, 0x00, 0x00, 0x54, 0x11, 0x00, 0x20, + 0x30, 0x75, 0x00, 0x00, 0x2A, 0x75, 0x00, 0x00, + 0xF0, 0xB5, 0xB3, 0x4B, 0xA5, 0xB0, 0x1B, 0x78, + 0x00, 0x2B, 0x00, 0xD0, 0x01, 0xE2, 0xB1, 0x4A, + 0xB1, 0x4C, 0x12, 0x78, 0xB1, 0x4D, 0xB2, 0x4E, + 0x64, 0x7C, 0x52, 0xB2, 0x6B, 0x60, 0x2B, 0x60, + 0x6B, 0x82, 0x6B, 0x81, 0x2B, 0x82, 0x2B, 0x81, + 0x33, 0x60, 0xB3, 0x60, 0x1B, 0x92, 0xAD, 0x4F, + 0xFF, 0x22, 0xAD, 0x4B, 0x72, 0x60, 0xF2, 0x60, + 0x11, 0x94, 0x3F, 0x7E, 0x1B, 0x78, 0xA9, 0x4C, + 0x09, 0x97, 0x0B, 0x93, 0xE4, 0x7D, 0xA4, 0x4D, + 0x08, 0x94, 0x46, 0x23, 0xED, 0x5E, 0xA2, 0x4F, + 0x0E, 0x95, 0x48, 0x23, 0xFF, 0x5E, 0xA3, 0x4C, + 0x0F, 0x97, 0x24, 0x7D, 0x2D, 0x23, 0x0C, 0x94, + 0x9D, 0x4D, 0xA2, 0x4E, 0x11, 0x9F, 0x6D, 0x78, + 0x36, 0x68, 0x7F, 0x42, 0x9A, 0x4C, 0x0D, 0x95, + 0x12, 0x96, 0x1D, 0x97, 0xA4, 0x7C, 0x98, 0x4D, + 0x22, 0x94, 0xEB, 0x5C, 0x1B, 0x9E, 0x13, 0x93, + 0x10, 0x23, 0x9B, 0x1B, 0x1E, 0x93, 0x18, 0x27, + 0xEF, 0x57, 0x1C, 0x20, 0x14, 0x97, 0x28, 0x56, + 0x19, 0x21, 0x18, 0x90, 0x69, 0x56, 0x00, 0x23, + 0x00, 0x22, 0x00, 0x24, 0x23, 0x91, 0x05, 0x93, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0xFF, 0x20, + 0x00, 0x21, 0xFF, 0x23, 0x06, 0x92, 0x17, 0x94, + 0x10, 0x95, 0x1A, 0x96, 0x15, 0x97, 0x19, 0x90, + 0x21, 0x91, 0x1F, 0x92, 0x16, 0x93, 0x1C, 0x94, + 0x09, 0x9C, 0x00, 0x2C, 0x00, 0xD1, 0x27, 0xE1, + 0x09, 0x9B, 0x89, 0x4D, 0x01, 0x3B, 0xDB, 0xB2, + 0x09, 0x93, 0x5B, 0x00, 0x5B, 0x5B, 0x08, 0x9E, + 0x0A, 0x93, 0x00, 0x2E, 0xF0, 0xD0, 0x09, 0x9F, + 0x84, 0x48, 0x01, 0x37, 0xFB, 0x01, 0x1B, 0x18, + 0x1B, 0x88, 0x0A, 0x99, 0x0E, 0x9C, 0x5A, 0x1A, + 0x94, 0x42, 0x00, 0xDA, 0x92, 0xE1, 0x0F, 0x9D, + 0x95, 0x42, 0x00, 0xDD, 0x8B, 0xE1, 0x09, 0x9E, + 0xBF, 0x01, 0x01, 0x21, 0x02, 0x25, 0x00, 0x22, + 0x70, 0x01, 0x03, 0x97, 0x2C, 0xE0, 0x7A, 0x4D, + 0x84, 0x18, 0x64, 0x00, 0x6E, 0x46, 0x18, 0x27, + 0x2C, 0x5B, 0xBD, 0x5F, 0xE4, 0x1A, 0xAC, 0x42, + 0x01, 0xDD, 0xA7, 0xB2, 0x06, 0x97, 0x6E, 0x46, + 0x14, 0x27, 0xBD, 0x5F, 0xAC, 0x42, 0x01, 0xDA, + 0xA4, 0xB2, 0x05, 0x94, 0x82, 0x18, 0x70, 0x4F, + 0x52, 0x00, 0xBB, 0x52, 0x08, 0x9A, 0xCB, 0xB2, + 0x9A, 0x42, 0xBD, 0xD9, 0x03, 0x9A, 0x8D, 0x1C, + 0x53, 0x19, 0x6C, 0x4C, 0x5B, 0x00, 0x1B, 0x5B, + 0x0A, 0x9E, 0x0E, 0x9F, 0x0A, 0x1C, 0x9C, 0x1B, + 0xBC, 0x42, 0x00, 0xDD, 0x38, 0xE1, 0x0F, 0x9E, + 0x01, 0x31, 0xB4, 0x42, 0x00, 0xDA, 0xD1, 0xE0, + 0x0C, 0x9F, 0x00, 0x2F, 0x07, 0xD0, 0x03, 0x9E, + 0xD4, 0x1C, 0x34, 0x19, 0x61, 0x4F, 0x64, 0x00, + 0xE4, 0x5B, 0xE3, 0x18, 0x5B, 0x10, 0x0D, 0x9C, + 0x00, 0x2C, 0x06, 0xD0, 0x5E, 0x4E, 0x84, 0x18, + 0xA4, 0x5D, 0x12, 0x9F, 0x63, 0x43, 0x7B, 0x43, + 0x1B, 0x13, 0x0B, 0x9C, 0x00, 0x2C, 0xBA, 0xD0, + 0x86, 0x18, 0x57, 0x4F, 0x74, 0x00, 0x3F, 0x5B, + 0xBC, 0x46, 0x58, 0x4F, 0xBC, 0x57, 0x66, 0x46, + 0xF6, 0x08, 0x34, 0x1B, 0x07, 0x94, 0x6F, 0x46, + 0x18, 0x24, 0x04, 0x96, 0xE7, 0x5F, 0x07, 0x9E, + 0xF4, 0x1A, 0xBC, 0x42, 0x01, 0xDD, 0xA7, 0xB2, + 0x06, 0x97, 0x6E, 0x46, 0x14, 0x27, 0xBE, 0x5F, + 0xB4, 0x42, 0x01, 0xDA, 0xA6, 0xB2, 0x05, 0x96, + 0x11, 0x9F, 0xBC, 0x42, 0x5D, 0xDD, 0x84, 0x18, + 0xA4, 0x46, 0x4B, 0x4C, 0x00, 0x27, 0x66, 0x46, + 0x37, 0x55, 0x04, 0x9F, 0x13, 0x9E, 0xFC, 0x1A, + 0x00, 0x2E, 0x08, 0xD0, 0x1B, 0x9F, 0x07, 0x9C, + 0x1E, 0x9E, 0x7B, 0x43, 0x74, 0x43, 0x04, 0x9F, + 0x1C, 0x19, 0x24, 0x11, 0x3C, 0x1B, 0x23, 0x1C, + 0x7F, 0x33, 0x17, 0xDA, 0x3F, 0x4E, 0x82, 0x18, + 0x80, 0x23, 0xB3, 0x54, 0x23, 0x9A, 0x21, 0x9E, + 0xA3, 0x1A, 0xF6, 0x18, 0x21, 0x96, 0x1F, 0xAF, + 0x00, 0x23, 0xFB, 0x5E, 0x9C, 0x42, 0x01, 0xDC, + 0xA4, 0xB2, 0x1F, 0x94, 0x03, 0x9A, 0x35, 0x4C, + 0x55, 0x19, 0x6D, 0x00, 0x00, 0x27, 0x2B, 0x5B, + 0x2F, 0x53, 0x83, 0xE7, 0x83, 0x18, 0x7E, 0x2C, + 0x36, 0xDD, 0x32, 0x4E, 0x7F, 0x27, 0xF7, 0x54, + 0x14, 0x9F, 0xBC, 0x42, 0x03, 0xDB, 0x17, 0x9E, + 0xE3, 0x1B, 0xF6, 0x18, 0x17, 0x96, 0x10, 0xAF, + 0x00, 0x23, 0xFB, 0x5E, 0x9C, 0x42, 0x24, 0xDC, + 0xA3, 0xB2, 0x18, 0x9E, 0xB4, 0x42, 0x11, 0xDB, + 0x1A, 0x9F, 0x09, 0x9C, 0xA7, 0x42, 0x00, 0xDA, + 0x1A, 0x94, 0x16, 0x9E, 0x09, 0x9C, 0xA6, 0x42, + 0x00, 0xDD, 0x16, 0x94, 0x15, 0x9E, 0x96, 0x42, + 0x00, 0xDA, 0x15, 0x92, 0x19, 0x9F, 0xBA, 0x42, + 0x00, 0xDA, 0x19, 0x92, 0x03, 0x9A, 0x1D, 0x4C, + 0x55, 0x19, 0x6D, 0x00, 0x2A, 0x5B, 0x2B, 0x53, + 0x54, 0xE7, 0x1D, 0x9E, 0x87, 0x18, 0xB4, 0x42, + 0x0E, 0xDA, 0x1B, 0x4C, 0x00, 0x26, 0x3E, 0x55, + 0x9F, 0xE7, 0xA3, 0xB2, 0x10, 0x93, 0xD8, 0xE7, + 0x16, 0x4E, 0xF4, 0x54, 0x00, 0x2C, 0xC7, 0xDA, + 0x23, 0x9F, 0xBC, 0x42, 0xAF, 0xDC, 0xA9, 0xE7, + 0x13, 0x4E, 0x20, 0x97, 0xBC, 0x5D, 0x22, 0x9E, + 0x67, 0xB2, 0xB7, 0x42, 0x8D, 0xD0, 0x20, 0x9F, + 0x0F, 0x4E, 0x01, 0x34, 0xBC, 0x55, 0x88, 0xE7, + 0xAC, 0x09, 0x00, 0x20, 0x4C, 0x00, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x70, 0x01, 0x00, 0x20, + 0xE4, 0x10, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x1C, 0x03, 0x00, 0x20, 0x78, 0x09, 0x00, 0x20, + 0x94, 0x11, 0x00, 0x20, 0x04, 0x40, 0x00, 0x40, + 0xF8, 0x03, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, + 0x12, 0x79, 0x00, 0x00, 0x64, 0x0E, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0x09, 0x9C, 0x01, 0x27, + 0x1C, 0x97, 0x00, 0x2C, 0x00, 0xD0, 0xD7, 0xE6, + 0x6D, 0x46, 0x6F, 0x46, 0x18, 0x26, 0x14, 0x20, + 0x76, 0x5B, 0xC0, 0x5B, 0x41, 0x4D, 0x17, 0x99, + 0x10, 0xAC, 0x2F, 0x1C, 0x2E, 0x82, 0x68, 0x82, + 0x29, 0x60, 0x25, 0x88, 0x21, 0x9B, 0x3C, 0x1C, + 0x3D, 0x81, 0x1A, 0x9E, 0x3C, 0x4F, 0x63, 0x60, + 0x1F, 0xAC, 0x25, 0x88, 0xBE, 0x60, 0x16, 0x98, + 0x15, 0x99, 0x19, 0x9A, 0x37, 0x4C, 0x0B, 0x9E, + 0xF8, 0x60, 0x39, 0x60, 0x7A, 0x60, 0x65, 0x81, + 0x00, 0x2E, 0x24, 0xD0, 0x35, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x34, 0x4B, 0x1B, 0x68, + 0x00, 0x2B, 0x1C, 0xDD, 0x33, 0x4C, 0x23, 0x78, + 0x00, 0x2B, 0x56, 0xD1, 0x32, 0x4F, 0x3B, 0x7E, + 0x00, 0x2B, 0x14, 0xD0, 0x31, 0x4D, 0x09, 0x9F, + 0x01, 0x26, 0x23, 0x78, 0x00, 0x2B, 0x08, 0xD0, + 0x2D, 0x48, 0x7A, 0x01, 0xC1, 0x7D, 0x52, 0x19, + 0x03, 0x20, 0x01, 0x23, 0x00, 0x96, 0xFF, 0xF7, + 0xAD, 0xF8, 0x29, 0x49, 0x01, 0x37, 0x0B, 0x7E, + 0xFF, 0xB2, 0xBB, 0x42, 0xED, 0xD8, 0x26, 0x4C, + 0x23, 0x7D, 0x00, 0x2B, 0x13, 0xD0, 0x22, 0x7E, + 0xE4, 0x7D, 0x01, 0x3A, 0x24, 0x49, 0xD2, 0xB2, + 0x02, 0x34, 0x00, 0x20, 0x53, 0x1C, 0x9B, 0x01, + 0x1B, 0x19, 0x5B, 0x00, 0x01, 0x3A, 0x5D, 0x5A, + 0xD2, 0xB2, 0x5D, 0x5A, 0x58, 0x52, 0xF5, 0xE7, + 0x01, 0x26, 0x1C, 0x96, 0x74, 0xE6, 0x1D, 0x4D, + 0x1D, 0x4E, 0xAB, 0x7E, 0x32, 0x68, 0x13, 0x4F, + 0x53, 0x43, 0x08, 0x21, 0x79, 0x5E, 0x1B, 0x48, + 0x9B, 0x11, 0x1B, 0x4A, 0xCD, 0x17, 0xDC, 0x0F, + 0x00, 0x78, 0x99, 0x42, 0x65, 0x41, 0x15, 0x70, + 0x00, 0x28, 0x0A, 0xD1, 0x1C, 0x9C, 0x00, 0x2C, + 0x07, 0xD0, 0x01, 0x23, 0x13, 0x70, 0x15, 0x4A, + 0x15, 0x49, 0x13, 0x70, 0x15, 0x4A, 0x0B, 0x70, + 0x13, 0x70, 0x25, 0xB0, 0xF0, 0xBD, 0x01, 0x25, + 0x1C, 0x95, 0x51, 0xE6, 0x01, 0x24, 0x1C, 0x94, + 0x4E, 0xE6, 0x03, 0x20, 0x10, 0x49, 0xFF, 0xF7, + 0xBD, 0xF8, 0xA3, 0xE7, 0x70, 0x01, 0x00, 0x20, + 0xE4, 0x10, 0x00, 0x20, 0xDE, 0x01, 0x00, 0x20, + 0x20, 0x01, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0x64, 0x0E, 0x00, 0x20, + 0x00, 0x40, 0x00, 0x40, 0x48, 0x0D, 0x00, 0x20, + 0x78, 0x09, 0x00, 0x20, 0xE4, 0x01, 0x00, 0x20, + 0x14, 0x09, 0x00, 0x20, 0x30, 0x11, 0x00, 0x20, + 0x48, 0x11, 0x00, 0x20, 0xC4, 0x01, 0x00, 0x20, + 0xF0, 0x59, 0x00, 0x00, 0xF0, 0xB5, 0x2F, 0x4B, + 0x85, 0xB0, 0x1C, 0x78, 0x2E, 0x4D, 0x2F, 0x4E, + 0x10, 0xE0, 0x01, 0x3C, 0xE4, 0xB2, 0x2B, 0x57, + 0x32, 0x57, 0x59, 0x1C, 0x02, 0x32, 0x89, 0x01, + 0x89, 0x18, 0x2B, 0x4A, 0x49, 0x00, 0x88, 0x5A, + 0x2A, 0x4A, 0x5B, 0x00, 0x9A, 0x5A, 0x21, 0x1C, + 0xFF, 0xF7, 0x0A, 0xFB, 0x00, 0x2C, 0xEC, 0xD1, + 0x27, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x08, 0xD0, + 0x20, 0x4B, 0x03, 0x20, 0x19, 0x78, 0x01, 0x23, + 0x00, 0x93, 0x24, 0x4A, 0x02, 0x23, 0xFF, 0xF7, + 0x1D, 0xF8, 0x23, 0x4B, 0x1E, 0x49, 0x18, 0x78, + 0x9A, 0x78, 0x84, 0x1C, 0x03, 0x92, 0xDE, 0x78, + 0x00, 0x23, 0x02, 0x94, 0x0D, 0xE0, 0xA4, 0x01, + 0xE4, 0x19, 0x64, 0x00, 0x65, 0x5A, 0x00, 0x25, + 0x65, 0x52, 0x01, 0x32, 0x02, 0xE0, 0x02, 0x9C, + 0x00, 0x22, 0xE7, 0x18, 0xB4, 0x1A, 0xF2, 0xD1, + 0x01, 0x33, 0x03, 0x9D, 0x1A, 0x18, 0xAA, 0x42, + 0xF5, 0xDB, 0x15, 0x4B, 0x10, 0x49, 0x58, 0x78, + 0xDE, 0x78, 0x42, 0x1C, 0x01, 0x23, 0x5B, 0x42, + 0x02, 0x92, 0x00, 0x22, 0x9F, 0x1C, 0x08, 0xE0, + 0x02, 0x9D, 0xAC, 0x18, 0xA4, 0x01, 0xE4, 0x19, + 0x64, 0x00, 0x65, 0x5A, 0x00, 0x25, 0x65, 0x52, + 0x01, 0x32, 0x14, 0x18, 0xB4, 0x42, 0xF3, 0xDB, + 0x03, 0x9A, 0x01, 0x33, 0x93, 0x42, 0xEC, 0xDB, + 0x05, 0xB0, 0xF0, 0xBD, 0x7C, 0x09, 0x00, 0x20, + 0x30, 0x75, 0x00, 0x00, 0x2A, 0x75, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x40, 0x94, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x3C, 0x0D, 0x00, 0x20, + 0x0A, 0x03, 0x00, 0x20, 0x30, 0xB5, 0x0C, 0x4B, + 0x0C, 0x4C, 0xDB, 0x78, 0x0C, 0x49, 0x10, 0xE0, + 0x01, 0x3B, 0xDB, 0xB2, 0x5A, 0x1C, 0x0B, 0x4D, + 0xD2, 0x01, 0x52, 0x19, 0x45, 0x1C, 0x03, 0xD1, + 0x15, 0x88, 0x5A, 0x00, 0x55, 0x52, 0x04, 0xE0, + 0x15, 0x88, 0x5A, 0x01, 0x12, 0x18, 0x52, 0x00, + 0x15, 0x53, 0x00, 0x2B, 0xEC, 0xD1, 0x30, 0xBD, + 0x0A, 0x03, 0x00, 0x20, 0xF8, 0x03, 0x00, 0x20, + 0x94, 0x11, 0x00, 0x20, 0x02, 0x40, 0x00, 0x40, + 0xF0, 0xB5, 0x8D, 0xB0, 0x0A, 0x91, 0x0B, 0x92, + 0x63, 0x4B, 0x41, 0x1C, 0x0C, 0xD1, 0x63, 0x4A, + 0x63, 0x49, 0x12, 0x7E, 0x01, 0x3A, 0x03, 0x92, + 0xDA, 0x78, 0x5E, 0x78, 0x54, 0x00, 0x00, 0x23, + 0x55, 0x1C, 0x64, 0x18, 0x94, 0x46, 0x0E, 0xE0, + 0xDC, 0x7B, 0x5A, 0x79, 0xA2, 0x18, 0x01, 0x3A, + 0x10, 0xE0, 0x5C, 0x4A, 0xE9, 0x18, 0xC9, 0x01, + 0x89, 0x18, 0x0A, 0x88, 0x5F, 0x00, 0xE2, 0x53, + 0x0A, 0x88, 0x00, 0x22, 0x0A, 0x80, 0x01, 0x3B, + 0x67, 0x46, 0xDA, 0x19, 0xB2, 0x42, 0xF0, 0xDA, + 0x03, 0x9A, 0x00, 0x24, 0x56, 0x01, 0x54, 0x4D, + 0x36, 0x18, 0x00, 0x23, 0x76, 0x00, 0x11, 0x1C, + 0x08, 0x93, 0x07, 0x93, 0x06, 0x93, 0x05, 0x93, + 0x03, 0x95, 0x09, 0x96, 0xA4, 0x46, 0x55, 0xE0, + 0x44, 0x1C, 0x04, 0xD1, 0x4A, 0x4C, 0x56, 0x00, + 0x34, 0x19, 0xE4, 0x5A, 0x04, 0xE0, 0x4B, 0x4C, + 0x09, 0x9F, 0x3E, 0x19, 0x5C, 0x01, 0x34, 0x5B, + 0x4E, 0x1C, 0x46, 0x4F, 0x04, 0x96, 0xF6, 0x01, + 0xF6, 0x19, 0x37, 0x88, 0x24, 0xB2, 0x3E, 0xB2, + 0x45, 0x4F, 0xA6, 0x1B, 0x54, 0x00, 0xE7, 0x19, + 0xF4, 0x17, 0xFE, 0x52, 0x36, 0x19, 0x66, 0x40, + 0x0F, 0x1C, 0x01, 0x24, 0xA7, 0x43, 0xB9, 0x42, + 0x09, 0xD1, 0x07, 0x9C, 0xA4, 0x19, 0x07, 0x94, + 0xB5, 0x42, 0x00, 0xDD, 0x35, 0x1C, 0x06, 0x9F, + 0xB7, 0x42, 0x0B, 0xDB, 0x0D, 0xE0, 0x08, 0x9C, + 0x03, 0x9F, 0xA4, 0x19, 0x08, 0x94, 0xB7, 0x42, + 0x00, 0xDD, 0x03, 0x96, 0x05, 0x9C, 0xB4, 0x42, + 0x02, 0xDB, 0x02, 0xE0, 0x06, 0x96, 0x00, 0xE0, + 0x05, 0x96, 0x04, 0x9E, 0xF4, 0x01, 0x2F, 0x4E, + 0xA4, 0x19, 0x47, 0x1C, 0x0E, 0xD1, 0x27, 0x88, + 0x2B, 0x4E, 0x04, 0x97, 0x57, 0x00, 0xBE, 0x19, + 0x02, 0x96, 0x10, 0x27, 0x6E, 0x46, 0xBF, 0x5B, + 0x02, 0x9E, 0xF7, 0x52, 0x26, 0x88, 0x00, 0x26, + 0x26, 0x80, 0x05, 0xE0, 0x27, 0x88, 0x27, 0x4E, + 0x09, 0x9C, 0xA6, 0x19, 0x5C, 0x01, 0x37, 0x53, + 0x01, 0x39, 0x02, 0x3B, 0x61, 0x45, 0xA7, 0xDA, + 0x01, 0x30, 0x13, 0xD1, 0x23, 0x4C, 0x23, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x01, 0x20, 0x22, 0x49, + 0xFE, 0xF7, 0x70, 0xFF, 0x23, 0x78, 0x00, 0x2B, + 0x08, 0xD0, 0x17, 0x4B, 0x01, 0x20, 0xD9, 0x78, + 0x00, 0x23, 0x00, 0x93, 0x16, 0x4A, 0x02, 0x23, + 0xFE, 0xF7, 0x0C, 0xFF, 0x07, 0x9E, 0x08, 0x9F, + 0x0A, 0x9C, 0xF3, 0x19, 0x23, 0x60, 0x05, 0x9E, + 0x03, 0x9F, 0x06, 0x9C, 0xF3, 0x1B, 0x65, 0x1B, + 0x9D, 0x42, 0x00, 0xDA, 0x1D, 0x1C, 0x0B, 0x9E, + 0x12, 0x4C, 0x35, 0x60, 0x23, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x0B, 0x20, 0x11, 0x49, 0xFE, 0xF7, + 0x4D, 0xFF, 0x23, 0x78, 0x00, 0x2B, 0x08, 0xD0, + 0x06, 0x4B, 0x0B, 0x20, 0x19, 0x7E, 0x01, 0x23, + 0x00, 0x93, 0x09, 0x4A, 0x02, 0x23, 0xFE, 0xF7, + 0xE9, 0xFE, 0x0D, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0x0A, 0x03, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x94, 0x11, 0x00, 0x20, 0x02, 0x40, 0x00, 0x40, + 0xFF, 0xFF, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x20, + 0x54, 0x11, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0xC6, 0x59, 0x00, 0x00, 0xCD, 0x59, 0x00, 0x00, + 0xF0, 0xB5, 0xA6, 0x4B, 0x85, 0xB0, 0x1D, 0x78, + 0x00, 0x2D, 0x29, 0xD0, 0xA4, 0x4B, 0xA5, 0x4C, + 0x18, 0x78, 0xA5, 0x4B, 0x46, 0xB2, 0x19, 0x68, + 0x5B, 0x68, 0xB2, 0x00, 0xCB, 0x18, 0x13, 0x51, + 0x82, 0x1D, 0xD2, 0xB2, 0x00, 0x25, 0x06, 0x23, + 0x01, 0x3B, 0xDB, 0xB2, 0xF1, 0x1A, 0x00, 0xD5, + 0x0C, 0x31, 0x89, 0x00, 0x09, 0x59, 0x6D, 0x18, + 0x11, 0x1C, 0x0B, 0x2A, 0x01, 0xD9, 0x0C, 0x39, + 0xC9, 0xB2, 0x89, 0x00, 0x61, 0x58, 0x01, 0x3A, + 0x6D, 0x1A, 0xD2, 0xB2, 0x00, 0x2B, 0xEB, 0xD1, + 0x01, 0x30, 0x93, 0x4A, 0xC0, 0xB2, 0x10, 0x70, + 0x40, 0xB2, 0x0B, 0x28, 0x00, 0xDD, 0x13, 0x70, + 0x92, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x00, 0xD0, + 0x15, 0xE1, 0x91, 0x4B, 0x14, 0x21, 0x5B, 0x5E, + 0x9D, 0x42, 0x02, 0xDA, 0x8F, 0x4B, 0x01, 0x22, + 0x1A, 0x70, 0x8B, 0x4B, 0x10, 0x22, 0x9E, 0x5E, + 0x12, 0x24, 0x1B, 0x5F, 0xF6, 0x1A, 0x85, 0x4B, + 0x18, 0x78, 0x00, 0x28, 0x16, 0xD1, 0x8A, 0x4B, + 0x8A, 0x4F, 0x1B, 0x68, 0x8A, 0x4C, 0xBB, 0x80, + 0x23, 0x78, 0x3E, 0x80, 0x00, 0x2B, 0x02, 0xD0, + 0x88, 0x49, 0xFE, 0xF7, 0xD7, 0xFE, 0x23, 0x78, + 0x00, 0x2B, 0x07, 0xD0, 0x01, 0x23, 0x02, 0x21, + 0x00, 0x93, 0x00, 0x20, 0x3A, 0x1C, 0x0B, 0x1C, + 0xFE, 0xF7, 0x74, 0xFE, 0x7C, 0x4B, 0x9A, 0x7D, + 0x96, 0x42, 0x07, 0xDC, 0x80, 0x4B, 0x1A, 0x78, + 0x51, 0xB2, 0x02, 0x29, 0x08, 0xDC, 0x01, 0x32, + 0x1A, 0x70, 0x05, 0xE0, 0xDB, 0x7D, 0x9E, 0x42, + 0x02, 0xDB, 0x7B, 0x4B, 0x00, 0x22, 0x1A, 0x70, + 0x71, 0x4B, 0x76, 0x4A, 0x59, 0x68, 0x1B, 0x68, + 0x15, 0x80, 0xCB, 0x18, 0x53, 0x80, 0x74, 0x4B, + 0x96, 0x80, 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x00, 0x93, 0x19, 0x20, 0x03, 0x21, + 0x02, 0x23, 0xFE, 0xF7, 0x4F, 0xFE, 0x6B, 0x4B, + 0x64, 0x4C, 0x1B, 0x78, 0x00, 0x2B, 0x61, 0xD0, + 0x6B, 0x4D, 0x2B, 0x78, 0x00, 0x2B, 0x03, 0xD0, + 0x19, 0x20, 0x6C, 0x49, 0xFE, 0xF7, 0x9A, 0xFE, + 0x69, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x05, 0xD1, + 0x22, 0x78, 0x00, 0x2A, 0x52, 0xD0, 0x61, 0x4A, + 0x13, 0x70, 0x4F, 0xE0, 0x03, 0x2B, 0x4D, 0xD1, + 0x2B, 0x78, 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, + 0x63, 0x49, 0xFE, 0xF7, 0x87, 0xFE, 0x55, 0x4B, + 0x62, 0x4A, 0x19, 0x78, 0x00, 0x29, 0x1A, 0xD1, + 0x01, 0x20, 0x18, 0x70, 0x13, 0x7E, 0xD6, 0x7D, + 0x5F, 0x4D, 0x60, 0x4A, 0x0B, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0xF8, 0x18, 0x44, 0x00, 0xA1, 0x5A, + 0xC9, 0x00, 0xA1, 0x52, 0x00, 0x21, 0x41, 0x55, + 0x00, 0x2B, 0xF4, 0xD1, 0x63, 0x46, 0x59, 0x1E, + 0xC9, 0xB2, 0x00, 0x2B, 0x23, 0xD0, 0x33, 0x1C, + 0x4F, 0x01, 0x8C, 0x46, 0xF4, 0xE7, 0x13, 0x7E, + 0xD6, 0x7D, 0x54, 0x4A, 0x0E, 0xE0, 0x01, 0x3B, + 0x51, 0x4D, 0xDB, 0xB2, 0xFC, 0x18, 0x60, 0x00, + 0x64, 0x57, 0xE4, 0x00, 0x02, 0x94, 0x84, 0x5A, + 0x02, 0x9D, 0x64, 0x1B, 0x84, 0x52, 0x00, 0x2B, + 0xF1, 0xD1, 0x0B, 0x1C, 0x59, 0x1E, 0xC9, 0xB2, + 0x00, 0x2B, 0x02, 0xD0, 0x33, 0x1C, 0x4F, 0x01, + 0xF5, 0xE7, 0x3A, 0x4A, 0x11, 0x1C, 0x30, 0x31, + 0x08, 0xC2, 0x8A, 0x42, 0xFC, 0xD1, 0x3B, 0x4B, + 0x00, 0x22, 0x1A, 0x70, 0x44, 0x4B, 0x01, 0x22, + 0x1A, 0x70, 0x60, 0xE0, 0x22, 0x78, 0x43, 0x4B, + 0x00, 0x2A, 0x06, 0xD1, 0x40, 0x4A, 0x01, 0x21, + 0x11, 0x70, 0x1A, 0x68, 0x52, 0x18, 0x1A, 0x60, + 0x55, 0xE0, 0x00, 0x22, 0x1A, 0x60, 0x39, 0x4B, + 0x3D, 0x48, 0x1C, 0x7E, 0xDB, 0x7D, 0x39, 0x49, + 0x02, 0x93, 0x2D, 0x4B, 0x9B, 0x7C, 0x03, 0x93, + 0x11, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0xF2, 0x18, + 0x14, 0x56, 0x03, 0x9D, 0xAC, 0x42, 0x07, 0xD1, + 0x31, 0x4D, 0x54, 0x00, 0x57, 0x57, 0x65, 0x5A, + 0xEF, 0x1B, 0x67, 0x52, 0x00, 0x24, 0x14, 0x54, + 0x00, 0x2B, 0xEE, 0xD1, 0x64, 0x46, 0x65, 0x1E, + 0xED, 0xB2, 0x00, 0x2C, 0x03, 0xD0, 0x02, 0x9B, + 0x6E, 0x01, 0xAC, 0x46, 0xF4, 0xE7, 0x2D, 0x4B, + 0x1B, 0x68, 0x5D, 0x07, 0x2B, 0xD5, 0x20, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x22, 0xD0, 0x02, 0x20, + 0x29, 0x49, 0xFE, 0xF7, 0x03, 0xFE, 0x1D, 0xE0, + 0xE9, 0x7D, 0x62, 0x01, 0x0B, 0x1C, 0x21, 0x48, + 0x02, 0x92, 0x08, 0xE0, 0x01, 0x3B, 0x02, 0x9A, + 0xDB, 0xB2, 0xD2, 0x18, 0x52, 0x00, 0x12, 0x5A, + 0x5F, 0x00, 0xD2, 0x08, 0xBA, 0x53, 0x00, 0x2B, + 0xF4, 0xD1, 0x13, 0x4A, 0x12, 0x78, 0x00, 0x2A, + 0x05, 0xD0, 0x02, 0x20, 0x00, 0x93, 0x0F, 0x4A, + 0x03, 0x1C, 0xFE, 0xF7, 0x8F, 0xFD, 0x01, 0x34, + 0xE4, 0xB2, 0x01, 0xE0, 0x11, 0x4D, 0x0B, 0x4E, + 0x2B, 0x7E, 0xA3, 0x42, 0xDC, 0xD8, 0x05, 0xB0, + 0xF0, 0xBD, 0xC0, 0x46, 0x1C, 0x03, 0x00, 0x20, + 0xF4, 0x10, 0x00, 0x20, 0xBC, 0x11, 0x00, 0x20, + 0x70, 0x01, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x3C, 0x11, 0x00, 0x20, + 0x34, 0x11, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0xD2, 0x59, 0x00, 0x00, + 0x20, 0x09, 0x00, 0x20, 0xD9, 0x59, 0x00, 0x00, + 0xE2, 0x59, 0x00, 0x00, 0xAE, 0x09, 0x00, 0x20, + 0x64, 0x0E, 0x00, 0x20, 0xF8, 0x03, 0x00, 0x20, + 0x48, 0x11, 0x00, 0x20, 0xBC, 0x01, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0x58, 0x00, 0x00, 0x20, + 0xEB, 0x59, 0x00, 0x00, 0xF0, 0xB5, 0x25, 0x4B, + 0x87, 0xB0, 0x1B, 0x78, 0x00, 0x2B, 0x2B, 0xD1, + 0x23, 0x4A, 0x24, 0x4B, 0x90, 0x7C, 0x1B, 0x78, + 0x04, 0x90, 0xD2, 0x7E, 0x22, 0x4D, 0x52, 0xB2, + 0x92, 0xB2, 0x05, 0x92, 0x21, 0x4A, 0x1D, 0xE0, + 0x01, 0x3B, 0x21, 0x4C, 0xDB, 0xB2, 0xE1, 0x5C, + 0x04, 0x9F, 0xB9, 0x42, 0x16, 0xD1, 0x59, 0x00, + 0x88, 0x5A, 0x00, 0x28, 0x07, 0xD0, 0x6E, 0x5A, + 0x6F, 0x46, 0x34, 0xB2, 0xA4, 0x46, 0x14, 0x24, + 0xE7, 0x5F, 0xBC, 0x45, 0x05, 0xDA, 0x59, 0x00, + 0x6E, 0x5A, 0xF6, 0x00, 0x80, 0x1B, 0x50, 0x52, + 0x01, 0xE0, 0x80, 0x1B, 0x88, 0x52, 0x14, 0x4F, + 0x00, 0x21, 0xF9, 0x54, 0x00, 0x2B, 0xDF, 0xD1, + 0x0E, 0x4B, 0x12, 0x4C, 0x19, 0x78, 0x0F, 0x48, + 0x0B, 0x1C, 0x05, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x5A, 0x00, 0x15, 0x5A, 0xED, 0x08, 0x15, 0x53, + 0x00, 0x2B, 0xF7, 0xD1, 0x0C, 0x4A, 0x12, 0x78, + 0x00, 0x2A, 0x05, 0xD0, 0x02, 0x20, 0x00, 0x93, + 0x08, 0x4A, 0x03, 0x1C, 0xFE, 0xF7, 0x0E, 0xFD, + 0x07, 0xB0, 0xF0, 0xBD, 0x30, 0x11, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0x3C, 0x0D, 0x00, 0x20, 0x14, 0x02, 0x00, 0x20, + 0xA4, 0x0A, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x10, 0xB5, 0x09, 0x49, + 0x50, 0x22, 0x09, 0x48, 0x00, 0xF0, 0xE2, 0xF9, + 0x08, 0x4C, 0x09, 0x49, 0x20, 0x1C, 0x42, 0x22, + 0x00, 0xF0, 0xDC, 0xF9, 0x07, 0x4B, 0xA2, 0x7B, + 0x1A, 0x60, 0xE3, 0x7D, 0xE3, 0x76, 0x23, 0x7E, + 0x23, 0x77, 0x10, 0xBD, 0x4A, 0x74, 0x00, 0x00, + 0x48, 0x0D, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x08, 0x74, 0x00, 0x00, 0x50, 0x11, 0x00, 0x20, + 0x08, 0xB5, 0x04, 0x49, 0x04, 0x4B, 0x41, 0x43, + 0x04, 0x48, 0xC9, 0x18, 0x00, 0xF0, 0x60, 0xF9, + 0xC0, 0xB2, 0x08, 0xBD, 0x44, 0xFE, 0xFF, 0xFF, + 0xFE, 0x24, 0x02, 0x00, 0x40, 0x42, 0x0F, 0x00, + 0x10, 0xB5, 0x15, 0x4C, 0x00, 0x23, 0x23, 0x71, + 0x03, 0x23, 0x63, 0x71, 0x02, 0x23, 0x23, 0x72, + 0x12, 0x4B, 0x98, 0x78, 0x02, 0x38, 0x03, 0x28, + 0x1D, 0xD8, 0x00, 0xF0, 0xE7, 0xF8, 0x0B, 0x04, + 0x02, 0x14, 0xC7, 0x20, 0x00, 0xE0, 0xD7, 0x20, + 0xE0, 0x70, 0xFF, 0xF7, 0xD9, 0xFF, 0x02, 0x23, + 0x20, 0x70, 0x0E, 0xE0, 0xF4, 0x20, 0xE0, 0x70, + 0xFF, 0xF7, 0xD2, 0xFF, 0x02, 0x23, 0x20, 0x70, + 0xA3, 0x71, 0x01, 0x23, 0x06, 0xE0, 0xF4, 0x20, + 0xE0, 0x70, 0xFF, 0xF7, 0xC9, 0xFF, 0x01, 0x23, + 0x20, 0x70, 0xA3, 0x71, 0xE3, 0x71, 0x10, 0xBD, + 0xAA, 0x0A, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0xF0, 0xB5, 0x59, 0x4B, 0x87, 0xB0, 0x1A, 0x68, + 0x58, 0x4B, 0x08, 0x2A, 0x01, 0xD1, 0x01, 0x22, + 0x00, 0xE0, 0x00, 0x22, 0x1A, 0x70, 0x56, 0x4B, + 0x56, 0x4C, 0x01, 0x33, 0xDB, 0x7F, 0x00, 0x2B, + 0x00, 0xD1, 0xE3, 0x71, 0x23, 0x78, 0x01, 0x25, + 0xA2, 0x79, 0x28, 0x1C, 0xD9, 0x00, 0x90, 0x40, + 0x82, 0xB2, 0xCB, 0x1A, 0x53, 0x43, 0x50, 0x4E, + 0xDB, 0x10, 0xDB, 0xB2, 0x33, 0x80, 0x22, 0x78, + 0xFA, 0x23, 0xA0, 0x79, 0x9B, 0x00, 0x53, 0x43, + 0x4C, 0x4F, 0x29, 0x1C, 0x81, 0x40, 0x88, 0xB2, + 0xB9, 0x88, 0x58, 0x43, 0x09, 0x01, 0x00, 0xF0, + 0xFB, 0xF8, 0xC1, 0xB2, 0x71, 0x80, 0x23, 0x78, + 0x2D, 0x22, 0xA0, 0x79, 0x53, 0x43, 0x2A, 0x1C, + 0x82, 0x40, 0x90, 0xB2, 0x58, 0x43, 0x6B, 0x46, + 0x19, 0x81, 0x09, 0x01, 0x00, 0xF0, 0xEC, 0xF8, + 0xC0, 0xB2, 0xB0, 0x80, 0x23, 0x7A, 0xB9, 0x79, + 0xD8, 0x00, 0x18, 0x1A, 0xA9, 0x40, 0xC0, 0x00, + 0x49, 0x19, 0xE0, 0x30, 0x48, 0x43, 0xA2, 0x79, + 0x6C, 0x46, 0x08, 0x21, 0x61, 0x5E, 0x90, 0x40, + 0x49, 0x01, 0x00, 0xF0, 0x8B, 0xF8, 0x34, 0x4A, + 0xF0, 0x80, 0x11, 0x7D, 0xD0, 0x7D, 0x36, 0x4B, + 0x08, 0x18, 0xC0, 0xB2, 0x18, 0x70, 0x17, 0x7E, + 0x5F, 0x70, 0x56, 0x7E, 0x01, 0x96, 0x96, 0x7F, + 0x01, 0x9C, 0x66, 0x43, 0xF4, 0xB2, 0x20, 0x18, + 0xC0, 0xB2, 0x98, 0x70, 0x02, 0x90, 0x96, 0x7E, + 0x03, 0x96, 0x03, 0x98, 0xD6, 0x7F, 0x46, 0x43, + 0xF0, 0xB2, 0xC7, 0x19, 0xFF, 0xB2, 0xDF, 0x70, + 0xD6, 0x7E, 0xB4, 0x46, 0x61, 0x44, 0x61, 0x18, + 0xC9, 0xB2, 0x19, 0x71, 0x16, 0x7F, 0x80, 0x19, + 0x02, 0x9E, 0xC0, 0xB2, 0x74, 0x1A, 0x3F, 0x1A, + 0xE6, 0xB2, 0xFF, 0xB2, 0x58, 0x71, 0x9E, 0x71, + 0xDF, 0x71, 0xBC, 0x46, 0x57, 0x7D, 0xEC, 0x1B, + 0x04, 0x97, 0x27, 0x1C, 0x77, 0x43, 0xFF, 0xB2, + 0x05, 0x97, 0x9F, 0x73, 0x97, 0x7D, 0x64, 0x46, + 0xED, 0x1B, 0x65, 0x43, 0x47, 0x43, 0x04, 0x9C, + 0x5F, 0x74, 0x4C, 0x43, 0x18, 0x72, 0x6F, 0x46, + 0x14, 0x20, 0xC7, 0x5D, 0xED, 0xB2, 0xE4, 0xB2, + 0xDD, 0x73, 0x1C, 0x74, 0x5D, 0x72, 0x99, 0x72, + 0xDF, 0x72, 0x1E, 0x73, 0x5C, 0x73, 0x51, 0x7F, + 0x12, 0x4B, 0x00, 0x29, 0x03, 0xD0, 0x69, 0x46, + 0x09, 0x79, 0x19, 0x70, 0x03, 0xE0, 0x01, 0x9C, + 0x03, 0x9E, 0x74, 0x43, 0x1C, 0x70, 0x93, 0x1C, + 0x03, 0x32, 0x02, 0x9F, 0xD2, 0x7F, 0xDB, 0x7F, + 0xBA, 0x18, 0x5B, 0xB2, 0x01, 0x32, 0x9A, 0x40, + 0x09, 0x4B, 0x07, 0xB0, 0x1A, 0x60, 0xF0, 0xBD, + 0x50, 0x11, 0x00, 0x20, 0xFA, 0x02, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xAA, 0x0A, 0x00, 0x20, + 0x04, 0x02, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x0A, 0x03, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0x18, 0x09, 0x00, 0x20, 0x02, 0xB4, 0x71, 0x46, + 0x49, 0x08, 0x49, 0x00, 0x09, 0x5C, 0x49, 0x00, + 0x8E, 0x44, 0x02, 0xBC, 0x70, 0x47, 0xC0, 0x46, + 0x03, 0xB4, 0x71, 0x46, 0x49, 0x08, 0x40, 0x00, + 0x49, 0x00, 0x09, 0x5A, 0x49, 0x00, 0x8E, 0x44, + 0x03, 0xBC, 0x70, 0x47, 0x00, 0x29, 0x34, 0xD0, + 0x01, 0x23, 0x00, 0x22, 0x10, 0xB4, 0x88, 0x42, + 0x2C, 0xD3, 0x01, 0x24, 0x24, 0x07, 0xA1, 0x42, + 0x04, 0xD2, 0x81, 0x42, 0x02, 0xD2, 0x09, 0x01, + 0x1B, 0x01, 0xF8, 0xE7, 0xE4, 0x00, 0xA1, 0x42, + 0x04, 0xD2, 0x81, 0x42, 0x02, 0xD2, 0x49, 0x00, + 0x5B, 0x00, 0xF8, 0xE7, 0x88, 0x42, 0x01, 0xD3, + 0x40, 0x1A, 0x1A, 0x43, 0x4C, 0x08, 0xA0, 0x42, + 0x02, 0xD3, 0x00, 0x1B, 0x5C, 0x08, 0x22, 0x43, + 0x8C, 0x08, 0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, + 0x9C, 0x08, 0x22, 0x43, 0xCC, 0x08, 0xA0, 0x42, + 0x02, 0xD3, 0x00, 0x1B, 0xDC, 0x08, 0x22, 0x43, + 0x00, 0x28, 0x03, 0xD0, 0x1B, 0x09, 0x01, 0xD0, + 0x09, 0x09, 0xE3, 0xE7, 0x10, 0x1C, 0x10, 0xBC, + 0x70, 0x47, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, + 0xC0, 0x43, 0x07, 0xB4, 0x02, 0x48, 0x02, 0xA1, + 0x40, 0x18, 0x02, 0x90, 0x03, 0xBD, 0xC0, 0x46, + 0xD9, 0x00, 0x00, 0x00, 0x00, 0x29, 0xF0, 0xD0, + 0x03, 0xB5, 0xFF, 0xF7, 0xB9, 0xFF, 0x0E, 0xBC, + 0x42, 0x43, 0x89, 0x1A, 0x18, 0x47, 0xC0, 0x46, + 0x00, 0x29, 0x41, 0xD0, 0x10, 0xB4, 0x04, 0x1C, + 0x4C, 0x40, 0xA4, 0x46, 0x01, 0x23, 0x00, 0x22, + 0x00, 0x29, 0x00, 0xD5, 0x49, 0x42, 0x00, 0x28, + 0x00, 0xD5, 0x40, 0x42, 0x88, 0x42, 0x2C, 0xD3, + 0x01, 0x24, 0x24, 0x07, 0xA1, 0x42, 0x04, 0xD2, + 0x81, 0x42, 0x02, 0xD2, 0x09, 0x01, 0x1B, 0x01, + 0xF8, 0xE7, 0xE4, 0x00, 0xA1, 0x42, 0x04, 0xD2, + 0x81, 0x42, 0x02, 0xD2, 0x49, 0x00, 0x5B, 0x00, + 0xF8, 0xE7, 0x88, 0x42, 0x01, 0xD3, 0x40, 0x1A, + 0x1A, 0x43, 0x4C, 0x08, 0xA0, 0x42, 0x02, 0xD3, + 0x00, 0x1B, 0x5C, 0x08, 0x22, 0x43, 0x8C, 0x08, + 0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, 0x9C, 0x08, + 0x22, 0x43, 0xCC, 0x08, 0xA0, 0x42, 0x02, 0xD3, + 0x00, 0x1B, 0xDC, 0x08, 0x22, 0x43, 0x00, 0x28, + 0x03, 0xD0, 0x1B, 0x09, 0x01, 0xD0, 0x09, 0x09, + 0xE3, 0xE7, 0x10, 0x1C, 0x64, 0x46, 0x00, 0x2C, + 0x00, 0xD5, 0x40, 0x42, 0x10, 0xBC, 0x70, 0x47, + 0x00, 0x28, 0x06, 0xD0, 0x03, 0xDB, 0x00, 0x20, + 0xC0, 0x43, 0x40, 0x08, 0x01, 0xE0, 0x80, 0x20, + 0x00, 0x06, 0x07, 0xB4, 0x02, 0x48, 0x02, 0xA1, + 0x40, 0x18, 0x02, 0x90, 0x03, 0xBD, 0xC0, 0x46, + 0x19, 0x00, 0x00, 0x00, 0x00, 0x29, 0xEB, 0xD0, + 0x03, 0xB5, 0xFF, 0xF7, 0xA7, 0xFF, 0x0E, 0xBC, + 0x42, 0x43, 0x89, 0x1A, 0x18, 0x47, 0xC0, 0x46, + 0x70, 0x47, 0xC0, 0x46, 0xF0, 0xB5, 0x05, 0x1C, + 0x0F, 0x2A, 0x2F, 0xD9, 0x0B, 0x1C, 0x03, 0x43, + 0x05, 0x1C, 0x9C, 0x07, 0x2C, 0xD1, 0x0C, 0x1C, + 0x03, 0x1C, 0x15, 0x1C, 0x26, 0x68, 0x10, 0x3D, + 0x1E, 0x60, 0x66, 0x68, 0x5E, 0x60, 0xA6, 0x68, + 0x9E, 0x60, 0xE6, 0x68, 0x10, 0x34, 0xDE, 0x60, + 0x10, 0x33, 0x0F, 0x2D, 0xF2, 0xD8, 0x13, 0x1C, + 0x10, 0x3B, 0x1B, 0x09, 0x01, 0x33, 0x1B, 0x01, + 0xC5, 0x18, 0xC9, 0x18, 0x0F, 0x23, 0x1A, 0x40, + 0x03, 0x2A, 0x0F, 0xD9, 0x0E, 0x1C, 0x2C, 0x1C, + 0x13, 0x1C, 0x80, 0xCE, 0x04, 0x3B, 0x80, 0xC4, + 0x03, 0x2B, 0xFA, 0xD8, 0x13, 0x1F, 0x9B, 0x08, + 0x01, 0x33, 0x9B, 0x00, 0x03, 0x24, 0x22, 0x40, + 0xC9, 0x18, 0xED, 0x18, 0x00, 0x2A, 0x05, 0xD0, + 0x00, 0x23, 0xCC, 0x5C, 0xEC, 0x54, 0x01, 0x33, + 0x93, 0x42, 0xFA, 0xD1, 0xF0, 0xBD, 0xC0, 0x46, + 0x50, 0x61, 0x6C, 0x6D, 0x20, 0x49, 0x6E, 0x69, + 0x74, 0x00, 0x27, 0x45, 0x6E, 0x74, 0x65, 0x72, + 0x27, 0x20, 0x4E, 0x00, 0x4E, 0x2D, 0x6C, 0x65, + 0x73, 0x73, 0x21, 0x00, 0x27, 0x45, 0x78, 0x69, + 0x74, 0x27, 0x20, 0x4E, 0x00, 0x4E, 0x20, 0x53, + 0x2F, 0x50, 0x00, 0x53, 0x6C, 0x65, 0x65, 0x70, + 0x00, 0x53, 0x2D, 0x72, 0x65, 0x73, 0x65, 0x74, + 0x00, 0x46, 0x41, 0x53, 0x54, 0x00, 0x49, 0x64, + 0x6C, 0x65, 0x00, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x00, 0x53, 0x70, 0x65, 0x63, 0x74, 0x00, + 0x53, 0x74, 0x61, 0x63, 0x6B, 0x21, 0x00, 0x52, + 0x45, 0x47, 0x56, 0x41, 0x4C, 0x00, 0x44, 0x65, + 0x6C, 0x61, 0x79, 0x00, 0x4F, 0x53, 0x43, 0x00, + 0x4E, 0x4F, 0x49, 0x53, 0x45, 0x00, 0x54, 0x6F, + 0x75, 0x63, 0x68, 0x20, 0x4F, 0x6E, 0x00, 0x54, + 0x6F, 0x75, 0x63, 0x68, 0x20, 0x4F, 0x46, 0x46, + 0x00, 0x4C, 0x54, 0x5F, 0x50, 0x52, 0x4F, 0x46, + 0x49, 0x4C, 0x49, 0x4E, 0x47, 0x00, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x00, 0x47, 0x2D, 0x41, 0x66, + 0x74, 0x65, 0x72, 0x00, 0x3D, 0x48, 0x6F, 0x76, + 0x6F, 0x72, 0x00, 0x12, 0x0E, 0x07, 0x0D, 0x0A, + 0x12, 0x04, 0x06, 0x0C, 0x09, 0x12, 0x0F, 0x05, + 0x11, 0x08, 0x12, 0x00, 0x01, 0x10, 0x02, 0x45, + 0x72, 0x72, 0x00, 0x4B, 0x65, 0x79, 0x20, 0x52, + 0x00, 0x52, 0x45, 0x46, 0x20, 0x49, 0x4E, 0x49, + 0x54, 0x00, 0x43, 0x6D, 0x44, 0x65, 0x6C, 0x74, + 0x61, 0x20, 0x52, 0x65, 0x66, 0x2F, 0x52, 0x65, + 0x61, 0x6C, 0x00, 0x52, 0x61, 0x77, 0x00, 0x4D, + 0x41, 0x58, 0x20, 0x49, 0x00, 0x43, 0x4D, 0x5F, + 0x44, 0x45, 0x4C, 0x54, 0x41, 0x5F, 0x4D, 0x41, + 0x58, 0x5F, 0x4D, 0x49, 0x4E, 0x00, 0x54, 0x78, + 0x6C, 0x65, 0x73, 0x73, 0x00, 0x44, 0x69, 0x66, + 0x66, 0x00, 0x44, 0x49, 0x46, 0x46, 0x2F, 0x4E, + 0x00, 0x42, 0x69, 0x67, 0x20, 0x47, 0x72, 0x61, + 0x64, 0x00, 0x4E, 0x65, 0x67, 0x2D, 0x45, 0x64, + 0x67, 0x65, 0x00, 0x52, 0x65, 0x66, 0x00, 0x00, + 0x2D, 0x49, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x01, + 0x00, 0xFF, 0x01, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xA0, 0x0D, 0x00, 0x20, + 0x28, 0x02, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x00, + 0x54, 0x11, 0x00, 0x20, 0x01, 0x02, 0xFF, 0x00, + 0x01, 0x04, 0x00, 0x04, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x45, + 0x4D, 0x31, 0x48, 0x30, 0x50, 0x52, 0x34, 0x35, + 0x08, 0xB5, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, + 0x20, 0xD1, 0x03, 0xE0, 0x10, 0x4A, 0x11, 0x4B, + 0x1A, 0x60, 0x1B, 0xE0, 0x10, 0x4B, 0x1B, 0x68, + 0x10, 0x2B, 0x15, 0xD1, 0x0F, 0x4A, 0x10, 0x4B, + 0x1A, 0x60, 0x10, 0x4A, 0x10, 0x4B, 0x1A, 0x60, + 0x10, 0x4A, 0x11, 0x4B, 0x1A, 0x60, 0x11, 0x4A, + 0x11, 0x4B, 0x1A, 0x60, 0x11, 0x4A, 0x12, 0x4B, + 0x1A, 0x60, 0x12, 0x4A, 0x12, 0x4B, 0x1A, 0x60, + 0x12, 0x4A, 0x13, 0x4B, 0x1A, 0x60, 0x01, 0xE0, + 0xFE, 0xF7, 0xCC, 0xF8, 0x08, 0xBD, 0xC0, 0x46, + 0xD5, 0x5C, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x20, + 0x50, 0x11, 0x00, 0x20, 0x9D, 0x5C, 0x00, 0x00, + 0x68, 0x00, 0x00, 0x20, 0xED, 0x63, 0x00, 0x00, + 0x6C, 0x00, 0x00, 0x20, 0xD1, 0x61, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x20, 0x49, 0x65, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x20, 0x69, 0x5D, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x20, 0x4D, 0x5D, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x20, 0x9F, 0x5C, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x20, 0x70, 0x47, 0xA0, 0x23, + 0xDB, 0x05, 0x01, 0x22, 0x1A, 0x72, 0x09, 0x49, + 0x10, 0x22, 0x1A, 0x72, 0x00, 0x22, 0x0A, 0x70, + 0x1A, 0x72, 0x07, 0x4B, 0x80, 0x22, 0x19, 0x68, + 0x52, 0x00, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x99, 0x68, 0x9A, 0x60, + 0x70, 0x47, 0xC0, 0x46, 0x0C, 0x00, 0x00, 0x20, + 0x14, 0x00, 0x00, 0x20, 0x10, 0xB5, 0x09, 0x28, + 0x0E, 0xD0, 0x14, 0x28, 0x1F, 0xD0, 0x04, 0x28, + 0x22, 0xD1, 0x12, 0x49, 0x00, 0x23, 0x0A, 0x68, + 0x9A, 0x42, 0x02, 0xDD, 0x4B, 0x68, 0xD3, 0x18, + 0xDB, 0x0F, 0x0F, 0x4A, 0x13, 0x70, 0x17, 0xE0, + 0x0E, 0x4B, 0x00, 0x22, 0x1A, 0x60, 0x0E, 0x4B, + 0x0E, 0x4C, 0x1A, 0x78, 0x0E, 0x4B, 0x00, 0x2A, + 0x01, 0xD0, 0x0E, 0x4A, 0x00, 0xE0, 0x0E, 0x4A, + 0x90, 0x7E, 0x19, 0x68, 0x80, 0x01, 0xFF, 0xF7, + 0x3B, 0xFD, 0xA0, 0x76, 0x04, 0xE0, 0x07, 0x48, + 0x09, 0x49, 0x50, 0x22, 0xFF, 0xF7, 0x96, 0xFD, + 0x10, 0xBD, 0xC0, 0x46, 0x70, 0x01, 0x00, 0x20, + 0x3D, 0x11, 0x00, 0x20, 0x38, 0x0D, 0x00, 0x20, + 0xDD, 0x01, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x78, 0x09, 0x00, 0x20, 0x9A, 0x74, 0x00, 0x00, + 0x4A, 0x74, 0x00, 0x00, 0x08, 0xB5, 0x05, 0x4B, + 0x1B, 0x88, 0xDB, 0xB2, 0x10, 0x2B, 0x01, 0xD0, + 0xAF, 0x2B, 0x01, 0xD1, 0xFD, 0xF7, 0xD8, 0xFB, + 0x08, 0xBD, 0xC0, 0x46, 0x28, 0x00, 0x00, 0x20, + 0x38, 0xB5, 0xBE, 0x4A, 0x13, 0x88, 0x1B, 0xB2, + 0xA8, 0x2B, 0x00, 0xD1, 0xB3, 0xE1, 0x40, 0xDC, + 0x0B, 0x2B, 0x00, 0xD1, 0xD9, 0xE0, 0x1E, 0xDC, + 0x06, 0x2B, 0x00, 0xD1, 0xB5, 0xE0, 0x0E, 0xDC, + 0x03, 0x2B, 0x00, 0xD1, 0x99, 0xE0, 0x03, 0xDC, + 0x02, 0x2B, 0x00, 0xD0, 0xC1, 0xE1, 0x87, 0xE0, + 0x04, 0x2B, 0x00, 0xD1, 0x9A, 0xE0, 0x05, 0x2B, + 0x00, 0xD0, 0xBA, 0xE1, 0xA0, 0xE0, 0x08, 0x2B, + 0x00, 0xD1, 0xDC, 0xE0, 0x00, 0xDA, 0xA6, 0xE0, + 0x09, 0x2B, 0x00, 0xD1, 0xA8, 0xE0, 0x0A, 0x2B, + 0x00, 0xD0, 0xAE, 0xE1, 0xB4, 0xE0, 0x30, 0x2B, + 0x00, 0xD1, 0xAC, 0xE0, 0x0A, 0xDC, 0x0D, 0x2B, + 0x00, 0xD1, 0xC2, 0xE0, 0x00, 0xDA, 0xB7, 0xE0, + 0x0F, 0x2B, 0x51, 0xD0, 0x10, 0x2B, 0x00, 0xD0, + 0x9F, 0xE1, 0x58, 0xE0, 0x61, 0x2B, 0x00, 0xD1, + 0x92, 0xE1, 0x03, 0xDC, 0x31, 0x2B, 0x00, 0xD0, + 0x97, 0xE1, 0x8D, 0xE0, 0x62, 0x2B, 0x00, 0xD1, + 0x8F, 0xE1, 0x64, 0x2B, 0x00, 0xD0, 0x90, 0xE1, + 0x81, 0xE1, 0xF4, 0x2B, 0x00, 0xD1, 0xD3, 0xE0, + 0x1E, 0xDC, 0xEF, 0x2B, 0x00, 0xD1, 0x60, 0xE1, + 0x0E, 0xDC, 0xAF, 0x2B, 0x00, 0xD1, 0x4A, 0xE1, + 0x03, 0xDC, 0xAE, 0x2B, 0x00, 0xD0, 0x80, 0xE1, + 0x3E, 0xE1, 0xBF, 0x2B, 0x00, 0xD1, 0x5E, 0xE1, + 0xEE, 0x2B, 0x00, 0xD0, 0x79, 0xE1, 0x4C, 0xE1, + 0xF1, 0x2B, 0x00, 0xD1, 0xA3, 0xE0, 0x00, 0xDA, + 0x9E, 0xE0, 0xF2, 0x2B, 0x00, 0xD1, 0xA6, 0xE0, + 0xF3, 0x2B, 0x00, 0xD0, 0x6D, 0xE1, 0xAB, 0xE0, + 0xF9, 0x2B, 0x00, 0xD1, 0xDF, 0xE0, 0x0B, 0xDC, + 0xF6, 0x2B, 0x00, 0xD1, 0xBF, 0xE0, 0x00, 0xDA, + 0xB3, 0xE0, 0xF7, 0x2B, 0x00, 0xD1, 0xC1, 0xE0, + 0xF8, 0x2B, 0x00, 0xD0, 0x5D, 0xE1, 0xC9, 0xE0, + 0xFB, 0x2B, 0x00, 0xD1, 0xE1, 0xE0, 0x00, 0xDA, + 0xD6, 0xE0, 0xFC, 0x2B, 0x00, 0xD1, 0xE5, 0xE0, + 0xFD, 0x2B, 0x00, 0xD0, 0x51, 0xE1, 0xEA, 0xE0, + 0x7B, 0x4C, 0x23, 0x68, 0x00, 0x2B, 0x01, 0xD1, + 0xFD, 0xF7, 0x46, 0xFB, 0x22, 0x68, 0x79, 0x4B, + 0xD2, 0x00, 0x1A, 0x70, 0x45, 0xE1, 0x78, 0x49, + 0x78, 0x4A, 0x00, 0x23, 0x08, 0x78, 0x75, 0x4D, + 0xC0, 0x18, 0x14, 0x5C, 0x58, 0x19, 0x01, 0x33, + 0x04, 0x70, 0x08, 0x2B, 0xF6, 0xD1, 0x38, 0xE1, + 0x73, 0x4A, 0x0F, 0x23, 0x26, 0x20, 0x11, 0x5E, + 0x28, 0x25, 0x52, 0x5F, 0x09, 0x11, 0x12, 0x12, + 0x99, 0x43, 0x13, 0x40, 0x6B, 0x4A, 0xCB, 0x18, + 0x13, 0x70, 0x68, 0x4B, 0x1A, 0x88, 0x03, 0x23, + 0x12, 0xB2, 0x9A, 0x1A, 0x6A, 0x4B, 0x19, 0x8D, + 0x66, 0x4B, 0xD1, 0x54, 0x63, 0x4B, 0x1A, 0x88, + 0x04, 0x23, 0x12, 0xB2, 0x9A, 0x1A, 0x66, 0x4B, + 0xD9, 0x8C, 0x62, 0x4B, 0xD1, 0x54, 0x18, 0xE1, + 0x64, 0x4B, 0xDA, 0x8C, 0x5F, 0x4B, 0x1A, 0x70, + 0x13, 0xE1, 0x62, 0x4B, 0x34, 0x33, 0x1A, 0x78, + 0x5C, 0x4B, 0x1A, 0x70, 0x0D, 0xE1, 0x5E, 0x4B, + 0xDA, 0x7B, 0x5A, 0x4B, 0x1A, 0x70, 0x08, 0xE1, + 0x5D, 0x4B, 0x1A, 0x78, 0x57, 0x4B, 0x00, 0x2A, + 0x02, 0xD0, 0x02, 0x22, 0x1A, 0x70, 0x00, 0xE1, + 0x01, 0x22, 0x1A, 0x70, 0xFD, 0xE0, 0x58, 0x4B, + 0x1A, 0x78, 0x52, 0x4B, 0x1A, 0x70, 0xF8, 0xE0, + 0x56, 0x4B, 0x1A, 0x78, 0x4F, 0x4B, 0x1A, 0x70, + 0xF3, 0xE0, 0x12, 0x88, 0x54, 0x49, 0x12, 0xB2, + 0x9B, 0x1A, 0x09, 0x78, 0x4B, 0x4A, 0x99, 0x54, + 0x48, 0x4B, 0x1A, 0x88, 0x50, 0x4B, 0x12, 0xB2, + 0x59, 0x78, 0x0C, 0x23, 0x9A, 0x1A, 0x47, 0x4B, + 0xD1, 0x54, 0x44, 0x4B, 0x1A, 0x88, 0x4D, 0x4B, + 0x12, 0xB2, 0x19, 0x78, 0x0D, 0x23, 0x9A, 0x1A, + 0x42, 0x4B, 0xD1, 0x54, 0xD9, 0xE0, 0x45, 0x4B, + 0xDA, 0x8D, 0x40, 0x4B, 0x1A, 0x70, 0xD4, 0xE0, + 0x3E, 0x4B, 0x41, 0x22, 0x1A, 0x70, 0x3B, 0x4B, + 0x06, 0x21, 0x1A, 0x88, 0xF1, 0x23, 0x12, 0xB2, + 0x9A, 0x1A, 0x3A, 0x4B, 0xD1, 0x54, 0x37, 0x4B, + 0x1A, 0x88, 0x3B, 0x4B, 0x12, 0xB2, 0x59, 0x78, + 0xF2, 0x23, 0x9A, 0x1A, 0x35, 0x4B, 0xD1, 0x54, + 0x32, 0x4B, 0x02, 0x21, 0x1A, 0x88, 0xF3, 0x23, + 0x12, 0xB2, 0x9A, 0x1A, 0x31, 0x4B, 0xD1, 0x54, + 0x2E, 0x4B, 0x1A, 0x88, 0x38, 0x4B, 0x12, 0xB2, + 0x19, 0x78, 0xF4, 0x23, 0x9A, 0x1A, 0x2D, 0x4B, + 0xD1, 0x54, 0x2A, 0x4B, 0x1A, 0x88, 0x35, 0x4B, + 0x12, 0xB2, 0x19, 0x78, 0xF5, 0x23, 0x9A, 0x1A, + 0x28, 0x4B, 0xD1, 0x54, 0xA5, 0xE0, 0x28, 0x4B, + 0x29, 0x4A, 0x1B, 0x78, 0xD3, 0x18, 0xDA, 0x78, + 0x24, 0x4B, 0x1A, 0x70, 0x21, 0x4B, 0x26, 0x49, + 0x1A, 0x88, 0x23, 0x4B, 0x12, 0xB2, 0x1B, 0x78, + 0xCB, 0x18, 0x19, 0x79, 0xF7, 0x23, 0x9A, 0x1A, + 0x1E, 0x4B, 0xD1, 0x54, 0x1B, 0x4B, 0x1A, 0x88, + 0x1F, 0x4B, 0x12, 0xB2, 0x59, 0x79, 0xF8, 0x23, + 0x9A, 0x1A, 0x1A, 0x4B, 0xD1, 0x54, 0x17, 0x4B, + 0x1A, 0x88, 0x1B, 0x4B, 0x12, 0xB2, 0x99, 0x79, + 0xF9, 0x23, 0x9A, 0x1A, 0x15, 0x4B, 0xD1, 0x54, + 0x12, 0x4B, 0x1A, 0x88, 0x16, 0x4B, 0x12, 0xB2, + 0xD9, 0x79, 0xFA, 0x23, 0x9A, 0x1A, 0x11, 0x4B, + 0xD1, 0x54, 0x0E, 0x4B, 0x1A, 0x88, 0x12, 0x4B, + 0x12, 0xB2, 0x19, 0x7A, 0xFB, 0x23, 0x9A, 0x1A, + 0x0C, 0x4B, 0xD1, 0x54, 0x09, 0x4B, 0x1A, 0x88, + 0x0D, 0x4B, 0x12, 0xB2, 0x59, 0x7A, 0xFC, 0x23, + 0x9A, 0x1A, 0x08, 0x4B, 0xD1, 0x54, 0x05, 0x4B, + 0x1A, 0x88, 0x09, 0x4B, 0x12, 0xB2, 0x99, 0x7A, + 0xFD, 0x23, 0x9A, 0x1A, 0x03, 0x4B, 0xD1, 0x54, + 0x5B, 0xE0, 0xC0, 0x46, 0x28, 0x00, 0x00, 0x20, + 0x98, 0x0D, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x50, + 0x2A, 0x00, 0x00, 0x20, 0xEC, 0x11, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0xDD, 0x01, 0x00, 0x20, 0xDF, 0x01, 0x00, 0x20, + 0x0A, 0x03, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0xFF, 0x73, 0x00, 0x00, 0xFF, 0x7B, 0x00, 0x00, + 0x20, 0x4B, 0x1A, 0x78, 0x20, 0x4B, 0x1A, 0x70, + 0xFD, 0xF7, 0x36, 0xFA, 0x39, 0xE0, 0x1F, 0x49, + 0x1F, 0x4A, 0x00, 0x23, 0x0C, 0x68, 0x10, 0x78, + 0x1B, 0x4D, 0x20, 0x18, 0xC4, 0x5C, 0x58, 0x19, + 0x01, 0x33, 0x04, 0x70, 0x08, 0x2B, 0xF5, 0xD1, + 0x2B, 0xE0, 0x1A, 0x4B, 0x1A, 0x7E, 0x16, 0x4B, + 0x1A, 0x70, 0x19, 0x4B, 0x1A, 0x88, 0x17, 0x4B, + 0x12, 0xB2, 0xD9, 0x7D, 0xEF, 0x23, 0x9A, 0x1A, + 0x11, 0x4B, 0xD1, 0x54, 0x1D, 0xE0, 0x11, 0x49, + 0x11, 0x4A, 0x00, 0x23, 0x0C, 0x68, 0x10, 0x78, + 0x0D, 0x4D, 0x20, 0x18, 0xC4, 0x5C, 0x58, 0x19, + 0x01, 0x33, 0x04, 0x70, 0x08, 0x2B, 0xF5, 0xD1, + 0xFD, 0xF7, 0x0A, 0xFA, 0x0D, 0xE0, 0x0D, 0x4B, + 0x1A, 0x78, 0x07, 0x4B, 0x1A, 0x70, 0x08, 0xE0, + 0x0B, 0x4B, 0x9A, 0x78, 0x04, 0x4B, 0x1A, 0x70, + 0x03, 0xE0, 0x09, 0x4B, 0xDA, 0x78, 0x02, 0x4B, + 0x1A, 0x70, 0x38, 0xBD, 0xF6, 0x03, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x50, 0x34, 0x0D, 0x00, 0x20, + 0x2A, 0x00, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x28, 0x00, 0x00, 0x20, 0xFF, 0x5B, 0x00, 0x00, + 0x35, 0x00, 0x00, 0x20, 0x08, 0xB5, 0x03, 0x1C, + 0x50, 0x1E, 0x06, 0x28, 0x35, 0xD8, 0xFF, 0xF7, + 0xC1, 0xFA, 0x04, 0x0A, 0x2A, 0x1B, 0x15, 0x2A, + 0x2A, 0x00, 0x18, 0x4A, 0x01, 0x23, 0x13, 0x70, + 0x17, 0x4A, 0x13, 0x70, 0x29, 0xE0, 0x16, 0x4A, + 0x9B, 0x01, 0x59, 0x18, 0x02, 0x20, 0x15, 0x4B, + 0x10, 0x70, 0x49, 0x00, 0x14, 0x4A, 0xC9, 0x18, + 0x11, 0x60, 0x1E, 0xE0, 0xFD, 0xF7, 0xCC, 0xF9, + 0x0E, 0x4B, 0x00, 0x22, 0x1A, 0x70, 0x18, 0xE0, + 0x0D, 0x4A, 0x5B, 0x01, 0x59, 0x18, 0x01, 0x20, + 0x0E, 0x4B, 0x10, 0x70, 0x5A, 0x56, 0x0E, 0x4B, + 0x00, 0x2A, 0x00, 0xDC, 0x00, 0x22, 0x1A, 0x80, + 0x09, 0x4A, 0x13, 0x60, 0x09, 0xE0, 0x06, 0x4A, + 0x02, 0x20, 0x5B, 0x01, 0x10, 0x70, 0xC9, 0x18, + 0x08, 0x4A, 0x49, 0x00, 0x89, 0x18, 0x04, 0x4A, + 0x11, 0x60, 0x08, 0xBD, 0xE5, 0x01, 0x00, 0x20, + 0xF6, 0x03, 0x00, 0x20, 0x84, 0x40, 0x00, 0x40, + 0x34, 0x0D, 0x00, 0x20, 0x64, 0x0E, 0x00, 0x20, + 0x08, 0x03, 0x00, 0x20, 0xF8, 0x03, 0x00, 0x20, + 0xF0, 0xB5, 0x7C, 0x4C, 0x23, 0x23, 0xE3, 0x5C, + 0x8B, 0xB0, 0x00, 0x2B, 0x12, 0xD0, 0x01, 0x3B, + 0xDB, 0xB2, 0x79, 0x4D, 0x79, 0x48, 0x00, 0xE0, + 0x13, 0x1C, 0x9A, 0x00, 0xD2, 0x18, 0x52, 0x00, + 0x82, 0x18, 0x3C, 0x26, 0x91, 0x5F, 0x5A, 0x1E, + 0x4E, 0x1E, 0xB1, 0x41, 0xE9, 0x54, 0xD2, 0xB2, + 0x00, 0x2B, 0xF1, 0xD1, 0xFD, 0xF7, 0xB0, 0xF9, + 0x00, 0x28, 0xFB, 0xD1, 0x23, 0x23, 0xE3, 0x5C, + 0x00, 0x2B, 0x00, 0xD1, 0x98, 0xE0, 0x6E, 0x4A, + 0x60, 0x21, 0x14, 0x78, 0x6D, 0x4A, 0x24, 0x01, + 0x12, 0x78, 0x49, 0x42, 0x21, 0x43, 0x12, 0x01, + 0x20, 0x24, 0x6B, 0x4D, 0x22, 0x43, 0x34, 0x24, + 0x2C, 0x5D, 0x01, 0x33, 0xC9, 0xB2, 0xD2, 0xB2, + 0xDB, 0xB2, 0x06, 0x94, 0x08, 0x91, 0x09, 0x92, + 0x66, 0x48, 0x07, 0x93, 0x00, 0x21, 0x01, 0x22, + 0x00, 0x24, 0x3F, 0xE0, 0x6B, 0x46, 0x10, 0x26, + 0xF3, 0x5E, 0x02, 0x93, 0x02, 0x9B, 0x05, 0x9F, + 0x1B, 0x12, 0x9C, 0x46, 0xE3, 0x00, 0x3E, 0x11, + 0x01, 0x93, 0x67, 0x46, 0x0F, 0x23, 0x1F, 0x40, + 0x02, 0x97, 0x07, 0x79, 0x9E, 0x43, 0x05, 0x97, + 0x5B, 0x4B, 0x01, 0x9F, 0x9C, 0x46, 0x3B, 0x1C, + 0x08, 0x9F, 0x63, 0x44, 0x17, 0x43, 0xBC, 0x46, + 0x02, 0x9F, 0x6D, 0x08, 0x3E, 0x43, 0x2F, 0xB2, + 0x02, 0x97, 0x67, 0x46, 0x1F, 0x70, 0x5E, 0x70, + 0x10, 0x27, 0x6E, 0x46, 0xBE, 0x5D, 0x6F, 0x46, + 0x9E, 0x70, 0x0C, 0x26, 0xF7, 0x5D, 0x6E, 0x46, + 0xDF, 0x70, 0x14, 0x27, 0xBE, 0x5D, 0x00, 0x27, + 0x1E, 0x71, 0x02, 0x9E, 0x5F, 0x71, 0xFF, 0x2E, + 0x00, 0xDD, 0xFF, 0x25, 0x01, 0x34, 0x00, 0x27, + 0x9D, 0x71, 0xDF, 0x71, 0xE4, 0xB2, 0x01, 0x32, + 0x07, 0x9D, 0xD2, 0xB2, 0x0A, 0x30, 0x02, 0x31, + 0xAA, 0x42, 0x3B, 0xD0, 0x00, 0x27, 0xC5, 0x5F, + 0x00, 0x2D, 0x3B, 0xDD, 0x3D, 0x4B, 0x43, 0x4E, + 0x5B, 0x18, 0x9C, 0x46, 0x67, 0x46, 0x3F, 0x8C, + 0x73, 0x18, 0x03, 0x97, 0x18, 0x27, 0xDE, 0x5F, + 0x0C, 0x27, 0x04, 0x96, 0x6E, 0x46, 0xBE, 0x5F, + 0x04, 0x9F, 0x05, 0x96, 0xF6, 0x1B, 0xF7, 0x17, + 0xF6, 0x19, 0x7E, 0x40, 0x02, 0x96, 0x66, 0x46, + 0xB6, 0x88, 0x9F, 0x88, 0x04, 0x96, 0xBC, 0x46, + 0x02, 0x9E, 0x06, 0x9F, 0xBE, 0x42, 0x9D, 0xDA, + 0x10, 0x26, 0x6F, 0x46, 0xF7, 0x5F, 0x02, 0x97, + 0x02, 0x9E, 0x67, 0x46, 0x3F, 0xB2, 0xF6, 0x1B, + 0xF7, 0x17, 0xF6, 0x19, 0x7E, 0x40, 0xB4, 0x46, + 0x06, 0x9E, 0x66, 0x45, 0x92, 0xDD, 0x2C, 0x27, + 0xDB, 0x5F, 0x00, 0x2B, 0x8E, 0xDD, 0x01, 0x32, + 0x07, 0x9D, 0xD2, 0xB2, 0x0A, 0x30, 0x02, 0x31, + 0xAA, 0x42, 0xC3, 0xD1, 0x00, 0x2C, 0x37, 0xD1, + 0x0B, 0xB0, 0xF0, 0xBD, 0x25, 0x4B, 0x5B, 0x18, + 0x9C, 0x46, 0x2C, 0x25, 0x5B, 0x5F, 0x00, 0x2B, + 0xB1, 0xDD, 0x66, 0x46, 0x05, 0x27, 0xF7, 0x57, + 0x35, 0x8B, 0xB6, 0x88, 0x04, 0x97, 0xE3, 0x00, + 0x03, 0x96, 0x04, 0x9E, 0x05, 0x93, 0x0F, 0x23, + 0x33, 0x40, 0x2F, 0xB2, 0x9C, 0x46, 0x3F, 0x11, + 0x0F, 0x23, 0x9F, 0x43, 0x02, 0x97, 0x05, 0x9E, + 0x17, 0x4F, 0x01, 0x34, 0xF3, 0x19, 0x09, 0x9E, + 0x02, 0x9F, 0x16, 0x43, 0x04, 0x96, 0x66, 0x46, + 0x37, 0x43, 0xA4, 0x46, 0x10, 0x26, 0x6C, 0x46, + 0x34, 0x5D, 0x5F, 0x70, 0x6E, 0x46, 0x0C, 0x27, + 0xBE, 0x5D, 0x00, 0x27, 0x1C, 0x70, 0x9E, 0x70, + 0xDD, 0x70, 0x1F, 0x71, 0x5F, 0x71, 0x9F, 0x71, + 0xDF, 0x71, 0x63, 0x46, 0xDC, 0xB2, 0x82, 0xE7, + 0x0B, 0x4B, 0x1C, 0x60, 0xFD, 0xF7, 0x7E, 0xF8, + 0xC2, 0xE7, 0xC0, 0x46, 0xAE, 0x09, 0x00, 0x20, + 0xEC, 0x01, 0x00, 0x20, 0x9C, 0x0D, 0x00, 0x20, + 0xF5, 0x00, 0x00, 0x20, 0xF4, 0x00, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0xD8, 0x0D, 0x00, 0x20, + 0xEC, 0x11, 0x00, 0x20, 0x20, 0x01, 0x00, 0x20, + 0x98, 0x0D, 0x00, 0x20, 0x10, 0xB5, 0x04, 0x1C, + 0xFD, 0xF7, 0xBA, 0xF8, 0x00, 0x28, 0xFB, 0xD1, + 0x0A, 0x4B, 0x01, 0x2C, 0x02, 0xD0, 0x02, 0x2C, + 0x05, 0xD1, 0x02, 0xE0, 0x0F, 0x22, 0x1A, 0x70, + 0x01, 0xE0, 0x0E, 0x22, 0x1A, 0x70, 0x00, 0x22, + 0x5A, 0x70, 0x9A, 0x70, 0xDA, 0x70, 0x04, 0x4B, + 0x01, 0x22, 0x1A, 0x60, 0xFD, 0xF7, 0x4E, 0xF8, + 0x10, 0xBD, 0xC0, 0x46, 0xEC, 0x11, 0x00, 0x20, + 0x98, 0x0D, 0x00, 0x20, 0x38, 0xB5, 0x50, 0x28, + 0x05, 0xD1, 0x3B, 0x4B, 0x01, 0x20, 0x18, 0x60, + 0xFF, 0xF7, 0xE6, 0xFB, 0x6F, 0xE0, 0x39, 0x4B, + 0x40, 0x28, 0x01, 0xD1, 0x01, 0x24, 0x1C, 0x70, + 0x1B, 0x78, 0x00, 0x2B, 0x67, 0xD0, 0x41, 0x38, + 0x0E, 0x28, 0x64, 0xD8, 0xFF, 0xF7, 0x3A, 0xF9, + 0x08, 0x12, 0x08, 0x2D, 0x08, 0x47, 0x63, 0x63, + 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x5E, 0x00, + 0x2F, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x2F, 0x4B, + 0x1A, 0x80, 0x2F, 0x4A, 0x13, 0x60, 0xFD, 0xF7, + 0x21, 0xF8, 0x50, 0xE0, 0x2A, 0x48, 0x2C, 0x4B, + 0xFF, 0x2A, 0x0B, 0xD1, 0x2B, 0x4A, 0xC9, 0x01, + 0x12, 0x78, 0x52, 0x00, 0xD2, 0xB2, 0x02, 0x70, + 0x29, 0x4A, 0x89, 0x18, 0x19, 0x60, 0xFD, 0xF7, + 0x11, 0xF8, 0x40, 0xE0, 0x89, 0x01, 0x8A, 0x18, + 0x25, 0x49, 0x52, 0x00, 0x02, 0x24, 0x52, 0x18, + 0x04, 0x70, 0x1A, 0x60, 0xFD, 0xF7, 0x06, 0xF8, + 0x35, 0xE0, 0x1D, 0x4C, 0x1E, 0x4B, 0x21, 0x48, + 0xFF, 0x2A, 0x0A, 0xD1, 0x1D, 0x4A, 0x89, 0x01, + 0x12, 0x78, 0x40, 0x18, 0x52, 0x00, 0xD2, 0xB2, + 0x22, 0x70, 0x18, 0x60, 0xFC, 0xF7, 0xF6, 0xFF, + 0x25, 0xE0, 0x49, 0x01, 0x52, 0x18, 0x52, 0x00, + 0x02, 0x25, 0x80, 0x18, 0x25, 0x70, 0x18, 0x60, + 0xFC, 0xF7, 0xEC, 0xFF, 0x1B, 0xE0, 0x10, 0x4C, + 0x11, 0x4B, 0x15, 0x48, 0xFF, 0x2A, 0x08, 0xD1, + 0x10, 0x4A, 0x49, 0x01, 0x92, 0x78, 0x40, 0x18, + 0x22, 0x70, 0x18, 0x60, 0xFC, 0xF7, 0xDE, 0xFF, + 0x0D, 0xE0, 0x49, 0x01, 0x52, 0x18, 0x01, 0x25, + 0x80, 0x18, 0x25, 0x70, 0x18, 0x60, 0xFC, 0xF7, + 0xD5, 0xFF, 0x04, 0xE0, 0x0B, 0x4A, 0x00, 0x23, + 0x13, 0x70, 0x02, 0x4A, 0x13, 0x70, 0x38, 0xBD, + 0x50, 0x11, 0x00, 0x20, 0xE5, 0x01, 0x00, 0x20, + 0xF6, 0x03, 0x00, 0x20, 0x08, 0x03, 0x00, 0x20, + 0x34, 0x0D, 0x00, 0x20, 0x0A, 0x03, 0x00, 0x20, + 0x84, 0x40, 0x00, 0x40, 0xF8, 0x03, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0x1D, 0x03, 0x00, 0x20, + 0x08, 0xB5, 0x3C, 0x4B, 0x1B, 0x88, 0x30, 0x2B, + 0x16, 0xD0, 0x06, 0xD8, 0x09, 0x2B, 0x26, 0xD0, + 0x0A, 0x2B, 0x3B, 0xD0, 0x01, 0x2B, 0x6B, 0xD1, + 0x06, 0xE0, 0xA0, 0x2B, 0x40, 0xD0, 0xB0, 0x2B, + 0x5A, 0xD0, 0x5F, 0x2B, 0x64, 0xD1, 0x4D, 0xE0, + 0x33, 0x4A, 0x11, 0x78, 0x0E, 0x22, 0x11, 0x42, + 0x5E, 0xD1, 0x32, 0x4A, 0x13, 0x70, 0x5B, 0xE0, + 0x2F, 0x4B, 0x31, 0x4A, 0x1B, 0x78, 0x12, 0x78, + 0x01, 0x2B, 0x05, 0xD1, 0x00, 0x2A, 0x53, 0xD1, + 0x2E, 0x4A, 0x53, 0x60, 0x93, 0x60, 0x4F, 0xE0, + 0x01, 0x2A, 0x4D, 0xD1, 0x2B, 0x4B, 0x00, 0x21, + 0x59, 0x60, 0x9A, 0x60, 0x48, 0xE0, 0x2A, 0x4B, + 0x34, 0x33, 0x1B, 0x78, 0x00, 0x2B, 0x43, 0xD0, + 0x23, 0x4B, 0x1B, 0x78, 0x01, 0x2B, 0x05, 0xD1, + 0x26, 0x4A, 0x13, 0x70, 0x22, 0x4B, 0x00, 0x22, + 0x1A, 0x70, 0x39, 0xE0, 0x02, 0x2B, 0x37, 0xD1, + 0x22, 0x4A, 0x01, 0x23, 0x13, 0x70, 0x1E, 0x4A, + 0x13, 0x70, 0x31, 0xE0, 0x20, 0x4B, 0x1A, 0x78, + 0x00, 0x2A, 0x02, 0xD1, 0x01, 0x22, 0x1A, 0x70, + 0x2A, 0xE0, 0x00, 0x22, 0x1A, 0x70, 0x27, 0xE0, + 0x15, 0x4B, 0x1C, 0x4A, 0x18, 0x78, 0x1C, 0x4B, + 0x1A, 0x28, 0x06, 0xD1, 0x19, 0x78, 0x1B, 0x4B, + 0x10, 0x78, 0x1A, 0x78, 0xFF, 0xF7, 0x9E, 0xFD, + 0x1A, 0xE0, 0x11, 0x78, 0x1A, 0x78, 0xFF, 0xF7, + 0x11, 0xFF, 0x15, 0xE0, 0x0C, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x11, 0xD0, 0x14, 0x4B, 0x08, 0x22, + 0x1A, 0x60, 0xFB, 0xF7, 0xC9, 0xF9, 0x0B, 0xE0, + 0x07, 0x4B, 0x1B, 0x78, 0x1A, 0x2B, 0x07, 0xD1, + 0x0C, 0x4B, 0x18, 0x78, 0x0C, 0x4B, 0x19, 0x78, + 0x0C, 0x4B, 0x1A, 0x78, 0xFF, 0xF7, 0x82, 0xFD, + 0x08, 0xBD, 0xC0, 0x46, 0x28, 0x00, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x50, 0xE8, 0x01, 0x00, 0x20, + 0xDD, 0x01, 0x00, 0x20, 0xF8, 0x08, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xDC, 0x01, 0x00, 0x20, + 0xDF, 0x01, 0x00, 0x20, 0x0E, 0x00, 0x00, 0x50, + 0x0D, 0x00, 0x00, 0x50, 0x10, 0x00, 0x00, 0x50, + 0x50, 0x11, 0x00, 0x20, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0x02, + 0x4D, 0x31, 0x48, 0x30, 0x50, 0x42, 0x34, 0x35, + 0x02, 0x44, 0x01, 0x47, 0x46, 0x46, 0x34, 0x37, + 0x37, 0x00, 0x00, 0x00, 0x00, 0x48, 0x10, 0x3C, + 0x1E, 0x0A, 0x01, 0x01, 0x00, 0x00, 0x00, 0x1A, + 0x0E, 0x00, 0x00, 0x1A, 0x0E, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, + 0xD0, 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x64, + 0x64, 0x78, 0x01, 0x01, 0x00, 0x00, 0x62, 0x00, + 0xFF, 0xFF, 0x16, 0x00, 0x07, 0x03, 0x32, 0x32, + 0x10, 0x00, 0x01, 0x01, 0x04, 0x00, 0x12, 0x02, + 0x18, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x04, + 0x05, 0x0F, 0x00, 0x07, 0x05, 0x00, 0x6A, 0xFF, + 0x0F, 0x14, 0x0A, 0xF6, 0x0F, 0x00, 0x06, 0x23, + 0x1E, 0x00, 0xA2, 0x29, 0xA4, 0x02, 0x00, 0x00, + 0x2D, 0x00, 0x23, 0x00, 0x00, 0x00, 0x46, 0x00, + 0x50, 0x00, 0x23, 0x00, 0x02, 0x01, 0x01, 0x1E, + 0x32, 0x00, 0x32, 0x00, 0xFF, 0x7F, 0x00, 0x01, + 0x01, 0x07, 0x0B, 0x00, 0xFF, 0xFF, 0x0A, 0x05, + 0xFF, 0x7F, 0x00, 0x80, 0xFF, 0x7F, 0x00, 0x80, + 0x01, 0x00, 0x01, 0x01, 0x04, 0x00, 0xF4, 0x01, + 0x18, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00, 0x04, + 0x05, 0x0F, 0x00, 0x07, 0x05, 0x00, 0x6A, 0xFF, + 0x0F, 0x14, 0x0A, 0xF6, 0x0F, 0x00, 0x08, 0x23, + 0x1E, 0x00, 0xA2, 0x29, 0x92, 0x00, 0x00, 0x00, + 0x2D, 0x00, 0x23, 0x00, 0x00, 0x00, 0x46, 0x00, + 0x50, 0x00, 0x23, 0x00, 0x02, 0x01, 0x01, 0x14, + 0x32, 0x00, 0x32, 0x00, 0xFF, 0x7F, 0x00, 0x01, + 0x01, 0x07, 0x0B, 0x00, 0xFF, 0xFF, 0x0A, 0x05, + 0x48, 0x03, 0x5D, 0x00, 0xFF, 0x7F, 0x00, 0x80, + 0x01, 0x00, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, + 0x19, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x00, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0A, 0x0B, + 0x0C, 0x0D, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x08, 0x07, 0x06, + 0x05, 0x04, 0x03, 0x02, 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, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x02, 0x02, 0x02, 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, 0x21, 0x2A, 0x2B, 0x2C, 0x2D, 0x2C, + 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x30, 0x2F, 0x2D, + 0x2F, 0x2F, 0x2F, 0x2D, 0x2D, 0x2C, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2B, 0x23, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x22, 0x28, 0x28, 0x2A, 0x2A, 0x29, + 0x2A, 0x2A, 0x2A, 0x2C, 0x2B, 0x2B, 0x2B, 0x2B, + 0x2A, 0x2C, 0x2C, 0x2B, 0x2B, 0x2A, 0x2A, 0x2A, + 0x29, 0x2A, 0x27, 0x1E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x21, 0x27, 0x28, 0x2A, 0x29, 0x2A, + 0x29, 0x2A, 0x2A, 0x2B, 0x2B, 0x2B, 0x2B, 0x2A, + 0x2A, 0x2A, 0x2B, 0x2B, 0x2A, 0x2A, 0x2A, 0x2A, + 0x29, 0x29, 0x28, 0x1C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x22, 0x28, 0x29, 0x2B, 0x2A, 0x2B, + 0x2C, 0x2B, 0x2B, 0x2B, 0x2D, 0x2D, 0x2D, 0x2B, + 0x2B, 0x2C, 0x2C, 0x2B, 0x2B, 0x2A, 0x2B, 0x2B, + 0x2A, 0x29, 0x28, 0x1A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x21, 0x29, 0x2A, 0x2C, 0x2B, 0x2B, + 0x2C, 0x2C, 0x2C, 0x2C, 0x2D, 0x2E, 0x2E, 0x2B, + 0x2C, 0x2C, 0x2D, 0x2C, 0x2C, 0x2A, 0x2B, 0x2B, + 0x2A, 0x2B, 0x28, 0x1A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x22, 0x2B, 0x2B, 0x2C, 0x2B, 0x2C, + 0x2D, 0x2C, 0x2D, 0x2E, 0x2F, 0x2E, 0x2F, 0x2E, + 0x2D, 0x2E, 0x2E, 0x2D, 0x2D, 0x2C, 0x2D, 0x2D, + 0x2B, 0x2B, 0x29, 0x19, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x23, 0x2A, 0x2A, 0x2D, 0x2C, 0x2D, + 0x2C, 0x2D, 0x2E, 0x2E, 0x2E, 0x2F, 0x2E, 0x2E, + 0x2E, 0x2E, 0x2D, 0x2E, 0x2D, 0x2C, 0x2D, 0x2C, + 0x2C, 0x2B, 0x27, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x29, 0x2B, 0x2C, 0x2B, 0x2C, + 0x2D, 0x2D, 0x2E, 0x2D, 0x2E, 0x2E, 0x2F, 0x2E, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2C, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2B, 0x27, 0x15, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x25, 0x29, 0x2B, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2D, 0x2D, 0x2D, 0x2E, 0x2E, 0x2D, 0x2E, + 0x2E, 0x2E, 0x2D, 0x2E, 0x2D, 0x2C, 0x2C, 0x2B, + 0x2B, 0x2B, 0x29, 0x1A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x28, 0x29, 0x2C, 0x2B, 0x2B, + 0x2C, 0x2C, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2E, + 0x2D, 0x2D, 0x2D, 0x2C, 0x2D, 0x2D, 0x2C, 0x2B, + 0x2D, 0x2B, 0x29, 0x1B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x22, 0x29, 0x2B, 0x2B, 0x2B, 0x2B, + 0x2C, 0x2C, 0x2C, 0x2C, 0x2D, 0x2D, 0x2C, 0x2D, + 0x2D, 0x2E, 0x2D, 0x2D, 0x2C, 0x2C, 0x2C, 0x2C, + 0x2C, 0x2B, 0x2A, 0x1D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x21, 0x29, 0x2A, 0x2B, 0x2B, 0x2B, + 0x2B, 0x2C, 0x2C, 0x2C, 0x2D, 0x2D, 0x2C, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2C, 0x2D, 0x2C, 0x2B, + 0x2C, 0x2B, 0x29, 0x1D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1F, 0x28, 0x29, 0x29, 0x2B, 0x2B, + 0x2B, 0x2C, 0x2C, 0x2D, 0x2C, 0x2C, 0x2B, 0x2C, + 0x2D, 0x2D, 0x2C, 0x2C, 0x2B, 0x2B, 0x2B, 0x2B, + 0x2C, 0x2B, 0x28, 0x1E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1E, 0x2A, 0x2C, 0x2C, 0x2D, 0x2D, + 0x2D, 0x2F, 0x2F, 0x2F, 0x2E, 0x2F, 0x2E, 0x2D, + 0x2F, 0x2E, 0x2F, 0x2E, 0x2D, 0x2D, 0x2D, 0x2F, + 0x2F, 0x2D, 0x2B, 0x23, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 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, 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, 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, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0x02, +}; + diff --git a/drivers/input/touchscreen/477_SMD_V50.h b/drivers/input/touchscreen/477_SMD_V50.h new file mode 100644 index 0000000..2346cc1 --- /dev/null +++ b/drivers/input/touchscreen/477_SMD_V50.h @@ -0,0 +1,3989 @@ +/* + * Copyright (c) 2012 by MELFAS, Inc. All right reserved. + * + * Permission is hereby granted for the distribution of this firmware data + * in hexadecimal or equivalent format, provided this copyright notice is + * accompanying it." + */ + +/* MELFAS HEX to C converter v1.6 [2008.05.25] */ + +/* 31.0 KBytes ( 31744 Bytes ) */ +const size_t MELFAS_binary_nLength_4_77 = 0x7C00; + +const u8 MELFAS_binary_4_77[] = { + + /* Model name : + * Module revision : + * Firmware version : + */ + 0x00, 0x20, 0x00, 0x20, 0x79, 0x02, 0x00, 0x00, + 0x39, 0x02, 0x00, 0x00, 0x3D, 0x02, 0x00, 0x00, + 0x41, 0x02, 0x00, 0x00, 0x45, 0x02, 0x00, 0x00, + 0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4D, 0x02, 0x00, 0x00, + 0x51, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x02, 0x00, 0x00, 0x59, 0x02, 0x00, 0x00, + 0x39, 0x01, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00, + 0x25, 0x01, 0x00, 0x00, 0x21, 0x02, 0x00, 0x00, + 0x35, 0x02, 0x00, 0x00, 0x71, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x30, 0xB5, 0x11, 0x4B, 0x11, 0x4A, 0x1B, 0x88, + 0x12, 0x78, 0xD3, 0x18, 0xDB, 0xB2, 0xE1, 0x2B, + 0x02, 0xD0, 0xE5, 0x2B, 0x17, 0xD1, 0x09, 0xE0, + 0x0D, 0x49, 0x0E, 0x4A, 0x04, 0x23, 0x01, 0x3B, + 0xDB, 0xB2, 0xC8, 0x5C, 0x98, 0x54, 0x00, 0x2B, + 0xF9, 0xD1, 0x0C, 0xE0, 0x0A, 0x4C, 0x09, 0x48, + 0x0A, 0x49, 0x0B, 0x4A, 0x04, 0x23, 0x01, 0x3B, + 0xDB, 0xB2, 0xE5, 0x5C, 0x1D, 0x54, 0xCD, 0x5C, + 0x9D, 0x54, 0x00, 0x2B, 0xF7, 0xD1, 0x30, 0xBD, + 0x28, 0x00, 0x00, 0x20, 0x2A, 0x00, 0x00, 0x20, + 0x2D, 0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x50, + 0x35, 0x00, 0x00, 0x20, 0x31, 0x00, 0x00, 0x20, + 0x10, 0x00, 0x00, 0x50, 0x03, 0x4A, 0x00, 0x23, + 0x13, 0x70, 0x80, 0x22, 0xD2, 0x05, 0x13, 0x70, + 0x70, 0x47, 0xC0, 0x46, 0x00, 0x00, 0x00, 0x20, + 0x06, 0x4B, 0x00, 0x22, 0x5A, 0x70, 0x80, 0x23, + 0xDB, 0x05, 0x59, 0x69, 0x04, 0x4A, 0x0A, 0x40, + 0x5A, 0x61, 0x59, 0x69, 0x03, 0x4A, 0x0A, 0x40, + 0x5A, 0x61, 0x70, 0x47, 0x00, 0x00, 0x00, 0x20, + 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xEF, + 0x70, 0xB5, 0xA0, 0x23, 0xDB, 0x05, 0x1C, 0x7A, + 0x24, 0x4D, 0x0F, 0x22, 0x14, 0x40, 0x2A, 0x78, + 0x23, 0x4E, 0x00, 0x2A, 0x06, 0xD0, 0x23, 0x4B, + 0x1B, 0x68, 0x98, 0x47, 0x00, 0x23, 0x2B, 0x70, + 0x34, 0x70, 0x3A, 0xE0, 0x9B, 0x7A, 0x32, 0x78, + 0xE1, 0x07, 0x02, 0xD5, 0x1E, 0x4A, 0x13, 0x80, + 0x07, 0xE0, 0x08, 0x21, 0x0C, 0x42, 0x0A, 0xD0, + 0x1C, 0x4B, 0x1A, 0x78, 0x52, 0x18, 0xD2, 0xB2, + 0x1A, 0x70, 0xFF, 0xF7, 0x8D, 0xFF, 0x1A, 0x4B, + 0x1B, 0x68, 0x98, 0x47, 0x19, 0xE0, 0xA1, 0x07, + 0x0D, 0xD5, 0x08, 0x2A, 0x01, 0xD0, 0x01, 0x2A, + 0x01, 0xD1, 0x16, 0x4B, 0x02, 0xE0, 0x12, 0x4A, + 0x13, 0x80, 0x15, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x00, 0x22, 0x10, 0x4B, 0x08, 0xE0, 0x63, 0x07, + 0x07, 0xD5, 0x11, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x0C, 0x4B, 0x1A, 0x78, 0x08, 0x32, 0xD2, 0xB2, + 0x1A, 0x70, 0x07, 0x4B, 0x01, 0x22, 0x1C, 0x70, + 0xA0, 0x23, 0xDB, 0x05, 0x1A, 0x72, 0x0B, 0x49, + 0x10, 0x22, 0x1A, 0x72, 0x00, 0x22, 0x0A, 0x70, + 0x1A, 0x72, 0x70, 0xBD, 0x2C, 0x00, 0x00, 0x20, + 0x2B, 0x00, 0x00, 0x20, 0x24, 0x00, 0x00, 0x20, + 0x28, 0x00, 0x00, 0x20, 0x2A, 0x00, 0x00, 0x20, + 0x1C, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x20, + 0x18, 0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x20, + 0x03, 0x4A, 0x00, 0x23, 0x93, 0x70, 0x80, 0x22, + 0xD2, 0x05, 0x53, 0x70, 0x70, 0x47, 0xC0, 0x46, + 0x00, 0x00, 0x00, 0x20, 0x70, 0x47, 0xC0, 0x46, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x38, 0xB5, 0x80, 0x23, 0xDB, 0x05, 0xFB, 0x21, + 0x5A, 0x68, 0x59, 0x60, 0x99, 0x68, 0x08, 0x21, + 0x99, 0x60, 0x00, 0x22, 0xD9, 0x68, 0xDA, 0x60, + 0x19, 0x6C, 0x80, 0x21, 0xC9, 0x01, 0x19, 0x64, + 0x19, 0x69, 0x44, 0x49, 0x19, 0x61, 0x44, 0x4B, + 0x44, 0x49, 0x00, 0xE0, 0x04, 0xC3, 0x8B, 0x42, + 0xFC, 0xD3, 0x43, 0x4B, 0x43, 0x4A, 0x9B, 0x0A, + 0xDB, 0xB2, 0x13, 0x70, 0x42, 0x4B, 0x43, 0x49, + 0x1B, 0x68, 0x9B, 0x0A, 0xDB, 0xB2, 0x53, 0x70, + 0x41, 0x4B, 0x1B, 0x68, 0x9B, 0x0A, 0xDB, 0xB2, + 0x93, 0x70, 0x40, 0x4B, 0x1B, 0x68, 0x9B, 0x0A, + 0xDB, 0xB2, 0xD3, 0x70, 0x00, 0x23, 0x0B, 0x70, + 0x03, 0x23, 0x08, 0xE0, 0x58, 0x1C, 0x15, 0x5C, + 0xD4, 0x5C, 0xA5, 0x42, 0x07, 0xD9, 0xD4, 0x5C, + 0x01, 0x34, 0xE4, 0xB2, 0x0C, 0x54, 0x01, 0x3B, + 0xDB, 0xB2, 0xFF, 0x2B, 0xF2, 0xD1, 0x30, 0x4A, + 0x11, 0x78, 0x35, 0x4A, 0x11, 0x70, 0x11, 0x1C, + 0xFF, 0x2B, 0x03, 0xD1, 0x2D, 0x4B, 0xDB, 0x78, + 0x1E, 0x2B, 0x04, 0xD9, 0xFF, 0x23, 0x4B, 0x70, + 0x8B, 0x70, 0xCB, 0x70, 0x0B, 0xE0, 0x2A, 0x4B, + 0x1B, 0x68, 0x1B, 0x78, 0x53, 0x70, 0x2A, 0x4B, + 0x1B, 0x68, 0x1B, 0x78, 0x93, 0x70, 0x29, 0x4B, + 0x1B, 0x68, 0x1B, 0x78, 0xD3, 0x70, 0x28, 0x4B, + 0xDA, 0x78, 0xFF, 0x2A, 0x08, 0xD0, 0x9A, 0x78, + 0xFF, 0x2A, 0x05, 0xD0, 0x5B, 0x78, 0xFF, 0x2B, + 0x02, 0xD0, 0x00, 0xF0, 0x67, 0xF8, 0x38, 0xBD, + 0x22, 0x4B, 0x23, 0x4A, 0xC0, 0x21, 0x13, 0x60, + 0x22, 0x4A, 0x49, 0x00, 0x13, 0x60, 0x22, 0x4A, + 0x22, 0x48, 0x13, 0x60, 0x22, 0x4A, 0x13, 0x60, + 0x22, 0x4B, 0x02, 0x22, 0x5A, 0x50, 0xC0, 0x21, + 0x91, 0x40, 0x5C, 0x58, 0x20, 0x40, 0x58, 0x50, + 0x1F, 0x49, 0x04, 0x24, 0x08, 0x69, 0x20, 0x43, + 0x08, 0x61, 0x62, 0xB6, 0x1A, 0x60, 0x80, 0x23, + 0xDB, 0x05, 0x1A, 0x6C, 0x80, 0x22, 0x12, 0x02, + 0x1A, 0x64, 0x1A, 0x6C, 0x80, 0x22, 0xD2, 0x01, + 0x1A, 0x64, 0x9A, 0x68, 0x80, 0x22, 0x52, 0x00, + 0x9A, 0x60, 0xA0, 0x22, 0xD2, 0x05, 0x91, 0x68, + 0x14, 0x49, 0x91, 0x60, 0x1A, 0x6C, 0x00, 0x22, + 0x1A, 0x64, 0xFE, 0xE7, 0x10, 0x4F, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x3C, 0x00, 0x00, 0x20, + 0xFF, 0x03, 0x00, 0x00, 0x31, 0x00, 0x00, 0x20, + 0x08, 0x04, 0x00, 0x00, 0x35, 0x00, 0x00, 0x20, + 0x0C, 0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, + 0x2D, 0x00, 0x00, 0x20, 0xF9, 0x03, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x20, + 0x1C, 0x00, 0x00, 0x20, 0xFF, 0x00, 0xFF, 0xFF, + 0x20, 0x00, 0x00, 0x20, 0x00, 0xE1, 0x00, 0xE0, + 0x00, 0xED, 0x00, 0xE0, 0x00, 0x00, 0xC8, 0x42, + 0x70, 0x47, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, + 0x4D, 0x31, 0x48, 0x30, 0x43, 0x4F, 0x34, 0x35, + 0xFF, 0x5B, 0x00, 0x00, 0xFF, 0x73, 0x00, 0x00, + 0xFF, 0x7B, 0x00, 0x00, 0xF7, 0xB5, 0x03, 0xF0, + 0xC3, 0xFC, 0x05, 0xF0, 0x33, 0xF8, 0x00, 0x20, + 0x05, 0xF0, 0xF2, 0xFB, 0x4E, 0x4B, 0x33, 0x33, + 0x1B, 0x78, 0x5E, 0x42, 0x73, 0x41, 0x10, 0x26, + 0xF6, 0x1A, 0x4C, 0x4B, 0x1E, 0x70, 0x4C, 0x4B, + 0x1A, 0x68, 0x01, 0x3A, 0x53, 0x42, 0x5A, 0x41, + 0x4A, 0x4B, 0x1A, 0x70, 0x4A, 0x4B, 0x1C, 0x78, + 0x00, 0x2C, 0x22, 0xD1, 0x49, 0x4A, 0x01, 0x25, + 0x14, 0x70, 0x1D, 0x70, 0x00, 0xF0, 0x52, 0xFA, + 0x47, 0x4B, 0x28, 0x1C, 0xDA, 0x78, 0x9A, 0x70, + 0x5C, 0x70, 0x05, 0xF0, 0xD1, 0xFB, 0x03, 0xF0, + 0x7F, 0xFB, 0x01, 0xF0, 0x17, 0xFB, 0x80, 0x23, + 0xDB, 0x05, 0x1A, 0x6C, 0x7F, 0x21, 0x8A, 0x43, + 0x1A, 0x64, 0x00, 0xF0, 0xF5, 0xFD, 0x02, 0xF0, + 0x4B, 0xFF, 0x01, 0xF0, 0x0B, 0xFB, 0x01, 0xF0, + 0xA3, 0xFA, 0x3C, 0x4B, 0x02, 0x20, 0x1B, 0x68, + 0x98, 0x47, 0x3B, 0x4C, 0x23, 0x78, 0x00, 0x2B, + 0x03, 0xD1, 0x3A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x0F, 0xD0, 0x23, 0x78, 0x00, 0xF0, 0x94, 0xFC, + 0x22, 0x78, 0x2E, 0x4B, 0x00, 0x2A, 0x01, 0xD0, + 0x1E, 0x70, 0x01, 0xE0, 0x0D, 0x22, 0x1A, 0x70, + 0x31, 0x4A, 0x00, 0x23, 0x13, 0x70, 0x31, 0x4A, + 0x13, 0x70, 0x2C, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x2C, 0xD0, 0x2F, 0x4D, 0x2B, 0x78, 0x00, 0x2B, + 0x28, 0xD0, 0x2A, 0x4C, 0x13, 0x20, 0x23, 0x68, + 0x98, 0x47, 0x00, 0xF0, 0x0F, 0xFA, 0x03, 0xF0, + 0x08, 0xFB, 0x03, 0xF0, 0x8B, 0xFA, 0x29, 0x4B, + 0x18, 0x78, 0x01, 0xF0, 0xA1, 0xF8, 0x00, 0xF0, + 0xC7, 0xFD, 0x27, 0x4A, 0x01, 0x23, 0x13, 0x70, + 0x26, 0x4A, 0x13, 0x80, 0x02, 0xF0, 0xDE, 0xFF, + 0x2B, 0x78, 0x00, 0x2B, 0xFC, 0xD1, 0x23, 0x68, + 0x14, 0x20, 0x98, 0x47, 0x00, 0xF0, 0xF6, 0xF9, + 0x03, 0xF0, 0xEF, 0xFA, 0x03, 0xF0, 0x72, 0xFA, + 0x1C, 0x4B, 0x18, 0x78, 0x01, 0xF0, 0x88, 0xF8, + 0x10, 0x4B, 0x1E, 0x70, 0x00, 0xF0, 0x7E, 0xFF, + 0x0E, 0x4C, 0x27, 0x78, 0x78, 0xB2, 0x13, 0x28, + 0x00, 0xD9, 0x8D, 0xE1, 0x05, 0xF0, 0xD4, 0xF8, + 0x74, 0x00, 0x8C, 0x01, 0x78, 0x01, 0x8C, 0x01, + 0x8C, 0x01, 0x8C, 0x01, 0x8C, 0x01, 0x8C, 0x01, + 0x8C, 0x01, 0x8C, 0x01, 0x8C, 0x01, 0x8C, 0x01, + 0x8C, 0x01, 0x68, 0x00, 0x8C, 0x01, 0x3A, 0x00, + 0x30, 0x00, 0x5F, 0x00, 0x8C, 0x01, 0x89, 0x01, + 0xAE, 0x09, 0x00, 0x20, 0x1D, 0x03, 0x00, 0x20, + 0x50, 0x11, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0xE9, 0x01, 0x00, 0x20, 0xEA, 0x01, 0x00, 0x20, + 0xAA, 0x0A, 0x00, 0x20, 0xF8, 0x01, 0x00, 0x20, + 0xE8, 0x01, 0x00, 0x20, 0xE7, 0x01, 0x00, 0x20, + 0xE5, 0x01, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0xF6, 0x03, 0x00, 0x20, 0x08, 0x03, 0x00, 0x20, + 0xB1, 0x4B, 0x00, 0x22, 0x1A, 0x70, 0x00, 0xF0, + 0x7D, 0xFE, 0xB0, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x00, 0xD0, 0x55, 0xE1, 0xAE, 0x4C, 0x23, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, 0xAD, 0x49, + 0x03, 0xF0, 0xB8, 0xFC, 0x23, 0x78, 0x00, 0x2B, + 0x06, 0xD0, 0x01, 0x21, 0x00, 0x20, 0xAA, 0x4A, + 0x0B, 0x1C, 0x00, 0x90, 0x03, 0xF0, 0x56, 0xFC, + 0xA8, 0x4B, 0x98, 0x78, 0x03, 0xF0, 0x78, 0xFA, + 0xA7, 0x4D, 0xE8, 0x7B, 0x03, 0xF0, 0x52, 0xF8, + 0xA6, 0x4C, 0x20, 0x60, 0x28, 0x7C, 0x03, 0xF0, + 0x4D, 0xF8, 0x11, 0x23, 0x60, 0x60, 0xEB, 0x56, + 0xEA, 0x7B, 0x53, 0x43, 0xA3, 0x60, 0x9A, 0x4B, + 0x00, 0x22, 0x1A, 0x70, 0xA0, 0x4B, 0x1B, 0x78, + 0xA0, 0x4B, 0x18, 0x78, 0x01, 0xF0, 0x14, 0xF8, + 0x95, 0x4B, 0x9D, 0x4D, 0x00, 0x24, 0x1C, 0x70, + 0x2B, 0x78, 0x00, 0xF0, 0x29, 0xFD, 0x03, 0xF0, + 0x8B, 0xFF, 0x00, 0xF0, 0x25, 0xFD, 0x2C, 0x70, + 0x8F, 0x4B, 0x01, 0x24, 0x1C, 0x70, 0x00, 0xF0, + 0x9B, 0xFC, 0x97, 0x4B, 0x1B, 0x68, 0x9A, 0x05, + 0x13, 0xD5, 0x96, 0x4A, 0x96, 0x4B, 0x04, 0x20, + 0x1A, 0x60, 0x96, 0x4B, 0x19, 0x68, 0x01, 0x43, + 0x19, 0x60, 0x19, 0x68, 0x02, 0x20, 0x81, 0x43, + 0x19, 0x60, 0x19, 0x68, 0x0C, 0x43, 0x1C, 0x60, + 0x91, 0x4B, 0x00, 0x21, 0x19, 0x60, 0x91, 0x4B, + 0x1A, 0x60, 0x91, 0x4C, 0x03, 0x20, 0x23, 0x68, + 0x98, 0x47, 0x03, 0xF0, 0x3F, 0xF8, 0x23, 0x68, + 0x05, 0x20, 0x98, 0x47, 0x02, 0xF0, 0xE4, 0xFF, + 0x8C, 0x4C, 0x8D, 0x4D, 0x01, 0x20, 0x40, 0x42, + 0x21, 0x1C, 0x2A, 0x1C, 0x04, 0xF0, 0x4C, 0xFC, + 0x79, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x03, 0xD0, + 0x0C, 0x20, 0x88, 0x49, 0x03, 0xF0, 0x4E, 0xFC, + 0x87, 0x4A, 0x23, 0x68, 0x13, 0x80, 0x2B, 0x68, + 0x53, 0x80, 0x73, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x06, 0xD0, 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, + 0x0C, 0x20, 0x0B, 0x1C, 0x03, 0xF0, 0xE6, 0xFB, + 0x7B, 0x4C, 0x06, 0x20, 0x23, 0x68, 0x98, 0x47, + 0x03, 0xF0, 0xF4, 0xFF, 0x04, 0xF0, 0x64, 0xF9, + 0x04, 0xF0, 0x98, 0xFB, 0x00, 0xF0, 0x62, 0xF9, + 0x04, 0xF0, 0x06, 0xFD, 0x04, 0xF0, 0x7E, 0xFE, + 0x78, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x2A, 0xD1, + 0x23, 0x68, 0x07, 0x20, 0x98, 0x47, 0x01, 0xF0, + 0x51, 0xFA, 0x23, 0x68, 0x08, 0x20, 0x98, 0x47, + 0x02, 0xF0, 0xB2, 0xFF, 0x02, 0xF0, 0xBA, 0xFF, + 0x23, 0x68, 0x09, 0x20, 0x98, 0x47, 0x01, 0xF0, + 0x69, 0xFA, 0x01, 0xF0, 0xD1, 0xFB, 0x23, 0x68, + 0x0A, 0x20, 0x98, 0x47, 0x01, 0xF0, 0x6E, 0xFC, + 0x02, 0xF0, 0x44, 0xFB, 0x23, 0x68, 0x0B, 0x20, + 0x98, 0x47, 0x01, 0xF0, 0xB8, 0xFE, 0x01, 0xF0, + 0xD7, 0xFF, 0x23, 0x68, 0x0E, 0x20, 0x98, 0x47, + 0x02, 0xF0, 0x84, 0xF8, 0x02, 0xF0, 0xF2, 0xF9, + 0x23, 0x68, 0x10, 0x20, 0x98, 0x47, 0x00, 0xF0, + 0x81, 0xF9, 0x5B, 0x4B, 0x0F, 0x20, 0x1B, 0x68, + 0x98, 0x47, 0x5E, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x3C, 0xD1, 0x02, 0xF0, 0x4F, 0xFA, 0x5C, 0x4B, + 0x1A, 0x68, 0x5C, 0x4B, 0x00, 0x2A, 0x04, 0xD1, + 0x5B, 0x49, 0x09, 0x68, 0x00, 0x29, 0x00, 0xDD, + 0x1A, 0x70, 0x47, 0x4A, 0x19, 0x78, 0x32, 0x32, + 0x12, 0x78, 0x91, 0x42, 0x01, 0xD3, 0x00, 0x22, + 0x1A, 0x70, 0x1B, 0x78, 0x00, 0x2B, 0x21, 0xD1, + 0x53, 0x4B, 0x51, 0x4C, 0x1B, 0x68, 0x00, 0x2B, + 0x09, 0xDD, 0x20, 0x68, 0x00, 0x28, 0x06, 0xD1, + 0x39, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x02, 0xD0, + 0x4E, 0x49, 0x03, 0xF0, 0xCF, 0xFB, 0x4E, 0x4B, + 0x1B, 0x68, 0x98, 0x47, 0x23, 0x68, 0x00, 0x2B, + 0x0A, 0xDD, 0x49, 0x4B, 0x18, 0x68, 0x00, 0x28, + 0x06, 0xD1, 0x31, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x02, 0xD0, 0x48, 0x49, 0x03, 0xF0, 0xBE, 0xFB, + 0x02, 0xF0, 0x72, 0xFA, 0x41, 0x4B, 0x1A, 0x78, + 0x01, 0x32, 0x1A, 0x70, 0x32, 0x4B, 0x1B, 0x68, + 0x9A, 0x05, 0x23, 0xD5, 0x34, 0x4B, 0x18, 0x68, + 0x2A, 0x4B, 0x1A, 0x79, 0x19, 0x78, 0x2F, 0x4B, + 0x18, 0x1A, 0x53, 0x1C, 0x98, 0x40, 0x04, 0xF0, + 0x8D, 0xFF, 0x23, 0x4C, 0x2F, 0x4D, 0x23, 0x78, + 0x28, 0x60, 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, + 0x39, 0x49, 0x03, 0xF0, 0x9F, 0xFB, 0x23, 0x78, + 0x00, 0x2B, 0x06, 0xD0, 0x00, 0x20, 0x01, 0x21, + 0x2A, 0x1C, 0x04, 0x23, 0x00, 0x90, 0x03, 0xF0, + 0x3D, 0xFB, 0x24, 0x4B, 0x01, 0x21, 0x1A, 0x68, + 0x8A, 0x43, 0x1A, 0x60, 0x80, 0x23, 0xDB, 0x05, + 0x9A, 0x6C, 0x01, 0x21, 0x0A, 0x43, 0x9A, 0x64, + 0x00, 0xF0, 0x1E, 0xFC, 0x2D, 0x4B, 0x00, 0x20, + 0x18, 0x56, 0x00, 0xF0, 0x5D, 0xFE, 0x17, 0xE0, + 0x0F, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x03, 0xD0, + 0x05, 0x20, 0x29, 0x49, 0x03, 0xF0, 0x7A, 0xFB, + 0x01, 0x20, 0x00, 0xF0, 0xF9, 0xFE, 0x00, 0x20, + 0x00, 0xF0, 0xF6, 0xFE, 0x13, 0x23, 0x23, 0x70, + 0x06, 0xE0, 0x00, 0xF0, 0x0D, 0xFC, 0x03, 0xE0, + 0x13, 0x4B, 0x11, 0x20, 0x1B, 0x68, 0x98, 0x47, + 0x20, 0x4B, 0x1F, 0x70, 0xEB, 0xE5, 0xC0, 0x46, + 0xEA, 0x01, 0x00, 0x20, 0xE0, 0x01, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x34, 0x59, 0x00, 0x00, + 0xAC, 0x0A, 0x00, 0x20, 0xAA, 0x0A, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xFC, 0x02, 0x00, 0x20, + 0x1D, 0x03, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x58, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x00, + 0x14, 0xE0, 0x00, 0xE0, 0x10, 0xE0, 0x00, 0xE0, + 0x18, 0xE0, 0x00, 0xE0, 0xFC, 0x01, 0x00, 0x20, + 0xF8, 0x01, 0x00, 0x20, 0x34, 0x11, 0x00, 0x20, + 0x38, 0x11, 0x00, 0x20, 0x38, 0x59, 0x00, 0x00, + 0x54, 0x11, 0x00, 0x20, 0x48, 0x11, 0x00, 0x20, + 0x20, 0x01, 0x00, 0x20, 0xCA, 0x00, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x3E, 0x59, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x20, 0x47, 0x59, 0x00, 0x00, + 0x51, 0x59, 0x00, 0x00, 0xB3, 0x01, 0x00, 0x20, + 0x5E, 0x59, 0x00, 0x00, 0x56, 0x00, 0x00, 0x20, + 0x08, 0xB5, 0x01, 0xF0, 0x99, 0xFD, 0x01, 0xF0, + 0xB3, 0xFD, 0x03, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x02, 0xF0, 0xD2, 0xF9, 0x08, 0xBD, 0xC0, 0x46, + 0x00, 0x02, 0x00, 0x20, 0x10, 0xB5, 0x04, 0xF0, + 0xEF, 0xFD, 0x05, 0x4C, 0x00, 0x20, 0x23, 0x68, + 0x98, 0x47, 0x04, 0xF0, 0x19, 0xFE, 0x23, 0x68, + 0x01, 0x20, 0x98, 0x47, 0x10, 0xBD, 0xC0, 0x46, + 0xF8, 0x01, 0x00, 0x20, 0x7F, 0xB5, 0x17, 0x4D, + 0x17, 0x4B, 0x5B, 0x1B, 0x03, 0x93, 0x17, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, 0x00, 0x20, + 0x01, 0x21, 0x03, 0xAA, 0x04, 0x23, 0x00, 0x90, + 0x03, 0xF0, 0xA0, 0xFA, 0x12, 0x4E, 0x18, 0xE0, + 0x14, 0x2C, 0x00, 0xDD, 0x14, 0x24, 0xE1, 0xB2, + 0x08, 0x1C, 0x03, 0xE0, 0x01, 0x38, 0xC0, 0xB2, + 0x2B, 0x5C, 0x33, 0x54, 0x00, 0x28, 0xF9, 0xD1, + 0x0A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x04, 0xD0, + 0x09, 0x4A, 0x01, 0x23, 0x00, 0x90, 0x03, 0xF0, + 0x89, 0xFA, 0x03, 0x9B, 0x2D, 0x19, 0x1B, 0x1B, + 0x03, 0x93, 0x03, 0x9C, 0x00, 0x2C, 0xE3, 0xD1, + 0x7F, 0xBD, 0xC0, 0x46, 0x0C, 0x1E, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x54, 0x11, 0x00, 0x20, 0x13, 0xB5, 0x1E, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x37, 0xD0, 0x1D, 0x4C, + 0x00, 0x23, 0x23, 0x70, 0x1C, 0x4B, 0x04, 0x20, + 0x1B, 0x68, 0x98, 0x47, 0x1B, 0x4B, 0x1C, 0x4A, + 0x59, 0x68, 0x1B, 0x68, 0x11, 0x80, 0x53, 0x80, + 0x1A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x18, 0x20, + 0x0B, 0x1C, 0x03, 0xF0, 0x5B, 0xFA, 0x23, 0x78, + 0x15, 0x4C, 0x00, 0x2B, 0x1A, 0xD0, 0x13, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, + 0x12, 0x49, 0x03, 0xF0, 0xA7, 0xFA, 0x12, 0x4A, + 0x01, 0x23, 0x13, 0x70, 0x22, 0x68, 0x02, 0x2A, + 0x04, 0xDC, 0xD2, 0x18, 0x22, 0x60, 0x0F, 0x4A, + 0x13, 0x70, 0x08, 0xE0, 0xFF, 0xF7, 0x74, 0xFF, + 0x0D, 0x4B, 0x0D, 0x22, 0x1A, 0x70, 0x00, 0x23, + 0x23, 0x60, 0x00, 0xE0, 0x23, 0x60, 0x13, 0xBD, + 0x1C, 0x03, 0x00, 0x20, 0x3D, 0x11, 0x00, 0x20, + 0xF8, 0x01, 0x00, 0x20, 0x70, 0x01, 0x00, 0x20, + 0x54, 0x11, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x84, 0x01, 0x00, 0x20, 0xD0, 0x58, 0x00, 0x00, + 0x48, 0x11, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, + 0x1D, 0x03, 0x00, 0x20, 0xF0, 0xB5, 0xBA, 0x4B, + 0x85, 0xB0, 0x04, 0x33, 0xDB, 0x7F, 0x00, 0x24, + 0xB8, 0x49, 0x0A, 0x22, 0x09, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0x10, 0x1C, 0x58, 0x43, 0x08, 0x18, + 0x3C, 0x25, 0x40, 0x5F, 0x00, 0x28, 0x00, 0xD0, + 0x01, 0x24, 0x00, 0x2B, 0xF3, 0xD1, 0xB2, 0x4B, + 0xB2, 0x4A, 0x1B, 0x78, 0x07, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0x19, 0x1D, 0x49, 0x00, 0x89, 0x5E, + 0x00, 0x29, 0x00, 0xD0, 0x01, 0x24, 0x00, 0x2B, + 0xF5, 0xD1, 0xAD, 0x4A, 0x00, 0x2C, 0x04, 0xD1, + 0x13, 0x68, 0xAC, 0x49, 0x8B, 0x42, 0x01, 0xD0, + 0x01, 0x33, 0x13, 0x60, 0xAA, 0x4B, 0x00, 0x22, + 0x1A, 0x70, 0xA4, 0x4B, 0x1A, 0x68, 0xA2, 0x4B, + 0x00, 0x2A, 0x7C, 0xD1, 0xA3, 0x4A, 0x12, 0x68, + 0x00, 0x2A, 0x78, 0xD1, 0x1A, 0x1C, 0x34, 0x32, + 0x10, 0x78, 0x00, 0x28, 0x41, 0xD1, 0xA3, 0x4A, + 0x12, 0x78, 0x01, 0x2A, 0x17, 0xD1, 0xA2, 0x4B, + 0x18, 0x70, 0xA2, 0x4B, 0x1A, 0x70, 0xA2, 0x4B, + 0x18, 0x70, 0xA2, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x02, 0xD0, 0xA1, 0x49, 0x03, 0xF0, 0x2E, 0xFA, + 0x99, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x01, 0xF0, + 0x9F, 0xFC, 0x01, 0xF0, 0xB9, 0xFC, 0x97, 0x4B, + 0x00, 0x22, 0x1A, 0x70, 0x67, 0xE1, 0x9B, 0x4A, + 0x3C, 0x33, 0x1B, 0x78, 0x12, 0x68, 0x9A, 0x42, + 0x1F, 0xDB, 0x96, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x02, 0xD0, 0x97, 0x49, 0x03, 0xF0, 0x16, 0xFA, + 0x96, 0x4B, 0x87, 0x49, 0x1A, 0x68, 0x3D, 0x31, + 0x01, 0x32, 0x1A, 0x60, 0x09, 0x78, 0x8A, 0x42, + 0x0F, 0xDB, 0x00, 0x20, 0x18, 0x60, 0x8A, 0x4B, + 0x18, 0x70, 0x8A, 0x4B, 0x18, 0x70, 0x8B, 0x4B, + 0x1B, 0x78, 0x83, 0x42, 0x02, 0xD0, 0x8E, 0x49, + 0x03, 0xF0, 0x00, 0xFA, 0x82, 0x4B, 0x02, 0x22, + 0x1A, 0x70, 0x85, 0x4B, 0x8B, 0x4A, 0x00, 0x21, + 0x19, 0x70, 0x10, 0x68, 0x85, 0x4B, 0x19, 0x60, + 0x13, 0x1C, 0x88, 0x42, 0x0E, 0xDD, 0x01, 0x38, + 0x10, 0x60, 0x8C, 0x42, 0x00, 0xD0, 0x11, 0x60, + 0x1A, 0x68, 0x01, 0x2A, 0x00, 0xD0, 0x18, 0xE1, + 0x00, 0x22, 0x1A, 0x60, 0x76, 0x4B, 0x03, 0x22, + 0x1A, 0x70, 0x28, 0xE1, 0x80, 0x4B, 0x81, 0x49, + 0x04, 0x33, 0xDB, 0x8F, 0x8B, 0x42, 0x00, 0xD1, + 0x0B, 0xE1, 0x7F, 0x49, 0x09, 0x68, 0x99, 0x42, + 0x00, 0xDA, 0x06, 0xE1, 0x68, 0x4B, 0x6C, 0x48, + 0x19, 0x1C, 0x3E, 0x31, 0x09, 0x78, 0x00, 0x68, + 0x88, 0x42, 0x00, 0xDA, 0xFD, 0xE0, 0x3F, 0x33, + 0x1B, 0x78, 0x13, 0x60, 0xF9, 0xE0, 0x04, 0x33, + 0xD8, 0x7F, 0x00, 0x23, 0x1A, 0x1C, 0x75, 0x49, + 0x31, 0xE0, 0x01, 0x38, 0xC0, 0xB2, 0x0A, 0x24, + 0x44, 0x43, 0x5E, 0x4F, 0x3D, 0x19, 0x3C, 0x26, + 0xAD, 0x5F, 0x00, 0x2D, 0x27, 0xDD, 0x0C, 0x19, + 0x3C, 0x27, 0xE4, 0x5F, 0x00, 0x2C, 0x22, 0xDD, + 0x44, 0x00, 0x0D, 0x19, 0xAF, 0x88, 0x57, 0x4D, + 0x3E, 0xB2, 0x2C, 0x19, 0xA4, 0x88, 0x25, 0xB2, + 0x76, 0x1B, 0x02, 0xD4, 0x3C, 0x1B, 0xA4, 0xB2, + 0x01, 0xE0, 0xE4, 0x1B, 0xA4, 0xB2, 0x05, 0x1C, + 0x64, 0x4E, 0x50, 0x4F, 0x10, 0x35, 0x6D, 0x00, + 0xA2, 0x18, 0xAC, 0x5B, 0xED, 0x5B, 0x27, 0xB2, + 0x2E, 0xB2, 0x92, 0xB2, 0xBF, 0x1B, 0x02, 0xD4, + 0x64, 0x1B, 0xA4, 0xB2, 0x01, 0xE0, 0x2C, 0x1B, + 0xA4, 0xB2, 0xE3, 0x18, 0x9B, 0xB2, 0x00, 0x28, + 0xCB, 0xD1, 0x56, 0x49, 0x08, 0x60, 0x4D, 0x49, + 0x0C, 0x78, 0x43, 0x49, 0x00, 0x2C, 0x40, 0xD0, + 0x34, 0x31, 0x0B, 0x78, 0x00, 0x2B, 0x00, 0xD0, + 0xB3, 0xE0, 0x4A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x02, 0xD0, 0x53, 0x49, 0x03, 0xF0, 0x7E, 0xF9, + 0x4F, 0x4C, 0x52, 0x4A, 0x23, 0x68, 0x13, 0x80, + 0x51, 0x4B, 0x1B, 0x68, 0x53, 0x80, 0x43, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x23, + 0x02, 0x21, 0x00, 0x93, 0x00, 0x20, 0x0B, 0x1C, + 0x03, 0xF0, 0x14, 0xF9, 0x32, 0x49, 0x20, 0x68, + 0x4A, 0x8F, 0x3B, 0x4B, 0x90, 0x42, 0x14, 0xDA, + 0x41, 0x4A, 0x47, 0x48, 0x45, 0x32, 0x12, 0x78, + 0x00, 0x68, 0x90, 0x42, 0x0D, 0xDA, 0x1B, 0x78, + 0x00, 0x2B, 0x00, 0xD0, 0x89, 0xE0, 0x37, 0x4B, + 0x3C, 0x31, 0x1A, 0x68, 0x09, 0x78, 0x8A, 0x42, + 0x00, 0xDB, 0x82, 0xE0, 0x01, 0x32, 0x1A, 0x60, + 0x7F, 0xE0, 0x01, 0x22, 0x1A, 0x70, 0x31, 0x4A, + 0x00, 0x23, 0x13, 0x60, 0x31, 0x4A, 0x13, 0x60, + 0x77, 0xE0, 0x08, 0x1C, 0x34, 0x30, 0x00, 0x78, + 0x00, 0x28, 0x72, 0xD1, 0x32, 0x48, 0x09, 0x8F, + 0x00, 0x68, 0x88, 0x42, 0x09, 0xDB, 0x2E, 0x49, + 0x33, 0x48, 0x45, 0x31, 0x09, 0x78, 0x00, 0x68, + 0x88, 0x42, 0x02, 0xDB, 0x22, 0x49, 0x01, 0x20, + 0x08, 0x70, 0x1F, 0x49, 0x09, 0x78, 0x00, 0x29, + 0x08, 0xD1, 0x15, 0x49, 0x08, 0x8F, 0x27, 0x49, + 0x88, 0x42, 0x5A, 0xD0, 0x1C, 0x49, 0x09, 0x78, + 0x00, 0x29, 0x56, 0xD0, 0x11, 0x49, 0x09, 0x68, + 0x01, 0x29, 0x05, 0xDC, 0x0E, 0x49, 0xC9, 0x8E, + 0x8A, 0x42, 0x01, 0xD8, 0x8B, 0x42, 0x49, 0xD9, + 0x13, 0x4B, 0x00, 0x20, 0x18, 0x70, 0x13, 0x4B, + 0x01, 0x22, 0x1A, 0x70, 0x12, 0x4B, 0x18, 0x70, + 0x12, 0x4B, 0x1B, 0x78, 0x83, 0x42, 0x02, 0xD0, + 0x11, 0x49, 0x03, 0xF0, 0x0F, 0xF9, 0x0A, 0x4B, + 0x01, 0x22, 0x1A, 0x70, 0x01, 0xF0, 0x80, 0xFB, + 0x01, 0xF0, 0x9A, 0xFB, 0x35, 0xE0, 0xC0, 0x46, + 0xAE, 0x09, 0x00, 0x20, 0x9C, 0x0D, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0xE0, 0x00, 0x00, 0x20, + 0xC8, 0x01, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x7F, + 0xB3, 0x01, 0x00, 0x20, 0xB4, 0x01, 0x00, 0x20, + 0xDC, 0x01, 0x00, 0x20, 0xDD, 0x01, 0x00, 0x20, + 0xD4, 0x01, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0xDA, 0x58, 0x00, 0x00, 0xD8, 0x01, 0x00, 0x20, + 0xE4, 0x58, 0x00, 0x00, 0xD0, 0x01, 0x00, 0x20, + 0xEC, 0x58, 0x00, 0x00, 0xCC, 0x01, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0xFF, 0xFF, 0x00, 0x00, + 0x34, 0x11, 0x00, 0x20, 0x20, 0x03, 0x00, 0x20, + 0xF5, 0x58, 0x00, 0x00, 0x54, 0x11, 0x00, 0x20, + 0x38, 0x11, 0x00, 0x20, 0x0D, 0x4B, 0x01, 0x22, + 0x1A, 0x70, 0x0D, 0x4B, 0x34, 0x33, 0x1B, 0x78, + 0x00, 0x2B, 0x10, 0xD0, 0x0B, 0x4B, 0x1A, 0x78, + 0x00, 0x2A, 0x0C, 0xD0, 0x0A, 0x4A, 0x00, 0x21, + 0x51, 0x56, 0x03, 0x29, 0x07, 0xD0, 0x09, 0x49, + 0x09, 0x78, 0x48, 0x42, 0x41, 0x41, 0x01, 0x31, + 0x11, 0x70, 0x00, 0x22, 0x1A, 0x70, 0x05, 0xB0, + 0xF0, 0xBD, 0xC0, 0x46, 0xB4, 0x01, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xDC, 0x01, 0x00, 0x20, + 0xB3, 0x01, 0x00, 0x20, 0xDD, 0x01, 0x00, 0x20, + 0x10, 0xB5, 0x54, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x0A, 0xD0, 0x53, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x01, 0xF0, 0x1A, 0xFB, 0x01, 0xF0, 0x34, 0xFB, + 0x01, 0xF0, 0x56, 0xFF, 0x02, 0xF0, 0x90, 0xFB, + 0x4E, 0x4B, 0x02, 0x21, 0x1A, 0x68, 0x8A, 0x43, + 0x1A, 0x60, 0x19, 0x68, 0x80, 0x22, 0xD2, 0x05, + 0x90, 0x68, 0x91, 0x60, 0x19, 0x68, 0x08, 0x20, + 0x81, 0x43, 0x19, 0x60, 0x19, 0x68, 0x90, 0x68, + 0x91, 0x60, 0x19, 0x68, 0x04, 0x20, 0x81, 0x43, + 0x19, 0x60, 0x1B, 0x68, 0x91, 0x68, 0x93, 0x60, + 0x40, 0x4B, 0x18, 0x78, 0x42, 0x4B, 0x1B, 0x78, + 0x00, 0x28, 0x32, 0xD0, 0x00, 0x2B, 0x03, 0xD0, + 0x00, 0x20, 0x40, 0x49, 0x03, 0xF0, 0x7A, 0xF8, + 0x3F, 0x4B, 0x80, 0x22, 0x19, 0x68, 0x52, 0x00, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0xA0, 0x23, + 0xDB, 0x05, 0x99, 0x68, 0x9A, 0x60, 0x37, 0x4B, + 0x3A, 0x4A, 0x19, 0x68, 0x0A, 0x40, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x99, 0x68, + 0x9A, 0x60, 0x37, 0x4A, 0x01, 0x21, 0x11, 0x70, + 0x19, 0x68, 0x80, 0x22, 0x52, 0x04, 0x0A, 0x43, + 0x1A, 0x60, 0xC0, 0x46, 0xC0, 0x46, 0xC0, 0x46, + 0xC0, 0x46, 0x62, 0xB6, 0x31, 0x4A, 0x19, 0x68, + 0x0A, 0x40, 0x1A, 0x60, 0xBF, 0xF3, 0x6F, 0x8F, + 0xFA, 0x20, 0xC0, 0x00, 0x02, 0xF0, 0x6E, 0xFC, + 0x11, 0xE0, 0x00, 0x2B, 0x02, 0xD0, 0x2C, 0x49, + 0x03, 0xF0, 0x48, 0xF8, 0x2B, 0x48, 0x02, 0xF0, + 0x65, 0xFC, 0x2B, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x05, 0xD1, 0x2A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x01, 0xD1, 0x02, 0xF0, 0x59, 0xFE, 0x1D, 0x4B, + 0x02, 0x21, 0x1A, 0x68, 0x0A, 0x43, 0x1A, 0x60, + 0x19, 0x68, 0x80, 0x22, 0xD2, 0x05, 0x90, 0x68, + 0x91, 0x60, 0x23, 0x49, 0x01, 0x31, 0xC8, 0x7F, + 0x08, 0x21, 0x00, 0x28, 0x06, 0xD0, 0x18, 0x68, + 0x01, 0x43, 0x19, 0x60, 0x19, 0x68, 0x90, 0x68, + 0x91, 0x60, 0x05, 0xE0, 0x18, 0x68, 0x88, 0x43, + 0x18, 0x60, 0x19, 0x68, 0x90, 0x68, 0x91, 0x60, + 0x1A, 0x68, 0x04, 0x21, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0xFA, 0x20, + 0x99, 0x68, 0xC0, 0x00, 0x9A, 0x60, 0x02, 0xF0, + 0x31, 0xFC, 0x06, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x06, 0xD0, 0x12, 0x4C, 0x0D, 0x20, 0x23, 0x68, + 0x98, 0x47, 0x23, 0x68, 0x12, 0x20, 0x98, 0x47, + 0x10, 0xBD, 0xC0, 0x46, 0xE8, 0x01, 0x00, 0x20, + 0x68, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0xFB, 0x58, 0x00, 0x00, + 0x0C, 0x00, 0x00, 0x20, 0xFF, 0xFE, 0xFF, 0xFF, + 0x2C, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFE, + 0x01, 0x59, 0x00, 0x00, 0x40, 0x42, 0x0F, 0x00, + 0xE5, 0x01, 0x00, 0x20, 0xE4, 0x01, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xF8, 0x01, 0x00, 0x20, + 0x10, 0xB5, 0x31, 0x4B, 0x02, 0x24, 0x19, 0x78, + 0x30, 0x4B, 0x4A, 0xB2, 0x1B, 0x78, 0x00, 0x2B, + 0x25, 0xD0, 0x2F, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x21, 0xD1, 0x2E, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x1D, 0xD1, 0x2D, 0x4B, 0xA2, 0x42, 0x07, 0xD0, + 0x2C, 0x48, 0x80, 0x7B, 0x00, 0x28, 0x03, 0xD1, + 0x2B, 0x48, 0x00, 0x68, 0x00, 0x28, 0x03, 0xD0, + 0x00, 0x21, 0x19, 0x60, 0x01, 0x24, 0x0E, 0xE0, + 0x28, 0x4A, 0x18, 0x68, 0x92, 0x68, 0x90, 0x42, + 0x01, 0xDA, 0x01, 0x30, 0x18, 0x60, 0x00, 0x29, + 0x36, 0xD0, 0x21, 0x4B, 0x00, 0x24, 0x1B, 0x68, + 0x93, 0x42, 0x16, 0xDA, 0x30, 0xE0, 0x63, 0xB2, + 0x93, 0x42, 0x2D, 0xD0, 0x01, 0x2B, 0x1D, 0xD0, + 0x02, 0x2B, 0x02, 0xD0, 0x00, 0x2B, 0x0C, 0xD0, + 0x24, 0xE0, 0x1D, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x00, 0x20, 0x1B, 0x49, 0x02, 0xF0, + 0xA5, 0xFF, 0x00, 0x20, 0x02, 0xF0, 0x78, 0xFB, + 0x18, 0xE0, 0x17, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x00, 0x20, 0x16, 0x49, 0x02, 0xF0, + 0x99, 0xFF, 0x12, 0x4B, 0x58, 0x68, 0x02, 0xF0, + 0x6B, 0xFB, 0x0B, 0xE0, 0x10, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, 0x11, 0x49, + 0x02, 0xF0, 0x8C, 0xFF, 0x0B, 0x4B, 0x18, 0x68, + 0x02, 0xF0, 0x5E, 0xFB, 0x02, 0x4B, 0x1C, 0x70, + 0x02, 0xF0, 0x4C, 0xFB, 0x10, 0xBD, 0xC0, 0x46, + 0x3C, 0x00, 0x00, 0x20, 0x1C, 0x03, 0x00, 0x20, + 0xE3, 0x01, 0x00, 0x20, 0xE2, 0x01, 0x00, 0x20, + 0x5C, 0x00, 0x00, 0x20, 0x70, 0x01, 0x00, 0x20, + 0xE0, 0x00, 0x00, 0x20, 0xFC, 0x02, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x09, 0x59, 0x00, 0x00, + 0x0E, 0x59, 0x00, 0x00, 0x13, 0x59, 0x00, 0x00, + 0x08, 0xB5, 0x02, 0xF0, 0x5F, 0xFB, 0x08, 0xBD, + 0x08, 0xB5, 0x02, 0xF0, 0x4D, 0xFB, 0x08, 0xBD, + 0x08, 0xB5, 0x02, 0xF0, 0xE5, 0xFA, 0x80, 0x23, + 0xDB, 0x05, 0x9A, 0x6C, 0x01, 0x21, 0x0A, 0x43, + 0x9A, 0x64, 0xFF, 0xF7, 0xF1, 0xFF, 0x08, 0xBD, + 0xF0, 0xB5, 0x87, 0xB0, 0xFF, 0xF7, 0xF0, 0xFF, + 0x78, 0x4A, 0x79, 0x4C, 0x53, 0x78, 0x15, 0x78, + 0x78, 0x48, 0x10, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x9A, 0x1C, 0x67, 0x46, 0xB2, 0x18, 0x79, 0x01, + 0x52, 0x00, 0x12, 0x5B, 0xC9, 0x18, 0x4F, 0x00, + 0x3A, 0x52, 0x73, 0x4A, 0x00, 0x27, 0x8F, 0x54, + 0x00, 0x2B, 0xEF, 0xD1, 0x63, 0x46, 0x5A, 0x1E, + 0xD2, 0xB2, 0x00, 0x2B, 0x04, 0xD0, 0x56, 0x1C, + 0x2B, 0x1C, 0xB6, 0x01, 0x94, 0x46, 0xF3, 0xE7, + 0x6C, 0x4B, 0x6D, 0x4C, 0x1B, 0x78, 0x6D, 0x48, + 0x67, 0x49, 0x6D, 0x4A, 0x0E, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0xE5, 0x5C, 0xC6, 0x5C, 0x01, 0x35, + 0x02, 0x36, 0xAD, 0x01, 0xAD, 0x19, 0x6D, 0x00, + 0x6E, 0x5A, 0x5D, 0x00, 0xAE, 0x52, 0x67, 0x4D, + 0x00, 0x26, 0xEE, 0x54, 0x00, 0x2B, 0xEE, 0xD1, + 0x65, 0x25, 0x03, 0x95, 0x5B, 0x4C, 0x66, 0xE0, + 0xFF, 0xF7, 0xB2, 0xFF, 0x26, 0x78, 0x63, 0x78, + 0x05, 0x96, 0x2D, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x58, 0x4F, 0xF0, 0x18, 0x04, 0x9D, 0x40, 0x00, + 0x9A, 0x1C, 0xC0, 0x5B, 0xAD, 0x18, 0x54, 0x4F, + 0x6D, 0x00, 0xEF, 0x5B, 0xC7, 0x1B, 0x04, 0xD4, + 0x51, 0x4F, 0xED, 0x5B, 0x45, 0x1B, 0x02, 0x95, + 0x03, 0xE0, 0x4F, 0x4F, 0xED, 0x5B, 0x2D, 0x1A, + 0x02, 0x95, 0x04, 0x98, 0x87, 0x18, 0x4C, 0x48, + 0x7F, 0x00, 0xC0, 0x5B, 0x4B, 0x4F, 0x84, 0x46, + 0xF0, 0x18, 0x42, 0x00, 0x15, 0x1C, 0x62, 0x46, + 0xEA, 0x53, 0x49, 0x4D, 0x2F, 0x5C, 0x02, 0x9D, + 0xBD, 0x42, 0x00, 0xDA, 0x3D, 0x1C, 0x46, 0x4F, + 0x3D, 0x54, 0x00, 0x2B, 0xD2, 0xD1, 0x0B, 0x1C, + 0x59, 0x1E, 0xC9, 0xB2, 0x00, 0x2B, 0x05, 0xD0, + 0x48, 0x1C, 0x80, 0x01, 0x05, 0x9B, 0x4E, 0x01, + 0x04, 0x90, 0xF2, 0xE7, 0x3F, 0x4B, 0x3C, 0x4A, + 0x1B, 0x78, 0x22, 0xE0, 0x3E, 0x4D, 0x01, 0x3B, + 0xDB, 0xB2, 0x3E, 0x4F, 0xEE, 0x5C, 0x3E, 0x48, + 0xFD, 0x5C, 0x59, 0x00, 0x01, 0x36, 0x09, 0x5A, + 0x02, 0x35, 0xB0, 0x01, 0x40, 0x19, 0x40, 0x00, + 0x87, 0x5A, 0x80, 0x5A, 0xCF, 0x1B, 0x01, 0xD4, + 0x09, 0x1A, 0x00, 0xE0, 0x41, 0x1A, 0xB6, 0x01, + 0x75, 0x19, 0x2F, 0x48, 0x6D, 0x00, 0x46, 0x5B, + 0x33, 0x48, 0x5D, 0x00, 0x2E, 0x52, 0x33, 0x48, + 0xC5, 0x5C, 0xA9, 0x42, 0x00, 0xDA, 0x29, 0x1C, + 0xC1, 0x54, 0x00, 0x2B, 0xDA, 0xD1, 0x03, 0x9B, + 0x01, 0x3B, 0xDB, 0xB2, 0x03, 0x93, 0x00, 0x2B, + 0x92, 0xD1, 0x61, 0x78, 0x24, 0x78, 0x24, 0x4A, + 0x04, 0x94, 0x1E, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x45, 0x01, 0xED, 0x18, 0x21, 0x4F, 0x6D, 0x00, + 0xEE, 0x5B, 0x25, 0x88, 0xAC, 0x46, 0x9D, 0x1C, + 0x66, 0x45, 0x09, 0xD9, 0x27, 0x88, 0xF6, 0x1B, + 0x8F, 0x01, 0xBC, 0x46, 0x65, 0x44, 0x6D, 0x00, + 0xB6, 0xB2, 0xAF, 0x5A, 0xAE, 0x52, 0x05, 0xE0, + 0x8E, 0x01, 0x75, 0x19, 0x6D, 0x00, 0xAE, 0x5A, + 0x00, 0x26, 0xAE, 0x52, 0x00, 0x2B, 0xE1, 0xD1, + 0x01, 0x1C, 0x48, 0x1E, 0xC0, 0xB2, 0x00, 0x29, + 0x05, 0xD0, 0x41, 0x1C, 0x18, 0x4F, 0xCC, 0x01, + 0x04, 0x9B, 0xE4, 0x19, 0xF2, 0xE7, 0x11, 0x4B, + 0x13, 0x4F, 0x1B, 0x78, 0x10, 0x4E, 0x15, 0x48, + 0x10, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0xF5, 0x5C, + 0x13, 0x49, 0xED, 0x01, 0x5A, 0x00, 0x6D, 0x18, + 0xD4, 0x5B, 0x29, 0x88, 0x8C, 0x42, 0x03, 0xD9, + 0x2D, 0x88, 0x64, 0x1B, 0x84, 0x52, 0x01, 0xE0, + 0x00, 0x25, 0x85, 0x52, 0x00, 0x2B, 0xEC, 0xD1, + 0x07, 0xB0, 0xF0, 0xBD, 0x0A, 0x03, 0x00, 0x20, + 0x00, 0x40, 0x00, 0x40, 0xF8, 0x03, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0x30, 0x75, 0x00, 0x00, 0x2A, 0x75, 0x00, 0x00, + 0x14, 0x02, 0x00, 0x20, 0xA4, 0x0A, 0x00, 0x20, + 0x02, 0x40, 0x00, 0x40, 0x3C, 0x0D, 0x00, 0x20, + 0x82, 0x40, 0x00, 0x40, 0xF0, 0xB5, 0x87, 0xB0, + 0x02, 0xF0, 0x4A, 0xF8, 0x02, 0xF0, 0x60, 0xF9, + 0x00, 0x28, 0xFB, 0xD1, 0x52, 0x4B, 0x1B, 0x78, + 0x02, 0x2B, 0x09, 0xD0, 0x51, 0x4B, 0x52, 0x49, + 0x40, 0x33, 0x1A, 0x78, 0x53, 0x42, 0x54, 0x18, + 0xE0, 0x54, 0x01, 0x33, 0x93, 0x42, 0xFA, 0xDD, + 0x4C, 0x4E, 0x4E, 0x4F, 0x33, 0x1C, 0x40, 0x33, + 0x1C, 0x78, 0x64, 0x42, 0x0C, 0xE0, 0xFA, 0x78, + 0x80, 0x23, 0x12, 0x19, 0xD2, 0xB2, 0xDB, 0x05, + 0x1A, 0x71, 0xFF, 0xF7, 0xC1, 0xFE, 0x28, 0x78, + 0x20, 0x18, 0x03, 0xF0, 0xF3, 0xFD, 0x01, 0x34, + 0x35, 0x1C, 0x40, 0x35, 0x2B, 0x78, 0x9C, 0x42, + 0xED, 0xDD, 0x00, 0x26, 0x25, 0xE0, 0x2C, 0x78, + 0x2F, 0x1C, 0x64, 0x42, 0x40, 0x3F, 0x1A, 0xE0, + 0x3E, 0x4B, 0xDA, 0x78, 0x80, 0x23, 0x12, 0x19, + 0xDB, 0x05, 0xD2, 0xB2, 0x1A, 0x71, 0xFF, 0xF7, + 0xA7, 0xFE, 0x2D, 0x78, 0x04, 0xA9, 0x65, 0x19, + 0x05, 0xAA, 0x28, 0x1C, 0x03, 0xF0, 0xF8, 0xFD, + 0x35, 0x49, 0x04, 0x9B, 0x4A, 0x5D, 0xFF, 0x2B, + 0x00, 0xDD, 0xFF, 0x23, 0x9A, 0x42, 0x00, 0xDA, + 0x1A, 0x1C, 0x4A, 0x55, 0x01, 0x34, 0x3D, 0x1C, + 0x40, 0x35, 0x2B, 0x78, 0x9C, 0x42, 0xDF, 0xDD, + 0x01, 0x36, 0x2F, 0x4A, 0x2B, 0x4D, 0x13, 0x78, + 0x40, 0x35, 0x9E, 0x42, 0xD3, 0xDB, 0x01, 0xF0, + 0xDF, 0xFF, 0x2C, 0x49, 0x2A, 0x78, 0x0D, 0x78, + 0x2B, 0x49, 0x27, 0x48, 0x09, 0x78, 0x01, 0x23, + 0x03, 0x91, 0x9B, 0x1A, 0x00, 0x21, 0x29, 0x4C, + 0x10, 0x18, 0x94, 0x46, 0x11, 0xE0, 0xC6, 0x18, + 0x72, 0x1E, 0x12, 0x78, 0xC7, 0x5C, 0x6A, 0x43, + 0x02, 0x92, 0x03, 0x9A, 0x57, 0x43, 0x02, 0x9A, + 0xD7, 0x19, 0x72, 0x78, 0x6A, 0x43, 0xBA, 0x18, + 0x94, 0x42, 0x01, 0xDB, 0x94, 0xB2, 0x19, 0x1C, + 0x01, 0x33, 0x9C, 0x45, 0xEB, 0xDC, 0x19, 0x4B, + 0x1D, 0x4C, 0xDA, 0x78, 0x51, 0x18, 0xC9, 0xB2, + 0x99, 0x70, 0x13, 0x4B, 0x18, 0x78, 0x00, 0x28, + 0x05, 0xD1, 0x23, 0x78, 0x00, 0x2B, 0x02, 0xD0, + 0x18, 0x49, 0x02, 0xF0, 0xB7, 0xFD, 0x23, 0x78, + 0x00, 0x2B, 0x0B, 0xD0, 0x0D, 0x4B, 0x00, 0x20, + 0x40, 0x33, 0x19, 0x78, 0x0C, 0x4A, 0x49, 0x00, + 0x01, 0x31, 0xC9, 0xB2, 0x01, 0x23, 0x00, 0x90, + 0x02, 0xF0, 0x50, 0xFD, 0x0E, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x21, 0x00, 0x20, + 0x0D, 0x4A, 0x0B, 0x1C, 0x00, 0x90, 0x02, 0xF0, + 0x45, 0xFD, 0x07, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0xE0, 0x01, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x93, 0x01, 0x00, 0x20, 0xAA, 0x0A, 0x00, 0x20, + 0x87, 0x0D, 0x00, 0x20, 0x54, 0x00, 0x00, 0x20, + 0x55, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0x00, 0x00, + 0xEB, 0x01, 0x00, 0x20, 0x1A, 0x59, 0x00, 0x00, + 0xAC, 0x0A, 0x00, 0x20, 0x13, 0xB5, 0x24, 0x4B, + 0x24, 0x4C, 0x1B, 0x68, 0x00, 0x2B, 0x0E, 0xD0, + 0x23, 0x78, 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, + 0x21, 0x49, 0x02, 0xF0, 0x77, 0xFD, 0xFF, 0xF7, + 0x6D, 0xFA, 0x23, 0x78, 0x00, 0x2B, 0x02, 0xD1, + 0x02, 0xF0, 0x38, 0xF8, 0xFE, 0xE7, 0x23, 0x78, + 0x00, 0x2B, 0x09, 0xD0, 0x1B, 0x4C, 0x23, 0x68, + 0xDA, 0x00, 0x05, 0xD5, 0xFF, 0xF7, 0x5E, 0xFA, + 0x22, 0x68, 0x19, 0x4B, 0x13, 0x40, 0x23, 0x60, + 0x14, 0x4C, 0x23, 0x78, 0x00, 0x2B, 0x22, 0xD0, + 0x14, 0x4B, 0x1B, 0x68, 0x5A, 0x01, 0x1E, 0xD5, + 0x14, 0x49, 0x00, 0x20, 0x02, 0xF0, 0x56, 0xFD, + 0x13, 0x4B, 0x14, 0x4A, 0x19, 0x88, 0x11, 0x80, + 0x59, 0x88, 0x51, 0x80, 0x99, 0x88, 0x91, 0x80, + 0xDB, 0x88, 0xD3, 0x80, 0x10, 0x4B, 0x1B, 0x78, + 0x13, 0x81, 0x23, 0x78, 0x00, 0x2B, 0x05, 0xD0, + 0x00, 0x20, 0x05, 0x21, 0x02, 0x23, 0x00, 0x90, + 0x02, 0xF0, 0xE8, 0xFC, 0x05, 0x4B, 0x0B, 0x4A, + 0x19, 0x68, 0x0A, 0x40, 0x1A, 0x60, 0x13, 0xBD, + 0x0C, 0x1E, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x20, 0x59, 0x00, 0x00, 0x58, 0x00, 0x00, 0x20, + 0xFF, 0xFF, 0xFF, 0xEF, 0x27, 0x59, 0x00, 0x00, + 0x04, 0x02, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0xAA, 0x0A, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFB, + 0x10, 0xB5, 0x02, 0x28, 0x04, 0xD0, 0x03, 0x28, + 0x45, 0xD0, 0x01, 0x28, 0x33, 0xD1, 0x15, 0xE0, + 0xFF, 0xF7, 0xF6, 0xF9, 0x29, 0x4B, 0x2A, 0x4C, + 0x40, 0x33, 0x1B, 0x78, 0x29, 0x49, 0x50, 0x22, + 0x23, 0x70, 0x29, 0x48, 0x04, 0xF0, 0xA6, 0xF9, + 0x28, 0x4B, 0x0D, 0x20, 0x1B, 0x68, 0x98, 0x47, + 0xFF, 0xF7, 0xF4, 0xF9, 0x23, 0x78, 0x10, 0x2B, + 0x1A, 0xD1, 0x14, 0xE0, 0xFF, 0xF7, 0xE0, 0xF9, + 0x1E, 0x4B, 0x1F, 0x4C, 0x40, 0x33, 0x1B, 0x78, + 0x21, 0x49, 0x50, 0x22, 0x23, 0x70, 0x1E, 0x48, + 0x04, 0xF0, 0x90, 0xF9, 0x1D, 0x4B, 0x0C, 0x20, + 0x1B, 0x68, 0x98, 0x47, 0xFF, 0xF7, 0xDE, 0xF9, + 0x23, 0x78, 0x10, 0x2B, 0x04, 0xD1, 0x1B, 0x4B, + 0xDA, 0x78, 0x9A, 0x70, 0x02, 0xF0, 0xD1, 0xFA, + 0x02, 0xF0, 0x54, 0xFA, 0x20, 0xE0, 0x18, 0x4B, + 0x1A, 0x78, 0x00, 0x2A, 0x05, 0xD0, 0x17, 0x4A, + 0x11, 0x68, 0x01, 0x31, 0x11, 0x60, 0x00, 0x22, + 0x1A, 0x70, 0x15, 0x4B, 0x1A, 0x68, 0x13, 0x2A, + 0x05, 0xDD, 0x00, 0x22, 0x1A, 0x60, 0x0A, 0x4B, + 0x10, 0x22, 0x1A, 0x70, 0x0C, 0xE0, 0x0F, 0x4B, + 0x1A, 0x68, 0x3B, 0x2A, 0x08, 0xDD, 0x00, 0x22, + 0x1A, 0x60, 0x0E, 0x4B, 0x01, 0x20, 0x1B, 0x68, + 0x98, 0x47, 0x0D, 0x4B, 0x01, 0x22, 0x1A, 0x70, + 0x10, 0xBD, 0xC0, 0x46, 0xAE, 0x09, 0x00, 0x20, + 0x1D, 0x03, 0x00, 0x20, 0x4A, 0x74, 0x00, 0x00, + 0x48, 0x0D, 0x00, 0x20, 0xF8, 0x01, 0x00, 0x20, + 0x9A, 0x74, 0x00, 0x00, 0xAA, 0x0A, 0x00, 0x20, + 0xC4, 0x01, 0x00, 0x20, 0xC0, 0x01, 0x00, 0x20, + 0xBC, 0x01, 0x00, 0x20, 0x6C, 0x00, 0x00, 0x20, + 0xE7, 0x01, 0x00, 0x20, 0x10, 0xB5, 0x0C, 0x4B, + 0x01, 0x22, 0x99, 0x79, 0x00, 0x23, 0x00, 0xE0, + 0x23, 0x1C, 0x5C, 0x1C, 0x10, 0x1C, 0xE4, 0xB2, + 0x98, 0x40, 0x81, 0x42, 0xF8, 0xDA, 0x07, 0x4A, + 0x07, 0x21, 0x13, 0x71, 0x80, 0x22, 0xD2, 0x05, + 0x0B, 0x40, 0x19, 0x02, 0x10, 0x6C, 0x04, 0x4B, + 0x03, 0x40, 0x0B, 0x43, 0x13, 0x64, 0x10, 0xBD, + 0x48, 0x0D, 0x00, 0x20, 0x5C, 0x00, 0x00, 0x20, + 0xFF, 0xF8, 0xFF, 0xFF, 0x06, 0x4B, 0x07, 0x22, + 0xD9, 0x79, 0x80, 0x23, 0xDB, 0x05, 0x18, 0x6C, + 0x11, 0x40, 0x04, 0x4A, 0x09, 0x02, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x64, 0x70, 0x47, 0xC0, 0x46, + 0x48, 0x0D, 0x00, 0x20, 0xFF, 0xF8, 0xFF, 0xFF, + 0xF0, 0xB5, 0x8D, 0xB0, 0x04, 0x90, 0xFF, 0xF7, + 0xC9, 0xFF, 0xC7, 0x4B, 0xC7, 0x48, 0xDE, 0x78, + 0x00, 0x21, 0x05, 0x96, 0x9C, 0x78, 0x07, 0xE0, + 0x01, 0x3B, 0xDB, 0xB2, 0xEE, 0x18, 0x76, 0x00, + 0x31, 0x52, 0x00, 0x2B, 0xF8, 0xD1, 0x05, 0x92, + 0x05, 0x9A, 0x05, 0x9E, 0x01, 0x3A, 0xD2, 0xB2, + 0x00, 0x2E, 0x02, 0xD0, 0x23, 0x1C, 0x55, 0x01, + 0xF3, 0xE7, 0x04, 0x9F, 0x00, 0x2F, 0x05, 0xD0, + 0xBB, 0x4B, 0x05, 0x9E, 0x5B, 0x7B, 0x06, 0x96, + 0x03, 0x93, 0x04, 0xE0, 0xB9, 0x4B, 0x02, 0x27, + 0x9B, 0x78, 0x06, 0x97, 0x03, 0x93, 0x68, 0x46, + 0x0C, 0x21, 0x0B, 0x56, 0xB2, 0x4C, 0x0B, 0x93, + 0x5B, 0x42, 0x09, 0x93, 0xAA, 0xE0, 0x6A, 0x46, + 0x18, 0x23, 0x9A, 0x56, 0xE6, 0x7A, 0x27, 0x1C, + 0x02, 0x92, 0x0D, 0xE0, 0x30, 0x1C, 0x00, 0x21, + 0x2A, 0x1C, 0x02, 0x9B, 0x02, 0xF0, 0x4C, 0xF9, + 0x30, 0x1C, 0x01, 0x21, 0x2A, 0x1C, 0x02, 0x9B, + 0x02, 0xF0, 0x46, 0xF9, 0x01, 0x36, 0xF6, 0xB2, + 0xBB, 0x7A, 0xFA, 0x7A, 0xD2, 0x18, 0x3B, 0x1C, + 0x96, 0x42, 0xEB, 0xDB, 0x04, 0x9E, 0x00, 0x2E, + 0x00, 0xD1, 0x0E, 0x3D, 0x68, 0x46, 0x18, 0x21, + 0x08, 0x56, 0x5E, 0x7B, 0x9E, 0x4F, 0x02, 0x90, + 0x0D, 0xE0, 0x30, 0x1C, 0x00, 0x21, 0x2A, 0x1C, + 0x02, 0x9B, 0x02, 0xF0, 0x2D, 0xF9, 0x30, 0x1C, + 0x01, 0x21, 0x2A, 0x1C, 0x02, 0x9B, 0x02, 0xF0, + 0x27, 0xF9, 0x01, 0x36, 0xF6, 0xB2, 0x7A, 0x7B, + 0x3B, 0x7B, 0xD3, 0x18, 0x9E, 0x42, 0xEC, 0xDB, + 0xFF, 0xF7, 0xAE, 0xFC, 0x96, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x23, 0x18, 0x1C, + 0x19, 0x1C, 0x0B, 0xAA, 0x00, 0x93, 0x02, 0xF0, + 0xAD, 0xFB, 0x00, 0x25, 0x8C, 0x4E, 0x90, 0x4F, + 0x0E, 0xE0, 0x3B, 0x78, 0x00, 0x2B, 0x09, 0xD0, + 0x8E, 0x4B, 0xEA, 0x01, 0xD2, 0x18, 0x00, 0x23, + 0xB1, 0x78, 0x01, 0x20, 0x00, 0x93, 0x02, 0x23, + 0x02, 0xF0, 0x9C, 0xFB, 0x01, 0x35, 0xED, 0xB2, + 0xF3, 0x78, 0x9D, 0x42, 0xED, 0xD3, 0x0B, 0x9A, + 0xB6, 0x78, 0xD2, 0xB2, 0x02, 0x96, 0x07, 0x92, + 0x80, 0x4D, 0x39, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x08, 0x9E, 0x99, 0x1C, 0x71, 0x18, 0x82, 0x4F, + 0x49, 0x00, 0xCE, 0x5B, 0xD1, 0x18, 0x48, 0x00, + 0x40, 0x5B, 0xB7, 0xB2, 0xB8, 0x42, 0x14, 0xDC, + 0xC0, 0x1B, 0x01, 0x1C, 0x80, 0x31, 0x01, 0xDA, + 0x80, 0x20, 0x40, 0x42, 0xD7, 0x18, 0x7F, 0x28, + 0x00, 0xDD, 0x7F, 0x20, 0x79, 0x49, 0x78, 0x54, + 0xD1, 0x18, 0x48, 0x00, 0x2E, 0x52, 0x1C, 0x27, + 0x6E, 0x46, 0x77, 0x48, 0xBE, 0x5D, 0x0E, 0x54, + 0x13, 0xE0, 0x04, 0x9E, 0x00, 0x2E, 0x10, 0xD0, + 0x74, 0x4E, 0xB0, 0x42, 0x08, 0xD0, 0x71, 0x4E, + 0x8E, 0x57, 0x80, 0x19, 0x87, 0x42, 0x03, 0xDA, + 0x6F, 0x48, 0x0E, 0x5C, 0x01, 0x36, 0x0E, 0x54, + 0xD1, 0x18, 0x01, 0x27, 0x49, 0x00, 0x7F, 0x42, + 0x6F, 0x52, 0x00, 0x2B, 0xC6, 0xD1, 0x63, 0x46, + 0x5E, 0x1E, 0xF6, 0xB2, 0x00, 0x2B, 0x06, 0xD0, + 0x72, 0x1C, 0x92, 0x01, 0x08, 0x92, 0x02, 0x9B, + 0x72, 0x01, 0xB4, 0x46, 0xF1, 0xE7, 0x0B, 0x9B, + 0x01, 0x3B, 0x0B, 0x93, 0x0B, 0x9D, 0x09, 0x9E, + 0xB5, 0x42, 0x00, 0xDB, 0x4F, 0xE7, 0x04, 0x9F, + 0x00, 0x2F, 0x45, 0xD0, 0xA0, 0x78, 0xE3, 0x78, + 0x04, 0x90, 0x61, 0x78, 0x56, 0x4A, 0x06, 0x91, + 0x24, 0x78, 0x02, 0x94, 0x11, 0x7C, 0xD0, 0x7A, + 0x5B, 0x4C, 0x08, 0x18, 0xC0, 0xB2, 0x07, 0x90, + 0x12, 0x7B, 0x89, 0x18, 0xC9, 0xB2, 0x08, 0x91, + 0x55, 0x4A, 0x28, 0xE0, 0x03, 0x9E, 0x01, 0x3B, + 0xDB, 0xB2, 0x00, 0x2E, 0x01, 0xD1, 0xC7, 0x18, + 0xD6, 0x55, 0x06, 0x9E, 0xB1, 0x42, 0x02, 0xD2, + 0x02, 0x9F, 0xBB, 0x42, 0x0C, 0xD3, 0xEF, 0x18, + 0xC6, 0x18, 0x09, 0x97, 0x97, 0x5D, 0xBC, 0x46, + 0x09, 0x9F, 0xE7, 0x5D, 0xBC, 0x44, 0x08, 0x9F, + 0xBC, 0x44, 0x67, 0x46, 0x97, 0x55, 0x0B, 0xE0, + 0xEF, 0x18, 0xC6, 0x18, 0x09, 0x97, 0x97, 0x5D, + 0xBC, 0x46, 0x09, 0x9F, 0xE7, 0x5D, 0xBC, 0x44, + 0x07, 0x9F, 0xBC, 0x44, 0x67, 0x46, 0x97, 0x55, + 0x00, 0x2B, 0xD7, 0xD1, 0x0B, 0x1C, 0x59, 0x1E, + 0xC9, 0xB2, 0x00, 0x2B, 0x3E, 0xD0, 0x26, 0x25, + 0x04, 0x9B, 0x48, 0x01, 0x4D, 0x43, 0xF3, 0xE7, + 0x63, 0x7C, 0xE2, 0x79, 0x07, 0x25, 0x9A, 0x18, + 0x03, 0x92, 0x34, 0x4A, 0xA0, 0x7B, 0x02, 0x21, + 0x52, 0x5E, 0x26, 0x79, 0xAD, 0x1A, 0x6D, 0x00, + 0x86, 0x19, 0xED, 0xB2, 0x34, 0x49, 0x84, 0x46, + 0x09, 0xE0, 0xB8, 0x18, 0x44, 0x5C, 0x01, 0x32, + 0x2C, 0x19, 0x44, 0x54, 0xD2, 0xB2, 0xB2, 0x42, + 0xF7, 0xDB, 0x01, 0x33, 0xDB, 0xB2, 0x03, 0x9A, + 0x93, 0x42, 0x02, 0xDA, 0x62, 0x46, 0x5F, 0x01, + 0xF5, 0xE7, 0x23, 0x4A, 0x2A, 0x49, 0x10, 0x7C, + 0xD3, 0x7B, 0x56, 0x79, 0x95, 0x79, 0x9E, 0x19, + 0x45, 0x19, 0x84, 0x46, 0x09, 0xE0, 0xB8, 0x18, + 0x44, 0x5C, 0x01, 0x32, 0x0E, 0x3C, 0x44, 0x54, + 0xD2, 0xB2, 0xAA, 0x42, 0xF7, 0xDB, 0x01, 0x33, + 0xDB, 0xB2, 0xB3, 0x42, 0x02, 0xDA, 0x62, 0x46, + 0x5F, 0x01, 0xF6, 0xE7, 0x1A, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x13, 0xD0, 0x05, 0x20, 0x1F, 0x49, + 0x02, 0xF0, 0x10, 0xFB, 0x0E, 0xE0, 0x2B, 0x78, + 0x00, 0x2B, 0x08, 0xD0, 0x18, 0x4B, 0x72, 0x01, + 0xA1, 0x78, 0xD2, 0x18, 0x05, 0x20, 0x01, 0x23, + 0x00, 0x93, 0x02, 0xF0, 0xAB, 0xFA, 0x01, 0x36, + 0xF6, 0xB2, 0x02, 0xE0, 0x0A, 0x4C, 0x0E, 0x4D, + 0x05, 0x9E, 0xE3, 0x78, 0xB3, 0x42, 0xEA, 0xD8, + 0x00, 0x21, 0x01, 0x20, 0x0A, 0x1C, 0x40, 0x42, + 0x02, 0x23, 0x02, 0xF0, 0x01, 0xF8, 0x01, 0x20, + 0x40, 0x42, 0x01, 0x21, 0x00, 0x22, 0x02, 0x23, + 0x01, 0xF0, 0xFA, 0xFF, 0xA4, 0x78, 0x25, 0xE0, + 0x0A, 0x03, 0x00, 0x20, 0xF8, 0x03, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x04, 0x02, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x84, 0x40, 0x00, 0x40, + 0x00, 0x40, 0x00, 0x40, 0x64, 0x0E, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0xFF, 0xFF, 0x00, 0x00, + 0x36, 0x75, 0x00, 0x00, 0x2E, 0x59, 0x00, 0x00, + 0x01, 0x3C, 0x00, 0x21, 0xE4, 0xB2, 0x0A, 0x1C, + 0x20, 0x1C, 0x01, 0x23, 0x01, 0xF0, 0xD8, 0xFF, + 0x01, 0x21, 0x20, 0x1C, 0x00, 0x22, 0x0B, 0x1C, + 0x01, 0xF0, 0xD2, 0xFF, 0x00, 0x2C, 0xEF, 0xD1, + 0xFF, 0xF7, 0x30, 0xFE, 0x0D, 0xB0, 0xF0, 0xBD, + 0x08, 0xB5, 0x03, 0xF0, 0xC5, 0xFD, 0x05, 0x4B, + 0x01, 0x20, 0x1B, 0x68, 0x98, 0x47, 0x01, 0x20, + 0x04, 0xF0, 0x22, 0xF9, 0x01, 0xF0, 0xD6, 0xFD, + 0x08, 0xBD, 0xC0, 0x46, 0xF8, 0x01, 0x00, 0x20, + 0xF7, 0xB5, 0x2C, 0x4A, 0x00, 0x20, 0x10, 0x60, + 0x2B, 0x4A, 0x2C, 0x4E, 0x11, 0x8C, 0x2C, 0x4A, + 0x11, 0x60, 0x72, 0x1D, 0xD2, 0x7F, 0xF1, 0x7D, + 0x50, 0x1E, 0x44, 0x42, 0x60, 0x41, 0x29, 0x4C, + 0x08, 0x1A, 0x00, 0x90, 0x20, 0x60, 0xB0, 0x1D, + 0xC5, 0x7F, 0x37, 0x7E, 0x6B, 0x1E, 0x58, 0x42, + 0x58, 0x41, 0x3B, 0x1A, 0x01, 0x93, 0x63, 0x60, + 0x01, 0x2A, 0x02, 0xD1, 0x00, 0x20, 0x20, 0x81, + 0x05, 0xE0, 0x26, 0x23, 0xF0, 0x5E, 0x49, 0x00, + 0x03, 0xF0, 0xBA, 0xFE, 0x20, 0x81, 0x01, 0x2D, + 0x02, 0xD1, 0x00, 0x23, 0x63, 0x81, 0x05, 0xE0, + 0x28, 0x23, 0xF0, 0x5E, 0x79, 0x00, 0x03, 0xF0, + 0xAF, 0xFE, 0x60, 0x81, 0x15, 0x4F, 0x01, 0x9B, + 0x28, 0x20, 0x3E, 0x5E, 0x59, 0x00, 0x70, 0x00, + 0x80, 0x19, 0x03, 0xF0, 0xA5, 0xFE, 0x40, 0x43, + 0x12, 0x4C, 0x43, 0x00, 0x80, 0x00, 0xE3, 0x60, + 0xC3, 0x18, 0x23, 0x61, 0x26, 0x20, 0x3D, 0x5E, + 0x00, 0x9B, 0x68, 0x00, 0x59, 0x00, 0x40, 0x19, + 0x03, 0xF0, 0x96, 0xFE, 0x2C, 0x37, 0x60, 0x61, + 0xA0, 0x61, 0x3B, 0x78, 0x00, 0x2B, 0x02, 0xD1, + 0xE6, 0x61, 0x25, 0x62, 0x01, 0xE0, 0xE5, 0x61, + 0x26, 0x62, 0x07, 0x4B, 0x01, 0x22, 0x52, 0x42, + 0x5A, 0x60, 0xF7, 0xBD, 0x9C, 0x0D, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x20, 0x02, 0x00, 0x20, 0x24, 0x09, 0x00, 0x20, + 0xCC, 0x00, 0x00, 0x20, 0xF0, 0xB5, 0x24, 0x4B, + 0x87, 0xB0, 0x1E, 0x7E, 0xDB, 0x7D, 0x72, 0x1C, + 0xD9, 0x1C, 0x02, 0x33, 0x03, 0x93, 0x05, 0x92, + 0x00, 0x23, 0x20, 0x4A, 0x04, 0x91, 0x18, 0x1C, + 0x05, 0x9C, 0xE5, 0x1A, 0xEF, 0x01, 0x01, 0x97, + 0xBC, 0x5A, 0xB8, 0x52, 0x04, 0x9C, 0xAD, 0x01, + 0x29, 0x19, 0x4F, 0x00, 0xBC, 0x5A, 0x1A, 0x4C, + 0xB8, 0x52, 0x00, 0x27, 0x2F, 0x55, 0x0F, 0x55, + 0x01, 0x99, 0x18, 0x4F, 0x01, 0x33, 0xCF, 0x19, + 0x02, 0x97, 0x39, 0x88, 0x38, 0x80, 0x03, 0x99, + 0x6F, 0x18, 0x79, 0x00, 0x01, 0x91, 0x89, 0x5A, + 0x01, 0x99, 0x88, 0x52, 0x12, 0x49, 0x6D, 0x18, + 0x00, 0x21, 0x29, 0x70, 0x39, 0x55, 0xF7, 0x1A, + 0x0C, 0x4D, 0x01, 0x37, 0xD8, 0xDA, 0x00, 0x22, + 0x01, 0x36, 0x03, 0x9B, 0x11, 0x1C, 0xB6, 0x01, + 0x58, 0x00, 0x2F, 0x5A, 0x2A, 0x52, 0xF0, 0x18, + 0x47, 0x00, 0xEC, 0x5B, 0xEA, 0x53, 0x06, 0x4F, + 0xF9, 0x54, 0x01, 0x3B, 0x39, 0x54, 0x01, 0x2B, + 0xF2, 0xD1, 0x07, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0xAE, 0x09, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, + 0x00, 0x20, 0x00, 0x40, 0x02, 0x40, 0x00, 0x40, + 0x01, 0x20, 0x00, 0x40, 0xF7, 0xB5, 0x0D, 0x4B, + 0x19, 0x7E, 0xDE, 0x7D, 0x48, 0x1C, 0x01, 0x36, + 0x00, 0x23, 0x01, 0x90, 0x01, 0x9C, 0x32, 0x1C, + 0xE7, 0x1A, 0xBF, 0x01, 0x95, 0x1C, 0xAC, 0x46, + 0xBC, 0x44, 0x07, 0x4C, 0x00, 0x25, 0x60, 0x46, + 0x01, 0x3A, 0x05, 0x55, 0x50, 0x1C, 0xF5, 0xDA, + 0x01, 0x33, 0xCA, 0x1A, 0x01, 0x32, 0xED, 0xDA, + 0xF7, 0xBD, 0xC0, 0x46, 0xAE, 0x09, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x40, 0x00, 0xB5, 0x0D, 0x4B, + 0x08, 0x22, 0x9B, 0x5E, 0x0C, 0x4A, 0x11, 0x1C, + 0x35, 0x31, 0x09, 0x78, 0x12, 0x7F, 0x4B, 0x43, + 0x52, 0xB2, 0x9B, 0x11, 0x93, 0x42, 0x00, 0xDA, + 0x13, 0x1C, 0x08, 0x4A, 0x13, 0x60, 0x80, 0x22, + 0xD2, 0x05, 0x1B, 0x05, 0x19, 0x09, 0x90, 0x69, + 0x05, 0x4B, 0x03, 0x40, 0x0B, 0x43, 0x93, 0x61, + 0x00, 0xBD, 0xC0, 0x46, 0x70, 0x01, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x38, 0x0D, 0x00, 0x20, + 0xFF, 0xFF, 0x00, 0xF0, 0xF0, 0xB5, 0xA9, 0x4A, + 0xA9, 0x48, 0x11, 0x68, 0x07, 0x68, 0x93, 0xB0, + 0x8C, 0x46, 0x0D, 0x22, 0x00, 0x21, 0x7F, 0x25, + 0xFF, 0x24, 0x01, 0x97, 0x90, 0x00, 0x83, 0x18, + 0xA4, 0x4E, 0x5B, 0x00, 0xF3, 0x18, 0x99, 0x87, + 0x00, 0x27, 0x38, 0x33, 0x1F, 0x72, 0x67, 0x46, + 0x39, 0x50, 0x01, 0x3A, 0x01, 0x9F, 0xD2, 0xB2, + 0x39, 0x50, 0x00, 0x26, 0xDD, 0x72, 0x5D, 0x72, + 0x1C, 0x73, 0x9C, 0x72, 0xD9, 0x80, 0xFF, 0x2A, + 0xE8, 0xD1, 0x9B, 0x4A, 0x9B, 0x4B, 0x11, 0x7E, + 0x98, 0x68, 0x9B, 0x4C, 0x97, 0x4D, 0x01, 0x39, + 0x04, 0x90, 0xA6, 0x81, 0x2E, 0x60, 0x88, 0x42, + 0x02, 0xDA, 0x01, 0x30, 0x04, 0x90, 0x98, 0x60, + 0xDE, 0x68, 0x11, 0x96, 0x00, 0x2E, 0x02, 0xDD, + 0x01, 0x3E, 0x11, 0x96, 0xDE, 0x60, 0xD1, 0x7D, + 0x1A, 0x68, 0x01, 0x39, 0x8A, 0x42, 0x01, 0xDA, + 0x01, 0x32, 0x1A, 0x60, 0x5A, 0x68, 0x00, 0x2A, + 0x01, 0xDD, 0x01, 0x3A, 0x5A, 0x60, 0x04, 0x9F, + 0x11, 0x98, 0x87, 0x42, 0x00, 0xDA, 0xA3, 0xE0, + 0x19, 0x68, 0x5B, 0x68, 0x84, 0x4A, 0x06, 0x93, + 0x88, 0x4B, 0x12, 0x68, 0x1B, 0x68, 0x86, 0x4C, + 0x0D, 0x93, 0x80, 0x4B, 0x10, 0x91, 0x1B, 0x68, + 0x09, 0x92, 0x0A, 0x93, 0xA4, 0x89, 0x84, 0x48, + 0x0C, 0x94, 0x06, 0x9D, 0x10, 0x9E, 0xB5, 0x42, + 0x00, 0xDD, 0x81, 0xE0, 0x04, 0x9A, 0x6F, 0x46, + 0x10, 0x21, 0x01, 0x32, 0xCF, 0x5D, 0x92, 0x01, + 0x33, 0x1C, 0x02, 0x92, 0x07, 0x97, 0x05, 0xE0, + 0x00, 0x27, 0x2F, 0x54, 0x06, 0x9F, 0x01, 0x3B, + 0x9F, 0x42, 0x71, 0xDC, 0x02, 0x99, 0x9C, 0x1C, + 0x0D, 0x19, 0x2A, 0x5C, 0x77, 0x4E, 0x69, 0x00, + 0x89, 0x5B, 0x0E, 0x2A, 0xF0, 0xD8, 0x0D, 0x9D, + 0x49, 0x1B, 0x00, 0x2A, 0x00, 0xD1, 0x71, 0xE0, + 0x01, 0x3A, 0xD4, 0xB2, 0x09, 0x9E, 0x04, 0x9F, + 0xA2, 0x00, 0xB5, 0x18, 0x4F, 0x43, 0x2E, 0x68, + 0xB4, 0x46, 0x67, 0x44, 0x2F, 0x60, 0x0A, 0x9D, + 0x0E, 0x1C, 0xAF, 0x18, 0x3D, 0x68, 0x5E, 0x43, + 0xAC, 0x46, 0x15, 0x19, 0x6D, 0x00, 0x01, 0x95, + 0x62, 0x4D, 0x66, 0x44, 0xAC, 0x46, 0x01, 0x9D, + 0x3E, 0x60, 0xAC, 0x44, 0x65, 0x46, 0xAF, 0x8F, + 0x38, 0x35, 0x2E, 0x7A, 0xCF, 0x19, 0x03, 0x96, + 0x09, 0x26, 0xAE, 0x57, 0xAF, 0x80, 0x01, 0x96, + 0x0C, 0x9E, 0x6F, 0x46, 0xB4, 0x46, 0x01, 0x26, + 0xB4, 0x44, 0x03, 0x9E, 0x01, 0x36, 0x03, 0x96, + 0x66, 0x46, 0xB6, 0xB2, 0x0C, 0x96, 0x0C, 0x26, + 0xF7, 0x5D, 0x04, 0x9E, 0x2F, 0x72, 0x01, 0x9F, + 0xBE, 0x42, 0x00, 0xDA, 0x6E, 0x72, 0x51, 0x4E, + 0x15, 0x19, 0x6D, 0x00, 0x75, 0x19, 0x38, 0x35, + 0x0A, 0x26, 0xAE, 0x57, 0x04, 0x9F, 0xB7, 0x42, + 0x00, 0xDD, 0xAF, 0x72, 0x4B, 0x4E, 0x15, 0x19, + 0x6D, 0x00, 0x75, 0x19, 0x38, 0x35, 0x0B, 0x26, + 0xAE, 0x57, 0xB3, 0x42, 0x00, 0xDA, 0xEB, 0x72, + 0x15, 0x19, 0x46, 0x4F, 0x6D, 0x00, 0x7D, 0x19, + 0x38, 0x35, 0x0C, 0x26, 0xAE, 0x57, 0xB3, 0x42, + 0x00, 0xDD, 0x2B, 0x73, 0x12, 0x19, 0x41, 0x4C, + 0x52, 0x00, 0xA2, 0x18, 0x3E, 0x25, 0x54, 0x5F, + 0x38, 0x32, 0xA1, 0x42, 0x8E, 0xDD, 0x06, 0x9F, + 0x01, 0x3B, 0xD1, 0x80, 0x9F, 0x42, 0x8D, 0xDD, + 0x04, 0x99, 0x11, 0x9A, 0x01, 0x39, 0x04, 0x91, + 0x91, 0x42, 0x00, 0xDB, 0x71, 0xE7, 0x6B, 0x46, + 0x30, 0x24, 0xE4, 0x5A, 0x38, 0x4B, 0x9C, 0x81, + 0x13, 0xB0, 0xF0, 0xBD, 0x02, 0x39, 0xCA, 0x43, + 0xD2, 0x17, 0x11, 0x40, 0x03, 0x91, 0x04, 0x9E, + 0x03, 0x9F, 0x71, 0x43, 0x5F, 0x43, 0x0E, 0x91, + 0x00, 0x25, 0xD9, 0xB2, 0x0F, 0x97, 0x05, 0x91, + 0x03, 0x22, 0x01, 0x95, 0x9C, 0x46, 0x08, 0x94, + 0x31, 0x4E, 0x32, 0x4F, 0x07, 0x9C, 0xB1, 0x5C, + 0x05, 0x9D, 0xBB, 0x5C, 0x61, 0x18, 0xEB, 0x18, + 0x49, 0xB2, 0x01, 0x31, 0x5B, 0xB2, 0x89, 0x01, + 0x02, 0x33, 0xCB, 0x18, 0x1C, 0x5C, 0x65, 0xB2, + 0x69, 0x1E, 0x0D, 0x29, 0x27, 0xD8, 0x08, 0x9B, + 0x02, 0x9F, 0x8E, 0x00, 0xFF, 0x18, 0x0B, 0x97, + 0x09, 0x9F, 0x71, 0x18, 0xBB, 0x19, 0x0A, 0x9F, + 0x49, 0x00, 0xBF, 0x19, 0x1B, 0x4E, 0x00, 0x97, + 0x01, 0x9F, 0x71, 0x18, 0x38, 0x31, 0x00, 0x2F, + 0x1A, 0xD1, 0xE4, 0xB2, 0x01, 0x94, 0x0B, 0x9D, + 0x0E, 0x34, 0xE4, 0xB2, 0x2C, 0x54, 0x1C, 0x68, + 0x0E, 0x9E, 0x00, 0x9F, 0xA4, 0x19, 0x1C, 0x60, + 0x3B, 0x68, 0x0F, 0x9C, 0x03, 0x9D, 0x1B, 0x19, + 0x3B, 0x60, 0x8C, 0x88, 0x0B, 0x7A, 0x2C, 0x19, + 0x01, 0x33, 0x8C, 0x80, 0x0B, 0x72, 0x53, 0x1E, + 0x00, 0x2A, 0x10, 0xD0, 0xDA, 0xB2, 0xBF, 0xE7, + 0x02, 0x9E, 0x08, 0x99, 0x01, 0x9C, 0x73, 0x18, + 0x1F, 0x2C, 0xF4, 0xD0, 0xAC, 0x42, 0xF2, 0xD0, + 0x1F, 0x25, 0x1F, 0x26, 0x1D, 0x54, 0x01, 0x96, + 0x53, 0x1E, 0x00, 0x2A, 0xEE, 0xD1, 0x63, 0x46, + 0x18, 0xE7, 0xC0, 0x46, 0x44, 0x00, 0x00, 0x20, + 0x48, 0x00, 0x00, 0x20, 0x24, 0x02, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xE4, 0x10, 0x00, 0x20, + 0x70, 0x01, 0x00, 0x20, 0x38, 0x0D, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, + 0xF8, 0x59, 0x00, 0x00, 0xF4, 0x59, 0x00, 0x00, + 0xF0, 0xB5, 0x89, 0xB0, 0x0F, 0x23, 0x46, 0x49, + 0xFF, 0x22, 0x02, 0xE0, 0x58, 0x18, 0x01, 0x38, + 0x02, 0x70, 0x01, 0x3B, 0x00, 0x2B, 0xF9, 0xD1, + 0x42, 0x4B, 0xD8, 0x68, 0x19, 0x68, 0x9A, 0x68, + 0x5B, 0x68, 0x01, 0x90, 0x03, 0x93, 0x40, 0x4B, + 0x02, 0x91, 0x1B, 0x68, 0x04, 0x93, 0x3F, 0x4B, + 0x5B, 0x7F, 0x06, 0x93, 0x68, 0xE0, 0x07, 0x9B, + 0x88, 0x1C, 0x3D, 0x4A, 0x18, 0x18, 0x83, 0x5C, + 0x5B, 0xB2, 0x1F, 0x2B, 0x5A, 0xD1, 0x3B, 0x4A, + 0x40, 0x00, 0x82, 0x5A, 0x04, 0x9D, 0x04, 0x20, + 0x52, 0x1B, 0x05, 0x92, 0x38, 0x4A, 0x01, 0x38, + 0xC0, 0xB2, 0x14, 0x56, 0x37, 0x4A, 0x64, 0x44, + 0x12, 0x56, 0x01, 0x34, 0x8A, 0x18, 0xA4, 0x01, + 0x02, 0x32, 0x31, 0x4E, 0xA2, 0x18, 0xB4, 0x5C, + 0x0E, 0x2C, 0x41, 0xD8, 0x1F, 0x2B, 0x3E, 0xD0, + 0xA3, 0x42, 0x3D, 0xD0, 0x00, 0x2C, 0x3B, 0xD0, + 0x0A, 0x27, 0x5D, 0x1E, 0x7D, 0x43, 0x2E, 0x4A, + 0x2D, 0x4E, 0x55, 0x19, 0x62, 0x1E, 0x7A, 0x43, + 0xB2, 0x18, 0x3E, 0x27, 0xEE, 0x5F, 0x3E, 0x27, + 0xD5, 0x5F, 0x1A, 0x1C, 0xAE, 0x42, 0x00, 0xDD, + 0x22, 0x1C, 0x0A, 0x25, 0x01, 0x3A, 0x6A, 0x43, + 0x25, 0x4E, 0x06, 0x9D, 0xB2, 0x18, 0x3E, 0x27, + 0xD2, 0x5F, 0x05, 0x9E, 0x6A, 0x43, 0x92, 0x11, + 0x96, 0x42, 0x1D, 0xDD, 0x9C, 0x42, 0x02, 0xD9, + 0x1A, 0x1C, 0x23, 0x1C, 0x14, 0x1C, 0x5E, 0x1E, + 0x15, 0x4A, 0xF6, 0xB2, 0x97, 0x5D, 0x00, 0x25, + 0x00, 0x97, 0x6F, 0x46, 0x7D, 0x57, 0x01, 0x3C, + 0xE4, 0xB2, 0x6F, 0x1C, 0x09, 0xD0, 0xA5, 0x42, + 0x03, 0xDA, 0x6D, 0x46, 0x2D, 0x78, 0x15, 0x55, + 0x06, 0xE0, 0xA5, 0x42, 0x04, 0xDD, 0xE4, 0xB2, + 0x54, 0x55, 0x94, 0x55, 0x00, 0xE0, 0x23, 0x1C, + 0x00, 0x28, 0xAB, 0xD1, 0x01, 0x39, 0x03, 0x9E, + 0xB1, 0x42, 0x98, 0xDA, 0x62, 0x46, 0x01, 0x3A, + 0x01, 0x9F, 0xBA, 0x42, 0x05, 0xDB, 0x53, 0x1C, + 0x9B, 0x01, 0x02, 0x99, 0x07, 0x93, 0x94, 0x46, + 0xF1, 0xE7, 0x09, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0xEC, 0x02, 0x00, 0x20, 0xE4, 0x10, 0x00, 0x20, + 0x38, 0x0D, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, + 0xF8, 0x59, 0x00, 0x00, 0xF4, 0x59, 0x00, 0x00, + 0x24, 0x02, 0x00, 0x20, 0xF0, 0xB5, 0xD4, 0x4A, + 0x8D, 0xB0, 0x11, 0x68, 0x00, 0x23, 0xD0, 0x18, + 0xBE, 0x30, 0x00, 0x24, 0x00, 0x5F, 0x0A, 0x3B, + 0x44, 0x1E, 0xA0, 0x41, 0x1D, 0x1C, 0x09, 0x18, + 0x8C, 0x35, 0xF4, 0xD1, 0xCD, 0x4B, 0x11, 0x60, + 0x1B, 0x68, 0xBE, 0x32, 0x03, 0x93, 0xCC, 0x4B, + 0x0E, 0x24, 0x1B, 0x68, 0x05, 0x93, 0xCB, 0x4E, + 0x01, 0x3C, 0x33, 0x57, 0x5F, 0x1C, 0x01, 0xD1, + 0x73, 0xE0, 0x03, 0x1C, 0xC7, 0x4D, 0xE8, 0x56, + 0x46, 0x1C, 0xFA, 0xD1, 0x2B, 0x55, 0x5F, 0x1C, + 0x6B, 0xD0, 0x03, 0x98, 0x9D, 0x00, 0x46, 0x19, + 0x37, 0x68, 0xA0, 0x00, 0xBC, 0x46, 0x03, 0x9F, + 0x3F, 0x58, 0xBC, 0x44, 0x67, 0x46, 0x37, 0x60, + 0x05, 0x9E, 0x05, 0x9F, 0x75, 0x19, 0x2E, 0x68, + 0x38, 0x58, 0xB9, 0x4F, 0x30, 0x18, 0x0A, 0x26, + 0x28, 0x60, 0x30, 0x1C, 0x58, 0x43, 0x38, 0x18, + 0x38, 0x30, 0x09, 0x27, 0xC7, 0x57, 0x55, 0x79, + 0xBC, 0x46, 0x6F, 0xB2, 0xBC, 0x45, 0x00, 0xDD, + 0x45, 0x72, 0x5E, 0x43, 0xB0, 0x4D, 0x90, 0x79, + 0xAE, 0x19, 0x38, 0x36, 0x0A, 0x27, 0xF7, 0x57, + 0x45, 0xB2, 0xAF, 0x42, 0x00, 0xDA, 0xB0, 0x72, + 0xD6, 0x79, 0xAB, 0x4F, 0x06, 0x96, 0x0A, 0x26, + 0x30, 0x1C, 0x58, 0x43, 0x38, 0x18, 0x38, 0x30, + 0x0B, 0x25, 0x45, 0x57, 0xAC, 0x46, 0x6D, 0x46, + 0x18, 0x35, 0x2D, 0x78, 0x6D, 0xB2, 0xAC, 0x45, + 0x03, 0xDD, 0x6F, 0x46, 0x18, 0x25, 0xEF, 0x5D, + 0xC7, 0x72, 0x5E, 0x43, 0xA0, 0x4D, 0x10, 0x7A, + 0xAF, 0x19, 0x38, 0x37, 0x0C, 0x26, 0xBE, 0x57, + 0x45, 0xB2, 0xAE, 0x42, 0x00, 0xDA, 0x38, 0x73, + 0x0A, 0x20, 0x58, 0x43, 0x56, 0x88, 0x9A, 0x4F, + 0x06, 0x96, 0x38, 0x18, 0x3E, 0x26, 0x85, 0x5F, + 0x18, 0x26, 0xAC, 0x46, 0x6D, 0x46, 0x75, 0x5F, + 0x38, 0x30, 0x0A, 0x26, 0xAC, 0x45, 0x03, 0xDA, + 0x6F, 0x46, 0x18, 0x25, 0xEF, 0x5B, 0xC7, 0x80, + 0x5E, 0x43, 0x91, 0x48, 0x01, 0x39, 0x87, 0x19, + 0xBB, 0x8F, 0x10, 0x88, 0xC3, 0x18, 0xBB, 0x87, + 0x38, 0x37, 0x10, 0x79, 0x3B, 0x7A, 0xC3, 0x18, + 0x3B, 0x72, 0x0A, 0x3A, 0x00, 0x2C, 0x00, 0xD0, + 0x81, 0xE7, 0x89, 0x4F, 0x26, 0x1C, 0x3D, 0x1C, + 0x3C, 0x35, 0x03, 0x95, 0x39, 0x60, 0x25, 0x1C, + 0x88, 0x48, 0x00, 0x22, 0x33, 0x18, 0x9A, 0x56, + 0x01, 0x32, 0x19, 0xD1, 0x1D, 0x70, 0xB5, 0x42, + 0x12, 0xD0, 0x82, 0x4B, 0xB1, 0x00, 0x1A, 0x68, + 0xAB, 0x00, 0x50, 0x58, 0xD0, 0x50, 0x80, 0x4A, + 0x7D, 0x48, 0x12, 0x68, 0x51, 0x58, 0xD1, 0x50, + 0x0A, 0x22, 0x13, 0x1C, 0x6B, 0x43, 0xC0, 0x18, + 0x3C, 0x30, 0x03, 0x99, 0x03, 0xF0, 0x7E, 0xFB, + 0x3B, 0x68, 0x01, 0x35, 0x9D, 0x42, 0x05, 0xDA, + 0x03, 0x99, 0x01, 0x36, 0x0A, 0x31, 0x03, 0x91, + 0x0E, 0x2E, 0xD9, 0xD1, 0x76, 0x4B, 0x1B, 0x68, + 0xDA, 0x06, 0x3B, 0xD5, 0x75, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x04, 0x20, 0x74, 0x49, + 0x01, 0xF0, 0xD4, 0xFE, 0x00, 0x25, 0x73, 0x4E, + 0x2C, 0xE0, 0x69, 0x1C, 0x89, 0x01, 0x33, 0x68, + 0x77, 0x68, 0x71, 0x4A, 0x03, 0x91, 0xA4, 0x46, + 0x12, 0xE0, 0x03, 0x9C, 0x99, 0x1C, 0x61, 0x18, + 0x88, 0x5C, 0x40, 0xB2, 0x44, 0x1E, 0x0D, 0x2C, + 0x09, 0xD8, 0x66, 0x4C, 0x20, 0x18, 0x01, 0x38, + 0x00, 0x78, 0x40, 0xB2, 0x44, 0x1C, 0x02, 0xD0, + 0x01, 0x30, 0xC0, 0xB2, 0x88, 0x54, 0x01, 0x3B, + 0xBB, 0x42, 0xEA, 0xDA, 0x61, 0x4B, 0x64, 0x46, + 0x1B, 0x78, 0x00, 0x2B, 0x09, 0xD0, 0x63, 0x4B, + 0x63, 0x4F, 0xAA, 0x01, 0xD9, 0x7D, 0xD2, 0x19, + 0x01, 0x23, 0x04, 0x20, 0x00, 0x93, 0x01, 0xF0, + 0x4D, 0xFE, 0x01, 0x35, 0x5D, 0x4F, 0x3B, 0x7E, + 0x9D, 0x42, 0xCE, 0xDB, 0x5D, 0x4B, 0x1B, 0x68, + 0x00, 0x2B, 0x10, 0xDD, 0x5C, 0x4B, 0x5D, 0x4A, + 0x99, 0x89, 0x11, 0x80, 0x1B, 0x89, 0x53, 0x80, + 0x52, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x17, 0x20, + 0x0B, 0x1C, 0x01, 0xF0, 0x33, 0xFE, 0x48, 0x4B, + 0x55, 0x48, 0x1D, 0x1C, 0x40, 0xCD, 0x4F, 0x49, + 0x07, 0x96, 0x47, 0x89, 0x08, 0x97, 0x0A, 0x8D, + 0x47, 0x68, 0x16, 0xB2, 0x05, 0x96, 0x86, 0x69, + 0x09, 0x97, 0xB7, 0xB2, 0xD2, 0x1B, 0x04, 0x97, + 0x92, 0xB2, 0x31, 0x31, 0x09, 0x78, 0x0A, 0x92, + 0x3E, 0x4A, 0x00, 0x20, 0x06, 0x91, 0x17, 0x68, + 0x03, 0x90, 0x2F, 0xE0, 0x03, 0x9A, 0x0A, 0x23, + 0x53, 0x43, 0x01, 0xCF, 0x05, 0x99, 0x48, 0x43, + 0x37, 0x49, 0xCB, 0x18, 0x3C, 0x22, 0x99, 0x5E, + 0x09, 0x9B, 0x59, 0x43, 0x03, 0xF0, 0x94, 0xFA, + 0x08, 0x99, 0x42, 0x4A, 0x08, 0x18, 0x13, 0x78, + 0x80, 0xB2, 0x28, 0x80, 0x00, 0x2B, 0x15, 0xD1, + 0x00, 0xB2, 0xB0, 0x42, 0x07, 0xDA, 0x06, 0x9B, + 0x80, 0x1B, 0x58, 0x43, 0x04, 0x99, 0x80, 0x11, + 0x08, 0x18, 0x28, 0x80, 0x0A, 0xE0, 0x05, 0x9A, + 0x10, 0x1A, 0xB0, 0x42, 0x06, 0xDA, 0x06, 0x9B, + 0x80, 0x1B, 0x58, 0x43, 0x0A, 0x99, 0x80, 0x11, + 0x08, 0x1A, 0x28, 0x80, 0x03, 0x9A, 0x02, 0x35, + 0x01, 0x32, 0x03, 0x92, 0x03, 0x9B, 0x07, 0x98, + 0x83, 0x42, 0xCB, 0xDB, 0x20, 0x4D, 0x2E, 0x49, + 0x2D, 0x68, 0x28, 0x4A, 0x05, 0x95, 0x0E, 0x89, + 0x0D, 0x68, 0x07, 0x96, 0xD3, 0x8C, 0x08, 0x95, + 0x4D, 0x69, 0x1F, 0xB2, 0xAE, 0xB2, 0x11, 0x1C, + 0x04, 0x97, 0x06, 0x96, 0x2F, 0x31, 0x09, 0x78, + 0x9B, 0x1B, 0x9B, 0xB2, 0x09, 0x91, 0x30, 0x32, + 0x12, 0x78, 0x15, 0x4E, 0x0B, 0x93, 0x16, 0x4B, + 0x00, 0x20, 0x0A, 0x92, 0x1F, 0x68, 0x20, 0x36, + 0x03, 0x90, 0x50, 0xE0, 0x03, 0x9A, 0x0A, 0x23, + 0x53, 0x43, 0x01, 0xCF, 0x04, 0x99, 0x48, 0x43, + 0x0D, 0x49, 0x5B, 0x18, 0x3C, 0x22, 0x99, 0x5E, + 0x08, 0x9B, 0x59, 0x43, 0x03, 0xF0, 0x40, 0xFA, + 0x07, 0x99, 0x18, 0x4A, 0x08, 0x18, 0x13, 0x78, + 0x80, 0xB2, 0x30, 0x80, 0x00, 0x2B, 0x36, 0xD1, + 0x00, 0xB2, 0xA8, 0x42, 0x28, 0xDA, 0x09, 0x9B, + 0x40, 0x1B, 0x58, 0x43, 0x06, 0x99, 0x80, 0x11, + 0x08, 0x18, 0x30, 0x80, 0x2B, 0xE0, 0xC0, 0x46, + 0x24, 0x02, 0x00, 0x20, 0x48, 0x00, 0x00, 0x20, + 0x44, 0x00, 0x00, 0x20, 0xEC, 0x02, 0x00, 0x20, + 0x58, 0x00, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x64, 0x59, 0x00, 0x00, 0xE4, 0x10, 0x00, 0x20, + 0x00, 0x20, 0x00, 0x40, 0xAE, 0x09, 0x00, 0x20, + 0x42, 0x20, 0x00, 0x40, 0x9C, 0x0D, 0x00, 0x20, + 0x70, 0x01, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0x24, 0x09, 0x00, 0x20, 0xDF, 0x01, 0x00, 0x20, + 0x04, 0x9A, 0x10, 0x1A, 0xA8, 0x42, 0x06, 0xDA, + 0x0A, 0x9B, 0x40, 0x1B, 0x58, 0x43, 0x0B, 0x99, + 0x80, 0x11, 0x08, 0x1A, 0x30, 0x80, 0x03, 0x9A, + 0x02, 0x36, 0x01, 0x32, 0x03, 0x92, 0x03, 0x9B, + 0x05, 0x98, 0x83, 0x42, 0xAA, 0xDB, 0x1B, 0x4B, + 0x1A, 0x1C, 0x2A, 0x32, 0x17, 0x78, 0x1A, 0x1C, + 0x2B, 0x32, 0x12, 0x78, 0x28, 0x21, 0x5E, 0x5E, + 0x03, 0x92, 0x26, 0x25, 0x5A, 0x5F, 0x2C, 0x33, + 0x04, 0x92, 0x1B, 0x78, 0x14, 0x49, 0x06, 0x93, + 0x00, 0x25, 0xB4, 0x46, 0x1D, 0xE0, 0x00, 0x26, + 0x8B, 0x5F, 0x00, 0x2B, 0x16, 0xD0, 0x11, 0x4A, + 0xA8, 0x18, 0x04, 0x23, 0xC2, 0x5E, 0x20, 0x26, + 0x83, 0x5F, 0x00, 0x2F, 0x01, 0xD0, 0x66, 0x46, + 0xB2, 0x1A, 0x03, 0x9E, 0x00, 0x2E, 0x01, 0xD0, + 0x04, 0x9E, 0xF3, 0x1A, 0x06, 0x9E, 0x00, 0x2E, + 0x02, 0xD0, 0x16, 0x1C, 0x1A, 0x1C, 0x33, 0x1C, + 0x82, 0x80, 0x03, 0x84, 0x01, 0x34, 0x0A, 0x31, + 0x02, 0x35, 0x05, 0x9E, 0xB4, 0x42, 0xDE, 0xDB, + 0x0D, 0xB0, 0xF0, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0x60, 0x02, 0x00, 0x20, 0x24, 0x02, 0x00, 0x20, + 0x30, 0xB5, 0x0A, 0x4B, 0x00, 0x21, 0x04, 0x33, + 0xDB, 0x7F, 0x09, 0x4A, 0x0A, 0x24, 0x08, 0x1C, + 0x07, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x25, 0x1C, + 0x5D, 0x43, 0x55, 0x19, 0xA9, 0x87, 0x05, 0x4D, + 0xE8, 0x54, 0x00, 0x2B, 0xF5, 0xD1, 0x13, 0x60, + 0x30, 0xBD, 0xC0, 0x46, 0xAE, 0x09, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x64, 0x01, 0x00, 0x20, + 0x00, 0xB5, 0x08, 0x4A, 0x01, 0x23, 0x5B, 0x42, + 0x53, 0x60, 0x07, 0x4B, 0x00, 0x21, 0x11, 0x60, + 0x1B, 0x78, 0x04, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x18, 0x1D, 0x40, 0x00, 0x81, 0x52, 0x00, 0x2B, + 0xF8, 0xD1, 0x00, 0xBD, 0xE0, 0x00, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0x49, 0x43, 0x40, 0x43, + 0x40, 0x18, 0x70, 0x47, 0x70, 0x47, 0xF0, 0xB5, + 0x83, 0x4B, 0x00, 0x22, 0x04, 0x33, 0xD9, 0x7F, + 0x87, 0xB0, 0x0B, 0x1C, 0x81, 0x48, 0x0A, 0x26, + 0x15, 0x1C, 0x07, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x34, 0x1C, 0x5C, 0x43, 0x04, 0x19, 0xA2, 0x87, + 0x38, 0x34, 0x25, 0x72, 0x04, 0x1C, 0x00, 0x2B, + 0xF4, 0xD1, 0x7B, 0x4B, 0x1A, 0x68, 0x0B, 0x1C, + 0x91, 0x42, 0x00, 0xDD, 0x13, 0x1C, 0x23, 0x60, + 0x78, 0x48, 0x79, 0x4A, 0x79, 0x4B, 0x0E, 0x24, + 0xFF, 0x21, 0x01, 0x3C, 0xE4, 0xB2, 0xA5, 0x00, + 0x01, 0x55, 0xAB, 0x50, 0x00, 0x2C, 0xF8, 0xD1, + 0x6F, 0x4B, 0x25, 0x1C, 0x04, 0x33, 0xDB, 0x7F, + 0x26, 0x1C, 0x03, 0x93, 0x72, 0x4B, 0x1B, 0x69, + 0x04, 0x93, 0x6D, 0x4B, 0x1B, 0x68, 0x05, 0x93, + 0x47, 0xE0, 0x70, 0x4C, 0x63, 0x5D, 0x00, 0x2B, + 0x42, 0xD0, 0x6F, 0x4C, 0xAB, 0x00, 0xE3, 0x58, + 0x04, 0x9C, 0x1B, 0x01, 0x1B, 0x19, 0x01, 0x93, + 0x6C, 0x4B, 0x6A, 0x00, 0x01, 0x27, 0xD3, 0x18, + 0x00, 0x24, 0x7F, 0x42, 0x02, 0x93, 0x20, 0xE0, + 0x0A, 0x23, 0x63, 0x43, 0x60, 0x48, 0xC3, 0x18, + 0x3C, 0x21, 0x5B, 0x5E, 0x00, 0x2B, 0x16, 0xD0, + 0x02, 0x9A, 0x63, 0x00, 0xC3, 0x18, 0x98, 0x88, + 0x93, 0x88, 0x5B, 0x4A, 0xC0, 0x1A, 0x23, 0x1C, + 0x10, 0x33, 0x5B, 0x00, 0x99, 0x5A, 0x02, 0x9A, + 0x00, 0xB2, 0x13, 0x8B, 0xC9, 0x1A, 0x09, 0xB2, + 0xFF, 0xF7, 0x98, 0xFF, 0x01, 0x9B, 0x98, 0x42, + 0x01, 0xDA, 0x27, 0x1C, 0x01, 0x90, 0x01, 0x34, + 0xE4, 0xB2, 0x05, 0x98, 0x84, 0x42, 0xDB, 0xDB, + 0x79, 0x1C, 0x0D, 0xD0, 0x4F, 0x4B, 0x50, 0x49, + 0xD8, 0x57, 0xBA, 0x00, 0x01, 0x30, 0x04, 0xD0, + 0x88, 0x58, 0x01, 0x9C, 0xA0, 0x42, 0x03, 0xDD, + 0x00, 0xE0, 0x01, 0x9C, 0x8C, 0x50, 0xDD, 0x55, + 0x01, 0x35, 0x03, 0x9C, 0xEB, 0xB2, 0xA3, 0x42, + 0xB3, 0xD3, 0x34, 0x1C, 0x00, 0x25, 0x44, 0x4E, + 0x28, 0xE0, 0x44, 0x48, 0x47, 0x5D, 0x7B, 0xB2, + 0x01, 0x33, 0x21, 0xD0, 0x69, 0x00, 0xFF, 0xB2, + 0x3E, 0x4B, 0x71, 0x18, 0x89, 0x88, 0x7A, 0x00, + 0x9A, 0x18, 0x91, 0x80, 0x29, 0x1C, 0x10, 0x31, + 0x3A, 0x1C, 0x49, 0x00, 0x89, 0x5B, 0x10, 0x32, + 0x52, 0x00, 0xD1, 0x52, 0x0A, 0x22, 0x10, 0x1C, + 0x78, 0x43, 0x11, 0x1C, 0x69, 0x43, 0x1B, 0x18, + 0x18, 0x1C, 0x71, 0x18, 0x3C, 0x30, 0x3C, 0x31, + 0x03, 0xF0, 0x40, 0xF9, 0x34, 0x4B, 0xAA, 0x00, + 0xD2, 0x58, 0x37, 0x4B, 0xBF, 0x00, 0xFA, 0x50, + 0x01, 0x35, 0xED, 0xB2, 0x33, 0x68, 0x9D, 0x42, + 0xD3, 0xDB, 0x3D, 0xE0, 0x2D, 0x4E, 0x33, 0x57, + 0x01, 0x33, 0x36, 0xD1, 0x0A, 0x23, 0x63, 0x43, + 0xEB, 0x18, 0x3C, 0x20, 0x1B, 0x5E, 0x00, 0x2B, + 0x2F, 0xD0, 0x25, 0x4B, 0x2E, 0x4A, 0x04, 0x33, + 0xDF, 0x7F, 0x00, 0x23, 0x26, 0xE0, 0x29, 0x4E, + 0xF6, 0x5C, 0x00, 0x2E, 0x20, 0xD1, 0x00, 0x26, + 0x90, 0x5F, 0x00, 0x28, 0x1C, 0xD1, 0x21, 0x4A, + 0x67, 0x00, 0x11, 0x55, 0x1E, 0x49, 0x1D, 0x48, + 0xCF, 0x19, 0xBF, 0x88, 0x5A, 0x00, 0x82, 0x18, + 0x97, 0x80, 0x27, 0x1C, 0x10, 0x37, 0x1A, 0x1C, + 0x7F, 0x00, 0x7F, 0x5A, 0x10, 0x32, 0x52, 0x00, + 0x17, 0x52, 0x0A, 0x22, 0x53, 0x43, 0xC0, 0x18, + 0x13, 0x1C, 0x63, 0x43, 0xC9, 0x18, 0x3C, 0x31, + 0x3C, 0x30, 0x03, 0xF0, 0xFF, 0xF8, 0x04, 0xE0, + 0x01, 0x33, 0x0A, 0x32, 0xD9, 0xB2, 0xB9, 0x42, + 0xD5, 0xD3, 0x01, 0x34, 0xE4, 0xB2, 0x00, 0xE0, + 0x0D, 0x4D, 0x2B, 0x68, 0x9C, 0x42, 0xBD, 0xDB, + 0x09, 0x4B, 0x0C, 0x49, 0x04, 0x33, 0xDD, 0x7F, + 0x12, 0x4B, 0xFF, 0x20, 0x1C, 0x1C, 0x0E, 0x34, + 0x1A, 0x78, 0xAA, 0x42, 0x02, 0xD2, 0x8A, 0x5C, + 0x1A, 0x70, 0x00, 0xE0, 0x18, 0x70, 0x01, 0x33, + 0xA3, 0x42, 0xF5, 0xD1, 0x07, 0xB0, 0xF0, 0xBD, + 0xAE, 0x09, 0x00, 0x20, 0x9C, 0x0D, 0x00, 0x20, + 0x24, 0x02, 0x00, 0x20, 0xE8, 0x03, 0x00, 0x20, + 0xF8, 0x10, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x7F, + 0x24, 0x09, 0x00, 0x20, 0xEC, 0x01, 0x00, 0x20, + 0xF8, 0x00, 0x00, 0x20, 0x80, 0x09, 0x00, 0x20, + 0xD8, 0x0D, 0x00, 0x20, 0xEC, 0x02, 0x00, 0x20, + 0xF7, 0xB5, 0x42, 0x4B, 0x00, 0x21, 0x19, 0x60, + 0x41, 0x4B, 0x0A, 0x24, 0x19, 0x60, 0x41, 0x4B, + 0x08, 0x1C, 0x04, 0x33, 0xDB, 0x7F, 0x40, 0x4D, + 0x1A, 0x1C, 0xA4, 0x46, 0x11, 0xE0, 0x01, 0x3A, + 0xD2, 0xB2, 0x26, 0x1C, 0x56, 0x43, 0xAE, 0x19, + 0x38, 0x36, 0x36, 0x7A, 0xB0, 0x42, 0x00, 0xDA, + 0x30, 0x1C, 0x66, 0x46, 0x56, 0x43, 0xAE, 0x19, + 0x3C, 0x27, 0xF6, 0x5F, 0xB1, 0x42, 0x00, 0xDA, + 0x31, 0x1C, 0x00, 0x2A, 0xEB, 0xD1, 0x32, 0x4A, + 0x50, 0x60, 0x11, 0x60, 0x2F, 0x4A, 0x0A, 0x20, + 0x11, 0x68, 0x31, 0x4A, 0x07, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0x04, 0x1C, 0x5C, 0x43, 0x14, 0x19, + 0x38, 0x34, 0x24, 0x7A, 0x09, 0x19, 0x14, 0x1C, + 0x00, 0x2B, 0xF4, 0xD1, 0x27, 0x4B, 0x19, 0x60, + 0x13, 0x68, 0x00, 0x2B, 0x0F, 0xDD, 0x26, 0x4B, + 0x28, 0x4A, 0x5B, 0x68, 0x11, 0x80, 0x53, 0x80, + 0x27, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x1D, 0x20, + 0x0B, 0x1C, 0x01, 0xF0, 0x8F, 0xFB, 0x23, 0x68, + 0x00, 0x2B, 0x19, 0xDD, 0x21, 0x4A, 0x08, 0x23, + 0xD1, 0x5E, 0x21, 0x4B, 0x0C, 0x24, 0x12, 0x5F, + 0x18, 0x1C, 0x3D, 0x33, 0x1B, 0x78, 0x3C, 0x30, + 0x53, 0x43, 0x00, 0x78, 0x9B, 0x11, 0xC3, 0x18, + 0x99, 0x42, 0x09, 0xDC, 0x18, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, 0x19, 0x49, + 0x01, 0xF0, 0xCC, 0xFB, 0xFF, 0xF7, 0x40, 0xFE, + 0x11, 0x4B, 0x17, 0x4A, 0x1B, 0x68, 0x12, 0x78, + 0x93, 0x42, 0x12, 0xDB, 0x0B, 0x4B, 0x12, 0x4A, + 0x18, 0x68, 0xD1, 0x8E, 0x0A, 0x4B, 0x88, 0x42, + 0x03, 0xDB, 0x11, 0x8F, 0x58, 0x68, 0x88, 0x42, + 0x03, 0xDA, 0x52, 0x8F, 0x5B, 0x68, 0x93, 0x42, + 0x07, 0xDB, 0x0E, 0x4B, 0x01, 0x22, 0x1A, 0x70, + 0x03, 0xE0, 0x00, 0x2B, 0x01, 0xD1, 0x0B, 0x4A, + 0x13, 0x70, 0xF7, 0xBD, 0x4C, 0x11, 0x00, 0x20, + 0x0C, 0x02, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x70, 0x01, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x6C, 0x59, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x20, 0xF5, 0x00, 0x00, 0x20, + 0x38, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0x00, 0x2A, + 0x07, 0xD0, 0x54, 0x43, 0x58, 0x43, 0xD1, 0x18, + 0x20, 0x18, 0x4D, 0x10, 0x40, 0x19, 0x02, 0xF0, + 0xBB, 0xFF, 0x38, 0xBD, 0x10, 0xB5, 0x43, 0x1A, + 0xDC, 0x17, 0x1B, 0x19, 0x63, 0x40, 0xFF, 0xF7, + 0xEB, 0xFF, 0x10, 0xBD, 0xF0, 0xB5, 0xA9, 0x4B, + 0x00, 0x25, 0x04, 0x33, 0x87, 0xB0, 0xDC, 0x7F, + 0x2E, 0x1C, 0x46, 0xE0, 0x01, 0x3C, 0xE4, 0xB2, + 0x0A, 0x22, 0x62, 0x43, 0x99, 0x18, 0x38, 0x31, + 0x88, 0x88, 0x00, 0x28, 0x3D, 0xD0, 0xA2, 0x4F, + 0x3F, 0x5D, 0x00, 0x2F, 0x2A, 0xD1, 0xA1, 0x49, + 0x09, 0x78, 0x00, 0x29, 0x07, 0xD0, 0x9A, 0x18, + 0x01, 0x21, 0x3C, 0x32, 0x1D, 0x20, 0x02, 0x23, + 0x00, 0x91, 0x01, 0xF0, 0x07, 0xFB, 0x0A, 0x20, + 0x60, 0x43, 0x9B, 0x4B, 0x9B, 0x49, 0x18, 0x18, + 0x3C, 0x27, 0xC2, 0x5F, 0x38, 0x30, 0x94, 0x46, + 0x26, 0x27, 0xCA, 0x5F, 0x1F, 0x1C, 0x94, 0x45, + 0x08, 0xDB, 0x4E, 0x31, 0x0A, 0x78, 0x96, 0x49, + 0x00, 0x7A, 0x49, 0x68, 0x4A, 0x43, 0x92, 0x11, + 0x90, 0x42, 0x16, 0xDA, 0x0A, 0x22, 0x62, 0x43, + 0xBA, 0x18, 0xD5, 0x87, 0x38, 0x32, 0x16, 0x72, + 0x95, 0x80, 0x08, 0xE0, 0x8D, 0x4A, 0x00, 0xB2, + 0x28, 0x27, 0xD2, 0x5F, 0x82, 0x42, 0x08, 0xDD, + 0xCD, 0x80, 0x0E, 0x72, 0x8D, 0x80, 0x8B, 0x4A, + 0xA1, 0x00, 0x8D, 0x50, 0x1A, 0x68, 0x01, 0x3A, + 0x1A, 0x60, 0x85, 0x4B, 0x00, 0x2C, 0xB5, 0xD1, + 0x1C, 0x60, 0x87, 0x4B, 0x9C, 0x73, 0x7F, 0x4B, + 0x04, 0x33, 0xDC, 0x7F, 0xC7, 0xE0, 0x01, 0x3C, + 0xE4, 0xB2, 0x0A, 0x23, 0x63, 0x43, 0xED, 0x18, + 0xAA, 0x8F, 0x38, 0x35, 0x00, 0x2A, 0x00, 0xD1, + 0x93, 0xE0, 0x7C, 0x4B, 0x12, 0xB2, 0x1B, 0x8D, + 0x19, 0xB2, 0x52, 0x1A, 0x52, 0x10, 0x5B, 0x00, + 0xD3, 0x18, 0xAB, 0x80, 0x7A, 0x4B, 0x9A, 0x7B, + 0x00, 0x2A, 0x0D, 0xD1, 0x79, 0x4A, 0x12, 0x57, + 0x00, 0x2A, 0x09, 0xD1, 0x78, 0x4A, 0x01, 0x21, + 0x11, 0x70, 0x80, 0x22, 0xD2, 0x05, 0x50, 0x69, + 0x00, 0x0E, 0x00, 0x06, 0x01, 0x43, 0x51, 0x61, + 0x01, 0x22, 0x9A, 0x73, 0x73, 0x4E, 0x71, 0x4B, + 0x1A, 0x57, 0x33, 0x78, 0x9A, 0x42, 0x70, 0xDB, + 0x6F, 0x4B, 0x1A, 0x78, 0x00, 0x2A, 0x01, 0xD0, + 0x00, 0x22, 0x1A, 0x70, 0x66, 0x4D, 0x62, 0x00, + 0x2B, 0x68, 0x01, 0x33, 0x2B, 0x60, 0xAB, 0x18, + 0x04, 0x27, 0xD9, 0x5F, 0x6A, 0x4B, 0x9A, 0x18, + 0x04, 0x26, 0x90, 0x5F, 0x22, 0x1C, 0x10, 0x32, + 0x52, 0x00, 0x57, 0x5F, 0x03, 0x97, 0xD7, 0x5E, + 0x0A, 0x1A, 0xD3, 0x17, 0x03, 0x9E, 0xD2, 0x18, + 0x5A, 0x40, 0xF3, 0x1B, 0xDE, 0x17, 0x9B, 0x19, + 0x73, 0x40, 0xD3, 0x18, 0x04, 0x93, 0x59, 0x4B, + 0x2E, 0x22, 0x9E, 0x5E, 0x04, 0x9B, 0x32, 0x1C, + 0x05, 0x96, 0xFF, 0xF7, 0x39, 0xFF, 0x05, 0x9A, + 0x04, 0x9B, 0x06, 0x1C, 0x03, 0x99, 0x38, 0x1C, + 0xFF, 0xF7, 0x32, 0xFF, 0x4D, 0x4A, 0x13, 0x1C, + 0x2D, 0x33, 0x1B, 0x78, 0x2A, 0x1C, 0x5B, 0xB2, + 0x9E, 0x42, 0x07, 0xDD, 0x55, 0x49, 0xC9, 0x69, + 0xCF, 0x1A, 0xBE, 0x42, 0x03, 0xDB, 0x4E, 0x1E, + 0xF6, 0x1A, 0x00, 0xE0, 0x1E, 0x1C, 0x45, 0x4B, + 0x2E, 0x33, 0x1B, 0x78, 0x5B, 0xB2, 0x98, 0x42, + 0x07, 0xDD, 0x4E, 0x49, 0x09, 0x6A, 0xCF, 0x1A, + 0xB8, 0x42, 0x03, 0xDB, 0x48, 0x1E, 0xC0, 0x1A, + 0x00, 0xE0, 0x18, 0x1C, 0x63, 0x00, 0xD3, 0x18, + 0x9E, 0x80, 0x23, 0x1C, 0x10, 0x33, 0x5B, 0x00, + 0xE8, 0x52, 0x0A, 0x25, 0x65, 0x43, 0x3D, 0x4B, + 0x43, 0x4E, 0x30, 0x20, 0x1F, 0x5E, 0x76, 0x19, + 0x55, 0x19, 0x3C, 0x21, 0x70, 0x5E, 0x3C, 0x22, + 0xA9, 0x5E, 0x3A, 0x1C, 0xFF, 0xF7, 0x0A, 0xFF, + 0x38, 0x36, 0xA8, 0x87, 0x38, 0x35, 0x30, 0x7A, + 0x29, 0x7A, 0x3A, 0x1C, 0xFF, 0xF7, 0x02, 0xFF, + 0x28, 0x72, 0x31, 0x4B, 0x62, 0x00, 0x99, 0x18, + 0x37, 0x48, 0x89, 0x88, 0x82, 0x18, 0x91, 0x80, + 0x22, 0x1C, 0x10, 0x32, 0x52, 0x00, 0xD1, 0x5A, + 0x11, 0x52, 0x0A, 0x22, 0x11, 0x1C, 0x61, 0x43, + 0x40, 0x18, 0x59, 0x18, 0x0D, 0x1C, 0x3C, 0x30, + 0x3C, 0x31, 0x02, 0xF0, 0x07, 0xFF, 0x3C, 0x23, + 0xEA, 0x5E, 0x38, 0x35, 0x29, 0x4B, 0x00, 0x2A, + 0x0C, 0xD0, 0x24, 0x49, 0x1A, 0x5D, 0x32, 0x31, + 0x09, 0x78, 0x50, 0xB2, 0x88, 0x42, 0x06, 0xDA, + 0x01, 0x32, 0x1A, 0x55, 0x01, 0x23, 0x5B, 0x42, + 0xAB, 0x80, 0x00, 0xE0, 0x1A, 0x55, 0x1C, 0x4D, + 0x00, 0x2C, 0x00, 0xD0, 0x33, 0xE7, 0x22, 0x4E, + 0x29, 0x68, 0x32, 0x68, 0x22, 0x4B, 0x91, 0x42, + 0x25, 0xDA, 0x19, 0x68, 0x17, 0x48, 0x01, 0x31, + 0x19, 0x60, 0x3E, 0x30, 0x00, 0x78, 0x40, 0xB2, + 0x81, 0x42, 0x1C, 0xDA, 0x0F, 0x4B, 0x2A, 0x60, + 0x04, 0x33, 0xDC, 0x7F, 0x14, 0xE0, 0x01, 0x3C, + 0xE4, 0xB2, 0x63, 0x00, 0xF2, 0x18, 0x92, 0x88, + 0xEB, 0x18, 0x9A, 0x80, 0x23, 0x1C, 0x10, 0x33, + 0x5B, 0x00, 0x9A, 0x5B, 0x5A, 0x53, 0x0A, 0x22, + 0x11, 0x1C, 0x61, 0x43, 0x68, 0x18, 0x71, 0x18, + 0x3C, 0x30, 0x3C, 0x31, 0x02, 0xF0, 0xC6, 0xFE, + 0x00, 0x2C, 0xE8, 0xD1, 0x00, 0xE0, 0x1C, 0x60, + 0x07, 0xB0, 0xF0, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0xEC, 0x01, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x0C, 0x02, 0x00, 0x20, 0xF8, 0x00, 0x00, 0x20, + 0x70, 0x01, 0x00, 0x20, 0x3E, 0x11, 0x00, 0x20, + 0xE2, 0x01, 0x00, 0x20, 0x7A, 0x0D, 0x00, 0x20, + 0x20, 0x03, 0x00, 0x20, 0x24, 0x09, 0x00, 0x20, + 0x60, 0x01, 0x00, 0x20, 0xF0, 0xB5, 0x31, 0x4B, + 0x31, 0x4D, 0x1E, 0x78, 0x31, 0x4B, 0x00, 0x27, + 0x1A, 0x1C, 0x2F, 0x60, 0x2B, 0x32, 0x12, 0x78, + 0x89, 0xB0, 0x04, 0x92, 0x50, 0x00, 0x1A, 0x1C, + 0x06, 0x90, 0x32, 0x32, 0x12, 0x78, 0x07, 0x92, + 0x30, 0x22, 0x99, 0x5E, 0x6B, 0x68, 0x05, 0x91, + 0x02, 0x93, 0x03, 0x97, 0x42, 0xE0, 0x01, 0x3E, + 0xF6, 0xB2, 0x33, 0x1D, 0x5B, 0x00, 0x01, 0x93, + 0xEB, 0x5A, 0x00, 0x2B, 0x34, 0xD0, 0x04, 0x98, + 0x1B, 0xB2, 0x1B, 0x1A, 0x06, 0x99, 0x5B, 0x10, + 0xCB, 0x18, 0x01, 0x9A, 0x20, 0x48, 0x9B, 0xB2, + 0xAB, 0x52, 0xF2, 0x00, 0x81, 0x58, 0x84, 0x18, + 0x07, 0x98, 0x1B, 0xB2, 0x81, 0x42, 0x07, 0xDA, + 0x1B, 0x48, 0x01, 0x31, 0x81, 0x50, 0x01, 0x99, + 0x00, 0x22, 0x63, 0x60, 0x6A, 0x52, 0x21, 0xE0, + 0x60, 0x68, 0x01, 0x37, 0x1A, 0x1A, 0xD1, 0x17, + 0x84, 0x46, 0x50, 0x18, 0x05, 0x9A, 0x48, 0x40, + 0x11, 0x18, 0x00, 0x90, 0x60, 0x46, 0x42, 0x43, + 0x94, 0x46, 0x00, 0x9A, 0x53, 0x43, 0x62, 0x46, + 0xD0, 0x18, 0x4B, 0x10, 0xC0, 0x18, 0x02, 0xF0, + 0xF3, 0xFD, 0x01, 0x9B, 0x03, 0x99, 0x60, 0x60, + 0xE8, 0x52, 0x81, 0x42, 0x04, 0xDB, 0x05, 0xE0, + 0x09, 0x48, 0xF2, 0x00, 0x83, 0x50, 0x01, 0xE0, + 0x02, 0x96, 0x03, 0x90, 0x00, 0x2E, 0xBA, 0xD1, + 0x02, 0x99, 0x09, 0xB0, 0x2F, 0x60, 0x69, 0x60, + 0xF0, 0xBD, 0xC0, 0x46, 0x7C, 0x09, 0x00, 0x20, + 0xE0, 0x00, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x48, 0x09, 0x00, 0x20, 0xF7, 0xB5, 0x27, 0x4B, + 0x27, 0x49, 0x04, 0x33, 0xDB, 0x7F, 0x27, 0x4A, + 0x27, 0x48, 0x42, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x1C, 0x1C, 0x14, 0x34, 0x64, 0x00, 0x04, 0x19, + 0x04, 0x25, 0x64, 0x5F, 0x00, 0x2C, 0x27, 0xD0, + 0x0A, 0x24, 0x5C, 0x43, 0x0C, 0x19, 0x3C, 0x26, + 0xA4, 0x5F, 0x00, 0x2C, 0x20, 0xD0, 0x5C, 0x00, + 0x0E, 0x19, 0xB6, 0x88, 0x05, 0x19, 0x37, 0xB2, + 0xBC, 0x46, 0x04, 0x27, 0xEF, 0x5F, 0x65, 0x46, + 0xED, 0x1B, 0x6F, 0x10, 0xBE, 0x19, 0x14, 0x19, + 0xA6, 0x80, 0x1C, 0x1C, 0x10, 0x34, 0x64, 0x00, + 0x0E, 0x5B, 0x1C, 0x1C, 0x0C, 0x34, 0x37, 0xB2, + 0x64, 0x00, 0xBC, 0x46, 0x25, 0x5E, 0x67, 0x46, + 0x7F, 0x1B, 0x7F, 0x10, 0xBE, 0x19, 0xA6, 0x52, + 0x10, 0x4C, 0x01, 0x26, 0xE6, 0x54, 0x10, 0xE0, + 0x0B, 0x4D, 0x5C, 0x00, 0x2E, 0x19, 0xB6, 0x88, + 0x14, 0x19, 0xA6, 0x80, 0x1E, 0x1C, 0x10, 0x36, + 0x1C, 0x1C, 0x76, 0x00, 0x76, 0x5B, 0x0C, 0x34, + 0x64, 0x00, 0x16, 0x53, 0x07, 0x4C, 0x00, 0x26, + 0xE6, 0x54, 0x00, 0x2B, 0xBA, 0xD1, 0x0B, 0x68, + 0x13, 0x60, 0xF7, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x80, 0x09, 0x00, 0x20, + 0x20, 0x01, 0x00, 0x20, 0xEC, 0x01, 0x00, 0x20, + 0xF7, 0xB5, 0x35, 0x4A, 0x35, 0x4B, 0x11, 0x1C, + 0x33, 0x31, 0x34, 0x32, 0x0E, 0x78, 0x12, 0x78, + 0x04, 0x33, 0xDB, 0x7F, 0x32, 0x49, 0x01, 0x92, + 0xB4, 0x46, 0x32, 0x4A, 0x4B, 0xE0, 0x32, 0x48, + 0x01, 0x3B, 0xDB, 0xB2, 0xC4, 0x5C, 0x01, 0x98, + 0x00, 0x2C, 0x00, 0xD1, 0x60, 0x46, 0x5E, 0x00, + 0x8D, 0x19, 0x96, 0x19, 0x04, 0x27, 0xF6, 0x5F, + 0xAD, 0x88, 0x00, 0x96, 0x00, 0x9F, 0x2E, 0xB2, + 0xBE, 0x1B, 0xF7, 0x17, 0xF6, 0x19, 0x7E, 0x40, + 0x86, 0x42, 0x10, 0xDA, 0x1E, 0x1C, 0x0C, 0x36, + 0x76, 0x00, 0xB6, 0x5E, 0x1F, 0x1C, 0x10, 0x37, + 0x00, 0x96, 0x7F, 0x00, 0xCF, 0x5F, 0x00, 0x9E, + 0xF7, 0x1B, 0xFE, 0x17, 0xBF, 0x19, 0x77, 0x40, + 0x00, 0x97, 0x87, 0x42, 0x18, 0xDB, 0x58, 0x00, + 0x10, 0x18, 0x1E, 0x1C, 0x85, 0x80, 0x10, 0x36, + 0x19, 0x4D, 0x18, 0x1C, 0x76, 0x00, 0x0C, 0x30, + 0x75, 0x5B, 0x40, 0x00, 0x15, 0x52, 0x18, 0x1C, + 0x14, 0x30, 0x40, 0x00, 0x10, 0x18, 0x04, 0x27, + 0xC0, 0x5F, 0x00, 0x28, 0x04, 0xDD, 0x00, 0x2C, + 0x02, 0xD1, 0x13, 0x48, 0x01, 0x24, 0xC4, 0x54, + 0x0A, 0x24, 0x5C, 0x43, 0x0E, 0x4D, 0x18, 0x1C, + 0x2C, 0x19, 0x14, 0x30, 0x0D, 0x4D, 0x40, 0x00, + 0xA4, 0x8F, 0x28, 0x18, 0x84, 0x80, 0x00, 0x2B, + 0xB1, 0xD1, 0x0A, 0x68, 0x09, 0x4B, 0x0B, 0x49, + 0x1A, 0x60, 0x0B, 0x4B, 0x1A, 0x78, 0x0B, 0x4B, + 0x1A, 0x70, 0x0B, 0x4A, 0x0B, 0x1C, 0x31, 0xCA, + 0x31, 0xC3, 0xC0, 0xCA, 0xC0, 0xC3, 0xF7, 0xBD, + 0x48, 0x0D, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x9C, 0x0D, 0x00, 0x20, 0x20, 0x01, 0x00, 0x20, + 0x64, 0x01, 0x00, 0x20, 0xCC, 0x00, 0x00, 0x20, + 0xF5, 0x00, 0x00, 0x20, 0xF4, 0x00, 0x00, 0x20, + 0xE0, 0x00, 0x00, 0x20, 0xF7, 0xB5, 0x19, 0x48, + 0x01, 0x23, 0x5B, 0x42, 0x43, 0x60, 0x18, 0x4B, + 0x1A, 0x78, 0x18, 0x4B, 0x19, 0x1C, 0x2B, 0x33, + 0x1E, 0x78, 0x2A, 0x31, 0x0F, 0x78, 0x00, 0x23, + 0xB4, 0x46, 0x1E, 0xE0, 0x01, 0x3A, 0xD2, 0xB2, + 0x13, 0x4C, 0x51, 0x00, 0x61, 0x5A, 0x0E, 0xB2, + 0xF6, 0x43, 0xF6, 0x17, 0x0E, 0x40, 0x11, 0x1D, + 0x49, 0x00, 0xB5, 0xB2, 0x0E, 0x52, 0x00, 0x2D, + 0x0F, 0xD0, 0x0E, 0x4E, 0x2D, 0xB2, 0x8E, 0x5F, + 0x00, 0x2E, 0x04, 0xDC, 0xBD, 0x42, 0x07, 0xDA, + 0x00, 0x25, 0x0D, 0x52, 0x05, 0xE0, 0x65, 0x45, + 0x02, 0xDA, 0x00, 0x26, 0x0E, 0x52, 0x00, 0xE0, + 0x01, 0x33, 0x00, 0x2A, 0xDE, 0xD1, 0x01, 0x4A, + 0x13, 0x60, 0xF7, 0xBD, 0xE0, 0x00, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x3C, 0x0D, 0x00, 0x20, 0xCC, 0x00, 0x00, 0x20, + 0xEF, 0xF3, 0x08, 0x80, 0x70, 0x47, 0x00, 0xBA, + 0x70, 0x47, 0x40, 0xBA, 0x70, 0x47, 0xC0, 0xBA, + 0x70, 0x47, 0x70, 0xB5, 0x00, 0x28, 0x16, 0xDA, + 0xC0, 0xB2, 0x0F, 0x23, 0x03, 0x40, 0x08, 0x3B, + 0x12, 0x4A, 0x9B, 0x08, 0x9B, 0x00, 0x9B, 0x18, + 0x03, 0x22, 0x10, 0x40, 0x90, 0x40, 0xFF, 0x22, + 0x5D, 0x68, 0x14, 0x1C, 0x84, 0x40, 0x89, 0x01, + 0xA5, 0x43, 0x0A, 0x40, 0x82, 0x40, 0x28, 0x1C, + 0x10, 0x43, 0x58, 0x60, 0x11, 0xE0, 0x03, 0x24, + 0x82, 0x08, 0x09, 0x4B, 0x20, 0x40, 0xC0, 0x32, + 0xA0, 0x40, 0x92, 0x00, 0xFF, 0x24, 0xD5, 0x58, + 0x26, 0x1C, 0x86, 0x40, 0x89, 0x01, 0xB5, 0x43, + 0x0C, 0x40, 0x84, 0x40, 0x28, 0x1C, 0x20, 0x43, + 0xD0, 0x50, 0x70, 0xBD, 0x18, 0xED, 0x00, 0xE0, + 0x00, 0xE1, 0x00, 0xE0, 0x08, 0x4B, 0x40, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x49, 0x06, 0x49, 0x0E, + 0x11, 0x43, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x07, 0x4B, 0x3F, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x11, 0x40, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0x08, 0x4A, 0x19, 0x68, 0x18, 0x68, + 0x89, 0x04, 0x89, 0x0E, 0x09, 0x02, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x40, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x08, 0x4B, 0x20, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x49, 0x06, 0x49, 0x0E, + 0x11, 0x43, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x07, 0x4B, 0x5F, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x11, 0x40, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0xBE, 0x21, 0x1A, 0x68, 0xC9, 0x01, + 0x18, 0x68, 0x11, 0x40, 0x05, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x20, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x18, 0x6C, 0x80, 0x00, 0xC0, 0x0F, 0x70, 0x47, + 0x08, 0x4B, 0x10, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x49, 0x06, 0x49, 0x0E, 0x11, 0x43, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0x6F, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x11, 0x40, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x0B, 0x4B, + 0x19, 0x68, 0x00, 0x28, 0x04, 0xD0, 0x49, 0x06, + 0x49, 0x0E, 0x10, 0x22, 0x11, 0x43, 0x01, 0xE0, + 0x6F, 0x22, 0x11, 0x40, 0x1A, 0x68, 0x7F, 0x20, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x00, 0xBD, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0xDE, 0x21, 0x1A, 0x68, 0xC9, 0x01, + 0x18, 0x68, 0x11, 0x40, 0x05, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x10, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x18, 0x6C, 0xC0, 0x00, 0xC0, 0x0F, 0x70, 0x47, + 0x08, 0x4B, 0x01, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x49, 0x06, 0x49, 0x0E, 0x11, 0x43, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0x7E, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x11, 0x40, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x07, 0x4B, 0xFC, 0x21, + 0x1A, 0x68, 0xC9, 0x01, 0x18, 0x68, 0x11, 0x40, + 0x05, 0x4A, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x08, 0x4B, 0x01, 0x22, + 0x19, 0x68, 0x18, 0x68, 0x49, 0x04, 0x49, 0x0E, + 0x11, 0x43, 0x06, 0x4A, 0x09, 0x02, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x80, 0x23, 0xDB, 0x05, 0x18, 0x6C, 0xC0, 0x01, + 0xC0, 0x0F, 0x70, 0x47, 0x08, 0x4B, 0x02, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x49, 0x06, 0x49, 0x0E, + 0x11, 0x43, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x07, 0x4B, 0x7D, 0x22, + 0x19, 0x68, 0x7F, 0x20, 0x11, 0x40, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0xFA, 0x21, 0x1A, 0x68, 0xC9, 0x01, + 0x18, 0x68, 0x11, 0x40, 0x05, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x02, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x18, 0x6C, 0x80, 0x01, 0xC0, 0x0F, 0x70, 0x47, + 0x08, 0x4B, 0x04, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x49, 0x06, 0x49, 0x0E, 0x11, 0x43, 0x1A, 0x68, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0x7B, 0x22, 0x19, 0x68, 0x7F, 0x20, + 0x11, 0x40, 0x1A, 0x68, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, 0xC0, 0x46, + 0x08, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x0B, 0x4B, + 0x19, 0x68, 0x00, 0x28, 0x04, 0xD0, 0x49, 0x06, + 0x49, 0x0E, 0x04, 0x22, 0x11, 0x43, 0x01, 0xE0, + 0x7B, 0x22, 0x11, 0x40, 0x1A, 0x68, 0x7F, 0x20, + 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, + 0x00, 0xBD, 0xC0, 0x46, 0x08, 0x00, 0x00, 0x20, + 0x07, 0x4B, 0xF6, 0x21, 0x1A, 0x68, 0xC9, 0x01, + 0x18, 0x68, 0x11, 0x40, 0x05, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x69, 0x1A, 0x61, 0x70, 0x47, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x08, 0x4B, 0x04, 0x22, 0x19, 0x68, 0x18, 0x68, + 0x49, 0x04, 0x49, 0x0E, 0x11, 0x43, 0x06, 0x4A, + 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x70, 0x47, 0x08, 0x00, 0x00, 0x20, + 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x18, 0x6C, 0x40, 0x01, 0xC0, 0x0F, 0x70, 0x47, + 0x10, 0xB5, 0x80, 0x23, 0xDB, 0x05, 0x04, 0x1D, + 0x98, 0x69, 0x3F, 0x22, 0x14, 0x40, 0x90, 0x43, + 0x20, 0x43, 0x01, 0x24, 0x98, 0x61, 0x88, 0x1C, + 0x21, 0x40, 0x41, 0x18, 0x0A, 0x40, 0x11, 0x02, + 0x98, 0x69, 0x02, 0x4A, 0x02, 0x40, 0x0A, 0x43, + 0x9A, 0x61, 0x10, 0xBD, 0xFF, 0xC0, 0xFF, 0xFF, + 0x06, 0x4B, 0x7F, 0x22, 0x19, 0x68, 0x80, 0x23, + 0xDB, 0x05, 0x18, 0x6C, 0x01, 0x39, 0x90, 0x43, + 0x11, 0x40, 0x02, 0x1C, 0x0A, 0x43, 0x1A, 0x64, + 0x70, 0x47, 0xC0, 0x46, 0x18, 0x09, 0x00, 0x20, + 0x80, 0x23, 0xDB, 0x05, 0x1A, 0x6C, 0x7F, 0x21, + 0x8A, 0x43, 0x01, 0x21, 0x0A, 0x43, 0x1A, 0x64, + 0x70, 0x47, 0x80, 0x23, 0xDB, 0x05, 0xDA, 0x69, + 0x0F, 0x21, 0x8A, 0x43, 0x02, 0x21, 0x0A, 0x43, + 0xDA, 0x61, 0xDA, 0x69, 0xF0, 0x21, 0x8A, 0x43, + 0x30, 0x21, 0x0A, 0x43, 0xDA, 0x61, 0x0C, 0x4A, + 0x11, 0x79, 0x01, 0x39, 0xC9, 0xB2, 0x59, 0x77, + 0xD8, 0x69, 0x0A, 0x49, 0x01, 0x40, 0x80, 0x20, + 0xC0, 0x02, 0x01, 0x43, 0xD9, 0x61, 0xD8, 0x69, + 0x07, 0x49, 0x01, 0x40, 0xA0, 0x20, 0xC0, 0x03, + 0x01, 0x43, 0xD9, 0x61, 0x92, 0x79, 0x01, 0x3A, + 0xD2, 0xB2, 0xDA, 0x77, 0x70, 0x47, 0xC0, 0x46, + 0x04, 0x02, 0x00, 0x20, 0xFF, 0xFF, 0xF0, 0xFF, + 0xFF, 0xFF, 0x0F, 0xFF, 0x30, 0xB5, 0x1A, 0x4A, + 0x1A, 0x4B, 0x11, 0x88, 0x1A, 0x4C, 0xC9, 0x18, + 0x80, 0x23, 0xDB, 0x05, 0x89, 0xB2, 0x18, 0x8C, + 0x19, 0x84, 0x59, 0x8C, 0x00, 0x21, 0x59, 0x84, + 0x50, 0x88, 0x16, 0x4D, 0x01, 0x19, 0x89, 0xB2, + 0x9A, 0x8C, 0x99, 0x84, 0x42, 0x1E, 0xDC, 0x8C, + 0x92, 0xB2, 0x44, 0x19, 0xDA, 0x84, 0xA4, 0xB2, + 0x1D, 0x8D, 0x1C, 0x85, 0x10, 0x4C, 0x00, 0x19, + 0x80, 0xB2, 0x5C, 0x8D, 0x58, 0x85, 0x98, 0x8D, + 0x99, 0x85, 0xD8, 0x8D, 0xDA, 0x85, 0x18, 0x8E, + 0x19, 0x86, 0x58, 0x8E, 0x5A, 0x86, 0x98, 0x8E, + 0x99, 0x86, 0xD8, 0x8E, 0xDA, 0x86, 0x18, 0x8F, + 0x19, 0x87, 0x58, 0x8F, 0x5A, 0x87, 0x98, 0x8F, + 0x99, 0x87, 0xD9, 0x8F, 0xDA, 0x87, 0x30, 0xBD, + 0x04, 0x02, 0x00, 0x20, 0xFF, 0x07, 0x00, 0x00, + 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x05, 0x00, 0x00, + 0xFF, 0x01, 0x00, 0x00, 0x30, 0xB5, 0x22, 0x4B, + 0xEE, 0x24, 0x1A, 0x68, 0xE4, 0x01, 0x14, 0x40, + 0x20, 0x48, 0x1A, 0x68, 0x7F, 0x21, 0x02, 0x40, + 0x22, 0x43, 0x1A, 0x60, 0x1C, 0x68, 0x80, 0x22, + 0xD2, 0x05, 0x15, 0x69, 0x14, 0x61, 0x1C, 0x4C, + 0xA4, 0x7C, 0x00, 0x2C, 0x16, 0xD0, 0x1C, 0x68, + 0x04, 0x25, 0x64, 0x04, 0x64, 0x0E, 0x2C, 0x43, + 0x1D, 0x68, 0x0C, 0x40, 0x24, 0x02, 0x28, 0x40, + 0x20, 0x43, 0x18, 0x60, 0x18, 0x68, 0x14, 0x69, + 0x10, 0x61, 0x1C, 0x68, 0x7B, 0x20, 0x20, 0x40, + 0x1C, 0x68, 0x8C, 0x43, 0x21, 0x1C, 0x01, 0x43, + 0x19, 0x60, 0x15, 0xE0, 0x1C, 0x68, 0x04, 0x25, + 0x64, 0x06, 0x64, 0x0E, 0x2C, 0x43, 0x1D, 0x68, + 0x0C, 0x40, 0x8D, 0x43, 0x29, 0x1C, 0x21, 0x43, + 0x19, 0x60, 0x19, 0x68, 0x14, 0x69, 0x11, 0x61, + 0x1C, 0x68, 0xF6, 0x21, 0xC9, 0x01, 0x21, 0x40, + 0x1C, 0x68, 0x20, 0x40, 0x08, 0x43, 0x18, 0x60, + 0x1B, 0x68, 0x11, 0x69, 0x13, 0x61, 0x30, 0xBD, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0xAE, 0x09, 0x00, 0x20, 0x00, 0xB5, 0x72, 0xB6, + 0x0F, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x0F, 0x4B, + 0x9A, 0x7C, 0x0F, 0x4B, 0x00, 0x2A, 0x07, 0xD0, + 0x1A, 0x68, 0xF6, 0x21, 0xC9, 0x01, 0x11, 0x40, + 0x18, 0x68, 0x0C, 0x4A, 0x02, 0x40, 0x05, 0xE0, + 0x19, 0x68, 0x7B, 0x22, 0x11, 0x40, 0x1A, 0x68, + 0x7F, 0x20, 0x82, 0x43, 0x0A, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x69, + 0x1A, 0x61, 0x62, 0xB6, 0x00, 0xBD, 0xC0, 0x46, + 0x64, 0x00, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x00, 0xB5, 0x72, 0xB6, 0x10, 0x4B, 0x00, 0x22, + 0x1A, 0x70, 0x10, 0x4B, 0x9A, 0x7C, 0x10, 0x4B, + 0x19, 0x68, 0x00, 0x2A, 0x08, 0xD0, 0x49, 0x04, + 0x04, 0x22, 0x49, 0x0E, 0x11, 0x43, 0x18, 0x68, + 0x0C, 0x4A, 0x09, 0x02, 0x02, 0x40, 0x06, 0xE0, + 0x49, 0x06, 0x04, 0x22, 0x49, 0x0E, 0x11, 0x43, + 0x1A, 0x68, 0x7F, 0x20, 0x82, 0x43, 0x0A, 0x43, + 0x1A, 0x60, 0x1A, 0x68, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x69, 0x1A, 0x61, 0x62, 0xB6, 0x00, 0xBD, + 0x64, 0x00, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x08, 0x00, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, + 0x01, 0x4B, 0x18, 0x78, 0x70, 0x47, 0xC0, 0x46, + 0x64, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x80, 0x23, + 0xDB, 0x05, 0x19, 0x6C, 0x80, 0x22, 0xD2, 0x01, + 0x0A, 0x43, 0x1A, 0x64, 0x23, 0x4A, 0x80, 0x21, + 0x10, 0x68, 0x49, 0x00, 0x01, 0x43, 0x11, 0x60, + 0x12, 0x68, 0x99, 0x68, 0x9A, 0x60, 0x19, 0x6C, + 0x80, 0x22, 0x12, 0x02, 0x0A, 0x43, 0x1A, 0x64, + 0x19, 0x6C, 0x1D, 0x4A, 0x0A, 0x40, 0x1A, 0x64, + 0x1C, 0x4B, 0x7F, 0x22, 0x59, 0x7B, 0x1C, 0x4B, + 0x11, 0x40, 0x18, 0x68, 0x1B, 0x4A, 0x09, 0x04, + 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, 0x19, 0x68, + 0xA0, 0x22, 0xD2, 0x05, 0x90, 0x68, 0x91, 0x60, + 0x18, 0x68, 0x17, 0x49, 0x01, 0x40, 0x84, 0x20, + 0xC0, 0x05, 0x01, 0x43, 0x19, 0x60, 0x19, 0x68, + 0x90, 0x68, 0x91, 0x60, 0x13, 0x49, 0x09, 0x78, + 0x49, 0xB2, 0x00, 0x29, 0x02, 0xD0, 0x01, 0x29, + 0x0C, 0xD1, 0x03, 0xE0, 0x18, 0x68, 0x10, 0x49, + 0x01, 0x40, 0x03, 0xE0, 0x18, 0x68, 0x80, 0x21, + 0x09, 0x04, 0x01, 0x43, 0x19, 0x60, 0x1B, 0x68, + 0x91, 0x68, 0x93, 0x60, 0x80, 0x23, 0xDB, 0x05, + 0x19, 0x6C, 0x0A, 0x4A, 0x0A, 0x40, 0x1A, 0x64, + 0x00, 0xBD, 0xC0, 0x46, 0x14, 0x00, 0x00, 0x20, + 0xFF, 0x7F, 0xFF, 0xFF, 0xAE, 0x09, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0x80, 0xFF, + 0xFF, 0xFF, 0xFF, 0x80, 0xFA, 0x02, 0x00, 0x20, + 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, + 0x04, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x80, 0x23, + 0xDB, 0x05, 0x99, 0x6C, 0x91, 0x43, 0x99, 0x64, + 0x1A, 0x70, 0x70, 0x47, 0x00, 0x00, 0x00, 0x20, + 0x03, 0x4A, 0x01, 0x23, 0x13, 0x70, 0x80, 0x22, + 0xD2, 0x05, 0x53, 0x70, 0x70, 0x47, 0xC0, 0x46, + 0x02, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x06, 0x4B, + 0x72, 0xB6, 0x1A, 0x78, 0x00, 0x2A, 0x04, 0xD0, + 0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, 0x30, 0xBF, + 0xF6, 0xE7, 0x62, 0xB6, 0x00, 0xBD, 0xC0, 0x46, + 0x02, 0x00, 0x00, 0x20, 0x38, 0xB5, 0x09, 0x4B, + 0x09, 0x49, 0x9A, 0x78, 0x1C, 0x79, 0x51, 0x43, + 0x08, 0x4B, 0x05, 0x1C, 0xC9, 0x18, 0x08, 0x48, + 0x02, 0xF0, 0x7A, 0xF8, 0x06, 0x4B, 0x29, 0x1C, + 0x01, 0x34, 0x58, 0x43, 0xA1, 0x40, 0x02, 0xF0, + 0x73, 0xF8, 0x38, 0xBD, 0xAA, 0x0A, 0x00, 0x20, + 0x44, 0xFE, 0xFF, 0xFF, 0xFE, 0x24, 0x02, 0x00, + 0x40, 0x42, 0x0F, 0x00, 0x05, 0x4B, 0x19, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x5A, 0x69, 0x09, 0x02, + 0x12, 0x0E, 0x09, 0x0A, 0x12, 0x06, 0x0A, 0x43, + 0x5A, 0x61, 0x70, 0x47, 0x04, 0x00, 0x00, 0x20, + 0x01, 0x4B, 0x18, 0x60, 0x70, 0x47, 0xC0, 0x46, + 0x04, 0x00, 0x00, 0x20, 0x05, 0x4B, 0x01, 0x22, + 0x1A, 0x70, 0x80, 0x23, 0xDB, 0x05, 0x59, 0x69, + 0x80, 0x22, 0x52, 0x04, 0x0A, 0x43, 0x5A, 0x61, + 0x70, 0x47, 0xC0, 0x46, 0x01, 0x00, 0x00, 0x20, + 0x00, 0xB5, 0x05, 0x4B, 0x72, 0xB6, 0x1A, 0x78, + 0x00, 0x2A, 0x03, 0xD0, 0xC0, 0x46, 0xC0, 0x46, + 0x62, 0xB6, 0xF7, 0xE7, 0x62, 0xB6, 0x00, 0xBD, + 0x00, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x10, 0x4B, + 0x1B, 0x68, 0x9A, 0x05, 0x0C, 0xD5, 0x0F, 0x4A, + 0x0F, 0x4B, 0x72, 0xB6, 0x11, 0x78, 0x00, 0x29, + 0x02, 0xD1, 0x19, 0x78, 0x00, 0x29, 0x11, 0xD0, + 0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, 0xF4, 0xE7, + 0x08, 0x4A, 0x09, 0x4B, 0x72, 0xB6, 0x11, 0x78, + 0x00, 0x29, 0x02, 0xD1, 0x19, 0x78, 0x00, 0x29, + 0x04, 0xD0, 0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, + 0x30, 0xBF, 0xF3, 0xE7, 0x62, 0xB6, 0x00, 0xBD, + 0x58, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x13, 0x49, + 0x13, 0x4B, 0x04, 0x24, 0x19, 0x60, 0x13, 0x4B, + 0x13, 0x4D, 0x1A, 0x68, 0x22, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x02, 0x24, 0xA2, 0x43, 0x1A, 0x60, + 0x1A, 0x68, 0x01, 0x24, 0x22, 0x43, 0x0F, 0x4C, + 0x1A, 0x60, 0x00, 0x22, 0x22, 0x60, 0x0E, 0x4A, + 0x11, 0x60, 0x2E, 0x78, 0x2D, 0x79, 0x70, 0x43, + 0x01, 0x35, 0xE8, 0x40, 0x09, 0x1A, 0x11, 0x60, + 0x20, 0x68, 0x11, 0x68, 0x88, 0x42, 0xFB, 0xD2, + 0x1A, 0x68, 0x01, 0x21, 0x8A, 0x43, 0x1A, 0x60, + 0x70, 0xBD, 0xC0, 0x46, 0xFF, 0xFF, 0xFF, 0x00, + 0x14, 0xE0, 0x00, 0xE0, 0x10, 0xE0, 0x00, 0xE0, + 0xAA, 0x0A, 0x00, 0x20, 0x18, 0xE0, 0x00, 0xE0, + 0xFC, 0x01, 0x00, 0x20, 0x00, 0xB5, 0x00, 0x23, + 0x06, 0x4A, 0x98, 0x42, 0x02, 0xDB, 0xD3, 0x1C, + 0xDB, 0x7F, 0x43, 0x43, 0x02, 0x32, 0xD2, 0x7F, + 0x01, 0x30, 0x52, 0xB2, 0x90, 0x40, 0x18, 0x18, + 0x40, 0x18, 0x00, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0xF0, 0xB5, 0x85, 0xB0, 0x05, 0x1C, 0x0C, 0x1C, + 0x16, 0x1C, 0x00, 0x29, 0x05, 0xD0, 0x2B, 0x4B, + 0x02, 0x33, 0xDB, 0x7F, 0x5B, 0xB2, 0x00, 0x2B, + 0x4E, 0xD0, 0x21, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, + 0xDD, 0xFF, 0x27, 0x49, 0x27, 0x4F, 0x4A, 0x7A, + 0x09, 0x7A, 0x13, 0x19, 0x51, 0x18, 0x02, 0x91, + 0x41, 0x01, 0xCF, 0x19, 0x00, 0x22, 0x03, 0x97, + 0x84, 0x46, 0x13, 0xE0, 0x22, 0x48, 0xC1, 0x56, + 0x58, 0x1C, 0xC0, 0xB2, 0xCF, 0x0F, 0x01, 0x90, + 0x7F, 0x18, 0x03, 0x98, 0x7F, 0x10, 0xC7, 0x19, + 0x08, 0x37, 0x00, 0x97, 0x6F, 0x46, 0x38, 0x79, + 0x00, 0x9F, 0x02, 0x33, 0xB8, 0x70, 0x01, 0x27, + 0x8F, 0x40, 0x3A, 0x43, 0x02, 0x98, 0x83, 0x42, + 0xE8, 0xDB, 0x15, 0x4B, 0x60, 0x46, 0xDF, 0x79, + 0x61, 0x42, 0x61, 0x41, 0x5B, 0x7C, 0x79, 0x18, + 0x1C, 0x19, 0x49, 0x10, 0x01, 0x39, 0x01, 0x34, + 0x89, 0x06, 0x24, 0x05, 0x0C, 0x43, 0x22, 0x43, + 0x0E, 0x49, 0x10, 0x4C, 0x40, 0x01, 0x43, 0x18, + 0x0F, 0x4F, 0x01, 0x19, 0x4C, 0x68, 0x4A, 0x60, + 0xAA, 0x1C, 0xD2, 0xB2, 0xC0, 0x19, 0x02, 0x71, + 0x00, 0x2E, 0x07, 0xD0, 0x0B, 0x4A, 0x01, 0x21, + 0x52, 0x57, 0x91, 0x40, 0x0A, 0x1C, 0x99, 0x69, + 0x9A, 0x61, 0x01, 0xE0, 0x9A, 0x69, 0x9E, 0x61, + 0x05, 0xB0, 0xF0, 0xBD, 0xAE, 0x09, 0x00, 0x20, + 0x0A, 0x03, 0x00, 0x20, 0x00, 0x10, 0x00, 0x40, + 0x10, 0x75, 0x00, 0x00, 0x18, 0x10, 0x00, 0x40, + 0x10, 0x10, 0x00, 0x40, 0xEA, 0x74, 0x00, 0x00, + 0x10, 0xB5, 0x08, 0x4B, 0x00, 0x21, 0x1B, 0x68, + 0x01, 0x3B, 0x08, 0xE0, 0x06, 0x4C, 0x58, 0x01, + 0x09, 0x22, 0x00, 0x19, 0x84, 0x18, 0xA1, 0x72, + 0x01, 0x3A, 0xFB, 0xD2, 0x01, 0x3B, 0x00, 0x2B, + 0xF4, 0xDA, 0x10, 0xBD, 0x18, 0x09, 0x00, 0x20, + 0x00, 0x10, 0x00, 0x40, 0x38, 0xB5, 0xFF, 0xF7, + 0xE7, 0xFF, 0x00, 0x21, 0x01, 0x20, 0x0A, 0x1C, + 0x40, 0x42, 0xFF, 0xF7, 0x75, 0xFF, 0x01, 0x20, + 0x40, 0x42, 0x01, 0x21, 0x00, 0x22, 0xFF, 0xF7, + 0x6F, 0xFF, 0x0A, 0x4D, 0xAC, 0x7B, 0x0B, 0xE0, + 0x20, 0x1C, 0x00, 0x21, 0x01, 0x22, 0xFF, 0xF7, + 0x67, 0xFF, 0x01, 0x21, 0x20, 0x1C, 0x0A, 0x1C, + 0xFF, 0xF7, 0x62, 0xFF, 0x01, 0x34, 0xE4, 0xB2, + 0xAA, 0x7B, 0x2B, 0x79, 0xD3, 0x18, 0x9C, 0x42, + 0xEE, 0xDB, 0x38, 0xBD, 0x0A, 0x03, 0x00, 0x20, + 0xF0, 0xB5, 0x85, 0xB0, 0x05, 0x1C, 0x0E, 0x1C, + 0x02, 0x92, 0x1F, 0x1C, 0x00, 0x29, 0x05, 0xD0, + 0x21, 0x4B, 0x02, 0x33, 0xDB, 0x7F, 0x5B, 0xB2, + 0x00, 0x2B, 0x3B, 0xD0, 0x31, 0x1C, 0x28, 0x1C, + 0xFF, 0xF7, 0x34, 0xFF, 0x1D, 0x4A, 0xC0, 0xB2, + 0x01, 0x90, 0x53, 0x7A, 0x12, 0x7A, 0xF6, 0x18, + 0x9A, 0x18, 0x1B, 0x4B, 0xB9, 0x1E, 0x1B, 0x7C, + 0x48, 0x1E, 0x81, 0x41, 0x49, 0x42, 0xF6, 0xB2, + 0x03, 0x91, 0x9C, 0x46, 0x24, 0xE0, 0x00, 0x2F, + 0x07, 0xD1, 0x26, 0x21, 0x71, 0x43, 0x15, 0x4B, + 0x49, 0x19, 0xCC, 0x5C, 0x64, 0x44, 0xE4, 0xB2, + 0x08, 0xE0, 0x01, 0x2F, 0x04, 0xD1, 0x73, 0x01, + 0x11, 0x49, 0x5B, 0x19, 0x5C, 0x5C, 0x01, 0xE0, + 0x03, 0x9B, 0x1C, 0x40, 0x0F, 0x4B, 0x02, 0x99, + 0x9B, 0x57, 0x02, 0x36, 0xD8, 0x0F, 0xC0, 0x18, + 0x63, 0x18, 0xDB, 0xB2, 0x00, 0x93, 0x01, 0x9B, + 0x40, 0x10, 0x59, 0x01, 0x6B, 0x46, 0x08, 0x18, + 0x1B, 0x78, 0x09, 0x49, 0xF6, 0xB2, 0x43, 0x54, + 0x96, 0x42, 0xD8, 0xDB, 0x05, 0xB0, 0xF0, 0xBD, + 0xAE, 0x09, 0x00, 0x20, 0x0A, 0x03, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x36, 0x75, 0x00, 0x00, + 0xB3, 0x0A, 0x00, 0x20, 0x10, 0x75, 0x00, 0x00, + 0x00, 0x10, 0x00, 0x40, 0x70, 0xB5, 0x2A, 0x4B, + 0x2A, 0x4A, 0x19, 0x68, 0x80, 0x24, 0x0A, 0x40, + 0x1A, 0x60, 0x1A, 0x68, 0xE4, 0x05, 0x28, 0x4D, + 0xA1, 0x68, 0xA2, 0x60, 0x69, 0x7A, 0x03, 0x22, + 0x18, 0x68, 0x11, 0x40, 0x25, 0x4A, 0x89, 0x04, + 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0xA1, 0x68, 0xA2, 0x60, 0x19, 0x68, 0x80, 0x22, + 0x52, 0x03, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0xA1, 0x68, 0xA2, 0x60, 0x29, 0x7A, 0x18, 0x68, + 0x07, 0x26, 0x1D, 0x4A, 0x31, 0x40, 0x49, 0x05, + 0x02, 0x40, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0xA1, 0x68, 0xA2, 0x60, 0xA9, 0x7B, 0x0F, 0x29, + 0x25, 0xD8, 0xEA, 0x7B, 0x0F, 0x2A, 0x22, 0xD8, + 0x18, 0x68, 0x09, 0x07, 0x00, 0x01, 0x00, 0x09, + 0x01, 0x43, 0x19, 0x60, 0x0F, 0x21, 0x0A, 0x40, + 0x18, 0x68, 0x11, 0x06, 0x11, 0x4A, 0x02, 0x40, + 0x0A, 0x43, 0x1A, 0x60, 0x1B, 0x68, 0xA2, 0x68, + 0xA3, 0x60, 0xFF, 0xF7, 0x49, 0xFC, 0x0E, 0x4A, + 0x63, 0x6C, 0x13, 0x43, 0x63, 0x64, 0xFF, 0xF7, + 0x5C, 0xFC, 0xFF, 0xF7, 0x87, 0xFC, 0xEB, 0x79, + 0x0A, 0x4A, 0x1E, 0x40, 0x33, 0x02, 0x26, 0x6C, + 0x16, 0x40, 0x1E, 0x43, 0x26, 0x64, 0x70, 0xBD, + 0x14, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xFC, 0xFF, + 0x48, 0x0D, 0x00, 0x20, 0xFF, 0xFF, 0xF3, 0xFF, + 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, + 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0xF8, 0xFF, 0xFF, + 0x00, 0xB5, 0x80, 0x21, 0xC9, 0x05, 0x0B, 0x79, + 0x5A, 0x1E, 0xD2, 0xB2, 0x98, 0x42, 0x09, 0xDD, + 0x00, 0xE0, 0x0B, 0x71, 0x01, 0x33, 0xDB, 0xB2, + 0x83, 0x42, 0xFA, 0xDD, 0x04, 0xE0, 0x0A, 0x71, + 0x01, 0x3A, 0xD2, 0xB2, 0x82, 0x42, 0xFA, 0xDA, + 0x00, 0xBD, 0x38, 0xB5, 0x17, 0x4C, 0xA0, 0x78, + 0xFF, 0xF7, 0xE6, 0xFF, 0x80, 0x23, 0xDB, 0x05, + 0x21, 0x79, 0x5A, 0x68, 0xC9, 0x07, 0x52, 0x00, + 0x52, 0x08, 0x0A, 0x43, 0x5A, 0x60, 0x60, 0x79, + 0x03, 0x22, 0x5D, 0x68, 0x10, 0x49, 0x10, 0x40, + 0x80, 0x03, 0x29, 0x40, 0x01, 0x43, 0x59, 0x60, + 0xA0, 0x79, 0x0E, 0x49, 0x5D, 0x68, 0x10, 0x40, + 0x00, 0x03, 0x29, 0x40, 0x01, 0x43, 0x59, 0x60, + 0xE0, 0x79, 0x0B, 0x49, 0x5D, 0x68, 0x10, 0x40, + 0x29, 0x40, 0x80, 0x02, 0x01, 0x43, 0x59, 0x60, + 0x21, 0x7A, 0x58, 0x68, 0x0A, 0x40, 0x11, 0x02, + 0x06, 0x4A, 0x02, 0x40, 0x0A, 0x43, 0x5A, 0x60, + 0x38, 0xBD, 0xC0, 0x46, 0xAA, 0x0A, 0x00, 0x20, + 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, + 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, + 0xF8, 0xB5, 0x80, 0x23, 0xDB, 0x05, 0x1A, 0x68, + 0x7A, 0x4A, 0x00, 0x21, 0x08, 0x20, 0x19, 0x60, + 0x10, 0x60, 0x14, 0x68, 0x9D, 0x68, 0x9C, 0x60, + 0x77, 0x4C, 0x21, 0x60, 0x24, 0x68, 0xDD, 0x68, + 0xDC, 0x60, 0xFE, 0x25, 0x75, 0x4C, 0xED, 0x01, + 0x25, 0x60, 0x24, 0x68, 0x1D, 0x69, 0x1C, 0x61, + 0x5C, 0x69, 0x59, 0x61, 0x9C, 0x69, 0x99, 0x61, + 0xDC, 0x69, 0xD9, 0x61, 0x1C, 0x6C, 0x80, 0x24, + 0xE4, 0x01, 0x1C, 0x64, 0x5C, 0x6C, 0x59, 0x64, + 0x9C, 0x6C, 0x6D, 0x4C, 0x99, 0x64, 0x21, 0x60, + 0xA0, 0x24, 0xE4, 0x05, 0xA5, 0x68, 0xA1, 0x60, + 0x1C, 0x6C, 0x6A, 0x49, 0x21, 0x40, 0x19, 0x64, + 0x1C, 0x68, 0x80, 0x21, 0x49, 0x05, 0x21, 0x43, + 0x19, 0x60, 0x67, 0x49, 0x01, 0x31, 0xC9, 0x7F, + 0x00, 0x29, 0x03, 0xD0, 0x11, 0x68, 0x08, 0x43, + 0x10, 0x60, 0x02, 0xE0, 0x11, 0x68, 0x81, 0x43, + 0x11, 0x60, 0x11, 0x68, 0x98, 0x68, 0x99, 0x60, + 0x13, 0x68, 0x04, 0x26, 0x33, 0x43, 0x13, 0x60, + 0x13, 0x68, 0x80, 0x25, 0xED, 0x05, 0xA9, 0x68, + 0xAB, 0x60, 0x13, 0x68, 0x02, 0x27, 0x3B, 0x43, + 0x13, 0x60, 0x13, 0x68, 0xA9, 0x68, 0xAB, 0x60, + 0x13, 0x68, 0x01, 0x20, 0x83, 0x43, 0x13, 0x60, + 0x13, 0x68, 0xAA, 0x68, 0xAB, 0x60, 0xFF, 0xF7, + 0xED, 0xFE, 0x54, 0x4B, 0x1C, 0x22, 0x9A, 0x56, + 0xA9, 0x69, 0x53, 0x4B, 0x12, 0x05, 0xF2, 0x40, + 0x0B, 0x40, 0x13, 0x43, 0xAB, 0x61, 0xFF, 0xF7, + 0x61, 0xFE, 0x50, 0x4A, 0x50, 0x4B, 0x01, 0x21, + 0x1A, 0x60, 0x50, 0x4B, 0x08, 0x24, 0x1A, 0x68, + 0x10, 0x20, 0x32, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0xBA, 0x43, 0x1A, 0x60, 0x4C, 0x4B, 0xC0, 0x22, + 0x52, 0x00, 0x99, 0x50, 0x20, 0x21, 0x9F, 0x50, + 0x9E, 0x50, 0x9C, 0x50, 0x98, 0x50, 0x99, 0x50, + 0x40, 0x21, 0x99, 0x50, 0xC0, 0x22, 0xBA, 0x40, + 0x98, 0x58, 0xFF, 0x24, 0xA0, 0x43, 0xC0, 0x24, + 0x20, 0x43, 0x98, 0x50, 0x9C, 0x58, 0x43, 0x48, + 0x04, 0x40, 0x9C, 0x50, 0x9C, 0x58, 0x42, 0x48, + 0x20, 0x40, 0x80, 0x24, 0x24, 0x04, 0x04, 0x43, + 0x9C, 0x50, 0x9C, 0x58, 0x24, 0x02, 0x24, 0x0A, + 0x2C, 0x43, 0x9C, 0x50, 0xC1, 0x22, 0xBA, 0x40, + 0x98, 0x58, 0x04, 0x1C, 0xFF, 0x20, 0x84, 0x43, + 0x0C, 0x43, 0x9C, 0x50, 0x9C, 0x58, 0x37, 0x48, + 0x20, 0x40, 0x80, 0x24, 0x24, 0x02, 0x20, 0x43, + 0x98, 0x50, 0x98, 0x58, 0x34, 0x4C, 0x20, 0x40, + 0x98, 0x50, 0x34, 0x4A, 0x10, 0x69, 0x30, 0x43, + 0x10, 0x61, 0x62, 0xB6, 0x08, 0x22, 0x01, 0x20, + 0x1E, 0x60, 0x18, 0x60, 0x1F, 0x60, 0x1A, 0x60, + 0x2F, 0x4B, 0x20, 0x20, 0x10, 0x24, 0xDC, 0x67, + 0xD8, 0x67, 0xD9, 0x67, 0xFF, 0xF7, 0x46, 0xFC, + 0x21, 0x4C, 0xE0, 0x7D, 0x21, 0x7E, 0xFF, 0xF7, + 0xFB, 0xFA, 0xE3, 0x7C, 0x00, 0x2B, 0x26, 0xD0, + 0x1A, 0x4B, 0x01, 0x21, 0x18, 0x68, 0x27, 0x4A, + 0x40, 0x00, 0x40, 0x0E, 0x08, 0x43, 0x19, 0x68, + 0x00, 0x06, 0x11, 0x40, 0x01, 0x43, 0x19, 0x60, + 0x19, 0x68, 0x28, 0x69, 0x29, 0x61, 0x19, 0x68, + 0x49, 0x00, 0x49, 0x0E, 0x0F, 0x43, 0x39, 0x06, + 0x1F, 0x68, 0x17, 0x40, 0x0F, 0x43, 0x1F, 0x60, + 0x19, 0x68, 0x28, 0x69, 0x29, 0x61, 0x19, 0x68, + 0x49, 0x00, 0x49, 0x0E, 0x0E, 0x43, 0x19, 0x68, + 0x36, 0x06, 0x0A, 0x40, 0x32, 0x43, 0x1A, 0x60, + 0x1B, 0x68, 0x2A, 0x69, 0x2B, 0x61, 0xFF, 0xF7, + 0xD4, 0xFE, 0xFF, 0xF7, 0xC1, 0xF8, 0xFF, 0xF7, + 0x0F, 0xF9, 0xFF, 0xF7, 0x7D, 0xF9, 0xFF, 0xF7, + 0x65, 0xFB, 0xF8, 0xBD, 0x14, 0x00, 0x00, 0x20, + 0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0x7F, 0xFF, + 0xAE, 0x09, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0xFF, 0xFF, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, + 0x14, 0xE0, 0x00, 0xE0, 0x10, 0xE0, 0x00, 0xE0, + 0x00, 0xE1, 0x00, 0xE0, 0xFF, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0xED, 0x00, 0xE0, + 0x04, 0xE1, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x80, + 0x08, 0xB5, 0x0C, 0x4A, 0x0C, 0x4B, 0x0D, 0x49, + 0x01, 0xE0, 0x01, 0xCA, 0x01, 0xC3, 0x8B, 0x42, + 0xFB, 0xD3, 0x0B, 0x4B, 0x0B, 0x49, 0x00, 0x22, + 0x00, 0xE0, 0x04, 0xC3, 0x8B, 0x42, 0xFC, 0xD3, + 0xFF, 0xF7, 0x26, 0xF8, 0x08, 0x4B, 0x00, 0x22, + 0x00, 0xE0, 0x04, 0xC3, 0x83, 0x42, 0xFC, 0xD3, + 0x08, 0xBD, 0xC0, 0x46, 0xFC, 0x59, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x20, 0x5C, 0x00, 0x00, 0x20, + 0x5C, 0x00, 0x00, 0x20, 0xEC, 0x11, 0x00, 0x20, + 0x0C, 0x1E, 0x00, 0x20, 0x00, 0xB5, 0x13, 0x4B, + 0x1B, 0x68, 0x01, 0x2B, 0x02, 0xD0, 0x08, 0x2B, + 0x1E, 0xD1, 0x0F, 0xE0, 0x10, 0x4B, 0x11, 0x4A, + 0x1A, 0x60, 0x11, 0x4A, 0x5A, 0x60, 0x11, 0x4A, + 0x11, 0x4B, 0x1A, 0x60, 0x11, 0x4B, 0x12, 0x4A, + 0x1A, 0x60, 0x12, 0x4A, 0x5A, 0x60, 0x12, 0x4A, + 0x9A, 0x60, 0x0D, 0xE0, 0x09, 0x4B, 0x08, 0x4A, + 0x09, 0x49, 0x13, 0x60, 0x51, 0x60, 0x0A, 0x4A, + 0x13, 0x60, 0x0A, 0x4A, 0x13, 0x60, 0x53, 0x60, + 0x93, 0x60, 0x0C, 0x4B, 0x01, 0x22, 0x1A, 0x70, + 0x00, 0xBD, 0xC0, 0x46, 0x50, 0x11, 0x00, 0x20, + 0x68, 0x00, 0x00, 0x20, 0xF9, 0x03, 0x00, 0x00, + 0x7D, 0x3F, 0x00, 0x00, 0xB5, 0x3F, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x20, 0x18, 0x00, 0x00, 0x20, + 0xC1, 0x40, 0x00, 0x00, 0xA9, 0x42, 0x00, 0x00, + 0x0D, 0x44, 0x00, 0x00, 0xE4, 0x01, 0x00, 0x20, + 0x00, 0xB5, 0x00, 0x23, 0xC2, 0x5C, 0x01, 0x33, + 0x00, 0x2A, 0xFB, 0xD1, 0x01, 0x3B, 0xD8, 0xB2, + 0x00, 0xBD, 0xC0, 0x46, 0xF7, 0xB5, 0x1C, 0x1C, + 0x08, 0xAB, 0x1F, 0x78, 0x26, 0x4B, 0x0E, 0x1C, + 0x1B, 0x68, 0x01, 0x21, 0x81, 0x40, 0x0B, 0x42, + 0x44, 0xD0, 0x00, 0x2F, 0x07, 0xD0, 0x04, 0x2C, + 0x32, 0xD8, 0x22, 0x4B, 0x19, 0x5D, 0x05, 0x33, + 0x00, 0x91, 0x1F, 0x5D, 0x08, 0xE0, 0x04, 0x2C, + 0x2E, 0xD8, 0x1E, 0x4B, 0x19, 0x1C, 0x0A, 0x31, + 0x09, 0x5D, 0x0F, 0x33, 0x1F, 0x5D, 0x00, 0x91, + 0x03, 0x2C, 0x28, 0xD0, 0x00, 0x2C, 0x28, 0xD0, + 0x28, 0xE0, 0x3A, 0x20, 0x21, 0x1C, 0x01, 0xF0, + 0x63, 0xFC, 0x86, 0x42, 0x05, 0xDD, 0x6B, 0x46, + 0x1B, 0x78, 0xC0, 0xB2, 0x2B, 0x70, 0x68, 0x70, + 0x02, 0xE0, 0x2F, 0x70, 0x30, 0x1C, 0x6E, 0x70, + 0x36, 0x1A, 0x60, 0x43, 0x01, 0x99, 0x00, 0x23, + 0x69, 0x60, 0xAB, 0x60, 0x09, 0x18, 0xF6, 0xB2, + 0x01, 0x91, 0xFF, 0xF7, 0xE3, 0xFA, 0xFF, 0xF7, + 0x37, 0xFB, 0x00, 0x28, 0xFB, 0xD1, 0x0B, 0xE0, + 0x0F, 0x23, 0x00, 0x27, 0x00, 0x93, 0x05, 0xE0, + 0x0F, 0x21, 0x00, 0x91, 0x02, 0xE0, 0x02, 0x24, + 0x00, 0xE0, 0x01, 0x24, 0x04, 0x4D, 0x01, 0x92, + 0x00, 0x2E, 0xD2, 0xD1, 0xF7, 0xBD, 0xC0, 0x46, + 0x58, 0x00, 0x00, 0x20, 0x73, 0x59, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x20, 0x38, 0xB5, 0x11, 0x4B, + 0x01, 0x22, 0x1B, 0x68, 0x82, 0x40, 0x0D, 0x1C, + 0x13, 0x42, 0x19, 0xD0, 0x0E, 0x4C, 0x0B, 0x23, + 0x23, 0x70, 0x08, 0x1C, 0xFF, 0xF7, 0x90, 0xFF, + 0x60, 0x70, 0x63, 0x78, 0x07, 0x22, 0x02, 0x33, + 0x13, 0x40, 0x93, 0x42, 0x03, 0xD1, 0x63, 0x78, + 0x01, 0x3B, 0xDB, 0xB2, 0x63, 0x70, 0x00, 0x23, + 0x65, 0x60, 0xA3, 0x60, 0xFF, 0xF7, 0xAA, 0xFA, + 0xFF, 0xF7, 0xFE, 0xFA, 0x00, 0x28, 0xFB, 0xD1, + 0x38, 0xBD, 0xC0, 0x46, 0x58, 0x00, 0x00, 0x20, + 0x70, 0x00, 0x00, 0x20, 0x1F, 0xB5, 0x0B, 0x4C, + 0x6B, 0x46, 0xD8, 0x73, 0x23, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x00, 0x20, 0x08, 0x49, 0xFF, 0xF7, + 0xCD, 0xFF, 0x23, 0x78, 0x00, 0x2B, 0x07, 0xD0, + 0x6A, 0x46, 0x01, 0x21, 0x00, 0x20, 0x0F, 0x32, + 0x04, 0x23, 0x00, 0x91, 0xFF, 0xF7, 0x6A, 0xFF, + 0x1F, 0xBD, 0xC0, 0x46, 0xEB, 0x01, 0x00, 0x20, + 0x87, 0x59, 0x00, 0x00, 0xF8, 0xB5, 0xFF, 0xF7, + 0xD7, 0xFA, 0x00, 0x28, 0x70, 0xD1, 0x39, 0x4B, + 0x1A, 0x68, 0x00, 0x2A, 0x03, 0xDC, 0x38, 0x4B, + 0x1B, 0x68, 0x00, 0x2B, 0x3E, 0xDD, 0x37, 0x49, + 0x03, 0x23, 0x0B, 0x70, 0x36, 0x4B, 0x04, 0x33, + 0xDB, 0x7F, 0x1C, 0x1C, 0x9A, 0x42, 0x00, 0xDA, + 0xD3, 0xB2, 0x4B, 0x70, 0x0A, 0x21, 0x8C, 0x46, + 0x32, 0x4A, 0x00, 0x23, 0x2D, 0x49, 0x1F, 0xE0, + 0x01, 0x33, 0x03, 0xE0, 0x66, 0x46, 0x5E, 0x43, + 0x00, 0x20, 0x76, 0x18, 0x0A, 0x30, 0x37, 0x18, + 0x32, 0x25, 0x7F, 0x5F, 0x00, 0x2F, 0xF3, 0xD0, + 0xA3, 0x42, 0x13, 0xDA, 0x58, 0x00, 0x08, 0x18, + 0x80, 0x88, 0xDE, 0x00, 0x10, 0x70, 0x00, 0xB2, + 0x00, 0x12, 0x80, 0x19, 0x50, 0x70, 0x18, 0x1C, + 0x10, 0x30, 0x40, 0x00, 0x08, 0x5A, 0x01, 0x33, + 0x90, 0x70, 0x00, 0x0A, 0xD0, 0x70, 0x04, 0x32, + 0xA3, 0x42, 0xDF, 0xDB, 0x1D, 0x4B, 0x1F, 0x4A, + 0x5A, 0x60, 0x00, 0x22, 0x9A, 0x60, 0xFF, 0xF7, + 0x3D, 0xFA, 0xFF, 0xF7, 0x91, 0xFA, 0x00, 0x28, + 0xFB, 0xD1, 0x29, 0xE0, 0x1A, 0x4A, 0x53, 0x68, + 0x01, 0x33, 0x25, 0xD0, 0x15, 0x4B, 0x13, 0x21, + 0x19, 0x70, 0x11, 0x68, 0x94, 0x46, 0x59, 0x70, + 0x16, 0x4B, 0x14, 0x49, 0x1D, 0x78, 0x03, 0x1C, + 0x0D, 0xE0, 0x23, 0x1C, 0x01, 0xE0, 0x5E, 0x00, + 0x66, 0x44, 0x02, 0x30, 0x34, 0x18, 0x06, 0x22, + 0xA7, 0x5E, 0x5C, 0x1C, 0x00, 0x2F, 0xF4, 0xD0, + 0x0B, 0x70, 0x23, 0x1C, 0x01, 0x31, 0x00, 0x20, + 0xAB, 0x42, 0xF0, 0xDB, 0x07, 0x4B, 0x09, 0x4A, + 0x98, 0x60, 0x5A, 0x60, 0xFF, 0xF7, 0x12, 0xFA, + 0xFF, 0xF7, 0x66, 0xFA, 0x00, 0x28, 0xFB, 0xD1, + 0xF8, 0xBD, 0xC0, 0x46, 0x9C, 0x0D, 0x00, 0x20, + 0x20, 0x01, 0x00, 0x20, 0x70, 0x00, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xF0, 0x09, 0x00, 0x20, + 0xE0, 0x00, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0x08, 0xB5, 0x64, 0x4B, 0x1B, 0x88, 0x1D, 0x2B, + 0x47, 0xD0, 0x1A, 0xD8, 0x05, 0x2B, 0x00, 0xD1, + 0x96, 0xE0, 0x0D, 0xD8, 0x02, 0x2B, 0x63, 0xD0, + 0x03, 0xD8, 0x01, 0x2B, 0x00, 0xD0, 0xB7, 0xE0, + 0x57, 0xE0, 0x03, 0x2B, 0x00, 0xD1, 0x87, 0xE0, + 0x04, 0x2B, 0x00, 0xD0, 0xB0, 0xE0, 0x8F, 0xE0, + 0x07, 0x2B, 0x65, 0xD0, 0x5C, 0xD3, 0x1B, 0x2B, + 0x1C, 0xD0, 0x1C, 0x2B, 0x00, 0xD0, 0xA7, 0xE0, + 0x22, 0xE0, 0x22, 0x2B, 0x40, 0xD0, 0x08, 0xD8, + 0x1F, 0x2B, 0x5D, 0xD0, 0x2A, 0xD3, 0x20, 0x2B, + 0x5E, 0xD0, 0x21, 0x2B, 0x00, 0xD0, 0x9B, 0xE0, + 0x5E, 0xE0, 0x41, 0x2B, 0x64, 0xD0, 0x03, 0xD8, + 0x40, 0x2B, 0x00, 0xD0, 0x94, 0xE0, 0x5B, 0xE0, + 0x42, 0x2B, 0x61, 0xD0, 0x60, 0x2B, 0x00, 0xD0, + 0x8E, 0xE0, 0x72, 0xE0, 0x48, 0x4A, 0x49, 0x4B, + 0x12, 0x78, 0x01, 0x20, 0x19, 0x68, 0x90, 0x40, + 0x02, 0x1C, 0x0A, 0x43, 0x1A, 0x60, 0x83, 0xE0, + 0x43, 0x49, 0x44, 0x4B, 0x09, 0x78, 0x1A, 0x68, + 0x01, 0x20, 0x88, 0x40, 0x82, 0x43, 0x1A, 0x60, + 0x7A, 0xE0, 0x3F, 0x4B, 0x1A, 0x78, 0x40, 0x4B, + 0x1A, 0x70, 0x75, 0xE0, 0x3C, 0x4B, 0x0D, 0x21, + 0x1A, 0x78, 0x3E, 0x4B, 0x1A, 0x70, 0x3C, 0x4A, + 0x11, 0x70, 0x1A, 0x78, 0x3C, 0x4B, 0x00, 0x2A, + 0x02, 0xD0, 0x00, 0x22, 0x5A, 0x70, 0x67, 0xE0, + 0x3A, 0x4A, 0x52, 0x78, 0x5A, 0x70, 0x63, 0xE0, + 0x33, 0x4B, 0x1A, 0x78, 0x38, 0x4B, 0x1A, 0x70, + 0x5E, 0xE0, 0x31, 0x4B, 0x1A, 0x78, 0x37, 0x4B, + 0x1A, 0x60, 0xFD, 0xF7, 0x09, 0xFC, 0x57, 0xE0, + 0x2D, 0x4B, 0x1A, 0x78, 0x34, 0x4B, 0x9A, 0x70, + 0x98, 0x78, 0xFF, 0xF7, 0x8D, 0xFC, 0x4F, 0xE0, + 0x29, 0x4B, 0x1A, 0x78, 0x30, 0x4B, 0x9A, 0x70, + 0x29, 0x4B, 0x0F, 0x22, 0x1A, 0x70, 0x47, 0xE0, + 0x2E, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x43, 0xE0, + 0x2D, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x3F, 0xE0, + 0x0C, 0x20, 0xFD, 0xF7, 0x85, 0xF9, 0x3B, 0xE0, + 0x0D, 0x20, 0xFD, 0xF7, 0x81, 0xF9, 0x37, 0xE0, + 0x28, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x33, 0xE0, + 0x27, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x2F, 0xE0, + 0x26, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x2B, 0xE0, + 0x25, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x27, 0xE0, + 0x24, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x14, 0x4B, + 0x1A, 0x78, 0x23, 0x4B, 0x1A, 0x70, 0x1F, 0xE0, + 0x11, 0x4B, 0x1A, 0x78, 0x1E, 0x4B, 0x9A, 0x70, + 0x1A, 0xE0, 0x0F, 0x4B, 0x1A, 0x78, 0x1F, 0x4B, + 0x1A, 0x70, 0x1A, 0x78, 0x10, 0x4B, 0x01, 0x3A, + 0x01, 0x2A, 0x03, 0xD8, 0x40, 0x33, 0x0F, 0x22, + 0x1A, 0x70, 0x0D, 0xE0, 0x1A, 0x4A, 0x40, 0x33, + 0x12, 0x78, 0x00, 0x2A, 0x04, 0xD0, 0x19, 0x4A, + 0x40, 0x32, 0x12, 0x78, 0x1A, 0x70, 0x03, 0xE0, + 0x08, 0x4A, 0x40, 0x32, 0x12, 0x78, 0x1A, 0x70, + 0x08, 0xBD, 0xC0, 0x46, 0x28, 0x00, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x50, 0x58, 0x00, 0x00, 0x20, + 0x1D, 0x03, 0x00, 0x20, 0xE3, 0x01, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x4A, 0x74, 0x00, 0x00, + 0xDE, 0x01, 0x00, 0x20, 0x50, 0x11, 0x00, 0x20, + 0xAA, 0x0A, 0x00, 0x20, 0xE4, 0x01, 0x00, 0x20, + 0xDC, 0x01, 0x00, 0x20, 0xE8, 0x01, 0x00, 0x20, + 0xE7, 0x01, 0x00, 0x20, 0xE5, 0x01, 0x00, 0x20, + 0x8B, 0x01, 0x00, 0x20, 0xE6, 0x01, 0x00, 0x20, + 0x92, 0x01, 0x00, 0x20, 0xE0, 0x01, 0x00, 0x20, + 0xDD, 0x01, 0x00, 0x20, 0x9A, 0x74, 0x00, 0x00, + 0x30, 0xB5, 0x4A, 0x4B, 0x1B, 0x88, 0x34, 0x2B, + 0x47, 0xD0, 0x0C, 0xD8, 0x2E, 0x2B, 0x4F, 0xD0, + 0x04, 0xD8, 0x00, 0x2B, 0x14, 0xD0, 0x1D, 0x2B, + 0x78, 0xD1, 0x16, 0xE0, 0x2F, 0x2B, 0x51, 0xD0, + 0x30, 0x2B, 0x73, 0xD1, 0x56, 0xE0, 0x38, 0x2B, + 0x66, 0xD0, 0x04, 0xD8, 0x35, 0x2B, 0x39, 0xD0, + 0x37, 0x2B, 0x6B, 0xD1, 0x5B, 0xE0, 0x39, 0x2B, + 0x63, 0xD0, 0x86, 0x2B, 0x66, 0xD1, 0x09, 0xE0, + 0x3B, 0x4B, 0x5A, 0x7B, 0x3B, 0x4B, 0x1A, 0x70, + 0x6F, 0xE0, 0x3B, 0x4B, 0x1A, 0x78, 0x39, 0x4B, + 0x1A, 0x70, 0x6A, 0xE0, 0x39, 0x49, 0x3A, 0x4A, + 0x0B, 0x78, 0x00, 0x2B, 0x0F, 0xD1, 0x10, 0x78, + 0x34, 0x49, 0x08, 0x70, 0x50, 0x78, 0x37, 0x49, + 0x08, 0x70, 0x52, 0x68, 0xD1, 0x18, 0x36, 0x4C, + 0x08, 0x78, 0x19, 0x19, 0x01, 0x33, 0x08, 0x70, + 0x06, 0x2B, 0xF7, 0xD1, 0x55, 0xE0, 0x52, 0x68, + 0x00, 0x23, 0x08, 0x78, 0x2B, 0x4D, 0xC0, 0x18, + 0x02, 0x38, 0x10, 0x18, 0x04, 0x78, 0x58, 0x19, + 0x01, 0x33, 0x04, 0x70, 0x08, 0x2B, 0xF4, 0xD1, + 0x47, 0xE0, 0x2C, 0x4B, 0x1A, 0x68, 0x25, 0x4B, + 0x1A, 0x60, 0x42, 0xE0, 0x80, 0x23, 0xDB, 0x05, + 0x1A, 0x79, 0x22, 0x4B, 0x1A, 0x70, 0x3C, 0xE0, + 0x22, 0x4B, 0x27, 0x4A, 0x1B, 0x78, 0x1F, 0x49, + 0xD3, 0x18, 0x1A, 0x68, 0x5B, 0x68, 0x0A, 0x60, + 0x4B, 0x60, 0x32, 0xE0, 0x1A, 0x4B, 0x1A, 0x1C, + 0x2C, 0x32, 0x11, 0x78, 0x19, 0x4A, 0x00, 0x29, + 0x07, 0xD1, 0x09, 0xE0, 0x16, 0x4B, 0x1A, 0x1C, + 0x2C, 0x32, 0x11, 0x78, 0x15, 0x4A, 0x00, 0x29, + 0x02, 0xD1, 0xDB, 0x8C, 0x13, 0x80, 0x20, 0xE0, + 0x1B, 0x8D, 0x13, 0x80, 0x1D, 0xE0, 0x19, 0x4B, + 0x1A, 0x78, 0x10, 0x4B, 0x1A, 0x70, 0x18, 0xE0, + 0x17, 0x4B, 0x1A, 0x78, 0x0D, 0x4B, 0x1A, 0x70, + 0x13, 0xE0, 0x16, 0x4B, 0x1A, 0x78, 0x0B, 0x4B, + 0x1A, 0x70, 0x0E, 0xE0, 0x90, 0x3B, 0x9A, 0xB2, + 0x13, 0x2A, 0x0A, 0xD8, 0x09, 0x4A, 0x5B, 0x01, + 0x12, 0x78, 0x06, 0x49, 0x9B, 0x18, 0x10, 0x4A, + 0x9B, 0x18, 0x1A, 0x68, 0x5B, 0x68, 0x0A, 0x60, + 0x4B, 0x60, 0x30, 0xBD, 0x28, 0x00, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x50, + 0x1D, 0x03, 0x00, 0x20, 0x2A, 0x00, 0x00, 0x20, + 0x70, 0x00, 0x00, 0x20, 0x0D, 0x00, 0x00, 0x50, + 0x0E, 0x00, 0x00, 0x50, 0x1C, 0x09, 0x00, 0x20, + 0xB1, 0x09, 0x00, 0x20, 0xFF, 0x5B, 0x00, 0x00, + 0xFF, 0x73, 0x00, 0x00, 0xFF, 0x7B, 0x00, 0x00, + 0xB3, 0x0A, 0x00, 0x20, 0x08, 0xB5, 0x08, 0x4B, + 0x1B, 0x88, 0x86, 0x2B, 0x0B, 0xD1, 0x07, 0x4B, + 0x9A, 0x68, 0x01, 0x2A, 0x02, 0xDC, 0x9A, 0x68, + 0x01, 0x32, 0x9A, 0x60, 0x9B, 0x68, 0x02, 0x2B, + 0x01, 0xD1, 0xFF, 0xF7, 0x71, 0xF8, 0x08, 0xBD, + 0x28, 0x00, 0x00, 0x20, 0x70, 0x00, 0x00, 0x20, + 0x7F, 0xB5, 0x31, 0x4C, 0x03, 0x90, 0x23, 0x78, + 0x0D, 0x1C, 0x16, 0x1C, 0x00, 0x2B, 0x03, 0xD0, + 0x01, 0x20, 0x2E, 0x49, 0xFF, 0xF7, 0x6E, 0xFD, + 0x23, 0x78, 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x21, + 0x08, 0x1C, 0x03, 0xAA, 0x04, 0x23, 0x00, 0x91, + 0xFF, 0xF7, 0x0C, 0xFD, 0x28, 0x4B, 0x03, 0x99, + 0x1B, 0x78, 0x28, 0x4A, 0x00, 0x2B, 0x15, 0xD1, + 0x13, 0x1C, 0x4A, 0x33, 0x00, 0x20, 0x1B, 0x5E, + 0x8E, 0x1B, 0x9E, 0x42, 0x05, 0xDC, 0x13, 0x1C, + 0x4C, 0x33, 0x00, 0x20, 0x1B, 0x5E, 0x9E, 0x42, + 0x08, 0xDA, 0x21, 0x48, 0x01, 0x23, 0x03, 0x70, + 0x20, 0x48, 0x03, 0x70, 0x20, 0x48, 0x03, 0x70, + 0x20, 0x48, 0x03, 0x70, 0x53, 0x78, 0x00, 0x2B, + 0x04, 0xD0, 0x1F, 0x4B, 0x5B, 0x5D, 0x59, 0x43, + 0x89, 0x11, 0x03, 0x91, 0x1D, 0x4B, 0x6A, 0x00, + 0xD0, 0x5A, 0x1D, 0x4B, 0x03, 0x99, 0xD4, 0x5E, + 0xC0, 0x08, 0x14, 0x4A, 0x89, 0xB2, 0x04, 0x1B, + 0x64, 0x1A, 0x56, 0x7C, 0x24, 0xB2, 0x19, 0x4B, + 0xB4, 0x42, 0x02, 0xDC, 0x76, 0x42, 0xB4, 0x42, + 0x02, 0xDA, 0x00, 0x24, 0x5C, 0x55, 0x05, 0xE0, + 0x5C, 0x5D, 0x96, 0x7C, 0xA6, 0x42, 0x01, 0xD0, + 0x01, 0x34, 0x5C, 0x55, 0x43, 0x1A, 0x9B, 0xB2, + 0x92, 0x7E, 0x19, 0xB2, 0x91, 0x42, 0x02, 0xDB, + 0x09, 0x4A, 0x01, 0x21, 0x11, 0x70, 0x0C, 0x4A, + 0x6D, 0x00, 0xAB, 0x52, 0x7F, 0xBD, 0xC0, 0x46, + 0xEB, 0x01, 0x00, 0x20, 0x8B, 0x59, 0x00, 0x00, + 0xE4, 0x01, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x48, 0x11, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, + 0x30, 0x11, 0x00, 0x20, 0xC4, 0x01, 0x00, 0x20, + 0x92, 0x7B, 0x00, 0x00, 0x14, 0x02, 0x00, 0x20, + 0x3C, 0x0D, 0x00, 0x20, 0xA4, 0x0A, 0x00, 0x20, + 0xF0, 0xB5, 0x48, 0x4B, 0x89, 0xB0, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, 0x46, 0x49, + 0xFF, 0xF7, 0xF4, 0xFC, 0x45, 0x4A, 0x00, 0x23, + 0x13, 0x70, 0x45, 0x4A, 0x0C, 0x20, 0x01, 0x38, + 0xC0, 0xB2, 0x81, 0x00, 0x8B, 0x50, 0x00, 0x28, + 0xF9, 0xD1, 0x42, 0x4B, 0x42, 0x4A, 0x18, 0x70, + 0x01, 0x23, 0x13, 0x70, 0x41, 0x4A, 0x13, 0x70, + 0x41, 0x4B, 0x19, 0x7E, 0x04, 0x91, 0xDA, 0x7D, + 0x05, 0x92, 0x1B, 0x7D, 0x06, 0x93, 0x0B, 0x1C, + 0x2D, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x5D, 0x1C, + 0x3C, 0x4C, 0xEA, 0x01, 0x12, 0x19, 0x16, 0x88, + 0x3B, 0x49, 0x5A, 0x00, 0x5C, 0x01, 0x56, 0x52, + 0xAD, 0x01, 0x05, 0x9A, 0x07, 0x94, 0x9C, 0x46, + 0x1A, 0xE0, 0x01, 0x3A, 0xD2, 0xB2, 0x93, 0x1C, + 0xEB, 0x18, 0x36, 0x4C, 0x5B, 0x00, 0x19, 0x5B, + 0x06, 0x9B, 0x00, 0x2B, 0x05, 0xD0, 0xD3, 0x1C, + 0xEB, 0x18, 0x5B, 0x00, 0x1B, 0x5B, 0xC9, 0x18, + 0x49, 0x10, 0x07, 0x9C, 0xA7, 0x18, 0x7B, 0x00, + 0x1C, 0x1C, 0x2F, 0x4B, 0xE1, 0x52, 0x2F, 0x4C, + 0x01, 0x23, 0x89, 0x1B, 0x3B, 0x55, 0x40, 0x18, + 0x00, 0x2A, 0xE2, 0xD1, 0x63, 0x46, 0x00, 0x2B, + 0xCF, 0xD1, 0x25, 0x4B, 0x04, 0x9C, 0xD9, 0x7D, + 0x61, 0x43, 0x01, 0xF0, 0xD5, 0xF8, 0x28, 0x4B, + 0x05, 0x1C, 0x58, 0x8C, 0x27, 0x4C, 0x00, 0x28, + 0x02, 0xD1, 0x40, 0x23, 0x23, 0x60, 0x07, 0xE0, + 0x80, 0x01, 0x29, 0x1C, 0x01, 0xF0, 0xC8, 0xF8, + 0x6E, 0x28, 0x00, 0xDD, 0x6E, 0x20, 0x20, 0x60, + 0x12, 0x4C, 0x23, 0x78, 0x00, 0x2B, 0x03, 0xD0, + 0x00, 0x20, 0x1F, 0x49, 0xFF, 0xF7, 0x8A, 0xFC, + 0x1B, 0x4B, 0x1E, 0x4A, 0x5B, 0x8C, 0x55, 0x80, + 0x13, 0x80, 0x23, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x00, 0x20, + 0x0B, 0x1C, 0xFF, 0xF7, 0x23, 0xFC, 0x18, 0x4B, + 0x18, 0x48, 0x1B, 0x78, 0x00, 0x22, 0x18, 0x49, + 0x04, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x5C, 0x00, + 0xC2, 0x54, 0x62, 0x52, 0x00, 0x2B, 0xF8, 0xD1, + 0x09, 0xB0, 0xF0, 0xBD, 0xEB, 0x01, 0x00, 0x20, + 0x91, 0x59, 0x00, 0x00, 0x1C, 0x03, 0x00, 0x20, + 0xBC, 0x11, 0x00, 0x20, 0xF4, 0x10, 0x00, 0x20, + 0x20, 0x09, 0x00, 0x20, 0x3C, 0x11, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0x02, 0x40, 0x00, 0x40, + 0x94, 0x11, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, + 0xF8, 0x03, 0x00, 0x20, 0xB3, 0x0A, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x78, 0x09, 0x00, 0x20, + 0x9A, 0x59, 0x00, 0x00, 0x54, 0x11, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0xA4, 0x0A, 0x00, 0x20, + 0x14, 0x02, 0x00, 0x20, 0xF0, 0xB5, 0xA0, 0x4A, + 0x00, 0x23, 0x13, 0x70, 0x9F, 0x4A, 0x85, 0xB0, + 0x13, 0x70, 0x9F, 0x4A, 0x13, 0x70, 0x9F, 0x4A, + 0x13, 0x70, 0x9F, 0x4B, 0x1B, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x01, 0x20, 0x9D, 0x49, 0xFF, 0xF7, + 0x31, 0xFC, 0x00, 0x24, 0x9C, 0x4D, 0x9A, 0x4E, + 0x11, 0xE0, 0x33, 0x78, 0x00, 0x2B, 0x0C, 0xD0, + 0xEB, 0x7D, 0x29, 0x7D, 0x99, 0x48, 0xC9, 0x18, + 0xE2, 0x01, 0x00, 0x23, 0x12, 0x18, 0x00, 0x93, + 0xC9, 0xB2, 0x01, 0x20, 0x02, 0x23, 0xFF, 0xF7, + 0xC5, 0xFB, 0x01, 0x34, 0xE4, 0xB2, 0x29, 0x7E, + 0x8C, 0x42, 0xEA, 0xD3, 0x92, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x00, 0xD1, 0x0D, 0xE1, 0x91, 0x4B, + 0x1A, 0x78, 0x00, 0x2A, 0x1F, 0xD1, 0x90, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x1B, 0xD0, 0xEB, 0x7D, + 0x8E, 0x4C, 0x07, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x5D, 0x01, 0x2D, 0x18, 0x2A, 0x55, 0x00, 0x2B, + 0xF8, 0xD1, 0x03, 0x1C, 0x58, 0x1E, 0xC0, 0xB2, + 0x00, 0x2B, 0x01, 0xD0, 0x0B, 0x1C, 0xF6, 0xE7, + 0x87, 0x4A, 0x86, 0x48, 0x12, 0x78, 0x49, 0x01, + 0x03, 0xE0, 0x01, 0x3A, 0xD2, 0xB2, 0x8C, 0x18, + 0x23, 0x54, 0x00, 0x2A, 0xF9, 0xD1, 0x80, 0x4B, + 0x7E, 0x4A, 0x19, 0x78, 0x1B, 0x78, 0x11, 0x70, + 0x00, 0x2B, 0x70, 0xD0, 0x78, 0x4B, 0x1A, 0x7E, + 0xD9, 0x7D, 0x02, 0x92, 0x1B, 0x7D, 0x03, 0x93, + 0x22, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x59, 0x1C, + 0x89, 0x01, 0xC8, 0x19, 0x79, 0x4C, 0x03, 0x9D, + 0x40, 0x00, 0x00, 0x5B, 0x00, 0x2D, 0x04, 0xD0, + 0x89, 0x19, 0x49, 0x00, 0x09, 0x5B, 0x40, 0x18, + 0x40, 0x10, 0x59, 0x01, 0x89, 0x18, 0x74, 0x4D, + 0x4C, 0x00, 0x65, 0x5B, 0x6F, 0x4C, 0xED, 0x08, + 0x0C, 0x5D, 0x28, 0x1A, 0x84, 0x42, 0x04, 0xDA, + 0xFF, 0x28, 0x00, 0xDD, 0xFF, 0x20, 0x6B, 0x4D, + 0x68, 0x54, 0x00, 0x2B, 0xDD, 0xD1, 0x11, 0x1C, + 0x4A, 0x1E, 0xD2, 0xB2, 0x00, 0x29, 0x03, 0xD0, + 0x02, 0x9B, 0x97, 0x1C, 0xD6, 0x1C, 0xF4, 0xE7, + 0x5F, 0x4A, 0x65, 0x4B, 0x17, 0x7E, 0x1B, 0x78, + 0x62, 0x49, 0x7F, 0x01, 0x10, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0x64, 0x4E, 0x5A, 0x00, 0x94, 0x5B, + 0xF8, 0x18, 0x45, 0x56, 0x26, 0xB2, 0x2A, 0x1C, + 0xB5, 0x42, 0x00, 0xDA, 0x22, 0x1C, 0x12, 0xB2, + 0xFF, 0x2A, 0x00, 0xDD, 0xFF, 0x22, 0x42, 0x54, + 0x00, 0x2B, 0xEC, 0xD1, 0x50, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x03, 0x20, 0x5A, 0x49, + 0xFF, 0xF7, 0x94, 0xFB, 0x00, 0x24, 0x4E, 0x4D, + 0x4B, 0x4E, 0x0E, 0xE0, 0x33, 0x78, 0x00, 0x2B, + 0x09, 0xD0, 0x50, 0x4B, 0x62, 0x01, 0xD2, 0x18, + 0x00, 0x23, 0xE9, 0x7D, 0x03, 0x20, 0x00, 0x93, + 0x01, 0x23, 0xFF, 0xF7, 0x2B, 0xFB, 0x01, 0x34, + 0xE4, 0xB2, 0x2B, 0x7E, 0xA3, 0x42, 0xED, 0xD8, + 0x40, 0x4A, 0x01, 0x23, 0x13, 0x70, 0x3D, 0x4A, + 0x13, 0x70, 0x3B, 0x4A, 0x13, 0x70, 0x3E, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x6D, 0xD0, 0x49, 0x4B, + 0x1B, 0x68, 0x58, 0x02, 0x69, 0xD5, 0x3C, 0x4A, + 0x80, 0x24, 0x16, 0x7D, 0x13, 0x7E, 0xD2, 0x7D, + 0x45, 0x4D, 0xB6, 0x18, 0xF6, 0xB2, 0x24, 0x06, + 0xB4, 0x46, 0x18, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x42, 0x49, 0x5A, 0x00, 0x5F, 0x1C, 0x56, 0x5A, + 0xBF, 0x01, 0x62, 0x46, 0x0D, 0xE0, 0x01, 0x3A, + 0xD2, 0xB2, 0x91, 0x1C, 0x79, 0x18, 0x37, 0x48, + 0x49, 0x00, 0x09, 0x5A, 0x89, 0x1B, 0x8C, 0x42, + 0x00, 0xDA, 0x0C, 0x1C, 0x8D, 0x42, 0x00, 0xDD, + 0x0D, 0x1C, 0x00, 0x2A, 0xEF, 0xD1, 0x00, 0x2B, + 0xE4, 0xD1, 0x16, 0x20, 0x36, 0x49, 0xFF, 0xF7, + 0x45, 0xFB, 0x25, 0x4B, 0x35, 0x4A, 0x1B, 0x78, + 0x14, 0x80, 0x55, 0x80, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x02, 0x21, 0x00, 0x93, 0x16, 0x20, + 0x0B, 0x1C, 0xFF, 0xF7, 0xDF, 0xFA, 0x26, 0x4B, + 0x80, 0x20, 0x1B, 0x78, 0x2A, 0x49, 0x00, 0x06, + 0x2D, 0x4E, 0x2E, 0x4D, 0x19, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0xF7, 0x5C, 0x7A, 0x1C, 0x94, 0x46, + 0x64, 0x46, 0xEA, 0x5C, 0xA4, 0x01, 0xA4, 0x46, + 0x02, 0x32, 0x62, 0x44, 0x1D, 0x4C, 0x52, 0x00, + 0x12, 0x5B, 0x22, 0x4C, 0x7F, 0x00, 0x94, 0x46, + 0x3A, 0x5B, 0x64, 0x46, 0xA2, 0x1A, 0x90, 0x42, + 0x00, 0xDA, 0x10, 0x1C, 0x91, 0x42, 0x00, 0xDD, + 0x11, 0x1C, 0x00, 0x2B, 0xE3, 0xD1, 0x0C, 0x4B, + 0x1C, 0x4A, 0x1B, 0x78, 0x10, 0x80, 0x51, 0x80, + 0x00, 0x2B, 0x06, 0xD0, 0x01, 0x23, 0x02, 0x21, + 0x00, 0x93, 0x16, 0x20, 0x0B, 0x1C, 0xFF, 0xF7, + 0xAD, 0xFA, 0x05, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0xAC, 0x09, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, + 0x30, 0x11, 0x00, 0x20, 0x48, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0xAB, 0x59, 0x00, 0x00, + 0xAE, 0x09, 0x00, 0x20, 0x84, 0x40, 0x00, 0x40, + 0x1C, 0x03, 0x00, 0x20, 0xE1, 0x01, 0x00, 0x20, + 0xE3, 0x01, 0x00, 0x20, 0x64, 0x0E, 0x00, 0x20, + 0x7C, 0x09, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, + 0xF8, 0x03, 0x00, 0x20, 0x3C, 0x0D, 0x00, 0x20, + 0xAF, 0x59, 0x00, 0x00, 0x58, 0x00, 0x00, 0x20, + 0xFF, 0xFF, 0xFF, 0x7F, 0x94, 0x11, 0x00, 0x20, + 0xB5, 0x59, 0x00, 0x00, 0x54, 0x11, 0x00, 0x20, + 0x30, 0x75, 0x00, 0x00, 0x2A, 0x75, 0x00, 0x00, + 0xF0, 0xB5, 0xB3, 0x4B, 0xA5, 0xB0, 0x1B, 0x78, + 0x00, 0x2B, 0x00, 0xD0, 0x01, 0xE2, 0xB1, 0x4A, + 0xB1, 0x4C, 0x12, 0x78, 0xB1, 0x4D, 0xB2, 0x4E, + 0x64, 0x7C, 0x52, 0xB2, 0x6B, 0x60, 0x2B, 0x60, + 0x6B, 0x82, 0x6B, 0x81, 0x2B, 0x82, 0x2B, 0x81, + 0x33, 0x60, 0xB3, 0x60, 0x1B, 0x92, 0xAD, 0x4F, + 0xFF, 0x22, 0xAD, 0x4B, 0x72, 0x60, 0xF2, 0x60, + 0x11, 0x94, 0x3F, 0x7E, 0x1B, 0x78, 0xA9, 0x4C, + 0x09, 0x97, 0x0B, 0x93, 0xE4, 0x7D, 0xA4, 0x4D, + 0x08, 0x94, 0x46, 0x23, 0xED, 0x5E, 0xA2, 0x4F, + 0x0E, 0x95, 0x48, 0x23, 0xFF, 0x5E, 0xA3, 0x4C, + 0x0F, 0x97, 0x24, 0x7D, 0x2D, 0x23, 0x0C, 0x94, + 0x9D, 0x4D, 0xA2, 0x4E, 0x11, 0x9F, 0x6D, 0x78, + 0x36, 0x68, 0x7F, 0x42, 0x9A, 0x4C, 0x0D, 0x95, + 0x12, 0x96, 0x1D, 0x97, 0xA4, 0x7C, 0x98, 0x4D, + 0x22, 0x94, 0xEB, 0x5C, 0x1B, 0x9E, 0x13, 0x93, + 0x10, 0x23, 0x9B, 0x1B, 0x1E, 0x93, 0x18, 0x27, + 0xEF, 0x57, 0x1C, 0x20, 0x14, 0x97, 0x28, 0x56, + 0x19, 0x21, 0x18, 0x90, 0x69, 0x56, 0x00, 0x23, + 0x00, 0x22, 0x00, 0x24, 0x23, 0x91, 0x05, 0x93, + 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0xFF, 0x20, + 0x00, 0x21, 0xFF, 0x23, 0x06, 0x92, 0x17, 0x94, + 0x10, 0x95, 0x1A, 0x96, 0x15, 0x97, 0x19, 0x90, + 0x21, 0x91, 0x1F, 0x92, 0x16, 0x93, 0x1C, 0x94, + 0x09, 0x9C, 0x00, 0x2C, 0x00, 0xD1, 0x27, 0xE1, + 0x09, 0x9B, 0x89, 0x4D, 0x01, 0x3B, 0xDB, 0xB2, + 0x09, 0x93, 0x5B, 0x00, 0x5B, 0x5B, 0x08, 0x9E, + 0x0A, 0x93, 0x00, 0x2E, 0xF0, 0xD0, 0x09, 0x9F, + 0x84, 0x48, 0x01, 0x37, 0xFB, 0x01, 0x1B, 0x18, + 0x1B, 0x88, 0x0A, 0x99, 0x0E, 0x9C, 0x5A, 0x1A, + 0x94, 0x42, 0x00, 0xDA, 0x92, 0xE1, 0x0F, 0x9D, + 0x95, 0x42, 0x00, 0xDD, 0x8B, 0xE1, 0x09, 0x9E, + 0xBF, 0x01, 0x01, 0x21, 0x02, 0x25, 0x00, 0x22, + 0x70, 0x01, 0x03, 0x97, 0x2C, 0xE0, 0x7A, 0x4D, + 0x84, 0x18, 0x64, 0x00, 0x6E, 0x46, 0x18, 0x27, + 0x2C, 0x5B, 0xBD, 0x5F, 0xE4, 0x1A, 0xAC, 0x42, + 0x01, 0xDD, 0xA7, 0xB2, 0x06, 0x97, 0x6E, 0x46, + 0x14, 0x27, 0xBD, 0x5F, 0xAC, 0x42, 0x01, 0xDA, + 0xA4, 0xB2, 0x05, 0x94, 0x82, 0x18, 0x70, 0x4F, + 0x52, 0x00, 0xBB, 0x52, 0x08, 0x9A, 0xCB, 0xB2, + 0x9A, 0x42, 0xBD, 0xD9, 0x03, 0x9A, 0x8D, 0x1C, + 0x53, 0x19, 0x6C, 0x4C, 0x5B, 0x00, 0x1B, 0x5B, + 0x0A, 0x9E, 0x0E, 0x9F, 0x0A, 0x1C, 0x9C, 0x1B, + 0xBC, 0x42, 0x00, 0xDD, 0x38, 0xE1, 0x0F, 0x9E, + 0x01, 0x31, 0xB4, 0x42, 0x00, 0xDA, 0xD1, 0xE0, + 0x0C, 0x9F, 0x00, 0x2F, 0x07, 0xD0, 0x03, 0x9E, + 0xD4, 0x1C, 0x34, 0x19, 0x61, 0x4F, 0x64, 0x00, + 0xE4, 0x5B, 0xE3, 0x18, 0x5B, 0x10, 0x0D, 0x9C, + 0x00, 0x2C, 0x06, 0xD0, 0x5E, 0x4E, 0x84, 0x18, + 0xA4, 0x5D, 0x12, 0x9F, 0x63, 0x43, 0x7B, 0x43, + 0x1B, 0x13, 0x0B, 0x9C, 0x00, 0x2C, 0xBA, 0xD0, + 0x86, 0x18, 0x57, 0x4F, 0x74, 0x00, 0x3F, 0x5B, + 0xBC, 0x46, 0x58, 0x4F, 0xBC, 0x57, 0x66, 0x46, + 0xF6, 0x08, 0x34, 0x1B, 0x07, 0x94, 0x6F, 0x46, + 0x18, 0x24, 0x04, 0x96, 0xE7, 0x5F, 0x07, 0x9E, + 0xF4, 0x1A, 0xBC, 0x42, 0x01, 0xDD, 0xA7, 0xB2, + 0x06, 0x97, 0x6E, 0x46, 0x14, 0x27, 0xBE, 0x5F, + 0xB4, 0x42, 0x01, 0xDA, 0xA6, 0xB2, 0x05, 0x96, + 0x11, 0x9F, 0xBC, 0x42, 0x5D, 0xDD, 0x84, 0x18, + 0xA4, 0x46, 0x4B, 0x4C, 0x00, 0x27, 0x66, 0x46, + 0x37, 0x55, 0x04, 0x9F, 0x13, 0x9E, 0xFC, 0x1A, + 0x00, 0x2E, 0x08, 0xD0, 0x1B, 0x9F, 0x07, 0x9C, + 0x1E, 0x9E, 0x7B, 0x43, 0x74, 0x43, 0x04, 0x9F, + 0x1C, 0x19, 0x24, 0x11, 0x3C, 0x1B, 0x23, 0x1C, + 0x7F, 0x33, 0x17, 0xDA, 0x3F, 0x4E, 0x82, 0x18, + 0x80, 0x23, 0xB3, 0x54, 0x23, 0x9A, 0x21, 0x9E, + 0xA3, 0x1A, 0xF6, 0x18, 0x21, 0x96, 0x1F, 0xAF, + 0x00, 0x23, 0xFB, 0x5E, 0x9C, 0x42, 0x01, 0xDC, + 0xA4, 0xB2, 0x1F, 0x94, 0x03, 0x9A, 0x35, 0x4C, + 0x55, 0x19, 0x6D, 0x00, 0x00, 0x27, 0x2B, 0x5B, + 0x2F, 0x53, 0x83, 0xE7, 0x83, 0x18, 0x7E, 0x2C, + 0x36, 0xDD, 0x32, 0x4E, 0x7F, 0x27, 0xF7, 0x54, + 0x14, 0x9F, 0xBC, 0x42, 0x03, 0xDB, 0x17, 0x9E, + 0xE3, 0x1B, 0xF6, 0x18, 0x17, 0x96, 0x10, 0xAF, + 0x00, 0x23, 0xFB, 0x5E, 0x9C, 0x42, 0x24, 0xDC, + 0xA3, 0xB2, 0x18, 0x9E, 0xB4, 0x42, 0x11, 0xDB, + 0x1A, 0x9F, 0x09, 0x9C, 0xA7, 0x42, 0x00, 0xDA, + 0x1A, 0x94, 0x16, 0x9E, 0x09, 0x9C, 0xA6, 0x42, + 0x00, 0xDD, 0x16, 0x94, 0x15, 0x9E, 0x96, 0x42, + 0x00, 0xDA, 0x15, 0x92, 0x19, 0x9F, 0xBA, 0x42, + 0x00, 0xDA, 0x19, 0x92, 0x03, 0x9A, 0x1D, 0x4C, + 0x55, 0x19, 0x6D, 0x00, 0x2A, 0x5B, 0x2B, 0x53, + 0x54, 0xE7, 0x1D, 0x9E, 0x87, 0x18, 0xB4, 0x42, + 0x0E, 0xDA, 0x1B, 0x4C, 0x00, 0x26, 0x3E, 0x55, + 0x9F, 0xE7, 0xA3, 0xB2, 0x10, 0x93, 0xD8, 0xE7, + 0x16, 0x4E, 0xF4, 0x54, 0x00, 0x2C, 0xC7, 0xDA, + 0x23, 0x9F, 0xBC, 0x42, 0xAF, 0xDC, 0xA9, 0xE7, + 0x13, 0x4E, 0x20, 0x97, 0xBC, 0x5D, 0x22, 0x9E, + 0x67, 0xB2, 0xB7, 0x42, 0x8D, 0xD0, 0x20, 0x9F, + 0x0F, 0x4E, 0x01, 0x34, 0xBC, 0x55, 0x88, 0xE7, + 0xAC, 0x09, 0x00, 0x20, 0x4C, 0x00, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x70, 0x01, 0x00, 0x20, + 0xE4, 0x10, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x1C, 0x03, 0x00, 0x20, 0x78, 0x09, 0x00, 0x20, + 0x94, 0x11, 0x00, 0x20, 0x04, 0x40, 0x00, 0x40, + 0xF8, 0x03, 0x00, 0x20, 0x00, 0x40, 0x00, 0x40, + 0x12, 0x79, 0x00, 0x00, 0x64, 0x0E, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0x09, 0x9C, 0x01, 0x27, + 0x1C, 0x97, 0x00, 0x2C, 0x00, 0xD0, 0xD7, 0xE6, + 0x6D, 0x46, 0x6F, 0x46, 0x18, 0x26, 0x14, 0x20, + 0x76, 0x5B, 0xC0, 0x5B, 0x41, 0x4D, 0x17, 0x99, + 0x10, 0xAC, 0x2F, 0x1C, 0x2E, 0x82, 0x68, 0x82, + 0x29, 0x60, 0x25, 0x88, 0x21, 0x9B, 0x3C, 0x1C, + 0x3D, 0x81, 0x1A, 0x9E, 0x3C, 0x4F, 0x63, 0x60, + 0x1F, 0xAC, 0x25, 0x88, 0xBE, 0x60, 0x16, 0x98, + 0x15, 0x99, 0x19, 0x9A, 0x37, 0x4C, 0x0B, 0x9E, + 0xF8, 0x60, 0x39, 0x60, 0x7A, 0x60, 0x65, 0x81, + 0x00, 0x2E, 0x24, 0xD0, 0x35, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x34, 0x4B, 0x1B, 0x68, + 0x00, 0x2B, 0x1C, 0xDD, 0x33, 0x4C, 0x23, 0x78, + 0x00, 0x2B, 0x56, 0xD1, 0x32, 0x4F, 0x3B, 0x7E, + 0x00, 0x2B, 0x14, 0xD0, 0x31, 0x4D, 0x09, 0x9F, + 0x01, 0x26, 0x23, 0x78, 0x00, 0x2B, 0x08, 0xD0, + 0x2D, 0x48, 0x7A, 0x01, 0xC1, 0x7D, 0x52, 0x19, + 0x03, 0x20, 0x01, 0x23, 0x00, 0x96, 0xFF, 0xF7, + 0xAD, 0xF8, 0x29, 0x49, 0x01, 0x37, 0x0B, 0x7E, + 0xFF, 0xB2, 0xBB, 0x42, 0xED, 0xD8, 0x26, 0x4C, + 0x23, 0x7D, 0x00, 0x2B, 0x13, 0xD0, 0x22, 0x7E, + 0xE4, 0x7D, 0x01, 0x3A, 0x24, 0x49, 0xD2, 0xB2, + 0x02, 0x34, 0x00, 0x20, 0x53, 0x1C, 0x9B, 0x01, + 0x1B, 0x19, 0x5B, 0x00, 0x01, 0x3A, 0x5D, 0x5A, + 0xD2, 0xB2, 0x5D, 0x5A, 0x58, 0x52, 0xF5, 0xE7, + 0x01, 0x26, 0x1C, 0x96, 0x74, 0xE6, 0x1D, 0x4D, + 0x1D, 0x4E, 0xAB, 0x7E, 0x32, 0x68, 0x13, 0x4F, + 0x53, 0x43, 0x08, 0x21, 0x79, 0x5E, 0x1B, 0x48, + 0x9B, 0x11, 0x1B, 0x4A, 0xCD, 0x17, 0xDC, 0x0F, + 0x00, 0x78, 0x99, 0x42, 0x65, 0x41, 0x15, 0x70, + 0x00, 0x28, 0x0A, 0xD1, 0x1C, 0x9C, 0x00, 0x2C, + 0x07, 0xD0, 0x01, 0x23, 0x13, 0x70, 0x15, 0x4A, + 0x15, 0x49, 0x13, 0x70, 0x15, 0x4A, 0x0B, 0x70, + 0x13, 0x70, 0x25, 0xB0, 0xF0, 0xBD, 0x01, 0x25, + 0x1C, 0x95, 0x51, 0xE6, 0x01, 0x24, 0x1C, 0x94, + 0x4E, 0xE6, 0x03, 0x20, 0x10, 0x49, 0xFF, 0xF7, + 0xBD, 0xF8, 0xA3, 0xE7, 0x70, 0x01, 0x00, 0x20, + 0xE4, 0x10, 0x00, 0x20, 0xDE, 0x01, 0x00, 0x20, + 0x20, 0x01, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0x64, 0x0E, 0x00, 0x20, + 0x00, 0x40, 0x00, 0x40, 0x48, 0x0D, 0x00, 0x20, + 0x78, 0x09, 0x00, 0x20, 0xE4, 0x01, 0x00, 0x20, + 0x14, 0x09, 0x00, 0x20, 0x30, 0x11, 0x00, 0x20, + 0x48, 0x11, 0x00, 0x20, 0xC4, 0x01, 0x00, 0x20, + 0xF0, 0x59, 0x00, 0x00, 0xF0, 0xB5, 0x2F, 0x4B, + 0x85, 0xB0, 0x1C, 0x78, 0x2E, 0x4D, 0x2F, 0x4E, + 0x10, 0xE0, 0x01, 0x3C, 0xE4, 0xB2, 0x2B, 0x57, + 0x32, 0x57, 0x59, 0x1C, 0x02, 0x32, 0x89, 0x01, + 0x89, 0x18, 0x2B, 0x4A, 0x49, 0x00, 0x88, 0x5A, + 0x2A, 0x4A, 0x5B, 0x00, 0x9A, 0x5A, 0x21, 0x1C, + 0xFF, 0xF7, 0x0A, 0xFB, 0x00, 0x2C, 0xEC, 0xD1, + 0x27, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x08, 0xD0, + 0x20, 0x4B, 0x03, 0x20, 0x19, 0x78, 0x01, 0x23, + 0x00, 0x93, 0x24, 0x4A, 0x02, 0x23, 0xFF, 0xF7, + 0x1D, 0xF8, 0x23, 0x4B, 0x1E, 0x49, 0x18, 0x78, + 0x9A, 0x78, 0x84, 0x1C, 0x03, 0x92, 0xDE, 0x78, + 0x00, 0x23, 0x02, 0x94, 0x0D, 0xE0, 0xA4, 0x01, + 0xE4, 0x19, 0x64, 0x00, 0x65, 0x5A, 0x00, 0x25, + 0x65, 0x52, 0x01, 0x32, 0x02, 0xE0, 0x02, 0x9C, + 0x00, 0x22, 0xE7, 0x18, 0xB4, 0x1A, 0xF2, 0xD1, + 0x01, 0x33, 0x03, 0x9D, 0x1A, 0x18, 0xAA, 0x42, + 0xF5, 0xDB, 0x15, 0x4B, 0x10, 0x49, 0x58, 0x78, + 0xDE, 0x78, 0x42, 0x1C, 0x01, 0x23, 0x5B, 0x42, + 0x02, 0x92, 0x00, 0x22, 0x9F, 0x1C, 0x08, 0xE0, + 0x02, 0x9D, 0xAC, 0x18, 0xA4, 0x01, 0xE4, 0x19, + 0x64, 0x00, 0x65, 0x5A, 0x00, 0x25, 0x65, 0x52, + 0x01, 0x32, 0x14, 0x18, 0xB4, 0x42, 0xF3, 0xDB, + 0x03, 0x9A, 0x01, 0x33, 0x93, 0x42, 0xEC, 0xDB, + 0x05, 0xB0, 0xF0, 0xBD, 0x7C, 0x09, 0x00, 0x20, + 0x30, 0x75, 0x00, 0x00, 0x2A, 0x75, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x40, 0x94, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x3C, 0x0D, 0x00, 0x20, + 0x0A, 0x03, 0x00, 0x20, 0x30, 0xB5, 0x0C, 0x4B, + 0x0C, 0x4C, 0xDB, 0x78, 0x0C, 0x49, 0x10, 0xE0, + 0x01, 0x3B, 0xDB, 0xB2, 0x5A, 0x1C, 0x0B, 0x4D, + 0xD2, 0x01, 0x52, 0x19, 0x45, 0x1C, 0x03, 0xD1, + 0x15, 0x88, 0x5A, 0x00, 0x55, 0x52, 0x04, 0xE0, + 0x15, 0x88, 0x5A, 0x01, 0x12, 0x18, 0x52, 0x00, + 0x15, 0x53, 0x00, 0x2B, 0xEC, 0xD1, 0x30, 0xBD, + 0x0A, 0x03, 0x00, 0x20, 0xF8, 0x03, 0x00, 0x20, + 0x94, 0x11, 0x00, 0x20, 0x02, 0x40, 0x00, 0x40, + 0xF0, 0xB5, 0x8D, 0xB0, 0x0A, 0x91, 0x0B, 0x92, + 0x63, 0x4B, 0x41, 0x1C, 0x0C, 0xD1, 0x63, 0x4A, + 0x63, 0x49, 0x12, 0x7E, 0x01, 0x3A, 0x03, 0x92, + 0xDA, 0x78, 0x5E, 0x78, 0x54, 0x00, 0x00, 0x23, + 0x55, 0x1C, 0x64, 0x18, 0x94, 0x46, 0x0E, 0xE0, + 0xDC, 0x7B, 0x5A, 0x79, 0xA2, 0x18, 0x01, 0x3A, + 0x10, 0xE0, 0x5C, 0x4A, 0xE9, 0x18, 0xC9, 0x01, + 0x89, 0x18, 0x0A, 0x88, 0x5F, 0x00, 0xE2, 0x53, + 0x0A, 0x88, 0x00, 0x22, 0x0A, 0x80, 0x01, 0x3B, + 0x67, 0x46, 0xDA, 0x19, 0xB2, 0x42, 0xF0, 0xDA, + 0x03, 0x9A, 0x00, 0x24, 0x56, 0x01, 0x54, 0x4D, + 0x36, 0x18, 0x00, 0x23, 0x76, 0x00, 0x11, 0x1C, + 0x08, 0x93, 0x07, 0x93, 0x06, 0x93, 0x05, 0x93, + 0x03, 0x95, 0x09, 0x96, 0xA4, 0x46, 0x55, 0xE0, + 0x44, 0x1C, 0x04, 0xD1, 0x4A, 0x4C, 0x56, 0x00, + 0x34, 0x19, 0xE4, 0x5A, 0x04, 0xE0, 0x4B, 0x4C, + 0x09, 0x9F, 0x3E, 0x19, 0x5C, 0x01, 0x34, 0x5B, + 0x4E, 0x1C, 0x46, 0x4F, 0x04, 0x96, 0xF6, 0x01, + 0xF6, 0x19, 0x37, 0x88, 0x24, 0xB2, 0x3E, 0xB2, + 0x45, 0x4F, 0xA6, 0x1B, 0x54, 0x00, 0xE7, 0x19, + 0xF4, 0x17, 0xFE, 0x52, 0x36, 0x19, 0x66, 0x40, + 0x0F, 0x1C, 0x01, 0x24, 0xA7, 0x43, 0xB9, 0x42, + 0x09, 0xD1, 0x07, 0x9C, 0xA4, 0x19, 0x07, 0x94, + 0xB5, 0x42, 0x00, 0xDD, 0x35, 0x1C, 0x06, 0x9F, + 0xB7, 0x42, 0x0B, 0xDB, 0x0D, 0xE0, 0x08, 0x9C, + 0x03, 0x9F, 0xA4, 0x19, 0x08, 0x94, 0xB7, 0x42, + 0x00, 0xDD, 0x03, 0x96, 0x05, 0x9C, 0xB4, 0x42, + 0x02, 0xDB, 0x02, 0xE0, 0x06, 0x96, 0x00, 0xE0, + 0x05, 0x96, 0x04, 0x9E, 0xF4, 0x01, 0x2F, 0x4E, + 0xA4, 0x19, 0x47, 0x1C, 0x0E, 0xD1, 0x27, 0x88, + 0x2B, 0x4E, 0x04, 0x97, 0x57, 0x00, 0xBE, 0x19, + 0x02, 0x96, 0x10, 0x27, 0x6E, 0x46, 0xBF, 0x5B, + 0x02, 0x9E, 0xF7, 0x52, 0x26, 0x88, 0x00, 0x26, + 0x26, 0x80, 0x05, 0xE0, 0x27, 0x88, 0x27, 0x4E, + 0x09, 0x9C, 0xA6, 0x19, 0x5C, 0x01, 0x37, 0x53, + 0x01, 0x39, 0x02, 0x3B, 0x61, 0x45, 0xA7, 0xDA, + 0x01, 0x30, 0x13, 0xD1, 0x23, 0x4C, 0x23, 0x78, + 0x00, 0x2B, 0x03, 0xD0, 0x01, 0x20, 0x22, 0x49, + 0xFE, 0xF7, 0x70, 0xFF, 0x23, 0x78, 0x00, 0x2B, + 0x08, 0xD0, 0x17, 0x4B, 0x01, 0x20, 0xD9, 0x78, + 0x00, 0x23, 0x00, 0x93, 0x16, 0x4A, 0x02, 0x23, + 0xFE, 0xF7, 0x0C, 0xFF, 0x07, 0x9E, 0x08, 0x9F, + 0x0A, 0x9C, 0xF3, 0x19, 0x23, 0x60, 0x05, 0x9E, + 0x03, 0x9F, 0x06, 0x9C, 0xF3, 0x1B, 0x65, 0x1B, + 0x9D, 0x42, 0x00, 0xDA, 0x1D, 0x1C, 0x0B, 0x9E, + 0x12, 0x4C, 0x35, 0x60, 0x23, 0x78, 0x00, 0x2B, + 0x03, 0xD0, 0x0B, 0x20, 0x11, 0x49, 0xFE, 0xF7, + 0x4D, 0xFF, 0x23, 0x78, 0x00, 0x2B, 0x08, 0xD0, + 0x06, 0x4B, 0x0B, 0x20, 0x19, 0x7E, 0x01, 0x23, + 0x00, 0x93, 0x09, 0x4A, 0x02, 0x23, 0xFE, 0xF7, + 0xE9, 0xFE, 0x0D, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, + 0x0A, 0x03, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x94, 0x11, 0x00, 0x20, 0x02, 0x40, 0x00, 0x40, + 0xFF, 0xFF, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x20, + 0x54, 0x11, 0x00, 0x20, 0xEB, 0x01, 0x00, 0x20, + 0xC6, 0x59, 0x00, 0x00, 0xCD, 0x59, 0x00, 0x00, + 0xF0, 0xB5, 0xA6, 0x4B, 0x85, 0xB0, 0x1D, 0x78, + 0x00, 0x2D, 0x29, 0xD0, 0xA4, 0x4B, 0xA5, 0x4C, + 0x18, 0x78, 0xA5, 0x4B, 0x46, 0xB2, 0x19, 0x68, + 0x5B, 0x68, 0xB2, 0x00, 0xCB, 0x18, 0x13, 0x51, + 0x82, 0x1D, 0xD2, 0xB2, 0x00, 0x25, 0x06, 0x23, + 0x01, 0x3B, 0xDB, 0xB2, 0xF1, 0x1A, 0x00, 0xD5, + 0x0C, 0x31, 0x89, 0x00, 0x09, 0x59, 0x6D, 0x18, + 0x11, 0x1C, 0x0B, 0x2A, 0x01, 0xD9, 0x0C, 0x39, + 0xC9, 0xB2, 0x89, 0x00, 0x61, 0x58, 0x01, 0x3A, + 0x6D, 0x1A, 0xD2, 0xB2, 0x00, 0x2B, 0xEB, 0xD1, + 0x01, 0x30, 0x93, 0x4A, 0xC0, 0xB2, 0x10, 0x70, + 0x40, 0xB2, 0x0B, 0x28, 0x00, 0xDD, 0x13, 0x70, + 0x92, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x00, 0xD0, + 0x15, 0xE1, 0x91, 0x4B, 0x14, 0x21, 0x5B, 0x5E, + 0x9D, 0x42, 0x02, 0xDA, 0x8F, 0x4B, 0x01, 0x22, + 0x1A, 0x70, 0x8B, 0x4B, 0x10, 0x22, 0x9E, 0x5E, + 0x12, 0x24, 0x1B, 0x5F, 0xF6, 0x1A, 0x85, 0x4B, + 0x18, 0x78, 0x00, 0x28, 0x16, 0xD1, 0x8A, 0x4B, + 0x8A, 0x4F, 0x1B, 0x68, 0x8A, 0x4C, 0xBB, 0x80, + 0x23, 0x78, 0x3E, 0x80, 0x00, 0x2B, 0x02, 0xD0, + 0x88, 0x49, 0xFE, 0xF7, 0xD7, 0xFE, 0x23, 0x78, + 0x00, 0x2B, 0x07, 0xD0, 0x01, 0x23, 0x02, 0x21, + 0x00, 0x93, 0x00, 0x20, 0x3A, 0x1C, 0x0B, 0x1C, + 0xFE, 0xF7, 0x74, 0xFE, 0x7C, 0x4B, 0x9A, 0x7D, + 0x96, 0x42, 0x07, 0xDC, 0x80, 0x4B, 0x1A, 0x78, + 0x51, 0xB2, 0x02, 0x29, 0x08, 0xDC, 0x01, 0x32, + 0x1A, 0x70, 0x05, 0xE0, 0xDB, 0x7D, 0x9E, 0x42, + 0x02, 0xDB, 0x7B, 0x4B, 0x00, 0x22, 0x1A, 0x70, + 0x71, 0x4B, 0x76, 0x4A, 0x59, 0x68, 0x1B, 0x68, + 0x15, 0x80, 0xCB, 0x18, 0x53, 0x80, 0x74, 0x4B, + 0x96, 0x80, 0x1B, 0x78, 0x00, 0x2B, 0x06, 0xD0, + 0x01, 0x23, 0x00, 0x93, 0x19, 0x20, 0x03, 0x21, + 0x02, 0x23, 0xFE, 0xF7, 0x4F, 0xFE, 0x6B, 0x4B, + 0x64, 0x4C, 0x1B, 0x78, 0x00, 0x2B, 0x61, 0xD0, + 0x6B, 0x4D, 0x2B, 0x78, 0x00, 0x2B, 0x03, 0xD0, + 0x19, 0x20, 0x6C, 0x49, 0xFE, 0xF7, 0x9A, 0xFE, + 0x69, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x05, 0xD1, + 0x22, 0x78, 0x00, 0x2A, 0x52, 0xD0, 0x61, 0x4A, + 0x13, 0x70, 0x4F, 0xE0, 0x03, 0x2B, 0x4D, 0xD1, + 0x2B, 0x78, 0x00, 0x2B, 0x03, 0xD0, 0x00, 0x20, + 0x63, 0x49, 0xFE, 0xF7, 0x87, 0xFE, 0x55, 0x4B, + 0x62, 0x4A, 0x19, 0x78, 0x00, 0x29, 0x1A, 0xD1, + 0x01, 0x20, 0x18, 0x70, 0x13, 0x7E, 0xD6, 0x7D, + 0x5F, 0x4D, 0x60, 0x4A, 0x0B, 0xE0, 0x01, 0x3B, + 0xDB, 0xB2, 0xF8, 0x18, 0x44, 0x00, 0xA1, 0x5A, + 0xC9, 0x00, 0xA1, 0x52, 0x00, 0x21, 0x41, 0x55, + 0x00, 0x2B, 0xF4, 0xD1, 0x63, 0x46, 0x59, 0x1E, + 0xC9, 0xB2, 0x00, 0x2B, 0x23, 0xD0, 0x33, 0x1C, + 0x4F, 0x01, 0x8C, 0x46, 0xF4, 0xE7, 0x13, 0x7E, + 0xD6, 0x7D, 0x54, 0x4A, 0x0E, 0xE0, 0x01, 0x3B, + 0x51, 0x4D, 0xDB, 0xB2, 0xFC, 0x18, 0x60, 0x00, + 0x64, 0x57, 0xE4, 0x00, 0x02, 0x94, 0x84, 0x5A, + 0x02, 0x9D, 0x64, 0x1B, 0x84, 0x52, 0x00, 0x2B, + 0xF1, 0xD1, 0x0B, 0x1C, 0x59, 0x1E, 0xC9, 0xB2, + 0x00, 0x2B, 0x02, 0xD0, 0x33, 0x1C, 0x4F, 0x01, + 0xF5, 0xE7, 0x3A, 0x4A, 0x11, 0x1C, 0x30, 0x31, + 0x08, 0xC2, 0x8A, 0x42, 0xFC, 0xD1, 0x3B, 0x4B, + 0x00, 0x22, 0x1A, 0x70, 0x44, 0x4B, 0x01, 0x22, + 0x1A, 0x70, 0x60, 0xE0, 0x22, 0x78, 0x43, 0x4B, + 0x00, 0x2A, 0x06, 0xD1, 0x40, 0x4A, 0x01, 0x21, + 0x11, 0x70, 0x1A, 0x68, 0x52, 0x18, 0x1A, 0x60, + 0x55, 0xE0, 0x00, 0x22, 0x1A, 0x60, 0x39, 0x4B, + 0x3D, 0x48, 0x1C, 0x7E, 0xDB, 0x7D, 0x39, 0x49, + 0x02, 0x93, 0x2D, 0x4B, 0x9B, 0x7C, 0x03, 0x93, + 0x11, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0xF2, 0x18, + 0x14, 0x56, 0x03, 0x9D, 0xAC, 0x42, 0x07, 0xD1, + 0x31, 0x4D, 0x54, 0x00, 0x57, 0x57, 0x65, 0x5A, + 0xEF, 0x1B, 0x67, 0x52, 0x00, 0x24, 0x14, 0x54, + 0x00, 0x2B, 0xEE, 0xD1, 0x64, 0x46, 0x65, 0x1E, + 0xED, 0xB2, 0x00, 0x2C, 0x03, 0xD0, 0x02, 0x9B, + 0x6E, 0x01, 0xAC, 0x46, 0xF4, 0xE7, 0x2D, 0x4B, + 0x1B, 0x68, 0x5D, 0x07, 0x2B, 0xD5, 0x20, 0x4B, + 0x1B, 0x78, 0x00, 0x2B, 0x22, 0xD0, 0x02, 0x20, + 0x29, 0x49, 0xFE, 0xF7, 0x03, 0xFE, 0x1D, 0xE0, + 0xE9, 0x7D, 0x62, 0x01, 0x0B, 0x1C, 0x21, 0x48, + 0x02, 0x92, 0x08, 0xE0, 0x01, 0x3B, 0x02, 0x9A, + 0xDB, 0xB2, 0xD2, 0x18, 0x52, 0x00, 0x12, 0x5A, + 0x5F, 0x00, 0xD2, 0x08, 0xBA, 0x53, 0x00, 0x2B, + 0xF4, 0xD1, 0x13, 0x4A, 0x12, 0x78, 0x00, 0x2A, + 0x05, 0xD0, 0x02, 0x20, 0x00, 0x93, 0x0F, 0x4A, + 0x03, 0x1C, 0xFE, 0xF7, 0x8F, 0xFD, 0x01, 0x34, + 0xE4, 0xB2, 0x01, 0xE0, 0x11, 0x4D, 0x0B, 0x4E, + 0x2B, 0x7E, 0xA3, 0x42, 0xDC, 0xD8, 0x05, 0xB0, + 0xF0, 0xBD, 0xC0, 0x46, 0x1C, 0x03, 0x00, 0x20, + 0xF4, 0x10, 0x00, 0x20, 0xBC, 0x11, 0x00, 0x20, + 0x70, 0x01, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x3C, 0x11, 0x00, 0x20, + 0x34, 0x11, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0xD2, 0x59, 0x00, 0x00, + 0x20, 0x09, 0x00, 0x20, 0xD9, 0x59, 0x00, 0x00, + 0xE2, 0x59, 0x00, 0x00, 0xAE, 0x09, 0x00, 0x20, + 0x64, 0x0E, 0x00, 0x20, 0xF8, 0x03, 0x00, 0x20, + 0x48, 0x11, 0x00, 0x20, 0xBC, 0x01, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0x58, 0x00, 0x00, 0x20, + 0xEB, 0x59, 0x00, 0x00, 0xF0, 0xB5, 0x25, 0x4B, + 0x87, 0xB0, 0x1B, 0x78, 0x00, 0x2B, 0x2B, 0xD1, + 0x23, 0x4A, 0x24, 0x4B, 0x90, 0x7C, 0x1B, 0x78, + 0x04, 0x90, 0xD2, 0x7E, 0x22, 0x4D, 0x52, 0xB2, + 0x92, 0xB2, 0x05, 0x92, 0x21, 0x4A, 0x1D, 0xE0, + 0x01, 0x3B, 0x21, 0x4C, 0xDB, 0xB2, 0xE1, 0x5C, + 0x04, 0x9F, 0xB9, 0x42, 0x16, 0xD1, 0x59, 0x00, + 0x88, 0x5A, 0x00, 0x28, 0x07, 0xD0, 0x6E, 0x5A, + 0x6F, 0x46, 0x34, 0xB2, 0xA4, 0x46, 0x14, 0x24, + 0xE7, 0x5F, 0xBC, 0x45, 0x05, 0xDA, 0x59, 0x00, + 0x6E, 0x5A, 0xF6, 0x00, 0x80, 0x1B, 0x50, 0x52, + 0x01, 0xE0, 0x80, 0x1B, 0x88, 0x52, 0x14, 0x4F, + 0x00, 0x21, 0xF9, 0x54, 0x00, 0x2B, 0xDF, 0xD1, + 0x0E, 0x4B, 0x12, 0x4C, 0x19, 0x78, 0x0F, 0x48, + 0x0B, 0x1C, 0x05, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, + 0x5A, 0x00, 0x15, 0x5A, 0xED, 0x08, 0x15, 0x53, + 0x00, 0x2B, 0xF7, 0xD1, 0x0C, 0x4A, 0x12, 0x78, + 0x00, 0x2A, 0x05, 0xD0, 0x02, 0x20, 0x00, 0x93, + 0x08, 0x4A, 0x03, 0x1C, 0xFE, 0xF7, 0x0E, 0xFD, + 0x07, 0xB0, 0xF0, 0xBD, 0x30, 0x11, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0x3C, 0x0D, 0x00, 0x20, 0x14, 0x02, 0x00, 0x20, + 0xA4, 0x0A, 0x00, 0x20, 0x54, 0x11, 0x00, 0x20, + 0xEB, 0x01, 0x00, 0x20, 0x10, 0xB5, 0x09, 0x49, + 0x50, 0x22, 0x09, 0x48, 0x00, 0xF0, 0xE2, 0xF9, + 0x08, 0x4C, 0x09, 0x49, 0x20, 0x1C, 0x42, 0x22, + 0x00, 0xF0, 0xDC, 0xF9, 0x07, 0x4B, 0xA2, 0x7B, + 0x1A, 0x60, 0xE3, 0x7D, 0xE3, 0x76, 0x23, 0x7E, + 0x23, 0x77, 0x10, 0xBD, 0x4A, 0x74, 0x00, 0x00, + 0x48, 0x0D, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x08, 0x74, 0x00, 0x00, 0x50, 0x11, 0x00, 0x20, + 0x08, 0xB5, 0x04, 0x49, 0x04, 0x4B, 0x41, 0x43, + 0x04, 0x48, 0xC9, 0x18, 0x00, 0xF0, 0x60, 0xF9, + 0xC0, 0xB2, 0x08, 0xBD, 0x44, 0xFE, 0xFF, 0xFF, + 0xFE, 0x24, 0x02, 0x00, 0x40, 0x42, 0x0F, 0x00, + 0x10, 0xB5, 0x15, 0x4C, 0x00, 0x23, 0x23, 0x71, + 0x03, 0x23, 0x63, 0x71, 0x02, 0x23, 0x23, 0x72, + 0x12, 0x4B, 0x98, 0x78, 0x02, 0x38, 0x03, 0x28, + 0x1D, 0xD8, 0x00, 0xF0, 0xE7, 0xF8, 0x0B, 0x04, + 0x02, 0x14, 0xC7, 0x20, 0x00, 0xE0, 0xD7, 0x20, + 0xE0, 0x70, 0xFF, 0xF7, 0xD9, 0xFF, 0x02, 0x23, + 0x20, 0x70, 0x0E, 0xE0, 0xF4, 0x20, 0xE0, 0x70, + 0xFF, 0xF7, 0xD2, 0xFF, 0x02, 0x23, 0x20, 0x70, + 0xA3, 0x71, 0x01, 0x23, 0x06, 0xE0, 0xF4, 0x20, + 0xE0, 0x70, 0xFF, 0xF7, 0xC9, 0xFF, 0x01, 0x23, + 0x20, 0x70, 0xA3, 0x71, 0xE3, 0x71, 0x10, 0xBD, + 0xAA, 0x0A, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0xF0, 0xB5, 0x59, 0x4B, 0x87, 0xB0, 0x1A, 0x68, + 0x58, 0x4B, 0x08, 0x2A, 0x01, 0xD1, 0x01, 0x22, + 0x00, 0xE0, 0x00, 0x22, 0x1A, 0x70, 0x56, 0x4B, + 0x56, 0x4C, 0x01, 0x33, 0xDB, 0x7F, 0x00, 0x2B, + 0x00, 0xD1, 0xE3, 0x71, 0x23, 0x78, 0x01, 0x25, + 0xA2, 0x79, 0x28, 0x1C, 0xD9, 0x00, 0x90, 0x40, + 0x82, 0xB2, 0xCB, 0x1A, 0x53, 0x43, 0x50, 0x4E, + 0xDB, 0x10, 0xDB, 0xB2, 0x33, 0x80, 0x22, 0x78, + 0xFA, 0x23, 0xA0, 0x79, 0x9B, 0x00, 0x53, 0x43, + 0x4C, 0x4F, 0x29, 0x1C, 0x81, 0x40, 0x88, 0xB2, + 0xB9, 0x88, 0x58, 0x43, 0x09, 0x01, 0x00, 0xF0, + 0xFB, 0xF8, 0xC1, 0xB2, 0x71, 0x80, 0x23, 0x78, + 0x2D, 0x22, 0xA0, 0x79, 0x53, 0x43, 0x2A, 0x1C, + 0x82, 0x40, 0x90, 0xB2, 0x58, 0x43, 0x6B, 0x46, + 0x19, 0x81, 0x09, 0x01, 0x00, 0xF0, 0xEC, 0xF8, + 0xC0, 0xB2, 0xB0, 0x80, 0x23, 0x7A, 0xB9, 0x79, + 0xD8, 0x00, 0x18, 0x1A, 0xA9, 0x40, 0xC0, 0x00, + 0x49, 0x19, 0xE0, 0x30, 0x48, 0x43, 0xA2, 0x79, + 0x6C, 0x46, 0x08, 0x21, 0x61, 0x5E, 0x90, 0x40, + 0x49, 0x01, 0x00, 0xF0, 0x8B, 0xF8, 0x34, 0x4A, + 0xF0, 0x80, 0x11, 0x7D, 0xD0, 0x7D, 0x36, 0x4B, + 0x08, 0x18, 0xC0, 0xB2, 0x18, 0x70, 0x17, 0x7E, + 0x5F, 0x70, 0x56, 0x7E, 0x01, 0x96, 0x96, 0x7F, + 0x01, 0x9C, 0x66, 0x43, 0xF4, 0xB2, 0x20, 0x18, + 0xC0, 0xB2, 0x98, 0x70, 0x02, 0x90, 0x96, 0x7E, + 0x03, 0x96, 0x03, 0x98, 0xD6, 0x7F, 0x46, 0x43, + 0xF0, 0xB2, 0xC7, 0x19, 0xFF, 0xB2, 0xDF, 0x70, + 0xD6, 0x7E, 0xB4, 0x46, 0x61, 0x44, 0x61, 0x18, + 0xC9, 0xB2, 0x19, 0x71, 0x16, 0x7F, 0x80, 0x19, + 0x02, 0x9E, 0xC0, 0xB2, 0x74, 0x1A, 0x3F, 0x1A, + 0xE6, 0xB2, 0xFF, 0xB2, 0x58, 0x71, 0x9E, 0x71, + 0xDF, 0x71, 0xBC, 0x46, 0x57, 0x7D, 0xEC, 0x1B, + 0x04, 0x97, 0x27, 0x1C, 0x77, 0x43, 0xFF, 0xB2, + 0x05, 0x97, 0x9F, 0x73, 0x97, 0x7D, 0x64, 0x46, + 0xED, 0x1B, 0x65, 0x43, 0x47, 0x43, 0x04, 0x9C, + 0x5F, 0x74, 0x4C, 0x43, 0x18, 0x72, 0x6F, 0x46, + 0x14, 0x20, 0xC7, 0x5D, 0xED, 0xB2, 0xE4, 0xB2, + 0xDD, 0x73, 0x1C, 0x74, 0x5D, 0x72, 0x99, 0x72, + 0xDF, 0x72, 0x1E, 0x73, 0x5C, 0x73, 0x51, 0x7F, + 0x12, 0x4B, 0x00, 0x29, 0x03, 0xD0, 0x69, 0x46, + 0x09, 0x79, 0x19, 0x70, 0x03, 0xE0, 0x01, 0x9C, + 0x03, 0x9E, 0x74, 0x43, 0x1C, 0x70, 0x93, 0x1C, + 0x03, 0x32, 0x02, 0x9F, 0xD2, 0x7F, 0xDB, 0x7F, + 0xBA, 0x18, 0x5B, 0xB2, 0x01, 0x32, 0x9A, 0x40, + 0x09, 0x4B, 0x07, 0xB0, 0x1A, 0x60, 0xF0, 0xBD, + 0x50, 0x11, 0x00, 0x20, 0xFA, 0x02, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xAA, 0x0A, 0x00, 0x20, + 0x04, 0x02, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x0A, 0x03, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0x18, 0x09, 0x00, 0x20, 0x02, 0xB4, 0x71, 0x46, + 0x49, 0x08, 0x49, 0x00, 0x09, 0x5C, 0x49, 0x00, + 0x8E, 0x44, 0x02, 0xBC, 0x70, 0x47, 0xC0, 0x46, + 0x03, 0xB4, 0x71, 0x46, 0x49, 0x08, 0x40, 0x00, + 0x49, 0x00, 0x09, 0x5A, 0x49, 0x00, 0x8E, 0x44, + 0x03, 0xBC, 0x70, 0x47, 0x00, 0x29, 0x34, 0xD0, + 0x01, 0x23, 0x00, 0x22, 0x10, 0xB4, 0x88, 0x42, + 0x2C, 0xD3, 0x01, 0x24, 0x24, 0x07, 0xA1, 0x42, + 0x04, 0xD2, 0x81, 0x42, 0x02, 0xD2, 0x09, 0x01, + 0x1B, 0x01, 0xF8, 0xE7, 0xE4, 0x00, 0xA1, 0x42, + 0x04, 0xD2, 0x81, 0x42, 0x02, 0xD2, 0x49, 0x00, + 0x5B, 0x00, 0xF8, 0xE7, 0x88, 0x42, 0x01, 0xD3, + 0x40, 0x1A, 0x1A, 0x43, 0x4C, 0x08, 0xA0, 0x42, + 0x02, 0xD3, 0x00, 0x1B, 0x5C, 0x08, 0x22, 0x43, + 0x8C, 0x08, 0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, + 0x9C, 0x08, 0x22, 0x43, 0xCC, 0x08, 0xA0, 0x42, + 0x02, 0xD3, 0x00, 0x1B, 0xDC, 0x08, 0x22, 0x43, + 0x00, 0x28, 0x03, 0xD0, 0x1B, 0x09, 0x01, 0xD0, + 0x09, 0x09, 0xE3, 0xE7, 0x10, 0x1C, 0x10, 0xBC, + 0x70, 0x47, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, + 0xC0, 0x43, 0x07, 0xB4, 0x02, 0x48, 0x02, 0xA1, + 0x40, 0x18, 0x02, 0x90, 0x03, 0xBD, 0xC0, 0x46, + 0xD9, 0x00, 0x00, 0x00, 0x00, 0x29, 0xF0, 0xD0, + 0x03, 0xB5, 0xFF, 0xF7, 0xB9, 0xFF, 0x0E, 0xBC, + 0x42, 0x43, 0x89, 0x1A, 0x18, 0x47, 0xC0, 0x46, + 0x00, 0x29, 0x41, 0xD0, 0x10, 0xB4, 0x04, 0x1C, + 0x4C, 0x40, 0xA4, 0x46, 0x01, 0x23, 0x00, 0x22, + 0x00, 0x29, 0x00, 0xD5, 0x49, 0x42, 0x00, 0x28, + 0x00, 0xD5, 0x40, 0x42, 0x88, 0x42, 0x2C, 0xD3, + 0x01, 0x24, 0x24, 0x07, 0xA1, 0x42, 0x04, 0xD2, + 0x81, 0x42, 0x02, 0xD2, 0x09, 0x01, 0x1B, 0x01, + 0xF8, 0xE7, 0xE4, 0x00, 0xA1, 0x42, 0x04, 0xD2, + 0x81, 0x42, 0x02, 0xD2, 0x49, 0x00, 0x5B, 0x00, + 0xF8, 0xE7, 0x88, 0x42, 0x01, 0xD3, 0x40, 0x1A, + 0x1A, 0x43, 0x4C, 0x08, 0xA0, 0x42, 0x02, 0xD3, + 0x00, 0x1B, 0x5C, 0x08, 0x22, 0x43, 0x8C, 0x08, + 0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, 0x9C, 0x08, + 0x22, 0x43, 0xCC, 0x08, 0xA0, 0x42, 0x02, 0xD3, + 0x00, 0x1B, 0xDC, 0x08, 0x22, 0x43, 0x00, 0x28, + 0x03, 0xD0, 0x1B, 0x09, 0x01, 0xD0, 0x09, 0x09, + 0xE3, 0xE7, 0x10, 0x1C, 0x64, 0x46, 0x00, 0x2C, + 0x00, 0xD5, 0x40, 0x42, 0x10, 0xBC, 0x70, 0x47, + 0x00, 0x28, 0x06, 0xD0, 0x03, 0xDB, 0x00, 0x20, + 0xC0, 0x43, 0x40, 0x08, 0x01, 0xE0, 0x80, 0x20, + 0x00, 0x06, 0x07, 0xB4, 0x02, 0x48, 0x02, 0xA1, + 0x40, 0x18, 0x02, 0x90, 0x03, 0xBD, 0xC0, 0x46, + 0x19, 0x00, 0x00, 0x00, 0x00, 0x29, 0xEB, 0xD0, + 0x03, 0xB5, 0xFF, 0xF7, 0xA7, 0xFF, 0x0E, 0xBC, + 0x42, 0x43, 0x89, 0x1A, 0x18, 0x47, 0xC0, 0x46, + 0x70, 0x47, 0xC0, 0x46, 0xF0, 0xB5, 0x05, 0x1C, + 0x0F, 0x2A, 0x2F, 0xD9, 0x0B, 0x1C, 0x03, 0x43, + 0x05, 0x1C, 0x9C, 0x07, 0x2C, 0xD1, 0x0C, 0x1C, + 0x03, 0x1C, 0x15, 0x1C, 0x26, 0x68, 0x10, 0x3D, + 0x1E, 0x60, 0x66, 0x68, 0x5E, 0x60, 0xA6, 0x68, + 0x9E, 0x60, 0xE6, 0x68, 0x10, 0x34, 0xDE, 0x60, + 0x10, 0x33, 0x0F, 0x2D, 0xF2, 0xD8, 0x13, 0x1C, + 0x10, 0x3B, 0x1B, 0x09, 0x01, 0x33, 0x1B, 0x01, + 0xC5, 0x18, 0xC9, 0x18, 0x0F, 0x23, 0x1A, 0x40, + 0x03, 0x2A, 0x0F, 0xD9, 0x0E, 0x1C, 0x2C, 0x1C, + 0x13, 0x1C, 0x80, 0xCE, 0x04, 0x3B, 0x80, 0xC4, + 0x03, 0x2B, 0xFA, 0xD8, 0x13, 0x1F, 0x9B, 0x08, + 0x01, 0x33, 0x9B, 0x00, 0x03, 0x24, 0x22, 0x40, + 0xC9, 0x18, 0xED, 0x18, 0x00, 0x2A, 0x05, 0xD0, + 0x00, 0x23, 0xCC, 0x5C, 0xEC, 0x54, 0x01, 0x33, + 0x93, 0x42, 0xFA, 0xD1, 0xF0, 0xBD, 0xC0, 0x46, + 0x50, 0x61, 0x6C, 0x6D, 0x20, 0x49, 0x6E, 0x69, + 0x74, 0x00, 0x27, 0x45, 0x6E, 0x74, 0x65, 0x72, + 0x27, 0x20, 0x4E, 0x00, 0x4E, 0x2D, 0x6C, 0x65, + 0x73, 0x73, 0x21, 0x00, 0x27, 0x45, 0x78, 0x69, + 0x74, 0x27, 0x20, 0x4E, 0x00, 0x4E, 0x20, 0x53, + 0x2F, 0x50, 0x00, 0x53, 0x6C, 0x65, 0x65, 0x70, + 0x00, 0x53, 0x2D, 0x72, 0x65, 0x73, 0x65, 0x74, + 0x00, 0x46, 0x41, 0x53, 0x54, 0x00, 0x49, 0x64, + 0x6C, 0x65, 0x00, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x00, 0x53, 0x70, 0x65, 0x63, 0x74, 0x00, + 0x53, 0x74, 0x61, 0x63, 0x6B, 0x21, 0x00, 0x52, + 0x45, 0x47, 0x56, 0x41, 0x4C, 0x00, 0x44, 0x65, + 0x6C, 0x61, 0x79, 0x00, 0x4F, 0x53, 0x43, 0x00, + 0x4E, 0x4F, 0x49, 0x53, 0x45, 0x00, 0x54, 0x6F, + 0x75, 0x63, 0x68, 0x20, 0x4F, 0x6E, 0x00, 0x54, + 0x6F, 0x75, 0x63, 0x68, 0x20, 0x4F, 0x46, 0x46, + 0x00, 0x4C, 0x54, 0x5F, 0x50, 0x52, 0x4F, 0x46, + 0x49, 0x4C, 0x49, 0x4E, 0x47, 0x00, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x00, 0x47, 0x2D, 0x41, 0x66, + 0x74, 0x65, 0x72, 0x00, 0x3D, 0x48, 0x6F, 0x76, + 0x6F, 0x72, 0x00, 0x12, 0x0E, 0x07, 0x0D, 0x0A, + 0x12, 0x04, 0x06, 0x0C, 0x09, 0x12, 0x0F, 0x05, + 0x11, 0x08, 0x12, 0x00, 0x01, 0x10, 0x02, 0x45, + 0x72, 0x72, 0x00, 0x4B, 0x65, 0x79, 0x20, 0x52, + 0x00, 0x52, 0x45, 0x46, 0x20, 0x49, 0x4E, 0x49, + 0x54, 0x00, 0x43, 0x6D, 0x44, 0x65, 0x6C, 0x74, + 0x61, 0x20, 0x52, 0x65, 0x66, 0x2F, 0x52, 0x65, + 0x61, 0x6C, 0x00, 0x52, 0x61, 0x77, 0x00, 0x4D, + 0x41, 0x58, 0x20, 0x49, 0x00, 0x43, 0x4D, 0x5F, + 0x44, 0x45, 0x4C, 0x54, 0x41, 0x5F, 0x4D, 0x41, + 0x58, 0x5F, 0x4D, 0x49, 0x4E, 0x00, 0x54, 0x78, + 0x6C, 0x65, 0x73, 0x73, 0x00, 0x44, 0x69, 0x66, + 0x66, 0x00, 0x44, 0x49, 0x46, 0x46, 0x2F, 0x4E, + 0x00, 0x42, 0x69, 0x67, 0x20, 0x47, 0x72, 0x61, + 0x64, 0x00, 0x4E, 0x65, 0x67, 0x2D, 0x45, 0x64, + 0x67, 0x65, 0x00, 0x52, 0x65, 0x66, 0x00, 0x00, + 0x2D, 0x49, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x01, + 0x00, 0xFF, 0x01, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xA0, 0x0D, 0x00, 0x20, + 0x28, 0x02, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x00, + 0x54, 0x11, 0x00, 0x20, 0x01, 0x02, 0xFF, 0x00, + 0x01, 0x04, 0x00, 0x04, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x45, + 0x4D, 0x31, 0x48, 0x30, 0x50, 0x52, 0x34, 0x35, + 0x08, 0xB5, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, + 0x20, 0xD1, 0x03, 0xE0, 0x10, 0x4A, 0x11, 0x4B, + 0x1A, 0x60, 0x1B, 0xE0, 0x10, 0x4B, 0x1B, 0x68, + 0x10, 0x2B, 0x15, 0xD1, 0x0F, 0x4A, 0x10, 0x4B, + 0x1A, 0x60, 0x10, 0x4A, 0x10, 0x4B, 0x1A, 0x60, + 0x10, 0x4A, 0x11, 0x4B, 0x1A, 0x60, 0x11, 0x4A, + 0x11, 0x4B, 0x1A, 0x60, 0x11, 0x4A, 0x12, 0x4B, + 0x1A, 0x60, 0x12, 0x4A, 0x12, 0x4B, 0x1A, 0x60, + 0x12, 0x4A, 0x13, 0x4B, 0x1A, 0x60, 0x01, 0xE0, + 0xFE, 0xF7, 0xCC, 0xF8, 0x08, 0xBD, 0xC0, 0x46, + 0xD5, 0x5C, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x20, + 0x50, 0x11, 0x00, 0x20, 0x9D, 0x5C, 0x00, 0x00, + 0x68, 0x00, 0x00, 0x20, 0xED, 0x63, 0x00, 0x00, + 0x6C, 0x00, 0x00, 0x20, 0xD1, 0x61, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x20, 0x49, 0x65, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x20, 0x69, 0x5D, 0x00, 0x00, + 0x1C, 0x00, 0x00, 0x20, 0x4D, 0x5D, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x20, 0x9F, 0x5C, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x20, 0x70, 0x47, 0xA0, 0x23, + 0xDB, 0x05, 0x01, 0x22, 0x1A, 0x72, 0x09, 0x49, + 0x10, 0x22, 0x1A, 0x72, 0x00, 0x22, 0x0A, 0x70, + 0x1A, 0x72, 0x07, 0x4B, 0x80, 0x22, 0x19, 0x68, + 0x52, 0x00, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, + 0x80, 0x23, 0xDB, 0x05, 0x99, 0x68, 0x9A, 0x60, + 0x70, 0x47, 0xC0, 0x46, 0x0C, 0x00, 0x00, 0x20, + 0x14, 0x00, 0x00, 0x20, 0x10, 0xB5, 0x09, 0x28, + 0x0E, 0xD0, 0x14, 0x28, 0x1F, 0xD0, 0x04, 0x28, + 0x22, 0xD1, 0x12, 0x49, 0x00, 0x23, 0x0A, 0x68, + 0x9A, 0x42, 0x02, 0xDD, 0x4B, 0x68, 0xD3, 0x18, + 0xDB, 0x0F, 0x0F, 0x4A, 0x13, 0x70, 0x17, 0xE0, + 0x0E, 0x4B, 0x00, 0x22, 0x1A, 0x60, 0x0E, 0x4B, + 0x0E, 0x4C, 0x1A, 0x78, 0x0E, 0x4B, 0x00, 0x2A, + 0x01, 0xD0, 0x0E, 0x4A, 0x00, 0xE0, 0x0E, 0x4A, + 0x90, 0x7E, 0x19, 0x68, 0x80, 0x01, 0xFF, 0xF7, + 0x3B, 0xFD, 0xA0, 0x76, 0x04, 0xE0, 0x07, 0x48, + 0x09, 0x49, 0x50, 0x22, 0xFF, 0xF7, 0x96, 0xFD, + 0x10, 0xBD, 0xC0, 0x46, 0x70, 0x01, 0x00, 0x20, + 0x3D, 0x11, 0x00, 0x20, 0x38, 0x0D, 0x00, 0x20, + 0xDD, 0x01, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0x78, 0x09, 0x00, 0x20, 0x9A, 0x74, 0x00, 0x00, + 0x4A, 0x74, 0x00, 0x00, 0x08, 0xB5, 0x05, 0x4B, + 0x1B, 0x88, 0xDB, 0xB2, 0x10, 0x2B, 0x01, 0xD0, + 0xAF, 0x2B, 0x01, 0xD1, 0xFD, 0xF7, 0xD8, 0xFB, + 0x08, 0xBD, 0xC0, 0x46, 0x28, 0x00, 0x00, 0x20, + 0x38, 0xB5, 0xBE, 0x4A, 0x13, 0x88, 0x1B, 0xB2, + 0xA8, 0x2B, 0x00, 0xD1, 0xB3, 0xE1, 0x40, 0xDC, + 0x0B, 0x2B, 0x00, 0xD1, 0xD9, 0xE0, 0x1E, 0xDC, + 0x06, 0x2B, 0x00, 0xD1, 0xB5, 0xE0, 0x0E, 0xDC, + 0x03, 0x2B, 0x00, 0xD1, 0x99, 0xE0, 0x03, 0xDC, + 0x02, 0x2B, 0x00, 0xD0, 0xC1, 0xE1, 0x87, 0xE0, + 0x04, 0x2B, 0x00, 0xD1, 0x9A, 0xE0, 0x05, 0x2B, + 0x00, 0xD0, 0xBA, 0xE1, 0xA0, 0xE0, 0x08, 0x2B, + 0x00, 0xD1, 0xDC, 0xE0, 0x00, 0xDA, 0xA6, 0xE0, + 0x09, 0x2B, 0x00, 0xD1, 0xA8, 0xE0, 0x0A, 0x2B, + 0x00, 0xD0, 0xAE, 0xE1, 0xB4, 0xE0, 0x30, 0x2B, + 0x00, 0xD1, 0xAC, 0xE0, 0x0A, 0xDC, 0x0D, 0x2B, + 0x00, 0xD1, 0xC2, 0xE0, 0x00, 0xDA, 0xB7, 0xE0, + 0x0F, 0x2B, 0x51, 0xD0, 0x10, 0x2B, 0x00, 0xD0, + 0x9F, 0xE1, 0x58, 0xE0, 0x61, 0x2B, 0x00, 0xD1, + 0x92, 0xE1, 0x03, 0xDC, 0x31, 0x2B, 0x00, 0xD0, + 0x97, 0xE1, 0x8D, 0xE0, 0x62, 0x2B, 0x00, 0xD1, + 0x8F, 0xE1, 0x64, 0x2B, 0x00, 0xD0, 0x90, 0xE1, + 0x81, 0xE1, 0xF4, 0x2B, 0x00, 0xD1, 0xD3, 0xE0, + 0x1E, 0xDC, 0xEF, 0x2B, 0x00, 0xD1, 0x60, 0xE1, + 0x0E, 0xDC, 0xAF, 0x2B, 0x00, 0xD1, 0x4A, 0xE1, + 0x03, 0xDC, 0xAE, 0x2B, 0x00, 0xD0, 0x80, 0xE1, + 0x3E, 0xE1, 0xBF, 0x2B, 0x00, 0xD1, 0x5E, 0xE1, + 0xEE, 0x2B, 0x00, 0xD0, 0x79, 0xE1, 0x4C, 0xE1, + 0xF1, 0x2B, 0x00, 0xD1, 0xA3, 0xE0, 0x00, 0xDA, + 0x9E, 0xE0, 0xF2, 0x2B, 0x00, 0xD1, 0xA6, 0xE0, + 0xF3, 0x2B, 0x00, 0xD0, 0x6D, 0xE1, 0xAB, 0xE0, + 0xF9, 0x2B, 0x00, 0xD1, 0xDF, 0xE0, 0x0B, 0xDC, + 0xF6, 0x2B, 0x00, 0xD1, 0xBF, 0xE0, 0x00, 0xDA, + 0xB3, 0xE0, 0xF7, 0x2B, 0x00, 0xD1, 0xC1, 0xE0, + 0xF8, 0x2B, 0x00, 0xD0, 0x5D, 0xE1, 0xC9, 0xE0, + 0xFB, 0x2B, 0x00, 0xD1, 0xE1, 0xE0, 0x00, 0xDA, + 0xD6, 0xE0, 0xFC, 0x2B, 0x00, 0xD1, 0xE5, 0xE0, + 0xFD, 0x2B, 0x00, 0xD0, 0x51, 0xE1, 0xEA, 0xE0, + 0x7B, 0x4C, 0x23, 0x68, 0x00, 0x2B, 0x01, 0xD1, + 0xFD, 0xF7, 0x46, 0xFB, 0x22, 0x68, 0x79, 0x4B, + 0xD2, 0x00, 0x1A, 0x70, 0x45, 0xE1, 0x78, 0x49, + 0x78, 0x4A, 0x00, 0x23, 0x08, 0x78, 0x75, 0x4D, + 0xC0, 0x18, 0x14, 0x5C, 0x58, 0x19, 0x01, 0x33, + 0x04, 0x70, 0x08, 0x2B, 0xF6, 0xD1, 0x38, 0xE1, + 0x73, 0x4A, 0x0F, 0x23, 0x26, 0x20, 0x11, 0x5E, + 0x28, 0x25, 0x52, 0x5F, 0x09, 0x11, 0x12, 0x12, + 0x99, 0x43, 0x13, 0x40, 0x6B, 0x4A, 0xCB, 0x18, + 0x13, 0x70, 0x68, 0x4B, 0x1A, 0x88, 0x03, 0x23, + 0x12, 0xB2, 0x9A, 0x1A, 0x6A, 0x4B, 0x19, 0x8D, + 0x66, 0x4B, 0xD1, 0x54, 0x63, 0x4B, 0x1A, 0x88, + 0x04, 0x23, 0x12, 0xB2, 0x9A, 0x1A, 0x66, 0x4B, + 0xD9, 0x8C, 0x62, 0x4B, 0xD1, 0x54, 0x18, 0xE1, + 0x64, 0x4B, 0xDA, 0x8C, 0x5F, 0x4B, 0x1A, 0x70, + 0x13, 0xE1, 0x62, 0x4B, 0x34, 0x33, 0x1A, 0x78, + 0x5C, 0x4B, 0x1A, 0x70, 0x0D, 0xE1, 0x5E, 0x4B, + 0xDA, 0x7B, 0x5A, 0x4B, 0x1A, 0x70, 0x08, 0xE1, + 0x5D, 0x4B, 0x1A, 0x78, 0x57, 0x4B, 0x00, 0x2A, + 0x02, 0xD0, 0x02, 0x22, 0x1A, 0x70, 0x00, 0xE1, + 0x01, 0x22, 0x1A, 0x70, 0xFD, 0xE0, 0x58, 0x4B, + 0x1A, 0x78, 0x52, 0x4B, 0x1A, 0x70, 0xF8, 0xE0, + 0x56, 0x4B, 0x1A, 0x78, 0x4F, 0x4B, 0x1A, 0x70, + 0xF3, 0xE0, 0x12, 0x88, 0x54, 0x49, 0x12, 0xB2, + 0x9B, 0x1A, 0x09, 0x78, 0x4B, 0x4A, 0x99, 0x54, + 0x48, 0x4B, 0x1A, 0x88, 0x50, 0x4B, 0x12, 0xB2, + 0x59, 0x78, 0x0C, 0x23, 0x9A, 0x1A, 0x47, 0x4B, + 0xD1, 0x54, 0x44, 0x4B, 0x1A, 0x88, 0x4D, 0x4B, + 0x12, 0xB2, 0x19, 0x78, 0x0D, 0x23, 0x9A, 0x1A, + 0x42, 0x4B, 0xD1, 0x54, 0xD9, 0xE0, 0x45, 0x4B, + 0xDA, 0x8D, 0x40, 0x4B, 0x1A, 0x70, 0xD4, 0xE0, + 0x3E, 0x4B, 0x41, 0x22, 0x1A, 0x70, 0x3B, 0x4B, + 0x07, 0x21, 0x1A, 0x88, 0xF1, 0x23, 0x12, 0xB2, + 0x9A, 0x1A, 0x3A, 0x4B, 0xD1, 0x54, 0x37, 0x4B, + 0x1A, 0x88, 0x3B, 0x4B, 0x12, 0xB2, 0x59, 0x78, + 0xF2, 0x23, 0x9A, 0x1A, 0x35, 0x4B, 0xD1, 0x54, + 0x32, 0x4B, 0x50, 0x21, 0x1A, 0x88, 0xF3, 0x23, + 0x12, 0xB2, 0x9A, 0x1A, 0x31, 0x4B, 0xD1, 0x54, + 0x2E, 0x4B, 0x1A, 0x88, 0x38, 0x4B, 0x12, 0xB2, + 0x19, 0x78, 0xF4, 0x23, 0x9A, 0x1A, 0x2D, 0x4B, + 0xD1, 0x54, 0x2A, 0x4B, 0x1A, 0x88, 0x35, 0x4B, + 0x12, 0xB2, 0x19, 0x78, 0xF5, 0x23, 0x9A, 0x1A, + 0x28, 0x4B, 0xD1, 0x54, 0xA5, 0xE0, 0x28, 0x4B, + 0x29, 0x4A, 0x1B, 0x78, 0xD3, 0x18, 0xDA, 0x78, + 0x24, 0x4B, 0x1A, 0x70, 0x21, 0x4B, 0x26, 0x49, + 0x1A, 0x88, 0x23, 0x4B, 0x12, 0xB2, 0x1B, 0x78, + 0xCB, 0x18, 0x19, 0x79, 0xF7, 0x23, 0x9A, 0x1A, + 0x1E, 0x4B, 0xD1, 0x54, 0x1B, 0x4B, 0x1A, 0x88, + 0x1F, 0x4B, 0x12, 0xB2, 0x59, 0x79, 0xF8, 0x23, + 0x9A, 0x1A, 0x1A, 0x4B, 0xD1, 0x54, 0x17, 0x4B, + 0x1A, 0x88, 0x1B, 0x4B, 0x12, 0xB2, 0x99, 0x79, + 0xF9, 0x23, 0x9A, 0x1A, 0x15, 0x4B, 0xD1, 0x54, + 0x12, 0x4B, 0x1A, 0x88, 0x16, 0x4B, 0x12, 0xB2, + 0xD9, 0x79, 0xFA, 0x23, 0x9A, 0x1A, 0x11, 0x4B, + 0xD1, 0x54, 0x0E, 0x4B, 0x1A, 0x88, 0x12, 0x4B, + 0x12, 0xB2, 0x19, 0x7A, 0xFB, 0x23, 0x9A, 0x1A, + 0x0C, 0x4B, 0xD1, 0x54, 0x09, 0x4B, 0x1A, 0x88, + 0x0D, 0x4B, 0x12, 0xB2, 0x59, 0x7A, 0xFC, 0x23, + 0x9A, 0x1A, 0x08, 0x4B, 0xD1, 0x54, 0x05, 0x4B, + 0x1A, 0x88, 0x09, 0x4B, 0x12, 0xB2, 0x99, 0x7A, + 0xFD, 0x23, 0x9A, 0x1A, 0x03, 0x4B, 0xD1, 0x54, + 0x5B, 0xE0, 0xC0, 0x46, 0x28, 0x00, 0x00, 0x20, + 0x98, 0x0D, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x50, + 0x2A, 0x00, 0x00, 0x20, 0xEC, 0x11, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0x48, 0x0D, 0x00, 0x20, + 0xDD, 0x01, 0x00, 0x20, 0xDF, 0x01, 0x00, 0x20, + 0x0A, 0x03, 0x00, 0x20, 0x7C, 0x09, 0x00, 0x20, + 0xFF, 0x73, 0x00, 0x00, 0xFF, 0x7B, 0x00, 0x00, + 0x20, 0x4B, 0x1A, 0x78, 0x20, 0x4B, 0x1A, 0x70, + 0xFD, 0xF7, 0x36, 0xFA, 0x39, 0xE0, 0x1F, 0x49, + 0x1F, 0x4A, 0x00, 0x23, 0x0C, 0x68, 0x10, 0x78, + 0x1B, 0x4D, 0x20, 0x18, 0xC4, 0x5C, 0x58, 0x19, + 0x01, 0x33, 0x04, 0x70, 0x08, 0x2B, 0xF5, 0xD1, + 0x2B, 0xE0, 0x1A, 0x4B, 0x1A, 0x7E, 0x16, 0x4B, + 0x1A, 0x70, 0x19, 0x4B, 0x1A, 0x88, 0x17, 0x4B, + 0x12, 0xB2, 0xD9, 0x7D, 0xEF, 0x23, 0x9A, 0x1A, + 0x11, 0x4B, 0xD1, 0x54, 0x1D, 0xE0, 0x11, 0x49, + 0x11, 0x4A, 0x00, 0x23, 0x0C, 0x68, 0x10, 0x78, + 0x0D, 0x4D, 0x20, 0x18, 0xC4, 0x5C, 0x58, 0x19, + 0x01, 0x33, 0x04, 0x70, 0x08, 0x2B, 0xF5, 0xD1, + 0xFD, 0xF7, 0x0A, 0xFA, 0x0D, 0xE0, 0x0D, 0x4B, + 0x1A, 0x78, 0x07, 0x4B, 0x1A, 0x70, 0x08, 0xE0, + 0x0B, 0x4B, 0x9A, 0x78, 0x04, 0x4B, 0x1A, 0x70, + 0x03, 0xE0, 0x09, 0x4B, 0xDA, 0x78, 0x02, 0x4B, + 0x1A, 0x70, 0x38, 0xBD, 0xF6, 0x03, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x50, 0x34, 0x0D, 0x00, 0x20, + 0x2A, 0x00, 0x00, 0x20, 0xAE, 0x09, 0x00, 0x20, + 0x28, 0x00, 0x00, 0x20, 0xFF, 0x5B, 0x00, 0x00, + 0x35, 0x00, 0x00, 0x20, 0x08, 0xB5, 0x03, 0x1C, + 0x50, 0x1E, 0x06, 0x28, 0x35, 0xD8, 0xFF, 0xF7, + 0xC1, 0xFA, 0x04, 0x0A, 0x2A, 0x1B, 0x15, 0x2A, + 0x2A, 0x00, 0x18, 0x4A, 0x01, 0x23, 0x13, 0x70, + 0x17, 0x4A, 0x13, 0x70, 0x29, 0xE0, 0x16, 0x4A, + 0x9B, 0x01, 0x59, 0x18, 0x02, 0x20, 0x15, 0x4B, + 0x10, 0x70, 0x49, 0x00, 0x14, 0x4A, 0xC9, 0x18, + 0x11, 0x60, 0x1E, 0xE0, 0xFD, 0xF7, 0xCC, 0xF9, + 0x0E, 0x4B, 0x00, 0x22, 0x1A, 0x70, 0x18, 0xE0, + 0x0D, 0x4A, 0x5B, 0x01, 0x59, 0x18, 0x01, 0x20, + 0x0E, 0x4B, 0x10, 0x70, 0x5A, 0x56, 0x0E, 0x4B, + 0x00, 0x2A, 0x00, 0xDC, 0x00, 0x22, 0x1A, 0x80, + 0x09, 0x4A, 0x13, 0x60, 0x09, 0xE0, 0x06, 0x4A, + 0x02, 0x20, 0x5B, 0x01, 0x10, 0x70, 0xC9, 0x18, + 0x08, 0x4A, 0x49, 0x00, 0x89, 0x18, 0x04, 0x4A, + 0x11, 0x60, 0x08, 0xBD, 0xE5, 0x01, 0x00, 0x20, + 0xF6, 0x03, 0x00, 0x20, 0x84, 0x40, 0x00, 0x40, + 0x34, 0x0D, 0x00, 0x20, 0x64, 0x0E, 0x00, 0x20, + 0x08, 0x03, 0x00, 0x20, 0xF8, 0x03, 0x00, 0x20, + 0xF0, 0xB5, 0x7C, 0x4C, 0x23, 0x23, 0xE3, 0x5C, + 0x8B, 0xB0, 0x00, 0x2B, 0x12, 0xD0, 0x01, 0x3B, + 0xDB, 0xB2, 0x79, 0x4D, 0x79, 0x48, 0x00, 0xE0, + 0x13, 0x1C, 0x9A, 0x00, 0xD2, 0x18, 0x52, 0x00, + 0x82, 0x18, 0x3C, 0x26, 0x91, 0x5F, 0x5A, 0x1E, + 0x4E, 0x1E, 0xB1, 0x41, 0xE9, 0x54, 0xD2, 0xB2, + 0x00, 0x2B, 0xF1, 0xD1, 0xFD, 0xF7, 0xB0, 0xF9, + 0x00, 0x28, 0xFB, 0xD1, 0x23, 0x23, 0xE3, 0x5C, + 0x00, 0x2B, 0x00, 0xD1, 0x98, 0xE0, 0x6E, 0x4A, + 0x60, 0x21, 0x14, 0x78, 0x6D, 0x4A, 0x24, 0x01, + 0x12, 0x78, 0x49, 0x42, 0x21, 0x43, 0x12, 0x01, + 0x20, 0x24, 0x6B, 0x4D, 0x22, 0x43, 0x34, 0x24, + 0x2C, 0x5D, 0x01, 0x33, 0xC9, 0xB2, 0xD2, 0xB2, + 0xDB, 0xB2, 0x06, 0x94, 0x08, 0x91, 0x09, 0x92, + 0x66, 0x48, 0x07, 0x93, 0x00, 0x21, 0x01, 0x22, + 0x00, 0x24, 0x3F, 0xE0, 0x6B, 0x46, 0x10, 0x26, + 0xF3, 0x5E, 0x02, 0x93, 0x02, 0x9B, 0x05, 0x9F, + 0x1B, 0x12, 0x9C, 0x46, 0xE3, 0x00, 0x3E, 0x11, + 0x01, 0x93, 0x67, 0x46, 0x0F, 0x23, 0x1F, 0x40, + 0x02, 0x97, 0x07, 0x79, 0x9E, 0x43, 0x05, 0x97, + 0x5B, 0x4B, 0x01, 0x9F, 0x9C, 0x46, 0x3B, 0x1C, + 0x08, 0x9F, 0x63, 0x44, 0x17, 0x43, 0xBC, 0x46, + 0x02, 0x9F, 0x6D, 0x08, 0x3E, 0x43, 0x2F, 0xB2, + 0x02, 0x97, 0x67, 0x46, 0x1F, 0x70, 0x5E, 0x70, + 0x10, 0x27, 0x6E, 0x46, 0xBE, 0x5D, 0x6F, 0x46, + 0x9E, 0x70, 0x0C, 0x26, 0xF7, 0x5D, 0x6E, 0x46, + 0xDF, 0x70, 0x14, 0x27, 0xBE, 0x5D, 0x00, 0x27, + 0x1E, 0x71, 0x02, 0x9E, 0x5F, 0x71, 0xFF, 0x2E, + 0x00, 0xDD, 0xFF, 0x25, 0x01, 0x34, 0x00, 0x27, + 0x9D, 0x71, 0xDF, 0x71, 0xE4, 0xB2, 0x01, 0x32, + 0x07, 0x9D, 0xD2, 0xB2, 0x0A, 0x30, 0x02, 0x31, + 0xAA, 0x42, 0x3B, 0xD0, 0x00, 0x27, 0xC5, 0x5F, + 0x00, 0x2D, 0x3B, 0xDD, 0x3D, 0x4B, 0x43, 0x4E, + 0x5B, 0x18, 0x9C, 0x46, 0x67, 0x46, 0x3F, 0x8C, + 0x73, 0x18, 0x03, 0x97, 0x18, 0x27, 0xDE, 0x5F, + 0x0C, 0x27, 0x04, 0x96, 0x6E, 0x46, 0xBE, 0x5F, + 0x04, 0x9F, 0x05, 0x96, 0xF6, 0x1B, 0xF7, 0x17, + 0xF6, 0x19, 0x7E, 0x40, 0x02, 0x96, 0x66, 0x46, + 0xB6, 0x88, 0x9F, 0x88, 0x04, 0x96, 0xBC, 0x46, + 0x02, 0x9E, 0x06, 0x9F, 0xBE, 0x42, 0x9D, 0xDA, + 0x10, 0x26, 0x6F, 0x46, 0xF7, 0x5F, 0x02, 0x97, + 0x02, 0x9E, 0x67, 0x46, 0x3F, 0xB2, 0xF6, 0x1B, + 0xF7, 0x17, 0xF6, 0x19, 0x7E, 0x40, 0xB4, 0x46, + 0x06, 0x9E, 0x66, 0x45, 0x92, 0xDD, 0x2C, 0x27, + 0xDB, 0x5F, 0x00, 0x2B, 0x8E, 0xDD, 0x01, 0x32, + 0x07, 0x9D, 0xD2, 0xB2, 0x0A, 0x30, 0x02, 0x31, + 0xAA, 0x42, 0xC3, 0xD1, 0x00, 0x2C, 0x37, 0xD1, + 0x0B, 0xB0, 0xF0, 0xBD, 0x25, 0x4B, 0x5B, 0x18, + 0x9C, 0x46, 0x2C, 0x25, 0x5B, 0x5F, 0x00, 0x2B, + 0xB1, 0xDD, 0x66, 0x46, 0x05, 0x27, 0xF7, 0x57, + 0x35, 0x8B, 0xB6, 0x88, 0x04, 0x97, 0xE3, 0x00, + 0x03, 0x96, 0x04, 0x9E, 0x05, 0x93, 0x0F, 0x23, + 0x33, 0x40, 0x2F, 0xB2, 0x9C, 0x46, 0x3F, 0x11, + 0x0F, 0x23, 0x9F, 0x43, 0x02, 0x97, 0x05, 0x9E, + 0x17, 0x4F, 0x01, 0x34, 0xF3, 0x19, 0x09, 0x9E, + 0x02, 0x9F, 0x16, 0x43, 0x04, 0x96, 0x66, 0x46, + 0x37, 0x43, 0xA4, 0x46, 0x10, 0x26, 0x6C, 0x46, + 0x34, 0x5D, 0x5F, 0x70, 0x6E, 0x46, 0x0C, 0x27, + 0xBE, 0x5D, 0x00, 0x27, 0x1C, 0x70, 0x9E, 0x70, + 0xDD, 0x70, 0x1F, 0x71, 0x5F, 0x71, 0x9F, 0x71, + 0xDF, 0x71, 0x63, 0x46, 0xDC, 0xB2, 0x82, 0xE7, + 0x0B, 0x4B, 0x1C, 0x60, 0xFD, 0xF7, 0x7E, 0xF8, + 0xC2, 0xE7, 0xC0, 0x46, 0xAE, 0x09, 0x00, 0x20, + 0xEC, 0x01, 0x00, 0x20, 0x9C, 0x0D, 0x00, 0x20, + 0xF5, 0x00, 0x00, 0x20, 0xF4, 0x00, 0x00, 0x20, + 0x48, 0x0D, 0x00, 0x20, 0xD8, 0x0D, 0x00, 0x20, + 0xEC, 0x11, 0x00, 0x20, 0x20, 0x01, 0x00, 0x20, + 0x98, 0x0D, 0x00, 0x20, 0x10, 0xB5, 0x04, 0x1C, + 0xFD, 0xF7, 0xBA, 0xF8, 0x00, 0x28, 0xFB, 0xD1, + 0x0A, 0x4B, 0x01, 0x2C, 0x02, 0xD0, 0x02, 0x2C, + 0x05, 0xD1, 0x02, 0xE0, 0x0F, 0x22, 0x1A, 0x70, + 0x01, 0xE0, 0x0E, 0x22, 0x1A, 0x70, 0x00, 0x22, + 0x5A, 0x70, 0x9A, 0x70, 0xDA, 0x70, 0x04, 0x4B, + 0x01, 0x22, 0x1A, 0x60, 0xFD, 0xF7, 0x4E, 0xF8, + 0x10, 0xBD, 0xC0, 0x46, 0xEC, 0x11, 0x00, 0x20, + 0x98, 0x0D, 0x00, 0x20, 0x38, 0xB5, 0x50, 0x28, + 0x05, 0xD1, 0x3B, 0x4B, 0x01, 0x20, 0x18, 0x60, + 0xFF, 0xF7, 0xE6, 0xFB, 0x6F, 0xE0, 0x39, 0x4B, + 0x40, 0x28, 0x01, 0xD1, 0x01, 0x24, 0x1C, 0x70, + 0x1B, 0x78, 0x00, 0x2B, 0x67, 0xD0, 0x41, 0x38, + 0x0E, 0x28, 0x64, 0xD8, 0xFF, 0xF7, 0x3A, 0xF9, + 0x08, 0x12, 0x08, 0x2D, 0x08, 0x47, 0x63, 0x63, + 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x5E, 0x00, + 0x2F, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x2F, 0x4B, + 0x1A, 0x80, 0x2F, 0x4A, 0x13, 0x60, 0xFD, 0xF7, + 0x21, 0xF8, 0x50, 0xE0, 0x2A, 0x48, 0x2C, 0x4B, + 0xFF, 0x2A, 0x0B, 0xD1, 0x2B, 0x4A, 0xC9, 0x01, + 0x12, 0x78, 0x52, 0x00, 0xD2, 0xB2, 0x02, 0x70, + 0x29, 0x4A, 0x89, 0x18, 0x19, 0x60, 0xFD, 0xF7, + 0x11, 0xF8, 0x40, 0xE0, 0x89, 0x01, 0x8A, 0x18, + 0x25, 0x49, 0x52, 0x00, 0x02, 0x24, 0x52, 0x18, + 0x04, 0x70, 0x1A, 0x60, 0xFD, 0xF7, 0x06, 0xF8, + 0x35, 0xE0, 0x1D, 0x4C, 0x1E, 0x4B, 0x21, 0x48, + 0xFF, 0x2A, 0x0A, 0xD1, 0x1D, 0x4A, 0x89, 0x01, + 0x12, 0x78, 0x40, 0x18, 0x52, 0x00, 0xD2, 0xB2, + 0x22, 0x70, 0x18, 0x60, 0xFC, 0xF7, 0xF6, 0xFF, + 0x25, 0xE0, 0x49, 0x01, 0x52, 0x18, 0x52, 0x00, + 0x02, 0x25, 0x80, 0x18, 0x25, 0x70, 0x18, 0x60, + 0xFC, 0xF7, 0xEC, 0xFF, 0x1B, 0xE0, 0x10, 0x4C, + 0x11, 0x4B, 0x15, 0x48, 0xFF, 0x2A, 0x08, 0xD1, + 0x10, 0x4A, 0x49, 0x01, 0x92, 0x78, 0x40, 0x18, + 0x22, 0x70, 0x18, 0x60, 0xFC, 0xF7, 0xDE, 0xFF, + 0x0D, 0xE0, 0x49, 0x01, 0x52, 0x18, 0x01, 0x25, + 0x80, 0x18, 0x25, 0x70, 0x18, 0x60, 0xFC, 0xF7, + 0xD5, 0xFF, 0x04, 0xE0, 0x0B, 0x4A, 0x00, 0x23, + 0x13, 0x70, 0x02, 0x4A, 0x13, 0x70, 0x38, 0xBD, + 0x50, 0x11, 0x00, 0x20, 0xE5, 0x01, 0x00, 0x20, + 0xF6, 0x03, 0x00, 0x20, 0x08, 0x03, 0x00, 0x20, + 0x34, 0x0D, 0x00, 0x20, 0x0A, 0x03, 0x00, 0x20, + 0x84, 0x40, 0x00, 0x40, 0xF8, 0x03, 0x00, 0x20, + 0xB3, 0x0A, 0x00, 0x20, 0x1D, 0x03, 0x00, 0x20, + 0x08, 0xB5, 0x3C, 0x4B, 0x1B, 0x88, 0x30, 0x2B, + 0x16, 0xD0, 0x06, 0xD8, 0x09, 0x2B, 0x26, 0xD0, + 0x0A, 0x2B, 0x3B, 0xD0, 0x01, 0x2B, 0x6B, 0xD1, + 0x06, 0xE0, 0xA0, 0x2B, 0x40, 0xD0, 0xB0, 0x2B, + 0x5A, 0xD0, 0x5F, 0x2B, 0x64, 0xD1, 0x4D, 0xE0, + 0x33, 0x4A, 0x11, 0x78, 0x0E, 0x22, 0x11, 0x42, + 0x5E, 0xD1, 0x32, 0x4A, 0x13, 0x70, 0x5B, 0xE0, + 0x2F, 0x4B, 0x31, 0x4A, 0x1B, 0x78, 0x12, 0x78, + 0x01, 0x2B, 0x05, 0xD1, 0x00, 0x2A, 0x53, 0xD1, + 0x2E, 0x4A, 0x53, 0x60, 0x93, 0x60, 0x4F, 0xE0, + 0x01, 0x2A, 0x4D, 0xD1, 0x2B, 0x4B, 0x00, 0x21, + 0x59, 0x60, 0x9A, 0x60, 0x48, 0xE0, 0x2A, 0x4B, + 0x34, 0x33, 0x1B, 0x78, 0x00, 0x2B, 0x43, 0xD0, + 0x23, 0x4B, 0x1B, 0x78, 0x01, 0x2B, 0x05, 0xD1, + 0x26, 0x4A, 0x13, 0x70, 0x22, 0x4B, 0x00, 0x22, + 0x1A, 0x70, 0x39, 0xE0, 0x02, 0x2B, 0x37, 0xD1, + 0x22, 0x4A, 0x01, 0x23, 0x13, 0x70, 0x1E, 0x4A, + 0x13, 0x70, 0x31, 0xE0, 0x20, 0x4B, 0x1A, 0x78, + 0x00, 0x2A, 0x02, 0xD1, 0x01, 0x22, 0x1A, 0x70, + 0x2A, 0xE0, 0x00, 0x22, 0x1A, 0x70, 0x27, 0xE0, + 0x15, 0x4B, 0x1C, 0x4A, 0x18, 0x78, 0x1C, 0x4B, + 0x1A, 0x28, 0x06, 0xD1, 0x19, 0x78, 0x1B, 0x4B, + 0x10, 0x78, 0x1A, 0x78, 0xFF, 0xF7, 0x9E, 0xFD, + 0x1A, 0xE0, 0x11, 0x78, 0x1A, 0x78, 0xFF, 0xF7, + 0x11, 0xFF, 0x15, 0xE0, 0x0C, 0x4B, 0x1B, 0x78, + 0x00, 0x2B, 0x11, 0xD0, 0x14, 0x4B, 0x08, 0x22, + 0x1A, 0x60, 0xFB, 0xF7, 0xC9, 0xF9, 0x0B, 0xE0, + 0x07, 0x4B, 0x1B, 0x78, 0x1A, 0x2B, 0x07, 0xD1, + 0x0C, 0x4B, 0x18, 0x78, 0x0C, 0x4B, 0x19, 0x78, + 0x0C, 0x4B, 0x1A, 0x78, 0xFF, 0xF7, 0x82, 0xFD, + 0x08, 0xBD, 0xC0, 0x46, 0x28, 0x00, 0x00, 0x20, + 0x0C, 0x00, 0x00, 0x50, 0xE8, 0x01, 0x00, 0x20, + 0xDD, 0x01, 0x00, 0x20, 0xF8, 0x08, 0x00, 0x20, + 0xAE, 0x09, 0x00, 0x20, 0xDC, 0x01, 0x00, 0x20, + 0xDF, 0x01, 0x00, 0x20, 0x0E, 0x00, 0x00, 0x50, + 0x0D, 0x00, 0x00, 0x50, 0x10, 0x00, 0x00, 0x50, + 0x50, 0x11, 0x00, 0x20, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0x02, + 0x4D, 0x31, 0x48, 0x30, 0x50, 0x42, 0x34, 0x35, + 0x01, 0x44, 0x01, 0x47, 0x46, 0x46, 0x34, 0x37, + 0x37, 0x00, 0x00, 0x00, 0x00, 0x48, 0x10, 0x5A, + 0x1E, 0x0A, 0x01, 0x01, 0x00, 0x00, 0x00, 0x1A, + 0x0E, 0x00, 0x00, 0x1A, 0x0E, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, + 0xD0, 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x64, + 0x64, 0x78, 0x01, 0x01, 0x00, 0x00, 0x62, 0x00, + 0xFF, 0xFF, 0x16, 0x00, 0x07, 0x03, 0x32, 0x32, + 0x10, 0x00, 0x01, 0x01, 0x04, 0x00, 0x12, 0x02, + 0x18, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x04, + 0x05, 0x0F, 0x00, 0x07, 0x05, 0x00, 0x6A, 0xFF, + 0x0F, 0x14, 0x0A, 0xF6, 0x0F, 0x00, 0x06, 0x23, + 0x1E, 0x00, 0xA2, 0x29, 0xAE, 0x01, 0x00, 0x00, + 0x23, 0x00, 0x19, 0x00, 0x00, 0x00, 0x28, 0x00, + 0x50, 0x00, 0x14, 0x00, 0x02, 0x01, 0x01, 0x1E, + 0x32, 0x00, 0x32, 0x00, 0xFF, 0x7F, 0x00, 0x01, + 0x01, 0x07, 0x0B, 0x00, 0xFF, 0xFF, 0x0A, 0x05, + 0xFF, 0x7F, 0x00, 0x80, 0xFF, 0x7F, 0x00, 0x80, + 0x01, 0x00, 0x01, 0x01, 0x04, 0x00, 0xF4, 0x01, + 0x18, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00, 0x04, + 0x05, 0x0F, 0x00, 0x07, 0x05, 0x00, 0x6A, 0xFF, + 0x0F, 0x14, 0x0A, 0xF6, 0x0F, 0x00, 0x08, 0x23, + 0x1E, 0x00, 0xA2, 0x29, 0x92, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x19, 0x00, 0x00, 0x00, 0x28, 0x00, + 0x50, 0x00, 0x14, 0x00, 0x02, 0x01, 0x01, 0x14, + 0x32, 0x00, 0x32, 0x00, 0xFF, 0x7F, 0x00, 0x01, + 0x01, 0x07, 0x0B, 0x00, 0xFF, 0xFF, 0x0A, 0x05, + 0x48, 0x03, 0x5D, 0x00, 0xFF, 0x7F, 0x00, 0x80, + 0x01, 0x00, 0x1F, 0x1E, 0x1D, 0x1C, 0x1B, 0x1A, + 0x19, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x00, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0A, 0x0B, + 0x0C, 0x0D, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x08, 0x07, 0x06, + 0x05, 0x04, 0x03, 0x02, 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, 0x04, 0x04, + 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, + 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, + 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, + 0x00, 0x01, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x12, 0x17, 0x1A, 0x19, 0x1B, 0x1D, + 0x1F, 0x21, 0x23, 0x25, 0x29, 0x2B, 0x2C, 0x31, + 0x33, 0x31, 0x34, 0x3A, 0x3C, 0x3C, 0x40, 0x40, + 0x42, 0x3E, 0x3E, 0x36, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x13, 0x16, 0x16, 0x18, 0x19, 0x1C, + 0x1D, 0x1E, 0x22, 0x24, 0x26, 0x29, 0x2A, 0x2D, + 0x2E, 0x30, 0x30, 0x35, 0x36, 0x38, 0x3A, 0x3D, + 0x3C, 0x3A, 0x39, 0x2C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x13, 0x16, 0x18, 0x19, 0x1B, 0x1C, + 0x1F, 0x20, 0x24, 0x26, 0x29, 0x2A, 0x2E, 0x2F, + 0x30, 0x33, 0x33, 0x36, 0x36, 0x38, 0x3A, 0x3A, + 0x3C, 0x3C, 0x39, 0x2B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x11, 0x16, 0x17, 0x19, 0x1A, 0x1C, + 0x1F, 0x21, 0x23, 0x26, 0x28, 0x2B, 0x2D, 0x2F, + 0x2F, 0x33, 0x33, 0x35, 0x38, 0x3A, 0x38, 0x39, + 0x3C, 0x39, 0x36, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x12, 0x16, 0x17, 0x18, 0x1A, 0x1D, + 0x1E, 0x20, 0x22, 0x25, 0x27, 0x29, 0x2B, 0x2D, + 0x2F, 0x30, 0x30, 0x34, 0x34, 0x36, 0x35, 0x38, + 0x36, 0x38, 0x34, 0x25, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x11, 0x16, 0x17, 0x19, 0x1B, 0x1D, + 0x1E, 0x20, 0x21, 0x25, 0x27, 0x29, 0x2C, 0x2F, + 0x2F, 0x31, 0x32, 0x35, 0x34, 0x39, 0x38, 0x38, + 0x38, 0x34, 0x33, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x11, 0x16, 0x16, 0x18, 0x1A, 0x1C, + 0x1E, 0x20, 0x23, 0x24, 0x27, 0x29, 0x2A, 0x2E, + 0x2F, 0x2F, 0x30, 0x32, 0x35, 0x35, 0x36, 0x36, + 0x35, 0x36, 0x2F, 0x1D, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x12, 0x15, 0x17, 0x18, 0x1A, 0x1C, + 0x1E, 0x1F, 0x22, 0x25, 0x26, 0x29, 0x2B, 0x2D, + 0x2F, 0x33, 0x30, 0x34, 0x32, 0x38, 0x36, 0x33, + 0x34, 0x32, 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x14, 0x16, 0x17, 0x18, 0x1B, 0x1C, + 0x1F, 0x21, 0x23, 0x26, 0x28, 0x29, 0x2C, 0x2E, + 0x2F, 0x31, 0x30, 0x35, 0x34, 0x39, 0x35, 0x36, + 0x36, 0x35, 0x31, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x14, 0x16, 0x17, 0x19, 0x1A, 0x1C, + 0x20, 0x21, 0x22, 0x24, 0x27, 0x29, 0x2C, 0x2F, + 0x30, 0x31, 0x32, 0x36, 0x35, 0x39, 0x38, 0x38, + 0x39, 0x36, 0x34, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x11, 0x15, 0x17, 0x19, 0x1A, 0x1C, + 0x1F, 0x20, 0x23, 0x25, 0x27, 0x29, 0x2B, 0x2F, + 0x2F, 0x31, 0x30, 0x36, 0x33, 0x38, 0x36, 0x36, + 0x39, 0x36, 0x33, 0x26, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x15, 0x17, 0x19, 0x1A, 0x1C, + 0x1E, 0x21, 0x23, 0x25, 0x27, 0x29, 0x2C, 0x2E, + 0x2F, 0x30, 0x31, 0x39, 0x39, 0x38, 0x39, 0x39, + 0x3A, 0x36, 0x36, 0x2B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x15, 0x17, 0x19, 0x1B, 0x1C, + 0x1E, 0x20, 0x22, 0x25, 0x26, 0x2A, 0x2B, 0x2F, + 0x2F, 0x32, 0x32, 0x39, 0x39, 0x36, 0x38, 0x38, + 0x36, 0x39, 0x39, 0x2E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x17, 0x19, 0x1A, 0x1C, 0x1E, + 0x20, 0x22, 0x25, 0x27, 0x2A, 0x2E, 0x2F, 0x32, + 0x34, 0x35, 0x35, 0x3E, 0x3C, 0x42, 0x42, 0x3D, + 0x3E, 0x3E, 0x3D, 0x36, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 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, 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, 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, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0x02, +}; + diff --git a/drivers/input/touchscreen/GC_BOOT.h b/drivers/input/touchscreen/GC_BOOT.h new file mode 100644 index 0000000..8c6edb3 --- /dev/null +++ b/drivers/input/touchscreen/GC_BOOT.h @@ -0,0 +1,133 @@ +const size_t boot_binary_nLength = 0x0400; /* 1.0 KBytes ( 1024 Bytes ) */ + +const u8 boot_binary[] = { + 0x00, 0x20, 0x00, 0x20, 0x79, 0x02, 0x00, 0x00, + 0x39, 0x02, 0x00, 0x00, 0x3D, 0x02, 0x00, 0x00, + 0x41, 0x02, 0x00, 0x00, 0x45, 0x02, 0x00, 0x00, + 0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4D, 0x02, 0x00, 0x00, + 0x51, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x02, 0x00, 0x00, 0x59, 0x02, 0x00, 0x00, + 0x39, 0x01, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00, + 0x25, 0x01, 0x00, 0x00, 0x21, 0x02, 0x00, 0x00, + 0x35, 0x02, 0x00, 0x00, 0x71, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x75, 0x02, 0x00, 0x00, 0x75, 0x02, 0x00, 0x00, + 0x30, 0xB5, 0x11, 0x4B, 0x11, 0x4A, 0x1B, 0x88, + 0x12, 0x78, 0xD3, 0x18, 0xDB, 0xB2, 0xE1, 0x2B, + 0x02, 0xD0, 0xE5, 0x2B, 0x17, 0xD1, 0x09, 0xE0, + 0x0D, 0x49, 0x0E, 0x4A, 0x04, 0x23, 0x01, 0x3B, + 0xDB, 0xB2, 0xC8, 0x5C, 0x98, 0x54, 0x00, 0x2B, + 0xF9, 0xD1, 0x0C, 0xE0, 0x0A, 0x4C, 0x09, 0x48, + 0x0A, 0x49, 0x0B, 0x4A, 0x04, 0x23, 0x01, 0x3B, + 0xDB, 0xB2, 0xE5, 0x5C, 0x1D, 0x54, 0xCD, 0x5C, + 0x9D, 0x54, 0x00, 0x2B, 0xF7, 0xD1, 0x30, 0xBD, + 0x28, 0x00, 0x00, 0x20, 0x2A, 0x00, 0x00, 0x20, + 0x2D, 0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x50, + 0x35, 0x00, 0x00, 0x20, 0x31, 0x00, 0x00, 0x20, + 0x10, 0x00, 0x00, 0x50, 0x03, 0x4A, 0x00, 0x23, + 0x13, 0x70, 0x80, 0x22, 0xD2, 0x05, 0x13, 0x70, + 0x70, 0x47, 0xC0, 0x46, 0x00, 0x00, 0x00, 0x20, + 0x06, 0x4B, 0x00, 0x22, 0x5A, 0x70, 0x80, 0x23, + 0xDB, 0x05, 0x59, 0x69, 0x04, 0x4A, 0x0A, 0x40, + 0x5A, 0x61, 0x59, 0x69, 0x03, 0x4A, 0x0A, 0x40, + 0x5A, 0x61, 0x70, 0x47, 0x00, 0x00, 0x00, 0x20, + 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xEF, + 0x70, 0xB5, 0xA0, 0x23, 0xDB, 0x05, 0x1C, 0x7A, + 0x24, 0x4D, 0x0F, 0x22, 0x14, 0x40, 0x2A, 0x78, + 0x23, 0x4E, 0x00, 0x2A, 0x06, 0xD0, 0x23, 0x4B, + 0x1B, 0x68, 0x98, 0x47, 0x00, 0x23, 0x2B, 0x70, + 0x34, 0x70, 0x3A, 0xE0, 0x9B, 0x7A, 0x32, 0x78, + 0xE1, 0x07, 0x02, 0xD5, 0x1E, 0x4A, 0x13, 0x80, + 0x07, 0xE0, 0x08, 0x21, 0x0C, 0x42, 0x0A, 0xD0, + 0x1C, 0x4B, 0x1A, 0x78, 0x52, 0x18, 0xD2, 0xB2, + 0x1A, 0x70, 0xFF, 0xF7, 0x8D, 0xFF, 0x1A, 0x4B, + 0x1B, 0x68, 0x98, 0x47, 0x19, 0xE0, 0xA1, 0x07, + 0x0D, 0xD5, 0x08, 0x2A, 0x01, 0xD0, 0x01, 0x2A, + 0x01, 0xD1, 0x16, 0x4B, 0x02, 0xE0, 0x12, 0x4A, + 0x13, 0x80, 0x15, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x00, 0x22, 0x10, 0x4B, 0x08, 0xE0, 0x63, 0x07, + 0x07, 0xD5, 0x11, 0x4B, 0x1B, 0x68, 0x98, 0x47, + 0x0C, 0x4B, 0x1A, 0x78, 0x08, 0x32, 0xD2, 0xB2, + 0x1A, 0x70, 0x07, 0x4B, 0x01, 0x22, 0x1C, 0x70, + 0xA0, 0x23, 0xDB, 0x05, 0x1A, 0x72, 0x0B, 0x49, + 0x10, 0x22, 0x1A, 0x72, 0x00, 0x22, 0x0A, 0x70, + 0x1A, 0x72, 0x70, 0xBD, 0x2C, 0x00, 0x00, 0x20, + 0x2B, 0x00, 0x00, 0x20, 0x24, 0x00, 0x00, 0x20, + 0x28, 0x00, 0x00, 0x20, 0x2A, 0x00, 0x00, 0x20, + 0x1C, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x20, + 0x18, 0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x20, + 0x03, 0x4A, 0x00, 0x23, 0x93, 0x70, 0x80, 0x22, + 0xD2, 0x05, 0x53, 0x70, 0x70, 0x47, 0xC0, 0x46, + 0x00, 0x00, 0x00, 0x20, 0x70, 0x47, 0xC0, 0x46, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x00, 0xB5, 0xFE, 0xE7, 0x00, 0xB5, 0xFE, 0xE7, + 0x38, 0xB5, 0x80, 0x23, 0xDB, 0x05, 0xFB, 0x21, + 0x5A, 0x68, 0x59, 0x60, 0x99, 0x68, 0x08, 0x21, + 0x99, 0x60, 0x00, 0x22, 0xD9, 0x68, 0xDA, 0x60, + 0x19, 0x6C, 0x80, 0x21, 0xC9, 0x01, 0x19, 0x64, + 0x19, 0x69, 0x44, 0x49, 0x19, 0x61, 0x44, 0x4B, + 0x44, 0x49, 0x00, 0xE0, 0x04, 0xC3, 0x8B, 0x42, + 0xFC, 0xD3, 0x43, 0x4B, 0x43, 0x4A, 0x9B, 0x0A, + 0xDB, 0xB2, 0x13, 0x70, 0x42, 0x4B, 0x43, 0x49, + 0x1B, 0x68, 0x9B, 0x0A, 0xDB, 0xB2, 0x53, 0x70, + 0x41, 0x4B, 0x1B, 0x68, 0x9B, 0x0A, 0xDB, 0xB2, + 0x93, 0x70, 0x40, 0x4B, 0x1B, 0x68, 0x9B, 0x0A, + 0xDB, 0xB2, 0xD3, 0x70, 0x00, 0x23, 0x0B, 0x70, + 0x03, 0x23, 0x08, 0xE0, 0x58, 0x1C, 0x15, 0x5C, + 0xD4, 0x5C, 0xA5, 0x42, 0x07, 0xD9, 0xD4, 0x5C, + 0x01, 0x34, 0xE4, 0xB2, 0x0C, 0x54, 0x01, 0x3B, + 0xDB, 0xB2, 0xFF, 0x2B, 0xF2, 0xD1, 0x30, 0x4A, + 0x11, 0x78, 0x35, 0x4A, 0x11, 0x70, 0x11, 0x1C, + 0xFF, 0x2B, 0x03, 0xD1, 0x2D, 0x4B, 0xDB, 0x78, + 0x1E, 0x2B, 0x04, 0xD9, 0xFF, 0x23, 0x4B, 0x70, + 0x8B, 0x70, 0xCB, 0x70, 0x0B, 0xE0, 0x2A, 0x4B, + 0x1B, 0x68, 0x1B, 0x78, 0x53, 0x70, 0x2A, 0x4B, + 0x1B, 0x68, 0x1B, 0x78, 0x93, 0x70, 0x29, 0x4B, + 0x1B, 0x68, 0x1B, 0x78, 0xD3, 0x70, 0x28, 0x4B, + 0xDA, 0x78, 0xFF, 0x2A, 0x08, 0xD0, 0x9A, 0x78, + 0xFF, 0x2A, 0x05, 0xD0, 0x5B, 0x78, 0xFF, 0x2B, + 0x02, 0xD0, 0x00, 0xF0, 0x67, 0xF8, 0x38, 0xBD, + 0x22, 0x4B, 0x23, 0x4A, 0xC0, 0x21, 0x13, 0x60, + 0x22, 0x4A, 0x49, 0x00, 0x13, 0x60, 0x22, 0x4A, + 0x22, 0x48, 0x13, 0x60, 0x22, 0x4A, 0x13, 0x60, + 0x22, 0x4B, 0x02, 0x22, 0x5A, 0x50, 0xC0, 0x21, + 0x91, 0x40, 0x5C, 0x58, 0x20, 0x40, 0x58, 0x50, + 0x1F, 0x49, 0x04, 0x24, 0x08, 0x69, 0x20, 0x43, + 0x08, 0x61, 0x62, 0xB6, 0x1A, 0x60, 0x80, 0x23, + 0xDB, 0x05, 0x1A, 0x6C, 0x80, 0x22, 0x12, 0x02, + 0x1A, 0x64, 0x1A, 0x6C, 0x80, 0x22, 0xD2, 0x01, + 0x1A, 0x64, 0x9A, 0x68, 0x80, 0x22, 0x52, 0x00, + 0x9A, 0x60, 0xA0, 0x22, 0xD2, 0x05, 0x91, 0x68, + 0x14, 0x49, 0x91, 0x60, 0x1A, 0x6C, 0x00, 0x22, + 0x1A, 0x64, 0xFE, 0xE7, 0x10, 0x4F, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x3C, 0x00, 0x00, 0x20, + 0xFF, 0x03, 0x00, 0x00, 0x31, 0x00, 0x00, 0x20, + 0x08, 0x04, 0x00, 0x00, 0x35, 0x00, 0x00, 0x20, + 0x0C, 0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, + 0x2D, 0x00, 0x00, 0x20, 0xF9, 0x03, 0x00, 0x00, + 0x24, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x20, + 0x1C, 0x00, 0x00, 0x20, 0xFF, 0x00, 0xFF, 0xFF, + 0x20, 0x00, 0x00, 0x20, 0x00, 0xE1, 0x00, 0xE0, + 0x00, 0xED, 0x00, 0xE0, 0x00, 0x00, 0xC8, 0x42, + 0x70, 0x47, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, +}; + diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 6c1b6ba..8c4ba2a 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -30,6 +30,17 @@ config TOUCHSCREEN_MELFAS If unsure, say N. +config TOUCHSCREEN_MELFAS_MMS + tristate "MELFAS touchscreen driver" + depends on I2C + help + Say Y here if you have a touchscreen interface using the + Melfas touchscreen controller(MMS series), + and your board-specific setup code includes that in its + table of I2C devices. + + If unsure, say N. + config TOUCHSCREEN_MMS152 tristate "MELFAS MMS152 touchscreen driver" depends on I2C @@ -41,6 +52,17 @@ config TOUCHSCREEN_MMS152 To compile this driver as a module, choose M here: the module will be called MMS152. +config TOUCHSCREEN_MELFAS_NOTE + tristate "NOTE model MELFAS touchscreen driver" + depends on I2C + help + Say Y here if you have NOTE models MELFAS touchscreen. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called mms_ts_note. + config TOUCHSCREEN_88PM860X tristate "Marvell 88PM860x touchscreen" depends on MFD_88PM860X @@ -140,6 +162,30 @@ config TOUCHSCREEN_ATMEL_MXT224_U1 To compile this driver as a module, choose M here: the module will be called atmel_mxt224_u1_ts. +config TOUCHSCREEN_ATMEL_MXT224_GRANDE + tristate "Atmel mXT I2C Touchscreen for GRANDE" + depends on I2C + help + Say Y here if you have Atmel mXT series I2C touchscreen, + such as AT42QT602240/ATMXT224, connected to your system. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called atmel_mxt224_u1_ts. + +config TOUCHSCREEN_ATMEL_MXT224S_GRANDE + tristate "Atmel mXT I2C Touchscreen for GRANDE" + depends on I2C + help + Say Y here if you have Atmel mXT series I2C touchscreen, + such as AT42QT602240/ATMXT224, connected to your system. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called atmel_mxt224_u1_ts. + config TOUCHSCREEN_ATMEL_MXT224_GC tristate "Atmel mXT I2C Touchscreen for GALAXY CAMERA" depends on I2C @@ -912,12 +958,43 @@ config TOUCHSCREEN_SYNAPTICS_S7301 To compile this driver as a module, choose M here: the module will be called melfas_ts. +config TOUCHSCREEN_CYTTSP4 + tristate "Cypress GEN4 Touchscreen Interface" + depends on I2C + help + Say Y her if you want support for Cypress GEN4 + touchcreen controllers. + + To compile this driver as a module, shoose M here: the + module will be called cyttsp4. + config SEC_TOUCHSCREEN_DVFS_LOCK tristate "SEC AP dvfs control" depends on CPU_FREQ help Say Y here if you want support for lock the cpu frequency. +config KEYPAD_MELFAS_TOUCH + tristate "Melfas touch keypad support" + default n + help + Say Y here if you want to use the Cypress touch keypad. + + To compile this driver as a module, choose M here: the + module will be called melfas_touchkey. + +config TOUCHSCREEN_ATMEL_MXT540S + tristate "Atmel mXT 540S I2C Touchscreen" + depends on I2C + help + Say Y here if you have Atmel mXT series I2C touchscreen, + such as ATMEL MXT540S, connected to your system. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called mxt540s. + source "drivers/input/touchscreen/wacom/Kconfig" endif diff --git a/drivers/input/touchscreen/MCH_SW889_R01_V01_bin.c b/drivers/input/touchscreen/MCH_SW889_R01_V01_bin.c new file mode 100755 index 0000000..e3f2a02 --- /dev/null +++ b/drivers/input/touchscreen/MCH_SW889_R01_V01_bin.c @@ -0,0 +1,726 @@ +// MELFAS HEX Studio v0.6 [2009.10.12]
+
+const uint16_t MELFAS_binary_nLength = 0x2CA2; // 11.2 KBytes ( 11426 )
+
+const uint8_t MELFAS_binary[] = {
+
+ // Model name : MCH-SW889
+ // Module revision : R01
+ // Firmware version : V01
+
+ 0x02, 0x22, 0x00, 0x02, 0x00, 0x1E, 0xD2, 0xD8, 0xC2, 0xDB, 0xC2, 0xDA, 0x53, 0x8E, 0xE0, 0x43,
+ 0x8E, 0xE0, 0x22, 0x02, 0x00, 0x60, 0x43, 0xE8, 0x20, 0x22, 0xFF, 0x02, 0x28, 0x11, 0xC0, 0xE0,
+ 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0,
+ 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0xC2, 0xA8, 0x12, 0x2B, 0xE3,
+ 0x7F, 0x01, 0x12, 0x2C, 0x82, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0,
+ 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32,
+ 0xC2, 0xAA, 0x32, 0x02, 0x00, 0x8A, 0x53, 0xE8, 0xDF, 0x22, 0xFF, 0x02, 0x1A, 0x05, 0x90, 0x01,
+ 0xDB, 0xE0, 0x6F, 0x60, 0x0A, 0xEF, 0xF0, 0x25, 0xE0, 0x24, 0x02, 0xFF, 0x12, 0x2C, 0x2F, 0x22,
+ 0x4D, 0x43, 0x48, 0x2D, 0x53, 0x57, 0x38, 0x38, 0x39, 0x00, 0xC2, 0xEC, 0xD2, 0xD9, 0x75, 0xC6,
+ 0x15, 0xD2, 0xD8, 0xC2, 0xDB, 0x32, 0x52, 0x30, 0x31, 0x00, 0xFF, 0x56, 0x30, 0x31, 0x00, 0x00,
+ 0xFF, 0x00, 0xFC, 0x00, 0xF9, 0x00, 0xF7, 0x00, 0xF4, 0x00, 0xF1, 0x00, 0xEF, 0x00, 0xEC, 0x00,
+ 0xEA, 0x00, 0xE7, 0x00, 0xE5, 0x00, 0xE2, 0x00, 0xE0, 0x00, 0xDD, 0x00, 0xDB, 0x00, 0xD9, 0x00,
+ 0xD6, 0x00, 0xD4, 0x00, 0xD2, 0x00, 0xCF, 0x00, 0xCD, 0x00, 0xCB, 0x00, 0xC9, 0x00, 0xC6, 0x00,
+ 0xC4, 0x00, 0xC2, 0x00, 0xC0, 0x00, 0xBE, 0x00, 0xBC, 0x00, 0xBA, 0x00, 0xB8, 0x00, 0xB6, 0x00,
+ 0xB4, 0x00, 0xB2, 0x00, 0xB0, 0x00, 0xAE, 0x00, 0xAC, 0x00, 0xAA, 0x00, 0xA9, 0x00, 0xA7, 0x00,
+ 0xA5, 0x00, 0xA3, 0x00, 0xA1, 0x00, 0xA0, 0x00, 0x9E, 0x00, 0x9C, 0x00, 0x9A, 0x00, 0x99, 0x00,
+ 0x97, 0x00, 0x95, 0x00, 0x94, 0x00, 0x92, 0x00, 0x91, 0x00, 0x8F, 0x00, 0x8E, 0x00, 0x8C, 0x00,
+ 0x8A, 0x00, 0x89, 0x00, 0x88, 0x00, 0x86, 0x00, 0x85, 0x00, 0x83, 0x00, 0x82, 0x00, 0x80, 0x00,
+ 0x7F, 0x00, 0x7E, 0x00, 0x7C, 0x00, 0x7B, 0x00, 0x7A, 0x00, 0x78, 0x00, 0x77, 0x00, 0x76, 0x00,
+ 0x74, 0x00, 0x73, 0x00, 0x72, 0x00, 0x71, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x6D, 0x00, 0x6C, 0x00,
+ 0x6B, 0x00, 0x69, 0x00, 0x68, 0x00, 0x67, 0x00, 0x66, 0x00, 0x65, 0x00, 0x64, 0x00, 0x63, 0x00,
+ 0x62, 0x00, 0x61, 0x00, 0x60, 0x00, 0x5F, 0x00, 0x5E, 0x00, 0x5D, 0x00, 0x5C, 0x00, 0x5B, 0x00,
+ 0x5A, 0x00, 0x59, 0x00, 0x58, 0x00, 0x57, 0x00, 0x56, 0x00, 0x55, 0x00, 0x54, 0x00, 0x53, 0x00,
+ 0x52, 0x00, 0x51, 0x00, 0x50, 0x00, 0x4F, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x4D, 0x00, 0x4C, 0x00,
+ 0x4B, 0x00, 0x4A, 0x00, 0x4A, 0x00, 0x49, 0x00, 0x48, 0x00, 0x47, 0x00, 0x46, 0x00, 0x46, 0x00,
+ 0x45, 0x00, 0x44, 0x00, 0x43, 0x00, 0x43, 0x00, 0x42, 0x00, 0x41, 0x00, 0x41, 0x00, 0x40, 0x00,
+ 0x3F, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3D, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3B, 0x00, 0x3B, 0x00,
+ 0x3A, 0x00, 0x39, 0x00, 0x39, 0x00, 0x38, 0x00, 0x37, 0x00, 0x37, 0x00, 0x36, 0x00, 0x36, 0x00,
+ 0x35, 0x00, 0x34, 0x00, 0x34, 0x00, 0x33, 0x00, 0x33, 0x00, 0x32, 0x00, 0x32, 0x00, 0x31, 0x00,
+ 0x31, 0x00, 0x30, 0x00, 0x30, 0x00, 0x2F, 0x00, 0x2F, 0x00, 0x2E, 0x00, 0x2E, 0x00, 0x2D, 0x00,
+ 0x2D, 0x00, 0x2C, 0x00, 0x2C, 0x00, 0x2B, 0x00, 0x2B, 0x00, 0x2A, 0x00, 0x2A, 0x00, 0x29, 0x00,
+ 0x29, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x27, 0x00, 0x27, 0x00, 0x26, 0x00, 0x26, 0x00,
+ 0x25, 0x00, 0x25, 0x00, 0x25, 0x00, 0x24, 0x00, 0x24, 0x00, 0x23, 0x00, 0x23, 0x00, 0x23, 0x00,
+ 0x22, 0x00, 0x22, 0x00, 0x22, 0x00, 0x21, 0x00, 0x21, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1D, 0x00, 0x1D, 0x00,
+ 0x1D, 0x00, 0x1D, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1B, 0x00, 0x1B, 0x00, 0x1B, 0x00,
+ 0x1A, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x19, 0x00, 0x19, 0x00, 0x19, 0x00, 0x18, 0x00,
+ 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x17, 0x00, 0x17, 0x00, 0x17, 0x00, 0x17, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00,
+ 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 0x00,
+ 0x13, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x11, 0x00, 0x11, 0x00,
+ 0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00,
+ 0x03, 0x06, 0x08, 0x0B, 0x0E, 0x10, 0x13, 0x15, 0x18, 0x1A, 0x1D, 0x1F, 0x22, 0x24, 0x26, 0x29,
+ 0x2B, 0x2D, 0x30, 0x32, 0x34, 0x36, 0x39, 0x3B, 0x3D, 0x3F, 0x41, 0x43, 0x45, 0x47, 0x49, 0x4B,
+ 0x4D, 0x4F, 0x51, 0x53, 0x55, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x5F, 0x61, 0x63, 0x65, 0x66, 0x68,
+ 0x6A, 0x6B, 0x6D, 0x6E, 0x70, 0x71, 0x73, 0x75, 0x76, 0x77, 0x79, 0x7A, 0x7C, 0x7D, 0x7F, 0x80,
+ 0x81, 0x83, 0x84, 0x85, 0x87, 0x88, 0x89, 0x8B, 0x8C, 0x8D, 0x8E, 0x90, 0x91, 0x92, 0x93, 0x94,
+ 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5,
+ 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
+ 0xB5, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xB9, 0xBA, 0xBB, 0xBC, 0xBC, 0xBD, 0xBE, 0xBE, 0xBF, 0xC0,
+ 0xC1, 0xC1, 0xC2, 0xC3, 0xC3, 0xC4, 0xC4, 0xC5, 0xC6, 0xC6, 0xC7, 0xC8, 0xC8, 0xC9, 0xC9, 0xCA,
+ 0xCB, 0xCB, 0xCC, 0xCC, 0xCD, 0xCD, 0xCE, 0xCE, 0xCF, 0xCF, 0xD0, 0xD0, 0xD1, 0xD1, 0xD2, 0xD2,
+ 0xD3, 0xD3, 0xD4, 0xD4, 0xD5, 0xD5, 0xD6, 0xD6, 0xD7, 0xD7, 0xD7, 0xD8, 0xD8, 0xD9, 0xD9, 0xDA,
+ 0xDA, 0xDA, 0xDB, 0xDB, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDE, 0xDE, 0xDF, 0xDF, 0xDF, 0xE0,
+ 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE2, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4, 0xE5,
+ 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xE8, 0xE8, 0xE9, 0xE9,
+ 0xE9, 0xE9, 0xEA, 0xEA, 0xEA, 0xEA, 0xEA, 0xEB, 0xEB, 0xEB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC,
+ 0xED, 0xED, 0xED, 0xED, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xEF, 0xEF, 0xEF, 0x00,
+ 0x03, 0x05, 0x08, 0x0B, 0x0D, 0x10, 0x13, 0x15, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x24, 0x26, 0x28,
+ 0x2B, 0x2D, 0x2F, 0x31, 0x34, 0x36, 0x38, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x44, 0x46, 0x48, 0x4A,
+ 0x4C, 0x4E, 0x50, 0x52, 0x54, 0x56, 0x57, 0x59, 0x5B, 0x5D, 0x5E, 0x60, 0x62, 0x64, 0x65, 0x67,
+ 0x68, 0x6A, 0x6C, 0x6D, 0x6F, 0x70, 0x72, 0x73, 0x75, 0x76, 0x78, 0x79, 0x7B, 0x7C, 0x7D, 0x7F,
+ 0x80, 0x82, 0x83, 0x84, 0x85, 0x87, 0x88, 0x89, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x91, 0x92, 0x93,
+ 0x94, 0x95, 0x96, 0x97, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4,
+ 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB0, 0xB1, 0xB2,
+ 0xB3, 0xB4, 0xB4, 0xB5, 0xB6, 0xB7, 0xB7, 0xB8, 0xB9, 0xBA, 0xBA, 0xBB, 0xBC, 0xBD, 0xBD, 0xBE,
+ 0xBF, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 0xC3, 0xC4, 0xC4, 0xC5, 0xC6, 0xC6, 0xC7, 0xC7, 0xC8,
+ 0xC8, 0xC9, 0xCA, 0xCA, 0xCB, 0xCB, 0xCC, 0xCC, 0xCD, 0xCD, 0xCE, 0xCE, 0xCF, 0xCF, 0xD0, 0xD0,
+ 0xD1, 0xD1, 0xD2, 0xD2, 0xD3, 0xD3, 0xD4, 0xD4, 0xD4, 0xD5, 0xD5, 0xD6, 0xD6, 0xD7, 0xD7, 0xD7,
+ 0xD8, 0xD8, 0xD9, 0xD9, 0xD9, 0xDA, 0xDA, 0xDA, 0xDB, 0xDB, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xDD,
+ 0xDE, 0xDE, 0xDE, 0xDF, 0xDF, 0xDF, 0xE0, 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2,
+ 0xE3, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4, 0xE4, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xE8, 0xE8, 0xE9, 0xE9, 0xE9, 0xE9, 0xE9, 0xEA, 0xEA, 0xEA,
+ 0xEA, 0xEA, 0xEB, 0xEB, 0xEB, 0xEB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xED, 0xED, 0x00,
+ 0x03, 0x05, 0x08, 0x0B, 0x0D, 0x10, 0x13, 0x15, 0x18, 0x1A, 0x1D, 0x1F, 0x21, 0x24, 0x26, 0x28,
+ 0x2B, 0x2D, 0x2F, 0x31, 0x34, 0x36, 0x38, 0x3A, 0x3C, 0x3E, 0x40, 0x42, 0x44, 0x46, 0x48, 0x4A,
+ 0x4C, 0x4E, 0x50, 0x52, 0x54, 0x56, 0x57, 0x59, 0x5B, 0x5D, 0x5E, 0x60, 0x62, 0x64, 0x65, 0x67,
+ 0x68, 0x6A, 0x6C, 0x6D, 0x6F, 0x70, 0x72, 0x73, 0x75, 0x76, 0x78, 0x79, 0x7B, 0x7C, 0x7D, 0x7F,
+ 0x80, 0x82, 0x83, 0x84, 0x85, 0x87, 0x88, 0x89, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x91, 0x92, 0x93,
+ 0x94, 0x95, 0x96, 0x97, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4,
+ 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB0, 0xB1, 0xB2,
+ 0xB3, 0xB4, 0xB4, 0xB5, 0xB6, 0xB7, 0xB7, 0xB8, 0xB9, 0xBA, 0xBA, 0xBB, 0xBC, 0xBD, 0xBD, 0xBE,
+ 0xBF, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 0xC3, 0xC4, 0xC4, 0xC5, 0xC6, 0xC6, 0xC7, 0xC7, 0xC8,
+ 0xC8, 0xC9, 0xCA, 0xCA, 0xCB, 0xCB, 0xCC, 0xCC, 0xCD, 0xCD, 0xCE, 0xCE, 0xCF, 0xCF, 0xD0, 0xD0,
+ 0xD1, 0xD1, 0xD2, 0xD2, 0xD3, 0xD3, 0xD4, 0xD4, 0xD4, 0xD5, 0xD5, 0xD6, 0xD6, 0xD7, 0xD7, 0xD7,
+ 0xD8, 0xD8, 0xD9, 0xD9, 0xD9, 0xDA, 0xDA, 0xDA, 0xDB, 0xDB, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xDD,
+ 0xDE, 0xDE, 0xDE, 0xDF, 0xDF, 0xDF, 0xE0, 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2,
+ 0xE3, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4, 0xE4, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xE8, 0xE8, 0xE9, 0xE9, 0xE9, 0xE9, 0xE9, 0xEA, 0xEA, 0xEA,
+ 0xEA, 0xEA, 0xEB, 0xEB, 0xEB, 0xEB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xED, 0xED, 0xE7,
+ 0x09, 0xF6, 0x08, 0xDF, 0xFA, 0x80, 0x46, 0xE7, 0x09, 0xF2, 0x08, 0xDF, 0xFA, 0x80, 0x3E, 0x88,
+ 0x82, 0x8C, 0x83, 0xE7, 0x09, 0xF0, 0xA3, 0xDF, 0xFA, 0x80, 0x32, 0xE3, 0x09, 0xF6, 0x08, 0xDF,
+ 0xFA, 0x80, 0x78, 0xE3, 0x09, 0xF2, 0x08, 0xDF, 0xFA, 0x80, 0x70, 0x88, 0x82, 0x8C, 0x83, 0xE3,
+ 0x09, 0xF0, 0xA3, 0xDF, 0xFA, 0x80, 0x64, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0xA3, 0xF6, 0x08, 0xDF,
+ 0xFA, 0x80, 0x58, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0xA3, 0xF2, 0x08, 0xDF, 0xFA, 0x80, 0x4C, 0x80,
+ 0xD2, 0x80, 0xFA, 0x80, 0xC6, 0x80, 0xD4, 0x80, 0x69, 0x80, 0xF2, 0x80, 0x33, 0x80, 0x10, 0x80,
+ 0xA6, 0x80, 0xEA, 0x80, 0x9A, 0x80, 0xA8, 0x80, 0xDA, 0x80, 0xE2, 0x80, 0xCA, 0x80, 0x33, 0x89,
+ 0x82, 0x8A, 0x83, 0xEC, 0xFA, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, 0x83, 0xCC,
+ 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, 0x83, 0xCC, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0x0D,
+ 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0xA3, 0xF6, 0x08, 0xDF, 0xF9, 0xEC, 0xFA, 0xA9, 0xF0, 0xED,
+ 0xFB, 0x22, 0x89, 0x82, 0x8A, 0x83, 0xEC, 0xFA, 0xE0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5,
+ 0x83, 0xCC, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, 0x83, 0xCC, 0xDF, 0xEA, 0xDE, 0xE8,
+ 0x80, 0xDB, 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0xA3, 0xF2, 0x08, 0xDF, 0xF9, 0x80, 0xCC, 0x88,
+ 0xF0, 0xEF, 0x60, 0x01, 0x0E, 0x4E, 0x60, 0xC3, 0x88, 0xF0, 0xED, 0x24, 0x02, 0xB4, 0x04, 0x00,
+ 0x50, 0xB9, 0xF5, 0x82, 0xEB, 0x24, 0x02, 0xB4, 0x04, 0x00, 0x50, 0xAF, 0x23, 0x23, 0x45, 0x82,
+ 0x23, 0x90, 0x05, 0xEF, 0x73, 0xC2, 0xD5, 0x30, 0xF7, 0x07, 0xB2, 0xD5, 0x63, 0xF0, 0xFF, 0x05,
+ 0xF0, 0x30, 0xE7, 0x0C, 0xB2, 0xD5, 0xF4, 0x04, 0x84, 0x63, 0xF0, 0xFF, 0x05, 0xF0, 0x80, 0x01,
+ 0x84, 0x30, 0xD5, 0x02, 0xF4, 0x04, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0x22,
+ 0x50, 0x02, 0xE7, 0x22, 0xBB, 0xFE, 0x02, 0xE3, 0x22, 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0x22,
+ 0xBB, 0x01, 0x0C, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x22, 0x50,
+ 0x06, 0xE9, 0x25, 0x82, 0xF8, 0xE6, 0x22, 0xBB, 0xFE, 0x06, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0x22,
+ 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE4, 0x93, 0x22, 0xBB, 0x01, 0x06,
+ 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, 0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8,
+ 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22,
+ 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, 0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2,
+ 0x22, 0xEF, 0x8D, 0xF0, 0xA4, 0xA8, 0xF0, 0xCF, 0x8C, 0xF0, 0xA4, 0x28, 0xCE, 0x8D, 0xF0, 0xA4,
+ 0x2E, 0xFE, 0x22, 0xBC, 0x00, 0x0B, 0xBE, 0x00, 0x29, 0xEF, 0x8D, 0xF0, 0x84, 0xFF, 0xAD, 0xF0,
+ 0x22, 0xE4, 0xCC, 0xF8, 0x75, 0xF0, 0x08, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xEC, 0x33, 0xFC,
+ 0xEE, 0x9D, 0xEC, 0x98, 0x40, 0x05, 0xFC, 0xEE, 0x9D, 0xFE, 0x0F, 0xD5, 0xF0, 0xE9, 0xE4, 0xCE,
+ 0xFD, 0x22, 0xED, 0xF8, 0xF5, 0xF0, 0xEE, 0x84, 0x20, 0xD2, 0x1C, 0xFE, 0xAD, 0xF0, 0x75, 0xF0,
+ 0x08, 0xEF, 0x2F, 0xFF, 0xED, 0x33, 0xFD, 0x40, 0x07, 0x98, 0x50, 0x06, 0xD5, 0xF0, 0xF2, 0x22,
+ 0xC3, 0x98, 0xFD, 0x0F, 0xD5, 0xF0, 0xEA, 0x22, 0xC2, 0xD5, 0xEC, 0x30, 0xE7, 0x09, 0xB2, 0xD5,
+ 0xE4, 0xC3, 0x9D, 0xFD, 0xE4, 0x9C, 0xFC, 0xEE, 0x30, 0xE7, 0x15, 0xB2, 0xD5, 0xE4, 0xC3, 0x9F,
+ 0xFF, 0xE4, 0x9E, 0xFE, 0x12, 0x07, 0x43, 0xC3, 0xE4, 0x9D, 0xFD, 0xE4, 0x9C, 0xFC, 0x80, 0x03,
+ 0x12, 0x07, 0x43, 0x30, 0xD5, 0x07, 0xC3, 0xE4, 0x9F, 0xFF, 0xE4, 0x9E, 0xFE, 0x22, 0xC5, 0xF0,
+ 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, 0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83,
+ 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0,
+ 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, 0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09,
+ 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB,
+ 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3,
+ 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A,
+ 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, 0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9,
+ 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, 0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5,
+ 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, 0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3,
+ 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, 0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5,
+ 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82,
+ 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, 0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0,
+ 0x08, 0xF2, 0x22, 0xEF, 0x2B, 0xFF, 0xEE, 0x3A, 0xFE, 0xED, 0x39, 0xFD, 0xEC, 0x38, 0xFC, 0x22,
+ 0xC3, 0xEF, 0x9B, 0xFF, 0xEE, 0x9A, 0xFE, 0xED, 0x99, 0xFD, 0xEC, 0x98, 0xFC, 0x22, 0x75, 0xF0,
+ 0x08, 0x75, 0x82, 0x00, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xCD, 0x33, 0xCD, 0xCC, 0x33, 0xCC,
+ 0xC5, 0x82, 0x33, 0xC5, 0x82, 0x9B, 0xED, 0x9A, 0xEC, 0x99, 0xE5, 0x82, 0x98, 0x40, 0x0C, 0xF5,
+ 0x82, 0xEE, 0x9B, 0xFE, 0xED, 0x9A, 0xFD, 0xEC, 0x99, 0xFC, 0x0F, 0xD5, 0xF0, 0xD6, 0xE4, 0xCE,
+ 0xFB, 0xE4, 0xCD, 0xFA, 0xE4, 0xCC, 0xF9, 0xA8, 0x82, 0x22, 0xB8, 0x00, 0xC1, 0xB9, 0x00, 0x59,
+ 0xBA, 0x00, 0x2D, 0xEC, 0x8B, 0xF0, 0x84, 0xCF, 0xCE, 0xCD, 0xFC, 0xE5, 0xF0, 0xCB, 0xF9, 0x78,
+ 0x18, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xED, 0x33, 0xFD, 0xEC, 0x33, 0xFC, 0xEB, 0x33, 0xFB,
+ 0x10, 0xD7, 0x03, 0x99, 0x40, 0x04, 0xEB, 0x99, 0xFB, 0x0F, 0xD8, 0xE5, 0xE4, 0xF9, 0xFA, 0x22,
+ 0x78, 0x18, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xED, 0x33, 0xFD, 0xEC, 0x33, 0xFC, 0xC9, 0x33,
+ 0xC9, 0x10, 0xD7, 0x05, 0x9B, 0xE9, 0x9A, 0x40, 0x07, 0xEC, 0x9B, 0xFC, 0xE9, 0x9A, 0xF9, 0x0F,
+ 0xD8, 0xE0, 0xE4, 0xC9, 0xFA, 0xE4, 0xCC, 0xFB, 0x22, 0x75, 0xF0, 0x10, 0xEF, 0x2F, 0xFF, 0xEE,
+ 0x33, 0xFE, 0xED, 0x33, 0xFD, 0xCC, 0x33, 0xCC, 0xC8, 0x33, 0xC8, 0x10, 0xD7, 0x07, 0x9B, 0xEC,
+ 0x9A, 0xE8, 0x99, 0x40, 0x0A, 0xED, 0x9B, 0xFD, 0xEC, 0x9A, 0xFC, 0xE8, 0x99, 0xF8, 0x0F, 0xD5,
+ 0xF0, 0xDA, 0xE4, 0xCD, 0xFB, 0xE4, 0xCC, 0xFA, 0xE4, 0xC8, 0xF9, 0x22, 0xEB, 0x9F, 0xF5, 0xF0,
+ 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, 0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3,
+ 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, 0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0,
+ 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0,
+ 0x22, 0xA8, 0x82, 0x85, 0x83, 0xF0, 0xD0, 0x83, 0xD0, 0x82, 0x12, 0x09, 0xC8, 0x12, 0x09, 0xC8,
+ 0x12, 0x09, 0xC8, 0x12, 0x09, 0xC8, 0xE4, 0x73, 0xE4, 0x93, 0xA3, 0xC5, 0x83, 0xC5, 0xF0, 0xC5,
+ 0x83, 0xC8, 0xC5, 0x82, 0xC8, 0xF0, 0xA3, 0xC5, 0x83, 0xC5, 0xF0, 0xC5, 0x83, 0xC8, 0xC5, 0x82,
+ 0xC8, 0x22, 0xA4, 0x25, 0x82, 0xF5, 0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB,
+ 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, 0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0,
+ 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0,
+ 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, 0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12,
+ 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83,
+ 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, 0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0x8F, 0x23, 0x8B,
+ 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x2F, 0x04, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02,
+ 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83,
+ 0xC0, 0x83, 0xC0, 0x82, 0x12, 0x09, 0x8D, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0xAF,
+ 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2,
+ 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0x90, 0x00, 0x9A,
+ 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83, 0xE0, 0xFF,
+ 0xE4, 0xF8, 0xF9, 0xFA, 0xAB, 0x07, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0x12, 0x08,
+ 0xA0, 0xD0, 0x82, 0xD0, 0x83, 0x12, 0x09, 0xA5, 0xE5, 0x23, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0xED,
+ 0xAE, 0x04, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74,
+ 0x00, 0x3E, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0x12, 0x09, 0x99, 0x90, 0x00, 0x9A, 0xE0, 0x24,
+ 0x42, 0x75, 0xF0, 0x28, 0x84, 0xAF, 0xF0, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xED, 0x12, 0x09,
+ 0xE2, 0xEC, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE5, 0x82, 0x2F, 0xF5, 0x82, 0xE4,
+ 0x35, 0x83, 0xF5, 0x83, 0xE0, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, 0x12, 0x08, 0x93, 0xD0, 0x82, 0xD0,
+ 0x83, 0x12, 0x09, 0xA5, 0xAB, 0x24, 0xAA, 0x25, 0xA9, 0x26, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0,
+ 0xFE, 0x8F, 0x82, 0xF5, 0x83, 0x12, 0x06, 0xD0, 0xFD, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF,
+ 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82,
+ 0x90, 0x00, 0x9A, 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5,
+ 0x83, 0xED, 0xF0, 0xE4, 0xF5, 0x2D, 0x75, 0x2E, 0xFF, 0xFB, 0xFA, 0x90, 0x00, 0x9A, 0xE0, 0xC3,
+ 0x9B, 0xFF, 0xE4, 0x9A, 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, 0xFE, 0x7C, 0x00, 0x7D, 0x28, 0x12,
+ 0x07, 0x98, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF,
+ 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE5, 0x82, 0x2D, 0xF5,
+ 0x82, 0xE5, 0x83, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0xE5, 0x2D, 0xC3, 0x9F, 0x50, 0x02, 0x8F, 0x2D,
+ 0xE5, 0x2E, 0xD3, 0x9F, 0x40, 0x02, 0x8F, 0x2E, 0x0B, 0xBB, 0x00, 0x01, 0x0A, 0xEB, 0x64, 0x07,
+ 0x4A, 0x70, 0xA8, 0xC3, 0xE5, 0x2D, 0x95, 0x2E, 0xC3, 0x95, 0x2F, 0x40, 0x03, 0x02, 0x0D, 0x78,
+ 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8,
+ 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, 0x12, 0x09, 0x8D, 0xE4, 0x7B, 0x1A,
+ 0xFA, 0xF9, 0xF8, 0x12, 0x08, 0xEA, 0x8E, 0x29, 0x8F, 0x2A, 0xE4, 0xF5, 0x2B, 0xF5, 0x2C, 0xFA,
+ 0xFB, 0x90, 0x00, 0x9A, 0xE0, 0xC3, 0x9B, 0xFF, 0xE4, 0x9A, 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00,
+ 0xFE, 0x7C, 0x00, 0x7D, 0x28, 0x12, 0x07, 0x98, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90,
+ 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83,
+ 0xF5, 0x83, 0xE5, 0x82, 0x2D, 0xF5, 0x82, 0xE5, 0x83, 0x3C, 0xF5, 0x83, 0xE0, 0x25, 0x2C, 0xF5,
+ 0x2C, 0xE4, 0x35, 0x2B, 0xF5, 0x2B, 0x0B, 0xBB, 0x00, 0x01, 0x0A, 0xEB, 0x64, 0x07, 0x4A, 0x70,
+ 0xB0, 0xAE, 0x2B, 0xAF, 0x2C, 0x7C, 0x00, 0x7D, 0x07, 0x12, 0x07, 0x98, 0x8E, 0x2B, 0x8F, 0x2C,
+ 0xE4, 0xF5, 0x27, 0xF5, 0x28, 0xFA, 0x7B, 0x01, 0x90, 0x00, 0x9A, 0xE0, 0x2B, 0xFF, 0xE4, 0x3A,
+ 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, 0xFE, 0x7C, 0x00, 0x7D, 0x28, 0x12, 0x07, 0x98, 0xAF, 0x23,
+ 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, 0xEE,
+ 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE5, 0x82, 0x2D, 0xF5, 0x82, 0xE5, 0x83, 0x3C,
+ 0xF5, 0x83, 0xE0, 0xC3, 0x95, 0x2C, 0xE5, 0x2B, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08,
+ 0x05, 0x28, 0xE5, 0x28, 0x70, 0x02, 0x05, 0x27, 0x0B, 0xBB, 0x00, 0x01, 0x0A, 0xEB, 0x64, 0x1B,
+ 0x4A, 0x70, 0xA5, 0xC3, 0xE5, 0x2A, 0x95, 0x2C, 0xFF, 0xE5, 0x29, 0x95, 0x2B, 0xFE, 0xC3, 0xEF,
+ 0x94, 0x08, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x50, 0x03, 0x02, 0x0D, 0x78, 0xE5, 0x28, 0x94, 0x0A,
+ 0xE5, 0x27, 0x64, 0x80, 0x94, 0x80, 0x40, 0x03, 0x02, 0x0D, 0x78, 0xE5, 0x23, 0xFD, 0x33, 0x95,
+ 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE5, 0x2C, 0xF0, 0x74,
+ 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0x75, 0xF0, 0x1A, 0xA4, 0xFF, 0xAE,
+ 0xF0, 0xE4, 0xFC, 0xFD, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0xAF, 0x23, 0xEF, 0x33,
+ 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5,
+ 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0x12, 0x09,
+ 0xA5, 0xE4, 0xFA, 0xFB, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x8B, 0x2F, 0xF5, 0x82,
+ 0x74, 0x00, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0xAD, 0x23, 0xED, 0x33, 0x95, 0xE0, 0xFC, 0x90, 0x00,
+ 0x06, 0x75, 0xF0, 0x28, 0xED, 0x12, 0x09, 0xE2, 0xEC, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5,
+ 0x83, 0xE5, 0x82, 0x2B, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83, 0xEF, 0xF0, 0x0B, 0xBB, 0x00,
+ 0x01, 0x0A, 0xEB, 0x64, 0x28, 0x4A, 0x70, 0xBC, 0xE4, 0xF5, 0x2D, 0x75, 0x2E, 0xFF, 0xFA, 0xFB,
+ 0x90, 0x00, 0x9A, 0xE0, 0xC3, 0x9B, 0xFF, 0xE4, 0x9A, 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, 0xFE,
+ 0x7C, 0x00, 0x7D, 0x28, 0x12, 0x07, 0x98, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00,
+ 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5,
+ 0x83, 0xE5, 0x82, 0x2D, 0xF5, 0x82, 0xE5, 0x83, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0xE5, 0x2D, 0xC3,
+ 0x9F, 0x50, 0x02, 0x8F, 0x2D, 0xE5, 0x2E, 0xD3, 0x9F, 0x40, 0x02, 0x8F, 0x2E, 0x0B, 0xBB, 0x00,
+ 0x01, 0x0A, 0xEB, 0x64, 0x0A, 0x4A, 0x70, 0xA8, 0xC3, 0xE5, 0x2D, 0x95, 0x2E, 0xC3, 0x95, 0x2F,
+ 0x50, 0x37, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x8B, 0x2F, 0xF5, 0x82, 0x74, 0x00,
+ 0x3E, 0xF5, 0x83, 0xE0, 0x24, 0x05, 0xFD, 0xE4, 0x33, 0xFC, 0xC3, 0xE5, 0x2D, 0x9D, 0xEC, 0x64,
+ 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x0F, 0x74, 0x8B, 0x2F, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5,
+ 0x83, 0xE5, 0x2D, 0xF0, 0x80, 0x03, 0x7F, 0x01, 0x22, 0xAF, 0x23, 0x12, 0x2B, 0xD1, 0xE5, 0x23,
+ 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0,
+ 0xFE, 0xEF, 0xD3, 0x9E, 0x50, 0x1B, 0xAF, 0x23, 0x12, 0x2B, 0xBF, 0xE5, 0x23, 0xFD, 0x33, 0x95,
+ 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xD3, 0x9F, 0x40,
+ 0x0A, 0xAF, 0x23, 0x12, 0x0E, 0x5E, 0xEF, 0x70, 0x02, 0xFF, 0x22, 0x7F, 0x01, 0x22, 0x90, 0x01,
+ 0x68, 0xEF, 0xF0, 0x90, 0x01, 0x6A, 0x74, 0x01, 0xF0, 0x12, 0x2B, 0xBF, 0x7E, 0x00, 0xC0, 0x06,
+ 0xC0, 0x07, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD1, 0xEF, 0xFD, 0xD0, 0xE0, 0x2D, 0xFF,
+ 0xD0, 0xE0, 0x34, 0x00, 0xA2, 0xE7, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x01, 0x6D, 0xEE, 0xF0,
+ 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD1, 0xC3, 0x90, 0x01, 0x6E, 0xE0,
+ 0x9F, 0xFF, 0x90, 0x01, 0x6D, 0xE0, 0x94, 0x00, 0xFE, 0xEF, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33,
+ 0xCE, 0xD8, 0xF9, 0xFF, 0x7C, 0x00, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0x90, 0x01, 0x6E, 0xE0, 0xC3,
+ 0x9F, 0x90, 0x01, 0x6B, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xBF, 0x90, 0x01, 0x6D,
+ 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFF, 0xE4, 0x9C, 0xFE, 0xEF, 0x78, 0x02, 0xC3,
+ 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x7C, 0x00, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0x90, 0x01,
+ 0x6E, 0x02, 0x12, 0x1E, 0x90, 0x01, 0x68, 0xE0, 0xFB, 0xE4, 0xFD, 0x7F, 0xFF, 0x12, 0x28, 0xFB,
+ 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x12, 0x2B, 0x58, 0x90, 0x01, 0x68,
+ 0xE0, 0xFB, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5,
+ 0x83, 0xEF, 0xF0, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0x74,
+ 0xF5, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFD, 0x12,
+ 0x28, 0xFB, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x90, 0x01, 0x68, 0xE0,
+ 0xFD, 0x12, 0x2A, 0x6E, 0x90, 0x01, 0x6B, 0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x7A, 0x90, 0x01,
+ 0x6B, 0xE0, 0xD3, 0x9F, 0x50, 0x0A, 0xA3, 0xE0, 0xFE, 0xEF, 0x9E, 0x50, 0x03, 0x02, 0x10, 0x69,
+ 0x90, 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00,
+ 0x3C, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0xFF, 0x40, 0x03, 0x02, 0x11, 0x6E, 0x74, 0x03, 0x2D, 0xF5,
+ 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xF9, 0xFD, 0x33,
+ 0x95, 0xE0, 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0x74,
+ 0xF5, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFD, 0xAB,
+ 0x01, 0x12, 0x28, 0xFB, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x90, 0x01,
+ 0x68, 0xE0, 0xFD, 0x12, 0x2A, 0x6E, 0x80, 0x86, 0x90, 0x01, 0x6C, 0xE0, 0xFE, 0xEF, 0xD3, 0x9E,
+ 0x50, 0x03, 0x02, 0x10, 0x69, 0x90, 0x01, 0x6B, 0xE0, 0xD3, 0x9F, 0x50, 0x07, 0xA3, 0xE0, 0xFE,
+ 0xEF, 0x9E, 0x40, 0x75, 0x90, 0x01, 0x68, 0xE0, 0xFE, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0xF5,
+ 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFB, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74,
+ 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0x50, 0x03, 0x02, 0x11, 0x6E, 0xEE, 0x33, 0x95, 0xE0,
+ 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0x14, 0xF0, 0x90, 0x01,
+ 0x68, 0xE0, 0xF9, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0x74,
+ 0xF5, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFD, 0xAB,
+ 0x01, 0x12, 0x28, 0xFB, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x90, 0x01,
+ 0x68, 0xE0, 0xFD, 0x12, 0x2A, 0x6E, 0x02, 0x0F, 0xE5, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B,
+ 0xBF, 0x90, 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74,
+ 0x00, 0x3C, 0xF5, 0x83, 0xEF, 0xF0, 0xE4, 0x90, 0x01, 0x69, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF,
+ 0x12, 0x2B, 0xBF, 0x90, 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x90, 0x00, 0x06, 0x75,
+ 0xF0, 0x28, 0xED, 0x12, 0x09, 0xE2, 0xEC, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0,
+ 0x83, 0xC0, 0x82, 0x90, 0x01, 0x69, 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4,
+ 0x35, 0x83, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x01, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x28,
+ 0x40, 0xB9, 0xE4, 0x90, 0x01, 0x69, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xBF, 0x90,
+ 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x90, 0x00, 0x91, 0x75, 0xF0, 0x03, 0xED, 0x12,
+ 0x09, 0xE2, 0xEC, 0x75, 0xF0, 0x03, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0x90,
+ 0x01, 0x69, 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83,
+ 0xEF, 0xF0, 0x90, 0x01, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0xB9, 0xE4, 0x90,
+ 0x00, 0x8A, 0xF0, 0x90, 0x00, 0x9A, 0x74, 0x27, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B,
+ 0xBF, 0xEF, 0x75, 0xF0, 0x1A, 0xA4, 0xFF, 0xAE, 0xF0, 0xE4, 0xFC, 0xFD, 0xC0, 0x04, 0xC0, 0x05,
+ 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02,
+ 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83,
+ 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0x12, 0x09, 0xA5, 0x7F, 0x01, 0x22, 0x90, 0x01,
+ 0x6A, 0xE0, 0x64, 0x01, 0x70, 0x52, 0x74, 0x02, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B,
+ 0xD1, 0xC3, 0x90, 0x01, 0x6E, 0xE0, 0x9F, 0xFF, 0x90, 0x01, 0x6D, 0xE0, 0x94, 0x00, 0xFE, 0x7C,
+ 0x00, 0x7D, 0x07, 0x12, 0x07, 0x31, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0xA3, 0xE0, 0xC3, 0x9F, 0x90,
+ 0x01, 0x6B, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xBF, 0x90, 0x01, 0x6D, 0xE0, 0xFC,
+ 0xA3, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFF, 0xE4, 0x9C, 0xFE, 0x7C, 0x00, 0x7D, 0x07, 0x12, 0x07,
+ 0x31, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0x80, 0x56, 0x90, 0x01, 0x6A, 0xE0, 0x64, 0x02, 0x70, 0x57,
+ 0x74, 0x03, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD1, 0xC3, 0x90, 0x01, 0x6E, 0xE0,
+ 0x9F, 0xFF, 0x90, 0x01, 0x6D, 0xE0, 0x94, 0x00, 0xFE, 0x7C, 0x00, 0x7D, 0x09, 0x12, 0x07, 0x31,
+ 0x0D, 0x12, 0x07, 0x98, 0xA3, 0xE0, 0xC3, 0x9F, 0x90, 0x01, 0x6B, 0xF0, 0x90, 0x01, 0x68, 0xE0,
+ 0xFF, 0x12, 0x2B, 0xBF, 0x90, 0x01, 0x6D, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFF,
+ 0xE4, 0x9C, 0xFE, 0x7C, 0x00, 0x7D, 0x09, 0x12, 0x07, 0x31, 0x0D, 0x12, 0x07, 0x98, 0xE0, 0x2F,
+ 0x90, 0x01, 0x6C, 0xF0, 0x02, 0x0E, 0xF4, 0x90, 0x01, 0x6A, 0xE0, 0xB4, 0x03, 0x22, 0x74, 0x04,
+ 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xBF, 0xEF, 0x24, 0x0C, 0x90, 0x01, 0x6C, 0xF0,
+ 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD1, 0x90, 0x01, 0x6B, 0xEF, 0xF0, 0x02, 0x0E, 0xF4,
+ 0x7F, 0x00, 0x22, 0x8B, 0x23, 0x8A, 0x24, 0x89, 0x25, 0x8D, 0x26, 0xE4, 0xF5, 0x28, 0xE4, 0xF5,
+ 0x27, 0xAD, 0x27, 0xED, 0x33, 0x95, 0xE0, 0xFC, 0xC3, 0xED, 0x95, 0x26, 0x74, 0x80, 0xF8, 0x6C,
+ 0x98, 0x50, 0x57, 0x12, 0x2C, 0x54, 0xE4, 0xFD, 0xFF, 0x12, 0x1C, 0xF4, 0xE5, 0x27, 0xFD, 0x33,
+ 0x95, 0xE0, 0xFC, 0x74, 0xD1, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xEF, 0xF0, 0xE4,
+ 0xFD, 0x7F, 0x01, 0x12, 0x1C, 0xF4, 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0xEC, 0x2D,
+ 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xEF, 0xF0, 0xE4, 0xFD, 0x7F, 0x02, 0x12, 0x1C, 0xF4,
+ 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x07, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5,
+ 0x83, 0xEF, 0xF0, 0x12, 0x2C, 0x5C, 0x05, 0x27, 0x80, 0x97, 0xE4, 0xF5, 0x27, 0xAF, 0x27, 0xEF,
+ 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD1, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75,
+ 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x08, 0x90, 0x00, 0xD2, 0x75, 0xF0, 0x1B,
+ 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x09,
+ 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD3, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE,
+ 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x0A, 0x90, 0x00, 0xD4, 0x75, 0xF0,
+ 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5,
+ 0x0B, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD5, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2,
+ 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x0C, 0x90, 0x00, 0xD6, 0x75,
+ 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0,
+ 0xF5, 0x0D, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD7, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09,
+ 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x0E, 0x90, 0x00, 0xD8,
+ 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83,
+ 0xE0, 0xF5, 0x0F, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD9, 0x75, 0xF0, 0x1B, 0xEF, 0x12,
+ 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x10, 0x90, 0x00,
+ 0xDA, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5,
+ 0x83, 0xE0, 0xF5, 0x11, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xDB, 0x75, 0xF0, 0x1B, 0xEF,
+ 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x12, 0x90,
+ 0x00, 0xDC, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83,
+ 0xF5, 0x83, 0xE0, 0xF5, 0x13, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xDD, 0x75, 0xF0, 0x1B,
+ 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x14,
+ 0x90, 0x00, 0xDE, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25,
+ 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x15, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xDF, 0x75, 0xF0,
+ 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5,
+ 0x16, 0x90, 0x00, 0xE0, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4,
+ 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x17, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xE1, 0x75,
+ 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0,
+ 0xF5, 0x18, 0x7C, 0x00, 0x78, 0x08, 0xE8, 0x2C, 0xF8, 0xF9, 0xE6, 0xFA, 0xEC, 0xFB, 0x0B, 0x08,
+ 0xE6, 0x9A, 0x40, 0x0B, 0xE6, 0xCA, 0xF6, 0xE8, 0xFD, 0xE9, 0xF8, 0xEA, 0xF6, 0xED, 0xF8, 0x0B,
+ 0xBB, 0x11, 0xEC, 0x0C, 0xBC, 0x09, 0xDD, 0xAD, 0x27, 0xAF, 0x10, 0x12, 0x2A, 0x6E, 0xAB, 0x23,
+ 0xAA, 0x24, 0xA9, 0x25, 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0x8D, 0x82, 0xF5, 0x83, 0xEF, 0x12,
+ 0x07, 0x0F, 0x05, 0x27, 0xC3, 0xE5, 0x27, 0x64, 0x80, 0x94, 0x83, 0x50, 0x03, 0x02, 0x12, 0xCD,
+ 0xC3, 0xE5, 0x28, 0x64, 0x80, 0x94, 0x86, 0x50, 0x35, 0xE4, 0xF5, 0x27, 0xC3, 0xE5, 0x27, 0x64,
+ 0x80, 0x94, 0x83, 0x50, 0x29, 0xAF, 0x27, 0x12, 0x2B, 0xD1, 0xEF, 0x24, 0xF8, 0xFF, 0xAB, 0x23,
+ 0xAA, 0x24, 0xA9, 0x25, 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0x8D, 0x82, 0xF5, 0x83, 0x12, 0x06,
+ 0xD0, 0xC3, 0x9F, 0x50, 0x05, 0x05, 0x28, 0x02, 0x12, 0x5E, 0x05, 0x27, 0x80, 0xCE, 0x22, 0x90,
+ 0x01, 0x64, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x67, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xE4, 0xA3, 0xF0,
+ 0xA3, 0xF0, 0x90, 0x01, 0x69, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64, 0x80,
+ 0x94, 0x80, 0x40, 0x03, 0x02, 0x17, 0x63, 0xE4, 0xA3, 0xF0, 0x90, 0x01, 0x67, 0xE0, 0xF4, 0x70,
+ 0x03, 0xA3, 0xE0, 0xF4, 0x70, 0x30, 0x90, 0x01, 0xC8, 0xE0, 0xFD, 0x90, 0x01, 0xC7, 0xE0, 0x2D,
+ 0xFD, 0xE4, 0x33, 0xFC, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82,
+ 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xC3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40,
+ 0x03, 0x02, 0x16, 0x3E, 0x80, 0x48, 0x90, 0x01, 0x68, 0xE0, 0x24, 0x33, 0xF8, 0xE6, 0xFF, 0x33,
+ 0x95, 0xE0, 0xFE, 0xA3, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x6F, 0x70, 0x02, 0xEC, 0x6E, 0x60, 0x3E,
+ 0x90, 0x01, 0xC8, 0xE0, 0xFF, 0x90, 0x01, 0xC7, 0xE0, 0x2F, 0xFB, 0xE4, 0x33, 0xFA, 0xED, 0x25,
+ 0xE0, 0xFF, 0xEC, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0,
+ 0xC3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x03, 0x02, 0x16, 0x3E, 0x74, 0x84,
+ 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x02, 0x16, 0x3E, 0x90, 0x01,
+ 0xC9, 0xE0, 0xFF, 0x90, 0x01, 0xC6, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x01, 0x81, 0xE0,
+ 0x24, 0xCB, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xE0, 0x7C, 0x00, 0x2F, 0xFD, 0xEC, 0x3E,
+ 0xFC, 0x90, 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x83,
+ 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xC3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74,
+ 0x80, 0x98, 0x50, 0x0F, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0x04,
+ 0xF0, 0x80, 0x25, 0x90, 0x01, 0xC9, 0xE0, 0xFF, 0x90, 0x01, 0xC6, 0xE0, 0x2F, 0x04, 0xFD, 0x90,
+ 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x83, 0x2F, 0xF5,
+ 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x01, 0x6B, 0x74, 0x01, 0xF0, 0x90, 0x01,
+ 0x6B, 0xE0, 0x60, 0x38, 0x90, 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33,
+ 0xFE, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x01, 0xC6,
+ 0xE0, 0xFE, 0xEF, 0x6E, 0x70, 0x6F, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x02, 0xE4,
+ 0x12, 0x07, 0x0F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x08, 0x47, 0x80, 0x59, 0x90, 0x01, 0x6A, 0xE0,
+ 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01,
+ 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x01, 0xC7, 0xE0, 0xFE, 0xEF, 0xB5, 0x06, 0x37, 0x90, 0x01,
+ 0x64, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x02, 0x74, 0xFF, 0x12, 0x07, 0x0F, 0xE4, 0x75, 0xF0, 0x02,
+ 0x12, 0x08, 0x47, 0x90, 0x01, 0x6A, 0xE0, 0xFF, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x90, 0x00,
+ 0x05, 0xEF, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x13, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0xE4, 0x90,
+ 0x01, 0x80, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x6B, 0xE0, 0x60, 0x2C, 0x90, 0x01, 0x6A, 0xE0, 0x25,
+ 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E,
+ 0xF5, 0x83, 0xE0, 0xFD, 0x90, 0x01, 0xC6, 0xE0, 0xFC, 0xED, 0xC3, 0x9C, 0x40, 0x38, 0x74, 0x84,
+ 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x80, 0x2A, 0x90, 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01,
+ 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFD,
+ 0x90, 0x01, 0xC7, 0xE0, 0xFC, 0xED, 0xC3, 0x9C, 0x40, 0x0C, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74,
+ 0x01, 0x3E, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x12, 0x07, 0xE4, 0x45,
+ 0xF0, 0x60, 0x13, 0x78, 0x89, 0x7C, 0x01, 0x7D, 0x01, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x7E,
+ 0x00, 0x7F, 0x19, 0x12, 0x06, 0x6F, 0x90, 0x01, 0x69, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE,
+ 0x02, 0x15, 0x12, 0x22, 0x41, 0x02, 0x3A, 0x00, 0x4E, 0x01, 0xDD, 0x00, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x01, 0xEB, 0x00, 0x41, 0x01, 0xDB,
+ 0x00, 0x41, 0x01, 0xDC, 0x01, 0x41, 0x01, 0xFB, 0x00, 0x41, 0x02, 0x05, 0x00, 0x41, 0x02, 0x06,
+ 0x00, 0x43, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x41, 0x02, 0x1A, 0x02, 0x41, 0x02, 0x1B, 0x02, 0x41,
+ 0x02, 0x1C, 0x01, 0x41, 0x02, 0x1D, 0x01, 0x42, 0x02, 0x17, 0x00, 0x00, 0x41, 0x02, 0x19, 0x00,
+ 0x41, 0x02, 0x34, 0x00, 0x41, 0x02, 0x32, 0xFF, 0x41, 0x02, 0x33, 0xFF, 0x42, 0x01, 0xC0, 0xFF,
+ 0xFF, 0x59, 0x01, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x01, 0xC2,
+ 0x00, 0x41, 0x01, 0xA4, 0x00, 0x41, 0x01, 0xA3, 0x01, 0x41, 0x01, 0xA2, 0x0D, 0x46, 0x01, 0x83,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x01, 0x82, 0x32, 0x41, 0x00, 0x8A, 0x00, 0x41, 0x01,
+ 0x22, 0x01, 0x41, 0x01, 0x3F, 0x00, 0x44, 0x01, 0x3B, 0x01, 0x00, 0x00, 0x02, 0x54, 0x01, 0x23,
+ 0x00, 0x02, 0x1C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x40, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x41, 0x01, 0xC3, 0x00, 0x41, 0x01, 0xD8, 0x00, 0x46, 0x01, 0xD2, 0x00,
+ 0x01, 0x00, 0x02, 0x00, 0x03, 0x4E, 0x01, 0xC4, 0x01, 0x01, 0x03, 0x02, 0x0C, 0x25, 0x25, 0x25,
+ 0x02, 0x02, 0x02, 0x02, 0x25, 0x25, 0x03, 0x33, 0x00, 0x01, 0x02, 0x03, 0x36, 0x01, 0x00, 0x02,
+ 0x43, 0x01, 0xF2, 0x03, 0x04, 0x05, 0x43, 0x01, 0xF5, 0x0E, 0x0F, 0x13, 0x43, 0x01, 0xEF, 0x0F,
+ 0x0F, 0x0F, 0x43, 0x01, 0xEC, 0x0B, 0x0B, 0x0B, 0x43, 0x01, 0xF8, 0x0A, 0x0A, 0x0A, 0x42, 0x02,
+ 0x38, 0x00, 0x08, 0x60, 0x36, 0x00, 0x9B, 0x04, 0x08, 0x00, 0x00, 0x08, 0x02, 0x02, 0x08, 0x10,
+ 0xEA, 0x08, 0x11, 0xEC, 0x08, 0x12, 0xA2, 0x08, 0x13, 0xEE, 0x08, 0x14, 0xA3, 0x08, 0x15, 0xF4,
+ 0x08, 0x16, 0xA2, 0x08, 0x17, 0xF6, 0x08, 0x18, 0xA0, 0x08, 0x19, 0xF8, 0x08, 0x1A, 0xA8, 0x08,
+ 0x1B, 0xFA, 0x08, 0x1C, 0xA8, 0x08, 0x1D, 0xFC, 0x08, 0x1E, 0xA8, 0x08, 0x1F, 0x43, 0x02, 0x27,
+ 0xBF, 0xC0, 0xBA, 0x43, 0x02, 0x24, 0x90, 0x93, 0x93, 0x00, 0x90, 0x01, 0x68, 0x12, 0x0A, 0x0E,
+ 0x74, 0xFF, 0x90, 0x01, 0x76, 0xF0, 0xA3, 0xF0, 0xE4, 0x90, 0x01, 0x7C, 0xF0, 0x90, 0x01, 0x74,
+ 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x74, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64,
+ 0x80, 0x94, 0x80, 0x50, 0x29, 0x90, 0x01, 0x6E, 0x12, 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0x12,
+ 0x06, 0xD0, 0xFF, 0x90, 0x01, 0x75, 0xE0, 0x24, 0x7D, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83,
+ 0xEF, 0xF0, 0x90, 0x01, 0x74, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x80, 0xC5, 0xE4, 0x90,
+ 0x01, 0x7A, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x78, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x71, 0x12, 0x09,
+ 0xEE, 0x90, 0x00, 0x13, 0x12, 0x08, 0x0F, 0xFF, 0x90, 0x01, 0x6E, 0x12, 0x09, 0xEE, 0x8F, 0x82,
+ 0x85, 0xF0, 0x83, 0x12, 0x06, 0xD0, 0xFF, 0xC3, 0x90, 0x02, 0x39, 0xE0, 0x9F, 0x90, 0x02, 0x38,
+ 0xE0, 0x94, 0x00, 0x50, 0x20, 0x90, 0x01, 0x71, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x13, 0x12, 0x08,
+ 0x0F, 0xFF, 0xAE, 0xF0, 0xF4, 0x70, 0x02, 0xEE, 0xF4, 0x60, 0x0A, 0x90, 0x01, 0x76, 0xEE, 0xF0,
+ 0xA3, 0xEF, 0xF0, 0x80, 0x78, 0xE4, 0x90, 0x01, 0x74, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x75, 0xE0,
+ 0x24, 0x7D, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xE0, 0xFF, 0x7E, 0x00, 0x90, 0x01, 0x78,
+ 0xEE, 0x8F, 0xF0, 0x12, 0x07, 0xCE, 0xC3, 0x90, 0x01, 0x7B, 0xE0, 0x9F, 0x90, 0x01, 0x7A, 0xE0,
+ 0x9E, 0x50, 0x12, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x74, 0xE0, 0xFF, 0xA3, 0xE0, 0xA3,
+ 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x74, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x90,
+ 0x01, 0x74, 0xE0, 0x70, 0x04, 0xA3, 0xE0, 0x64, 0x03, 0x70, 0xB1, 0x90, 0x02, 0x38, 0xE0, 0xFE,
+ 0xA3, 0xE0, 0xFF, 0xC3, 0x90, 0x01, 0x7B, 0xE0, 0x9F, 0x90, 0x01, 0x7A, 0xE0, 0x9E, 0x50, 0x0D,
+ 0x74, 0xFF, 0x90, 0x01, 0x76, 0xF0, 0xA3, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x76,
+ 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x01, 0x68, 0x12, 0x09, 0xEE, 0xEE, 0x8F, 0xF0, 0x12, 0x08,
+ 0x47, 0x90, 0x01, 0x78, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x01, 0x6B, 0x12, 0x09, 0xEE, 0xEE,
+ 0x8F, 0xF0, 0x02, 0x08, 0x47, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75,
+ 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06,
+ 0xC0, 0x07, 0xC2, 0xAF, 0x53, 0xE8, 0xDF, 0xC2, 0xB7, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xDD, 0x90,
+ 0x01, 0xFF, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x3F, 0x74, 0x01, 0xF0, 0xD2, 0xD8, 0x30, 0xB3, 0x4B,
+ 0x20, 0xB5, 0x48, 0x30, 0xB4, 0x24, 0x90, 0x02, 0x05, 0xE4, 0xF0, 0x90, 0x01, 0xFF, 0x12, 0x09,
+ 0xEE, 0x90, 0x02, 0x05, 0xE0, 0xF5, 0x82, 0x75, 0x83, 0x00, 0x12, 0x06, 0xD0, 0xF5, 0xB4, 0x43,
+ 0xB1, 0x20, 0x90, 0x01, 0xFB, 0x74, 0x03, 0xF0, 0x80, 0x74, 0x90, 0x02, 0x06, 0xE4, 0xF0, 0x90,
+ 0x01, 0xFC, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xFC, 0x90, 0x02, 0x02,
+ 0x12, 0x0A, 0x0E, 0x90, 0x01, 0xFB, 0x74, 0x02, 0xF0, 0x80, 0x53, 0x90, 0x01, 0xFB, 0xE0, 0xB4,
+ 0x03, 0x22, 0x20, 0xB5, 0x1A, 0x90, 0x02, 0x05, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0xFF, 0x12, 0x09,
+ 0xEE, 0x90, 0x02, 0x05, 0xE0, 0xF5, 0x82, 0x75, 0x83, 0x00, 0x12, 0x06, 0xD0, 0xF5, 0xB4, 0x43,
+ 0xB1, 0x20, 0x80, 0x2A, 0x90, 0x01, 0xFB, 0xE0, 0xB4, 0x02, 0x23, 0x43, 0xB1, 0x20, 0x20, 0xB3,
+ 0x1D, 0x20, 0xB5, 0x1A, 0x90, 0x02, 0x02, 0x12, 0x09, 0xEE, 0x90, 0x02, 0x06, 0xE0, 0xF5, 0x82,
+ 0x75, 0x83, 0x00, 0xE5, 0xB4, 0x12, 0x07, 0x0F, 0x90, 0x02, 0x06, 0xE0, 0x04, 0xF0, 0x43, 0xB1,
+ 0x20, 0x90, 0x01, 0xFB, 0xE0, 0x64, 0x02, 0x70, 0x22, 0x90, 0x01, 0xEB, 0xE0, 0x60, 0x13, 0x30,
+ 0xB2, 0x10, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xFC, 0x90, 0x02, 0x06, 0xE0, 0xFD, 0x12, 0x25, 0xB0,
+ 0x80, 0x09, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xFC, 0x12, 0x1C, 0x1D, 0x43, 0x9E, 0x04, 0x43, 0xE8,
+ 0x20, 0xD2, 0xAF, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0,
+ 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x01,
+ 0x68, 0x12, 0x0A, 0x0E, 0xE4, 0x90, 0x01, 0x6B, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x6B, 0xE0, 0xFE,
+ 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x50, 0x76, 0x90, 0x01, 0x68,
+ 0x12, 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0x12, 0x06, 0xD0, 0xFF, 0x90, 0x01, 0x6C, 0xE0, 0xF9,
+ 0x24, 0x8B, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFD, 0xE4,
+ 0x94, 0x00, 0xFC, 0x90, 0x01, 0x6C, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x6B, 0xE0, 0x33, 0xFE,
+ 0x74, 0x6D, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0x74,
+ 0x6D, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0xEE,
+ 0x64, 0x80, 0x94, 0x80, 0x50, 0x04, 0x7F, 0x00, 0x80, 0x00, 0x74, 0x8E, 0x29, 0xF5, 0x82, 0xE4,
+ 0x34, 0x00, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x01, 0x6B, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE,
+ 0x02, 0x1B, 0x3B, 0xC2, 0xAF, 0xE4, 0x90, 0x01, 0x6B, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x6C, 0xE0,
+ 0xFF, 0x24, 0x8E, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0xE0, 0x2F, 0xF5,
+ 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x01, 0x6C, 0xE0, 0xFF, 0x24, 0x8B, 0xF5,
+ 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0xE7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x01,
+ 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x01, 0x6B, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x90, 0x01,
+ 0x6B, 0xE0, 0x70, 0x04, 0xA3, 0xE0, 0x64, 0x03, 0x70, 0xB2, 0xD2, 0xAF, 0x22, 0x90, 0x01, 0x54,
+ 0x12, 0x0A, 0x0E, 0x12, 0x06, 0xB7, 0x90, 0x01, 0x57, 0xF0, 0x12, 0x0A, 0x17, 0x1C, 0x6D, 0x01,
+ 0x1C, 0x78, 0x02, 0x1C, 0xD2, 0x0A, 0x1C, 0xD5, 0x0B, 0x1C, 0xD9, 0x0C, 0x1C, 0xCB, 0x10, 0x1C,
+ 0x82, 0x12, 0x1C, 0x97, 0x13, 0x1C, 0xAC, 0x14, 0x1C, 0xE7, 0x55, 0x1C, 0xDD, 0xA0, 0x1C, 0xDD,
+ 0xA1, 0x1C, 0xDD, 0xA2, 0x1C, 0xDD, 0xA3, 0x1C, 0xDD, 0xA4, 0x1C, 0xDD, 0xA5, 0x1C, 0xDD, 0xA6,
+ 0x1C, 0xDD, 0xA7, 0x1C, 0xDD, 0xA8, 0x1C, 0xDD, 0xA9, 0x00, 0x00, 0x1C, 0xF3, 0x7F, 0x01, 0x12,
+ 0x2C, 0x82, 0xE4, 0x90, 0x01, 0xDC, 0xF0, 0x22, 0xE4, 0xFF, 0x12, 0x2C, 0x82, 0x90, 0x01, 0xDC,
+ 0x80, 0x4C, 0x90, 0x01, 0xA2, 0xE0, 0xC3, 0x94, 0x0D, 0x50, 0x68, 0x7F, 0x14, 0x12, 0x2C, 0x82,
+ 0x90, 0x01, 0xA2, 0xE0, 0x04, 0xF0, 0x22, 0x90, 0x01, 0xA2, 0xE0, 0xD3, 0x94, 0x00, 0x40, 0x53,
+ 0x7F, 0x14, 0x12, 0x2C, 0x82, 0x90, 0x01, 0xA2, 0xE0, 0x14, 0xF0, 0x22, 0x90, 0x01, 0x54, 0x12,
+ 0x09, 0xEE, 0x90, 0x00, 0x01, 0x12, 0x06, 0xD0, 0x90, 0x01, 0xA2, 0xF0, 0xD3, 0x94, 0x00, 0x40,
+ 0x32, 0xE0, 0x94, 0x0F, 0x50, 0x2D, 0x7F, 0x14, 0x02, 0x2C, 0x82, 0x90, 0x02, 0x3A, 0x74, 0x01,
+ 0xF0, 0x22, 0xE4, 0x80, 0x0E, 0x7F, 0x02, 0x80, 0x0B, 0x7F, 0x04, 0x80, 0x07, 0x90, 0x01, 0x57,
+ 0xE0, 0x24, 0x60, 0xFF, 0x02, 0x00, 0x6E, 0x90, 0x01, 0xEB, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xDD,
+ 0x74, 0xAA, 0xF0, 0x22, 0x8D, 0x32, 0xEF, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0xEC, 0x2D, 0xF5,
+ 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xC4, 0x54, 0xF0, 0x44, 0x0F, 0x90, 0x08, 0x02, 0xF0,
+ 0x74, 0xF8, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x74, 0xF4, 0x9E,
+ 0x90, 0x08, 0x14, 0xF0, 0xE0, 0x14, 0x90, 0x08, 0x12, 0xF0, 0x74, 0x36, 0x2F, 0xF8, 0xE6, 0xC4,
+ 0x54, 0xF0, 0x90, 0x08, 0x00, 0xF0, 0xE0, 0x44, 0x0A, 0xF0, 0xE4, 0x90, 0x01, 0x3F, 0xF0, 0x90,
+ 0x08, 0x03, 0x74, 0xFE, 0xF0, 0x90, 0x08, 0x00, 0xE0, 0x44, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x90, 0x08, 0x03, 0x74, 0xFE, 0xF0, 0x90, 0x08, 0x00, 0xE0, 0x20, 0xE0, 0xF9, 0x90,
+ 0x01, 0x3F, 0xE0, 0x70, 0x95, 0x90, 0x08, 0x00, 0xE0, 0x54, 0xF7, 0xF0, 0xA3, 0xE0, 0xFF, 0x22,
+ 0x90, 0x01, 0x68, 0x12, 0x0A, 0x0E, 0xD2, 0xD8, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x6C, 0x7D, 0x11,
+ 0x12, 0x12, 0x53, 0xD2, 0xD8, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x6F, 0x7D, 0x11, 0x12, 0x12, 0x53,
+ 0xD2, 0xD8, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x72, 0x7D, 0x11, 0x12, 0x12, 0x53, 0xE4, 0x90, 0x01,
+ 0x6B, 0xF0, 0xD2, 0xD8, 0x90, 0x01, 0x6B, 0xE0, 0xFF, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x6C,
+ 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFB, 0x90, 0x01, 0x75, 0xE4, 0xF0, 0xA3,
+ 0xEB, 0xF0, 0x74, 0x6F, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFD, 0x90, 0x01,
+ 0x75, 0xE4, 0x8D, 0xF0, 0x12, 0x07, 0xCE, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x72, 0x2F, 0xF5,
+ 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x01, 0x75, 0xE4, 0x8F, 0xF0, 0x12, 0x07,
+ 0xCE, 0x90, 0x01, 0x75, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x07, 0x43,
+ 0x90, 0x01, 0x68, 0x12, 0x09, 0xEE, 0x90, 0x01, 0x6B, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0x8D, 0x82,
+ 0xF5, 0x83, 0xEF, 0x12, 0x07, 0x0F, 0x90, 0x01, 0x6B, 0xE0, 0x04, 0xF0, 0xE0, 0x64, 0x03, 0x70,
+ 0x81, 0x22, 0x90, 0x01, 0x42, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x13,
+ 0x90, 0x00, 0x02, 0x12, 0x06, 0xD0, 0xFE, 0xF4, 0x60, 0x09, 0xEE, 0x60, 0x06, 0x90, 0x01, 0xD8,
+ 0x74, 0x01, 0xF0, 0xEF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x63, 0x90, 0x01, 0xD8, 0xE0, 0x70,
+ 0x5D, 0x90, 0x00, 0x05, 0x12, 0x06, 0xD0, 0xFF, 0xC3, 0x64, 0x80, 0x94, 0x84, 0x50, 0x4F, 0x12,
+ 0x07, 0xE4, 0x30, 0xE1, 0x1D, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33,
+ 0xFE, 0x74, 0xD2, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xA3, 0xE0, 0xFF, 0x7D, 0x02,
+ 0x80, 0x27, 0x12, 0x07, 0xE4, 0x30, 0xE0, 0x26, 0x90, 0x00, 0x05, 0x12, 0x06, 0xD0, 0xFF, 0x33,
+ 0x95, 0xE0, 0xFE, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0xD2, 0x2F, 0xF5, 0x82, 0x74,
+ 0x01, 0x3E, 0xF5, 0x83, 0xA3, 0xE0, 0xFF, 0x7D, 0x01, 0x7C, 0x00, 0x12, 0x2A, 0xAD, 0x90, 0x00,
+ 0x02, 0x12, 0x06, 0xD0, 0xB4, 0xFF, 0x12, 0x90, 0x01, 0x42, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54,
+ 0x01, 0x20, 0xE0, 0x05, 0xE4, 0x90, 0x01, 0xD8, 0xF0, 0x22, 0x90, 0x01, 0x60, 0xEC, 0xF0, 0xA3,
+ 0xED, 0xF0, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x47, 0x90, 0x00, 0x13, 0xEC, 0x8D, 0xF0, 0x12, 0x08,
+ 0x66, 0xBC, 0xFF, 0x07, 0xBD, 0xFF, 0x04, 0x7F, 0xFF, 0x80, 0x09, 0x90, 0x01, 0x61, 0xE0, 0x24,
+ 0x33, 0xF8, 0xE6, 0xFF, 0x90, 0x00, 0x05, 0xEF, 0x12, 0x07, 0x0F, 0x90, 0x01, 0x62, 0xE0, 0xFE,
+ 0xA3, 0xE0, 0xFF, 0x90, 0x00, 0x11, 0xEE, 0x8F, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x02, 0x74,
+ 0xFF, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x08,
+ 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x0A, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90,
+ 0x00, 0x0E, 0xE4, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x0F, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90,
+ 0x00, 0x0C, 0x74, 0xFF, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x17, 0xE4, 0xF5, 0xF0, 0x12,
+ 0x08, 0x66, 0x90, 0x01, 0x82, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xEE, 0x94, 0x00, 0x50, 0x0B, 0x90,
+ 0x01, 0x60, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x14, 0xFF, 0x22, 0x90, 0x01, 0x5D, 0x12, 0x0A,
+ 0x0E, 0xE4, 0x90, 0x01, 0x67, 0xF0, 0x7B, 0x01, 0x7A, 0x00, 0x79, 0x00, 0x12, 0x1D, 0xB0, 0x90,
+ 0x00, 0x9A, 0xE0, 0x24, 0x29, 0x75, 0xF0, 0x28, 0x84, 0xE5, 0xF0, 0xF0, 0xE4, 0x90, 0x01, 0x66,
+ 0xF0, 0x90, 0x01, 0x66, 0xE0, 0xFF, 0xC3, 0x64, 0x80, 0x94, 0x83, 0x50, 0x16, 0x7B, 0x01, 0x7A,
+ 0x00, 0x79, 0x00, 0x12, 0x0A, 0x3D, 0x90, 0x01, 0x67, 0xEF, 0xF0, 0x90, 0x01, 0x66, 0xE0, 0x04,
+ 0xF0, 0x80, 0xDE, 0x7B, 0x01, 0x7A, 0x00, 0x79, 0x00, 0x12, 0x1B, 0x2E, 0x90, 0x01, 0x67, 0xE0,
+ 0x60, 0x2D, 0x90, 0x01, 0x60, 0x12, 0x09, 0xEE, 0x90, 0x01, 0x6B, 0x12, 0x0A, 0x0E, 0x7B, 0x01,
+ 0x7A, 0x00, 0x79, 0x8E, 0x90, 0x01, 0x6E, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x63, 0x12, 0x09, 0xEE,
+ 0x90, 0x01, 0x71, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x5D, 0x12, 0x09, 0xEE, 0x02, 0x18, 0xBA, 0x7B,
+ 0x00, 0x7A, 0xFF, 0x79, 0xFF, 0x90, 0x01, 0x5D, 0x12, 0x0A, 0x0E, 0x7A, 0x00, 0x79, 0x00, 0x90,
+ 0x01, 0x60, 0x12, 0x0A, 0x0E, 0x22, 0xED, 0x64, 0x80, 0x4C, 0x70, 0x03, 0x8F, 0x80, 0x22, 0xED,
+ 0x64, 0x90, 0x4C, 0x70, 0x03, 0x8F, 0x90, 0x22, 0xED, 0x64, 0x95, 0x4C, 0x70, 0x03, 0x8F, 0x95,
+ 0x22, 0xED, 0x64, 0x96, 0x4C, 0x70, 0x03, 0x8F, 0x96, 0x22, 0xED, 0x64, 0x9D, 0x4C, 0x70, 0x03,
+ 0x8F, 0x9D, 0x22, 0xED, 0x64, 0x9E, 0x4C, 0x70, 0x03, 0x8F, 0x9E, 0x22, 0xED, 0x64, 0xA5, 0x4C,
+ 0x70, 0x03, 0x8F, 0xA5, 0x22, 0xED, 0x64, 0xA6, 0x4C, 0x70, 0x03, 0x8F, 0xA6, 0x22, 0xED, 0x64,
+ 0xD2, 0x4C, 0x70, 0x03, 0x8F, 0xD2, 0x22, 0xED, 0x64, 0xD4, 0x4C, 0x70, 0x03, 0x8F, 0xD4, 0x22,
+ 0xED, 0x64, 0xD6, 0x4C, 0x70, 0x03, 0x8F, 0xD6, 0x22, 0xED, 0x64, 0xDC, 0x4C, 0x70, 0x03, 0x8F,
+ 0xDC, 0x22, 0xED, 0x64, 0xDD, 0x4C, 0x70, 0x03, 0x8F, 0xDD, 0x22, 0xED, 0x64, 0xDE, 0x4C, 0x70,
+ 0x03, 0x8F, 0xDE, 0x22, 0xED, 0x64, 0xDF, 0x4C, 0x70, 0x03, 0x8F, 0xDF, 0x22, 0xC3, 0xED, 0x94,
+ 0xF9, 0xEC, 0x94, 0x00, 0x40, 0x06, 0x8D, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x22, 0x12, 0x2C, 0x8E,
+ 0x90, 0x02, 0x3B, 0xEF, 0xF0, 0x12, 0x2C, 0x88, 0xEF, 0x60, 0x5F, 0x90, 0x02, 0x19, 0xE0, 0x70,
+ 0x0B, 0x90, 0x02, 0x17, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x80, 0x4E, 0x90, 0x02, 0x17, 0xE4,
+ 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0xD3, 0x90, 0x02, 0x18, 0xE0, 0x94, 0x0C, 0x90, 0x02, 0x17,
+ 0xE0, 0x94, 0x00, 0x40, 0x35, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x02, 0x3B, 0xE0, 0x70,
+ 0x04, 0x7F, 0x04, 0x80, 0x1F, 0x90, 0x02, 0x3B, 0xE0, 0xB4, 0x01, 0x04, 0x7F, 0x08, 0x80, 0x14,
+ 0x90, 0x02, 0x3B, 0xE0, 0xB4, 0x02, 0x04, 0x7F, 0x0C, 0x80, 0x09, 0x90, 0x02, 0x3B, 0xE0, 0xB4,
+ 0x03, 0x05, 0x7F, 0x10, 0x12, 0x2C, 0x82, 0x12, 0x2C, 0x02, 0x90, 0x02, 0x1C, 0xE0, 0x60, 0x1D,
+ 0x90, 0x02, 0x1A, 0xE0, 0x60, 0x04, 0xE0, 0xB4, 0x01, 0x09, 0xE4, 0xF5, 0x8A, 0xF5, 0x8C, 0xD2,
+ 0x8C, 0x80, 0x0A, 0x90, 0x02, 0x1A, 0xE0, 0xB4, 0x03, 0x03, 0xE4, 0xF5, 0x8A, 0xD2, 0xD8, 0xC2,
+ 0x8D, 0x22, 0x90, 0x01, 0x5B, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xD3, 0x94, 0xF8, 0xEE, 0x94, 0x00,
+ 0x50, 0x70, 0x90, 0x01, 0x5B, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xEE, 0x70, 0x62, 0xEF, 0x12, 0x0A,
+ 0x17, 0x21, 0xC2, 0x80, 0x21, 0xC5, 0x90, 0x21, 0xC8, 0x95, 0x21, 0xCB, 0x96, 0x21, 0xCE, 0x9D,
+ 0x21, 0xD1, 0x9E, 0x21, 0xD4, 0xA5, 0x21, 0xD7, 0xA6, 0x21, 0xDA, 0xD2, 0x21, 0xDD, 0xD4, 0x21,
+ 0xE0, 0xD6, 0x21, 0xE3, 0xDC, 0x21, 0xE6, 0xDD, 0x21, 0xE9, 0xDE, 0x21, 0xEC, 0xDF, 0x00, 0x00,
+ 0x21, 0xEF, 0xAF, 0x80, 0x22, 0xAF, 0x90, 0x22, 0xAF, 0x95, 0x22, 0xAF, 0x96, 0x22, 0xAF, 0x9D,
+ 0x22, 0xAF, 0x9E, 0x22, 0xAF, 0xA5, 0x22, 0xAF, 0xA6, 0x22, 0xAF, 0xD2, 0x22, 0xAF, 0xD4, 0x22,
+ 0xAF, 0xD6, 0x22, 0xAF, 0xDC, 0x22, 0xAF, 0xDD, 0x22, 0xAF, 0xDE, 0x22, 0xAF, 0xDF, 0x22, 0x7F,
+ 0x00, 0x22, 0x90, 0x01, 0x5B, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0xFF, 0x22,
+ 0x78, 0x7F, 0xE4, 0xF6, 0xD8, 0xFD, 0x75, 0x81, 0x38, 0x02, 0x22, 0x47, 0x02, 0x26, 0xFA, 0xE4,
+ 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80,
+ 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44,
+ 0x20, 0xC8, 0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x17, 0x64, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC,
+ 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E,
+ 0xCF, 0x54, 0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3,
+ 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5,
+ 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0x75, 0x80, 0xFF, 0x75,
+ 0x85, 0x02, 0x75, 0x86, 0x03, 0x75, 0x87, 0x10, 0xE4, 0xF5, 0x88, 0xF5, 0x89, 0xF5, 0x8A, 0xF5,
+ 0x8B, 0xF5, 0x8C, 0xF5, 0x8D, 0x75, 0x8E, 0xE0, 0x75, 0x8F, 0xFF, 0x75, 0x90, 0xFF, 0x75, 0x91,
+ 0x01, 0x75, 0x95, 0xFF, 0x75, 0x96, 0xFF, 0xF5, 0x9C, 0x75, 0x9D, 0xFF, 0x75, 0x9E, 0xFF, 0x75,
+ 0xA5, 0xFF, 0x75, 0xA6, 0xFF, 0xF5, 0xA8, 0xF5, 0xB0, 0x75, 0xB1, 0x20, 0xF5, 0xB2, 0xF5, 0xB3,
+ 0xF5, 0xB4, 0xF5, 0xB5, 0xF5, 0xB7, 0xF5, 0xB8, 0x75, 0xC6, 0x0F, 0xF5, 0xC7, 0xF5, 0xC8, 0xF5,
+ 0xC9, 0xF5, 0xCA, 0xF5, 0xCB, 0xF5, 0xCC, 0xF5, 0xCD, 0xF5, 0xD0, 0xF5, 0xD2, 0xF5, 0xD4, 0xF5,
+ 0xD6, 0x75, 0xD8, 0x50, 0xF5, 0xDC, 0xF5, 0xDD, 0xF5, 0xDE, 0xF5, 0xDF, 0xF5, 0xE8, 0xF5, 0xEA,
+ 0xF5, 0xEB, 0xF5, 0xEC, 0xF5, 0xED, 0xF5, 0xEE, 0xF5, 0xF4, 0xF5, 0xF3, 0xF5, 0xF2, 0xF5, 0xF7,
+ 0xF5, 0xF8, 0x7F, 0x01, 0x22, 0x90, 0x01, 0x5E, 0x12, 0x0A, 0x0E, 0xE4, 0x90, 0x01, 0x61, 0xF0,
+ 0xA3, 0xF0, 0x90, 0x01, 0x61, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64, 0x80,
+ 0x94, 0x80, 0x50, 0x63, 0x90, 0x01, 0xC9, 0xE0, 0xFD, 0x90, 0x01, 0xC6, 0xE0, 0x2D, 0xFD, 0xE4,
+ 0x33, 0xFC, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01,
+ 0x3E, 0xF5, 0x83, 0xE0, 0xC3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x2C, 0x90,
+ 0x01, 0x5E, 0x12, 0x09, 0xEE, 0x12, 0x07, 0xE4, 0x44, 0x02, 0xFF, 0xE5, 0xF0, 0x8F, 0xF0, 0x12,
+ 0x08, 0x47, 0x90, 0x01, 0x5E, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x13, 0xE4, 0xF5, 0xF0, 0x12, 0x08,
+ 0x66, 0x90, 0x01, 0x62, 0xE0, 0x90, 0x00, 0x05, 0x12, 0x07, 0x0F, 0x90, 0x01, 0x61, 0xE4, 0x75,
+ 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x80, 0x8B, 0x22, 0xE4, 0x90, 0x01, 0x5D, 0xF0, 0x90, 0x01, 0xA2,
+ 0xE0, 0xC4, 0x54, 0xF0, 0xFE, 0xE0, 0xFD, 0xEF, 0x60, 0x03, 0xB4, 0x01, 0x0B, 0x90, 0x01, 0xA3,
+ 0x74, 0x01, 0xF0, 0x90, 0x01, 0x23, 0xEF, 0xF0, 0xEF, 0x12, 0x0A, 0x17, 0x23, 0xDB, 0x00, 0x23,
+ 0xE8, 0x01, 0x23, 0xF2, 0x02, 0x23, 0xFA, 0x05, 0x23, 0xF6, 0x06, 0x24, 0x01, 0x09, 0x23, 0xD5,
+ 0x14, 0x00, 0x00, 0x24, 0x07, 0x8E, 0xDD, 0x8D, 0xDE, 0x80, 0x13, 0xEE, 0xF4, 0xFF, 0x52, 0xDD,
+ 0xED, 0xF4, 0x52, 0xDE, 0xEF, 0x52, 0xDE, 0x22, 0xEE, 0x42, 0xDD, 0xED, 0x42, 0xDE, 0xEE, 0x42,
+ 0xDE, 0x22, 0xEE, 0x42, 0xDD, 0x22, 0xED, 0x42, 0xDE, 0x22, 0xAF, 0x06, 0xEE, 0xF4, 0x52, 0xDD,
+ 0x22, 0xAF, 0x05, 0xED, 0xF4, 0x52, 0xDE, 0x22, 0x90, 0x01, 0xA3, 0xE0, 0x60, 0x05, 0xE4, 0xF0,
+ 0x12, 0x2A, 0x48, 0x90, 0x01, 0xEB, 0xE0, 0x70, 0x5D, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xBE, 0x90,
+ 0x01, 0x60, 0x12, 0x0A, 0x0E, 0x7A, 0x01, 0x79, 0xA5, 0x90, 0x01, 0x63, 0x12, 0x0A, 0x0E, 0x7A,
+ 0x01, 0x79, 0xC0, 0x12, 0x1F, 0xAB, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA5, 0x90, 0x01, 0xC0, 0xE0,
+ 0xFC, 0xA3, 0xE0, 0xFD, 0x90, 0x01, 0xBE, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x01, 0x62, 0xCF, 0xF0,
+ 0xA3, 0xEF, 0xF0, 0x12, 0x1F, 0x0A, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA5, 0x12, 0x1E, 0x62, 0x90,
+ 0x01, 0xA4, 0xE0, 0xFF, 0x90, 0x01, 0xC2, 0xE0, 0x6F, 0x60, 0x0B, 0x90, 0x01, 0xA4, 0xE0, 0x90,
+ 0x01, 0xC2, 0xF0, 0x12, 0x29, 0x33, 0x22, 0xAB, 0x07, 0xAA, 0x05, 0x74, 0x36, 0x2B, 0xF8, 0xE6,
+ 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF9, 0xE4, 0xF5, 0x30,
+ 0xF5, 0x31, 0xEA, 0xFF, 0xC3, 0xE5, 0x31, 0x9F, 0x74, 0x80, 0xF8, 0x65, 0x30, 0x98, 0x50, 0x1E,
+ 0x12, 0x2C, 0x54, 0xAF, 0x03, 0xAD, 0x01, 0x12, 0x1C, 0xF4, 0x74, 0x08, 0x25, 0x31, 0xF8, 0xA6,
+ 0x07, 0x12, 0x2C, 0x5C, 0x05, 0x31, 0xE5, 0x31, 0x70, 0xD8, 0x05, 0x30, 0x80, 0xD4, 0x7C, 0x00,
+ 0x78, 0x08, 0xE8, 0x2C, 0xF8, 0xF9, 0xE6, 0xFA, 0xEC, 0xFB, 0x0B, 0x08, 0xE6, 0x9A, 0x40, 0x0B,
+ 0xE6, 0xCA, 0xF6, 0xE8, 0xFD, 0xE9, 0xF8, 0xEA, 0xF6, 0xED, 0xF8, 0x0B, 0xBB, 0x1B, 0xEC, 0x0C,
+ 0xBC, 0x0E, 0xDD, 0xAF, 0x15, 0x22, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x47, 0x90, 0x00, 0x06, 0xE4,
+ 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00,
+ 0x13, 0x74, 0xFF, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x05, 0x74, 0xFF, 0x12, 0x07, 0x0F,
+ 0x90, 0x00, 0x11, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x0A, 0xE4, 0xF5, 0xF0, 0x12,
+ 0x08, 0x66, 0x90, 0x00, 0x0E, 0xE4, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x0F, 0xE4, 0xF5, 0xF0, 0x12,
+ 0x08, 0x66, 0x90, 0x00, 0x0C, 0x74, 0xFF, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x17, 0xE4,
+ 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x02, 0x74, 0xFF, 0x12, 0x07, 0x0F, 0x12, 0x23, 0x15,
+ 0x02, 0x26, 0x06, 0xEF, 0x12, 0x0A, 0x17, 0x25, 0x7F, 0x00, 0x25, 0x88, 0x01, 0x25, 0x90, 0x02,
+ 0x25, 0x90, 0x03, 0x25, 0x90, 0x04, 0x25, 0x98, 0x05, 0x25, 0x96, 0x06, 0x25, 0x96, 0x07, 0x25,
+ 0x96, 0x08, 0x25, 0xA4, 0x09, 0x25, 0x88, 0x12, 0x25, 0x7F, 0x13, 0x00, 0x00, 0x25, 0xAF, 0xED,
+ 0xF4, 0x54, 0x0F, 0x52, 0xDC, 0x52, 0xDD, 0x22, 0xED, 0x54, 0x0F, 0x42, 0xDC, 0x42, 0xDD, 0x22,
+ 0xED, 0x54, 0x0F, 0x42, 0xDC, 0x22, 0x80, 0x06, 0xED, 0xF4, 0x54, 0x0F, 0x52, 0xDC, 0xED, 0x54,
+ 0x0F, 0x42, 0xDD, 0x22, 0xED, 0x54, 0x0F, 0x42, 0xDC, 0xED, 0xF4, 0x54, 0x0F, 0x52, 0xDD, 0x22,
+ 0x90, 0x01, 0x54, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x57, 0xED, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0,
+ 0xA3, 0xF0, 0x12, 0x07, 0xE4, 0xFF, 0x90, 0x01, 0x59, 0xE5, 0xF0, 0xF0, 0xA3, 0xEF, 0xF0, 0xBD,
+ 0x02, 0x02, 0x80, 0x21, 0x90, 0x01, 0x57, 0xE0, 0xB4, 0x03, 0x2A, 0x90, 0x01, 0x54, 0x12, 0x09,
+ 0xEE, 0x90, 0x00, 0x02, 0x12, 0x06, 0xD0, 0xFF, 0x90, 0x01, 0x58, 0xF0, 0xA3, 0xE0, 0xFC, 0xA3,
+ 0xE0, 0xFD, 0x12, 0x20, 0x46, 0x90, 0x01, 0x59, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x12, 0x21, 0x72,
+ 0x90, 0x01, 0xDD, 0xEF, 0xF0, 0x22, 0xE4, 0xFD, 0xFC, 0xED, 0x25, 0xE0, 0xFF, 0xEC, 0x33, 0xFE,
+ 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x01, 0xC8, 0xE0,
+ 0xFF, 0x90, 0x01, 0xC7, 0xE0, 0x2F, 0xFB, 0xED, 0x25, 0xE0, 0xFF, 0xEC, 0x33, 0xFE, 0x74, 0x84,
+ 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xEB, 0xF0, 0x0D, 0xBD, 0x00, 0x01, 0x0C, 0xED,
+ 0x64, 0x03, 0x4C, 0x70, 0xC4, 0xE4, 0x90, 0x01, 0x80, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x89, 0xF0,
+ 0xA3, 0xF0, 0x74, 0xFF, 0x90, 0x01, 0x9C, 0xF0, 0xA3, 0xF0, 0x22, 0x78, 0x5F, 0x7C, 0x01, 0x7D,
+ 0x01, 0x7B, 0xFF, 0x7A, 0x2C, 0x79, 0xA0, 0x7E, 0x00, 0x7F, 0x01, 0x12, 0x06, 0x6F, 0xE4, 0x90,
+ 0x01, 0x5E, 0xF0, 0x90, 0x01, 0x5E, 0xE0, 0xFF, 0xC3, 0x64, 0x80, 0x94, 0x83, 0x50, 0x22, 0x7B,
+ 0x01, 0x7A, 0x01, 0x79, 0x5F, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0xF2, 0x2F, 0xF5, 0x82, 0x74,
+ 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFD, 0x12, 0x29, 0x65, 0x90, 0x01, 0x5E, 0xE0, 0x04, 0xF0, 0x80,
+ 0xD2, 0x90, 0x01, 0x5F, 0xE0, 0xFF, 0x7D, 0xD6, 0x7C, 0x00, 0x02, 0x20, 0x46, 0x90, 0x02, 0x1E,
+ 0xEF, 0xF0, 0xA3, 0x12, 0x0A, 0x0E, 0xE4, 0xFF, 0xFE, 0xD3, 0x90, 0x02, 0x23, 0xE0, 0x9F, 0xEE,
+ 0x64, 0x80, 0xF8, 0x90, 0x02, 0x22, 0xE0, 0x64, 0x80, 0x98, 0x40, 0x1C, 0x90, 0x02, 0x1F, 0x12,
+ 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0x12, 0x06, 0xD0, 0xFD, 0x90, 0x02, 0x1E, 0xE0, 0x6D, 0x60,
+ 0x07, 0x0F, 0xBF, 0x00, 0x01, 0x0E, 0x80, 0xD1, 0x90, 0x02, 0x22, 0xE0, 0xB5, 0x06, 0x08, 0xA3,
+ 0xE0, 0xB5, 0x07, 0x03, 0x7F, 0x00, 0x22, 0x7F, 0x01, 0x22, 0x12, 0x22, 0x8C, 0x12, 0x2B, 0xE3,
+ 0x12, 0x2C, 0x42, 0x90, 0x01, 0xEA, 0xEF, 0xF0, 0x12, 0x29, 0xF4, 0xEF, 0x60, 0xFA, 0xE5, 0x90,
+ 0x20, 0xE2, 0x0B, 0xE5, 0x9E, 0x30, 0xE2, 0x06, 0x90, 0x02, 0x3A, 0x74, 0x01, 0xF0, 0x12, 0x2B,
+ 0x98, 0x90, 0x01, 0xEB, 0xE0, 0x70, 0xE7, 0x90, 0x02, 0x3A, 0xE0, 0x60, 0x14, 0x12, 0x2B, 0x22,
+ 0x12, 0x22, 0x8C, 0x12, 0x2B, 0xE3, 0x12, 0x29, 0xF4, 0xEF, 0x60, 0xFA, 0xE4, 0x90, 0x02, 0x3A,
+ 0xF0, 0x12, 0x24, 0x08, 0x80, 0xC8, 0xEF, 0x12, 0x0A, 0x17, 0x27, 0x72, 0x00, 0x27, 0x77, 0x01,
+ 0x27, 0x7C, 0x02, 0x27, 0x7C, 0x03, 0x27, 0x7C, 0x04, 0x27, 0x82, 0x05, 0x27, 0x80, 0x06, 0x27,
+ 0x80, 0x07, 0x27, 0x80, 0x08, 0x27, 0x89, 0x09, 0x27, 0x77, 0x12, 0x27, 0x72, 0x13, 0x00, 0x00,
+ 0x27, 0x8F, 0x53, 0x80, 0xFE, 0x80, 0x15, 0x43, 0x80, 0x01, 0x80, 0x09, 0x43, 0x80, 0x01, 0x22,
+ 0x80, 0x03, 0x53, 0x80, 0xFE, 0x43, 0x80, 0x04, 0x22, 0x43, 0x80, 0x01, 0x53, 0x80, 0xFB, 0x22,
+ 0x90, 0x02, 0x07, 0x12, 0x09, 0xA5, 0x90, 0x02, 0x0B, 0x12, 0x09, 0xB1, 0x00, 0x00, 0x00, 0x00,
+ 0x90, 0x02, 0x07, 0x12, 0x09, 0x8D, 0x90, 0x02, 0x0B, 0x12, 0x09, 0x99, 0xC3, 0x12, 0x09, 0x7C,
+ 0x50, 0x1E, 0x12, 0x2C, 0x9D, 0x90, 0x02, 0x0B, 0x12, 0x09, 0x8D, 0xEF, 0x24, 0x01, 0xFF, 0xE4,
+ 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x02, 0x0B, 0x12, 0x09, 0xA5, 0x80, 0xD0,
+ 0x22, 0x90, 0x02, 0x0F, 0x12, 0x0A, 0x0E, 0xE4, 0xFF, 0xFE, 0xD3, 0x90, 0x02, 0x16, 0xE0, 0x9F,
+ 0xEE, 0x64, 0x80, 0xF8, 0x90, 0x02, 0x15, 0xE0, 0x64, 0x80, 0x98, 0x40, 0x23, 0x90, 0x02, 0x12,
+ 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x09, 0xF7, 0x12, 0x06, 0xB7, 0xFD, 0x90, 0x02, 0x0F, 0xE4, 0x75,
+ 0xF0, 0x01, 0x12, 0x09, 0xF7, 0xED, 0x12, 0x06, 0xFD, 0x0F, 0xBF, 0x00, 0x01, 0x0E, 0x80, 0xCA,
+ 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x90, 0x02, 0x1C, 0xE0, 0x60, 0x0C, 0x90,
+ 0x02, 0x1A, 0xE0, 0xB4, 0x03, 0x05, 0x75, 0x8C, 0x00, 0x80, 0x18, 0x90, 0x02, 0x1D, 0xE0, 0x60,
+ 0x12, 0x90, 0x02, 0x1B, 0xE0, 0x60, 0x04, 0xE0, 0xB4, 0x01, 0x08, 0x75, 0x8A, 0x00, 0x75, 0x8C,
+ 0x00, 0xD2, 0x8E, 0xC2, 0x8F, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xE4, 0x90,
+ 0x01, 0x5E, 0xF0, 0x90, 0x01, 0x5E, 0xE0, 0xFE, 0x75, 0xF0, 0x03, 0xA4, 0x24, 0x9B, 0xF5, 0x82,
+ 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFF, 0xEE, 0x75, 0xF0, 0x03, 0xA4, 0x24, 0x9C, 0xF5, 0x82,
+ 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x20, 0x46, 0x90, 0x01, 0x5E,
+ 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x12, 0x40, 0xCA, 0x22, 0x90, 0x02, 0x2A, 0xEF, 0xF0, 0xA3,
+ 0xED, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x02, 0x2A, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0x90,
+ 0x02, 0x2D, 0xE0, 0xFB, 0x12, 0x28, 0xFB, 0x90, 0x02, 0x2C, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07,
+ 0xCE, 0xC3, 0x90, 0x02, 0x2D, 0xE0, 0x94, 0x03, 0x90, 0x02, 0x2C, 0xE0, 0x64, 0x80, 0x94, 0x80,
+ 0x40, 0xD5, 0x22, 0x43, 0x85, 0x01, 0x75, 0xC6, 0x04, 0x7D, 0xD4, 0x7C, 0x00, 0x7F, 0xFF, 0x12,
+ 0x20, 0x46, 0x7D, 0xD6, 0x7C, 0x00, 0x7F, 0xFF, 0x12, 0x20, 0x46, 0x7D, 0x00, 0x7C, 0x08, 0x7F,
+ 0x04, 0x12, 0x20, 0x46, 0xE4, 0xF5, 0x95, 0xF5, 0x9D, 0x75, 0xA5, 0xFF, 0xF5, 0x80, 0xF5, 0x96,
+ 0x75, 0x9E, 0xFF, 0x75, 0xA6, 0xFF, 0xF5, 0x90, 0x7F, 0x01, 0x22, 0x90, 0x01, 0x6F, 0xED, 0xF0,
+ 0xA3, 0xEB, 0xF0, 0xE0, 0x24, 0x36, 0xF8, 0xE6, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0xED, 0x24, 0x20,
+ 0xFD, 0xEC, 0x34, 0x08, 0xFC, 0x12, 0x20, 0x46, 0x90, 0x01, 0x6F, 0xE0, 0xFF, 0xA3, 0xE0, 0x24,
+ 0x36, 0xF8, 0xE6, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0xED, 0x24, 0x30, 0xFD, 0xEC, 0x34, 0x08, 0xFC,
+ 0x02, 0x20, 0x46, 0xE4, 0x90, 0x01, 0x5E, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x5F, 0xE0, 0xFF, 0x12,
+ 0x0E, 0x5E, 0xEF, 0x70, 0x02, 0xFF, 0x22, 0x90, 0x01, 0x5E, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07,
+ 0xCE, 0xC3, 0x90, 0x01, 0x5F, 0xE0, 0x94, 0x03, 0x90, 0x01, 0x5E, 0xE0, 0x64, 0x80, 0x94, 0x80,
+ 0x40, 0xD8, 0x7F, 0x01, 0x22, 0xED, 0x75, 0xF0, 0x08, 0x12, 0x06, 0x95, 0xFF, 0x33, 0x95, 0xE0,
+ 0xFE, 0xE9, 0x2F, 0xF9, 0xEA, 0x3E, 0xFA, 0x12, 0x06, 0xB7, 0xFF, 0xAE, 0x05, 0xEE, 0x75, 0xF0,
+ 0x08, 0x12, 0x06, 0x95, 0xAE, 0xF0, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8,
+ 0xFC, 0x4F, 0x02, 0x06, 0xFD, 0xED, 0x75, 0xF0, 0x08, 0x12, 0x06, 0x95, 0xFF, 0x33, 0x95, 0xE0,
+ 0xFE, 0xE9, 0x2F, 0xF9, 0xEA, 0x3E, 0xFA, 0x12, 0x06, 0xB7, 0xFF, 0xAE, 0x05, 0xEE, 0x75, 0xF0,
+ 0x08, 0x12, 0x06, 0x95, 0xAE, 0xF0, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8,
+ 0xFC, 0x4F, 0x02, 0x06, 0xFD, 0x90, 0x02, 0x35, 0x12, 0x0A, 0x0E, 0xE4, 0xFF, 0xFE, 0x74, 0x8E,
+ 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFD, 0x90, 0x02, 0x35, 0x12, 0x09, 0xEE,
+ 0x8F, 0x82, 0x8E, 0x83, 0xED, 0x12, 0x07, 0x0F, 0x0F, 0xBF, 0x00, 0x01, 0x0E, 0xEF, 0x64, 0x03,
+ 0x4E, 0x70, 0xDB, 0x22, 0xE4, 0x90, 0x01, 0x5D, 0xF0, 0x90, 0x01, 0x23, 0xF0, 0x7B, 0x01, 0x7A,
+ 0x01, 0x79, 0xA5, 0x12, 0x24, 0xE6, 0x12, 0x2C, 0x4B, 0x90, 0x01, 0x41, 0xE0, 0x30, 0xE1, 0x08,
+ 0x12, 0x29, 0x33, 0x90, 0x01, 0x5D, 0xEF, 0xF0, 0x90, 0x01, 0x5D, 0xE0, 0xFF, 0x22, 0x90, 0x02,
+ 0x2E, 0x12, 0x0A, 0x0E, 0x90, 0x02, 0x31, 0xED, 0xF0, 0xFB, 0xE4, 0xFD, 0x7F, 0xFF, 0x12, 0x28,
+ 0xFB, 0x90, 0x02, 0x31, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x12, 0x2B, 0x58, 0x90, 0x02,
+ 0x2E, 0x12, 0x09, 0xEE, 0xEF, 0x02, 0x06, 0xFD, 0x78, 0x40, 0x7C, 0x01, 0x7D, 0x01, 0x7B, 0x01,
+ 0x7A, 0x01, 0x79, 0x23, 0x7E, 0x00, 0x7F, 0x14, 0x12, 0x06, 0x6F, 0x78, 0x37, 0x7C, 0x01, 0x7D,
+ 0x01, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x3B, 0x7E, 0x00, 0x7F, 0x04, 0x02, 0x06, 0x6F, 0xAC, 0x07,
+ 0xAF, 0x05, 0xEF, 0x7F, 0x00, 0xFE, 0xEF, 0x24, 0x9F, 0xF5, 0x82, 0x74, 0x02, 0x3E, 0xF5, 0x83,
+ 0xE5, 0x82, 0x2C, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83, 0xE4, 0x93, 0xFF, 0x22, 0x78, 0x5E,
+ 0x7C, 0x01, 0x7D, 0x01, 0x7B, 0xFF, 0x7A, 0x2C, 0x79, 0xA1, 0x7E, 0x00, 0x7F, 0x01, 0x12, 0x06,
+ 0x6F, 0x90, 0x01, 0x5E, 0xE0, 0xFF, 0x7D, 0xD4, 0x7C, 0x00, 0x02, 0x20, 0x46, 0xED, 0x64, 0x01,
+ 0x4C, 0x70, 0x07, 0x90, 0x01, 0xDD, 0xEF, 0xF0, 0x80, 0x0D, 0xED, 0x64, 0x02, 0x4C, 0x70, 0x07,
+ 0xEF, 0x44, 0x08, 0x90, 0x01, 0xDD, 0xF0, 0x53, 0x9E, 0xFB, 0x22, 0x90, 0x01, 0x4D, 0xE0, 0x14,
+ 0x60, 0x0A, 0x04, 0x70, 0x13, 0x90, 0x08, 0x03, 0x74, 0xFE, 0xF0, 0x22, 0x90, 0x01, 0x4E, 0xE0,
+ 0x25, 0xE0, 0x25, 0xE0, 0x90, 0x08, 0x03, 0xF0, 0x22, 0x90, 0x02, 0x1B, 0xEF, 0xF0, 0x90, 0x02,
+ 0x1D, 0xED, 0xF0, 0x53, 0x89, 0xCF, 0xEF, 0x54, 0x03, 0xC4, 0x54, 0xF0, 0x42, 0x89, 0xE4, 0xF5,
+ 0x8B, 0xF5, 0x8D, 0xD2, 0xAB, 0x22, 0xAD, 0x07, 0xAC, 0x06, 0x7F, 0x01, 0x7E, 0x00, 0xED, 0x1D,
+ 0xAA, 0x04, 0x70, 0x01, 0x1C, 0x4A, 0x60, 0x09, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x80,
+ 0xED, 0x22, 0x12, 0x22, 0x8C, 0x12, 0x2B, 0xE3, 0x43, 0x9E, 0x04, 0xC2, 0xD9, 0xC2, 0x8C, 0x75,
+ 0x8F, 0xFF, 0x53, 0x85, 0xFE, 0x43, 0x87, 0x02, 0x12, 0x2C, 0x9D, 0x02, 0x2C, 0x9D, 0x90, 0x02,
+ 0x1A, 0xEF, 0xF0, 0x90, 0x02, 0x1C, 0xED, 0xF0, 0x53, 0x89, 0xFC, 0xEF, 0x54, 0x03, 0x42, 0x89,
+ 0xE4, 0xF5, 0x8A, 0xF5, 0x8C, 0xD2, 0xA9, 0x22, 0xEF, 0x25, 0xE0, 0xFF, 0xE4, 0x33, 0xFE, 0x74,
+ 0x9F, 0x2F, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, 0x74, 0x01, 0x93, 0xFF, 0x22, 0xAE, 0x05,
+ 0xEF, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0x74, 0x02, 0x3C, 0xF5, 0x83,
+ 0xEE, 0xF0, 0x22, 0xAE, 0x05, 0xEF, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x24, 0x2D, 0xF5, 0x82,
+ 0x74, 0x02, 0x3C, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0x90, 0x02, 0x33, 0xE0, 0xFF, 0x74, 0xFF, 0xF0,
+ 0xD3, 0xEF, 0x64, 0x80, 0x94, 0x7F, 0x40, 0x03, 0x12, 0x23, 0x98, 0x22, 0x53, 0xE8, 0xDF, 0xE4,
+ 0xF5, 0xB2, 0x75, 0xB3, 0x40, 0x43, 0xB1, 0x03, 0x43, 0xB1, 0x20, 0x43, 0xE8, 0x20, 0x22, 0xEF,
+ 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x27, 0x2F, 0xF5, 0x82, 0x74, 0x02, 0x3E, 0xF5, 0x83, 0xE0, 0xFF,
+ 0x22, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x24, 0x2F, 0xF5, 0x82, 0x74, 0x02, 0x3E, 0xF5, 0x83,
+ 0xE0, 0xFF, 0x22, 0x12, 0x28, 0xC3, 0x12, 0x00, 0x06, 0xD2, 0xD9, 0x12, 0x2C, 0x9A, 0xD2, 0xAF,
+ 0x02, 0x2A, 0x48, 0x90, 0x01, 0xA3, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x35, 0xEE, 0xF0, 0xA3, 0xEF,
+ 0xF0, 0x22, 0xE4, 0x90, 0x02, 0x34, 0xF0, 0x90, 0x02, 0x32, 0x74, 0xFF, 0xF0, 0x22, 0x90, 0x01,
+ 0xA3, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x31, 0xEF, 0xF0, 0x22, 0x90, 0x02, 0x34, 0xEF, 0xF0, 0x90,
+ 0x02, 0x32, 0xED, 0xF0, 0x22, 0xE4, 0xF5, 0xDC, 0xF5, 0xDD, 0xF5, 0xDE, 0xF5, 0xDF, 0x22, 0x90,
+ 0x01, 0xC6, 0xE0, 0x6F, 0x60, 0x02, 0xEF, 0xF0, 0x22, 0x90, 0x01, 0x35, 0xE0, 0xFE, 0xA3, 0xE0,
+ 0xFF, 0x22, 0x90, 0x02, 0x38, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, 0x12, 0x28, 0x4E, 0x12, 0x2A,
+ 0xCB, 0x02, 0x2C, 0x94, 0x90, 0x08, 0x00, 0xE0, 0x54, 0xFB, 0xF0, 0x22, 0x90, 0x08, 0x00, 0xE0,
+ 0x44, 0x04, 0xF0, 0x22, 0x90, 0x01, 0xDB, 0xE0, 0xFF, 0x22, 0xEF, 0x24, 0xFF, 0x92, 0x8C, 0x22,
+ 0xEF, 0x24, 0xFF, 0x92, 0x8E, 0x22, 0xEF, 0x24, 0xFF, 0x92, 0xD9, 0x22, 0xEF, 0x24, 0xFF, 0x92,
+ 0xEC, 0x22, 0x90, 0x02, 0x33, 0xEF, 0xF0, 0x22, 0x90, 0x02, 0x34, 0xE0, 0xFF, 0x22, 0x90, 0x02,
+ 0x32, 0xE0, 0xFF, 0x22, 0x12, 0x26, 0x5B, 0x02, 0x2A, 0x8E, 0x02, 0x2B, 0xAC, 0x00, 0x00, 0x22,
+ 0xFF, 0xFF,
+};
diff --git a/drivers/input/touchscreen/MCH_SW999_R03_V17_bin.c b/drivers/input/touchscreen/MCH_SW999_R03_V17_bin.c new file mode 100755 index 0000000..db895b4 --- /dev/null +++ b/drivers/input/touchscreen/MCH_SW999_R03_V17_bin.c @@ -0,0 +1,726 @@ +// MELFAS HEX Studio v0.6 [2009.10.12]
+
+const uint16_t MELFAS_binary_nLength = 0x2CAA; // 11.2 KBytes ( 11434 )
+
+const uint8_t MELFAS_binary[] = {
+
+ // Model name : MCH-SW999
+ // Module revision : R03
+ // Firmware version : V17
+
+ 0x02, 0x22, 0x04, 0x02, 0x00, 0x1E, 0xD2, 0xD8, 0xC2, 0xDB, 0xC2, 0xDA, 0x53, 0x8E, 0xE0, 0x43,
+ 0x8E, 0xE0, 0x22, 0x02, 0x00, 0x60, 0x43, 0xE8, 0x20, 0x22, 0xFF, 0x02, 0x28, 0x19, 0xC0, 0xE0,
+ 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0,
+ 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0xC2, 0xA8, 0x12, 0x2B, 0xEB,
+ 0x7F, 0x01, 0x12, 0x2C, 0x8A, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0,
+ 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32,
+ 0xC2, 0xAA, 0x32, 0x02, 0x00, 0x8A, 0x53, 0xE8, 0xDF, 0x22, 0xFF, 0x02, 0x1A, 0x05, 0x90, 0x01,
+ 0xDB, 0xE0, 0x6F, 0x60, 0x0A, 0xEF, 0xF0, 0x25, 0xE0, 0x24, 0x02, 0xFF, 0x12, 0x2C, 0x37, 0x22,
+ 0x4D, 0x43, 0x48, 0x2D, 0x53, 0x57, 0x39, 0x39, 0x39, 0x00, 0xC2, 0xEC, 0xD2, 0xD9, 0x75, 0xC6,
+ 0x15, 0xD2, 0xD8, 0xC2, 0xDB, 0x32, 0x52, 0x30, 0x33, 0x00, 0xFF, 0x56, 0x31, 0x37, 0x00, 0x00,
+ 0xFF, 0x00, 0xFC, 0x00, 0xF9, 0x00, 0xF6, 0x00, 0xF3, 0x00, 0xF0, 0x00, 0xEE, 0x00, 0xEB, 0x00,
+ 0xE8, 0x00, 0xE5, 0x00, 0xE3, 0x00, 0xE0, 0x00, 0xDD, 0x00, 0xDB, 0x00, 0xD8, 0x00, 0xD6, 0x00,
+ 0xD3, 0x00, 0xD1, 0x00, 0xCE, 0x00, 0xCC, 0x00, 0xCA, 0x00, 0xC7, 0x00, 0xC5, 0x00, 0xC3, 0x00,
+ 0xC0, 0x00, 0xBE, 0x00, 0xBC, 0x00, 0xBA, 0x00, 0xB8, 0x00, 0xB5, 0x00, 0xB3, 0x00, 0xB1, 0x00,
+ 0xAF, 0x00, 0xAD, 0x00, 0xAB, 0x00, 0xA9, 0x00, 0xA7, 0x00, 0xA5, 0x00, 0xA3, 0x00, 0xA1, 0x00,
+ 0x9F, 0x00, 0x9E, 0x00, 0x9C, 0x00, 0x9A, 0x00, 0x98, 0x00, 0x96, 0x00, 0x95, 0x00, 0x93, 0x00,
+ 0x91, 0x00, 0x8F, 0x00, 0x8E, 0x00, 0x8C, 0x00, 0x8A, 0x00, 0x89, 0x00, 0x87, 0x00, 0x86, 0x00,
+ 0x84, 0x00, 0x83, 0x00, 0x81, 0x00, 0x80, 0x00, 0x7E, 0x00, 0x7D, 0x00, 0x7B, 0x00, 0x7A, 0x00,
+ 0x78, 0x00, 0x77, 0x00, 0x75, 0x00, 0x74, 0x00, 0x73, 0x00, 0x71, 0x00, 0x70, 0x00, 0x6F, 0x00,
+ 0x6D, 0x00, 0x6C, 0x00, 0x6B, 0x00, 0x6A, 0x00, 0x68, 0x00, 0x67, 0x00, 0x66, 0x00, 0x65, 0x00,
+ 0x64, 0x00, 0x62, 0x00, 0x61, 0x00, 0x60, 0x00, 0x5F, 0x00, 0x5E, 0x00, 0x5D, 0x00, 0x5C, 0x00,
+ 0x5B, 0x00, 0x5A, 0x00, 0x59, 0x00, 0x58, 0x00, 0x57, 0x00, 0x56, 0x00, 0x55, 0x00, 0x54, 0x00,
+ 0x53, 0x00, 0x52, 0x00, 0x51, 0x00, 0x50, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x4D, 0x00, 0x4C, 0x00,
+ 0x4B, 0x00, 0x4A, 0x00, 0x49, 0x00, 0x49, 0x00, 0x48, 0x00, 0x47, 0x00, 0x46, 0x00, 0x45, 0x00,
+ 0x44, 0x00, 0x44, 0x00, 0x43, 0x00, 0x42, 0x00, 0x41, 0x00, 0x41, 0x00, 0x40, 0x00, 0x3F, 0x00,
+ 0x3E, 0x00, 0x3E, 0x00, 0x3D, 0x00, 0x3C, 0x00, 0x3B, 0x00, 0x3B, 0x00, 0x3A, 0x00, 0x39, 0x00,
+ 0x39, 0x00, 0x38, 0x00, 0x37, 0x00, 0x37, 0x00, 0x36, 0x00, 0x35, 0x00, 0x35, 0x00, 0x34, 0x00,
+ 0x34, 0x00, 0x33, 0x00, 0x32, 0x00, 0x32, 0x00, 0x31, 0x00, 0x31, 0x00, 0x30, 0x00, 0x30, 0x00,
+ 0x2F, 0x00, 0x2E, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x2D, 0x00, 0x2C, 0x00, 0x2C, 0x00, 0x2B, 0x00,
+ 0x2B, 0x00, 0x2A, 0x00, 0x2A, 0x00, 0x29, 0x00, 0x29, 0x00, 0x28, 0x00, 0x28, 0x00, 0x27, 0x00,
+ 0x27, 0x00, 0x27, 0x00, 0x26, 0x00, 0x26, 0x00, 0x25, 0x00, 0x25, 0x00, 0x24, 0x00, 0x24, 0x00,
+ 0x23, 0x00, 0x23, 0x00, 0x23, 0x00, 0x22, 0x00, 0x22, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00,
+ 0x1D, 0x00, 0x1D, 0x00, 0x1D, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1B, 0x00, 0x1B, 0x00,
+ 0x1B, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x19, 0x00, 0x19, 0x00, 0x19, 0x00,
+ 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x17, 0x00, 0x17, 0x00, 0x17, 0x00, 0x16, 0x00,
+ 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x14, 0x00,
+ 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 0x00,
+ 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00,
+ 0x11, 0x00, 0x11, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x0F, 0x00,
+ 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00,
+ 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0D, 0x00, 0x0D, 0x00, 0x0D, 0x00, 0x0D, 0x00, 0x0D, 0x00,
+ 0x03, 0x06, 0x09, 0x0C, 0x0F, 0x11, 0x14, 0x17, 0x1A, 0x1C, 0x1F, 0x22, 0x24, 0x27, 0x29, 0x2C,
+ 0x2E, 0x31, 0x33, 0x35, 0x38, 0x3A, 0x3C, 0x3F, 0x41, 0x43, 0x45, 0x47, 0x4A, 0x4C, 0x4E, 0x50,
+ 0x52, 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x61, 0x63, 0x65, 0x67, 0x69, 0x6A, 0x6C, 0x6E,
+ 0x70, 0x71, 0x73, 0x75, 0x76, 0x78, 0x79, 0x7B, 0x7C, 0x7E, 0x7F, 0x81, 0x82, 0x84, 0x85, 0x87,
+ 0x88, 0x8A, 0x8B, 0x8C, 0x8E, 0x8F, 0x90, 0x92, 0x93, 0x94, 0x95, 0x97, 0x98, 0x99, 0x9A, 0x9B,
+ 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC,
+ 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB,
+ 0xBB, 0xBC, 0xBD, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 0xC4, 0xC4, 0xC5, 0xC6, 0xC6,
+ 0xC7, 0xC8, 0xC8, 0xC9, 0xCA, 0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCD, 0xCE, 0xCE, 0xCF, 0xCF, 0xD0,
+ 0xD1, 0xD1, 0xD2, 0xD2, 0xD3, 0xD3, 0xD4, 0xD4, 0xD5, 0xD5, 0xD6, 0xD6, 0xD7, 0xD7, 0xD8, 0xD8,
+ 0xD8, 0xD9, 0xD9, 0xDA, 0xDA, 0xDB, 0xDB, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xDE, 0xDE, 0xDE, 0xDF,
+ 0xDF, 0xDF, 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4,
+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xE8, 0xE9, 0xE9,
+ 0xE9, 0xE9, 0xEA, 0xEA, 0xEA, 0xEA, 0xEB, 0xEB, 0xEB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xED,
+ 0xED, 0xED, 0xED, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xF0, 0xF0,
+ 0xF0, 0xF0, 0xF0, 0xF0, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0x00,
+ 0x03, 0x06, 0x09, 0x0C, 0x0F, 0x11, 0x14, 0x17, 0x1A, 0x1C, 0x1F, 0x22, 0x24, 0x27, 0x29, 0x2C,
+ 0x2E, 0x31, 0x33, 0x35, 0x38, 0x3A, 0x3C, 0x3F, 0x41, 0x43, 0x45, 0x47, 0x4A, 0x4C, 0x4E, 0x50,
+ 0x52, 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x61, 0x63, 0x65, 0x67, 0x69, 0x6A, 0x6C, 0x6E,
+ 0x70, 0x71, 0x73, 0x75, 0x76, 0x78, 0x79, 0x7B, 0x7C, 0x7E, 0x7F, 0x81, 0x82, 0x84, 0x85, 0x87,
+ 0x88, 0x8A, 0x8B, 0x8C, 0x8E, 0x8F, 0x90, 0x92, 0x93, 0x94, 0x95, 0x97, 0x98, 0x99, 0x9A, 0x9B,
+ 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC,
+ 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB,
+ 0xBB, 0xBC, 0xBD, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 0xC4, 0xC4, 0xC5, 0xC6, 0xC6,
+ 0xC7, 0xC8, 0xC8, 0xC9, 0xCA, 0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCD, 0xCE, 0xCE, 0xCF, 0xCF, 0xD0,
+ 0xD1, 0xD1, 0xD2, 0xD2, 0xD3, 0xD3, 0xD4, 0xD4, 0xD5, 0xD5, 0xD6, 0xD6, 0xD7, 0xD7, 0xD8, 0xD8,
+ 0xD8, 0xD9, 0xD9, 0xDA, 0xDA, 0xDB, 0xDB, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xDE, 0xDE, 0xDE, 0xDF,
+ 0xDF, 0xDF, 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4,
+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xE8, 0xE9, 0xE9,
+ 0xE9, 0xE9, 0xEA, 0xEA, 0xEA, 0xEA, 0xEB, 0xEB, 0xEB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xED,
+ 0xED, 0xED, 0xED, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xF0, 0xF0,
+ 0xF0, 0xF0, 0xF0, 0xF0, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0x00,
+ 0x03, 0x06, 0x09, 0x0C, 0x0F, 0x11, 0x14, 0x17, 0x1A, 0x1C, 0x1F, 0x22, 0x24, 0x27, 0x29, 0x2C,
+ 0x2E, 0x31, 0x33, 0x35, 0x38, 0x3A, 0x3C, 0x3F, 0x41, 0x43, 0x45, 0x47, 0x4A, 0x4C, 0x4E, 0x50,
+ 0x52, 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x61, 0x63, 0x65, 0x67, 0x69, 0x6A, 0x6C, 0x6E,
+ 0x70, 0x71, 0x73, 0x75, 0x76, 0x78, 0x79, 0x7B, 0x7C, 0x7E, 0x7F, 0x81, 0x82, 0x84, 0x85, 0x87,
+ 0x88, 0x8A, 0x8B, 0x8C, 0x8E, 0x8F, 0x90, 0x92, 0x93, 0x94, 0x95, 0x97, 0x98, 0x99, 0x9A, 0x9B,
+ 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC,
+ 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB,
+ 0xBB, 0xBC, 0xBD, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 0xC4, 0xC4, 0xC5, 0xC6, 0xC6,
+ 0xC7, 0xC8, 0xC8, 0xC9, 0xCA, 0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCD, 0xCE, 0xCE, 0xCF, 0xCF, 0xD0,
+ 0xD1, 0xD1, 0xD2, 0xD2, 0xD3, 0xD3, 0xD4, 0xD4, 0xD5, 0xD5, 0xD6, 0xD6, 0xD7, 0xD7, 0xD8, 0xD8,
+ 0xD8, 0xD9, 0xD9, 0xDA, 0xDA, 0xDB, 0xDB, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xDE, 0xDE, 0xDE, 0xDF,
+ 0xDF, 0xDF, 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4,
+ 0xE5, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xE8, 0xE9, 0xE9,
+ 0xE9, 0xE9, 0xEA, 0xEA, 0xEA, 0xEA, 0xEB, 0xEB, 0xEB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xED,
+ 0xED, 0xED, 0xED, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xF0, 0xF0,
+ 0xF0, 0xF0, 0xF0, 0xF0, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xE7,
+ 0x09, 0xF6, 0x08, 0xDF, 0xFA, 0x80, 0x46, 0xE7, 0x09, 0xF2, 0x08, 0xDF, 0xFA, 0x80, 0x3E, 0x88,
+ 0x82, 0x8C, 0x83, 0xE7, 0x09, 0xF0, 0xA3, 0xDF, 0xFA, 0x80, 0x32, 0xE3, 0x09, 0xF6, 0x08, 0xDF,
+ 0xFA, 0x80, 0x78, 0xE3, 0x09, 0xF2, 0x08, 0xDF, 0xFA, 0x80, 0x70, 0x88, 0x82, 0x8C, 0x83, 0xE3,
+ 0x09, 0xF0, 0xA3, 0xDF, 0xFA, 0x80, 0x64, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0xA3, 0xF6, 0x08, 0xDF,
+ 0xFA, 0x80, 0x58, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0xA3, 0xF2, 0x08, 0xDF, 0xFA, 0x80, 0x4C, 0x80,
+ 0xD2, 0x80, 0xFA, 0x80, 0xC6, 0x80, 0xD4, 0x80, 0x69, 0x80, 0xF2, 0x80, 0x33, 0x80, 0x10, 0x80,
+ 0xA6, 0x80, 0xEA, 0x80, 0x9A, 0x80, 0xA8, 0x80, 0xDA, 0x80, 0xE2, 0x80, 0xCA, 0x80, 0x33, 0x89,
+ 0x82, 0x8A, 0x83, 0xEC, 0xFA, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, 0x83, 0xCC,
+ 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, 0x83, 0xCC, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0x0D,
+ 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0xA3, 0xF6, 0x08, 0xDF, 0xF9, 0xEC, 0xFA, 0xA9, 0xF0, 0xED,
+ 0xFB, 0x22, 0x89, 0x82, 0x8A, 0x83, 0xEC, 0xFA, 0xE0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5,
+ 0x83, 0xCC, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, 0x83, 0xCC, 0xDF, 0xEA, 0xDE, 0xE8,
+ 0x80, 0xDB, 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0xA3, 0xF2, 0x08, 0xDF, 0xF9, 0x80, 0xCC, 0x88,
+ 0xF0, 0xEF, 0x60, 0x01, 0x0E, 0x4E, 0x60, 0xC3, 0x88, 0xF0, 0xED, 0x24, 0x02, 0xB4, 0x04, 0x00,
+ 0x50, 0xB9, 0xF5, 0x82, 0xEB, 0x24, 0x02, 0xB4, 0x04, 0x00, 0x50, 0xAF, 0x23, 0x23, 0x45, 0x82,
+ 0x23, 0x90, 0x05, 0xEF, 0x73, 0xC2, 0xD5, 0x30, 0xF7, 0x07, 0xB2, 0xD5, 0x63, 0xF0, 0xFF, 0x05,
+ 0xF0, 0x30, 0xE7, 0x0C, 0xB2, 0xD5, 0xF4, 0x04, 0x84, 0x63, 0xF0, 0xFF, 0x05, 0xF0, 0x80, 0x01,
+ 0x84, 0x30, 0xD5, 0x02, 0xF4, 0x04, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0x22,
+ 0x50, 0x02, 0xE7, 0x22, 0xBB, 0xFE, 0x02, 0xE3, 0x22, 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0x22,
+ 0xBB, 0x01, 0x0C, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x22, 0x50,
+ 0x06, 0xE9, 0x25, 0x82, 0xF8, 0xE6, 0x22, 0xBB, 0xFE, 0x06, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0x22,
+ 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE4, 0x93, 0x22, 0xBB, 0x01, 0x06,
+ 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, 0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8,
+ 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22,
+ 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, 0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2,
+ 0x22, 0xEF, 0x8D, 0xF0, 0xA4, 0xA8, 0xF0, 0xCF, 0x8C, 0xF0, 0xA4, 0x28, 0xCE, 0x8D, 0xF0, 0xA4,
+ 0x2E, 0xFE, 0x22, 0xBC, 0x00, 0x0B, 0xBE, 0x00, 0x29, 0xEF, 0x8D, 0xF0, 0x84, 0xFF, 0xAD, 0xF0,
+ 0x22, 0xE4, 0xCC, 0xF8, 0x75, 0xF0, 0x08, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xEC, 0x33, 0xFC,
+ 0xEE, 0x9D, 0xEC, 0x98, 0x40, 0x05, 0xFC, 0xEE, 0x9D, 0xFE, 0x0F, 0xD5, 0xF0, 0xE9, 0xE4, 0xCE,
+ 0xFD, 0x22, 0xED, 0xF8, 0xF5, 0xF0, 0xEE, 0x84, 0x20, 0xD2, 0x1C, 0xFE, 0xAD, 0xF0, 0x75, 0xF0,
+ 0x08, 0xEF, 0x2F, 0xFF, 0xED, 0x33, 0xFD, 0x40, 0x07, 0x98, 0x50, 0x06, 0xD5, 0xF0, 0xF2, 0x22,
+ 0xC3, 0x98, 0xFD, 0x0F, 0xD5, 0xF0, 0xEA, 0x22, 0xC2, 0xD5, 0xEC, 0x30, 0xE7, 0x09, 0xB2, 0xD5,
+ 0xE4, 0xC3, 0x9D, 0xFD, 0xE4, 0x9C, 0xFC, 0xEE, 0x30, 0xE7, 0x15, 0xB2, 0xD5, 0xE4, 0xC3, 0x9F,
+ 0xFF, 0xE4, 0x9E, 0xFE, 0x12, 0x07, 0x43, 0xC3, 0xE4, 0x9D, 0xFD, 0xE4, 0x9C, 0xFC, 0x80, 0x03,
+ 0x12, 0x07, 0x43, 0x30, 0xD5, 0x07, 0xC3, 0xE4, 0x9F, 0xFF, 0xE4, 0x9E, 0xFE, 0x22, 0xC5, 0xF0,
+ 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, 0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83,
+ 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0,
+ 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, 0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09,
+ 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB,
+ 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3,
+ 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A,
+ 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, 0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9,
+ 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, 0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5,
+ 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, 0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3,
+ 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, 0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5,
+ 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82,
+ 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, 0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0,
+ 0x08, 0xF2, 0x22, 0xEF, 0x2B, 0xFF, 0xEE, 0x3A, 0xFE, 0xED, 0x39, 0xFD, 0xEC, 0x38, 0xFC, 0x22,
+ 0xC3, 0xEF, 0x9B, 0xFF, 0xEE, 0x9A, 0xFE, 0xED, 0x99, 0xFD, 0xEC, 0x98, 0xFC, 0x22, 0x75, 0xF0,
+ 0x08, 0x75, 0x82, 0x00, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xCD, 0x33, 0xCD, 0xCC, 0x33, 0xCC,
+ 0xC5, 0x82, 0x33, 0xC5, 0x82, 0x9B, 0xED, 0x9A, 0xEC, 0x99, 0xE5, 0x82, 0x98, 0x40, 0x0C, 0xF5,
+ 0x82, 0xEE, 0x9B, 0xFE, 0xED, 0x9A, 0xFD, 0xEC, 0x99, 0xFC, 0x0F, 0xD5, 0xF0, 0xD6, 0xE4, 0xCE,
+ 0xFB, 0xE4, 0xCD, 0xFA, 0xE4, 0xCC, 0xF9, 0xA8, 0x82, 0x22, 0xB8, 0x00, 0xC1, 0xB9, 0x00, 0x59,
+ 0xBA, 0x00, 0x2D, 0xEC, 0x8B, 0xF0, 0x84, 0xCF, 0xCE, 0xCD, 0xFC, 0xE5, 0xF0, 0xCB, 0xF9, 0x78,
+ 0x18, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xED, 0x33, 0xFD, 0xEC, 0x33, 0xFC, 0xEB, 0x33, 0xFB,
+ 0x10, 0xD7, 0x03, 0x99, 0x40, 0x04, 0xEB, 0x99, 0xFB, 0x0F, 0xD8, 0xE5, 0xE4, 0xF9, 0xFA, 0x22,
+ 0x78, 0x18, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xED, 0x33, 0xFD, 0xEC, 0x33, 0xFC, 0xC9, 0x33,
+ 0xC9, 0x10, 0xD7, 0x05, 0x9B, 0xE9, 0x9A, 0x40, 0x07, 0xEC, 0x9B, 0xFC, 0xE9, 0x9A, 0xF9, 0x0F,
+ 0xD8, 0xE0, 0xE4, 0xC9, 0xFA, 0xE4, 0xCC, 0xFB, 0x22, 0x75, 0xF0, 0x10, 0xEF, 0x2F, 0xFF, 0xEE,
+ 0x33, 0xFE, 0xED, 0x33, 0xFD, 0xCC, 0x33, 0xCC, 0xC8, 0x33, 0xC8, 0x10, 0xD7, 0x07, 0x9B, 0xEC,
+ 0x9A, 0xE8, 0x99, 0x40, 0x0A, 0xED, 0x9B, 0xFD, 0xEC, 0x9A, 0xFC, 0xE8, 0x99, 0xF8, 0x0F, 0xD5,
+ 0xF0, 0xDA, 0xE4, 0xCD, 0xFB, 0xE4, 0xCC, 0xFA, 0xE4, 0xC8, 0xF9, 0x22, 0xEB, 0x9F, 0xF5, 0xF0,
+ 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, 0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3,
+ 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, 0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0,
+ 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0,
+ 0x22, 0xA8, 0x82, 0x85, 0x83, 0xF0, 0xD0, 0x83, 0xD0, 0x82, 0x12, 0x09, 0xC8, 0x12, 0x09, 0xC8,
+ 0x12, 0x09, 0xC8, 0x12, 0x09, 0xC8, 0xE4, 0x73, 0xE4, 0x93, 0xA3, 0xC5, 0x83, 0xC5, 0xF0, 0xC5,
+ 0x83, 0xC8, 0xC5, 0x82, 0xC8, 0xF0, 0xA3, 0xC5, 0x83, 0xC5, 0xF0, 0xC5, 0x83, 0xC8, 0xC5, 0x82,
+ 0xC8, 0x22, 0xA4, 0x25, 0x82, 0xF5, 0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB,
+ 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, 0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0,
+ 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0,
+ 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, 0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12,
+ 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83,
+ 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, 0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0x8F, 0x23, 0x8B,
+ 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x2F, 0x04, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02,
+ 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83,
+ 0xC0, 0x83, 0xC0, 0x82, 0x12, 0x09, 0x8D, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0xAF,
+ 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2,
+ 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0x90, 0x00, 0x9A,
+ 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83, 0xE0, 0xFF,
+ 0xE4, 0xF8, 0xF9, 0xFA, 0xAB, 0x07, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0x12, 0x08,
+ 0xA0, 0xD0, 0x82, 0xD0, 0x83, 0x12, 0x09, 0xA5, 0xE5, 0x23, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0xED,
+ 0xAE, 0x04, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74,
+ 0x00, 0x3E, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0x12, 0x09, 0x99, 0x90, 0x00, 0x9A, 0xE0, 0x24,
+ 0x42, 0x75, 0xF0, 0x28, 0x84, 0xAF, 0xF0, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xED, 0x12, 0x09,
+ 0xE2, 0xEC, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE5, 0x82, 0x2F, 0xF5, 0x82, 0xE4,
+ 0x35, 0x83, 0xF5, 0x83, 0xE0, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, 0x12, 0x08, 0x93, 0xD0, 0x82, 0xD0,
+ 0x83, 0x12, 0x09, 0xA5, 0xAB, 0x24, 0xAA, 0x25, 0xA9, 0x26, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0,
+ 0xFE, 0x8F, 0x82, 0xF5, 0x83, 0x12, 0x06, 0xD0, 0xFD, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF,
+ 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82,
+ 0x90, 0x00, 0x9A, 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5,
+ 0x83, 0xED, 0xF0, 0xE4, 0xF5, 0x2D, 0x75, 0x2E, 0xFF, 0xFB, 0xFA, 0x90, 0x00, 0x9A, 0xE0, 0xC3,
+ 0x9B, 0xFF, 0xE4, 0x9A, 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, 0xFE, 0x7C, 0x00, 0x7D, 0x28, 0x12,
+ 0x07, 0x98, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF,
+ 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE5, 0x82, 0x2D, 0xF5,
+ 0x82, 0xE5, 0x83, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0xE5, 0x2D, 0xC3, 0x9F, 0x50, 0x02, 0x8F, 0x2D,
+ 0xE5, 0x2E, 0xD3, 0x9F, 0x40, 0x02, 0x8F, 0x2E, 0x0B, 0xBB, 0x00, 0x01, 0x0A, 0xEB, 0x64, 0x07,
+ 0x4A, 0x70, 0xA8, 0xC3, 0xE5, 0x2D, 0x95, 0x2E, 0xC3, 0x95, 0x2F, 0x40, 0x03, 0x02, 0x0D, 0x78,
+ 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8,
+ 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, 0x12, 0x09, 0x8D, 0xE4, 0x7B, 0x1A,
+ 0xFA, 0xF9, 0xF8, 0x12, 0x08, 0xEA, 0x8E, 0x29, 0x8F, 0x2A, 0xE4, 0xF5, 0x2B, 0xF5, 0x2C, 0xFA,
+ 0xFB, 0x90, 0x00, 0x9A, 0xE0, 0xC3, 0x9B, 0xFF, 0xE4, 0x9A, 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00,
+ 0xFE, 0x7C, 0x00, 0x7D, 0x28, 0x12, 0x07, 0x98, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90,
+ 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83,
+ 0xF5, 0x83, 0xE5, 0x82, 0x2D, 0xF5, 0x82, 0xE5, 0x83, 0x3C, 0xF5, 0x83, 0xE0, 0x25, 0x2C, 0xF5,
+ 0x2C, 0xE4, 0x35, 0x2B, 0xF5, 0x2B, 0x0B, 0xBB, 0x00, 0x01, 0x0A, 0xEB, 0x64, 0x07, 0x4A, 0x70,
+ 0xB0, 0xAE, 0x2B, 0xAF, 0x2C, 0x7C, 0x00, 0x7D, 0x07, 0x12, 0x07, 0x98, 0x8E, 0x2B, 0x8F, 0x2C,
+ 0xE4, 0xF5, 0x27, 0xF5, 0x28, 0xFA, 0x7B, 0x01, 0x90, 0x00, 0x9A, 0xE0, 0x2B, 0xFF, 0xE4, 0x3A,
+ 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, 0xFE, 0x7C, 0x00, 0x7D, 0x28, 0x12, 0x07, 0x98, 0xAF, 0x23,
+ 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, 0xEE,
+ 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE5, 0x82, 0x2D, 0xF5, 0x82, 0xE5, 0x83, 0x3C,
+ 0xF5, 0x83, 0xE0, 0xC3, 0x95, 0x2C, 0xE5, 0x2B, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08,
+ 0x05, 0x28, 0xE5, 0x28, 0x70, 0x02, 0x05, 0x27, 0x0B, 0xBB, 0x00, 0x01, 0x0A, 0xEB, 0x64, 0x1B,
+ 0x4A, 0x70, 0xA5, 0xC3, 0xE5, 0x2A, 0x95, 0x2C, 0xFF, 0xE5, 0x29, 0x95, 0x2B, 0xFE, 0xC3, 0xEF,
+ 0x94, 0x03, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x50, 0x03, 0x02, 0x0D, 0x78, 0xE5, 0x28, 0x94, 0x0A,
+ 0xE5, 0x27, 0x64, 0x80, 0x94, 0x80, 0x40, 0x03, 0x02, 0x0D, 0x78, 0xE5, 0x23, 0xFD, 0x33, 0x95,
+ 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE5, 0x2C, 0xF0, 0x74,
+ 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0x75, 0xF0, 0x1A, 0xA4, 0xFF, 0xAE,
+ 0xF0, 0xE4, 0xFC, 0xFD, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0xAF, 0x23, 0xEF, 0x33,
+ 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5,
+ 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0x12, 0x09,
+ 0xA5, 0xE4, 0xFA, 0xFB, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x8B, 0x2F, 0xF5, 0x82,
+ 0x74, 0x00, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0xAD, 0x23, 0xED, 0x33, 0x95, 0xE0, 0xFC, 0x90, 0x00,
+ 0x06, 0x75, 0xF0, 0x28, 0xED, 0x12, 0x09, 0xE2, 0xEC, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5,
+ 0x83, 0xE5, 0x82, 0x2B, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83, 0xEF, 0xF0, 0x0B, 0xBB, 0x00,
+ 0x01, 0x0A, 0xEB, 0x64, 0x28, 0x4A, 0x70, 0xBC, 0xE4, 0xF5, 0x2D, 0x75, 0x2E, 0xFF, 0xFA, 0xFB,
+ 0x90, 0x00, 0x9A, 0xE0, 0xC3, 0x9B, 0xFF, 0xE4, 0x9A, 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, 0xFE,
+ 0x7C, 0x00, 0x7D, 0x28, 0x12, 0x07, 0x98, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00,
+ 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5,
+ 0x83, 0xE5, 0x82, 0x2D, 0xF5, 0x82, 0xE5, 0x83, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0xE5, 0x2D, 0xC3,
+ 0x9F, 0x50, 0x02, 0x8F, 0x2D, 0xE5, 0x2E, 0xD3, 0x9F, 0x40, 0x02, 0x8F, 0x2E, 0x0B, 0xBB, 0x00,
+ 0x01, 0x0A, 0xEB, 0x64, 0x0A, 0x4A, 0x70, 0xA8, 0xC3, 0xE5, 0x2D, 0x95, 0x2E, 0xC3, 0x95, 0x2F,
+ 0x50, 0x37, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x8B, 0x2F, 0xF5, 0x82, 0x74, 0x00,
+ 0x3E, 0xF5, 0x83, 0xE0, 0x24, 0x05, 0xFD, 0xE4, 0x33, 0xFC, 0xC3, 0xE5, 0x2D, 0x9D, 0xEC, 0x64,
+ 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x0F, 0x74, 0x8B, 0x2F, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5,
+ 0x83, 0xE5, 0x2D, 0xF0, 0x80, 0x03, 0x7F, 0x01, 0x22, 0xAF, 0x23, 0x12, 0x2B, 0xD9, 0xE5, 0x23,
+ 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0,
+ 0xFE, 0xEF, 0xD3, 0x9E, 0x50, 0x1B, 0xAF, 0x23, 0x12, 0x2B, 0xC7, 0xE5, 0x23, 0xFD, 0x33, 0x95,
+ 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xD3, 0x9F, 0x40,
+ 0x0A, 0xAF, 0x23, 0x12, 0x0E, 0x5E, 0xEF, 0x70, 0x02, 0xFF, 0x22, 0x7F, 0x01, 0x22, 0x90, 0x01,
+ 0x68, 0xEF, 0xF0, 0x90, 0x01, 0x6A, 0x74, 0x01, 0xF0, 0x12, 0x2B, 0xC7, 0x7E, 0x00, 0xC0, 0x06,
+ 0xC0, 0x07, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD9, 0xEF, 0xFD, 0xD0, 0xE0, 0x2D, 0xFF,
+ 0xD0, 0xE0, 0x34, 0x00, 0xA2, 0xE7, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x01, 0x6D, 0xEE, 0xF0,
+ 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD9, 0xC3, 0x90, 0x01, 0x6E, 0xE0,
+ 0x9F, 0xFF, 0x90, 0x01, 0x6D, 0xE0, 0x94, 0x00, 0xFE, 0xEF, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33,
+ 0xCE, 0xD8, 0xF9, 0xFF, 0x7C, 0x00, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0x90, 0x01, 0x6E, 0xE0, 0xC3,
+ 0x9F, 0x90, 0x01, 0x6B, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xC7, 0x90, 0x01, 0x6D,
+ 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFF, 0xE4, 0x9C, 0xFE, 0xEF, 0x78, 0x02, 0xC3,
+ 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x7C, 0x00, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0x90, 0x01,
+ 0x6E, 0x02, 0x12, 0x1E, 0x90, 0x01, 0x68, 0xE0, 0xFB, 0xE4, 0xFD, 0x7F, 0xFF, 0x12, 0x29, 0x03,
+ 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x7B, 0x12, 0x2B, 0x60, 0x90, 0x01, 0x68,
+ 0xE0, 0xFB, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5,
+ 0x83, 0xEF, 0xF0, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0x74,
+ 0xF5, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFD, 0x12,
+ 0x29, 0x03, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x7B, 0x90, 0x01, 0x68, 0xE0,
+ 0xFD, 0x12, 0x2A, 0x76, 0x90, 0x01, 0x6B, 0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x7A, 0x90, 0x01,
+ 0x6B, 0xE0, 0xD3, 0x9F, 0x50, 0x0A, 0xA3, 0xE0, 0xFE, 0xEF, 0x9E, 0x50, 0x03, 0x02, 0x10, 0x69,
+ 0x90, 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00,
+ 0x3C, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0xFF, 0x40, 0x03, 0x02, 0x11, 0x6E, 0x74, 0x03, 0x2D, 0xF5,
+ 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xF9, 0xFD, 0x33,
+ 0x95, 0xE0, 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0x74,
+ 0xF5, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFD, 0xAB,
+ 0x01, 0x12, 0x29, 0x03, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x7B, 0x90, 0x01,
+ 0x68, 0xE0, 0xFD, 0x12, 0x2A, 0x76, 0x80, 0x86, 0x90, 0x01, 0x6C, 0xE0, 0xFE, 0xEF, 0xD3, 0x9E,
+ 0x50, 0x03, 0x02, 0x10, 0x69, 0x90, 0x01, 0x6B, 0xE0, 0xD3, 0x9F, 0x50, 0x07, 0xA3, 0xE0, 0xFE,
+ 0xEF, 0x9E, 0x40, 0x75, 0x90, 0x01, 0x68, 0xE0, 0xFE, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0xF5,
+ 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFB, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74,
+ 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0x50, 0x03, 0x02, 0x11, 0x6E, 0xEE, 0x33, 0x95, 0xE0,
+ 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0x14, 0xF0, 0x90, 0x01,
+ 0x68, 0xE0, 0xF9, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0x74,
+ 0xF5, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFD, 0xAB,
+ 0x01, 0x12, 0x29, 0x03, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x7B, 0x90, 0x01,
+ 0x68, 0xE0, 0xFD, 0x12, 0x2A, 0x76, 0x02, 0x0F, 0xE5, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B,
+ 0xC7, 0x90, 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74,
+ 0x00, 0x3C, 0xF5, 0x83, 0xEF, 0xF0, 0xE4, 0x90, 0x01, 0x69, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF,
+ 0x12, 0x2B, 0xC7, 0x90, 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x90, 0x00, 0x06, 0x75,
+ 0xF0, 0x28, 0xED, 0x12, 0x09, 0xE2, 0xEC, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0,
+ 0x83, 0xC0, 0x82, 0x90, 0x01, 0x69, 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4,
+ 0x35, 0x83, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x01, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x28,
+ 0x40, 0xB9, 0xE4, 0x90, 0x01, 0x69, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xC7, 0x90,
+ 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x90, 0x00, 0x91, 0x75, 0xF0, 0x03, 0xED, 0x12,
+ 0x09, 0xE2, 0xEC, 0x75, 0xF0, 0x03, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0x90,
+ 0x01, 0x69, 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83,
+ 0xEF, 0xF0, 0x90, 0x01, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0xB9, 0xE4, 0x90,
+ 0x00, 0x8A, 0xF0, 0x90, 0x00, 0x9A, 0x74, 0x27, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B,
+ 0xC7, 0xEF, 0x75, 0xF0, 0x1A, 0xA4, 0xFF, 0xAE, 0xF0, 0xE4, 0xFC, 0xFD, 0xC0, 0x04, 0xC0, 0x05,
+ 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02,
+ 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83,
+ 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0x12, 0x09, 0xA5, 0x7F, 0x01, 0x22, 0x90, 0x01,
+ 0x6A, 0xE0, 0x64, 0x01, 0x70, 0x52, 0x74, 0x02, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B,
+ 0xD9, 0xC3, 0x90, 0x01, 0x6E, 0xE0, 0x9F, 0xFF, 0x90, 0x01, 0x6D, 0xE0, 0x94, 0x00, 0xFE, 0x7C,
+ 0x00, 0x7D, 0x07, 0x12, 0x07, 0x31, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0xA3, 0xE0, 0xC3, 0x9F, 0x90,
+ 0x01, 0x6B, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xC7, 0x90, 0x01, 0x6D, 0xE0, 0xFC,
+ 0xA3, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFF, 0xE4, 0x9C, 0xFE, 0x7C, 0x00, 0x7D, 0x07, 0x12, 0x07,
+ 0x31, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0x80, 0x56, 0x90, 0x01, 0x6A, 0xE0, 0x64, 0x02, 0x70, 0x57,
+ 0x74, 0x03, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD9, 0xC3, 0x90, 0x01, 0x6E, 0xE0,
+ 0x9F, 0xFF, 0x90, 0x01, 0x6D, 0xE0, 0x94, 0x00, 0xFE, 0x7C, 0x00, 0x7D, 0x09, 0x12, 0x07, 0x31,
+ 0x0D, 0x12, 0x07, 0x98, 0xA3, 0xE0, 0xC3, 0x9F, 0x90, 0x01, 0x6B, 0xF0, 0x90, 0x01, 0x68, 0xE0,
+ 0xFF, 0x12, 0x2B, 0xC7, 0x90, 0x01, 0x6D, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFF,
+ 0xE4, 0x9C, 0xFE, 0x7C, 0x00, 0x7D, 0x09, 0x12, 0x07, 0x31, 0x0D, 0x12, 0x07, 0x98, 0xE0, 0x2F,
+ 0x90, 0x01, 0x6C, 0xF0, 0x02, 0x0E, 0xF4, 0x90, 0x01, 0x6A, 0xE0, 0xB4, 0x03, 0x22, 0x74, 0x04,
+ 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xC7, 0xEF, 0x24, 0x0C, 0x90, 0x01, 0x6C, 0xF0,
+ 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD9, 0x90, 0x01, 0x6B, 0xEF, 0xF0, 0x02, 0x0E, 0xF4,
+ 0x7F, 0x00, 0x22, 0x8B, 0x23, 0x8A, 0x24, 0x89, 0x25, 0x8D, 0x26, 0xE4, 0xF5, 0x28, 0xE4, 0xF5,
+ 0x27, 0xAD, 0x27, 0xED, 0x33, 0x95, 0xE0, 0xFC, 0xC3, 0xED, 0x95, 0x26, 0x74, 0x80, 0xF8, 0x6C,
+ 0x98, 0x50, 0x57, 0x12, 0x2C, 0x5C, 0xE4, 0xFD, 0xFF, 0x12, 0x1C, 0xF8, 0xE5, 0x27, 0xFD, 0x33,
+ 0x95, 0xE0, 0xFC, 0x74, 0xD1, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xEF, 0xF0, 0xE4,
+ 0xFD, 0x7F, 0x01, 0x12, 0x1C, 0xF8, 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0xEC, 0x2D,
+ 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xEF, 0xF0, 0xE4, 0xFD, 0x7F, 0x02, 0x12, 0x1C, 0xF8,
+ 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x07, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5,
+ 0x83, 0xEF, 0xF0, 0x12, 0x2C, 0x64, 0x05, 0x27, 0x80, 0x97, 0xE4, 0xF5, 0x27, 0xAF, 0x27, 0xEF,
+ 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD1, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75,
+ 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x08, 0x90, 0x00, 0xD2, 0x75, 0xF0, 0x1B,
+ 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x09,
+ 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD3, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE,
+ 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x0A, 0x90, 0x00, 0xD4, 0x75, 0xF0,
+ 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5,
+ 0x0B, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD5, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2,
+ 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x0C, 0x90, 0x00, 0xD6, 0x75,
+ 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0,
+ 0xF5, 0x0D, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD7, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09,
+ 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x0E, 0x90, 0x00, 0xD8,
+ 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83,
+ 0xE0, 0xF5, 0x0F, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD9, 0x75, 0xF0, 0x1B, 0xEF, 0x12,
+ 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x10, 0x90, 0x00,
+ 0xDA, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5,
+ 0x83, 0xE0, 0xF5, 0x11, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xDB, 0x75, 0xF0, 0x1B, 0xEF,
+ 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x12, 0x90,
+ 0x00, 0xDC, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83,
+ 0xF5, 0x83, 0xE0, 0xF5, 0x13, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xDD, 0x75, 0xF0, 0x1B,
+ 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x14,
+ 0x90, 0x00, 0xDE, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25,
+ 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x15, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xDF, 0x75, 0xF0,
+ 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5,
+ 0x16, 0x90, 0x00, 0xE0, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4,
+ 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x17, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xE1, 0x75,
+ 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0,
+ 0xF5, 0x18, 0x7C, 0x00, 0x78, 0x08, 0xE8, 0x2C, 0xF8, 0xF9, 0xE6, 0xFA, 0xEC, 0xFB, 0x0B, 0x08,
+ 0xE6, 0x9A, 0x40, 0x0B, 0xE6, 0xCA, 0xF6, 0xE8, 0xFD, 0xE9, 0xF8, 0xEA, 0xF6, 0xED, 0xF8, 0x0B,
+ 0xBB, 0x11, 0xEC, 0x0C, 0xBC, 0x09, 0xDD, 0xAD, 0x27, 0xAF, 0x10, 0x12, 0x2A, 0x76, 0xAB, 0x23,
+ 0xAA, 0x24, 0xA9, 0x25, 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0x8D, 0x82, 0xF5, 0x83, 0xEF, 0x12,
+ 0x07, 0x0F, 0x05, 0x27, 0xC3, 0xE5, 0x27, 0x64, 0x80, 0x94, 0x83, 0x50, 0x03, 0x02, 0x12, 0xCD,
+ 0xC3, 0xE5, 0x28, 0x64, 0x80, 0x94, 0x86, 0x50, 0x35, 0xE4, 0xF5, 0x27, 0xC3, 0xE5, 0x27, 0x64,
+ 0x80, 0x94, 0x83, 0x50, 0x29, 0xAF, 0x27, 0x12, 0x2B, 0xD9, 0xEF, 0x24, 0xFA, 0xFF, 0xAB, 0x23,
+ 0xAA, 0x24, 0xA9, 0x25, 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0x8D, 0x82, 0xF5, 0x83, 0x12, 0x06,
+ 0xD0, 0xC3, 0x9F, 0x50, 0x05, 0x05, 0x28, 0x02, 0x12, 0x5E, 0x05, 0x27, 0x80, 0xCE, 0x22, 0x90,
+ 0x01, 0x64, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x67, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xE4, 0xA3, 0xF0,
+ 0xA3, 0xF0, 0x90, 0x01, 0x69, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64, 0x80,
+ 0x94, 0x80, 0x40, 0x03, 0x02, 0x17, 0x63, 0xE4, 0xA3, 0xF0, 0x90, 0x01, 0x67, 0xE0, 0xF4, 0x70,
+ 0x03, 0xA3, 0xE0, 0xF4, 0x70, 0x30, 0x90, 0x01, 0xC8, 0xE0, 0xFD, 0x90, 0x01, 0xC7, 0xE0, 0x2D,
+ 0xFD, 0xE4, 0x33, 0xFC, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82,
+ 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xC3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40,
+ 0x03, 0x02, 0x16, 0x3E, 0x80, 0x48, 0x90, 0x01, 0x68, 0xE0, 0x24, 0x33, 0xF8, 0xE6, 0xFF, 0x33,
+ 0x95, 0xE0, 0xFE, 0xA3, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x6F, 0x70, 0x02, 0xEC, 0x6E, 0x60, 0x3E,
+ 0x90, 0x01, 0xC8, 0xE0, 0xFF, 0x90, 0x01, 0xC7, 0xE0, 0x2F, 0xFB, 0xE4, 0x33, 0xFA, 0xED, 0x25,
+ 0xE0, 0xFF, 0xEC, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0,
+ 0xC3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x03, 0x02, 0x16, 0x3E, 0x74, 0x84,
+ 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x02, 0x16, 0x3E, 0x90, 0x01,
+ 0xC9, 0xE0, 0xFF, 0x90, 0x01, 0xC6, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x01, 0x81, 0xE0,
+ 0x24, 0xCB, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xE0, 0x7C, 0x00, 0x2F, 0xFD, 0xEC, 0x3E,
+ 0xFC, 0x90, 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x83,
+ 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xC3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74,
+ 0x80, 0x98, 0x50, 0x0F, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0x04,
+ 0xF0, 0x80, 0x25, 0x90, 0x01, 0xC9, 0xE0, 0xFF, 0x90, 0x01, 0xC6, 0xE0, 0x2F, 0x04, 0xFD, 0x90,
+ 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x83, 0x2F, 0xF5,
+ 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x01, 0x6B, 0x74, 0x01, 0xF0, 0x90, 0x01,
+ 0x6B, 0xE0, 0x60, 0x38, 0x90, 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33,
+ 0xFE, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x01, 0xC6,
+ 0xE0, 0xFE, 0xEF, 0x6E, 0x70, 0x6F, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x02, 0xE4,
+ 0x12, 0x07, 0x0F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x08, 0x47, 0x80, 0x59, 0x90, 0x01, 0x6A, 0xE0,
+ 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01,
+ 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x01, 0xC7, 0xE0, 0xFE, 0xEF, 0xB5, 0x06, 0x37, 0x90, 0x01,
+ 0x64, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x02, 0x74, 0xFF, 0x12, 0x07, 0x0F, 0xE4, 0x75, 0xF0, 0x02,
+ 0x12, 0x08, 0x47, 0x90, 0x01, 0x6A, 0xE0, 0xFF, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x90, 0x00,
+ 0x05, 0xEF, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x13, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0xE4, 0x90,
+ 0x01, 0x80, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x6B, 0xE0, 0x60, 0x2C, 0x90, 0x01, 0x6A, 0xE0, 0x25,
+ 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E,
+ 0xF5, 0x83, 0xE0, 0xFD, 0x90, 0x01, 0xC6, 0xE0, 0xFC, 0xED, 0xC3, 0x9C, 0x40, 0x38, 0x74, 0x84,
+ 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x80, 0x2A, 0x90, 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01,
+ 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFD,
+ 0x90, 0x01, 0xC7, 0xE0, 0xFC, 0xED, 0xC3, 0x9C, 0x40, 0x0C, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74,
+ 0x01, 0x3E, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x12, 0x07, 0xE4, 0x45,
+ 0xF0, 0x60, 0x13, 0x78, 0x89, 0x7C, 0x01, 0x7D, 0x01, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x7E,
+ 0x00, 0x7F, 0x19, 0x12, 0x06, 0x6F, 0x90, 0x01, 0x69, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE,
+ 0x02, 0x15, 0x12, 0x22, 0x41, 0x02, 0x3A, 0x00, 0x4E, 0x01, 0xDD, 0x00, 0x17, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x01, 0xEB, 0x00, 0x41, 0x01, 0xDB,
+ 0x00, 0x41, 0x01, 0xDC, 0x01, 0x41, 0x01, 0xFB, 0x00, 0x41, 0x02, 0x05, 0x00, 0x41, 0x02, 0x06,
+ 0x00, 0x43, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x41, 0x02, 0x1A, 0x02, 0x41, 0x02, 0x1B, 0x02, 0x41,
+ 0x02, 0x1C, 0x01, 0x41, 0x02, 0x1D, 0x01, 0x42, 0x02, 0x17, 0x00, 0x00, 0x41, 0x02, 0x19, 0x00,
+ 0x41, 0x02, 0x34, 0x00, 0x41, 0x02, 0x32, 0xFF, 0x41, 0x02, 0x33, 0xFF, 0x42, 0x01, 0xC0, 0xFF,
+ 0xFF, 0x59, 0x01, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x01, 0xC2,
+ 0x00, 0x41, 0x01, 0xA4, 0x00, 0x41, 0x01, 0xA3, 0x01, 0x41, 0x01, 0xA2, 0x03, 0x46, 0x01, 0x83,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x01, 0x82, 0x32, 0x41, 0x00, 0x8A, 0x00, 0x41, 0x01,
+ 0x22, 0x01, 0x41, 0x01, 0x3F, 0x00, 0x44, 0x01, 0x3B, 0x01, 0x00, 0x00, 0x02, 0x54, 0x01, 0x23,
+ 0x00, 0x02, 0x1C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x40, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x41, 0x01, 0xC3, 0x00, 0x41, 0x01, 0xD8, 0x00, 0x46, 0x01, 0xD2, 0x00,
+ 0x01, 0x00, 0x02, 0x00, 0x03, 0x4E, 0x01, 0xC4, 0x01, 0x01, 0x03, 0x02, 0x0C, 0x25, 0x25, 0x25,
+ 0x02, 0x02, 0x02, 0x02, 0x25, 0x25, 0x03, 0x33, 0x00, 0x01, 0x02, 0x03, 0x36, 0x01, 0x00, 0x02,
+ 0x43, 0x01, 0xF2, 0x03, 0x04, 0x05, 0x43, 0x01, 0xF5, 0x11, 0x14, 0x17, 0x43, 0x01, 0xEF, 0x0F,
+ 0x0F, 0x0F, 0x43, 0x01, 0xEC, 0x0B, 0x0B, 0x0B, 0x43, 0x01, 0xF8, 0x0A, 0x0A, 0x0A, 0x42, 0x02,
+ 0x38, 0x00, 0x06, 0x60, 0x36, 0x00, 0x9B, 0x04, 0x08, 0x00, 0x00, 0x08, 0x02, 0x02, 0x08, 0x10,
+ 0xEA, 0x08, 0x11, 0xEC, 0x08, 0x12, 0xA2, 0x08, 0x13, 0xEE, 0x08, 0x14, 0xA3, 0x08, 0x15, 0xF4,
+ 0x08, 0x16, 0xA2, 0x08, 0x17, 0xF6, 0x08, 0x18, 0xA0, 0x08, 0x19, 0xF8, 0x08, 0x1A, 0xA8, 0x08,
+ 0x1B, 0xFA, 0x08, 0x1C, 0xA8, 0x08, 0x1D, 0xFC, 0x08, 0x1E, 0xA8, 0x08, 0x1F, 0x43, 0x02, 0x27,
+ 0xB7, 0xB4, 0xB1, 0x43, 0x02, 0x24, 0xA1, 0xA1, 0xA1, 0x00, 0x90, 0x01, 0x68, 0x12, 0x0A, 0x0E,
+ 0x74, 0xFF, 0x90, 0x01, 0x76, 0xF0, 0xA3, 0xF0, 0xE4, 0x90, 0x01, 0x7C, 0xF0, 0x90, 0x01, 0x74,
+ 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x74, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64,
+ 0x80, 0x94, 0x80, 0x50, 0x29, 0x90, 0x01, 0x6E, 0x12, 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0x12,
+ 0x06, 0xD0, 0xFF, 0x90, 0x01, 0x75, 0xE0, 0x24, 0x7D, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83,
+ 0xEF, 0xF0, 0x90, 0x01, 0x74, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x80, 0xC5, 0xE4, 0x90,
+ 0x01, 0x7A, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x78, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x71, 0x12, 0x09,
+ 0xEE, 0x90, 0x00, 0x13, 0x12, 0x08, 0x0F, 0xFF, 0x90, 0x01, 0x6E, 0x12, 0x09, 0xEE, 0x8F, 0x82,
+ 0x85, 0xF0, 0x83, 0x12, 0x06, 0xD0, 0xFF, 0xC3, 0x90, 0x02, 0x39, 0xE0, 0x9F, 0x90, 0x02, 0x38,
+ 0xE0, 0x94, 0x00, 0x50, 0x20, 0x90, 0x01, 0x71, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x13, 0x12, 0x08,
+ 0x0F, 0xFF, 0xAE, 0xF0, 0xF4, 0x70, 0x02, 0xEE, 0xF4, 0x60, 0x0A, 0x90, 0x01, 0x76, 0xEE, 0xF0,
+ 0xA3, 0xEF, 0xF0, 0x80, 0x78, 0xE4, 0x90, 0x01, 0x74, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x75, 0xE0,
+ 0x24, 0x7D, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xE0, 0xFF, 0x7E, 0x00, 0x90, 0x01, 0x78,
+ 0xEE, 0x8F, 0xF0, 0x12, 0x07, 0xCE, 0xC3, 0x90, 0x01, 0x7B, 0xE0, 0x9F, 0x90, 0x01, 0x7A, 0xE0,
+ 0x9E, 0x50, 0x12, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x74, 0xE0, 0xFF, 0xA3, 0xE0, 0xA3,
+ 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x74, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x90,
+ 0x01, 0x74, 0xE0, 0x70, 0x04, 0xA3, 0xE0, 0x64, 0x03, 0x70, 0xB1, 0x90, 0x02, 0x38, 0xE0, 0xFE,
+ 0xA3, 0xE0, 0xFF, 0xC3, 0x90, 0x01, 0x7B, 0xE0, 0x9F, 0x90, 0x01, 0x7A, 0xE0, 0x9E, 0x50, 0x0D,
+ 0x74, 0xFF, 0x90, 0x01, 0x76, 0xF0, 0xA3, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x76,
+ 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x01, 0x68, 0x12, 0x09, 0xEE, 0xEE, 0x8F, 0xF0, 0x12, 0x08,
+ 0x47, 0x90, 0x01, 0x78, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x01, 0x6B, 0x12, 0x09, 0xEE, 0xEE,
+ 0x8F, 0xF0, 0x02, 0x08, 0x47, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75,
+ 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06,
+ 0xC0, 0x07, 0xC2, 0xAF, 0x53, 0xE8, 0xDF, 0xC2, 0xB7, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xDD, 0x90,
+ 0x01, 0xFF, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x3F, 0x74, 0x01, 0xF0, 0xD2, 0xD8, 0x30, 0xB3, 0x4B,
+ 0x20, 0xB5, 0x48, 0x30, 0xB4, 0x24, 0x90, 0x02, 0x05, 0xE4, 0xF0, 0x90, 0x01, 0xFF, 0x12, 0x09,
+ 0xEE, 0x90, 0x02, 0x05, 0xE0, 0xF5, 0x82, 0x75, 0x83, 0x00, 0x12, 0x06, 0xD0, 0xF5, 0xB4, 0x43,
+ 0xB1, 0x20, 0x90, 0x01, 0xFB, 0x74, 0x03, 0xF0, 0x80, 0x74, 0x90, 0x02, 0x06, 0xE4, 0xF0, 0x90,
+ 0x01, 0xFC, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xFC, 0x90, 0x02, 0x02,
+ 0x12, 0x0A, 0x0E, 0x90, 0x01, 0xFB, 0x74, 0x02, 0xF0, 0x80, 0x53, 0x90, 0x01, 0xFB, 0xE0, 0xB4,
+ 0x03, 0x22, 0x20, 0xB5, 0x1A, 0x90, 0x02, 0x05, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0xFF, 0x12, 0x09,
+ 0xEE, 0x90, 0x02, 0x05, 0xE0, 0xF5, 0x82, 0x75, 0x83, 0x00, 0x12, 0x06, 0xD0, 0xF5, 0xB4, 0x43,
+ 0xB1, 0x20, 0x80, 0x2A, 0x90, 0x01, 0xFB, 0xE0, 0xB4, 0x02, 0x23, 0x43, 0xB1, 0x20, 0x20, 0xB3,
+ 0x1D, 0x20, 0xB5, 0x1A, 0x90, 0x02, 0x02, 0x12, 0x09, 0xEE, 0x90, 0x02, 0x06, 0xE0, 0xF5, 0x82,
+ 0x75, 0x83, 0x00, 0xE5, 0xB4, 0x12, 0x07, 0x0F, 0x90, 0x02, 0x06, 0xE0, 0x04, 0xF0, 0x43, 0xB1,
+ 0x20, 0x90, 0x01, 0xFB, 0xE0, 0x64, 0x02, 0x70, 0x22, 0x90, 0x01, 0xEB, 0xE0, 0x60, 0x13, 0x30,
+ 0xB2, 0x10, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xFC, 0x90, 0x02, 0x06, 0xE0, 0xFD, 0x12, 0x25, 0xB4,
+ 0x80, 0x09, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xFC, 0x12, 0x1C, 0x21, 0x43, 0x9E, 0x04, 0x43, 0xE8,
+ 0x20, 0xD2, 0xAF, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0,
+ 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x01,
+ 0x68, 0x12, 0x0A, 0x0E, 0xE4, 0x90, 0x01, 0x6B, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x6B, 0xE0, 0xFE,
+ 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x50, 0x76, 0x90, 0x01, 0x68,
+ 0x12, 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0x12, 0x06, 0xD0, 0xFF, 0x90, 0x01, 0x6C, 0xE0, 0xF9,
+ 0x24, 0x8B, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFD, 0xE4,
+ 0x94, 0x00, 0xFC, 0x90, 0x01, 0x6C, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x6B, 0xE0, 0x33, 0xFE,
+ 0x74, 0x6D, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0x74,
+ 0x6D, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0xEE,
+ 0x64, 0x80, 0x94, 0x80, 0x50, 0x04, 0x7F, 0x00, 0x80, 0x00, 0x74, 0x8E, 0x29, 0xF5, 0x82, 0xE4,
+ 0x34, 0x00, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x01, 0x6B, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE,
+ 0x02, 0x1B, 0x3B, 0xC2, 0xAF, 0xE4, 0x90, 0x01, 0x6B, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x6C, 0xE0,
+ 0xFF, 0x24, 0x8E, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0x75, 0xF0, 0x07, 0xA4, 0xFE,
+ 0x74, 0xE0, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x01, 0x6C, 0xE0,
+ 0xFF, 0x24, 0x8B, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0xE7, 0x2F, 0xF5,
+ 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x01, 0x6B, 0xE4, 0x75, 0xF0, 0x01, 0x12,
+ 0x07, 0xCE, 0x90, 0x01, 0x6B, 0xE0, 0x70, 0x04, 0xA3, 0xE0, 0x64, 0x03, 0x70, 0xAE, 0xD2, 0xAF,
+ 0x22, 0x90, 0x01, 0x54, 0x12, 0x0A, 0x0E, 0x12, 0x06, 0xB7, 0x90, 0x01, 0x57, 0xF0, 0x12, 0x0A,
+ 0x17, 0x1C, 0x71, 0x01, 0x1C, 0x7C, 0x02, 0x1C, 0xD6, 0x0A, 0x1C, 0xD9, 0x0B, 0x1C, 0xDD, 0x0C,
+ 0x1C, 0xCF, 0x10, 0x1C, 0x86, 0x12, 0x1C, 0x9B, 0x13, 0x1C, 0xB0, 0x14, 0x1C, 0xEB, 0x55, 0x1C,
+ 0xE1, 0xA0, 0x1C, 0xE1, 0xA1, 0x1C, 0xE1, 0xA2, 0x1C, 0xE1, 0xA3, 0x1C, 0xE1, 0xA4, 0x1C, 0xE1,
+ 0xA5, 0x1C, 0xE1, 0xA6, 0x1C, 0xE1, 0xA7, 0x1C, 0xE1, 0xA8, 0x1C, 0xE1, 0xA9, 0x00, 0x00, 0x1C,
+ 0xF7, 0x7F, 0x01, 0x12, 0x2C, 0x8A, 0xE4, 0x90, 0x01, 0xDC, 0xF0, 0x22, 0xE4, 0xFF, 0x12, 0x2C,
+ 0x8A, 0x90, 0x01, 0xDC, 0x80, 0x4C, 0x90, 0x01, 0xA2, 0xE0, 0xC3, 0x94, 0x03, 0x50, 0x68, 0x7F,
+ 0x14, 0x12, 0x2C, 0x8A, 0x90, 0x01, 0xA2, 0xE0, 0x04, 0xF0, 0x22, 0x90, 0x01, 0xA2, 0xE0, 0xD3,
+ 0x94, 0x00, 0x40, 0x53, 0x7F, 0x14, 0x12, 0x2C, 0x8A, 0x90, 0x01, 0xA2, 0xE0, 0x14, 0xF0, 0x22,
+ 0x90, 0x01, 0x54, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x01, 0x12, 0x06, 0xD0, 0x90, 0x01, 0xA2, 0xF0,
+ 0xD3, 0x94, 0x00, 0x40, 0x32, 0xE0, 0x94, 0x0F, 0x50, 0x2D, 0x7F, 0x14, 0x02, 0x2C, 0x8A, 0x90,
+ 0x02, 0x3A, 0x74, 0x01, 0xF0, 0x22, 0xE4, 0x80, 0x0E, 0x7F, 0x02, 0x80, 0x0B, 0x7F, 0x04, 0x80,
+ 0x07, 0x90, 0x01, 0x57, 0xE0, 0x24, 0x60, 0xFF, 0x02, 0x00, 0x6E, 0x90, 0x01, 0xEB, 0x74, 0x01,
+ 0xF0, 0x90, 0x01, 0xDD, 0x74, 0xAA, 0xF0, 0x22, 0x8D, 0x32, 0xEF, 0xFD, 0x33, 0x95, 0xE0, 0xFC,
+ 0x74, 0xEC, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xC4, 0x54, 0xF0, 0x44, 0x0F,
+ 0x90, 0x08, 0x02, 0xF0, 0x74, 0xF8, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE,
+ 0xC3, 0x74, 0xF4, 0x9E, 0x90, 0x08, 0x14, 0xF0, 0xE0, 0x14, 0x90, 0x08, 0x12, 0xF0, 0x74, 0x36,
+ 0x2F, 0xF8, 0xE6, 0xC4, 0x54, 0xF0, 0x90, 0x08, 0x00, 0xF0, 0xE0, 0x44, 0x0A, 0xF0, 0xE4, 0x90,
+ 0x01, 0x3F, 0xF0, 0x90, 0x08, 0x03, 0x74, 0xFC, 0xF0, 0x90, 0x08, 0x00, 0xE0, 0x44, 0x01, 0xF0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x08, 0x03, 0x74, 0xFE, 0xF0, 0x90, 0x08, 0x00, 0xE0,
+ 0x20, 0xE0, 0xF9, 0x90, 0x01, 0x3F, 0xE0, 0x70, 0x95, 0x90, 0x08, 0x00, 0xE0, 0x54, 0xF7, 0xF0,
+ 0xA3, 0xE0, 0xFF, 0x22, 0x90, 0x01, 0x68, 0x12, 0x0A, 0x0E, 0xD2, 0xD8, 0x7B, 0x01, 0x7A, 0x01,
+ 0x79, 0x6C, 0x7D, 0x11, 0x12, 0x12, 0x53, 0xD2, 0xD8, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x6F, 0x7D,
+ 0x11, 0x12, 0x12, 0x53, 0xD2, 0xD8, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x72, 0x7D, 0x11, 0x12, 0x12,
+ 0x53, 0xE4, 0x90, 0x01, 0x6B, 0xF0, 0xD2, 0xD8, 0x90, 0x01, 0x6B, 0xE0, 0xFF, 0xFD, 0x33, 0x95,
+ 0xE0, 0xFC, 0x74, 0x6C, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFB, 0x90, 0x01,
+ 0x75, 0xE4, 0xF0, 0xA3, 0xEB, 0xF0, 0x74, 0x6F, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83,
+ 0xE0, 0xFD, 0x90, 0x01, 0x75, 0xE4, 0x8D, 0xF0, 0x12, 0x07, 0xCE, 0xEF, 0x33, 0x95, 0xE0, 0xFE,
+ 0x74, 0x72, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x01, 0x75, 0xE4,
+ 0x8F, 0xF0, 0x12, 0x07, 0xCE, 0x90, 0x01, 0x75, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x7C, 0x00, 0x7D,
+ 0x03, 0x12, 0x07, 0x43, 0x90, 0x01, 0x68, 0x12, 0x09, 0xEE, 0x90, 0x01, 0x6B, 0xE0, 0xFD, 0x33,
+ 0x95, 0xE0, 0x8D, 0x82, 0xF5, 0x83, 0xEF, 0x12, 0x07, 0x0F, 0x90, 0x01, 0x6B, 0xE0, 0x04, 0xF0,
+ 0xE0, 0x64, 0x03, 0x70, 0x81, 0x22, 0x90, 0x01, 0x42, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54,
+ 0x01, 0x30, 0xE0, 0x13, 0x90, 0x00, 0x02, 0x12, 0x06, 0xD0, 0xFE, 0xF4, 0x60, 0x09, 0xEE, 0x60,
+ 0x06, 0x90, 0x01, 0xD8, 0x74, 0x01, 0xF0, 0xEF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x63, 0x90,
+ 0x01, 0xD8, 0xE0, 0x70, 0x5D, 0x90, 0x00, 0x05, 0x12, 0x06, 0xD0, 0xFF, 0xC3, 0x64, 0x80, 0x94,
+ 0x84, 0x50, 0x4F, 0x12, 0x07, 0xE4, 0x30, 0xE1, 0x1D, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x25,
+ 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0xD2, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xA3,
+ 0xE0, 0xFF, 0x7D, 0x02, 0x80, 0x27, 0x12, 0x07, 0xE4, 0x30, 0xE0, 0x26, 0x90, 0x00, 0x05, 0x12,
+ 0x06, 0xD0, 0xFF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0xD2,
+ 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xA3, 0xE0, 0xFF, 0x7D, 0x01, 0x7C, 0x00, 0x12,
+ 0x2A, 0xB5, 0x90, 0x00, 0x02, 0x12, 0x06, 0xD0, 0xB4, 0xFF, 0x12, 0x90, 0x01, 0x42, 0xE0, 0xC4,
+ 0x13, 0x13, 0x13, 0x54, 0x01, 0x20, 0xE0, 0x05, 0xE4, 0x90, 0x01, 0xD8, 0xF0, 0x22, 0x90, 0x01,
+ 0x60, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x47, 0x90, 0x00, 0x13, 0xEC,
+ 0x8D, 0xF0, 0x12, 0x08, 0x66, 0xBC, 0xFF, 0x07, 0xBD, 0xFF, 0x04, 0x7F, 0xFF, 0x80, 0x09, 0x90,
+ 0x01, 0x61, 0xE0, 0x24, 0x33, 0xF8, 0xE6, 0xFF, 0x90, 0x00, 0x05, 0xEF, 0x12, 0x07, 0x0F, 0x90,
+ 0x01, 0x62, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x00, 0x11, 0xEE, 0x8F, 0xF0, 0x12, 0x08, 0x66,
+ 0x90, 0x00, 0x02, 0x74, 0xFF, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x08,
+ 0x66, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x0A, 0xE4, 0xF5, 0xF0,
+ 0x12, 0x08, 0x66, 0x90, 0x00, 0x0E, 0xE4, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x0F, 0xE4, 0xF5, 0xF0,
+ 0x12, 0x08, 0x66, 0x90, 0x00, 0x0C, 0x74, 0xFF, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x17,
+ 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x01, 0x82, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xEE, 0x94,
+ 0x00, 0x50, 0x0B, 0x90, 0x01, 0x60, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x14, 0xFF, 0x22, 0x90,
+ 0x01, 0x5D, 0x12, 0x0A, 0x0E, 0xE4, 0x90, 0x01, 0x67, 0xF0, 0x7B, 0x01, 0x7A, 0x00, 0x79, 0x00,
+ 0x12, 0x1D, 0xB4, 0x90, 0x00, 0x9A, 0xE0, 0x24, 0x29, 0x75, 0xF0, 0x28, 0x84, 0xE5, 0xF0, 0xF0,
+ 0xE4, 0x90, 0x01, 0x66, 0xF0, 0x90, 0x01, 0x66, 0xE0, 0xFF, 0xC3, 0x64, 0x80, 0x94, 0x83, 0x50,
+ 0x16, 0x7B, 0x01, 0x7A, 0x00, 0x79, 0x00, 0x12, 0x0A, 0x3D, 0x90, 0x01, 0x67, 0xEF, 0xF0, 0x90,
+ 0x01, 0x66, 0xE0, 0x04, 0xF0, 0x80, 0xDE, 0x7B, 0x01, 0x7A, 0x00, 0x79, 0x00, 0x12, 0x1B, 0x2E,
+ 0x90, 0x01, 0x67, 0xE0, 0x60, 0x2D, 0x90, 0x01, 0x60, 0x12, 0x09, 0xEE, 0x90, 0x01, 0x6B, 0x12,
+ 0x0A, 0x0E, 0x7B, 0x01, 0x7A, 0x00, 0x79, 0x8E, 0x90, 0x01, 0x6E, 0x12, 0x0A, 0x0E, 0x90, 0x01,
+ 0x63, 0x12, 0x09, 0xEE, 0x90, 0x01, 0x71, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x5D, 0x12, 0x09, 0xEE,
+ 0x02, 0x18, 0xBA, 0x7B, 0x00, 0x7A, 0xFF, 0x79, 0xFF, 0x90, 0x01, 0x5D, 0x12, 0x0A, 0x0E, 0x7A,
+ 0x00, 0x79, 0x00, 0x90, 0x01, 0x60, 0x12, 0x0A, 0x0E, 0x22, 0xED, 0x64, 0x80, 0x4C, 0x70, 0x03,
+ 0x8F, 0x80, 0x22, 0xED, 0x64, 0x90, 0x4C, 0x70, 0x03, 0x8F, 0x90, 0x22, 0xED, 0x64, 0x95, 0x4C,
+ 0x70, 0x03, 0x8F, 0x95, 0x22, 0xED, 0x64, 0x96, 0x4C, 0x70, 0x03, 0x8F, 0x96, 0x22, 0xED, 0x64,
+ 0x9D, 0x4C, 0x70, 0x03, 0x8F, 0x9D, 0x22, 0xED, 0x64, 0x9E, 0x4C, 0x70, 0x03, 0x8F, 0x9E, 0x22,
+ 0xED, 0x64, 0xA5, 0x4C, 0x70, 0x03, 0x8F, 0xA5, 0x22, 0xED, 0x64, 0xA6, 0x4C, 0x70, 0x03, 0x8F,
+ 0xA6, 0x22, 0xED, 0x64, 0xD2, 0x4C, 0x70, 0x03, 0x8F, 0xD2, 0x22, 0xED, 0x64, 0xD4, 0x4C, 0x70,
+ 0x03, 0x8F, 0xD4, 0x22, 0xED, 0x64, 0xD6, 0x4C, 0x70, 0x03, 0x8F, 0xD6, 0x22, 0xED, 0x64, 0xDC,
+ 0x4C, 0x70, 0x03, 0x8F, 0xDC, 0x22, 0xED, 0x64, 0xDD, 0x4C, 0x70, 0x03, 0x8F, 0xDD, 0x22, 0xED,
+ 0x64, 0xDE, 0x4C, 0x70, 0x03, 0x8F, 0xDE, 0x22, 0xED, 0x64, 0xDF, 0x4C, 0x70, 0x03, 0x8F, 0xDF,
+ 0x22, 0xC3, 0xED, 0x94, 0xF9, 0xEC, 0x94, 0x00, 0x40, 0x06, 0x8D, 0x82, 0x8C, 0x83, 0xEF, 0xF0,
+ 0x22, 0x12, 0x2C, 0x96, 0x90, 0x02, 0x3B, 0xEF, 0xF0, 0x12, 0x2C, 0x90, 0xEF, 0x60, 0x5F, 0x90,
+ 0x02, 0x19, 0xE0, 0x70, 0x0B, 0x90, 0x02, 0x17, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x80, 0x4E,
+ 0x90, 0x02, 0x17, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0xD3, 0x90, 0x02, 0x18, 0xE0, 0x94,
+ 0x0C, 0x90, 0x02, 0x17, 0xE0, 0x94, 0x00, 0x40, 0x35, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90,
+ 0x02, 0x3B, 0xE0, 0x70, 0x04, 0x7F, 0x04, 0x80, 0x1F, 0x90, 0x02, 0x3B, 0xE0, 0xB4, 0x01, 0x04,
+ 0x7F, 0x08, 0x80, 0x14, 0x90, 0x02, 0x3B, 0xE0, 0xB4, 0x02, 0x04, 0x7F, 0x0C, 0x80, 0x09, 0x90,
+ 0x02, 0x3B, 0xE0, 0xB4, 0x03, 0x05, 0x7F, 0x10, 0x12, 0x2C, 0x8A, 0x12, 0x2C, 0x0A, 0x90, 0x02,
+ 0x1C, 0xE0, 0x60, 0x1D, 0x90, 0x02, 0x1A, 0xE0, 0x60, 0x04, 0xE0, 0xB4, 0x01, 0x09, 0xE4, 0xF5,
+ 0x8A, 0xF5, 0x8C, 0xD2, 0x8C, 0x80, 0x0A, 0x90, 0x02, 0x1A, 0xE0, 0xB4, 0x03, 0x03, 0xE4, 0xF5,
+ 0x8A, 0xD2, 0xD8, 0xC2, 0x8D, 0x22, 0x90, 0x01, 0x5B, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xD3, 0x94,
+ 0xF8, 0xEE, 0x94, 0x00, 0x50, 0x70, 0x90, 0x01, 0x5B, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xEE, 0x70,
+ 0x62, 0xEF, 0x12, 0x0A, 0x17, 0x21, 0xC6, 0x80, 0x21, 0xC9, 0x90, 0x21, 0xCC, 0x95, 0x21, 0xCF,
+ 0x96, 0x21, 0xD2, 0x9D, 0x21, 0xD5, 0x9E, 0x21, 0xD8, 0xA5, 0x21, 0xDB, 0xA6, 0x21, 0xDE, 0xD2,
+ 0x21, 0xE1, 0xD4, 0x21, 0xE4, 0xD6, 0x21, 0xE7, 0xDC, 0x21, 0xEA, 0xDD, 0x21, 0xED, 0xDE, 0x21,
+ 0xF0, 0xDF, 0x00, 0x00, 0x21, 0xF3, 0xAF, 0x80, 0x22, 0xAF, 0x90, 0x22, 0xAF, 0x95, 0x22, 0xAF,
+ 0x96, 0x22, 0xAF, 0x9D, 0x22, 0xAF, 0x9E, 0x22, 0xAF, 0xA5, 0x22, 0xAF, 0xA6, 0x22, 0xAF, 0xD2,
+ 0x22, 0xAF, 0xD4, 0x22, 0xAF, 0xD6, 0x22, 0xAF, 0xDC, 0x22, 0xAF, 0xDD, 0x22, 0xAF, 0xDE, 0x22,
+ 0xAF, 0xDF, 0x22, 0x7F, 0x00, 0x22, 0x90, 0x01, 0x5B, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E,
+ 0x83, 0xE0, 0xFF, 0x22, 0x78, 0x7F, 0xE4, 0xF6, 0xD8, 0xFD, 0x75, 0x81, 0x38, 0x02, 0x22, 0x4B,
+ 0x02, 0x26, 0xB1, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2,
+ 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33,
+ 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, 0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF,
+ 0xE4, 0x80, 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x17, 0x64, 0xE4, 0x7E,
+ 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93,
+ 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, 0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3,
+ 0xFA, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA,
+ 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE,
+ 0x75, 0x80, 0xFF, 0x75, 0x85, 0x02, 0x75, 0x86, 0x03, 0x75, 0x87, 0x10, 0xE4, 0xF5, 0x88, 0xF5,
+ 0x89, 0xF5, 0x8A, 0xF5, 0x8B, 0xF5, 0x8C, 0xF5, 0x8D, 0x75, 0x8E, 0xE0, 0x75, 0x8F, 0xFF, 0x75,
+ 0x90, 0xFF, 0x75, 0x91, 0x01, 0x75, 0x95, 0xFF, 0x75, 0x96, 0xFF, 0xF5, 0x9C, 0x75, 0x9D, 0xFF,
+ 0x75, 0x9E, 0xFF, 0x75, 0xA5, 0xFF, 0x75, 0xA6, 0xFF, 0xF5, 0xA8, 0xF5, 0xB0, 0x75, 0xB1, 0x20,
+ 0xF5, 0xB2, 0xF5, 0xB3, 0xF5, 0xB4, 0xF5, 0xB5, 0xF5, 0xB7, 0xF5, 0xB8, 0x75, 0xC6, 0x0F, 0xF5,
+ 0xC7, 0xF5, 0xC8, 0xF5, 0xC9, 0xF5, 0xCA, 0xF5, 0xCB, 0xF5, 0xCC, 0xF5, 0xCD, 0xF5, 0xD0, 0xF5,
+ 0xD2, 0xF5, 0xD4, 0xF5, 0xD6, 0x75, 0xD8, 0x50, 0xF5, 0xDC, 0xF5, 0xDD, 0xF5, 0xDE, 0xF5, 0xDF,
+ 0xF5, 0xE8, 0xF5, 0xEA, 0xF5, 0xEB, 0xF5, 0xEC, 0xF5, 0xED, 0xF5, 0xEE, 0xF5, 0xF4, 0xF5, 0xF3,
+ 0xF5, 0xF2, 0xF5, 0xF7, 0xF5, 0xF8, 0x7F, 0x01, 0x22, 0x90, 0x01, 0x5E, 0x12, 0x0A, 0x0E, 0xE4,
+ 0x90, 0x01, 0x61, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x61, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x94,
+ 0x03, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x50, 0x63, 0x90, 0x01, 0xC9, 0xE0, 0xFD, 0x90, 0x01, 0xC6,
+ 0xE0, 0x2D, 0xFD, 0xE4, 0x33, 0xFC, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0x83, 0x2F,
+ 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xC3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80,
+ 0x98, 0x40, 0x2C, 0x90, 0x01, 0x5E, 0x12, 0x09, 0xEE, 0x12, 0x07, 0xE4, 0x44, 0x02, 0xFF, 0xE5,
+ 0xF0, 0x8F, 0xF0, 0x12, 0x08, 0x47, 0x90, 0x01, 0x5E, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x13, 0xE4,
+ 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x01, 0x62, 0xE0, 0x90, 0x00, 0x05, 0x12, 0x07, 0x0F, 0x90,
+ 0x01, 0x61, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x80, 0x8B, 0x22, 0xE4, 0x90, 0x01, 0x5D,
+ 0xF0, 0x90, 0x01, 0xA2, 0xE0, 0xC4, 0x54, 0xF0, 0xFE, 0xE0, 0xFD, 0xEF, 0x60, 0x03, 0xB4, 0x01,
+ 0x0B, 0x90, 0x01, 0xA3, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x23, 0xEF, 0xF0, 0xEF, 0x12, 0x0A, 0x17,
+ 0x23, 0xDF, 0x00, 0x23, 0xEC, 0x01, 0x23, 0xF6, 0x02, 0x23, 0xFE, 0x05, 0x23, 0xFA, 0x06, 0x24,
+ 0x05, 0x09, 0x23, 0xD9, 0x14, 0x00, 0x00, 0x24, 0x0B, 0x8E, 0xDD, 0x8D, 0xDE, 0x80, 0x13, 0xEE,
+ 0xF4, 0xFF, 0x52, 0xDD, 0xED, 0xF4, 0x52, 0xDE, 0xEF, 0x52, 0xDE, 0x22, 0xEE, 0x42, 0xDD, 0xED,
+ 0x42, 0xDE, 0xEE, 0x42, 0xDE, 0x22, 0xEE, 0x42, 0xDD, 0x22, 0xED, 0x42, 0xDE, 0x22, 0xAF, 0x06,
+ 0xEE, 0xF4, 0x52, 0xDD, 0x22, 0xAF, 0x05, 0xED, 0xF4, 0x52, 0xDE, 0x22, 0x90, 0x01, 0xA3, 0xE0,
+ 0x60, 0x05, 0xE4, 0xF0, 0x12, 0x2A, 0x50, 0x90, 0x01, 0xEB, 0xE0, 0x70, 0x5D, 0x7B, 0x01, 0x7A,
+ 0x01, 0x79, 0xBE, 0x90, 0x01, 0x60, 0x12, 0x0A, 0x0E, 0x7A, 0x01, 0x79, 0xA5, 0x90, 0x01, 0x63,
+ 0x12, 0x0A, 0x0E, 0x7A, 0x01, 0x79, 0xC0, 0x12, 0x1F, 0xAF, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA5,
+ 0x90, 0x01, 0xC0, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x90, 0x01, 0xBE, 0xE0, 0xFF, 0xA3, 0xE0, 0x90,
+ 0x01, 0x62, 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x12, 0x1F, 0x0E, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA5,
+ 0x12, 0x1E, 0x66, 0x90, 0x01, 0xA4, 0xE0, 0xFF, 0x90, 0x01, 0xC2, 0xE0, 0x6F, 0x60, 0x0B, 0x90,
+ 0x01, 0xA4, 0xE0, 0x90, 0x01, 0xC2, 0xF0, 0x12, 0x29, 0x3B, 0x22, 0xAB, 0x07, 0xAA, 0x05, 0x74,
+ 0x36, 0x2B, 0xF8, 0xE6, 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC,
+ 0xF9, 0xE4, 0xF5, 0x30, 0xF5, 0x31, 0xEA, 0xFF, 0xC3, 0xE5, 0x31, 0x9F, 0x74, 0x80, 0xF8, 0x65,
+ 0x30, 0x98, 0x50, 0x1E, 0x12, 0x2C, 0x5C, 0xAF, 0x03, 0xAD, 0x01, 0x12, 0x1C, 0xF8, 0x74, 0x08,
+ 0x25, 0x31, 0xF8, 0xA6, 0x07, 0x12, 0x2C, 0x64, 0x05, 0x31, 0xE5, 0x31, 0x70, 0xD8, 0x05, 0x30,
+ 0x80, 0xD4, 0x7C, 0x00, 0x78, 0x08, 0xE8, 0x2C, 0xF8, 0xF9, 0xE6, 0xFA, 0xEC, 0xFB, 0x0B, 0x08,
+ 0xE6, 0x9A, 0x40, 0x0B, 0xE6, 0xCA, 0xF6, 0xE8, 0xFD, 0xE9, 0xF8, 0xEA, 0xF6, 0xED, 0xF8, 0x0B,
+ 0xBB, 0x1B, 0xEC, 0x0C, 0xBC, 0x0E, 0xDD, 0xAF, 0x15, 0x22, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x47,
+ 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12,
+ 0x08, 0x66, 0x90, 0x00, 0x13, 0x74, 0xFF, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x05, 0x74,
+ 0xFF, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x11, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x0A,
+ 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x0E, 0xE4, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x0F,
+ 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x0C, 0x74, 0xFF, 0xF5, 0xF0, 0x12, 0x08, 0x66,
+ 0x90, 0x00, 0x17, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x02, 0x74, 0xFF, 0x12, 0x07,
+ 0x0F, 0x12, 0x23, 0x19, 0x02, 0x26, 0x0A, 0xEF, 0x12, 0x0A, 0x17, 0x25, 0x83, 0x00, 0x25, 0x8C,
+ 0x01, 0x25, 0x94, 0x02, 0x25, 0x94, 0x03, 0x25, 0x94, 0x04, 0x25, 0x9C, 0x05, 0x25, 0x9A, 0x06,
+ 0x25, 0x9A, 0x07, 0x25, 0x9A, 0x08, 0x25, 0xA8, 0x09, 0x25, 0x8C, 0x12, 0x25, 0x83, 0x13, 0x00,
+ 0x00, 0x25, 0xB3, 0xED, 0xF4, 0x54, 0x0F, 0x52, 0xDC, 0x52, 0xDD, 0x22, 0xED, 0x54, 0x0F, 0x42,
+ 0xDC, 0x42, 0xDD, 0x22, 0xED, 0x54, 0x0F, 0x42, 0xDC, 0x22, 0x80, 0x06, 0xED, 0xF4, 0x54, 0x0F,
+ 0x52, 0xDC, 0xED, 0x54, 0x0F, 0x42, 0xDD, 0x22, 0xED, 0x54, 0x0F, 0x42, 0xDC, 0xED, 0xF4, 0x54,
+ 0x0F, 0x52, 0xDD, 0x22, 0x90, 0x01, 0x54, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x57, 0xED, 0xF0, 0xE4,
+ 0xA3, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x12, 0x07, 0xE4, 0xFF, 0x90, 0x01, 0x59, 0xE5, 0xF0, 0xF0,
+ 0xA3, 0xEF, 0xF0, 0xBD, 0x02, 0x02, 0x80, 0x21, 0x90, 0x01, 0x57, 0xE0, 0xB4, 0x03, 0x2A, 0x90,
+ 0x01, 0x54, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x02, 0x12, 0x06, 0xD0, 0xFF, 0x90, 0x01, 0x58, 0xF0,
+ 0xA3, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x20, 0x4A, 0x90, 0x01, 0x59, 0xE0, 0xFE, 0xA3, 0xE0,
+ 0xFF, 0x12, 0x21, 0x76, 0x90, 0x01, 0xDD, 0xEF, 0xF0, 0x22, 0xE4, 0xFD, 0xFC, 0xED, 0x25, 0xE0,
+ 0xFF, 0xEC, 0x33, 0xFE, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE4, 0xF0,
+ 0x90, 0x01, 0xC8, 0xE0, 0xFF, 0x90, 0x01, 0xC7, 0xE0, 0x2F, 0xFB, 0xED, 0x25, 0xE0, 0xFF, 0xEC,
+ 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xEB, 0xF0, 0x0D, 0xBD,
+ 0x00, 0x01, 0x0C, 0xED, 0x64, 0x03, 0x4C, 0x70, 0xC4, 0xE4, 0x90, 0x01, 0x80, 0xF0, 0xA3, 0xF0,
+ 0x90, 0x01, 0x89, 0xF0, 0xA3, 0xF0, 0x74, 0xFF, 0x90, 0x01, 0x9C, 0xF0, 0xA3, 0xF0, 0x22, 0x78,
+ 0x5F, 0x7C, 0x01, 0x7D, 0x01, 0x7B, 0xFF, 0x7A, 0x2C, 0x79, 0xA8, 0x7E, 0x00, 0x7F, 0x01, 0x12,
+ 0x06, 0x6F, 0xE4, 0x90, 0x01, 0x5E, 0xF0, 0x90, 0x01, 0x5E, 0xE0, 0xFF, 0xC3, 0x64, 0x80, 0x94,
+ 0x83, 0x50, 0x22, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x5F, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0xF2,
+ 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFD, 0x12, 0x29, 0x6D, 0x90, 0x01, 0x5E,
+ 0xE0, 0x04, 0xF0, 0x80, 0xD2, 0x90, 0x01, 0x5F, 0xE0, 0xFF, 0x7D, 0xD6, 0x7C, 0x00, 0x02, 0x20,
+ 0x4A, 0x12, 0x22, 0x90, 0x12, 0x2B, 0xEB, 0x12, 0x2C, 0x4A, 0xEF, 0x75, 0xF0, 0x07, 0xA4, 0x90,
+ 0x01, 0xEA, 0xF0, 0x12, 0x29, 0xFC, 0xEF, 0x60, 0xFA, 0xE5, 0x90, 0x20, 0xE2, 0x0B, 0xE5, 0x9E,
+ 0x30, 0xE2, 0x06, 0x90, 0x02, 0x3A, 0x74, 0x01, 0xF0, 0x12, 0x2B, 0xA0, 0x90, 0x01, 0xEB, 0xE0,
+ 0x70, 0xE7, 0x90, 0x02, 0x3A, 0xE0, 0x60, 0x14, 0x12, 0x2B, 0x2A, 0x12, 0x22, 0x90, 0x12, 0x2B,
+ 0xEB, 0x12, 0x29, 0xFC, 0xEF, 0x60, 0xFA, 0xE4, 0x90, 0x02, 0x3A, 0xF0, 0x12, 0x24, 0x0C, 0x80,
+ 0xC8, 0x90, 0x02, 0x1E, 0xEF, 0xF0, 0xA3, 0x12, 0x0A, 0x0E, 0xE4, 0xFF, 0xFE, 0xD3, 0x90, 0x02,
+ 0x23, 0xE0, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x90, 0x02, 0x22, 0xE0, 0x64, 0x80, 0x98, 0x40, 0x1C,
+ 0x90, 0x02, 0x1F, 0x12, 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0x12, 0x06, 0xD0, 0xFD, 0x90, 0x02,
+ 0x1E, 0xE0, 0x6D, 0x60, 0x07, 0x0F, 0xBF, 0x00, 0x01, 0x0E, 0x80, 0xD1, 0x90, 0x02, 0x22, 0xE0,
+ 0xB5, 0x06, 0x08, 0xA3, 0xE0, 0xB5, 0x07, 0x03, 0x7F, 0x00, 0x22, 0x7F, 0x01, 0x22, 0xEF, 0x12,
+ 0x0A, 0x17, 0x27, 0x7A, 0x00, 0x27, 0x7F, 0x01, 0x27, 0x84, 0x02, 0x27, 0x84, 0x03, 0x27, 0x84,
+ 0x04, 0x27, 0x8A, 0x05, 0x27, 0x88, 0x06, 0x27, 0x88, 0x07, 0x27, 0x88, 0x08, 0x27, 0x91, 0x09,
+ 0x27, 0x7F, 0x12, 0x27, 0x7A, 0x13, 0x00, 0x00, 0x27, 0x97, 0x53, 0x80, 0xFE, 0x80, 0x15, 0x43,
+ 0x80, 0x01, 0x80, 0x09, 0x43, 0x80, 0x01, 0x22, 0x80, 0x03, 0x53, 0x80, 0xFE, 0x43, 0x80, 0x04,
+ 0x22, 0x43, 0x80, 0x01, 0x53, 0x80, 0xFB, 0x22, 0x90, 0x02, 0x07, 0x12, 0x09, 0xA5, 0x90, 0x02,
+ 0x0B, 0x12, 0x09, 0xB1, 0x00, 0x00, 0x00, 0x00, 0x90, 0x02, 0x07, 0x12, 0x09, 0x8D, 0x90, 0x02,
+ 0x0B, 0x12, 0x09, 0x99, 0xC3, 0x12, 0x09, 0x7C, 0x50, 0x1E, 0x12, 0x2C, 0xA5, 0x90, 0x02, 0x0B,
+ 0x12, 0x09, 0x8D, 0xEF, 0x24, 0x01, 0xFF, 0xE4, 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC,
+ 0x90, 0x02, 0x0B, 0x12, 0x09, 0xA5, 0x80, 0xD0, 0x22, 0x90, 0x02, 0x0F, 0x12, 0x0A, 0x0E, 0xE4,
+ 0xFF, 0xFE, 0xD3, 0x90, 0x02, 0x16, 0xE0, 0x9F, 0xEE, 0x64, 0x80, 0xF8, 0x90, 0x02, 0x15, 0xE0,
+ 0x64, 0x80, 0x98, 0x40, 0x23, 0x90, 0x02, 0x12, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x09, 0xF7, 0x12,
+ 0x06, 0xB7, 0xFD, 0x90, 0x02, 0x0F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x09, 0xF7, 0xED, 0x12, 0x06,
+ 0xFD, 0x0F, 0xBF, 0x00, 0x01, 0x0E, 0x80, 0xCA, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0,
+ 0xD0, 0x90, 0x02, 0x1C, 0xE0, 0x60, 0x0C, 0x90, 0x02, 0x1A, 0xE0, 0xB4, 0x03, 0x05, 0x75, 0x8C,
+ 0x00, 0x80, 0x18, 0x90, 0x02, 0x1D, 0xE0, 0x60, 0x12, 0x90, 0x02, 0x1B, 0xE0, 0x60, 0x04, 0xE0,
+ 0xB4, 0x01, 0x08, 0x75, 0x8A, 0x00, 0x75, 0x8C, 0x00, 0xD2, 0x8E, 0xC2, 0x8F, 0xD0, 0xD0, 0xD0,
+ 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xE4, 0x90, 0x01, 0x5E, 0xF0, 0x90, 0x01, 0x5E, 0xE0, 0xFE,
+ 0x75, 0xF0, 0x03, 0xA4, 0x24, 0x9B, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFF, 0xEE,
+ 0x75, 0xF0, 0x03, 0xA4, 0x24, 0x9C, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFC, 0xA3,
+ 0xE0, 0xFD, 0x12, 0x20, 0x4A, 0x90, 0x01, 0x5E, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x12, 0x40,
+ 0xCA, 0x22, 0x90, 0x02, 0x2A, 0xEF, 0xF0, 0xA3, 0xED, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90,
+ 0x02, 0x2A, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0x90, 0x02, 0x2D, 0xE0, 0xFB, 0x12, 0x29, 0x03, 0x90,
+ 0x02, 0x2C, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0xC3, 0x90, 0x02, 0x2D, 0xE0, 0x94, 0x03,
+ 0x90, 0x02, 0x2C, 0xE0, 0x64, 0x80, 0x94, 0x80, 0x40, 0xD5, 0x22, 0x43, 0x85, 0x01, 0x75, 0xC6,
+ 0x04, 0x7D, 0xD4, 0x7C, 0x00, 0x7F, 0xFF, 0x12, 0x20, 0x4A, 0x7D, 0xD6, 0x7C, 0x00, 0x7F, 0xFF,
+ 0x12, 0x20, 0x4A, 0x7D, 0x00, 0x7C, 0x08, 0x7F, 0x04, 0x12, 0x20, 0x4A, 0xE4, 0xF5, 0x95, 0xF5,
+ 0x9D, 0x75, 0xA5, 0xFF, 0xF5, 0x80, 0xF5, 0x96, 0x75, 0x9E, 0xFF, 0x75, 0xA6, 0xFF, 0xF5, 0x90,
+ 0x7F, 0x01, 0x22, 0x90, 0x01, 0x6F, 0xED, 0xF0, 0xA3, 0xEB, 0xF0, 0xE0, 0x24, 0x36, 0xF8, 0xE6,
+ 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0xED, 0x24, 0x20, 0xFD, 0xEC, 0x34, 0x08, 0xFC, 0x12, 0x20, 0x4A,
+ 0x90, 0x01, 0x6F, 0xE0, 0xFF, 0xA3, 0xE0, 0x24, 0x36, 0xF8, 0xE6, 0xFD, 0x33, 0x95, 0xE0, 0xFC,
+ 0xED, 0x24, 0x30, 0xFD, 0xEC, 0x34, 0x08, 0xFC, 0x02, 0x20, 0x4A, 0xE4, 0x90, 0x01, 0x5E, 0xF0,
+ 0xA3, 0xF0, 0x90, 0x01, 0x5F, 0xE0, 0xFF, 0x12, 0x0E, 0x5E, 0xEF, 0x70, 0x02, 0xFF, 0x22, 0x90,
+ 0x01, 0x5E, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0xC3, 0x90, 0x01, 0x5F, 0xE0, 0x94, 0x03,
+ 0x90, 0x01, 0x5E, 0xE0, 0x64, 0x80, 0x94, 0x80, 0x40, 0xD8, 0x7F, 0x01, 0x22, 0xED, 0x75, 0xF0,
+ 0x08, 0x12, 0x06, 0x95, 0xFF, 0x33, 0x95, 0xE0, 0xFE, 0xE9, 0x2F, 0xF9, 0xEA, 0x3E, 0xFA, 0x12,
+ 0x06, 0xB7, 0xFF, 0xAE, 0x05, 0xEE, 0x75, 0xF0, 0x08, 0x12, 0x06, 0x95, 0xAE, 0xF0, 0x74, 0x01,
+ 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0x4F, 0x02, 0x06, 0xFD, 0xED, 0x75, 0xF0,
+ 0x08, 0x12, 0x06, 0x95, 0xFF, 0x33, 0x95, 0xE0, 0xFE, 0xE9, 0x2F, 0xF9, 0xEA, 0x3E, 0xFA, 0x12,
+ 0x06, 0xB7, 0xFF, 0xAE, 0x05, 0xEE, 0x75, 0xF0, 0x08, 0x12, 0x06, 0x95, 0xAE, 0xF0, 0x74, 0x01,
+ 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0x4F, 0x02, 0x06, 0xFD, 0x90, 0x02, 0x35,
+ 0x12, 0x0A, 0x0E, 0xE4, 0xFF, 0xFE, 0x74, 0x8E, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83,
+ 0xE0, 0xFD, 0x90, 0x02, 0x35, 0x12, 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0xED, 0x12, 0x07, 0x0F,
+ 0x0F, 0xBF, 0x00, 0x01, 0x0E, 0xEF, 0x64, 0x03, 0x4E, 0x70, 0xDB, 0x22, 0xE4, 0x90, 0x01, 0x5D,
+ 0xF0, 0x90, 0x01, 0x23, 0xF0, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA5, 0x12, 0x24, 0xEA, 0x12, 0x2C,
+ 0x53, 0x90, 0x01, 0x41, 0xE0, 0x30, 0xE1, 0x08, 0x12, 0x29, 0x3B, 0x90, 0x01, 0x5D, 0xEF, 0xF0,
+ 0x90, 0x01, 0x5D, 0xE0, 0xFF, 0x22, 0x90, 0x02, 0x2E, 0x12, 0x0A, 0x0E, 0x90, 0x02, 0x31, 0xED,
+ 0xF0, 0xFB, 0xE4, 0xFD, 0x7F, 0xFF, 0x12, 0x29, 0x03, 0x90, 0x02, 0x31, 0xE0, 0xFF, 0x7D, 0x1B,
+ 0x12, 0x24, 0x7B, 0x12, 0x2B, 0x60, 0x90, 0x02, 0x2E, 0x12, 0x09, 0xEE, 0xEF, 0x02, 0x06, 0xFD,
+ 0x78, 0x40, 0x7C, 0x01, 0x7D, 0x01, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x23, 0x7E, 0x00, 0x7F, 0x14,
+ 0x12, 0x06, 0x6F, 0x78, 0x37, 0x7C, 0x01, 0x7D, 0x01, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x3B, 0x7E,
+ 0x00, 0x7F, 0x04, 0x02, 0x06, 0x6F, 0xAC, 0x07, 0xAF, 0x05, 0xEF, 0x7F, 0x00, 0xFE, 0xEF, 0x24,
+ 0x9F, 0xF5, 0x82, 0x74, 0x02, 0x3E, 0xF5, 0x83, 0xE5, 0x82, 0x2C, 0xF5, 0x82, 0xE4, 0x35, 0x83,
+ 0xF5, 0x83, 0xE4, 0x93, 0xFF, 0x22, 0x78, 0x5E, 0x7C, 0x01, 0x7D, 0x01, 0x7B, 0xFF, 0x7A, 0x2C,
+ 0x79, 0xA9, 0x7E, 0x00, 0x7F, 0x01, 0x12, 0x06, 0x6F, 0x90, 0x01, 0x5E, 0xE0, 0xFF, 0x7D, 0xD4,
+ 0x7C, 0x00, 0x02, 0x20, 0x4A, 0xED, 0x64, 0x01, 0x4C, 0x70, 0x07, 0x90, 0x01, 0xDD, 0xEF, 0xF0,
+ 0x80, 0x0D, 0xED, 0x64, 0x02, 0x4C, 0x70, 0x07, 0xEF, 0x44, 0x08, 0x90, 0x01, 0xDD, 0xF0, 0x53,
+ 0x9E, 0xFB, 0x22, 0x90, 0x01, 0x4D, 0xE0, 0x14, 0x60, 0x0A, 0x04, 0x70, 0x13, 0x90, 0x08, 0x03,
+ 0x74, 0xFE, 0xF0, 0x22, 0x90, 0x01, 0x4E, 0xE0, 0x25, 0xE0, 0x25, 0xE0, 0x90, 0x08, 0x03, 0xF0,
+ 0x22, 0x90, 0x02, 0x1B, 0xEF, 0xF0, 0x90, 0x02, 0x1D, 0xED, 0xF0, 0x53, 0x89, 0xCF, 0xEF, 0x54,
+ 0x03, 0xC4, 0x54, 0xF0, 0x42, 0x89, 0xE4, 0xF5, 0x8B, 0xF5, 0x8D, 0xD2, 0xAB, 0x22, 0xAD, 0x07,
+ 0xAC, 0x06, 0x7F, 0x01, 0x7E, 0x00, 0xED, 0x1D, 0xAA, 0x04, 0x70, 0x01, 0x1C, 0x4A, 0x60, 0x09,
+ 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x80, 0xED, 0x22, 0x12, 0x22, 0x90, 0x12, 0x2B, 0xEB,
+ 0x43, 0x9E, 0x04, 0xC2, 0xD9, 0xC2, 0x8C, 0x75, 0x8F, 0xFF, 0x53, 0x85, 0xFE, 0x43, 0x87, 0x02,
+ 0x12, 0x2C, 0xA5, 0x02, 0x2C, 0xA5, 0x90, 0x02, 0x1A, 0xEF, 0xF0, 0x90, 0x02, 0x1C, 0xED, 0xF0,
+ 0x53, 0x89, 0xFC, 0xEF, 0x54, 0x03, 0x42, 0x89, 0xE4, 0xF5, 0x8A, 0xF5, 0x8C, 0xD2, 0xA9, 0x22,
+ 0xEF, 0x25, 0xE0, 0xFF, 0xE4, 0x33, 0xFE, 0x74, 0x9F, 0x2F, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5,
+ 0x83, 0x74, 0x01, 0x93, 0xFF, 0x22, 0xAE, 0x05, 0xEF, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x27,
+ 0x2D, 0xF5, 0x82, 0x74, 0x02, 0x3C, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0xAE, 0x05, 0xEF, 0xFD, 0x33,
+ 0x95, 0xE0, 0xFC, 0x74, 0x24, 0x2D, 0xF5, 0x82, 0x74, 0x02, 0x3C, 0xF5, 0x83, 0xEE, 0xF0, 0x22,
+ 0x90, 0x02, 0x33, 0xE0, 0xFF, 0x74, 0xFF, 0xF0, 0xD3, 0xEF, 0x64, 0x80, 0x94, 0x7F, 0x40, 0x03,
+ 0x12, 0x23, 0x9C, 0x22, 0x53, 0xE8, 0xDF, 0xE4, 0xF5, 0xB2, 0x75, 0xB3, 0x40, 0x43, 0xB1, 0x03,
+ 0x43, 0xB1, 0x20, 0x43, 0xE8, 0x20, 0x22, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x27, 0x2F, 0xF5,
+ 0x82, 0x74, 0x02, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x22, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x24,
+ 0x2F, 0xF5, 0x82, 0x74, 0x02, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x22, 0x12, 0x28, 0xCB, 0x12, 0x00,
+ 0x06, 0xD2, 0xD9, 0x12, 0x2C, 0xA2, 0xD2, 0xAF, 0x02, 0x2A, 0x50, 0x90, 0x01, 0xA3, 0x74, 0x01,
+ 0xF0, 0x90, 0x01, 0x35, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x22, 0xE4, 0x90, 0x02, 0x34, 0xF0, 0x90,
+ 0x02, 0x32, 0x74, 0xFF, 0xF0, 0x22, 0x90, 0x01, 0xA3, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x31, 0xEF,
+ 0xF0, 0x22, 0x90, 0x02, 0x34, 0xEF, 0xF0, 0x90, 0x02, 0x32, 0xED, 0xF0, 0x22, 0xE4, 0xF5, 0xDC,
+ 0xF5, 0xDD, 0xF5, 0xDE, 0xF5, 0xDF, 0x22, 0x90, 0x01, 0xC6, 0xE0, 0x6F, 0x60, 0x02, 0xEF, 0xF0,
+ 0x22, 0x90, 0x01, 0x35, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, 0x90, 0x02, 0x38, 0xE0, 0xFE, 0xA3,
+ 0xE0, 0xFF, 0x22, 0x12, 0x28, 0x56, 0x12, 0x2A, 0xD3, 0x02, 0x2C, 0x9C, 0x90, 0x08, 0x00, 0xE0,
+ 0x54, 0xFB, 0xF0, 0x22, 0x90, 0x08, 0x00, 0xE0, 0x44, 0x04, 0xF0, 0x22, 0x90, 0x01, 0xDB, 0xE0,
+ 0xFF, 0x22, 0xEF, 0x24, 0xFF, 0x92, 0x8C, 0x22, 0xEF, 0x24, 0xFF, 0x92, 0x8E, 0x22, 0xEF, 0x24,
+ 0xFF, 0x92, 0xD9, 0x22, 0xEF, 0x24, 0xFF, 0x92, 0xEC, 0x22, 0x90, 0x02, 0x33, 0xEF, 0xF0, 0x22,
+ 0x90, 0x02, 0x34, 0xE0, 0xFF, 0x22, 0x90, 0x02, 0x32, 0xE0, 0xFF, 0x22, 0x12, 0x26, 0x5F, 0x02,
+ 0x2A, 0x96, 0x02, 0x2B, 0xB4, 0x00, 0x00, 0x22, 0xFF, 0xFF,
+};
diff --git a/drivers/input/touchscreen/MCH_SW999_R03_V18_bin.c b/drivers/input/touchscreen/MCH_SW999_R03_V18_bin.c new file mode 100644 index 0000000..16ddb17 --- /dev/null +++ b/drivers/input/touchscreen/MCH_SW999_R03_V18_bin.c @@ -0,0 +1,726 @@ +// MELFAS HEX Studio v0.6 [2009.10.12] + +const uint16_t MELFAS_binary_nLength = 0x2CA2; // 11.2 KBytes ( 11426 ) + +const uint8_t MELFAS_binary[] = { + + // Model name : MCH-SW999 + // Module revision : R03 + // Firmware version : V18 + + 0x02, 0x22, 0x00, 0x02, 0x00, 0x1E, 0xD2, 0xD8, 0xC2, 0xDB, 0xC2, 0xDA, 0x53, 0x8E, 0xE0, 0x43, + 0x8E, 0xE0, 0x22, 0x02, 0x00, 0x60, 0x43, 0xE8, 0x20, 0x22, 0xFF, 0x02, 0x28, 0x11, 0xC0, 0xE0, + 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, + 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0xC2, 0xA8, 0x12, 0x2B, 0xE3, + 0x7F, 0x01, 0x12, 0x2C, 0x82, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, + 0x02, 0xD0, 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, + 0xC2, 0xAA, 0x32, 0x02, 0x00, 0x8A, 0x53, 0xE8, 0xDF, 0x22, 0xFF, 0x02, 0x1A, 0x05, 0x90, 0x01, + 0xDB, 0xE0, 0x6F, 0x60, 0x0A, 0xEF, 0xF0, 0x25, 0xE0, 0x24, 0x02, 0xFF, 0x12, 0x2C, 0x2F, 0x22, + 0x4D, 0x43, 0x48, 0x2D, 0x53, 0x57, 0x39, 0x39, 0x39, 0x00, 0xC2, 0xEC, 0xD2, 0xD9, 0x75, 0xC6, + 0x15, 0xD2, 0xD8, 0xC2, 0xDB, 0x32, 0x52, 0x30, 0x33, 0x00, 0xFF, 0x56, 0x31, 0x38, 0x00, 0x00, + 0xFF, 0x00, 0xFC, 0x00, 0xF9, 0x00, 0xF6, 0x00, 0xF3, 0x00, 0xF0, 0x00, 0xEE, 0x00, 0xEB, 0x00, + 0xE8, 0x00, 0xE5, 0x00, 0xE3, 0x00, 0xE0, 0x00, 0xDD, 0x00, 0xDB, 0x00, 0xD8, 0x00, 0xD6, 0x00, + 0xD3, 0x00, 0xD1, 0x00, 0xCE, 0x00, 0xCC, 0x00, 0xCA, 0x00, 0xC7, 0x00, 0xC5, 0x00, 0xC3, 0x00, + 0xC0, 0x00, 0xBE, 0x00, 0xBC, 0x00, 0xBA, 0x00, 0xB8, 0x00, 0xB5, 0x00, 0xB3, 0x00, 0xB1, 0x00, + 0xAF, 0x00, 0xAD, 0x00, 0xAB, 0x00, 0xA9, 0x00, 0xA7, 0x00, 0xA5, 0x00, 0xA3, 0x00, 0xA1, 0x00, + 0x9F, 0x00, 0x9E, 0x00, 0x9C, 0x00, 0x9A, 0x00, 0x98, 0x00, 0x96, 0x00, 0x95, 0x00, 0x93, 0x00, + 0x91, 0x00, 0x8F, 0x00, 0x8E, 0x00, 0x8C, 0x00, 0x8A, 0x00, 0x89, 0x00, 0x87, 0x00, 0x86, 0x00, + 0x84, 0x00, 0x83, 0x00, 0x81, 0x00, 0x80, 0x00, 0x7E, 0x00, 0x7D, 0x00, 0x7B, 0x00, 0x7A, 0x00, + 0x78, 0x00, 0x77, 0x00, 0x75, 0x00, 0x74, 0x00, 0x73, 0x00, 0x71, 0x00, 0x70, 0x00, 0x6F, 0x00, + 0x6D, 0x00, 0x6C, 0x00, 0x6B, 0x00, 0x6A, 0x00, 0x68, 0x00, 0x67, 0x00, 0x66, 0x00, 0x65, 0x00, + 0x64, 0x00, 0x62, 0x00, 0x61, 0x00, 0x60, 0x00, 0x5F, 0x00, 0x5E, 0x00, 0x5D, 0x00, 0x5C, 0x00, + 0x5B, 0x00, 0x5A, 0x00, 0x59, 0x00, 0x58, 0x00, 0x57, 0x00, 0x56, 0x00, 0x55, 0x00, 0x54, 0x00, + 0x53, 0x00, 0x52, 0x00, 0x51, 0x00, 0x50, 0x00, 0x4F, 0x00, 0x4E, 0x00, 0x4D, 0x00, 0x4C, 0x00, + 0x4B, 0x00, 0x4A, 0x00, 0x49, 0x00, 0x49, 0x00, 0x48, 0x00, 0x47, 0x00, 0x46, 0x00, 0x45, 0x00, + 0x44, 0x00, 0x44, 0x00, 0x43, 0x00, 0x42, 0x00, 0x41, 0x00, 0x41, 0x00, 0x40, 0x00, 0x3F, 0x00, + 0x3E, 0x00, 0x3E, 0x00, 0x3D, 0x00, 0x3C, 0x00, 0x3B, 0x00, 0x3B, 0x00, 0x3A, 0x00, 0x39, 0x00, + 0x39, 0x00, 0x38, 0x00, 0x37, 0x00, 0x37, 0x00, 0x36, 0x00, 0x35, 0x00, 0x35, 0x00, 0x34, 0x00, + 0x34, 0x00, 0x33, 0x00, 0x32, 0x00, 0x32, 0x00, 0x31, 0x00, 0x31, 0x00, 0x30, 0x00, 0x30, 0x00, + 0x2F, 0x00, 0x2E, 0x00, 0x2E, 0x00, 0x2D, 0x00, 0x2D, 0x00, 0x2C, 0x00, 0x2C, 0x00, 0x2B, 0x00, + 0x2B, 0x00, 0x2A, 0x00, 0x2A, 0x00, 0x29, 0x00, 0x29, 0x00, 0x28, 0x00, 0x28, 0x00, 0x27, 0x00, + 0x27, 0x00, 0x27, 0x00, 0x26, 0x00, 0x26, 0x00, 0x25, 0x00, 0x25, 0x00, 0x24, 0x00, 0x24, 0x00, + 0x23, 0x00, 0x23, 0x00, 0x23, 0x00, 0x22, 0x00, 0x22, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, + 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1E, 0x00, 0x1E, 0x00, 0x1E, 0x00, + 0x1D, 0x00, 0x1D, 0x00, 0x1D, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1B, 0x00, 0x1B, 0x00, + 0x1B, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x19, 0x00, 0x19, 0x00, 0x19, 0x00, + 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x17, 0x00, 0x17, 0x00, 0x17, 0x00, 0x16, 0x00, + 0x16, 0x00, 0x16, 0x00, 0x16, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x14, 0x00, + 0x14, 0x00, 0x14, 0x00, 0x14, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 0x00, 0x13, 0x00, + 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x11, 0x00, 0x11, 0x00, 0x11, 0x00, + 0x11, 0x00, 0x11, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x0F, 0x00, + 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, + 0x0E, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0D, 0x00, 0x0D, 0x00, 0x0D, 0x00, 0x0D, 0x00, 0x0D, 0x00, + 0x03, 0x06, 0x09, 0x0C, 0x0F, 0x11, 0x14, 0x17, 0x1A, 0x1C, 0x1F, 0x22, 0x24, 0x27, 0x29, 0x2C, + 0x2E, 0x31, 0x33, 0x35, 0x38, 0x3A, 0x3C, 0x3F, 0x41, 0x43, 0x45, 0x47, 0x4A, 0x4C, 0x4E, 0x50, + 0x52, 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x61, 0x63, 0x65, 0x67, 0x69, 0x6A, 0x6C, 0x6E, + 0x70, 0x71, 0x73, 0x75, 0x76, 0x78, 0x79, 0x7B, 0x7C, 0x7E, 0x7F, 0x81, 0x82, 0x84, 0x85, 0x87, + 0x88, 0x8A, 0x8B, 0x8C, 0x8E, 0x8F, 0x90, 0x92, 0x93, 0x94, 0x95, 0x97, 0x98, 0x99, 0x9A, 0x9B, + 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, + 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, + 0xBB, 0xBC, 0xBD, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 0xC4, 0xC4, 0xC5, 0xC6, 0xC6, + 0xC7, 0xC8, 0xC8, 0xC9, 0xCA, 0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCD, 0xCE, 0xCE, 0xCF, 0xCF, 0xD0, + 0xD1, 0xD1, 0xD2, 0xD2, 0xD3, 0xD3, 0xD4, 0xD4, 0xD5, 0xD5, 0xD6, 0xD6, 0xD7, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD9, 0xD9, 0xDA, 0xDA, 0xDB, 0xDB, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xDE, 0xDE, 0xDE, 0xDF, + 0xDF, 0xDF, 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4, + 0xE5, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xE8, 0xE9, 0xE9, + 0xE9, 0xE9, 0xEA, 0xEA, 0xEA, 0xEA, 0xEB, 0xEB, 0xEB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xED, + 0xED, 0xED, 0xED, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0x00, + 0x03, 0x06, 0x09, 0x0C, 0x0F, 0x11, 0x14, 0x17, 0x1A, 0x1C, 0x1F, 0x22, 0x24, 0x27, 0x29, 0x2C, + 0x2E, 0x31, 0x33, 0x35, 0x38, 0x3A, 0x3C, 0x3F, 0x41, 0x43, 0x45, 0x47, 0x4A, 0x4C, 0x4E, 0x50, + 0x52, 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x61, 0x63, 0x65, 0x67, 0x69, 0x6A, 0x6C, 0x6E, + 0x70, 0x71, 0x73, 0x75, 0x76, 0x78, 0x79, 0x7B, 0x7C, 0x7E, 0x7F, 0x81, 0x82, 0x84, 0x85, 0x87, + 0x88, 0x8A, 0x8B, 0x8C, 0x8E, 0x8F, 0x90, 0x92, 0x93, 0x94, 0x95, 0x97, 0x98, 0x99, 0x9A, 0x9B, + 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, + 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, + 0xBB, 0xBC, 0xBD, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 0xC4, 0xC4, 0xC5, 0xC6, 0xC6, + 0xC7, 0xC8, 0xC8, 0xC9, 0xCA, 0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCD, 0xCE, 0xCE, 0xCF, 0xCF, 0xD0, + 0xD1, 0xD1, 0xD2, 0xD2, 0xD3, 0xD3, 0xD4, 0xD4, 0xD5, 0xD5, 0xD6, 0xD6, 0xD7, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD9, 0xD9, 0xDA, 0xDA, 0xDB, 0xDB, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xDE, 0xDE, 0xDE, 0xDF, + 0xDF, 0xDF, 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4, + 0xE5, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xE8, 0xE9, 0xE9, + 0xE9, 0xE9, 0xEA, 0xEA, 0xEA, 0xEA, 0xEB, 0xEB, 0xEB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xED, + 0xED, 0xED, 0xED, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0x00, + 0x03, 0x06, 0x09, 0x0C, 0x0F, 0x11, 0x14, 0x17, 0x1A, 0x1C, 0x1F, 0x22, 0x24, 0x27, 0x29, 0x2C, + 0x2E, 0x31, 0x33, 0x35, 0x38, 0x3A, 0x3C, 0x3F, 0x41, 0x43, 0x45, 0x47, 0x4A, 0x4C, 0x4E, 0x50, + 0x52, 0x54, 0x56, 0x58, 0x5A, 0x5C, 0x5E, 0x60, 0x61, 0x63, 0x65, 0x67, 0x69, 0x6A, 0x6C, 0x6E, + 0x70, 0x71, 0x73, 0x75, 0x76, 0x78, 0x79, 0x7B, 0x7C, 0x7E, 0x7F, 0x81, 0x82, 0x84, 0x85, 0x87, + 0x88, 0x8A, 0x8B, 0x8C, 0x8E, 0x8F, 0x90, 0x92, 0x93, 0x94, 0x95, 0x97, 0x98, 0x99, 0x9A, 0x9B, + 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, + 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, + 0xBB, 0xBC, 0xBD, 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 0xC4, 0xC4, 0xC5, 0xC6, 0xC6, + 0xC7, 0xC8, 0xC8, 0xC9, 0xCA, 0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCD, 0xCE, 0xCE, 0xCF, 0xCF, 0xD0, + 0xD1, 0xD1, 0xD2, 0xD2, 0xD3, 0xD3, 0xD4, 0xD4, 0xD5, 0xD5, 0xD6, 0xD6, 0xD7, 0xD7, 0xD8, 0xD8, + 0xD8, 0xD9, 0xD9, 0xDA, 0xDA, 0xDB, 0xDB, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xDE, 0xDE, 0xDE, 0xDF, + 0xDF, 0xDF, 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE2, 0xE2, 0xE2, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4, + 0xE5, 0xE5, 0xE5, 0xE5, 0xE6, 0xE6, 0xE6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xE8, 0xE9, 0xE9, + 0xE9, 0xE9, 0xEA, 0xEA, 0xEA, 0xEA, 0xEB, 0xEB, 0xEB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xED, + 0xED, 0xED, 0xED, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xEF, 0xEF, 0xEF, 0xEF, 0xF0, 0xF0, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xE7, + 0x09, 0xF6, 0x08, 0xDF, 0xFA, 0x80, 0x46, 0xE7, 0x09, 0xF2, 0x08, 0xDF, 0xFA, 0x80, 0x3E, 0x88, + 0x82, 0x8C, 0x83, 0xE7, 0x09, 0xF0, 0xA3, 0xDF, 0xFA, 0x80, 0x32, 0xE3, 0x09, 0xF6, 0x08, 0xDF, + 0xFA, 0x80, 0x78, 0xE3, 0x09, 0xF2, 0x08, 0xDF, 0xFA, 0x80, 0x70, 0x88, 0x82, 0x8C, 0x83, 0xE3, + 0x09, 0xF0, 0xA3, 0xDF, 0xFA, 0x80, 0x64, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0xA3, 0xF6, 0x08, 0xDF, + 0xFA, 0x80, 0x58, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0xA3, 0xF2, 0x08, 0xDF, 0xFA, 0x80, 0x4C, 0x80, + 0xD2, 0x80, 0xFA, 0x80, 0xC6, 0x80, 0xD4, 0x80, 0x69, 0x80, 0xF2, 0x80, 0x33, 0x80, 0x10, 0x80, + 0xA6, 0x80, 0xEA, 0x80, 0x9A, 0x80, 0xA8, 0x80, 0xDA, 0x80, 0xE2, 0x80, 0xCA, 0x80, 0x33, 0x89, + 0x82, 0x8A, 0x83, 0xEC, 0xFA, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, 0x83, 0xCC, + 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, 0x83, 0xCC, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0x0D, + 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0xA3, 0xF6, 0x08, 0xDF, 0xF9, 0xEC, 0xFA, 0xA9, 0xF0, 0xED, + 0xFB, 0x22, 0x89, 0x82, 0x8A, 0x83, 0xEC, 0xFA, 0xE0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, + 0x83, 0xCC, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCC, 0xC5, 0x83, 0xCC, 0xDF, 0xEA, 0xDE, 0xE8, + 0x80, 0xDB, 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0xA3, 0xF2, 0x08, 0xDF, 0xF9, 0x80, 0xCC, 0x88, + 0xF0, 0xEF, 0x60, 0x01, 0x0E, 0x4E, 0x60, 0xC3, 0x88, 0xF0, 0xED, 0x24, 0x02, 0xB4, 0x04, 0x00, + 0x50, 0xB9, 0xF5, 0x82, 0xEB, 0x24, 0x02, 0xB4, 0x04, 0x00, 0x50, 0xAF, 0x23, 0x23, 0x45, 0x82, + 0x23, 0x90, 0x05, 0xEF, 0x73, 0xC2, 0xD5, 0x30, 0xF7, 0x07, 0xB2, 0xD5, 0x63, 0xF0, 0xFF, 0x05, + 0xF0, 0x30, 0xE7, 0x0C, 0xB2, 0xD5, 0xF4, 0x04, 0x84, 0x63, 0xF0, 0xFF, 0x05, 0xF0, 0x80, 0x01, + 0x84, 0x30, 0xD5, 0x02, 0xF4, 0x04, 0x22, 0xBB, 0x01, 0x06, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0x22, + 0x50, 0x02, 0xE7, 0x22, 0xBB, 0xFE, 0x02, 0xE3, 0x22, 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0x22, + 0xBB, 0x01, 0x0C, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0x22, 0x50, + 0x06, 0xE9, 0x25, 0x82, 0xF8, 0xE6, 0x22, 0xBB, 0xFE, 0x06, 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0x22, + 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE4, 0x93, 0x22, 0xBB, 0x01, 0x06, + 0x89, 0x82, 0x8A, 0x83, 0xF0, 0x22, 0x50, 0x02, 0xF7, 0x22, 0xBB, 0xFE, 0x01, 0xF3, 0x22, 0xF8, + 0xBB, 0x01, 0x0D, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0x22, + 0x50, 0x06, 0xE9, 0x25, 0x82, 0xC8, 0xF6, 0x22, 0xBB, 0xFE, 0x05, 0xE9, 0x25, 0x82, 0xC8, 0xF2, + 0x22, 0xEF, 0x8D, 0xF0, 0xA4, 0xA8, 0xF0, 0xCF, 0x8C, 0xF0, 0xA4, 0x28, 0xCE, 0x8D, 0xF0, 0xA4, + 0x2E, 0xFE, 0x22, 0xBC, 0x00, 0x0B, 0xBE, 0x00, 0x29, 0xEF, 0x8D, 0xF0, 0x84, 0xFF, 0xAD, 0xF0, + 0x22, 0xE4, 0xCC, 0xF8, 0x75, 0xF0, 0x08, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xEC, 0x33, 0xFC, + 0xEE, 0x9D, 0xEC, 0x98, 0x40, 0x05, 0xFC, 0xEE, 0x9D, 0xFE, 0x0F, 0xD5, 0xF0, 0xE9, 0xE4, 0xCE, + 0xFD, 0x22, 0xED, 0xF8, 0xF5, 0xF0, 0xEE, 0x84, 0x20, 0xD2, 0x1C, 0xFE, 0xAD, 0xF0, 0x75, 0xF0, + 0x08, 0xEF, 0x2F, 0xFF, 0xED, 0x33, 0xFD, 0x40, 0x07, 0x98, 0x50, 0x06, 0xD5, 0xF0, 0xF2, 0x22, + 0xC3, 0x98, 0xFD, 0x0F, 0xD5, 0xF0, 0xEA, 0x22, 0xC2, 0xD5, 0xEC, 0x30, 0xE7, 0x09, 0xB2, 0xD5, + 0xE4, 0xC3, 0x9D, 0xFD, 0xE4, 0x9C, 0xFC, 0xEE, 0x30, 0xE7, 0x15, 0xB2, 0xD5, 0xE4, 0xC3, 0x9F, + 0xFF, 0xE4, 0x9E, 0xFE, 0x12, 0x07, 0x43, 0xC3, 0xE4, 0x9D, 0xFD, 0xE4, 0x9C, 0xFC, 0x80, 0x03, + 0x12, 0x07, 0x43, 0x30, 0xD5, 0x07, 0xC3, 0xE4, 0x9F, 0xFF, 0xE4, 0x9E, 0xFE, 0x22, 0xC5, 0xF0, + 0xF8, 0xA3, 0xE0, 0x28, 0xF0, 0xC5, 0xF0, 0xF8, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, + 0xE0, 0x38, 0xF0, 0x22, 0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, 0xE0, + 0x22, 0x50, 0x06, 0x87, 0xF0, 0x09, 0xE7, 0x19, 0x22, 0xBB, 0xFE, 0x07, 0xE3, 0xF5, 0xF0, 0x09, + 0xE3, 0x19, 0x22, 0x89, 0x82, 0x8A, 0x83, 0xE4, 0x93, 0xF5, 0xF0, 0x74, 0x01, 0x93, 0x22, 0xBB, + 0x01, 0x10, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, 0x83, 0x3A, 0xF5, 0x83, 0xE0, 0xF5, 0xF0, 0xA3, + 0xE0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, 0xF8, 0x86, 0xF0, 0x08, 0xE6, 0x22, 0xBB, 0xFE, 0x0A, + 0xE9, 0x25, 0x82, 0xF8, 0xE2, 0xF5, 0xF0, 0x08, 0xE2, 0x22, 0xE5, 0x83, 0x2A, 0xF5, 0x83, 0xE9, + 0x93, 0xF5, 0xF0, 0xA3, 0xE9, 0x93, 0x22, 0xBB, 0x01, 0x0A, 0x89, 0x82, 0x8A, 0x83, 0xF0, 0xE5, + 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x06, 0xF7, 0x09, 0xA7, 0xF0, 0x19, 0x22, 0xBB, 0xFE, 0x06, 0xF3, + 0xE5, 0xF0, 0x09, 0xF3, 0x19, 0x22, 0xF8, 0xBB, 0x01, 0x11, 0xE5, 0x82, 0x29, 0xF5, 0x82, 0xE5, + 0x83, 0x3A, 0xF5, 0x83, 0xE8, 0xF0, 0xE5, 0xF0, 0xA3, 0xF0, 0x22, 0x50, 0x09, 0xE9, 0x25, 0x82, + 0xC8, 0xF6, 0x08, 0xA6, 0xF0, 0x22, 0xBB, 0xFE, 0x09, 0xE9, 0x25, 0x82, 0xC8, 0xF2, 0xE5, 0xF0, + 0x08, 0xF2, 0x22, 0xEF, 0x2B, 0xFF, 0xEE, 0x3A, 0xFE, 0xED, 0x39, 0xFD, 0xEC, 0x38, 0xFC, 0x22, + 0xC3, 0xEF, 0x9B, 0xFF, 0xEE, 0x9A, 0xFE, 0xED, 0x99, 0xFD, 0xEC, 0x98, 0xFC, 0x22, 0x75, 0xF0, + 0x08, 0x75, 0x82, 0x00, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xCD, 0x33, 0xCD, 0xCC, 0x33, 0xCC, + 0xC5, 0x82, 0x33, 0xC5, 0x82, 0x9B, 0xED, 0x9A, 0xEC, 0x99, 0xE5, 0x82, 0x98, 0x40, 0x0C, 0xF5, + 0x82, 0xEE, 0x9B, 0xFE, 0xED, 0x9A, 0xFD, 0xEC, 0x99, 0xFC, 0x0F, 0xD5, 0xF0, 0xD6, 0xE4, 0xCE, + 0xFB, 0xE4, 0xCD, 0xFA, 0xE4, 0xCC, 0xF9, 0xA8, 0x82, 0x22, 0xB8, 0x00, 0xC1, 0xB9, 0x00, 0x59, + 0xBA, 0x00, 0x2D, 0xEC, 0x8B, 0xF0, 0x84, 0xCF, 0xCE, 0xCD, 0xFC, 0xE5, 0xF0, 0xCB, 0xF9, 0x78, + 0x18, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xED, 0x33, 0xFD, 0xEC, 0x33, 0xFC, 0xEB, 0x33, 0xFB, + 0x10, 0xD7, 0x03, 0x99, 0x40, 0x04, 0xEB, 0x99, 0xFB, 0x0F, 0xD8, 0xE5, 0xE4, 0xF9, 0xFA, 0x22, + 0x78, 0x18, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xED, 0x33, 0xFD, 0xEC, 0x33, 0xFC, 0xC9, 0x33, + 0xC9, 0x10, 0xD7, 0x05, 0x9B, 0xE9, 0x9A, 0x40, 0x07, 0xEC, 0x9B, 0xFC, 0xE9, 0x9A, 0xF9, 0x0F, + 0xD8, 0xE0, 0xE4, 0xC9, 0xFA, 0xE4, 0xCC, 0xFB, 0x22, 0x75, 0xF0, 0x10, 0xEF, 0x2F, 0xFF, 0xEE, + 0x33, 0xFE, 0xED, 0x33, 0xFD, 0xCC, 0x33, 0xCC, 0xC8, 0x33, 0xC8, 0x10, 0xD7, 0x07, 0x9B, 0xEC, + 0x9A, 0xE8, 0x99, 0x40, 0x0A, 0xED, 0x9B, 0xFD, 0xEC, 0x9A, 0xFC, 0xE8, 0x99, 0xF8, 0x0F, 0xD5, + 0xF0, 0xDA, 0xE4, 0xCD, 0xFB, 0xE4, 0xCC, 0xFA, 0xE4, 0xC8, 0xF9, 0x22, 0xEB, 0x9F, 0xF5, 0xF0, + 0xEA, 0x9E, 0x42, 0xF0, 0xE9, 0x9D, 0x42, 0xF0, 0xE8, 0x9C, 0x45, 0xF0, 0x22, 0xE0, 0xFC, 0xA3, + 0xE0, 0xFD, 0xA3, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, 0xE0, 0xF8, 0xA3, 0xE0, 0xF9, 0xA3, 0xE0, + 0xFA, 0xA3, 0xE0, 0xFB, 0x22, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xA3, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, + 0x22, 0xA8, 0x82, 0x85, 0x83, 0xF0, 0xD0, 0x83, 0xD0, 0x82, 0x12, 0x09, 0xC8, 0x12, 0x09, 0xC8, + 0x12, 0x09, 0xC8, 0x12, 0x09, 0xC8, 0xE4, 0x73, 0xE4, 0x93, 0xA3, 0xC5, 0x83, 0xC5, 0xF0, 0xC5, + 0x83, 0xC8, 0xC5, 0x82, 0xC8, 0xF0, 0xA3, 0xC5, 0x83, 0xC5, 0xF0, 0xC5, 0x83, 0xC8, 0xC5, 0x82, + 0xC8, 0x22, 0xA4, 0x25, 0x82, 0xF5, 0x82, 0xE5, 0xF0, 0x35, 0x83, 0xF5, 0x83, 0x22, 0xE0, 0xFB, + 0xA3, 0xE0, 0xFA, 0xA3, 0xE0, 0xF9, 0x22, 0xF8, 0xE0, 0xFB, 0xA3, 0xA3, 0xE0, 0xF9, 0x25, 0xF0, + 0xF0, 0xE5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xE0, 0xFA, 0x38, 0xF0, 0x22, 0xEB, 0xF0, + 0xA3, 0xEA, 0xF0, 0xA3, 0xE9, 0xF0, 0x22, 0xD0, 0x83, 0xD0, 0x82, 0xF8, 0xE4, 0x93, 0x70, 0x12, + 0x74, 0x01, 0x93, 0x70, 0x0D, 0xA3, 0xA3, 0x93, 0xF8, 0x74, 0x01, 0x93, 0xF5, 0x82, 0x88, 0x83, + 0xE4, 0x73, 0x74, 0x02, 0x93, 0x68, 0x60, 0xEF, 0xA3, 0xA3, 0xA3, 0x80, 0xDF, 0x8F, 0x23, 0x8B, + 0x24, 0x8A, 0x25, 0x89, 0x26, 0x75, 0x2F, 0x04, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02, + 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, + 0xC0, 0x83, 0xC0, 0x82, 0x12, 0x09, 0x8D, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0xAF, + 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, + 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0x90, 0x00, 0x9A, + 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83, 0xE0, 0xFF, + 0xE4, 0xF8, 0xF9, 0xFA, 0xAB, 0x07, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0x12, 0x08, + 0xA0, 0xD0, 0x82, 0xD0, 0x83, 0x12, 0x09, 0xA5, 0xE5, 0x23, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0xED, + 0xAE, 0x04, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, + 0x00, 0x3E, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0x12, 0x09, 0x99, 0x90, 0x00, 0x9A, 0xE0, 0x24, + 0x42, 0x75, 0xF0, 0x28, 0x84, 0xAF, 0xF0, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xED, 0x12, 0x09, + 0xE2, 0xEC, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE5, 0x82, 0x2F, 0xF5, 0x82, 0xE4, + 0x35, 0x83, 0xF5, 0x83, 0xE0, 0xFF, 0xE4, 0xFC, 0xFD, 0xFE, 0x12, 0x08, 0x93, 0xD0, 0x82, 0xD0, + 0x83, 0x12, 0x09, 0xA5, 0xAB, 0x24, 0xAA, 0x25, 0xA9, 0x26, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, + 0xFE, 0x8F, 0x82, 0xF5, 0x83, 0x12, 0x06, 0xD0, 0xFD, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, + 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, + 0x90, 0x00, 0x9A, 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, + 0x83, 0xED, 0xF0, 0xE4, 0xF5, 0x2D, 0x75, 0x2E, 0xFF, 0xFB, 0xFA, 0x90, 0x00, 0x9A, 0xE0, 0xC3, + 0x9B, 0xFF, 0xE4, 0x9A, 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, 0xFE, 0x7C, 0x00, 0x7D, 0x28, 0x12, + 0x07, 0x98, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, + 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE5, 0x82, 0x2D, 0xF5, + 0x82, 0xE5, 0x83, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0xE5, 0x2D, 0xC3, 0x9F, 0x50, 0x02, 0x8F, 0x2D, + 0xE5, 0x2E, 0xD3, 0x9F, 0x40, 0x02, 0x8F, 0x2E, 0x0B, 0xBB, 0x00, 0x01, 0x0A, 0xEB, 0x64, 0x07, + 0x4A, 0x70, 0xA8, 0xC3, 0xE5, 0x2D, 0x95, 0x2E, 0xC3, 0x95, 0x2F, 0x40, 0x03, 0x02, 0x0D, 0x78, + 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, + 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, 0x12, 0x09, 0x8D, 0xE4, 0x7B, 0x1A, + 0xFA, 0xF9, 0xF8, 0x12, 0x08, 0xEA, 0x8E, 0x29, 0x8F, 0x2A, 0xE4, 0xF5, 0x2B, 0xF5, 0x2C, 0xFA, + 0xFB, 0x90, 0x00, 0x9A, 0xE0, 0xC3, 0x9B, 0xFF, 0xE4, 0x9A, 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, + 0xFE, 0x7C, 0x00, 0x7D, 0x28, 0x12, 0x07, 0x98, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, + 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, + 0xF5, 0x83, 0xE5, 0x82, 0x2D, 0xF5, 0x82, 0xE5, 0x83, 0x3C, 0xF5, 0x83, 0xE0, 0x25, 0x2C, 0xF5, + 0x2C, 0xE4, 0x35, 0x2B, 0xF5, 0x2B, 0x0B, 0xBB, 0x00, 0x01, 0x0A, 0xEB, 0x64, 0x07, 0x4A, 0x70, + 0xB0, 0xAE, 0x2B, 0xAF, 0x2C, 0x7C, 0x00, 0x7D, 0x07, 0x12, 0x07, 0x98, 0x8E, 0x2B, 0x8F, 0x2C, + 0xE4, 0xF5, 0x27, 0xF5, 0x28, 0xFA, 0x7B, 0x01, 0x90, 0x00, 0x9A, 0xE0, 0x2B, 0xFF, 0xE4, 0x3A, + 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, 0xFE, 0x7C, 0x00, 0x7D, 0x28, 0x12, 0x07, 0x98, 0xAF, 0x23, + 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, 0xEE, + 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE5, 0x82, 0x2D, 0xF5, 0x82, 0xE5, 0x83, 0x3C, + 0xF5, 0x83, 0xE0, 0xC3, 0x95, 0x2C, 0xE5, 0x2B, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x08, + 0x05, 0x28, 0xE5, 0x28, 0x70, 0x02, 0x05, 0x27, 0x0B, 0xBB, 0x00, 0x01, 0x0A, 0xEB, 0x64, 0x1B, + 0x4A, 0x70, 0xA5, 0xC3, 0xE5, 0x2A, 0x95, 0x2C, 0xFF, 0xE5, 0x29, 0x95, 0x2B, 0xFE, 0xC3, 0xEF, + 0x94, 0x03, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x50, 0x03, 0x02, 0x0D, 0x78, 0xE5, 0x28, 0x94, 0x0A, + 0xE5, 0x27, 0x64, 0x80, 0x94, 0x80, 0x40, 0x03, 0x02, 0x0D, 0x78, 0xE5, 0x23, 0xFD, 0x33, 0x95, + 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE5, 0x2C, 0xF0, 0x74, + 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0x75, 0xF0, 0x1A, 0xA4, 0xFF, 0xAE, + 0xF0, 0xE4, 0xFC, 0xFD, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, 0xC0, 0x07, 0xAF, 0x23, 0xEF, 0x33, + 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, + 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0x12, 0x09, + 0xA5, 0xE4, 0xFA, 0xFB, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x8B, 0x2F, 0xF5, 0x82, + 0x74, 0x00, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0xAD, 0x23, 0xED, 0x33, 0x95, 0xE0, 0xFC, 0x90, 0x00, + 0x06, 0x75, 0xF0, 0x28, 0xED, 0x12, 0x09, 0xE2, 0xEC, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, + 0x83, 0xE5, 0x82, 0x2B, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83, 0xEF, 0xF0, 0x0B, 0xBB, 0x00, + 0x01, 0x0A, 0xEB, 0x64, 0x28, 0x4A, 0x70, 0xBC, 0xE4, 0xF5, 0x2D, 0x75, 0x2E, 0xFF, 0xFA, 0xFB, + 0x90, 0x00, 0x9A, 0xE0, 0xC3, 0x9B, 0xFF, 0xE4, 0x9A, 0xCF, 0x24, 0x28, 0xCF, 0x34, 0x00, 0xFE, + 0x7C, 0x00, 0x7D, 0x28, 0x12, 0x07, 0x98, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, + 0x06, 0x75, 0xF0, 0x28, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, + 0x83, 0xE5, 0x82, 0x2D, 0xF5, 0x82, 0xE5, 0x83, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0xE5, 0x2D, 0xC3, + 0x9F, 0x50, 0x02, 0x8F, 0x2D, 0xE5, 0x2E, 0xD3, 0x9F, 0x40, 0x02, 0x8F, 0x2E, 0x0B, 0xBB, 0x00, + 0x01, 0x0A, 0xEB, 0x64, 0x0A, 0x4A, 0x70, 0xA8, 0xC3, 0xE5, 0x2D, 0x95, 0x2E, 0xC3, 0x95, 0x2F, + 0x50, 0x37, 0xAF, 0x23, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x8B, 0x2F, 0xF5, 0x82, 0x74, 0x00, + 0x3E, 0xF5, 0x83, 0xE0, 0x24, 0x05, 0xFD, 0xE4, 0x33, 0xFC, 0xC3, 0xE5, 0x2D, 0x9D, 0xEC, 0x64, + 0x80, 0xF8, 0x74, 0x80, 0x98, 0x50, 0x0F, 0x74, 0x8B, 0x2F, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, + 0x83, 0xE5, 0x2D, 0xF0, 0x80, 0x03, 0x7F, 0x01, 0x22, 0xAF, 0x23, 0x12, 0x2B, 0xD1, 0xE5, 0x23, + 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, + 0xFE, 0xEF, 0xD3, 0x9E, 0x50, 0x1B, 0xAF, 0x23, 0x12, 0x2B, 0xBF, 0xE5, 0x23, 0xFD, 0x33, 0x95, + 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xD3, 0x9F, 0x40, + 0x0A, 0xAF, 0x23, 0x12, 0x0E, 0x5E, 0xEF, 0x70, 0x02, 0xFF, 0x22, 0x7F, 0x01, 0x22, 0x90, 0x01, + 0x68, 0xEF, 0xF0, 0x90, 0x01, 0x6A, 0x74, 0x01, 0xF0, 0x12, 0x2B, 0xBF, 0x7E, 0x00, 0xC0, 0x06, + 0xC0, 0x07, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD1, 0xEF, 0xFD, 0xD0, 0xE0, 0x2D, 0xFF, + 0xD0, 0xE0, 0x34, 0x00, 0xA2, 0xE7, 0x13, 0xFE, 0xEF, 0x13, 0xFF, 0x90, 0x01, 0x6D, 0xEE, 0xF0, + 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD1, 0xC3, 0x90, 0x01, 0x6E, 0xE0, + 0x9F, 0xFF, 0x90, 0x01, 0x6D, 0xE0, 0x94, 0x00, 0xFE, 0xEF, 0x78, 0x02, 0xC3, 0x33, 0xCE, 0x33, + 0xCE, 0xD8, 0xF9, 0xFF, 0x7C, 0x00, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0x90, 0x01, 0x6E, 0xE0, 0xC3, + 0x9F, 0x90, 0x01, 0x6B, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xBF, 0x90, 0x01, 0x6D, + 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFF, 0xE4, 0x9C, 0xFE, 0xEF, 0x78, 0x02, 0xC3, + 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0xFF, 0x7C, 0x00, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0x90, 0x01, + 0x6E, 0x02, 0x12, 0x1E, 0x90, 0x01, 0x68, 0xE0, 0xFB, 0xE4, 0xFD, 0x7F, 0xFF, 0x12, 0x28, 0xFB, + 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x12, 0x2B, 0x58, 0x90, 0x01, 0x68, + 0xE0, 0xFB, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, + 0x83, 0xEF, 0xF0, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0x74, + 0xF5, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFD, 0x12, + 0x28, 0xFB, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x90, 0x01, 0x68, 0xE0, + 0xFD, 0x12, 0x2A, 0x6E, 0x90, 0x01, 0x6B, 0xE0, 0xFE, 0xEF, 0xC3, 0x9E, 0x50, 0x7A, 0x90, 0x01, + 0x6B, 0xE0, 0xD3, 0x9F, 0x50, 0x0A, 0xA3, 0xE0, 0xFE, 0xEF, 0x9E, 0x50, 0x03, 0x02, 0x10, 0x69, + 0x90, 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, + 0x3C, 0xF5, 0x83, 0xE0, 0xC3, 0x94, 0xFF, 0x40, 0x03, 0x02, 0x11, 0x6E, 0x74, 0x03, 0x2D, 0xF5, + 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xF9, 0xFD, 0x33, + 0x95, 0xE0, 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0x74, + 0xF5, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFD, 0xAB, + 0x01, 0x12, 0x28, 0xFB, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x90, 0x01, + 0x68, 0xE0, 0xFD, 0x12, 0x2A, 0x6E, 0x80, 0x86, 0x90, 0x01, 0x6C, 0xE0, 0xFE, 0xEF, 0xD3, 0x9E, + 0x50, 0x03, 0x02, 0x10, 0x69, 0x90, 0x01, 0x6B, 0xE0, 0xD3, 0x9F, 0x50, 0x07, 0xA3, 0xE0, 0xFE, + 0xEF, 0x9E, 0x40, 0x75, 0x90, 0x01, 0x68, 0xE0, 0xFE, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0xF5, + 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFB, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, + 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xD3, 0x9B, 0x50, 0x03, 0x02, 0x11, 0x6E, 0xEE, 0x33, 0x95, 0xE0, + 0xFC, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0x14, 0xF0, 0x90, 0x01, + 0x68, 0xE0, 0xF9, 0x74, 0x03, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xE0, 0xFF, 0x74, + 0xF5, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0xEF, 0x9E, 0xFD, 0xAB, + 0x01, 0x12, 0x28, 0xFB, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x90, 0x01, + 0x68, 0xE0, 0xFD, 0x12, 0x2A, 0x6E, 0x02, 0x0F, 0xE5, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, + 0xBF, 0x90, 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x8B, 0x2D, 0xF5, 0x82, 0x74, + 0x00, 0x3C, 0xF5, 0x83, 0xEF, 0xF0, 0xE4, 0x90, 0x01, 0x69, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, + 0x12, 0x2B, 0xBF, 0x90, 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x90, 0x00, 0x06, 0x75, + 0xF0, 0x28, 0xED, 0x12, 0x09, 0xE2, 0xEC, 0x75, 0xF0, 0x28, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, + 0x83, 0xC0, 0x82, 0x90, 0x01, 0x69, 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, + 0x35, 0x83, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x01, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x28, + 0x40, 0xB9, 0xE4, 0x90, 0x01, 0x69, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xBF, 0x90, + 0x01, 0x68, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x90, 0x00, 0x91, 0x75, 0xF0, 0x03, 0xED, 0x12, + 0x09, 0xE2, 0xEC, 0x75, 0xF0, 0x03, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xC0, 0x83, 0xC0, 0x82, 0x90, + 0x01, 0x69, 0xE0, 0xD0, 0x82, 0xD0, 0x83, 0x25, 0x82, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83, + 0xEF, 0xF0, 0x90, 0x01, 0x69, 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0xB9, 0xE4, 0x90, + 0x00, 0x8A, 0xF0, 0x90, 0x00, 0x9A, 0x74, 0x27, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, + 0xBF, 0xEF, 0x75, 0xF0, 0x1A, 0xA4, 0xFF, 0xAE, 0xF0, 0xE4, 0xFC, 0xFD, 0xC0, 0x04, 0xC0, 0x05, + 0xC0, 0x06, 0xC0, 0x07, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x78, 0x02, + 0xC3, 0x33, 0xCE, 0x33, 0xCE, 0xD8, 0xF9, 0x24, 0x7E, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, + 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0x12, 0x09, 0xA5, 0x7F, 0x01, 0x22, 0x90, 0x01, + 0x6A, 0xE0, 0x64, 0x01, 0x70, 0x52, 0x74, 0x02, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, + 0xD1, 0xC3, 0x90, 0x01, 0x6E, 0xE0, 0x9F, 0xFF, 0x90, 0x01, 0x6D, 0xE0, 0x94, 0x00, 0xFE, 0x7C, + 0x00, 0x7D, 0x07, 0x12, 0x07, 0x31, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0xA3, 0xE0, 0xC3, 0x9F, 0x90, + 0x01, 0x6B, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xBF, 0x90, 0x01, 0x6D, 0xE0, 0xFC, + 0xA3, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFF, 0xE4, 0x9C, 0xFE, 0x7C, 0x00, 0x7D, 0x07, 0x12, 0x07, + 0x31, 0x7D, 0x0A, 0x12, 0x07, 0x98, 0x80, 0x56, 0x90, 0x01, 0x6A, 0xE0, 0x64, 0x02, 0x70, 0x57, + 0x74, 0x03, 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD1, 0xC3, 0x90, 0x01, 0x6E, 0xE0, + 0x9F, 0xFF, 0x90, 0x01, 0x6D, 0xE0, 0x94, 0x00, 0xFE, 0x7C, 0x00, 0x7D, 0x09, 0x12, 0x07, 0x31, + 0x0D, 0x12, 0x07, 0x98, 0xA3, 0xE0, 0xC3, 0x9F, 0x90, 0x01, 0x6B, 0xF0, 0x90, 0x01, 0x68, 0xE0, + 0xFF, 0x12, 0x2B, 0xBF, 0x90, 0x01, 0x6D, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFF, + 0xE4, 0x9C, 0xFE, 0x7C, 0x00, 0x7D, 0x09, 0x12, 0x07, 0x31, 0x0D, 0x12, 0x07, 0x98, 0xE0, 0x2F, + 0x90, 0x01, 0x6C, 0xF0, 0x02, 0x0E, 0xF4, 0x90, 0x01, 0x6A, 0xE0, 0xB4, 0x03, 0x22, 0x74, 0x04, + 0xF0, 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xBF, 0xEF, 0x24, 0x0C, 0x90, 0x01, 0x6C, 0xF0, + 0x90, 0x01, 0x68, 0xE0, 0xFF, 0x12, 0x2B, 0xD1, 0x90, 0x01, 0x6B, 0xEF, 0xF0, 0x02, 0x0E, 0xF4, + 0x7F, 0x00, 0x22, 0x8B, 0x23, 0x8A, 0x24, 0x89, 0x25, 0x8D, 0x26, 0xE4, 0xF5, 0x28, 0xE4, 0xF5, + 0x27, 0xAD, 0x27, 0xED, 0x33, 0x95, 0xE0, 0xFC, 0xC3, 0xED, 0x95, 0x26, 0x74, 0x80, 0xF8, 0x6C, + 0x98, 0x50, 0x57, 0x12, 0x2C, 0x54, 0xE4, 0xFD, 0xFF, 0x12, 0x1C, 0xF4, 0xE5, 0x27, 0xFD, 0x33, + 0x95, 0xE0, 0xFC, 0x74, 0xD1, 0x2D, 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xEF, 0xF0, 0xE4, + 0xFD, 0x7F, 0x01, 0x12, 0x1C, 0xF4, 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0xEC, 0x2D, + 0xF5, 0x82, 0x74, 0x00, 0x3C, 0xF5, 0x83, 0xEF, 0xF0, 0xE4, 0xFD, 0x7F, 0x02, 0x12, 0x1C, 0xF4, + 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x07, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, + 0x83, 0xEF, 0xF0, 0x12, 0x2C, 0x5C, 0x05, 0x27, 0x80, 0x97, 0xE4, 0xF5, 0x27, 0xAF, 0x27, 0xEF, + 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD1, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, + 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x08, 0x90, 0x00, 0xD2, 0x75, 0xF0, 0x1B, + 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x09, + 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD3, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, + 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x0A, 0x90, 0x00, 0xD4, 0x75, 0xF0, + 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, + 0x0B, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD5, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, + 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x0C, 0x90, 0x00, 0xD6, 0x75, + 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, + 0xF5, 0x0D, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD7, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, + 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x0E, 0x90, 0x00, 0xD8, + 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, + 0xE0, 0xF5, 0x0F, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xD9, 0x75, 0xF0, 0x1B, 0xEF, 0x12, + 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x10, 0x90, 0x00, + 0xDA, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, + 0x83, 0xE0, 0xF5, 0x11, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xDB, 0x75, 0xF0, 0x1B, 0xEF, + 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x12, 0x90, + 0x00, 0xDC, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, + 0xF5, 0x83, 0xE0, 0xF5, 0x13, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xDD, 0x75, 0xF0, 0x1B, + 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x14, + 0x90, 0x00, 0xDE, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, + 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x15, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xDF, 0x75, 0xF0, + 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, + 0x16, 0x90, 0x00, 0xE0, 0x75, 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, + 0x25, 0x83, 0xF5, 0x83, 0xE0, 0xF5, 0x17, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x90, 0x00, 0xE1, 0x75, + 0xF0, 0x1B, 0xEF, 0x12, 0x09, 0xE2, 0xEE, 0x75, 0xF0, 0x1B, 0xA4, 0x25, 0x83, 0xF5, 0x83, 0xE0, + 0xF5, 0x18, 0x7C, 0x00, 0x78, 0x08, 0xE8, 0x2C, 0xF8, 0xF9, 0xE6, 0xFA, 0xEC, 0xFB, 0x0B, 0x08, + 0xE6, 0x9A, 0x40, 0x0B, 0xE6, 0xCA, 0xF6, 0xE8, 0xFD, 0xE9, 0xF8, 0xEA, 0xF6, 0xED, 0xF8, 0x0B, + 0xBB, 0x11, 0xEC, 0x0C, 0xBC, 0x09, 0xDD, 0xAD, 0x27, 0xAF, 0x10, 0x12, 0x2A, 0x6E, 0xAB, 0x23, + 0xAA, 0x24, 0xA9, 0x25, 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0x8D, 0x82, 0xF5, 0x83, 0xEF, 0x12, + 0x07, 0x0F, 0x05, 0x27, 0xC3, 0xE5, 0x27, 0x64, 0x80, 0x94, 0x83, 0x50, 0x03, 0x02, 0x12, 0xCD, + 0xC3, 0xE5, 0x28, 0x64, 0x80, 0x94, 0x86, 0x50, 0x35, 0xE4, 0xF5, 0x27, 0xC3, 0xE5, 0x27, 0x64, + 0x80, 0x94, 0x83, 0x50, 0x29, 0xAF, 0x27, 0x12, 0x2B, 0xD1, 0xEF, 0x24, 0xFA, 0xFF, 0xAB, 0x23, + 0xAA, 0x24, 0xA9, 0x25, 0xE5, 0x27, 0xFD, 0x33, 0x95, 0xE0, 0x8D, 0x82, 0xF5, 0x83, 0x12, 0x06, + 0xD0, 0xC3, 0x9F, 0x50, 0x05, 0x05, 0x28, 0x02, 0x12, 0x5E, 0x05, 0x27, 0x80, 0xCE, 0x22, 0x90, + 0x01, 0x64, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x67, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0xE4, 0xA3, 0xF0, + 0xA3, 0xF0, 0x90, 0x01, 0x69, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64, 0x80, + 0x94, 0x80, 0x40, 0x03, 0x02, 0x17, 0x63, 0xE4, 0xA3, 0xF0, 0x90, 0x01, 0x67, 0xE0, 0xF4, 0x70, + 0x03, 0xA3, 0xE0, 0xF4, 0x70, 0x30, 0x90, 0x01, 0xC8, 0xE0, 0xFD, 0x90, 0x01, 0xC7, 0xE0, 0x2D, + 0xFD, 0xE4, 0x33, 0xFC, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, + 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xC3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, + 0x03, 0x02, 0x16, 0x3E, 0x80, 0x48, 0x90, 0x01, 0x68, 0xE0, 0x24, 0x33, 0xF8, 0xE6, 0xFF, 0x33, + 0x95, 0xE0, 0xFE, 0xA3, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x6F, 0x70, 0x02, 0xEC, 0x6E, 0x60, 0x3E, + 0x90, 0x01, 0xC8, 0xE0, 0xFF, 0x90, 0x01, 0xC7, 0xE0, 0x2F, 0xFB, 0xE4, 0x33, 0xFA, 0xED, 0x25, + 0xE0, 0xFF, 0xEC, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, + 0xC3, 0x9B, 0xEA, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x03, 0x02, 0x16, 0x3E, 0x74, 0x84, + 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0x04, 0xF0, 0x02, 0x16, 0x3E, 0x90, 0x01, + 0xC9, 0xE0, 0xFF, 0x90, 0x01, 0xC6, 0xE0, 0x2F, 0xFF, 0xE4, 0x33, 0xFE, 0x90, 0x01, 0x81, 0xE0, + 0x24, 0xCB, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xE0, 0x7C, 0x00, 0x2F, 0xFD, 0xEC, 0x3E, + 0xFC, 0x90, 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x83, + 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xC3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74, + 0x80, 0x98, 0x50, 0x0F, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0x04, + 0xF0, 0x80, 0x25, 0x90, 0x01, 0xC9, 0xE0, 0xFF, 0x90, 0x01, 0xC6, 0xE0, 0x2F, 0x04, 0xFD, 0x90, + 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x83, 0x2F, 0xF5, + 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xED, 0xF0, 0x90, 0x01, 0x6B, 0x74, 0x01, 0xF0, 0x90, 0x01, + 0x6B, 0xE0, 0x60, 0x38, 0x90, 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, + 0xFE, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x01, 0xC6, + 0xE0, 0xFE, 0xEF, 0x6E, 0x70, 0x6F, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x02, 0xE4, + 0x12, 0x07, 0x0F, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x08, 0x47, 0x80, 0x59, 0x90, 0x01, 0x6A, 0xE0, + 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01, + 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x01, 0xC7, 0xE0, 0xFE, 0xEF, 0xB5, 0x06, 0x37, 0x90, 0x01, + 0x64, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x02, 0x74, 0xFF, 0x12, 0x07, 0x0F, 0xE4, 0x75, 0xF0, 0x02, + 0x12, 0x08, 0x47, 0x90, 0x01, 0x6A, 0xE0, 0xFF, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x90, 0x00, + 0x05, 0xEF, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x13, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0xE4, 0x90, + 0x01, 0x80, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x6B, 0xE0, 0x60, 0x2C, 0x90, 0x01, 0x6A, 0xE0, 0x25, + 0xE0, 0xFF, 0x90, 0x01, 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, + 0xF5, 0x83, 0xE0, 0xFD, 0x90, 0x01, 0xC6, 0xE0, 0xFC, 0xED, 0xC3, 0x9C, 0x40, 0x38, 0x74, 0x84, + 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x80, 0x2A, 0x90, 0x01, 0x6A, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, + 0x69, 0xE0, 0x33, 0xFE, 0x74, 0x84, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFD, + 0x90, 0x01, 0xC7, 0xE0, 0xFC, 0xED, 0xC3, 0x9C, 0x40, 0x0C, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, + 0x01, 0x3E, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x12, 0x07, 0xE4, 0x45, + 0xF0, 0x60, 0x13, 0x78, 0x89, 0x7C, 0x01, 0x7D, 0x01, 0x90, 0x01, 0x64, 0x12, 0x09, 0xEE, 0x7E, + 0x00, 0x7F, 0x19, 0x12, 0x06, 0x6F, 0x90, 0x01, 0x69, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, + 0x02, 0x15, 0x12, 0x22, 0x41, 0x02, 0x3A, 0x00, 0x4E, 0x01, 0xDD, 0x00, 0x18, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x01, 0xEB, 0x00, 0x41, 0x01, 0xDB, + 0x00, 0x41, 0x01, 0xDC, 0x01, 0x41, 0x01, 0xFB, 0x00, 0x41, 0x02, 0x05, 0x00, 0x41, 0x02, 0x06, + 0x00, 0x43, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x41, 0x02, 0x1A, 0x02, 0x41, 0x02, 0x1B, 0x02, 0x41, + 0x02, 0x1C, 0x01, 0x41, 0x02, 0x1D, 0x01, 0x42, 0x02, 0x17, 0x00, 0x00, 0x41, 0x02, 0x19, 0x00, + 0x41, 0x02, 0x34, 0x00, 0x41, 0x02, 0x32, 0xFF, 0x41, 0x02, 0x33, 0xFF, 0x42, 0x01, 0xC0, 0xFF, + 0xFF, 0x59, 0x01, 0xA5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x01, 0xC2, + 0x00, 0x41, 0x01, 0xA4, 0x00, 0x41, 0x01, 0xA3, 0x01, 0x41, 0x01, 0xA2, 0x0F, 0x46, 0x01, 0x83, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x01, 0x82, 0x32, 0x41, 0x00, 0x8A, 0x00, 0x41, 0x01, + 0x22, 0x01, 0x41, 0x01, 0x3F, 0x00, 0x44, 0x01, 0x3B, 0x01, 0x00, 0x00, 0x02, 0x54, 0x01, 0x23, + 0x00, 0x02, 0x1C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x40, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x41, 0x01, 0xC3, 0x00, 0x41, 0x01, 0xD8, 0x00, 0x46, 0x01, 0xD2, 0x00, + 0x01, 0x00, 0x02, 0x00, 0x03, 0x4E, 0x01, 0xC4, 0x01, 0x01, 0x03, 0x02, 0x0C, 0x25, 0x25, 0x25, + 0x02, 0x02, 0x02, 0x02, 0x25, 0x25, 0x03, 0x33, 0x00, 0x01, 0x02, 0x03, 0x36, 0x01, 0x00, 0x02, + 0x43, 0x01, 0xF2, 0x03, 0x04, 0x05, 0x43, 0x01, 0xF5, 0x11, 0x14, 0x17, 0x43, 0x01, 0xEF, 0x0F, + 0x0F, 0x0F, 0x43, 0x01, 0xEC, 0x0B, 0x0B, 0x0B, 0x43, 0x01, 0xF8, 0x0A, 0x0A, 0x0A, 0x42, 0x02, + 0x38, 0x00, 0x06, 0x60, 0x36, 0x00, 0x9B, 0x04, 0x08, 0x00, 0x00, 0x08, 0x02, 0x02, 0x08, 0x10, + 0xEA, 0x08, 0x11, 0xEC, 0x08, 0x12, 0xA2, 0x08, 0x13, 0xEE, 0x08, 0x14, 0xA3, 0x08, 0x15, 0xF4, + 0x08, 0x16, 0xA2, 0x08, 0x17, 0xF6, 0x08, 0x18, 0xA0, 0x08, 0x19, 0xF8, 0x08, 0x1A, 0xA8, 0x08, + 0x1B, 0xFA, 0x08, 0x1C, 0xA8, 0x08, 0x1D, 0xFC, 0x08, 0x1E, 0xA8, 0x08, 0x1F, 0x43, 0x02, 0x27, + 0xB7, 0xB4, 0xB1, 0x43, 0x02, 0x24, 0xA1, 0xA1, 0xA1, 0x00, 0x90, 0x01, 0x68, 0x12, 0x0A, 0x0E, + 0x74, 0xFF, 0x90, 0x01, 0x76, 0xF0, 0xA3, 0xF0, 0xE4, 0x90, 0x01, 0x7C, 0xF0, 0x90, 0x01, 0x74, + 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x74, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64, + 0x80, 0x94, 0x80, 0x50, 0x29, 0x90, 0x01, 0x6E, 0x12, 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0x12, + 0x06, 0xD0, 0xFF, 0x90, 0x01, 0x75, 0xE0, 0x24, 0x7D, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, + 0xEF, 0xF0, 0x90, 0x01, 0x74, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x80, 0xC5, 0xE4, 0x90, + 0x01, 0x7A, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x78, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x71, 0x12, 0x09, + 0xEE, 0x90, 0x00, 0x13, 0x12, 0x08, 0x0F, 0xFF, 0x90, 0x01, 0x6E, 0x12, 0x09, 0xEE, 0x8F, 0x82, + 0x85, 0xF0, 0x83, 0x12, 0x06, 0xD0, 0xFF, 0xC3, 0x90, 0x02, 0x39, 0xE0, 0x9F, 0x90, 0x02, 0x38, + 0xE0, 0x94, 0x00, 0x50, 0x20, 0x90, 0x01, 0x71, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x13, 0x12, 0x08, + 0x0F, 0xFF, 0xAE, 0xF0, 0xF4, 0x70, 0x02, 0xEE, 0xF4, 0x60, 0x0A, 0x90, 0x01, 0x76, 0xEE, 0xF0, + 0xA3, 0xEF, 0xF0, 0x80, 0x78, 0xE4, 0x90, 0x01, 0x74, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x75, 0xE0, + 0x24, 0x7D, 0xF5, 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xE0, 0xFF, 0x7E, 0x00, 0x90, 0x01, 0x78, + 0xEE, 0x8F, 0xF0, 0x12, 0x07, 0xCE, 0xC3, 0x90, 0x01, 0x7B, 0xE0, 0x9F, 0x90, 0x01, 0x7A, 0xE0, + 0x9E, 0x50, 0x12, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x74, 0xE0, 0xFF, 0xA3, 0xE0, 0xA3, + 0xCF, 0xF0, 0xA3, 0xEF, 0xF0, 0x90, 0x01, 0x74, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x90, + 0x01, 0x74, 0xE0, 0x70, 0x04, 0xA3, 0xE0, 0x64, 0x03, 0x70, 0xB1, 0x90, 0x02, 0x38, 0xE0, 0xFE, + 0xA3, 0xE0, 0xFF, 0xC3, 0x90, 0x01, 0x7B, 0xE0, 0x9F, 0x90, 0x01, 0x7A, 0xE0, 0x9E, 0x50, 0x0D, + 0x74, 0xFF, 0x90, 0x01, 0x76, 0xF0, 0xA3, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x76, + 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x01, 0x68, 0x12, 0x09, 0xEE, 0xEE, 0x8F, 0xF0, 0x12, 0x08, + 0x47, 0x90, 0x01, 0x78, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x90, 0x01, 0x6B, 0x12, 0x09, 0xEE, 0xEE, + 0x8F, 0xF0, 0x02, 0x08, 0x47, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x75, + 0xD0, 0x00, 0xC0, 0x00, 0xC0, 0x01, 0xC0, 0x02, 0xC0, 0x03, 0xC0, 0x04, 0xC0, 0x05, 0xC0, 0x06, + 0xC0, 0x07, 0xC2, 0xAF, 0x53, 0xE8, 0xDF, 0xC2, 0xB7, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xDD, 0x90, + 0x01, 0xFF, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x3F, 0x74, 0x01, 0xF0, 0xD2, 0xD8, 0x30, 0xB3, 0x4B, + 0x20, 0xB5, 0x48, 0x30, 0xB4, 0x24, 0x90, 0x02, 0x05, 0xE4, 0xF0, 0x90, 0x01, 0xFF, 0x12, 0x09, + 0xEE, 0x90, 0x02, 0x05, 0xE0, 0xF5, 0x82, 0x75, 0x83, 0x00, 0x12, 0x06, 0xD0, 0xF5, 0xB4, 0x43, + 0xB1, 0x20, 0x90, 0x01, 0xFB, 0x74, 0x03, 0xF0, 0x80, 0x74, 0x90, 0x02, 0x06, 0xE4, 0xF0, 0x90, + 0x01, 0xFC, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xFC, 0x90, 0x02, 0x02, + 0x12, 0x0A, 0x0E, 0x90, 0x01, 0xFB, 0x74, 0x02, 0xF0, 0x80, 0x53, 0x90, 0x01, 0xFB, 0xE0, 0xB4, + 0x03, 0x22, 0x20, 0xB5, 0x1A, 0x90, 0x02, 0x05, 0xE0, 0x04, 0xF0, 0x90, 0x01, 0xFF, 0x12, 0x09, + 0xEE, 0x90, 0x02, 0x05, 0xE0, 0xF5, 0x82, 0x75, 0x83, 0x00, 0x12, 0x06, 0xD0, 0xF5, 0xB4, 0x43, + 0xB1, 0x20, 0x80, 0x2A, 0x90, 0x01, 0xFB, 0xE0, 0xB4, 0x02, 0x23, 0x43, 0xB1, 0x20, 0x20, 0xB3, + 0x1D, 0x20, 0xB5, 0x1A, 0x90, 0x02, 0x02, 0x12, 0x09, 0xEE, 0x90, 0x02, 0x06, 0xE0, 0xF5, 0x82, + 0x75, 0x83, 0x00, 0xE5, 0xB4, 0x12, 0x07, 0x0F, 0x90, 0x02, 0x06, 0xE0, 0x04, 0xF0, 0x43, 0xB1, + 0x20, 0x90, 0x01, 0xFB, 0xE0, 0x64, 0x02, 0x70, 0x22, 0x90, 0x01, 0xEB, 0xE0, 0x60, 0x13, 0x30, + 0xB2, 0x10, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xFC, 0x90, 0x02, 0x06, 0xE0, 0xFD, 0x12, 0x25, 0xB0, + 0x80, 0x09, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xFC, 0x12, 0x1C, 0x1D, 0x43, 0x9E, 0x04, 0x43, 0xE8, + 0x20, 0xD2, 0xAF, 0xD0, 0x07, 0xD0, 0x06, 0xD0, 0x05, 0xD0, 0x04, 0xD0, 0x03, 0xD0, 0x02, 0xD0, + 0x01, 0xD0, 0x00, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0x90, 0x01, + 0x68, 0x12, 0x0A, 0x0E, 0xE4, 0x90, 0x01, 0x6B, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x6B, 0xE0, 0xFE, + 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64, 0x80, 0x94, 0x80, 0x50, 0x76, 0x90, 0x01, 0x68, + 0x12, 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0x12, 0x06, 0xD0, 0xFF, 0x90, 0x01, 0x6C, 0xE0, 0xF9, + 0x24, 0x8B, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xFD, 0xE4, + 0x94, 0x00, 0xFC, 0x90, 0x01, 0x6C, 0xE0, 0x25, 0xE0, 0xFF, 0x90, 0x01, 0x6B, 0xE0, 0x33, 0xFE, + 0x74, 0x6D, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xEC, 0xF0, 0xA3, 0xED, 0xF0, 0x74, + 0x6D, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0xEE, + 0x64, 0x80, 0x94, 0x80, 0x50, 0x04, 0x7F, 0x00, 0x80, 0x00, 0x74, 0x8E, 0x29, 0xF5, 0x82, 0xE4, + 0x34, 0x00, 0xF5, 0x83, 0xEF, 0xF0, 0x90, 0x01, 0x6B, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, + 0x02, 0x1B, 0x3B, 0xC2, 0xAF, 0xE4, 0x90, 0x01, 0x6B, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x6C, 0xE0, + 0xFF, 0x24, 0x8E, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0xE0, 0x2F, 0xF5, + 0x82, 0xE4, 0x34, 0x01, 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x01, 0x6C, 0xE0, 0xFF, 0x24, 0x8B, 0xF5, + 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFE, 0x74, 0xE7, 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x01, + 0xF5, 0x83, 0xEE, 0xF0, 0x90, 0x01, 0x6B, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x90, 0x01, + 0x6B, 0xE0, 0x70, 0x04, 0xA3, 0xE0, 0x64, 0x03, 0x70, 0xB2, 0xD2, 0xAF, 0x22, 0x90, 0x01, 0x54, + 0x12, 0x0A, 0x0E, 0x12, 0x06, 0xB7, 0x90, 0x01, 0x57, 0xF0, 0x12, 0x0A, 0x17, 0x1C, 0x6D, 0x01, + 0x1C, 0x78, 0x02, 0x1C, 0xD2, 0x0A, 0x1C, 0xD5, 0x0B, 0x1C, 0xD9, 0x0C, 0x1C, 0xCB, 0x10, 0x1C, + 0x82, 0x12, 0x1C, 0x97, 0x13, 0x1C, 0xAC, 0x14, 0x1C, 0xE7, 0x55, 0x1C, 0xDD, 0xA0, 0x1C, 0xDD, + 0xA1, 0x1C, 0xDD, 0xA2, 0x1C, 0xDD, 0xA3, 0x1C, 0xDD, 0xA4, 0x1C, 0xDD, 0xA5, 0x1C, 0xDD, 0xA6, + 0x1C, 0xDD, 0xA7, 0x1C, 0xDD, 0xA8, 0x1C, 0xDD, 0xA9, 0x00, 0x00, 0x1C, 0xF3, 0x7F, 0x01, 0x12, + 0x2C, 0x82, 0xE4, 0x90, 0x01, 0xDC, 0xF0, 0x22, 0xE4, 0xFF, 0x12, 0x2C, 0x82, 0x90, 0x01, 0xDC, + 0x80, 0x4C, 0x90, 0x01, 0xA2, 0xE0, 0xC3, 0x94, 0x0F, 0x50, 0x68, 0x7F, 0x14, 0x12, 0x2C, 0x82, + 0x90, 0x01, 0xA2, 0xE0, 0x04, 0xF0, 0x22, 0x90, 0x01, 0xA2, 0xE0, 0xD3, 0x94, 0x00, 0x40, 0x53, + 0x7F, 0x14, 0x12, 0x2C, 0x82, 0x90, 0x01, 0xA2, 0xE0, 0x14, 0xF0, 0x22, 0x90, 0x01, 0x54, 0x12, + 0x09, 0xEE, 0x90, 0x00, 0x01, 0x12, 0x06, 0xD0, 0x90, 0x01, 0xA2, 0xF0, 0xD3, 0x94, 0x00, 0x40, + 0x32, 0xE0, 0x94, 0x0F, 0x50, 0x2D, 0x7F, 0x14, 0x02, 0x2C, 0x82, 0x90, 0x02, 0x3A, 0x74, 0x01, + 0xF0, 0x22, 0xE4, 0x80, 0x0E, 0x7F, 0x02, 0x80, 0x0B, 0x7F, 0x04, 0x80, 0x07, 0x90, 0x01, 0x57, + 0xE0, 0x24, 0x60, 0xFF, 0x02, 0x00, 0x6E, 0x90, 0x01, 0xEB, 0x74, 0x01, 0xF0, 0x90, 0x01, 0xDD, + 0x74, 0xAA, 0xF0, 0x22, 0x8D, 0x32, 0xEF, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0xEC, 0x2D, 0xF5, + 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xC4, 0x54, 0xF0, 0x44, 0x0F, 0x90, 0x08, 0x02, 0xF0, + 0x74, 0xF8, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFE, 0xC3, 0x74, 0xF4, 0x9E, + 0x90, 0x08, 0x14, 0xF0, 0xE0, 0x14, 0x90, 0x08, 0x12, 0xF0, 0x74, 0x36, 0x2F, 0xF8, 0xE6, 0xC4, + 0x54, 0xF0, 0x90, 0x08, 0x00, 0xF0, 0xE0, 0x44, 0x0A, 0xF0, 0xE4, 0x90, 0x01, 0x3F, 0xF0, 0x90, + 0x08, 0x03, 0x74, 0xFC, 0xF0, 0x90, 0x08, 0x00, 0xE0, 0x44, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x08, 0x03, 0x74, 0xFE, 0xF0, 0x90, 0x08, 0x00, 0xE0, 0x20, 0xE0, 0xF9, 0x90, + 0x01, 0x3F, 0xE0, 0x70, 0x95, 0x90, 0x08, 0x00, 0xE0, 0x54, 0xF7, 0xF0, 0xA3, 0xE0, 0xFF, 0x22, + 0x90, 0x01, 0x68, 0x12, 0x0A, 0x0E, 0xD2, 0xD8, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x6C, 0x7D, 0x11, + 0x12, 0x12, 0x53, 0xD2, 0xD8, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x6F, 0x7D, 0x11, 0x12, 0x12, 0x53, + 0xD2, 0xD8, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x72, 0x7D, 0x11, 0x12, 0x12, 0x53, 0xE4, 0x90, 0x01, + 0x6B, 0xF0, 0xD2, 0xD8, 0x90, 0x01, 0x6B, 0xE0, 0xFF, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x6C, + 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFB, 0x90, 0x01, 0x75, 0xE4, 0xF0, 0xA3, + 0xEB, 0xF0, 0x74, 0x6F, 0x2D, 0xF5, 0x82, 0x74, 0x01, 0x3C, 0xF5, 0x83, 0xE0, 0xFD, 0x90, 0x01, + 0x75, 0xE4, 0x8D, 0xF0, 0x12, 0x07, 0xCE, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x72, 0x2F, 0xF5, + 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, 0x90, 0x01, 0x75, 0xE4, 0x8F, 0xF0, 0x12, 0x07, + 0xCE, 0x90, 0x01, 0x75, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x7C, 0x00, 0x7D, 0x03, 0x12, 0x07, 0x43, + 0x90, 0x01, 0x68, 0x12, 0x09, 0xEE, 0x90, 0x01, 0x6B, 0xE0, 0xFD, 0x33, 0x95, 0xE0, 0x8D, 0x82, + 0xF5, 0x83, 0xEF, 0x12, 0x07, 0x0F, 0x90, 0x01, 0x6B, 0xE0, 0x04, 0xF0, 0xE0, 0x64, 0x03, 0x70, + 0x81, 0x22, 0x90, 0x01, 0x42, 0xE0, 0xFF, 0xC4, 0x13, 0x13, 0x13, 0x54, 0x01, 0x30, 0xE0, 0x13, + 0x90, 0x00, 0x02, 0x12, 0x06, 0xD0, 0xFE, 0xF4, 0x60, 0x09, 0xEE, 0x60, 0x06, 0x90, 0x01, 0xD8, + 0x74, 0x01, 0xF0, 0xEF, 0x13, 0x13, 0x54, 0x3F, 0x30, 0xE0, 0x63, 0x90, 0x01, 0xD8, 0xE0, 0x70, + 0x5D, 0x90, 0x00, 0x05, 0x12, 0x06, 0xD0, 0xFF, 0xC3, 0x64, 0x80, 0x94, 0x84, 0x50, 0x4F, 0x12, + 0x07, 0xE4, 0x30, 0xE1, 0x1D, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, + 0xFE, 0x74, 0xD2, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xA3, 0xE0, 0xFF, 0x7D, 0x02, + 0x80, 0x27, 0x12, 0x07, 0xE4, 0x30, 0xE0, 0x26, 0x90, 0x00, 0x05, 0x12, 0x06, 0xD0, 0xFF, 0x33, + 0x95, 0xE0, 0xFE, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0xD2, 0x2F, 0xF5, 0x82, 0x74, + 0x01, 0x3E, 0xF5, 0x83, 0xA3, 0xE0, 0xFF, 0x7D, 0x01, 0x7C, 0x00, 0x12, 0x2A, 0xAD, 0x90, 0x00, + 0x02, 0x12, 0x06, 0xD0, 0xB4, 0xFF, 0x12, 0x90, 0x01, 0x42, 0xE0, 0xC4, 0x13, 0x13, 0x13, 0x54, + 0x01, 0x20, 0xE0, 0x05, 0xE4, 0x90, 0x01, 0xD8, 0xF0, 0x22, 0x90, 0x01, 0x60, 0xEC, 0xF0, 0xA3, + 0xED, 0xF0, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x47, 0x90, 0x00, 0x13, 0xEC, 0x8D, 0xF0, 0x12, 0x08, + 0x66, 0xBC, 0xFF, 0x07, 0xBD, 0xFF, 0x04, 0x7F, 0xFF, 0x80, 0x09, 0x90, 0x01, 0x61, 0xE0, 0x24, + 0x33, 0xF8, 0xE6, 0xFF, 0x90, 0x00, 0x05, 0xEF, 0x12, 0x07, 0x0F, 0x90, 0x01, 0x62, 0xE0, 0xFE, + 0xA3, 0xE0, 0xFF, 0x90, 0x00, 0x11, 0xEE, 0x8F, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x02, 0x74, + 0xFF, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x06, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x08, + 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x0A, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, + 0x00, 0x0E, 0xE4, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x0F, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, + 0x00, 0x0C, 0x74, 0xFF, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x17, 0xE4, 0xF5, 0xF0, 0x12, + 0x08, 0x66, 0x90, 0x01, 0x82, 0xE0, 0xFD, 0xC3, 0xEF, 0x9D, 0xEE, 0x94, 0x00, 0x50, 0x0B, 0x90, + 0x01, 0x60, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x14, 0xFF, 0x22, 0x90, 0x01, 0x5D, 0x12, 0x0A, + 0x0E, 0xE4, 0x90, 0x01, 0x67, 0xF0, 0x7B, 0x01, 0x7A, 0x00, 0x79, 0x00, 0x12, 0x1D, 0xB0, 0x90, + 0x00, 0x9A, 0xE0, 0x24, 0x29, 0x75, 0xF0, 0x28, 0x84, 0xE5, 0xF0, 0xF0, 0xE4, 0x90, 0x01, 0x66, + 0xF0, 0x90, 0x01, 0x66, 0xE0, 0xFF, 0xC3, 0x64, 0x80, 0x94, 0x83, 0x50, 0x16, 0x7B, 0x01, 0x7A, + 0x00, 0x79, 0x00, 0x12, 0x0A, 0x3D, 0x90, 0x01, 0x67, 0xEF, 0xF0, 0x90, 0x01, 0x66, 0xE0, 0x04, + 0xF0, 0x80, 0xDE, 0x7B, 0x01, 0x7A, 0x00, 0x79, 0x00, 0x12, 0x1B, 0x2E, 0x90, 0x01, 0x67, 0xE0, + 0x60, 0x2D, 0x90, 0x01, 0x60, 0x12, 0x09, 0xEE, 0x90, 0x01, 0x6B, 0x12, 0x0A, 0x0E, 0x7B, 0x01, + 0x7A, 0x00, 0x79, 0x8E, 0x90, 0x01, 0x6E, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x63, 0x12, 0x09, 0xEE, + 0x90, 0x01, 0x71, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x5D, 0x12, 0x09, 0xEE, 0x02, 0x18, 0xBA, 0x7B, + 0x00, 0x7A, 0xFF, 0x79, 0xFF, 0x90, 0x01, 0x5D, 0x12, 0x0A, 0x0E, 0x7A, 0x00, 0x79, 0x00, 0x90, + 0x01, 0x60, 0x12, 0x0A, 0x0E, 0x22, 0xED, 0x64, 0x80, 0x4C, 0x70, 0x03, 0x8F, 0x80, 0x22, 0xED, + 0x64, 0x90, 0x4C, 0x70, 0x03, 0x8F, 0x90, 0x22, 0xED, 0x64, 0x95, 0x4C, 0x70, 0x03, 0x8F, 0x95, + 0x22, 0xED, 0x64, 0x96, 0x4C, 0x70, 0x03, 0x8F, 0x96, 0x22, 0xED, 0x64, 0x9D, 0x4C, 0x70, 0x03, + 0x8F, 0x9D, 0x22, 0xED, 0x64, 0x9E, 0x4C, 0x70, 0x03, 0x8F, 0x9E, 0x22, 0xED, 0x64, 0xA5, 0x4C, + 0x70, 0x03, 0x8F, 0xA5, 0x22, 0xED, 0x64, 0xA6, 0x4C, 0x70, 0x03, 0x8F, 0xA6, 0x22, 0xED, 0x64, + 0xD2, 0x4C, 0x70, 0x03, 0x8F, 0xD2, 0x22, 0xED, 0x64, 0xD4, 0x4C, 0x70, 0x03, 0x8F, 0xD4, 0x22, + 0xED, 0x64, 0xD6, 0x4C, 0x70, 0x03, 0x8F, 0xD6, 0x22, 0xED, 0x64, 0xDC, 0x4C, 0x70, 0x03, 0x8F, + 0xDC, 0x22, 0xED, 0x64, 0xDD, 0x4C, 0x70, 0x03, 0x8F, 0xDD, 0x22, 0xED, 0x64, 0xDE, 0x4C, 0x70, + 0x03, 0x8F, 0xDE, 0x22, 0xED, 0x64, 0xDF, 0x4C, 0x70, 0x03, 0x8F, 0xDF, 0x22, 0xC3, 0xED, 0x94, + 0xF9, 0xEC, 0x94, 0x00, 0x40, 0x06, 0x8D, 0x82, 0x8C, 0x83, 0xEF, 0xF0, 0x22, 0x12, 0x2C, 0x8E, + 0x90, 0x02, 0x3B, 0xEF, 0xF0, 0x12, 0x2C, 0x88, 0xEF, 0x60, 0x5F, 0x90, 0x02, 0x19, 0xE0, 0x70, + 0x0B, 0x90, 0x02, 0x17, 0xF0, 0xA3, 0xF0, 0xA3, 0x04, 0xF0, 0x80, 0x4E, 0x90, 0x02, 0x17, 0xE4, + 0x75, 0xF0, 0x01, 0x12, 0x07, 0xCE, 0xD3, 0x90, 0x02, 0x18, 0xE0, 0x94, 0x0C, 0x90, 0x02, 0x17, + 0xE0, 0x94, 0x00, 0x40, 0x35, 0xE4, 0xF0, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x02, 0x3B, 0xE0, 0x70, + 0x04, 0x7F, 0x04, 0x80, 0x1F, 0x90, 0x02, 0x3B, 0xE0, 0xB4, 0x01, 0x04, 0x7F, 0x08, 0x80, 0x14, + 0x90, 0x02, 0x3B, 0xE0, 0xB4, 0x02, 0x04, 0x7F, 0x0C, 0x80, 0x09, 0x90, 0x02, 0x3B, 0xE0, 0xB4, + 0x03, 0x05, 0x7F, 0x10, 0x12, 0x2C, 0x82, 0x12, 0x2C, 0x02, 0x90, 0x02, 0x1C, 0xE0, 0x60, 0x1D, + 0x90, 0x02, 0x1A, 0xE0, 0x60, 0x04, 0xE0, 0xB4, 0x01, 0x09, 0xE4, 0xF5, 0x8A, 0xF5, 0x8C, 0xD2, + 0x8C, 0x80, 0x0A, 0x90, 0x02, 0x1A, 0xE0, 0xB4, 0x03, 0x03, 0xE4, 0xF5, 0x8A, 0xD2, 0xD8, 0xC2, + 0x8D, 0x22, 0x90, 0x01, 0x5B, 0xEE, 0xF0, 0xA3, 0xEF, 0xF0, 0xD3, 0x94, 0xF8, 0xEE, 0x94, 0x00, + 0x50, 0x70, 0x90, 0x01, 0x5B, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xEE, 0x70, 0x62, 0xEF, 0x12, 0x0A, + 0x17, 0x21, 0xC2, 0x80, 0x21, 0xC5, 0x90, 0x21, 0xC8, 0x95, 0x21, 0xCB, 0x96, 0x21, 0xCE, 0x9D, + 0x21, 0xD1, 0x9E, 0x21, 0xD4, 0xA5, 0x21, 0xD7, 0xA6, 0x21, 0xDA, 0xD2, 0x21, 0xDD, 0xD4, 0x21, + 0xE0, 0xD6, 0x21, 0xE3, 0xDC, 0x21, 0xE6, 0xDD, 0x21, 0xE9, 0xDE, 0x21, 0xEC, 0xDF, 0x00, 0x00, + 0x21, 0xEF, 0xAF, 0x80, 0x22, 0xAF, 0x90, 0x22, 0xAF, 0x95, 0x22, 0xAF, 0x96, 0x22, 0xAF, 0x9D, + 0x22, 0xAF, 0x9E, 0x22, 0xAF, 0xA5, 0x22, 0xAF, 0xA6, 0x22, 0xAF, 0xD2, 0x22, 0xAF, 0xD4, 0x22, + 0xAF, 0xD6, 0x22, 0xAF, 0xDC, 0x22, 0xAF, 0xDD, 0x22, 0xAF, 0xDE, 0x22, 0xAF, 0xDF, 0x22, 0x7F, + 0x00, 0x22, 0x90, 0x01, 0x5B, 0xE0, 0xFE, 0xA3, 0xE0, 0xF5, 0x82, 0x8E, 0x83, 0xE0, 0xFF, 0x22, + 0x78, 0x7F, 0xE4, 0xF6, 0xD8, 0xFD, 0x75, 0x81, 0x38, 0x02, 0x22, 0x47, 0x02, 0x26, 0xFA, 0xE4, + 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, + 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54, 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, + 0x20, 0xC8, 0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, 0x0B, 0x01, + 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x17, 0x64, 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, + 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5, 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, + 0xCF, 0x54, 0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, 0x93, 0xA3, + 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, + 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0x75, 0x80, 0xFF, 0x75, + 0x85, 0x02, 0x75, 0x86, 0x03, 0x75, 0x87, 0x10, 0xE4, 0xF5, 0x88, 0xF5, 0x89, 0xF5, 0x8A, 0xF5, + 0x8B, 0xF5, 0x8C, 0xF5, 0x8D, 0x75, 0x8E, 0xE0, 0x75, 0x8F, 0xFF, 0x75, 0x90, 0xFF, 0x75, 0x91, + 0x01, 0x75, 0x95, 0xFF, 0x75, 0x96, 0xFF, 0xF5, 0x9C, 0x75, 0x9D, 0xFF, 0x75, 0x9E, 0xFF, 0x75, + 0xA5, 0xFF, 0x75, 0xA6, 0xFF, 0xF5, 0xA8, 0xF5, 0xB0, 0x75, 0xB1, 0x20, 0xF5, 0xB2, 0xF5, 0xB3, + 0xF5, 0xB4, 0xF5, 0xB5, 0xF5, 0xB7, 0xF5, 0xB8, 0x75, 0xC6, 0x0F, 0xF5, 0xC7, 0xF5, 0xC8, 0xF5, + 0xC9, 0xF5, 0xCA, 0xF5, 0xCB, 0xF5, 0xCC, 0xF5, 0xCD, 0xF5, 0xD0, 0xF5, 0xD2, 0xF5, 0xD4, 0xF5, + 0xD6, 0x75, 0xD8, 0x50, 0xF5, 0xDC, 0xF5, 0xDD, 0xF5, 0xDE, 0xF5, 0xDF, 0xF5, 0xE8, 0xF5, 0xEA, + 0xF5, 0xEB, 0xF5, 0xEC, 0xF5, 0xED, 0xF5, 0xEE, 0xF5, 0xF4, 0xF5, 0xF3, 0xF5, 0xF2, 0xF5, 0xF7, + 0xF5, 0xF8, 0x7F, 0x01, 0x22, 0x90, 0x01, 0x5E, 0x12, 0x0A, 0x0E, 0xE4, 0x90, 0x01, 0x61, 0xF0, + 0xA3, 0xF0, 0x90, 0x01, 0x61, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0xC3, 0x94, 0x03, 0xEE, 0x64, 0x80, + 0x94, 0x80, 0x50, 0x63, 0x90, 0x01, 0xC9, 0xE0, 0xFD, 0x90, 0x01, 0xC6, 0xE0, 0x2D, 0xFD, 0xE4, + 0x33, 0xFC, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, + 0x3E, 0xF5, 0x83, 0xE0, 0xC3, 0x9D, 0xEC, 0x64, 0x80, 0xF8, 0x74, 0x80, 0x98, 0x40, 0x2C, 0x90, + 0x01, 0x5E, 0x12, 0x09, 0xEE, 0x12, 0x07, 0xE4, 0x44, 0x02, 0xFF, 0xE5, 0xF0, 0x8F, 0xF0, 0x12, + 0x08, 0x47, 0x90, 0x01, 0x5E, 0x12, 0x09, 0xEE, 0x90, 0x00, 0x13, 0xE4, 0xF5, 0xF0, 0x12, 0x08, + 0x66, 0x90, 0x01, 0x62, 0xE0, 0x90, 0x00, 0x05, 0x12, 0x07, 0x0F, 0x90, 0x01, 0x61, 0xE4, 0x75, + 0xF0, 0x01, 0x12, 0x07, 0xCE, 0x80, 0x8B, 0x22, 0xE4, 0x90, 0x01, 0x5D, 0xF0, 0x90, 0x01, 0xA2, + 0xE0, 0xC4, 0x54, 0xF0, 0xFE, 0xE0, 0xFD, 0xEF, 0x60, 0x03, 0xB4, 0x01, 0x0B, 0x90, 0x01, 0xA3, + 0x74, 0x01, 0xF0, 0x90, 0x01, 0x23, 0xEF, 0xF0, 0xEF, 0x12, 0x0A, 0x17, 0x23, 0xDB, 0x00, 0x23, + 0xE8, 0x01, 0x23, 0xF2, 0x02, 0x23, 0xFA, 0x05, 0x23, 0xF6, 0x06, 0x24, 0x01, 0x09, 0x23, 0xD5, + 0x14, 0x00, 0x00, 0x24, 0x07, 0x8E, 0xDD, 0x8D, 0xDE, 0x80, 0x13, 0xEE, 0xF4, 0xFF, 0x52, 0xDD, + 0xED, 0xF4, 0x52, 0xDE, 0xEF, 0x52, 0xDE, 0x22, 0xEE, 0x42, 0xDD, 0xED, 0x42, 0xDE, 0xEE, 0x42, + 0xDE, 0x22, 0xEE, 0x42, 0xDD, 0x22, 0xED, 0x42, 0xDE, 0x22, 0xAF, 0x06, 0xEE, 0xF4, 0x52, 0xDD, + 0x22, 0xAF, 0x05, 0xED, 0xF4, 0x52, 0xDE, 0x22, 0x90, 0x01, 0xA3, 0xE0, 0x60, 0x05, 0xE4, 0xF0, + 0x12, 0x2A, 0x48, 0x90, 0x01, 0xEB, 0xE0, 0x70, 0x5D, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xBE, 0x90, + 0x01, 0x60, 0x12, 0x0A, 0x0E, 0x7A, 0x01, 0x79, 0xA5, 0x90, 0x01, 0x63, 0x12, 0x0A, 0x0E, 0x7A, + 0x01, 0x79, 0xC0, 0x12, 0x1F, 0xAB, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA5, 0x90, 0x01, 0xC0, 0xE0, + 0xFC, 0xA3, 0xE0, 0xFD, 0x90, 0x01, 0xBE, 0xE0, 0xFF, 0xA3, 0xE0, 0x90, 0x01, 0x62, 0xCF, 0xF0, + 0xA3, 0xEF, 0xF0, 0x12, 0x1F, 0x0A, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0xA5, 0x12, 0x1E, 0x62, 0x90, + 0x01, 0xA4, 0xE0, 0xFF, 0x90, 0x01, 0xC2, 0xE0, 0x6F, 0x60, 0x0B, 0x90, 0x01, 0xA4, 0xE0, 0x90, + 0x01, 0xC2, 0xF0, 0x12, 0x29, 0x33, 0x22, 0xAB, 0x07, 0xAA, 0x05, 0x74, 0x36, 0x2B, 0xF8, 0xE6, + 0xFF, 0x74, 0x01, 0xA8, 0x07, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, 0xFC, 0xF9, 0xE4, 0xF5, 0x30, + 0xF5, 0x31, 0xEA, 0xFF, 0xC3, 0xE5, 0x31, 0x9F, 0x74, 0x80, 0xF8, 0x65, 0x30, 0x98, 0x50, 0x1E, + 0x12, 0x2C, 0x54, 0xAF, 0x03, 0xAD, 0x01, 0x12, 0x1C, 0xF4, 0x74, 0x08, 0x25, 0x31, 0xF8, 0xA6, + 0x07, 0x12, 0x2C, 0x5C, 0x05, 0x31, 0xE5, 0x31, 0x70, 0xD8, 0x05, 0x30, 0x80, 0xD4, 0x7C, 0x00, + 0x78, 0x08, 0xE8, 0x2C, 0xF8, 0xF9, 0xE6, 0xFA, 0xEC, 0xFB, 0x0B, 0x08, 0xE6, 0x9A, 0x40, 0x0B, + 0xE6, 0xCA, 0xF6, 0xE8, 0xFD, 0xE9, 0xF8, 0xEA, 0xF6, 0xED, 0xF8, 0x0B, 0xBB, 0x1B, 0xEC, 0x0C, + 0xBC, 0x0E, 0xDD, 0xAF, 0x15, 0x22, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x47, 0x90, 0x00, 0x06, 0xE4, + 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x08, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, + 0x13, 0x74, 0xFF, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x05, 0x74, 0xFF, 0x12, 0x07, 0x0F, + 0x90, 0x00, 0x11, 0xE4, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x0A, 0xE4, 0xF5, 0xF0, 0x12, + 0x08, 0x66, 0x90, 0x00, 0x0E, 0xE4, 0x12, 0x07, 0x0F, 0x90, 0x00, 0x0F, 0xE4, 0xF5, 0xF0, 0x12, + 0x08, 0x66, 0x90, 0x00, 0x0C, 0x74, 0xFF, 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x17, 0xE4, + 0xF5, 0xF0, 0x12, 0x08, 0x66, 0x90, 0x00, 0x02, 0x74, 0xFF, 0x12, 0x07, 0x0F, 0x12, 0x23, 0x15, + 0x02, 0x26, 0x06, 0xEF, 0x12, 0x0A, 0x17, 0x25, 0x7F, 0x00, 0x25, 0x88, 0x01, 0x25, 0x90, 0x02, + 0x25, 0x90, 0x03, 0x25, 0x90, 0x04, 0x25, 0x98, 0x05, 0x25, 0x96, 0x06, 0x25, 0x96, 0x07, 0x25, + 0x96, 0x08, 0x25, 0xA4, 0x09, 0x25, 0x88, 0x12, 0x25, 0x7F, 0x13, 0x00, 0x00, 0x25, 0xAF, 0xED, + 0xF4, 0x54, 0x0F, 0x52, 0xDC, 0x52, 0xDD, 0x22, 0xED, 0x54, 0x0F, 0x42, 0xDC, 0x42, 0xDD, 0x22, + 0xED, 0x54, 0x0F, 0x42, 0xDC, 0x22, 0x80, 0x06, 0xED, 0xF4, 0x54, 0x0F, 0x52, 0xDC, 0xED, 0x54, + 0x0F, 0x42, 0xDD, 0x22, 0xED, 0x54, 0x0F, 0x42, 0xDC, 0xED, 0xF4, 0x54, 0x0F, 0x52, 0xDD, 0x22, + 0x90, 0x01, 0x54, 0x12, 0x0A, 0x0E, 0x90, 0x01, 0x57, 0xED, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, + 0xA3, 0xF0, 0x12, 0x07, 0xE4, 0xFF, 0x90, 0x01, 0x59, 0xE5, 0xF0, 0xF0, 0xA3, 0xEF, 0xF0, 0xBD, + 0x02, 0x02, 0x80, 0x21, 0x90, 0x01, 0x57, 0xE0, 0xB4, 0x03, 0x2A, 0x90, 0x01, 0x54, 0x12, 0x09, + 0xEE, 0x90, 0x00, 0x02, 0x12, 0x06, 0xD0, 0xFF, 0x90, 0x01, 0x58, 0xF0, 0xA3, 0xE0, 0xFC, 0xA3, + 0xE0, 0xFD, 0x12, 0x20, 0x46, 0x90, 0x01, 0x59, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x12, 0x21, 0x72, + 0x90, 0x01, 0xDD, 0xEF, 0xF0, 0x22, 0xE4, 0xFD, 0xFC, 0xED, 0x25, 0xE0, 0xFF, 0xEC, 0x33, 0xFE, + 0x74, 0x83, 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xE4, 0xF0, 0x90, 0x01, 0xC8, 0xE0, + 0xFF, 0x90, 0x01, 0xC7, 0xE0, 0x2F, 0xFB, 0xED, 0x25, 0xE0, 0xFF, 0xEC, 0x33, 0xFE, 0x74, 0x84, + 0x2F, 0xF5, 0x82, 0x74, 0x01, 0x3E, 0xF5, 0x83, 0xEB, 0xF0, 0x0D, 0xBD, 0x00, 0x01, 0x0C, 0xED, + 0x64, 0x03, 0x4C, 0x70, 0xC4, 0xE4, 0x90, 0x01, 0x80, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x89, 0xF0, + 0xA3, 0xF0, 0x74, 0xFF, 0x90, 0x01, 0x9C, 0xF0, 0xA3, 0xF0, 0x22, 0x78, 0x5F, 0x7C, 0x01, 0x7D, + 0x01, 0x7B, 0xFF, 0x7A, 0x2C, 0x79, 0xA0, 0x7E, 0x00, 0x7F, 0x01, 0x12, 0x06, 0x6F, 0xE4, 0x90, + 0x01, 0x5E, 0xF0, 0x90, 0x01, 0x5E, 0xE0, 0xFF, 0xC3, 0x64, 0x80, 0x94, 0x83, 0x50, 0x22, 0x7B, + 0x01, 0x7A, 0x01, 0x79, 0x5F, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0xF2, 0x2F, 0xF5, 0x82, 0x74, + 0x01, 0x3E, 0xF5, 0x83, 0xE0, 0xFD, 0x12, 0x29, 0x65, 0x90, 0x01, 0x5E, 0xE0, 0x04, 0xF0, 0x80, + 0xD2, 0x90, 0x01, 0x5F, 0xE0, 0xFF, 0x7D, 0xD6, 0x7C, 0x00, 0x02, 0x20, 0x46, 0x90, 0x02, 0x1E, + 0xEF, 0xF0, 0xA3, 0x12, 0x0A, 0x0E, 0xE4, 0xFF, 0xFE, 0xD3, 0x90, 0x02, 0x23, 0xE0, 0x9F, 0xEE, + 0x64, 0x80, 0xF8, 0x90, 0x02, 0x22, 0xE0, 0x64, 0x80, 0x98, 0x40, 0x1C, 0x90, 0x02, 0x1F, 0x12, + 0x09, 0xEE, 0x8F, 0x82, 0x8E, 0x83, 0x12, 0x06, 0xD0, 0xFD, 0x90, 0x02, 0x1E, 0xE0, 0x6D, 0x60, + 0x07, 0x0F, 0xBF, 0x00, 0x01, 0x0E, 0x80, 0xD1, 0x90, 0x02, 0x22, 0xE0, 0xB5, 0x06, 0x08, 0xA3, + 0xE0, 0xB5, 0x07, 0x03, 0x7F, 0x00, 0x22, 0x7F, 0x01, 0x22, 0x12, 0x22, 0x8C, 0x12, 0x2B, 0xE3, + 0x12, 0x2C, 0x42, 0x90, 0x01, 0xEA, 0xEF, 0xF0, 0x12, 0x29, 0xF4, 0xEF, 0x60, 0xFA, 0xE5, 0x90, + 0x20, 0xE2, 0x0B, 0xE5, 0x9E, 0x30, 0xE2, 0x06, 0x90, 0x02, 0x3A, 0x74, 0x01, 0xF0, 0x12, 0x2B, + 0x98, 0x90, 0x01, 0xEB, 0xE0, 0x70, 0xE7, 0x90, 0x02, 0x3A, 0xE0, 0x60, 0x14, 0x12, 0x2B, 0x22, + 0x12, 0x22, 0x8C, 0x12, 0x2B, 0xE3, 0x12, 0x29, 0xF4, 0xEF, 0x60, 0xFA, 0xE4, 0x90, 0x02, 0x3A, + 0xF0, 0x12, 0x24, 0x08, 0x80, 0xC8, 0xEF, 0x12, 0x0A, 0x17, 0x27, 0x72, 0x00, 0x27, 0x77, 0x01, + 0x27, 0x7C, 0x02, 0x27, 0x7C, 0x03, 0x27, 0x7C, 0x04, 0x27, 0x82, 0x05, 0x27, 0x80, 0x06, 0x27, + 0x80, 0x07, 0x27, 0x80, 0x08, 0x27, 0x89, 0x09, 0x27, 0x77, 0x12, 0x27, 0x72, 0x13, 0x00, 0x00, + 0x27, 0x8F, 0x53, 0x80, 0xFE, 0x80, 0x15, 0x43, 0x80, 0x01, 0x80, 0x09, 0x43, 0x80, 0x01, 0x22, + 0x80, 0x03, 0x53, 0x80, 0xFE, 0x43, 0x80, 0x04, 0x22, 0x43, 0x80, 0x01, 0x53, 0x80, 0xFB, 0x22, + 0x90, 0x02, 0x07, 0x12, 0x09, 0xA5, 0x90, 0x02, 0x0B, 0x12, 0x09, 0xB1, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x02, 0x07, 0x12, 0x09, 0x8D, 0x90, 0x02, 0x0B, 0x12, 0x09, 0x99, 0xC3, 0x12, 0x09, 0x7C, + 0x50, 0x1E, 0x12, 0x2C, 0x9D, 0x90, 0x02, 0x0B, 0x12, 0x09, 0x8D, 0xEF, 0x24, 0x01, 0xFF, 0xE4, + 0x3E, 0xFE, 0xE4, 0x3D, 0xFD, 0xE4, 0x3C, 0xFC, 0x90, 0x02, 0x0B, 0x12, 0x09, 0xA5, 0x80, 0xD0, + 0x22, 0x90, 0x02, 0x0F, 0x12, 0x0A, 0x0E, 0xE4, 0xFF, 0xFE, 0xD3, 0x90, 0x02, 0x16, 0xE0, 0x9F, + 0xEE, 0x64, 0x80, 0xF8, 0x90, 0x02, 0x15, 0xE0, 0x64, 0x80, 0x98, 0x40, 0x23, 0x90, 0x02, 0x12, + 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x09, 0xF7, 0x12, 0x06, 0xB7, 0xFD, 0x90, 0x02, 0x0F, 0xE4, 0x75, + 0xF0, 0x01, 0x12, 0x09, 0xF7, 0xED, 0x12, 0x06, 0xFD, 0x0F, 0xBF, 0x00, 0x01, 0x0E, 0x80, 0xCA, + 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC0, 0xD0, 0x90, 0x02, 0x1C, 0xE0, 0x60, 0x0C, 0x90, + 0x02, 0x1A, 0xE0, 0xB4, 0x03, 0x05, 0x75, 0x8C, 0x00, 0x80, 0x18, 0x90, 0x02, 0x1D, 0xE0, 0x60, + 0x12, 0x90, 0x02, 0x1B, 0xE0, 0x60, 0x04, 0xE0, 0xB4, 0x01, 0x08, 0x75, 0x8A, 0x00, 0x75, 0x8C, + 0x00, 0xD2, 0x8E, 0xC2, 0x8F, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xE4, 0x90, + 0x01, 0x5E, 0xF0, 0x90, 0x01, 0x5E, 0xE0, 0xFE, 0x75, 0xF0, 0x03, 0xA4, 0x24, 0x9B, 0xF5, 0x82, + 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFF, 0xEE, 0x75, 0xF0, 0x03, 0xA4, 0x24, 0x9C, 0xF5, 0x82, + 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFC, 0xA3, 0xE0, 0xFD, 0x12, 0x20, 0x46, 0x90, 0x01, 0x5E, + 0xE0, 0x04, 0xF0, 0xE0, 0xC3, 0x94, 0x12, 0x40, 0xCA, 0x22, 0x90, 0x02, 0x2A, 0xEF, 0xF0, 0xA3, + 0xED, 0xF0, 0xE4, 0xA3, 0xF0, 0xA3, 0xF0, 0x90, 0x02, 0x2A, 0xE0, 0xFF, 0xA3, 0xE0, 0xFD, 0x90, + 0x02, 0x2D, 0xE0, 0xFB, 0x12, 0x28, 0xFB, 0x90, 0x02, 0x2C, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, + 0xCE, 0xC3, 0x90, 0x02, 0x2D, 0xE0, 0x94, 0x03, 0x90, 0x02, 0x2C, 0xE0, 0x64, 0x80, 0x94, 0x80, + 0x40, 0xD5, 0x22, 0x43, 0x85, 0x01, 0x75, 0xC6, 0x04, 0x7D, 0xD4, 0x7C, 0x00, 0x7F, 0xFF, 0x12, + 0x20, 0x46, 0x7D, 0xD6, 0x7C, 0x00, 0x7F, 0xFF, 0x12, 0x20, 0x46, 0x7D, 0x00, 0x7C, 0x08, 0x7F, + 0x04, 0x12, 0x20, 0x46, 0xE4, 0xF5, 0x95, 0xF5, 0x9D, 0x75, 0xA5, 0xFF, 0xF5, 0x80, 0xF5, 0x96, + 0x75, 0x9E, 0xFF, 0x75, 0xA6, 0xFF, 0xF5, 0x90, 0x7F, 0x01, 0x22, 0x90, 0x01, 0x6F, 0xED, 0xF0, + 0xA3, 0xEB, 0xF0, 0xE0, 0x24, 0x36, 0xF8, 0xE6, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0xED, 0x24, 0x20, + 0xFD, 0xEC, 0x34, 0x08, 0xFC, 0x12, 0x20, 0x46, 0x90, 0x01, 0x6F, 0xE0, 0xFF, 0xA3, 0xE0, 0x24, + 0x36, 0xF8, 0xE6, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0xED, 0x24, 0x30, 0xFD, 0xEC, 0x34, 0x08, 0xFC, + 0x02, 0x20, 0x46, 0xE4, 0x90, 0x01, 0x5E, 0xF0, 0xA3, 0xF0, 0x90, 0x01, 0x5F, 0xE0, 0xFF, 0x12, + 0x0E, 0x5E, 0xEF, 0x70, 0x02, 0xFF, 0x22, 0x90, 0x01, 0x5E, 0xE4, 0x75, 0xF0, 0x01, 0x12, 0x07, + 0xCE, 0xC3, 0x90, 0x01, 0x5F, 0xE0, 0x94, 0x03, 0x90, 0x01, 0x5E, 0xE0, 0x64, 0x80, 0x94, 0x80, + 0x40, 0xD8, 0x7F, 0x01, 0x22, 0xED, 0x75, 0xF0, 0x08, 0x12, 0x06, 0x95, 0xFF, 0x33, 0x95, 0xE0, + 0xFE, 0xE9, 0x2F, 0xF9, 0xEA, 0x3E, 0xFA, 0x12, 0x06, 0xB7, 0xFF, 0xAE, 0x05, 0xEE, 0x75, 0xF0, + 0x08, 0x12, 0x06, 0x95, 0xAE, 0xF0, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, + 0xFC, 0x4F, 0x02, 0x06, 0xFD, 0xED, 0x75, 0xF0, 0x08, 0x12, 0x06, 0x95, 0xFF, 0x33, 0x95, 0xE0, + 0xFE, 0xE9, 0x2F, 0xF9, 0xEA, 0x3E, 0xFA, 0x12, 0x06, 0xB7, 0xFF, 0xAE, 0x05, 0xEE, 0x75, 0xF0, + 0x08, 0x12, 0x06, 0x95, 0xAE, 0xF0, 0x74, 0x01, 0xA8, 0x06, 0x08, 0x80, 0x02, 0xC3, 0x33, 0xD8, + 0xFC, 0x4F, 0x02, 0x06, 0xFD, 0x90, 0x02, 0x35, 0x12, 0x0A, 0x0E, 0xE4, 0xFF, 0xFE, 0x74, 0x8E, + 0x2F, 0xF5, 0x82, 0xE4, 0x34, 0x00, 0xF5, 0x83, 0xE0, 0xFD, 0x90, 0x02, 0x35, 0x12, 0x09, 0xEE, + 0x8F, 0x82, 0x8E, 0x83, 0xED, 0x12, 0x07, 0x0F, 0x0F, 0xBF, 0x00, 0x01, 0x0E, 0xEF, 0x64, 0x03, + 0x4E, 0x70, 0xDB, 0x22, 0xE4, 0x90, 0x01, 0x5D, 0xF0, 0x90, 0x01, 0x23, 0xF0, 0x7B, 0x01, 0x7A, + 0x01, 0x79, 0xA5, 0x12, 0x24, 0xE6, 0x12, 0x2C, 0x4B, 0x90, 0x01, 0x41, 0xE0, 0x30, 0xE1, 0x08, + 0x12, 0x29, 0x33, 0x90, 0x01, 0x5D, 0xEF, 0xF0, 0x90, 0x01, 0x5D, 0xE0, 0xFF, 0x22, 0x90, 0x02, + 0x2E, 0x12, 0x0A, 0x0E, 0x90, 0x02, 0x31, 0xED, 0xF0, 0xFB, 0xE4, 0xFD, 0x7F, 0xFF, 0x12, 0x28, + 0xFB, 0x90, 0x02, 0x31, 0xE0, 0xFF, 0x7D, 0x1B, 0x12, 0x24, 0x77, 0x12, 0x2B, 0x58, 0x90, 0x02, + 0x2E, 0x12, 0x09, 0xEE, 0xEF, 0x02, 0x06, 0xFD, 0x78, 0x40, 0x7C, 0x01, 0x7D, 0x01, 0x7B, 0x01, + 0x7A, 0x01, 0x79, 0x23, 0x7E, 0x00, 0x7F, 0x14, 0x12, 0x06, 0x6F, 0x78, 0x37, 0x7C, 0x01, 0x7D, + 0x01, 0x7B, 0x01, 0x7A, 0x01, 0x79, 0x3B, 0x7E, 0x00, 0x7F, 0x04, 0x02, 0x06, 0x6F, 0xAC, 0x07, + 0xAF, 0x05, 0xEF, 0x7F, 0x00, 0xFE, 0xEF, 0x24, 0x9F, 0xF5, 0x82, 0x74, 0x02, 0x3E, 0xF5, 0x83, + 0xE5, 0x82, 0x2C, 0xF5, 0x82, 0xE4, 0x35, 0x83, 0xF5, 0x83, 0xE4, 0x93, 0xFF, 0x22, 0x78, 0x5E, + 0x7C, 0x01, 0x7D, 0x01, 0x7B, 0xFF, 0x7A, 0x2C, 0x79, 0xA1, 0x7E, 0x00, 0x7F, 0x01, 0x12, 0x06, + 0x6F, 0x90, 0x01, 0x5E, 0xE0, 0xFF, 0x7D, 0xD4, 0x7C, 0x00, 0x02, 0x20, 0x46, 0xED, 0x64, 0x01, + 0x4C, 0x70, 0x07, 0x90, 0x01, 0xDD, 0xEF, 0xF0, 0x80, 0x0D, 0xED, 0x64, 0x02, 0x4C, 0x70, 0x07, + 0xEF, 0x44, 0x08, 0x90, 0x01, 0xDD, 0xF0, 0x53, 0x9E, 0xFB, 0x22, 0x90, 0x01, 0x4D, 0xE0, 0x14, + 0x60, 0x0A, 0x04, 0x70, 0x13, 0x90, 0x08, 0x03, 0x74, 0xFE, 0xF0, 0x22, 0x90, 0x01, 0x4E, 0xE0, + 0x25, 0xE0, 0x25, 0xE0, 0x90, 0x08, 0x03, 0xF0, 0x22, 0x90, 0x02, 0x1B, 0xEF, 0xF0, 0x90, 0x02, + 0x1D, 0xED, 0xF0, 0x53, 0x89, 0xCF, 0xEF, 0x54, 0x03, 0xC4, 0x54, 0xF0, 0x42, 0x89, 0xE4, 0xF5, + 0x8B, 0xF5, 0x8D, 0xD2, 0xAB, 0x22, 0xAD, 0x07, 0xAC, 0x06, 0x7F, 0x01, 0x7E, 0x00, 0xED, 0x1D, + 0xAA, 0x04, 0x70, 0x01, 0x1C, 0x4A, 0x60, 0x09, 0xEF, 0x25, 0xE0, 0xFF, 0xEE, 0x33, 0xFE, 0x80, + 0xED, 0x22, 0x12, 0x22, 0x8C, 0x12, 0x2B, 0xE3, 0x43, 0x9E, 0x04, 0xC2, 0xD9, 0xC2, 0x8C, 0x75, + 0x8F, 0xFF, 0x53, 0x85, 0xFE, 0x43, 0x87, 0x02, 0x12, 0x2C, 0x9D, 0x02, 0x2C, 0x9D, 0x90, 0x02, + 0x1A, 0xEF, 0xF0, 0x90, 0x02, 0x1C, 0xED, 0xF0, 0x53, 0x89, 0xFC, 0xEF, 0x54, 0x03, 0x42, 0x89, + 0xE4, 0xF5, 0x8A, 0xF5, 0x8C, 0xD2, 0xA9, 0x22, 0xEF, 0x25, 0xE0, 0xFF, 0xE4, 0x33, 0xFE, 0x74, + 0x9F, 0x2F, 0xF5, 0x82, 0x74, 0x00, 0x3E, 0xF5, 0x83, 0x74, 0x01, 0x93, 0xFF, 0x22, 0xAE, 0x05, + 0xEF, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x27, 0x2D, 0xF5, 0x82, 0x74, 0x02, 0x3C, 0xF5, 0x83, + 0xEE, 0xF0, 0x22, 0xAE, 0x05, 0xEF, 0xFD, 0x33, 0x95, 0xE0, 0xFC, 0x74, 0x24, 0x2D, 0xF5, 0x82, + 0x74, 0x02, 0x3C, 0xF5, 0x83, 0xEE, 0xF0, 0x22, 0x90, 0x02, 0x33, 0xE0, 0xFF, 0x74, 0xFF, 0xF0, + 0xD3, 0xEF, 0x64, 0x80, 0x94, 0x7F, 0x40, 0x03, 0x12, 0x23, 0x98, 0x22, 0x53, 0xE8, 0xDF, 0xE4, + 0xF5, 0xB2, 0x75, 0xB3, 0x40, 0x43, 0xB1, 0x03, 0x43, 0xB1, 0x20, 0x43, 0xE8, 0x20, 0x22, 0xEF, + 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x27, 0x2F, 0xF5, 0x82, 0x74, 0x02, 0x3E, 0xF5, 0x83, 0xE0, 0xFF, + 0x22, 0xEF, 0x33, 0x95, 0xE0, 0xFE, 0x74, 0x24, 0x2F, 0xF5, 0x82, 0x74, 0x02, 0x3E, 0xF5, 0x83, + 0xE0, 0xFF, 0x22, 0x12, 0x28, 0xC3, 0x12, 0x00, 0x06, 0xD2, 0xD9, 0x12, 0x2C, 0x9A, 0xD2, 0xAF, + 0x02, 0x2A, 0x48, 0x90, 0x01, 0xA3, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x35, 0xEE, 0xF0, 0xA3, 0xEF, + 0xF0, 0x22, 0xE4, 0x90, 0x02, 0x34, 0xF0, 0x90, 0x02, 0x32, 0x74, 0xFF, 0xF0, 0x22, 0x90, 0x01, + 0xA3, 0x74, 0x01, 0xF0, 0x90, 0x01, 0x31, 0xEF, 0xF0, 0x22, 0x90, 0x02, 0x34, 0xEF, 0xF0, 0x90, + 0x02, 0x32, 0xED, 0xF0, 0x22, 0xE4, 0xF5, 0xDC, 0xF5, 0xDD, 0xF5, 0xDE, 0xF5, 0xDF, 0x22, 0x90, + 0x01, 0xC6, 0xE0, 0x6F, 0x60, 0x02, 0xEF, 0xF0, 0x22, 0x90, 0x01, 0x35, 0xE0, 0xFE, 0xA3, 0xE0, + 0xFF, 0x22, 0x90, 0x02, 0x38, 0xE0, 0xFE, 0xA3, 0xE0, 0xFF, 0x22, 0x12, 0x28, 0x4E, 0x12, 0x2A, + 0xCB, 0x02, 0x2C, 0x94, 0x90, 0x08, 0x00, 0xE0, 0x54, 0xFB, 0xF0, 0x22, 0x90, 0x08, 0x00, 0xE0, + 0x44, 0x04, 0xF0, 0x22, 0x90, 0x01, 0xDB, 0xE0, 0xFF, 0x22, 0xEF, 0x24, 0xFF, 0x92, 0x8C, 0x22, + 0xEF, 0x24, 0xFF, 0x92, 0x8E, 0x22, 0xEF, 0x24, 0xFF, 0x92, 0xD9, 0x22, 0xEF, 0x24, 0xFF, 0x92, + 0xEC, 0x22, 0x90, 0x02, 0x33, 0xEF, 0xF0, 0x22, 0x90, 0x02, 0x34, 0xE0, 0xFF, 0x22, 0x90, 0x02, + 0x32, 0xE0, 0xFF, 0x22, 0x12, 0x26, 0x5B, 0x02, 0x2A, 0x8E, 0x02, 0x2B, 0xAC, 0x00, 0x00, 0x22, + 0xFF, 0xFF, +}; diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile index 9ed6750..9b963e6 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile @@ -16,6 +16,8 @@ obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT) += atmel_mxt_ts.o obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT224) += mxt224.o obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT224_GC) += mxt224_gc.o obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT224_U1) += mxt224_u1.o +obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT224_GRANDE) += mxt224_grande.o +obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT224S_GRANDE) += mxt224s_grande.o obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT1536E) += mxt1536e.o obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT1664S) += mxt1664s.o mxt1664s_sec.o obj-$(CONFIG_TOUCHSCREEN_ATMEL_TSADCC) += atmel_tsadcc.o @@ -60,7 +62,7 @@ obj-$(CONFIG_TOUCHSCREEN_TSC2005) += tsc2005.o obj-$(CONFIG_TOUCHSCREEN_TSC2007) += tsc2007.o obj-$(CONFIG_TOUCHSCREEN_UCB1400) += ucb1400_ts.o obj-$(CONFIG_TOUCHSCREEN_WACOM_W8001) += wacom_w8001.o -obj-$(CONFIG_EPEN_WACOM_G5SP) += wacom/ +obj-$(CONFIG_INPUT_WACOM) += wacom/ obj-$(CONFIG_TOUCHSCREEN_WM831X) += wm831x-ts.o obj-$(CONFIG_TOUCHSCREEN_WM97XX) += wm97xx-ts.o wm97xx-ts-$(CONFIG_TOUCHSCREEN_WM9705) += wm9705.o @@ -72,14 +74,20 @@ obj-$(CONFIG_TOUCHSCREEN_WM97XX_ZYLONITE) += zylonite-wm97xx.o obj-$(CONFIG_TOUCHSCREEN_W90X900) += w90p910_ts.o obj-$(CONFIG_TOUCHSCREEN_TPS6507X) += tps6507x-ts.o obj-$(CONFIG_TOUCHSCREEN_MELFAS) += mms_ts.o +obj-$(CONFIG_TOUCHSCREEN_MELFAS_MMS) += melfas_mms_ts.o obj-$(CONFIG_TOUCHSCREEN_MELFAS_GC) += mms_ts_gc.o obj-$(CONFIG_TOUCHSCREEN_MMS152) += mms152.o mms152_download.o mms152_isc_download.o +obj-$(CONFIG_TOUCHSCREEN_MELFAS_NOTE) += mms152_ts.o obj-$(CONFIG_MELFAS_TOUCHKEY) += melfas_touchkey.o melfas_download.o obj-$(CONFIG_TOUCHSCREEN_ZINITIX) += zinitix_touch.o obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT540E) += mxt540e.o obj-$(CONFIG_TOUCHSCREEN_MXT1386) += atmel_mxt1386.o atmel_mxt1386_cfg.o obj-$(CONFIG_TOUCHSCREEN_MXT768E) += mxt768e.o obj-$(CONFIG_TOUCHSCREEN_SYNAPTICS_S7301) += synaptics_s7301.o synaptics_fw_updater.o synaptics_sysfs.o +obj-$(CONFIG_KEYPAD_MELFAS_TOUCH) += grande_touchkey.o grande_download.o +obj-$(CONFIG_TOUCHSCREEN_ATMEL_MXT540S) += mxt540s.o +obj-$(CONFIG_TOUCHSCREEN_CYTTSP4) += cyttsp4_i2c.o cyttsp4_core.o + ifeq ($(TARGET_BUILD_VARIANT), eng) KBUILD_CFLAGS += -DSEC_TSP_EVENT_DEBUG endif diff --git a/drivers/input/touchscreen/cyttsp4_core.c b/drivers/input/touchscreen/cyttsp4_core.c new file mode 100644 index 0000000..d1ab003 --- /dev/null +++ b/drivers/input/touchscreen/cyttsp4_core.c @@ -0,0 +1,6685 @@ +/* + * Core Source for: + * Cypress TrueTouch(TM) Standard Product (TTSP) touchscreen drivers. + * For use with Cypress Gen4 and Solo parts. + * Supported parts include: + * CY8CTMA884/616 + * CY8CTMA4XX + * + * Copyright (C) 2009-2012 Cypress Semiconductor, Inc. + * Copyright (C) 2011 Motorola Mobility, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2, and only version 2, as published by the + * Free Software Foundation. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contact Cypress Semiconductor at www.cypress.com <kev@cypress.com> + * + */ +#define TOUCH_BOOST 0 +#include "cyttsp4_core.h" + +#include <linux/delay.h> +#include <linux/gpio.h> +#include <linux/interrupt.h> +#include <linux/slab.h> +#include <linux/platform_data/cypress_cyttsp4.h> +#include <linux/firmware.h> /* This enables firmware class loader code */ + +#if TOUCH_BOOST +#include <linux/workqueue.h> +#include <linux/timer.h> +#include <mach/cpufreq_limits.h> +#ifdef CONFIG_DVFS_LIMIT +#include <linux/cpufreq.h> +#endif +bool boost; +#endif + +/* platform address lookup offsets */ +#define CY_TCH_ADDR_OFS 0 +#define CY_LDR_ADDR_OFS 1 + +/* helpers */ +#define GET_NUM_TOUCHES(x) ((x) & 0x1F) +#define IS_LARGE_AREA(x) ((x) & 0x20) +#define IS_BAD_PKT(x) ((x) & 0x20) +#define GET_HSTMODE(reg) ((reg & 0x70) >> 4) +#define IS_BOOTLOADERMODE(reg) (reg & 0x01) + +/* maximum number of concurrent tracks */ +#define CY_NUM_TCH_ID 10 +/* maximum number of track IDs */ +#define CY_NUM_TRK_ID 16 +/* maximum number of command data bytes */ +#define CY_NUM_DAT 6 +/* maximum number of config block read data */ +#define CY_NUM_CONFIG_BYTES 128 + +#define CY_REG_BASE 0x00 +#define CY_DELAY_DFLT 20 /* ms */ +#define CY_DELAY_MAX (500/CY_DELAY_DFLT) /* half second */ +#define CY_HALF_SEC_TMO_MS 500 /* half second in msecs */ +#define CY_TEN_SEC_TMO_MS 10000 /* ten seconds in msecs */ +#define CY_HANDSHAKE_BIT 0x80 +#define CY_WAKE_DFLT 99 /* causes wake strobe on INT line + * in sample board configuration + * platform data->hw_recov() function + */ +/* power mode select bits */ +#define CY_SOFT_RESET_MODE 0x01 +#define CY_DEEP_SLEEP_MODE 0x02 +#define CY_LOW_POWER_MODE 0x04 +/* device mode bits */ +#define CY_MODE_CHANGE 0x08 /* rd/wr hst_mode */ +#define CY_OPERATE_MODE 0x00 /* rd/wr hst_mode */ +#define CY_SYSINFO_MODE 0x10 /* rd/wr hst_mode */ +#define CY_CONFIG_MODE 0x20 /* rd/wr hst_mode */ +#define CY_BL_MODE 0x01 /* wr hst mode == soft reset + * was 0x10 to rep_stat for LTS + */ +#define CY_CMD_RDY_BIT 0x40 + +#define CY_REG_OP_START 0 +#define CY_REG_SI_START 0 +#define CY_REG_OP_END 0x20 +#define CY_REG_SI_END 0x20 + +#ifdef CY_USE_TMA400 +#define CY_TCH_CRC_LOC_TMA400 5884 /* location of CRC in touch EBID */ +#endif /* --CY_USE_TMA400 */ + +/* register field lengths */ +#define CY_NUM_REVCTRL 8 +#define CY_NUM_MFGID 8 +#define CY_NUM_TCHREC 10 +#define CY_NUM_DDATA 32 +#define CY_NUM_MDATA 64 +#define CY_TMA884_MAX_BYTES 255 /* + * max reg access for TMA884 + * in config mode + */ +#define CY_TMA400_MAX_BYTES 512 /* + * max reg access for TMA400 + * in config mode + */ + +/* touch event id codes */ +#define CY_GET_EVENTID(reg) ((reg & 0x60) >> 5) +#define CY_GET_TRACKID(reg) (reg & 0x1F) +#define CY_NOMOVE 0 +#define CY_TOUCHDOWN 1 +#define CY_MOVE 2 +#define CY_LIFTOFF 3 + +#define CY_CFG_BLK_SIZE 126 +#define CY_EBID_ROW_SIZE_DFLT 128 + +#define CY_BL_VERS_SIZE 12 +#define CY_NUM_TMA400_TT_CFG_BLK 51 /* Rev84 mapping */ + +#if defined(CY_USE_FORCE_LOAD) || defined(CONFIG_TOUCHSCREEN_DEBUG) +#define CY_BL_FW_NAME_SIZE NAME_MAX +#endif + + +#ifdef CY_USE_REG_ACCESS +#define CY_RW_REGID_MAX 0xFFFF +#define CY_RW_REG_DATA_MAX 0xFF +#endif + +/* abs settings */ +#define CY_IGNORE_VALUE 0xFFFF +/* abs signal capabilities offsets in the frameworks array */ +enum cyttsp4_sig_caps { + CY_SIGNAL_OST = 0, + CY_MIN_OST = 1, + CY_MAX_OST = 2, + CY_FUZZ_OST = 3, + CY_FLAT_OST = 4, + CY_NUM_ABS_SET /* number of signal capability fields */ +}; + +/* abs axis signal offsets in the framworks array */ +enum cyttsp4_sig_ost { + CY_ABS_X_OST = 0, + CY_ABS_Y_OST = 1, + CY_ABS_P_OST = 2, + CY_ABS_W_OST = 3, + CY_ABS_ID_OST = 4, + CY_ABS_MAJ_OST = 5, + CY_ABS_MIN_OST = 6, + CY_ABS_OR_OST = 7, + CY_NUM_ABS_OST /* number of abs signals */ +}; + +/* touch record system information offset masks and shifts */ +#define CY_SIZE_FIELD_MASK 0x1F +#define CY_BOFS_MASK 0xE0 +#define CY_BOFS_SHIFT 5 + +enum cyttsp4_driver_state { + CY_IDLE_STATE, /* IC cannot be reached */ + CY_READY_STATE, /* pre-operational; ready to go to ACTIVE */ + CY_ACTIVE_STATE, /* app is running, IC is scanning */ + CY_SLEEP_STATE, /* app is running, IC is idle */ + CY_BL_STATE, /* bootloader is running */ + CY_SYSINFO_STATE, /* switching to sysinfo mode */ + CY_CMD_STATE, /* command initiation mode */ + CY_EXIT_BL_STATE, /* sync bl heartbeat to app ready int */ + CY_TRANSFER_STATE, /* changing states */ + CY_INVALID_STATE /* always last in the list */ +}; + +static const char * const cyttsp4_driver_state_string[] = { + /* Order must match enum cyttsp4_driver_state above */ + "IDLE", + "READY", + "ACTIVE", + "SLEEP", + "BOOTLOADER", + "SYSINFO", + "CMD", + "EXIT_BL", + "TRANSFER", + "INVALID" +}; + +enum cyttsp4_controller_mode { + CY_MODE_BOOTLOADER, + CY_MODE_SYSINFO, + CY_MODE_OPERATIONAL, + CY_MODE_CONFIG, + CY_MODE_NUM +}; + +enum cyttsp4_ic_grpnum { + CY_IC_GRPNUM_RESERVED = 0, + CY_IC_GRPNUM_CMD_REGS, + CY_IC_GRPNUM_TCH_REP, + CY_IC_GRPNUM_DATA_REC, + CY_IC_GRPNUM_TEST_REC, + CY_IC_GRPNUM_PCFG_REC, + CY_IC_GRPNUM_TCH_PARM_VAL, + CY_IC_GRPNUM_TCH_PARM_SIZ, + CY_IC_GRPNUM_RESERVED1, + CY_IC_GRPNUM_RESERVED2, + CY_IC_GRPNUM_OPCFG_REC, + CY_IC_GRPNUM_DDATA_REC, + CY_IC_GRPNUM_MDATA_REC, + CY_IC_GRPNUM_TEST_REGS, + CY_IC_GRPNUM_BTN_KEYS, + CY_IC_GRPNUM_NUM +}; + +enum cyttsp4_ic_op_mode_commands { + CY_GET_PARAM_CMD = 0x02, + CY_SET_PARAM_CMD = 0x03, + CY_GET_CFG_BLK_CRC = 0x05, +}; + +enum cyttsp4_ic_config_mode_commands { + CY_GET_EBID_ROW_SIZE = 0x02, + CY_READ_EBID_DATA = 0x03, + CY_WRITE_EBID_DATA = 0x04, + CY_VERIFY_EBID_CRC = 0x11, +}; + +#ifdef CY_USE_TMA400 +enum cyttsp4_ic_ebid { + CY_TCH_PARM_EBID = 0x00, + CY_MDATA_EBID = 0x01, + CY_DDATA_EBID = 0x02, +}; +#endif /* --CY_USE_TMA400 */ + +#ifdef CY_USE_TMA884 +enum cyttsp4_ic_ebid { + CY_TCH_PARM_EBID = 0x00, + CY_DDATA_EBID = 0x05, + CY_MDATA_EBID = 0x06, +}; +#endif /* --CY_USE_TMA884 */ + +enum cyttsp4_flags { + CY_FLAG_NONE = 0x00, + CY_FLAG_HOVER = 0x04, +#ifdef CY_USE_DEBUG_TOOLS + CY_FLAG_FLIP = 0x08, + CY_FLAG_INV_X = 0x10, + CY_FLAG_INV_Y = 0x20, +#endif /* --CY_USE_DEBUG_TOOLS */ +}; + +enum cyttsp4_event_id { + CY_EV_NO_EVENT = 0, + CY_EV_TOUCHDOWN = 1, + CY_EV_MOVE = 2, /* significant displacement (> act dist) */ + CY_EV_LIFTOFF = 3, /* record reports last position */ +}; + +enum cyttsp4_object_id { + CY_OBJ_STANDARD_FINGER = 0, + CY_OBJ_LARGE_OBJECT = 1, + CY_OBJ_STYLUS = 2, + CY_OBJ_HOVER = 3, +}; + +enum cyttsp4_test_cmd { + CY_TEST_CMD_NULL = 0, +}; + +/* test mode NULL command driver codes; D */ +enum cyttsp4_null_test_cmd_code { + CY_NULL_CMD_NULL = 0, + CY_NULL_CMD_MODE, + CY_NULL_CMD_STATUS_SIZE, + CY_NULL_CMD_HANDSHAKE, +}; + +enum cyttsp_test_mode { + CY_TEST_MODE_NORMAL_OP = 0, /* Send touch data to OS; normal op */ + CY_TEST_MODE_CAT, /* Configuration and Test */ + CY_TEST_MODE_CLOSED_UNIT, /* Send scan data to sysfs */ +}; + +struct cyttsp4_test_mode { + int cur_mode; + int cur_cmd; + size_t cur_status_size; +}; + +/* GEN4/SOLO Operational interface definitions */ +enum cyttsp4_tch_abs { /* for ordering within the extracted touch data array */ + CY_TCH_X = 0, /* X */ + CY_TCH_Y, /* Y */ + CY_TCH_P, /* P (Z) */ + CY_TCH_T, /* TOUCH ID */ + CY_TCH_E, /* EVENT ID */ + CY_TCH_O, /* OBJECT ID */ + CY_TCH_W, /* SIZE (SOLO - Corresponds to TOUCH_MAJOR) */ +#ifdef CY_USE_TMA400_SP2 +#ifdef CY_USE_TMA400 + CY_TCH_MAJ, /* TOUCH_MAJOR */ + CY_TCH_MIN, /* TOUCH_MINOR */ + CY_TCH_OR, /* ORIENTATION */ +#endif /* --CY_USE_TMA400 */ +#endif /* --CY_USE_TMA400_SP2 */ + CY_TCH_NUM_ABS +}; +static const char * const cyttsp4_tch_abs_string[] = { + /* Order must match enum cyttsp4_tch_descriptor above */ + "X", + "Y", + "P", + "T", + "E", + "O", + "W", +#ifdef CY_USE_TMA400_SP2 +#ifdef CY_USE_TMA400 + "MAJ", + "MIN", + "OR", +#endif /* --CY_USE_TMA400 */ +#endif /* --CY_USE_TMA400_SP2 */ + "INVALID" +}; + +#ifdef CY_USE_TMA400 +#ifdef CY_USE_TMA400_SP2 +#define CY_NUM_NEW_TCH_FIELDS 3 +#else +#define CY_NUM_NEW_TCH_FIELDS 0 +#endif /* --CY_USE_TMA400_SP2 */ +#endif /* --CY_USE_TMA400 */ + +#ifdef CY_USE_TMA884 +#define CY_NUM_NEW_TCH_FIELDS 0 +#endif /* --CY_USE_TMA884 */ + +#define CY_NUM_OLD_TCH_FIELDS (CY_TCH_NUM_ABS - CY_NUM_NEW_TCH_FIELDS) + +struct cyttsp4_touch { + int abs[CY_TCH_NUM_ABS]; +}; + +/* TTSP System Information interface definitions */ +struct cyttsp4_cydata { + u8 ttpidh; + u8 ttpidl; + u8 fw_ver_major; + u8 fw_ver_minor; + u8 revctrl[CY_NUM_REVCTRL]; + u8 blver_major; + u8 blver_minor; + u8 jtag_si_id3; + u8 jtag_si_id2; + u8 jtag_si_id1; + u8 jtag_si_id0; + u8 mfgid_sz; + u8 mfg_id[CY_NUM_MFGID]; + u8 cyito_idh; + u8 cyito_idl; + u8 cyito_verh; + u8 cyito_verl; + u8 ttsp_ver_major; + u8 ttsp_ver_minor; + u8 device_info; +} __packed; + +struct cyttsp4_test { + u8 post_codeh; + u8 post_codel; +} __packed; + +struct cyttsp4_pcfg { + u8 electrodes_x; + u8 electrodes_y; + u8 len_xh; + u8 len_xl; + u8 len_yh; + u8 len_yl; + u8 axis_xh; + u8 axis_xl; + u8 axis_yh; + u8 axis_yl; + u8 max_zh; + u8 max_zl; +} __packed; + +struct cyttsp4_tch_rec_params { + u8 loc; + u8 size; +} __packed; + +struct cyttsp4_opcfg { + u8 cmd_ofs; + u8 rep_ofs; + u8 rep_szh; + u8 rep_szl; + u8 num_btns; + u8 tt_stat_ofs; + u8 obj_cfg0; + u8 max_tchs; + u8 tch_rec_siz; + struct cyttsp4_tch_rec_params tch_rec_old[CY_NUM_OLD_TCH_FIELDS]; + u8 btn_rec_siz; /* btn record size (in bytes) */ + u8 btn_diff_ofs;/* btn data loc ,diff counts, (Op-Mode byte ofs) */ + u8 btn_diff_siz;/* btn size of diff counts (in bits) */ +#ifdef CY_USE_TMA400 + struct cyttsp4_tch_rec_params tch_rec_new[CY_NUM_NEW_TCH_FIELDS]; +#endif /* --CY_USE_TMA400 */ +} __packed; + +struct cyttsp4_sysinfo_data { + u8 hst_mode; + u8 reserved; + u8 map_szh; + u8 map_szl; + u8 cydata_ofsh; + u8 cydata_ofsl; + u8 test_ofsh; + u8 test_ofsl; + u8 pcfg_ofsh; + u8 pcfg_ofsl; + u8 opcfg_ofsh; + u8 opcfg_ofsl; + u8 ddata_ofsh; + u8 ddata_ofsl; + u8 mdata_ofsh; + u8 mdata_ofsl; +} __packed; + +struct cyttsp4_sysinfo_ptr { + struct cyttsp4_cydata *cydata; + struct cyttsp4_test *test; + struct cyttsp4_pcfg *pcfg; + struct cyttsp4_opcfg *opcfg; + struct cyttsp4_ddata *ddata; + struct cyttsp4_mdata *mdata; +} __packed; + +struct cyttsp4_tch_abs_params { + size_t ofs; /* abs byte offset */ + size_t size; /* size in bits */ + size_t max; /* max value */ + size_t bofs; /* bit offset */ +}; + +struct cyttsp4_sysinfo_ofs { + size_t cmd_ofs; + size_t rep_ofs; + size_t rep_sz; + size_t num_btns; + size_t num_btn_regs; /* ceil(num_btns/4) */ + size_t tt_stat_ofs; + size_t tch_rec_siz; + size_t obj_cfg0; + size_t max_tchs; + size_t mode_size; + size_t data_size; + size_t map_sz; + size_t cydata_ofs; + size_t test_ofs; + size_t pcfg_ofs; + size_t opcfg_ofs; + size_t ddata_ofs; + size_t mdata_ofs; + size_t cydata_size; + size_t test_size; + size_t pcfg_size; + size_t opcfg_size; + size_t ddata_size; + size_t mdata_size; + size_t btn_keys_size; + struct cyttsp4_tch_abs_params tch_abs[CY_TCH_NUM_ABS]; + size_t btn_rec_siz; /* btn record size (in bytes) */ + size_t btn_diff_ofs;/* btn data loc ,diff counts, (Op-Mode byte ofs) */ + size_t btn_diff_siz;/* btn size of diff counts (in bits) */ +}; + +/* button to keycode support */ +#define CY_NUM_BTN_PER_REG 4 +#define CY_NUM_BTN_EVENT_ID 4 +#define CY_BITS_PER_BTN 2 + +enum cyttsp4_btn_state { + CY_BTN_RELEASED = 0, + CY_BTN_PRESSED = 1, + CY_BTN_NUM_STATE +}; + +struct cyttsp4_btn { + bool enabled; + int state; /* CY_BTN_PRESSED, CY_BTN_RELEASED */ + int key_code; +}; + +#define FW_VERSION 0x0100 + +#define FACTORY_TESTING + +#ifdef FACTORY_TESTING +extern struct class *sec_class; +#define TSP_VENDOR "CYPRESS" +#define TSP_IC "GEN4" + +#define TSP_CMD_STR_LEN 32 +#define TSP_CMD_RESULT_STR_LEN 512 +#define TSP_CMD_PARAM_NUM 8 + +struct factory_data { + struct list_head cmd_list_head; + u8 cmd_state; + char cmd[TSP_CMD_STR_LEN]; + int cmd_param[TSP_CMD_PARAM_NUM]; + char cmd_result[TSP_CMD_RESULT_STR_LEN]; + char cmd_buff[TSP_CMD_RESULT_STR_LEN]; + struct mutex cmd_lock; + bool cmd_is_running; +}; + +struct node_data { + s16 *cm_delta_data; + s16 *cm_abs_data; + s16 *intensity_data; + s16 *reference_data; +}; + +#define TSP_CMD(name, func) .cmd_name = name, .cmd_func = func +#define TOSTRING(x) #x + +enum { /* this is using by cmd_state valiable. */ + WAITING = 0, + RUNNING, + OK, + FAIL, + NOT_APPLICABLE, +}; + +struct tsp_cmd { + struct list_head list; + const char *cmd_name; + void (*cmd_func)(void *device_data); +}; + +#endif + + +/* driver context structure definitions */ + +struct cyttsp4 { + struct device *dev; + int irq; + struct input_dev *input; + struct mutex data_lock; /* prevent concurrent accesses */ + struct workqueue_struct *cyttsp4_wq; + struct work_struct cyttsp4_resume_startup_work; + char phys[32]; + const struct bus_type *bus_type; + const struct touch_platform_data *platform_data; + u8 *xy_mode; /* operational mode and status regs */ + u8 *xy_data; /* operational touch regs */ + u8 *xy_data_touch1; /* includes 1-byte for tt_stat */ + u8 *btn_rec_data; /* button diff count data */ + struct cyttsp4_bus_ops *bus_ops; + struct cyttsp4_sysinfo_data sysinfo_data; + struct cyttsp4_sysinfo_ptr sysinfo_ptr; + struct cyttsp4_sysinfo_ofs si_ofs; + struct cyttsp4_btn *btn; + struct cyttsp4_test_mode test; + struct completion int_running; + struct completion si_int_running; + struct completion ready_int_running; + enum cyttsp4_driver_state driver_state; + enum cyttsp4_controller_mode current_mode; + bool irq_enabled; + bool powered; /* protect against multiple open */ + bool was_suspended; + bool switch_flag; + bool soft_reset_asserted; + u16 flags; + size_t max_config_bytes; + size_t ebid_row_size; + int num_prv_tch; +#ifdef CY_USE_TMA400 + bool starting_up; +#endif /* --CY_USE_TMA400 */ +#ifdef CONFIG_HAS_EARLYSUSPEND + struct early_suspend early_suspend; +#endif +#ifdef CY_USE_WATCHDOG + struct work_struct work; + struct timer_list timer; +#endif +#if defined(CY_USE_FORCE_LOAD) || defined(CONFIG_TOUCHSCREEN_DEBUG) + bool waiting_for_fw; + char *fwname; +#endif +#ifdef CY_USE_REG_ACCESS + size_t rw_regid; +#endif +#ifdef FACTORY_TESTING + struct factory_data *factory_data; + struct node_data *node_data; +#endif +#if TOUCH_BOOST + struct timer_list dvfs_timer; +#endif +}; + +#if defined(CY_AUTO_LOAD_FW) || \ + defined(CY_USE_FORCE_LOAD) || \ + defined(CONFIG_TOUCHSCREEN_DEBUG) +static int _cyttsp4_load_app(struct cyttsp4 *ts, const u8 *fw, int fw_size); +#endif /* CY_AUTO_LOAD_FW || CY_USE_FORCE_LOAD || CONFIG_TOUCHSCREEN_DEBUG */ +static int _cyttsp4_ldr_exit(struct cyttsp4 *ts); +static int _cyttsp4_startup(struct cyttsp4 *ts); +static int _cyttsp4_get_ic_crc(struct cyttsp4 *ts, + enum cyttsp4_ic_ebid ebid, u8 *crc_h, u8 *crc_l); +static irqreturn_t cyttsp4_irq(int irq, void *handle); +static int _cyttsp4_set_mode(struct cyttsp4 *ts, u8 new_mode); +#ifdef CY_USE_TMA884 +static int _cyttsp4_calc_data_crc(struct cyttsp4 *ts, + size_t ndata, u8 *pdata, u8 *crc_h, u8 *crc_l, const char *name); +#endif /* --CY_USE_TMA884 */ + +static void _cyttsp4_pr_state(struct cyttsp4 *ts) +{ + dev_info(ts->dev, + "%s: %s\n", __func__, + ts->driver_state < CY_INVALID_STATE ? + cyttsp4_driver_state_string[ts->driver_state] : + "INVALID"); +} + +static void _cyttsp4_pr_buf(struct cyttsp4 *ts, u8 *dptr, int size, + const char *data_name) +{ + return; +} + +static int _cyttsp4_read_block_data(struct cyttsp4 *ts, u16 command, + size_t length, void *buf, int i2c_addr, bool use_subaddr) +{ + int retval = 0; + int tries = 0; + + if ((buf == NULL) || (length == 0)) { + dev_err(ts->dev, + "%s: pointer or length error" + " buf=%p length=%d\n", __func__, buf, length); + retval = -EINVAL; + } else { + for (tries = 0, retval = -1; + tries < CY_NUM_RETRY && (retval < 0); + tries++) { + retval = ts->bus_ops->read(ts->bus_ops, command, + length, buf, i2c_addr, use_subaddr); + if (retval < 0) { + msleep(CY_DELAY_DFLT); + /* + * TODO: remove the extra sleep delay when + * the loader exit sequence is streamlined + */ + msleep(150); + } + } + + if (retval < 0) { + dev_err(ts->dev, + "%s: bus read block data fail (ret=%d)\n", + __func__, retval); + } + } + + return retval; +} + +static int _cyttsp4_write_block_data(struct cyttsp4 *ts, u16 command, + size_t length, const void *buf, int i2c_addr, bool use_subaddr) +{ + int retval = 0; + int tries = 0; + + if ((buf == NULL) || (length == 0)) { + dev_err(ts->dev, + "%s: pointer or length error" + " buf=%p length=%d\n", __func__, buf, length); + retval = -EINVAL; + } else { + for (tries = 0, retval = -1; + tries < CY_NUM_RETRY && (retval < 0); + tries++) { + retval = ts->bus_ops->write(ts->bus_ops, command, + length, buf, i2c_addr, use_subaddr); + if (retval < 0) + msleep(CY_DELAY_DFLT); + } + + if (retval < 0) { + dev_err(ts->dev, + "%s: bus write block data fail (ret=%d)\n", + __func__, retval); + } + } + + return retval; +} + +#ifdef CY_USE_TMA400 +static int _cyttsp4_wait_ready_int_no_init(struct cyttsp4 *ts, + unsigned long timeout_ms) +{ + unsigned long uretval; + int retval = 0; + + mutex_unlock(&ts->data_lock); + uretval = wait_for_completion_interruptible_timeout( + &ts->ready_int_running, msecs_to_jiffies(timeout_ms)); + mutex_lock(&ts->data_lock); + if (uretval == 0) { + dev_err(ts->dev, + "%s: timeout waiting for interrupt\n", + __func__); + retval = -ETIMEDOUT; + } + + return retval; +} +#endif /* --CY_USE_TMA400 */ + +static int _cyttsp4_wait_int_no_init(struct cyttsp4 *ts, + unsigned long timeout_ms) +{ + unsigned long uretval; + int retval = 0; + + mutex_unlock(&ts->data_lock); + uretval = wait_for_completion_interruptible_timeout( + &ts->int_running, msecs_to_jiffies(timeout_ms)); + mutex_lock(&ts->data_lock); + if (uretval == 0) { + dev_err(ts->dev, + "%s: timeout waiting for interrupt\n", + __func__); + retval = -ETIMEDOUT; + } + + return retval; +} + +static int _cyttsp4_wait_int(struct cyttsp4 *ts, unsigned long timeout_ms) +{ + int retval = 0; + + INIT_COMPLETION(ts->int_running); + retval = _cyttsp4_wait_int_no_init(ts, timeout_ms); + if (retval < 0) { + dev_err(ts->dev, + "%s: timeout waiting for interrupt\n", + __func__); + } + + return retval; +} + +static int _cyttsp4_wait_si_int(struct cyttsp4 *ts, unsigned long timeout_ms) +{ + unsigned long uretval; + int retval = 0; + + mutex_unlock(&ts->data_lock); + uretval = wait_for_completion_interruptible_timeout( + &ts->si_int_running, msecs_to_jiffies(timeout_ms)); + mutex_lock(&ts->data_lock); + if (uretval == 0) { + dev_err(ts->dev, + "%s: timeout waiting for bootloader interrupt\n", + __func__); + retval = -ETIMEDOUT; + } + + return retval; +} + +static void _cyttsp4_queue_startup(struct cyttsp4 *ts, bool was_suspended) +{ + ts->was_suspended = was_suspended; + queue_work(ts->cyttsp4_wq, + &ts->cyttsp4_resume_startup_work); + dev_info(ts->dev, + "%s: startup queued\n", __func__); +} + +#if defined(CY_AUTO_LOAD_TOUCH_PARAMS) || \ + defined(CY_AUTO_LOAD_DDATA) || defined(CY_AUTO_LOAD_MDATA) || \ + defined(CY_USE_DEV_DEBUG_TOOLS) || defined(CY_USE_TMA884) || \ + defined(FACTORY_TESTING) +static u16 _cyttsp4_calc_partial_crc(struct cyttsp4 *ts, + u8 *pdata, size_t ndata, u16 crc) +{ + int i = 0; + int j = 0; + + for (i = 0; i < ndata; i++) { + crc ^= ((u16)pdata[i] << 8); + + for (j = 8; j > 0; --j) { + if (crc & 0x8000) + crc = (crc << 1) ^ 0x1021; + else + crc = crc << 1; + } + } + + return crc; +} + +static void _cyttsp4_calc_crc(struct cyttsp4 *ts, + u8 *pdata, size_t ndata, u8 *crc_h, u8 *crc_l) +{ + u16 crc = 0; + + if (pdata == NULL) + dev_err(ts->dev, + "%s: Null data ptr\n", __func__); + else if (ndata == 0) + dev_err(ts->dev, + "%s: Num data is 0\n", __func__); + else { + /* Calculate CRC */ + crc = 0xFFFF; + crc = _cyttsp4_calc_partial_crc(ts, pdata, ndata, crc); + *crc_h = crc / 256; + *crc_l = crc % 256; + } +} +#endif /* --CY_AUTO_LOAD_TOUCH_PARAMS --CY_AUTO_LOAD_DDATA + --CY_AUTO_LOAD_MDATA --CY_USE_DEV_DEBUG_TOOLS --CY_USE_TMA884 */ + +static bool _cyttsp4_chk_cmd_rdy(struct cyttsp4 *ts, u8 cmd) +{ + bool cond = !!(cmd & CY_CMD_RDY_BIT); + dev_vdbg(ts->dev, + "%s: cmd=%02X cond=%d\n", __func__, cmd, (int)cond); + + return cond; +} + +static bool _cyttsp4_chk_mode_change(struct cyttsp4 *ts, u8 cmd) +{ + bool cond = !(cmd & CY_MODE_CHANGE); + dev_vdbg(ts->dev, + "%s: cmd=%02X cond=%d\n", __func__, cmd, (int)cond); + + return cond; +} + +static void _cyttsp4_change_state(struct cyttsp4 *ts, + enum cyttsp4_driver_state new_state) +{ + ts->driver_state = new_state; + _cyttsp4_pr_state(ts); +} + +static int _cyttsp4_put_cmd_wait(struct cyttsp4 *ts, u16 ofs, + size_t cmd_len, const void *cmd_buf, unsigned long timeout_ms, + bool (*cond)(struct cyttsp4 *, u8), u8 *retcmd, + int i2c_addr, bool use_subaddr) +{ + enum cyttsp4_driver_state tmp_state; + unsigned long uretval = 0; + u8 cmd = 0; + int tries = 0; + int retval = 0; + + /* unlock here to allow any pending irq to complete */ + tmp_state = ts->driver_state; + _cyttsp4_change_state(ts, CY_TRANSFER_STATE); + mutex_unlock(&ts->data_lock); + mutex_lock(&ts->data_lock); + _cyttsp4_change_state(ts, CY_CMD_STATE); + INIT_COMPLETION(ts->int_running); + mutex_unlock(&ts->data_lock); + retval = _cyttsp4_write_block_data(ts, ofs, cmd_len, + cmd_buf, i2c_addr, use_subaddr); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail writing cmd buf r=%d\n", + __func__, retval); + mutex_lock(&ts->data_lock); + goto _cyttsp4_put_cmd_wait_exit; + } +_cyttsp4_put_cmd_wait_retry: + uretval = wait_for_completion_interruptible_timeout( + &ts->int_running, msecs_to_jiffies(timeout_ms)); + mutex_lock(&ts->data_lock); + + retval = _cyttsp4_read_block_data(ts, ofs, + sizeof(cmd), &cmd, i2c_addr, use_subaddr); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail read cmd status r=%d\n", + __func__, retval); + } + if ((cond != NULL) && !cond(ts, cmd)) { + if (uretval == 0) { + dev_err(ts->dev, + "%s: timeout waiting for cmd ready\n", + __func__); + retval = -ETIMEDOUT; + } else { + if (tries++ < 2) { + INIT_COMPLETION(ts->int_running); + mutex_unlock(&ts->data_lock); + goto _cyttsp4_put_cmd_wait_retry; + } else { + dev_err(ts->dev, + "%s: cmd not ready error" + " cmd_stat=0x%02X\n", + __func__, cmd); + retval = -EIO; + } + } + } else { + /* got command ready */ + if (retcmd != NULL) + *retcmd = cmd; + retval = 0; + dev_vdbg(ts->dev, + "%s: got command ready; cmd=%02X retcmd=%p tries=%d\n", + __func__, cmd, retcmd, tries); + } + +_cyttsp4_put_cmd_wait_exit: + _cyttsp4_change_state(ts, tmp_state); + return retval; +} + +static int _cyttsp4_handshake(struct cyttsp4 *ts, u8 hst_mode) +{ + int retval = 0; + u8 cmd = 0; + + cmd = hst_mode & CY_HANDSHAKE_BIT ? + hst_mode & ~CY_HANDSHAKE_BIT : + hst_mode | CY_HANDSHAKE_BIT; + + retval = _cyttsp4_write_block_data(ts, CY_REG_BASE, + sizeof(cmd), (u8 *)&cmd, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + + if (retval < 0) { + dev_err(ts->dev, + "%s: bus write fail on handshake (ret=%d)\n", + __func__, retval); + } + + return retval; +} + +static int _cyttsp4_cmd_handshake(struct cyttsp4 *ts) +{ + u8 host_mode = 0; + int retval = 0; + + retval = _cyttsp4_read_block_data(ts, CY_REG_BASE, + sizeof(host_mode), &host_mode, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail read host mode r=%d\n", + __func__, retval); + } else { + retval = _cyttsp4_handshake(ts, host_mode); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail handshake r=%d\n", + __func__, retval); + } + } + + return retval; +} + +#ifdef CY_USE_TMA400 +#if defined(CY_AUTO_LOAD_TOUCH_PARAMS) || defined(CY_USE_DEV_DEBUG_TOOLS) +static void _cyttsp_read_table_crc(struct cyttsp4 *ts, const u8 *ptable, + u8 *crc_h, u8 *crc_l) +{ + size_t crc_loc = (ptable[3] * 256) + ptable[2]; + + *crc_l = ptable[crc_loc]; + *crc_h = ptable[crc_loc + 1]; +} +#endif + +/* Get EBID Row Size is a Config mode command */ +static int _cyttsp4_get_ebid_row_size(struct cyttsp4 *ts) +{ + int retval = 0; + u8 cmd = 0; + u8 cmd_dat[CY_NUM_DAT + 1]; /* +1 for cmd byte */ + + memset(cmd_dat, 0, sizeof(cmd_dat)); + cmd_dat[0] = CY_GET_EBID_ROW_SIZE; /* get EBID row size command */ + + retval = _cyttsp4_put_cmd_wait(ts, ts->si_ofs.cmd_ofs, + sizeof(cmd_dat), cmd_dat, CY_HALF_SEC_TMO_MS, + _cyttsp4_chk_cmd_rdy, &cmd, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail Get EBID row size command r=%d\n", + __func__, retval); + } else { + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.cmd_ofs, + sizeof(cmd_dat), cmd_dat, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail get EBID row size r=%d\n", + __func__, retval); + ts->ebid_row_size = CY_EBID_ROW_SIZE_DFLT; + dev_err(ts->dev, + "%s: Use default EBID row size=%d\n", + __func__, ts->ebid_row_size); + } else { + ts->ebid_row_size = (cmd_dat[1] * 256) + cmd_dat[2]; + retval = _cyttsp4_cmd_handshake(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Command handshake error r=%d\n", + __func__, retval); + /* continue anyway; rely on handshake tmo */ + retval = 0; + } + } + } + + return retval; +} + +static const u8 cyttsp4_security_key[] = { + 0xA5, 0x01, 0x02, 0x03, 0xFF, 0xFE, 0xFD, 0x5A +}; + +#if defined(CY_AUTO_LOAD_TOUCH_PARAMS) || \ + defined(CY_AUTO_LOAD_DDATA) || defined(CY_AUTO_LOAD_MDATA) || \ + defined(CY_USE_DEV_DEBUG_TOOLS) || defined(FACTORY_TESTING) +/* Get EBID Row Data is a Config mode command */ +static int _cyttsp4_get_ebid_data_tma400(struct cyttsp4 *ts, + enum cyttsp4_ic_ebid ebid, size_t row_id, u8 *pdata) +{ + int rc = 0; + int retval = 0; + u8 crc_h = 0; + u8 crc_l = 0; + u8 cmd = 0; + u8 status = 0; + u8 cmd_dat[CY_NUM_DAT + 1]; /* +1 for cmd byte */ + + memset(cmd_dat, 0, sizeof(cmd_dat)); + cmd_dat[0] = CY_READ_EBID_DATA; /* get EBID data command */ + cmd_dat[1] = row_id / 256; + cmd_dat[2] = row_id % 256; + cmd_dat[3] = ts->ebid_row_size / 256; + cmd_dat[4] = ts->ebid_row_size % 256; + cmd_dat[5] = ebid; + + if (pdata == NULL) { + dev_err(ts->dev, + "%s: Get EBID=%d row=%d Data buffer err ptr=%p\n", + __func__, ebid, row_id, pdata); + goto _cyttsp4_get_ebid_data_tma400_exit; + } + + retval = _cyttsp4_put_cmd_wait(ts, ts->si_ofs.cmd_ofs, + sizeof(cmd_dat), cmd_dat, CY_HALF_SEC_TMO_MS, + _cyttsp4_chk_cmd_rdy, &cmd, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail Get EBID=%d row=%d Data cmd r=%d\n", + __func__, ebid, row_id, retval); + goto _cyttsp4_get_ebid_data_tma400_exit; + } + + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.cmd_ofs + 1, + sizeof(status), &status, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail get EBID=%d row=%d status r=%d\n", + __func__, ebid, row_id, retval); + goto _cyttsp4_get_ebid_data_tma400_exit; + } + + if (status != 0x00) { + dev_err(ts->dev, + "%s: Get EBID=%d row=%d status=%d error\n", + __func__, ebid, row_id, status); + retval = -EIO; + goto _cyttsp4_get_ebid_data_tma400_exit; + } + + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.cmd_ofs + 1 + 5, + ts->ebid_row_size + 2, pdata, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail EBID=%d row=%d data r=%d\n", + __func__, ebid, row_id, retval); + retval = -EIO; + } else { + _cyttsp4_calc_crc(ts, pdata, ts->ebid_row_size, &crc_h, &crc_l); + if (pdata[ts->ebid_row_size] != crc_h || + pdata[ts->ebid_row_size + 1] != crc_l) { + dev_err(ts->dev, + "%s: EBID=%d row_id=%d row_data_crc=%02X%02X" + " not equal to calc_crc=%02X%02X\n", + __func__, ebid, row_id, + pdata[ts->ebid_row_size], + pdata[ts->ebid_row_size + 1], + crc_h, crc_l); + /* continue anyway; allow handshake */ + rc = -EIO; + } + retval = _cyttsp4_cmd_handshake(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Command handshake error r=%d\n", + __func__, retval); + /* continue anyway; rely on handshake tmo */ + retval = 0; + } + retval = rc; + } + +_cyttsp4_get_ebid_data_tma400_exit: + return retval; +} + +/* Put EBID Row Data is a Config mode command */ +static int _cyttsp4_put_ebid_data_tma400(struct cyttsp4 *ts, + enum cyttsp4_ic_ebid ebid, size_t row_id, u8 *out_data) +{ + u8 calc_crc[2]; + u8 *pdata = NULL; + u8 ret_cmd = 0; + size_t psize = 0; + u8 status = 0; + int retval = 0; + + memset(calc_crc, 0, sizeof(calc_crc)); + psize = 1 + 5 + ts->ebid_row_size + sizeof(cyttsp4_security_key) + 2; + pdata = kzalloc(psize, GFP_KERNEL); + if (pdata == NULL || out_data == NULL) { + dev_err(ts->dev, + "%s: Buffer ptr err EBID=%d row=%d" + " alloc_ptr=%p out_data=%p\n", + __func__, ebid, row_id, pdata, out_data); + retval = -EINVAL; + } else { + pdata[0] = CY_WRITE_EBID_DATA; /* put ebid data command */ + pdata[1] = row_id / 256; + pdata[2] = row_id % 256; + pdata[3] = ts->ebid_row_size / 256; + pdata[4] = ts->ebid_row_size % 256; + pdata[5] = ebid; + memcpy(&pdata[1 + 5], out_data, ts->ebid_row_size); + memcpy(&pdata[1 + 5 + ts->ebid_row_size], + cyttsp4_security_key, sizeof(cyttsp4_security_key)); + _cyttsp4_calc_crc(ts, &pdata[1 + 5], ts->ebid_row_size, + &calc_crc[0], &calc_crc[1]); + memcpy(&pdata[1 + 5 + ts->ebid_row_size + + sizeof(cyttsp4_security_key)], + calc_crc, sizeof(calc_crc)); + + retval = _cyttsp4_put_cmd_wait(ts, ts->si_ofs.cmd_ofs, + psize, pdata, CY_HALF_SEC_TMO_MS, + _cyttsp4_chk_cmd_rdy, &ret_cmd, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail Put EBID=%d row=%d Data cmd r=%d\n", + __func__, ebid, row_id, retval); + goto _cyttsp4_put_ebid_data_tma400_exit; + } + + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.cmd_ofs + 1, + sizeof(status), &status, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail put EBID=%d row=%d" + " read status r=%d\n", + __func__, ebid, row_id, retval); + goto _cyttsp4_put_ebid_data_tma400_exit; + } + + retval = _cyttsp4_cmd_handshake(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail handshake on Put EBID=%d row=%d" + " r=%d\n", __func__, ebid, row_id, retval); + /* continue; rely on handshake tmo */ + retval = 0; + } + + if (status != 0x00) { + dev_err(ts->dev, + "%s: Put EBID=%d row=%d status=%d error\n", + __func__, ebid, row_id, status); + retval = -EIO; + } else + retval = 0; + } +_cyttsp4_put_ebid_data_tma400_exit: + if (pdata != NULL) + kfree(pdata); + return retval; +} +#endif /* --CY_AUTO_LOAD_TOUCH_PARAMS --CY_AUTO_LOAD_DDATA + --CY_AUTO_LOAD_MDATA --CY_USE_DEV_DEBUG_TOOLS */ + +#if defined(CY_AUTO_LOAD_TOUCH_PARAMS) || defined(CY_USE_DEV_DEBUG_TOOLS) +/* Put All Touch Params is a Config mode command */ +static int _cyttsp4_put_all_params_tma400(struct cyttsp4 *ts) +{ + enum cyttsp4_ic_ebid ebid = CY_TCH_PARM_EBID; + size_t row_id = 0; + size_t num_rows = 0; + size_t table_size = 0; + size_t residue = 0; + u8 *pdata = NULL; + u8 *ptable = NULL; + int retval = 0; + + pdata = kzalloc(ts->ebid_row_size, GFP_KERNEL); + if (pdata == NULL) { + dev_err(ts->dev, + "%s: Alloc error ebid=%d\n", + __func__, ebid); + retval = -ENOMEM; + } else if (ts->platform_data->sett[CY_IC_GRPNUM_TCH_PARM_VAL] == NULL) + dev_err(ts->dev, + "%s: NULL param values table\n", __func__); + else if (ts->platform_data->sett[CY_IC_GRPNUM_TCH_PARM_VAL] + ->data == NULL) + dev_err(ts->dev, + "%s: NULL param values table data\n", __func__); + else if (ts->platform_data->sett[CY_IC_GRPNUM_TCH_PARM_VAL]->size == 0) + dev_err(ts->dev, + "%s: param values table size is 0\n", __func__); + else { + ptable = (u8 *)ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL]->data; + table_size = ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL]->size; + num_rows = table_size / ts->ebid_row_size; + dev_vdbg(ts->dev, + "%s: num_rows=%d row_size=%d" + " table_size=%d\n", __func__, + num_rows, ts->ebid_row_size, table_size); + for (row_id = 0; row_id < num_rows;) { + memcpy(pdata, ptable, ts->ebid_row_size); + dev_vdbg(ts->dev, + "%s: row=%d pdata=%p\n", + __func__, row_id, pdata); + _cyttsp4_pr_buf(ts, pdata, ts->ebid_row_size, + "ebid_data"); + retval = _cyttsp4_put_ebid_data_tma400(ts, + ebid, row_id, pdata); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail put row=%d r=%d\n", + __func__, row_id, retval); + break; + } else { + ptable += ts->ebid_row_size; + row_id++; + } + } + if (!(retval < 0)) { + residue = table_size % ts->ebid_row_size; + if (residue) { + memset(pdata, 0, ts->ebid_row_size); + memcpy(pdata, ptable, residue); + dev_vdbg(ts->dev, + "%s: ebid=%d row=%d data:\n", + __func__, ebid, row_id); + _cyttsp4_pr_buf(ts, pdata, ts->ebid_row_size, + "ebid_data"); + retval = _cyttsp4_put_ebid_data_tma400(ts, + ebid, row_id, pdata); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail put row=%d r=%d\n", + __func__, row_id, retval); + } + } + } + } + + if (pdata != NULL) + kfree(pdata); + + return retval; +} +#endif /* --CY_AUTO_LOAD_TOUCH_PARAMS */ + +/* Check MDDATA is a Config mode command */ +static int _cyttsp4_check_mddata_tma400(struct cyttsp4 *ts, bool *updated) +{ + bool ddata_updated = false; + bool mdata_updated = false; +#if defined(CY_AUTO_LOAD_DDATA) || defined(CY_AUTO_LOAD_MDATA) + enum cyttsp4_ic_ebid ebid = CY_DDATA_EBID; + size_t num_data = 0; + size_t crc_ofs = 0; + u8 crc_h = 0; + u8 crc_l = 0; +#endif + u8 *pdata = NULL; + u8 *pmddata = NULL; + int retval = 0; + + if (ts->ebid_row_size == 0) { + dev_err(ts->dev, + "%s: fail allocate set MDDATA buffer\n", __func__); + retval = -EINVAL; + goto _cyttsp4_check_mddata_tma400_exit; + } + pdata = kzalloc(ts->ebid_row_size, GFP_KERNEL); + if (pdata == NULL) { + dev_err(ts->dev, + "%s: fail allocate set MDDATA buffer\n", __func__); + retval = -ENOMEM; + goto _cyttsp4_check_mddata_tma400_exit; + } + pmddata = kzalloc(ts->ebid_row_size, GFP_KERNEL); + if (pmddata == NULL) { + dev_err(ts->dev, + "%s: fail allocate set MDDATA buffer\n", __func__); + retval = -ENOMEM; + goto _cyttsp4_check_mddata_tma400_exit; + } + +#ifdef CY_AUTO_LOAD_DDATA + /* check for platform_data DDATA */ + ebid = CY_DDATA_EBID; + if (ts->platform_data->sett[CY_IC_GRPNUM_DDATA_REC] == NULL) { + dev_vdbg(ts->dev, + "%s: No platform DDATA table\n", __func__); + goto _cyttsp4_check_mdata_block; + } + if (ts->platform_data->sett[CY_IC_GRPNUM_DDATA_REC]->data == NULL) { + dev_vdbg(ts->dev, + "%s: No platform DDATA table data\n", __func__); + goto _cyttsp4_check_mdata_block; + } + if (ts->platform_data->sett[CY_IC_GRPNUM_DDATA_REC]->size == 0) { + dev_vdbg(ts->dev, + "%s: Platform DDATA table has size=0\n", __func__); + goto _cyttsp4_check_mdata_block; + } + + dev_vdbg(ts->dev, + "%s: call get ebid data for DDATA\n", __func__); + retval = _cyttsp4_get_ebid_data_tma400(ts, ebid, 0, pdata); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail get DDATA r=%d\n", __func__, retval); + goto _cyttsp4_check_mdata_block; + } + + dev_vdbg(ts->dev, + "%s: copy pdata -> pmddata\n", __func__); + memcpy(pmddata, pdata, 4); + num_data = ts->platform_data->sett + [CY_IC_GRPNUM_DDATA_REC]->size < CY_NUM_DDATA ? + ts->platform_data->sett + [CY_IC_GRPNUM_DDATA_REC]->size : CY_NUM_DDATA; + dev_vdbg(ts->dev, + "%s: copy %d bytes from platform data to ddata array\n", + __func__, num_data); + memcpy(&pmddata[4], ts->platform_data->sett + [CY_IC_GRPNUM_DDATA_REC]->data, num_data); + if (num_data < CY_NUM_DDATA) + memset(&pmddata[4 + num_data], 0, CY_NUM_DDATA - num_data); + crc_ofs = (pmddata[3] * 256) + pmddata[2]; + if (crc_ofs == 0) + crc_ofs = 126; + dev_vdbg(ts->dev, + "%s: ddata crc_ofs=%d num_data=%d\n", + __func__, crc_ofs, num_data); + + _cyttsp4_calc_crc(ts, pmddata, crc_ofs, &crc_h, &crc_l); + pmddata[crc_ofs] = crc_l; + pmddata[crc_ofs+1] = crc_h; + _cyttsp4_pr_buf(ts, pdata, ts->ebid_row_size, "pdata"); + _cyttsp4_pr_buf(ts, pmddata, ts->ebid_row_size, "pmddata"); + if (pmddata[crc_ofs] != pdata[crc_ofs] || + pmddata[crc_ofs+1] != pdata[crc_ofs+1]) { + retval = _cyttsp4_put_ebid_data_tma400(ts, ebid, 0, pmddata); + if (retval < 0) + dev_err(ts->dev, + "%s: Fail put DDATA r=%d\n", __func__, retval); + else + ddata_updated = true; + } + +_cyttsp4_check_mdata_block: +#else + ddata_updated = false; +#endif /* --CY_AUTO_LOAD_DDATA */ + +#ifdef CY_AUTO_LOAD_MDATA + /* check for platform_data MDATA */ + memset(pdata, 0, ts->ebid_row_size); + memset(pmddata, 0, ts->ebid_row_size); + ebid = CY_MDATA_EBID; + if (ts->platform_data->sett[CY_IC_GRPNUM_MDATA_REC] == NULL) { + dev_vdbg(ts->dev, + "%s: No platform MDATA table\n", __func__); + goto _cyttsp4_check_mddata_tma400_exit; + } + if (ts->platform_data->sett[CY_IC_GRPNUM_MDATA_REC]->data == NULL) { + dev_vdbg(ts->dev, + "%s: No platform MDATA table data\n", __func__); + goto _cyttsp4_check_mddata_tma400_exit; + } + if (ts->platform_data->sett[CY_IC_GRPNUM_MDATA_REC]->size == 0) { + dev_vdbg(ts->dev, + "%s: Platform MDATA table has size=0\n", __func__); + goto _cyttsp4_check_mddata_tma400_exit; + } + + retval = _cyttsp4_get_ebid_data_tma400(ts, ebid, 0, pdata); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail get MDATA r=%d\n", __func__, retval); + goto _cyttsp4_check_mddata_tma400_exit; + } + + memcpy(pmddata, pdata, 4); + num_data = ts->platform_data->sett + [CY_IC_GRPNUM_MDATA_REC]->size < CY_NUM_MDATA ? + ts->platform_data->sett + [CY_IC_GRPNUM_MDATA_REC]->size : CY_NUM_MDATA; + dev_vdbg(ts->dev, + "%s: copy %d bytes from platform data to mdata array\n", + __func__, num_data); + memcpy(&pmddata[4], ts->platform_data->sett + [CY_IC_GRPNUM_MDATA_REC]->data, num_data); + if (num_data < CY_NUM_MDATA) + memset(&pmddata[4 + num_data], 0, CY_NUM_MDATA - num_data); + crc_ofs = (pmddata[3] * 256) + pmddata[2]; + if (crc_ofs == 0) + crc_ofs = 124; + dev_vdbg(ts->dev, + "%s: mdata crc_ofs=%d num_data=%d\n", + __func__, crc_ofs, num_data); + _cyttsp4_calc_crc(ts, pmddata, crc_ofs, &crc_h, &crc_l); + pmddata[crc_ofs] = crc_l; + pmddata[crc_ofs+1] = crc_h; + _cyttsp4_pr_buf(ts, pdata, ts->ebid_row_size, "pdata"); + _cyttsp4_pr_buf(ts, pmddata, ts->ebid_row_size, "pmddata"); + if (pmddata[crc_ofs] != pdata[crc_ofs] || + pmddata[crc_ofs+1] != pdata[crc_ofs+1]) { + retval = _cyttsp4_put_ebid_data_tma400(ts, ebid, 0, pmddata); + if (retval < 0) + dev_err(ts->dev, + "%s: Fail put MDATA r=%d\n", __func__, retval); + else + mdata_updated = true; + } +#else + mdata_updated = false; +#endif /* --CY_AUTO_LOAD_MDATA */ + +_cyttsp4_check_mddata_tma400_exit: + if (pdata != NULL) + kfree(pdata); + if (pmddata != NULL) + kfree(pmddata); + if (updated != NULL) + *updated = ddata_updated || mdata_updated; + return retval; +} +#endif /* --CY_USE_TMA400 */ + +#ifdef CY_USE_TMA884 +static int _cyttsp4_handshake_enable(struct cyttsp4 *ts) +{ + int retval = 0; + u8 cmd_dat[CY_NUM_DAT + 1]; /* +1 for cmd byte */ + + memset(cmd_dat, 0, sizeof(cmd_dat)); + cmd_dat[0] = 0x26; /* handshake enable operational cmd */ + cmd_dat[1] = 0x03; /* synchronous level handshake */ + retval = _cyttsp4_put_cmd_wait(ts, ts->si_ofs.cmd_ofs, + sizeof(cmd_dat), cmd_dat, CY_HALF_SEC_TMO_MS, + _cyttsp4_chk_cmd_rdy, NULL, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail Enable Handshake command r=%d\n", + __func__, retval); + goto _cyttsp4_set_handshake_enable_exit; + } + + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.cmd_ofs, + sizeof(cmd_dat), cmd_dat, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail read Enable Hanshake command status" + "r=%d\n", __func__, retval); + goto _cyttsp4_set_handshake_enable_exit; + } + + if (cmd_dat[6] != cmd_dat[1]) { + dev_err(ts->dev, + "%s: Fail enable handshake in device\n", + __func__); + /* return no error and let driver handshake anyway */ + } + + dev_vdbg(ts->dev, + "%s: check cmd ready r=%d" + " cmd[]=%02X %02X %02X %02X %02X %02X %02X\n", + __func__, retval, + cmd_dat[0], cmd_dat[1], cmd_dat[2], cmd_dat[3], + cmd_dat[4], cmd_dat[5], cmd_dat[6]); + +_cyttsp4_set_handshake_enable_exit: + return retval; +} +#endif /* --CY_USE_TMA884 */ + +/* + * change device mode - For example, change from + * system information mode to operating mode + */ +static int _cyttsp4_set_device_mode(struct cyttsp4 *ts, + u8 new_mode, u8 new_cur_mode, char *mode) +{ + u8 cmd = 0; + int retval = 0; + + cmd = new_mode + CY_MODE_CHANGE; + + retval = _cyttsp4_put_cmd_wait(ts, CY_REG_BASE, + sizeof(cmd), &cmd, CY_HALF_SEC_TMO_MS, + _cyttsp4_chk_mode_change, &cmd, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail Set mode command new_mode=%02X r=%d\n", + __func__, new_mode, retval); + goto _cyttsp4_set_device_mode_exit; + } + + if (cmd != new_mode) { + dev_err(ts->dev, + "%s: failed to switch to %s mode\n", __func__, mode); + retval = -EIO; + } else { + ts->current_mode = new_cur_mode; + retval = _cyttsp4_handshake(ts, cmd); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail handshake r=%d\n", __func__, retval); + /* continue; rely on handshake tmo */ + retval = 0; + } + } + + dev_dbg(ts->dev, + "%s: check op ready ret=%d host_mode=%02X\n", + __func__, retval, cmd); + +_cyttsp4_set_device_mode_exit: + return retval; +} + +static int _cyttsp4_set_mode(struct cyttsp4 *ts, u8 new_mode) +{ + enum cyttsp4_driver_state new_state = CY_TRANSFER_STATE; + u8 new_cur_mode = CY_MODE_OPERATIONAL; + char *mode = NULL; +#ifdef CY_USE_TMA400 + unsigned long uretval = 0; +#endif /* --CY_USE_TMA400 */ + int retval = 0; + + switch (new_mode) { + case CY_OPERATE_MODE: + new_cur_mode = CY_MODE_OPERATIONAL; + mode = "operational"; + INIT_COMPLETION(ts->ready_int_running); + _cyttsp4_change_state(ts, CY_READY_STATE); + new_state = CY_ACTIVE_STATE; + break; + case CY_SYSINFO_MODE: + new_cur_mode = CY_MODE_SYSINFO; + mode = "sysinfo"; + new_state = CY_SYSINFO_STATE; + break; + case CY_CONFIG_MODE: + new_cur_mode = CY_MODE_OPERATIONAL; + mode = "config"; + new_state = ts->driver_state; + + break; + default: + dev_err(ts->dev, + "%s: invalid mode change request m=0x%02X\n", + __func__, new_mode); + retval = -EINVAL; + goto _cyttsp_set_mode_exit; + } + + retval = _cyttsp4_set_device_mode(ts, + new_mode, new_cur_mode, mode); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail switch to %s mode\n", __func__, mode); + _cyttsp4_change_state(ts, CY_IDLE_STATE); + } else { +#ifdef CY_USE_TMA400 + if ((new_mode == CY_OPERATE_MODE) && ts->starting_up) { + uretval = _cyttsp4_wait_ready_int_no_init(ts, + CY_HALF_SEC_TMO_MS * 5); + } +#endif /* --CY_USE_TMA400 */ + _cyttsp4_change_state(ts, new_state); + } + +_cyttsp_set_mode_exit: + return retval; +} + +#ifdef CY_USE_TMA884 +static int _cyttsp4_write_config_block(struct cyttsp4 *ts, u8 blockid, + const u8 *pdata, size_t ndata, u8 crc_h, u8 crc_l, const char *name) +{ + uint8_t *buf = NULL; + size_t buf_size = 0; + u8 status = 0; + int retval = 0; + + /* pre-amble (10) + data (122) + crc (2) + key (8) */ + buf_size = sizeof(uint8_t) * 142; + buf = kzalloc(buf_size, GFP_KERNEL); + if (buf == NULL) { + dev_err(ts->dev, + "%s: Failed to allocate buffer for %s\n", + __func__, name); + retval = -ENOMEM; + goto _cyttsp4_write_config_block_exit; + } + + if (pdata == NULL) { + dev_err(ts->dev, + "%s: bad data pointer\n", __func__); + retval = -ENXIO; + goto _cyttsp4_write_config_block_exit; + } + + if (ndata > 122) { + dev_err(ts->dev, + "%s: %s is too large n=%d size=%d\n", + __func__, name, ndata, 122); + retval = -EOVERFLOW; + goto _cyttsp4_write_config_block_exit; + } + + /* Set command bytes */ + buf[0] = 0x04; /* cmd */ + buf[1] = 0x00; /* row offset high */ + buf[2] = 0x00; /* row offset low */ + buf[3] = 0x00; /* write block length high */ + buf[4] = 0x80; /* write block length low */ + buf[5] = blockid; /* write block id */ + buf[6] = 0x00; /* num of config bytes + 4 high */ + buf[7] = 0x7E; /* num of config bytes + 4 low */ + buf[8] = 0x00; /* max block size w/o crc high */ + buf[9] = 0x7E; /* max block size w/o crc low */ + + /* Copy platform data */ + memcpy(&(buf[10]), pdata, ndata); + + /* Copy block CRC */ + buf[132] = crc_h; + buf[133] = crc_l; + + /* Set key bytes */ + buf[134] = 0x45; + buf[135] = 0x63; + buf[136] = 0x36; + buf[137] = 0x6F; + buf[138] = 0x34; + buf[139] = 0x38; + buf[140] = 0x73; + buf[141] = 0x77; + + /* Write config block */ + _cyttsp4_pr_buf(ts, buf, buf_size, name); + + retval = _cyttsp4_write_block_data(ts, ts->si_ofs.cmd_ofs + 1, + 141, &(buf[1]), + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Failed to write config %s r=%d\n", + __func__, name, retval); + goto _cyttsp4_write_config_block_exit; + } + + retval = _cyttsp4_put_cmd_wait(ts, ts->si_ofs.cmd_ofs, + 1, &(buf[0]), CY_TEN_SEC_TMO_MS, + _cyttsp4_chk_cmd_rdy, NULL, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail write config command r=%d\n", + __func__, retval); + goto _cyttsp4_write_config_block_exit; + } + + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.cmd_ofs + 1, + sizeof(status), &status, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail read status r=%d\n", + __func__, retval); + goto _cyttsp4_write_config_block_exit; + } + + if (status != 0x00) { + dev_err(ts->dev, + "%s: Write config status=%d error\n", + __func__, status); + goto _cyttsp4_write_config_block_exit; + } + +_cyttsp4_write_config_block_exit: + kfree(buf); + return retval; +} +#endif /* --CY_USE_TMA884 */ + + +#ifdef CY_USE_TMA884 +#ifdef CY_AUTO_LOAD_TOUCH_PARAMS +static int _cyttsp4_set_op_params(struct cyttsp4 *ts, u8 crc_h, u8 crc_l) +{ + int retval = 0; + + if (ts->platform_data->sett[CY_IC_GRPNUM_TCH_PARM_VAL] == NULL) { + dev_err(ts->dev, + "%s: Missing Platform Touch Parameter" + " values table\n", __func__); + retval = -ENXIO; + goto _cyttsp4_set_op_params_exit; + } + + if ((ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL]->data == NULL) || + (ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL]->size == 0)) { + dev_err(ts->dev, + "%s: Missing Platform Touch Parameter" + " values table data\n", __func__); + retval = -ENXIO; + goto _cyttsp4_set_op_params_exit; + } + + /* Change to Config Mode */ + retval = _cyttsp4_set_mode(ts, CY_CONFIG_MODE); + if (retval < 0) { + dev_err(ts->dev, + "%s: Failed to switch to config mode" + " for touch params\n", __func__); + goto _cyttsp4_set_op_params_exit; + } + retval = _cyttsp4_write_config_block(ts, CY_TCH_PARM_EBID, + ts->platform_data->sett[CY_IC_GRPNUM_TCH_PARM_VAL]->data, + ts->platform_data->sett[CY_IC_GRPNUM_TCH_PARM_VAL]->size, + crc_h, crc_l, "platform_touch_param_data"); + +_cyttsp4_set_op_params_exit: + return retval; +} +#endif /* --CY_AUTO_LOAD_TOUCH_PARAMS */ + +static int _cyttsp4_set_data_block(struct cyttsp4 *ts, u8 blkid, u8 *pdata, + size_t ndata, const char *name, bool force, bool *data_updated) +{ + u8 data_crc[2]; + u8 ic_crc[2]; + int retval = 0; + + memset(data_crc, 0, sizeof(data_crc)); + memset(ic_crc, 0, sizeof(ic_crc)); + *data_updated = false; + + _cyttsp4_pr_buf(ts, pdata, ndata, name); + + dev_vdbg(ts->dev, + "%s: calc %s crc\n", __func__, name); + retval = _cyttsp4_calc_data_crc(ts, ndata, pdata, + &data_crc[0], &data_crc[1], + name); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail calc crc for %s (0x%02X%02X) r=%d\n", + __func__, name, + data_crc[0], data_crc[1], + retval); + goto _cyttsp_set_data_block_exit; + } + + dev_vdbg(ts->dev, + "%s: get ic %s crc\n", __func__, name); + retval = _cyttsp4_set_mode(ts, CY_OPERATE_MODE); + if (retval < 0) { + dev_err(ts->dev, + "%s: Failed to switch to operational mode\n", __func__); + goto _cyttsp_set_data_block_exit; + } + retval = _cyttsp4_get_ic_crc(ts, blkid, + &ic_crc[0], &ic_crc[1]); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail get ic crc for %s (0x%02X%02X) r=%d\n", + __func__, name, + ic_crc[0], ic_crc[1], + retval); + goto _cyttsp_set_data_block_exit; + } + + dev_vdbg(ts->dev, + "%s: %s calc_crc=0x%02X%02X ic_crc=0x%02X%02X\n", + __func__, name, + data_crc[0], data_crc[1], + ic_crc[0], ic_crc[1]); + if ((data_crc[0] != ic_crc[0]) || (data_crc[1] != ic_crc[1]) || force) { + /* Change to Config Mode */ + retval = _cyttsp4_set_mode(ts, CY_CONFIG_MODE); + if (retval < 0) { + dev_err(ts->dev, + "%s: Failed to switch to config mode" + " for sysinfo regs\n", __func__); + goto _cyttsp_set_data_block_exit; + } + retval = _cyttsp4_write_config_block(ts, blkid, pdata, + ndata, data_crc[0], data_crc[1], name); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail write %s config block r=%d\n", + __func__, name, retval); + goto _cyttsp_set_data_block_exit; + } + + dev_vdbg(ts->dev, + "%s: write %s config block ok\n", __func__, name); + *data_updated = true; + } + +_cyttsp_set_data_block_exit: + return retval; +} + +static int _cyttsp4_set_sysinfo_regs(struct cyttsp4 *ts, bool *updated) +{ + bool ddata_updated = false; + bool mdata_updated = false; +#if defined(CY_AUTO_LOAD_DDATA) || defined(CY_AUTO_LOAD_MDATA) + size_t num_data = 0; +#endif /* --CY_AUTO_LOAD_DDATA || --CY_AUTO_LOAD_DDATA */ + u8 *pdata = NULL; + int retval = 0; + + pdata = kzalloc(CY_NUM_MDATA, GFP_KERNEL); + if (pdata == NULL) { + dev_err(ts->dev, + "%s: fail allocate set sysinfo regs buffer\n", + __func__); + retval = -ENOMEM; + goto _cyttsp4_set_sysinfo_regs_err; + } + +#ifdef CY_AUTO_LOAD_DDATA + /* check for missing DDATA */ + if (ts->platform_data->sett[CY_IC_GRPNUM_DDATA_REC] == NULL) { + dev_vdbg(ts->dev, + "%s: No platform_ddata table\n", __func__); + dev_vdbg(ts->dev, + "%s: Use a zero filled array to compare with device\n", + __func__); + goto _cyttsp4_set_sysinfo_regs_set_ddata_block; + } + if ((ts->platform_data->sett[CY_IC_GRPNUM_DDATA_REC]->data == NULL) || + (ts->platform_data->sett[CY_IC_GRPNUM_DDATA_REC]->size == 0)) { + dev_vdbg(ts->dev, + "%s: No platform_ddata table data\n", __func__); + dev_vdbg(ts->dev, + "%s: Use a zero filled array to compare with device\n", + __func__); + goto _cyttsp4_set_sysinfo_regs_set_ddata_block; + } + + /* copy platform data design data to the device eeprom */ + num_data = ts->platform_data->sett + [CY_IC_GRPNUM_DDATA_REC]->size < CY_NUM_DDATA ? + ts->platform_data->sett + [CY_IC_GRPNUM_DDATA_REC]->size : CY_NUM_DDATA; + dev_vdbg(ts->dev, + "%s: copy %d bytes from platform data to ddata array\n", + __func__, num_data); + memcpy(pdata, ts->platform_data->sett[CY_IC_GRPNUM_DDATA_REC]->data, + num_data); + +_cyttsp4_set_sysinfo_regs_set_ddata_block: + /* set data block will check CRC match/nomatch */ + retval = _cyttsp4_set_data_block(ts, CY_DDATA_EBID, pdata, + CY_NUM_DDATA, "platform_ddata", false, &ddata_updated); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail while writing platform_ddata" + " block to ic r=%d\n", __func__, retval); + } +#else + ddata_updated = false; +#endif /* --CY_AUTO_LOAD_DDATA */ + +#ifdef CY_AUTO_LOAD_MDATA + /* check for missing MDATA */ + if (ts->platform_data->sett[CY_IC_GRPNUM_MDATA_REC] == NULL) { + dev_vdbg(ts->dev, + "%s: No platform_mdata table\n", __func__); + dev_vdbg(ts->dev, + "%s: Use a zero filled array to compare with device\n", + __func__); + goto _cyttsp4_set_sysinfo_regs_set_mdata_block; + } + if ((ts->platform_data->sett[CY_IC_GRPNUM_MDATA_REC]->data == NULL) || + (ts->platform_data->sett[CY_IC_GRPNUM_MDATA_REC]->size == 0)) { + dev_vdbg(ts->dev, + "%s: No platform_mdata table data\n", __func__); + dev_vdbg(ts->dev, + "%s: Use a zero filled array to compare with device\n", + __func__); + goto _cyttsp4_set_sysinfo_regs_set_mdata_block; + } + + /* copy platform manufacturing data to the device eeprom */ + num_data = ts->platform_data->sett + [CY_IC_GRPNUM_MDATA_REC]->size < CY_NUM_MDATA ? + ts->platform_data->sett + [CY_IC_GRPNUM_MDATA_REC]->size : CY_NUM_MDATA; + dev_vdbg(ts->dev, + "%s: copy %d bytes from platform data to mdata array\n", + __func__, num_data); + memcpy(pdata, ts->platform_data->sett[CY_IC_GRPNUM_MDATA_REC]->data, + num_data); + +_cyttsp4_set_sysinfo_regs_set_mdata_block: + /* set data block will check CRC match/nomatch */ + retval = _cyttsp4_set_data_block(ts, CY_MDATA_EBID, pdata, + CY_NUM_MDATA, "platform_mdata", false, &mdata_updated); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail while writing platform_mdata" + " block to ic r=%d\n", __func__, retval); + } +#else + mdata_updated = false; +#endif /* --CY_AUTO_LOAD_MDATA */ + + kfree(pdata); +_cyttsp4_set_sysinfo_regs_err: + *updated = ddata_updated || mdata_updated; + return retval; +} +#endif /* --CY_USE_TMA884 */ + +static int _cyttsp4_bits_2_bytes(struct cyttsp4 *ts, int nbits, int *max) +{ + int nbytes; + + *max = 1 << nbits; + + for (nbytes = 0; nbits > 0;) { + dev_vdbg(ts->dev, + "%s: nbytes=%d nbits=%d\n", __func__, nbytes, nbits); + nbytes++; + if (nbits > 8) + nbits -= 8; + else + nbits = 0; + dev_vdbg(ts->dev, + "%s: nbytes=%d nbits=%d\n", __func__, nbytes, nbits); + } + + return nbytes; +} + +static int _cyttsp4_get_sysinfo_regs(struct cyttsp4 *ts) +{ + int btn = 0; + int num_defined_keys = 0; + u16 *key_table = NULL; + enum cyttsp4_tch_abs abs = 0; +#ifdef CY_USE_TMA400_SP2 +#ifdef CY_USE_TMA400 + int i = 0; +#endif /* --CY_USE_TMA400 */ +#endif /* --CY_USE_TMA400_SP2 */ + int retval = 0; + + /* pre-clear si_ofs structure */ + memset(&ts->si_ofs, 0, sizeof(struct cyttsp4_sysinfo_ofs)); + + /* get the sysinfo data offsets */ + retval = _cyttsp4_read_block_data(ts, CY_REG_BASE, + sizeof(ts->sysinfo_data), &(ts->sysinfo_data), + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail read sysinfo data offsets r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit_no_handshake; + } else { + /* Print sysinfo data offsets */ + _cyttsp4_pr_buf(ts, (u8 *)&ts->sysinfo_data, + sizeof(ts->sysinfo_data), "sysinfo_data_offsets"); + + /* convert sysinfo data offset bytes into integers */ + ts->si_ofs.map_sz = (ts->sysinfo_data.map_szh * 256) + + ts->sysinfo_data.map_szl; + ts->si_ofs.cydata_ofs = (ts->sysinfo_data.cydata_ofsh * 256) + + ts->sysinfo_data.cydata_ofsl; + ts->si_ofs.test_ofs = (ts->sysinfo_data.test_ofsh * 256) + + ts->sysinfo_data.test_ofsl; + ts->si_ofs.pcfg_ofs = (ts->sysinfo_data.pcfg_ofsh * 256) + + ts->sysinfo_data.pcfg_ofsl; + ts->si_ofs.opcfg_ofs = (ts->sysinfo_data.opcfg_ofsh * 256) + + ts->sysinfo_data.opcfg_ofsl; + ts->si_ofs.ddata_ofs = (ts->sysinfo_data.ddata_ofsh * 256) + + ts->sysinfo_data.ddata_ofsl; + ts->si_ofs.mdata_ofs = (ts->sysinfo_data.mdata_ofsh * 256) + + ts->sysinfo_data.mdata_ofsl; + dev_err(ts->dev, "%s: ofset.map_sz:%x,cydata_ofs:%x,test_ofs:%x,pcfg_ofs:%x,opcfg_ofs:%x,ddata_ofs:%x,mdata_ofs:%x\n", + __func__, ts->si_ofs.map_sz, ts->si_ofs.cydata_ofs, ts->si_ofs.test_ofs, ts->si_ofs.pcfg_ofs, ts->si_ofs.opcfg_ofs, ts->si_ofs.ddata_ofs, ts->si_ofs.mdata_ofs); + if (ts->si_ofs.map_sz != 0xc1 || ts->si_ofs.cydata_ofs != 0x10) { + dev_err(ts->dev, "%s: ofset data is invalid\n", __func__); + goto _cyttsp4_get_sysinfo_regs_exit_no_handshake; + } + } + + /* get the sysinfo cydata */ + ts->si_ofs.cydata_size = ts->si_ofs.test_ofs - ts->si_ofs.cydata_ofs; + if (ts->sysinfo_ptr.cydata == NULL) + ts->sysinfo_ptr.cydata = kzalloc(ts->si_ofs.cydata_size, GFP_KERNEL); + if (ts->sysinfo_ptr.cydata == NULL) { + retval = -ENOMEM; + dev_err(ts->dev, + "%s: fail alloc cydata memory r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } else { + memset(ts->sysinfo_ptr.cydata, 0, ts->si_ofs.cydata_size); + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.cydata_ofs, + ts->si_ofs.cydata_size, ts->sysinfo_ptr.cydata, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail read cydata r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } + /* Print sysinfo cydata */ + _cyttsp4_pr_buf(ts, (u8 *)ts->sysinfo_ptr.cydata, + ts->si_ofs.cydata_size, "sysinfo_cydata"); + } + /* get the sysinfo test data */ + ts->si_ofs.test_size = ts->si_ofs.pcfg_ofs - ts->si_ofs.test_ofs; + if (ts->sysinfo_ptr.test == NULL) + ts->sysinfo_ptr.test = kzalloc(ts->si_ofs.test_size, GFP_KERNEL); + if (ts->sysinfo_ptr.test == NULL) { + retval = -ENOMEM; + dev_err(ts->dev, + "%s: fail alloc test memory r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } else { + memset(ts->sysinfo_ptr.test, 0, ts->si_ofs.test_size); + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.test_ofs, + ts->si_ofs.test_size, ts->sysinfo_ptr.test, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail read test data r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } + /* Print sysinfo test data */ + _cyttsp4_pr_buf(ts, (u8 *)ts->sysinfo_ptr.test, + ts->si_ofs.test_size, "sysinfo_test_data"); +#ifdef CY_USE_TMA400 + if (ts->sysinfo_ptr.test->post_codel & 0x01) { + dev_info(ts->dev, + "%s: Reset was a WATCHDOG RESET codel=%02X\n", + __func__, ts->sysinfo_ptr.test->post_codel); + } + + if (!(ts->sysinfo_ptr.test->post_codel & 0x02)) { + dev_info(ts->dev, + "%s: Config Data CRC FAIL codel=%02X\n", + __func__, ts->sysinfo_ptr.test->post_codel); + } + + if (!(ts->sysinfo_ptr.test->post_codel & 0x04)) { + dev_info(ts->dev, + "%s: PANEL TEST FAIL codel=%02X\n", + __func__, ts->sysinfo_ptr.test->post_codel); + } + + dev_info(ts->dev, + "%s: SCANNING is %s codel=%02X\n", __func__, + ts->sysinfo_ptr.test->post_codel & 0x08 ? "ENABLED" : + "DISABLED", ts->sysinfo_ptr.test->post_codel); +#endif /* --CY_USE_TMA400 */ + } + /* get the sysinfo pcfg data */ + ts->si_ofs.pcfg_size = ts->si_ofs.opcfg_ofs - ts->si_ofs.pcfg_ofs; + if (ts->sysinfo_ptr.pcfg == NULL) + ts->sysinfo_ptr.pcfg = kzalloc(ts->si_ofs.pcfg_size, GFP_KERNEL); + if (ts->sysinfo_ptr.pcfg == NULL) { + retval = -ENOMEM; + dev_err(ts->dev, + "%s: fail alloc pcfg memory r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } else { + memset(ts->sysinfo_ptr.pcfg, 0, ts->si_ofs.pcfg_size); + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.pcfg_ofs, + ts->si_ofs.pcfg_size, ts->sysinfo_ptr.pcfg, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail read pcfg data r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } + /* Print sysinfo pcfg data */ + _cyttsp4_pr_buf(ts, (u8 *)ts->sysinfo_ptr.pcfg, + ts->si_ofs.pcfg_size, "sysinfo_pcfg_data"); + } + /* get the sysinfo opcfg data */ + ts->si_ofs.opcfg_size = ts->si_ofs.ddata_ofs - ts->si_ofs.opcfg_ofs; + if (ts->sysinfo_ptr.opcfg == NULL) + ts->sysinfo_ptr.opcfg = kzalloc(ts->si_ofs.opcfg_size, GFP_KERNEL); + if (ts->sysinfo_ptr.opcfg == NULL) { + retval = -ENOMEM; + dev_err(ts->dev, + "%s: fail alloc opcfg memory r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } else { + memset(ts->sysinfo_ptr.opcfg, 0, ts->si_ofs.opcfg_size); + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.opcfg_ofs, + ts->si_ofs.opcfg_size, ts->sysinfo_ptr.opcfg, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail read opcfg data r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } + ts->si_ofs.cmd_ofs = ts->sysinfo_ptr.opcfg->cmd_ofs; + ts->si_ofs.rep_ofs = ts->sysinfo_ptr.opcfg->rep_ofs; + ts->si_ofs.rep_sz = (ts->sysinfo_ptr.opcfg->rep_szh * 256) + + ts->sysinfo_ptr.opcfg->rep_szl; + ts->si_ofs.num_btns = ts->sysinfo_ptr.opcfg->num_btns; + if (ts->si_ofs.num_btns == 0) + ts->si_ofs.num_btn_regs = 0; + else { + ts->si_ofs.num_btn_regs = ts->si_ofs.num_btns / + CY_NUM_BTN_PER_REG; + if (ts->si_ofs.num_btns % CY_NUM_BTN_PER_REG) + ts->si_ofs.num_btn_regs++; + } + ts->si_ofs.tt_stat_ofs = ts->sysinfo_ptr.opcfg->tt_stat_ofs; + ts->si_ofs.obj_cfg0 = ts->sysinfo_ptr.opcfg->obj_cfg0; + ts->si_ofs.max_tchs = ts->sysinfo_ptr.opcfg->max_tchs & + CY_SIZE_FIELD_MASK; + ts->si_ofs.tch_rec_siz = ts->sysinfo_ptr.opcfg->tch_rec_siz & + CY_SIZE_FIELD_MASK; + + /* Get the old touch fields */ + for (abs = CY_TCH_X; abs < CY_NUM_OLD_TCH_FIELDS; abs++) { + ts->si_ofs.tch_abs[abs].ofs = + ts->sysinfo_ptr.opcfg->tch_rec_old[abs].loc; + ts->si_ofs.tch_abs[abs].size = + _cyttsp4_bits_2_bytes(ts, + ts->sysinfo_ptr.opcfg->tch_rec_old[abs].size & + CY_SIZE_FIELD_MASK, + &ts->si_ofs.tch_abs[abs].max); + ts->si_ofs.tch_abs[abs].bofs = + (ts->sysinfo_ptr.opcfg->tch_rec_old[abs].size & + CY_BOFS_MASK) >> CY_BOFS_SHIFT; + dev_vdbg(ts->dev, + "%s: tch_rec_%s\n", __func__, + cyttsp4_tch_abs_string[abs]); + dev_vdbg(ts->dev, + "%s: ofs =%2d\n", __func__, + ts->si_ofs.tch_abs[abs].ofs); + dev_vdbg(ts->dev, + "%s: siz =%2d\n", __func__, + ts->si_ofs.tch_abs[abs].size); + dev_vdbg(ts->dev, + "%s: max =%2d\n", __func__, + ts->si_ofs.tch_abs[abs].max); + dev_vdbg(ts->dev, + "%s: bofs=%2d\n", __func__, + ts->si_ofs.tch_abs[abs].bofs); + } + +#ifdef CY_USE_TMA400_SP2 +#ifdef CY_USE_TMA400 + /* skip over the button fields */ + + /* Get the new touch fields */ + for (i = 0; abs < CY_TCH_NUM_ABS; abs++, i++) { + ts->si_ofs.tch_abs[abs].ofs = + ts->sysinfo_ptr.opcfg->tch_rec_new[i].loc; + ts->si_ofs.tch_abs[abs].size = + _cyttsp4_bits_2_bytes(ts, + ts->sysinfo_ptr.opcfg->tch_rec_new[i].size & + CY_SIZE_FIELD_MASK, + &ts->si_ofs.tch_abs[abs].max); + ts->si_ofs.tch_abs[abs].bofs = + (ts->sysinfo_ptr.opcfg->tch_rec_new[i].size & + CY_BOFS_MASK) >> CY_BOFS_SHIFT; + dev_vdbg(ts->dev, + "%s: tch_rec_%s\n", __func__, + cyttsp4_tch_abs_string[abs]); + dev_vdbg(ts->dev, + "%s: ofs =%2d\n", __func__, + ts->si_ofs.tch_abs[abs].ofs); + dev_vdbg(ts->dev, + "%s: siz =%2d\n", __func__, + ts->si_ofs.tch_abs[abs].size); + dev_vdbg(ts->dev, + "%s: max =%2d\n", __func__, + ts->si_ofs.tch_abs[abs].max); + dev_vdbg(ts->dev, + "%s: bofs=%2d\n", __func__, + ts->si_ofs.tch_abs[abs].bofs); + } +#endif /* --CY_USE_TMA400 */ +#endif /* --CY_USE_TMA400_SP2 */ + + ts->si_ofs.btn_rec_siz = ts->sysinfo_ptr.opcfg->btn_rec_siz; + ts->si_ofs.btn_diff_ofs = ts->sysinfo_ptr.opcfg->btn_diff_ofs; + ts->si_ofs.btn_diff_siz = ts->sysinfo_ptr.opcfg->btn_diff_siz; + ts->si_ofs.mode_size = ts->si_ofs.tt_stat_ofs + 1; + ts->si_ofs.data_size = ts->si_ofs.max_tchs * + ts->sysinfo_ptr.opcfg->tch_rec_siz; + if (ts->si_ofs.num_btns) + ts->si_ofs.mode_size += ts->si_ofs.num_btn_regs; + + /* Print sysinfo opcfg data */ + _cyttsp4_pr_buf(ts, (u8 *)ts->sysinfo_ptr.opcfg, + ts->si_ofs.opcfg_size, "sysinfo_opcfg_data"); + } + + /* get the sysinfo ddata data */ + ts->si_ofs.ddata_size = ts->si_ofs.mdata_ofs - ts->si_ofs.ddata_ofs; + if (ts->sysinfo_ptr.ddata == NULL) + ts->sysinfo_ptr.ddata = kzalloc(ts->si_ofs.ddata_size, GFP_KERNEL); + if (ts->sysinfo_ptr.ddata == NULL) { + dev_err(ts->dev, + "%s: fail alloc ddata memory r=%d\n", + __func__, retval); + /* continue */ + } else { + memset(ts->sysinfo_ptr.ddata, 0, ts->si_ofs.ddata_size); + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.ddata_ofs, + ts->si_ofs.ddata_size, ts->sysinfo_ptr.ddata, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail read ddata data r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } + /* Print sysinfo ddata */ + _cyttsp4_pr_buf(ts, (u8 *)ts->sysinfo_ptr.ddata, + ts->si_ofs.ddata_size, "sysinfo_ddata"); + } + /* get the sysinfo mdata data */ + ts->si_ofs.mdata_size = ts->si_ofs.map_sz - ts->si_ofs.mdata_ofs; + if (ts->sysinfo_ptr.mdata == NULL) + ts->sysinfo_ptr.mdata = kzalloc(ts->si_ofs.mdata_size, GFP_KERNEL); + if (ts->sysinfo_ptr.mdata == NULL) { + dev_err(ts->dev, + "%s: fail alloc mdata memory r=%d\n", + __func__, retval); + /* continue */ + } else { + memset(ts->sysinfo_ptr.mdata, 0, ts->si_ofs.mdata_size); + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.mdata_ofs, + ts->si_ofs.mdata_size, ts->sysinfo_ptr.mdata, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail read mdata data r=%d\n", + __func__, retval); + goto _cyttsp4_get_sysinfo_regs_exit; + } + /* Print sysinfo mdata */ + _cyttsp4_pr_buf(ts, (u8 *)ts->sysinfo_ptr.mdata, + ts->si_ofs.mdata_size, "sysinfo_mdata"); + } + + if (ts->si_ofs.num_btns) { + ts->si_ofs.btn_keys_size = ts->si_ofs.num_btns * + sizeof(struct cyttsp4_btn); + if (ts->btn == NULL) + ts->btn = kzalloc(ts->si_ofs.btn_keys_size, GFP_KERNEL); + if (ts->btn == NULL) { + dev_err(ts->dev, + "%s: fail alloc btn_keys memory r=%d\n", + __func__, retval); + } else { + if (ts->platform_data->sett + [CY_IC_GRPNUM_BTN_KEYS] == NULL) + num_defined_keys = 0; + else if (ts->platform_data->sett + [CY_IC_GRPNUM_BTN_KEYS]->data == NULL) + num_defined_keys = 0; + else + num_defined_keys = ts->platform_data->sett + [CY_IC_GRPNUM_BTN_KEYS]->size; + for (btn = 0; btn < ts->si_ofs.num_btns && + btn < num_defined_keys; btn++) { + key_table = (u16 *)ts->platform_data->sett + [CY_IC_GRPNUM_BTN_KEYS]->data; + ts->btn[btn].key_code = key_table[btn]; + ts->btn[btn].enabled = true; + } + for (; btn < ts->si_ofs.num_btns; btn++) { + ts->btn[btn].key_code = KEY_RESERVED; + ts->btn[btn].enabled = true; + } + } + } else { + ts->si_ofs.btn_keys_size = 0; + ts->btn = NULL; + } + + dev_vdbg(ts->dev, + "%s: cydata_ofs =%4d siz=%4d\n", __func__, + ts->si_ofs.cydata_ofs, ts->si_ofs.cydata_size); + dev_vdbg(ts->dev, + "%s: test_ofs =%4d siz=%4d\n", __func__, + ts->si_ofs.test_ofs, ts->si_ofs.test_size); + dev_vdbg(ts->dev, + "%s: pcfg_ofs =%4d siz=%4d\n", __func__, + ts->si_ofs.pcfg_ofs, ts->si_ofs.pcfg_size); + dev_vdbg(ts->dev, + "%s: opcfg_ofs =%4d siz=%4d\n", __func__, + ts->si_ofs.opcfg_ofs, ts->si_ofs.opcfg_size); + dev_vdbg(ts->dev, + "%s: ddata_ofs =%4d siz=%4d\n", __func__, + ts->si_ofs.ddata_ofs, ts->si_ofs.ddata_size); + dev_vdbg(ts->dev, + "%s: mdata_ofs =%4d siz=%4d\n", __func__, + ts->si_ofs.mdata_ofs, ts->si_ofs.mdata_size); + + dev_vdbg(ts->dev, + "%s: cmd_ofs =%4d\n", __func__, ts->si_ofs.cmd_ofs); + dev_vdbg(ts->dev, + "%s: rep_ofs =%4d\n", __func__, ts->si_ofs.rep_ofs); + dev_vdbg(ts->dev, + "%s: rep_sz =%4d\n", __func__, ts->si_ofs.rep_sz); + dev_vdbg(ts->dev, + "%s: num_btns =%4d\n", __func__, ts->si_ofs.num_btns); + dev_vdbg(ts->dev, + "%s: num_btn_regs =%4d\n", __func__, ts->si_ofs.num_btn_regs); + dev_vdbg(ts->dev, + "%s: tt_stat_ofs =%4d\n", __func__, ts->si_ofs.tt_stat_ofs); + dev_vdbg(ts->dev, + "%s: tch_rec_siz =%4d\n", __func__, ts->si_ofs.tch_rec_siz); + dev_vdbg(ts->dev, + "%s: max_tchs =%4d\n", __func__, ts->si_ofs.max_tchs); + dev_vdbg(ts->dev, + "%s: mode_siz =%4d\n", __func__, ts->si_ofs.mode_size); + dev_vdbg(ts->dev, + "%s: data_siz =%4d\n", __func__, ts->si_ofs.data_size); + dev_vdbg(ts->dev, + "%s: map_sz =%4d\n", __func__, ts->si_ofs.map_sz); + + dev_vdbg(ts->dev, + "%s: btn_rec_siz =%2d\n", __func__, ts->si_ofs.btn_rec_siz); + dev_vdbg(ts->dev, + "%s: btn_diff_ofs =%2d\n", __func__, ts->si_ofs.btn_diff_ofs); + dev_vdbg(ts->dev, + "%s: btn_diff_siz =%2d\n", __func__, ts->si_ofs.btn_diff_siz); + + dev_vdbg(ts->dev, + "%s: mode_size =%2d\n", __func__, ts->si_ofs.mode_size); + dev_vdbg(ts->dev, + "%s: data_size =%2d\n", __func__, ts->si_ofs.data_size); + + if (ts->xy_mode == NULL) + ts->xy_mode = kzalloc(ts->si_ofs.mode_size, GFP_KERNEL); + if (ts->xy_data == NULL) + ts->xy_data = kzalloc(ts->si_ofs.data_size, GFP_KERNEL); + if (ts->xy_data_touch1 == NULL) { + ts->xy_data_touch1 = kzalloc(ts->si_ofs.tch_rec_siz + 1, + GFP_KERNEL); + } + if (ts->btn_rec_data == NULL) { + ts->btn_rec_data = kzalloc(ts->si_ofs.btn_rec_siz * + ts->si_ofs.num_btns, GFP_KERNEL); + } + if ((ts->xy_mode == NULL) || (ts->xy_data == NULL) || + (ts->xy_data_touch1 == NULL) || (ts->btn_rec_data == NULL)) { + dev_err(ts->dev, + "%s: fail memory alloc xy_mode=%p xy_data=%p" + "xy_data_touch1=%p btn_rec_data=%p\n", __func__, + ts->xy_mode, ts->xy_data, + ts->xy_data_touch1, ts->btn_rec_data); + /* continue */ + } + + dev_vdbg(ts->dev, + "%s: xy_mode=%p xy_data=%p xy_data_touch1=%p\n", + __func__, ts->xy_mode, ts->xy_data, ts->xy_data_touch1); + +_cyttsp4_get_sysinfo_regs_exit: + /* provide flow control handshake */ + retval = _cyttsp4_handshake(ts, ts->sysinfo_data.hst_mode); + if (retval < 0) { + dev_err(ts->dev, + "%s: handshake fail on sysinfo reg\n", + __func__); + /* continue; rely on handshake tmo */ + } + +_cyttsp4_get_sysinfo_regs_exit_no_handshake: + return retval; +} + +static int _cyttsp4_load_status_regs(struct cyttsp4 *ts) +{ + int rep_stat_ofs = 0; + int retval = 0; + + rep_stat_ofs = ts->si_ofs.rep_ofs + 1; + if (ts->xy_mode == NULL) { + dev_err(ts->dev, + "%s: mode ptr not yet initialized xy_mode=%p\n", + __func__, ts->xy_mode); + /* continue */ + } else { + retval = _cyttsp4_read_block_data(ts, CY_REG_BASE, + ts->si_ofs.mode_size, ts->xy_mode, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail read mode regs r=%d\n", + __func__, retval); + retval = -EIO; + } + _cyttsp4_pr_buf(ts, ts->xy_mode, ts->si_ofs.mode_size, + "xy_mode"); + } + return retval; +} + +static void _cyttsp4_btn_key_release(struct cyttsp4 *ts, + int cur_btn, u8 cur_btn_mask, int num_btns) +{ + int btn = 0; + + /* Check for button releases */ + for (btn = 0; btn < num_btns; btn++) { + if (ts->btn[cur_btn + btn].enabled) { + switch ((cur_btn_mask >> (btn * CY_BITS_PER_BTN)) & + (CY_NUM_BTN_EVENT_ID - 1)) { + case (CY_BTN_RELEASED): + if (ts->btn[cur_btn + btn].state == + CY_BTN_PRESSED) { + input_report_key(ts->input, + ts->btn[cur_btn + btn].key_code, + CY_BTN_RELEASED); + ts->btn[cur_btn + btn].state = + CY_BTN_RELEASED; + input_sync(ts->input); + dev_dbg(ts->dev, + "%s: btn=%d key_code=%d" + " RELEASED\n", __func__, + cur_btn + btn, ts->btn + [cur_btn + btn].key_code); + } + break; + case (CY_BTN_PRESSED): + break; + default: + break; + } + } + } + return; +} + +static void _cyttsp4_btn_key_press(struct cyttsp4 *ts, + int cur_btn, u8 cur_btn_mask, int num_btns) +{ + int btn = 0; + + /* Check for button presses */ + for (btn = 0; btn < num_btns; btn++) { + if (ts->btn[cur_btn + btn].enabled) { + switch ((cur_btn_mask >> (btn * CY_BITS_PER_BTN)) & + (CY_NUM_BTN_EVENT_ID - 1)) { + case (CY_BTN_RELEASED): + break; + case (CY_BTN_PRESSED): + if (ts->btn[cur_btn + btn].state == + CY_BTN_RELEASED) { + input_report_key(ts->input, + ts->btn[cur_btn + btn].key_code, + CY_BTN_PRESSED); + ts->btn[cur_btn + btn].state = + CY_BTN_PRESSED; + input_sync(ts->input); + dev_dbg(ts->dev, + "%s: btn=%d key_code=%d" + " PRESSED\n", __func__, + cur_btn + btn, ts->btn + [cur_btn + btn].key_code); + } + break; + default: + break; + } + } + } + return; +} + +static void _cyttsp4_get_touch_axis(struct cyttsp4 *ts, + enum cyttsp4_tch_abs abs, int *axis, int size, + int max, u8 *xy_data, int bofs) +{ + int nbyte = 0; + int next = 0; + + for (nbyte = 0, *axis = 0, next = 0; nbyte < size; nbyte++) { + dev_vdbg(ts->dev, + "%s: *axis=%02X(%d) size=%d max=%08X xy_data=%p" + " xy_data[%d]=%02X(%d)\n", + __func__, *axis, *axis, size, max, xy_data, next, + xy_data[next], xy_data[next]); + *axis = (*axis * 256) + (xy_data[next] >> bofs); + next++; + } + + *axis &= max - 1; + +#ifdef CY_USE_TMA400_SP2 +#ifdef CY_USE_TMA400 + /* sign extend signals that can have negative values */ + if (abs == CY_TCH_OR) { + if (*axis >= (max / 2)) + *axis = -((~(*axis) & (max - 1)) + 1); + } +#endif /* --CY_USE_TMA400 */ +#endif /* --CY_USE_TMA400_SP2 */ + + dev_vdbg(ts->dev, + "%s: *axis=%02X(%d) size=%d max=%08X xy_data=%p" + " xy_data[%d]=%02X(%d)\n", + __func__, *axis, *axis, size, max, xy_data, next, + xy_data[next], xy_data[next]); +} + +static void _cyttsp4_get_touch(struct cyttsp4 *ts, + struct cyttsp4_touch *touch, u8 *xy_data) +{ + enum cyttsp4_tch_abs abs = 0; +#ifdef CY_USE_DEBUG_TOOLS + int tmp = 0; + bool flipped = false; +#endif /* --CY_USE_DEBUG_TOOLS */ + + for (abs = CY_TCH_X; abs < CY_TCH_NUM_ABS; abs++) { + _cyttsp4_get_touch_axis(ts, abs, &touch->abs[abs], + ts->si_ofs.tch_abs[abs].size, + ts->si_ofs.tch_abs[abs].max, + xy_data + ts->si_ofs.tch_abs[abs].ofs, + ts->si_ofs.tch_abs[abs].bofs); + dev_vdbg(ts->dev, + "%s: get %s=%08X(%d) size=%d" + " ofs=%d max=%d xy_data+ofs=%p bofs=%d\n", + __func__, cyttsp4_tch_abs_string[abs], + touch->abs[abs], touch->abs[abs], + ts->si_ofs.tch_abs[abs].size, + ts->si_ofs.tch_abs[abs].ofs, + ts->si_ofs.tch_abs[abs].max, + xy_data + ts->si_ofs.tch_abs[abs].ofs, + ts->si_ofs.tch_abs[abs].bofs); + } + +#ifdef CY_USE_DEBUG_TOOLS + if (ts->flags & CY_FLAG_FLIP) { + tmp = touch->abs[CY_TCH_X]; + touch->abs[CY_TCH_X] = + touch->abs[CY_TCH_Y]; + touch->abs[CY_TCH_Y] = tmp; + flipped = true; + } + if (ts->flags & CY_FLAG_INV_X) { + if (!flipped) { + touch->abs[CY_TCH_X] = + ts->platform_data->frmwrk->abs + [(CY_ABS_X_OST * CY_NUM_ABS_SET) + CY_MAX_OST] - + touch->abs[CY_TCH_X]; + } else { + touch->abs[CY_TCH_X] = + ts->platform_data->frmwrk->abs + [(CY_ABS_Y_OST * CY_NUM_ABS_SET) + CY_MAX_OST] - + touch->abs[CY_TCH_X]; + } + } + if (ts->flags & CY_FLAG_INV_Y) { + if (!flipped) { + touch->abs[CY_TCH_Y] = + ts->platform_data->frmwrk->abs + [(CY_ABS_Y_OST * CY_NUM_ABS_SET) + CY_MAX_OST] - + touch->abs[CY_TCH_Y]; + } else { + touch->abs[CY_TCH_Y] = + ts->platform_data->frmwrk->abs + [(CY_ABS_X_OST * CY_NUM_ABS_SET) + CY_MAX_OST] - + touch->abs[CY_TCH_Y]; + } + } +#endif /* --CY_USE_DEBUG_TOOLS */ +} + +static void _cyttsp4_get_mt_touches(struct cyttsp4 *ts, int num_cur_tch) +{ + struct cyttsp4_touch touch; + int signal = CY_IGNORE_VALUE; + int i = 0; + int j = 0; + int t = 0; + + memset(&touch, 0, sizeof(struct cyttsp4_touch)); + for (i = 0; i < num_cur_tch; i++) { + _cyttsp4_get_touch(ts, &touch, + ts->xy_data + (i * ts->si_ofs.tch_rec_siz)); + if ((touch.abs[CY_TCH_T] < ts->platform_data->frmwrk->abs + [(CY_ABS_ID_OST * CY_NUM_ABS_SET) + CY_MIN_OST]) || + (touch.abs[CY_TCH_T] > ts->platform_data->frmwrk->abs + [(CY_ABS_ID_OST * CY_NUM_ABS_SET) + CY_MAX_OST])) { + dev_err(ts->dev, + "%s: touch=%d has bad track_id=%d max_id=%d\n", + __func__, i, touch.abs[CY_TCH_T], + ts->platform_data->frmwrk->abs + [(CY_ABS_ID_OST * CY_NUM_ABS_SET) + + CY_MAX_OST]); + input_mt_sync(ts->input); + } else { + /* use 0 based track id's */ + signal = ts->platform_data->frmwrk->abs + [(CY_ABS_ID_OST*CY_NUM_ABS_SET)+0]; + if (signal != CY_IGNORE_VALUE) { + t = touch.abs[CY_TCH_T] - + ts->platform_data->frmwrk->abs + [(CY_ABS_ID_OST * CY_NUM_ABS_SET) + + CY_MIN_OST]; + input_report_abs(ts->input, signal, t); + } + + /* all devices: position and pressure fields */ + for (j = 0; j < CY_ABS_W_OST ; j++) { + signal = ts->platform_data->frmwrk->abs + [((CY_ABS_X_OST + j) * + CY_NUM_ABS_SET) + 0]; + if (signal != CY_IGNORE_VALUE) { + input_report_abs(ts->input, signal, + touch.abs[CY_TCH_X + j]); + } + } + +#ifdef CY_USE_TMA884 + /* TMA884 size field */ + signal = ts->platform_data->frmwrk->abs + [(CY_ABS_W_OST * CY_NUM_ABS_SET) + 0]; + if (signal != CY_IGNORE_VALUE) + input_report_abs(ts->input, + signal, touch.abs[CY_TCH_W]); +#endif /* --CY_USE_TMA884 */ + +#ifdef CY_USE_TMA400_SP2 +#ifdef CY_USE_TMA400 + /* + * TMA400 size and orientation fields: + * if pressure is non-zero and major touch + * signal is zero, then set major and minor touch + * signal to minimum non-zero value + */ + if ((touch.abs[CY_TCH_P] > 0) && + (touch.abs[CY_TCH_MAJ] == 0)) { + touch.abs[CY_TCH_MAJ] = 1; + touch.abs[CY_TCH_MIN] = 1; + } + + for (j = 0; j < CY_NUM_NEW_TCH_FIELDS; j++) { + signal = ts->platform_data->frmwrk->abs + [((CY_ABS_MAJ_OST + j) * + CY_NUM_ABS_SET) + 0]; + if (signal != CY_IGNORE_VALUE) { + input_report_abs(ts->input, signal, + touch.abs[CY_TCH_MAJ + j]); + } + } +#endif /* --CY_USE_TMA400 */ +#endif /* --CY_USE_TMA400_SP2 */ + + input_mt_sync(ts->input); + } +#ifdef CY_USE_TMA400_SP2 + dev_dbg(ts->dev, + "%s: t=%d x=(%d) y=(%d) z=(%d) M=(%d) m=(%d) o=(%d)\n", + __func__, t, + touch.abs[CY_TCH_X], + touch.abs[CY_TCH_Y], + touch.abs[CY_TCH_P], + touch.abs[CY_TCH_MAJ], + touch.abs[CY_TCH_MIN], + touch.abs[CY_TCH_OR]); +#else + dev_dbg(ts->dev, + "%s: t=%d x=(%d) y=(%d) z=(%d)\n", __func__, + t, + touch.abs[CY_TCH_X], + touch.abs[CY_TCH_Y], + touch.abs[CY_TCH_P]); +#endif /* --CY_USE_TMA400_SP2 */ + } + input_sync(ts->input); + ts->num_prv_tch = num_cur_tch; + + return; +} + +/* read xy_data for all current touches */ +static int _cyttsp4_xy_worker(struct cyttsp4 *ts) +{ + struct cyttsp4_touch touch; + u8 num_cur_tch = 0; + u8 hst_mode = 0; + u8 rep_len = 0; + u8 rep_stat = 0; + u8 tt_stat = 0; + int i = 0; + int num_cur_btn = 0; + int cur_reg = 0; + u8 cur_btn_mask = 0; + int cur_btn = 0; + + enum cyttsp4_btn_state btn_state = CY_BTN_RELEASED; + int retval = 0; + + /* + * Get event data from CYTTSP device. + * The event data includes all data + * for all active touches. + */ + /* + * Use 2 reads: first to get mode bytes, + * second to get status (touch count) and touch 1 data. + * An optional 3rd read to get touch 2 - touch n data. + */ + memset(&touch, 0, sizeof(struct cyttsp4_touch)); + memset(ts->xy_mode, 0, ts->si_ofs.mode_size); + memset(ts->xy_data_touch1, 0, 1 + ts->si_ofs.tch_rec_siz); + + retval = _cyttsp4_load_status_regs(ts); + if (retval < 0) { + /* + * bus failure implies Watchdog -> bootloader running + * on TMA884 parts + */ + dev_err(ts->dev, + "%s: 1st read fail on mode regs r=%d\n", + __func__, retval); + retval = -EIO; + goto _cyttsp4_xy_worker_exit; + } + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.tt_stat_ofs, + 1+ts->si_ofs.tch_rec_siz, ts->xy_data_touch1, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + /* bus failure may imply bootloader running */ + dev_err(ts->dev, + "%s: read fail on mode regs r=%d\n", + __func__, retval); + retval = -EIO; + goto _cyttsp4_xy_worker_exit; + } + + hst_mode = ts->xy_mode[CY_REG_BASE]; + rep_len = ts->xy_mode[ts->si_ofs.rep_ofs]; + rep_stat = ts->xy_mode[ts->si_ofs.rep_ofs + 1]; + tt_stat = ts->xy_data_touch1[0]; + dev_dbg(ts->dev, + "%s: hst_mode=%02X rep_len=%d rep_stat=%02X tt_stat=%02X\n", + __func__, hst_mode, rep_len, rep_stat, tt_stat); + + if (rep_len == 0) { + dev_err(ts->dev, + "%s: report length error rep_len=%d\n", + __func__, rep_len); + goto _cyttsp4_xy_worker_exit; + } + + if (GET_NUM_TOUCHES(tt_stat) > 0) { + memcpy(ts->xy_data, ts->xy_data_touch1 + 1, + ts->si_ofs.tch_rec_siz); + } + if (GET_NUM_TOUCHES(tt_stat) > 1) { + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.tt_stat_ofs + + 1 + ts->si_ofs.tch_rec_siz, + (GET_NUM_TOUCHES(tt_stat) - 1) * ts->si_ofs.tch_rec_siz, + ts->xy_data + ts->si_ofs.tch_rec_siz, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: read fail on touch regs r=%d\n", + __func__, retval); + goto _cyttsp4_xy_worker_exit; + } + } + + + /* provide flow control handshake */ + retval = _cyttsp4_handshake(ts, hst_mode); + if (retval < 0) { + dev_err(ts->dev, + "%s: handshake fail on operational reg\n", + __func__); + /* continue; rely on handshake tmo */ + retval = 0; + } + + /* determine number of currently active touches */ + num_cur_tch = GET_NUM_TOUCHES(tt_stat); + + /* print xy data */ + _cyttsp4_pr_buf(ts, ts->xy_data, num_cur_tch * + ts->si_ofs.tch_rec_siz, "xy_data"); + + /* check for any error conditions */ + if (ts->driver_state == CY_IDLE_STATE) { + dev_err(ts->dev, + "%s: IDLE STATE detected\n", __func__); + retval = 0; + goto _cyttsp4_xy_worker_exit; + } else if (IS_BAD_PKT(rep_stat)) { + dev_err(ts->dev, + "%s: Invalid buffer detected\n", __func__); + retval = 0; + goto _cyttsp4_xy_worker_exit; + } else if (IS_BOOTLOADERMODE(rep_stat)) { + dev_info(ts->dev, + "%s: BL mode found in ACTIVE state\n", + __func__); + retval = -EIO; + goto _cyttsp4_xy_worker_exit; + } else if (GET_HSTMODE(hst_mode) == GET_HSTMODE(CY_SYSINFO_MODE)) { + /* if in sysinfo mode switch to op mode */ + dev_err(ts->dev, + "%s: Sysinfo mode=0x%02X detected in ACTIVE state\n", + __func__, hst_mode); + retval = _cyttsp4_set_mode(ts, CY_OPERATE_MODE); + if (retval < 0) { + _cyttsp4_change_state(ts, CY_IDLE_STATE); + dev_err(ts->dev, + "%s: Fail set operational mode (r=%d)\n", + __func__, retval); + } else { + _cyttsp4_change_state(ts, CY_ACTIVE_STATE); + dev_vdbg(ts->dev, + "%s: enable handshake\n", __func__); +#ifdef CY_USE_TMA884 + retval = _cyttsp4_handshake_enable(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail enable handshake r=%d", + __func__, retval); + } +#endif /* --CY_USE_TMA884 */ + } + goto _cyttsp4_xy_worker_exit; + } else if (IS_LARGE_AREA(tt_stat)) { + /* terminate all active tracks */ + num_cur_tch = 0; + dev_dbg(ts->dev, "%s: Large area detected\n", __func__); + } else if (num_cur_tch > ts->si_ofs.max_tchs) { + if (num_cur_tch == 0x1F) { + /* terminate all active tracks */ + dev_err(ts->dev, + "%s: Num touch err detected (n=%d)\n", + __func__, num_cur_tch); + num_cur_tch = 0; + } else { + dev_err(ts->dev, + "%s: too many tch; set to max tch (n=%d c=%d)\n", + __func__, num_cur_tch, CY_NUM_TCH_ID); + num_cur_tch = CY_NUM_TCH_ID; + } + } + + dev_dbg(ts->dev, + "%s: num_cur_tch=%d\n", __func__, num_cur_tch); + + /* extract xy_data for all currently reported touches */ + if (num_cur_tch) { + if (ts->num_prv_tch == 0) { + /* ICS touch down button press signal */ + input_report_key(ts->input, BTN_TOUCH, CY_BTN_PRESSED); + } + _cyttsp4_get_mt_touches(ts, num_cur_tch); + } else { + if (ts->num_prv_tch != 0) { + /* ICS Lift off button release signal and empty mt */ + input_report_key(ts->input, BTN_TOUCH, CY_BTN_RELEASED); + input_mt_sync(ts->input); + input_sync(ts->input); +#if TOUCH_BOOST + mod_timer(&ts->dvfs_timer, + jiffies + msecs_to_jiffies(500)); +#endif + } + ts->num_prv_tch = 0; + } + + if (ts->si_ofs.num_btns > 0) { + for (btn_state = CY_BTN_RELEASED; btn_state < CY_BTN_NUM_STATE; + btn_state++) { + for (cur_reg = 0, cur_btn = 0, + num_cur_btn = ts->si_ofs.num_btns; + cur_reg < ts->si_ofs.num_btn_regs; + cur_reg++, + cur_btn += CY_NUM_BTN_PER_REG, + num_cur_btn -= CY_NUM_BTN_PER_REG) { + if (num_cur_btn > 0) { + cur_btn_mask = ts->xy_mode + [ts->si_ofs.rep_ofs + + 2 + cur_reg]; + if (num_cur_btn / CY_NUM_BTN_PER_REG) + i = CY_NUM_BTN_PER_REG; + else + i = num_cur_btn; + switch (btn_state) { + case CY_BTN_RELEASED: + _cyttsp4_btn_key_release(ts, + cur_btn, + cur_btn_mask, i); + break; + case CY_BTN_PRESSED: + _cyttsp4_btn_key_press(ts, + cur_btn, + cur_btn_mask, i); + break; + default: + break; + } + } + } + } + } + + dev_dbg(ts->dev, + "%s:\n", __func__); + + retval = 0; +_cyttsp4_xy_worker_exit: +#ifdef CY_USE_LEVEL_IRQ + udelay(500); +#endif + return retval; +} + +#ifdef CY_USE_WATCHDOG +#define CY_TIMEOUT msecs_to_jiffies(1000) +static void _cyttsp4_start_wd_timer(struct cyttsp4 *ts) +{ + mod_timer(&ts->timer, jiffies + CY_TIMEOUT); + + return; +} + +static void _cyttsp4_stop_wd_timer(struct cyttsp4 *ts) +{ + del_timer(&ts->timer); + cancel_work_sync(&ts->work); + + return; +} + +static void cyttsp4_timer_watchdog(struct work_struct *work) +{ + struct cyttsp4 *ts = container_of(work, struct cyttsp4, work); + u8 rep_stat = 0; + int retval = 0; + + if (ts == NULL) { + dev_err(ts->dev, + "%s: NULL context pointer\n", __func__); + return; + } + + mutex_lock(&ts->data_lock); + if (ts->driver_state == CY_ACTIVE_STATE) { + retval = _cyttsp4_load_status_regs(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: failed to access device" + " in watchdog timer r=%d\n", __func__, retval); + _cyttsp4_queue_startup(ts, false); + goto cyttsp4_timer_watchdog_exit_error; + } + rep_stat = ts->xy_mode[ts->si_ofs.rep_ofs + 1]; + if (IS_BOOTLOADERMODE(rep_stat)) { + dev_err(ts->dev, + "%s: device found in bootloader mode" + " when operational mode rep_stat=0x%02X\n", + __func__, rep_stat); + _cyttsp4_queue_startup(ts, false); + goto cyttsp4_timer_watchdog_exit_error; + } + } + + _cyttsp4_start_wd_timer(ts); + cyttsp4_timer_watchdog_exit_error: + mutex_unlock(&ts->data_lock); + return; +} + +static void cyttsp4_timer(unsigned long handle) +{ + struct cyttsp4 *ts = (struct cyttsp4 *)handle; + + if (!work_pending(&ts->work)) + schedule_work(&ts->work); + + return; +} +#endif + +static int _cyttsp4_soft_reset(struct cyttsp4 *ts) +{ + u8 cmd = CY_SOFT_RESET_MODE; + + return _cyttsp4_write_block_data(ts, CY_REG_BASE, + sizeof(cmd), &cmd, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); +} + +static int _cyttsp4_reset(struct cyttsp4 *ts) +{ + enum cyttsp4_driver_state tmp_state = ts->driver_state; + int retval = 0; + + if (ts->platform_data->hw_reset) { + retval = ts->platform_data->hw_reset(); + if (retval == -ENOSYS) { + retval = _cyttsp4_soft_reset(ts); + ts->soft_reset_asserted = true; + } else + ts->soft_reset_asserted = false; + } else { + retval = _cyttsp4_soft_reset(ts); + ts->soft_reset_asserted = true; + } + + if (retval < 0) { + _cyttsp4_pr_state(ts); + return retval; + } else { + ts->current_mode = CY_MODE_BOOTLOADER; + ts->driver_state = CY_BL_STATE; + if (tmp_state != CY_BL_STATE) + _cyttsp4_pr_state(ts); + return retval; + } +} + +static void cyttsp4_ts_work_func(struct work_struct *work) +{ + struct cyttsp4 *ts = + container_of(work, struct cyttsp4, cyttsp4_resume_startup_work); + int retval = 0; + int i; + + dev_err(ts->dev, "%s: %d: wd timer stop\n", __func__, __LINE__); +#ifdef CY_USE_WATCHDOG + _cyttsp4_stop_wd_timer(ts); +#endif + mutex_lock(&ts->data_lock); + + ts->num_prv_tch = 0; + for (i = 0; i < ts->si_ofs.max_tchs; i++) { + input_mt_sync(ts->input); + } + input_report_key(ts->input, KEY_MENU, 0); + input_report_key(ts->input, KEY_BACK, 0); + input_report_key(ts->input, BTN_TOUCH, CY_BTN_RELEASED); + input_sync(ts->input); + retval = _cyttsp4_startup(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Startup failed with error code %d\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_IDLE_STATE); +#ifdef CY_USE_WATCHDOG + } else { + _cyttsp4_start_wd_timer(ts); +#endif + } + + mutex_unlock(&ts->data_lock); + + return; +} + +static int _cyttsp4_enter_sleep(struct cyttsp4 *ts) +{ + int retval = 0; +#if defined(CONFIG_PM_SLEEP) || \ + defined(CONFIG_PM) || \ + defined(CONFIG_HAS_EARLYSUSPEND) + uint8_t sleep = CY_DEEP_SLEEP_MODE; + + dev_vdbg(ts->dev, + "%s: Put the part back to sleep\n", __func__); + + retval = _cyttsp4_write_block_data(ts, CY_REG_BASE, + sizeof(sleep), &sleep, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Failed to write sleep bit r=%d\n", + __func__, retval); + } else + _cyttsp4_change_state(ts, CY_SLEEP_STATE); +#endif + return retval; +} + +static int _cyttsp4_wakeup(struct cyttsp4 *ts) +{ + int retval = 0; +#if defined(CONFIG_PM_SLEEP) || \ + defined(CONFIG_PM) || \ + defined(CONFIG_HAS_EARLYSUSPEND) + unsigned long timeout = 0; + unsigned long uretval = 0; + u8 hst_mode = 0; +#ifdef CY_USE_TMA400 + u8 rep_stat = 0; +#endif /* --CY_USE_TMA400 */ + int wake = CY_WAKE_DFLT; + + _cyttsp4_change_state(ts, CY_CMD_STATE); + INIT_COMPLETION(ts->int_running); + if (ts->platform_data->hw_recov == NULL) { + dev_vdbg(ts->dev, + "%s: no hw_recov function\n", __func__); + retval = -ENOSYS; + } else { + /* wake using strobe on host alert pin */ + retval = ts->platform_data->hw_recov(wake); + if (retval < 0) { + if (retval == -ENOSYS) { + dev_vdbg(ts->dev, + "%s: no hw_recov wake code=%d" + " function\n", __func__, wake); + } else { + dev_err(ts->dev, + "%s: fail hw_recov(wake=%d)" + " function r=%d\n", + __func__, wake, retval); + retval = -ENOSYS; + } + } + } + + if (retval == -ENOSYS) { + /* + * Wake the chip with bus traffic + * The first few reads should always fail because + * the part is not ready to respond, + * but the retries should succeed. + */ + /* + * Even though this is hardware-specific, it is done + * here because the board config file doesn't have + * access to the bus read routine + */ + retval = _cyttsp4_read_block_data(ts, CY_REG_BASE, + sizeof(hst_mode), &hst_mode, + ts->platform_data->addr[CY_TCH_ADDR_OFS], + true); + if (retval < 0) { + /* device may not be ready even with the + * bus read retries so just go ahead and + * wait for the cmd rdy interrupt or timeout + */ + retval = 0; + } else { + /* IC is awake but still need to check for + * proper mode + */ + } + } else + retval = 0; + + /* Wait for cmd rdy interrupt to signal device wake */ + timeout = msecs_to_jiffies(CY_HALF_SEC_TMO_MS); + mutex_unlock(&ts->data_lock); + uretval = wait_for_completion_interruptible_timeout( + &ts->int_running, timeout); + mutex_lock(&ts->data_lock); + + /* read registers even if wait ended with timeout */ + retval = _cyttsp4_read_block_data(ts, + CY_REG_BASE, sizeof(hst_mode), &hst_mode, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + + /* TMA884 indicates bootloader mode by changing addr */ + if (retval < 0) { + dev_err(ts->dev, + "%s: failed to resume or in bootloader (r=%d)\n", + __func__, retval); + } else { +#ifdef CY_USE_TMA400 + /* read rep stat register for bootloader status */ + retval = _cyttsp4_load_status_regs(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: failed to access device on resume r=%d\n", + __func__, retval); + goto _cyttsp4_wakeup_exit; + } + rep_stat = ts->xy_mode[ts->si_ofs.rep_ofs + 1]; + if (IS_BOOTLOADERMODE(rep_stat)) { + dev_err(ts->dev, + "%s: device in bootloader mode on wakeup" + " rep_stat=0x%02X\n", + __func__, rep_stat); + retval = -EIO; + goto _cyttsp4_wakeup_exit; + } +#endif /* --CY_USE_TMA400 */ + retval = _cyttsp4_handshake(ts, hst_mode); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail resume INT handshake (r=%d)\n", + __func__, retval); + /* continue; rely on handshake tmo */ + retval = 0; + } + _cyttsp4_change_state(ts, CY_ACTIVE_STATE); + } +#ifdef CY_USE_TMA400 +_cyttsp4_wakeup_exit: +#endif /* --CY_USE_TMA400 */ +#endif + return retval; +} + +#if defined(CONFIG_PM) || \ + defined(CONFIG_PM_SLEEP) || \ + defined(CONFIG_HAS_EARLYSUSPEND) + +#if defined(CONFIG_HAS_EARLYSUSPEND) +int cyttsp4_suspend(void *handle) +{ + struct cyttsp4 *ts = handle; +#elif defined(CONFIG_PM_SLEEP) +static int cyttsp4_suspend(struct device *dev) +{ + struct cyttsp4 *ts = dev_get_drvdata(dev); +#else +int cyttsp4_suspend(void *handle) +{ + struct cyttsp4 *ts = handle; +#endif + int retval = 0; + bool on = false; + + if (ts->test.cur_mode != CY_TEST_MODE_NORMAL_OP) { + retval = -EBUSY; + dev_err(ts->dev, + "%s: Suspend Blocked while in test mode=%d\n", + __func__, ts->test.cur_mode); + } else { + switch (ts->driver_state) { + case CY_ACTIVE_STATE: +#if defined(CY_USE_FORCE_LOAD) || defined(CONFIG_TOUCHSCREEN_DEBUG) + if (ts->waiting_for_fw) { + retval = -EBUSY; + dev_err(ts->dev, + "%s: Suspend Blocked while waiting for" + " fw load in %s state\n", __func__, + cyttsp4_driver_state_string + [ts->driver_state]); + break; + } +#endif + dev_vdbg(ts->dev, + "%s: Suspending...\n", __func__); +#ifdef CY_USE_WATCHDOG + _cyttsp4_stop_wd_timer(ts); +#endif + if (ts->irq_enabled) + disable_irq(ts->irq); + + ts->platform_data->hw_power(on); + _cyttsp4_change_state(ts, CY_SLEEP_STATE); + + break; + case CY_SLEEP_STATE: + dev_err(ts->dev, + "%s: already in Sleep state\n", __func__); + break; + /* + * These states could be changing the device state + * Some of these states don't directly change device state + * but the next state could happen at any time and that + * state DOES modify the device state + * they must complete before allowing suspend. + */ + case CY_BL_STATE: + case CY_CMD_STATE: + case CY_SYSINFO_STATE: + case CY_READY_STATE: + case CY_TRANSFER_STATE: + retval = -EBUSY; + dev_err(ts->dev, + "%s: Suspend Blocked while in %s state\n", + __func__, cyttsp4_driver_state_string + [ts->driver_state]); + break; + case CY_IDLE_STATE: + case CY_INVALID_STATE: + default: + dev_err(ts->dev, + "%s: Cannot enter suspend from %s state\n", + __func__, cyttsp4_driver_state_string + [ts->driver_state]); + break; + } + } +#if TOUCH_BOOST + if (true == boost) { + omap_cpufreq_min_limit_free(DVFS_LOCK_ID_TSP); + boost = false; + del_timer_sync(&ts->dvfs_timer); + } +#endif + + return retval; +} +EXPORT_SYMBOL_GPL(cyttsp4_suspend); + +#if defined(CONFIG_HAS_EARLYSUSPEND) +int cyttsp4_resume(void *handle) +{ + struct cyttsp4 *ts = handle; +#elif defined(CONFIG_PM_SLEEP) +static int cyttsp4_resume(struct device *dev) +{ + struct cyttsp4 *ts = dev_get_drvdata(dev); +#else +int cyttsp4_resume(void *handle) +{ + struct cyttsp4 *ts = handle; +#endif + int retval = 0; + + dev_vdbg(ts->dev, "%s: Resuming...\n", __func__); + + mutex_lock(&ts->data_lock); + if (ts->irq_enabled) + enable_irq(ts->irq); + retval = _cyttsp4_startup(ts); + + mutex_unlock(&ts->data_lock); + + dev_vdbg(ts->dev, + "%s: exit Resume r=%d\n", __func__, retval); + return retval; +} +EXPORT_SYMBOL_GPL(cyttsp4_resume); +#endif +#if !defined(CONFIG_HAS_EARLYSUSPEND) && defined(CONFIG_PM_SLEEP) +const struct dev_pm_ops cyttsp4_pm_ops = { + SET_SYSTEM_SLEEP_PM_OPS(cyttsp4_suspend, cyttsp4_resume) +}; +EXPORT_SYMBOL_GPL(cyttsp4_pm_ops); +#endif + + +#if defined(CONFIG_HAS_EARLYSUSPEND) +void cyttsp4_early_suspend(struct early_suspend *h) +{ + struct cyttsp4 *ts = container_of(h, struct cyttsp4, early_suspend); + int retval = 0; + + dev_vdbg(ts->dev, "%s: EARLY SUSPEND ts=%p\n", + __func__, ts); + retval = cyttsp4_suspend(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Early suspend failed with error code %d\n", + __func__, retval); + } +} +void cyttsp4_late_resume(struct early_suspend *h) +{ + struct cyttsp4 *ts = container_of(h, struct cyttsp4, early_suspend); + int retval = 0; + + dev_vdbg(ts->dev, "%s: LATE RESUME ts=%p\n", + __func__, ts); + retval = cyttsp4_resume(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Late resume failed with error code %d\n", + __func__, retval); + } +} +#endif + +#ifdef CY_AUTO_LOAD_FW +static int _cyttsp4_boot_loader(struct cyttsp4 *ts, bool *upgraded) +{ + int retval = 0; + int i = 0; + u32 fw_vers_platform = 0; + u32 fw_vers_img = 0; + u32 fw_revctrl_platform_h = 0; + u32 fw_revctrl_platform_l = 0; + u32 fw_revctrl_img_h = 0; + u32 fw_revctrl_img_l = 0; + bool new_fw_vers = false; + bool new_fw_revctrl = false; + bool new_vers = false; + + *upgraded = false; + if (ts->driver_state == CY_SLEEP_STATE) { + dev_err(ts->dev, + "%s: cannot load firmware in sleep state\n", + __func__); + retval = 0; + } else if ((ts->platform_data->fw->ver == NULL) || + (ts->platform_data->fw->img == NULL)) { + dev_err(ts->dev, + "%s: empty version list or no image\n", + __func__); + retval = 0; + } else if (ts->platform_data->fw->vsize != CY_BL_VERS_SIZE) { + dev_err(ts->dev, + "%s: bad fw version list size=%d\n", + __func__, ts->platform_data->fw->vsize); + retval = 0; + } else { + /* automatically update firmware if new version detected */ + fw_vers_img = (ts->sysinfo_ptr.cydata->fw_ver_major * 256); + fw_vers_img += ts->sysinfo_ptr.cydata->fw_ver_minor; + fw_vers_platform = ts->platform_data->fw->ver[2] * 256; + fw_vers_platform += ts->platform_data->fw->ver[3]; +#ifdef CY_ANY_DIFF_NEW_VER + if (fw_vers_platform != fw_vers_img) + new_fw_vers = true; + else + new_fw_vers = false; +#else + if (fw_vers_platform > fw_vers_img) + new_fw_vers = true; + else + new_fw_vers = false; +#endif + dev_vdbg(ts->dev, + "%s: fw_vers_platform=%04X fw_vers_img=%04X\n", + __func__, fw_vers_platform, fw_vers_img); + + fw_revctrl_img_h = ts->sysinfo_ptr.cydata->revctrl[0]; + fw_revctrl_img_l = ts->sysinfo_ptr.cydata->revctrl[4]; + fw_revctrl_platform_h = ts->platform_data->fw->ver[4]; + fw_revctrl_platform_l = ts->platform_data->fw->ver[8]; + for (i = 1; i < 4; i++) { + fw_revctrl_img_h = (fw_revctrl_img_h * 256) + + ts->sysinfo_ptr.cydata->revctrl[0+i]; + fw_revctrl_img_l = (fw_revctrl_img_l * 256) + + ts->sysinfo_ptr.cydata->revctrl[4+i]; + fw_revctrl_platform_h = (fw_revctrl_platform_h * 256) + + ts->platform_data->fw->ver[4+i]; + fw_revctrl_platform_l = (fw_revctrl_platform_l * 256) + + ts->platform_data->fw->ver[8+i]; + } +#ifdef CY_ANY_DIFF_NEW_VER + if (fw_revctrl_platform_h != fw_revctrl_img_h) + new_fw_revctrl = true; + else if (fw_revctrl_platform_h == fw_revctrl_img_h) { + if (fw_revctrl_platform_l != fw_revctrl_img_l) + new_fw_revctrl = true; + else + new_fw_revctrl = false; + } else + new_fw_revctrl = false; +#else + if (fw_revctrl_platform_h > fw_revctrl_img_h) + new_fw_revctrl = true; + else if (fw_revctrl_platform_h == fw_revctrl_img_h) { + if (fw_revctrl_platform_l > fw_revctrl_img_l) + new_fw_revctrl = true; + else + new_fw_revctrl = false; + } else + new_fw_revctrl = false; +#endif + if (new_fw_vers || new_fw_revctrl) + new_vers = true; + + dev_vdbg(ts->dev, + "%s: fw_revctrl_platform_h=%08X" + " fw_revctrl_img_h=%08X\n", __func__, + fw_revctrl_platform_h, fw_revctrl_img_h); + dev_vdbg(ts->dev, + "%s: fw_revctrl_platform_l=%08X" + " fw_revctrl_img_l=%08X\n", __func__, + fw_revctrl_platform_l, fw_revctrl_img_l); + dev_vdbg(ts->dev, + "%s: new_fw_vers=%d new_fw_revctrl=%d new_vers=%d\n", + __func__, + (int)new_fw_vers, (int)new_fw_revctrl, (int)new_vers); + + if (new_vers) { + dev_info(ts->dev, + "%s: upgrading firmware...\n", __func__); + retval = _cyttsp4_load_app(ts, + ts->platform_data->fw->img, + ts->platform_data->fw->size); + if (retval < 0) { + dev_err(ts->dev, + "%s: communication fail" + " on load fw r=%d\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_IDLE_STATE); + retval = -EIO; + } else + *upgraded = true; + } else { + dev_vdbg(ts->dev, + "%s: No auto firmware upgrade required\n", + __func__); + } + } + + return retval; +} +#endif /* --CY_AUTO_LOAD_FW */ + +static ssize_t cyttsp4_ic_ver_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct cyttsp4 *ts = dev_get_drvdata(dev); + + return sprintf(buf, "%s: 0x%02X 0x%02X\n%s: 0x%02X\n%s: 0x%02X\n%s: " + "0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X\n", + "TrueTouch Product ID", + ts->sysinfo_ptr.cydata->ttpidh, + ts->sysinfo_ptr.cydata->ttpidl, + "Firmware Major Version", ts->sysinfo_ptr.cydata->fw_ver_major, + "Firmware Minor Version", ts->sysinfo_ptr.cydata->fw_ver_minor, + "Revision Control Number", ts->sysinfo_ptr.cydata->revctrl[0], + ts->sysinfo_ptr.cydata->revctrl[1], + ts->sysinfo_ptr.cydata->revctrl[2], + ts->sysinfo_ptr.cydata->revctrl[3], + ts->sysinfo_ptr.cydata->revctrl[4], + ts->sysinfo_ptr.cydata->revctrl[5], + ts->sysinfo_ptr.cydata->revctrl[6], + ts->sysinfo_ptr.cydata->revctrl[7]); +} +static DEVICE_ATTR(ic_ver, S_IRUGO, cyttsp4_ic_ver_show, NULL); + +/* Driver version */ +static ssize_t cyttsp4_drv_ver_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct cyttsp4 *ts = dev_get_drvdata(dev); + + return snprintf(buf, CY_MAX_PRBUF_SIZE, + "Driver: %s\nVersion: %s\nDate: %s\n", + ts->input->name, CY_DRIVER_VERSION, CY_DRIVER_DATE); +} +static DEVICE_ATTR(drv_ver, S_IRUGO, cyttsp4_drv_ver_show, NULL); + + +/* Driver status */ +static ssize_t cyttsp4_drv_stat_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct cyttsp4 *ts = dev_get_drvdata(dev); + + return snprintf(buf, CY_MAX_PRBUF_SIZE, + "Driver state is %s\n", + cyttsp4_driver_state_string[ts->driver_state]); +} +static DEVICE_ATTR(drv_stat, S_IRUGO, cyttsp4_drv_stat_show, NULL); + + + + +#ifdef CY_USE_REG_ACCESS +static ssize_t cyttsp_drv_rw_regid_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct cyttsp4 *ts = dev_get_drvdata(dev); + + return snprintf(buf, CY_MAX_PRBUF_SIZE, + "Current Read/Write Regid=%02X(%d)\n", + ts->rw_regid, ts->rw_regid); +} +static ssize_t cyttsp_drv_rw_regid_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + struct cyttsp4 *ts = dev_get_drvdata(dev); + int retval = 0; + unsigned long value; + + mutex_lock(&ts->data_lock); + retval = strict_strtoul(buf, 10, &value); + if (retval < 0) { + retval = strict_strtoul(buf, 16, &value); + if (retval < 0) { + dev_err(ts->dev, + "%s: Failed to convert value\n", + __func__); + goto cyttsp_drv_rw_regid_store_exit; + } + } + + if (value > CY_RW_REGID_MAX) { + ts->rw_regid = CY_RW_REGID_MAX; + dev_err(ts->dev, + "%s: Invalid Read/Write Regid; set to max=%d\n", + __func__, ts->rw_regid); + } else + ts->rw_regid = value; + + retval = size; + +cyttsp_drv_rw_regid_store_exit: + mutex_unlock(&ts->data_lock); + return retval; +} +static DEVICE_ATTR(drv_rw_regid, S_IWUSR | S_IRUGO, + cyttsp_drv_rw_regid_show, cyttsp_drv_rw_regid_store); + + +static ssize_t cyttsp_drv_rw_reg_data_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct cyttsp4 *ts = dev_get_drvdata(dev); + int retval; + u8 reg_data; + + retval = _cyttsp4_read_block_data(ts, ts->rw_regid, + sizeof(reg_data), ®_data, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + + if (retval < 0) + return snprintf(buf, CY_MAX_PRBUF_SIZE, + "Read/Write Regid(%02X(%d) Failed\n", + ts->rw_regid, ts->rw_regid); + else + return snprintf(buf, CY_MAX_PRBUF_SIZE, + "Read/Write Regid=%02X(%d) Data=%02X(%d)\n", + ts->rw_regid, ts->rw_regid, reg_data, reg_data); +} +static ssize_t cyttsp_drv_rw_reg_data_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + struct cyttsp4 *ts = dev_get_drvdata(dev); + int retval = 0; + unsigned long value; + u8 reg_data = 0; + + retval = strict_strtoul(buf, 10, &value); + if (retval < 0) { + retval = strict_strtoul(buf, 16, &value); + if (retval < 0) { + dev_err(ts->dev, + "%s: Failed to convert value\n", + __func__); + goto cyttsp_drv_rw_reg_data_store_exit; + } + } + + if (value > CY_RW_REG_DATA_MAX) { + dev_err(ts->dev, + "%s: Invalid Register Data Range; no write\n", + __func__); + } else { + reg_data = (u8)value; + retval = _cyttsp4_write_block_data(ts, ts->rw_regid, + sizeof(reg_data), ®_data, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Failed write to Regid=%02X(%d)\n", + __func__, ts->rw_regid, ts->rw_regid); + } + } + + retval = size; + +cyttsp_drv_rw_reg_data_store_exit: + return retval; +} +static DEVICE_ATTR(drv_rw_reg_data, S_IWUSR | S_IRUGO, + cyttsp_drv_rw_reg_data_show, cyttsp_drv_rw_reg_data_store); +#endif + +#ifdef FACTORY_TESTING + +static void set_node_data(struct cyttsp4 *ts_data, const u8 data_type, + int *max_value, int *min_value) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +static void set_default_result(struct factory_data *data) +{ + char delim = ':'; + + memset(data->cmd_result, 0x00, ARRAY_SIZE(data->cmd_result)); + memset(data->cmd_buff, 0x00, ARRAY_SIZE(data->cmd_buff)); + memcpy(data->cmd_result, data->cmd, strlen(data->cmd)); + strncat(data->cmd_result, &delim, 1); +} + +static void set_cmd_result(struct factory_data *data, char *buff, int len) +{ + strncat(data->cmd_result, buff, len); +} + +static void not_support_cmd(void *device_data) +{ + struct cyttsp4 *ts_data = (struct cyttsp4 *)device_data; + struct factory_data *data = ts_data->factory_data; + + set_default_result(data); + sprintf(data->cmd_buff, "%s", "NA"); + set_cmd_result(data, data->cmd_buff, strlen(data->cmd_buff)); + data->cmd_state = NOT_APPLICABLE; + pr_info("tsp factory : %s: \"%s(%d)\"\n", __func__, + data->cmd_buff, strlen(data->cmd_buff)); + return; +} + +static void fw_update(void *device_data) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +static void get_fw_ver_bin(void *device_data) +{ + struct cyttsp4 *ts_data = (struct cyttsp4 *)device_data; + struct factory_data *data = ts_data->factory_data; + + data->cmd_state = RUNNING; + + set_default_result(data); + sprintf(data->cmd_buff, "%.4x", FW_VERSION); + set_cmd_result(data, data->cmd_buff, strlen(data->cmd_buff)); + + data->cmd_state = OK; + return; +} + +static void get_fw_ver_ic(void *device_data) +{ + struct cyttsp4 *ts_data = (struct cyttsp4 *)device_data; + struct factory_data *data = ts_data->factory_data; + + u8 buf[2]; + + data->cmd_state = RUNNING; + buf[0] = *((u8 *)ts_data->sysinfo_ptr.ddata+21); + buf[1] = *((u8 *)ts_data->sysinfo_ptr.ddata+20); + + set_default_result(data); + sprintf(data->cmd_buff, "%.2x%.2x", buf[1], buf[0]); + set_cmd_result(data, data->cmd_buff, strlen(data->cmd_buff)); + + data->cmd_state = OK; + return; +} + +static void get_config_ver(void *device_data) +{ + struct cyttsp4 *ts_data = (struct cyttsp4 *)device_data; + struct factory_data *data = ts_data->factory_data; + + u8 buf = 0; + + data->cmd_state = RUNNING; + buf = *((u8 *)ts_data->sysinfo_ptr.ddata+22); + set_default_result(data); + sprintf(data->cmd_buff, "%.2x", buf); + set_cmd_result(data, data->cmd_buff, strlen(data->cmd_buff)); + + data->cmd_state = OK; + return; +} + +static void get_threshold(void *device_data) +{ + struct cyttsp4 *ts_data = (struct cyttsp4 *)device_data; + struct factory_data *data = ts_data->factory_data; + enum cyttsp4_ic_ebid ebid = CY_TCH_PARM_EBID; + u8 *pdata = NULL; + u8 buf = 0; + int retval = 0; + + data->cmd_state = RUNNING; + + pdata = kzalloc(ts_data->ebid_row_size, GFP_KERNEL); + memset(pdata, 0, ts_data->ebid_row_size); + mutex_lock(&ts_data->data_lock); + retval = _cyttsp4_set_mode(ts_data, CY_CONFIG_MODE); + if (retval < 0) { + dev_err(ts_data->dev, + "%s: Fail set config mode 1 r=%d\n", __func__, retval); + goto cyttsp_threshold_get_fail; + } + + retval = _cyttsp4_get_ebid_data_tma400(ts_data, ebid, 3, pdata); + if (retval < 0) { + dev_err(ts_data->dev, + "%s: Fail get threshold value r=%d\n", __func__, retval); + goto cyttsp_threshold_get_fail; + } + + retval = _cyttsp4_set_mode(ts_data, CY_OPERATE_MODE); + if (retval < 0) { + dev_err(ts_data->dev, + "%s: Fail set operational mode 1 (r=%d)\n", + __func__, retval); + goto cyttsp_threshold_get_fail; + } + + mutex_unlock(&ts_data->data_lock); + + buf = *(pdata+23); + +cyttsp_threshold_get_fail: + set_default_result(data); + + sprintf(data->cmd_buff, "%.2x", buf); + set_cmd_result(data, data->cmd_buff, strlen(data->cmd_buff)); + + data->cmd_state = OK; + if (pdata != NULL) + kfree(pdata); + + return; +} + +static void module_off_master(void *device_data) +{ + +} + +static void module_on_master(void *device_data) +{ + +} + +static void get_chip_vendor(void *device_data) +{ + struct cyttsp4 *ts_data = (struct cyttsp4 *)device_data; + struct factory_data *data = ts_data->factory_data; + + data->cmd_state = RUNNING; + + set_default_result(data); + sprintf(data->cmd_buff, "%s", TSP_VENDOR); + set_cmd_result(data, data->cmd_buff, strlen(data->cmd_buff)); + + data->cmd_state = OK; + return; +} + +static void get_chip_name(void *device_data) +{ + struct cyttsp4 *ts_data = (struct cyttsp4 *)device_data; + struct factory_data *data = ts_data->factory_data; + + data->cmd_state = RUNNING; + + set_default_result(data); + sprintf(data->cmd_buff, "%s", TSP_IC); + set_cmd_result(data, data->cmd_buff, strlen(data->cmd_buff)); + + data->cmd_state = OK; + return; +} + +static void get_x_num(void *device_data) +{ + struct cyttsp4 *ts_data = (struct cyttsp4 *)device_data; + struct factory_data *data = ts_data->factory_data; + + data->cmd_state = RUNNING; + + set_default_result(data); + + set_cmd_result(data, data->cmd_buff, strlen(data->cmd_buff)); + + data->cmd_state = OK; + return; +} + +static void get_y_num(void *device_data) +{ + struct cyttsp4 *ts_data = (struct cyttsp4 *)device_data; + struct factory_data *data = ts_data->factory_data; + + data->cmd_state = RUNNING; + + set_default_result(data); + + set_cmd_result(data, data->cmd_buff, strlen(data->cmd_buff)); + + data->cmd_state = OK; + return; +} + +static void get_reference(void *device_data) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +static void get_cm_abs(void *device_data) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +static void get_cm_delta(void *device_data) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +static void get_intensity(void *device_data) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +static void run_reference_read(void *device_data) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +static void run_cm_abs_read(void *device_data) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +static void run_cm_delta_read(void *device_data) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +static void run_intensity_read(void *device_data) +{ + /* TODO : fix later + * Add factory func. for cypress GEN4 + */ +} + +struct tsp_cmd tsp_cmds[] = { + {TSP_CMD("fw_update", fw_update),}, + {TSP_CMD("get_fw_ver_bin", get_fw_ver_bin),}, + {TSP_CMD("get_fw_ver_ic", get_fw_ver_ic),}, + {TSP_CMD("get_config_ver", get_config_ver),}, + {TSP_CMD("get_threshold", get_threshold),}, + {TSP_CMD("module_off_master", module_off_master),}, + {TSP_CMD("module_on_master", module_on_master),}, + {TSP_CMD("module_off_slave", not_support_cmd),}, + {TSP_CMD("module_on_slave", not_support_cmd),}, + {TSP_CMD("get_chip_vendor", get_chip_vendor),}, + {TSP_CMD("get_chip_name", get_chip_name),}, + {TSP_CMD("get_x_num", get_x_num),}, + {TSP_CMD("get_y_num", get_y_num),}, + {TSP_CMD("get_reference", get_reference),}, + {TSP_CMD("get_cm_abs", get_cm_abs),}, + {TSP_CMD("get_cm_delta", get_cm_delta),}, + {TSP_CMD("get_intensity", get_intensity),}, + {TSP_CMD("run_reference_read", run_reference_read),}, + {TSP_CMD("run_cm_abs_read", run_cm_abs_read),}, + {TSP_CMD("run_cm_delta_read", run_cm_delta_read),}, + {TSP_CMD("run_intensity_read", run_intensity_read),}, + {TSP_CMD("not_support_cmd", not_support_cmd),}, +}; + +static ssize_t cmd_store(struct device *dev, struct device_attribute *devattr, + const char *buf, size_t count) +{ + struct cyttsp4 *ts_data = dev_get_drvdata(dev); + struct factory_data *data = ts_data->factory_data; + char *cur, *start, *end; + char buff[TSP_CMD_STR_LEN] = {0, }; + int len, i; + struct tsp_cmd *tsp_cmd_ptr = NULL; + char delim = ','; + bool cmd_found = false; + int param_cnt = 0; + + if (data == NULL) { + pr_err("factory_data is NULL.\n"); + goto err_out; + } + + if (data->cmd_is_running == true) { + pr_err("tsp cmd: other cmd is running.\n"); + goto err_out; + } + + /* check lock */ + mutex_lock(&data->cmd_lock); + data->cmd_is_running = true; + mutex_unlock(&data->cmd_lock); + + data->cmd_state = RUNNING; + + for (i = 0; i < ARRAY_SIZE(data->cmd_param); i++) + data->cmd_param[i] = 0; + + len = (int)count; + if (*(buf + len - 1) == '\n') + len--; + memset(data->cmd, 0x00, ARRAY_SIZE(data->cmd)); + memcpy(data->cmd, buf, len); + + cur = strchr(buf, (int)delim); + if (cur) + memcpy(buff, buf, cur - buf); + else + memcpy(buff, buf, len); + + /* find command */ + list_for_each_entry(tsp_cmd_ptr, &data->cmd_list_head, list) { + if (!strcmp(buff, tsp_cmd_ptr->cmd_name)) { + cmd_found = true; + break; + } + } + + /* set not_support_cmd */ + if (!cmd_found) { + list_for_each_entry(tsp_cmd_ptr, &data->cmd_list_head, list) { + if (!strcmp("not_support_cmd", tsp_cmd_ptr->cmd_name)) + break; + } + } + + /* parsing parameters */ + if (cur && cmd_found) { + cur++; + start = cur; + do { + memset(buff, 0x00, ARRAY_SIZE(buff)); + if (*cur == delim || cur - buf == len) { + end = cur; + memcpy(buff, start, end - start); + *(buff + strlen(buff)) = '\0'; + if (kstrtoint(buff, 10, + data->cmd_param + param_cnt) < 0) + break; + start = cur + 1; + param_cnt++; + } + cur++; + } while (cur - buf <= len); + } + + pr_info("cmd = %s\n", tsp_cmd_ptr->cmd_name); + for (i = 0; i < param_cnt; i++) + pr_info("cmd param %d= %d\n", i, data->cmd_param[i]); + + tsp_cmd_ptr->cmd_func(ts_data); + +err_out: + return count; +} + +static ssize_t cmd_status_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct cyttsp4 *ts_data = dev_get_drvdata(dev); + struct factory_data *data = ts_data->factory_data; + char buff[16]; + + pr_info("tsp cmd: status:%d\n", data->cmd_state); + + switch (data->cmd_state) { + case WAITING: + sprintf(buff, "%s", TOSTRING(WAITING)); + break; + case RUNNING: + sprintf(buff, "%s", TOSTRING(RUNNING)); + break; + case OK: + sprintf(buff, "%s", TOSTRING(OK)); + break; + case FAIL: + sprintf(buff, "%s", TOSTRING(FAIL)); + break; + case NOT_APPLICABLE: + sprintf(buff, "%s", TOSTRING(NOT_APPLICABLE)); + break; + default: + sprintf(buff, "%s", TOSTRING(NOT_APPLICABLE)); + break; + } + + return sprintf(buf, "%s\n", buff); +} + +static ssize_t cmd_result_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct cyttsp4 *ts_data = dev_get_drvdata(dev); + struct factory_data *data = ts_data->factory_data; + + pr_info("tsp factory : tsp cmd: result: \"%s(%d)\"\n", + data->cmd_result, strlen(data->cmd_result)); + + mutex_lock(&data->cmd_lock); + data->cmd_is_running = false; + mutex_unlock(&data->cmd_lock); + + data->cmd_state = WAITING; + + return sprintf(buf, "%s\n", data->cmd_result); +} + +static DEVICE_ATTR(cmd, S_IWUSR | S_IWGRP, NULL, cmd_store); +static DEVICE_ATTR(cmd_status, S_IRUGO, cmd_status_show, NULL); +static DEVICE_ATTR(cmd_result, S_IRUGO, cmd_result_show, NULL); + +static struct attribute *touchscreen_attributes[] = { + &dev_attr_cmd.attr, + &dev_attr_cmd_status.attr, + &dev_attr_cmd_result.attr, + NULL, +}; + +static struct attribute_group touchscreen_attr_group = { + .attrs = touchscreen_attributes, +}; +#endif + +#if TOUCH_BOOST +static void disable_dvfs(struct work_struct *unused) +{ + omap_cpufreq_min_limit_free(DVFS_LOCK_ID_TSP); + boost = false; + return; +} +static DECLARE_WORK(tsp_wq, disable_dvfs); + +static void timer_cb(unsigned long data) +{ + schedule_work(&tsp_wq); + return; +} +#endif + +#define CY_CMD_I2C_ADDR 0 +#define CY_STATUS_SIZE_BYTE 1 +#define CY_STATUS_TYP_DELAY 2 +#define CY_CMD_TAIL_LEN 3 +#define CY_CMD_BYTE 1 +#define CY_STATUS_BYTE 1 +#define CY_MAX_STATUS_SIZE 32 +#define CY_MIN_STATUS_SIZE 5 +#define CY_START_OF_PACKET 0x01 +#define CY_END_OF_PACKET 0x17 +#define CY_DATA_ROW_SIZE 288 +#define CY_DATA_ROW_SIZE_TMA400 128 +#define CY_PACKET_DATA_LEN 96 +#define CY_MAX_PACKET_LEN 512 +#define CY_COMM_BUSY 0xFF +#define CY_CMD_BUSY 0xFE +#define CY_SEPARATOR_OFFSET 0 +#define CY_ARRAY_ID_OFFSET 0 +#define CY_ROW_NUM_OFFSET 1 +#define CY_ROW_SIZE_OFFSET 3 +#define CY_ROW_DATA_OFFSET 5 +#define CY_FILE_SILICON_ID_OFFSET 0 +#define CY_FILE_REV_ID_OFFSET 4 +#define CY_CMD_LDR_HOST_SYNC 0xFF /* tma400 */ +#define CY_CMD_LDR_EXIT 0x3B +#define CY_CMD_LDR_EXIT_CMD_SIZE 7 +#define CY_CMD_LDR_EXIT_STAT_SIZE 7 + +enum ldr_status { + ERROR_SUCCESS = 0, + ERROR_COMMAND = 1, + ERROR_FLASH_ARRAY = 2, + ERROR_PACKET_DATA = 3, + ERROR_PACKET_LEN = 4, + ERROR_PACKET_CHECKSUM = 5, + ERROR_FLASH_PROTECTION = 6, + ERROR_FLASH_CHECKSUM = 7, + ERROR_VERIFY_IMAGE = 8, + ERROR_UKNOWN1 = 9, + ERROR_UKNOWN2 = 10, + ERROR_UKNOWN3 = 11, + ERROR_UKNOWN4 = 12, + ERROR_UKNOWN5 = 13, + ERROR_UKNOWN6 = 14, + ERROR_INVALID_COMMAND = 15, + ERROR_INVALID +}; + +static u16 _cyttsp4_compute_crc(struct cyttsp4 *ts, u8 *buf, int size) +{ + u16 crc = 0xffff; + u16 tmp; + int i; + + /* RUN CRC */ + + if (size == 0) + crc = ~crc; + else { + + do { + for (i = 0, tmp = 0x00ff & *buf++; i < 8; + i++, tmp >>= 1) { + if ((crc & 0x0001) ^ (tmp & 0x0001)) + crc = (crc >> 1) ^ 0x8408; + else + crc >>= 1; + } + } while (--size); + + crc = ~crc; + tmp = crc; + crc = (crc << 8) | (tmp >> 8 & 0xFF); + } + + return crc; +} + +static int _cyttsp4_get_status(struct cyttsp4 *ts, + u8 *buf, int size, unsigned long timeout_ms) +{ + unsigned long uretval = 0; + int tries = 0; + int retval = 0; + + if (timeout_ms != 0) { + /* wait until status ready interrupt or timeout occurs */ + uretval = wait_for_completion_interruptible_timeout( + &ts->int_running, msecs_to_jiffies(timeout_ms)); + + /* read the status packet */ + if (buf == NULL) { + dev_err(ts->dev, + "%s: Status buf ptr is NULL\n", __func__); + retval = -EINVAL; + goto _cyttsp4_get_status_exit; + } + for (tries = 0; tries < 2; tries++) { + retval = _cyttsp4_read_block_data(ts, CY_REG_BASE, size, + buf, ts->platform_data->addr[CY_LDR_ADDR_OFS], +#ifdef CY_USE_TMA400 + true); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + false); +#endif /* --CY_USE_TMA884 */ + /* + * retry if bus read error or + * status byte shows not ready + */ + if ((buf[1] == CY_COMM_BUSY) || (buf[1] == CY_CMD_BUSY)) + msleep(CY_DELAY_DFLT); + else + break; + } + dev_vdbg(ts->dev, + "%s: tries=%d ret=%d status=%02X\n", + __func__, tries, retval, buf[1]); + } + +_cyttsp4_get_status_exit: + mutex_lock(&ts->data_lock); + return retval; +} + +/* + * Send a bootloader command to the device; + * Wait for the ISR to execute indicating command + * was received and status is ready; + * Releases data_lock mutex to allow ISR to run, + * then locks it again. + */ +static int _cyttsp4_send_cmd(struct cyttsp4 *ts, const u8 *cmd_buf, + int cmd_size, u8 *stat_ret, size_t num_stat_byte, + size_t status_size, unsigned long timeout_ms) +{ + u8 *status_buf = NULL; + int retval = 0; + + if (timeout_ms > 0) { + status_buf = kzalloc(CY_MAX_STATUS_SIZE, GFP_KERNEL); + if (status_buf == NULL) { + dev_err(ts->dev, + "%s: Fail alloc status buffer=%p\n", + __func__, status_buf); + goto _cyttsp4_send_cmd_exit; + } + } + + if (cmd_buf == NULL) { + dev_err(ts->dev, + "%s: bad cmd_buf=%p\n", __func__, cmd_buf); + goto _cyttsp4_send_cmd_exit; + } + + if (cmd_size == 0) { + dev_err(ts->dev, + "%s: bad cmd_size=%d\n", __func__, cmd_size); + goto _cyttsp4_send_cmd_exit; + } + + _cyttsp4_pr_buf(ts, (u8 *)cmd_buf, cmd_size, "send_cmd"); + + mutex_unlock(&ts->data_lock); + if (timeout_ms > 0) + INIT_COMPLETION(ts->int_running); + retval = _cyttsp4_write_block_data(ts, CY_REG_BASE, cmd_size, cmd_buf, + ts->platform_data->addr[CY_LDR_ADDR_OFS], +#ifdef CY_USE_TMA400 + true); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + false); +#endif /* --CY_USE_TMA884 */ + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail writing command=%02X\n", + __func__, cmd_buf[CY_CMD_BYTE]); + mutex_lock(&ts->data_lock); + goto _cyttsp4_send_cmd_exit; + } + + /* get the status and lock the mutex */ + if (timeout_ms > 0) { + retval = _cyttsp4_get_status(ts, status_buf, + status_size, timeout_ms); + if ((retval < 0) || (status_buf[0] != CY_START_OF_PACKET)) { + dev_err(ts->dev, + "%s: Error getting status r=%d" + " status_buf[0]=%02X\n", + __func__, retval, status_buf[0]); + if (!(retval < 0)) + retval = -EIO; + goto _cyttsp4_send_cmd_exit; + } else { + if (status_buf[CY_STATUS_BYTE] != ERROR_SUCCESS) { + dev_err(ts->dev, + "%s: Status=0x%02X error\n", + __func__, status_buf[CY_STATUS_BYTE]); + retval = -EIO; + } else if (stat_ret != NULL) { + if (num_stat_byte < status_size) + *stat_ret = status_buf[num_stat_byte]; + else + *stat_ret = 0; + } + } + } else { + if (stat_ret != NULL) + *stat_ret = ERROR_SUCCESS; + mutex_lock(&ts->data_lock); + } + +_cyttsp4_send_cmd_exit: + if (status_buf != NULL) + kfree(status_buf); + return retval; +} + +struct cyttsp4_dev_id { + u32 silicon_id; + u8 rev_id; + u32 bl_ver; +}; + +#if defined(CY_AUTO_LOAD_FW) || \ + defined(CY_USE_FORCE_LOAD) || \ + defined(CONFIG_TOUCHSCREEN_DEBUG) +#define CY_CMD_LDR_ENTER 0x38 +#define CY_CMD_LDR_ENTER_CMD_SIZE 7 +#define CY_CMD_LDR_ENTER_STAT_SIZE 15 +#define CY_CMD_LDR_INIT 0x48 +#define CY_CMD_LDR_INIT_CMD_SIZE 15 +#define CY_CMD_LDR_INIT_STAT_SIZE 7 +#define CY_CMD_LDR_ERASE_ROW 0x34 +#define CY_CMD_LDR_ERASE_ROW_CMD_SIZE 10 +#define CY_CMD_LDR_ERASE_ROW_STAT_SIZE 7 +#define CY_CMD_LDR_SEND_DATA 0x37 +#define CY_CMD_LDR_SEND_DATA_CMD_SIZE 4 /* hdr bytes only */ +#define CY_CMD_LDR_SEND_DATA_STAT_SIZE 8 +#define CY_CMD_LDR_PROG_ROW 0x39 +#define CY_CMD_LDR_PROG_ROW_CMD_SIZE 7 /* hdr bytes only */ +#define CY_CMD_LDR_PROG_ROW_STAT_SIZE 7 +#define CY_CMD_LDR_VERIFY_ROW 0x3A +#define CY_CMD_LDR_VERIFY_ROW_STAT_SIZE 8 +#define CY_CMD_LDR_VERIFY_ROW_CMD_SIZE 10 +#define CY_CMD_LDR_VERIFY_CHKSUM 0x31 +#define CY_CMD_LDR_VERIFY_CHKSUM_CMD_SIZE 7 +#define CY_CMD_LDR_VERIFY_CHKSUM_STAT_SIZE 8 + + +static u16 _cyttsp4_get_short(u8 *buf) +{ + return ((u16)(*buf) << 8) + *(buf+1); +} + +static u8 *_cyttsp4_get_row(struct cyttsp4 *ts, + u8 *row_buf, u8 *image_buf, int size) +{ + int i; + for (i = 0; i < size; i++) { + /* copy a row from the image */ + row_buf[i] = image_buf[i]; + } + + image_buf = image_buf + size; + return image_buf; +} + +static int _cyttsp4_ldr_enter(struct cyttsp4 *ts, struct cyttsp4_dev_id *dev_id) +{ + u16 crc; + int i = 0; + size_t cmd_size; + u8 status_buf[CY_MAX_STATUS_SIZE]; + u8 status = 0; + int retval = 0; + /* +1 for TMA400 host sync byte */ + u8 ldr_enter_cmd[CY_CMD_LDR_ENTER_CMD_SIZE+1]; + + memset(status_buf, 0, sizeof(status_buf)); + dev_id->bl_ver = 0; + dev_id->rev_id = 0; + dev_id->silicon_id = 0; + +#ifdef CY_USE_TMA400 + ldr_enter_cmd[i++] = CY_CMD_LDR_HOST_SYNC; +#endif /* --CY_USE_TMA400 */ + ldr_enter_cmd[i++] = CY_START_OF_PACKET; + ldr_enter_cmd[i++] = CY_CMD_LDR_ENTER; + ldr_enter_cmd[i++] = 0x00; /* data len lsb */ + ldr_enter_cmd[i++] = 0x00; /* data len msb */ +#ifdef CY_USE_TMA400 + crc = _cyttsp4_compute_crc(ts, &ldr_enter_cmd[1], i - 1); + cmd_size = sizeof(ldr_enter_cmd); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + crc = _cyttsp4_compute_crc(ts, ldr_enter_cmd, i); + cmd_size = sizeof(ldr_enter_cmd) - 1; +#endif /* --CY_USE_TMA884 */ + ldr_enter_cmd[i++] = (u8)crc; + ldr_enter_cmd[i++] = (u8)(crc >> 8); + ldr_enter_cmd[i++] = CY_END_OF_PACKET; + + mutex_unlock(&ts->data_lock); + INIT_COMPLETION(ts->int_running); + retval = _cyttsp4_write_block_data(ts, CY_REG_BASE, cmd_size, + ldr_enter_cmd, ts->platform_data->addr[CY_LDR_ADDR_OFS], +#ifdef CY_USE_TMA400 + true); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + false); +#endif /* --CY_USE_TMA884 */ + if (retval < 0) { + dev_err(ts->dev, + "%s: write block failed %d\n", __func__, retval); + goto _cyttsp4_ldr_enter_exit; + } + + /* Wait for ISR, get status and lock mutex */ + retval = _cyttsp4_get_status(ts, status_buf, + CY_CMD_LDR_ENTER_STAT_SIZE, CY_HALF_SEC_TMO_MS); + + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail get status to Enter Loader command r=%d\n", + __func__, retval); + } else { + status = status_buf[CY_STATUS_BYTE]; + if (status == ERROR_SUCCESS) { + dev_id->bl_ver = + status_buf[11] << 16 | + status_buf[10] << 8 | + status_buf[9] << 0; + dev_id->rev_id = + status_buf[8] << 0; + dev_id->silicon_id = + status_buf[7] << 24 | + status_buf[6] << 16 | + status_buf[5] << 8 | + status_buf[4] << 0; + retval = 0; + } else + retval = -EIO; + dev_vdbg(ts->dev, + "%s: status=%d " + "bl_ver=%08X rev_id=%02X silicon_id=%08X\n", + __func__, status, + dev_id->bl_ver, dev_id->rev_id, dev_id->silicon_id); + } + +_cyttsp4_ldr_enter_exit: + return retval; +} + +#ifdef CY_USE_TMA400 +static int _cyttsp4_ldr_init(struct cyttsp4 *ts) +{ + u16 crc; + int i = 0; + int retval = 0; + /* +1 for TMA400 host sync byte */ + u8 ldr_init_cmd[CY_CMD_LDR_INIT_CMD_SIZE+1]; + + ldr_init_cmd[i++] = CY_CMD_LDR_HOST_SYNC; + ldr_init_cmd[i++] = CY_START_OF_PACKET; + ldr_init_cmd[i++] = CY_CMD_LDR_INIT; + ldr_init_cmd[i++] = 0x08; /* data len lsb */ + ldr_init_cmd[i++] = 0x00; /* data len msb */ + memcpy(&ldr_init_cmd[i], cyttsp4_security_key, + sizeof(cyttsp4_security_key)); + i += sizeof(cyttsp4_security_key); + crc = _cyttsp4_compute_crc(ts, &ldr_init_cmd[1], i - 1); + ldr_init_cmd[i++] = (u8)crc; + ldr_init_cmd[i++] = (u8)(crc >> 8); + ldr_init_cmd[i++] = CY_END_OF_PACKET; + + retval = _cyttsp4_send_cmd(ts, ldr_init_cmd, i, NULL, 0, + CY_CMD_LDR_INIT_STAT_SIZE, CY_TEN_SEC_TMO_MS); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail ldr init r=%d\n", + __func__, retval); + } + + return retval; +} +#endif /* --CY_USE_TMA400 */ + +struct cyttsp4_hex_image { + u8 array_id; + u16 row_num; + u16 row_size; + u8 row_data[CY_DATA_ROW_SIZE]; +} __packed; + +#ifdef CY_USE_TMA884 +static int _cyttsp4_ldr_erase_row(struct cyttsp4 *ts, + struct cyttsp4_hex_image *row_image) +{ + u16 crc; + int i = 0; + int retval = 0; + /* +1 for TMA400 host sync byte */ + u8 ldr_erase_row_cmd[CY_CMD_LDR_ERASE_ROW_CMD_SIZE+1]; + +#ifdef CY_USE_TMA400 + ldr_erase_row_cmd[i++] = CY_CMD_LDR_HOST_SYNC; +#endif /* --CY_USE_TMA400 */ + ldr_erase_row_cmd[i++] = CY_START_OF_PACKET; + ldr_erase_row_cmd[i++] = CY_CMD_LDR_ERASE_ROW; + ldr_erase_row_cmd[i++] = 0x03; /* data len lsb */ + ldr_erase_row_cmd[i++] = 0x00; /* data len msb */ + ldr_erase_row_cmd[i++] = row_image->array_id; + ldr_erase_row_cmd[i++] = (u8)row_image->row_num; + ldr_erase_row_cmd[i++] = (u8)(row_image->row_num >> 8); +#ifdef CY_USE_TMA400 + crc = _cyttsp4_compute_crc(ts, &ldr_erase_row_cmd[1], i - 1); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + crc = _cyttsp4_compute_crc(ts, ldr_erase_row_cmd, i); +#endif /* --CY_USE_TMA884 */ + ldr_erase_row_cmd[i++] = (u8)crc; + ldr_erase_row_cmd[i++] = (u8)(crc >> 8); + ldr_erase_row_cmd[i++] = CY_END_OF_PACKET; + + retval = _cyttsp4_send_cmd(ts, ldr_erase_row_cmd, i, NULL, 0, + CY_CMD_LDR_ERASE_ROW_STAT_SIZE, CY_HALF_SEC_TMO_MS); + + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail erase row=%d r=%d\n", + __func__, row_image->row_num, retval); + } + return retval; +} +#endif + +static int _cyttsp4_ldr_parse_row(struct cyttsp4 *ts, u8 *row_buf, + struct cyttsp4_hex_image *row_image) +{ + u16 i, j; + int retval = 0; + + if (!row_buf) { + dev_err(ts->dev, + "%s parse row error - buf is null\n", __func__); + retval = -EINVAL; + goto cyttsp4_ldr_parse_row_exit; + } + + row_image->array_id = row_buf[CY_ARRAY_ID_OFFSET]; + row_image->row_num = _cyttsp4_get_short(&row_buf[CY_ROW_NUM_OFFSET]); + row_image->row_size = _cyttsp4_get_short(&row_buf[CY_ROW_SIZE_OFFSET]); + + if (row_image->row_size > ARRAY_SIZE(row_image->row_data)) { + dev_err(ts->dev, + "%s: row data buffer overflow\n", __func__); + retval = -EOVERFLOW; + goto cyttsp4_ldr_parse_row_exit; + } + + for (i = 0, j = CY_ROW_DATA_OFFSET; + i < row_image->row_size; i++) + row_image->row_data[i] = row_buf[j++]; + + retval = 0; + +cyttsp4_ldr_parse_row_exit: + return retval; +} + +static int _cyttsp4_ldr_prog_row(struct cyttsp4 *ts, + struct cyttsp4_hex_image *row_image) +{ + u16 crc; + int next; + int data; + int row_data; + u16 row_sum = 0; + size_t data_len; +#ifdef CY_USE_TMA884 + int segment; +#endif /* --CY_USE_TMA884 */ + int retval = 0; + + u8 *cmd = kzalloc(CY_MAX_PACKET_LEN, GFP_KERNEL); + + if (cmd != NULL) { + row_data = 0; + row_sum = 0; + +#ifdef CY_USE_TMA884 + for (segment = 0; segment < + (CY_DATA_ROW_SIZE/CY_PACKET_DATA_LEN)-1; + segment++) { + next = 0; + cmd[next++] = CY_START_OF_PACKET; + cmd[next++] = CY_CMD_LDR_SEND_DATA; + cmd[next++] = (u8)CY_PACKET_DATA_LEN; + cmd[next++] = (u8)(CY_PACKET_DATA_LEN >> 8); + + for (data = 0; + data < CY_PACKET_DATA_LEN; data++) { + cmd[next] = row_image->row_data + [row_data++]; + row_sum += cmd[next]; + next++; + } + + crc = _cyttsp4_compute_crc(ts, cmd, next); + cmd[next++] = (u8)crc; + cmd[next++] = (u8)(crc >> 8); + cmd[next++] = CY_END_OF_PACKET; + + retval = _cyttsp4_send_cmd(ts, cmd, next, NULL, + 0, CY_CMD_LDR_SEND_DATA_STAT_SIZE, + CY_HALF_SEC_TMO_MS); + + if (retval < 0) { + dev_err(ts->dev, + "%s: send row=%d segment=%d" + " fail r=%d\n", + __func__, row_image->row_num, + segment, retval); + goto cyttsp4_ldr_prog_row_exit; + } + } +#endif /* --CY_USE_TMA884 */ + + next = 0; +#ifdef CY_USE_TMA400 + cmd[next++] = CY_CMD_LDR_HOST_SYNC; +#endif /* --CY_USE_TMA400 */ + cmd[next++] = CY_START_OF_PACKET; + cmd[next++] = CY_CMD_LDR_PROG_ROW; + /* + * include array id size and row id size in CY_PACKET_DATA_LEN + */ +#ifdef CY_USE_TMA400 + data_len = CY_DATA_ROW_SIZE_TMA400; +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + data_len = CY_PACKET_DATA_LEN; +#endif /* --CY_USE_TMA884 */ + cmd[next++] = (u8)(data_len+3); + cmd[next++] = (u8)((data_len+3) >> 8); + cmd[next++] = row_image->array_id; + cmd[next++] = (u8)row_image->row_num; + cmd[next++] = (u8)(row_image->row_num >> 8); + + for (data = 0; + data < data_len; data++) { + cmd[next] = row_image->row_data[row_data++]; + row_sum += cmd[next]; + next++; + } + +#ifdef CY_USE_TMA400 + crc = _cyttsp4_compute_crc(ts, &cmd[1], next - 1); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + crc = _cyttsp4_compute_crc(ts, cmd, next); +#endif /* --CY_USE_TMA884 */ + cmd[next++] = (u8)crc; + cmd[next++] = (u8)(crc >> 8); + cmd[next++] = CY_END_OF_PACKET; + + retval = _cyttsp4_send_cmd(ts, cmd, next, NULL, 0, + CY_CMD_LDR_PROG_ROW_STAT_SIZE, CY_HALF_SEC_TMO_MS); + + if (retval < 0) { + dev_err(ts->dev, + "%s: prog row=%d fail r=%d\n", + __func__, row_image->row_num, retval); + goto cyttsp4_ldr_prog_row_exit; + } + + } else { + dev_err(ts->dev, + "%s prog row error - cmd buf is NULL\n", __func__); + retval = -EIO; + } + +cyttsp4_ldr_prog_row_exit: + if (cmd != NULL) + kfree(cmd); + return retval; +} + +static int _cyttsp4_ldr_verify_row(struct cyttsp4 *ts, + struct cyttsp4_hex_image *row_image) +{ + u16 crc; + int i = 0; + u8 verify_checksum; + int retval = 0; + /* +1 for TMA400 host sync byte */ + u8 ldr_verify_row_cmd[CY_CMD_LDR_VERIFY_ROW_CMD_SIZE+1]; + +#ifdef CY_USE_TMA400 + ldr_verify_row_cmd[i++] = CY_CMD_LDR_HOST_SYNC; +#endif /* --CY_USE_TMA400 */ + ldr_verify_row_cmd[i++] = CY_START_OF_PACKET; + ldr_verify_row_cmd[i++] = CY_CMD_LDR_VERIFY_ROW; + ldr_verify_row_cmd[i++] = 0x03; /* data len lsb */ + ldr_verify_row_cmd[i++] = 0x00; /* data len msb */ + ldr_verify_row_cmd[i++] = row_image->array_id; + ldr_verify_row_cmd[i++] = (u8)row_image->row_num; + ldr_verify_row_cmd[i++] = (u8)(row_image->row_num >> 8); +#ifdef CY_USE_TMA400 + crc = _cyttsp4_compute_crc(ts, &ldr_verify_row_cmd[1], i - 1); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + crc = _cyttsp4_compute_crc(ts, ldr_verify_row_cmd, i); +#endif /* --CY_USE_TMA884 */ + ldr_verify_row_cmd[i++] = (u8)crc; + ldr_verify_row_cmd[i++] = (u8)(crc >> 8); + ldr_verify_row_cmd[i++] = CY_END_OF_PACKET; + + retval = _cyttsp4_send_cmd(ts, ldr_verify_row_cmd, i, + &verify_checksum, 4, + CY_CMD_LDR_VERIFY_ROW_STAT_SIZE, CY_HALF_SEC_TMO_MS); + + if (retval < 0) { + dev_err(ts->dev, + "%s: verify row=%d fail r=%d\n", + __func__, row_image->row_num, retval); + } + + return retval; +} + +static int _cyttsp4_ldr_verify_chksum(struct cyttsp4 *ts, u8 *app_chksum) +{ + u16 crc; + int i = 0; + int retval = 0; + /* +1 for TMA400 host sync byte */ + u8 ldr_verify_chksum_cmd[CY_CMD_LDR_VERIFY_CHKSUM_CMD_SIZE+1]; + +#ifdef CY_USE_TMA400 + ldr_verify_chksum_cmd[i++] = CY_CMD_LDR_HOST_SYNC; +#endif /* --CY_USE_TMA400 */ + ldr_verify_chksum_cmd[i++] = CY_START_OF_PACKET; + ldr_verify_chksum_cmd[i++] = CY_CMD_LDR_VERIFY_CHKSUM; + ldr_verify_chksum_cmd[i++] = 0x00; /* data len lsb */ + ldr_verify_chksum_cmd[i++] = 0x00; /* data len msb */ +#ifdef CY_USE_TMA400 + crc = _cyttsp4_compute_crc(ts, &ldr_verify_chksum_cmd[1], i - 1); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + crc = _cyttsp4_compute_crc(ts, ldr_verify_chksum_cmd, i); +#endif /* --CY_USE_TMA884 */ + ldr_verify_chksum_cmd[i++] = (u8)crc; + ldr_verify_chksum_cmd[i++] = (u8)(crc >> 8); + ldr_verify_chksum_cmd[i++] = CY_END_OF_PACKET; + + retval = _cyttsp4_send_cmd(ts, ldr_verify_chksum_cmd, i, + app_chksum, 4, + CY_CMD_LDR_VERIFY_CHKSUM_STAT_SIZE, CY_HALF_SEC_TMO_MS); + + if (retval < 0) { + dev_err(ts->dev, + "%s: verify checksum fail r=%d\n", + __func__, retval); + } + + return retval; +} + +static int _cyttsp4_load_app(struct cyttsp4 *ts, const u8 *fw, int fw_size) +{ + u8 *p; +#ifdef CY_USE_TMA884 + u8 tries; +#endif + int ret; + int retval; /* need separate return value at exit stage */ + struct cyttsp4_dev_id *file_id = NULL; + struct cyttsp4_dev_id *dev_id = NULL; + struct cyttsp4_hex_image *row_image = NULL; + u8 app_chksum; + + u8 *row_buf = NULL; + size_t image_rec_size; + size_t row_buf_size = 1024 > CY_MAX_PRBUF_SIZE ? + 1024 : CY_MAX_PRBUF_SIZE; + int row_count = 0; + +#ifdef CY_USE_TMA400 + image_rec_size = CY_DATA_ROW_SIZE_TMA400 + + (sizeof(struct cyttsp4_hex_image) - CY_DATA_ROW_SIZE); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + image_rec_size = sizeof(struct cyttsp4_hex_image); +#endif /* --CY_USE_TMA884 */ + + if (!fw_size || (fw_size % image_rec_size != 0)) { + dev_err(ts->dev, + "%s: Firmware image is misaligned\n", __func__); + retval = -EINVAL; + goto _cyttsp4_load_app_exit; + } + +#ifdef CY_USE_WATCHDOG + _cyttsp4_stop_wd_timer(ts); +#endif + + dev_info(ts->dev, + "%s: start load app\n", __func__); + + row_buf = kzalloc(row_buf_size, GFP_KERNEL); + row_image = kzalloc(sizeof(struct cyttsp4_hex_image), GFP_KERNEL); + file_id = kzalloc(sizeof(struct cyttsp4_dev_id), GFP_KERNEL); + dev_id = kzalloc(sizeof(struct cyttsp4_dev_id), GFP_KERNEL); + if ((row_buf == NULL) || (row_image == NULL) || + (file_id == NULL) || (dev_id == NULL)) { + dev_err(ts->dev, + "%s: Unable to alloc row buffers(%p %p %p %p)\n", + __func__, row_buf, row_image, file_id, dev_id); + retval = -ENOMEM; + goto _cyttsp4_load_app_error_exit; + } + + p = (u8 *)fw; + /* Enter Loader and return Silicon ID and Rev */ + + retval = _cyttsp4_reset(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail reset device r=%d\n", __func__, retval); + goto _cyttsp4_load_app_exit; + } + retval = _cyttsp4_wait_int(ts, CY_TEN_SEC_TMO_MS); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail waiting for bootloader interrupt\n", + __func__); + goto _cyttsp4_load_app_exit; + } + + _cyttsp4_change_state(ts, CY_BL_STATE); + dev_info(ts->dev, + "%s: Send BL Loader Enter\n", __func__); + retval = _cyttsp4_ldr_enter(ts, dev_id); + if (retval < 0) { + dev_err(ts->dev, + "%s: Error cannot start Loader (ret=%d)\n", + __func__, retval); + goto _cyttsp4_load_app_error_exit; + } + + dev_vdbg(ts->dev, + "%s: dev: silicon id=%08X rev=%02X bl=%08X\n", + __func__, dev_id->silicon_id, + dev_id->rev_id, dev_id->bl_ver); + +#ifdef CY_USE_TMA400 + udelay(1000); + retval = _cyttsp4_ldr_init(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Error cannot init Loader (ret=%d)\n", + __func__, retval); + goto _cyttsp4_load_app_error_exit; + } +#endif /* --CY_USE_TMA400 */ + + dev_info(ts->dev, + "%s: Send BL Loader Blocks\n", __func__); + while (p < (fw + fw_size)) { + /* Get row */ + dev_dbg(ts->dev, + "%s: read row=%d\n", __func__, ++row_count); + memset(row_buf, 0, row_buf_size); + p = _cyttsp4_get_row(ts, row_buf, p, image_rec_size); + + /* Parse row */ + dev_vdbg(ts->dev, + "%s: p=%p buf=%p buf[0]=%02X\n", __func__, + p, row_buf, row_buf[0]); + retval = _cyttsp4_ldr_parse_row(ts, row_buf, row_image); + dev_vdbg(ts->dev, + "%s: array_id=%02X row_num=%04X(%d)" + " row_size=%04X(%d)\n", __func__, + row_image->array_id, + row_image->row_num, row_image->row_num, + row_image->row_size, row_image->row_size); + if (retval < 0) { + dev_err(ts->dev, + "%s: Parse Row Error " + "(a=%d r=%d ret=%d\n", + __func__, row_image->array_id, + row_image->row_num, + retval); + goto bl_exit; + } else { + dev_vdbg(ts->dev, + "%s: Parse Row " + "(a=%d r=%d ret=%d\n", + __func__, row_image->array_id, + row_image->row_num, retval); + } + +#ifdef CY_USE_TMA884 + /* erase row */ + tries = 0; + do { + retval = _cyttsp4_ldr_erase_row(ts, row_image); + if (retval < 0) { + dev_err(ts->dev, + "%s: Erase Row Error " + "(array=%d row=%d ret=%d try=%d)\n", + __func__, row_image->array_id, + row_image->row_num, retval, tries); + } + } while (retval && tries++ < 5); + + if (retval < 0) + goto _cyttsp4_load_app_error_exit; +#endif + + /* program row */ + retval = _cyttsp4_ldr_prog_row(ts, row_image); + if (retval < 0) { + dev_err(ts->dev, + "%s: Program Row Error " + "(array=%d row=%d ret=%d)\n", + __func__, row_image->array_id, + row_image->row_num, retval); + goto _cyttsp4_load_app_error_exit; + } + + /* verify row */ + retval = _cyttsp4_ldr_verify_row(ts, row_image); + if (retval < 0) { + dev_err(ts->dev, + "%s: Verify Row Error " + "(array=%d row=%d ret=%d)\n", + __func__, row_image->array_id, + row_image->row_num, retval); + goto _cyttsp4_load_app_error_exit; + } + + dev_vdbg(ts->dev, + "%s: array=%d row_cnt=%d row_num=%04X\n", + __func__, row_image->array_id, row_count, + row_image->row_num); + } + + /* verify app checksum */ + retval = _cyttsp4_ldr_verify_chksum(ts, &app_chksum); + dev_dbg(ts->dev, + "%s: Application Checksum = %02X r=%d\n", + __func__, app_chksum, retval); + if (retval < 0) { + dev_err(ts->dev, + "%s: ldr_verify_chksum fail r=%d\n", __func__, retval); + retval = 0; + } + + /* exit loader */ +bl_exit: + dev_info(ts->dev, + "%s: Send BL Loader Terminate\n", __func__); + ret = _cyttsp4_ldr_exit(ts); + if (ret) { + dev_err(ts->dev, + "%s: Error on exit Loader (ret=%d)\n", + __func__, ret); + retval = ret; + goto _cyttsp4_load_app_error_exit; + } + + /* + * this is a temporary parking state; + * the driver will always run startup + * after the loader has completed + */ + _cyttsp4_change_state(ts, CY_TRANSFER_STATE); + goto _cyttsp4_load_app_exit; + +_cyttsp4_load_app_error_exit: + _cyttsp4_change_state(ts, CY_BL_STATE); +_cyttsp4_load_app_exit: + kfree(row_buf); + kfree(row_image); + kfree(file_id); + kfree(dev_id); + return retval; +} +#endif /* CY_AUTO_LOAD_FW || CY_USE_FORCE_LOAD || CONFIG_TOUCHSCREEN_DEBUG */ + +/* Constructs loader exit command and sends via _cyttsp4_send_cmd() */ +static int _cyttsp4_ldr_exit(struct cyttsp4 *ts) +{ + u16 crc; + int i = 0; + int retval = 0; + /* +1 for TMA400 host sync byte */ + u8 ldr_exit_cmd[CY_CMD_LDR_EXIT_CMD_SIZE+1]; + +#ifdef CY_USE_TMA400 + ldr_exit_cmd[i++] = CY_CMD_LDR_HOST_SYNC; +#endif /* --CY_USE_TMA400 */ + ldr_exit_cmd[i++] = CY_START_OF_PACKET; + ldr_exit_cmd[i++] = CY_CMD_LDR_EXIT; + ldr_exit_cmd[i++] = 0x00; /* data len lsb */ + ldr_exit_cmd[i++] = 0x00; /* data len msb */ +#ifdef CY_USE_TMA400 + crc = _cyttsp4_compute_crc(ts, &ldr_exit_cmd[1], i - 1); +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + crc = _cyttsp4_compute_crc(ts, ldr_exit_cmd, i); +#endif /* --CY_USE_TMA884 */ + ldr_exit_cmd[i++] = (u8)crc; + ldr_exit_cmd[i++] = (u8)(crc >> 8); + ldr_exit_cmd[i++] = CY_END_OF_PACKET; + + retval = _cyttsp4_send_cmd(ts, ldr_exit_cmd, i, NULL, 0, + CY_CMD_LDR_EXIT_STAT_SIZE, 0); + + if (retval < 0) { + dev_err(ts->dev, + "%s: BL Loader exit fail r=%d\n", + __func__, retval); + } + + dev_vdbg(ts->dev, + "%s: Exit BL Loader r=%d\n", __func__, retval); + + return retval; +} + +#if defined(CY_USE_FORCE_LOAD) || defined(CONFIG_TOUCHSCREEN_DEBUG) +/* Force firmware upgrade */ +static void cyttsp4_firmware_cont(const struct firmware *fw, void *context) +{ + int retval = 0; + struct device *dev = context; + struct cyttsp4 *ts = dev_get_drvdata(dev); + u8 header_size = 0; + + mutex_lock(&ts->data_lock); + + if (fw == NULL) { + dev_err(ts->dev, + "%s: Firmware not found\n", __func__); + goto cyttsp4_firmware_cont_exit; + } + + if ((fw->data == NULL) || (fw->size == 0)) { + dev_err(ts->dev, + "%s: No firmware received\n", __func__); + goto cyttsp4_firmware_cont_release_exit; + } + + header_size = fw->data[0]; + if (header_size >= (fw->size + 1)) { + dev_err(ts->dev, + "%s: Firmware format is invalid\n", __func__); + goto cyttsp4_firmware_cont_release_exit; + } + retval = _cyttsp4_load_app(ts, &(fw->data[header_size + 1]), + fw->size - (header_size + 1)); + if (retval < 0) { + dev_err(ts->dev, + "%s: Firmware update failed with error code %d\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_IDLE_STATE); + retval = -EIO; + goto cyttsp4_firmware_cont_release_exit; + } + + + retval = _cyttsp4_startup(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Failed to restart IC with error code %d\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_IDLE_STATE); + } + +cyttsp4_firmware_cont_release_exit: + release_firmware(fw); + +cyttsp4_firmware_cont_exit: + ts->waiting_for_fw = false; + mutex_unlock(&ts->data_lock); + return; +} +static ssize_t cyttsp4_ic_reflash_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + static const char *wait_fw_ld = "Driver is waiting for firmware load\n"; + static const char *no_fw_ld = "No firmware loading in progress\n"; + struct cyttsp4 *ts = dev_get_drvdata(dev); + + if (ts->waiting_for_fw) + return snprintf(buf, strlen(wait_fw_ld)+1, wait_fw_ld); + else + return snprintf(buf, strlen(no_fw_ld)+1, no_fw_ld); +} +static ssize_t cyttsp4_ic_reflash_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + int i; + int retval = 0; + struct cyttsp4 *ts = dev_get_drvdata(dev); + + if (ts->waiting_for_fw) { + dev_err(ts->dev, + "%s: Driver is already waiting for firmware\n", + __func__); + retval = -EALREADY; + goto cyttsp4_ic_reflash_store_exit; + } + + /* + * must configure FW_LOADER in .config file + * CONFIG_HOTPLUG=y + * CONFIG_FW_LOADER=y + * CONFIG_FIRMWARE_IN_KERNEL=y + * CONFIG_EXTRA_FIRMWARE="" + * CONFIG_EXTRA_FIRMWARE_DIR="" + */ + + if (size > CY_BL_FW_NAME_SIZE) { + dev_err(ts->dev, + "%s: Filename too long\n", __func__); + retval = -ENAMETOOLONG; + goto cyttsp4_ic_reflash_store_exit; + } else { + /* + * name string must be in alloc() memory + * or is lost on context switch + * strip off any line feed character(s) + * at the end of the buf string + */ + for (i = 0; buf[i]; i++) { + if (buf[i] < ' ') + ts->fwname[i] = 0; + else + ts->fwname[i] = buf[i]; + } + } + + dev_vdbg(ts->dev, + "%s: Enabling firmware class loader\n", __func__); + + retval = request_firmware_nowait(THIS_MODULE, + FW_ACTION_NOHOTPLUG, (const char *)ts->fwname, ts->dev, + GFP_KERNEL, ts->dev, cyttsp4_firmware_cont); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail request firmware class file load\n", + __func__); + ts->waiting_for_fw = false; + goto cyttsp4_ic_reflash_store_exit; + } else { + ts->waiting_for_fw = true; + retval = size; + } + +cyttsp4_ic_reflash_store_exit: + return retval; +} +static DEVICE_ATTR(ic_reflash, S_IRUSR | S_IWUSR, + cyttsp4_ic_reflash_show, cyttsp4_ic_reflash_store); +#endif /* CY_USE_FORCE_LOAD || CONFIG_TOUCHSCREEN_DEBUG */ + +#ifdef CY_USE_TMA884 +static int _cyttsp4_calc_data_crc(struct cyttsp4 *ts, size_t ndata, u8 *pdata, + u8 *crc_h, u8 *crc_l, const char *name) +{ + int retval = 0; + u8 *buf = NULL; + + *crc_h = 0; + *crc_l = 0; + + buf = kzalloc(sizeof(uint8_t) * 126, GFP_KERNEL); + if (buf == NULL) { + dev_err(ts->dev, + "%s: Failed to allocate buf\n", __func__); + retval = -ENOMEM; + goto _cyttsp4_calc_data_crc_exit; + } + + if (pdata == NULL) { + dev_err(ts->dev, + "%s: bad data pointer\n", __func__); + retval = -ENXIO; + goto _cyttsp4_calc_data_crc_exit; + } + + if (ndata > 122) { + dev_err(ts->dev, + "%s: %s is too large n=%d size=%d\n", + __func__, name, ndata, 126); + retval = -EOVERFLOW; + goto _cyttsp4_calc_data_crc_exit; + } + + buf[0] = 0x00; /* num of config bytes + 4 high */ + buf[1] = 0x7E; /* num of config bytes + 4 low */ + buf[2] = 0x00; /* max block size w/o crc high */ + buf[3] = 0x7E; /* max block size w/o crc low */ + + /* Copy platform data */ + memcpy(&(buf[4]), pdata, ndata); + + /* Calculate CRC */ + _cyttsp4_calc_crc(ts, buf, 126, crc_h, crc_l); + + dev_vdbg(ts->dev, + "%s: crc=%02X%02X\n", __func__, *crc_h, *crc_l); + +_cyttsp4_calc_data_crc_exit: + kfree(buf); + return retval; +} +#endif /* --CY_USE_TMA884 */ + + +#ifdef CY_USE_TMA884 +#ifdef CY_AUTO_LOAD_TOUCH_PARAMS +static int _cyttsp4_calc_settings_crc(struct cyttsp4 *ts, u8 *crc_h, u8 *crc_l) +{ + int retval = 0; + u8 *buf = NULL; + u8 size = 0; + + buf = kzalloc(sizeof(uint8_t) * 126, GFP_KERNEL); + if (buf == NULL) { + dev_err(ts->dev, + "%s: Failed to allocate buf\n", __func__); + retval = -ENOMEM; + goto _cyttsp4_calc_settings_crc_exit; + } + + if (ts->platform_data->sett[CY_IC_GRPNUM_TCH_PARM_VAL] == NULL) { + dev_err(ts->dev, + "%s: Missing Platform Touch Parameter" + " values table\n", __func__); + retval = -ENXIO; + goto _cyttsp4_calc_settings_crc_exit; + } + if ((ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL]->data == NULL) || + (ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL]->size == 0)) { + dev_err(ts->dev, + "%s: Missing Platform Touch Parameter" + " values table data\n", __func__); + retval = -ENXIO; + goto _cyttsp4_calc_settings_crc_exit; + } + + size = ts->platform_data->sett[CY_IC_GRPNUM_TCH_PARM_VAL]->size; + + if (size > 122) { + dev_err(ts->dev, + "%s: Platform data is too large\n", __func__); + retval = -EOVERFLOW; + goto _cyttsp4_calc_settings_crc_exit; + } + + buf[0] = 0x00; /* num of config bytes + 4 high */ + buf[1] = 0x7E; /* num of config bytes + 4 low */ + buf[2] = 0x00; /* max block size w/o crc high */ + buf[3] = 0x7E; /* max block size w/o crc low */ + + /* Copy platform data */ + memcpy(&(buf[4]), + ts->platform_data->sett[CY_IC_GRPNUM_TCH_PARM_VAL]->data, + size); + + /* Calculate CRC */ + _cyttsp4_calc_crc(ts, buf, 126, crc_h, crc_l); + +_cyttsp4_calc_settings_crc_exit: + kfree(buf); + return retval; +} +#endif /* --CY_AUTO_LOAD_TOUCH_PARAMS */ +#endif /* --CY_USE_TMA884 */ + +/* Get IC CRC is operational mode command */ +static int _cyttsp4_get_ic_crc(struct cyttsp4 *ts, + enum cyttsp4_ic_ebid ebid, u8 *crc_h, u8 *crc_l) +{ + int retval = 0; + u8 cmd_dat[CY_NUM_DAT + 1]; /* +1 for cmd byte */ + + memset(cmd_dat, 0, sizeof(cmd_dat)); + cmd_dat[0] = CY_GET_CFG_BLK_CRC;/* pack cmd */ + cmd_dat[1] = ebid; /* pack EBID id */ + + retval = _cyttsp4_put_cmd_wait(ts, ts->si_ofs.cmd_ofs, + sizeof(cmd_dat), cmd_dat, CY_HALF_SEC_TMO_MS, + _cyttsp4_chk_cmd_rdy, NULL, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail Get CRC command r=%d\n", + __func__, retval); + goto _cyttsp4_get_ic_crc_exit; + } + + memset(cmd_dat, 0, sizeof(cmd_dat)); + retval = _cyttsp4_read_block_data(ts, ts->si_ofs.cmd_ofs, + sizeof(cmd_dat), cmd_dat, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail Get CRC status r=%d\n", + __func__, retval); + goto _cyttsp4_get_ic_crc_exit; + } + + /* Check CRC status and assign values */ + if (cmd_dat[1] != 0) { + dev_err(ts->dev, + "%s: Get CRC status=%d error\n", + __func__, cmd_dat[1]); + retval = -EIO; + goto _cyttsp4_get_ic_crc_exit; + } + + *crc_h = cmd_dat[2]; + *crc_l = cmd_dat[3]; + +#ifdef CY_USE_TMA400 + retval = _cyttsp4_cmd_handshake(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Command handshake error r=%d\n", + __func__, retval); + /* continue anyway; rely on handshake tmo */ + retval = 0; + } +#endif /* --CY_USE_TMA400 */ + +_cyttsp4_get_ic_crc_exit: + return retval; +} + +#ifdef CY_USE_TMA400 +static int _cyttsp4_startup(struct cyttsp4 *ts) +{ + int tries; + int retval = 0; + u8 ic_crc[2]; +#ifdef CY_AUTO_LOAD_TOUCH_PARAMS + u8 table_crc[2]; +#endif /* --CY_AUTO_LOAD_TOUCH_PARAMS */ + bool put_all_params_done = false; + bool upgraded = false; + bool mddata_updated = false; + bool sleep_state = false; + tries = 0; + ts->starting_up = true; + memset(&ts->test, 0, sizeof(struct cyttsp4_test_mode)); + if (ts->driver_state == CY_SLEEP_STATE) + sleep_state = true; +_cyttsp4_startup_tma400_restart: + + dev_err(ts->dev, + "%s: enter driver_state=%d\n", __func__, ts->driver_state); + ts->current_mode = CY_MODE_BOOTLOADER; + retval = _cyttsp4_reset(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail reset device r=%d\n", __func__, retval); + /* continue anyway in case device was already in bootloader */ + } + /* + * Wait for heartbeat interrupt. If we didn't get the CPU quickly, this + * may not be the first interupt. + */ + dev_vdbg(ts->dev, + "%s: wait for first bootloader interrupt\n", __func__); + retval = _cyttsp4_wait_int(ts, CY_HALF_SEC_TMO_MS); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail waiting for bootloader interrupt\n", + __func__); + goto _cyttsp4_startup_tma400_exit; + } + + /* + * exit BL mode and eliminate race between heartbeat and + * command / response interrupts + */ + _cyttsp4_change_state(ts, CY_EXIT_BL_STATE); + ts->switch_flag = true; + retval = _cyttsp4_wait_si_int(ts, CY_TEN_SEC_TMO_MS); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail wait switch to Sysinfo r=%d\n", + __func__, retval); + /* continue anyway in case sync missed */ + } + + if (!sleep_state) { + + if (ts->driver_state != CY_SYSINFO_STATE) { + dev_err(ts->dev, + "%s: Fail set sysinfo mode; switch to sysinfo anyway\r", + __func__); + _cyttsp4_change_state(ts, CY_SYSINFO_STATE); + } else { + dev_vdbg(ts->dev, + "%s: Exit BL ok; now in sysinfo mode\n", __func__); + _cyttsp4_pr_state(ts); + } + + dev_vdbg(ts->dev, + "%s: Read Sysinfo regs and get rev numbers try=%d\n", + __func__, tries); + retval = _cyttsp4_get_sysinfo_regs(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Read Block fail -get sys regs (r=%d)\n", + __func__, retval); + dev_err(ts->dev, + "%s: Fail to switch from Bootloader " + "to Application r=%d\n", + __func__, retval); + + _cyttsp4_change_state(ts, CY_BL_STATE); + + if (upgraded) { + dev_err(ts->dev, + "%s: app failed to launch after" + " platform firmware upgrade\n", __func__); + retval = -EIO; + goto _cyttsp4_startup_tma400_exit; + } + +#ifdef CY_AUTO_LOAD_FW + if (!ts->powered) { + dev_info(ts->dev, + "%s: attempting to reflash IC...\n", __func__); + if (ts->platform_data->fw->img == NULL || + ts->platform_data->fw->size == 0) { + dev_err(ts->dev, + "%s: no platform firmware available" + " for reflashing\n", __func__); + _cyttsp4_change_state(ts, CY_INVALID_STATE); + retval = -ENODATA; + goto _cyttsp4_startup_tma400_exit; + } + retval = _cyttsp4_load_app(ts, + ts->platform_data->fw->img, + ts->platform_data->fw->size); + if (retval) { + dev_err(ts->dev, + "%s: failed to reflash IC (r=%d)\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_INVALID_STATE); + retval = -EIO; + goto _cyttsp4_startup_tma400_exit; + } + upgraded = true; + dev_info(ts->dev, + "%s: resetting IC after reflashing\n", __func__); + goto _cyttsp4_startup_tma400_restart; /* Reset the part */ + } +#endif /* --CY_AUTO_LOAD_FW */ + } + +#ifdef CY_AUTO_LOAD_FW + if (!ts->powered) { + retval = _cyttsp4_boot_loader(ts, &upgraded); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail boot loader r=%d)\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_IDLE_STATE); + goto _cyttsp4_startup_tma400_exit; + } + if (upgraded) + goto _cyttsp4_startup_tma400_restart; + } +#endif /* --CY_AUTO_LOAD_FW */ + + retval = _cyttsp4_set_mode(ts, CY_CONFIG_MODE); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail set config mode 1 r=%d\n", __func__, retval); + goto _cyttsp4_startup_tma400_bypass_crc_check; + } + + retval = _cyttsp4_get_ebid_row_size(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail get EBID row size; using default r=%d\n", + __func__, retval); + } + dev_vdbg(ts->dev, + "%s: get EBID row size=%d\n", __func__, ts->ebid_row_size); + + memset(ic_crc, 0, sizeof(ic_crc)); + dev_vdbg(ts->dev, + "%s: Read IC CRC values\n", __func__); + /* Get settings CRC from touch IC */ + retval = _cyttsp4_set_mode(ts, CY_OPERATE_MODE); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail set operational mode 1 (r=%d)\n", + __func__, retval); + goto _cyttsp4_startup_tma400_exit; + } + retval = _cyttsp4_get_ic_crc(ts, CY_TCH_PARM_EBID, + &ic_crc[0], &ic_crc[1]); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail read ic crc r=%d\n", + __func__, retval); + } + + _cyttsp4_pr_buf(ts, ic_crc, sizeof(ic_crc), "read_ic_crc"); + + retval = _cyttsp4_set_mode(ts, CY_CONFIG_MODE); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail set config mode 2 r=%d\n", __func__, retval); + goto _cyttsp4_startup_tma400_exit; + } +#ifdef CY_AUTO_LOAD_TOUCH_PARAMS + if (!ts->powered) { + if (!put_all_params_done) { + if (ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL] == NULL) { + dev_err(ts->dev, + "%s: missing param table\n", __func__); + goto _cyttsp4_startup_tma400_bypass_crc_check; + } else if (ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL]->data == NULL) { + dev_err(ts->dev, + "%s: missing param table data\n", __func__); + goto _cyttsp4_startup_tma400_bypass_crc_check; + } else if (ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL]->size == 0) { + dev_err(ts->dev, + "%s: param values table size is 0\n", __func__); + goto _cyttsp4_startup_tma400_bypass_crc_check; + } + _cyttsp_read_table_crc(ts, ts->platform_data->sett + [CY_IC_GRPNUM_TCH_PARM_VAL]->data, + &table_crc[0], &table_crc[1]); + _cyttsp4_pr_buf(ts, table_crc, sizeof(table_crc), + "read_table_crc"); + if ((ic_crc[0] != table_crc[0]) || + (ic_crc[1] != table_crc[1])) { + retval = _cyttsp4_put_all_params_tma400(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail put all params r=%d\n", + __func__, retval); + goto _cyttsp4_startup_tma400_bypass_crc_check; + } + put_all_params_done = true; + goto _cyttsp4_startup_tma400_restart; + } + } + } +#else + put_all_params_done = true; +#endif /* --CY_AUTO_LOAD_TOUCH_PARAMS */ + +_cyttsp4_startup_tma400_bypass_crc_check: + if (!mddata_updated) { + retval = _cyttsp4_check_mddata_tma400(ts, &mddata_updated); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail update MDDATA r=%d\n", + __func__, retval); + } else if (mddata_updated) + goto _cyttsp4_startup_tma400_restart; + } + + } + + dev_vdbg(ts->dev, + "%s: enter operational mode\n", __func__); + /* mode=operational mode, state = active_state */ + retval = _cyttsp4_set_mode(ts, CY_OPERATE_MODE); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail set operational mode 2 (r=%d)\n", + __func__, retval); + goto _cyttsp4_startup_tma400_exit; + } + + if (ts->was_suspended) { + ts->was_suspended = false; + retval = _cyttsp4_enter_sleep(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail resume sleep r=%d\n", + __func__, retval); + } + } else { +#ifdef CY_USE_WATCHDOG + _cyttsp4_start_wd_timer(ts); +#endif + } +_cyttsp4_startup_tma400_exit: + ts->starting_up = false; + return retval; +} +#endif /* --CY_USE_TMA400 */ + +#ifdef CY_USE_TMA884 +#define CY_IRQ_DEASSERT 1 +#define CY_IRQ_ASSERT 0 +static int _cyttsp4_startup(struct cyttsp4 *ts) +{ + int retval = 0; + int i = 0; + u8 pdata_crc[2]; + u8 ic_crc[2]; + bool upgraded = false; + bool mddata_updated = false; + bool wrote_sysinfo_regs = false; + bool wrote_settings = false; + + memset(&ts->test, 0, sizeof(struct cyttsp4_test_mode)); +#ifdef CY_USE_WATCHDOG + _cyttsp4_stop_wd_timer(ts); +#endif +_cyttsp4_startup_start: + memset(pdata_crc, 0, sizeof(pdata_crc)); + memset(ic_crc, 0, sizeof(ic_crc)); + dev_vdbg(ts->dev, + "%s: enter driver_state=%d\n", __func__, ts->driver_state); + _cyttsp4_change_state(ts, CY_BL_STATE); + + retval = _cyttsp4_reset(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail reset device r=%d\n", __func__, retval); + /* continue anyway in case device was already in bootloader */ + } + + /* wait for interrupt to set ready completion */ + retval = _cyttsp4_wait_int(ts, CY_HALF_SEC_TMO_MS); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail waiting for bootloader interrupt\n", + __func__); + goto _cyttsp4_startup_exit; + } + + INIT_COMPLETION(ts->si_int_running); + _cyttsp4_change_state(ts, CY_EXIT_BL_STATE); + ts->switch_flag = true; + retval = _cyttsp4_wait_si_int(ts, CY_TEN_SEC_TMO_MS); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail wait switch to Sysinfo r=%d\n", + __func__, retval); + /* continue anyway in case sync missed */ + } + if (ts->driver_state != CY_SYSINFO_STATE) + _cyttsp4_change_state(ts, CY_SYSINFO_STATE); + else + _cyttsp4_pr_state(ts); + + /* + * TODO: remove this wait for toggle high when + * startup from ES10 firmware is no longer required + */ + /* Wait for IRQ to toggle high */ + dev_vdbg(ts->dev, + "%s: wait for irq toggle high\n", __func__); + retval = -ETIMEDOUT; + for (i = 0; i < CY_DELAY_MAX * 10 * 5; i++) { + if (ts->platform_data->irq_stat() == CY_IRQ_DEASSERT) { + retval = 0; + break; + } + mdelay(CY_DELAY_DFLT); + } + if (retval < 0) { + dev_err(ts->dev, + "%s: timeout waiting for irq to de-assert\n", + __func__); + goto _cyttsp4_startup_exit; + } + + dev_vdbg(ts->dev, + "%s: read sysinfo 1\n", __func__); + memset(&ts->sysinfo_data, 0, + sizeof(struct cyttsp4_sysinfo_data)); + retval = _cyttsp4_read_block_data(ts, CY_REG_BASE, + sizeof(struct cyttsp4_sysinfo_data), &ts->sysinfo_data, + ts->platform_data->addr[CY_TCH_ADDR_OFS], true); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail to switch from Bootloader " + "to Application r=%d\n", + __func__, retval); + + _cyttsp4_change_state(ts, CY_BL_STATE); + + if (upgraded) { + dev_err(ts->dev, + "%s: app failed to launch after" + " platform firmware upgrade\n", __func__); + retval = -EIO; + goto _cyttsp4_startup_exit; + } + +#ifdef CY_AUTO_LOAD_FW + dev_info(ts->dev, + "%s: attempting to reflash IC...\n", __func__); + if (ts->platform_data->fw->img == NULL || + ts->platform_data->fw->size == 0) { + dev_err(ts->dev, + "%s: no platform firmware available" + " for reflashing\n", __func__); + _cyttsp4_change_state(ts, CY_INVALID_STATE); + retval = -ENODATA; + goto _cyttsp4_startup_exit; + } + retval = _cyttsp4_load_app(ts, + ts->platform_data->fw->img, + ts->platform_data->fw->size); + if (retval) { + dev_err(ts->dev, + "%s: failed to reflash IC (r=%d)\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_INVALID_STATE); + retval = -EIO; + goto _cyttsp4_startup_exit; + } + upgraded = true; + dev_info(ts->dev, + "%s: resetting IC after reflashing\n", __func__); + goto _cyttsp4_startup_start; /* Reset the part */ +#endif /* --CY_AUTO_LOAD_FW */ + } + + /* + * read system information registers + * get version numbers and fill sysinfo regs + */ + dev_vdbg(ts->dev, + "%s: Read Sysinfo regs and get version numbers\n", __func__); + retval = _cyttsp4_get_sysinfo_regs(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Read Block fail -get sys regs (r=%d)\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_IDLE_STATE); + goto _cyttsp4_startup_exit; + } + +#ifdef CY_AUTO_LOAD_FW + retval = _cyttsp4_boot_loader(ts, &upgraded); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail boot loader r=%d)\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_IDLE_STATE); + goto _cyttsp4_startup_exit; + } + if (upgraded) + goto _cyttsp4_startup_start; +#endif /* --CY_AUTO_LOAD_FW */ + + if (!wrote_sysinfo_regs) { + dev_vdbg(ts->dev, + "%s: Set Sysinfo regs\n", __func__); + retval = _cyttsp4_set_mode(ts, CY_SYSINFO_MODE); + if (retval < 0) { + dev_err(ts->dev, + "%s: Set SysInfo Mode fail r=%d\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_IDLE_STATE); + goto _cyttsp4_startup_exit; + } + retval = _cyttsp4_set_sysinfo_regs(ts, &mddata_updated); + if (retval < 0) { + dev_err(ts->dev, + "%s: Set SysInfo Regs fail r=%d\n", + __func__, retval); + _cyttsp4_change_state(ts, CY_IDLE_STATE); + goto _cyttsp4_startup_exit; + } else + wrote_sysinfo_regs = true; + } + + dev_vdbg(ts->dev, + "%s: enter operational mode\n", __func__); + retval = _cyttsp4_set_mode(ts, CY_OPERATE_MODE); + if (retval < 0) { + _cyttsp4_change_state(ts, CY_IDLE_STATE); + dev_err(ts->dev, + "%s: Fail set operational mode (r=%d)\n", + __func__, retval); + goto _cyttsp4_startup_exit; + } else { +#ifdef CY_AUTO_LOAD_TOUCH_PARAMS + /* Calculate settings CRC from platform settings */ + dev_vdbg(ts->dev, + "%s: Calculate settings CRC and get IC CRC\n", + __func__); + retval = _cyttsp4_calc_settings_crc(ts, + &pdata_crc[0], &pdata_crc[1]); + if (retval < 0) { + dev_err(ts->dev, + "%s: Unable to calculate settings CRC\n", + __func__); + goto _cyttsp4_startup_exit; + } + + /* Get settings CRC from touch IC */ + retval = _cyttsp4_get_ic_crc(ts, CY_TCH_PARM_EBID, + &ic_crc[0], &ic_crc[1]); + if (retval < 0) { + dev_err(ts->dev, + "%s: Unable to get settings CRC\n", __func__); + goto _cyttsp4_startup_exit; + } + + /* Compare CRC values */ + dev_vdbg(ts->dev, + "%s: PDATA CRC = 0x%02X%02X, IC CRC = 0x%02X%02X\n", + __func__, pdata_crc[0], pdata_crc[1], + ic_crc[0], ic_crc[1]); + + if ((pdata_crc[0] == ic_crc[0]) && + (pdata_crc[1] == ic_crc[1])) + goto _cyttsp4_startup_settings_valid; + + /* Update settings */ + dev_info(ts->dev, + "%s: Updating IC settings...\n", __func__); + + if (wrote_settings) { + dev_err(ts->dev, + "%s: Already updated IC settings\n", + __func__); + goto _cyttsp4_startup_settings_valid; + } + + retval = _cyttsp4_set_op_params(ts, pdata_crc[0], pdata_crc[1]); + if (retval < 0) { + dev_err(ts->dev, + "%s: Set Operational Params fail r=%d\n", + __func__, retval); + goto _cyttsp4_startup_exit; + } + + wrote_settings = true; +#else + wrote_settings = false; +#endif /* --CY_AUTO_LOAD_TOUCH_PARAMS */ + } + +#ifdef CY_AUTO_LOAD_TOUCH_PARAMS +_cyttsp4_startup_settings_valid: +#endif /* --CY_AUTO_LOAD_TOUCH_PARAMS */ + if (mddata_updated || wrote_settings) { + dev_info(ts->dev, + "%s: Resetting IC after writing settings\n", + __func__); + mddata_updated = false; + wrote_settings = false; + goto _cyttsp4_startup_start; /* Reset the part */ + } + dev_vdbg(ts->dev, + "%s: enable handshake\n", __func__); + retval = _cyttsp4_handshake_enable(ts); + if (retval < 0) + dev_err(ts->dev, + "%s: fail enable handshake r=%d", __func__, retval); + + _cyttsp4_change_state(ts, CY_ACTIVE_STATE); + + if (ts->was_suspended) { + ts->was_suspended = false; + retval = _cyttsp4_enter_sleep(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail resume sleep r=%d\n", + __func__, retval); + } + } else { +#ifdef CY_USE_WATCHDOG + _cyttsp4_start_wd_timer(ts); +#endif + } + +_cyttsp4_startup_exit: + return retval; +} +#endif /* --CY_USE_TMA884 */ + +static irqreturn_t cyttsp4_irq(int irq, void *handle) +{ + struct cyttsp4 *ts = handle; + u8 rep_stat = 0; + int retval = 0; + +#if TOUCH_BOOST + if (false == boost) { + omap_cpufreq_min_limit(DVFS_LOCK_ID_TSP, 800000); + boost = true; + } +#endif + + dev_vdbg(ts->dev, + "%s: GOT IRQ ps=%d\n", __func__, ts->driver_state); + mutex_lock(&ts->data_lock); + + dev_vdbg(ts->dev, + "%s: DO IRQ ps=%d\n", __func__, ts->driver_state); + + switch (ts->driver_state) { + case CY_BL_STATE: + case CY_CMD_STATE: + complete(&ts->int_running); +#ifdef CY_USE_LEVEL_IRQ + udelay(1000); +#endif + break; + case CY_SYSINFO_STATE: + complete(&ts->si_int_running); +#ifdef CY_USE_LEVEL_IRQ + udelay(500); +#endif + break; + case CY_EXIT_BL_STATE: +#ifdef CY_USE_LEVEL_IRQ + udelay(1000); +#endif + if (ts->switch_flag == true) { + ts->switch_flag = false; + retval = _cyttsp4_ldr_exit(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Fail bl exit r=%d\n", + __func__, retval); + } else + ts->driver_state = CY_SYSINFO_STATE; + } + break; + case CY_SLEEP_STATE: + dev_vdbg(ts->dev, + "%s: Attempt to process touch after enter sleep or" + " unexpected wake event\n", __func__); + retval = _cyttsp4_wakeup(ts); /* in case its really asleep */ + if (retval < 0) { + dev_err(ts->dev, + "%s: wakeup fail r=%d\n", + __func__, retval); + _cyttsp4_pr_state(ts); + _cyttsp4_queue_startup(ts, true); + break; + } + /* Put the part back to sleep */ + retval = _cyttsp4_enter_sleep(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: fail resume sleep r=%d\n", + __func__, retval); + _cyttsp4_pr_state(ts); + _cyttsp4_queue_startup(ts, true); + } + break; + case CY_IDLE_STATE: + if (ts->xy_mode == NULL) { + /* initialization is not complete; invalid pointers */ + break; + } + + /* device now available; signal initialization */ + dev_info(ts->dev, + "%s: Received IRQ in IDLE state\n", + __func__); + /* Try to determine the IC's current state */ + retval = _cyttsp4_load_status_regs(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: Still unable to access IC after IRQ r=%d\n", + __func__, retval); + _cyttsp4_queue_startup(ts, false); + break; + } + rep_stat = ts->xy_mode[ts->si_ofs.rep_ofs + 1]; + if (IS_BOOTLOADERMODE(rep_stat)) { + dev_info(ts->dev, + "%s: BL mode found in IDLE state\n", + __func__); + _cyttsp4_queue_startup(ts, false); + break; + } + dev_err(ts->dev, + "%s: interrupt received in IDLE state -" + " try processing touch\n", + __func__); + _cyttsp4_change_state(ts, CY_ACTIVE_STATE); +#ifdef CY_USE_WATCHDOG + _cyttsp4_start_wd_timer(ts); +#endif + retval = _cyttsp4_xy_worker(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: xy_worker IDLE fail r=%d\n", + __func__, retval); + _cyttsp4_queue_startup(ts, false); + break; + } + +#ifdef CY_USE_LEVEL_IRQ + udelay(500); +#endif + break; + case CY_READY_STATE: + complete(&ts->ready_int_running); + /* do not break; do worker */ + case CY_ACTIVE_STATE: + if (ts->test.cur_mode == CY_TEST_MODE_CAT) { + complete(&ts->int_running); +#ifdef CY_USE_LEVEL_IRQ + udelay(500); +#endif + } else { + /* process the touches */ + retval = _cyttsp4_xy_worker(ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: XY Worker fail r=%d\n", + __func__, retval); + _cyttsp4_queue_startup(ts, false); + } + } + break; + default: + break; + } + + mutex_unlock(&ts->data_lock); + dev_vdbg(ts->dev, + "%s: DONE IRQ ps=%d\n", __func__, ts->driver_state); + + return IRQ_HANDLED; +} + +static void _cyttsp4_file_init(struct cyttsp4 *ts) +{ + + if (device_create_file(ts->dev, &dev_attr_drv_stat)) + dev_err(ts->dev, + "%s: Error, could not create drv_stat\n", __func__); + + if (device_create_file(ts->dev, &dev_attr_drv_ver)) + dev_err(ts->dev, + "%s: Error, could not create drv_ver\n", __func__); + +#if defined(CY_USE_FORCE_LOAD) || defined(CONFIG_TOUCHSCREEN_DEBUG) + if (device_create_file(ts->dev, &dev_attr_ic_reflash)) + dev_err(ts->dev, + "%s: Error, could not create ic_reflash\n", __func__); +#endif + + + if (device_create_file(ts->dev, &dev_attr_ic_ver)) + dev_err(ts->dev, + "%s: Cannot create ic_ver\n", __func__); + +#ifdef CY_USE_REG_ACCESS + if (device_create_file(ts->dev, &dev_attr_drv_rw_regid)) + dev_err(ts->dev, + "%s: Cannot create drv_rw_regid\n", __func__); + + if (device_create_file(ts->dev, &dev_attr_drv_rw_reg_data)) + dev_err(ts->dev, + "%s: Cannot create drv_rw_reg_data\n", __func__); +#endif + + return; +} + +static void _cyttsp4_file_free(struct cyttsp4 *ts) +{ + device_remove_file(ts->dev, &dev_attr_drv_ver); + device_remove_file(ts->dev, &dev_attr_drv_stat); + device_remove_file(ts->dev, &dev_attr_ic_ver); +#if defined(CY_USE_FORCE_LOAD) || defined(CONFIG_TOUCHSCREEN_DEBUG) + device_remove_file(ts->dev, &dev_attr_ic_reflash); +#endif +#ifdef CY_USE_REG_ACCESS + device_remove_file(ts->dev, &dev_attr_drv_rw_regid); + device_remove_file(ts->dev, &dev_attr_drv_rw_reg_data); +#endif +} + +static int cyttsp4_open(struct input_dev *dev) +{ + int retval = 0; + + struct cyttsp4 *ts = input_get_drvdata(dev); + dev_dbg(ts->dev, "%s: Open call ts=%p\n", __func__, ts); + mutex_lock(&ts->data_lock); + if (!ts->powered) { + /* + * execute complete startup procedure. After this + * call the device is in active state and the worker + * is running + */ + retval = _cyttsp4_startup(ts); + + /* powered if no hard failure */ + if (retval < 0) { + ts->powered = false; + _cyttsp4_change_state(ts, CY_IDLE_STATE); + dev_err(ts->dev, + "%s: startup fail at power on r=%d\n", + __func__, retval); + } else + ts->powered = true; + + dev_info(ts->dev, + "%s: Powered ON(%d) r=%d\n", + __func__, (int)ts->powered, retval); + } + mutex_unlock(&ts->data_lock); + return 0; +} + +static void cyttsp4_close(struct input_dev *dev) +{ + /* + * close() normally powers down the device + * this call simply returns unless power + * to the device can be controlled by the driver + */ + return; +} + +void cyttsp4_core_release(void *handle) +{ + struct cyttsp4 *ts = handle; + + dev_dbg(ts->dev, "%s: Release call ts=%p\n", + __func__, ts); + if (ts == NULL) { + dev_err(ts->dev, + "%s: Null context pointer on driver release\n", + __func__); + goto cyttsp4_core_release_exit; + } + +#ifdef FACTORY_TESTING + kfree(ts->node_data->reference_data); + kfree(ts->node_data->intensity_data); + kfree(ts->node_data->cm_abs_data); + kfree(ts->node_data->cm_delta_data); + kfree(ts->node_data); + kfree(ts->factory_data); +#endif + +#ifdef CONFIG_HAS_EARLYSUSPEND + unregister_early_suspend(&ts->early_suspend); +#endif + _cyttsp4_file_free(ts); + if (mutex_is_locked(&ts->data_lock)) + mutex_unlock(&ts->data_lock); + mutex_destroy(&ts->data_lock); + free_irq(ts->irq, ts); + input_unregister_device(ts->input); + if (ts->cyttsp4_wq) { + destroy_workqueue(ts->cyttsp4_wq); + ts->cyttsp4_wq = NULL; + } + + if (ts->sysinfo_ptr.cydata != NULL) + kfree(ts->sysinfo_ptr.cydata); + if (ts->sysinfo_ptr.test != NULL) + kfree(ts->sysinfo_ptr.test); + if (ts->sysinfo_ptr.pcfg != NULL) + kfree(ts->sysinfo_ptr.pcfg); + if (ts->sysinfo_ptr.opcfg != NULL) + kfree(ts->sysinfo_ptr.opcfg); + if (ts->sysinfo_ptr.ddata != NULL) + kfree(ts->sysinfo_ptr.ddata); + if (ts->sysinfo_ptr.mdata != NULL) + kfree(ts->sysinfo_ptr.mdata); + if (ts->xy_mode != NULL) + kfree(ts->xy_mode); + if (ts->xy_data != NULL) + kfree(ts->xy_data); + if (ts->xy_data_touch1 != NULL) + kfree(ts->xy_data_touch1); + +#if TOUCH_BOOST + del_timer_sync(&ts->dvfs_timer); +#endif + + kfree(ts); +cyttsp4_core_release_exit: + return; +} +EXPORT_SYMBOL_GPL(cyttsp4_core_release); + +void *cyttsp4_core_init(struct cyttsp4_bus_ops *bus_ops, + struct device *dev, int irq, char *name) +{ + unsigned long irq_flags = 0; + int i = 0; + int min = 0; + int max = 0; + u16 signal = 0; + int retval = 0; + struct input_dev *input_device = NULL; + struct cyttsp4 *ts = NULL; +#ifdef FACTORY_TESTING + struct device *fac_dev_ts; + struct factory_data *factory_data; + struct node_data *node_data; + u32 rx, tx; +#endif + + if (dev == NULL) { + pr_err("%s: Error, dev pointer is Null\n", __func__); + goto error_alloc_data; + } + + if (bus_ops == NULL) { + dev_err(dev, + "%s: Error, bus_ops Pointer is Null\n", __func__); + goto error_alloc_data; + } + ts = kzalloc(sizeof(*ts), GFP_KERNEL); + if (ts == NULL) { + dev_err(dev, + "%s: Error, kzalloc context memory\n", __func__); + goto error_alloc_data; + } + +#if defined(CY_USE_FORCE_LOAD) || defined(CONFIG_TOUCHSCREEN_DEBUG) + ts->fwname = kzalloc(CY_BL_FW_NAME_SIZE, GFP_KERNEL); + if (ts->fwname == NULL) { + dev_err(dev, + "%s: Error, kzalloc fwname\n", __func__); + goto error_alloc_failed; + } +#endif + + ts->cyttsp4_wq = + create_singlethread_workqueue("cyttsp4_resume_startup_wq"); + if (ts->cyttsp4_wq == NULL) { + dev_err(dev, + "%s: No memory for cyttsp4_resume_startup_wq\n", + __func__); + goto error_alloc_failed; + } + + ts->driver_state = CY_INVALID_STATE; + ts->current_mode = CY_MODE_BOOTLOADER; + ts->powered = false; + ts->was_suspended = false; + ts->switch_flag = false; + ts->soft_reset_asserted = false; + ts->num_prv_tch = 0; + + ts->xy_data = NULL; + ts->xy_mode = NULL; + ts->xy_data_touch1 = NULL; + ts->btn_rec_data = NULL; + memset(&ts->test, 0, sizeof(struct cyttsp4_test_mode)); + + ts->dev = dev; + ts->bus_ops = bus_ops; + ts->platform_data = dev->platform_data; + if (ts->platform_data == NULL) { + dev_err(ts->dev, + "%s: Error, platform data is Null\n", __func__); + goto error_alloc_failed; + } + + if (ts->platform_data->frmwrk == NULL) { + dev_err(ts->dev, + "%s: Error, platform data framework is Null\n", + __func__); + goto error_alloc_failed; + } + + if (ts->platform_data->frmwrk->abs == NULL) { + dev_err(ts->dev, + "%s: Error, platform data framework array is Null\n", + __func__); + goto error_alloc_failed; + } + + mutex_init(&ts->data_lock); + init_completion(&ts->int_running); + init_completion(&ts->si_int_running); + init_completion(&ts->ready_int_running); + ts->flags = ts->platform_data->flags; +#if defined(CY_USE_FORCE_LOAD) || defined(CONFIG_TOUCHSCREEN_DEBUG) + ts->waiting_for_fw = false; +#endif + +#ifdef CY_USE_TMA400 + ts->max_config_bytes = CY_TMA400_MAX_BYTES; +#endif /* --CY_USE_TMA400 */ +#ifdef CY_USE_TMA884 + ts->max_config_bytes = CY_TMA884_MAX_BYTES; +#endif /* --CY_USE_TMA884 */ + + ts->irq = irq; + if (ts->irq <= 0) { + dev_vdbg(ts->dev, + "%s: Error, failed to allocate irq\n", __func__); + goto error_init; + } + + /* Create the input device and register it. */ + dev_vdbg(ts->dev, + "%s: Create the input device and register it\n", __func__); + input_device = input_allocate_device(); + if (input_device == NULL) { + dev_err(ts->dev, + "%s: Error, failed to allocate input device\n", + __func__); + goto error_init; + } + + ts->input = input_device; + input_device->name = name; + snprintf(ts->phys, sizeof(ts->phys)-1, "%s", dev_name(dev)); + input_device->phys = ts->phys; + input_device->dev.parent = ts->dev; + ts->bus_type = bus_ops->dev->bus; +#ifdef CY_USE_WATCHDOG + INIT_WORK(&ts->work, cyttsp4_timer_watchdog); + setup_timer(&ts->timer, cyttsp4_timer, (unsigned long)ts); +#endif + + dev_vdbg(ts->dev, + "%s: Initialize irq\n", __func__); +#ifdef CY_USE_LEVEL_IRQ + irq_flags = IRQF_TRIGGER_LOW | IRQF_ONESHOT; +#else + irq_flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT; +#endif + retval = request_threaded_irq(ts->irq, NULL, cyttsp4_irq, + irq_flags, ts->input->name, ts); + if (retval < 0) { + dev_err(ts->dev, + "%s: failed to init irq r=%d name=%s\n", + __func__, retval, ts->input->name); + ts->irq_enabled = false; + goto error_init; + } else { + ts->irq_enabled = true; + } + + + input_device->open = cyttsp4_open; + input_device->close = cyttsp4_close; + input_set_drvdata(input_device, ts); + dev_set_drvdata(dev, ts); + + dev_vdbg(ts->dev, + "%s: Initialize event signals\n", __func__); + __set_bit(EV_ABS, input_device->evbit); + __set_bit(EV_KEY, input_device->evbit); + bitmap_fill(input_device->absbit, ABS_MAX); + /* key led */ + __set_bit(EV_LED, input_device->evbit); + __set_bit(LED_MISC, input_device->ledbit); + + /* ICS touch down button press signal */ + __set_bit(BTN_TOUCH, input_device->keybit); + __set_bit(KEY_BACK, input_device->keybit); + __set_bit(KEY_MENU, input_device->keybit); + + __set_bit(INPUT_PROP_DIRECT, input_device->propbit); + + for (i = 0; i < (ts->platform_data->frmwrk->size / CY_NUM_ABS_SET); + i++) { + signal = ts->platform_data->frmwrk->abs[ + (i * CY_NUM_ABS_SET) + CY_SIGNAL_OST]; + if (signal != CY_IGNORE_VALUE) { + min = ts->platform_data->frmwrk->abs + [(i * CY_NUM_ABS_SET) + CY_MIN_OST]; + max = ts->platform_data->frmwrk->abs + [(i * CY_NUM_ABS_SET) + CY_MAX_OST]; + if (i == CY_ABS_ID_OST) { + /* shift track ids down to start at 0 */ + max = max - min; + min = min - min; + } + input_set_abs_params(input_device, + signal, + min, + max, + ts->platform_data->frmwrk->abs[ + (i * CY_NUM_ABS_SET) + CY_FUZZ_OST], + ts->platform_data->frmwrk->abs[ + (i * CY_NUM_ABS_SET) + CY_FLAT_OST]); + dev_vdbg(ts->dev, + "%s: s=%02X min=%d max=%d fuzz=%d flat=%d\n", + __func__, signal, min, max, + ts->platform_data->frmwrk->abs[ + (i * CY_NUM_ABS_SET) + CY_FUZZ_OST], + ts->platform_data->frmwrk->abs[ + (i * CY_NUM_ABS_SET) + CY_FLAT_OST]); + + } + } + +#ifdef CY_USE_DEBUG_TOOLS + if (ts->flags & CY_FLAG_FLIP) { + input_set_abs_params(input_device, + ABS_MT_POSITION_X, + ts->platform_data->frmwrk->abs + [(CY_ABS_Y_OST * CY_NUM_ABS_SET) + CY_MIN_OST], + ts->platform_data->frmwrk->abs + [(CY_ABS_Y_OST * CY_NUM_ABS_SET) + CY_MAX_OST], + ts->platform_data->frmwrk->abs + [(CY_ABS_Y_OST * CY_NUM_ABS_SET) + CY_FUZZ_OST], + ts->platform_data->frmwrk->abs + [(CY_ABS_Y_OST * CY_NUM_ABS_SET) + CY_FLAT_OST]); + + input_set_abs_params(input_device, + ABS_MT_POSITION_Y, + ts->platform_data->frmwrk->abs + [(CY_ABS_X_OST * CY_NUM_ABS_SET) + CY_MIN_OST], + ts->platform_data->frmwrk->abs + [(CY_ABS_X_OST * CY_NUM_ABS_SET) + CY_MAX_OST], + ts->platform_data->frmwrk->abs + [(CY_ABS_X_OST * CY_NUM_ABS_SET) + CY_FUZZ_OST], + ts->platform_data->frmwrk->abs + [(CY_ABS_X_OST * CY_NUM_ABS_SET) + CY_FLAT_OST]); + } +#endif /* --CY_USE_DEBUG_TOOLS */ + + input_set_events_per_packet(input_device, 6 * CY_NUM_TCH_ID); + + retval = input_register_device(input_device); + if (retval < 0) { + dev_err(ts->dev, + "%s: Error, failed to register input device r=%d\n", + __func__, retval); + goto error_init; + } + + /* add /sys files */ + _cyttsp4_file_init(ts); + +#if TOUCH_BOOST + setup_timer(&ts->dvfs_timer, timer_cb, 0); +#endif + +#ifdef FACTORY_TESTING + node_data = kzalloc(sizeof(struct node_data), GFP_KERNEL); + if (unlikely(node_data == NULL)) { + retval = -ENOMEM; + goto err_alloc_node_data_failed; + } + factory_data = kzalloc(sizeof(struct factory_data), GFP_KERNEL); + if (unlikely(factory_data == NULL)) { + retval = -ENOMEM; + goto err_alloc_factory_data_failed; + } + + INIT_LIST_HEAD(&factory_data->cmd_list_head); + for (i = 0; i < ARRAY_SIZE(tsp_cmds); i++) + list_add_tail(&tsp_cmds[i].list, &factory_data->cmd_list_head); + + mutex_init(&factory_data->cmd_lock); + factory_data->cmd_is_running = false; + + fac_dev_ts = device_create(sec_class, NULL, 0, ts, "tsp"); + if (!fac_dev_ts) + pr_err("[TSP_FACTORY] Failed to create fac tsp dev\n"); + + if (sysfs_create_group(&fac_dev_ts->kobj, &touchscreen_attr_group)) + pr_err("[TSP_FACTORY] Failed to create sysfs (touchscreen_attr_group).\n"); + + ts->factory_data = factory_data; + ts->node_data = node_data; + +#endif + +#ifdef CONFIG_HAS_EARLYSUSPEND + ts->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; + ts->early_suspend.suspend = cyttsp4_early_suspend; + ts->early_suspend.resume = cyttsp4_late_resume; + register_early_suspend(&ts->early_suspend); +#endif + + INIT_WORK(&ts->cyttsp4_resume_startup_work, cyttsp4_ts_work_func); + + goto no_error; + +#ifdef FACTORY_TESTING + +err_alloc_factory_data_failed: + pr_err("tsp: ts_probe: err_alloc_factory_data failed.\n"); + +err_alloc_node_data_failed: + pr_err("tsp: ts_probe: err_alloc_node_data failed.\n"); + kfree(ts->node_data->reference_data); + kfree(ts->node_data->intensity_data); + kfree(ts->node_data->cm_abs_data); + kfree(ts->node_data->cm_delta_data); + kfree(ts->node_data); + +#endif + +error_init: + mutex_destroy(&ts->data_lock); + if (ts->cyttsp4_wq) { + destroy_workqueue(ts->cyttsp4_wq); + ts->cyttsp4_wq = NULL; + } +error_alloc_failed: + if (ts != NULL) { + kfree(ts); + ts = NULL; + } +error_alloc_data: + dev_err(ts->dev, + "%s: Failed Initialization\n", __func__); +no_error: + return ts; +} +EXPORT_SYMBOL_GPL(cyttsp4_core_init); + +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("Cypress TrueTouch(R) Standard touchscreen driver core"); +MODULE_AUTHOR("Cypress"); diff --git a/drivers/input/touchscreen/cyttsp4_core.h b/drivers/input/touchscreen/cyttsp4_core.h new file mode 100644 index 0000000..088ed9d --- /dev/null +++ b/drivers/input/touchscreen/cyttsp4_core.h @@ -0,0 +1,152 @@ +/* + * Header file for: + * Cypress TrueTouch(TM) Standard Product (TTSP) touchscreen drivers. + * For use with Cypress Gen4 and Solo parts. + * Supported parts include: + * CY8CTMA884/616 + * CY8CTMA4XX + * + * Copyright (C) 2009-2012 Cypress Semiconductor, Inc. + * Copyright (C) 2011 Motorola Mobility, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2, and only version 2, as published by the + * Free Software Foundation. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contact Cypress Semiconductor at www.cypress.com <kev@cypress.com> + * + */ + +#ifndef __CYTTSP4_CORE_H__ +#define __CYTTSP4_CORE_H__ + +#define CY_NUM_RETRY 10 /* max retries for rd/wr ops */ + +#define CY_I2C_NAME "cyttsp4-i2c" +#define CY_SPI_NAME "cyttsp4-spi" +#define CY_DRIVER_VERSION "Rev4-2M-28" +#define CY_DRIVER_DATE "2012-03-09" + +/* + * use the following define if the device is a TMA400 family part + */ +#define CY_USE_TMA400 + +/* + * use the following define if the device is a TMA400 family part + * and can report size and orientation signals + * (touch major, touch minor, and orientation) + */ +#define CY_USE_TMA400_SP2 + +/* + * use the following define if the device is a TMA884/616 family part +#define CY_USE_TMA884 + */ + +/* + * use the following define to allow auto load of firmware at startup +#define CY_AUTO_LOAD_FW + */ + +/* use the following define to allow auto load of Touch Params at startup +#define CY_AUTO_LOAD_TOUCH_PARAMS + */ + +/* use the following define to allow auto load of Design Data at startup +#define CY_AUTO_LOAD_DDATA + */ + +/* + * use the following define to allow auto load of Manufacturing Data at startup +#define CY_AUTO_LOAD_MDATA + */ + +/* + * use the following define to allow autoload firmware for any version diffs; + * otherwise only autoload if load version is greater than device image version +#define CY_ANY_DIFF_NEW_VER + */ + +/* use the following define to include loader application +#define CY_USE_FORCE_LOAD + */ + +/* + * use the following define to enable register peak/poke capability +#define CY_USE_REG_ACCESS + */ + +/* use the following define to enable special debug tools for test only +#define CY_USE_DEBUG_TOOLS + */ + +/* + * use the following define to use level interrupt method (else falling edge) + * this method should only be used if the host processor misses edge interrupts +#define CY_USE_LEVEL_IRQ + */ + +/* + * use the following define to enable driver watchdog timer +#define CY_USE_WATCHDOG + */ +#define CY_USE_WATCHDOG + +/* system includes are here in order to allow DEBUG option */ +/* + * enable this define to enable debug prints +#define DEBUG = y + */ + +/* + * enable this define to enable verbose debug prints +#define VERBOSE_DEBUG + */ + +#include <linux/kernel.h> +#include <linux/device.h> +#include <linux/err.h> +#include <linux/input.h> + +#ifdef CONFIG_HAS_EARLYSUSPEND +#include <linux/earlysuspend.h> +#endif +#define CY_MAX_PRBUF_SIZE PIPE_BUF + +struct cyttsp4_bus_ops { + int (*write)(void *handle, u16 subaddr, size_t length, + const void *values, int i2c_addr, bool use_subaddr); + int (*read)(void *handle, u16 subaddr, size_t length, + void *values, int i2c_addr, bool use_subaddr); + struct device *dev; +#ifdef CONFIG_TOUCHSCREEN_DEBUG + u8 tsdebug; +#endif +}; + +void *cyttsp4_core_init(struct cyttsp4_bus_ops *bus_ops, + struct device *dev, int irq, char *name); + +void cyttsp4_core_release(void *handle); + +#if !defined(CONFIG_HAS_EARLYSUSPEND) +#if defined(CONFIG_PM_SLEEP) +extern const struct dev_pm_ops cyttsp4_pm_ops; +#elif defined(CONFIG_PM) +int cyttsp4_resume(void *handle); +int cyttsp4_suspend(void *handle); +#endif +#endif + +#endif /* __CYTTSP4_CORE_H__ */ diff --git a/drivers/input/touchscreen/cyttsp4_i2c.c b/drivers/input/touchscreen/cyttsp4_i2c.c new file mode 100644 index 0000000..8ed2073 --- /dev/null +++ b/drivers/input/touchscreen/cyttsp4_i2c.c @@ -0,0 +1,278 @@ +/* + * Source for: + * Cypress TrueTouch(TM) Standard Product (TTSP) I2C touchscreen driver. + * For use with Cypress Gen4 and Solo parts. + * Supported parts include: + * CY8CTMA884/616 + * CY8CTMA4XX + * + * Copyright (C) 2009-2012 Cypress Semiconductor, Inc. + * Copyright (C) 2011 Motorola Mobility, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2, and only version 2, as published by the + * Free Software Foundation. + * + * 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contact Cypress Semiconductor at www.cypress.com <kev@cypress.com> + * + */ + +#include "cyttsp4_core.h" + +#include <linux/i2c.h> +#include <linux/slab.h> +/* key led */ +#include <linux/regulator/consumer.h> +#define PRESS_KEY 1 /* Fixed value */ +#define RELEASE_KEY 0 /* Fixed value */ +static int led_status; +extern struct class *sec_class; + +#define CY_I2C_DATA_SIZE (3 * 256) + +struct cyttsp4_i2c { + struct cyttsp4_bus_ops ops; + struct i2c_client *client; + void *ttsp_client; + u8 wr_buf[CY_I2C_DATA_SIZE]; +}; + +/* key led */ +static ssize_t touchkey_led_control(struct device *dev, + struct device_attribute *attr, const char *buf, + size_t size) +{ + struct regulator *vreg_led = NULL; + int ret; + int data; + sscanf(buf, "%d\n", &data); + + pr_info("[TSP] %s : LED buf is %d\n", __func__, data); + + if (vreg_led == NULL) { + vreg_led = regulator_get(NULL, "KEYLED_3P3V"); + if (IS_ERR(vreg_led)) { + pr_err("tsp: Fail to register vreg_led(KEYLED_3P3V) in touch driver\n"); + return size; + } + } + if (data == 1 && led_status == 0) { + ret = regulator_enable(vreg_led); + if (ret) + pr_err("tsp: Fail to enable led\n"); + led_status = 1; + } else if (data == 2 && led_status == 1) { + ret = regulator_disable(vreg_led); + if (ret) + pr_err("tsp: Fail to disable led\n"); + led_status = 0; + } + + return size; +} +static DEVICE_ATTR(brightness, S_IRUGO | S_IWUSR | S_IWGRP, NULL, + touchkey_led_control); + +static s32 cyttsp4_i2c_read_block_data(void *handle, u16 subaddr, + size_t length, void *values, int i2c_addr, bool use_subaddr) +{ + struct cyttsp4_i2c *ts = container_of(handle, struct cyttsp4_i2c, ops); + int retval = 0; + u8 sub_addr[2]; + int subaddr_len; + + if (use_subaddr) { + subaddr_len = 1; + sub_addr[0] = subaddr; + } + + ts->client->addr = i2c_addr; + if (!use_subaddr) + goto read_packet; + + /* write subaddr */ + retval = i2c_master_send(ts->client, sub_addr, subaddr_len); + if (retval < 0) + return retval; + else if (retval != subaddr_len) + return -EIO; + +read_packet: + retval = i2c_master_recv(ts->client, values, length); + + return (retval < 0) ? retval : retval != length ? -EIO : 0; +} + +static s32 cyttsp4_i2c_write_block_data(void *handle, u16 subaddr, + size_t length, const void *values, int i2c_addr, bool use_subaddr) +{ + struct cyttsp4_i2c *ts = container_of(handle, struct cyttsp4_i2c, ops); + int retval; + + if (use_subaddr) { + ts->wr_buf[0] = subaddr; + memcpy(&ts->wr_buf[1], values, length); + length += 1; + } else { + memcpy(&ts->wr_buf[0], values, length); + } + ts->client->addr = i2c_addr; + retval = i2c_master_send(ts->client, ts->wr_buf, length); + + return (retval < 0) ? retval : retval != length ? -EIO : 0; +} + +static int __devinit cyttsp4_i2c_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + struct regulator *vreg_led = NULL; + struct cyttsp4_i2c *ts; + int retval = 0; + /* key led */ + struct device *sec_touchkey; + + pr_info("%s: Starting %s probe...\n", __func__, CY_I2C_NAME); + + if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { + pr_err("%s: fail check I2C functionality\n", __func__); + retval = -EIO; + goto cyttsp4_i2c_probe_exit; + } + + /* allocate and clear memory */ + ts = kzalloc(sizeof(struct cyttsp4_i2c), GFP_KERNEL); + if (ts == NULL) { + pr_err("%s: Error, kzalloc.\n", __func__); + retval = -ENOMEM; + goto cyttsp4_i2c_probe_exit; + } + + /* register driver_data */ + ts->client = client; + i2c_set_clientdata(client, ts); + ts->ops.write = cyttsp4_i2c_write_block_data; + ts->ops.read = cyttsp4_i2c_read_block_data; + ts->ops.dev = &client->dev; + ts->ops.dev->bus = &i2c_bus_type; + + ts->ttsp_client = cyttsp4_core_init(&ts->ops, &client->dev, + client->irq, client->name); + + if (ts->ttsp_client == NULL) { + kfree(ts); + ts = NULL; + retval = -ENODATA; + pr_err("%s: Registration fail ret=%d\n", __func__, retval); + goto cyttsp4_i2c_probe_exit; + } + + dev_info(ts->ops.dev, + "%s: Registration complete\n", __func__); + + /* key led */ + vreg_led = regulator_get(NULL, "KEYLED_3P3V"); + if (IS_ERR(vreg_led)) + goto err_vreg_led; + led_status = 0; + sec_touchkey = device_create(sec_class, NULL, 0, NULL, "sec_touchkey"); + if (device_create_file(sec_touchkey, + &dev_attr_brightness) < 0) { + pr_err("Failed to create device file(%s)!\n", + dev_attr_brightness.attr.name); + } + + return 0; + +cyttsp4_i2c_probe_exit: + return retval; + +err_vreg_led: + pr_err("tsp: Fail to register vreg_led(KEYLED_3P3V) in touch driver\n"); + regulator_put(vreg_led); + return retval; +} + +/* registered in driver struct */ +static int __devexit cyttsp4_i2c_remove(struct i2c_client *client) +{ + struct regulator *vreg_led = NULL; + struct cyttsp4_i2c *ts; + + ts = i2c_get_clientdata(client); + cyttsp4_core_release(ts->ttsp_client); + kfree(ts); + regulator_put(vreg_led); + return 0; +} + +#if !defined(CONFIG_HAS_EARLYSUSPEND) && !defined(CONFIG_PM_SLEEP) +#if defined(CONFIG_PM) +static int cyttsp4_i2c_suspend(struct i2c_client *client, pm_message_t message) +{ + struct cyttsp4_i2c *ts = i2c_get_clientdata(client); + + return cyttsp4_suspend(ts); +} + +static int cyttsp4_i2c_resume(struct i2c_client *client) +{ + struct cyttsp4_i2c *ts = i2c_get_clientdata(client); + + return cyttsp4_resume(ts); +} +#endif +#endif + +static const struct i2c_device_id cyttsp4_i2c_id[] = { + { CY_I2C_NAME, 0 }, { } +}; + +static struct i2c_driver cyttsp4_i2c_driver = { + .driver = { + .name = CY_I2C_NAME, + .owner = THIS_MODULE, +#if !defined(CONFIG_HAS_EARLYSUSPEND) +#if defined(CONFIG_PM_SLEEP) + .pm = &cyttsp4_pm_ops, +#endif +#endif + }, + .probe = cyttsp4_i2c_probe, + .remove = __devexit_p(cyttsp4_i2c_remove), + .id_table = cyttsp4_i2c_id, +#if !defined(CONFIG_HAS_EARLYSUSPEND) && !defined(CONFIG_PM_SLEEP) +#if defined(CONFIG_PM) + .suspend = cyttsp4_i2c_suspend, + .resume = cyttsp4_i2c_resume, +#endif +#endif +}; + +static int __init cyttsp4_i2c_init(void) +{ + return i2c_add_driver(&cyttsp4_i2c_driver); +} + +static void __exit cyttsp4_i2c_exit(void) +{ + return i2c_del_driver(&cyttsp4_i2c_driver); +} + +module_init(cyttsp4_i2c_init); +module_exit(cyttsp4_i2c_exit); + +MODULE_ALIAS(CY_I2C_NAME); +MODULE_LICENSE("GPL"); +MODULE_DESCRIPTION("Cypress TrueTouch(R) Standard Product (TTSP) I2C driver"); +MODULE_AUTHOR("Cypress"); +MODULE_DEVICE_TABLE(i2c, cyttsp4_i2c_id); diff --git a/drivers/input/touchscreen/grande_download.c b/drivers/input/touchscreen/grande_download.c new file mode 100755 index 0000000..b768bea --- /dev/null +++ b/drivers/input/touchscreen/grande_download.c @@ -0,0 +1,1943 @@ +//------------------------------------------------------------------ +// +// MELFAS Firmware download base code v6 For MCS5080 2008/11/04 +// +//------------------------------------------------------------------ +#include <linux/module.h> + +#include <linux/init.h> +#include <linux/fs.h> +#include <linux/i2c.h> +#include <linux/interrupt.h> +#include <linux/irq.h> +#include <linux/sched.h> +#include <linux/pm.h> +#include <linux/sysctl.h> +#include <linux/proc_fs.h> +#include <linux/delay.h> +#include <linux/platform_device.h> +#include <linux/input.h> +#include <mach/regs-gpio.h> +#include <mach/gpio.h> +#include <mach/irqs.h> +#include <plat/gpio-cfg.h> +#include <asm/gpio.h> +#include <mach/gpio-midas.h> +#include "grande_download.h" + +#define _3_TOUCH_SDA_28V GPIO_3_TOUCH_SDA +#define _3_TOUCH_SCL_28V GPIO_3_TOUCH_SCL +#define _3_GPIO_TOUCH_EN GPIO_3_TOUCH_EN +#define _3_GPIO_TOUCH_INT GPIO_3_TOUCH_INT + + +//============================================================ +// +// Static variables & functions +// +//============================================================ + +#define MCS5000_CHIP 0x93 +#define MCS5080_CHIP 0x3 + +static UINT8 MCS_VERSION; + +//--------------------------------- +// Downloading functions +//--------------------------------- +static int mcsdl_download(const UINT8 *pData, const UINT16 nLength); +static int mcsdl_download_5000(const UINT8 *pData, const UINT16 nLength); +static int mcsdl_enter_download_mode(void); +static void mcsdl_write_download_mode_signal(void); + +static int mcsdl_i2c_erase_flash(void); +static int mcsdl_i2c_erase_flash_5000(void); +static int mcsdl_i2c_prepare_erase_flash(void); +static int mcsdl_i2c_read_flash( UINT8 *pBuffer, UINT16 nAddr_start, UINT8 cLength); +static int mcsdl_i2c_prepare_program(void); +static int mcsdl_i2c_program_info(void); +static int mcsdl_i2c_program_flash( UINT8 *pData, UINT16 nAddr_start, UINT8 cLength ); +static int mcsdl_i2c_program_flash_5000( UINT8 *pData, UINT16 nAddr_start, UINT8 cLength ); + +//----------------------------------------- +// Download enable command on Protocol +//----------------------------------------- +#if MELFAS_USE_PROTOCOL_COMMAND_FOR_DOWNLOAD +void melfas_send_download_enable_command(void); +#endif + +struct i2c_touchkey_driver { + struct i2c_client *client; + struct input_dev *input_dev; + struct work_struct work; +}; +extern struct i2c_touchkey_driver *touchkey_driver; +static spinlock_t spinlock; +#define I2C_M_WR 0 /* for i2c */ +#define uart_printf printk + + + +//--------------------------------- +// I2C Functions +//--------------------------------- +static BOOLEAN _i2c_read_( UINT8 slave_addr, UINT8 *pData, UINT8 cLength); +static BOOLEAN _i2c_write_(UINT8 slave_addr, UINT8 *pData, UINT8 cLength); + +//--------------------------------- +// Delay functions +//--------------------------------- +static void mcsdl_delay(UINT32 nCount); + +//--------------------------------- +// For debugging display +//--------------------------------- +#if MELFAS_ENABLE_DBG_PRINT +static void mcsdl_print_result(int nRet); +#endif + + +//////I2C + +#define EXT_I2C_SCL_HIGH TKEY_I2C_SCL_SET_HIGH(); +#define EXT_I2C_SCL_LOW TKEY_I2C_SCL_SET_LOW(); +#define EXT_I2C_SDA_HIGH TKEY_I2C_SDA_SET_HIGH(); +#define EXT_I2C_SDA_LOW TKEY_I2C_SDA_SET_LOW(); + +static void SCLH_SDAH(u32 delay) +{ + EXT_I2C_SCL_HIGH; + EXT_I2C_SDA_HIGH; + udelay(delay); +} + +static void SCLH_SDAL(u32 delay) +{ + EXT_I2C_SCL_HIGH; + EXT_I2C_SDA_LOW; + udelay(delay); +} + +static void SCLL_SDAH(u32 delay) +{ + EXT_I2C_SCL_LOW; + EXT_I2C_SDA_HIGH; + udelay(delay); +} + +static void SCLL_SDAL(u32 delay) +{ + EXT_I2C_SCL_LOW; + EXT_I2C_SDA_LOW; + udelay(delay); +} + +static void EXT_I2C_LOW(u32 delay) +{ + SCLL_SDAL(delay); + SCLH_SDAL(delay); + SCLH_SDAL(delay); + SCLL_SDAL(delay); +} + +static void EXT_I2C_HIGH(u32 delay) +{ + SCLL_SDAH(delay); + SCLH_SDAH(delay); + SCLH_SDAH(delay); + SCLL_SDAH(delay); +} + +static void EXT_I2C_START(u32 delay) +{ + SCLH_SDAH(delay); + SCLH_SDAL(delay); + udelay(delay); + SCLL_SDAL(delay); +} + +static void EXT_I2C_RESTART(u32 delay) +{ + SCLL_SDAH(delay); + SCLH_SDAH(delay); + SCLH_SDAL(delay); + udelay(delay); + SCLL_SDAL(delay); +} + +static void EXT_I2C_END(u32 delay) +{ + SCLL_SDAL(delay); + SCLH_SDAL(delay); + udelay(delay); + SCLH_SDAH(delay); +} + +static void EXT_I2C_ACK(u32 delay) +{ + u32 ack; + + EXT_I2C_SCL_LOW; + udelay(delay); + + /* SDA -> Input */ + TKEY_I2C_SDA_SET_INPUT(); + + EXT_I2C_SCL_HIGH; + udelay(delay); + ack = gpio_get_value(_3_TOUCH_SDA_28V); + EXT_I2C_SCL_HIGH; + udelay(delay); + + /* SDA -> Onput Low */ + TKEY_I2C_SDA_SET_LOW(); + + EXT_I2C_SCL_LOW; + udelay(delay); + + if (ack) + printk("EXT_I2C(%d) -> No ACK\n", ack); +} + +static void EXT_I2C_NACK(u32 delay) +{ + EXT_I2C_HIGH(delay); +} + +static void EXT_I2C_SEND_ACK(u32 delay) +{ + u32 ack; + + EXT_I2C_SCL_LOW; + udelay(delay); + + /* SDA -> Input */ + TKEY_I2C_SDA_SET_INPUT(); + udelay(delay); + ack = gpio_get_value(_3_TOUCH_SDA_28V); + + /* SDA -> Onput Low */ + TKEY_I2C_SDA_SET_LOW(); + + EXT_I2C_SCL_HIGH; +// udelay(delay); +// ack = gpio_get_value(_3_TOUCH_SDA_28V); +// EXT_I2C_SCL_HIGH; + udelay(delay); + + EXT_I2C_SCL_LOW; + udelay(delay); + +} + +#define EXT_I2C_DELAY 3 +//============================================================ +// +// Porting section 6. I2C function calling +// +// Connect baseband i2c function +// +// Warning 1. !!!! Burst mode is not supported. Transfer 1 byte Only. +// +// Every i2c packet has to +// " START > Slave address > One byte > STOP " at download mode. +// +// Warning 2. !!!! Check return value of i2c function. +// +// _i2c_read_(), _i2c_write_() must return +// TRUE (1) if success, +// FALSE(0) if failed. +// +// If baseband i2c function returns different value, convert return value. +// ex> baseband_return = baseband_i2c_read( slave_addr, pData, cLength ); +// return ( baseband_return == BASEBAND_RETURN_VALUE_SUCCESS ); +// +// +// Warning 3. !!!! Check Slave address +// +// Slave address is '0x7F' at download mode. ( Diffrent with Normal touch working mode ) +// '0x7F' is original address, +// If shift << 1 bit, It becomes '0xFE' +// +//============================================================ + +static BOOLEAN _i2c_read_( UINT8 SlaveAddr, UINT8 *pData, UINT8 cLength) +{ +#if 1 + u32 i; + int delay_count = 10000; + + //ext_i2c_channel = Channel; + + EXT_I2C_START(EXT_I2C_DELAY); +/* + for (i = 8; i > 1; i--) { + if ((SlaveAddr >> (i - 1)) & 0x1) + EXT_I2C_HIGH(EXT_I2C_DELAY); + else + EXT_I2C_LOW(EXT_I2C_DELAY); + } + + EXT_I2C_LOW(EXT_I2C_DELAY); + + EXT_I2C_ACK(EXT_I2C_DELAY); + + for (i = 8; i > 0; i--) { + if ((WordAddr >> (i - 1)) & 0x1) + EXT_I2C_HIGH(EXT_I2C_DELAY); + else + EXT_I2C_LOW(EXT_I2C_DELAY); + } + + EXT_I2C_ACK(EXT_I2C_DELAY); + + EXT_I2C_RESTART(EXT_I2C_DELAY); +*/ + SlaveAddr = SlaveAddr <<1; + for (i = 8; i > 1; i--) { + if ((SlaveAddr >> (i - 1)) & 0x1) + EXT_I2C_HIGH(EXT_I2C_DELAY); + else + EXT_I2C_LOW(EXT_I2C_DELAY); + } + + EXT_I2C_HIGH(EXT_I2C_DELAY); + + EXT_I2C_ACK(EXT_I2C_DELAY); + + udelay(60); + TKEY_I2C_SDA_SET_INPUT(); + TKEY_I2C_SCL_SET_INPUT(); + //while(!gpio_get_value(_3_TOUCH_SCL_28V)); + delay_count = 100000; + while(delay_count--) + { + if(gpio_get_value(_3_TOUCH_SCL_28V)) + break; + udelay(1); + } + //udelay(EXT_I2C_DELAY); + while(cLength--) + { + *pData = 0; + for (i = 8; i > 0; i--) { + //EXT_I2C_SCL_LOW; + udelay(EXT_I2C_DELAY); + EXT_I2C_SCL_HIGH; + udelay(EXT_I2C_DELAY); + *pData |= (!!(gpio_get_value(_3_TOUCH_SDA_28V)) << (i - 1)); + EXT_I2C_SCL_HIGH; + udelay(EXT_I2C_DELAY); + EXT_I2C_SCL_LOW; + udelay(EXT_I2C_DELAY); + } + + if(cLength) + { + EXT_I2C_SEND_ACK(EXT_I2C_DELAY); + udelay(60); + pData++; + TKEY_I2C_SDA_SET_INPUT(); + TKEY_I2C_SCL_SET_INPUT(); + //while(!gpio_get_value(_3_TOUCH_SCL_28V)); + delay_count = 100000; + while(delay_count--) + { + if(gpio_get_value(_3_TOUCH_SCL_28V)) + break; + udelay(1); + } + } + else + EXT_I2C_NACK(EXT_I2C_DELAY); + } + + EXT_I2C_END(EXT_I2C_DELAY); + + return (TRUE ); +#else + + BOOLEAN bRet; + int err; + #if USE_BASEBAND_I2C_FUNCTION + struct i2c_msg msg[1]; + if( (touchkey_driver->client == NULL) || (!touchkey_driver->client->adapter) ) + { + return -ENODEV; + } + + msg->addr = MCSDL_I2C_SLAVE_ADDR_ORG; + msg->flags = I2C_M_RD; + msg->len = cLength; + msg->buf = pData; + err = i2c_transfer(touchkey_driver->client->adapter, msg, 1); + + if (err < 0) + { + printk("%s %d i2c transfer error\n", __func__, __LINE__);/* add by inter.park */ + return FALSE; + } + + #else + + bRet = FALSE; + + #endif + + return (TRUE ); +#endif +} + +static BOOLEAN _i2c_write_(UINT8 SlaveAddr, UINT8 *pData, UINT8 cLength) +{ +#if 1 + u32 i; + //ext_i2c_channel = Channel; + + EXT_I2C_START(EXT_I2C_DELAY); +/* + for (i = 8; i > 1; i--) { + if ((SlaveAddr >> (i - 1)) & 0x1) + EXT_I2C_HIGH(EXT_I2C_DELAY); + else + EXT_I2C_LOW(EXT_I2C_DELAY); + } + + EXT_I2C_LOW(EXT_I2C_DELAY); + + EXT_I2C_ACK(EXT_I2C_DELAY); +*/ SlaveAddr = SlaveAddr <<1; + for (i = 8; i > 0; i--) { + if ((SlaveAddr >> (i - 1)) & 0x1) + EXT_I2C_HIGH(EXT_I2C_DELAY); + else + EXT_I2C_LOW(EXT_I2C_DELAY); + } + + EXT_I2C_ACK(EXT_I2C_DELAY); + + udelay(500); //for i2c test + + + for (i = 8; i > 0; i--) { + if ((*pData >> (i - 1)) & 0x1) + EXT_I2C_HIGH(EXT_I2C_DELAY); + else + EXT_I2C_LOW(EXT_I2C_DELAY); + } + + EXT_I2C_ACK(EXT_I2C_DELAY); + + EXT_I2C_END(EXT_I2C_DELAY); + + return (TRUE ); +#else + BOOLEAN bRet; + int err; + + #if USE_BASEBAND_I2C_FUNCTION + + struct i2c_msg msg[1]; + if( (touchkey_driver->client == NULL) || (!touchkey_driver->client->adapter) ) + { + return -ENODEV; + } + + msg->addr = MCSDL_I2C_SLAVE_ADDR_ORG; + msg->flags = I2C_M_WR; + msg->len = cLength; + msg->buf = pData; + err = i2c_transfer(touchkey_driver->client->adapter, msg, 1); + + if (err < 0) + { + printk("%s %d i2c transfer error\n", __func__, __LINE__);/* add by inter.park */ + return FALSE; + } + #else + + bRet = FALSE; + + #endif + + return (TRUE); +#endif +} + +//---------------------------------- +// Download enable command +//---------------------------------- +#if MELFAS_USE_PROTOCOL_COMMAND_FOR_DOWNLOAD + +void melfas_send_download_enable_command(void) +{ + // TO DO : Fill this up + +} + +#endif + + +//============================================================ +// +// Include MELFAS Binary source code File ( ex> MELFAS_FIRM_bin.c) +// +// Warning!!!! +// .c file included at next must not be inserted to Souce project. +// Just #include One file. !! +// +//============================================================ +//#include "MCS5080_SAMPLE_FIRMWARE_R01_V00_bin.c" +//#include "MMH_SVESTA_R00_V02_bin.c" //1 include bin file +#define BINARY_FIRMWARE_VERSION 0x01 +#include "MCH_SW889_R01_V01_bin.c" + +//============================================================ +// +// main Download furnction +// +//============================================================ +//#define IRQ_TOUCH_INT S3C_GPIOINT(J4,1) +//#define IRQ_TOUCH_INT IRQ_GPIOINT +#define IRQ_TOUCH_INT gpio_to_irq(GPIO_3_TOUCH_INT) + +void get_touchkey_data(UINT8 *data, UINT8 length) +{ + _i2c_read_(TOUCHKEY_ADDRESS, data, length); +} + +int mcsdl_download_binary_data(UINT8 chip_ver) +{ + int ret = 0; + MCS_VERSION = chip_ver; + + #if MELFAS_USE_PROTOCOL_COMMAND_FOR_DOWNLOAD + + melfas_send_download_enable_command(); + + mcsdl_delay(MCSDL_DELAY_100US); + + #endif + + MELFAS_DISABLE_BASEBAND_ISR(); // Disable Baseband touch interrupt ISR. + MELFAS_DISABLE_WATCHDOG_TIMER_RESET(); // Disable Baseband watchdog timer + + //------------------------ + // Run Download + //------------------------ + + if(MCS_VERSION==MCS5000_CHIP) //MCS-5000 + { + ret = mcsdl_download_5000( (const UINT8*) MELFAS_binary, (const UINT16)MELFAS_binary_nLength ); + } + else if(MCS_VERSION==MCS5080_CHIP) //MCS-5080 + { + ret = mcsdl_download( (const UINT8*) MELFAS_binary, (const UINT16)MELFAS_binary_nLength ); + } + else + uart_printf("Touchkey IC module is old, can't update!"); + + MELFAS_DISABLE_WATCHDOG_TIMER_RESET(); // Roll-back Baseband touch interrupt ISR. + MELFAS_ROLLBACK_WATCHDOG_TIMER_RESET(); // Roll-back Baseband watchdog timer + + #if MELFAS_ENABLE_DBG_PRINT + + //------------------------ + // Show result + //------------------------ + + mcsdl_print_result( ret ); + + #endif + + + gpio_direction_output(_3_GPIO_TOUCH_EN, 1); + mdelay(100); + s3c_gpio_setpull(_3_GPIO_TOUCH_INT, S3C_GPIO_PULL_NONE); + s3c_gpio_cfgpin(EXYNOS4212_GPJ1(0), S3C_GPIO_SFN(0xf)); + irq_set_irq_type(IRQ_TOUCH_INT, IRQ_TYPE_EDGE_FALLING); + + return ( ret == MCSDL_RET_SUCCESS ); +} + + + +int mcsdl_download_binary_file(UINT8 *pData, UINT16 nBinary_length) +{ + UINT8 data[3]; + int ret; + + //UINT8 *pData = NULL; + //UINT16 nBinary_length =0; + + //================================================== + // + // Porting section 7. File process + // + // 1. Read '.bin file' + // 2. Run mcsdl_download_binary_data(); + // + //================================================== + + #if 0 + + // TO DO : File Process & Get file Size(== Binary size) + // This is just a simple sample + + FILE *fp; + INT nRead; + + //------------------------------ + // Open a file + //------------------------------ + + if( fopen( fp, "MELFAS_FIRM.bin", "rb" ) == NULL ){ + return MCSDL_RET_FILE_ACCESS_FAILED; + } + + //------------------------------ + // Get Binary Size + //------------------------------ + + fseek( fp, 0, SEEK_END ); + + nBinary_length = (UINT16)ftell(fp); + + //------------------------------ + // Memory allocation + //------------------------------ + + pData = (UINT8*)malloc( (INT)nBinary_length ); + + if( pData == NULL ){ + + return MCSDL_RET_FILE_ACCESS_FAILED; + } + + //------------------------------ + // Read binary file + //------------------------------ + + fseek( fp, 0, SEEK_SET ); + + nRead = fread( pData, 1, (INT)nBinary_length, fp ); // Read binary file + + if( nRead != (INT)nBinary_length ){ + + fclose(fp); // Close file + + if( pData != NULL ) // free memory alloced. + free(pData); + + return MCSDL_RET_FILE_ACCESS_FAILED; + } + + //------------------------------ + // Close file + //------------------------------ + + fclose(fp); + + #endif + + if( pData != NULL && nBinary_length > 0 && nBinary_length < 14*1024 ){ + + MELFAS_DISABLE_BASEBAND_ISR(); // Disable Baseband touch interrupt ISR. + MELFAS_DISABLE_WATCHDOG_TIMER_RESET(); // Disable Baseband watchdog timer + + ret = mcsdl_download( (const UINT8 *)pData, (const UINT16)nBinary_length ); + + MELFAS_DISABLE_WATCHDOG_TIMER_RESET(); // Roll-back Baseband touch interrupt ISR. + MELFAS_ROLLBACK_WATCHDOG_TIMER_RESET(); // Roll-back Baseband watchdog timer + + }else{ + + ret = MCSDL_RET_WRONG_PARAMETER; + } + + #if MELFAS_ENABLE_DBG_PRINT + + mcsdl_print_result( ret ); + + #endif + + #if 0 + if( pData != NULL ) // free memory alloced. + free(pData); + #endif + + _i2c_read_(TOUCHKEY_ADDRESS, data, 3 ); + printk("%s F/W version: 0x%x, Module version:0x%x\n",__FUNCTION__, data[1],data[2]); + + return ( ret == MCSDL_RET_SUCCESS ); + +} + +//------------------------------------------------------------------ +// +// Download function +// +//------------------------------------------------------------------ + +static int mcsdl_download(const UINT8 *pData, const UINT16 nLength ) +{ + int i; + int nRet; + + UINT8 cLength; + UINT16 nStart_address=0; + + UINT8 buffer[MELFAS_TRANSFER_LENGTH]; + UINT8 *pOriginal_data; + + + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("Starting MCS-5080 download...\n"); + #endif + + //-------------------------------------------------------------- + // + // Enter Download mode + // + //-------------------------------------------------------------- + nRet = mcsdl_enter_download_mode(); + + if( nRet != MCSDL_RET_SUCCESS ) + goto MCSDL_DOWNLOAD_FINISH; + + mdelay(MCSDL_DELAY_1MS); // Delay '1 msec' + + //-------------------------------------------------------------- + // + // Check H/W Revision + // + // Don't download firmware, if Module H/W revision does not match. + // + //-------------------------------------------------------------- + #if MELFAS_DISABLE_DOWNLOAD_IF_MODULE_VERSION_DOES_NOT_MATCH + + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("Checking module revision...\n"); + #endif + + pOriginal_data = (UINT8 *)pData; + + nRet = mcsdl_i2c_read_flash( buffer, MCSDL_ADDR_MODULE_REVISION, 4 ); + + if( nRet != MCSDL_RET_SUCCESS ) + goto MCSDL_DOWNLOAD_FINISH; + + if( (pOriginal_data[MCSDL_ADDR_MODULE_REVISION+1] != buffer[1]) + || (pOriginal_data[MCSDL_ADDR_MODULE_REVISION+2] != buffer[2]) ){ + + nRet = MCSDL_RET_WRONG_MODULE_REVISION; + goto MCSDL_DOWNLOAD_FINISH; + } + + mdelay(MCSDL_DELAY_1MS); // Delay '1 msec' + + #endif + + //-------------------------------------------------------------- + // + // Erase Flash + // + //-------------------------------------------------------------- + + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("Erasing...\n"); + #endif + + nRet = mcsdl_i2c_prepare_erase_flash(); + + if( nRet != MCSDL_RET_SUCCESS ){ + goto MCSDL_DOWNLOAD_FINISH; + } + + mdelay(MCSDL_DELAY_1MS); // Delay '1 msec' + + nRet = mcsdl_i2c_erase_flash(); + + if( nRet != MCSDL_RET_SUCCESS ){ + goto MCSDL_DOWNLOAD_FINISH; + } + + mdelay(MCSDL_DELAY_1MS); // Delay '1 msec' + + + //-------------------------------------------------------------- + // + // Verify erase + // + //-------------------------------------------------------------- + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("Verify Erasing...\n"); + #endif + + nRet = mcsdl_i2c_read_flash( buffer, 0x00, 16 ); + + if( nRet != MCSDL_RET_SUCCESS ) + goto MCSDL_DOWNLOAD_FINISH; + + + for(i=0; i<16; i++){ + + if( buffer[i] != 0xFF ){ + + nRet = MCSDL_RET_ERASE_VERIFY_FAILED; + goto MCSDL_DOWNLOAD_FINISH; + } + } + + mdelay(MCSDL_DELAY_1MS); // Delay '1 msec' + + + //-------------------------------------------------------------- + // + // Prepare for Program flash. + // + //-------------------------------------------------------------- + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("Program information...\n"); + #endif + + nRet = mcsdl_i2c_prepare_program(); + + if( nRet != MCSDL_RET_SUCCESS ) + goto MCSDL_DOWNLOAD_FINISH; + + + mdelay(MCSDL_DELAY_1MS); // Delay '1 msec' + + + //-------------------------------------------------------------- + // + // Program flash + // + //-------------------------------------------------------------- + + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("Program flash... "); + #endif + + pOriginal_data = (UINT8 *)pData; + + nStart_address = 0; + cLength = MELFAS_TRANSFER_LENGTH; + + for( nStart_address = 0; nStart_address < nLength; nStart_address+=cLength ){ + + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("#"); + #endif + + if( ( nLength - nStart_address ) < MELFAS_TRANSFER_LENGTH ){ + cLength = (UINT8)(nLength - nStart_address); + + cLength += (cLength%2); // For odd length. + } + + nRet = mcsdl_i2c_program_flash( pOriginal_data, nStart_address, cLength ); + + if( nRet != MCSDL_RET_SUCCESS ){ + + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("Program flash failed position : 0x%x / nRet : 0x%x ", nStart_address, nRet); + #endif + + goto MCSDL_DOWNLOAD_FINISH; + } + + pOriginal_data += cLength; + + mcsdl_delay(MCSDL_DELAY_500US); // Delay '500 usec' + + } + + + //-------------------------------------------------------------- + // + // Verify flash + // + //-------------------------------------------------------------- + + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("\n"); + uart_printf("Verify flash... "); + #endif + + pOriginal_data = (UINT8 *) pData; + + nStart_address = 0; + + cLength = MELFAS_TRANSFER_LENGTH; + + for( nStart_address = 0; nStart_address < nLength; nStart_address+=cLength ){ + + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("#"); + #endif + + if( ( nLength - nStart_address ) < MELFAS_TRANSFER_LENGTH ){ + cLength = (UINT8)(nLength - nStart_address); + + cLength += (cLength%2); // For odd length. + } + + //-------------------- + // Read flash + //-------------------- + nRet = mcsdl_i2c_read_flash( buffer, nStart_address, cLength ); + + //-------------------- + // Comparing + //-------------------- + + for(i=0; i<(int)cLength; i++){ + + + if( buffer[i] != pOriginal_data[i] ){ + + #if MELFAS_ENABLE_DBG_PROGRESS_PRINT + uart_printf("0x%04X : 0x%02X - 0x%02X\n", nStart_address, pOriginal_data[i], buffer[i] ); + #endif + + nRet = MCSDL_RET_PROGRAM_VERIFY_FAILED; + goto MCSDL_DOWNLOAD_FINISH; + + } + } + + pOriginal_data += cLength; + + + mcsdl_delay(MCSDL_DELAY_500US); // Delay '500 usec' + } + + uart_printf("\n"); + + nRet = MCSDL_RET_SUCCESS; + + +MCSDL_DOWNLOAD_FINISH : + + mdelay(MCSDL_DELAY_1MS); // Delay '1 msec' + + //--------------------------- + // Reset command + //--------------------------- + buffer[0] = MCSDL_ISP_CMD_RESET; + + _i2c_write_( MCSDL_I2C_SLAVE_ADDR_ORG, buffer, 1 ); + + TKEY_INTR_SET_INPUT(); + + mcsdl_delay(MCSDL_DELAY_45MS); + + return nRet; +} + +//------------------------------------------------------------------ +// +// Download function for MCS-5000 +// +//------------------------------------------------------------------ + +static int mcsdl_download_5000(const UINT8 *pData, const UINT16 nLength ) +{ + int i; + int nRet; + + UINT16 nCurrent=0; + UINT8 cLength; + + UINT8 buffer[MELFAS_TRANSFER_LENGTH]; + + UINT8 *pBuffer; + + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("Starting MCS-5000 download...\n"); + #endif + + //-------------------------------------------------------------- + // + // Enter Download mode + // + //-------------------------------------------------------------- + nRet = mcsdl_enter_download_mode(); + + if( nRet != MCSDL_RET_SUCCESS ) + goto MCSDL_DOWNLOAD_FINISH; + + + mcsdl_delay(MCSDL_DELAY_1MS); // Delay '1 msec' + + + //-------------------------------------------------------------- + // + // Erase Flash + // + //-------------------------------------------------------------- + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("Erasing...\n"); + #endif + + nRet = mcsdl_i2c_erase_flash_5000(); + + if( nRet != MCSDL_RET_SUCCESS ){ + goto MCSDL_DOWNLOAD_FINISH; + } + + mcsdl_delay(MCSDL_DELAY_1MS); // Delay '1 msec' + + + //--------------------------- + // + // Verify erase + // + //--------------------------- + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("Verify Erasing...\n"); + #endif + + nRet = mcsdl_i2c_read_flash( buffer, 0x00, 16 ); + + if( nRet != MCSDL_RET_SUCCESS ) + goto MCSDL_DOWNLOAD_FINISH; + + for(i=0; i<16; i++){ + + if( buffer[i] != 0xFF ){ + + nRet = MCSDL_RET_ERASE_VERIFY_FAILED; + goto MCSDL_DOWNLOAD_FINISH; + } + } + + mcsdl_delay(MCSDL_DELAY_1MS); // Delay '1 msec' + + + //------------------------------- + // + // Program flash information + // + //------------------------------- + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("Program information...\n"); + #endif + + nRet = mcsdl_i2c_program_info(); + + if( nRet != MCSDL_RET_SUCCESS ) + goto MCSDL_DOWNLOAD_FINISH; + + + mcsdl_delay(MCSDL_DELAY_1MS); // Delay '1 msec' + + + //------------------------------- + // Program flash + //------------------------------- + + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("Program flash... "); + #endif + + pBuffer = (UINT8 *)pData; + nCurrent = 0; + cLength = MELFAS_TRANSFER_LENGTH; + + while( nCurrent < nLength ){ + + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("#"); + #endif + + if( ( nLength - nCurrent ) < MELFAS_TRANSFER_LENGTH ){ + cLength = (UINT8)(nLength - nCurrent); + } + + nRet = mcsdl_i2c_program_flash_5000( pBuffer, nCurrent, cLength ); + + if( nRet != MCSDL_RET_SUCCESS ){ + + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("Program flash failed position : 0x%x / nRet : 0x%x ", nCurrent, nRet); + #endif + + goto MCSDL_DOWNLOAD_FINISH; + } + + pBuffer += cLength; + nCurrent += (UINT16)cLength; + + mcsdl_delay(MCSDL_DELAY_1MS); // Delay '1 msec' + + } + + + //------------------------------- + // + // Verify flash + // + //------------------------------- + + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("\n"); + uart_printf("Verify flash... "); + #endif + + pBuffer = (UINT8 *) pData; + + nCurrent = 0; + + cLength = MELFAS_TRANSFER_LENGTH; + + while( nCurrent < nLength ){ + + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("#"); + #endif + + if( ( nLength - nCurrent ) < MELFAS_TRANSFER_LENGTH ){ + cLength = (UINT8)(nLength - nCurrent); + } + + //-------------------- + // Read flash + //-------------------- + nRet = mcsdl_i2c_read_flash( buffer, nCurrent, cLength ); + + //-------------------- + // Comparing + //-------------------- + for(i=0; i<(int)cLength; i++){ + + if( buffer[i] != pBuffer[i] ){ + + #ifdef MELFAS_ENABLE_DBG_PRINT + uart_printf("0x%04X : 0x%02X - 0x%02X\n", nCurrent, pBuffer[i], buffer[i] ); + #endif + + nRet = MCSDL_RET_PROGRAM_VERIFY_FAILED; + goto MCSDL_DOWNLOAD_FINISH; + + } + } + + pBuffer += cLength; + nCurrent += (UINT16)cLength; + + mcsdl_delay(MCSDL_DELAY_1MS); // Delay '1 msec' + } + + uart_printf("\n"); + + nRet = MCSDL_RET_SUCCESS; + + +MCSDL_DOWNLOAD_FINISH : + + mcsdl_delay(MCSDL_DELAY_1MS); // Delay '1 msec' + + //--------------------------- + // Reset command + //--------------------------- + buffer[0] = MCSDL_ISP_CMD_RESET; + + _i2c_write_( MCSDL_I2C_SLAVE_ADDR_ORG_5000, buffer, 1 ); + + mcsdl_delay(MCSDL_DELAY_45MS); + + TKEY_INTR_SET_INPUT(); + + + return nRet; + +} + + +//------------------------------------------------------------------ +// +// Enter Download mode ( MDS ISP or I2C ISP ) +// +//------------------------------------------------------------------ +static int mcsdl_enter_download_mode(void) +{ + BOOLEAN bRet; + int nRet = MCSDL_RET_ENTER_DOWNLOAD_MODE_FAILED; + + UINT8 cData=0; + + //-------------------------------------------- + // Tkey module reset + //-------------------------------------------- + + TKEY_VDD_SET_LOW(); + + TKEY_CE_SET_LOW(); + TKEY_CE_SET_OUTPUT(); + + TKEY_I2C_CLOSE(); + + TKEY_INTR_SET_LOW(); + TKEY_INTR_SET_OUTPUT(); + + TKEY_RESETB_SET_LOW(); + TKEY_RESETB_SET_OUTPUT(); + + mcsdl_delay(MCSDL_DELAY_45MS); // Delay for VDD LOW Stable + mcsdl_delay(MCSDL_DELAY_45MS); + + TKEY_VDD_SET_HIGH(); + TKEY_CE_SET_HIGH(); + TKEY_I2C_SDA_SET_HIGH(); + + mdelay(45); // Delay '45 msec' + + //------------------------------- + // Write 1st signal + //------------------------------- + mcsdl_write_download_mode_signal(); + + mcsdl_delay(MCSDL_DELAY_25MS); // Delay '25 msec' + + //------------------------------- + // Check response + //------------------------------- + + if(MCS_VERSION==MCS5080_CHIP) + bRet = _i2c_read_( MCSDL_I2C_SLAVE_ADDR_ORG, &cData, 1 ); + else + bRet = _i2c_read_( MCSDL_I2C_SLAVE_ADDR_ORG_5000, &cData, 1 ); + + if( bRet != TRUE || cData != MCSDL_I2C_SLAVE_READY_STATUS ){ + + uart_printf("mcsdl_enter_download_mode() returns - ret : 0x%x & cData : 0x%x\n", nRet, cData); + goto MCSDL_ENTER_DOWNLOAD_MODE_FINISH; + } + + nRet = MCSDL_RET_SUCCESS; + + //----------------------------------- + // Entering MDS ISP mode finished. + //----------------------------------- + +MCSDL_ENTER_DOWNLOAD_MODE_FINISH: + + return nRet; +} + +//-------------------------------------------- +// +// Write ISP Mode entering signal +// +//-------------------------------------------- +static void mcsdl_write_download_mode_signal(void) +{ + int i; + + UINT8 enter_code[14] = { 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1 }; + if(MCS_VERSION==MCS5000_CHIP) + { + enter_code[10] = 0; + enter_code[12] = 0; + } + + //--------------------------- + // ISP mode signal 0 + //--------------------------- + + for(i=0; i<14; i++){ + + if( enter_code[i] ) { + + TKEY_RESETB_SET_HIGH(); + TKEY_INTR_SET_HIGH(); + + }else{ + + TKEY_RESETB_SET_LOW(); + TKEY_INTR_SET_LOW(); + } + + TKEY_I2C_SCL_SET_HIGH(); mcsdl_delay(MCSDL_DELAY_15US); + TKEY_I2C_SCL_SET_LOW(); + + TKEY_RESETB_SET_LOW(); + TKEY_INTR_SET_LOW(); + + mcsdl_delay(MCSDL_DELAY_100US); + + } + + TKEY_I2C_SCL_SET_HIGH(); + + mcsdl_delay(MCSDL_DELAY_100US); + + TKEY_INTR_SET_HIGH(); + TKEY_RESETB_SET_HIGH(); +} + + +//-------------------------------------------- +// +// Prepare Erase flash +// +//-------------------------------------------- +static int mcsdl_i2c_prepare_erase_flash(void) +{ + int nRet = MCSDL_RET_PREPARE_ERASE_FLASH_FAILED; + + UINT8 i; + BOOLEAN bRet; + + UINT8 i2c_buffer[4] = { MCSDL_ISP_CMD_ERASE_TIMING, + MCSDL_ISP_ERASE_TIMING_VALUE_0, + MCSDL_ISP_ERASE_TIMING_VALUE_1, + MCSDL_ISP_ERASE_TIMING_VALUE_2 }; + UINT8 ucTemp; + + //----------------------------- + // Send Erase Setting code + //----------------------------- + + for(i=0; i<4; i++){ + + bRet = _i2c_write_(MCSDL_I2C_SLAVE_ADDR_ORG, &i2c_buffer[i], 1 ); + + if( !bRet ) + goto MCSDL_I2C_PREPARE_ERASE_FLASH_FINISH; + + mcsdl_delay(MCSDL_DELAY_15US); + } + + //----------------------------- + // Read Result + //----------------------------- + + mcsdl_delay(MCSDL_DELAY_500US); // Delay 500usec + + bRet = _i2c_read_(MCSDL_I2C_SLAVE_ADDR_ORG, &ucTemp, 1 ); + + if( bRet && ucTemp == MCSDL_ISP_ACK_PREPARE_ERASE_DONE ){ + + nRet = MCSDL_RET_SUCCESS; + + } + + +MCSDL_I2C_PREPARE_ERASE_FLASH_FINISH : + + return nRet; + +} + + +//-------------------------------------------- +// +// Erase flash +// +//-------------------------------------------- +static int mcsdl_i2c_erase_flash(void) +{ + int nRet = MCSDL_RET_ERASE_FLASH_FAILED; + + UINT8 i; + BOOLEAN bRet; + + UINT8 i2c_buffer[1] = { MCSDL_ISP_CMD_ERASE}; + UINT8 ucTemp; + + //----------------------------- + // Send Erase code + //----------------------------- + + for(i=0; i<1; i++){ + + bRet = _i2c_write_(MCSDL_I2C_SLAVE_ADDR_ORG, &i2c_buffer[i], 1 ); + + if( !bRet ) + goto MCSDL_I2C_ERASE_FLASH_FINISH; + + mcsdl_delay(MCSDL_DELAY_15US); + } + + //----------------------------- + // Read Result + //----------------------------- + + mcsdl_delay(MCSDL_DELAY_45MS); // Delay 45ms + + + bRet = _i2c_read_(MCSDL_I2C_SLAVE_ADDR_ORG, &ucTemp, 1 ); + + if( bRet && ucTemp == MCSDL_ISP_ACK_ERASE_DONE ){ + + nRet = MCSDL_RET_SUCCESS; + + } + + +MCSDL_I2C_ERASE_FLASH_FINISH : + + return nRet; + +} + + +//-------------------------------------------- +// +// Erase flash for MCS-5000 +// +//-------------------------------------------- +static int mcsdl_i2c_erase_flash_5000(void) +{ + int nRet = MCSDL_RET_ERASE_FLASH_FAILED; + + UINT8 i; + BOOLEAN bRet; + + UINT8 i2c_buffer[4] = { MCSDL_ISP_CMD_ERASE, + MCSDL_ISP_PROGRAM_TIMING_VALUE_3, + MCSDL_ISP_PROGRAM_TIMING_VALUE_4, + MCSDL_ISP_PROGRAM_TIMING_VALUE_5 }; + + //----------------------------- + // Send Erase code + //----------------------------- + + for(i=0; i<4; i++){ + + bRet = _i2c_write_(MCSDL_I2C_SLAVE_ADDR_ORG_5000, &i2c_buffer[i], 1 ); + + if( !bRet ) + goto MCSDL_I2C_ERASE_FLASH_FINISH; + + mcsdl_delay(MCSDL_DELAY_15US); + } + + //----------------------------- + // Read Result + //----------------------------- + + mcsdl_delay(MCSDL_DELAY_45MS); // Delay 45ms + + + bRet = _i2c_read_(MCSDL_I2C_SLAVE_ADDR_ORG_5000, i2c_buffer, 1 ); + + if( bRet && i2c_buffer[0] == MCSDL_ISP_ACK_ERASE_DONE ){ + + nRet = MCSDL_RET_SUCCESS; + + } + + +MCSDL_I2C_ERASE_FLASH_FINISH : + + return nRet; + +} + + +//-------------------------------------------- +// +// Read flash +// +//-------------------------------------------- +static int mcsdl_i2c_read_flash( UINT8 *pBuffer, UINT16 nAddr_start, UINT8 cLength) +{ + int nRet = MCSDL_RET_READ_FLASH_FAILED; + + int i; + BOOLEAN bRet; + UINT8 cmd[4]; + UINT8 ucTemp; + + //----------------------------------------------------------------------------- + // Send Read Flash command [ Read code - address high - address low - size ] + //----------------------------------------------------------------------------- + + cmd[0] = MCSDL_ISP_CMD_READ_FLASH; + cmd[1] = (UINT8)((nAddr_start >> 8 ) & 0xFF); + cmd[2] = (UINT8)((nAddr_start ) & 0xFF); + cmd[3] = cLength; + + for(i=0; i<4; i++){ + + if(MCS_VERSION==MCS5080_CHIP) + bRet = _i2c_write_( MCSDL_I2C_SLAVE_ADDR_ORG, &cmd[i], 1 ); + else + bRet = _i2c_write_( MCSDL_I2C_SLAVE_ADDR_ORG_5000, &cmd[i], 1 ); + + mcsdl_delay(MCSDL_DELAY_15US); + + if( bRet == FALSE ) + goto MCSDL_I2C_READ_FLASH_FINISH; + + } + + //---------------------------------- + // Read 'Result of command' + //---------------------------------- + if(MCS_VERSION==MCS5080_CHIP) + { + bRet = _i2c_read_( MCSDL_I2C_SLAVE_ADDR_ORG, &ucTemp, 1 ); + + if( !bRet || ucTemp != MCSDL_MDS_ACK_READ_FLASH){ + + goto MCSDL_I2C_READ_FLASH_FINISH; + } + } + + //---------------------------------- + // Read Data [ pCmd[3] == Size ] + //---------------------------------- + for(i=0; i<(int)cmd[3]; i++){ + + mcsdl_delay(MCSDL_DELAY_100US); // Delay about 100us + + if(MCS_VERSION==MCS5080_CHIP) + bRet = _i2c_read_( MCSDL_I2C_SLAVE_ADDR_ORG, pBuffer++, 1 ); + else + bRet = _i2c_read_( MCSDL_I2C_SLAVE_ADDR_ORG_5000, pBuffer++, 1 ); + + if( bRet == FALSE && i!=(int)(cmd[3]-1) ) + goto MCSDL_I2C_READ_FLASH_FINISH; + } + + nRet = MCSDL_RET_SUCCESS; + + +MCSDL_I2C_READ_FLASH_FINISH : + + return nRet; +} + + +//-------------------------------------------- +// +// Program information +// +//-------------------------------------------- +static int mcsdl_i2c_program_info(void) +{ + + int nRet = MCSDL_RET_PREPARE_PROGRAM_FAILED; + + int i; + int j; + BOOLEAN bRet; + + UINT8 i2c_buffer[5] = { MCSDL_ISP_CMD_PROGRAM_INFORMATION, + MCSDL_ISP_PROGRAM_TIMING_VALUE_2, + 0x00, // High addr + 0x00, // Low addr + 0x00 }; // Data + + UINT8 info_data[] = { 0x78, 0x00, 0xC0, 0xD4, 0x01 }; + + //------------------------------------------------------ + // Send information signal for programming flash + //------------------------------------------------------ + for(i=0; i<5; i++){ + + i2c_buffer[3] = 0x08 + i; // Low addr + i2c_buffer[4] = info_data[i]; // Program data + + for(j=0; j<5; j++){ + + bRet = _i2c_write_( MCSDL_I2C_SLAVE_ADDR_ORG_5000, &i2c_buffer[j], 1 ); + + if( bRet == FALSE ) + goto MCSDL_I2C_PROGRAM_INFO_FINISH; + + mcsdl_delay(MCSDL_DELAY_15US); + } + + mcsdl_delay(MCSDL_DELAY_500US); // delay about 500us + + bRet = _i2c_read_( MCSDL_I2C_SLAVE_ADDR_ORG_5000, &i2c_buffer[4], 1 ); + + if( bRet == FALSE || i2c_buffer[4] != MCSDL_I2C_ACK_PROGRAM_INFORMATION ) + goto MCSDL_I2C_PROGRAM_INFO_FINISH; + + mcsdl_delay(MCSDL_DELAY_100US); // delay about 100us + + } + + nRet = MCSDL_RET_SUCCESS; + +MCSDL_I2C_PROGRAM_INFO_FINISH : + + return nRet; + +} + + +//-------------------------------------------- +// +// Prepare Program +// +//-------------------------------------------- +static int mcsdl_i2c_prepare_program(void) +{ + + int nRet = MCSDL_RET_PREPARE_PROGRAM_FAILED; + + int i; + BOOLEAN bRet; + + UINT8 i2c_buffer[5] = { MCSDL_ISP_CMD_PROGRAM_TIMING, + MCSDL_ISP_PROGRAM_TIMING_VALUE_0, + MCSDL_ISP_PROGRAM_TIMING_VALUE_1, + MCSDL_ISP_PROGRAM_TIMING_VALUE_2 + }; + + //------------------------------------------------------ + // Write Program timing information + //------------------------------------------------------ + for(i=0; i<4; i++){ + + bRet = _i2c_write_( MCSDL_I2C_SLAVE_ADDR_ORG, &i2c_buffer[i], 1 ); + + if( bRet == FALSE ) + goto MCSDL_I2C_PREPARE_PROGRAM_FINISH; + + mcsdl_delay(MCSDL_DELAY_15US); + } + + mcsdl_delay(MCSDL_DELAY_500US); // delay about 500us + + //------------------------------------------------------ + // Read command's result + //------------------------------------------------------ + bRet = _i2c_read_( MCSDL_I2C_SLAVE_ADDR_ORG, &i2c_buffer[4], 1 ); + + if( bRet == FALSE || i2c_buffer[4] != MCSDL_I2C_ACK_PREPARE_PROGRAM) + goto MCSDL_I2C_PREPARE_PROGRAM_FINISH; + + mcsdl_delay(MCSDL_DELAY_100US); // delay about 100us + + nRet = MCSDL_RET_SUCCESS; + +MCSDL_I2C_PREPARE_PROGRAM_FINISH : + + return nRet; + +} + +//-------------------------------------------- +// +// Program Flash +// +//-------------------------------------------- + +static int mcsdl_i2c_program_flash(UINT8 * pData, UINT16 nAddr_start, + UINT8 cLength) +{ + int nRet = MCSDL_RET_PROGRAM_FLASH_FAILED; + + int i; + BOOLEAN bRet; + UINT8 cData; + UINT8 cmd[4]; + + //----------------------------- + // Send Read code + //----------------------------- + + cmd[0] = MCSDL_ISP_CMD_PROGRAM_FLASH; + cmd[1] = (UINT8)((nAddr_start >> 8 ) & 0xFF); + cmd[2] = (UINT8)((nAddr_start ) & 0xFF); + cmd[3] = cLength; + + for(i=0; i<4; i++){ + + bRet = _i2c_write_(MCSDL_I2C_SLAVE_ADDR_ORG, &cmd[i], 1 ); + + mcsdl_delay(MCSDL_DELAY_15US); + + if( bRet == FALSE ) + goto MCSDL_I2C_PROGRAM_FLASH_FINISH; + + } + //----------------------------- + // Check command result + //----------------------------- + + bRet = _i2c_read_( MCSDL_I2C_SLAVE_ADDR_ORG, &cData, 1 ); + + if( bRet == FALSE || cData != MCSDL_MDS_ACK_PROGRAM_FLASH ){ + + goto MCSDL_I2C_PROGRAM_FLASH_FINISH; + } + + + //----------------------------- + // Program Data + //----------------------------- + + mcsdl_delay(MCSDL_DELAY_150US); // Delay about 150us + + for(i=0; i<(int)cmd[3]; i+=2){ + + + bRet = _i2c_write_( MCSDL_I2C_SLAVE_ADDR_ORG, &pData[i+1], 1 ); + + mcsdl_delay(MCSDL_DELAY_150US); // Delay about 150us + + if( bRet == FALSE ) + goto MCSDL_I2C_PROGRAM_FLASH_FINISH; + + + bRet = _i2c_write_( MCSDL_I2C_SLAVE_ADDR_ORG, &pData[i], 1 ); + + mcsdl_delay(MCSDL_DELAY_150US); // Delay about 150us + + if( bRet == FALSE ) + goto MCSDL_I2C_PROGRAM_FLASH_FINISH; + + } + + + nRet = MCSDL_RET_SUCCESS; + +MCSDL_I2C_PROGRAM_FLASH_FINISH : + + return nRet; +} + +//-------------------------------------------- +// +// Program Flash for MCS-5000 +// +//-------------------------------------------- + +static int mcsdl_i2c_program_flash_5000( UINT8 *pData, UINT16 nAddr_start, UINT8 cLength ) +{ + int nRet = MCSDL_RET_PROGRAM_FLASH_FAILED; + + int i; + BOOLEAN bRet; + UINT8 cData; + + UINT8 cmd[4]; + + //----------------------------- + // Send Read code + //----------------------------- + + cmd[0] = MCSDL_ISP_CMD_PROGRAM_FLASH; + cmd[1] = (UINT8)((nAddr_start >> 8 ) & 0xFF); + cmd[2] = (UINT8)((nAddr_start ) & 0xFF); + cmd[3] = cLength; + + for(i=0; i<4; i++){ + + bRet = _i2c_write_(MCSDL_I2C_SLAVE_ADDR_ORG_5000, &cmd[i], 1 ); + + mcsdl_delay(MCSDL_DELAY_15US); + + if( bRet == FALSE ) + goto MCSDL_I2C_PROGRAM_FLASH_FINISH; + + } + + //----------------------------- + // Program Data + //----------------------------- + + mcsdl_delay(MCSDL_DELAY_500US); // Delay about 500us + + for(i=0; i<(int)(cmd[3]); i++){ + + + bRet = _i2c_write_( MCSDL_I2C_SLAVE_ADDR_ORG_5000, &pData[i], 1 ); + + mcsdl_delay(MCSDL_DELAY_500US); // Delay about 500us + + if( bRet == FALSE ) + goto MCSDL_I2C_PROGRAM_FLASH_FINISH; + } + + //----------------------------- + // Get result + //----------------------------- + + bRet = _i2c_read_( MCSDL_I2C_SLAVE_ADDR_ORG_5000, &cData, 1 ); + + if( bRet == FALSE || cData != MCSDL_MDS_ACK_PROGRAM_FLASH ) + goto MCSDL_I2C_PROGRAM_FLASH_FINISH; + + nRet = MCSDL_RET_SUCCESS; + +MCSDL_I2C_PROGRAM_FLASH_FINISH : + + return nRet; +} + + +//============================================================ +// +// Delay Function +// +//============================================================ +static void mcsdl_delay(UINT32 nCount) +{ + + #if 1 + + udelay(nCount); //1 Baseband delay function + + #else + + UINT32 i; + + for(i=0;i<nCount;i++){ + + } + + #endif +} + + +//============================================================ +// +// Debugging print functions. +// +// Change uart_printf() to Baseband printing function +// +//============================================================ + +#if MELFAS_ENABLE_DBG_PRINT + +static void mcsdl_print_result(int nRet) +{ + if( nRet == MCSDL_RET_SUCCESS ){ + + uart_printf(" MELFAS Firmware downloading SUCCESS.\n"); + + }else{ + + uart_printf(" MELFAS Firmware downloading FAILED : "); + + switch( nRet ){ + + case MCSDL_RET_SUCCESS : uart_printf("MCSDL_RET_SUCCESS\n" ); break; + case MCSDL_RET_ENTER_DOWNLOAD_MODE_FAILED : uart_printf("MCSDL_RET_ENTER_ISP_MODE_FAILED\n" ); break; + case MCSDL_RET_ERASE_FLASH_FAILED : uart_printf("MCSDL_RET_ERASE_FLASH_FAILED\n" ); break; + case MCSDL_RET_READ_FLASH_FAILED : uart_printf("MCSDL_RET_READ_FLASH_FAILED\n" ); break; + case MCSDL_RET_READ_EEPROM_FAILED : uart_printf("MCSDL_RET_READ_EEPROM_FAILED\n" ); break; + case MCSDL_RET_READ_INFORMAION_FAILED : uart_printf("MCSDL_RET_READ_INFORMAION_FAILED\n" ); break; + case MCSDL_RET_PROGRAM_FLASH_FAILED : uart_printf("MCSDL_RET_PROGRAM_FLASH_FAILED\n" ); break; + case MCSDL_RET_PROGRAM_EEPROM_FAILED : uart_printf("MCSDL_RET_PROGRAM_EEPROM_FAILED\n" ); break; + case MCSDL_RET_PREPARE_PROGRAM_FAILED : uart_printf("MCSDL_RET_PROGRAM_INFORMAION_FAILED\n" ); break; + case MCSDL_RET_PROGRAM_VERIFY_FAILED : uart_printf("MCSDL_RET_PROGRAM_VERIFY_FAILED\n" ); break; + + case MCSDL_RET_WRONG_MODE_ERROR : uart_printf("MCSDL_RET_WRONG_MODE_ERROR\n" ); break; + case MCSDL_RET_WRONG_SLAVE_SELECTION_ERROR : uart_printf("MCSDL_RET_WRONG_SLAVE_SELECTION_ERROR\n" ); break; + case MCSDL_RET_COMMUNICATION_FAILED : uart_printf("MCSDL_RET_COMMUNICATION_FAILED\n" ); break; + case MCSDL_RET_READING_HEXFILE_FAILED : uart_printf("MCSDL_RET_READING_HEXFILE_FAILED\n" ); break; + case MCSDL_RET_WRONG_PARAMETER : uart_printf("MCSDL_RET_WRONG_PARAMETER\n" ); break; + case MCSDL_RET_FILE_ACCESS_FAILED : uart_printf("MCSDL_RET_FILE_ACCESS_FAILED\n" ); break; + case MCSDL_RET_MELLOC_FAILED : uart_printf("MCSDL_RET_MELLOC_FAILED\n" ); break; + case MCSDL_RET_WRONG_MODULE_REVISION : uart_printf("MCSDL_RET_WRONG_MODULE_REVISION\n" ); break; + + default : uart_printf("UNKNOWN ERROR. [0x%02X].\n", nRet ); break; + } + + uart_printf("\n"); + } + +} + +#endif + +//============================================================ +// +// Porting section 4-1. Delay function +// +// For initial testing of delay and gpio control +// +// You can confirm GPIO control and delay time by calling this function. +// +//============================================================ + +#if MELFAS_ENABLE_DELAY_TEST + + +void mcsdl_delay_test(INT32 nCount) +{ + INT16 i; + + MELFAS_DISABLE_BASEBAND_ISR();// Disable Baseband touch interrupt ISR. + MELFAS_DISABLE_WATCHDOG_TIMER_RESET(); // Disable Baseband watchdog timer + + TKEY_I2C_SET_OUTPUT(); + TKEY_CE_SET_OUTPUT(); + TKEY_INTR_SET_OUTPUT(); + TKEY_RESETB_SET_OUTPUT(); + + //-------------------------------- + // Repeating 'nCount' times + //-------------------------------- + + + for( i=0; i<nCount; i++ ){ + + TKEY_I2C_SET_HIGH(); // NORMAL + TKEY_VDD_SET_HIGH(); + TKEY_CE_SET_HIGH(); + TKEY_RESETB_SET_HIGH(); + + mcsdl_delay(MCSDL_DELAY_15US); + + TKEY_VDD_SET_LOW(); // VDD & CE LOW + TKEY_CE_SET_LOW(); + TKEY_I2C_SCL_SET_LOW(); // SCL LOW + + mcsdl_delay(MCSDL_DELAY_100US) + + TKEY_VDD_SET_HIGH(); // VDD & CE HIGH + TKEY_CE_SET_HIGH(); + TKEY_I2C_SCL_SET_HIGH(); // SCL HIGH + + + TKEY_INTR_SET_LOW(); // INTR & RESETB LOW + TKEY_RESETB_SET_LOW(); + TKEY_I2C_SCL_SET_LOW(); // SCL LOW + + mcsdl_delay(MCSDL_DELAY_500US); + + TKEY_INTR_SET_HIGH(); // INTR & RESETB HIGH + TKEY_RESETB_SET_HIGH(); + TKEY_I2C_SCL_SET_HIGH(); // SCL HIGH + + TKEY_I2C_SCL_SET_LOW(); // SCL LOW + + mdelay(MCSDL_DELAY_1MS); + + TKEY_I2C_SCL_SET_HIGH(); // SCL HIGH + + TKEY_I2C_SDA_SET_LOW(); // SDA LOW + + mcsdl_delay(MCSDL_DELAY_25MS); + + TKEY_I2C_SDA_SET_HIGH(); // SDA HIGH + TKEY_I2C_SCL_SET_LOW(); // SCL LOW + + mcsdl_delay(MCSDL_DELAY_45MS); + + TKEY_I2C_SCL_SET_HIGH(); // SCL HIGH + } + + + TKEY_INTR_SET_INPUT(); + + MELFAS_DISABLE_WATCHDOG_TIMER_RESET(); // Roll-back Baseband touch interrupt ISR. + MELFAS_ROLLBACK_WATCHDOG_TIMER_RESET(); // Roll-back Baseband watchdog timer +} + + +#endif diff --git a/drivers/input/touchscreen/grande_download.h b/drivers/input/touchscreen/grande_download.h new file mode 100755 index 0000000..4976c43 --- /dev/null +++ b/drivers/input/touchscreen/grande_download.h @@ -0,0 +1,327 @@ +//------------------------------------------------------------------ +// +// MELFAS Firmware download base code v6 For MCS5080 2008/11/04 +// +//------------------------------------------------------------------ + +#ifndef __MELFAS_FIRMWARE_DOWNLOAD_H__ +#define __MELFAS_FIRMWARE_DOWNLOAD_H__ + +//============================================================ +// +// Porting section 1. Type define +// +//============================================================ + +typedef char INT8; +typedef unsigned char UINT8; +typedef short INT16; +typedef unsigned short UINT16; +typedef int INT32; +typedef unsigned int UINT32; +typedef unsigned char BOOLEAN; + + +#ifndef TRUE +#define TRUE (1==1) +#endif + +#ifndef FALSE +#define FALSE (1==0) +#endif + +#ifndef NULL +#define NULL 0 +#endif + +//============================================================ +// Baseand include +//============================================================ +//#include "drv_io.h" +//#include "drv_i2c.h" +//#include "drv_uart.h" + +//============================================================ +// +// Porting section 2. Options +// +//============================================================ + +// Selection of i2c function ( This must be 1 ) +#define USE_BASEBAND_I2C_FUNCTION 1 + +// Disable downlaoding, if module version does not match. +#define MELFAS_DISABLE_DOWNLOAD_IF_MODULE_VERSION_DOES_NOT_MATCH 0 + +// If 'enable download command' is needed ( Pinmap dependent option ). +#define MELFAS_USE_PROTOCOL_COMMAND_FOR_DOWNLOAD 0 + +// For printing debug information. ( Please check 'printing function' ) +#define MELFAS_ENABLE_DBG_PRINT 1 +#define MELFAS_ENABLE_DBG_PROGRESS_PRINT 1 + +// For delay function test. ( Disable after Porting is finished ) +#define MELFAS_ENABLE_DELAY_TEST 0 + + +//============================================================ +// +// Port setting. ( Melfas preset this value. Just use default ) +// +//============================================================ + +// Set 1 if Enabled. +#define MCSDL_USE_CE_CONTROL 0 +#define MCSDL_USE_INTR_CONTROL 1 +#define MCSDL_USE_VDD_CONTROL 1 +#define MCSDL_USE_RESETB_CONTROL 0 + + +//============================================================ +// +// Porting section 3. IO Control poting. +// +// Fill up 'I2C IO' +// Fill up 'USE_CONTROL' only on upper setting. +// +//============================================================ + +//---------------- +// VDD +//---------------- +#if MCSDL_USE_VDD_CONTROL +#define TKEY_VDD_SET_HIGH() gpio_direction_output(_3_GPIO_TOUCH_EN, 1); // +#define TKEY_VDD_SET_LOW() gpio_direction_output(_3_GPIO_TOUCH_EN, 0); // +#else +#define TKEY_VDD_SET_HIGH() // Nothing +#define TKEY_VDD_SET_LOW() // Nothing +#endif + +//---------------- +// CE +//---------------- +#if MCSDL_USE_CE_CONTROL +#define TKEY_CE_SET_HIGH() ____HERE!_____ // +#define TKEY_CE_SET_LOW() ____HERE!_____ // +#define TKEY_CE_SET_OUTPUT() ____HERE!_____ // +#else +#define TKEY_CE_SET_HIGH() // Nothing +#define TKEY_CE_SET_LOW() // Nothing +#define TKEY_CE_SET_OUTPUT() // Nothing +#endif + +//---------------- +// INTR +//---------------- +#if MCSDL_USE_INTR_CONTROL +#define TKEY_INTR_SET_HIGH() gpio_direction_output(_3_GPIO_TOUCH_INT, 1); //OT_INTR_SET_HIGH() +#define TKEY_INTR_SET_LOW() gpio_direction_output(_3_GPIO_TOUCH_INT, 0); //OT_INTR_SET_LOW() +#define TKEY_INTR_SET_OUTPUT() //s3c_gpio_cfgpin(_3_GPIO_TOUCH_INT, GPIO_OUTPUT); //OT_INTR_SET_OUTPUT() +#define TKEY_INTR_SET_INPUT() gpio_direction_input(_3_GPIO_TOUCH_INT); //OT_INTR_SET_INPUT() +#else +#define TKEY_INTR_SET_HIGH() // Nothing +#define TKEY_INTR_SET_LOW() // Nothing +#define TKEY_TINR_SET_OUTPUT() // Nothing +#define TKEY_INTR_SET_INPUT() // Nothing +#endif + +//---------------- +// RESETB +//---------------- +#if MCSDL_USE_RESETB_CONTROL +#define TKEY_RESETB_SET_HIGH() ____HERE!_____ //UHI2C_IRQ_EN(TRUE) +#define TKEY_RESETB_SET_LOW() ____HERE!_____ // +#define TKEY_RESETB_SET_OUTPUT() ____HERE!_____ // +#define TKEY_RESETB_SET_INPUT() ____HERE!_____ // +#else +#define TKEY_RESETB_SET_HIGH() // Nothing +#define TKEY_RESETB_SET_LOW() // Nothing +#define TKEY_RESETB_SET_OUTPUT() // Nothing +#define TKEY_RESETB_SET_INPUT() // Nothing +#endif + + +//------------------ +// I2C SCL & SDA +//------------------ + +#define TKEY_I2C_SCL_SET_HIGH() gpio_direction_output(_3_TOUCH_SCL_28V, 1); //OT_SCL_HIGH() +#define TKEY_I2C_SCL_SET_LOW() gpio_direction_output(_3_TOUCH_SCL_28V, 0); //OT_SCL_LOW() + +#define TKEY_I2C_SDA_SET_HIGH() gpio_direction_output(_3_TOUCH_SDA_28V, 1); //OT_SDA_HIGH() +#define TKEY_I2C_SDA_SET_LOW() gpio_direction_output(_3_TOUCH_SDA_28V, 0); //OT_SDA_LOW() + +#define TKEY_I2C_SCL_SET_OUTPUT() //s3c_gpio_cfgpin(_3_TOUCH_SCL_28V, GPIO_OUTPUT); //OT_SCL_SET_OUTPUT() +#define TKEY_I2C_SCL_SET_INPUT() gpio_direction_input(_3_TOUCH_SCL_28V); //OT_SCL_SET_INPUT() + +#define TKEY_I2C_SDA_SET_OUTPUT() //s3c_gpio_cfgpin(_3_TOUCH_SDA_28V, GPIO_OUTPUT); //OT_SDA_SET_OUTPUT() +#define TKEY_I2C_SDA_SET_INPUT() gpio_direction_input(_3_TOUCH_SDA_28V); //OT_SDA_SET_INPUT() + + +#define TKEY_I2C_SET_HIGH() TKEY_I2C_SCL_SET_HIGH(); \ + TKEY_I2C_SDA_SET_HIGH() + +#define TKEY_I2C_SET_LOW() TKEY_I2C_SCL_SET_LOW(); \ + TKEY_I2C_SDA_SET_LOW() + + +#define TKEY_I2C_SET_OUTPUT() TKEY_I2C_SCL_SET_OUTPUT(); \ + TKEY_I2C_SDA_SET_OUTPUT() + +#define TKEY_I2C_INIT() TKEY_I2C_SET_HIGH(); \ + TKEY_I2C_SET_OUTPUT() + +#define TKEY_I2C_CLOSE() TKEY_I2C_SET_LOW(); +// TKEY_I2C_SET_OUTPUT() + +//============================================================ +// +// Porting section 4-2. Delay parameter setting +// +//============================================================ +#define MCSDL_DELAY_15US 15 +#define MCSDL_DELAY_100US 100 +#define MCSDL_DELAY_150US 150 +#define MCSDL_DELAY_500US 500 +#define MCSDL_DELAY_1MS 1000 +#define MCSDL_DELAY_25MS 25000 +#define MCSDL_DELAY_45MS 45000 + + +//============================================================ +// +// Porting section 5. Defence External Effect +// +//============================================================ +#if 0 + +#define MELFAS_DISABLE_BASEBAND_ISR() ____HERE!_____ //disable_isr() +#define MELFAS_DISABLE_WATCHDOG_TIMER_RESET() ____HERE!_____ //disable_wtd_reset() + +#define MELFAS_ROLLBACK_BASEBAND_ISR() ____HERE!_____ // +#define MELFAS_ROLLBACK_WATCHDOG_TIMER_RESET() ____HERE!_____ // + +#else + +#define MELFAS_DISABLE_BASEBAND_ISR() //Nothing +#define MELFAS_DISABLE_WATCHDOG_TIMER_RESET() //Nothing + +#define MELFAS_ROLLBACK_BASEBAND_ISR() //Nothing +#define MELFAS_ROLLBACK_WATCHDOG_TIMER_RESET() //Nothing + +#endif + + +//===================================================================== +// +// MELFAS Firmware download +// +//===================================================================== + +#define MELFAS_TRANSFER_LENGTH 64 // Program & Read flash block size + + +//----------------------------------------------- +// MELFAS Version information address +//----------------------------------------------- +#define MCSDL_ADDR_MODULE_REVISION 0x98 +#define MCSDL_ADDR_FIRMWARE_VERSION 0x9C + +//---------------------------------------------------- +// Return values of download function +//---------------------------------------------------- +#define MCSDL_RET_SUCCESS 0x00 +#define MCSDL_RET_ENTER_DOWNLOAD_MODE_FAILED 0x01 +#define MCSDL_RET_ERASE_FLASH_FAILED 0x02 +#define MCSDL_RET_PREPARE_ERASE_FLASH_FAILED 0x0B +#define MCSDL_RET_ERASE_VERIFY_FAILED 0x03 +#define MCSDL_RET_READ_FLASH_FAILED 0x04 +#define MCSDL_RET_READ_EEPROM_FAILED 0x05 +#define MCSDL_RET_READ_INFORMAION_FAILED 0x06 +#define MCSDL_RET_PROGRAM_FLASH_FAILED 0x07 +#define MCSDL_RET_PROGRAM_EEPROM_FAILED 0x08 +#define MCSDL_RET_PREPARE_PROGRAM_FAILED 0x09 +#define MCSDL_RET_PROGRAM_VERIFY_FAILED 0x0A + +#define MCSDL_RET_WRONG_MODE_ERROR 0xF0 +#define MCSDL_RET_WRONG_SLAVE_SELECTION_ERROR 0xF1 +#define MCSDL_RET_WRONG_PARAMETER 0xF2 +#define MCSDL_RET_COMMUNICATION_FAILED 0xF3 +#define MCSDL_RET_READING_HEXFILE_FAILED 0xF4 +#define MCSDL_RET_FILE_ACCESS_FAILED 0xF5 +#define MCSDL_RET_MELLOC_FAILED 0xF6 +#define MCSDL_RET_WRONG_MODULE_REVISION 0xF7 + +//------------------------------ +// MDS ISP mode entering +//------------------------------ +#define MCSDL_MDS_ENTERING_ISP_MODE_CODE2 0x00 + +#define MCSDL_MDS_ENTERING_ISP_MODE_ACK_1 0x55 +#define MCSDL_MDS_ENTERING_ISP_MODE_ACK_2 0x80 + +//------------------------------ +// ISP commands - MDS & I2C +//------------------------------ +#define MCSDL_ISP_CMD_ERASE 0x02 +#define MCSDL_ISP_CMD_ERASE_TIMING 0x0F +#define MCSDL_ISP_CMD_PROGRAM_FLASH 0x03 +#define MCSDL_ISP_CMD_READ_FLASH 0x04 +#define MCSDL_ISP_CMD_PROGRAM_INFORMATION 0x05 +#define MCSDL_ISP_CMD_PROGRAM_TIMING 0x0F +#define MCSDL_ISP_CMD_READ_INFORMATION 0x06 +#define MCSDL_ISP_CMD_RESET 0x07 + +//------------------------------ +// MCS5000's responses +//------------------------------ +#define MCSDL_ISP_ACK_ERASE_DONE_2ND_MDS 0x81 +#define MCSDL_ISP_ACK_ERASE_DONE 0x82 +#define MCSDL_ISP_ACK_PREPARE_ERASE_DONE 0x8F +#define MCSDL_I2C_ACK_PREPARE_PROGRAM 0x8F +#define MCSDL_MDS_ACK_PROGRAM_FLASH 0x83 +#define MCSDL_MDS_ACK_READ_FLASH 0x84 +#define MCSDL_I2C_ACK_PROGRAM_INFORMATION 0x85 +#define MCSDL_MDS_ACK_PROGRAM_INFORMATION 0x88 +#define MCSDL_MDS_ACK_PROGRAM_LOCKED 0xFE +#define MCSDL_MDS_ACK_READ_LOCKED 0xFE +#define MCSDL_MDS_ACK_FAIL 0xFE + + +//------------------------------ +// I2C ISP +//------------------------------ +#define TOUCHKEY_ADDRESS 0x20 + +#define MCSDL_I2C_SLAVE_ADDR_ORG 0x7E // Original Address +#define MCSDL_I2C_SLAVE_ADDR_ORG_5000 0x7F // Original Address + +#define MCSDL_I2C_SLAVE_ADDR_SHIFTED (MCSDL_I2C_SLAVE_ADDR_ORG<<1) // Adress after sifting. + +#define MCSDL_I2C_SLAVE_READY_STATUS 0x55 + +#define MCSDL_ISP_PROGRAM_TIMING_VALUE_0 0x00 +#define MCSDL_ISP_PROGRAM_TIMING_VALUE_1 0x00 +#define MCSDL_ISP_PROGRAM_TIMING_VALUE_2 0x78 +#define MCSDL_ISP_PROGRAM_TIMING_VALUE_3 0x01 +#define MCSDL_ISP_PROGRAM_TIMING_VALUE_4 0xD4 +#define MCSDL_ISP_PROGRAM_TIMING_VALUE_5 0xC0 + +#define MCSDL_ISP_ERASE_TIMING_VALUE_0 0x01 +#define MCSDL_ISP_ERASE_TIMING_VALUE_1 0xD4 +#define MCSDL_ISP_ERASE_TIMING_VALUE_2 0xC0 + + +//---------------------------------------------------- +// Functions +//---------------------------------------------------- + +int mcsdl_download_binary_data(UINT8 chip_ver); // with binary type .c file. +int mcsdl_download_binary_file(UINT8 *pData, UINT16 nBinary_length); // with binary type .bin file. + +#if MELFAS_ENABLE_DELAY_TEST // For initial porting test. +void mcsdl_delay_test(INT32 nCount); +#endif + + +#endif //#ifndef __MELFAS_FIRMWARE_DOWNLOAD_H__ diff --git a/drivers/input/touchscreen/grande_touchkey.c b/drivers/input/touchscreen/grande_touchkey.c new file mode 100755 index 0000000..5ba5595 --- /dev/null +++ b/drivers/input/touchscreen/grande_touchkey.c @@ -0,0 +1,757 @@ +/* + * Driver for keys on GPIO lines capable of generating interrupts. + * + * Copyright 2005 Phil Blundell + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include <linux/module.h> +#include <linux/init.h> +#include <linux/fs.h> +#include <linux/i2c.h> +#include <linux/interrupt.h> +#include <linux/irq.h> +#include <linux/sched.h> +#include <linux/pm.h> +#include <linux/sysctl.h> +#include <linux/proc_fs.h> +#include <linux/delay.h> +#include <linux/platform_device.h> +#include <linux/input.h> +#include <mach/regs-gpio.h> +#include <plat/gpio-cfg.h> +#include <asm/gpio.h> +#include <linux/miscdevice.h> +#include <asm/uaccess.h> +#include <linux/earlysuspend.h> +#include <asm/io.h> +#include <mach/gpio.h> +#include <mach/irqs.h> +#include <mach/gpio-midas.h> +#include <linux/regulator/consumer.h> +#include <linux/regulator/driver.h> +#include <linux/regulator/machine.h> + +#ifdef CONFIG_CPU_FREQ +#include <mach/cpufreq.h> +#endif + +/* +Melfas touchkey register +*/ +#define KEYCODE_REG 0x00 +#define FIRMWARE_VERSION 0x01 +#define TOUCHKEY_MODULE_VERSION 0x03 +#define TOUCHKEY_ADDRESS 0x20 + +#define UPDOWN_EVENT_BIT 0x08 +#define KEYCODE_BIT 0x07 +#define ESD_STATE_BIT 0x10 +#define I2C_M_WR 0 /* for i2c */ + +//#define IRQ_TOUCH_INT (IRQ_EINT_GROUP22_BASE + 1) +#define DEVICE_NAME "melfas-touchkey" +#define INT_PEND_BASE 0xE0200A54 + +#define MCS5080_CHIP 0x03 +#define MCS5080_last_ver 0x01 /*w999 v19*/ + +// if you want to see log, set this definition to NULL or KERN_WARNING +#define TCHKEY_KERN_DEBUG KERN_DEBUG + +#define _3_TOUCH_SDA_28V GPIO_3_TOUCH_SDA +#define _3_TOUCH_SCL_28V GPIO_3_TOUCH_SCL +#define _3_GPIO_TOUCH_EN GPIO_3_TOUCH_EN +#define _3_GPIO_TOUCH_INT GPIO_3_TOUCH_INT +#define IRQ_TOUCH_INT gpio_to_irq(GPIO_3_TOUCH_INT) + + + +#define TOUCHKEY_KEYCODE_MENU KEY_MENU +#define TOUCHKEY_KEYCODE_HOME KEY_HOME +#define TOUCHKEY_KEYCODE_BACK KEY_BACK +#define TOUCHKEY_KEYCODE_SEARCH KEY_END +#define FLIP_CLOSE 0 +#define FLIP_OPEN 1 + +static int touchkey_keycode[5] = {0,KEY_MENU , KEY_HOME, KEY_BACK, 0}; +static unsigned int HWREV=7; +static u8 activation_onoff = 1; // 0:deactivate 1:activate +static u8 is_suspending = 0; +static u8 user_press_on = 0; +static u8 touchkey_dead = 0; +static u8 menu_sensitivity = 0; +static u8 back_sensitivity = 0; +static u8 home_sensitivity = 0; + +static int touchkey_enable = 0; + +static u8 version_info[3]; +static void __iomem *gpio_pend_mask_mem; +static int Flip_status=FLIP_OPEN; + +struct i2c_touchkey_driver { + struct i2c_client *client; + struct input_dev *input_dev; + struct work_struct work; + struct early_suspend early_suspend; +}; +struct i2c_touchkey_driver *touchkey_driver = NULL; +struct workqueue_struct *touchkey_wq; +extern struct class *sec_class; +struct device *sec_touchkey; + +static const struct i2c_device_id melfas_touchkey_id[] = { + {"melfas-touchkey", 0}, + {} +}; + +MODULE_DEVICE_TABLE(i2c, melfas_touchkey_id); + +extern void get_touchkey_data(u8 *data, u8 length); +static void init_hw(void); +static int touchkey_pmic_control(int onoff); +static int i2c_touchkey_probe(struct i2c_client *client, const struct i2c_device_id *id); +static void melfas_touchkey_switch_early_suspend(int FILP_STATE); +static void melfas_touchkey_switch_early_resume(int FILP_STATE); + + +struct i2c_driver touchkey_i2c_driver = +{ + .driver = { + .name = "melfas-touchkey", + }, + .id_table = melfas_touchkey_id, + .probe = i2c_touchkey_probe, +}; + + +static int i2c_touchkey_read(u8 reg, u8 *val, unsigned int len) +{ + int err; + int retry = 3; + struct i2c_msg msg[1]; + + if((touchkey_driver == NULL)||touchkey_dead) + { + return -ENODEV; + } + + while(retry--) + { + msg->addr = touchkey_driver->client->addr; + msg->flags = I2C_M_RD; + msg->len = len; + msg->buf = val; + err = i2c_transfer(touchkey_driver->client->adapter, msg, 1); + + if (err >= 0) + { + return 0; + } + printk(KERN_ERR "%s %d i2c transfer error\n", __func__, __LINE__);/* add by inter.park */ + mdelay(10); + } + + return err; + +} + +static int i2c_touchkey_write(u8 *val, unsigned int len) +{ + int err; + struct i2c_msg msg[1]; + unsigned char data[2]; + + if((touchkey_driver == NULL)||is_suspending||touchkey_dead) + { + return -ENODEV; + } + + data[0] = *val; + msg->addr = touchkey_driver->client->addr; + msg->flags = I2C_M_WR; + msg->len = len; + msg->buf = data; + + err = i2c_transfer(touchkey_driver->client->adapter, msg, 1); + + if (err >= 0) return 0; + + printk(KERN_ERR "%s %d i2c transfer error\n", __func__, __LINE__); + + return err; +} + +static unsigned int touch_state_val; +//extern unsigned int touch_state_val; +extern void TSP_forced_release(void); +void touchkey_work_func(struct work_struct * p) +{ + u8 data[14]; + int keycode; + int retry = 10; + if (Flip_status == FLIP_CLOSE) { + if (!gpio_get_value(_3_GPIO_TOUCH_INT) && !touchkey_dead) { + i2c_touchkey_read(KEYCODE_REG, data, 14); + + keycode = touchkey_keycode[data[0] & KEYCODE_BIT]; + if(activation_onoff){ + if(data[0] & UPDOWN_EVENT_BIT) // key released + { + user_press_on = 0; + input_report_key(touchkey_driver->input_dev, touchkey_keycode[data[0] & KEYCODE_BIT], 0); + input_sync(touchkey_driver->input_dev); + } + else // key pressed + { + if(touch_state_val == 1) + { + printk(TCHKEY_KERN_DEBUG "touchkey pressed but don't send event because touch is pressed. \n"); + } + else + { + if(keycode == TOUCHKEY_KEYCODE_BACK) + { + user_press_on = 3; + back_sensitivity = data[5]; + } + else if(keycode == TOUCHKEY_KEYCODE_MENU) + { + user_press_on = 1; + menu_sensitivity = data[3]; + } + else if(keycode == TOUCHKEY_KEYCODE_HOME) + { + user_press_on = 2; + home_sensitivity = data[4]; + } + input_report_key(touchkey_driver->input_dev, keycode,1); + input_sync(touchkey_driver->input_dev); + } + } + } + } + else + printk(KERN_ERR "touchkey interrupt line is high!\n"); + } + + else + i2c_touchkey_read(KEYCODE_REG, data, 14); + + enable_irq(IRQ_TOUCH_INT); + return ; +} + +static irqreturn_t touchkey_interrupt(int irq, void *dummy) +{ + printk("TKEY interrupt call\n"); + disable_irq_nosync(IRQ_TOUCH_INT); + queue_work(touchkey_wq, &touchkey_driver->work); + + return IRQ_HANDLED; +} + +void samsung_switching_tkey(int flip) +{ + u8 data[6]; + int ret; + + if (touchkey_driver == NULL) + return; + + printk(KERN_ERR "[TKEY] samsung_switching_tkey, Flip_status : %d, flip : %d \n", Flip_status, flip); + + if (Flip_status != flip) + { + Flip_status=flip; + if (flip == FLIP_CLOSE) { + touchkey_enable = 1; + melfas_touchkey_switch_early_resume(flip); + } + else { + touchkey_enable = 0; + melfas_touchkey_switch_early_suspend(flip); + } + } + +} +EXPORT_SYMBOL(samsung_switching_tkey); + +static void melfas_touchkey_switch_early_suspend(int FILP_STATE){ + + unsigned char data; + + if (touchkey_driver == NULL) + return; + + data = 0x02; + i2c_touchkey_write(&data, 1); //Key LED force off + + printk(KERN_DEBUG "melfas_touchkey_switch_early_suspend, %d\n", FILP_STATE); + if (touchkey_enable < 0) { + printk("---%s---touchkey_enable: %d\n", __FUNCTION__, + touchkey_enable); + return; + } + gpio_direction_output(_3_GPIO_TOUCH_EN, 0); + gpio_direction_output(_3_TOUCH_SDA_28V, 0); + gpio_direction_output(_3_TOUCH_SCL_28V, 0); + if (system_rev >= 14) + touchkey_pmic_control(0); + + disable_irq(IRQ_TOUCH_INT); + +#ifdef USE_IRQ_FREE + free_irq(IRQ_TOUCH_INT, NULL); +#endif + +} + +static void melfas_touchkey_switch_early_resume(int FILP_STATE){ + int err = 0; + u8 data[14]; + int retry =5; + u8 data1 = 0x01; + if (touchkey_driver == NULL) + return; + + if (Flip_status == FLIP_OPEN) + return; + + printk(KERN_ERR "%d\n", FILP_STATE); + + i2c_touchkey_write(&data1, 1); + + init_hw(); + +#ifdef USE_IRQ_FREE + msleep(50); + + + printk("%s, %d\n",__func__, __LINE__); + err = request_threaded_irq(IRQ_TOUCH_INT, NULL, touchkey_interrupt, + IRQF_DISABLED | IRQF_TRIGGER_LOW | IRQF_ONESHOT, "touchkey_int", NULL); + if (err) { + printk(KERN_ERR "%s Can't allocate irq .. %d\n", __FUNCTION__, err); + } +#endif + + //force raed (for INT high) before enable_irq + while(!(gpio_get_value(GPIO_3_TOUCH_INT))){ + i2c_touchkey_read(KEYCODE_REG, data, 1); + printk("%s : INT high force read , data = %d\n",__func__,data[0]); + mdelay(5); + if(retry<0) break; + retry--; + } + + enable_irq(IRQ_TOUCH_INT); +} + +#ifdef CONFIG_HAS_EARLYSUSPEND +static void melfas_touchkey_early_suspend(struct early_suspend *h) +{ + pr_info("melfas_touchkey_early_suspend +++\n"); + touchkey_enable = 0; + is_suspending = 1; + if(user_press_on==1) + { + input_report_key(touchkey_driver->input_dev, TOUCHKEY_KEYCODE_MENU, 0); +// printk(TCHKEY_KERN_DEBUG "%s release menu key\n",__func__); + } + else if(user_press_on==2) + { + input_report_key(touchkey_driver->input_dev, TOUCHKEY_KEYCODE_BACK, 0); +// printk(TCHKEY_KERN_DEBUG "%s release back key\n",__func__); + } + user_press_on = 0; + + if(touchkey_dead) + { + printk(KERN_ERR "touchkey died after ESD"); + return; + } + + disable_irq(IRQ_TOUCH_INT); + gpio_direction_output(_3_GPIO_TOUCH_EN, 0); + gpio_direction_output(_3_TOUCH_SDA_28V, 0); + gpio_direction_output(_3_TOUCH_SCL_28V, 0); + if (system_rev >= 14) + touchkey_pmic_control(0); + pr_info("melfas_touchkey_early_suspend ---\n"); +} + +static void melfas_touchkey_early_resume(struct early_suspend *h) +{ + pr_info("melfas_touchkey_early_resume +++\n"); + touchkey_enable = 1; + if(touchkey_dead) + { + printk(KERN_ERR "touchkey died after ESD"); + return; + } + + init_hw(); +#if 0 + //clear interrupt + if(readl(gpio_pend_mask_mem)&(0x1<<1)) + writel(readl(gpio_pend_mask_mem)|(0x1<<1), gpio_pend_mask_mem); +#endif + enable_irq(IRQ_TOUCH_INT); + is_suspending = 0; + + pr_info("melfas_touchkey_early_resume ---\n"); +} +#endif // End of CONFIG_HAS_EARLYSUSPEND + +extern int mcsdl_download_binary_data(u8 chip_ver); +//extern int mcsdl_download_binary_file(unsigned char *pData, unsigned short nBinary_length); +static int i2c_touchkey_probe(struct i2c_client *client, const struct i2c_device_id *id) +{ + struct device *dev = &client->dev; + struct input_dev *input_dev; + int err = 0; + + printk("melfas touchkey probe called!\n"); + touchkey_driver = kzalloc(sizeof(struct i2c_touchkey_driver), GFP_KERNEL); + if (touchkey_driver == NULL) + { + dev_err(dev, "failed to create our state\n"); + return -ENOMEM; + } + + touchkey_driver->client = client; + + touchkey_driver->client->irq = IRQ_TOUCH_INT; + strlcpy(touchkey_driver->client->name, "melfas-touchkey", I2C_NAME_SIZE); + + input_dev = input_allocate_device(); + + if (!input_dev) + return -ENOMEM; + + touchkey_driver->input_dev = input_dev; + + input_dev->name = DEVICE_NAME; + input_dev->phys = "melfas-touchkey/input0"; + input_dev->id.bustype = BUS_HOST; + + set_bit(EV_SYN, input_dev->evbit); + set_bit(EV_LED, input_dev->evbit); + set_bit(LED_MISC, input_dev->ledbit); + set_bit(EV_KEY, input_dev->evbit); + set_bit(touchkey_keycode[1], input_dev->keybit); + set_bit(touchkey_keycode[2], input_dev->keybit); + set_bit(touchkey_keycode[3], input_dev->keybit); + set_bit(touchkey_keycode[4], input_dev->keybit); + + err = input_register_device(input_dev); + if (err) + { + input_free_device(input_dev); + return err; + } + + gpio_pend_mask_mem = ioremap(INT_PEND_BASE, 0x10); + touchkey_wq = create_singlethread_workqueue("melfas_touchkey_wq"); + if (!touchkey_wq) + return -ENOMEM; + + INIT_WORK(&touchkey_driver->work, touchkey_work_func); + +#ifdef CONFIG_HAS_EARLYSUSPEND + touchkey_driver->early_suspend.suspend = melfas_touchkey_early_suspend; + touchkey_driver->early_suspend.resume = melfas_touchkey_early_resume; + register_early_suspend(&touchkey_driver->early_suspend); +#endif /* CONFIG_HAS_EARLYSUSPEND */ + touchkey_enable = 1; + if (request_irq(IRQ_TOUCH_INT, touchkey_interrupt, IRQF_DISABLED, DEVICE_NAME, touchkey_driver)) + { + printk(KERN_ERR "%s Can't allocate irq ..\n", __FUNCTION__); + return -EBUSY; + } + return 0; +} +static int touchkey_pmic_control(int onoff) +{ + struct regulator *regulator; + regulator = regulator_get(NULL, "TOUCH_PULL_UP"); + + if (onoff) { + regulator_enable(regulator); + printk(KERN_INFO "[touchkey]touchkey_pmic_control on\n"); + } + else { + regulator_disable(regulator); + printk(KERN_INFO "[touchkey]touchkey_pmic_control off\n"); + } + regulator_put(regulator); + return 0; +} +static void init_hw(void) +{ + if (system_rev >= 14) + touchkey_pmic_control(1); + + gpio_set_value(_3_GPIO_TOUCH_EN, 1); + msleep(100); + s3c_gpio_setpull(_3_GPIO_TOUCH_INT, S3C_GPIO_PULL_UP); + irq_set_irq_type(IRQ_TOUCH_INT, IRQF_TRIGGER_FALLING); + s3c_gpio_cfgpin(_3_GPIO_TOUCH_INT, S3C_GPIO_SFN(0xf)); +} + + +int touchkey_update_open (struct inode *inode, struct file *filp) +{ + return 0; +} + +ssize_t touchkey_update_read(struct file *filp, char *buf, size_t count, loff_t *f_pos) +{ + return 0; +} + +ssize_t touchkey_update_write (struct file *filp, const char *buf, size_t count, loff_t *f_pos) +{ + return count; +} + +int touchkey_update_release (struct inode *inode, struct file *filp) +{ + return 0; +} + +static ssize_t touchkey_activation_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + printk(TCHKEY_KERN_DEBUG "called %s\n", __func__); + sscanf(buf, "%hhu", &activation_onoff); + printk(TCHKEY_KERN_DEBUG "deactivation test = %d\n", activation_onoff); + return size; +} + +static ssize_t touchkey_version_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + printk(TCHKEY_KERN_DEBUG "called %s\n", __func__); + return sprintf(buf,"%02x\n",version_info[1]); +} + +static ssize_t touchkey_recommend_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + u8 recommended_ver; + printk(TCHKEY_KERN_DEBUG "called %s\n", __func__); + if (version_info[2] == MCS5080_CHIP) + recommended_ver = MCS5080_last_ver; + else + recommended_ver = version_info[1]; + + return sprintf(buf,"%02x\n",recommended_ver); +} + +static ssize_t touchkey_firmup_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + printk(TCHKEY_KERN_DEBUG "Touchkey firm-up start!\n"); + + if (version_info[2] == MCS5080_CHIP) + mcsdl_download_binary_data(MCS5080_CHIP); + else + printk(KERN_ERR "Touchkey IC module is old, can't update!"); + + get_touchkey_data(version_info, 3); + printk(TCHKEY_KERN_DEBUG "Updated F/W version: 0x%x, Module version:0x%x\n", version_info[1], version_info[2]); + return sprintf(buf,"%02x\n",version_info[1]); +} + +static ssize_t touchkey_init_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + printk(TCHKEY_KERN_DEBUG "called %s \n", __func__); + return sprintf(buf, "%d\n",touchkey_dead); +} + +static ssize_t touchkey_menu_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + printk(TCHKEY_KERN_DEBUG "called %s \n", __func__); + return sprintf(buf, "%d\n",menu_sensitivity); +} +static ssize_t touchkey_home_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + printk(TCHKEY_KERN_DEBUG "called %s \n", __func__); + return sprintf(buf, "%d\n",home_sensitivity); +} + +static ssize_t touchkey_back_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + printk(TCHKEY_KERN_DEBUG "called %s \n", __func__); + return sprintf(buf, "%d\n",back_sensitivity); +} + +static ssize_t touch_led_control(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) +{ + u8 data; + if (!touchkey_enable) + return -1; + + sscanf(buf, "%hhu", &data); + i2c_touchkey_write(&data, 1); // LED on(data=1) or off(data=2) + return size; +} + +static ssize_t touchkey_enable_disable(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) +{ + // this function is called when platform shutdown thread begins + printk(TCHKEY_KERN_DEBUG "called %s %c \n",__func__, *buf); + if(*buf == '0') + { + is_suspending = 1; + disable_irq(IRQ_TOUCH_INT); + gpio_direction_output(_3_GPIO_TOUCH_EN, 0); + } + else + { + printk(KERN_ERR "%s: unknown command %c \n",__func__, *buf); + } + + return size; +} + +static DEVICE_ATTR(touchkey_activation, 0664, NULL, touchkey_activation_store); +static DEVICE_ATTR(touchkey_firm_version_panel, S_IRUGO, touchkey_version_show, NULL); +static DEVICE_ATTR(touchkey_firm_version_phone, S_IRUGO, touchkey_recommend_show, NULL); +static DEVICE_ATTR(recommended_version, S_IRUGO, touchkey_recommend_show, NULL); +static DEVICE_ATTR(touchkey_firm_update, S_IRUGO, touchkey_firmup_show, NULL); +static DEVICE_ATTR(touchkey_init, S_IRUGO, touchkey_init_show, NULL); +static DEVICE_ATTR(touchkey_menu, S_IRUGO, touchkey_menu_show, NULL); +static DEVICE_ATTR(touchkey_back, S_IRUGO, touchkey_back_show, NULL); +static DEVICE_ATTR(touchkey_home, S_IRUGO, touchkey_home_show, NULL); +static DEVICE_ATTR(brightness, 0664, NULL, touch_led_control); +static DEVICE_ATTR(enable_disable, 0664, NULL, touchkey_enable_disable); + +static struct attribute *touchkey_attributes[] = { + &dev_attr_touchkey_activation.attr, + &dev_attr_touchkey_firm_version_panel.attr, + &dev_attr_touchkey_firm_version_phone.attr, + &dev_attr_recommended_version.attr, + &dev_attr_touchkey_firm_update.attr, + &dev_attr_touchkey_init.attr, + &dev_attr_touchkey_menu.attr, + &dev_attr_touchkey_back.attr, + &dev_attr_touchkey_home.attr, + &dev_attr_brightness.attr, + &dev_attr_enable_disable.attr, + NULL, +}; + + +static int __init touchkey_init(void) +{ + + int ret = 0; + + u8 updated = 0; + if ((ret = gpio_request(_3_GPIO_TOUCH_EN, "_3_GPIO_TOUCH_EN"))) + printk(KERN_ERR "Failed to request gpio %s:%d\n", __func__, __LINE__); + + sec_touchkey=device_create(sec_class, NULL, 0, NULL, "sec_touchkey"); + + if (device_create_file(sec_touchkey, &dev_attr_touchkey_activation) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_touchkey_activation.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_touchkey_firm_version_panel) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_touchkey_firm_version_panel.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_touchkey_firm_version_phone) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_touchkey_firm_version_phone.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_recommended_version) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_recommended_version.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_touchkey_firm_update) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_touchkey_firm_update.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_touchkey_init) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_touchkey_init.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_touchkey_menu) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_touchkey_menu.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_touchkey_back) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_touchkey_back.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_touchkey_home) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_touchkey_home.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_brightness) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_brightness.attr.name); + + if (device_create_file(sec_touchkey, &dev_attr_enable_disable) < 0) + pr_err("Failed to create device file(%s)!\n", dev_attr_enable_disable.attr.name); + + init_hw(); + + get_touchkey_data(version_info, 3); + printk(TCHKEY_KERN_DEBUG "%s F/W version: 0x%x, Module version:0x%x\n",__FUNCTION__, version_info[1], version_info[2]); + +//------------------- Auto Firmware Update Routine Start -------------------// + if (version_info[1] == 0xff) { + mcsdl_download_binary_data(MCS5080_CHIP); + updated = 1; + } + else + { + if (version_info[2] == MCS5080_CHIP) + { + if (version_info[1] != MCS5080_last_ver) + { + mcsdl_download_binary_data(MCS5080_CHIP); + updated = 1; + } else + printk(KERN_ERR"Touchkey IC module is old, can't update!"); + } + if (updated) + { + get_touchkey_data(version_info, 3); + printk(TCHKEY_KERN_DEBUG "Updated F/W version: 0x%x, Module version:0x%x\n", version_info[1], version_info[2]); + } + } +//------------------- Auto Firmware Update Routine End -------------------// + + ret = i2c_add_driver(&touchkey_i2c_driver); + + if(ret||(touchkey_driver==NULL)) + { + touchkey_dead = 1; + printk("ret = %d, touch_driver= %p:", ret, touchkey_driver); + printk(KERN_ERR + "melfas touch keypad registration failed, module not inserted.ret= %d\n", + ret); + } + + return ret; +} + +static void __exit touchkey_exit(void) +{ + i2c_del_driver(&touchkey_i2c_driver); +// misc_deregister(&touchkey_update_device); + if (touchkey_wq) + destroy_workqueue(touchkey_wq); + gpio_free(_3_GPIO_TOUCH_INT); +} + +module_init(touchkey_init); +module_exit(touchkey_exit); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("@@@"); +MODULE_DESCRIPTION("melfas touch keypad"); diff --git a/drivers/input/touchscreen/melfas_mms_ts.c b/drivers/input/touchscreen/melfas_mms_ts.c new file mode 100644 index 0000000..bb6c45a --- /dev/null +++ b/drivers/input/touchscreen/melfas_mms_ts.c @@ -0,0 +1,3414 @@ +/* + * mms_ts.c - Touchscreen driver for Melfas MMS-series touch controllers + * + * Copyright (C) 2011 Google Inc. + * Author: Dima Zavin <dima@android.com> + * Simon Wilson <simonwilson@google.com> + * + * ISP reflashing code based on original code from Melfas. + * + * 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. + * + */ + +#define DEBUG +/* #define VERBOSE_DEBUG */ +#define SEC_TSP_DEBUG +/* #define SEC_TSP_VERBOSE_DEBUG */ + +/* #define FORCE_FW_FLASH */ +/* #define FORCE_FW_PASS */ +/* #define ESD_DEBUG */ + +#define SEC_TSP_FACTORY_TEST +#define SEC_TSP_FW_UPDATE +#define TSP_BUF_SIZE 1024 +#define FAIL -1 +#include <linux/delay.h> +#include <linux/earlysuspend.h> +#include <linux/firmware.h> +#include <linux/gpio.h> +#include <linux/i2c.h> +#include <linux/init.h> +#include <linux/input.h> +#include <linux/input/mt.h> +#include <linux/interrupt.h> +#include <linux/irq.h> +#include <linux/module.h> +#include <linux/mutex.h> +#include <linux/slab.h> +#include <mach/gpio.h> +#include <linux/uaccess.h> + +#include <mach/cpufreq.h> +#include <mach/dev.h> + +#include <linux/melfas_mms_ts.h> + +#include <asm/unaligned.h> + +#ifdef CONFIG_INPUT_FBSUSPEND +#ifdef CONFIG_DRM +#include <drm/drm_backlight.h> +#endif +#include <linux/fb.h> +#endif + +#ifdef CONFIG_SLP_CHECK_CPU_LOAD +#include <linux/cpufreq_slp.h> +#endif + +#define MAX_FINGERS 10 +#define MAX_WIDTH 30 +#define MAX_PRESSURE 255 +#define MAX_ANGLE 90 +#define MIN_ANGLE -90 + +/* Registers */ +#define MMS_MODE_CONTROL 0x01 +#define MMS_XYRES_HI 0x02 +#define MMS_XRES_LO 0x03 +#define MMS_YRES_LO 0x04 + +#define MMS_INPUT_EVENT_PKT_SZ 0x0F +#define MMS_INPUT_EVENT0 0x10 + + +enum { + TSP_6_BYTE_PROTOCOL = 6, + TSP_8_BYTE_PROTOCOL = 8, + TSP_PROTOCOL_MAX = TSP_8_BYTE_PROTOCOL, +}; + +#define MMS_TSP_REVISION 0xF0 +#define MMS_HW_REVISION 0xF1 +#define MMS_COMPAT_GROUP 0xF2 +#define MMS_FW_VERSION 0xF3 + +enum { + ISP_MODE_FLASH_ERASE = 0x59F3, + ISP_MODE_FLASH_WRITE = 0x62CD, + ISP_MODE_FLASH_READ = 0x6AC9, +}; + +/* each address addresses 4-byte words */ +#define ISP_MAX_FW_SIZE (0x1F00 * 4) +#define ISP_IC_INFO_ADDR 0x1F00 + +#ifdef SEC_TSP_FW_UPDATE + +#define WORD_SIZE 4 + +#define ISC_PKT_SIZE 1029 +#define ISC_PKT_DATA_SIZE 1024 +#define ISC_PKT_HEADER_SIZE 3 +#define ISC_PKT_NUM 31 + +#define ISC_ENTER_ISC_CMD 0x5F +#define ISC_ENTER_ISC_DATA 0x01 +#define ISC_CMD 0xAE +#define ISC_ENTER_UPDATE_DATA 0x55 +#define ISC_ENTER_UPDATE_DATA_LEN 9 +#define ISC_DATA_WRITE_SUB_CMD 0xF1 +#define ISC_EXIT_ISC_SUB_CMD 0x0F +#define ISC_EXIT_ISC_SUB_CMD2 0xF0 +#define ISC_CHECK_STATUS_CMD 0xAF +#define ISC_CONFIRM_CRC 0x03 +#define ISC_DEFAULT_CRC 0xFFFF + +#endif + +#define TSP_FW_UPDATEABLE_HW_REV 15 + +#ifdef SEC_TSP_FACTORY_TEST +#define TX_NUM 26 +#define RX_NUM 14 +#define NODE_NUM 364 /* 26x14 */ + +/* VSC(Vender Specific Command) */ +#define MMS_VSC_CMD 0xB0 /* vendor specific command */ +#define MMS_VSC_MODE 0x1A /* mode of vendor */ + +#define MMS_VSC_CMD_ENTER 0X01 +#define MMS_VSC_CMD_CM_DELTA 0X02 +#define MMS_VSC_CMD_CM_ABS 0X03 +#define MMS_VSC_CMD_EXIT 0X05 +#define MMS_VSC_CMD_INTENSITY 0X04 +#define MMS_VSC_CMD_RAW 0X06 +#define MMS_VSC_CMD_REFER 0X07 + +#define TSP_CMD_STR_LEN 32 +#define TSP_CMD_RESULT_STR_LEN 512 +#define TSP_CMD_PARAM_NUM 8 +#endif /* SEC_TSP_FACTORY_TEST */ + +/* Touch booster */ +#if defined(CONFIG_EXYNOS4_CPUFREQ) &&\ + defined(CONFIG_BUSFREQ_OPP) +#define TOUCH_BOOSTER 1 +#define TOUCH_BOOSTER_OFF_TIME 100 +#define TOUCH_BOOSTER_CHG_TIME 200 +static struct device *bus_dev; +#elif defined(CONFIG_MACH_SLP_PQ) +#define TOUCH_BOOSTER 1 +#define TOUCH_BOOSTER_OFF_TIME 100 +#define TOUCH_BOOSTER_CHG_TIME 200 +static struct device *bus_dev; +#else +#define TOUCH_BOOSTER 0 +#endif + +struct device *sec_touchscreen; + +int touch_is_pressed; + +#define ISC_DL_MODE 1 + +/* 4.8" OCTA LCD */ +#define FW_VERSION_4_8 0xBB +/* TODO: We need 4.8 inch TSP F/W */ +/* 4.65" OCTA LCD */ +#define FW_VERSION_4_65 0x66 +#include "465_SMD_V66.h" +/* 4.77" TFT LCD */ +#define FW_VERSION_4_77 0x50 +#include "477_SMD_V50.h" + +#define FW_VERSION_4_77_NEW 0x02 +#include "477_SMD_V02.h" + +#define FW_VERSION_5_5 0x01 + +#define MAX_FW_PATH 255 +#define TSP_FW_FILENAME "melfas_fw.bin" + +#if ISC_DL_MODE /* ISC_DL_MODE start */ + +/* + * Default configuration of ISC mode + */ +#define DEFAULT_SLAVE_ADDR 0x48 + +#define SECTION_NUM 4 +#define SECTION_NAME_LEN 5 + +#define PAGE_HEADER 3 +#define PAGE_DATA 1024 +#define PAGE_TAIL 2 +#define PACKET_SIZE (PAGE_HEADER + PAGE_DATA + PAGE_TAIL) +#define TS_WRITE_REGS_LEN 1030 + +#define TIMEOUT_CNT 10 +#define STRING_BUF_LEN 100 + + +/* State Registers */ +#define MIP_ADDR_INPUT_INFORMATION 0x01 + +#define ISC_ADDR_VERSION 0xE1 +#define ISC_ADDR_SECTION_PAGE_INFO 0xE5 + +/* Config Update Commands */ +#define ISC_CMD_ENTER_ISC 0x5F +#define ISC_CMD_ENTER_ISC_PARA1 0x01 +#define ISC_CMD_UPDATE_MODE 0xAE +#define ISC_SUBCMD_ENTER_UPDATE 0x55 +#define ISC_SUBCMD_DATA_WRITE 0XF1 +#define ISC_SUBCMD_LEAVE_UPDATE_PARA1 0x0F +#define ISC_SUBCMD_LEAVE_UPDATE_PARA2 0xF0 +#define ISC_CMD_CONFIRM_STATUS 0xAF + +#define ISC_STATUS_UPDATE_MODE 0x01 +#define ISC_STATUS_CRC_CHECK_SUCCESS 0x03 + +#define ISC_CHAR_2_BCD(num) (((num/10)<<4) + (num%10)) +#define ISC_MAX(x, y) (((x) > (y)) ? (x) : (y)) + +static const char section_name[SECTION_NUM][SECTION_NAME_LEN] = { + "BOOT", "CORE", "PRIV", "PUBL" +}; + +static const unsigned char crc0_buf[31] = { + 0x1D, 0x2C, 0x05, 0x34, 0x95, 0xA4, 0x8D, 0xBC, + 0x59, 0x68, 0x41, 0x70, 0xD1, 0xE0, 0xC9, 0xF8, + 0x3F, 0x0E, 0x27, 0x16, 0xB7, 0x86, 0xAF, 0x9E, + 0x7B, 0x4A, 0x63, 0x52, 0xF3, 0xC2, 0xEB +}; + +static const unsigned char crc1_buf[31] = { + 0x1E, 0x9C, 0xDF, 0x5D, 0x76, 0xF4, 0xB7, 0x35, + 0x2A, 0xA8, 0xEB, 0x69, 0x42, 0xC0, 0x83, 0x01, + 0x04, 0x86, 0xC5, 0x47, 0x6C, 0xEE, 0xAD, 0x2F, + 0x30, 0xB2, 0xF1, 0x73, 0x58, 0xDA, 0x99 +}; + +static struct tISCFWInfo_t mbin_info[SECTION_NUM]; +static struct tISCFWInfo_t ts_info[SECTION_NUM]; +static bool section_update_flag[SECTION_NUM]; + +const struct firmware *fw_mbin[SECTION_NUM]; + +static unsigned char g_wr_buf[1024 + 3 + 2]; +#endif + +enum fw_flash_mode { + ISP_FLASH, + ISC_FLASH, +}; + +enum { + BUILT_IN = 0, + UMS, + REQ_FW, +}; + +enum tsp_hw_rev { + TSP_REV_4_80 = 0x01, + TSP_REV_4_65 = 0x0C, + TSP_REV_4_77_NEW = 0x06, + TSP_REV_4_77 = 0x07, + SAMPLE_4_77 = 0x32, +}; + +struct tsp_callbacks { + void (*inform_charger)(struct tsp_callbacks *tsp_cb, bool mode); +}; + +struct mms_ts_info { + struct i2c_client *client; + struct input_dev *input_dev; + char phys[32]; + int max_x; + int max_y; + bool invert_x; + bool invert_y; + int irq; + char *fw_name; + int (*power) (int on); + void (*input_event)(void *data); + + struct melfas_mms_platform_data *pdata; + struct early_suspend early_suspend; +#if TOUCH_BOOSTER + struct delayed_work work_dvfs_off; + struct delayed_work work_dvfs_chg; + bool dvfs_lock_status; + int cpufreq_level; + struct mutex dvfs_lock; +#endif + + /* protects the enabled flag */ + struct mutex lock; + bool enabled; + + enum fw_flash_mode fw_flash_mode; + void (*register_cb)(void *); + struct tsp_callbacks callbacks; + bool ta_status; + bool noise_mode; + +#if defined(SEC_TSP_DEBUG) || defined(SEC_TSP_VERBOSE_DEBUG) + unsigned char finger_state[MAX_FINGERS]; +#endif + +#if defined(SEC_TSP_FW_UPDATE) + u8 fw_update_state; +#endif + u8 fw_ic_ver; + u8 ic_hw_ver; + +#if defined(SEC_TSP_FACTORY_TEST) + struct list_head cmd_list_head; + u8 cmd_state; + char cmd[TSP_CMD_STR_LEN]; + int cmd_param[TSP_CMD_PARAM_NUM]; + char cmd_result[TSP_CMD_RESULT_STR_LEN]; + struct mutex cmd_lock; + bool cmd_is_running; + + unsigned int reference[NODE_NUM]; + unsigned int raw[NODE_NUM]; /* CM_ABS */ + unsigned int inspection[NODE_NUM];/* CM_DELTA */ + unsigned int intensity[NODE_NUM]; + bool ft_flag; +#endif /* SEC_TSP_FACTORY_TEST */ + +#ifdef CONFIG_INPUT_FBSUSPEND + struct notifier_block fb_notif; + bool was_enabled_at_suspend; +#endif + int finger_event_sz; +}; + +struct mms_fw_image { + __le32 hdr_len; + __le32 data_len; + __le32 fw_ver; + __le32 hdr_ver; + u8 data[0]; +} __packed; + + +#if TOUCH_BOOSTER +static bool dvfs_lock_status; +static bool press_status; +#endif + +#if defined(SEC_TSP_FACTORY_TEST) +#define TSP_CMD(name, func) .cmd_name = name, .cmd_func = func + +struct tsp_cmd { + struct list_head list; + const char *cmd_name; + void (*cmd_func)(void *device_data); +}; + +static void fw_update(void *device_data); +static void get_fw_ver_bin(void *device_data); +static void get_fw_ver_ic(void *device_data); +static void get_config_ver(void *device_data); +static void get_threshold(void *device_data); +static void module_off_master(void *device_data); +static void module_on_master(void *device_data); +static void get_chip_vendor(void *device_data); +static void get_chip_name(void *device_data); +static void get_reference(void *device_data); +static void get_cm_abs(void *device_data); +static void get_cm_delta(void *device_data); +static void get_intensity(void *device_data); +static void get_x_num(void *device_data); +static void get_y_num(void *device_data); +static void run_reference_read(void *device_data); +static void run_cm_abs_read(void *device_data); +static void run_cm_delta_read(void *device_data); +static void run_intensity_read(void *device_data); +static void not_support_cmd(void *device_data); + +struct tsp_cmd tsp_cmds[] = { + {TSP_CMD("fw_update", fw_update),}, + {TSP_CMD("get_fw_ver_bin", get_fw_ver_bin),}, + {TSP_CMD("get_fw_ver_ic", get_fw_ver_ic),}, + {TSP_CMD("get_config_ver", get_config_ver),}, + {TSP_CMD("get_threshold", get_threshold),}, + {TSP_CMD("module_off_master", module_off_master),}, + {TSP_CMD("module_on_master", module_on_master),}, + {TSP_CMD("module_off_slave", not_support_cmd),}, + {TSP_CMD("module_on_slave", not_support_cmd),}, + {TSP_CMD("get_chip_vendor", get_chip_vendor),}, + {TSP_CMD("get_chip_name", get_chip_name),}, + {TSP_CMD("get_x_num", get_x_num),}, + {TSP_CMD("get_y_num", get_y_num),}, + {TSP_CMD("get_reference", get_reference),}, + {TSP_CMD("get_cm_abs", get_cm_abs),}, + {TSP_CMD("get_cm_delta", get_cm_delta),}, + {TSP_CMD("get_intensity", get_intensity),}, + {TSP_CMD("run_reference_read", run_reference_read),}, + {TSP_CMD("run_cm_abs_read", run_cm_abs_read),}, + {TSP_CMD("run_cm_delta_read", run_cm_delta_read),}, + {TSP_CMD("run_intensity_read", run_intensity_read),}, + {TSP_CMD("not_support_cmd", not_support_cmd),}, +}; +#endif + +#if TOUCH_BOOSTER +static void change_dvfs_lock(struct work_struct *work) +{ + struct mms_ts_info *info = container_of(work, + struct mms_ts_info, work_dvfs_chg.work); + int ret; + + mutex_lock(&info->dvfs_lock); + + ret = dev_lock(bus_dev, sec_touchscreen, 267160); /* 266 Mhz setting */ + + if (ret < 0) + pr_err("%s: dev change bud lock failed(%d)\n",\ + __func__, __LINE__); + else + pr_info("[TSP] change_dvfs_lock"); + mutex_unlock(&info->dvfs_lock); +} +static void set_dvfs_off(struct work_struct *work) +{ + + struct mms_ts_info *info = container_of(work, + struct mms_ts_info, work_dvfs_off.work); + int ret; + + mutex_lock(&info->dvfs_lock); + + ret = dev_unlock(bus_dev, sec_touchscreen); + if (ret < 0) + pr_err("%s: dev unlock failed(%d)\n", + __func__, __LINE__); + + exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); + info->dvfs_lock_status = false; + pr_info("[TSP] DVFS Off!"); + mutex_unlock(&info->dvfs_lock); + } + +static void set_dvfs_lock(struct mms_ts_info *info, uint32_t on) +{ + int ret; + + mutex_lock(&info->dvfs_lock); + if (info->cpufreq_level <= 0) { + ret = exynos_cpufreq_get_level(800000, &info->cpufreq_level); + if (ret < 0) + pr_err("[TSP] exynos_cpufreq_get_level error"); + goto out; + } + if (on == 0) { + if (info->dvfs_lock_status) { + cancel_delayed_work(&info->work_dvfs_chg); + schedule_delayed_work(&info->work_dvfs_off, + msecs_to_jiffies(TOUCH_BOOSTER_OFF_TIME)); + } + + } else if (on == 1) { + cancel_delayed_work(&info->work_dvfs_off); + if (!info->dvfs_lock_status) { + ret = dev_lock(bus_dev, sec_touchscreen, 400200); + if (ret < 0) { + pr_err("%s: dev lock failed(%d)\n",\ + __func__, __LINE__); +} + + ret = exynos_cpufreq_lock(DVFS_LOCK_ID_TSP, + info->cpufreq_level); + if (ret < 0) + pr_err("%s: cpu lock failed(%d)\n",\ + __func__, __LINE__); + + schedule_delayed_work(&info->work_dvfs_chg, + msecs_to_jiffies(TOUCH_BOOSTER_CHG_TIME)); + + info->dvfs_lock_status = true; + pr_info("[TSP] DVFS On![%d]", info->cpufreq_level); + } + } else if (on == 2) { + cancel_delayed_work(&info->work_dvfs_off); + cancel_delayed_work(&info->work_dvfs_chg); + schedule_work(&info->work_dvfs_off.work); + } +out: + mutex_unlock(&info->dvfs_lock); +} + +#endif + +#ifdef CONFIG_INPUT_FBSUSPEND +#ifdef CONFIG_DRM +static void melfas_set_power(void *priv, int power) +{ + struct mms_ts_info *info = (struct mms_ts_info *)priv; + int i; + + switch (power) { + case FB_BLANK_UNBLANK: + if (info->enabled == 0) { + info->pdata->power(true); + msleep(200); + enable_irq(info->client->irq); + info->enabled = 1; + } else { + pr_err("[TSP] touchscreen already on\n"); + } + break; + case FB_BLANK_POWERDOWN: + for (i = 0; i < MAX_FINGERS; i++) { + input_mt_slot(info->input_dev, i); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, false); + input_sync(info->input_dev); + } + if (info->enabled == 1) { + disable_irq(info->client->irq); + info->pdata->power(false); + info->enabled = 0; + } else { + pr_err("[TSP] touchscreen already off\n"); + } + break; + default: + break; + } +} + +static struct drm_bl_notifier bl_notifier = { + .set_power = melfas_set_power +}; + +static int tsp_register_fb(struct mms_ts_info *info) +{ + bl_notifier.dev = info->input_dev->dev; + bl_notifier.priv = (void *)info; + + return drm_bl_register(&bl_notifier.dev, BL_TSP_CLASS); +} + +static void tsp_unregister_fb(struct mms_ts_info *info) +{ + drm_bl_unregister(&bl_notifier.dev); +} +#else +static int +melfas_fb_notifier_callback(struct notifier_block *self, + unsigned long event, void *fb_evdata) +{ + struct mms_ts_info *info; + struct fb_event *evdata = fb_evdata; + int blank; + int i; + + /* If we aren't interested in this event, skip it immediately ... */ + if (event != FB_EVENT_BLANK) + return 0; + + info = container_of(self, struct mms_ts_info, fb_notif); + blank = *(int *)evdata->data; + + switch (blank) { + case FB_BLANK_UNBLANK: + if (info->enabled == 0) { + info->pdata->power(true); + msleep(200); + enable_irq(info->client->irq); + info->enabled = 1; + } else { + pr_err("[TSP] touchscreen already on\n"); + } + break; + case FB_BLANK_POWERDOWN: + for (i = 0; i < MAX_FINGERS; i++) { + input_mt_slot(info->input_dev, i); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, false); + input_sync(info->input_dev); + } + if (info->enabled == 1) { + disable_irq(info->client->irq); + info->pdata->power(false); + info->enabled = 0; + } else { + pr_err("[TSP] touchscreen already off\n"); + } + break; + default: + break; + } + return 0; +} + +static int tsp_register_fb(struct mms_ts_info *info) +{ + memset(&info->fb_notif, 0, sizeof(info->fb_notif)); + info->fb_notif.notifier_call = melfas_fb_notifier_callback; + return fb_register_client(&info->fb_notif); +} +static void tsp_unregister_fb(struct mms_ts_info *info) +{ + fb_unregister_client(&info->fb_notif); +} +#endif +#endif + +static inline void mms_pwr_on_reset(struct mms_ts_info *info) +{ + struct i2c_adapter *adapter = to_i2c_adapter(info->client->dev.parent); + + if (!info->pdata->mux_fw_flash) { + dev_info(&info->client->dev, + "missing platform data, can't do power-on-reset\n"); + return; + } + + i2c_lock_adapter(adapter); + info->pdata->mux_fw_flash(true); + + info->pdata->power(0); + gpio_direction_output(info->pdata->gpio_sda, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_int, 0); + msleep(50); + info->pdata->power(1); + msleep(200); + + info->pdata->mux_fw_flash(false); + i2c_unlock_adapter(adapter); + + /* TODO: Seems long enough for the firmware to boot. + * Find the right value */ + msleep(250); +} +static void release_all_fingers(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + int i; + + printk(KERN_DEBUG "[TSP] %s\n", __func__); + + for (i = 0; i < MAX_FINGERS; i++) { +#ifdef SEC_TSP_DEBUG + if (info->finger_state[i] == 1) + dev_notice(&client->dev, "finger %d up(force)\n", i); +#endif + info->finger_state[i] = 0; + input_mt_slot(info->input_dev, i); + input_mt_report_slot_state(info->input_dev, MT_TOOL_FINGER, + false); + } + input_sync(info->input_dev); +#if TOUCH_BOOSTER + set_dvfs_lock(info, 2); + pr_info("[TSP] dvfs_lock free.\n "); +#endif +} + +static void mms_set_noise_mode(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + + if (!(info->noise_mode && info->enabled)) + return; + dev_notice(&client->dev, "%s\n", __func__); + + if (info->ta_status) { + dev_notice(&client->dev, "noise_mode & TA connect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x30, 0x1); + } else { + dev_notice(&client->dev, "noise_mode & TA disconnect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x30, 0x2); + } +} + +static void reset_mms_ts(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + + if (info->enabled == false) + return; + + dev_notice(&client->dev, "%s++\n", __func__); + disable_irq_nosync(info->irq); + info->enabled = false; + touch_is_pressed = 0; + + release_all_fingers(info); + + mms_pwr_on_reset(info); + enable_irq(info->irq); + info->enabled = true; + + if (info->ta_status) { + dev_notice(&client->dev, "TA connect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x1); + } else { + dev_notice(&client->dev, "TA disconnect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x2); + mms_set_noise_mode(info); + } + + dev_notice(&client->dev, "%s--\n", __func__); +} + +static void melfas_ta_cb(struct tsp_callbacks *cb, bool ta_status) +{ + struct mms_ts_info *info = + container_of(cb, struct mms_ts_info, callbacks); + struct i2c_client *client = info->client; + + dev_notice(&client->dev, "%s\n", __func__); + + info->ta_status = ta_status; + + if (info->enabled) { + if (info->ta_status) { + dev_notice(&client->dev, "TA connect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x1); + } else { + dev_notice(&client->dev, "TA disconnect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x2); + mms_set_noise_mode(info); + } + } + +} + +static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) +{ + struct mms_ts_info *info = dev_id; + struct i2c_client *client = info->client; + u8 buf[MAX_FINGERS * TSP_PROTOCOL_MAX] = { 0 }; + int ret; + int i; + int sz; + u8 reg = MMS_INPUT_EVENT0; + struct i2c_msg msg[] = { + { + .addr = client->addr, + .flags = 0, + .buf = ®, + .len = 1, + }, { + .addr = client->addr, + .flags = I2C_M_RD, + .buf = buf, + }, + }; + + if (info->input_event) + info->input_event(info); + + sz = i2c_smbus_read_byte_data(client, MMS_INPUT_EVENT_PKT_SZ); + + if (sz < 0) { + dev_err(&client->dev, "%s bytes=%d\n", __func__, sz); + for (i = 0; i < 50; i++) { + sz = i2c_smbus_read_byte_data(client, + MMS_INPUT_EVENT_PKT_SZ); + if (sz > 0) + break; + } + + if (i == 50) { + dev_dbg(&client->dev, "i2c failed... reset!!\n"); + reset_mms_ts(info); + goto out; + } + } + + /* BUG_ON(sz > MAX_FINGERS*FINGER_EVENT_SZ); */ + if (sz == 0) + goto out; + + if (sz > MAX_FINGERS * info->finger_event_sz) { + dev_err(&client->dev, "[TSP] abnormal data inputed.\n"); + goto out; + } + + msg[1].len = sz; + ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg)); + if (ret != ARRAY_SIZE(msg)) { + dev_err(&client->dev, + "failed to read %d bytes of touch data (%d)\n", + sz, ret); + goto out; + } + +#if defined(VERBOSE_DEBUG) + print_hex_dump(KERN_DEBUG, "mms_ts raw: ", + DUMP_PREFIX_OFFSET, 32, 1, buf, sz, false); + +#endif + if (buf[0] == 0x0F) { /* ESD */ + dev_dbg(&client->dev, "ESD DETECT.... reset!!\n"); + reset_mms_ts(info); + goto out; + } + + if (buf[0] == 0x0E) { /* NOISE MODE */ + dev_dbg(&client->dev, "[TSP] noise mode enter!!\n"); + info->noise_mode = 1 ; + mms_set_noise_mode(info); + goto out; + } + + for (i = 0; i < sz; i += info->finger_event_sz) { + u8 *tmp = &buf[i]; + int id = (tmp[0] & 0xf) - 1; + int x = tmp[2] | ((tmp[1] & 0xf) << 8); + int y = 0; int angle = 0; int palm = 0; + if (info->finger_event_sz == TSP_6_BYTE_PROTOCOL) + y = tmp[3] | ((tmp[1] >> 4) << 8); + else { + y = tmp[3] | (((tmp[1] >> 4) & 0xf) << 8); + angle = (tmp[5] >= 127) ? (-(256 - tmp[5])) : tmp[5]; + palm = (tmp[0] & 0x10) >> 4; + } + if (info->invert_x) { + x = info->max_x - x; + if (x < 0) + x = 0; + } + if (info->invert_y) { + y = info->max_y - y; + if (y < 0) + y = 0; + } + if (id >= MAX_FINGERS) { + dev_notice(&client->dev, \ + "finger id error [%d]\n", id); + reset_mms_ts(info); + goto out; + } + + if ((tmp[0] & 0x80) == 0) { + if (info->finger_state[id] != 0) { + dev_notice(&client->dev, + "finger [%d] up\n", id); + } + input_mt_slot(info->input_dev, id); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, false); + +#if defined(SEC_TSP_DEBUG) || defined(SEC_TSP_VERBOSE_DEBUG) + info->finger_state[id] = 0; +#endif + continue; + } + + input_mt_slot(info->input_dev, id); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, true); + if (info->finger_event_sz == TSP_6_BYTE_PROTOCOL) { + input_report_abs(info->input_dev, + ABS_MT_POSITION_X, x); + input_report_abs(info->input_dev, + ABS_MT_POSITION_Y, y); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MAJOR, tmp[4]); + input_report_abs(info->input_dev, + ABS_MT_PRESSURE, tmp[5]); + } else { + input_report_abs(info->input_dev, + ABS_MT_WIDTH_MAJOR, tmp[4]); + input_report_abs(info->input_dev, + ABS_MT_POSITION_X, x); + input_report_abs(info->input_dev, + ABS_MT_POSITION_Y, y); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MAJOR, tmp[6]); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MINOR, tmp[7]); + input_report_abs(info->input_dev, + ABS_MT_ANGLE, angle); + input_report_abs(info->input_dev, + ABS_MT_PALM, palm); + } + + if (info->finger_state[id] == 0) { + info->finger_state[id] = 1; + dev_notice(&client->dev, + "finger [%d] down\n", id); + } + + } + input_sync(info->input_dev); + touch_is_pressed = 0; + + for (i = 0; i < MAX_FINGERS; i++) { + if (info->finger_state[i] == 1) + touch_is_pressed++; + } + +#if TOUCH_BOOSTER + set_dvfs_lock(info, !!touch_is_pressed); +#endif + +#ifdef CONFIG_SLP_CHECK_CPU_LOAD + cpu_load_touch_event(!!touch_is_pressed); +#endif + + +out: + return IRQ_HANDLED; +} + +int get_tsp_status(void) +{ + return touch_is_pressed; +} +EXPORT_SYMBOL(get_tsp_status); + + +#if ISC_DL_MODE +static int mms100_i2c_read(struct i2c_client *client, + u16 addr, u16 length, u8 *value) +{ + struct i2c_adapter *adapter = client->adapter; + struct i2c_msg msg; + int ret = -1; + + msg.addr = client->addr; + msg.flags = 0x00; + msg.len = 1; + msg.buf = (u8 *) &addr; + + ret = i2c_transfer(adapter, &msg, 1); + + if (ret >= 0) { + msg.addr = client->addr; + msg.flags = I2C_M_RD; + msg.len = length; + msg.buf = (u8 *) value; + + ret = i2c_transfer(adapter, &msg, 1); + } + + if (ret < 0) + pr_err("[TSP] : read error : [%d]", ret); + + return ret; +} + + +static enum eISCRet_t mms100_reset(struct mms_ts_info *info) +{ + info->pdata->power(false); + msleep(30); + info->pdata->power(true); + msleep(300); + + return ISC_SUCCESS; +} + +static enum eISCRet_t mms100_get_version_info(struct i2c_client *_client) +{ + int i, ret; + unsigned char rd_buf[8]; + + /* config version brust read (core, private, public) */ + ret = mms100_i2c_read(_client, ISC_ADDR_VERSION, 4, rd_buf); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + for (i = 0; i < SECTION_NUM; i++) + ts_info[i].version = rd_buf[i]; + + ts_info[SEC_CORE].compatible_version = + ts_info[SEC_BOOTLOADER].version; + ts_info[SEC_PRIVATE_CONFIG].compatible_version = + ts_info[SEC_PUBLIC_CONFIG].compatible_version = + ts_info[SEC_CORE].version; + + ret = mms100_i2c_read(_client, ISC_ADDR_SECTION_PAGE_INFO, 8, rd_buf); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + for (i = 0; i < SECTION_NUM; i++) { + ts_info[i].start_addr = rd_buf[i]; + ts_info[i].end_addr = rd_buf[i + SECTION_NUM]; + } + + for (i = 0; i < SECTION_NUM; i++) { + pr_info("TS : Section(%d) version: 0x%02X\n", + i, ts_info[i].version); + pr_info("TS : Section(%d) Start Address: 0x%02X\n", + i, ts_info[i].start_addr); + pr_info("TS : Section(%d) End Address: 0x%02X\n", + i, ts_info[i].end_addr); + pr_info("TS : Section(%d) Compatibility: 0x%02X\n", + i, ts_info[i].compatible_version); + } + + return ISC_SUCCESS; +} + +static enum eISCRet_t mms100_seek_section_info(void) +{ + int i; + char str_buf[STRING_BUF_LEN]; + char name_buf[SECTION_NAME_LEN]; + int version; + int page_num; + + const unsigned char *buf; + int next_ptr; + + for (i = 0; i < SECTION_NUM; i++) { + if (fw_mbin[i] == NULL) { + buf = NULL; + pr_info("[TSP ISC] fw_mbin[%d]->data is NULL", i); + } else { + buf = fw_mbin[i]->data; + } + + if (buf == NULL) { + mbin_info[i].version = ts_info[i].version; + mbin_info[i].compatible_version = + ts_info[i].compatible_version; + mbin_info[i].start_addr = ts_info[i].start_addr; + mbin_info[i].end_addr = ts_info[i].end_addr; + } else { + next_ptr = 0; + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "SECTION_NAME")); + + sscanf(buf + next_ptr, "%s%s", str_buf, name_buf); + + if (strncmp(section_name[i], name_buf, + SECTION_NAME_LEN)) + return ISC_FILE_FORMAT_ERROR; + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "SECTION_VERSION")); + + sscanf(buf + next_ptr, "%s%d", str_buf, &version); + mbin_info[i].version = ISC_CHAR_2_BCD(version); + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "START_PAGE_ADDR")); + + sscanf(buf + next_ptr, "%s%d", str_buf, &page_num); + mbin_info[i].start_addr = page_num; + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "END_PAGE_ADDR")); + + sscanf(buf + next_ptr, "%s%d", str_buf, &page_num); + mbin_info[i].end_addr = page_num; + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "COMPATIBLE_VERSION")); + + sscanf(buf + next_ptr, "%s%d", str_buf, &version); + mbin_info[i].compatible_version = + ISC_CHAR_2_BCD(version); + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "[Binary]")); + + if (mbin_info[i].version == 0xFF) + return ISC_FILE_FORMAT_ERROR; + } + } + + for (i = 0; i < SECTION_NUM; i++) { + pr_info("[TSP ISC] MBin : Section(%d) Version: 0x%02X\n", + i, mbin_info[i].version); + pr_info("[TSP ISC] MBin : Section(%d) Start Address: 0x%02X\n", + i, mbin_info[i].start_addr); + pr_info("[TSP ISC] MBin : Section(%d) End Address: 0x%02X\n", + i, mbin_info[i].end_addr); + pr_info("[TSP ISC] MBin : Section(%d) Compatibility: 0x%02X\n", + i, mbin_info[i].compatible_version); + } + + return ISC_SUCCESS; +} + +static enum eISCRet_t mms100_compare_version_info(struct i2c_client *_client) +{ + int i, ret; + unsigned char expected_compatibility[SECTION_NUM]; + + if (mms100_get_version_info(_client) != ISC_SUCCESS) + return ISC_I2C_ERROR; + + ret = mms100_seek_section_info(); + + /* Check update areas , 0 : bootloader 1: core 2: private 3: public */ + for (i = 0; i < SECTION_NUM; i++) { + if ((mbin_info[i].version == 0) || + (mbin_info[i].version != ts_info[i].version)) { + section_update_flag[i] = true; + pr_info("[TSP ISC] [%d] section will be updated!", i); + } + } + section_update_flag[0] = false; + pr_info("[TSP ISC] [%d] [%d] [%d]", section_update_flag[1], + section_update_flag[2], section_update_flag[3]); + + if (section_update_flag[SEC_BOOTLOADER]) { + expected_compatibility[SEC_CORE] = + mbin_info[SEC_BOOTLOADER].version; + } else { + expected_compatibility[SEC_CORE] = + ts_info[SEC_BOOTLOADER].version; + } + + if (section_update_flag[SEC_CORE]) { + expected_compatibility[SEC_PUBLIC_CONFIG] = + expected_compatibility[SEC_PRIVATE_CONFIG] = + mbin_info[SEC_CORE].version; + } else { + expected_compatibility[SEC_PUBLIC_CONFIG] = + expected_compatibility[SEC_PRIVATE_CONFIG] = + ts_info[SEC_CORE].version; + } + + for (i = SEC_CORE; i < SEC_PUBLIC_CONFIG; i++) { + if (section_update_flag[i]) { + pr_info("[TSP ISC] section_update_flag(%d), 0x%02x, 0x%02x\n", + i, expected_compatibility[i], + mbin_info[i].compatible_version); + + if (expected_compatibility[i] != + mbin_info[i].compatible_version) + return ISC_COMPATIVILITY_ERROR; + } else { + pr_info("[TSP ISC] !section_update_flag(%d), 0x%02x, 0x%02x\n", + i, expected_compatibility[i], + ts_info[i].compatible_version); + if (expected_compatibility[i] != + ts_info[i].compatible_version) + return ISC_COMPATIVILITY_ERROR; + } + } + return ISC_SUCCESS; +} + +static enum eISCRet_t mms100_enter_ISC_mode(struct i2c_client *_client) +{ + int ret; + unsigned char wr_buf[2]; + + pr_info("[TSP ISC] %s\n", __func__); + + wr_buf[0] = ISC_CMD_ENTER_ISC; + wr_buf[1] = ISC_CMD_ENTER_ISC_PARA1; + + ret = i2c_master_send(_client, wr_buf, 2); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + msleep(50); + + return ISC_SUCCESS; +} + +static enum eISCRet_t mms100_enter_config_update(struct i2c_client *_client) +{ + int ret; + unsigned char wr_buf[10] = {0,}; + unsigned char rd_buf; + + wr_buf[0] = ISC_CMD_UPDATE_MODE; + wr_buf[1] = ISC_SUBCMD_ENTER_UPDATE; + + ret = i2c_master_send(_client, wr_buf, 10); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + ret = mms100_i2c_read(_client, ISC_CMD_CONFIRM_STATUS, 1, &rd_buf); + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + if (rd_buf != ISC_STATUS_UPDATE_MODE) + return ISC_UPDATE_MODE_ENTER_ERROR; + + pr_info("[TSP ISC]End mms100_enter_config_update()\n"); + + return ISC_SUCCESS; +} + +static enum eISCRet_t mms100_ISC_clear_page(struct i2c_client *_client, + unsigned char _page_addr) +{ + int ret; + unsigned char rd_buf; + + memset(&g_wr_buf[3], 0xFF, PAGE_DATA); + + g_wr_buf[0] = ISC_CMD_UPDATE_MODE; /* command */ + g_wr_buf[1] = ISC_SUBCMD_DATA_WRITE; /* sub_command */ + g_wr_buf[2] = _page_addr; + + g_wr_buf[PAGE_HEADER + PAGE_DATA] = crc0_buf[_page_addr]; + g_wr_buf[PAGE_HEADER + PAGE_DATA + 1] = crc1_buf[_page_addr]; + + ret = i2c_master_send(_client, g_wr_buf, PACKET_SIZE); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + ret = mms100_i2c_read(_client, ISC_CMD_CONFIRM_STATUS, 1, &rd_buf); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + if (rd_buf != ISC_STATUS_CRC_CHECK_SUCCESS) + return ISC_UPDATE_MODE_ENTER_ERROR; + + pr_info("[TSP ISC]End mms100_ISC_clear_page()\n"); + return ISC_SUCCESS; + +} + +static enum eISCRet_t +mms100_ISC_clear_validate_markers(struct i2c_client *_client) +{ + int ret_msg; + int i, j; + bool is_matched_address; + + for (i = SEC_CORE; i <= SEC_PUBLIC_CONFIG; i++) { + if (section_update_flag[i]) { + if (ts_info[i].end_addr <= 30 && + ts_info[i].end_addr > 0) { + ret_msg = mms100_ISC_clear_page(_client, + ts_info[i].end_addr); + + if (ret_msg != ISC_SUCCESS) + return ret_msg; + } + } + } + + for (i = SEC_CORE; i <= SEC_PUBLIC_CONFIG; i++) { + if (section_update_flag[i]) { + is_matched_address = false; + for (j = SEC_CORE; j <= SEC_PUBLIC_CONFIG; j++) { + if (mbin_info[i].end_addr == + ts_info[i].end_addr) { + is_matched_address = true; + break; + } + } + + if (!is_matched_address) { + if (mbin_info[i].end_addr <= 30 && + mbin_info[i].end_addr > 0) { + ret_msg = mms100_ISC_clear_page(_client, + mbin_info[i].end_addr); + + if (ret_msg != ISC_SUCCESS) + return ret_msg; + } + } + } + } + + return ISC_SUCCESS; +} + +static enum eISCRet_t mms100_update_section_data(struct i2c_client *_client) +{ + int i, ret, next_ptr; + unsigned char rd_buf; + const unsigned char *ptr_fw; + char str_buf[STRING_BUF_LEN]; + int page_addr; + + for (i = 0; i < SECTION_NUM; i++) { + if (section_update_flag[i]) { + pr_info("[TSP ISC] section data i2c flash : [%d]", i); + + next_ptr = 0; + ptr_fw = fw_mbin[i]->data; + + do { + sscanf(ptr_fw + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "[Binary]")); + ptr_fw = ptr_fw + next_ptr + 2; + + for (page_addr = mbin_info[i].start_addr; + page_addr <= mbin_info[i].end_addr; + page_addr++) { + if (page_addr - mbin_info[i].start_addr > 0) + ptr_fw += PACKET_SIZE; + + if ((ptr_fw[0] != ISC_CMD_UPDATE_MODE) || + (ptr_fw[1] != ISC_SUBCMD_DATA_WRITE) || + (ptr_fw[2] != page_addr)) + return ISC_WRITE_BUFFER_ERROR; + + ret = i2c_master_send(_client, + ptr_fw, PACKET_SIZE); + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + ret = mms100_i2c_read(_client, + ISC_CMD_CONFIRM_STATUS, 1, &rd_buf); + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + if (rd_buf != ISC_STATUS_CRC_CHECK_SUCCESS) + return ISC_CRC_ERROR; + + section_update_flag[i] = false; + } + } + } + + pr_info("[TSP ISC]End mms100_update_section_data()\n"); + return ISC_SUCCESS; +} + +static enum eISCRet_t mms100_open_mbinary(struct i2c_client *_client) +{ + int ret = 0; + + ret += request_firmware(&(fw_mbin[1]),\ + "tsp_melfas/CORE.fw", &_client->dev); + ret += request_firmware(&(fw_mbin[2]),\ + "tsp_melfas/PRIV.fw", &_client->dev); + ret += request_firmware(&(fw_mbin[3]),\ + "tsp_melfas/PUBL.fw", &_client->dev); + + if (!ret) + return ISC_SUCCESS; + else { + pr_info("[TSP ISC] request_firmware fail"); + return ret; + } +} + +static enum eISCRet_t mms100_close_mbinary(void) +{ + int i; + + for (i = 0; i < SECTION_NUM; i++) { + if (fw_mbin[i] != NULL) + release_firmware(fw_mbin[i]); + } + return ISC_SUCCESS; +} + +static enum eISCRet_t mms100_ISC_download_mbinary(struct mms_ts_info *info) +{ + struct i2c_client *_client = info->client; + enum eISCRet_t ret_msg = ISC_NONE; + + pr_info("[TSP ISC] %s\n", __func__); + + mms100_reset(info); + + ret_msg = mms100_open_mbinary(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + /*Config version Check*/ + ret_msg = mms100_compare_version_info(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + ret_msg = mms100_enter_ISC_mode(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + ret_msg = mms100_enter_config_update(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + ret_msg = mms100_ISC_clear_validate_markers(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + pr_info("[TSP ISC]mms100_update_section_data start"); + + ret_msg = mms100_update_section_data(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + pr_info("[TSP ISC]mms100_update_section_data end"); + + pr_info("[TSP ISC]FIRMWARE_UPDATE_FINISHED!!!\n"); + + ret_msg = ISC_SUCCESS; + +ISC_ERROR_HANDLE: + if (ret_msg != ISC_SUCCESS) + pr_info("[TSP ISC]ISC_ERROR_CODE: %d\n", ret_msg); + + mms100_reset(info); + mms100_close_mbinary(); + + return ret_msg; +} +#endif /* ISC_DL_MODE start */ + +static void hw_reboot(struct mms_ts_info *info, bool bootloader) +{ + info->pdata->power(0); + gpio_direction_output(info->pdata->gpio_sda, bootloader ? 0 : 1); + gpio_direction_output(info->pdata->gpio_scl, bootloader ? 0 : 1); + gpio_direction_output(info->pdata->gpio_int, 0); + msleep(30); + info->pdata->power(1); + msleep(30); + + if (bootloader) { + gpio_set_value(info->pdata->gpio_scl, 0); + gpio_set_value(info->pdata->gpio_sda, 1); + } else { + gpio_set_value(info->pdata->gpio_int, 1); + gpio_direction_input(info->pdata->gpio_int); + gpio_direction_input(info->pdata->gpio_scl); + gpio_direction_input(info->pdata->gpio_sda); + } + msleep(40); +} + +static inline void hw_reboot_bootloader(struct mms_ts_info *info) +{ + hw_reboot(info, true); +} + +static inline void hw_reboot_normal(struct mms_ts_info *info) +{ + hw_reboot(info, false); +} + +static void isp_toggle_clk(struct mms_ts_info *info, int start_lvl, int end_lvl, + int hold_us) +{ + gpio_set_value(info->pdata->gpio_scl, start_lvl); + udelay(hold_us); + gpio_set_value(info->pdata->gpio_scl, end_lvl); + udelay(hold_us); +} + +/* 1 <= cnt <= 32 bits to write */ +static void isp_send_bits(struct mms_ts_info *info, u32 data, int cnt) +{ + gpio_direction_output(info->pdata->gpio_int, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_sda, 0); + + /* clock out the bits, msb first */ + while (cnt--) { + gpio_set_value(info->pdata->gpio_sda, (data >> cnt) & 1); + udelay(3); + isp_toggle_clk(info, 1, 0, 3); + } +} + +/* 1 <= cnt <= 32 bits to read */ +static u32 isp_recv_bits(struct mms_ts_info *info, int cnt) +{ + u32 data = 0; + + gpio_direction_output(info->pdata->gpio_int, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_set_value(info->pdata->gpio_sda, 0); + gpio_direction_input(info->pdata->gpio_sda); + + /* clock in the bits, msb first */ + while (cnt--) { + isp_toggle_clk(info, 0, 1, 1); + data = (data << 1) | (!!gpio_get_value(info->pdata->gpio_sda)); + } + + gpio_direction_output(info->pdata->gpio_sda, 0); + return data; +} + +static void isp_enter_mode(struct mms_ts_info *info, u32 mode) +{ + int cnt; + unsigned long flags; + + local_irq_save(flags); + gpio_direction_output(info->pdata->gpio_int, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_sda, 1); + + mode &= 0xffff; + for (cnt = 15; cnt >= 0; cnt--) { + gpio_set_value(info->pdata->gpio_int, (mode >> cnt) & 1); + udelay(3); + isp_toggle_clk(info, 1, 0, 3); + } + + gpio_set_value(info->pdata->gpio_int, 0); + local_irq_restore(flags); +} + +static void isp_exit_mode(struct mms_ts_info *info) +{ + int i; + unsigned long flags; + + local_irq_save(flags); + gpio_direction_output(info->pdata->gpio_int, 0); + udelay(3); + + for (i = 0; i < 10; i++) + isp_toggle_clk(info, 1, 0, 3); + local_irq_restore(flags); +} + +static void flash_set_address(struct mms_ts_info *info, u16 addr) +{ + /* Only 13 bits of addr are valid. + * The addr is in bits 13:1 of cmd */ + isp_send_bits(info, (u32) (addr & 0x1fff) << 1, 18); +} + +static void flash_erase(struct mms_ts_info *info) +{ + isp_enter_mode(info, ISP_MODE_FLASH_ERASE); + + gpio_direction_output(info->pdata->gpio_int, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_sda, 1); + + /* 4 clock cycles with different timings for the erase to + * get processed, clk is already 0 from above */ + udelay(7); + isp_toggle_clk(info, 1, 0, 3); + udelay(7); + isp_toggle_clk(info, 1, 0, 3); + usleep_range(25000, 35000); + isp_toggle_clk(info, 1, 0, 3); + usleep_range(150, 200); + isp_toggle_clk(info, 1, 0, 3); + + gpio_set_value(info->pdata->gpio_sda, 0); + + isp_exit_mode(info); +} + +static u32 flash_readl(struct mms_ts_info *info, u16 addr) +{ + int i; + u32 val; + unsigned long flags; + + local_irq_save(flags); + isp_enter_mode(info, ISP_MODE_FLASH_READ); + flash_set_address(info, addr); + + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_sda, 0); + udelay(40); + + /* data load cycle */ + for (i = 0; i < 6; i++) + isp_toggle_clk(info, 1, 0, 10); + + val = isp_recv_bits(info, 32); + isp_exit_mode(info); + local_irq_restore(flags); + + return val; +} + +static void flash_writel(struct mms_ts_info *info, u16 addr, u32 val) +{ + unsigned long flags; + + local_irq_save(flags); + isp_enter_mode(info, ISP_MODE_FLASH_WRITE); + flash_set_address(info, addr); + isp_send_bits(info, val, 32); + + gpio_direction_output(info->pdata->gpio_sda, 1); + /* 6 clock cycles with different timings for the data to get written + * into flash */ + isp_toggle_clk(info, 0, 1, 3); + isp_toggle_clk(info, 0, 1, 3); + isp_toggle_clk(info, 0, 1, 6); + isp_toggle_clk(info, 0, 1, 12); + isp_toggle_clk(info, 0, 1, 3); + isp_toggle_clk(info, 0, 1, 3); + + isp_toggle_clk(info, 1, 0, 1); + + gpio_direction_output(info->pdata->gpio_sda, 0); + isp_exit_mode(info); + local_irq_restore(flags); + usleep_range(300, 400); +} + +static bool flash_is_erased(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + u32 val; + u16 addr; + + for (addr = 0; addr < (ISP_MAX_FW_SIZE / 4); addr++) { + udelay(40); + val = flash_readl(info, addr); + + if (val != 0xffffffff) { + dev_dbg(&client->dev, + "addr 0x%x not erased: 0x%08x != 0xffffffff\n", + addr, val); + return false; + } + } + return true; +} + +static int fw_write_image(struct mms_ts_info *info, const u8 * data, size_t len) +{ + struct i2c_client *client = info->client; + u16 addr = 0; + + for (addr = 0; addr < (len / 4); addr++, data += 4) { + u32 val = get_unaligned_le32(data); + u32 verify_val; + int retries = 3; + + while (retries--) { + flash_writel(info, addr, val); + verify_val = flash_readl(info, addr); + if (val == verify_val) + break; + dev_err(&client->dev, + "mismatch @ addr 0x%x: 0x%x != 0x%x\n", + addr, verify_val, val); + continue; + } + if (retries < 0) + return -ENXIO; + } + + return 0; +} + +static int fw_download(struct mms_ts_info *info, const u8 * data, size_t len) +{ + struct i2c_client *client = info->client; + u32 val; + int ret = 0; + + if (len % 4) { + dev_err(&client->dev, + "fw image size (%d) must be a multiple of 4 bytes\n", + len); + return -EINVAL; + } else if (len > ISP_MAX_FW_SIZE) { + dev_err(&client->dev, + "fw image is too big, %d > %d\n", len, ISP_MAX_FW_SIZE); + return -EINVAL; + } + + dev_info(&client->dev, "fw download start\n"); + + info->pdata->power(0); + gpio_direction_output(info->pdata->gpio_sda, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_int, 0); + + hw_reboot_bootloader(info); + + val = flash_readl(info, ISP_IC_INFO_ADDR); + dev_info(&client->dev, "IC info: 0x%02x (%x)\n", val & 0xff, val); + + dev_info(&client->dev, "fw erase...\n"); + flash_erase(info); + if (!flash_is_erased(info)) { + ret = -ENXIO; + goto err; + } + + dev_info(&client->dev, "fw write...\n"); + /* XXX: what does this do?! */ + flash_writel(info, ISP_IC_INFO_ADDR, 0xffffff00 | (val & 0xff)); + usleep_range(1000, 1500); + ret = fw_write_image(info, data, len); + if (ret) + goto err; + usleep_range(1000, 1500); + + hw_reboot_normal(info); + usleep_range(1000, 1500); + dev_info(&client->dev, "fw download done...\n"); + return 0; + +err: + dev_err(&client->dev, "fw download failed...\n"); + hw_reboot_normal(info); + return ret; +} + +#if defined(SEC_TSP_ISC_FW_UPDATE) +static u16 gen_crc(u8 data, u16 pre_crc) +{ + u16 crc; + u16 cur; + u16 temp; + u16 bit_1; + u16 bit_2; + int i; + + crc = pre_crc; + for (i = 7; i >= 0; i--) { + cur = ((data >> i) & 0x01) ^ (crc & 0x0001); + bit_1 = cur ^ (crc >> 11 & 0x01); + bit_2 = cur ^ (crc >> 4 & 0x01); + temp = (cur << 4) | (crc >> 12 & 0x0F); + temp = (temp << 7) | (bit_1 << 6) | (crc >> 5 & 0x3F); + temp = (temp << 4) | (bit_2 << 3) | (crc >> 1 & 0x0007); + crc = temp; + } + return crc; +} + +static int isc_fw_download(struct mms_ts_info *info, const u8 * data, + size_t len) +{ + u8 *buff; + u16 crc_buf; + int src_idx; + int dest_idx; + int ret; + int i, j; + + buff = kzalloc(ISC_PKT_SIZE, GFP_KERNEL); + if (!buff) { + dev_err(&info->client->dev, "%s: failed to allocate memory\n", + __func__); + ret = -1; + goto err_mem_alloc; + } + + /* enterring ISC mode */ + *buff = ISC_ENTER_ISC_DATA; + ret = i2c_smbus_write_byte_data(info->client, + ISC_ENTER_ISC_CMD, *buff); + if (ret < 0) { + dev_err(&info->client->dev, + "fail to enter ISC mode(err=%d)\n", ret); + goto fail_to_isc_enter; + } + usleep_range(10000, 20000); + dev_info(&info->client->dev, "Enter ISC mode\n"); + + /*enter ISC update mode */ + *buff = ISC_ENTER_UPDATE_DATA; + ret = i2c_smbus_write_i2c_block_data(info->client, + ISC_CMD, + ISC_ENTER_UPDATE_DATA_LEN, buff); + if (ret < 0) { + dev_err(&info->client->dev, + "fail to enter ISC update mode(err=%d)\n", ret); + goto fail_to_isc_update; + } + dev_info(&info->client->dev, "Enter ISC update mode\n"); + + /* firmware write */ + *buff = ISC_CMD; + *(buff + 1) = ISC_DATA_WRITE_SUB_CMD; + for (i = 0; i < ISC_PKT_NUM; i++) { + *(buff + 2) = i; + crc_buf = gen_crc(*(buff + 2), ISC_DEFAULT_CRC); + + for (j = 0; j < ISC_PKT_DATA_SIZE; j++) { + dest_idx = ISC_PKT_HEADER_SIZE + j; + src_idx = i * ISC_PKT_DATA_SIZE + + ((int)(j / WORD_SIZE)) * WORD_SIZE - + (j % WORD_SIZE) + 3; + *(buff + dest_idx) = *(data + src_idx); + crc_buf = gen_crc(*(buff + dest_idx), crc_buf); + } + + *(buff + ISC_PKT_DATA_SIZE + ISC_PKT_HEADER_SIZE + 1) = + crc_buf & 0xFF; + *(buff + ISC_PKT_DATA_SIZE + ISC_PKT_HEADER_SIZE) = + crc_buf >> 8 & 0xFF; + + ret = i2c_master_send(info->client, buff, ISC_PKT_SIZE); + if (ret < 0) { + dev_err(&info->client->dev, + "fail to firmware writing on packet %d.(%d)\n", + i, ret); + goto fail_to_fw_write; + } + usleep_range(1, 5); + + /* confirm CRC */ + ret = i2c_smbus_read_byte_data(info->client, + ISC_CHECK_STATUS_CMD); + if (ret == ISC_CONFIRM_CRC) { + dev_info(&info->client->dev, + "updating %dth firmware data packet.\n", i); + } else { + dev_err(&info->client->dev, + "fail to firmware update on %dth (%X).\n", + i, ret); + ret = -1; + goto fail_to_confirm_crc; + } + } + + ret = 0; + +fail_to_confirm_crc: +fail_to_fw_write: + /* exit ISC mode */ + *buff = ISC_EXIT_ISC_SUB_CMD; + *(buff + 1) = ISC_EXIT_ISC_SUB_CMD2; + i2c_smbus_write_i2c_block_data(info->client, ISC_CMD, 2, buff); + usleep_range(10000, 20000); +fail_to_isc_update: + hw_reboot_normal(info); +fail_to_isc_enter: + kfree(buff); +err_mem_alloc: + return ret; +} +#endif /* SEC_TSP_ISC_FW_UPDATE */ + +static int get_fw_version(struct mms_ts_info *info) +{ + int ret; + int retries = 3; + + /* this seems to fail sometimes after a reset.. retry a few times */ + do { + ret = i2c_smbus_read_byte_data(info->client, MMS_FW_VERSION); + } while (ret < 0 && retries-- > 0); + + return ret; +} + +static int get_hw_version(struct mms_ts_info *info) +{ + int ret; + int retries = 3; + + /* this seems to fail sometimes after a reset.. retry a few times */ + do { + ret = i2c_smbus_read_byte_data(info->client, MMS_HW_REVISION); + } while (ret < 0 && retries-- > 0); + + return ret; +} + +static int mms_ts_finish_config(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + int ret; + + #if defined(CONFIG_TARGET_LOCALE_KOR) + ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, + IRQF_TRIGGER_FALLING | IRQF_ONESHOT, + MELFAS_TS_NAME, info); + #else + ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, + IRQF_TRIGGER_LOW | IRQF_ONESHOT, + MELFAS_TS_NAME, info); + #endif + + + if (ret < 0) { + ret = 1; + dev_err(&client->dev, "Failed to register interrupt\n"); + goto err_req_irq; + } + + info->irq = client->irq; + barrier(); + + dev_info(&client->dev, + "Melfas MMS-series touch controller initialized\n"); + + return 0; + +err_req_irq: + return ret; +} + +static void mms_ts_set_protocol(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + + switch (info->fw_ic_ver) { + case FW_VERSION_5_5: + info->finger_event_sz = TSP_6_BYTE_PROTOCOL; + break; + default: + info->finger_event_sz = TSP_8_BYTE_PROTOCOL; + break; + } + dev_info(&client->dev, + "[TSP] protocol %d byte !\n", info->finger_event_sz); +} + +static int mms_ts_fw_info(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + int ret = 0; + int ver, hw_rev; + + ver = get_fw_version(info); + info->fw_ic_ver = ver; + dev_info(&client->dev, + "[TSP]fw version 0x%02x !!!!\n", ver); + + hw_rev = get_hw_version(info); + info->ic_hw_ver = hw_rev; + dev_info(&client->dev, + "[TSP] hw rev = 0x%x\n", hw_rev); + + if (ver < 0 || hw_rev < 0) { + ret = 1; + dev_err(&client->dev, + "i2c fail...tsp driver unload.\n"); + return ret; + } + + if (!info->pdata || !info->pdata->mux_fw_flash) { + ret = 1; + dev_err(&client->dev, + "fw cannot be updated, missing platform data\n"); + return ret; + } + + ret = mms_ts_finish_config(info); + + return ret; +} + +static int mms_ts_fw_load(struct mms_ts_info *info) +{ + + struct i2c_client *client = info->client; + int ret = 0; + int ver, hw_rev; + int retries = 3; + + ver = get_fw_version(info); + info->fw_ic_ver = ver; + dev_info(&client->dev, + "[TSP]fw version 0x%02x !!!!\n", ver); + + hw_rev = get_hw_version(info); + info->ic_hw_ver = hw_rev; + dev_info(&client->dev, + "[TSP]hw rev = 0x%02x\n", hw_rev); + + pr_err("[TSP] ISC Ver [0x%02x] [0x%02x] [0x%02x]", + i2c_smbus_read_byte_data(info->client, 0xF3), + i2c_smbus_read_byte_data(info->client, 0xF4), + i2c_smbus_read_byte_data(info->client, 0xF5)); + + if (!info->pdata || !info->pdata->mux_fw_flash) { + ret = 1; + dev_err(&client->dev, + "fw cannot be updated, missing platform data\n"); + goto out; + } + + /* 4.8" OCTA LCD FW */ + if (ver >= FW_VERSION_4_8 && ver != 0xFF\ + && ver != 0x00 && ver != 0x45) { + dev_info(&client->dev, + "4.8 fw version update does not need\n"); + goto done; + } + + while (retries--) { + ret = mms100_ISC_download_mbinary(info); + + ver = get_fw_version(info); + info->fw_ic_ver = ver; + + if (ret == 0) { + pr_err("[TSP] mms100_ISC_download_mbinary success"); + goto done; + } else { + pr_err("[TSP] mms100_ISC_download_mbinary fail [%d]", + ret); + ret = 1; + } + + dev_err(&client->dev, "retrying flashing\n"); + } + +out: + return ret; + +done: + +#if ISC_DL_MODE /* ISC_DL_MODE start */ + pr_err("[TSP] ISC Ver [0x%02x] [0x%02x] [0x%02x]", + i2c_smbus_read_byte_data(info->client, 0xF3), + i2c_smbus_read_byte_data(info->client, 0xF4), + i2c_smbus_read_byte_data(info->client, 0xF5)); +#endif + + ret = mms_ts_finish_config(info); + return ret; +} + + +#ifdef SEC_TSP_FACTORY_TEST +static void set_cmd_result(struct mms_ts_info *info, char *buff, int len) +{ + strncat(info->cmd_result, buff, len); +} + +static void get_raw_data_all(struct mms_ts_info *info, u8 cmd) +{ + u8 w_buf[6]; + u8 read_buffer[2]; /* 52 */ + int gpio; + int ret; + int i, j; + u32 max_value = 0, min_value = 0; + u32 raw_data; + char buff[TSP_CMD_STR_LEN] = {0}; + gpio = info->pdata->gpio_int; + +/* gpio = msm_irq_to_gpio(info->irq); */ + disable_irq(info->irq); + + w_buf[0] = MMS_VSC_CMD; /* vendor specific command id */ + w_buf[1] = MMS_VSC_MODE; /* mode of vendor */ + w_buf[2] = 0; /* tx line */ + w_buf[3] = 0; /* rx line */ + w_buf[4] = 0; /* reserved */ + w_buf[5] = 0; /* sub command */ + + if (cmd == MMS_VSC_CMD_EXIT) { + w_buf[5] = MMS_VSC_CMD_EXIT; /* exit test mode */ + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 5, &w_buf[1]); + if (ret < 0) + goto err_i2c; + enable_irq(info->irq); + msleep(200); + return; + } + + /* MMS_VSC_CMD_CM_DELTA or MMS_VSC_CMD_CM_ABS + * this two mode need to enter the test mode + * exit command must be followed by testing. + */ + if (cmd == MMS_VSC_CMD_CM_DELTA || cmd == MMS_VSC_CMD_CM_ABS) { + /* enter the debug mode */ + w_buf[2] = 0x0; /* tx */ + w_buf[3] = 0x0; /* rx */ + w_buf[5] = MMS_VSC_CMD_ENTER; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 5, &w_buf[1]); + if (ret < 0) + goto err_i2c; + + /* wating for the interrupt */ + while (gpio_get_value(gpio)) + udelay(100); + } + + for (i = 0; i < RX_NUM; i++) { + for (j = 0; j < TX_NUM; j++) { + + w_buf[2] = j; /* tx */ + w_buf[3] = i; /* rx */ + w_buf[5] = cmd; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 5, &w_buf[1]); + if (ret < 0) + goto err_i2c; + + usleep_range(1, 5); + + ret = i2c_smbus_read_i2c_block_data(info->client, 0xBF, + 2, read_buffer); + if (ret < 0) + goto err_i2c; + + raw_data = ((u16) read_buffer[1] << 8) | read_buffer[0]; + if (i == 0 && j == 0) { + max_value = min_value = raw_data; + } else { + max_value = max(max_value, raw_data); + min_value = min(min_value, raw_data); + } + + if (cmd == MMS_VSC_CMD_INTENSITY) { + info->intensity[j * RX_NUM + i] = raw_data; + dev_dbg(&info->client->dev, "[TSP] intensity[%d][%d] = %d\n", + i, j, info->intensity[j * RX_NUM + i]); + } else if (cmd == MMS_VSC_CMD_CM_DELTA) { + info->inspection[j * RX_NUM + i] = raw_data; + dev_dbg(&info->client->dev, "[TSP] delta[%d][%d] = %d\n", + i, j, info->inspection[j * RX_NUM + i]); + } else if (cmd == MMS_VSC_CMD_CM_ABS) { + info->raw[j * RX_NUM + i] = raw_data; + dev_dbg(&info->client->dev, "[TSP] raw[%d][%d] = %d\n", + i, j, info->raw[j * RX_NUM + i]); + } else if (cmd == MMS_VSC_CMD_REFER) { + info->reference[j * RX_NUM + i] = + raw_data >> 3; + dev_dbg(&info->client->dev, "[TSP] reference[%d][%d] = %d\n", + i, j, info->reference[j * RX_NUM + i]); + } + } + + } + + snprintf(buff, sizeof(buff), "%d,%d", min_value, max_value); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + enable_irq(info->irq); + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, cmd); +} + +#ifdef ESD_DEBUG +static u32 get_raw_data_one(struct mms_ts_info *info, u16 rx_idx, u16 tx_idx, + u8 cmd) +{ + u8 w_buf[6]; + u8 read_buffer[2]; + int ret; + u32 raw_data; + + w_buf[0] = MMS_VSC_CMD; /* vendor specific command id */ + w_buf[1] = MMS_VSC_MODE; /* mode of vendor */ + w_buf[2] = 0; /* tx line */ + w_buf[3] = 0; /* rx line */ + w_buf[4] = 0; /* reserved */ + w_buf[5] = 0; /* sub command */ + + if (cmd != MMS_VSC_CMD_INTENSITY && cmd != MMS_VSC_CMD_RAW && + cmd != MMS_VSC_CMD_REFER) { + dev_err(&info->client->dev, "%s: not profer command(cmd=%d)\n", + __func__, cmd); + return FAIL; + } + + w_buf[2] = tx_idx; /* tx */ + w_buf[3] = rx_idx; /* rx */ + w_buf[5] = cmd; /* sub command */ + + ret = i2c_smbus_write_i2c_block_data(info->client, w_buf[0], 5, + &w_buf[1]); + if (ret < 0) + goto err_i2c; + + ret = i2c_smbus_read_i2c_block_data(info->client, 0xBF, 2, read_buffer); + if (ret < 0) + goto err_i2c; + + raw_data = ((u16) read_buffer[1] << 8) | read_buffer[0]; + if (cmd == MMS_VSC_CMD_REFER) + raw_data = raw_data >> 4; + + return raw_data; + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, cmd); + return FAIL; +} +#endif + +static ssize_t show_close_tsp_test(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + info->ft_flag = 0; + + return snprintf(buf, TSP_BUF_SIZE, "%u\n", 0); +} + +static void set_default_result(struct mms_ts_info *info) +{ + char delim = ':'; + + memset(info->cmd_result, 0x00, ARRAY_SIZE(info->cmd_result)); + memcpy(info->cmd_result, info->cmd, strlen(info->cmd)); + strncat(info->cmd_result, &delim, 1); +} + +static int check_rx_tx_num(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[TSP_CMD_STR_LEN] = {0}; + int node; + + if (info->cmd_param[0] < 0 || + info->cmd_param[0] >= TX_NUM || + info->cmd_param[1] < 0 || + info->cmd_param[1] >= RX_NUM) { + snprintf(buff, sizeof(buff) , "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + + dev_info(&info->client->dev, "%s: parameter error: %u,%u\n", + __func__, info->cmd_param[0], + info->cmd_param[1]); + node = -1; + return node; +} + node = info->cmd_param[1] * RX_NUM + info->cmd_param[0]; + dev_info(&info->client->dev, "%s: node = %d\n", __func__, + node); + return node; + +} + +static void not_support_cmd(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + char buff[16] = {0}; + + set_default_result(info); + sprintf(buff, "%s", "NA"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 4; + dev_info(&info->client->dev, "%s: \"%s(%d)\"\n", __func__, + buff, strnlen(buff, sizeof(buff))); + return; +} + +static void fw_update(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + struct i2c_client *client = info->client; + struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); + int ret = 0; + int ver = 0, hw_rev = 0, fw_bin_ver = 0; + int retries = 5; + const u8 *buff = 0; + mm_segment_t old_fs = {0}; + struct file *fp = NULL; + long fsize = 0, nread = 0; + const struct firmware *tsp_fw = NULL; + char fw_path[MAX_FW_PATH+1]; + char result[16] = {0}; + + set_default_result(info); + + hw_rev = get_hw_version(info); + if (hw_rev == TSP_REV_4_80) + fw_bin_ver = FW_VERSION_4_8; + else if (hw_rev == TSP_REV_4_65) + fw_bin_ver = FW_VERSION_4_65; + else if (hw_rev == TSP_REV_4_77_NEW) + fw_bin_ver = FW_VERSION_4_77_NEW; + else if ((hw_rev == TSP_REV_4_77) || (hw_rev == SAMPLE_4_77)) + fw_bin_ver = FW_VERSION_4_77; + + dev_info(&client->dev, + "fw_ic_ver = 0x%02x, fw_bin_ver = 0x%02x\n", + info->fw_ic_ver, fw_bin_ver); + + if (info->cmd_param[0] == 0 + && info->fw_ic_ver >= fw_bin_ver) { + dev_info(&client->dev, + "fw version update does not need\n"); + info->cmd_state = 2; + goto do_not_need_update; + } + + switch (info->cmd_param[0]) { + case BUILT_IN: + if (hw_rev == TSP_REV_4_80) { + dev_info(&client->dev, "built in 4.8 fw is loaded!!\n"); + + while (retries--) { + ret = mms100_ISC_download_mbinary(info); + ver = get_fw_version(info); + info->fw_ic_ver = ver; + if (ret == 0) { + pr_err("[TSP] mms100_ISC_download_mbinary success"); + info->cmd_state = 2; + return; + } else { + pr_err("[TSP] mms100_ISC_download_mbinary fail[%d]", + ret); + info->cmd_state = 3; + } + } + return; + } else if (hw_rev == TSP_REV_4_65) { + buff = MELFAS_binary_4_65; + fsize = MELFAS_binary_nLength_4_65; + dev_info(&client->dev, "built in 4.65 fw is loaded!!\n"); + } else if (hw_rev == TSP_REV_4_77_NEW) { + buff = MELFAS_binary_4_77_NEW; + fsize = MELFAS_binary_nLength_4_77_NEW; + dev_info(&client->dev, "built in 4.77 new fw is loaded!!\n"); + } else if ((hw_rev == TSP_REV_4_77) || + (hw_rev == SAMPLE_4_77)) { + buff = MELFAS_binary_4_77; + fsize = MELFAS_binary_nLength_4_77; + dev_info(&client->dev, "built in 4.77 fw is loaded!!\n"); + } + break; + + case UMS: + old_fs = get_fs(); + set_fs(get_ds()); + + snprintf(fw_path, MAX_FW_PATH, "/sdcard/%s", TSP_FW_FILENAME); + fp = filp_open(fw_path, O_RDONLY, 0); + if (IS_ERR(fp)) { + dev_err(&client->dev, + "file %s open error:%d\n", fw_path, (s32)fp); + info->cmd_state = 3; + goto err_open; + } + + fsize = fp->f_path.dentry->d_inode->i_size; + + buff = kzalloc((size_t)fsize, GFP_KERNEL); + if (!buff) { + dev_err(&client->dev, "fail to alloc buffer for fw\n"); + info->cmd_state = 3; + goto err_alloc; + } + + nread = vfs_read(fp, (char __user *)buff, fsize, &fp->f_pos); + if (nread != fsize) { + /*dev_err("fail to read file %s (nread = %d)\n", + fw_path, nread);*/ + info->cmd_state = 3; + goto err_fw_size; + } + + filp_close(fp, current->files); + set_fs(old_fs); + dev_info(&client->dev, "ums fw is loaded!!\n"); + break; + + case REQ_FW: + dev_info(&client->dev, "Entered REQ_FW case\n"); + ret = request_firmware(&tsp_fw, TSP_FW_FILENAME, + &(client->dev)); + if (ret) { + dev_err(&client->dev, "request firmware error!!\n"); + goto not_support; + } + + fsize = tsp_fw->size; + buff = kzalloc((size_t)fsize, GFP_KERNEL); + if (!buff) { + dev_err(&client->dev, "fail to alloc buffer for fw\n"); + info->cmd_state = 3; + release_firmware(tsp_fw); + goto not_support; + } + + memcpy((void *)buff, tsp_fw->data, fsize); + release_firmware(tsp_fw); + break; + + default: + dev_err(&client->dev, "invalid fw file type!!\n"); + goto not_support; + } + + disable_irq(info->irq); + while (retries--) { + i2c_lock_adapter(adapter); + info->pdata->mux_fw_flash(true); + + ret = fw_download(info, (const u8 *)buff, + (const size_t)fsize); + + info->pdata->mux_fw_flash(false); + i2c_unlock_adapter(adapter); + + if (ret < 0) { + dev_err(&client->dev, "retrying flashing\n"); + continue; + } + + ver = get_fw_version(info); + info->fw_ic_ver = ver; + + if (info->cmd_param[0] == 1 || info->cmd_param[0] == 2) { + dev_info(&client->dev, + "fw update done. ver = 0x%02x\n", ver); + info->cmd_state = 2; + snprintf(result, sizeof(result) , "%s", "OK"); + set_cmd_result(info, result, + strnlen(result, sizeof(result))); + enable_irq(info->irq); + kfree(buff); + return; + } else if (ver == fw_bin_ver) { + dev_info(&client->dev, + "fw update done. ver = 0x%02x\n", ver); + info->cmd_state = 2; + snprintf(result, sizeof(result) , "%s", "OK"); + set_cmd_result(info, result, + strnlen(result, sizeof(result))); + enable_irq(info->irq); + return; + } else { + dev_err(&client->dev, + "ERROR : fw version is still wrong (0x%x != 0x%x)\n", + ver, fw_bin_ver); + } + dev_err(&client->dev, "retrying flashing\n"); + } + +if (fp != NULL) { +err_fw_size: + kfree(buff); +err_alloc: + filp_close(fp, NULL); +err_open: + set_fs(old_fs); +} +not_support: +do_not_need_update: + snprintf(result, sizeof(result) , "%s", "NG"); + set_cmd_result(info, result, strnlen(result, sizeof(result))); + return; +} + +static void get_fw_ver_bin(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int hw_rev; + + set_default_result(info); + hw_rev = get_hw_version(info); + + switch (hw_rev) { + case TSP_REV_4_80: + snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_4_8); + break; + case TSP_REV_4_65: + snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_4_65); + break; + case TSP_REV_4_77: + snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_4_77); + break; + case TSP_REV_4_77_NEW: + snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_4_77_NEW); + break; + case SAMPLE_4_77: + snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_4_77); + break; + default: + break; + } + + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_fw_ver_ic(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int ver; + + set_default_result(info); + + ver = info->fw_ic_ver; + snprintf(buff, sizeof(buff), "%#02x", ver); + + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_config_ver(void *device_data) +{ + not_support_cmd(device_data); +} + +static void get_threshold(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int threshold; + + set_default_result(info); + + threshold = i2c_smbus_read_byte_data(info->client, 0x05); + if (threshold < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + return; +} + snprintf(buff, sizeof(buff), "%d", threshold); + + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void module_off_master(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[3] = {0}; + + mutex_lock(&info->lock); + if (info->enabled) { + disable_irq(info->irq); + info->enabled = false; + touch_is_pressed = 0; + } + mutex_unlock(&info->lock); + + info->pdata->power(0); + + if (info->pdata->is_vdd_on() == 0) + snprintf(buff, sizeof(buff), "%s", "OK"); + else + snprintf(buff, sizeof(buff), "%s", "NG"); + + set_default_result(info); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + if (strncmp(buff, "OK", 2) == 0) + info->cmd_state = 2; + else + info->cmd_state = 3; + + dev_info(&info->client->dev, "%s: %s\n", __func__, buff); +} + +static void module_on_master(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[3] = {0}; + + mms_pwr_on_reset(info); + + mutex_lock(&info->lock); + if (!info->enabled) { + enable_irq(info->irq); + info->enabled = true; + } + mutex_unlock(&info->lock); + + if (info->pdata->is_vdd_on() == 1) + snprintf(buff, sizeof(buff), "%s", "OK"); + else + snprintf(buff, sizeof(buff), "%s", "NG"); + + set_default_result(info); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + if (strncmp(buff, "OK", 2) == 0) + info->cmd_state = 2; + else + info->cmd_state = 3; + + dev_info(&info->client->dev, "%s: %s\n", __func__, buff); + +} + +static void get_chip_vendor(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + + set_default_result(info); + + snprintf(buff, sizeof(buff), "%s", "MELFAS"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_chip_name(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + + set_default_result(info); + + snprintf(buff, sizeof(buff), "%s", "MMS144"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_reference(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->reference[node]; + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); + +} + +static void get_cm_abs(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->raw[node]; + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_cm_delta(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->inspection[node]; + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_intensity(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->intensity[node]; + + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_x_num(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int val; + + set_default_result(info); + val = i2c_smbus_read_byte_data(info->client, 0xEF); + if (val < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + + dev_info(&info->client->dev, + "%s: fail to read num of x (%d).\n", __func__, val); + + return; + } + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_y_num(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int val; + + set_default_result(info); + val = i2c_smbus_read_byte_data(info->client, 0xEE); + if (val < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + + dev_info(&info->client->dev, + "%s: fail to read num of y (%d).\n", __func__, val); + + return; + } + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void run_reference_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + get_raw_data_all(info, MMS_VSC_CMD_REFER); + info->cmd_state = 2; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static void run_cm_abs_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + get_raw_data_all(info, MMS_VSC_CMD_CM_ABS); + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + info->cmd_state = 2; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static void run_cm_delta_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + get_raw_data_all(info, MMS_VSC_CMD_CM_DELTA); + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + info->cmd_state = 2; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static void run_intensity_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + get_raw_data_all(info, MMS_VSC_CMD_INTENSITY); + info->cmd_state = 2; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static ssize_t store_cmd(struct device *dev, struct device_attribute + *devattr, const char *buf, size_t count) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + struct i2c_client *client = info->client; + + char *cur, *start, *end; + char buff[TSP_CMD_STR_LEN] = {0}; + int len, i; + struct tsp_cmd *tsp_cmd_ptr = NULL; + char delim = ','; + bool cmd_found = false; + int param_cnt = 0; + int ret; + + if (info->cmd_is_running == true) { + dev_err(&info->client->dev, "tsp_cmd: other cmd is running.\n"); + goto err_out; + } + + + /* check lock */ + mutex_lock(&info->cmd_lock); + info->cmd_is_running = true; + mutex_unlock(&info->cmd_lock); + + info->cmd_state = 1; + + for (i = 0; i < ARRAY_SIZE(info->cmd_param); i++) + info->cmd_param[i] = 0; + + len = (int)count; + if (*(buf + len - 1) == '\n') + len--; + memset(info->cmd, 0x00, ARRAY_SIZE(info->cmd)); + memcpy(info->cmd, buf, len); + + cur = strchr(buf, (int)delim); + if (cur) + memcpy(buff, buf, cur - buf); + else + memcpy(buff, buf, len); + + /* find command */ + list_for_each_entry(tsp_cmd_ptr, &info->cmd_list_head, list) { + if (!strcmp(buff, tsp_cmd_ptr->cmd_name)) { + cmd_found = true; + break; + } + } + + /* set not_support_cmd */ + if (!cmd_found) { + list_for_each_entry(tsp_cmd_ptr, &info->cmd_list_head, list) { + if (!strcmp("not_support_cmd", tsp_cmd_ptr->cmd_name)) + break; + } + } + + /* parsing parameters */ + if (cur && cmd_found) { + cur++; + start = cur; + memset(buff, 0x00, ARRAY_SIZE(buff)); + do { + if (*cur == delim || cur - buf == len) { + end = cur; + memcpy(buff, start, end - start); + *(buff + strlen(buff)) = '\0'; + ret = kstrtoint(buff, 10,\ + info->cmd_param + param_cnt); + start = cur + 1; + memset(buff, 0x00, ARRAY_SIZE(buff)); + param_cnt++; + } + cur++; + } while (cur - buf <= len); + } + + dev_info(&client->dev, "cmd = %s\n", tsp_cmd_ptr->cmd_name); + for (i = 0; i < param_cnt; i++) + dev_info(&client->dev, "cmd param %d= %d\n", i, + info->cmd_param[i]); + + tsp_cmd_ptr->cmd_func(info); + + +err_out: + return count; +} + +static ssize_t show_cmd_status(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + char buff[16] = {0}; + + dev_info(&info->client->dev, "tsp cmd: status:%d\n", + info->cmd_state); + + if (info->cmd_state == 0) + snprintf(buff, sizeof(buff), "WAITING"); + + else if (info->cmd_state == 1) + snprintf(buff, sizeof(buff), "RUNNING"); + + else if (info->cmd_state == 2) + snprintf(buff, sizeof(buff), "OK"); + + else if (info->cmd_state == 3) + snprintf(buff, sizeof(buff), "FAIL"); + + else if (info->cmd_state == 4) + snprintf(buff, sizeof(buff), "NOT_APPLICABLE"); + + return snprintf(buf, TSP_BUF_SIZE, "%s\n", buff); +} + +static ssize_t show_cmd_result(struct device *dev, struct device_attribute + *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + + dev_info(&info->client->dev, "tsp cmd: result: %s\n", info->cmd_result); + + mutex_lock(&info->cmd_lock); + info->cmd_is_running = false; + mutex_unlock(&info->cmd_lock); + + info->cmd_state = 0; + + return snprintf(buf, TSP_BUF_SIZE, "%s\n", info->cmd_result); +} + +#ifdef ESD_DEBUG + +static bool intensity_log_flag; + +static ssize_t show_intensity_logging_on(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + struct i2c_client *client = info->client; + struct file *fp; + char log_data[160] = { 0, }; + char buff[16] = { 0, }; + mm_segment_t old_fs; + long nwrite; + u32 val; + int i, y, c; + + old_fs = get_fs(); + set_fs(KERNEL_DS); + +#define MELFAS_DEBUG_LOG_PATH "/sdcard/melfas_log" + + dev_info(&client->dev, "%s: start.\n", __func__); + fp = filp_open(MELFAS_DEBUG_LOG_PATH, O_RDWR | O_CREAT, + S_IRWXU | S_IRWXG | S_IRWXO); + if (IS_ERR(fp)) { + dev_err(&client->dev, "%s: fail to open log file\n", __func__); + goto open_err; + } + + intensity_log_flag = 1; + do { + for (y = 0; y < 3; y++) { + /* for tx chanel 0~2 */ + memset(log_data, 0x00, 160); + + snprintf(buff, 16, "%1u: ", y); + strncat(log_data, buff, strnlen(buff, 16)); + + for (i = 0; i < RX_NUM; i++) { + val = get_raw_data_one(info, i, y, + MMS_VSC_CMD_INTENSITY); + snprintf(buff, 16, "%5u, ", val); + strncat(log_data, buff, strnlen(buff, 16)); + } + memset(buff, '\n', 2); + c = (y == 2) ? 2 : 1; + strncat(log_data, buff, c); + nwrite = vfs_write(fp, (const char __user *)log_data, + strnlen(log_data, 160), &fp->f_pos); + } + usleep_range(5000); + } while (intensity_log_flag); + + filp_close(fp, current->files); + set_fs(old_fs); + + return 0; + +open_err: + set_fs(old_fs); + return FAIL; +} + +static ssize_t show_intensity_logging_off(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + intensity_log_flag = 0; + usleep_range(10000); + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + return 0; +} + +#endif + +static DEVICE_ATTR(close_tsp_test, S_IRUGO, show_close_tsp_test, NULL); +static DEVICE_ATTR(cmd, S_IWUSR | S_IWGRP, NULL, store_cmd); +static DEVICE_ATTR(cmd_status, S_IRUGO, show_cmd_status, NULL); +static DEVICE_ATTR(cmd_result, S_IRUGO, show_cmd_result, NULL); +#ifdef ESD_DEBUG +static DEVICE_ATTR(intensity_logging_on, S_IRUGO, show_intensity_logging_on, + NULL); +static DEVICE_ATTR(intensity_logging_off, S_IRUGO, show_intensity_logging_off, + NULL); +#endif + +static struct attribute *sec_touch_facotry_attributes[] = { + &dev_attr_close_tsp_test.attr, + &dev_attr_cmd.attr, + &dev_attr_cmd_status.attr, + &dev_attr_cmd_result.attr, +#ifdef ESD_DEBUG + &dev_attr_intensity_logging_on.attr, + &dev_attr_intensity_logging_off.attr, +#endif + NULL, +}; + +static struct attribute_group sec_touch_factory_attr_group = { + .attrs = sec_touch_facotry_attributes, +}; +#endif /* SEC_TSP_FACTORY_TEST */ + +static int __devinit mms_ts_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); + struct mms_ts_info *info; + struct input_dev *input_dev; + int ret = 0; + char buf[4] = { 0, }; + +#ifdef SEC_TSP_FACTORY_TEST + int i; + struct device *fac_dev_ts; +#endif + touch_is_pressed = 0; + + if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) + return -EIO; + + info = kzalloc(sizeof(struct mms_ts_info), GFP_KERNEL); + if (!info) { + dev_err(&client->dev, "Failed to allocate memory\n"); + ret = -ENOMEM; + goto err_alloc; + } + + input_dev = input_allocate_device(); + if (!input_dev) { + dev_err(&client->dev, "Failed to allocate memory for input device\n"); + ret = -ENOMEM; + goto err_input_alloc; + } + + info->client = client; + info->input_dev = input_dev; + info->pdata = client->dev.platform_data; + if (NULL == info->pdata) { + pr_err("failed to get platform data\n"); + goto err_input_alloc; + } + info->irq = -1; + mutex_init(&info->lock); + + if (info->pdata) { + info->max_x = info->pdata->max_x; + info->max_y = info->pdata->max_y; + info->invert_x = info->pdata->invert_x; + info->invert_y = info->pdata->invert_y; + info->input_event = info->pdata->input_event; + info->register_cb = info->pdata->register_cb; + } else { + info->max_x = 720; + info->max_y = 1280; + } + + snprintf(info->phys, sizeof(info->phys), + "%s/input0", dev_name(&client->dev)); + input_dev->name = "sec_touchscreen"; /*= "Melfas MMSxxx Touchscreen";*/ + input_dev->phys = info->phys; + input_dev->id.bustype = BUS_I2C; + input_dev->dev.parent = &client->dev; + + __set_bit(EV_ABS, input_dev->evbit); + __set_bit(EV_KEY, input_dev->evbit); + __set_bit(BTN_TOUCH, input_dev->keybit); + __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); + + input_mt_init_slots(input_dev, MAX_FINGERS); + input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, 0, MAX_WIDTH, 0, 0); + input_set_abs_params(input_dev, ABS_MT_POSITION_X, + 0, (info->max_x)-1, 0, 0); + input_set_abs_params(input_dev, ABS_MT_POSITION_Y, + 0, (info->max_y)-1, 0, 0); + input_set_abs_params(input_dev, ABS_X, 0, info->max_x, 0, 0); + input_set_abs_params(input_dev, ABS_Y, 0, info->max_y, 0, 0); + input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, + 0, MAX_PRESSURE, 0, 0); + input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR, + 0, MAX_PRESSURE, 0, 0); + input_set_abs_params(input_dev, ABS_MT_ANGLE, + MIN_ANGLE, MAX_ANGLE, 0, 0); + input_set_abs_params(input_dev, ABS_MT_PALM, + 0, 1, 0, 0); + input_set_drvdata(input_dev, info); + + ret = input_register_device(input_dev); + if (ret) { + dev_err(&client->dev, "failed to register input dev (%d)\n", + ret); + goto err_reg_input_dev; + } + +#if TOUCH_BOOSTER + mutex_init(&info->dvfs_lock); + INIT_DELAYED_WORK(&info->work_dvfs_off, set_dvfs_off); + INIT_DELAYED_WORK(&info->work_dvfs_chg, change_dvfs_lock); + bus_dev = dev_get("exynos-busfreq"); + info->cpufreq_level = -1; + info->dvfs_lock_status = false; +#endif + + i2c_set_clientdata(client, info); + info->pdata->power(true); + msleep(100); + + ret = i2c_master_recv(client, buf, 1); + if (ret < 0) { /* tsp connect check */ + pr_err("%s: i2c fail...tsp driver unload [%d], Add[%d]\n", + __func__, ret, info->client->addr); + goto err_config; + } + + if (system_rev >= TSP_FW_UPDATEABLE_HW_REV) + ret = mms_ts_fw_load(info); + else + ret = mms_ts_fw_info(info); + + if (ret) { + dev_err(&client->dev, "failed to initialize (%d)\n", ret); + goto err_config; + } + mms_ts_set_protocol(info); + info->enabled = true; + info->callbacks.inform_charger = melfas_ta_cb; + if (info->register_cb) + info->register_cb(&info->callbacks); + +#ifdef CONFIG_INPUT_FBSUSPEND + ret = tsp_register_fb(info); + if (ret) + pr_err("[TSP] Failed to register fb\n"); +#endif + + sec_touchscreen = device_create(sec_class, + NULL, 0, info, "sec_touchscreen"); + if (IS_ERR(sec_touchscreen)) { + dev_err(&client->dev, + "Failed to create device for the sysfs1\n"); + ret = -ENODEV; + } + +#ifdef SEC_TSP_FACTORY_TEST + INIT_LIST_HEAD(&info->cmd_list_head); + for (i = 0; i < ARRAY_SIZE(tsp_cmds); i++) + list_add_tail(&tsp_cmds[i].list, &info->cmd_list_head); + + mutex_init(&info->cmd_lock); + info->cmd_is_running = false; + + fac_dev_ts = device_create(sec_class, + NULL, 0, info, "tsp"); + if (IS_ERR(fac_dev_ts)) + dev_err(&client->dev, "Failed to create device for the sysfs\n"); + + ret = sysfs_create_group(&fac_dev_ts->kobj, + &sec_touch_factory_attr_group); + if (ret) + dev_err(&client->dev, "Failed to create sysfs group\n"); +#endif + return 0; + +err_config: + input_unregister_device(input_dev); + input_dev = NULL; +err_reg_input_dev: + input_free_device(input_dev); +err_input_alloc: + kfree(info->fw_name); + kfree(info); +err_alloc: + return ret; + +} + +static int __devexit mms_ts_remove(struct i2c_client *client) +{ + struct mms_ts_info *info = i2c_get_clientdata(client); + + unregister_early_suspend(&info->early_suspend); +#ifdef CONFIG_INPUT_FBSUSPEND + tsp_unregister_fb(info); +#endif + if (info->irq >= 0) + free_irq(info->irq, info); + input_unregister_device(info->input_dev); + kfree(info->fw_name); + kfree(info); + + return 0; +} + +#if defined(CONFIG_PM) || defined(CONFIG_HAS_EARLYSUSPEND) +static int mms_ts_suspend(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mms_ts_info *info = i2c_get_clientdata(client); + + if (!info->enabled) { +#ifdef CONFIG_INPUT_FBSUSPEND + info->was_enabled_at_suspend = false; +#endif + return 0; + } + +#ifdef CONFIG_INPUT_FBSUSPEND + info->was_enabled_at_suspend = true; +#endif + dev_notice(&info->client->dev, "%s: users=%d\n", __func__, + info->input_dev->users); + + disable_irq(info->irq); + info->enabled = false; + touch_is_pressed = 0; + release_all_fingers(info); + info->pdata->power(0); + /* This delay needs to prevent unstable POR by + rapid frequently pressing of PWR key. */ + msleep(50); + return 0; +} + +static int mms_ts_resume(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mms_ts_info *info = i2c_get_clientdata(client); + + if (info->enabled) + return 0; + +#ifdef CONFIG_INPUT_FBSUSPEND + if (!info->was_enabled_at_suspend) + return 0; +#endif + dev_notice(&info->client->dev, "%s: users=%d\n", __func__, + info->input_dev->users); + info->pdata->power(1); + msleep(120); + + if (info->ta_status) { + dev_notice(&client->dev, "TA connect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x1); + } else { + dev_notice(&client->dev, "TA disconnect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x2); + } + + mms_set_noise_mode(info); + + /* Because irq_type by EXT_INTxCON register is changed to low_level + * after wakeup, irq_type set to falling edge interrupt again. + */ + enable_irq(info->irq); + info->enabled = true; + return 0; +} +#endif + + +#if defined(CONFIG_PM) +static const struct dev_pm_ops mms_ts_pm_ops = { + .suspend = mms_ts_suspend, + .resume = mms_ts_resume, +#ifdef CONFIG_HIBERNATION + .freeze = mms_ts_suspend, + .thaw = mms_ts_resume, + .restore = mms_ts_resume, +#endif +}; +#endif + +static const struct i2c_device_id mms_ts_id[] = { + {MELFAS_TS_NAME, 0}, + {} +}; + +MODULE_DEVICE_TABLE(i2c, mms_ts_id); + +static struct i2c_driver mms_ts_driver = { + .probe = mms_ts_probe, + .remove = __devexit_p(mms_ts_remove), + .driver = { + .name = MELFAS_TS_NAME, +#if defined(CONFIG_PM) + .pm = &mms_ts_pm_ops, +#endif + }, + .id_table = mms_ts_id, +}; + +static int __init mms_ts_init(void) +{ + + return i2c_add_driver(&mms_ts_driver); + +} + +static void __exit mms_ts_exit(void) +{ + i2c_del_driver(&mms_ts_driver); +} + +module_init(mms_ts_init); +module_exit(mms_ts_exit); + +/* Module information */ +MODULE_DESCRIPTION("Touchscreen driver for Melfas MMS-series controllers"); +MODULE_LICENSE("GPL"); diff --git a/drivers/input/touchscreen/melfas_ts.c b/drivers/input/touchscreen/melfas_ts.c index 4d09be4..177487b 100644 --- a/drivers/input/touchscreen/melfas_ts.c +++ b/drivers/input/touchscreen/melfas_ts.c @@ -143,7 +143,7 @@ struct melfas_ts_data { struct notifier_block fb_notif; bool was_enabled_at_suspend; #endif -#if defined(CONFIG_MACH_C1CTC) || defined(CONFIG_MACH_M0_CHNOPEN) ||\ +#if defined(CONFIG_MACH_M0_CHNOPEN) || \ defined(CONFIG_MACH_M0_CMCC) || defined(CONFIG_MACH_M0_CTC) int (*lcd_type)(void); #endif @@ -314,8 +314,7 @@ static void firmware_update(struct melfas_ts_data *ts) } pr_info("[TSP] firmware_update"); -#if defined(CONFIG_MACH_C1CTC) || defined(CONFIG_MACH_M0_CHNOPEN) ||\ - defined(CONFIG_MACH_M0_CTC) +#if defined(CONFIG_MACH_M0_CHNOPEN) || defined(CONFIG_MACH_M0_CTC) if (ts->lcd_type() == 0x20) { FW_VERSION = FW_VERSION_4_65; pr_info("[TSP] lcd type is 4.8, FW_VER: 0x%x\n", buf[3]); @@ -343,7 +342,7 @@ static void firmware_update(struct melfas_ts_data *ts) FW_VERSION = FW_VERSION_4_65; #endif -#if defined(CONFIG_MACH_C1CTC) || defined(CONFIG_MACH_M0_CHNOPEN) ||\ +#if defined(CONFIG_MACH_M0_CHNOPEN) || \ defined(CONFIG_MACH_M0_CMCC) || defined(CONFIG_MACH_M0_CTC) if (buf[3] != FW_VERSION || buf[3] == 0xFF) { #else @@ -381,7 +380,7 @@ show_firm_version_phone(struct device *dev, if (!tsp_enabled) return 0; -#if defined(CONFIG_MACH_C1CTC) || defined(CONFIG_MACH_M0_CHNOPEN) ||\ +#if defined(CONFIG_MACH_M0_CHNOPEN) || \ defined(CONFIG_MACH_M0_CMCC) || defined(CONFIG_MACH_M0_CTC) if (ts->lcd_type() == 0x20) FW_VERSION = FW_VERSION_4_65; @@ -1275,11 +1274,11 @@ static void melfas_ts_get_data(struct work_struct *work) (uint16_t) (buf[i + 1] & 0x0F) << 8 | buf[i + 2]; g_Mtouch_info[FingerID].posY = (uint16_t) (buf[i + 1] & 0xF0) << 4 | buf[i + 3]; -#if !defined(CONFIG_MACH_C1) && !defined(CONFIG_MACH_C1VZW) && \ - !defined(CONFIG_MACH_M0) && \ - !defined(CONFIG_MACH_SLP_PQ) && \ - !defined(CONFIG_MACH_SLP_PQ_LTE) && \ - !defined(CONFIG_MACH_M3) +#if !defined(CONFIG_MACH_C1) && \ + !defined(CONFIG_MACH_M3) && \ + !defined(CONFIG_MACH_M0) && \ + !defined(CONFIG_MACH_SLP_PQ) && \ + !defined(CONFIG_MACH_SLP_PQ_LTE) g_Mtouch_info[FingerID].posX = 720 - g_Mtouch_info[FingerID].posX; g_Mtouch_info[FingerID].posY = @@ -1487,7 +1486,7 @@ melfas_ts_probe(struct i2c_client *client, const struct i2c_device_id *id) ts->set_touch_i2c_to_gpio = data->set_touch_i2c_to_gpio; ts->input_event = data->input_event; -#if defined(CONFIG_MACH_C1CTC) || defined(CONFIG_MACH_M0_CHNOPEN) ||\ +#if defined(CONFIG_MACH_M0_CHNOPEN) || \ defined(CONFIG_MACH_M0_CMCC) || defined(CONFIG_MACH_M0_CTC) ts->lcd_type = data->lcd_type; #endif diff --git a/drivers/input/touchscreen/mms100_ISC_download.c b/drivers/input/touchscreen/mms100_ISC_download.c index c423ba3..5c35448 100644 --- a/drivers/input/touchscreen/mms100_ISC_download.c +++ b/drivers/input/touchscreen/mms100_ISC_download.c @@ -48,7 +48,7 @@ UINT8 ucInitial_Download = FALSE; extern void mcsdl_delay(UINT32 nCount); -#if defined(CONFIG_MACH_C1CTC) || defined(CONFIG_MACH_M0_CHNOPEN) ||\ +#if defined(CONFIG_MACH_M0_CHNOPEN) || \ defined(CONFIG_MACH_M0_CMCC) || defined(CONFIG_MACH_M0_CTC) extern unsigned int lcdtype; #endif @@ -241,8 +241,7 @@ int mms100_ISC_download_binary_data(struct melfas_tsi_platform_data *ts_data) if (dl_enable_bit & (1 << i)) { if (i < 2) { /* 0: core, 1: private custom */ -#if defined(CONFIG_MACH_C1CTC) || defined(CONFIG_MACH_M0_CHNOPEN) ||\ - defined(CONFIG_MACH_M0_CTC) +#if defined(CONFIG_MACH_M0_CHNOPEN) || defined(CONFIG_MACH_M0_CTC) if (lcdtype == 0x20) { nRet = mms100_ISC_download((const UINT8*) MELFAS_binary_4_65, diff --git a/drivers/input/touchscreen/mms100_ISP_download.c b/drivers/input/touchscreen/mms100_ISP_download.c index 799ec37..ac9ef8c 100644 --- a/drivers/input/touchscreen/mms100_ISP_download.c +++ b/drivers/input/touchscreen/mms100_ISP_download.c @@ -73,7 +73,7 @@ static void mcsdl_read_32bits(UINT8 * pData); static void mcsdl_write_bits(UINT32 wordData, int nBits); static void mcsdl_scl_toggle_twice(void); -#if defined(CONFIG_MACH_C1CTC) || defined(CONFIG_MACH_M0_CHNOPEN) ||\ +#if defined(CONFIG_MACH_M0_CHNOPEN) || \ defined(CONFIG_MACH_M0_CMCC) || defined(CONFIG_MACH_M0_CTC) extern unsigned int lcdtype; #endif @@ -146,8 +146,7 @@ int mms100_ISP_download_binary_data(int dl_mode, for (retry_cnt = 0; retry_cnt < 5; retry_cnt++) { if (dl_mode == 0x01) { /*MELFAS_ISP_DOWNLOAD */ -#if defined(CONFIG_MACH_C1CTC) || defined(CONFIG_MACH_M0_CHNOPEN) || \ - defined(CONFIG_MACH_M0_CTC) +#if defined(CONFIG_MACH_M0_CHNOPEN) || defined(CONFIG_MACH_M0_CTC) if (lcdtype == 0x20) { nRet = mcsdl_download((const UINT8*)MELFAS_binary_4_65, diff --git a/drivers/input/touchscreen/mms152_ts.c b/drivers/input/touchscreen/mms152_ts.c new file mode 100644 index 0000000..37b772c --- /dev/null +++ b/drivers/input/touchscreen/mms152_ts.c @@ -0,0 +1,4068 @@ +/* + * mms_ts.c - Touchscreen driver for Melfas MMS-series touch controllers + * + * Copyright (C) 2011 Google Inc. + * Author: Dima Zavin <dima@android.com> + * Simon Wilson <simonwilson@google.com> + * + * ISP reflashing code based on original code from Melfas. + * + * 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. + * + */ + +#define DEBUG +/* #define VERBOSE_DEBUG */ +#define SEC_TSP_DEBUG + +/* #define FORCE_FW_FLASH */ +/* #define FORCE_FW_PASS */ +/* #define ESD_DEBUG */ + +#define SEC_TSP_FACTORY_TEST +#define SEC_TSP_FW_UPDATE +#define TSP_BUF_SIZE 1024 +#define FAIL -1 +#include <linux/delay.h> +#include <linux/earlysuspend.h> +#include <linux/firmware.h> +#include <linux/gpio.h> +#include <linux/i2c.h> +#include <linux/init.h> +#include <linux/input.h> +#include <linux/input/mt.h> +#include <linux/interrupt.h> +#include <linux/irq.h> +#include <linux/module.h> +#include <linux/mutex.h> +#include <linux/slab.h> +#include <mach/gpio.h> +#include <linux/uaccess.h> + +#include <mach/cpufreq.h> +#include <mach/dev.h> + +#include <linux/platform_data/mms152_ts.h> + +#include <asm/unaligned.h> + +#ifdef CONFIG_INPUT_FBSUSPEND +#ifdef CONFIG_DRM +#include <drm/drm_backlight.h> +#endif +#include <linux/fb.h> +#endif + +#define MAX_FINGERS 10 +#define MAX_WIDTH 30 +#define MAX_PRESSURE 255 +#define MAX_ANGLE 90 +#define MIN_ANGLE -90 + +/* Registers */ +#define MMS_MODE_CONTROL 0x01 +#define MMS_XYRES_HI 0x02 +#define MMS_XRES_LO 0x03 +#define MMS_YRES_LO 0x04 + +#define MMS_INPUT_EVENT_PKT_SZ 0x0F +#define MMS_INPUT_EVENT0 0x10 +#define EVENT_SZ_PALM 8 +#define EVENT_SZ_OLD 6 + +#define MMS_CORE_VERSION 0xE1 +#define MMS_TSP_REVISION 0xF0 +#define MMS_HW_REVISION 0xF1 +#define MMS_COMPAT_GROUP 0xF2 +#define MMS_FW_VERSION 0xF4 + +enum { + ISP_MODE_FLASH_ERASE = 0x59F3, + ISP_MODE_FLASH_WRITE = 0x62CD, + ISP_MODE_FLASH_READ = 0x6AC9, +}; + +/* each address addresses 4-byte words */ +#define ISP_MAX_FW_SIZE (0x1F00 * 4) +#define ISP_IC_INFO_ADDR 0x1F00 + +#ifdef SEC_TSP_FW_UPDATE + +#define WORD_SIZE 4 + +#define ISC_PKT_SIZE 1029 +#define ISC_PKT_DATA_SIZE 1024 +#define ISC_PKT_HEADER_SIZE 3 +#define ISC_PKT_NUM 31 + +#define ISC_ENTER_ISC_CMD 0x5F +#define ISC_ENTER_ISC_DATA 0x01 +#define ISC_CMD 0xAE +#define ISC_ENTER_UPDATE_DATA 0x55 +#define ISC_ENTER_UPDATE_DATA_LEN 9 +#define ISC_DATA_WRITE_SUB_CMD 0xF1 +#define ISC_EXIT_ISC_SUB_CMD 0x0F +#define ISC_EXIT_ISC_SUB_CMD2 0xF0 +#define ISC_CHECK_STATUS_CMD 0xAF +#define ISC_CONFIRM_CRC 0x03 +#define ISC_DEFAULT_CRC 0xFFFF + +#endif + +#ifdef SEC_TSP_FACTORY_TEST +#define TX_NUM_A 29 +#define TX_NUM_M 30 +#define RX_NUM 17 +#define NODE_NUM 510 /* 30x17 */ + +/* self diagnostic */ +#define ADDR_CH_NUM 0x0B +#define ADDR_UNIV_CMD 0xA0 +#define CMD_ENTER_TEST 0x40 +#define CMD_EXIT_TEST 0x4F +#define CMD_CM_DELTA 0x41 +#define CMD_GET_DELTA 0x42 +#define CMD_CM_ABS 0X43 +#define CMD_GET_ABS 0X44 +#define CMD_CM_JITTER 0X45 +#define CMD_GET_JITTER 0X46 +#define CMD_GET_INTEN 0x70 +#define CMD_RESULT_SZ 0XAE +#define CMD_RESULT 0XAF + +/* VSC(Vender Specific Command) */ +#define MMS_VSC_CMD 0xB0 /* vendor specific command */ +#define MMS_VSC_MODE 0x1A /* mode of vendor */ + +#define MMS_VSC_CMD_ENTER 0X01 +#define MMS_VSC_CMD_CM_DELTA 0X02 +#define MMS_VSC_CMD_CM_ABS 0X03 +#define MMS_VSC_CMD_EXIT 0X05 +#define MMS_VSC_CMD_INTENSITY 0X04 +#define MMS_VSC_CMD_RAW 0X06 +#define MMS_VSC_CMD_REFER 0X07 + +#define TSP_CMD_STR_LEN 32 +#define TSP_CMD_RESULT_STR_LEN 512 +#define TSP_CMD_PARAM_NUM 8 +#endif /* SEC_TSP_FACTORY_TEST */ + +/* Touch booster */ +#if defined(CONFIG_EXYNOS4_CPUFREQ) &&\ + defined(CONFIG_BUSFREQ_OPP) +#define TOUCH_BOOSTER 1 +#define TOUCH_BOOSTER_OFF_TIME 100 +#define TOUCH_BOOSTER_CHG_TIME 200 +#else +#define TOUCH_BOOSTER 0 +#endif + +struct device *sec_touchscreen; +static struct device *bus_dev; + +int touch_is_pressed; + +#define ISC_DL_MODE 1 + +/* 5.55" OCTA LCD */ +#define FW_VERSION_L 0x18 +#define FW_VERSION_M 0x17 +#define MAX_FW_PATH 255 +#define TSP_FW_FILENAME "melfas_fw.bin" + +#if ISC_DL_MODE /* ISC_DL_MODE start */ + +/* + * Default configuration of ISC mode + */ +#define DEFAULT_SLAVE_ADDR 0x48 + +#define SECTION_NUM 4 +#define SECTION_NAME_LEN 5 + +#define PAGE_HEADER 3 +#define PAGE_DATA 1024 +#define PAGE_TAIL 2 +#define PACKET_SIZE (PAGE_HEADER + PAGE_DATA + PAGE_TAIL) +#define TS_WRITE_REGS_LEN 1030 + +#define TIMEOUT_CNT 10 +#define STRING_BUF_LEN 100 + + +/* State Registers */ +#define MIP_ADDR_INPUT_INFORMATION 0x01 + +#define ISC_ADDR_VERSION 0xE1 +#define ISC_ADDR_SECTION_PAGE_INFO 0xE5 + +/* Config Update Commands */ +#define ISC_CMD_ENTER_ISC 0x5F +#define ISC_CMD_ENTER_ISC_PARA1 0x01 +#define ISC_CMD_UPDATE_MODE 0xAE +#define ISC_SUBCMD_ENTER_UPDATE 0x55 +#define ISC_SUBCMD_DATA_WRITE 0XF1 +#define ISC_SUBCMD_LEAVE_UPDATE_PARA1 0x0F +#define ISC_SUBCMD_LEAVE_UPDATE_PARA2 0xF0 +#define ISC_CMD_CONFIRM_STATUS 0xAF + +#define ISC_STATUS_UPDATE_MODE 0x01 +#define ISC_STATUS_CRC_CHECK_SUCCESS 0x03 + +#define ISC_CHAR_2_BCD(num) (((num/10)<<4) + (num%10)) +#define ISC_MAX(x, y) (((x) > (y)) ? (x) : (y)) + +static const char section_name[SECTION_NUM][SECTION_NAME_LEN] = { + "BOOT", "CORE", "PRIV", "PUBL" +}; + +static const unsigned char crc0_buf[31] = { + 0x1D, 0x2C, 0x05, 0x34, 0x95, 0xA4, 0x8D, 0xBC, + 0x59, 0x68, 0x41, 0x70, 0xD1, 0xE0, 0xC9, 0xF8, + 0x3F, 0x0E, 0x27, 0x16, 0xB7, 0x86, 0xAF, 0x9E, + 0x7B, 0x4A, 0x63, 0x52, 0xF3, 0xC2, 0xEB +}; + +static const unsigned char crc1_buf[31] = { + 0x1E, 0x9C, 0xDF, 0x5D, 0x76, 0xF4, 0xB7, 0x35, + 0x2A, 0xA8, 0xEB, 0x69, 0x42, 0xC0, 0x83, 0x01, + 0x04, 0x86, 0xC5, 0x47, 0x6C, 0xEE, 0xAD, 0x2F, + 0x30, 0xB2, 0xF1, 0x73, 0x58, 0xDA, 0x99 +}; + +enum { + ISC_NONE = -1, + ISC_SUCCESS = 0, + ISC_FILE_OPEN_ERROR, + ISC_FILE_CLOSE_ERROR, + ISC_FILE_FORMAT_ERROR, + ISC_WRITE_BUFFER_ERROR, + ISC_I2C_ERROR, + ISC_UPDATE_MODE_ENTER_ERROR, + ISC_CRC_ERROR, + ISC_VALIDATION_ERROR, + ISC_COMPATIVILITY_ERROR, + ISC_UPDATE_SECTION_ERROR, + ISC_SLAVE_ERASE_ERROR, + ISC_SLAVE_DOWNLOAD_ERROR, + ISC_DOWNLOAD_WHEN_SLAVE_IS_UPDATED_ERROR, + ISC_INITIAL_PACKET_ERROR, + ISC_NO_NEED_UPDATE_ERROR, + ISC_LIMIT +}; + +enum { + EC_NONE = -1, + EC_DEPRECATED = 0, + EC_BOOTLOADER_RUNNING = 1, + EC_BOOT_ON_SUCCEEDED = 2, + EC_ERASE_END_MARKER_ON_SLAVE_FINISHED = 3, + EC_SLAVE_DOWNLOAD_STARTS = 4, + EC_SLAVE_DOWNLOAD_FINISHED = 5, + EC_2CHIP_HANDSHAKE_FAILED = 0x0E, + EC_ESD_PATTERN_CHECKED = 0x0F, + EC_LIMIT +}; + +enum { + SEC_NONE = -1, + SEC_BOOTLOADER = 0, + SEC_CORE, + SEC_PRIVATE_CONFIG, + SEC_PUBLIC_CONFIG, + SEC_LIMIT +}; + +struct tISCFWInfo_t { + unsigned char version; + unsigned char compatible_version; + unsigned char start_addr; + unsigned char end_addr; +}; + +static struct tISCFWInfo_t mbin_info[SECTION_NUM]; +static struct tISCFWInfo_t ts_info[SECTION_NUM]; +static bool section_update_flag[SECTION_NUM]; + +const struct firmware *fw_mbin[SECTION_NUM]; + +static unsigned char g_wr_buf[1024 + 3 + 2]; +#endif + +enum fw_flash_mode { + ISP_FLASH, + ISC_FLASH, +}; + +enum { + BUILT_IN = 0, + UMS, + REQ_FW, +}; + +struct tsp_callbacks { + void (*inform_charger)(struct tsp_callbacks *tsp_cb, bool mode); +}; + +struct mms_ts_info { + struct i2c_client *client; + struct input_dev *input_dev; + char phys[32]; + int max_x; + int max_y; + bool invert_x; + bool invert_y; + u8 palm_flag; + const u8 *config_fw_version; + int irq; + int (*power) (bool on); + void (*input_event)(void *data); + int tx_num; + + struct melfas_tsi_platform_data *pdata; + struct early_suspend early_suspend; +#if TOUCH_BOOSTER + struct delayed_work work_dvfs_off; + struct delayed_work work_dvfs_chg; + bool dvfs_lock_status; + int cpufreq_level; + struct mutex dvfs_lock; +#endif + + /* protects the enabled flag */ + struct mutex lock; + bool enabled; + + enum fw_flash_mode fw_flash_mode; + void (*register_cb)(void *); + struct tsp_callbacks callbacks; + bool ta_status; + bool noise_mode; + +#if defined(SEC_TSP_DEBUG) + unsigned char finger_state[MAX_FINGERS]; +#endif + +#if defined(SEC_TSP_FW_UPDATE) + u8 fw_update_state; +#endif + u8 fw_ic_ver; + char panel; + char ldi; /* LSI : L, Magna : M */ + u8 fw_core_ver; +#if defined(SEC_TSP_FACTORY_TEST) + struct list_head cmd_list_head; + u8 cmd_state; + char cmd[TSP_CMD_STR_LEN]; + int cmd_param[TSP_CMD_PARAM_NUM]; + char cmd_result[TSP_CMD_RESULT_STR_LEN]; + struct mutex cmd_lock; + bool cmd_is_running; + + unsigned int reference[NODE_NUM]; + unsigned int raw[NODE_NUM]; /* CM_ABS */ + unsigned int inspection[NODE_NUM];/* CM_DELTA */ + unsigned int intensity[NODE_NUM]; + bool ft_flag; +#endif /* SEC_TSP_FACTORY_TEST */ + + int (*lcd_type) (void); + +#ifdef CONFIG_INPUT_FBSUSPEND + struct notifier_block fb_notif; + bool was_enabled_at_suspend; +#endif +}; + +struct mms_fw_image { + __le32 hdr_len; + __le32 data_len; + __le32 fw_ver; + __le32 hdr_ver; + u8 data[0]; +} __packed; + +#ifdef CONFIG_HAS_EARLYSUSPEND +static void mms_ts_early_suspend(struct early_suspend *h); +static void mms_ts_late_resume(struct early_suspend *h); +#endif + +#if defined(SEC_TSP_FACTORY_TEST) +#define TSP_CMD(name, func) .cmd_name = name, .cmd_func = func + +struct tsp_cmd { + struct list_head list; + const char *cmd_name; + void (*cmd_func)(void *device_data); +}; + +static void fw_update(void *device_data); +static void get_fw_ver_bin(void *device_data); +static void get_fw_ver_ic(void *device_data); +static void get_config_ver(void *device_data); +static void get_threshold(void *device_data); +static void module_off_master(void *device_data); +static void module_on_master(void *device_data); +/*static void module_off_slave(void *device_data); +static void module_on_slave(void *device_data);*/ +static void get_chip_vendor(void *device_data); +static void get_chip_name(void *device_data); +static void get_reference(void *device_data); +static void get_cm_abs(void *device_data); +static void get_cm_delta(void *device_data); +static void get_intensity(void *device_data); +static void get_x_num(void *device_data); +static void get_y_num(void *device_data); +static void run_reference_read(void *device_data); +static void run_cm_abs_read(void *device_data); +static void run_cm_delta_read(void *device_data); +static void run_intensity_read(void *device_data); +static void not_support_cmd(void *device_data); + +struct tsp_cmd tsp_cmds[] = { + {TSP_CMD("fw_update", fw_update),}, + {TSP_CMD("get_fw_ver_bin", get_fw_ver_bin),}, + {TSP_CMD("get_fw_ver_ic", get_fw_ver_ic),}, + {TSP_CMD("get_config_ver", get_config_ver),}, + {TSP_CMD("get_threshold", get_threshold),}, + {TSP_CMD("module_off_master", module_off_master),}, + {TSP_CMD("module_on_master", module_on_master),}, + {TSP_CMD("module_off_slave", not_support_cmd),}, + {TSP_CMD("module_on_slave", not_support_cmd),}, + {TSP_CMD("get_chip_vendor", get_chip_vendor),}, + {TSP_CMD("get_chip_name", get_chip_name),}, + {TSP_CMD("get_x_num", get_x_num),}, + {TSP_CMD("get_y_num", get_y_num),}, + {TSP_CMD("get_reference", get_reference),}, + {TSP_CMD("get_cm_abs", get_cm_abs),}, + {TSP_CMD("get_cm_delta", get_cm_delta),}, + {TSP_CMD("get_intensity", get_intensity),}, + {TSP_CMD("run_reference_read", run_reference_read),}, + {TSP_CMD("run_cm_abs_read", run_cm_abs_read),}, + {TSP_CMD("run_cm_delta_read", run_cm_delta_read),}, + {TSP_CMD("run_intensity_read", run_intensity_read),}, + {TSP_CMD("not_support_cmd", not_support_cmd),}, +}; +#endif + +#if TOUCH_BOOSTER +static void change_dvfs_lock(struct work_struct *work) +{ + struct mms_ts_info *info = container_of(work, + struct mms_ts_info, work_dvfs_chg.work); + int ret; + + mutex_lock(&info->dvfs_lock); + + ret = dev_lock(bus_dev, sec_touchscreen, 267160); /* 266 Mhz setting */ + + if (ret < 0) + pr_err("%s: dev change bud lock failed(%d)\n",\ + __func__, __LINE__); + else + pr_info("[TSP] change_dvfs_lock"); + mutex_unlock(&info->dvfs_lock); +} +static void set_dvfs_off(struct work_struct *work) +{ + + struct mms_ts_info *info = container_of(work, + struct mms_ts_info, work_dvfs_off.work); + int ret; + + mutex_lock(&info->dvfs_lock); + + ret = dev_unlock(bus_dev, sec_touchscreen); + if (ret < 0) + pr_err("%s: dev unlock failed(%d)\n", + __func__, __LINE__); + + exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); + info->dvfs_lock_status = false; + pr_info("[TSP] DVFS Off!"); + mutex_unlock(&info->dvfs_lock); + } + +static void set_dvfs_lock(struct mms_ts_info *info, uint32_t on) +{ + int ret; + + mutex_lock(&info->dvfs_lock); + if (info->cpufreq_level <= 0) { + ret = exynos_cpufreq_get_level(800000, &info->cpufreq_level); + if (ret < 0) + pr_err("[TSP] exynos_cpufreq_get_level error"); + goto out; + } + if (on == 0) { + if (info->dvfs_lock_status) { + cancel_delayed_work(&info->work_dvfs_chg); + schedule_delayed_work(&info->work_dvfs_off, + msecs_to_jiffies(TOUCH_BOOSTER_OFF_TIME)); + } + + } else if (on == 1) { + cancel_delayed_work(&info->work_dvfs_off); + if (!info->dvfs_lock_status) { + ret = dev_lock(bus_dev, sec_touchscreen, 400200); + if (ret < 0) { + pr_err("%s: dev lock failed(%d)\n",\ + __func__, __LINE__); + } + + ret = exynos_cpufreq_lock(DVFS_LOCK_ID_TSP, + info->cpufreq_level); + if (ret < 0) + pr_err("%s: cpu lock failed(%d)\n",\ + __func__, __LINE__); + + schedule_delayed_work(&info->work_dvfs_chg, + msecs_to_jiffies(TOUCH_BOOSTER_CHG_TIME)); + + info->dvfs_lock_status = true; + pr_info("[TSP] DVFS On![%d]", info->cpufreq_level); + } + } else if (on == 2) { + cancel_delayed_work(&info->work_dvfs_off); + cancel_delayed_work(&info->work_dvfs_chg); + schedule_work(&info->work_dvfs_off.work); + } +out: + mutex_unlock(&info->dvfs_lock); +} + +#endif + +#ifdef CONFIG_INPUT_FBSUSPEND +#ifdef CONFIG_DRM +static void melfas_set_power(void *priv, int power) +{ + struct mms_ts_info *info = (struct mms_ts_info *)priv; + int i; + + switch (power) { + case FB_BLANK_UNBLANK: + if (info->enabled == 0) { + info->pdata->power(true); + msleep(200); + enable_irq(info->client->irq); + info->enabled = 1; + } else { + pr_err("[TSP] touchscreen already on\n"); + } + break; + case FB_BLANK_POWERDOWN: + for (i = 0; i < MAX_FINGERS; i++) { + input_mt_slot(info->input_dev, i); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, false); + input_sync(info->input_dev); + } + if (info->enabled == 1) { + disable_irq(info->client->irq); + info->pdata->power(false); + info->enabled = 0; + } else { + pr_err("[TSP] touchscreen already off\n"); + } + break; + default: + break; + } +} + +static struct drm_bl_notifier bl_notifier = { + .set_power = melfas_set_power +}; + +static int tsp_register_fb(struct mms_ts_info *info) +{ + bl_notifier.dev = info->input_dev->dev; + bl_notifier.priv = (void *)info; + + return drm_bl_register(&bl_notifier.dev, BL_TSP_CLASS); +} + +static void tsp_unregister_fb(struct mms_ts_info *info) +{ + drm_bl_unregister(&bl_notifier.dev); +} +#else +static int +melfas_fb_notifier_callback(struct notifier_block *self, + unsigned long event, void *fb_evdata) +{ + struct mms_ts_info *info; + struct fb_event *evdata = fb_evdata; + int blank; + int i; + + /* If we aren't interested in this event, skip it immediately ... */ + if (event != FB_EVENT_BLANK) + return 0; + + info = container_of(self, struct mms_ts_info, fb_notif); + blank = *(int *)evdata->data; + + switch (blank) { + case FB_BLANK_UNBLANK: + if (info->enabled == 0) { + info->pdata->power(true); + msleep(200); + enable_irq(info->client->irq); + info->enabled = 1; + } else { + pr_err("[TSP] touchscreen already on\n"); + } + break; + case FB_BLANK_POWERDOWN: + for (i = 0; i < MAX_FINGERS; i++) { + input_mt_slot(info->input_dev, i); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, false); + input_sync(info->input_dev); + } + if (info->enabled == 1) { + disable_irq(info->client->irq); + info->pdata->power(false); + info->enabled = 0; + } else { + pr_err("[TSP] touchscreen already off\n"); + } + break; + default: + break; + } + return 0; +} + +static int tsp_register_fb(struct mms_ts_info *info) +{ + memset(&info->fb_notif, 0, sizeof(info->fb_notif)); + info->fb_notif.notifier_call = melfas_fb_notifier_callback; + return fb_register_client(&info->fb_notif); +} +static void tsp_unregister_fb(struct mms_ts_info *info) +{ + fb_unregister_client(&info->fb_notif); +} +#endif +#endif + +static inline void mms_pwr_on_reset(struct mms_ts_info *info) +{ + struct i2c_adapter *adapter = to_i2c_adapter(info->client->dev.parent); + + if (!info->pdata->mux_fw_flash) { + dev_info(&info->client->dev, + "missing platform data, can't do power-on-reset\n"); + return; + } + + i2c_lock_adapter(adapter); + info->pdata->mux_fw_flash(true); + + info->pdata->power(0); + gpio_direction_output(info->pdata->gpio_sda, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_int, 0); + msleep(50); + info->pdata->power(1); + msleep(200); + + info->pdata->mux_fw_flash(false); + i2c_unlock_adapter(adapter); + + /* TODO: Seems long enough for the firmware to boot. + * Find the right value */ + msleep(250); +} +static void release_all_fingers(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + int i; + + dev_dbg(&client->dev, "[TSP] %s\n", __func__); + + for (i = 0; i < MAX_FINGERS; i++) { +#ifdef SEC_TSP_DEBUG + if (info->finger_state[i] == 1) + dev_notice(&client->dev, "finger %d up(force)\n", i); +#endif + info->finger_state[i] = 0; + input_mt_slot(info->input_dev, i); + input_mt_report_slot_state(info->input_dev, MT_TOOL_FINGER, + false); + } + input_sync(info->input_dev); +#if TOUCH_BOOSTER + set_dvfs_lock(info, 2); + pr_info("[TSP] dvfs_lock free.\n "); +#endif +} + +static void mms_set_noise_mode(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + + if (!(info->noise_mode && info->enabled)) + return; + dev_notice(&client->dev, "%s\n", __func__); + + if (info->ta_status) { + dev_notice(&client->dev, "noise_mode & TA connect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x30, 0x1); + } else { + dev_notice(&client->dev, "noise_mode & TA disconnect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x30, 0x2); + } +} + +static void reset_mms_ts(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + + if (info->enabled == false) + return; + + dev_notice(&client->dev, "%s++\n", __func__); + disable_irq_nosync(info->irq); + info->enabled = false; + touch_is_pressed = 0; + + release_all_fingers(info); + + mms_pwr_on_reset(info); + enable_irq(info->irq); + info->enabled = true; + + if (info->ta_status) { + dev_notice(&client->dev, "TA connect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x1); + } else { + dev_notice(&client->dev, "TA disconnect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x2); + } + mms_set_noise_mode(info); + + dev_notice(&client->dev, "%s--\n", __func__); +} + +static void melfas_ta_cb(struct tsp_callbacks *cb, bool ta_status) +{ + struct mms_ts_info *info = + container_of(cb, struct mms_ts_info, callbacks); + struct i2c_client *client = info->client; + + dev_notice(&client->dev, "%s\n", __func__); + + info->ta_status = ta_status; + + if (info->enabled) { + if (info->ta_status) { + dev_notice(&client->dev, "TA connect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x1); + } else { + dev_notice(&client->dev, "TA disconnect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x2); + } + mms_set_noise_mode(info); + } + +/* if (!ta_status) + mms_set_noise_mode(info); +*/ +} + +static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) +{ + struct mms_ts_info *info = dev_id; + struct i2c_client *client = info->client; + int ret; + int i; + int sz; + u8 buf[MAX_FINGERS * EVENT_SZ_PALM] = { 0 }; + int event_sz; + u8 reg = MMS_INPUT_EVENT0; + struct i2c_msg msg[] = { + { + .addr = client->addr, + .flags = 0, + .buf = ®, + .len = 1, + }, { + .addr = client->addr, + .flags = I2C_M_RD, + .buf = buf, + }, + }; + if (info->panel == 'M') + event_sz = EVENT_SZ_PALM; + else + event_sz = EVENT_SZ_OLD; + + sz = i2c_smbus_read_byte_data(client, MMS_INPUT_EVENT_PKT_SZ); + if (sz < 0) { + dev_err(&client->dev, "%s bytes=%d\n", __func__, sz); + for (i = 0; i < 50; i++) { + sz = i2c_smbus_read_byte_data(client, + MMS_INPUT_EVENT_PKT_SZ); + if (sz > 0) + break; + } + + if (i == 50) { + dev_dbg(&client->dev, "i2c failed... reset!!\n"); + reset_mms_ts(info); + goto out; + } + } + + if (sz == 0) + goto out; + + if (sz > MAX_FINGERS * event_sz) { + dev_err(&client->dev, "[TSP] abnormal data inputed.\n"); + goto out; + } + + msg[1].len = sz; + ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg)); + if (ret != ARRAY_SIZE(msg)) { + dev_err(&client->dev, + "failed to read %d bytes of touch data (%d)\n", + sz, ret); + if (ret < 0) { + dev_err(&client->dev, + "%s bytes=%d\n", __func__, sz); + for (i = 0; i < 5; i++) { + msleep(20); + ret = i2c_transfer(client->adapter, + msg, ARRAY_SIZE(msg)); + if (ret > 0) + break; + } + if (i == 5) { + dev_dbg(&client->dev, + "[TSP] i2c failed E2... reset!!\n"); + reset_mms_ts(info); + goto out; + } + } + } +#if defined(VERBOSE_DEBUG) + print_hex_dump(KERN_DEBUG, "mms_ts raw: ", + DUMP_PREFIX_OFFSET, 32, 1, buf, sz, false); + +#endif + if (buf[0] == 0x0F) { /* ESD */ + dev_dbg(&client->dev, "ESD DETECT.... reset!!\n"); + reset_mms_ts(info); + goto out; + } + + if (buf[0] == 0x0E) { /* NOISE MODE */ + dev_dbg(&client->dev, "[TSP] noise mode enter!!\n"); + info->noise_mode = 1 ; + mms_set_noise_mode(info); + goto out; + } + + touch_is_pressed = 0; + for (i = 0; i < sz; i += event_sz) { + u8 *tmp = &buf[i]; + int id = (tmp[0] & 0xf) - 1; + int x = tmp[2] | ((tmp[1] & 0xf) << 8); + int y = tmp[3] | ((tmp[1] >> 4) << 8); + int angle = 0; + int palm = 0; + if (info->panel == 'M') { + angle = + (tmp[5] >= 127) ? (-(256 - tmp[5])) : tmp[5]; + palm = (tmp[0] & 0x10) >> 4; + } + if (info->invert_x) { + x = info->max_x - x; + if (x < 0) + x = 0; + } + if (info->invert_y) { + y = info->max_y - y; + if (y < 0) + y = 0; + } + if (palm) { + if (info->palm_flag == 3) { + info->palm_flag = 1; + } else { + info->palm_flag = 3; + palm = 3; + } + } else { + if (info->palm_flag == 2) { + info->palm_flag = 0; + } else { + info->palm_flag = 2; + palm = 2; + } + } + if (id >= MAX_FINGERS) { + dev_notice(&client->dev, + "finger id error [%d]\n", id); + reset_mms_ts(info); + goto out; + } + + if ((tmp[0] & 0x80) == 0) { + input_mt_slot(info->input_dev, id); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, false); + if (info->panel == 'M') { + if (info->finger_state[id] != 0) { + info->finger_state[id] = 0; + dev_notice(&client->dev, + "R(%c) [%2d],([%4d],[%3d])", + info->ldi, id, x, y); + } + } else { + if (info->finger_state[id] != 0) { + info->finger_state[id] = 0; + dev_notice(&client->dev, + "R [%2d],([%4d],[%3d]),S:%d W:%d", + id, x, y, tmp[4], tmp[5]); + } + } + continue; + } + if (info->panel == 'M') { + input_mt_slot(info->input_dev, id); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, true); + input_report_abs(info->input_dev, + ABS_MT_POSITION_X, x); + input_report_abs(info->input_dev, + ABS_MT_POSITION_Y, y); + input_report_abs(info->input_dev, + ABS_MT_WIDTH_MAJOR, tmp[4]); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MAJOR, tmp[6]); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MINOR, tmp[7]); + input_report_abs(info->input_dev, + ABS_MT_ANGLE, angle); + input_report_abs(info->input_dev, + ABS_MT_PALM, palm); + + if (info->finger_state[id] == 0) { + info->finger_state[id] = 1; + dev_notice(&client->dev, + "P(%c) [%2d],([%4d],[%3d]) w=%d, major=%d, minor=%d, angle=%d, palm=%d", + info->ldi, id, x, y, tmp[4], tmp[6], + tmp[7], angle, palm); + } + } else { + input_mt_slot(info->input_dev, id); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, true); + input_report_abs(info->input_dev, + ABS_MT_POSITION_X, x); + input_report_abs(info->input_dev, + ABS_MT_POSITION_Y, y); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MAJOR, tmp[4]); + input_report_abs(info->input_dev, + ABS_MT_PRESSURE, tmp[5]); + + if (info->finger_state[id] == 0) { + info->finger_state[id] = 1; + dev_notice(&client->dev, + "P [%2d],([%4d],[%3d]),S:%d W:%d", + id, x, y, tmp[4], tmp[5]); + } + } + touch_is_pressed++; + } + input_sync(info->input_dev); + +#if TOUCH_BOOSTER + set_dvfs_lock(info, !!touch_is_pressed); +#endif + +out: + return IRQ_HANDLED; +} + +int get_tsp_status(void) +{ + return touch_is_pressed; +} +EXPORT_SYMBOL(get_tsp_status); + + +#if ISC_DL_MODE +static int mms100_i2c_read(struct i2c_client *client, + u16 addr, u16 length, u8 *value) +{ + struct i2c_adapter *adapter = client->adapter; + struct i2c_msg msg; + int ret = -1; + + msg.addr = client->addr; + msg.flags = 0x00; + msg.len = 1; + msg.buf = (u8 *) &addr; + + ret = i2c_transfer(adapter, &msg, 1); + + if (ret >= 0) { + msg.addr = client->addr; + msg.flags = I2C_M_RD; + msg.len = length; + msg.buf = (u8 *) value; + + ret = i2c_transfer(adapter, &msg, 1); + } + + if (ret < 0) + pr_err("[TSP] : read error : [%d]", ret); + + return ret; +} + + +static int mms100_reset(struct mms_ts_info *info) +{ + info->pdata->power(false); + msleep(30); + info->pdata->power(true); + msleep(300); + + return ISC_SUCCESS; +} +/* +static int mms100_check_operating_mode(struct i2c_client *_client, + const int _error_code) +{ + int ret; + unsigned char rd_buf = 0x00; + unsigned char count = 0; + + if(_client == NULL) + pr_err("[TSP ISC] _client is null"); + + ret = mms100_i2c_read(_client, ISC_ADDR_VERSION, 1, &rd_buf); + + if (ret<0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return _error_code; + } + + return ISC_SUCCESS; +} +*/ +static int mms100_get_version_info(struct i2c_client *_client) +{ + int i, ret; + unsigned char rd_buf[8]; + + /* config version brust read (core, private, public) */ + ret = mms100_i2c_read(_client, ISC_ADDR_VERSION, 4, rd_buf); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + for (i = 0; i < SECTION_NUM; i++) + ts_info[i].version = rd_buf[i]; + + ts_info[SEC_CORE].compatible_version = + ts_info[SEC_BOOTLOADER].version; + ts_info[SEC_PRIVATE_CONFIG].compatible_version = + ts_info[SEC_PUBLIC_CONFIG].compatible_version = + ts_info[SEC_CORE].version; + + ret = mms100_i2c_read(_client, ISC_ADDR_SECTION_PAGE_INFO, 8, rd_buf); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + for (i = 0; i < SECTION_NUM; i++) { + ts_info[i].start_addr = rd_buf[i]; + ts_info[i].end_addr = rd_buf[i + SECTION_NUM]; + } + + for (i = 0; i < SECTION_NUM; i++) { + pr_info("TS : Section(%d) version: 0x%02X\n", + i, ts_info[i].version); + pr_info("TS : Section(%d) Start Address: 0x%02X\n", + i, ts_info[i].start_addr); + pr_info("TS : Section(%d) End Address: 0x%02X\n", + i, ts_info[i].end_addr); + pr_info("TS : Section(%d) Compatibility: 0x%02X\n", + i, ts_info[i].compatible_version); + } + + return ISC_SUCCESS; +} + +static int mms100_seek_section_info(void) +{ + int i; + char str_buf[STRING_BUF_LEN]; + char name_buf[SECTION_NAME_LEN]; + int version; + int page_num; + + const unsigned char *buf; + int next_ptr; + + for (i = 0; i < SECTION_NUM; i++) { + if (fw_mbin[i] == NULL) { + buf = NULL; + pr_info("[TSP ISC] fw_mbin[%d]->data is NULL", i); + } else { + buf = fw_mbin[i]->data; + } + + if (buf == NULL) { + mbin_info[i].version = ts_info[i].version; + mbin_info[i].compatible_version = + ts_info[i].compatible_version; + mbin_info[i].start_addr = ts_info[i].start_addr; + mbin_info[i].end_addr = ts_info[i].end_addr; + } else { + next_ptr = 0; + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "SECTION_NAME")); + + sscanf(buf + next_ptr, "%s%s", str_buf, name_buf); + + if (strncmp(section_name[i], name_buf, + SECTION_NAME_LEN)) + return ISC_FILE_FORMAT_ERROR; + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "SECTION_VERSION")); + + sscanf(buf + next_ptr, "%s%d", str_buf, &version); + mbin_info[i].version = ISC_CHAR_2_BCD(version); + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "START_PAGE_ADDR")); + + sscanf(buf + next_ptr, "%s%d", str_buf, &page_num); + mbin_info[i].start_addr = page_num; + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "END_PAGE_ADDR")); + + sscanf(buf + next_ptr, "%s%d", str_buf, &page_num); + mbin_info[i].end_addr = page_num; + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "COMPATIBLE_VERSION")); + + sscanf(buf + next_ptr, "%s%d", str_buf, &version); + mbin_info[i].compatible_version = + ISC_CHAR_2_BCD(version); + + do { + sscanf(buf + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "[Binary]")); + + if (mbin_info[i].version == 0xFF) + return ISC_FILE_FORMAT_ERROR; + } + } + + for (i = 0; i < SECTION_NUM; i++) { + pr_info("[TSP ISC] MBin : Section(%d) Version: 0x%02X\n", + i, mbin_info[i].version); + pr_info("[TSP ISC] MBin : Section(%d) Start Address: 0x%02X\n", + i, mbin_info[i].start_addr); + pr_info("[TSP ISC] MBin : Section(%d) End Address: 0x%02X\n", + i, mbin_info[i].end_addr); + pr_info("[TSP ISC] MBin : Section(%d) Compatibility: 0x%02X\n", + i, mbin_info[i].compatible_version); + } + + return ISC_SUCCESS; +} + +static int mms100_compare_version_info(struct i2c_client *_client) +{ + int i, ret; + unsigned char expected_compatibility[SECTION_NUM]; + + if (mms100_get_version_info(_client) != ISC_SUCCESS) + return ISC_I2C_ERROR; + + ret = mms100_seek_section_info(); + + /* Check update areas , 0 : bootloader 1: core 2: private 3: public */ + for (i = 0; i < SECTION_NUM; i++) { + if ((mbin_info[i].version == 0) || + (mbin_info[i].version != ts_info[i].version)) { + section_update_flag[i] = true; + pr_info("[TSP ISC] [%d] section will be updated!", i); + } + } + section_update_flag[0] = false; + pr_info("[TSP ISC] [%d] [%d] [%d]", section_update_flag[1], + section_update_flag[2], section_update_flag[3]); + + if (section_update_flag[SEC_BOOTLOADER]) { + expected_compatibility[SEC_CORE] = + mbin_info[SEC_BOOTLOADER].version; + } else { + expected_compatibility[SEC_CORE] = + ts_info[SEC_BOOTLOADER].version; + } + + if (section_update_flag[SEC_CORE]) { + expected_compatibility[SEC_PUBLIC_CONFIG] = + expected_compatibility[SEC_PRIVATE_CONFIG] = + mbin_info[SEC_CORE].version; + } else { + expected_compatibility[SEC_PUBLIC_CONFIG] = + expected_compatibility[SEC_PRIVATE_CONFIG] = + ts_info[SEC_CORE].version; + } + + for (i = SEC_CORE; i < SEC_PUBLIC_CONFIG; i++) { + if (section_update_flag[i]) { + pr_info("[TSP ISC] section_update_flag(%d), 0x%02x, 0x%02x\n", + i, expected_compatibility[i], + mbin_info[i].compatible_version); + + if (expected_compatibility[i] != + mbin_info[i].compatible_version) + return ISC_COMPATIVILITY_ERROR; + } else { + pr_info("[TSP ISC] !section_update_flag(%d), 0x%02x, 0x%02x\n", + i, expected_compatibility[i], + ts_info[i].compatible_version); + if (expected_compatibility[i] != + ts_info[i].compatible_version) + return ISC_COMPATIVILITY_ERROR; + } + } + return ISC_SUCCESS; +} + +static int mms100_enter_ISC_mode(struct i2c_client *_client) +{ + int ret; + unsigned char wr_buf[2]; + + pr_info("[TSP ISC] %s\n", __func__); + + wr_buf[0] = ISC_CMD_ENTER_ISC; + wr_buf[1] = ISC_CMD_ENTER_ISC_PARA1; + + ret = i2c_master_send(_client, wr_buf, 2); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + msleep(50); + + return ISC_SUCCESS; +} + +static int mms100_enter_config_update(struct i2c_client *_client) +{ + int ret; + unsigned char wr_buf[10] = {0,}; + unsigned char rd_buf; + + wr_buf[0] = ISC_CMD_UPDATE_MODE; + wr_buf[1] = ISC_SUBCMD_ENTER_UPDATE; + + ret = i2c_master_send(_client, wr_buf, 10); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + ret = mms100_i2c_read(_client, ISC_CMD_CONFIRM_STATUS, 1, &rd_buf); + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + if (rd_buf != ISC_STATUS_UPDATE_MODE) + return ISC_UPDATE_MODE_ENTER_ERROR; + + pr_info("[TSP ISC]End mms100_enter_config_update()\n"); + + return ISC_SUCCESS; +} + +static int mms100_ISC_clear_page(struct i2c_client *_client, + unsigned char _page_addr) +{ + int ret; + unsigned char rd_buf; + + memset(&g_wr_buf[3], 0xFF, PAGE_DATA); + + g_wr_buf[0] = ISC_CMD_UPDATE_MODE; /* command */ + g_wr_buf[1] = ISC_SUBCMD_DATA_WRITE; /* sub_command */ + g_wr_buf[2] = _page_addr; + + g_wr_buf[PAGE_HEADER + PAGE_DATA] = crc0_buf[_page_addr]; + g_wr_buf[PAGE_HEADER + PAGE_DATA + 1] = crc1_buf[_page_addr]; + + ret = i2c_master_send(_client, g_wr_buf, PACKET_SIZE); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + ret = mms100_i2c_read(_client, ISC_CMD_CONFIRM_STATUS, 1, &rd_buf); + + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + if (rd_buf != ISC_STATUS_CRC_CHECK_SUCCESS) + return ISC_UPDATE_MODE_ENTER_ERROR; + + pr_info("[TSP ISC]End mms100_ISC_clear_page()\n"); + return ISC_SUCCESS; + +} + +static int mms100_ISC_clear_validate_markers(struct i2c_client *_client) +{ + int ret_msg; + int i, j; + bool is_matched_address; + + for (i = SEC_CORE; i <= SEC_PUBLIC_CONFIG; i++) { + if (section_update_flag[i]) { + if (ts_info[i].end_addr <= 30 && + ts_info[i].end_addr > 0) { + ret_msg = mms100_ISC_clear_page(_client, + ts_info[i].end_addr); + + if (ret_msg != ISC_SUCCESS) + return ret_msg; + } + } + } + + for (i = SEC_CORE; i <= SEC_PUBLIC_CONFIG; i++) { + if (section_update_flag[i]) { + is_matched_address = false; + for (j = SEC_CORE; j <= SEC_PUBLIC_CONFIG; j++) { + if (mbin_info[i].end_addr == + ts_info[i].end_addr) { + is_matched_address = true; + break; + } + } + + if (!is_matched_address) { + if (mbin_info[i].end_addr <= 30 && + mbin_info[i].end_addr > 0) { + ret_msg = mms100_ISC_clear_page(_client, + mbin_info[i].end_addr); + + if (ret_msg != ISC_SUCCESS) + return ret_msg; + } + } + } + } + + return ISC_SUCCESS; +} + +static int mms100_update_section_data(struct i2c_client *_client) +{ + int i, ret, next_ptr; + unsigned char rd_buf; + const unsigned char *ptr_fw; + char str_buf[STRING_BUF_LEN]; + int page_addr; + + for (i = 0; i < SECTION_NUM; i++) { + if (section_update_flag[i]) { + pr_info("[TSP ISC] section data i2c flash : [%d]", i); + + next_ptr = 0; + ptr_fw = fw_mbin[i]->data; + + do { + sscanf(ptr_fw + next_ptr, "%s", str_buf); + next_ptr += strlen(str_buf) + 1; + } while (!strstr(str_buf, "[Binary]")); + ptr_fw = ptr_fw + next_ptr + 2; + + for (page_addr = mbin_info[i].start_addr; + page_addr <= mbin_info[i].end_addr; + page_addr++) { + if (page_addr - mbin_info[i].start_addr > 0) + ptr_fw += PACKET_SIZE; + + if ((ptr_fw[0] != ISC_CMD_UPDATE_MODE) || + (ptr_fw[1] != ISC_SUBCMD_DATA_WRITE) || + (ptr_fw[2] != page_addr)) + return ISC_WRITE_BUFFER_ERROR; + + ret = i2c_master_send(_client, + ptr_fw, PACKET_SIZE); + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + ret = mms100_i2c_read(_client, + ISC_CMD_CONFIRM_STATUS, 1, &rd_buf); + if (ret < 0) { + pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + __func__, __LINE__, ret); + return ISC_I2C_ERROR; + } + + if (rd_buf != ISC_STATUS_CRC_CHECK_SUCCESS) + return ISC_CRC_ERROR; + + section_update_flag[i] = false; + } + } + } + + pr_info("[TSP ISC]End mms100_update_section_data()\n"); + return ISC_SUCCESS; +} + +static int mms100_open_mbinary(struct i2c_client *_client) +{ + int ret = 0; + + ret += request_firmware(&(fw_mbin[1]),\ + "tsp_melfas/note/CORE.fw", &_client->dev); + ret += request_firmware(&(fw_mbin[2]),\ + "tsp_melfas/note/PRIV.fw", &_client->dev); + ret += request_firmware(&(fw_mbin[3]),\ + "tsp_melfas/note/PUBL.fw", &_client->dev); + + if (!ret) + return ISC_SUCCESS; + else { + pr_info("[TSP ISC] request_firmware fail"); + return ret; + } +} + +static int mms100_close_mbinary(void) +{ + int i; + + for (i = 0; i < SECTION_NUM; i++) { + if (fw_mbin[i] != NULL) + release_firmware(fw_mbin[i]); + } + return ISC_SUCCESS; +} + +int mms100_ISC_download_mbinary(struct mms_ts_info *info) +{ + struct i2c_client *_client = info->client; + int ret_msg = ISC_NONE; + + pr_info("[TSP ISC] %s\n", __func__); + + mms100_reset(info); + +/* ret_msg = mms100_check_operating_mode(_client, EC_BOOT_ON_SUCCEEDED); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; +*/ + ret_msg = mms100_open_mbinary(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + /*Config version Check*/ + ret_msg = mms100_compare_version_info(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + ret_msg = mms100_enter_ISC_mode(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + ret_msg = mms100_enter_config_update(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + ret_msg = mms100_ISC_clear_validate_markers(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + pr_info("[TSP ISC]mms100_update_section_data start"); + + ret_msg = mms100_update_section_data(_client); + if (ret_msg != ISC_SUCCESS) + goto ISC_ERROR_HANDLE; + + pr_info("[TSP ISC]mms100_update_section_data end"); + +/* mms100_reset(info); */ + + pr_info("[TSP ISC]FIRMWARE_UPDATE_FINISHED!!!\n"); + + ret_msg = ISC_SUCCESS; + +ISC_ERROR_HANDLE: + if (ret_msg != ISC_SUCCESS) + pr_info("[TSP ISC]ISC_ERROR_CODE: %d\n", ret_msg); + + mms100_reset(info); + mms100_close_mbinary(); + + return ret_msg; +} +#endif /* ISC_DL_MODE start */ + +static void hw_reboot(struct mms_ts_info *info, bool bootloader) +{ + info->pdata->power(0); + gpio_direction_output(info->pdata->gpio_sda, bootloader ? 0 : 1); + gpio_direction_output(info->pdata->gpio_scl, bootloader ? 0 : 1); + gpio_direction_output(info->pdata->gpio_int, 0); + msleep(30); + info->pdata->power(1); + msleep(30); + + if (bootloader) { + gpio_set_value(info->pdata->gpio_scl, 0); + gpio_set_value(info->pdata->gpio_sda, 1); + } else { + gpio_set_value(info->pdata->gpio_int, 1); + gpio_direction_input(info->pdata->gpio_int); + gpio_direction_input(info->pdata->gpio_scl); + gpio_direction_input(info->pdata->gpio_sda); + } + msleep(40); +} + +static inline void hw_reboot_bootloader(struct mms_ts_info *info) +{ + hw_reboot(info, true); +} + +static inline void hw_reboot_normal(struct mms_ts_info *info) +{ + hw_reboot(info, false); +} + +static void isp_toggle_clk(struct mms_ts_info *info, int start_lvl, int end_lvl, + int hold_us) +{ + gpio_set_value(info->pdata->gpio_scl, start_lvl); + udelay(hold_us); + gpio_set_value(info->pdata->gpio_scl, end_lvl); + udelay(hold_us); +} + +/* 1 <= cnt <= 32 bits to write */ +static void isp_send_bits(struct mms_ts_info *info, u32 data, int cnt) +{ + gpio_direction_output(info->pdata->gpio_int, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_sda, 0); + + /* clock out the bits, msb first */ + while (cnt--) { + gpio_set_value(info->pdata->gpio_sda, (data >> cnt) & 1); + udelay(3); + isp_toggle_clk(info, 1, 0, 3); + } +} + +/* 1 <= cnt <= 32 bits to read */ +static u32 isp_recv_bits(struct mms_ts_info *info, int cnt) +{ + u32 data = 0; + + gpio_direction_output(info->pdata->gpio_int, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_set_value(info->pdata->gpio_sda, 0); + gpio_direction_input(info->pdata->gpio_sda); + + /* clock in the bits, msb first */ + while (cnt--) { + isp_toggle_clk(info, 0, 1, 1); + data = (data << 1) | (!!gpio_get_value(info->pdata->gpio_sda)); + } + + gpio_direction_output(info->pdata->gpio_sda, 0); + return data; +} + +static void isp_enter_mode(struct mms_ts_info *info, u32 mode) +{ + int cnt; + unsigned long flags; + + local_irq_save(flags); + gpio_direction_output(info->pdata->gpio_int, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_sda, 1); + + mode &= 0xffff; + for (cnt = 15; cnt >= 0; cnt--) { + gpio_set_value(info->pdata->gpio_int, (mode >> cnt) & 1); + udelay(3); + isp_toggle_clk(info, 1, 0, 3); + } + + gpio_set_value(info->pdata->gpio_int, 0); + local_irq_restore(flags); +} + +static void isp_exit_mode(struct mms_ts_info *info) +{ + int i; + unsigned long flags; + + local_irq_save(flags); + gpio_direction_output(info->pdata->gpio_int, 0); + udelay(3); + + for (i = 0; i < 10; i++) + isp_toggle_clk(info, 1, 0, 3); + local_irq_restore(flags); +} + +static void flash_set_address(struct mms_ts_info *info, u16 addr) +{ + /* Only 13 bits of addr are valid. + * The addr is in bits 13:1 of cmd */ + isp_send_bits(info, (u32) (addr & 0x1fff) << 1, 18); +} + +static void flash_erase(struct mms_ts_info *info) +{ + isp_enter_mode(info, ISP_MODE_FLASH_ERASE); + + gpio_direction_output(info->pdata->gpio_int, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_sda, 1); + + /* 4 clock cycles with different timings for the erase to + * get processed, clk is already 0 from above */ + udelay(7); + isp_toggle_clk(info, 1, 0, 3); + udelay(7); + isp_toggle_clk(info, 1, 0, 3); + usleep_range(25000, 35000); + isp_toggle_clk(info, 1, 0, 3); + usleep_range(150, 200); + isp_toggle_clk(info, 1, 0, 3); + + gpio_set_value(info->pdata->gpio_sda, 0); + + isp_exit_mode(info); +} + +static u32 flash_readl(struct mms_ts_info *info, u16 addr) +{ + int i; + u32 val; + unsigned long flags; + + local_irq_save(flags); + isp_enter_mode(info, ISP_MODE_FLASH_READ); + flash_set_address(info, addr); + + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_sda, 0); + udelay(40); + + /* data load cycle */ + for (i = 0; i < 6; i++) + isp_toggle_clk(info, 1, 0, 10); + + val = isp_recv_bits(info, 32); + isp_exit_mode(info); + local_irq_restore(flags); + + return val; +} + +static void flash_writel(struct mms_ts_info *info, u16 addr, u32 val) +{ + unsigned long flags; + + local_irq_save(flags); + isp_enter_mode(info, ISP_MODE_FLASH_WRITE); + flash_set_address(info, addr); + isp_send_bits(info, val, 32); + + gpio_direction_output(info->pdata->gpio_sda, 1); + /* 6 clock cycles with different timings for the data to get written + * into flash */ + isp_toggle_clk(info, 0, 1, 3); + isp_toggle_clk(info, 0, 1, 3); + isp_toggle_clk(info, 0, 1, 6); + isp_toggle_clk(info, 0, 1, 12); + isp_toggle_clk(info, 0, 1, 3); + isp_toggle_clk(info, 0, 1, 3); + + isp_toggle_clk(info, 1, 0, 1); + + gpio_direction_output(info->pdata->gpio_sda, 0); + isp_exit_mode(info); + local_irq_restore(flags); + usleep_range(300, 400); +} + +static bool flash_is_erased(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + u32 val; + u16 addr; + + for (addr = 0; addr < (ISP_MAX_FW_SIZE / 4); addr++) { + udelay(40); + val = flash_readl(info, addr); + + if (val != 0xffffffff) { + dev_dbg(&client->dev, + "addr 0x%x not erased: 0x%08x != 0xffffffff\n", + addr, val); + return false; + } + } + return true; +} + +static int fw_write_image(struct mms_ts_info *info, const u8 * data, size_t len) +{ + struct i2c_client *client = info->client; + u16 addr = 0; + + for (addr = 0; addr < (len / 4); addr++, data += 4) { + u32 val = get_unaligned_le32(data); + u32 verify_val; + int retries = 3; + + while (retries--) { + flash_writel(info, addr, val); + verify_val = flash_readl(info, addr); + if (val == verify_val) + break; + dev_err(&client->dev, + "mismatch @ addr 0x%x: 0x%x != 0x%x\n", + addr, verify_val, val); + continue; + } + if (retries < 0) + return -ENXIO; + } + + return 0; +} + +static int fw_download(struct mms_ts_info *info, const u8 * data, size_t len) +{ + struct i2c_client *client = info->client; + u32 val; + int ret = 0; + + if (len % 4) { + dev_err(&client->dev, + "fw image size (%d) must be a multiple of 4 bytes\n", + len); + return -EINVAL; + } else if (len > ISP_MAX_FW_SIZE) { + dev_err(&client->dev, + "fw image is too big, %d > %d\n", len, ISP_MAX_FW_SIZE); + return -EINVAL; + } + + dev_info(&client->dev, "fw download start\n"); + + info->pdata->power(0); + gpio_direction_output(info->pdata->gpio_sda, 0); + gpio_direction_output(info->pdata->gpio_scl, 0); + gpio_direction_output(info->pdata->gpio_int, 0); + + hw_reboot_bootloader(info); + + val = flash_readl(info, ISP_IC_INFO_ADDR); + dev_info(&client->dev, "IC info: 0x%02x (%x)\n", val & 0xff, val); + + dev_info(&client->dev, "fw erase...\n"); + flash_erase(info); + if (!flash_is_erased(info)) { + ret = -ENXIO; + goto err; + } + + dev_info(&client->dev, "fw write...\n"); + /* XXX: what does this do?! */ + flash_writel(info, ISP_IC_INFO_ADDR, 0xffffff00 | (val & 0xff)); + usleep_range(1000, 1500); + ret = fw_write_image(info, data, len); + if (ret) + goto err; + usleep_range(1000, 1500); + + hw_reboot_normal(info); + usleep_range(1000, 1500); + dev_info(&client->dev, "fw download done...\n"); + + msleep(200); + return 0; + +err: + dev_err(&client->dev, "fw download failed...\n"); + hw_reboot_normal(info); + return ret; +} + +#if defined(SEC_TSP_ISC_FW_UPDATE) +static u16 gen_crc(u8 data, u16 pre_crc) +{ + u16 crc; + u16 cur; + u16 temp; + u16 bit_1; + u16 bit_2; + int i; + + crc = pre_crc; + for (i = 7; i >= 0; i--) { + cur = ((data >> i) & 0x01) ^ (crc & 0x0001); + bit_1 = cur ^ (crc >> 11 & 0x01); + bit_2 = cur ^ (crc >> 4 & 0x01); + temp = (cur << 4) | (crc >> 12 & 0x0F); + temp = (temp << 7) | (bit_1 << 6) | (crc >> 5 & 0x3F); + temp = (temp << 4) | (bit_2 << 3) | (crc >> 1 & 0x0007); + crc = temp; + } + return crc; +} + +static int isc_fw_download(struct mms_ts_info *info, const u8 * data, + size_t len) +{ + u8 *buff; + u16 crc_buf; + int src_idx; + int dest_idx; + int ret; + int i, j; + + buff = kzalloc(ISC_PKT_SIZE, GFP_KERNEL); + if (!buff) { + dev_err(&info->client->dev, "%s: failed to allocate memory\n", + __func__); + ret = -1; + goto err_mem_alloc; + } + + /* enterring ISC mode */ + *buff = ISC_ENTER_ISC_DATA; + ret = i2c_smbus_write_byte_data(info->client, + ISC_ENTER_ISC_CMD, *buff); + if (ret < 0) { + dev_err(&info->client->dev, + "fail to enter ISC mode(err=%d)\n", ret); + goto fail_to_isc_enter; + } + usleep_range(10000, 20000); + dev_info(&info->client->dev, "Enter ISC mode\n"); + + /*enter ISC update mode */ + *buff = ISC_ENTER_UPDATE_DATA; + ret = i2c_smbus_write_i2c_block_data(info->client, + ISC_CMD, + ISC_ENTER_UPDATE_DATA_LEN, buff); + if (ret < 0) { + dev_err(&info->client->dev, + "fail to enter ISC update mode(err=%d)\n", ret); + goto fail_to_isc_update; + } + dev_info(&info->client->dev, "Enter ISC update mode\n"); + + /* firmware write */ + *buff = ISC_CMD; + *(buff + 1) = ISC_DATA_WRITE_SUB_CMD; + for (i = 0; i < ISC_PKT_NUM; i++) { + *(buff + 2) = i; + crc_buf = gen_crc(*(buff + 2), ISC_DEFAULT_CRC); + + for (j = 0; j < ISC_PKT_DATA_SIZE; j++) { + dest_idx = ISC_PKT_HEADER_SIZE + j; + src_idx = i * ISC_PKT_DATA_SIZE + + ((int)(j / WORD_SIZE)) * WORD_SIZE - + (j % WORD_SIZE) + 3; + *(buff + dest_idx) = *(data + src_idx); + crc_buf = gen_crc(*(buff + dest_idx), crc_buf); + } + + *(buff + ISC_PKT_DATA_SIZE + ISC_PKT_HEADER_SIZE + 1) = + crc_buf & 0xFF; + *(buff + ISC_PKT_DATA_SIZE + ISC_PKT_HEADER_SIZE) = + crc_buf >> 8 & 0xFF; + + ret = i2c_master_send(info->client, buff, ISC_PKT_SIZE); + if (ret < 0) { + dev_err(&info->client->dev, + "fail to firmware writing on packet %d.(%d)\n", + i, ret); + goto fail_to_fw_write; + } + usleep_range(1, 5); + + /* confirm CRC */ + ret = i2c_smbus_read_byte_data(info->client, + ISC_CHECK_STATUS_CMD); + if (ret == ISC_CONFIRM_CRC) { + dev_info(&info->client->dev, + "updating %dth firmware data packet.\n", i); + } else { + dev_err(&info->client->dev, + "fail to firmware update on %dth (%X).\n", + i, ret); + ret = -1; + goto fail_to_confirm_crc; + } + } + + ret = 0; + +fail_to_confirm_crc: +fail_to_fw_write: + /* exit ISC mode */ + *buff = ISC_EXIT_ISC_SUB_CMD; + *(buff + 1) = ISC_EXIT_ISC_SUB_CMD2; + i2c_smbus_write_i2c_block_data(info->client, ISC_CMD, 2, buff); + usleep_range(10000, 20000); +fail_to_isc_update: + hw_reboot_normal(info); +fail_to_isc_enter: + kfree(buff); +err_mem_alloc: + return ret; +} +#endif /* SEC_TSP_ISC_FW_UPDATE */ + +static int get_core_version(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + struct i2c_adapter *adapter = client->adapter; + struct i2c_msg msg; + u8 reg = MMS_CORE_VERSION; + int ret; + unsigned char buf[4]; + + msg.addr = client->addr; + msg.flags = 0x00; + msg.len = 1; + msg.buf = ® + + ret = i2c_transfer(adapter, &msg, 1); + + if (ret >= 0) { + msg.addr = client->addr; + msg.flags = I2C_M_RD; + msg.len = 4; + msg.buf = buf; + + ret = i2c_transfer(adapter, &msg, 1); + } + if (ret < 0) { + pr_err("[TSP] : read error : [%d]", ret); + return ret; + } + + return buf[1]; +} + +static int get_fw_version_temp(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + struct i2c_adapter *adapter = client->adapter; + struct i2c_msg msg; + u8 reg = MMS_CORE_VERSION; + int ret; + unsigned char buf[4]; + + msg.addr = client->addr; + msg.flags = 0x00; + msg.len = 1; + msg.buf = ® + + ret = i2c_transfer(adapter, &msg, 1); + + if (ret >= 0) { + msg.addr = client->addr; + msg.flags = I2C_M_RD; + msg.len = 4; + msg.buf = buf; + + ret = i2c_transfer(adapter, &msg, 1); + } + if (ret < 0) { + pr_err("[TSP] : read error : [%d]", ret); + return ret; + } + + dev_info(&client->dev, + "[TSP]firm ver [0x%x][0x%x][0x%x][0x%x]\n", + buf[0], buf[1], buf[2], buf[3]); + + return buf[2]; +} + +static int get_panel_version(struct mms_ts_info *info) +{ + int ret; + int retries = 3; + + /* this seems to fail sometimes after a reset.. retry a few times */ + do { + ret = i2c_smbus_read_byte_data(info->client, MMS_COMPAT_GROUP); + } while (ret < 0 && retries-- > 0); + + return ret; +} +#if 0 +static int get_fw_version(struct mms_ts_info *info) +{ + int ret; + int retries = 3; + + /* this seems to fail sometimes after a reset.. retry a few times */ + do { + ret = i2c_smbus_read_byte_data(info->client, MMS_FW_VERSION); + } while (ret < 0 && retries-- > 0); + + return ret; +} +#endif +/* +static int mms_ts_enable(struct mms_ts_info *info, int wakeupcmd) +{ + mutex_lock(&info->lock); + if (info->enabled) + goto out; + + if (wakeupcmd == 1) { + i2c_smbus_write_byte_data(info->client, 0, 0); + usleep_range(3000, 5000); + } + info->enabled = true; + enable_irq(info->irq); +out: + mutex_unlock(&info->lock); + return 0; +} + +static int mms_ts_disable(struct mms_ts_info *info, int sleepcmd) +{ + mutex_lock(&info->lock); + if (!info->enabled) + goto out; + disable_irq_nosync(info->irq); + if (sleepcmd == 1) { + i2c_smbus_write_byte_data(info->client, MMS_MODE_CONTROL, 0); + usleep_range(10000, 12000); + } + info->enabled = false; + touch_is_pressed = 0; +out: + mutex_unlock(&info->lock); + return 0; +} +*/ + +static int mms_ts_fw_info(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + int ret = 0; + int ver; + + ver = get_fw_version_temp(info); + info->fw_ic_ver = ver; + dev_info(&client->dev, + "[TSP]fw version 0x%02x !!!!\n", ver); + + if (ver < 0) { + ret = 1; + dev_err(&client->dev, + "i2c fail...tsp driver unload.\n"); + return ret; + } + + if (!info->pdata || !info->pdata->mux_fw_flash) { + ret = 1; + dev_err(&client->dev, + "fw cannot be updated, missing platform data\n"); + return ret; + } + + return ret; +} +#if 0 +static int mms_ts_fw_load(struct mms_ts_info *info) +{ + + struct i2c_client *client = info->client; + int ret = 0; + int ver; + int bin_ver; + int retries = 3; + + ver = get_fw_version_temp(info); + info->fw_ic_ver = ver; + dev_info(&client->dev, + "[TSP]fw version 0x%02x !!!!\n", ver); + + pr_err("[TSP] ISC Ver [0x%02x] [0x%02x]", + i2c_smbus_read_byte_data(info->client, 0xF4), + i2c_smbus_read_byte_data(info->client, 0xF5)); + + if (!info->pdata || !info->pdata->mux_fw_flash) { + ret = 1; + dev_err(&client->dev, + "fw cannot be updated, missing platform data\n"); + goto out; + } + + if (info->ldi == 'L') + bin_ver = FW_VERSION_L; + else + bin_ver = FW_VERSION_M; + + if (ver >= bin_ver) { + dev_info(&client->dev, + "fw version update does not need\n"); + goto done; + } + + while (retries--) { + ret = mms100_ISC_download_mbinary(info); + + ver = get_fw_version_temp(info); + info->fw_ic_ver = ver; + + if (ret == 0) { + pr_err("[TSP] mms100_ISC_download_mbinary success"); + goto done; + } else { + pr_err("[TSP] mms100_ISC_download_mbinary fail [%d]", + ret); + ret = 1; + } + + dev_err(&client->dev, "retrying flashing\n"); + } + +out: + return ret; + +done: + +#if ISC_DL_MODE /* ISC_DL_MODE start */ + pr_err("[TSP] ISC Ver [0x%02x] [0x%02x]", + i2c_smbus_read_byte_data(info->client, 0xF4), + i2c_smbus_read_byte_data(info->client, 0xF5)); +#endif + + return ret; +} +#endif +#ifdef SEC_TSP_FACTORY_TEST +static void set_cmd_result(struct mms_ts_info *info, char *buff, int len) +{ + strncat(info->cmd_result, buff, len); +} + +static int get_data(struct mms_ts_info *info, u8 addr, u8 size, u8 *array) +{ + struct i2c_client *client = info->client; + struct i2c_adapter *adapter = client->adapter; + struct i2c_msg msg; + u8 reg = addr; + unsigned char buf[size]; + int ret; + + msg.addr = client->addr; + msg.flags = 0x00; + msg.len = 1; + msg.buf = ® + + ret = i2c_transfer(adapter, &msg, 1); + + if (ret >= 0) { + msg.addr = client->addr; + msg.flags = I2C_M_RD; + msg.len = size; + msg.buf = buf; + + ret = i2c_transfer(adapter, &msg, 1); + } + if (ret < 0) { + pr_err("[TSP] : read error : [%d]", ret); + return ret; + } + + memcpy(array, &buf, size); + return size; +} + +static void get_intensity_data(struct mms_ts_info *info) +{ + u8 w_buf[4]; + u8 r_buf; + u8 read_buffer[60] = {0}; + int i, j; + int ret; + u16 max_value = 0, min_value = 0; + u16 raw_data; + char buff[TSP_CMD_STR_LEN] = {0}; + + disable_irq(info->irq); + + w_buf[0] = ADDR_UNIV_CMD; + w_buf[1] = CMD_GET_INTEN; + w_buf[2] = 0xFF; + for (i = 0; i < RX_NUM; i++) { + w_buf[3] = i; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 3, &w_buf[1]); + if (ret < 0) + goto err_i2c; + usleep_range(1, 5); + + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT_SZ, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + ret = get_data(info, CMD_RESULT, r_buf, read_buffer); + if (ret < 0) + goto err_i2c; + + for (j = 0; j < r_buf/2; j++) { + raw_data = read_buffer[2*j] | (read_buffer[2*j+1] << 8); + if (raw_data > 32767) + raw_data = 0; + if (i == 0 && j == 0) { + max_value = min_value = raw_data; + } else { + max_value = max(max_value, raw_data); + min_value = min(min_value, raw_data); + } + info->intensity[i * info->tx_num + j] = raw_data; + dev_dbg(&info->client->dev, + "[TSP] intensity[%d][%d] = %d\n", j, i, + info->intensity[i * info->tx_num + j]); + } + } + + snprintf(buff, sizeof(buff), "%d,%d", min_value, max_value); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + enable_irq(info->irq); + + return; + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, MMS_VSC_CMD_INTENSITY); +} + +static void get_raw_data(struct mms_ts_info *info, u8 cmd) +{ + u8 w_buf[4]; + u8 r_buf = 0; + u8 read_buffer[60] = {0}; + int ret; + int i, j; + int max_value = 0, min_value = 0; + int raw_data; + int retry; + char buff[TSP_CMD_STR_LEN] = {0}; + int gpio = info->pdata->gpio_int; + + disable_irq(info->irq); + + ret = i2c_smbus_write_byte_data(info->client, + ADDR_UNIV_CMD, CMD_ENTER_TEST); + if (ret < 0) + goto err_i2c; + + /* event type check */ + retry = 1; + while (retry) { + while (gpio_get_value(gpio)) + udelay(100); + + ret = i2c_smbus_read_i2c_block_data(info->client, + 0x0F, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + ret = i2c_smbus_read_i2c_block_data(info->client, + 0x10, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + dev_info(&info->client->dev, "event type = 0x%x\n", r_buf); + if (r_buf == 0x0C) + retry = 0; + } + + w_buf[0] = ADDR_UNIV_CMD; + if (cmd == MMS_VSC_CMD_CM_DELTA) + w_buf[1] = CMD_CM_DELTA; + else + w_buf[1] = CMD_CM_ABS; + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 1, &w_buf[1]); + if (ret < 0) + goto err_i2c; + while (gpio_get_value(gpio)) + udelay(100); + + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT_SZ, 1, &r_buf); + if (ret < 0) + goto err_i2c; + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + if (r_buf == 1) + dev_info(&info->client->dev, "PASS\n"); + else + dev_info(&info->client->dev, "FAIL\n"); + + if (cmd == MMS_VSC_CMD_CM_DELTA) + w_buf[1] = CMD_GET_DELTA; + else + w_buf[1] = CMD_GET_ABS; + w_buf[2] = 0xFF; + + for (i = 0; i < RX_NUM; i++) { + w_buf[3] = i; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 3, &w_buf[1]); + if (ret < 0) + goto err_i2c; + + while (gpio_get_value(gpio)) + udelay(100); + + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT_SZ, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + ret = get_data(info, CMD_RESULT, r_buf, read_buffer); + if (ret < 0) + goto err_i2c; + + for (j = 0; j < info->tx_num; j++) { + raw_data = read_buffer[2*j] | (read_buffer[2*j+1] << 8); + if (i == 0 && j == 0) { + max_value = min_value = raw_data; + } else { + max_value = max(max_value, raw_data); + min_value = min(min_value, raw_data); + } + + if (cmd == MMS_VSC_CMD_CM_DELTA) { + info->inspection[i * info->tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] delta[%d][%d] = %d\n", j, i, + info->inspection[i * info->tx_num + j]); + } else if (cmd == MMS_VSC_CMD_CM_ABS) { + info->raw[i * info->tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] raw[%d][%d] = %d\n", j, i, + info->raw[i * info->tx_num + j]); + } else if (cmd == MMS_VSC_CMD_REFER) { + info->reference[i * info->tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] reference[%d][%d] = %d\n", j, i, + info->reference[i * info->tx_num + j]); + } + } + } + + ret = i2c_smbus_write_byte_data(info->client, + ADDR_UNIV_CMD, CMD_EXIT_TEST); + + snprintf(buff, sizeof(buff), "%d,%d", min_value, max_value); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + enable_irq(info->irq); + + return; + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, cmd); +} + +static void get_raw_data_all(struct mms_ts_info *info, u8 cmd) +{ + u8 w_buf[6]; + u8 read_buffer[2]; /* 52 */ + int gpio; + int ret; + int i, j; + u32 max_value = 0, min_value = 0; + u32 raw_data; + char buff[TSP_CMD_STR_LEN] = {0}; + gpio = info->pdata->gpio_int; + +/* gpio = msm_irq_to_gpio(info->irq); */ + disable_irq(info->irq); + + w_buf[0] = MMS_VSC_CMD; /* vendor specific command id */ + w_buf[1] = MMS_VSC_MODE; /* mode of vendor */ + w_buf[2] = 0; /* tx line */ + w_buf[3] = 0; /* rx line */ + w_buf[4] = 0; /* reserved */ + w_buf[5] = 0; /* sub command */ + + if (cmd == MMS_VSC_CMD_EXIT) { + w_buf[5] = MMS_VSC_CMD_EXIT; /* exit test mode */ + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 5, &w_buf[1]); + if (ret < 0) + goto err_i2c; + enable_irq(info->irq); + msleep(200); + return; + } + + /* MMS_VSC_CMD_CM_DELTA or MMS_VSC_CMD_CM_ABS + * this two mode need to enter the test mode + * exit command must be followed by testing. + */ + if (cmd == MMS_VSC_CMD_CM_DELTA || cmd == MMS_VSC_CMD_CM_ABS) { + /* enter the debug mode */ + w_buf[2] = 0x0; /* tx */ + w_buf[3] = 0x0; /* rx */ + w_buf[5] = MMS_VSC_CMD_ENTER; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 5, &w_buf[1]); + if (ret < 0) + goto err_i2c; + + /* wating for the interrupt */ + while (gpio_get_value(gpio)) + udelay(100); + } + + for (i = 0; i < RX_NUM; i++) { + for (j = 0; j < info->tx_num; j++) { + + w_buf[2] = j; /* tx */ + w_buf[3] = i; /* rx */ + w_buf[5] = cmd; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 5, &w_buf[1]); + if (ret < 0) + goto err_i2c; + + usleep_range(1, 5); + + ret = i2c_smbus_read_i2c_block_data(info->client, 0xBF, + 2, read_buffer); + if (ret < 0) + goto err_i2c; + + raw_data = ((u16) read_buffer[1] << 8) | read_buffer[0]; + if (i == 0 && j == 0) { + max_value = min_value = raw_data; + } else { + max_value = max(max_value, raw_data); + min_value = min(min_value, raw_data); + } + + if (cmd == MMS_VSC_CMD_INTENSITY) { + info->intensity[i * info->tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] intensity[%d][%d] = %d\n", j, i, + info->intensity[i * info->tx_num + j]); + } else if (cmd == MMS_VSC_CMD_CM_DELTA) { + info->inspection[i * info->tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] delta[%d][%d] = %d\n", j, i, + info->inspection[i * info->tx_num + j]); + } else if (cmd == MMS_VSC_CMD_CM_ABS) { + info->raw[i * info->tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] raw[%d][%d] = %d\n", j, i, + info->raw[i * info->tx_num + j]); + } else if (cmd == MMS_VSC_CMD_REFER) { + info->reference[i * info->tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] reference[%d][%d] = %d\n", j, i, + info->reference[i * info->tx_num + j]); + } + } + + } + + snprintf(buff, sizeof(buff), "%d,%d", min_value, max_value); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + enable_irq(info->irq); + + return; + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, cmd); +} + +static ssize_t show_close_tsp_test(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + info->ft_flag = 0; + + return snprintf(buf, TSP_BUF_SIZE, "%u\n", 0); +} + +static void set_default_result(struct mms_ts_info *info) +{ + char delim = ':'; + + memset(info->cmd_result, 0x00, ARRAY_SIZE(info->cmd_result)); + memcpy(info->cmd_result, info->cmd, strlen(info->cmd)); + strncat(info->cmd_result, &delim, 1); +} + +static int check_rx_tx_num(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[TSP_CMD_STR_LEN] = {0}; + int node; + + if (info->cmd_param[0] < 0 || + info->cmd_param[0] >= info->tx_num || + info->cmd_param[1] < 0 || + info->cmd_param[1] >= RX_NUM) { + snprintf(buff, sizeof(buff) , "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + + dev_info(&info->client->dev, "%s: parameter error: %u,%u\n", + __func__, info->cmd_param[0], + info->cmd_param[1]); + node = -1; + return node; +} + node = info->cmd_param[1] * info->tx_num + info->cmd_param[0]; + dev_info(&info->client->dev, "%s: node = %d\n", __func__, + node); + return node; + +} + +static void not_support_cmd(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + char buff[16] = {0}; + + set_default_result(info); + sprintf(buff, "%s", "NA"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 4; + dev_info(&info->client->dev, "%s: \"%s(%d)\"\n", __func__, + buff, strnlen(buff, sizeof(buff))); + return; +} + +static int mms_ts_core_fw_load(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); + int ret = 0; + int ver = 0, fw_bin_ver = 0; + int retries = 5; + const u8 *buff = 0; + long fsize = 0; + const struct firmware *tsp_fw = NULL; + + ver = get_fw_version_temp(info); + info->fw_ic_ver = ver; + + dev_info(&client->dev, "Entered REQ_FW\n"); + if (info->ldi == 'L') { + fw_bin_ver = FW_VERSION_L; + ret = request_firmware(&tsp_fw, + "tsp_melfas/note/melfasl.fw", &(client->dev)); + } else { + fw_bin_ver = FW_VERSION_M; + ret = request_firmware(&tsp_fw, + "tsp_melfas/note/melfasm.fw", &(client->dev)); + } + dev_info(&client->dev, + "fw_ic_ver = 0x%02x, fw_bin_ver = 0x%02x\n", + info->fw_ic_ver, fw_bin_ver); + if (ret) { + dev_err(&client->dev, "request firmware error!!\n"); + return 1; + } + + fsize = tsp_fw->size; + buff = kzalloc((size_t)fsize, GFP_KERNEL); + if (!buff) { + dev_err(&client->dev, "fail to alloc buffer for fw\n"); + info->cmd_state = 3; + release_firmware(tsp_fw); + return 1; + } + + memcpy((void *)buff, tsp_fw->data, fsize); + release_firmware(tsp_fw); + + disable_irq(info->irq); + while (retries--) { + i2c_lock_adapter(adapter); + info->pdata->mux_fw_flash(true); + + ret = fw_download(info, (const u8 *)buff, + (const size_t)fsize); + + info->pdata->mux_fw_flash(false); + i2c_unlock_adapter(adapter); + + if (ret < 0) { + dev_err(&client->dev, "retrying flashing\n"); + continue; + } + + ver = get_fw_version_temp(info); + info->fw_ic_ver = ver; + + if (ver == fw_bin_ver) { + dev_info(&client->dev, + "fw update done. ver = 0x%02x\n", ver); + enable_irq(info->irq); + kfree(buff); + return 0; + } else { + dev_err(&client->dev, + "ERROR : fw version is still wrong (0x%x != 0x%x)\n", + ver, fw_bin_ver); + } + dev_err(&client->dev, "retrying flashing\n"); + } + kfree(buff); + return 1; +} + +static void fw_update(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + struct i2c_client *client = info->client; + struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); + int ret = 0; + int ver = 0, fw_bin_ver = 0; + int retries = 5; + const u8 *buff = 0; + mm_segment_t old_fs = {0}; + struct file *fp = NULL; + long fsize = 0, nread = 0; + const struct firmware *tsp_fw = NULL; + char fw_path[MAX_FW_PATH+1]; + char result[16] = {0}; + + if (info->panel == 'A') { + dev_dbg(&client->dev, "support only Melfas panel\n"); + dev_dbg(&client->dev, "fw update do not excute\n"); + goto not_support; + } + set_default_result(info); + if (info->ldi == 'L') + fw_bin_ver = FW_VERSION_L; + else + fw_bin_ver = FW_VERSION_M; + + dev_info(&client->dev, + "fw_ic_ver = 0x%02x, fw_bin_ver = 0x%02x\n", + info->fw_ic_ver, fw_bin_ver); + + if (info->cmd_param[0] == 0 + && info->fw_ic_ver >= fw_bin_ver) { + dev_info(&client->dev, + "fw version update does not need\n"); + info->cmd_state = 2; + goto do_not_need_update; + } + + switch (info->cmd_param[0]) { + case BUILT_IN: + dev_info(&client->dev, "built in fw is loaded!!\n"); + + while (retries--) { +#if 0 + ret = mms100_ISC_download_mbinary(info); +#else + ret = mms_ts_core_fw_load(info); +#endif + ver = get_fw_version_temp(info); + info->fw_ic_ver = ver; + if (ret == 0) { + pr_err("[TSP] mms100_ISC_download_mbinary success"); + info->cmd_state = 2; + return; + } else { + pr_err("[TSP] mms100_ISC_download_mbinary fail[%d]", + ret); + info->cmd_state = 3; + } + } + return; + break; + + case UMS: + old_fs = get_fs(); + set_fs(get_ds()); + + snprintf(fw_path, MAX_FW_PATH, "/sdcard/%s", TSP_FW_FILENAME); + fp = filp_open(fw_path, O_RDONLY, 0); + if (IS_ERR(fp)) { + dev_err(&client->dev, + "file %s open error:%d\n", fw_path, (s32)fp); + info->cmd_state = 3; + goto err_open; + } + + fsize = fp->f_path.dentry->d_inode->i_size; + + buff = kzalloc((size_t)fsize, GFP_KERNEL); + if (!buff) { + dev_err(&client->dev, "fail to alloc buffer for fw\n"); + info->cmd_state = 3; + goto err_alloc; + } + + nread = vfs_read(fp, (char __user *)buff, fsize, &fp->f_pos); + if (nread != fsize) { + /*dev_err("fail to read file %s (nread = %d)\n", + fw_path, nread);*/ + info->cmd_state = 3; + goto err_fw_size; + } + + filp_close(fp, current->files); + set_fs(old_fs); + dev_info(&client->dev, "ums fw is loaded!!\n"); + break; + + case REQ_FW: + dev_info(&client->dev, "Entered REQ_FW case\n"); + ret = request_firmware(&tsp_fw, TSP_FW_FILENAME, + &(client->dev)); + if (ret) { + dev_err(&client->dev, "request firmware error!!\n"); + goto not_support; + } + + fsize = tsp_fw->size; + buff = kzalloc((size_t)fsize, GFP_KERNEL); + if (!buff) { + dev_err(&client->dev, "fail to alloc buffer for fw\n"); + info->cmd_state = 3; + release_firmware(tsp_fw); + goto not_support; + } + + memcpy((void *)buff, tsp_fw->data, fsize); + release_firmware(tsp_fw); + break; + + default: + dev_err(&client->dev, "invalid fw file type!!\n"); + goto not_support; + } + + disable_irq(info->irq); + while (retries--) { + i2c_lock_adapter(adapter); + info->pdata->mux_fw_flash(true); + + ret = fw_download(info, (const u8 *)buff, + (const size_t)fsize); + + info->pdata->mux_fw_flash(false); + i2c_unlock_adapter(adapter); + + if (ret < 0) { + dev_err(&client->dev, "retrying flashing\n"); + continue; + } + + ver = get_fw_version_temp(info); + info->fw_ic_ver = ver; + + if (info->cmd_param[0] == 1 || info->cmd_param[0] == 2) { + dev_info(&client->dev, + "fw update done. ver = 0x%02x\n", ver); + info->cmd_state = 2; + snprintf(result, sizeof(result) , "%s", "OK"); + set_cmd_result(info, result, + strnlen(result, sizeof(result))); + enable_irq(info->irq); + kfree(buff); + return; + } else if (ver == fw_bin_ver) { + dev_info(&client->dev, + "fw update done. ver = 0x%02x\n", ver); + info->cmd_state = 2; + snprintf(result, sizeof(result) , "%s", "OK"); + set_cmd_result(info, result, + strnlen(result, sizeof(result))); + enable_irq(info->irq); + return; + } else { + dev_err(&client->dev, + "ERROR : fw version is still wrong (0x%x != 0x%x)\n", + ver, fw_bin_ver); + } + dev_err(&client->dev, "retrying flashing\n"); + } + +if (fp != NULL) { +err_fw_size: + kfree(buff); +err_alloc: + filp_close(fp, NULL); +err_open: + set_fs(old_fs); +} +not_support: +do_not_need_update: + snprintf(result, sizeof(result) , "%s", "NG"); + set_cmd_result(info, result, strnlen(result, sizeof(result))); + return; +} + +static void get_fw_ver_bin(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + + set_default_result(info); + if (info->ldi == 'L') + snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_L); + else + snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_M); + + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_fw_ver_ic(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int ver; + + set_default_result(info); + + ver = info->fw_ic_ver; + snprintf(buff, sizeof(buff), "%#02x", ver); + + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_config_ver(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[20] = {0}; + + set_default_result(info); + + snprintf(buff, sizeof(buff), "%s", info->config_fw_version); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_threshold(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int threshold; + + set_default_result(info); + + threshold = i2c_smbus_read_byte_data(info->client, 0x05); + if (threshold < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + return; +} + snprintf(buff, sizeof(buff), "%d", threshold); + + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void module_off_master(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[3] = {0}; + + mutex_lock(&info->lock); + if (info->enabled) { + disable_irq(info->irq); + info->enabled = false; + touch_is_pressed = 0; + } + mutex_unlock(&info->lock); + + info->pdata->power(0); + + if (info->pdata->is_vdd_on() == 0) + snprintf(buff, sizeof(buff), "%s", "OK"); + else + snprintf(buff, sizeof(buff), "%s", "NG"); + + set_default_result(info); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + if (strncmp(buff, "OK", 2) == 0) + info->cmd_state = 2; + else + info->cmd_state = 3; + + dev_info(&info->client->dev, "%s: %s\n", __func__, buff); +} + +static void module_on_master(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[3] = {0}; + + mms_pwr_on_reset(info); + + mutex_lock(&info->lock); + if (!info->enabled) { + enable_irq(info->irq); + info->enabled = true; + } + mutex_unlock(&info->lock); + + if (info->pdata->is_vdd_on() == 1) + snprintf(buff, sizeof(buff), "%s", "OK"); + else + snprintf(buff, sizeof(buff), "%s", "NG"); + + set_default_result(info); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + if (strncmp(buff, "OK", 2) == 0) + info->cmd_state = 2; + else + info->cmd_state = 3; + + dev_info(&info->client->dev, "%s: %s\n", __func__, buff); + +} +/* +static void module_off_slave(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + not_support_cmd(info); +} + +static void module_on_slave(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + not_support_cmd(info); +} +*/ +static void get_chip_vendor(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + + set_default_result(info); + + snprintf(buff, sizeof(buff), "%s", "MELFAS"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_chip_name(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + + set_default_result(info); + + snprintf(buff, sizeof(buff), "%s", "MMS152"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_reference(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->reference[node]; + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); + +} + +static void get_cm_abs(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->raw[node]; + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_cm_delta(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->inspection[node]; + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_intensity(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->intensity[node]; + + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_x_num(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int val; + u8 r_buf[2]; + int ret; + + set_default_result(info); + + if (info->fw_core_ver == 0x45) { + val = i2c_smbus_read_byte_data(info->client, 0xEF); + if (val < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + + dev_info(&info->client->dev, + "%s: fail to read num of x (%d).\n", + __func__, val); + return; + } + } else { + ret = i2c_smbus_read_i2c_block_data(info->client, + ADDR_CH_NUM, 2, r_buf); + val = r_buf[0]; + if (ret < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + + dev_info(&info->client->dev, + "%s: fail to read num of x (%d).\n", + __func__, val); + return; + } + } + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_y_num(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int val; + u8 r_buf[2]; + int ret; + + set_default_result(info); + + if (info->fw_core_ver == 0x45) { + val = i2c_smbus_read_byte_data(info->client, 0xEE); + if (val < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + + dev_info(&info->client->dev, + "%s: fail to read num of y (%d).\n", + __func__, val); + return; + } + } else { + ret = i2c_smbus_read_i2c_block_data(info->client, + ADDR_CH_NUM, 2, r_buf); + val = r_buf[1]; + if (ret < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + + dev_info(&info->client->dev, + "%s: fail to read num of x (%d).\n", + __func__, val); + return; + } + } + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void run_reference_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + if (info->fw_ic_ver == 0x45) + get_raw_data_all(info, MMS_VSC_CMD_REFER); + else + get_raw_data(info, MMS_VSC_CMD_REFER); + info->cmd_state = 2; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static void run_cm_abs_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + if (info->fw_ic_ver == 0x45) { + get_raw_data_all(info, MMS_VSC_CMD_CM_ABS); + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + } else { + get_raw_data(info, MMS_VSC_CMD_CM_ABS); + } + info->cmd_state = 2; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static void run_cm_delta_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + if (info->fw_ic_ver == 0x45) { + get_raw_data_all(info, MMS_VSC_CMD_CM_DELTA); + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + } else { + get_raw_data(info, MMS_VSC_CMD_CM_DELTA); + } + info->cmd_state = 2; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static void run_intensity_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + if (info->fw_ic_ver == 0x45) + get_raw_data_all(info, MMS_VSC_CMD_INTENSITY); + else + get_intensity_data(info); + info->cmd_state = 2; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static ssize_t store_cmd(struct device *dev, struct device_attribute + *devattr, const char *buf, size_t count) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + struct i2c_client *client = info->client; + + char *cur, *start, *end; + char buff[TSP_CMD_STR_LEN] = {0}; + int len, i; + struct tsp_cmd *tsp_cmd_ptr = NULL; + char delim = ','; + bool cmd_found = false; + int param_cnt = 0; + int ret; + + if (info->cmd_is_running == true) { + dev_err(&info->client->dev, "tsp_cmd: other cmd is running.\n"); + goto err_out; + } + + + /* check lock */ + mutex_lock(&info->cmd_lock); + info->cmd_is_running = true; + mutex_unlock(&info->cmd_lock); + + info->cmd_state = 1; + + for (i = 0; i < ARRAY_SIZE(info->cmd_param); i++) + info->cmd_param[i] = 0; + + len = (int)count; + if (*(buf + len - 1) == '\n') + len--; + memset(info->cmd, 0x00, ARRAY_SIZE(info->cmd)); + memcpy(info->cmd, buf, len); + + cur = strchr(buf, (int)delim); + if (cur) + memcpy(buff, buf, cur - buf); + else + memcpy(buff, buf, len); + + /* find command */ + list_for_each_entry(tsp_cmd_ptr, &info->cmd_list_head, list) { + if (!strcmp(buff, tsp_cmd_ptr->cmd_name)) { + cmd_found = true; + break; + } + } + + /* set not_support_cmd */ + if (!cmd_found) { + list_for_each_entry(tsp_cmd_ptr, &info->cmd_list_head, list) { + if (!strcmp("not_support_cmd", tsp_cmd_ptr->cmd_name)) + break; + } + } + + /* parsing parameters */ + if (cur && cmd_found) { + cur++; + start = cur; + memset(buff, 0x00, ARRAY_SIZE(buff)); + do { + if (*cur == delim || cur - buf == len) { + end = cur; + memcpy(buff, start, end - start); + *(buff + strlen(buff)) = '\0'; + ret = kstrtoint(buff, 10,\ + info->cmd_param + param_cnt); + start = cur + 1; + memset(buff, 0x00, ARRAY_SIZE(buff)); + param_cnt++; + } + cur++; + } while (cur - buf <= len); + } + + dev_info(&client->dev, "cmd = %s\n", tsp_cmd_ptr->cmd_name); + for (i = 0; i < param_cnt; i++) + dev_info(&client->dev, "cmd param %d= %d\n", i, + info->cmd_param[i]); + + tsp_cmd_ptr->cmd_func(info); + + +err_out: + return count; +} + +static ssize_t show_cmd_status(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + char buff[16] = {0}; + + dev_info(&info->client->dev, "tsp cmd: status:%d\n", + info->cmd_state); + + if (info->cmd_state == 0) + snprintf(buff, sizeof(buff), "WAITING"); + + else if (info->cmd_state == 1) + snprintf(buff, sizeof(buff), "RUNNING"); + + else if (info->cmd_state == 2) + snprintf(buff, sizeof(buff), "OK"); + + else if (info->cmd_state == 3) + snprintf(buff, sizeof(buff), "FAIL"); + + else if (info->cmd_state == 4) + snprintf(buff, sizeof(buff), "NOT_APPLICABLE"); + + return snprintf(buf, TSP_BUF_SIZE, "%s\n", buff); +} + +static ssize_t show_cmd_result(struct device *dev, struct device_attribute + *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + + dev_info(&info->client->dev, "tsp cmd: result: %s\n", info->cmd_result); + + mutex_lock(&info->cmd_lock); + info->cmd_is_running = false; + mutex_unlock(&info->cmd_lock); + + info->cmd_state = 0; + + return snprintf(buf, TSP_BUF_SIZE, "%s\n", info->cmd_result); +} + +#ifdef ESD_DEBUG + +static bool intensity_log_flag; + +static u32 get_raw_data_one(struct mms_ts_info *info, u16 rx_idx, u16 tx_idx, + u8 cmd) +{ + u8 w_buf[6]; + u8 read_buffer[2]; + int ret; + u32 raw_data; + + w_buf[0] = MMS_VSC_CMD; /* vendor specific command id */ + w_buf[1] = MMS_VSC_MODE; /* mode of vendor */ + w_buf[2] = 0; /* tx line */ + w_buf[3] = 0; /* rx line */ + w_buf[4] = 0; /* reserved */ + w_buf[5] = 0; /* sub command */ + + if (cmd != MMS_VSC_CMD_INTENSITY && cmd != MMS_VSC_CMD_RAW && + cmd != MMS_VSC_CMD_REFER) { + dev_err(&info->client->dev, "%s: not profer command(cmd=%d)\n", + __func__, cmd); + return FAIL; + } + + w_buf[2] = tx_idx; /* tx */ + w_buf[3] = rx_idx; /* rx */ + w_buf[5] = cmd; /* sub command */ + + ret = i2c_smbus_write_i2c_block_data(info->client, w_buf[0], 5, + &w_buf[1]); + if (ret < 0) + goto err_i2c; + + ret = i2c_smbus_read_i2c_block_data(info->client, 0xBF, 2, read_buffer); + if (ret < 0) + goto err_i2c; + + raw_data = ((u16) read_buffer[1] << 8) | read_buffer[0]; + if (cmd == MMS_VSC_CMD_REFER) + raw_data = raw_data >> 4; + + return raw_data; + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, cmd); + return FAIL; +} + +static ssize_t show_intensity_logging_on(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + struct i2c_client *client = info->client; + struct file *fp; + char log_data[160] = { 0, }; + char buff[16] = { 0, }; + mm_segment_t old_fs; + long nwrite; + u32 val; + int i, y, c; + + old_fs = get_fs(); + set_fs(KERNEL_DS); + +#define MELFAS_DEBUG_LOG_PATH "/sdcard/melfas_log" + + dev_info(&client->dev, "%s: start.\n", __func__); + fp = filp_open(MELFAS_DEBUG_LOG_PATH, O_RDWR | O_CREAT, + S_IRWXU | S_IRWXG | S_IRWXO); + if (IS_ERR(fp)) { + dev_err(&client->dev, "%s: fail to open log file\n", __func__); + goto open_err; + } + + intensity_log_flag = 1; + do { + for (y = 0; y < 3; y++) { + /* for tx chanel 0~2 */ + memset(log_data, 0x00, 160); + + snprintf(buff, 16, "%1u: ", y); + strncat(log_data, buff, strnlen(buff, 16)); + + for (i = 0; i < RX_NUM; i++) { + val = get_raw_data_one(info, i, y, + MMS_VSC_CMD_INTENSITY); + snprintf(buff, 16, "%5u, ", val); + strncat(log_data, buff, strnlen(buff, 16)); + } + memset(buff, '\n', 2); + c = (y == 2) ? 2 : 1; + strncat(log_data, buff, c); + nwrite = vfs_write(fp, (const char __user *)log_data, + strnlen(log_data, 160), &fp->f_pos); + } + usleep_range(3000, 5000); + } while (intensity_log_flag); + + filp_close(fp, current->files); + set_fs(old_fs); + + return 0; + +open_err: + set_fs(old_fs); + return FAIL; +} + +static ssize_t show_intensity_logging_off(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + intensity_log_flag = 0; + usleep_range(10000, 12000); + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + return 0; +} + +#endif + +static DEVICE_ATTR(close_tsp_test, S_IRUGO, show_close_tsp_test, NULL); +static DEVICE_ATTR(cmd, S_IWUSR | S_IWGRP, NULL, store_cmd); +static DEVICE_ATTR(cmd_status, S_IRUGO, show_cmd_status, NULL); +static DEVICE_ATTR(cmd_result, S_IRUGO, show_cmd_result, NULL); +#ifdef ESD_DEBUG +static DEVICE_ATTR(intensity_logging_on, S_IRUGO, show_intensity_logging_on, + NULL); +static DEVICE_ATTR(intensity_logging_off, S_IRUGO, show_intensity_logging_off, + NULL); +#endif + +static struct attribute *sec_touch_facotry_attributes[] = { + &dev_attr_close_tsp_test.attr, + &dev_attr_cmd.attr, + &dev_attr_cmd_status.attr, + &dev_attr_cmd_result.attr, +#ifdef ESD_DEBUG + &dev_attr_intensity_logging_on.attr, + &dev_attr_intensity_logging_off.attr, +#endif + NULL, +}; + +static struct attribute_group sec_touch_factory_attr_group = { + .attrs = sec_touch_facotry_attributes, +}; +#endif /* SEC_TSP_FACTORY_TEST */ + +static int __devinit mms_ts_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); + struct mms_ts_info *info; + struct input_dev *input_dev; + int ret = 0; + char buf[4] = { 0, }; + +#ifdef SEC_TSP_FACTORY_TEST + int i; + struct device *fac_dev_ts; +#endif + touch_is_pressed = 0; + + if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) + return -EIO; + + info = kzalloc(sizeof(struct mms_ts_info), GFP_KERNEL); + if (!info) { + dev_err(&client->dev, "Failed to allocate memory\n"); + ret = -ENOMEM; + goto err_alloc; + } + + input_dev = input_allocate_device(); + if (!input_dev) { + dev_err(&client->dev, "Failed to allocate memory for input device\n"); + ret = -ENOMEM; + goto err_input_alloc; + } + + info->client = client; + info->input_dev = input_dev; + info->pdata = client->dev.platform_data; + if (NULL == info->pdata) { + pr_err("failed to get platform data\n"); + goto err_config; + } + info->irq = -1; + mutex_init(&info->lock); + + if (info->pdata) { + info->max_x = info->pdata->max_x; + info->max_y = info->pdata->max_y; + info->invert_x = info->pdata->invert_x; + info->invert_y = info->pdata->invert_y; + info->config_fw_version = info->pdata->config_fw_version; + info->lcd_type = info->pdata->lcd_type; + info->input_event = info->pdata->input_event; + info->register_cb = info->pdata->register_cb; + } else { + info->max_x = 720; + info->max_y = 1280; + } + + i2c_set_clientdata(client, info); + + info->pdata->power(true); + msleep(100); + + if (gpio_get_value(GPIO_OLED_ID)) { + info->ldi = 'L'; + dev_info(&client->dev, "LSI LDI\n"); + } else { + info->ldi = 'M'; + dev_info(&client->dev, "Magna LDI\n"); + } + + ret = i2c_master_recv(client, buf, 1); + if (ret < 0) { /* tsp connect check */ + pr_err("%s: i2c fail...tsp driver unload [%d], Add[%d]\n", + __func__, ret, info->client->addr); + goto err_config; + } + + info->fw_core_ver = get_core_version(info); + dev_info(&client->dev, "core version : 0x%02x\n", + info->fw_core_ver); + + if (info->fw_core_ver == 0x50) { + dev_err(&client->dev, "Do not use 0x50 core version\n"); + dev_err(&client->dev, "excute core firmware update\n"); + ret = mms_ts_core_fw_load(info); + if (ret) { + dev_err(&client->dev, + "failed to initialize (%d)\n", + ret); + goto err_config; + } + } + + if (info->ldi == 'L') { + if (info->fw_core_ver != 0x53) { + dev_err(&client->dev, "core version must be 0x53\n"); + dev_err(&client->dev, "excute core firmware update\n"); + ret = mms_ts_core_fw_load(info); + if (ret) { + dev_err(&client->dev, + "failed to initialize (%d)\n", ret); + goto err_config; + } + } + info->fw_ic_ver = get_fw_version_temp(info); + if (info->fw_ic_ver < FW_VERSION_L) { + dev_err(&client->dev, "firmware version error\n"); + dev_err(&client->dev, "panel:0x%x, bin:0x%x\n", + info->fw_ic_ver, FW_VERSION_L); + ret = mms_ts_core_fw_load(info); + if (ret) { + dev_err(&client->dev, + "failed to initialize (%d)\n", ret); + goto err_config; + } + } + } else { + info->panel = get_panel_version(info); + dev_info(&client->dev, "%c panel\n", info->panel); +#if 0 + if (info->panel == 'M') + ret = mms_ts_fw_load(info); + else + ret = mms_ts_fw_info(info); +#else + if (info->panel == 'M') { + if (info->fw_core_ver != 0x53) { + dev_err(&client->dev, "core version must be 0x53\n"); + dev_err(&client->dev, "excute core firmware update\n"); + ret = mms_ts_core_fw_load(info); + if (ret) { + dev_err(&client->dev, + "failed to initialize (%d)\n", + ret); + goto err_config; + } + } + info->fw_ic_ver = get_fw_version_temp(info); + if (info->fw_ic_ver < FW_VERSION_M) { + dev_err(&client->dev, "firmware version error\n"); + dev_err(&client->dev, "panel:0x%x, bin:0x%x\n", + info->fw_ic_ver, FW_VERSION_M); + ret = mms_ts_core_fw_load(info); + if (ret) { + dev_err(&client->dev, + "failed to initialize (%d)\n", + ret); + goto err_config; + } + } + } else if (info->panel == 'A') { + dev_info(&client->dev, "A panel. Do nothing\n"); + } else { + dev_err(&client->dev, "cannot read panel info\n"); + dev_err(&client->dev, "excute core firmware update\n"); + ret = mms_ts_core_fw_load(info); + if (ret) { + dev_err(&client->dev, + "failed to initialize (%d)\n", + ret); + goto err_config; + } + } +#endif + } + info->panel = get_panel_version(info); + dev_info(&client->dev, "%c panel\n", info->panel); + + ret = mms_ts_fw_info(info); + if (ret) { + dev_err(&client->dev, + "failed to initialize (%d)\n", ret); + goto err_config; + } + + if (info->panel == 'M') + info->tx_num = TX_NUM_M; + else + info->tx_num = TX_NUM_A; + + info->callbacks.inform_charger = melfas_ta_cb; + if (info->register_cb) + info->register_cb(&info->callbacks); + + snprintf(info->phys, sizeof(info->phys), + "%s/input0", dev_name(&client->dev)); + input_dev->name = "sec_touchscreen"; + input_dev->phys = info->phys; + input_dev->id.bustype = BUS_I2C; + input_dev->dev.parent = &client->dev; + + __set_bit(EV_ABS, input_dev->evbit); + __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); + + input_mt_init_slots(input_dev, MAX_FINGERS); + input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, + 0, MAX_PRESSURE, 0, 0); + input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR, + 0, MAX_PRESSURE, 0, 0); + input_set_abs_params(input_dev, ABS_MT_POSITION_X, + 0, (info->max_x)-1, 0, 0); + input_set_abs_params(input_dev, ABS_MT_POSITION_Y, + 0, (info->max_y)-1, 0, 0); + if (info->panel == 'M') { + input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, + 0, MAX_WIDTH, 0, 0); + input_set_abs_params(input_dev, ABS_MT_ANGLE, + MIN_ANGLE, MAX_ANGLE, 0, 0); + input_set_abs_params(input_dev, ABS_MT_PALM, + 0, 1, 0, 0); + } else { + input_set_abs_params(input_dev, ABS_MT_PRESSURE, + 0, MAX_WIDTH, 0, 0); + } + input_set_drvdata(input_dev, info); + + ret = input_register_device(input_dev); + if (ret) { + dev_err(&client->dev, "failed to register input dev (%d)\n", + ret); + goto err_reg_input_dev; + } + +#if TOUCH_BOOSTER + mutex_init(&info->dvfs_lock); + INIT_DELAYED_WORK(&info->work_dvfs_off, set_dvfs_off); + INIT_DELAYED_WORK(&info->work_dvfs_chg, change_dvfs_lock); + bus_dev = dev_get("exynos-busfreq"); + info->cpufreq_level = -1; + info->dvfs_lock_status = false; +#endif + + info->enabled = true; + + ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, + IRQF_TRIGGER_LOW | IRQF_ONESHOT, + MELFAS_TS_NAME, info); + if (ret < 0) { + dev_err(&client->dev, "Failed to register interrupt\n"); + goto err_req_irq; + } + info->irq = client->irq; + +#ifdef CONFIG_HAS_EARLYSUSPEND + info->early_suspend.level = EARLY_SUSPEND_LEVEL_STOP_DRAWING; + info->early_suspend.suspend = mms_ts_early_suspend; + info->early_suspend.resume = mms_ts_late_resume; + register_early_suspend(&info->early_suspend); +#endif + +#ifdef CONFIG_INPUT_FBSUSPEND + ret = tsp_register_fb(info); + if (ret) + pr_err("[TSP] Failed to register fb\n"); +#endif + + sec_touchscreen = device_create(sec_class, + NULL, 0, info, "sec_touchscreen"); + if (IS_ERR(sec_touchscreen)) { + dev_err(&client->dev, + "Failed to create device for the sysfs1\n"); + ret = -ENODEV; + } + +#ifdef SEC_TSP_FACTORY_TEST + INIT_LIST_HEAD(&info->cmd_list_head); + for (i = 0; i < ARRAY_SIZE(tsp_cmds); i++) + list_add_tail(&tsp_cmds[i].list, &info->cmd_list_head); + + mutex_init(&info->cmd_lock); + info->cmd_is_running = false; + + fac_dev_ts = device_create(sec_class, + NULL, 0, info, "tsp"); + if (IS_ERR(fac_dev_ts)) + dev_err(&client->dev, "Failed to create device for the sysfs\n"); + + ret = sysfs_create_group(&fac_dev_ts->kobj, + &sec_touch_factory_attr_group); + if (ret) + dev_err(&client->dev, "Failed to create sysfs group\n"); +#endif + return 0; + +err_req_irq: + input_unregister_device(input_dev); +err_reg_input_dev: +err_config: + input_free_device(input_dev); + /*input_dev = NULL;*/ +err_input_alloc: + kfree(info); +err_alloc: + return ret; + +} + +static int __devexit mms_ts_remove(struct i2c_client *client) +{ + struct mms_ts_info *info = i2c_get_clientdata(client); + + unregister_early_suspend(&info->early_suspend); +#ifdef CONFIG_INPUT_FBSUSPEND + tsp_unregister_fb(info); +#endif + if (info->irq >= 0) + free_irq(info->irq, info); + input_unregister_device(info->input_dev); + kfree(info); + + return 0; +} + +#if defined(CONFIG_PM) || defined(CONFIG_HAS_EARLYSUSPEND) +static int mms_ts_suspend(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mms_ts_info *info = i2c_get_clientdata(client); + + if (!info->enabled) { +#ifdef CONFIG_INPUT_FBSUSPEND + info->was_enabled_at_suspend = false; +#endif + return 0; + } + +#ifdef CONFIG_INPUT_FBSUSPEND + info->was_enabled_at_suspend = true; +#endif + dev_notice(&info->client->dev, "%s: users=%d\n", __func__, + info->input_dev->users); + + disable_irq(info->irq); + info->enabled = false; + touch_is_pressed = 0; + release_all_fingers(info); + info->pdata->power(0); + /* This delay needs to prevent unstable POR by + rapid frequently pressing of PWR key. */ + msleep(50); + return 0; +} + +static int mms_ts_resume(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mms_ts_info *info = i2c_get_clientdata(client); + + if (info->enabled) + return 0; + +#ifdef CONFIG_INPUT_FBSUSPEND + if (!info->was_enabled_at_suspend) + return 0; +#endif + dev_notice(&info->client->dev, "%s: users=%d\n", __func__, + info->input_dev->users); + info->pdata->power(1); + msleep(120); + + if (info->fw_ic_ver != 0x18) { + if (info->ta_status) { + dev_notice(&client->dev, "TA connect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x1); + } else { + dev_notice(&client->dev, "TA disconnect!!!\n"); + i2c_smbus_write_byte_data(info->client, 0x33, 0x2); + } + } + info->enabled = true; + mms_set_noise_mode(info); + + /* Because irq_type by EXT_INTxCON register is changed to low_level + * after wakeup, irq_type set to falling edge interrupt again. + */ + enable_irq(info->irq); + + return 0; +} +#endif + +#ifdef CONFIG_HAS_EARLYSUSPEND +static void mms_ts_early_suspend(struct early_suspend *h) +{ + struct mms_ts_info *info; + info = container_of(h, struct mms_ts_info, early_suspend); + mms_ts_suspend(&info->client->dev); + +} + +static void mms_ts_late_resume(struct early_suspend *h) +{ + struct mms_ts_info *info; + info = container_of(h, struct mms_ts_info, early_suspend); + mms_ts_resume(&info->client->dev); +} +#endif + +#if defined(CONFIG_PM) && !defined(CONFIG_HAS_EARLYSUSPEND) +static const struct dev_pm_ops mms_ts_pm_ops = { + .suspend = mms_ts_suspend, + .resume = mms_ts_resume, +#ifdef CONFIG_HIBERNATION + .freeze = mms_ts_suspend, + .thaw = mms_ts_resume, + .restore = mms_ts_resume, +#endif +}; +#endif + +static const struct i2c_device_id mms_ts_id[] = { + {MELFAS_TS_NAME, 0}, + {} +}; + +MODULE_DEVICE_TABLE(i2c, mms_ts_id); + +static struct i2c_driver mms_ts_driver = { + .probe = mms_ts_probe, + .remove = __devexit_p(mms_ts_remove), + .driver = { + .name = MELFAS_TS_NAME, +#if defined(CONFIG_PM) && !defined(CONFIG_HAS_EARLYSUSPEND) + .pm = &mms_ts_pm_ops, +#endif + }, + .id_table = mms_ts_id, +}; + +static int __init mms_ts_init(void) +{ + + return i2c_add_driver(&mms_ts_driver); + +} + +static void __exit mms_ts_exit(void) +{ + i2c_del_driver(&mms_ts_driver); +} + +module_init(mms_ts_init); +module_exit(mms_ts_exit); + +/* Module information */ +MODULE_DESCRIPTION("Touchscreen driver for Melfas MMS-series controllers"); +MODULE_LICENSE("GPL"); diff --git a/drivers/input/touchscreen/mms_ts.c b/drivers/input/touchscreen/mms_ts.c index 3afd366..67c6841 100644 --- a/drivers/input/touchscreen/mms_ts.c +++ b/drivers/input/touchscreen/mms_ts.c @@ -16,7 +16,7 @@ #define DEBUG /* #define VERBOSE_DEBUG */ -#define SEC_TSP_DEBUG +/*#define SEC_TSP_DEBUG*/ /* #define SEC_TSP_VERBOSE_DEBUG */ /* #define FORCE_FW_FLASH */ @@ -49,17 +49,9 @@ #include <linux/platform_data/mms_ts.h> #include <asm/unaligned.h> -//#include "mms_ts_fw.h" #include "../keyboard/cypress/cypress-touchkey.h" -#ifdef CONFIG_INPUT_FBSUSPEND -#ifdef CONFIG_DRM -#include <drm/drm_backlight.h> -#endif -#include <linux/fb.h> -#endif - #define MAX_FINGERS 10 #define MAX_WIDTH 30 #define MAX_PRESSURE 255 @@ -111,25 +103,8 @@ enum { #define ISC_CHECK_STATUS_CMD 0xAF #define ISC_CONFIRM_CRC 0x03 #define ISC_DEFAULT_CRC 0xFFFF - #endif -#if defined(CONFIG_MACH_M0) -#define TSP_FW_UPDATEABLE_HW_REV 11 -#elif defined(CONFIG_MACH_C1) && !defined(CONFIG_TARGET_LOCALE_KOR) -#define TSP_FW_UPDATEABLE_HW_REV 6 -#elif defined(CONFIG_MACH_C1_KOR_SKT) -#define TSP_FW_UPDATEABLE_HW_REV 9 -#elif defined(CONFIG_MACH_C1_KOR_KT) -#define TSP_FW_UPDATEABLE_HW_REV 9 -#elif defined(CONFIG_MACH_C1_KOR_LGT) -#define TSP_FW_UPDATEABLE_HW_REV 6 -#else -#define TSP_FW_UPDATEABLE_HW_REV 11 -#endif - - - #ifdef SEC_TSP_FACTORY_TEST #define TX_NUM 26 #define RX_NUM 14 @@ -171,14 +146,6 @@ int touch_is_pressed = 0; /* 4.8" OCTA LCD */ #define FW_VERSION_4_8 0xBB -/* 4.65" OCTA LCD */ -#ifdef CONFIG_SLP -#define FW_VERSION_4_65 0x66 -#include "465_SMD_V66.h" -#else -#define FW_VERSION_4_65 0xA8 -#include "M0_D2_C1_VA8.h" -#endif #define MAX_FW_PATH 255 #define TSP_FW_FILENAME "melfas_fw.bin" @@ -277,38 +244,33 @@ struct mms_ts_info { bool invert_y; const u8 *config_fw_version; int irq; - char *fw_name; - int (*power) (int on); - void (*input_event)(void *data); + int (*power) (bool on); struct melfas_tsi_platform_data *pdata; struct early_suspend early_suspend; -#if TOUCH_BOOSTER - struct delayed_work work_dvfs_off; - struct delayed_work work_dvfs_chg; - bool dvfs_lock_status; - int cpufreq_level; - struct mutex dvfs_lock; -#endif /* protects the enabled flag */ struct mutex lock; bool enabled; - - enum fw_flash_mode fw_flash_mode; void (*register_cb)(void *); struct tsp_callbacks callbacks; bool ta_status; bool noise_mode; - -#if defined(SEC_TSP_DEBUG) || defined(SEC_TSP_VERBOSE_DEBUG) unsigned char finger_state[MAX_FINGERS]; -#endif #if defined(SEC_TSP_FW_UPDATE) u8 fw_update_state; #endif -u8 fw_ic_ver; + u8 fw_ic_ver; + enum fw_flash_mode fw_flash_mode; + +#if TOUCH_BOOSTER + struct delayed_work work_dvfs_off; + struct delayed_work work_dvfs_chg; + bool dvfs_lock_status; + int cpufreq_level; + struct mutex dvfs_lock; +#endif #if defined(SEC_TSP_FACTORY_TEST) struct list_head cmd_list_head; @@ -325,13 +287,6 @@ u8 fw_ic_ver; unsigned int intensity[NODE_NUM]; bool ft_flag; #endif /* SEC_TSP_FACTORY_TEST */ - - int (*lcd_type) (void); - -#ifdef CONFIG_INPUT_FBSUSPEND - struct notifier_block fb_notif; - bool was_enabled_at_suspend; -#endif }; struct mms_fw_image { @@ -390,10 +345,10 @@ struct tsp_cmd tsp_cmds[] = { {TSP_CMD("get_fw_ver_ic", get_fw_ver_ic),}, {TSP_CMD("get_config_ver", get_config_ver),}, {TSP_CMD("get_threshold", get_threshold),}, - {TSP_CMD("module_off_master", module_off_master),}, +/* {TSP_CMD("module_off_master", module_off_master),}, {TSP_CMD("module_on_master", module_on_master),}, {TSP_CMD("module_off_slave", not_support_cmd),}, - {TSP_CMD("module_on_slave", not_support_cmd),}, + {TSP_CMD("module_on_slave", not_support_cmd),}, */ {TSP_CMD("get_chip_vendor", get_chip_vendor),}, {TSP_CMD("get_chip_name", get_chip_name),}, {TSP_CMD("get_x_num", get_x_num),}, @@ -498,122 +453,6 @@ out: #endif -#ifdef CONFIG_INPUT_FBSUSPEND -#ifdef CONFIG_DRM -static void melfas_set_power(void *priv, int power) -{ - struct mms_ts_info *info = (struct mms_ts_info *)priv; - int i; - - switch (power) { - case FB_BLANK_UNBLANK: - if (info->enabled == 0) { - info->pdata->power(true); - msleep(200); - enable_irq(info->client->irq); - info->enabled = 1; - } else { - pr_err("[TSP] touchscreen already on\n"); - } - break; - case FB_BLANK_POWERDOWN: - for (i = 0; i < MAX_FINGERS; i++) { - input_mt_slot(info->input_dev, i); - input_mt_report_slot_state(info->input_dev, - MT_TOOL_FINGER, false); - input_sync(info->input_dev); - } - if (info->enabled == 1) { - disable_irq(info->client->irq); - info->pdata->power(false); - info->enabled = 0; - } else { - pr_err("[TSP] touchscreen already off\n"); - } - break; - default: - break; - } -} - -static struct drm_bl_notifier bl_notifier = { - .set_power = melfas_set_power -}; - -static int tsp_register_fb(struct mms_ts_info *info) -{ - bl_notifier.dev = info->input_dev->dev; - bl_notifier.priv = (void *)info; - - return drm_bl_register(&bl_notifier.dev, BL_TSP_CLASS); -} - -static void tsp_unregister_fb(struct mms_ts_info *info) -{ - drm_bl_unregister(&bl_notifier.dev); -} -#else -static int -melfas_fb_notifier_callback(struct notifier_block *self, - unsigned long event, void *fb_evdata) -{ - struct mms_ts_info *info; - struct fb_event *evdata = fb_evdata; - int blank; - int i; - - /* If we aren't interested in this event, skip it immediately ... */ - if (event != FB_EVENT_BLANK) - return 0; - - info = container_of(self, struct mms_ts_info, fb_notif); - blank = *(int *)evdata->data; - - switch (blank) { - case FB_BLANK_UNBLANK: - if (info->enabled == 0) { - info->pdata->power(true); - msleep(200); - enable_irq(info->client->irq); - info->enabled = 1; - } else { - pr_err("[TSP] touchscreen already on\n"); - } - break; - case FB_BLANK_POWERDOWN: - for (i = 0; i < MAX_FINGERS; i++) { - input_mt_slot(info->input_dev, i); - input_mt_report_slot_state(info->input_dev, - MT_TOOL_FINGER, false); - input_sync(info->input_dev); - } - if (info->enabled == 1) { - disable_irq(info->client->irq); - info->pdata->power(false); - info->enabled = 0; - } else { - pr_err("[TSP] touchscreen already off\n"); - } - break; - default: - break; - } - return 0; -} - -static int tsp_register_fb(struct mms_ts_info *info) -{ - memset(&info->fb_notif, 0, sizeof(info->fb_notif)); - info->fb_notif.notifier_call = melfas_fb_notifier_callback; - return fb_register_client(&info->fb_notif); -} -static void tsp_unregister_fb(struct mms_ts_info *info) -{ - fb_unregister_client(&info->fb_notif); -} -#endif -#endif - static inline void mms_pwr_on_reset(struct mms_ts_info *info) { struct i2c_adapter *adapter = to_i2c_adapter(info->client->dev.parent); @@ -627,12 +466,12 @@ static inline void mms_pwr_on_reset(struct mms_ts_info *info) i2c_lock_adapter(adapter); info->pdata->mux_fw_flash(true); - info->pdata->power(0); + info->pdata->power(false); gpio_direction_output(info->pdata->gpio_sda, 0); gpio_direction_output(info->pdata->gpio_scl, 0); gpio_direction_output(info->pdata->gpio_int, 0); msleep(50); - info->pdata->power(1); + info->pdata->power(true); msleep(200); info->pdata->mux_fw_flash(false); @@ -642,6 +481,7 @@ static inline void mms_pwr_on_reset(struct mms_ts_info *info) * Find the right value */ msleep(250); } + static void release_all_fingers(struct mms_ts_info *info) { struct i2c_client *client = info->client; @@ -650,11 +490,9 @@ static void release_all_fingers(struct mms_ts_info *info) printk(KERN_DEBUG "[TSP] %s\n", __func__); for (i = 0; i < MAX_FINGERS; i++) { -#ifdef SEC_TSP_DEBUG if (info->finger_state[i] == 1) { dev_notice(&client->dev, "finger %d up(force)\n", i); } -#endif info->finger_state[i] = 0; input_mt_slot(info->input_dev, i); input_mt_report_slot_state(info->input_dev, MT_TOOL_FINGER, @@ -708,9 +546,8 @@ static void reset_mms_ts(struct mms_ts_info *info) } else { dev_notice(&client->dev, "TA disconnect!!!\n"); i2c_smbus_write_byte_data(info->client, 0x33, 0x2); - mms_set_noise_mode(info); } - + mms_set_noise_mode(info); dev_notice(&client->dev, "%s--\n", __func__); } @@ -731,13 +568,9 @@ static void melfas_ta_cb(struct tsp_callbacks *cb, bool ta_status) } else { dev_notice(&client->dev, "TA disconnect!!!\n"); i2c_smbus_write_byte_data(info->client, 0x33, 0x2); + } mms_set_noise_mode(info); -} } - -/* if (!ta_status) - mms_set_noise_mode(info); -*/ } static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) @@ -748,9 +581,7 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) int ret; int i; int sz; - u8 finger_event_sz; u8 reg = MMS_INPUT_EVENT0; - int _touch_is_pressed = 0; struct i2c_msg msg[] = { { .addr = client->addr, @@ -764,14 +595,8 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) }, }; -#ifdef CONFIG_SLP - if (info->input_event) - info->input_event(info); -#endif - sz = i2c_smbus_read_byte_data(client, MMS_INPUT_EVENT_PKT_SZ); - #if !defined(CONFIG_TARGET_LOCALE_KOR) if (sz < 0) { dev_err(&client->dev, "%s bytes=%d\n", __func__, sz); for (i = 0; i < 50; i++) { @@ -787,24 +612,6 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) goto out; } } - #else - if (sz < 0) { - dev_err(&client->dev, "%s bytes=%d\n", __func__, sz); - for (i = 0; i < 5; i++) { - msleep(20); - sz = i2c_smbus_read_byte_data(client, - MMS_INPUT_EVENT_PKT_SZ); - if (sz > 0) - break; - } - - if (i == 5) { - dev_dbg(&client->dev, "[TSP] i2c failed E1... reset!!\n"); - reset_mms_ts(info); - goto out; - } - } - #endif /* BUG_ON(sz > MAX_FINGERS*FINGER_EVENT_SZ); */ if (sz == 0) @@ -821,33 +628,14 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) dev_err(&client->dev, "failed to read %d bytes of touch data (%d)\n", sz, ret); - #if !defined(CONFIG_TARGET_LOCALE_KOR) goto out; - #else - if (ret < 0) { - dev_err(&client->dev, - "%s bytes=%d\n", __func__, sz); - for (i = 0; i < 5; i++) { - msleep(20); - ret = i2c_transfer(client->adapter, - msg, ARRAY_SIZE(msg)); - if (ret > 0) - break; - } - if (i == 5) { - dev_dbg(&client->dev, - "[TSP] i2c failed E2... reset!!\n"); - reset_mms_ts(info); - goto out; - } - } - #endif } + #if defined(VERBOSE_DEBUG) print_hex_dump(KERN_DEBUG, "mms_ts raw: ", DUMP_PREFIX_OFFSET, 32, 1, buf, sz, false); - #endif + if (buf[0] == 0x0F) { /* ESD */ dev_dbg(&client->dev, "ESD DETECT.... reset!!\n"); reset_mms_ts(info); @@ -868,6 +656,7 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) int y = tmp[3] | (((tmp[1] >> 4) & 0xf) << 8); int angle = (tmp[5] >= 127) ? (-(256 - tmp[5])) : tmp[5]; int palm = (tmp[0] & 0x10) >> 4; + if (info->invert_x) { x = info->max_x - x; if (x < 0) @@ -886,33 +675,25 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) } if ((tmp[0] & 0x80) == 0) { -#if 0 /*defined(SEC_TSP_DEBUG)*/ +#if defined(SEC_TSP_DEBUG) dev_dbg(&client->dev, "finger id[%d]: x=%d y=%d p=%d w=%d major=%d minor=%d angle=%d palm=%d\n", id, x, y, tmp[5], tmp[4], tmp[6], tmp[7] , angle, palm); #else if (info->finger_state[id] != 0) { - // report state to cypress-touchkey for backlight timeout touchscreen_state_report(0); -#if defined(SEC_TSP_EVENT_DEBUG) && defined(CONFIG_TARGET_LOCALE_KOR) - printk(KERN_DEBUG "[TSP] POS[%d](%4d,%4d)[U] tp = %d\n", - id, x, y, touch_is_pressed); -#else dev_notice(&client->dev, "finger [%d] up, palm %d\n", id, palm); -#endif } #endif input_mt_slot(info->input_dev, id); input_mt_report_slot_state(info->input_dev, MT_TOOL_FINGER, false); -#if defined(SEC_TSP_DEBUG) || defined(SEC_TSP_VERBOSE_DEBUG) info->finger_state[id] = 0; -#endif continue; } @@ -927,7 +708,7 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) input_report_abs(info->input_dev, ABS_MT_ANGLE, angle); input_report_abs(info->input_dev, ABS_MT_PALM, palm); -#if 0/*defined(SEC_TSP_DEBUG)*/ +#if defined(SEC_TSP_DEBUG) if (info->finger_state[id] == 0) { info->finger_state[id] = 1; dev_dbg(&client->dev, @@ -946,16 +727,10 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) // report state to cypress-touchkey for backlight timeout touchscreen_state_report(1); -#if defined(SEC_TSP_EVENT_DEBUG) && defined(CONFIG_TARGET_LOCALE_KOR) - printk(KERN_DEBUG "[TSP] POS[%d](%4d,%4d)[D] tp = %d\n", - id, x, y, touch_is_pressed); -#elif defined(SEC_TSP_DEBUG) dev_notice(&client->dev, "finger [%d] down, palm %d\n", id, palm); -#endif } #endif - } input_sync(info->input_dev); touch_is_pressed = 0; @@ -968,7 +743,6 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) #if TOUCH_BOOSTER set_dvfs_lock(info, !!touch_is_pressed); #endif - out: return IRQ_HANDLED; } @@ -1542,12 +1316,12 @@ ISC_ERROR_HANDLE: static void hw_reboot(struct mms_ts_info *info, bool bootloader) { - info->pdata->power(0); + info->pdata->power(false); gpio_direction_output(info->pdata->gpio_sda, bootloader ? 0 : 1); gpio_direction_output(info->pdata->gpio_scl, bootloader ? 0 : 1); gpio_direction_output(info->pdata->gpio_int, 0); msleep(30); - info->pdata->power(1); + info->pdata->power(true); msleep(30); if (bootloader) { @@ -1800,7 +1574,7 @@ static int fw_download(struct mms_ts_info *info, const u8 * data, size_t len) dev_info(&client->dev, "fw download start\n"); - info->pdata->power(0); + info->pdata->power(false); gpio_direction_output(info->pdata->gpio_sda, 0); gpio_direction_output(info->pdata->gpio_scl, 0); gpio_direction_output(info->pdata->gpio_int, 0); @@ -2029,16 +1803,9 @@ static int mms_ts_finish_config(struct mms_ts_info *info) struct i2c_client *client = info->client; int ret; - #if defined(CONFIG_TARGET_LOCALE_KOR) - ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, - IRQF_TRIGGER_FALLING | IRQF_ONESHOT, - MELFAS_TS_NAME, info); - #else ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, IRQF_TRIGGER_LOW | IRQF_ONESHOT, MELFAS_TS_NAME, info); - #endif - if (ret < 0) { ret = 1; @@ -2253,22 +2020,22 @@ static void get_raw_data_all(struct mms_ts_info *info, u8 cmd) } if (cmd == MMS_VSC_CMD_INTENSITY) { - info->intensity[j * RX_NUM + i] = raw_data; + info->intensity[i * TX_NUM + j] = raw_data; dev_dbg(&info->client->dev, "[TSP] intensity[%d][%d] = %d\n", - i, j, info->intensity[j * RX_NUM + i]); + j, i, info->intensity[i * TX_NUM + j]); } else if (cmd == MMS_VSC_CMD_CM_DELTA) { - info->inspection[j * RX_NUM + i] = raw_data; + info->inspection[i * TX_NUM + j] = raw_data; dev_dbg(&info->client->dev, "[TSP] delta[%d][%d] = %d\n", - i, j, info->inspection[j * RX_NUM + i]); + j, i, info->inspection[i * TX_NUM + j]); } else if (cmd == MMS_VSC_CMD_CM_ABS) { - info->raw[j * RX_NUM + i] = raw_data; + info->raw[i * TX_NUM + j] = raw_data; dev_dbg(&info->client->dev, "[TSP] raw[%d][%d] = %d\n", - i, j, info->raw[j * RX_NUM + i]); + j, i, info->raw[i * TX_NUM + j]); } else if (cmd == MMS_VSC_CMD_REFER) { - info->reference[j * RX_NUM + i] = + info->reference[i * TX_NUM + j] = raw_data >> 3; dev_dbg(&info->client->dev, "[TSP] reference[%d][%d] = %d\n", - i, j, info->reference[j * RX_NUM + i]); + j, i, info->reference[i * TX_NUM + j]); } } @@ -2372,7 +2139,7 @@ static int check_rx_tx_num(void *device_data) node = -1; return node; } - node = info->cmd_param[1] * RX_NUM + info->cmd_param[0]; + node = info->cmd_param[1] * TX_NUM + info->cmd_param[0]; dev_info(&info->client->dev, "%s: node = %d\n", __func__, node); return node; @@ -2399,61 +2166,40 @@ static void fw_update(void *device_data) struct i2c_client *client = info->client; struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); int ret = 0; - int ver = 0, hw_rev = 0, fw_bin_ver = 0; + int ver = 0, fw_bin_ver = 0; int retries = 5; const u8 *buff = 0; mm_segment_t old_fs = {0}; struct file *fp = NULL; long fsize = 0, nread = 0; - const struct firmware *tsp_fw = NULL; char fw_path[MAX_FW_PATH+1]; char result[16] = {0}; set_default_result(info); - hw_rev = get_hw_version(info); - if (hw_rev == 0x1) - fw_bin_ver = FW_VERSION_4_8; - else if (hw_rev == 0x0C) - fw_bin_ver = FW_VERSION_4_65; - dev_info(&client->dev, "fw_ic_ver = 0x%02x, fw_bin_ver = 0x%02x\n", info->fw_ic_ver, fw_bin_ver); - if (info->cmd_param[0] == 0 - && info->fw_ic_ver >= fw_bin_ver) { - dev_info(&client->dev, - "fw version update does not need\n"); - info->cmd_state = 2; - goto do_not_need_update; - } - switch (info->cmd_param[0]) { case BUILT_IN: - if (hw_rev == 0x1) { - dev_info(&client->dev, "built in 4.8 fw is loaded!!\n"); - - while (retries--) { - ret = mms100_ISC_download_mbinary(info); - ver = get_fw_version(info); - info->fw_ic_ver = ver; - if (ret == 0) { - pr_err("[TSP] mms100_ISC_download_mbinary success"); - info->cmd_state = 2; - return; - } else { - pr_err("[TSP] mms100_ISC_download_mbinary fail[%d]", - ret); - info->cmd_state = 3; - } + dev_info(&client->dev, "built in 4.8 fw is loaded!!\n"); + + while (retries--) { + ret = mms100_ISC_download_mbinary(info); + ver = get_fw_version(info); + info->fw_ic_ver = ver; + if (ret == 0) { + pr_err("[TSP] mms100_ISC_download_mbinary success"); + info->cmd_state = 2; + return; + } else { + pr_err("[TSP] mms100_ISC_download_mbinary fail[%d]", + ret); + info->cmd_state = 3; } - return; - } else if (hw_rev == 0x0C) { - buff = MELFAS_binary_4_65; - fsize = MELFAS_binary_nLength_4_65; - dev_info(&client->dev, "built in 4.65 fw is loaded!!\n"); } + return; break; case UMS: @@ -2490,29 +2236,6 @@ static void fw_update(void *device_data) set_fs(old_fs); dev_info(&client->dev, "ums fw is loaded!!\n"); break; - - case REQ_FW: - dev_info(&client->dev, "Entered REQ_FW case\n"); - ret = request_firmware(&tsp_fw, TSP_FW_FILENAME, - &(client->dev)); - if (ret) { - dev_err(&client->dev, "request firmware error!!\n"); - goto not_support; - } - - fsize = tsp_fw->size; - buff = kzalloc((size_t)fsize, GFP_KERNEL); - if (!buff) { - dev_err(&client->dev, "fail to alloc buffer for fw\n"); - info->cmd_state = 3; - release_firmware(tsp_fw); - goto not_support; - } - - memcpy((void *)buff, tsp_fw->data, fsize); - release_firmware(tsp_fw); - break; - default: dev_err(&client->dev, "invalid fw file type!!\n"); goto not_support; @@ -2587,11 +2310,8 @@ static void get_fw_ver_bin(void *device_data) int hw_rev; set_default_result(info); - hw_rev = get_hw_version(info); - if (hw_rev == 0x01) - snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_4_8); - else - snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_4_65); + + snprintf(buff, sizeof(buff), "%#02x", FW_VERSION_4_8); set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); info->cmd_state = 2; @@ -2655,7 +2375,7 @@ static void get_threshold(void *device_data) dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, strnlen(buff, sizeof(buff))); } - +/* static void module_off_master(void *device_data) { struct mms_ts_info *info = (struct mms_ts_info *)device_data; @@ -2733,7 +2453,7 @@ static void module_on_slave(void *device_data) not_support_cmd(info); } - +*/ static void get_chip_vendor(void *device_data) { struct mms_ts_info *info = (struct mms_ts_info *)device_data; @@ -3212,7 +2932,7 @@ static int __devinit mms_ts_probe(struct i2c_client *client, #endif touch_is_pressed = 0; -#if defined(CONFIG_MACH_M0) || defined(CONFIG_MACH_C1) +#if 0 gpio_request(GPIO_OLED_DET, "OLED_DET"); ret = gpio_get_value(GPIO_OLED_DET); printk(KERN_DEBUG @@ -3247,7 +2967,7 @@ static int __devinit mms_ts_probe(struct i2c_client *client, info->pdata = client->dev.platform_data; if (NULL == info->pdata) { pr_err("failed to get platform data\n"); - goto err_config; + goto err_reg_input_dev; } info->irq = -1; mutex_init(&info->lock); @@ -3258,45 +2978,12 @@ static int __devinit mms_ts_probe(struct i2c_client *client, info->invert_x = info->pdata->invert_x; info->invert_y = info->pdata->invert_y; info->config_fw_version = info->pdata->config_fw_version; - info->lcd_type = info->pdata->lcd_type; - info->input_event = info->pdata->input_event; info->register_cb = info->pdata->register_cb; } else { info->max_x = 720; info->max_y = 1280; } - i2c_set_clientdata(client, info); - - info->callbacks.inform_charger = melfas_ta_cb; - if (info->register_cb) - info->register_cb(&info->callbacks); - - info->pdata->power(true); - msleep(100); - - ret = i2c_master_recv(client, buf, 1); - if (ret < 0) { /* tsp connect check */ - pr_err("%s: i2c fail...tsp driver unload [%d], Add[%d]\n", - __func__, ret, info->client->addr); - goto err_config; - } - -#if defined(CONFIG_MACH_M0_CMCC) || defined(CONFIG_MACH_M0_CTC)\ -|| defined(CONFIG_MACH_M0_CHNOPEN) - /* do nothing */ -#else - if (system_rev >= TSP_FW_UPDATEABLE_HW_REV) - ret = mms_ts_fw_load(info); - else -#endif - ret = mms_ts_fw_info(info); - - if (ret) { - dev_err(&client->dev, "failed to initialize (%d)\n", ret); - goto err_config; - } - snprintf(info->phys, sizeof(info->phys), "%s/input0", dev_name(&client->dev)); input_dev->name = "sec_touchscreen"; /*= "Melfas MMSxxx Touchscreen";*/ @@ -3305,22 +2992,15 @@ static int __devinit mms_ts_probe(struct i2c_client *client, input_dev->dev.parent = &client->dev; __set_bit(EV_ABS, input_dev->evbit); -#ifdef CONFIG_SLP - __set_bit(EV_KEY, input_dev->evbit); - __set_bit(BTN_TOUCH, input_dev->keybit); -#endif __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); input_mt_init_slots(input_dev, MAX_FINGERS); - input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, 0, MAX_WIDTH, 0, 0); + input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, + 0, MAX_WIDTH, 0, 0); input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, (info->max_x)-1, 0, 0); input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, (info->max_y)-1, 0, 0); -#ifdef CONFIG_SLP - input_set_abs_params(input_dev, ABS_X, 0, info->max_x, 0, 0); - input_set_abs_params(input_dev, ABS_Y, 0, info->max_y, 0, 0); -#endif input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, MAX_PRESSURE, 0, 0); input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR, @@ -3347,25 +3027,37 @@ static int __devinit mms_ts_probe(struct i2c_client *client, info->dvfs_lock_status = false; #endif + i2c_set_clientdata(client, info); + info->pdata->power(true); + msleep(100); + + ret = i2c_master_recv(client, buf, 1); + if (ret < 0) { /* tsp connect check */ + pr_err("%s: i2c fail...tsp driver unload [%d], Add[%d]\n", + __func__, ret, info->client->addr); + goto err_config; + } + + ret = mms_ts_fw_load(info); +/* ret = mms_ts_fw_info(info); */ + + if (ret) { + dev_err(&client->dev, "failed to initialize (%d)\n", ret); + goto err_config; + } + info->enabled = true; + info->callbacks.inform_charger = melfas_ta_cb; + if (info->register_cb) + info->register_cb(&info->callbacks); #ifdef CONFIG_HAS_EARLYSUSPEND -#if defined(CONFIG_TARGET_LOCALE_KOR) - info->early_suspend.level = EARLY_SUSPEND_LEVEL_DISABLE_FB+1; -#else info->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; -#endif info->early_suspend.suspend = mms_ts_early_suspend; info->early_suspend.resume = mms_ts_late_resume; register_early_suspend(&info->early_suspend); #endif -#ifdef CONFIG_INPUT_FBSUSPEND - ret = tsp_register_fb(info); - if (ret) - pr_err("[TSP] Failed to register fb\n"); -#endif - sec_touchscreen = device_create(sec_class, NULL, 0, info, "sec_touchscreen"); if (IS_ERR(sec_touchscreen)) { @@ -3394,14 +3086,12 @@ static int __devinit mms_ts_probe(struct i2c_client *client, #endif return 0; -err_reg_input_dev: +err_config: input_unregister_device(input_dev); +err_reg_input_dev: input_free_device(input_dev); -err_config: - //input_unregister_device(input_dev); - //input_dev = NULL; err_input_alloc: - kfree(info->fw_name); + input_dev = NULL; kfree(info); err_alloc: return ret; @@ -3413,13 +3103,10 @@ static int __devexit mms_ts_remove(struct i2c_client *client) struct mms_ts_info *info = i2c_get_clientdata(client); unregister_early_suspend(&info->early_suspend); -#ifdef CONFIG_INPUT_FBSUSPEND - tsp_unregister_fb(info); -#endif + if (info->irq >= 0) free_irq(info->irq, info); input_unregister_device(info->input_dev); - kfree(info->fw_name); kfree(info); return 0; @@ -3431,16 +3118,9 @@ static int mms_ts_suspend(struct device *dev) struct i2c_client *client = to_i2c_client(dev); struct mms_ts_info *info = i2c_get_clientdata(client); - if (!info->enabled) { -#ifdef CONFIG_INPUT_FBSUSPEND - info->was_enabled_at_suspend = false; -#endif + if (!info->enabled) return 0; - } -#ifdef CONFIG_INPUT_FBSUSPEND - info->was_enabled_at_suspend = true; -#endif dev_notice(&info->client->dev, "%s: users=%d\n", __func__, info->input_dev->users); @@ -3448,7 +3128,7 @@ static int mms_ts_suspend(struct device *dev) info->enabled = false; touch_is_pressed = 0; release_all_fingers(info); - info->pdata->power(0); + info->pdata->power(false); /* This delay needs to prevent unstable POR by rapid frequently pressing of PWR key. */ msleep(50); @@ -3464,13 +3144,9 @@ static int mms_ts_resume(struct device *dev) if (info->enabled) return 0; -#ifdef CONFIG_INPUT_FBSUSPEND - if (!info->was_enabled_at_suspend) - return 0; -#endif dev_notice(&info->client->dev, "%s: users=%d\n", __func__, info->input_dev->users); - info->pdata->power(1); + info->pdata->power(true); msleep(120); if (info->ta_status) { @@ -3481,18 +3157,13 @@ static int mms_ts_resume(struct device *dev) i2c_smbus_write_byte_data(info->client, 0x33, 0x2); } - mms_set_noise_mode(info); - /* Because irq_type by EXT_INTxCON register is changed to low_level * after wakeup, irq_type set to falling edge interrupt again. */ - #if defined(CONFIG_TARGET_LOCALE_KOR) - irq_set_irq_type(client->irq, IRQ_TYPE_EDGE_FALLING); - msleep(20); - #endif enable_irq(info->irq); info->enabled = true; + mms_set_noise_mode(info); return 0; } #endif diff --git a/drivers/input/touchscreen/mms_ts_gc.c b/drivers/input/touchscreen/mms_ts_gc.c index 6fe7dbb..7efe079 100644 --- a/drivers/input/touchscreen/mms_ts_gc.c +++ b/drivers/input/touchscreen/mms_ts_gc.c @@ -16,9 +16,10 @@ */ #define SHOW_COORD 1 +#define FW_UPDATABLE 1 #define ISC_DL_MODE 1 -#define TOUCH_BOOSTER 0 -#define SEC_TSP_FACTORY_TEST +#define TOUCH_BOOSTER 1 +#define SEC_TSP_FACTORY_TEST 1 /* #define ESD_DEBUG */ #include <linux/delay.h> @@ -44,25 +45,33 @@ #include <mach/dev.h> #endif -/* Model dependency values */ +#define EVENT_SZ_8_BYTES 8 +#define EVENT_SZ_6_BYTES 6 #define MAX_FINGERS 10 #define MAX_WIDTH 30 #define MAX_PRESSURE 255 -#define FINGER_EVENT_SZ 6 -#define TSP_VENDOR "MELFAS" -#define TSP_IC "MMS136" -#define FW_VERSION 0x02 /* GC Bring-up */ +#define MAX_ANGLE 90 +#define MIN_ANGLE -90 /* Registers */ #define MMS_INPUT_EVENT_PKT_SZ 0x0F #define MMS_INPUT_EVENT0 0x10 -#define MMS_FW_VER_CORE 0xF3 /* GC Bring-up */ -#define MMS_FW_VER_PRIV 0xF4 /* GC Bring-up */ -#define MMS_FW_VER_PUBL 0xF5 /* GC Bring-up */ -#define MMS_FW_VERSION 0xF5 /* GC Bring-up */ -#define MMS_TA_NOISE_REG 0x30 -#define MMS_TA_NOISE_ON 0x01 -#define MMS_TA_NOISE_OFF 0x02 + +#define MMS_TSP_REVISION 0xF0 +#define MMS_HW_REVISION 0xF1 +#define MMS_COMPAT_GROUP 0xF2 +#define MMS_FW_VERSION 0xF3 + +#define MMS_TA_REG 0x60 +#define MMS_TA_OFF 0x00 +#define MMS_TA_ON 0x01 +#define MMS_NOISE_REG 0x61 +#define MMS_NOISE_OFF 0x00 +#define MMS_NOISE_ON 0x01 + +#if FW_UPDATABLE +#include "GC_BOOT.h" +#endif enum { TSP_STATE_RELEASE = 0, @@ -71,12 +80,30 @@ enum { }; #if TOUCH_BOOSTER +#define TOUCH_BOOSTER_CPU_CLK 800000 +#define TOUCH_BOOSTER_BUS_CLK_266 267160 +#define TOUCH_BOOSTER_BUS_CLK_400 400200 #define TOUCH_BOOSTER_OFF_TIME 100 #define TOUCH_BOOSTER_CHG_TIME 200 +enum { + TOUCH_BOOSTER_DELAY_OFF = 0, + TOUCH_BOOSTER_ON, + TOUCH_BOOSTER_QUICK_OFF, +}; #endif #if ISC_DL_MODE /* ISC_DL_MODE start */ -#define MAX_FW_PATH 255 +char *isc_dl_msg; +char *isc_dl_msg_temp; +#define ISC_DL_MSG(args ...) \ +do { \ + sprintf(isc_dl_msg_temp, args); \ + strcat(isc_dl_msg, isc_dl_msg_temp); \ +} while (0) + +#define MAX_FW_PATH 255 +#define FW_DIRECTORY "tsp_melfas/gc/" + enum { BUILT_IN = 0, UMS, @@ -84,6 +111,17 @@ enum { }; enum { + COMPARE_UPDATE = 0, + FORCED_UPDATE, +}; + +enum { + PANEL_MOREENS = 'A', + PANEL_SMAC = 'B', + PANEL_SMAC_NEW = 'C', +}; + +enum { ISC_NONE = -1, ISC_SUCCESS = 0, ISC_FILE_OPEN_ERROR, @@ -195,10 +233,6 @@ static bool section_update_flag[SECTION_NUM]; const struct firmware *fw_mbin[SECTION_NUM]; static unsigned char g_wr_buf[1024 + 3 + 2]; -enum { - COMPARE_UPDATE = 0, - FORCED_UPDATE, -}; #endif /* ISC_DL_MODE end */ enum { @@ -211,11 +245,7 @@ enum { #define ISP_MAX_FW_SIZE (0x1F00 * 4) #define ISP_IC_INFO_ADDR 0x1F00 -#ifdef SEC_TSP_FACTORY_TEST -/* Model dependency values */ -#define TX_NUM 19 /* GC Bring-up */ -#define RX_NUM 11 /* GC Bring-up */ -#define NODE_NUM (TX_NUM * RX_NUM) +#if SEC_TSP_FACTORY_TEST #define TSP_BUF_SIZE 1024 /* VSC(Vender Specific Command) */ @@ -265,6 +295,8 @@ struct mms_ts_info { void (*input_event)(void *data); bool enabled; u8 fw_ic_ver; + u8 panel_type; + int finger_byte; const u8 *config_fw_version; unsigned char finger_state[MAX_FINGERS]; @@ -287,7 +319,7 @@ struct mms_ts_info { struct device *sec_touchscreen; #endif /* TOUCH_BOOSTER */ -#if defined(SEC_TSP_FACTORY_TEST) +#if SEC_TSP_FACTORY_TEST struct list_head cmd_list_head; u8 cmd_state; char cmd[TSP_CMD_STR_LEN]; @@ -296,11 +328,10 @@ struct mms_ts_info { struct mutex cmd_lock; bool cmd_is_running; bool ft_flag; - - unsigned int reference[NODE_NUM]; - unsigned int raw[NODE_NUM]; /* CM_ABS */ - unsigned int inspection[NODE_NUM];/* CM_DELTA */ - unsigned int intensity[NODE_NUM]; + unsigned int *reference; + unsigned int *cm_abs; + unsigned int *cm_delta; + unsigned int *intensity; #endif /* SEC_TSP_FACTORY_TEST */ }; @@ -309,7 +340,7 @@ static void mms_ts_early_suspend(struct early_suspend *h); static void mms_ts_late_resume(struct early_suspend *h); #endif -#if defined(SEC_TSP_FACTORY_TEST) +#if SEC_TSP_FACTORY_TEST #define TSP_CMD(name, func) .cmd_name = name, .cmd_func = func struct tsp_cmd { @@ -395,7 +426,7 @@ static int mms100_i2c_read(struct i2c_client *client, } if (ret < 0) - pr_err("[TSP] : read error : [%d]", ret); + ISC_DL_MSG("[TSP ISC] i2c read error : [%d]\n", ret); return ret; } @@ -443,7 +474,7 @@ static int mms100_get_version_info(struct i2c_client *_client) ret = mms100_i2c_read(_client, ISC_ADDR_VERSION, 4, rd_buf); if (ret < 0) { - pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + ISC_DL_MSG("[TSP ISC] %s,%d: i2c read fail[%d]\n", __func__, __LINE__, ret); return ISC_I2C_ERROR; } @@ -460,7 +491,7 @@ static int mms100_get_version_info(struct i2c_client *_client) ret = mms100_i2c_read(_client, ISC_ADDR_SECTION_PAGE_INFO, 8, rd_buf); if (ret < 0) { - pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + ISC_DL_MSG("[TSP ISC] %s,%d: i2c read fail[%d]\n", __func__, __LINE__, ret); return ISC_I2C_ERROR; } @@ -470,16 +501,10 @@ static int mms100_get_version_info(struct i2c_client *_client) ts_info[i].end_addr = rd_buf[i + SECTION_NUM]; } - for (i = 0; i < SECTION_NUM; i++) { - pr_info("[TSP ISC] TS : Section(%d) version: 0x%02X", - i, ts_info[i].version); - pr_info("[TSP ISC] TS : Section(%d) Start Address: 0x%02X", - i, ts_info[i].start_addr); - pr_info("[TSP ISC] TS : Section(%d) End Address: 0x%02X", - i, ts_info[i].end_addr); - pr_info("[TSP ISC] TS : Section(%d) Compatibility: 0x%02X", - i, ts_info[i].compatible_version); - } + for (i = 0; i < SECTION_NUM; i++) + ISC_DL_MSG("[TSP ISC] IC (%d): Ver[0x%02X] Addr[0x%02X]~[0x%02X] Compatibility[0x%02X]\n", + i, ts_info[i].version, ts_info[i].start_addr, + ts_info[i].end_addr, ts_info[i].compatible_version); return ISC_SUCCESS; } @@ -498,7 +523,7 @@ static int mms100_seek_section_info(void) for (i = 0; i < SECTION_NUM; i++) { if (tsp_firmware_file[i] == NULL) { buf = NULL; - pr_info("[TSP ISC] tsp_firmware_file[%d] is NULL", i); + ISC_DL_MSG("[TSP ISC] F/W file[%d] is NULL\n", i); } else buf = tsp_firmware_file[i]; @@ -565,16 +590,10 @@ static int mms100_seek_section_info(void) } } - for (i = 0; i < SECTION_NUM; i++) { - pr_info("[TSP ISC] MBin : Section(%d) Version: 0x%02X", - i, mbin_info[i].version); - pr_info("[TSP ISC] MBin : Section(%d) Start Address: 0x%02X", - i, mbin_info[i].start_addr); - pr_info("[TSP ISC] MBin : Section(%d) End Address: 0x%02X", - i, mbin_info[i].end_addr); - pr_info("[TSP ISC] MBin : Section(%d) Compatibility: 0x%02X", - i, mbin_info[i].compatible_version); - } + for (i = 0; i < SECTION_NUM; i++) + ISC_DL_MSG("[TSP ISC] mBin (%d): Ver[0x%02X] Addr[0x%02X]~[0x%02X] Compatibility[0x%02X]\n", + i, mbin_info[i].version, mbin_info[i].start_addr, + mbin_info[i].end_addr, mbin_info[i].compatible_version); return ISC_SUCCESS; } @@ -596,18 +615,16 @@ static int mms100_compare_version_info(struct i2c_client *_client, /* Check update areas , 0 : bootloader 1: core 2: private 3: public */ for (i = SEC_CORE; i < SECTION_NUM; i++) { if ((mbin_info[i].version == 0) || - (mbin_info[i].version != ts_info[i].version)) { + (mbin_info[i].version > ts_info[i].version)) section_update_flag[i] = true; - pr_info("[TSP ISC] [%d] section will be updated!", i); - } } if (forced_update) { section_update_flag[SEC_CORE] = true; section_update_flag[SEC_PRIVATE_CONFIG] = true; section_update_flag[SEC_PUBLIC_CONFIG] = true; - pr_info("[TSP ISC] forced_update enable!"); + ISC_DL_MSG("[TSP ISC] forced_update enable!\n"); } - pr_info("[TSP ISC] section_update_flag : [%d][%d][%d]", + ISC_DL_MSG("[TSP ISC] Update_flag : Core[%d] PRIV[%d] PUBL[%d]\n", section_update_flag[1], section_update_flag[2], section_update_flag[3]); @@ -629,25 +646,13 @@ static int mms100_compare_version_info(struct i2c_client *_client, ts_info[SEC_CORE].version; } - for (i = SEC_CORE; i < SEC_PUBLIC_CONFIG; i++) { - if (section_update_flag[i]) { - pr_info("[TSP ISC] section_update_flag(%d), 0x%02x, 0x%02x\n", - i, expected_compatibility[i], - mbin_info[i].compatible_version); - if (!forced_update) { - if (expected_compatibility[i] != - mbin_info[i].compatible_version) - return ISC_COMPATIVILITY_ERROR; - } - } else { - pr_info("[TSP ISC] !section_update_flag(%d), 0x%02x, 0x%02x\n", - i, expected_compatibility[i], - ts_info[i].compatible_version); - if (!forced_update) { - if (expected_compatibility[i] != - ts_info[i].compatible_version) - return ISC_COMPATIVILITY_ERROR; - } + for (i = SEC_CORE; i <= SEC_PUBLIC_CONFIG; i++) { + if (expected_compatibility[i] != ts_info[i].compatible_version + && !forced_update) { + ISC_DL_MSG("[TSP ISC] compatible error(%d)- expected:[0x%02x] mbin:[0x%02x]\n", + i, expected_compatibility[i], + mbin_info[i].compatible_version); + return ISC_COMPATIVILITY_ERROR; } } return ISC_SUCCESS; @@ -658,15 +663,13 @@ static int mms100_enter_ISC_mode(struct i2c_client *_client) int ret; unsigned char wr_buf[2]; - pr_info("[TSP ISC] %s\n", __func__); - wr_buf[0] = ISC_CMD_ENTER_ISC; wr_buf[1] = ISC_CMD_ENTER_ISC_PARA1; ret = i2c_master_send(_client, wr_buf, 2); if (ret < 0) { - pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + ISC_DL_MSG("[TSP ISC] %s,%d: i2c write fail[%d]\n", __func__, __LINE__, ret); return ISC_I2C_ERROR; } @@ -688,14 +691,14 @@ static int mms100_enter_config_update(struct i2c_client *_client) ret = i2c_master_send(_client, wr_buf, 10); if (ret < 0) { - pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + ISC_DL_MSG("[TSP ISC] %s,%d: i2c write fail[%d]\n", __func__, __LINE__, ret); return ISC_I2C_ERROR; } ret = mms100_i2c_read(_client, ISC_CMD_CONFIRM_STATUS, 1, &rd_buf); if (ret < 0) { - pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + ISC_DL_MSG("[TSP ISC] %s,%d: i2c read fail[%d]\n", __func__, __LINE__, ret); return ISC_I2C_ERROR; } @@ -724,7 +727,7 @@ static int mms100_ISC_clear_page(struct i2c_client *_client, ret = i2c_master_send(_client, g_wr_buf, PACKET_SIZE); if (ret < 0) { - pr_info("[TSP ISC] %s,%d: i2c write fail[%d]\n", + ISC_DL_MSG("[TSP ISC] %s,%d: i2c write fail[%d]\n", __func__, __LINE__, ret); return ISC_I2C_ERROR; } @@ -732,7 +735,7 @@ static int mms100_ISC_clear_page(struct i2c_client *_client, ret = mms100_i2c_read(_client, ISC_CMD_CONFIRM_STATUS, 1, &rd_buf); if (ret < 0) { - pr_info("[TSP ISC] %s,%d: i2c read fail[%d]\n", + ISC_DL_MSG("[TSP ISC] %s,%d: i2c read fail[%d]\n", __func__, __LINE__, ret); return ISC_I2C_ERROR; } @@ -799,7 +802,7 @@ static int mms100_update_section_data(struct i2c_client *_client) for (i = 0; i < SECTION_NUM; i++) { if (section_update_flag[i]) { - pr_info("[TSP ISC] section data i2c flash : [%d]", i); + ISC_DL_MSG("[TSP ISC] %d section data i2c flash\n", i); next_ptr = 0; ptr_fw = tsp_firmware_file[i]; @@ -824,7 +827,7 @@ static int mms100_update_section_data(struct i2c_client *_client) ret = i2c_master_send(_client, ptr_fw, PACKET_SIZE); if (ret < 0) { - pr_info("[TSP ISC] %s,%d: i2c write fail[%d]", + ISC_DL_MSG("[TSP ISC] %s,%d: i2c write fail[%d]\n", __func__, __LINE__, ret); return ISC_I2C_ERROR; } @@ -832,7 +835,7 @@ static int mms100_update_section_data(struct i2c_client *_client) ret = mms100_i2c_read(_client, ISC_CMD_CONFIRM_STATUS, 1, &rd_buf); if (ret < 0) { - pr_info("[TSP ISC] %s,%d: i2c read fail[%d]", + ISC_DL_MSG("[TSP ISC] %s,%d: i2c read fail[%d]\n", __func__, __LINE__, ret); return ISC_I2C_ERROR; } @@ -847,25 +850,25 @@ static int mms100_update_section_data(struct i2c_client *_client) return ISC_SUCCESS; } -static int mms100_open_mbinary(struct i2c_client *_client, int mode) +static int mms100_open_mbinary(struct i2c_client *_client, + int panel_type, int mode) { int i; int ret = 0; mm_segment_t old_fs = {0}; struct file *fp = NULL; long fsize = 0, nread = 0; -/* u8 *fw_name[] = {"BOOT", "CORE", "PRIV", "PUBL"}; */ char fw_path[MAX_FW_PATH+1]; if (mode == REQ_FW) { for (i = SEC_CORE; i <= SEC_PUBLIC_CONFIG ; i++) { - snprintf(fw_path, MAX_FW_PATH, "tsp_melfas/GC_%s.fw", - section_name[i]); - + snprintf(fw_path, MAX_FW_PATH, "%s%c_%s.fw", + FW_DIRECTORY, panel_type, section_name[i]); ret = request_firmware(&(fw_mbin[i]), fw_path, - &_client->dev); + &_client->dev); if (ret) { - pr_err("[TSP ISC] fail requestfirmware[%d]", i); + ISC_DL_MSG("[TSP ISC] fail REQ_FW[%s]\n", + fw_path); break; } @@ -873,7 +876,7 @@ static int mms100_open_mbinary(struct i2c_client *_client, int mode) GFP_KERNEL); if (!tsp_firmware_file[i]) - pr_err("[TSP ISC] fail to alloc buffer for fw"); + ISC_DL_MSG("[TSP ISC] fail to alloc buffer for fw\n"); else memcpy((void *)tsp_firmware_file[i], fw_mbin[i]->data, fw_mbin[i]->size); @@ -881,7 +884,8 @@ static int mms100_open_mbinary(struct i2c_client *_client, int mode) if (fw_mbin[i] != NULL) release_firmware(fw_mbin[i]); } - pr_info("[TSP ISC] request_firmware[%d] is loaded!!", i); + if (!ret) + ISC_DL_MSG("[TSP ISC] All REQ_FW is loaded!\n"); } else if (mode == UMS) { old_fs = get_fs(); @@ -892,9 +896,10 @@ static int mms100_open_mbinary(struct i2c_client *_client, int mode) section_name[i]); fp = filp_open(fw_path, O_RDONLY, 0); if (IS_ERR(fp)) { - pr_err("[TSP ISC] file %s open error:%d", + ISC_DL_MSG("[TSP ISC] file %s open error:%d\n", fw_path, (s32)fp); - ret = 1; + set_fs(old_fs); + return ISC_FILE_OPEN_ERROR; } fsize = fp->f_path.dentry->d_inode->i_size; @@ -902,49 +907,58 @@ static int mms100_open_mbinary(struct i2c_client *_client, int mode) tsp_firmware_file[i] = kzalloc((size_t)fsize, GFP_KERNEL); if (!tsp_firmware_file[i]) { - pr_err("[TSP ISC] fail to alloc buffer for fw"); - ret = 1; + ISC_DL_MSG("[TSP ISC] fail to alloc buffer for fw\n"); + ret = ISC_FILE_OPEN_ERROR; } nread = vfs_read(fp, (char __user *)tsp_firmware_file[i], fsize, &fp->f_pos); if (nread != fsize) { - pr_err("[TSP ISC] nread != fsize error"); - ret = 1; + ISC_DL_MSG("[TSP ISC] nread != fsize error\n"); + ret = ISC_FILE_OPEN_ERROR; } filp_close(fp, current->files); } set_fs(old_fs); - pr_info("[TSP ISC] ums fw is loaded!"); + if (!ret) + ISC_DL_MSG("[TSP ISC] ums fw is loaded!\n"); } else { - pr_err("[TSP ISC] Not support mode[%d]", mode); - ret = 1; + ISC_DL_MSG("[TSP ISC] Not support mode[%d]\n", mode); + ret = ISC_FILE_OPEN_ERROR; } if (!ret) return ISC_SUCCESS; else { - pr_err("[TSP ISC] mms100_open_mbinary fail"); + ISC_DL_MSG("[TSP ISC] mms100_open_mbinary fail\n"); return ret; } } int mms100_ISC_download_mbinary(struct i2c_client *_client, int mode, - bool forced_update) + int panel_type, bool forced_update) { int ret_msg = ISC_NONE; + isc_dl_msg = kzalloc(sizeof(char) * 8096 , GFP_KERNEL); + isc_dl_msg_temp = kzalloc(sizeof(char) * 256 , GFP_KERNEL); + + if (isc_dl_msg == NULL || isc_dl_msg_temp == NULL) { + pr_err("isc_dl_msg = kzalloc error!"); + return ISC_NONE; + } + + pr_info("[TSP ISC] FIRMWARE_UPDATE_START!"); - pr_info("[TSP ISC] %s\n", __func__); /* mms100_reset(_client); ret_msg = mms100_check_operating_mode(_client, EC_BOOT_ON_SUCCEEDED); if (ret_msg != ISC_SUCCESS) goto ISC_ERROR_HANDLE; */ - ret_msg = mms100_open_mbinary(_client, mode); + ret_msg = mms100_open_mbinary(_client, panel_type, mode); if (ret_msg != ISC_SUCCESS) goto ISC_ERROR_HANDLE; @@ -952,6 +966,11 @@ int mms100_ISC_download_mbinary(struct i2c_client *_client, int mode, ret_msg = mms100_compare_version_info(_client, forced_update); if (ret_msg != ISC_SUCCESS) goto ISC_ERROR_HANDLE; + else if (!section_update_flag[1] && !section_update_flag[2] + && !section_update_flag[3]) { + pr_info("[TSP ISC] FIRMWARE_UPDATE SKIP!"); + goto ISC_NEED_NOT_UPDATE; + } ret_msg = mms100_enter_ISC_mode(_client); if (ret_msg != ISC_SUCCESS) @@ -972,20 +991,29 @@ int mms100_ISC_download_mbinary(struct i2c_client *_client, int mode, ret_msg = ISC_SUCCESS; ISC_ERROR_HANDLE: - if (ret_msg != ISC_SUCCESS) - pr_err("[TSP ISC] ISC_ERROR_CODE: %d\n", ret_msg); - mms100_reset(_client); + if (ret_msg != ISC_SUCCESS) { + pr_err("[TSP ISC] FW update fail message start!"); + pr_err("%s", isc_dl_msg); + pr_err("[TSP ISC] FW update fail message END!"); + pr_err("[TSP ISC] FIRMWARE_UPDATE ERROR : %d\n", ret_msg); + } else + pr_info("[TSP ISC] FIRMWARE_UPDATE SUCCESS!"); - kfree(tsp_firmware_file[1]); - kfree(tsp_firmware_file[2]); - kfree(tsp_firmware_file[3]); +ISC_NEED_NOT_UPDATE: - pr_info("[TSP ISC]FIRMWARE_UPDATE_FINISHED!"); + kfree(isc_dl_msg); + kfree(isc_dl_msg_temp); + + if (ret_msg != ISC_FILE_OPEN_ERROR) { + kfree(tsp_firmware_file[1]); + kfree(tsp_firmware_file[2]); + kfree(tsp_firmware_file[3]); + } return ret_msg; } -#endif /* ISC_DL_MODE start */ +#endif /* ISC_DL_MODE */ #if TOUCH_BOOSTER @@ -996,14 +1024,15 @@ static void change_dvfs_lock(struct work_struct *work) int ret; mutex_lock(&info->dvfs_lock); - - ret = dev_lock(info->bus_dev, info->sec_touchscreen, 267160); + ret = dev_lock(info->bus_dev, info->sec_touchscreen, + TOUCH_BOOSTER_BUS_CLK_266); if (ret < 0) - pr_err("melfas-ts : %s dev change bud lock failed(%d)\n",\ - __func__, __LINE__); + dev_err(&info->client->dev, + "%s dev change bud lock failed(%d)\n",\ + __func__, __LINE__); else - pr_info("melfas-ts : change_dvfs_lock"); + dev_notice(&info->client->dev, "Change dvfs lock"); mutex_unlock(&info->dvfs_lock); } static void set_dvfs_off(struct work_struct *work) @@ -1017,56 +1046,62 @@ static void set_dvfs_off(struct work_struct *work) ret = dev_unlock(info->bus_dev, info->sec_touchscreen); if (ret < 0) - pr_err("melfas-ts : %s: dev unlock failed(%d)\n", - __func__, __LINE__); + dev_err(&info->client->dev, " %s: dev unlock failed(%d)\n", + __func__, __LINE__); exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); info->dvfs_lock_status = false; - pr_info("melfas-ts : DVFS Off!"); + dev_notice(&info->client->dev, "dvfs off!"); mutex_unlock(&info->dvfs_lock); - } +} -static void set_dvfs_lock(struct mms_ts_info *info, uint32_t on) +static void set_dvfs_lock(struct mms_ts_info *info, uint32_t mode) { int ret; mutex_lock(&info->dvfs_lock); if (info->cpufreq_level <= 0) { - ret = exynos_cpufreq_get_level(800000, &info->cpufreq_level); + ret = exynos_cpufreq_get_level(TOUCH_BOOSTER_CPU_CLK, + &info->cpufreq_level); if (ret < 0) - pr_err("melfas-ts : exynos_cpufreq_get_level error"); + dev_err(&info->client->dev, + "exynos_cpufreq_get_level error"); goto out; } - if (on == 0) { + + if (mode == TOUCH_BOOSTER_DELAY_OFF) { if (info->dvfs_lock_status) { cancel_delayed_work(&info->work_dvfs_chg); schedule_delayed_work(&info->work_dvfs_off, msecs_to_jiffies(TOUCH_BOOSTER_OFF_TIME)); } - } else if (on == 1) { + } else if (mode == TOUCH_BOOSTER_ON) { cancel_delayed_work(&info->work_dvfs_off); if (!info->dvfs_lock_status) { - ret = dev_lock(info->bus_dev, - info->sec_touchscreen, 400200); + ret = dev_lock(info->bus_dev, info->sec_touchscreen, + TOUCH_BOOSTER_BUS_CLK_400); if (ret < 0) { - pr_err("melfas-ts : %s: dev lock failed(%d)",\ + dev_err(&info->client->dev, + "%s: dev lock failed(%d)", __func__, __LINE__); -} + } ret = exynos_cpufreq_lock(DVFS_LOCK_ID_TSP, info->cpufreq_level); if (ret < 0) - pr_err("melfas-ts : %s: cpu lock failed(%d)",\ - __func__, __LINE__); + dev_err(&info->client->dev, + "%s: cpu lock failed(%d)", + __func__, __LINE__); schedule_delayed_work(&info->work_dvfs_chg, msecs_to_jiffies(TOUCH_BOOSTER_CHG_TIME)); info->dvfs_lock_status = true; - pr_info("melfas-ts :DVFS On[%d]", info->cpufreq_level); + dev_notice(&info->client->dev, "dvfs on[%d]", + info->cpufreq_level); } - } else if (on == 2) { + } else if (mode == TOUCH_BOOSTER_QUICK_OFF) { cancel_delayed_work(&info->work_dvfs_off); cancel_delayed_work(&info->work_dvfs_chg); schedule_work(&info->work_dvfs_off.work); @@ -1080,19 +1115,24 @@ static void release_all_fingers(struct mms_ts_info *info) { int i; - printk(KERN_DEBUG "[TSP] %s\n", __func__); + dev_notice(&info->client->dev, "%s\n", __func__); for (i = 0; i < MAX_FINGERS; i++) { input_mt_slot(info->input_dev, i); input_mt_report_slot_state(info->input_dev, MT_TOOL_FINGER, false); + + if (info->finger_state[i] != TSP_STATE_RELEASE) { + dev_notice(&info->client->dev, + "finger %d up(force)\n", i); + } info->finger_state[i] = TSP_STATE_RELEASE; } input_sync(info->input_dev); #if TOUCH_BOOSTER - set_dvfs_lock(info, 2); - dev_notice(&client->dev, "[TSP] dvfs_lock free.\n"); + set_dvfs_lock(info, TOUCH_BOOSTER_QUICK_OFF); + dev_notice(&info->client->dev, "dvfs lock free.\n"); #endif } @@ -1116,28 +1156,20 @@ static void reset_mms_ts(struct mms_ts_info *info) info->pdata->power(1); msleep(120); - enable_irq(info->irq); - info->enabled = true; -} - -static void mms_set_noise_mode(struct mms_ts_info *info) -{ - struct i2c_client *client = info->client; + if (info->ta_status) { + dev_notice(&client->dev, "TA or USB connect!!!\n"); + i2c_smbus_write_byte_data(info->client, MMS_TA_REG, MMS_TA_ON); - if (!(info->noise_mode && info->enabled)) - return; - dev_notice(&client->dev, "%s\n", __func__); + if (info->noise_mode) { + i2c_smbus_write_byte_data(info->client, MMS_NOISE_REG, + MMS_NOISE_ON); + dev_notice(&client->dev, "reset & noise mode on!\n"); + } + } else + info->noise_mode = false; - if (info->ta_status) { - dev_notice(&client->dev, "TA connect!!!\n"); - i2c_smbus_write_byte_data(info->client, MMS_TA_NOISE_REG, - MMS_TA_NOISE_ON); - } else { - dev_notice(&client->dev, "TA disconnect!!!\n"); - i2c_smbus_write_byte_data(info->client, MMS_TA_NOISE_REG, - MMS_TA_NOISE_OFF); - info->noise_mode = 0; - } + enable_irq(info->irq); + info->enabled = true; } static void melfas_ta_cb(struct tsp_callbacks *cb, bool ta_status) @@ -1146,27 +1178,44 @@ static void melfas_ta_cb(struct tsp_callbacks *cb, bool ta_status) container_of(cb, struct mms_ts_info, callbacks); struct i2c_client *client = info->client; - dev_notice(&client->dev, "%s [%s]\n", __func__, - ta_status ? "ON" : "OFF"); + dev_notice(&client->dev, "%s TA or USB %sconnect\n", __func__, + ta_status ? "" : "dis"); info->ta_status = ta_status; - /* GC Not support yet! - if (!ta_status) - mms_set_noise_mode(info); - */ + + if (info->enabled) { + if (info->ta_status) + i2c_smbus_write_byte_data(info->client, + MMS_TA_REG, MMS_TA_ON); + else { + i2c_smbus_write_byte_data(info->client, + MMS_TA_REG, MMS_TA_OFF); + + if (info->noise_mode) { + info->noise_mode = false; + i2c_smbus_write_byte_data(info->client, + MMS_NOISE_REG, + MMS_NOISE_OFF); + dev_notice(&client->dev, + "ta_cb & noise mode off!\n"); + } + } + } } static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) { struct mms_ts_info *info = dev_id; struct i2c_client *client = info->client; - u8 buf[MAX_FINGERS * FINGER_EVENT_SZ] = { 0, }; - int ret; - int i; - int sz; + u8 buf[MAX_FINGERS * EVENT_SZ_8_BYTES] = { 0, }; + int ret, i, sz; + int id, state, posX, posY, strenth, width; + int angle, palm, major_axis, minor_axis; + int finger_event_sz; + u8 *read_data; u8 reg = MMS_INPUT_EVENT0; #if TOUCH_BOOSTER - int touch_is_pressed = 0; + bool press_flag = false; #endif struct i2c_msg msg[] = { { @@ -1180,6 +1229,7 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) .buf = buf, }, }; + finger_event_sz = info->finger_byte; sz = i2c_smbus_read_byte_data(client, MMS_INPUT_EVENT_PKT_SZ); @@ -1195,73 +1245,110 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) if (i == 50) { dev_dbg(&client->dev, "i2c failed... reset!!\n"); reset_mms_ts(info); - goto out; + return IRQ_HANDLED; } + dev_err(&client->dev, "success read touch info data\n"); } if (sz == 0) - goto out; + return IRQ_HANDLED; - if (sz > MAX_FINGERS*FINGER_EVENT_SZ) { - dev_err(&client->dev, "[TSP] abnormal data inputed.\n"); - goto out; + if (sz > MAX_FINGERS*finger_event_sz || sz%finger_event_sz) { + dev_err(&client->dev, "abnormal data inputed & reset IC[%d]\n", + sz); + reset_mms_ts(info); + return IRQ_HANDLED; } msg[1].len = sz; ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg)); + if (ret != ARRAY_SIZE(msg)) { dev_err(&client->dev, "failed to read %d bytes of touch data (%d)\n", sz, ret); - goto out; + + for (i = 0; i < 5; i++) { + ret = i2c_transfer(client->adapter, msg, + ARRAY_SIZE(msg)); + if (ret == ARRAY_SIZE(msg)) + break; + } + + if (i == 5) { + dev_err(&client->dev, + "failed to read touch data & reset IC[%d]\n", + ret); + reset_mms_ts(info); + return IRQ_HANDLED; + } + dev_err(&client->dev, "success read touch data\n"); } if (buf[0] == 0x0F) { /* ESD */ dev_dbg(&client->dev, "ESD DETECT.... reset!!\n"); reset_mms_ts(info); - goto out; + return IRQ_HANDLED; } if (buf[0] == 0x0E) { /* NOISE MODE */ - dev_dbg(&client->dev, "[TSP] noise mode enter!!\n"); - info->noise_mode = 1 ; - /* GC Not support yet! - mms_set_noise_mode(info); - */ - goto out; - } + dev_dbg(&client->dev, "Noise mode enter!!\n"); + + info->noise_mode = true; + i2c_smbus_write_byte_data(info->client, MMS_NOISE_REG, + MMS_NOISE_ON); + dev_notice(&client->dev, "interrupt & noise mode on!\n"); + return IRQ_HANDLED; + } + + for (i = 0; i < sz; i += finger_event_sz) { + read_data = &buf[i]; + id = (read_data[0] & 0xf) - 1; + state = read_data[0] & 0x80; + posX = read_data[2] | ((read_data[1] & 0xf) << 8); + posY = read_data[3] | (((read_data[1] >> 4) & 0xf) << 8); + strenth = read_data[4]; + + if (finger_event_sz == EVENT_SZ_8_BYTES) { + angle = (read_data[5] >= 127) ? \ + (-(256 - read_data[5])) : read_data[5]; + palm = (read_data[0] & 0x10) >> 4; + major_axis = read_data[6]; + minor_axis = read_data[7]; + + } else + width = read_data[5]; - for (i = 0; i < sz; i += FINGER_EVENT_SZ) { - u8 *tmp = &buf[i]; - int id = (tmp[0] & 0xf) - 1; - int x = tmp[2] | ((tmp[1] & 0xf) << 8); - int y = tmp[3] | (((tmp[1] >> 4) & 0xf) << 8); if (info->invert_x) { - x = info->max_x - x; - if (x < 0) - x = 0; + posX = info->max_x - posX; + if (posX < 0) + posX = 0; } if (info->invert_y) { - y = info->max_y - y; - if (y < 0) - y = 0; + posY = info->max_y - posY; + if (posY < 0) + posY = 0; } if (id >= MAX_FINGERS) { dev_notice(&client->dev, \ "finger id error [%d]\n", id); reset_mms_ts(info); - goto out; + return IRQ_HANDLED; } - if ((tmp[0] & 0x80) == TSP_STATE_RELEASE) { + if (state == TSP_STATE_RELEASE) { input_mt_slot(info->input_dev, id); input_mt_report_slot_state(info->input_dev, MT_TOOL_FINGER, false); - input_sync(info->input_dev); #if SHOW_COORD - dev_notice(&client->dev, - "R [%2d],([%4d],[%3d]),S:%d W:%d [%d]", - id, x, y, tmp[4], tmp[5], - info->finger_state[id]); + if (finger_event_sz == EVENT_SZ_8_BYTES) + dev_notice(&client->dev, + "R [%2d],([%4d],[%3d])[%d][%d]", + id, posX, posY, palm, info->finger_state[id]); + else + dev_notice(&client->dev, + "R [%2d],([%4d],[%3d])[%d]", + id, posX, posY, info->finger_state[id]); + #else dev_notice(&client->dev, "R [%2d][%d]", id, info->finger_state[id]); @@ -1272,21 +1359,40 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) input_mt_report_slot_state(info->input_dev, MT_TOOL_FINGER, true); input_report_abs(info->input_dev, - ABS_MT_POSITION_X, x); - input_report_abs(info->input_dev, - ABS_MT_POSITION_Y, y); - input_report_abs(info->input_dev, - ABS_MT_TOUCH_MAJOR, tmp[4]); + ABS_MT_POSITION_X, posX); input_report_abs(info->input_dev, - ABS_MT_WIDTH_MAJOR, tmp[5]); - input_sync(info->input_dev); + ABS_MT_POSITION_Y, posY); + + if (finger_event_sz == EVENT_SZ_8_BYTES) { + input_report_abs(info->input_dev, + ABS_MT_WIDTH_MAJOR, strenth); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MAJOR, major_axis); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MINOR, minor_axis); + input_report_abs(info->input_dev, + ABS_MT_ANGLE, angle); + input_report_abs(info->input_dev, + ABS_MT_PALM, palm); + } else { + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MAJOR, strenth); + input_report_abs(info->input_dev, + ABS_MT_WIDTH_MAJOR, width); + } if (info->finger_state[id] == TSP_STATE_RELEASE) { info->finger_state[id] = TSP_STATE_PRESS; #if SHOW_COORD - dev_notice(&client->dev, - "P [%2d],([%4d],[%3d]),S:%d W:%d", - id, x, y, tmp[4], tmp[5]); + if (finger_event_sz == EVENT_SZ_8_BYTES) + dev_notice(&client->dev, + "P [%2d],([%4d],[%3d]),S:%d A:%3d P:%d Mj_a:%d Mi_a:%d",\ + id, posX, posY, strenth, angle, + palm, major_axis, minor_axis); + else + dev_notice(&client->dev, + "P [%2d],([%4d],[%3d]),S:%d W:%d", + id, posX, posY, strenth, width); #else dev_notice(&client->dev, "P [%2d]", id); #endif @@ -1294,17 +1400,20 @@ static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) info->finger_state[id] = TSP_STATE_MOVE; } } + input_sync(info->input_dev); #if TOUCH_BOOSTER - for (i = 0 ; MAX_FINGERS ; i++) + for (i = 0 ; i < MAX_FINGERS ; i++) { if (info->finger_state[i] == TSP_STATE_PRESS - || info->finger_state[i] == TSP_STATE_MOVE) - touch_is_pressed++; + || info->finger_state[i] == TSP_STATE_MOVE) { + press_flag = TOUCH_BOOSTER_ON; + break; + } + } - set_dvfs_lock(info, !!touch_is_pressed); + set_dvfs_lock(info, press_flag); #endif -out: return IRQ_HANDLED; } @@ -1619,73 +1728,26 @@ static int get_fw_version(struct mms_ts_info *info) ret = i2c_smbus_read_byte_data(info->client, MMS_FW_VERSION); } while (ret < 0 && retries-- > 0); - dev_info(&client->dev, "MMS_FW_VER_CORE [0x%02x]", - i2c_smbus_read_byte_data(info->client, MMS_FW_VER_CORE)); - dev_info(&client->dev, "MMS_FW_VER_PRIV [0x%02x]", - i2c_smbus_read_byte_data(info->client, MMS_FW_VER_PRIV)); - dev_info(&client->dev, "MMS_FW_VER_PUBL [0x%02x]", - i2c_smbus_read_byte_data(info->client, MMS_FW_VER_PUBL)); + dev_info(&client->dev, "TSP_REVISION = [%c Type], HW_REVISION = [0x%02x], COMPAT_GROUP = [0x%02x]", + i2c_smbus_read_byte_data(info->client, MMS_TSP_REVISION), + i2c_smbus_read_byte_data(info->client, MMS_HW_REVISION), + i2c_smbus_read_byte_data(info->client, MMS_COMPAT_GROUP)); + return ret; } -static int mms_ts_finish_config(struct mms_ts_info *info) +static int get_panel_type(struct mms_ts_info *info) { struct i2c_client *client = info->client; int ret; + int retries = 3; - ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, - IRQF_TRIGGER_FALLING | IRQF_ONESHOT, - MELFAS_TS_NAME, info); - if (ret < 0) { - ret = 1; - dev_err(&client->dev, "Failed to register interrupt\n"); - goto err_req_irq; - } - - info->irq = client->irq; - barrier(); - - dev_info(&client->dev, - "Melfas MMS-series touch controller initialized\n"); - - return 0; - -err_req_irq: - return ret; -} -static int mms_ts_fw_info(struct mms_ts_info *info) -{ - struct i2c_client *client = info->client; - struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); - int ret = 0; - int ver; - - /* firmware check */ - ver = get_fw_version(info); - info->fw_ic_ver = ver; - dev_info(&client->dev, "FW ver [0x%02x]", ver); - - if (!info->pdata || !info->pdata->mux_fw_flash) { - ret = 1; - dev_err(&client->dev, - "fw cannot be updated, missing platform data\n"); - return ret; - } - - ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, - IRQF_TRIGGER_LOW | IRQF_ONESHOT, - MELFAS_TS_NAME, info); - if (ret < 0) { - ret = 1; - dev_err(&client->dev, "Failed to register interrupt\n"); - return ret; - } - - info->irq = client->irq; - barrier(); + /* this seems to fail sometimes after a reset.. retry a few times */ + do { + ret = i2c_smbus_read_byte_data(info->client, MMS_TSP_REVISION); + } while (ret < 0 && retries-- > 0); - dev_info(&client->dev, - "Melfas MMS-series touch controller initialized\n"); + dev_info(&client->dev, "MMS_TSP_REVISION = [0x%02x],[%c]", ret, ret); return ret; } @@ -1696,42 +1758,68 @@ static int mms_ts_fw_load(struct mms_ts_info *info) struct i2c_client *client = info->client; struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); int ret = 0, ret_isp = 0; - int ver = 0x00; int retries_isc = 3; int retries_isp = 3; /* firmware check */ - ver = get_fw_version(info); - info->fw_ic_ver = ver; - dev_info(&client->dev, "FW ver. [0x%02x]", ver); - goto done; + info->fw_ic_ver = get_fw_version(info); + dev_info(&client->dev, "Before FW update : [0x%02x]", info->fw_ic_ver); + + if (system_rev < 2) { + dev_err(&client->dev, "FW update skip[%d]\n", system_rev); + return ret; + } + + /* Add panel type check logic */ + if (system_rev >= 2 && system_rev <= 5) { + info->panel_type = get_panel_type(info); + + if (info->panel_type != PANEL_MOREENS && \ + info->panel_type != PANEL_SMAC) { + dev_err(&client->dev, "abnormal panel type[%c]!\n", + info->panel_type); + if (system_rev == 2) + info->panel_type = PANEL_MOREENS; + else + info->panel_type = PANEL_SMAC; + } + } else if (system_rev >= 6) + info->panel_type = PANEL_SMAC_NEW; + + dev_info(&client->dev, "Rev = 0x%02x, %c type Panel\n", + system_rev, info->panel_type); if (!info->pdata || !info->pdata->mux_fw_flash) { - ret = 1; dev_err(&client->dev, "fw cannot be updated, missing platform data\n"); - return ret; + return 1; } -#if 0 -/* firmware update 3 try */ -/* ISC firmware update */ +#if FW_UPDATABLE - /* ISP firmware update */ while (retries_isc--) { - ret = mms100_ISC_download_mbinary(client, REQ_FW, + /* ISC firmware update */ + if (info->fw_ic_ver == 0x00) { + dev_err(&client->dev, "TSP panel info dismatched\n"); + ret = mms100_ISC_download_mbinary(client, REQ_FW, + info->panel_type, + FORCED_UPDATE); + } else + ret = mms100_ISC_download_mbinary(client, REQ_FW, + info->panel_type, COMPARE_UPDATE); if (ret > 0) { - dev_err(&client->dev, "ISP D/L mode fail\n"); + dev_err(&client->dev, "ISC D/L mode fail\n"); i2c_lock_adapter(adapter); info->pdata->mux_fw_flash(true); while (retries_isp--) { + /* ISP firmware update */ ret_isp = mms100_ISP_download(info, - BOOT_binary, - BOOT_binary_nLength); + boot_binary, + boot_binary_nLength); if (ret_isp < 0) dev_err(&client->dev, "ISP D/L mode fail\n"); @@ -1745,16 +1833,23 @@ static int mms_ts_fw_load(struct mms_ts_info *info) info->pdata->mux_fw_flash(false); i2c_unlock_adapter(adapter); + if (retries_isp == 0) { + dev_err(&client->dev, + "ISP D/L mode all fail!\n"); + return ret_isp; + } + ret = mms100_ISC_download_mbinary(client, REQ_FW, - FORCED_UPDATE); + info->panel_type, + FORCED_UPDATE); } if (ret == ISC_SUCCESS) { - ver = get_fw_version(info); - info->fw_ic_ver = ver; - dev_info(&client->dev, "fw update done: ver = 0x%02x\n", - ver); - goto done; + info->fw_ic_ver = get_fw_version(info); + info->pdata->fw_version = mbin_info[SEC_PUBLIC_CONFIG].version; + dev_info(&client->dev, "After FW update : [0x%02x]\n", + info->fw_ic_ver); + return ret; } dev_err(&client->dev, "retrying flashing\n"); continue; @@ -1766,34 +1861,11 @@ static int mms_ts_fw_load(struct mms_ts_info *info) } #endif -done: - ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, - IRQF_TRIGGER_LOW | IRQF_ONESHOT, - MELFAS_TS_NAME, info); - if (ret < 0) { - ret = 1; - dev_err(&client->dev, "Failed to register interrupt\n"); - return ret; - } - - info->irq = client->irq; - barrier(); - - dev_info(&client->dev, - "Melfas MMS-series touch controller initialized\n"); return ret; } -#ifdef SEC_TSP_FACTORY_TEST -#if 0 -static inline int msm_irq_to_gpio(unsigned irq) -{ - /* TODO : Need to verify chip->base=0 */ - return irq - MSM_GPIO_TO_INT(0); -} -#endif - +#if SEC_TSP_FACTORY_TEST static void set_cmd_result(struct mms_ts_info *info, char *buff, int len) { strncat(info->cmd_result, buff, len); @@ -1803,15 +1875,15 @@ static void get_raw_data_all(struct mms_ts_info *info, u8 cmd) { u8 w_buf[6]; u8 read_buffer[2]; /* 52 */ - int gpio; + int gpio = info->pdata->gpio_int; int ret; int i, j; u32 max_value = 0, min_value = 0; u32 raw_data; char buff[TSP_CMD_STR_LEN] = {0}; - gpio = info->pdata->gpio_int; + int tx_num = info->pdata->tsp_tx; + int rx_num = info->pdata->tsp_rx; -/* gpio = msm_irq_to_gpio(info->irq); */ disable_irq(info->irq); w_buf[0] = MMS_VSC_CMD; /* vendor specific command id */ @@ -1853,8 +1925,8 @@ static void get_raw_data_all(struct mms_ts_info *info, u8 cmd) udelay(100); } - for (i = 0; i < RX_NUM; i++) { - for (j = 0; j < TX_NUM; j++) { + for (i = 0; i < rx_num; i++) { + for (j = 0; j < tx_num; j++) { w_buf[2] = j; /* tx */ w_buf[3] = i; /* rx */ @@ -1881,22 +1953,22 @@ static void get_raw_data_all(struct mms_ts_info *info, u8 cmd) } if (cmd == MMS_VSC_CMD_INTENSITY) { - info->intensity[j * RX_NUM + i] = raw_data; + info->intensity[j * rx_num + i] = raw_data; dev_dbg(&info->client->dev, "[TSP] intensity[%d][%d] = %d\n", - i, j, info->intensity[j * RX_NUM + i]); + i, j, info->intensity[j * rx_num + i]); } else if (cmd == MMS_VSC_CMD_CM_DELTA) { - info->inspection[j * RX_NUM + i] = raw_data; + info->cm_delta[j * rx_num + i] = raw_data; dev_dbg(&info->client->dev, "[TSP] delta[%d][%d] = %d\n", - i, j, info->inspection[j * RX_NUM + i]); + i, j, info->cm_delta[j * rx_num + i]); } else if (cmd == MMS_VSC_CMD_CM_ABS) { - info->raw[j * RX_NUM + i] = raw_data; + info->cm_abs[j * rx_num + i] = raw_data; dev_dbg(&info->client->dev, "[TSP] raw[%d][%d] = %d\n", - i, j, info->raw[j * RX_NUM + i]); + i, j, info->cm_abs[j * rx_num + i]); } else if (cmd == MMS_VSC_CMD_REFER) { - info->reference[j * RX_NUM + i] = + info->reference[j * rx_num + i] = raw_data >> 3; dev_dbg(&info->client->dev, "[TSP] reference[%d][%d] = %d\n", - i, j, info->reference[j * RX_NUM + i]); + i, j, info->reference[j * rx_num + i]); } } @@ -1987,9 +2059,9 @@ static int check_rx_tx_num(void *device_data) int node; if (info->cmd_param[0] < 0 || - info->cmd_param[0] >= TX_NUM || + info->cmd_param[0] >= info->pdata->tsp_tx || info->cmd_param[1] < 0 || - info->cmd_param[1] >= RX_NUM) { + info->cmd_param[1] >= info->pdata->tsp_rx) { snprintf(buff, sizeof(buff) , "%s", "NG"); set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); info->cmd_state = 3; @@ -1999,8 +2071,9 @@ static int check_rx_tx_num(void *device_data) info->cmd_param[1]); node = -1; return node; -} - node = info->cmd_param[1] * RX_NUM + info->cmd_param[0]; + } + /* Model dependency */ + node = info->cmd_param[0] * info->pdata->tsp_rx + info->cmd_param[1]; dev_info(&info->client->dev, "%s: node = %d\n", __func__, node); return node; @@ -2034,9 +2107,7 @@ static void fw_update(void *device_data) dev_info(&client->dev, "fw_ic_ver = 0x%02x, fw_bin_ver = 0x%02x\n", - info->fw_ic_ver, FW_VERSION); - - goto not_support; /* GC Bring up- Not support yet */ + info->fw_ic_ver, info->pdata->fw_version); switch (info->cmd_param[0]) { case BUILT_IN: @@ -2063,6 +2134,7 @@ static void fw_update(void *device_data) #if ISC_DL_MODE ret = mms100_ISC_download_mbinary(client, info->cmd_param[0], + info->panel_type, FORCED_UPDATE); #endif if (ret) { @@ -2074,11 +2146,13 @@ static void fw_update(void *device_data) info->fw_ic_ver = ver; dev_info(&client->dev, - "fw update done. ver = 0x%02x\n", ver); + "After FW update : [0x%02x]\n", ver); info->cmd_state = OK; enable_irq(info->irq); return; } + info->cmd_state = FAIL; + enable_irq(info->irq); not_support: return; @@ -2091,7 +2165,7 @@ static void get_fw_ver_bin(void *device_data) char buff[16] = {0}; set_default_result(info); - snprintf(buff, sizeof(buff), "%#02x", FW_VERSION); + snprintf(buff, sizeof(buff), "%#02x", info->pdata->fw_version); set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); info->cmd_state = OK; @@ -2238,7 +2312,7 @@ static void get_chip_vendor(void *device_data) set_default_result(info); - snprintf(buff, sizeof(buff), "%s", TSP_VENDOR); + snprintf(buff, sizeof(buff), "%s", info->pdata->tsp_vendor); set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); info->cmd_state = OK; dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, @@ -2253,7 +2327,7 @@ static void get_chip_name(void *device_data) set_default_result(info); - snprintf(buff, sizeof(buff), "%s", TSP_IC); + snprintf(buff, sizeof(buff), "%s", info->pdata->tsp_ic); set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); info->cmd_state = OK; dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, @@ -2299,7 +2373,7 @@ static void get_cm_abs(void *device_data) if (node < 0) return; - val = info->raw[node]; + val = info->cm_abs[node]; snprintf(buff, sizeof(buff), "%u", val); set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); info->cmd_state = OK; @@ -2322,7 +2396,7 @@ static void get_cm_delta(void *device_data) if (node < 0) return; - val = info->inspection[node]; + val = info->cm_delta[node]; snprintf(buff, sizeof(buff), "%u", val); set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); info->cmd_state = OK; @@ -2339,12 +2413,22 @@ static void get_intensity(void *device_data) unsigned int val; int node; + int i, j; + set_default_result(info); node = check_rx_tx_num(info); if (node < 0) return; - +#if 0 + for (i = 0 ; i < info->pdata->tsp_tx ; i++) { + for (j = 0 ; j < info->pdata->tsp_rx ; j++) { + printk(KERN_INFO "[%2d]", + info->intensity[i*info->pdata->tsp_rx + j]); + } + printk("\n"); + } +#endif val = info->intensity[node]; snprintf(buff, sizeof(buff), "%u", val); @@ -2361,10 +2445,14 @@ static void get_x_num(void *device_data) char buff[16] = {0}; int val; - +#if 1 + if (info->enabled) + dev_info(&info->client->dev, "%s = [%d] from ic\n", __func__, + i2c_smbus_read_byte_data(info->client, 0xEF)); +#endif set_default_result(info); - snprintf(buff, sizeof(buff), "%d", TX_NUM); /* TX_NUM(0xEF) */ + snprintf(buff, sizeof(buff), "%d", info->pdata->tsp_tx); set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); info->cmd_state = OK; @@ -2377,10 +2465,15 @@ static void get_y_num(void *device_data) struct mms_ts_info *info = (struct mms_ts_info *)device_data; char buff[16] = {0}; int val; +#if 1 + if (info->enabled) + dev_info(&info->client->dev, "%s = [%d] from ic\n", __func__, + i2c_smbus_read_byte_data(info->client, 0xEE)); +#endif set_default_result(info); - snprintf(buff, sizeof(buff), "%d", RX_NUM); /* RX_NUM(0xEE) */ + snprintf(buff, sizeof(buff), "%d", info->pdata->tsp_rx); set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); info->cmd_state = OK; @@ -2608,7 +2701,7 @@ static ssize_t show_intensity_logging_on(struct device *dev, snprintf(buff, 16, "%1u: ", y); strncat(log_data, buff, strnlen(buff, 16)); - for (i = 0; i < RX_NUM; i++) { + for (i = 0; i < info->pdata->tsp_rx ; i++) { val = get_raw_data_one(info, i, y, MMS_VSC_CMD_INTENSITY); snprintf(buff, 16, "%5u, ", val); @@ -2679,8 +2772,10 @@ static int __devinit mms_ts_probe(struct i2c_client *client, char buf[4] = { 0, }; int i; -#ifdef SEC_TSP_FACTORY_TEST +#if SEC_TSP_FACTORY_TEST struct device *fac_dev_ts; + int rx_num; + int tx_num; #endif if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) @@ -2725,10 +2820,6 @@ static int __devinit mms_ts_probe(struct i2c_client *client, for (i = 0 ; i < MAX_FINGERS; i++) info->finger_state[i] = TSP_STATE_RELEASE; - info->callbacks.inform_charger = melfas_ta_cb; - if (info->register_cb) - info->register_cb(&info->callbacks); - info->pdata->power(true); msleep(100); @@ -2740,8 +2831,17 @@ static int __devinit mms_ts_probe(struct i2c_client *client, goto err_config; } - ret = mms_ts_fw_info(info); -/* ret = mms_ts_fw_load(info); */ + if (system_rev < 2) { + info->pdata->tsp_ic = "MMS136"; + info->pdata->tsp_tx = 19; + info->pdata->tsp_rx = 11; + info->finger_byte = 6; + } else + info->finger_byte = 8; + + dev_info(&client->dev, "TSP Packet size %d", info->finger_byte); + + ret = mms_ts_fw_load(info); if (ret) { dev_err(&client->dev, "failed to initialize (%d)\n", ret); @@ -2761,15 +2861,23 @@ static int __devinit mms_ts_probe(struct i2c_client *client, __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); input_mt_init_slots(input_dev, MAX_FINGERS); - input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, 0, MAX_WIDTH, 0, 0); input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, (info->max_x)-1, 0, 0); input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, (info->max_y)-1, 0, 0); + input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, + 0, MAX_WIDTH, 0, 0); input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, MAX_PRESSURE, 0, 0); - input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR, - 0, MAX_PRESSURE, 0, 0); + + if (info->finger_byte == 8) { + input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR, + 0, MAX_PRESSURE, 0, 0); + input_set_abs_params(input_dev, ABS_MT_ANGLE, + MIN_ANGLE, MAX_ANGLE, 0, 0); + input_set_abs_params(input_dev, ABS_MT_PALM, + 0, 1, 0, 0); + } input_set_drvdata(input_dev, info); ret = input_register_device(input_dev); @@ -2796,13 +2904,47 @@ static int __devinit mms_ts_probe(struct i2c_client *client, register_early_suspend(&info->early_suspend); #endif -#ifdef SEC_TSP_FACTORY_TEST - INIT_LIST_HEAD(&info->cmd_list_head); - for (i = 0; i < ARRAY_SIZE(tsp_cmds); i++) - list_add_tail(&tsp_cmds[i].list, &info->cmd_list_head); + info->callbacks.inform_charger = melfas_ta_cb; + if (info->register_cb) + info->register_cb(&info->callbacks); + + ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, + IRQF_TRIGGER_LOW | IRQF_ONESHOT, + MELFAS_TS_NAME, info); + if (ret < 0) { + dev_err(&client->dev, "Failed to register interrupt\n"); + goto err_reg_input_dev; + } + + info->irq = client->irq; + barrier(); - mutex_init(&info->cmd_lock); - info->cmd_is_running = false; + dev_info(&client->dev, + "Melfas MMS-series touch controller initialized\n"); + +#if SEC_TSP_FACTORY_TEST + rx_num = info->pdata->tsp_rx; + tx_num = info->pdata->tsp_tx; + + info->reference = kzalloc(sizeof(int) * rx_num * tx_num, GFP_KERNEL); + info->cm_abs = kzalloc(sizeof(int) * rx_num * tx_num, GFP_KERNEL); + info->cm_delta = kzalloc(sizeof(int) * rx_num * tx_num, GFP_KERNEL); + info->intensity = kzalloc(sizeof(int) * rx_num * tx_num, GFP_KERNEL); + if (unlikely(info->reference == NULL || + info->cm_abs == NULL || + info->cm_delta == NULL || + info->intensity == NULL)) { + ret = -ENOMEM; + goto err_alloc_node_data_failed; + } + + + INIT_LIST_HEAD(&info->cmd_list_head); + for (i = 0; i < ARRAY_SIZE(tsp_cmds); i++) + list_add_tail(&tsp_cmds[i].list, &info->cmd_list_head); + + mutex_init(&info->cmd_lock); + info->cmd_is_running = false; fac_dev_ts = device_create(sec_class, NULL, 0, info, "tsp"); @@ -2813,16 +2955,22 @@ static int __devinit mms_ts_probe(struct i2c_client *client, &sec_touch_factory_attr_group); if (ret) dev_err(&client->dev, "Failed to create sysfs group\n"); -#endif +#endif /* SEC_TSP_FACTORY_TEST */ return 0; +#if SEC_TSP_FACTORY_TEST +err_alloc_node_data_failed: + dev_err(&client->dev, "Err_alloc_node_data failed\n"); + kfree(info->reference); + kfree(info->cm_abs); + kfree(info->cm_delta); + kfree(info->intensity); +#endif + err_reg_input_dev: input_unregister_device(input_dev); input_free_device(input_dev); err_config: -/* input_unregister_device(input_dev); - input_dev = NULL; -*/ err_input_alloc: kfree(info); err_alloc: @@ -2834,6 +2982,14 @@ static int __devexit mms_ts_remove(struct i2c_client *client) { struct mms_ts_info *info = i2c_get_clientdata(client); +#if SEC_TSP_FACTORY_TEST + dev_err(&client->dev, "Err_alloc_node_data failed\n"); + kfree(info->reference); + kfree(info->cm_abs); + kfree(info->cm_delta); + kfree(info->intensity); +#endif + unregister_early_suspend(&info->early_suspend); if (info->irq >= 0) free_irq(info->irq, info); @@ -2872,9 +3028,18 @@ static int mms_ts_resume(struct device *dev) dev_notice(&info->client->dev, "%s\n", __func__); info->pdata->power(1); msleep(120); - /* GC Not support yet! - mms_set_noise_mode(info); - */ + + if (info->ta_status) { + dev_notice(&client->dev, "TA or USB connect!!!\n"); + i2c_smbus_write_byte_data(info->client, MMS_TA_REG, MMS_TA_ON); + + if (info->noise_mode) { + i2c_smbus_write_byte_data(info->client, MMS_NOISE_REG, + MMS_NOISE_ON); + dev_notice(&client->dev, "resume & noise mode on!\n"); + } + } else + info->noise_mode = false; /* Because irq_type by EXT_INTxCON register is changed to low_level * after wakeup, irq_type set to falling edge interrupt again. diff --git a/drivers/input/touchscreen/mxt1664s.c b/drivers/input/touchscreen/mxt1664s.c index 54e55b8..cce3717 100644 --- a/drivers/input/touchscreen/mxt1664s.c +++ b/drivers/input/touchscreen/mxt1664s.c @@ -34,7 +34,7 @@ int mxt_read_mem(struct mxt_data *data, u16 reg, u8 len, u8 *buf) { - int ret; + int ret = 0, i = 0; u16 le_reg = cpu_to_le16(reg); struct i2c_msg msg[2] = { { @@ -51,32 +51,48 @@ int mxt_read_mem(struct mxt_data *data, u16 reg, u8 len, u8 *buf) }, }; - ret = i2c_transfer(data->client->adapter, msg, 2); + if (!data->mxt_enabled) { + dev_err(&data->client->dev, + "%s tsp ic is not ready\n", __func__); + return -EBUSY; + } - if (ret < 0) { - dev_err(&data->client->dev, "%s fail[%d] address[0x%x]\n", - __func__, ret, le_reg); - return ret; + for (i = 0; i < 3 ; i++) { + ret = i2c_transfer(data->client->adapter, msg, 2); + if (ret < 0) { + dev_err(&data->client->dev, "%s fail[%d] address[0x%x]\n", + __func__, ret, le_reg); + data->pdata->power_reset(); + } else + break; } + return ret == 2 ? 0 : -EIO; } int mxt_write_mem(struct mxt_data *data, u16 reg, u8 len, const u8 *buf) { - int ret, i; + int ret = 0, i = 0; u8 tmp[len + 2]; + if (!data->mxt_enabled) { + dev_err(&data->client->dev, + "%s tsp ic is not ready\n", __func__); + return -EBUSY; + } + put_unaligned_le16(cpu_to_le16(reg), tmp); memcpy(tmp + 2, buf, len); - for (i = 0; i < 5 ; i++) { + for (i = 0; i < 3 ; i++) { ret = i2c_master_send(data->client, tmp, sizeof(tmp)); - if (ret < 0) + if (ret < 0) { dev_err(&data->client->dev, "%s %d times write error on address[0x%x,0x%x]\n", __func__, i, tmp[1], tmp[0]); - else + data->pdata->power_reset(); + } else break; } @@ -147,6 +163,21 @@ static int mxt_backup(struct mxt_data *data) return mxt_write_mem(data, data->cmd_proc + CMD_BACKUP_OFFSET, 1, &buf); } +static void mxt_start(struct mxt_data *data) +{ + /* Touch report enable */ + mxt_write_object(data, + TOUCH_MULTITOUCHSCREEN_T9, 0, + data->tsp_ctl); +} + +static void mxt_stop(struct mxt_data *data) +{ + /* Touch report disable */ + mxt_write_object(data, + TOUCH_MULTITOUCHSCREEN_T9, 0, 0); +} + static int mxt_check_instance(struct mxt_data *data, u8 object_type) { int i; @@ -288,25 +319,21 @@ static int mxt_get_object_table(struct mxt_data *data) (data->objects[i].instances); switch (data->objects[i].object_type) { - case TOUCH_MULTITOUCHSCREEN_T9: - data->finger_report_id = type_count + 1; -#if TSP_DEBUG_INFO - dev_info(&data->client->dev, "Finger report id: %d\n", - data->finger_report_id); -#endif - break; case GEN_MESSAGEPROCESSOR_T5: data->msg_object_size = data->objects[i].size; data->msg_proc = data->objects[i].start_address; -#if TSP_DEBUG_INFO - dev_info(&data->client->dev, "mesage object size: %d" + dev_dbg(&data->client->dev, "mesage object size: %d" " message address: 0x%x\n", data->msg_object_size, data->msg_proc); -#endif break; case GEN_COMMANDPROCESSOR_T6: data->cmd_proc = data->objects[i].start_address; break; + case TOUCH_MULTITOUCHSCREEN_T9: + data->finger_report_id = type_count + 1; + dev_dbg(&data->client->dev, "Finger report id: %d\n", + data->finger_report_id); + break; } if (data->objects[i].num_report_ids) { @@ -333,7 +360,6 @@ out: return ret; } - static void __devinit mxt_make_reportid_table(struct mxt_data *data) { struct mxt_object *objects = data->objects; @@ -372,7 +398,7 @@ static void __devinit mxt_make_reportid_table(struct mxt_data *data) static int mxt_write_configuration(struct mxt_data *data) { - int i, ret; + int i = 0, ret = 0; u8 ** tsp_config = (u8 **)data->pdata->config; @@ -383,6 +409,9 @@ static int mxt_write_configuration(struct mxt_data *data) goto out; if (tsp_config[i][0] == TOUCH_MULTITOUCHSCREEN_T9) { + data->tsp_ctl = tsp_config[i][1]; + data->x_num = tsp_config[i][4]; + data->y_num = tsp_config[i][5]; /* Are x and y inverted? */ if (tsp_config[i][10] & 0x1) { data->x_dropbits = @@ -425,6 +454,194 @@ static int mxt_calibrate_chip(struct mxt_data *data) return ret; } +#if TSP_INFORM_CHARGER +static bool check_acq_int(struct mxt_data *data, u8 *buf) +{ + bool int_conf = false; + + if ((!data->charging_mode) && + (GEN_POWERCONFIG_T7 == buf[0])) { + switch (buf[1]) { + case MXT_T7_IDLE_ACQ_INT: + case MXT_T7_ACT_ACQ_INT: + int_conf = true; + break; + default: + break; + } + } + + return int_conf; +} + +static void set_charger_config(struct mxt_data *data, + int mode) +{ + u8 *buf = data->charger_inform_buf; + int i = 1; + + while (data->charger_inform_buf_size > i + 3) { + u8 *tmp = &buf[i]; + int ret = 0; + if (mode == check_acq_int(data, tmp)) { + u8 type = buf[i]; + u8 offset = buf[i + 1]; + u8 val = buf[i + 2 + data->charging_mode]; + + ret = mxt_write_object(data, type, offset, val); + if (ret < 0) { + dev_err(&data->client->dev, + "%s : failed to write i2c %d %d %d\n", + __func__, type, offset, val); + return ; + } + if (data->debug_log) + dev_info(&data->client->dev, + "%s : %d %d %d\n", + __func__, type, offset, val); + } + i += 4; + } + +} + +static void inform_charger(struct mxt_callbacks *cb, + bool en) +{ + struct mxt_data *data = container_of(cb, + struct mxt_data, callbacks); + + cancel_delayed_work_sync(&data->noti_dwork); + cancel_delayed_work_sync(&data->acq_int_dwork); + data->charging_mode = en; + schedule_delayed_work(&data->noti_dwork, HZ / 5); +} + +static void charger_noti_dwork(struct work_struct *work) +{ + struct mxt_data *data = + container_of(work, struct mxt_data, + noti_dwork.work); + + if (!data->mxt_enabled) { + schedule_delayed_work(&data->noti_dwork, HZ / 5); + return ; + } + + dev_info(&data->client->dev, + "%s mode\n", + data->charging_mode ? "charging" : "battery"); + + set_charger_config(data, 0); + + if (!data->charging_mode) + schedule_delayed_work(&data->acq_int_dwork, HZ * 3); +} + +static void switch_acq_int_dwork(struct work_struct *work) +{ + struct mxt_data *data = + container_of(work, struct mxt_data, + acq_int_dwork.work); + + set_charger_config(data, 1); +} + +static void inform_charger_init(struct mxt_data *data, u8 *buf) +{ + data->charger_inform_buf_size = buf[0]; + data->charger_inform_buf = kzalloc(buf[0], GFP_KERNEL); + memcpy(data->charger_inform_buf, buf, buf[0]); + INIT_DELAYED_WORK(&data->noti_dwork, charger_noti_dwork); + INIT_DELAYED_WORK(&data->acq_int_dwork, switch_acq_int_dwork); +} +#endif + + +#if CHECK_ANTITOUCH +void mxt_t61_timer_set(struct mxt_data *data, u8 mode, u8 cmd, u16 ms_period) +{ + struct mxt_object *object; + int ret = 0; + u8 buf[5] = {3, 0, 0, 0, 0}; + + object = mxt_get_object_info(data, SPT_TIMER_T61); + + buf[1] = cmd; + buf[2] = mode; + buf[3] = ms_period & 0xFF; + buf[4] = (ms_period >> 8) & 0xFF; + + ret = mxt_write_mem(data, object->start_address, 5, buf); + if (ret) + dev_err(&data->client->dev, + "%s write error T%d address[0x%x]\n", + __func__, SPT_TIMER_T61, object->start_address); + + if (ms_period) + dev_info(&data->client->dev, + "T61 Timer Enabled %d\n", ms_period); +} + +void mxt_t8_autocal_set(struct mxt_data *data, u8 mstime) +{ + struct mxt_object *object; + int ret = 0; + + if (mstime) { + data->check_autocal = 1; + if (data->debug_log) + dev_info(&data->client->dev, + "T8 Autocal Enabled %d\n", mstime); + } else { + data->check_autocal = 0; + if (data->debug_log) + dev_info(&data->client->dev, + "T8 Autocal Disabled %d\n", mstime); + } + + object = mxt_get_object_info(data, + GEN_ACQUISITIONCONFIG_T8); + + ret = mxt_write_mem(data, + object->start_address + 4, + 1, &mstime); + if (ret) + dev_err(&data->client->dev, + "%s write error T%d address[0x%x]\n", + __func__, SPT_TIMER_T61, object->start_address); +} + +static void mxt_check_coordinate(struct mxt_data *data, + bool detect, u8 id, u16 *px, u16 *py) +{ + static int tcount[] = {0, }; + static u16 pre_x[][4] = {{0}, }; + static u16 pre_y[][4] = {{0}, }; + int distance = 0; + + if (detect) + tcount[id] = 0; + + if (tcount[id] > 1) { + distance = abs(pre_x[id][0] - *px) + abs(pre_y[id][0] - *py); + if (data->debug_log) + dev_info(&data->client->dev, + "Check Distance ID:%d, %d\n", + id, distance); + + /* AutoCal Disable */ + if (distance > 3) + mxt_t8_autocal_set(data, 0); + } + + pre_x[id][0] = *px; + pre_y[id][0] = *py; + + tcount[id]++; +} +#endif /* CHECK_ANTITOUCH */ + static void mxt_report_input_data(struct mxt_data *data) { int i; @@ -451,13 +668,22 @@ static void mxt_report_input_data(struct mxt_data *data) data->fingers[i].w); input_report_abs(data->input_dev, ABS_MT_PRESSURE, data->fingers[i].z); +#if TSP_USE_SHAPETOUCH + input_report_abs(data->input_dev, ABS_MT_COMPONENT, + data->fingers[i].component); + input_report_abs(data->input_dev, ABS_MT_SUMSIZE, + data->sumsize); +#endif } report_count++; #if TSP_DEBUG_INFO if (data->fingers[i].state == MXT_STATE_PRESS) - dev_info(&data->client->dev, "P: id[%d] X[%d],Y[%d]\n", - i, data->fingers[i].x, data->fingers[i].y); + dev_info(&data->client->dev, "P: id[%d] X[%d],Y[%d]" + " comp[%d], sum[%d] size[%d], pressure[%d]\n", + i, data->fingers[i].x, data->fingers[i].y, + data->fingers[i].component, data->sumsize, + data->fingers[i].w, data->fingers[i].z); #else if (data->fingers[i].state == MXT_STATE_PRESS) dev_info(&data->client->dev, "P: id[%d]\n", i); @@ -481,14 +707,16 @@ static void mxt_report_input_data(struct mxt_data *data) #endif input_sync(data->input_dev); } -#if TSP_BOOSTER + +#if (TSP_USE_SHAPETOUCH || TSP_BOOSTER) /* all fingers are released */ if (count == 0) { - if (data->booster.touch_cpu_lock_status) { - cancel_delayed_work(&data->booster.dvfs_dwork); - schedule_delayed_work(&data->booster.dvfs_dwork, - msecs_to_jiffies(TOUCH_BOOSTER_TIME)); - } +#if TSP_USE_SHAPETOUCH + data->sumsize = 0; +#endif +#if TSP_BOOSTER + mxt_set_dvfs_on(data, false); +#endif } #endif @@ -507,17 +735,40 @@ static void mxt_treat_T6_object(struct mxt_data *data, u8 *msg) if (msg[1] & 0x08) dev_err(&data->client->dev, "config error\n"); /* calibration */ - if (msg[1] & 0x10) + if (msg[1] & 0x10) { dev_info(&data->client->dev, "calibration is on going !!\n"); +#if CHECK_ANTITOUCH + /* After Calibration */ + data->check_antitouch = 1; + mxt_t61_timer_set(data, + MXT_T61_TIMER_ONESHOT, + MXT_T61_TIMER_CMD_STOP, 0); + data->check_timer = 0; + data->check_calgood = 0; +#endif + } /* signal error */ if (msg[1] & 0x20) dev_err(&data->client->dev, "signal error\n"); /* overflow */ - if (msg[1] & 0x40) + if (msg[1] & 0x40) { dev_err(&data->client->dev, "overflow detected\n"); + mxt_write_object(data, + GEN_POWERCONFIG_T7, 1, 0xff); + mxt_write_object(data, + TOUCH_MULTITOUCHSCREEN_T9, 8, 2); + mxt_write_object(data, + SPT_CTECONFIG_T46, 3, 24); + } /* reset */ - if (msg[1] & 0x80) + if (msg[1] & 0x80) { dev_info(&data->client->dev, "reset is ongoing\n"); + + if (data->charging_mode) + set_charger_config(data, 0); + else + schedule_delayed_work(&data->acq_int_dwork, HZ * 3); + } } static void mxt_treat_T9_object(struct mxt_data *data, u8 *msg) @@ -531,35 +782,64 @@ static void mxt_treat_T9_object(struct mxt_data *data, u8 *msg) return; if (msg[1] & RELEASE_MSG_MASK) { - data->fingers[id].z = 0; data->fingers[id].w = msg[5]; - data->finger_mask |= 1U << id; data->fingers[id].state = MXT_STATE_RELEASE; + mxt_report_input_data(data); } else if ((msg[1] & DETECT_MSG_MASK) && (msg[1] & (PRESS_MSG_MASK | MOVE_MSG_MASK))) { - data->fingers[id].z = msg[6]; - data->fingers[id].w = msg[5]; data->fingers[id].x = (((msg[2] << 4) | (msg[4] >> 4)) >> data->x_dropbits); data->fingers[id].y = (((msg[3] << 4) | (msg[4] & 0xF)) >> data->y_dropbits); + data->fingers[id].w = msg[5]; +#ifndef CONFIG_INPUT_WACOM + /* workaround for the hovering issue */ + if (msg[1] & PRESS_MSG_MASK) { + if (data->fingers[id].z == msg[6]) { + if (data->pdata->max_z == msg[6]) + data->fingers[id].z = msg[6] - 1; + else + data->fingers[id].z = msg[6] + 1; + } + } else + data->fingers[id].z = msg[6]; +#else + data->fingers[id].z = msg[6]; +#endif + +#if TSP_USE_SHAPETOUCH + data->fingers[id].component = msg[7]; +#endif data->finger_mask |= 1U << id; if (msg[1] & PRESS_MSG_MASK) { data->fingers[id].state = MXT_STATE_PRESS; data->fingers[id].mcount = 0; + +#if CHECK_ANTITOUCH + if (data->check_autocal) + mxt_check_coordinate(data, 1, id, + &data->fingers[id].x, + &data->fingers[id].y); +#endif + } else if (msg[1] & MOVE_MSG_MASK) { data->fingers[id].mcount += 1; + +#if CHECK_ANTITOUCH + if (data->check_autocal) + mxt_check_coordinate(data, 0, id, + &data->fingers[id].x, + &data->fingers[id].y); +#endif } #if TSP_BOOSTER - if (data->booster.touch_cpu_lock_status == false) - mxt_set_dvfs_on(data); + mxt_set_dvfs_on(data, true); #endif } else if ((msg[1] & SUPPRESS_MSG_MASK) && (data->fingers[id].state != MXT_STATE_INACTIVE)) { - data->fingers[id].z = 0; data->fingers[id].w = msg[5]; data->fingers[id].state = MXT_STATE_RELEASE; data->finger_mask |= 1U << id; @@ -582,6 +862,116 @@ static void mxt_treat_T42_object(struct mxt_data *data, u8 *msg) dev_info(&data->client->dev, "palm touch released\n"); } +static void mxt_treat_T57_object(struct mxt_data *data, u8 *msg) +{ +#if CHECK_ANTITOUCH + u16 tch_area = 0, atch_area = 0; + + tch_area = msg[3] | (msg[4] << 8); + atch_area = msg[5] | (msg[6] << 8); + if (data->check_antitouch) { + if (tch_area) { + if (data->debug_log) + dev_info(&data->client->dev, + "TCHAREA=%d\n", tch_area); + + /* First Touch After Calibration */ + if (data->check_timer == 0) { + mxt_t61_timer_set(data, + MXT_T61_TIMER_ONESHOT, + MXT_T61_TIMER_CMD_START, + 3000); + data->check_timer = 1; + } + + if (tch_area <= 2) + mxt_t8_autocal_set(data, 5); + + if (atch_area > 5) { + if (atch_area - tch_area > 0) { + if (data->debug_log) + dev_info(&data->client->dev, + "Case:1 TCHAREA=%d ATCHAREA=%d\n", + tch_area, atch_area); + mxt_calibrate_chip(data); + } + } + + } else { + if (atch_area) { + /* Only Anti-touch */ + if (data->debug_log) + dev_info(&data->client->dev, + "Case:2 TCHAREA=%d ATCHAREA=%d\n", + tch_area, atch_area); + mxt_calibrate_chip(data); + } + } + } + + if (data->check_calgood == 1) { + if (tch_area) { + if ((atch_area - tch_area) > 8) { + if (tch_area < 35) { + if (data->debug_log) + dev_info(&data->client->dev, + "Cal Not Good 1 - %d %d\n", + atch_area, tch_area); + mxt_calibrate_chip(data); + } + } + if (((tch_area - atch_area) >= 40) && + (atch_area > 4)) { + if (data->debug_log) + dev_info(&data->client->dev, + "Cal Not Good 2 - %d %d\n", + atch_area, tch_area); + mxt_calibrate_chip(data); + } + } else { + if (atch_area) { + /* Only Anti-touch */ + if (data->debug_log) + dev_info(&data->client->dev, + "Cal Not Good 3 - %d %d\n", + atch_area, tch_area); + mxt_calibrate_chip(data); + } + } + } + +#endif /* CHECK_ANTITOUCH */ + +#if TSP_USE_SHAPETOUCH + data->sumsize = msg[1] + (msg[2] << 8); +#endif /* TSP_USE_SHAPETOUCH */ + +} + +#if CHECK_ANTITOUCH +static void mxt_treat_T61_object(struct mxt_data *data, u8 *msg) +{ + if ((msg[1] & 0xa0) == 0xa0) { + + if (data->check_calgood == 1) + data->check_calgood = 0; + + if (data->check_antitouch) { + if (data->debug_log) + dev_info(&data->client->dev, + "SPT_TIMER_T61 Stop\n"); + data->check_antitouch = 0; + data->check_timer = 0; + mxt_t8_autocal_set(data, 0); + data->check_calgood = 1; + mxt_t61_timer_set(data, + MXT_T61_TIMER_ONESHOT, + MXT_T61_TIMER_CMD_START, 10000); + } + } +} +#endif /* CHECK_ANTITOUCH */ + static irqreturn_t mxt_irq_thread(int irq, void *ptr) { struct mxt_data *data = ptr; @@ -597,7 +987,7 @@ static irqreturn_t mxt_irq_thread(int irq, void *ptr) print_hex_dump(KERN_INFO, "MXT MSG:", DUMP_PREFIX_NONE, 16, 1, msg, sizeof(msg), false); -#endif +#endif /* TSP_ITDEV */ object_type = mxt_reportid_to_type(data, msg[0] , &instance); if (object_type == RESERVED_T0) @@ -607,20 +997,33 @@ static irqreturn_t mxt_irq_thread(int irq, void *ptr) case GEN_COMMANDPROCESSOR_T6: mxt_treat_T6_object(data, msg); break; + case TOUCH_MULTITOUCHSCREEN_T9: mxt_treat_T9_object(data, msg); break; + case PROCI_TOUCHSUPPRESSION_T42: mxt_treat_T42_object(data, msg); break; + + case PROCI_EXTRATOUCHSCREENDATA_T57: + mxt_treat_T57_object(data, msg); + break; + +#if CHECK_ANTITOUCH + case SPT_TIMER_T61: + mxt_treat_T61_object(data, msg); + break; +#endif /* CHECK_ANTITOUCH */ + default: -#if TSP_DEBUG_INFO - dev_info(&data->client->dev, "Untreated Object type[%d]\t" - "message[0x%x,0x%x,0x%x,0x%x,0x%x,0x%x," - "0x%x,0x%x,0x%x]\n", - object_type, msg[0], msg[1], msg[2], - msg[3], msg[4], msg[5], msg[6], msg[7], msg[8]); -#endif + if (data->debug_log) + dev_info(&data->client->dev, "Untreated Object type[%d]\t" + "message[0x%x,0x%x,0x%x,0x%x,0x%x,0x%x," + "0x%x,0x%x,0x%x]\n", + object_type, msg[0], msg[1], + msg[2], msg[3], msg[4], msg[5], + msg[6], msg[7], msg[8]); break; } } while (!gpio_get_value(data->pdata->gpio_read_done)); @@ -639,7 +1042,6 @@ static int mxt_internal_suspend(struct mxt_data *data) for (i = 0; i < data->num_fingers; i++) { if (data->fingers[i].state == MXT_STATE_INACTIVE) continue; - data->fingers[i].z = 0; data->fingers[i].state = MXT_STATE_RELEASE; count++; } @@ -647,11 +1049,7 @@ static int mxt_internal_suspend(struct mxt_data *data) mxt_report_input_data(data); #if TSP_BOOSTER - cancel_delayed_work(&data->booster.dvfs_dwork); - if (data->booster.touch_cpu_lock_status) { - exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); - data->booster.touch_cpu_lock_status = false; - } + mxt_set_dvfs_on(data, false); #endif data->pdata->power_off(); @@ -662,7 +1060,6 @@ static int mxt_internal_suspend(struct mxt_data *data) static int mxt_internal_resume(struct mxt_data *data) { data->pdata->power_on(); - return 0; } @@ -769,8 +1166,8 @@ static int mxt_fw_write(struct i2c_client *client, return 0; } -static int mxt_load_fw(struct mxt_data *data, - const char *fn, bool is_bootmode) +static int mxt_flash_fw(struct mxt_data *data, + const u8 *fw_data, size_t fw_size) { struct device *dev = &data->client->dev; struct i2c_client *client = data->client_boot; @@ -778,29 +1175,6 @@ static int mxt_load_fw(struct mxt_data *data, unsigned int pos = 0; int ret; - const struct firmware *fw = NULL; - - dev_info(dev, "Enter updating firmware from %s\n", - is_bootmode ? "Boot" : "App"); - - ret = request_firmware(&fw, fn, dev); - if (ret) { - dev_err(dev, "Unable to open firmware %s\n", fn); - return ret; - } - - if (!is_bootmode) { - /* Change to the bootloader mode */ - ret = mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, - CMD_RESET_OFFSET, MXT_BOOT_VALUE); - if (ret) { - dev_err(dev, "Fail to change bootloader mode\n"); - release_firmware(fw); - return ret; - } - msleep(MXT_1664S_SW_RESET_TIME); - } - ret = mxt_check_bootloader(client, MXT_WAITING_BOOTLOAD_CMD); if (ret) { /*may still be unlocked from previous update attempt */ @@ -812,7 +1186,7 @@ static int mxt_load_fw(struct mxt_data *data, /* Unlock bootloader */ mxt_unlock_bootloader(client); } - while (pos < fw->size) { + while (pos < fw_size) { ret = mxt_check_bootloader(client, MXT_WAITING_FRAME_DATA); if (ret) { @@ -820,7 +1194,7 @@ static int mxt_load_fw(struct mxt_data *data, goto out; } - frame_size = ((*(fw->data + pos) << 8) | *(fw->data + pos + 1)); + frame_size = ((*(fw_data + pos) << 8) | *(fw_data + pos + 1)); /* * We should add 2 at frame size as the the firmware data is not @@ -830,7 +1204,7 @@ static int mxt_load_fw(struct mxt_data *data, frame_size += 2; /* Write one frame to device */ - mxt_fw_write(client, fw->data + pos, frame_size); + mxt_fw_write(client, fw_data + pos, frame_size); ret = mxt_check_bootloader(client, MXT_FRAME_CRC_PASS); @@ -842,30 +1216,62 @@ static int mxt_load_fw(struct mxt_data *data, pos += frame_size; dev_info(dev, "Updated %d bytes / %zd bytes\n", - pos, fw->size); + pos, fw_size); msleep(20); } dev_info(dev, "Sucess updating firmware\n"); out: - release_firmware(fw); - return ret; } -static void mxt_start(struct mxt_data *data) +static int mxt_load_fw(struct mxt_data *data, bool is_bootmode) { - /* Touch report enable */ - mxt_write_object(data, - TOUCH_MULTITOUCHSCREEN_T9, 0, 139); -} + struct i2c_client *client = data->client; + struct device *dev = &client->dev; + const struct firmware *fw = NULL; + char *fw_path; + int ret; -static void mxt_stop(struct mxt_data *data) -{ - /* Touch report disable */ - mxt_write_object(data, - TOUCH_MULTITOUCHSCREEN_T9, 0, 0); + dev_info(dev, "Enter updating firmware from %s\n", + is_bootmode ? "Boot" : "App"); + + fw_path = kzalloc(MXT_MAX_FW_PATH, GFP_KERNEL); + if (fw_path == NULL) { + dev_err(dev, "failed to allocate firmware path.\n"); + return -ENOMEM; + } + + snprintf(fw_path, MXT_MAX_FW_PATH, "tsp_atmel/%s", MXT_FW_NAME); + ret = request_firmware(&fw, fw_path, dev); + if (ret) { + dev_err(dev, "Unable to open firmware %s\n", fw_path); + goto out; + } + + if (!is_bootmode) { + /* Change to the bootloader mode */ + ret = mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_RESET_OFFSET, MXT_BOOT_VALUE); + if (ret) { + dev_err(dev, "Fail to change bootloader mode\n"); + goto out; + } + msleep(MXT_1664S_SW_RESET_TIME); + } + + ret = mxt_flash_fw(data, fw->data, fw->size); + if (ret) + goto out; + else + msleep(MXT_1664S_FW_RESET_TIME); + +out: + kfree(fw_path); + release_firmware(fw); + + return ret; } static int mxt_input_open(struct input_dev *dev) @@ -884,6 +1290,20 @@ static void mxt_input_close(struct input_dev *dev) mxt_stop(data); } +static void late_resume_dwork(struct work_struct *work) +{ + struct mxt_data *data = + container_of(work, struct mxt_data, + resume_dwork.work); + + set_charger_config(data, 0); + + if (!data->charging_mode) + schedule_delayed_work(&data->acq_int_dwork, HZ * 3); + + enable_irq(data->client->irq); +} + #ifdef CONFIG_HAS_EARLYSUSPEND #define mxt_suspend NULL #define mxt_resume NULL @@ -892,12 +1312,16 @@ static void mxt_early_suspend(struct early_suspend *h) { struct mxt_data *data = container_of(h, struct mxt_data, early_suspend); +#if TSP_INFORM_CHARGER + cancel_delayed_work_sync(&data->noti_dwork); +#endif + mutex_lock(&data->lock); if (data->mxt_enabled) { disable_irq(data->client->irq); - mxt_internal_suspend(data); data->mxt_enabled = false; + mxt_internal_suspend(data); } else { dev_err(&data->client->dev, "%s. but touch already off\n", __func__); @@ -910,6 +1334,7 @@ static void mxt_late_resume(struct early_suspend *h) { struct mxt_data *data = container_of(h, struct mxt_data, early_suspend); + mutex_lock(&data->lock); if (data->mxt_enabled) { @@ -918,7 +1343,8 @@ static void mxt_late_resume(struct early_suspend *h) } else { mxt_internal_resume(data); data->mxt_enabled = true; - enable_irq(data->client->irq); + schedule_delayed_work(&data->resume_dwork, + msecs_to_jiffies(MXT_1664S_HW_RESET_TIME)); } mutex_unlock(&data->lock); @@ -973,12 +1399,10 @@ static int mxt_init_touch(struct mxt_data *data) dev_err(dev, "Failed to verify bootloader's status\n"); goto out; } else { - ret = mxt_load_fw(data, MXT_FW_NAME, true); + ret = mxt_load_fw(data, true); if (ret) { dev_err(dev, "Failed updating firmware\n"); goto out; - } else { - msleep(MXT_1664S_FW_RESET_TIME); } } ret = mxt_get_id_info(data); @@ -1067,13 +1491,11 @@ static int mxt_rest_init_touch(struct mxt_data *data) if (data->info.version != MXT_FIRM_VERSION || (data->info.version == MXT_FIRM_VERSION && data->info.build != MXT_FIRM_BUILD)) { - if (mxt_load_fw(data, MXT_FW_NAME, false)) { + if (mxt_load_fw(data, false)) goto out; - } else { - msleep(MXT_1664S_FW_RESET_TIME); + else mxt_init_touch(data); } - } #endif } else { dev_err(dev, "There is no valid TSP ID\n"); @@ -1102,6 +1524,60 @@ out: return ret; } +#if TSP_SEC_SYSFS +int mxt_flash_fw_from_sysfs(struct mxt_data *data, + const u8 *fw_data, size_t fw_size) +{ + struct i2c_client *client = data->client; + int ret; + + /* Change to the bootloader mode */ + ret = mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_RESET_OFFSET, MXT_BOOT_VALUE); + if (ret) { + dev_err(&client->dev, "Fail to change bootloader mode\n"); + goto out; + } + msleep(MXT_1664S_SW_RESET_TIME); + + /* writing firmware */ + ret = mxt_flash_fw(data, fw_data, fw_size); + if (ret) { + dev_err(&client->dev, "Failed updating firmware: %s\n", + __func__); + goto out; + } + msleep(MXT_1664S_FW_RESET_TIME); + + ret = mxt_init_touch(data); + if (ret) { + dev_err(&client->dev, "initialization failed: %s\n", __func__); + goto out; + } + + /* rest touch ic such as write config and backup */ + ret = mxt_write_configuration(data); + if (ret) { + dev_err(&client->dev, "Failed init write config\n"); + goto out; + } + ret = mxt_backup(data); + if (ret) { + dev_err(&client->dev, "Failed backup NV data\n"); + goto out; + } + /* reset the touch IC. */ + ret = mxt_reset(data); + if (ret) { + dev_err(&client->dev, "Failed Reset IC\n"); + goto out; + } + msleep(MXT_1664S_SW_RESET_TIME); +out: + return ret; +} +#endif + static int __devinit mxt_probe(struct i2c_client *client, const struct i2c_device_id *id) { @@ -1133,6 +1609,7 @@ static int __devinit mxt_probe(struct i2c_client *client, data->pdata = pdata; data->num_fingers = pdata->max_finger_touches; data->mxt_enabled = true; + data->config_version = pdata->config_version; mutex_init(&data->lock); input_dev->name = "sec_touchscreen"; @@ -1157,6 +1634,11 @@ static int __devinit mxt_probe(struct i2c_client *client, input_set_abs_params(input_dev, ABS_MT_PRESSURE, pdata->min_z, pdata->max_z, 0, 0); +#if TSP_USE_SHAPETOUCH + input_set_abs_params(input_dev, ABS_MT_COMPONENT, 0, 255, 0, 0); + input_set_abs_params(input_dev, ABS_MT_SUMSIZE, 0, 16 * 26, 0, 0); +#endif + input_set_drvdata(input_dev, data); i2c_set_clientdata(client, data); @@ -1181,7 +1663,10 @@ static int __devinit mxt_probe(struct i2c_client *client, if (ret) goto err_reg_dev; + INIT_DELAYED_WORK(&data->resume_dwork, late_resume_dwork); + data->pdata->power_on(); + msleep(MXT_1664S_HW_RESET_TIME); /* init touch ic */ ret = mxt_init_touch(data); @@ -1200,6 +1685,16 @@ static int __devinit mxt_probe(struct i2c_client *client, */ mxt_stop(data); +#if TSP_INFORM_CHARGER + /* Register callbacks */ + /* To inform tsp , charger connection status*/ + data->callbacks.inform_charger = inform_charger; + if (pdata->register_cb) { + u8 *tmp = pdata->register_cb(&data->callbacks); + inform_charger_init(data, tmp); + } +#endif + ret = request_threaded_irq(client->irq, NULL, mxt_irq_thread, IRQF_TRIGGER_LOW | IRQF_ONESHOT, "mxt_ts", data); @@ -1208,7 +1703,7 @@ static int __devinit mxt_probe(struct i2c_client *client, goto err_free_mem; } #ifdef CONFIG_HAS_EARLYSUSPEND - data->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; + data->early_suspend.level = EARLY_SUSPEND_LEVEL_DISABLE_FB + 1; data->early_suspend.suspend = mxt_early_suspend; data->early_suspend.resume = mxt_late_resume; register_early_suspend(&data->early_suspend); @@ -1224,7 +1719,7 @@ static int __devinit mxt_probe(struct i2c_client *client, ret = mxt_init_dvfs(data); if (ret < 0) { dev_err(&client->dev, "Fail get dvfs level for touch booster\n"); - goto err_irq; + goto err_free_mem; } #endif dev_info(&client->dev, "Mxt touch success initialization\n"); @@ -1256,6 +1751,9 @@ static int __devexit mxt_remove(struct i2c_client *client) unregister_early_suspend(&data->early_suspend); #endif free_irq(client->irq, data); +#if TSP_INFORM_CHARGER + kfree(data->charger_inform_buf); +#endif kfree(data->objects); kfree(data->rid_map); gpio_free(data->pdata->gpio_read_done); diff --git a/drivers/input/touchscreen/mxt1664s_dev.h b/drivers/input/touchscreen/mxt1664s_dev.h index 4fd4f89..5655d0f 100644 --- a/drivers/input/touchscreen/mxt1664s_dev.h +++ b/drivers/input/touchscreen/mxt1664s_dev.h @@ -70,25 +70,36 @@ #define MXT_STATE_PRESS 1 #define MXT_STATE_MOVE 2 -/* Debug cmds */ -#define MXT_PAGE_UP 0x01 -#define MXT_PAGE_DOWN 0x02 -#define MXT_DELTA_MODE 0x10 -#define MXT_REFERENCE_MODE 0x11 -#define MXT_CTE_MODE 0x31 +/* Diagnostic cmds */ +#define MXT_DIAG_PAGE_UP 0x01 +#define MXT_DIAG_PAGE_DOWN 0x02 +#define MXT_DIAG_DELTA_MODE 0x10 +#define MXT_DIAG_REFERENCE_MODE 0x11 +#define MXT_DIAG_CTE_MODE 0x31 +#define MXT_DIAG_IDENTIFICATION_MODE 0x80 +#define MXT_DIAG_TOCH_THRESHOLD_MODE 0xF4 + +#define MXT_DIAG_MODE_MASK 0xFC +#define MXT_DIAGNOSTIC_MODE 0 +#define MXT_DIAGNOSTIC_PAGE 1 /* Firmware name */ -#define MXT_FW_NAME "tsp_atmel/mXT1664S.fw" +#define MXT_FW_NAME "mXT1664S.fw" +#define MXT_MAX_FW_PATH 255 /* Firmware version */ -#define MXT_FIRM_VERSION 0x9 +#define MXT_FIRM_VERSION 0x10 #define MXT_FIRM_BUILD 0xAA /* Feature */ #define TSP_FIRMUP_ON_PROBE 1 -#define TSP_BOOSTER 0 -#define TSP_DEBUG_INFO 1 -#define TSP_SEC_SYSFS 1 +#define TSP_BOOSTER 1 +#define TSP_DEBUG_INFO 0 +#define TSP_SEC_SYSFS 1 +#define TSP_USE_SHAPETOUCH 1 +#define CHECK_ANTITOUCH 1 +#define TSP_INFORM_CHARGER 1 + /* TSP_ITDEV feature just for atmel tunning app * so it should be disabled after finishing tunning * because it use other write permission. it will be cause @@ -96,16 +107,31 @@ */ #define TSP_ITDEV 1 +#define MXT_T7_IDLE_ACQ_INT 0 +#define MXT_T7_ACT_ACQ_INT 1 + +#if CHECK_ANTITOUCH +#define MXT_T61_TIMER_ONESHOT 0 +#define MXT_T61_TIMER_REPEAT 1 +#define MXT_T61_TIMER_CMD_START 1 +#define MXT_T61_TIMER_CMD_STOP 2 +#endif + #if TSP_SEC_SYSFS -#define TSP_BUF_SIZE 1024 +#define TSP_BUF_SIZE 1024 + +#define NODE_NUM 1664 -#define TX_NUM 26 -#define RX_NUM 14 -#define NODE_NUM (TX_NUM*RX_NUM) +#define NODE_PER_PAGE 64 +#define DATA_PER_NODE 2 -#define TSP_CMD_STR_LEN 32 -#define TSP_CMD_RESULT_STR_LEN 512 -#define TSP_CMD_PARAM_NUM 8 +#define REF_OFFSET_VALUE 16384 +#define REF_MIN_VALUE (19744 - REF_OFFSET_VALUE) +#define REF_MAX_VALUE (28884 - REF_OFFSET_VALUE) + +#define TSP_CMD_STR_LEN 32 +#define TSP_CMD_RESULT_STR_LEN 512 +#define TSP_CMD_PARAM_NUM 8 enum CMD_STATUS { CMD_STATUS_WAITING = 0, @@ -114,12 +140,21 @@ enum CMD_STATUS { CMD_STATUS_FAIL, CMD_STATUS_NOT_APPLICABLE, }; + +enum { + MXT_FW_FROM_BUILT_IN = 0, + MXT_FW_FROM_UMS, + MXT_FW_FROM_REQ_FW, +}; #endif #if TSP_BOOSTER -/* touch booster */ -#define TOUCH_BOOSTER_TIME 3000 -#define TOUCH_BOOSTER_LIMIT_CLK 500000 +#include <mach/cpufreq.h> +#include <mach/dev.h> +#define SEC_DVFS_LOCK_TIMEOUT 200 +#define SEC_DVFS_LOCK_FREQ 800000 +#define SEC_BUS_LOCK_FREQ 267160 +#define SEC_BUS_LOCK_FREQ2 400200 #endif struct mxt_object { @@ -146,6 +181,9 @@ struct mxt_finger_info { s16 z; u16 w; s8 state; +#if TSP_USE_SHAPETOUCH + int16_t component; +#endif u16 mcount; }; @@ -159,6 +197,8 @@ struct touch_booster { bool touch_cpu_lock_status; int cpu_lv; struct delayed_work dvfs_dwork; + struct device *bus_dev; + struct device *dev; }; #endif @@ -172,8 +212,13 @@ struct mxt_data_sysfs { struct mutex cmd_lock; bool cmd_is_running; - unsigned int reference[NODE_NUM]; - unsigned int delta[NODE_NUM]; + u16 reference[NODE_NUM]; + s16 delta[NODE_NUM]; + + u32 ref_max_data; + u32 ref_min_data; + s16 delta_max_data; + u16 delta_max_node; }; #endif @@ -185,17 +230,39 @@ struct mxt_data { struct mxt_info_block info; struct mxt_object *objects; struct mxt_report_id_map *rid_map; + struct mxt_callbacks callbacks; + struct delayed_work resume_dwork; #ifdef CONFIG_HAS_EARLYSUSPEND struct early_suspend early_suspend; #endif #if TSP_SEC_SYSFS struct mxt_data_sysfs *sysfs_data; #endif +#if TSP_BOOSTER + struct touch_booster booster; +#endif +#if TSP_INFORM_CHARGER + struct delayed_work noti_dwork; + struct delayed_work acq_int_dwork; + bool charging_mode; + u8 charger_inform_buf_size; + u8 *charger_inform_buf; +#endif #ifdef TSP_ITDEV int driver_paused; int debug_enabled; u16 last_read_addr; #endif +#if CHECK_ANTITOUCH + u8 check_antitouch; + u8 check_timer; + u8 check_autocal; + u8 check_calgood; +#endif + const char *config_version; + u8 tsp_ctl; + u8 x_num; + u8 y_num; u8 max_report_id; u8 finger_report_id; u16 msg_proc; @@ -206,6 +273,10 @@ struct mxt_data { u32 finger_mask; int num_fingers; bool mxt_enabled; + bool debug_log; +#if TSP_USE_SHAPETOUCH + int16_t sumsize; +#endif struct mutex lock; struct mxt_finger_info fingers[]; }; @@ -226,4 +297,14 @@ extern int mxt_read_object(struct mxt_data *data, extern int mxt_write_object(struct mxt_data *data, u8 type, u8 offset, u8 val); +#if TSP_SEC_SYSFS +extern int mxt_flash_fw_from_sysfs(struct mxt_data *data, + const u8 *fw_data, size_t fw_size); +#endif + +#if TSP_BOOSTER +extern void mxt_set_dvfs_on(struct mxt_data *data, bool en); +extern int mxt_init_dvfs(struct mxt_data *data); +#endif /* TSP_BOOSTER */ + #endif /* __MXT_1664S_DEV_H */ diff --git a/drivers/input/touchscreen/mxt1664s_sec.c b/drivers/input/touchscreen/mxt1664s_sec.c index 0b90a10..e83e68e 100644 --- a/drivers/input/touchscreen/mxt1664s_sec.c +++ b/drivers/input/touchscreen/mxt1664s_sec.c @@ -20,18 +20,16 @@ #include <linux/interrupt.h> #include <linux/slab.h> #include <linux/err.h> +#include <linux/delay.h> +#include <linux/uaccess.h> +#include <linux/firmware.h> +#include <linux/fs.h> #include <linux/i2c/mxt1664s.h> #include "mxt1664s_dev.h" #if TSP_SEC_SYSFS - -/* TODO: -* need to add dignostic fucntions for read reference -* and data form IC to usc T37 register -*/ - static void set_default_result(struct mxt_data_sysfs *data) { char delim = ':'; @@ -62,9 +60,445 @@ static void not_support_cmd(void *device_data) buff, strnlen(buff, sizeof(buff))); } +static bool check_xy_range(struct mxt_data *data, u16 node) +{ + u8 x_line = node / data->info.matrix_ysize; + u8 y_line = node % data->info.matrix_ysize; + return (y_line < data->y_num) ? + (x_line < data->x_num) : false; +} + +/* + Vendor specific helper functions */ +static int mxt_xy_to_node(struct mxt_data *data) +{ + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[16] = {0}; + int node; + + /* cmd_param[0][1] : [x][y] */ + if (sysfs_data->cmd_param[0] < 0 || + sysfs_data->cmd_param[0] >= data->x_num || + sysfs_data->cmd_param[1] < 0 || + sysfs_data->cmd_param[1] >= data->y_num) { + snprintf(buff, sizeof(buff) , "%s", "NG"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_FAIL; + + dev_info(&client->dev, "%s: parameter error: %u,%u\n", + __func__, sysfs_data->cmd_param[0], + sysfs_data->cmd_param[1]); + return -EINVAL; + } + + /* + * maybe need to consider orient. + * --> y number + * |(0,0) (0,1) + * |(1,0) (1,1) + * v + * x number + */ + node = sysfs_data->cmd_param[0] * data->y_num + + sysfs_data->cmd_param[1]; + + dev_info(&client->dev, "%s: node = %d\n", __func__, node); + return node; +} + +static void mxt_node_to_xy(struct mxt_data *data, u16 *x, u16 *y) +{ + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + *x = sysfs_data->delta_max_node / data->y_num; + *y = sysfs_data->delta_max_node % data->y_num; + + dev_info(&client->dev, "%s: node[%d] is X,Y=%d,%d\n", __func__, + sysfs_data->delta_max_node, *x, *y); +} + +static bool mxt_check_last_line(struct mxt_data *data, u16 num) +{ +#if TSP_INFORM_CHARGER + if ((data->x_num - 1) == (num / data->y_num)) + return data->charging_mode; + else +#endif + return false; +} + +static int mxt_set_diagnostic_mode(struct mxt_data *data, u8 dbg_mode) +{ + struct i2c_client *client = data->client; + u8 cur_mode; + int ret; + + ret = mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_DIAGNOSTIC_OFFSET, dbg_mode); + + if (ret) { + dev_err(&client->dev, + "Failed change diagnositc mode to %d\n", dbg_mode); + goto out; + } + + if (dbg_mode & MXT_DIAG_MODE_MASK) { + do { + ret = mxt_read_object(data, DEBUG_DIAGNOSTIC_T37, + MXT_DIAGNOSTIC_MODE, &cur_mode); + if (ret) { + dev_err(&client->dev, "Failed getting diagnositc mode\n"); + goto out; + } + msleep(20); + + } while (cur_mode != dbg_mode); + dev_dbg(&client->dev, + "current dianostic chip mode is %d\n", cur_mode); + } +out: + return ret; +} + +#if 0 +static int mxt_read_diagnostic_data(struct mxt_data *data, + u8 dbg_mode, u16 node, u16 *dbg_data) +{ + struct i2c_client *client = data->client; + struct mxt_object *dbg_object; + u8 read_page, read_point; + u8 cur_page, cnt_page; + u8 data_buf[DATA_PER_NODE] = { 0 }; + int ret = 0; + + /* calculate the read page and point */ + read_page = node / NODE_PER_PAGE; + node %= NODE_PER_PAGE; + read_point = (node * DATA_PER_NODE) + 2; + + /* to make the Page Num to 0 */ + ret = mxt_set_diagnostic_mode(data, MXT_DIAG_CTE_MODE); + if (ret) + goto out; + + /* change the debug mode */ + ret = mxt_set_diagnostic_mode(data, dbg_mode); + if (ret) + goto out; + + /* get object info for diagnostic */ + dbg_object = mxt_get_object_info(data, DEBUG_DIAGNOSTIC_T37); + if (!dbg_object) { + dev_err(&client->dev, "fail to get object_info\n"); + ret = -EINVAL; + goto out; + } + + /* move to the proper page */ + for (cnt_page = 1; cnt_page <= read_page; cnt_page++) { + ret = mxt_set_diagnostic_mode(data, MXT_DIAG_PAGE_UP); + if (ret) + goto out; + do { + msleep(20); + ret = mxt_read_mem(data, + dbg_object->start_address + MXT_DIAGNOSTIC_PAGE, + 1, &cur_page); + if (ret) { + dev_err(&client->dev, + "%s Read fail page\n", __func__); + goto out; + } + } while (cur_page != cnt_page); + } + + /* read the dbg data */ + ret = mxt_read_mem(data, dbg_object->start_address + read_point, + DATA_PER_NODE, data_buf); + if (ret) + goto out; + + *dbg_data = ((u16)data_buf[1] << 8) + (u16)data_buf[0]; + + dev_info(&client->dev, "dbg_mode[%d]: dbg data[%d] = %d\n", + dbg_mode, (read_page * NODE_PER_PAGE) + node, + dbg_mode == MXT_DIAG_DELTA_MODE ? (s16)(*dbg_data) : *dbg_data); +out: + return ret; +} +#endif + +static void mxt_treat_dbg_data(struct mxt_data *data, + struct mxt_object *dbg_object, u8 dbg_mode, u8 read_point, u16 num) +{ + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + u8 data_buffer[DATA_PER_NODE] = { 0 }; + + if (dbg_mode == MXT_DIAG_DELTA_MODE) { + /* read delta data */ + mxt_read_mem(data, dbg_object->start_address + read_point, + DATA_PER_NODE, data_buffer); + + sysfs_data->delta[num] = + ((u16)data_buffer[1] << 8) + (u16)data_buffer[0]; + + dev_dbg(&client->dev, "delta[%d] = %d\n", + num, sysfs_data->delta[num]); + + if (abs(sysfs_data->delta[num]) + > abs(sysfs_data->delta_max_data)) { + sysfs_data->delta_max_node = num; + sysfs_data->delta_max_data = sysfs_data->delta[num]; + } + } else if (dbg_mode == MXT_DIAG_REFERENCE_MODE) { + /* read reference data */ + mxt_read_mem(data, dbg_object->start_address + read_point, + DATA_PER_NODE, data_buffer); + + sysfs_data->reference[num] = + ((u16)data_buffer[1] << 8) + (u16)data_buffer[0] + - REF_OFFSET_VALUE; + + if (mxt_check_last_line(data, num)) + sysfs_data->reference[num] *= 2; + + /* check that reference is in spec or not */ + if (sysfs_data->reference[num] < REF_MIN_VALUE + || sysfs_data->reference[num] > REF_MAX_VALUE) { + dev_err(&client->dev, "reference[%d] is out of range =" + " %d(%d,%d)\n", num, sysfs_data->reference[num], + num / data->y_num, num % data->y_num); + } + + if (sysfs_data->reference[num] > sysfs_data->ref_max_data) + sysfs_data->ref_max_data = + sysfs_data->reference[num]; + if (sysfs_data->reference[num] < sysfs_data->ref_min_data) + sysfs_data->ref_min_data = + sysfs_data->reference[num]; + + dev_dbg(&client->dev, "reference[%d] = %d\n", + num, sysfs_data->reference[num]); + } +} + +static int mxt_read_all_diagnostic_data(struct mxt_data *data, u8 dbg_mode) +{ + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + struct mxt_object *dbg_object; + u8 read_page, cur_page, end_page, read_point; + u16 node = 0, num = 0, cnt = 0; + int ret = 0; + + /* to make the Page Num to 0 */ + ret = mxt_set_diagnostic_mode(data, MXT_DIAG_CTE_MODE); + if (ret) + goto out; + + /* change the debug mode */ + ret = mxt_set_diagnostic_mode(data, dbg_mode); + if (ret) + goto out; + + /* get object info for diagnostic */ + dbg_object = mxt_get_object_info(data, DEBUG_DIAGNOSTIC_T37); + if (!dbg_object) { + dev_err(&client->dev, "fail to get object_info\n"); + ret = -EINVAL; + goto out; + } + + /* calculate end page of IC */ + sysfs_data->ref_min_data = REF_MAX_VALUE; + sysfs_data->ref_max_data = REF_MIN_VALUE; + sysfs_data->delta_max_data = 0; + sysfs_data->delta_max_node = 0; + end_page = (data->info.matrix_xsize * data->info.matrix_ysize) + / NODE_PER_PAGE; + + /* read the dbg data */ + for (read_page = 0 ; read_page < end_page; read_page++) { + for (node = 0; node < NODE_PER_PAGE; node++) { + read_point = (node * DATA_PER_NODE) + 2; + + if (check_xy_range(data, cnt)) { + mxt_treat_dbg_data(data, dbg_object, dbg_mode, + read_point, num); + num++; + } + cnt++; + } + ret = mxt_set_diagnostic_mode(data, MXT_DIAG_PAGE_UP); + if (ret) + goto out; + do { + msleep(20); + ret = mxt_read_mem(data, + dbg_object->start_address + MXT_DIAGNOSTIC_PAGE, + 1, &cur_page); + if (ret) { + dev_err(&client->dev, + "%s Read fail page\n", __func__); + goto out; + } + } while (cur_page != read_page + 1); + } + + if (dbg_mode == MXT_DIAG_REFERENCE_MODE) { + dev_info(&client->dev, "min/max reference is [%d/%d]\n", + sysfs_data->ref_min_data, sysfs_data->ref_max_data); + } else if (dbg_mode == MXT_DIAG_DELTA_MODE) { + dev_info(&client->dev, "max delta node %d=[%d]\n", + sysfs_data->delta_max_node, sysfs_data->delta_max_data); + } +out: + return ret; +} + +/* +* find the x,y position to use maximum delta. +* it is diffult to map the orientation and caculate the node number +* because layout is always different according to device +*/ +static void find_delta_node(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + char buff[16] = {0}; + u16 x, y; + int ret; + + set_default_result(sysfs_data); + + /* read all delta to get the maximum delta value */ + ret = mxt_read_all_diagnostic_data(data, + MXT_DIAG_DELTA_MODE); + if (ret) { + sysfs_data->cmd_state = CMD_STATUS_FAIL; + } else { + mxt_node_to_xy(data, &x, &y); + snprintf(buff, sizeof(buff), "%d,%d", x, y); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + + sysfs_data->cmd_state = CMD_STATUS_OK; + } +} + +/* - Vendor specific helper functions */ + +/* + function realted samsung factory test */ static void fw_update(void *device_data) { - /* .... */ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + struct file *filp = NULL; + const struct firmware *fw = NULL; + const u8 *fw_data = NULL; + long fw_size = 0; + mm_segment_t old_fs = {0}; + char *fw_path; + int ret; + + set_default_result(sysfs_data); + + fw_path = kzalloc(MXT_MAX_FW_PATH, GFP_KERNEL); + if (fw_path == NULL) { + dev_err(&client->dev, "failed to allocate firmware path.\n"); + goto out; + } + + switch (sysfs_data->cmd_param[0]) { + case MXT_FW_FROM_UMS: + snprintf(fw_path, MXT_MAX_FW_PATH, "/sdcard/%s", MXT_FW_NAME); + + old_fs = get_fs(); + set_fs(get_ds()); + + filp = filp_open(fw_path, O_RDONLY, 0); + if (IS_ERR(filp)) { + dev_err(&client->dev, "could not open firmware: %s,%d\n", + fw_path, (s32)filp); + goto err_open; + } + + fw_size = filp->f_path.dentry->d_inode->i_size; + + fw_data = kzalloc((size_t)fw_size, GFP_KERNEL); + if (!fw_data) { + dev_err(&client->dev, "fail to alloc buffer for fw\n"); + goto err_alloc; + } + ret = vfs_read(filp, (char __user *)fw_data, + fw_size, &filp->f_pos); + if (ret != fw_size) { + dev_err(&client->dev, "fail to read file %s (ret = %d)\n", + fw_path, ret); + goto err_read; + } + filp_close(filp, current->files); + set_fs(old_fs); + break; + + case MXT_FW_FROM_BUILT_IN: + case MXT_FW_FROM_REQ_FW: + snprintf(fw_path, MXT_MAX_FW_PATH, "tsp_atmel/%s", MXT_FW_NAME); + + ret = request_firmware(&fw, fw_path, &client->dev); + if (ret) { + dev_err(&client->dev, + "could not request firmware %s\n", fw_path); + goto err_open; + } + + fw_size = fw->size; + fw_data = kzalloc(fw_size, GFP_KERNEL); + if (!fw_data) { + dev_err(&client->dev, "fail to alloc buffer for fw\n"); + goto err_alloc; + } + memcpy((void *)fw_data, fw->data, fw_size); + release_firmware(fw); + break; + + default: + dev_err(&client->dev, "invalid fw file type!!\n"); + goto not_support; + } + + kfree(fw_path); + disable_irq(data->client->irq); + + ret = mxt_flash_fw_from_sysfs(data, fw_data, fw_size); + + enable_irq(data->client->irq); + kfree(fw_data); + + if (ret) + sysfs_data->cmd_state = CMD_STATUS_FAIL; + else + sysfs_data->cmd_state = CMD_STATUS_OK; + + return; + +err_read: + kfree(fw_data); +err_alloc: + if (!filp) + filp_close(filp, current->files); + release_firmware(fw); +err_open: + if (!filp) + set_fs(old_fs); +not_support: + kfree(fw_path); +out: + sysfs_data->cmd_state = CMD_STATUS_FAIL; + return; } static void get_fw_ver_bin(void *device_data) @@ -76,8 +510,7 @@ static void get_fw_ver_bin(void *device_data) char buff[40] = {0}; set_default_result(sysfs_data); - snprintf(buff, sizeof(buff), "version: %#02x build: %#02x", - MXT_FIRM_VERSION, MXT_FIRM_BUILD); + snprintf(buff, sizeof(buff), "%02x", MXT_FIRM_VERSION); set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_OK; @@ -92,13 +525,10 @@ static void get_fw_ver_ic(void *device_data) struct mxt_data_sysfs *sysfs_data = data->sysfs_data; char buff[40] = {0}; - int ver, build; + int ver = data->info.version; set_default_result(sysfs_data); - - ver = data->info.version; - build = data->info.build; - snprintf(buff, sizeof(buff), "version: %#02x build: %#02x", ver, build); + snprintf(buff, sizeof(buff), "%02x", ver); set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_OK; @@ -108,7 +538,18 @@ static void get_fw_ver_ic(void *device_data) static void get_config_ver(void *device_data) { - not_support_cmd(device_data); + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + char buff[40] = {0}; + + set_default_result(sysfs_data); + snprintf(buff, sizeof(buff), "%s", data->config_version); + + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + dev_info(&client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); } static void get_threshold(void *device_data) @@ -122,9 +563,8 @@ static void get_threshold(void *device_data) set_default_result(sysfs_data); - threshold = mxt_read_object(data, + mxt_read_object(data, TOUCH_MULTITOUCHSCREEN_T9, 7, &threshold); - if (threshold < 0) { snprintf(buff, sizeof(buff), "%s", "NG"); set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); @@ -149,16 +589,17 @@ static void module_off_master(void *device_data) mutex_lock(&data->lock); if (data->mxt_enabled) { + disable_irq(client->irq); + if (data->pdata->power_off()) snprintf(buff, sizeof(buff), "%s", "NG"); else snprintf(buff, sizeof(buff), "%s", "OK"); - disable_irq(client->irq); data->mxt_enabled = false; - } else + } else { snprintf(buff, sizeof(buff), "%s", "OK"); - + } mutex_unlock(&data->lock); set_default_result(sysfs_data); @@ -219,7 +660,7 @@ static void get_chip_vendor(void *device_data) snprintf(buff, sizeof(buff), "%s", "ATMEL"); set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_OK; - dev_info(&client->dev, "%s: %s(%d)\n", __func__, + dev_dbg(&client->dev, "%s: %s(%d)\n", __func__, buff, strnlen(buff, sizeof(buff))); } @@ -236,7 +677,7 @@ static void get_chip_name(void *device_data) snprintf(buff, sizeof(buff), "%s", "MXT1664S"); set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_OK; - dev_info(&client->dev, "%s: %s(%d)\n", __func__, + dev_dbg(&client->dev, "%s: %s(%d)\n", __func__, buff, strnlen(buff, sizeof(buff))); } @@ -247,16 +688,16 @@ static void get_x_num(void *device_data) struct mxt_data_sysfs *sysfs_data = data->sysfs_data; char buff[16] = {0}; - int val; + u8 val = 0; set_default_result(sysfs_data); - val = data->info.matrix_xsize; + val = data->x_num; if (val < 0) { snprintf(buff, sizeof(buff), "%s", "NG"); set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_FAIL; - dev_info(&client->dev, + dev_err(&client->dev, "%s: fail to read num of x (%d).\n", __func__, val); return; @@ -265,7 +706,7 @@ static void get_x_num(void *device_data) set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_OK; - dev_info(&client->dev, "%s: %s(%d)\n", __func__, buff, + dev_dbg(&client->dev, "%s: %s(%d)\n", __func__, buff, strnlen(buff, sizeof(buff))); } @@ -276,16 +717,16 @@ static void get_y_num(void *device_data) struct mxt_data_sysfs *sysfs_data = data->sysfs_data; char buff[16] = {0}; - int val; + u8 val; set_default_result(sysfs_data); - val = data->info.matrix_ysize; + val = data->y_num; if (val < 0) { snprintf(buff, sizeof(buff), "%s", "NG"); set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_FAIL; - dev_info(&client->dev, + dev_err(&client->dev, "%s: fail to read num of y (%d).\n", __func__, val); return; @@ -294,7 +735,7 @@ static void get_y_num(void *device_data) set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); sysfs_data->cmd_state = CMD_STATUS_OK; - dev_info(&client->dev, "%s: %s(%d)\n", __func__, buff, + dev_dbg(&client->dev, "%s: %s(%d)\n", __func__, buff, strnlen(buff, sizeof(buff))); } @@ -302,43 +743,94 @@ static void run_reference_read(void *device_data) { struct mxt_data *data = (struct mxt_data *)device_data; struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + int ret; + char buff[16] = {0}; set_default_result(sysfs_data); - sysfs_data->cmd_state = CMD_STATUS_OK; + ret = mxt_read_all_diagnostic_data(data, + MXT_DIAG_REFERENCE_MODE); + if (ret) + sysfs_data->cmd_state = CMD_STATUS_FAIL; + else { + snprintf(buff, sizeof(buff), "%d,%d", + sysfs_data->ref_min_data, sysfs_data->ref_max_data); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + + sysfs_data->cmd_state = CMD_STATUS_OK; + } } static void get_reference(void *device_data) { struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + char buff[16] = {0}; + int node; set_default_result(sysfs_data); /* add read function */ - sysfs_data->cmd_state = CMD_STATUS_OK; + node = mxt_xy_to_node(data); + if (node < 0) { + sysfs_data->cmd_state = CMD_STATUS_FAIL; + return; + } else { + snprintf(buff, sizeof(buff), "%u", + sysfs_data->reference[node]); + set_cmd_result(sysfs_data, + buff, strnlen(buff, sizeof(buff))); + + sysfs_data->cmd_state = CMD_STATUS_OK; + } + dev_info(&client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); } static void run_delta_read(void *device_data) { struct mxt_data *data = (struct mxt_data *)device_data; struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + int ret; set_default_result(sysfs_data); - /* add read function */ - sysfs_data->cmd_state = CMD_STATUS_OK; + ret = mxt_read_all_diagnostic_data(data, + MXT_DIAG_DELTA_MODE); + if (ret) + sysfs_data->cmd_state = CMD_STATUS_FAIL; + else + sysfs_data->cmd_state = CMD_STATUS_OK; } static void get_delta(void *device_data) { struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + char buff[16] = {0}; + int node; set_default_result(sysfs_data); /* add read function */ - sysfs_data->cmd_state = CMD_STATUS_OK; + + node = mxt_xy_to_node(data); + if (node < 0) { + sysfs_data->cmd_state = CMD_STATUS_FAIL; + return; + } else { + snprintf(buff, sizeof(buff), "%d", + sysfs_data->delta[node]); + set_cmd_result(sysfs_data, + buff, strnlen(buff, sizeof(buff))); + + sysfs_data->cmd_state = CMD_STATUS_OK; + } + dev_info(&client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); } +/* - function realted samsung factory test */ #define TSP_CMD(name, func) .cmd_name = name, .cmd_func = func #define TOSTRING (x) #x @@ -367,6 +859,7 @@ struct tsp_cmd tsp_cmds[] = { {TSP_CMD("get_reference", get_reference),}, {TSP_CMD("run_delta_read", run_delta_read),}, {TSP_CMD("get_delta", get_delta),}, + {TSP_CMD("find_delta", find_delta_node),}, {TSP_CMD("not_support_cmd", not_support_cmd),}, }; @@ -469,7 +962,7 @@ static ssize_t show_cmd_status(struct device *dev, char buff[16] = {0}; - dev_info(&data->client->dev, "tsp cmd: status:%d\n", + dev_dbg(&data->client->dev, "tsp cmd: status:%d\n", sysfs_data->cmd_state); if (sysfs_data->cmd_state == CMD_STATUS_WAITING) @@ -508,14 +1001,31 @@ static ssize_t show_cmd_result(struct device *dev, struct device_attribute return snprintf(buf, TSP_BUF_SIZE, "%s\n", sysfs_data->cmd_result); } +static ssize_t show_cmd_list(struct device *dev, struct device_attribute + *devattr, char *buf) +{ + struct mxt_data *data = dev_get_drvdata(dev); + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + struct tsp_cmd *tsp_cmd_ptr = NULL; + int cnt = 0; + + list_for_each_entry(tsp_cmd_ptr, &sysfs_data->cmd_list_head, list) + cnt += sprintf(buf + cnt, + "%s\n", tsp_cmd_ptr->cmd_name); + + return cnt; +} + static DEVICE_ATTR(cmd, S_IWUSR | S_IWGRP, NULL, store_cmd); static DEVICE_ATTR(cmd_status, S_IRUGO, show_cmd_status, NULL); static DEVICE_ATTR(cmd_result, S_IRUGO, show_cmd_result, NULL); +static DEVICE_ATTR(cmd_list, S_IRUGO, show_cmd_list, NULL); static struct attribute *touchscreen_attributes[] = { &dev_attr_cmd.attr, &dev_attr_cmd_status.attr, &dev_attr_cmd_result.attr, + &dev_attr_cmd_list.attr, NULL, }; @@ -767,7 +1277,13 @@ static ssize_t mxt_debug_setting(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { - return 0; + struct mxt_data *data = dev_get_drvdata(dev); + u32 mode = 0; + + if (sscanf(buf, "%u", &mode) == 1) + data->debug_log = !!mode; + + return count; } static ssize_t mxt_object_setting(struct device *dev, @@ -825,9 +1341,9 @@ static ssize_t mxt_object_show(struct device *dev, dev_info(&client->dev, "object type T%d\n", object_type); object = mxt_get_object_info(data, object_type); - if (object == NULL) { + if (!object) { dev_err(&client->dev, "fail to get object_info\n"); - goto out; + return -EINVAL; } else { for (i = 0; i < object->size; i++) { mxt_read_mem(data, object->start_address + i, @@ -835,7 +1351,7 @@ static ssize_t mxt_object_show(struct device *dev, dev_info(&client->dev, "Byte %u --> %u\n", i, val); } } -out: + return count; } @@ -905,7 +1421,7 @@ int __devinit mxt_sysfs_init(struct i2c_client *client) data->sysfs_data = sysfs_data; fac_dev_ts = device_create(sec_class, - NULL, 0, data, "sec_touchscreen"); + NULL, 0, data, "tsp"); if (IS_ERR(fac_dev_ts)) { dev_err(&client->dev, "Failed to create device for the sysfs\n"); ret = IS_ERR(fac_dev_ts); @@ -948,44 +1464,56 @@ free_mem: return ret; } -/* TODO: it will be applied */ #if TSP_BOOSTER static void mxt_set_dvfs_off(struct work_struct *work) { struct mxt_data *data = - container_of(work, struct mxt_data, booster.dvfs_dwork.work); - - if (data->mxt_enabled) { - disable_irq(client->irq); - - dev_info(&data->client->dev, "%s!!!\n", __func__); + container_of(work, struct mxt_data, + booster.dvfs_dwork.work); + + if (data->booster.touch_cpu_lock_status) + dev_lock(data->booster.bus_dev, + data->booster.dev, SEC_BUS_LOCK_FREQ); + else { + dev_unlock(data->booster.bus_dev, data->booster.dev); + exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); + } +} +void mxt_set_dvfs_on(struct mxt_data *data, bool en) +{ + if (0 == data->booster.cpu_lv) + exynos_cpufreq_get_level(SEC_DVFS_LOCK_FREQ, + &data->booster.cpu_lv); + + if (en) { + if (!data->booster.touch_cpu_lock_status) { + cancel_delayed_work(&data->booster.dvfs_dwork); + dev_lock(data->booster.bus_dev, + data->booster.dev, SEC_BUS_LOCK_FREQ2); + exynos_cpufreq_lock(DVFS_LOCK_ID_TSP, + data->booster.cpu_lv); + data->booster.touch_cpu_lock_status = true; + schedule_delayed_work(&data->booster.dvfs_dwork, + msecs_to_jiffies(SEC_DVFS_LOCK_TIMEOUT)); + } + } else { if (data->booster.touch_cpu_lock_status) { - exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); + schedule_delayed_work(&data->booster.dvfs_dwork, + msecs_to_jiffies(SEC_DVFS_LOCK_TIMEOUT)); data->booster.touch_cpu_lock_status = false; } - enable_irq(client->irq); } } -static void mxt_set_dvfs_on(struct mxt_data *data) -{ - dev_info(&data->client->dev, "%s!!!\n", __func__); - - cancel_delayed_work(&data->booster.dvfs_dwork); - exynos_cpufreq_lock(DVFS_LOCK_ID_TSP, - data->booster.cpu_lv); - data->booster.touch_cpu_lock_status = true; -} - -static int mxt_init_dvfs(struct mxt_data *data) +int mxt_init_dvfs(struct mxt_data *data) { - int ret; - INIT_DELAYED_WORK(&data->booster.dvfs_dwork, mxt_set_dvfs_off); - return exynos_cpufreq_get_level(TOUCH_BOOSTER_LIMIT_CLK, + data->booster.bus_dev = dev_get("exynos-busfreq"); + exynos_cpufreq_get_level(SEC_DVFS_LOCK_FREQ, &data->booster.cpu_lv); + return 0; } #endif /* - TOUCH_BOOSTER */ diff --git a/drivers/input/touchscreen/mxt224_grande.c b/drivers/input/touchscreen/mxt224_grande.c new file mode 100644 index 0000000..6314a09 --- /dev/null +++ b/drivers/input/touchscreen/mxt224_grande.c @@ -0,0 +1,4502 @@ +/* + * Copyright (C) 2010, Samsung Electronics Co. Ltd. All Rights Reserved. + * + * 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. + * + */ +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/input.h> +#include <linux/interrupt.h> +#include <linux/i2c.h> +#include <linux/delay.h> +#include <linux/earlysuspend.h> +#include <linux/slab.h> +//#include <linux/pm.h> +//#include <linux/mfd/pmic8058.h> +#include <linux/gpio.h> +#include <linux/i2c/mxt224_grande.h> +#include <asm/unaligned.h> +#include <linux/firmware.h> +//#include <mach/cpufreq.h> +#include <linux/input/mt.h> // SLOT + +#define __TSP_DEBUG 1 + +#define OBJECT_TABLE_START_ADDRESS 7 +#define OBJECT_TABLE_ELEMENT_SIZE 6 + +#define CMD_RESET_OFFSET 0 +#define CMD_BACKUP_OFFSET 1 +#define CMD_CALIBRATE_OFFSET 2 +#define CMD_REPORTATLL_OFFSET 3 +#define CMD_DEBUG_CTRL_OFFSET 4 +#define CMD_DIAGNOSTIC_OFFSET 5 + + +#define DETECT_MSG_MASK 0x80 +#define PRESS_MSG_MASK 0x40 +#define RELEASE_MSG_MASK 0x20 +#define MOVE_MSG_MASK 0x10 +#define SUPPRESS_MSG_MASK 0x02 + +/* Version */ +#define QT602240_VER_20 20 +#define QT602240_VER_21 21 +#define QT602240_VER_22 22 + +/* Slave addresses */ +#define QT602240_APP_LOW 0x4a +#define QT602240_APP_HIGH 0x4b +#define QT602240_BOOT_LOW 0x24 +#define QT602240_BOOT_HIGH 0x25 + +/*FIRMWARE NAME */ +#define MXT224_ECHO_FW_NAME "mXT224e.fw" +#define MXT224_FW_NAME "qt602240.fw" + +#define QT602240_FWRESET_TIME 175 /* msec */ +#define QT602240_RESET_TIME 65 /* msec */ + +#define QT602240_BOOT_VALUE 0xa5 +#define QT602240_BACKUP_VALUE 0x55 + +/* Bootloader mode status */ +#define QT602240_WAITING_BOOTLOAD_CMD 0xc0 /* valid 7 6 bit only */ +#define QT602240_WAITING_FRAME_DATA 0x80 /* valid 7 6 bit only */ +#define QT602240_FRAME_CRC_CHECK 0x02 +#define QT602240_FRAME_CRC_FAIL 0x03 +#define QT602240_FRAME_CRC_PASS 0x04 +#define QT602240_APP_CRC_FAIL 0x40 /* valid 7 8 bit only */ +#define QT602240_BOOT_STATUS_MASK 0x3f + +/* Command to unlock bootloader */ +#define QT602240_UNLOCK_CMD_MSB 0xaa +#define QT602240_UNLOCK_CMD_LSB 0xdc + +#define ID_BLOCK_SIZE 7 + +#define DRIVER_FILTER +#define U1_EUR_TARGET + +#define MAX_USING_FINGER_NUM 10 + +#define MXT224_AUTOCAL_WAIT_TIME 2000 + +#define T48_CALCFG_TA 0x52 // 0x50 //MODIFY AT&T + +#define T48_CALCFG 0x42 // 0x40 +#define T9_MEDIAN_FILTER_ON 0 + +#if defined(CONFIG_CHN_MODEL_SCH_I929) +/* Cut out ghost ... Xtopher */ +#define MAX_GHOSTCHECK_FINGER 10 +#define MAX_GHOSTTOUCH_COUNT 500 // 4s , 125Hz +#define MAX_COUNT_TOUCHSYSREBOOT 4 +#define MAX_GHOSTTOUCH_BY_PATTERNTRACKING 5 +#endif //CONFIG_CHN_MODEL_SCH_I929 + +#define TSP_SDA GPIO_TSP_SDA_18V +#define TSP_SCL GPIO_TSP_SCL_18V +#define TSP_INT GPIO_TSP_INT +#define LCD_SEL GPIO_LCD_SEL +#define HALL_SW GPIO_HALL_SW + +//#define TSP_EN 99 + + +#define CLEAR_MEDIAN_FILTER_ERROR +#define MXT_224_ID 0x80 +#define MXT_224E_ID 0x81 + + +#define W999_FLIP 1 + +#ifdef W999_FLIP +#define FLIP_OPEN 1 +#define FLIP_CLOSE 0 + +static int Flip_status_tsp = FLIP_OPEN; +static int Flip_status_tsp_init = FLIP_OPEN; + +// TSP initialization fail +static int init_fail = 1; +#endif + +static int tsp_reset_status = 0; /* 0:off, 1:on-going*/ + +static int probe_check = 0; //w999,i929 use for retry + +#if defined (U1_EUR_TARGET) +static bool gbfilter; +#endif + + +struct object_t { + u8 object_type; + u16 i2c_address; + u8 size; + u8 instances; + u8 num_report_ids; +} __packed; + +struct finger_info { + s16 x; + s16 y; + s16 z; + u16 w; + int16_t component; +}; + +struct mxt224_data { + struct i2c_client *client; + struct input_dev *input_dev; + struct early_suspend early_suspend; + u8 family_id; + u32 finger_mask; + int gpio_read_done; + struct object_t *objects; + u8 objects_len; + u8 tsp_version; + const u8 *power_cfg; + const u8 *noise_suppression_cfg_ta; + const u8 *noise_suppression_cfg; + const u8 *noise_suppression_cfg_t46_ta; + const u8 *noise_suppression_cfg_t46; + + u8 finger_type; + u16 msg_proc; + u16 cmd_proc; + u16 msg_object_size; + u32 x_dropbits:2; + u32 y_dropbits:2; + void (*power_on)(void); + void (*power_off)(void); + //void (*register_cb)(void*); + void (*read_ta_status)(void*); + int num_fingers; + struct finger_info fingers[MXT224_MAX_MT_FINGERS]; + struct timer_list autocal_timer; +}; + + +//cal_check_work_queue +static struct workqueue_struct *cal_check_wq; +static struct work_struct cal_check_work; + +#define CLEAR_MEDIAN_FILTER_ERROR + +#ifdef CLEAR_MEDIAN_FILTER_ERROR +typedef enum +{ + ERR_RTN_CONDITION_T9, + ERR_RTN_CONDITION_T48, + ERR_RTN_CONDITION_IDLE, + ERR_RTN_CONDITION_MAX +}ERR_RTN_CONTIOIN; + +ERR_RTN_CONTIOIN gErrCondition = ERR_RTN_CONDITION_IDLE; + +static t48_median_config_t noise_median = {0}; //110927 gumi noise + +#endif + +struct mxt224_data *copy_data; +extern struct class *sec_class; +int touch_is_pressed; +EXPORT_SYMBOL(touch_is_pressed); +int touch_is_pressed_arr[MAX_USING_FINGER_NUM]; +static int mxt224_enabled; +static bool g_debug_switch; +static u8 mxt_version_disp; +static u8 tsp_version_disp; +static int threshold = 70;/*55 in KOR*/ +static int threshold_e = 50; +//static int optiacl_gain; +static int firm_status_data; +static bool lock_status; +static int touch_state; /* 1:release, 2:press, 3:others */ +static bool boot_or_resume = 1;/*1: boot_or_resume,0: others*/ +static bool resume_check_flag = 0; + + +static int palm_chk_flag; +static bool auto_cal_flag; /* 1: enabled,0: disabled*/ +static bool ta_status_pre = 0; +//static bool sleep_mode_flag = 0; + +static unsigned char is_inputmethod; + +#if defined(CONFIG_CHN_MODEL_SCH_I929) +/* Below is used for clearing ghost touch or for checking to system reboot. by Xtopher */ +static int cghost_clear = 0; /* ghost touch clear count by Xtopher */ +static int ftouch_reboot = 0; +static int tcount_finger[MAX_GHOSTCHECK_FINGER] = {0,0,0,0,0,0,0,0,0,0}; +static int touchbx[MAX_GHOSTCHECK_FINGER] = {0,0,0,0,0,0,0,0,0,0}; +static int touchby[MAX_GHOSTCHECK_FINGER] = {0,0,0,0,0,0,0,0,0,0}; +static int ghosttouchcount = 0; +static int tsp_reboot_count = 0; +static int cFailbyPattenTracking = 0; +#endif //CONFIG_CHN_MODEL_SCH_I929 + +static int ingnore_report_before_flip =0; + +extern unsigned int get_hw_rev(void); +static void mxt224_optical_gain(uint16_t dbg_mode); + +int read_all_data(uint16_t dbg_mode); +int read_all_delta_data(uint16_t dbg_mode); +void node_number_show(void); +static int tsp_pattern_tracking(int fingerindex, s16 x, s16 y); +static void report_input_data(struct mxt224_data *data); +static void TSP_forced_release_for_call(void); +static void mxt224_ta_probe(int ta_status); +static uint8_t calibrate_chip(void); + +#ifdef W999_FLIP +static int mxt224_switch_release(void); +static int mxt224_switch_suspend(struct mxt224_data *data); +static int mxt224_switch_resume(struct mxt224_data *data); +static void mxt224_switch_late_resume(struct mxt224_data *data); +static u8 resume_cal_check_flag=0; // main :0x10, slave:0x01; +//extern void samsung_switching_lcd(int init, int flip); +extern void samsung_switching_lcd_suspend(int init, int flip); +extern void samsung_switching_lcd_resume(int init, int flip); + +// check_sleep +static int check_sleep = 0; // suspend : 1, resume : 0 +static int resume_power = 0; + +void samsung_switching_tsp_pre(int init, int flip) +{ + if((!init) && (Flip_status_tsp != flip)){ + if(flip == FLIP_CLOSE) + ingnore_report_before_flip = 1; + } +} +EXPORT_SYMBOL(samsung_switching_tsp_pre); + + +void samsung_switching_tsp(int init, int flip) +{ + +// u8 data[6]; +// int ret; + + + if(check_sleep == 1) // check sleep state + { + printk("[TSP] Swithcing with Wakeup, ignore switching sequence, check_sleep : %d \n", check_sleep); + ingnore_report_before_flip = 0; + return; + } + printk(KERN_ERR "[TSP] swtiching %d, %d, old:%d, check_sleep=%d\n",init,flip,Flip_status_tsp,check_sleep); + + if(init){ +// mxt224_switch_suspend(data); + Flip_status_tsp_init=flip; + printk(KERN_ERR "[TSP] swtiching probe_check %d\n",probe_check); + if(probe_check==0){ + if(Flip_status_tsp != flip){ + // Add Disable_Irq log + printk("[TSP] Disable_Irq SS Line 309\n"); + if(init_fail){ // if chip initialization fail, avoid disable_irq + ingnore_report_before_flip = 0; + disable_irq(copy_data->client->irq); + printk("[TSP] Disable_Irq SS Line 311\n"); + mxt224_switch_suspend(copy_data); + printk(KERN_ERR "[TSP] samsung_switching_tsp: mxt224_switch_suspend done!!\n"); + Flip_status_tsp=flip; + mxt224_switch_resume(copy_data); + if(resume_cal_check_flag!=0x11) + mxt224_switch_late_resume(copy_data); + else + { + printk("[TSP] Enable_Irq SR\n"); // Add Enable_Irq log + enable_irq(copy_data->client->irq); + } + } + } + } + } else { + if(Flip_status_tsp != flip){ + // TEST + printk("[TSP] Disable_Irq SS Line 329, init_fail : %d \n",init_fail); // Add Disable_Irq log + Flip_status_tsp = flip; +#if 0 + if(init_fail) // if chip initialization fail, avoid disable_irq + { + ingnore_report_before_flip = 0; + disable_irq(copy_data->client->irq); + + printk("[TSP] Disable_Irq SS Line 331\n"); + mxt224_switch_suspend(copy_data); + + Flip_status_tsp=flip; + + mxt224_switch_resume(copy_data); + if(resume_cal_check_flag!=0x11){ + mxt224_switch_late_resume(copy_data); + } + else + { + printk("[TSP] Enable_Irq SR 349\n"); // Add Enable_Irq log + enable_irq(copy_data->client->irq); + } + } +#endif + } + else // due to rapid switching, ignored force release event. + { + mxt224_switch_release(); + } + + } + ingnore_report_before_flip = 0; + +} +EXPORT_SYMBOL(samsung_switching_tsp); + +#define USE_FOR_SAME_ADDR +#ifdef USE_FOR_SAME_ADDR + static int continue_4a_maintsp = 9; +#endif + +static int read_mem(struct mxt224_data *data, u16 reg, u8 len, u8 *buf) +{ + int ret=0; + u16 le_reg = cpu_to_le16(reg); + int retry = 5; + bool ta_status=0; + + struct i2c_msg msg_in[2] = { + { + //.addr = data->client->addr, // HSLEE Test + .addr = QT602240_APP_HIGH, // HSLEE Test + .flags = 0, + .len = 2, + .buf = (u8 *)&le_reg, + }, + { + //.addr = data->client->addr, // HSLEE Test + .addr = QT602240_APP_HIGH, // HSLEE Test + .flags = I2C_M_RD, + .len = len, + .buf = buf, + }, + }; + + struct i2c_msg msg_ex[2] = { + { + //.addr = data->client->addr, // HSLEE Test + .addr = QT602240_APP_LOW, // HSLEE Test + .flags = 0, + .len = 2, + .buf = (u8 *)&le_reg, + }, + { + //.addr = data->client->addr, // HSLEE Test + .addr = QT602240_APP_LOW, // HSLEE Test + .flags = I2C_M_RD, + .len = len, + .buf = buf, + }, + }; + + if(probe_check==1) retry = 1; // for SMD test in factory + + if(Flip_status_tsp==FLIP_OPEN){ +#ifdef USE_FOR_SAME_ADDR + if (continue_4a_maintsp == 9) { + continue_4a_maintsp = 1; + while (retry--) { + ret = i2c_transfer(data->client->adapter, msg_in, 2); + if (ret >= 0) + continue_4a_maintsp = 0; + } + } +#endif + + while (retry--) { +#ifdef USE_FOR_SAME_ADDR + if (continue_4a_maintsp == 1) + ret = i2c_transfer(data->client->adapter, msg_ex, 2); + else + ret = i2c_transfer(data->client->adapter, msg_in, 2); +#else + ret = i2c_transfer(data->client->adapter, msg_in, 2); +#endif + //printk("[TSP] read_mem, ret = %d, retry = %d\n", ret, retry); + if (ret >=0 ){ +// printk("[TSP] read_mem, ret = %d, retry = %d\n", ret, retry); + return ret == 2 ? 0 : -EIO; + } + } + } + else{ + while (retry--) { + ret = i2c_transfer(data->client->adapter, msg_ex, 2); +// printk("[TSP] read_mem, ret = %d, retry = %d\n", ret, retry); + if (ret >=0 ){ +// printk("[TSP] read_mem, ret = %d, retry = %d\n", ret, retry); + return ret == 2 ? 0 : -EIO; + } + } + } +// TSP chip reset when I2C communication fail more than 5 times +#if defined(W999_FLIP) + if(!(probe_check==1) && (tsp_reset_status==0)){ // for SMD test in factory + tsp_reset_status=1; // to ignore the next power on/off until below sequence finish + printk("[TSP] I2C read error more than 5 times. Reset... Ret:%d, tsp_reset_status:%d\n", ret, tsp_reset_status); + + copy_data->power_off(); + mdelay(100); + + copy_data->power_on(); + mdelay(100); // power on reset delay, 100ms + + if(copy_data->read_ta_status) { + copy_data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + calibrate_chip(); + + tsp_reset_status=0; + return ret; + } + else{ return ret;} +#else + if (ret < 0){ + printk("[TSP] read_mem, ret = %d \n", ret); + return ret; + } +#endif + +// return ret == 2 ? 0 : -EIO; +} + + +#else + +static int read_mem(struct mxt224_data *data, u16 reg, u8 len, u8 *buf) +{ + int ret=0; + u16 le_reg = cpu_to_le16(reg); + int retry = 5; + bool ta_status=0; + + struct i2c_msg msg[2] = { + { + .addr = data->client->addr, + .flags = 0, + .len = 2, + .buf = (u8 *)&le_reg, + }, + { + .addr = data->client->addr, + .flags = I2C_M_RD, + .len = len, + .buf = buf, + }, + }; + + if(probe_check==1) retry = 1; // for SMD test in factory + +// ret = i2c_transfer(data->client->adapter, msg, 2); + while (retry--) { + ret = i2c_transfer(data->client->adapter, msg, 2); + //printk("[TSP] read_mem, ret = %d, retry = %d\n", ret, retry); + if (ret >=0 ){ +// printk("[TSP] read_mem, ret = %d, retry = %d\n", ret, retry); + return ret == 2 ? 0 : -EIO; + } + } + + if(!(probe_check==1) && (tsp_reset_status==0)){ // for SMD test in factory + tsp_reset_status=1; // to ignore the next power on/off until below sequence finish + printk("[TSP] I2C read error more than 5 times. Reset... Ret:%d, tsp_reset_status:%d\n", ret, tsp_reset_status); + + copy_data->power_off(); + mdelay(100); + + copy_data->power_on(); + mdelay(100); // power on reset delay, 100ms + + if(copy_data->read_ta_status) { + copy_data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + calibrate_chip(); + + tsp_reset_status=0; + return ret; + } + else{ + return ret; + } + +// return ret == 2 ? 0 : -EIO; +} +#endif +static int write_mem(struct mxt224_data *data, u16 reg, u8 len, const u8 *buf) +{ + int ret=0; + u8 tmp[len + 2]; + int retry = 5; + bool ta_status=0; + + put_unaligned_le16(cpu_to_le16(reg), tmp); + memcpy(tmp + 2, buf, len); + +#ifdef W999_FLIP + if(Flip_status_tsp==FLIP_OPEN){ + udelay(500); + +#ifdef USE_FOR_SAME_ADDR + if (continue_4a_maintsp == 1) + data->client->addr = QT602240_APP_LOW; + else + data->client->addr = QT602240_APP_HIGH; +#else + data->client->addr = QT602240_APP_HIGH; +#endif + } + else{ + data->client->addr = QT602240_APP_LOW; + } +#endif + //ret = i2c_master_send(data->client, tmp, sizeof(tmp)); + + if(probe_check==1) retry = 1; // for SMD test in factory + + while (retry--) { + ret = i2c_master_send(data->client, tmp, sizeof(tmp)); + //printk("[TSP] write_mem, ret = %d, retry = %d\n", ret, retry); + if (ret >=0 ){ +// printk("[TSP] write_mem, ret = %d, retry = %d\n", ret, retry); + return ret == sizeof(tmp) ? 0 : -EIO; + } + } + +// TSP chip reset when I2C communication fail more than 5 times + if(!(probe_check==1) && (tsp_reset_status==0)){ // for SMD test in factory + tsp_reset_status=1; // to ignore the next power on/off until below sequence finish + printk("[TSP] I2C write error more than 5 times. Reset... Ret:%d, tsp_reset_status:%d\n", ret, tsp_reset_status); + copy_data->power_off(); + mdelay(100); + + copy_data->power_on(); // power on reset delay, 100ms + mdelay(100); + + if(copy_data->read_ta_status) { + copy_data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + calibrate_chip(); + + tsp_reset_status=0; + return ret; + } + else + { + return ret; + } + + /* + if (reg==(data->cmd_proc + CMD_CALIBRATE_OFFSET)) + printk(KERN_ERR"[TSP] write calibrate_command ret is %d, size is %d\n",ret,sizeof(tmp)); + */ + + // return ret == sizeof(tmp) ? 0 : -EIO; +} + +static int __devinit mxt224_reset(struct mxt224_data *data) +{ + u8 buf = 1u; + return write_mem(data, data->cmd_proc + CMD_RESET_OFFSET, 1, &buf); +} + +static int __devinit mxt224_backup(struct mxt224_data *data) +{ + u8 buf = 0x55u; + return write_mem(data, data->cmd_proc + CMD_BACKUP_OFFSET, 1, &buf); +} + +static int get_object_info(struct mxt224_data *data, u8 object_type, u16 *size, + u16 *address) +{ + int i; + + for (i = 0; i < data->objects_len; i++) { + if (data->objects[i].object_type == object_type) { + *size = data->objects[i].size + 1; + *address = data->objects[i].i2c_address; + return 0; + } + } + + return -ENODEV; +} + +static int write_config(struct mxt224_data *data, u8 type, const u8 *cfg) +{ + int ret; + u16 address = 0; + u16 size = 0; + + ret = get_object_info(data, type, &size, &address); + + if(size ==0 && address == 0) return 0; + else return write_mem(data, address, size, cfg); +} + + +static u32 __devinit crc24(u32 crc, u8 byte1, u8 byte2) +{ + static const u32 crcpoly = 0x80001B; + u32 res; + u16 data_word; + + data_word = (((u16)byte2) << 8) | byte1; + res = (crc << 1) ^ (u32)data_word; + + if (res & 0x1000000) + res ^= crcpoly; + + return res; +} + +static int __devinit calculate_infoblock_crc(struct mxt224_data *data, + u32 *crc_pointer) +{ + u32 crc = 0; + u8 mem[7 + data->objects_len * 6]; + int status; + int i; + + status = read_mem(data, 0, sizeof(mem), mem); + + if (status) + return status; + + for (i = 0; i < sizeof(mem) - 1; i += 2) + crc = crc24(crc, mem[i], mem[i + 1]); + + *crc_pointer = crc24(crc, mem[i], 0) & 0x00FFFFFF; + + return 0; +} + +static unsigned int qt_time_point; +static unsigned int qt_time_diff; +static unsigned int qt_timer_state; +#if 1 // 20111115 add "if 1" +static unsigned int good_check_flag = 0; +#endif + +// at&t noise +static u8 atchcalst = 4; +static u8 atchcalsthr = 35; + +static u8 atchfrccalthr = 40; //0; +static u8 atchfrccalratio = 55; //0; + +static u8 cal_check_flag; +static u8 caling_check = 0; + +static u8 Doing_calibration_falg =0; +uint8_t calibrate_chip(void) +{ + u8 cal_data = 1; + int ret = 0; + u8 atchcalst_tmp, atchcalsthr_tmp,tchautocal_tmp; + u16 obj_address=0; + u16 size = 1; + int ret1 = 0; + +#if 1 // 20111115 add "if 1" + good_check_flag = 0; +#endif + +/* printk(KERN_ERR"[TSP]ret is %d,ret1 is %d\n",ret,ret1); */ + + caling_check = 1; + + if(cal_check_flag == 0) { + + ret = get_object_info(copy_data, GEN_ACQUISITIONCONFIG_T8, &size, &obj_address); + size = 1; + + /* change calibration suspend settings to zero until calibration confirmed good */ + /* resume calibration must be performed with zero settings */ + tchautocal_tmp = 0; + atchcalst_tmp = 0; + atchcalsthr_tmp = 0; + auto_cal_flag = 0; + + ret = write_mem(copy_data, obj_address+4, 1, &atchcalst_tmp); /* TCHAUTOCAL */ + + ret = write_mem(copy_data, obj_address+6, 1, &atchcalst_tmp); /* atchcalst */ + ret1 = write_mem(copy_data, obj_address+7, 1, &atchcalsthr_tmp); /*atchcalsthr */ + + if(copy_data->family_id == 0x81) { /* mxT224E */ + ret = write_mem(copy_data, obj_address+8, 1, &atchcalst_tmp); /* forced cal thr */ + ret1 = write_mem(copy_data, obj_address+9, 1, &atchcalsthr_tmp); /* forced cal thr ratio */ + } + + } + + /* send calibration command to the chip */ + if (!ret && !ret1 && !Doing_calibration_falg) { + /* change calibration suspend settings to zero until calibration confirmed good */ + ret = write_mem(copy_data, copy_data->cmd_proc + CMD_CALIBRATE_OFFSET, 1, &cal_data); + /* mdelay(5); */ + + /*read_mem(copy_data, copy_data->cmd_proc+2, (u8)size, &value); + printk(KERN_ERR"[TSP] calibration data is %d\n",value);*/ + + /* set flag for calibration lockup recovery if cal command was successful */ + if (!ret) { + /* set flag to show we must still confirm if calibration was good or bad */ + cal_check_flag = 1u; + Doing_calibration_falg = 1; + printk(KERN_ERR"[TSP]calibration success!!!\n"); + } + + }else{ + printk(KERN_ERR"[TSP]calibration ignore!!!\n"); + } + + caling_check = 0; + + return ret; +} + +static int check_abs_time(void) +{ + if (!qt_time_point) + return 0; + + qt_time_diff = jiffies_to_msecs(jiffies) - qt_time_point; + + if(qt_time_diff > 0) + return 1; + else + return 0; + +} + +static void mxt224_ta_probe(int ta_status) +{ + u16 obj_address = 0; + u16 size_one; + int ret; + u8 value; + u8 val = 0; + unsigned int register_address = 7; + u8 noise_threshold; + u8 movfilter; + u8 blen; + u8 calcfg_dis; + u8 calcfg_en; +// u16 i; + u8 size; + u8 active_depth, charge_time; + +#if 1 // 20111115 add "if 1" + good_check_flag = 0; +#endif + + printk(KERN_ERR"[TSP] mxt224_ta_probe \n"); + if (!mxt224_enabled) { + printk(KERN_ERR"[TSP] mxt224_enabled is 0\n"); + return; + } + printk(KERN_ERR"[TSP] %s , ta is %d\n", __func__, ta_status); +#if 0 /* defined(CONFIG_CHN_MODEL_SCH_W999) by c.h.hong*/ + if(Flip_status_tsp==FLIP_OPEN){ + ta_status=1; + printk(KERN_ERR"[TSP] %s , FLIP_OPEN force TA\n", __FUNCTION__); + } + +#endif + if (ta_status) { + threshold = 70; + threshold_e = 40; + calcfg_dis = T48_CALCFG_TA; + calcfg_en = T48_CALCFG_TA | 0x20; + noise_threshold = 40; + movfilter = 46; + blen = 16; + active_depth = 38; + charge_time = 22; + #ifdef CLEAR_MEDIAN_FILTER_ERROR + gErrCondition = ERR_RTN_CONDITION_MAX; + noise_median.mferr_setting = false; + #endif + + } else { + if (boot_or_resume==1) + threshold = 55; + else + threshold = 40; + threshold_e = 50; + calcfg_dis = T48_CALCFG; + calcfg_en = T48_CALCFG | 0x20; + noise_threshold = 30; + movfilter = 11; // 13 + blen = 32; // 6 + active_depth = 32; // t46-56 + charge_time = 27; + #ifdef CLEAR_MEDIAN_FILTER_ERROR + gErrCondition = ERR_RTN_CONDITION_IDLE; + noise_median.mferr_count=0; + noise_median.mferr_setting = false; + noise_median.median_on_flag = false; + #endif + + } + + if (copy_data->family_id==0x81) { + if (ta_status){ + write_config(copy_data, SPT_CTECONFIG_T46, copy_data->noise_suppression_cfg_t46_ta); // entire + }else{ + write_config(copy_data, SPT_CTECONFIG_T46, copy_data->noise_suppression_cfg_t46); + } + +#ifdef CLEAR_MEDIAN_FILTER_ERROR + if(!ta_status) + { + ret = get_object_info(copy_data, TOUCH_MULTITOUCHSCREEN_T9, &size_one, &obj_address); + size_one = 1; + //blen + value = 32; + register_address=6; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + //threshold + value = 50; + register_address=7; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + // move Filter + value = 46; + register_address=13; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + value = T9_MEDIAN_FILTER_ON;//0/*2*/; + write_mem(copy_data, obj_address+34, 1, &value); + } +#endif + + // AT&T TA NOISE + value = active_depth; + ret = get_object_info(copy_data, SPT_CTECONFIG_T46, &size_one, &obj_address); + write_mem(copy_data, obj_address+3, 1, &value); + + ret = get_object_info(copy_data, GEN_ACQUISITIONCONFIG_T8, &size_one, &obj_address); + size_one = 1; + value = charge_time; + write_mem(copy_data, obj_address, size_one, &value); + + + value = calcfg_dis; + register_address=2; + ret = get_object_info(copy_data, PROCG_NOISESUPPRESSION_T48, &size_one, &obj_address); + size = size_one; + size_one = 1; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + + if (ta_status) + write_config(copy_data, PROCG_NOISESUPPRESSION_T48, copy_data->noise_suppression_cfg_ta); + else + write_config(copy_data, PROCG_NOISESUPPRESSION_T48, copy_data->noise_suppression_cfg); + + value = calcfg_en; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + read_mem(copy_data, obj_address+(u16)register_address, (u8)size_one, &val); + printk(KERN_ERR"[TSP]TA_probe MXT224E T%d Byte%d is %d\n",48,register_address,val); + } else { + ret = get_object_info(copy_data, TOUCH_MULTITOUCHSCREEN_T9, &size_one, &obj_address); + size_one = 1; + value = (u8)threshold; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + read_mem(copy_data, obj_address+(u16)register_address, (u8)size_one, &val); + printk(KERN_ERR"[TSP]TA_probe MXT224 T%d Byte%d is %d\n", 9, register_address, val); + + value = (u8)movfilter; + register_address=13; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + + value = noise_threshold; + register_address = 8; + ret = get_object_info(copy_data, PROCG_NOISESUPPRESSION_T22, &size_one, &obj_address); + size_one = 1; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + } + + ta_status_pre = (bool)ta_status; +}; + +void tsp_charger_state_changed(bool ta_s) +{ + mxt224_ta_probe(ta_s); +} +EXPORT_SYMBOL(tsp_charger_state_changed); + +void check_chip_calibration(unsigned char one_touch_input_flag) +{ + u8 data_buffer[100] = { 0 }; + u8 try_ctr = 0; + u8 data_byte = 0xF3; /* dianostic command to get touch flags */ + u8 tch_ch = 0, atch_ch = 0; + /* u8 atchcalst, atchcalsthr; */ + u8 check_mask; + u8 i,j =0; + u8 x_line_limit; + int ret; + u16 size; + u16 object_address=0; +// bool ta_status_check; +// u8 val; + static u8 recal_count = 0; + + /* we have had the first touchscreen or face suppression message + * after a calibration - check the sensor state and try to confirm if + * cal was good or bad */ +#if 1 // 20111115 add "if 1" + if(good_check_flag==1){ + printk("[TSP] check_chip_calibration : good_check_flag _ return !\n"); + return; + } +#endif + + /* get touch flags from the chip using the diagnostic object */ + /* write command to command processor to get touch flags - 0xF3 Command required to do this */ + /* write_mem(command_processor_address + DIAGNOSTIC_OFFSET, 1, &data_byte); */ + write_mem(copy_data, copy_data->cmd_proc + CMD_DIAGNOSTIC_OFFSET, 1, &data_byte); + + + /* get the address of the diagnostic object so we can get the data we need */ + /* diag_address = get_object_address(DEBUG_DIAGNOSTIC_T37,0); */ + ret = get_object_info(copy_data, DEBUG_DIAGNOSTIC_T37, &size, &object_address); + + mdelay(2); + + /* read touch flags from the diagnostic object - clear buffer so the while loop can run first time */ + memset(data_buffer , 0xFF, sizeof( data_buffer)); + + /* wait for diagnostic object to update */ + while(!((data_buffer[0] == 0xF3) && (data_buffer[1] == 0x00))) { + /* wait for data to be valid */ + if (try_ctr > 10) { /* 0318 hugh 100-> 10 */ + + /* Failed! */ + printk(KERN_ERR"[TSP] Diagnostic Data did not update!!\n"); + qt_timer_state = 0;/* 0430 hugh */ + break; + } + + mdelay(2); /* 0318 hugh 3-> 2 */ + try_ctr++; /* timeout counter */ + /* read_mem(diag_address, 2,data_buffer); */ + + read_mem(copy_data, object_address, 2, data_buffer); + } + + + /* data is ready - read the detection flags */ + /* read_mem(diag_address, 82,data_buffer); */ + read_mem(copy_data, object_address, 82, data_buffer); + + + /* data array is 20 x 16 bits for each set of flags, 2 byte header, 40 bytes for touch flags 40 bytes for antitouch flags*/ + + /* count up the channels/bits if we recived the data properly */ + if((data_buffer[0] == 0xF3) && (data_buffer[1] == 0x00)) { + + /* mode 0 : 16 x line, mode 1 : 17 etc etc upto mode 4.*/ + /* x_line_limit = 16 + cte_config.mode; */ + x_line_limit = 16 + 3; + + if(x_line_limit > 20) { + /* hard limit at 20 so we don't over-index the array */ + x_line_limit = 20; + } + + /* double the limit as the array is in bytes not words */ + x_line_limit = x_line_limit << 1; + + /* count the channels and print the flags to the log */ + for(i = 0; i < x_line_limit; i+=2) { /* check X lines - data is in words so increment 2 at a time */ + + /* print the flags to the log - only really needed for debugging */ + + /* count how many bits set for this row */ + for(j = 0; j < 8; j++) { + /* create a bit mask to check against */ + check_mask = 1 << j; + + /* check detect flags */ + if (data_buffer[2+i] & check_mask) + tch_ch++; + + if (data_buffer[3+i] & check_mask) + tch_ch++; + + /* check anti-detect flags */ + if (data_buffer[42+i] & check_mask) + atch_ch++; + + if (data_buffer[43+i] & check_mask) + atch_ch++; + + } + } + + printk(KERN_ERR"[TSP] t: %d, a: %d\n",tch_ch,atch_ch); + + /* send page up command so we can detect when data updates next time, + * page byte will sit at 1 until we next send F3 command */ + data_byte = 0x01; + + /* write_mem(command_processor_address + DIAGNOSTIC_OFFSET, 1, &data_byte); */ + write_mem(copy_data, copy_data->cmd_proc + CMD_DIAGNOSTIC_OFFSET, 1, &data_byte); + + + /* process counters and decide if we must re-calibrate or if cal was good */ + if ((tch_ch > 0) && (atch_ch == 0)) { /* jwlee change. */ + /* cal was good - don't need to check any more */ + if(!check_abs_time()) + qt_time_diff = 301; /* original:qt_time_diff = 501 */ + + if(qt_timer_state == 1) { + if (qt_time_diff > 300) { /* originalqt_time_diff = 500 */ + printk(KERN_ERR"[TSP] calibration was good\n"); + recal_count = 0; + cal_check_flag = 0; + resume_check_flag = 0; +#if 1 // 20111115 add "if 1" + good_check_flag = 1; +#endif + qt_timer_state =0; + qt_time_point = jiffies_to_msecs(jiffies); + + ret = get_object_info(copy_data, GEN_ACQUISITIONCONFIG_T8, &size, &object_address); + + /* change calibration suspend settings to zero until calibration confirmed good */ + /* store normal settings */ + size = 1; + palm_chk_flag = 2; + auto_cal_flag =0; + + if(copy_data->family_id == 0x80) { + write_mem(copy_data, object_address+6, 1, &atchcalst); + write_mem(copy_data, object_address+7, 1, &atchcalsthr); + + } else if(copy_data->family_id == 0x81) { + write_mem(copy_data, object_address+6, 1, &atchcalst); + write_mem(copy_data, object_address+7, 1, &atchcalsthr); + write_mem(copy_data, object_address+8, 1, &atchfrccalthr); + write_mem(copy_data, object_address+9, 1, &atchfrccalratio); + + } + + } else { + cal_check_flag = 1; + } + } else { + qt_timer_state=1; + qt_time_point = jiffies_to_msecs(jiffies); + cal_check_flag=1; +#if 1 // 20111115 add "if 1" + good_check_flag = 0; +#endif + } + }else if (tch_ch+atch_ch >= 25) { + /* cal was bad - must recalibrate and check afterwards */ + printk(KERN_DEBUG"[TSP] tch_ch+atch_ch calibration was bad\n"); + calibrate_chip(); + qt_timer_state = 0; + qt_time_point = jiffies_to_msecs(jiffies); + + } else if (atch_ch >= 5) { /* jwlee add 0325 */ + /* cal was bad - must recalibrate and check afterwards */ + printk(KERN_ERR"[TSP] calibration was bad\n"); + calibrate_chip(); + qt_timer_state=0; + qt_time_point = jiffies_to_msecs(jiffies); + } else { + /* we cannot confirm if good or bad - we must wait for next touch message to confirm */ + printk(KERN_ERR"[TSP] calibration was not decided yet\n"); + cal_check_flag = 1u; + /* Reset the 100ms timer */ + qt_timer_state = 0;/* 0430 hugh 1 --> 0 */ + qt_time_point = jiffies_to_msecs(jiffies); + + if(tch_ch!=0&&atch_ch!=0) + { + if(recal_count++ >5){ + printk(KERN_ERR"[TSP] cnt 5~, re-calibration\n"); + calibrate_chip(); + qt_timer_state=0; + qt_time_point = jiffies_to_msecs(jiffies); + recal_count=0; + } + } + } + + } + + } + +//cal_check_work_queue +static void cal_check_work_func(struct work_struct *work) +{ + check_chip_calibration(1); +} + + + +#if defined(DRIVER_FILTER) +#if defined (U1_EUR_TARGET) + +static void equalize_coordinate(bool detect, u8 id, u16 *px, u16 *py) +{ + static int tcount[MAX_USING_FINGER_NUM] = { 0, }; + static u16 pre_x[MAX_USING_FINGER_NUM][4] = {{0}, }; + static u16 pre_y[MAX_USING_FINGER_NUM][4] = {{0}, }; + int coff[4] = {0,}; + int distance = 0; + + if(detect) + tcount[id] = 0; + + pre_x[id][tcount[id]%4] = *px; + pre_y[id][tcount[id]%4] = *py; + + if (gbfilter) { + if (tcount[id] > 3) { + *px = (u16)((*px + pre_x[id][(tcount[id]-1)%4] + pre_x[id][(tcount[id]-2)%4] + pre_x[id][(tcount[id]-3)%4] )/4); + *py = (u16)((*py+ pre_y[id][(tcount[id]-1)%4] + pre_y[id][(tcount[id]-2)%4]+ pre_y[id][(tcount[id]-3)%4])/4); + } else { + switch (tcount[id]) { + case 2: + { + *px = (u16)((*px + pre_x[id][(tcount[id]-1)%4])>>1); + *py = (u16)((*py + pre_y[id][(tcount[id]-1)%4])>>1); + break; + } + + case 3: + { + *px = (u16)((*px + pre_x[id][(tcount[id]-1)%4] + pre_x[id][(tcount[id]-2)%4])/3); + *py = (u16)((*py + pre_y[id][(tcount[id]-1)%4] + pre_y[id][(tcount[id]-2)%4])/3); + break; + } + + default: + break; + } + } + + } else if (tcount[id] > 3) { + { + distance = abs(pre_x[id][(tcount[id]-1)%4] - *px) + abs(pre_y[id][(tcount[id]-1)%4] - *py); + + coff[0] = (u8)(2 + distance/5); + if (coff[0] < 8) { + coff[0] = max(2, coff[0]); + coff[1] = min((8 - coff[0]), (coff[0]>>1)+1); + coff[2] = min((8 - coff[0] - coff[1]), (coff[1]>>1)+1); + coff[3] = 8 - coff[0] - coff[1] - coff[2]; + + /* printk(KERN_DEBUG "[TSP] %d, %d, %d, %d", coff[0], coff[1], coff[2], coff[3]); */ + + *px = (u16)((*px*(coff[0]) + pre_x[id][(tcount[id]-1)%4]*(coff[1]) + + pre_x[id][(tcount[id]-2)%4]*(coff[2]) + pre_x[id][(tcount[id]-3)%4]*(coff[3]))/8); + *py = (u16)((*py*(coff[0]) + pre_y[id][(tcount[id]-1)%4]*(coff[1]) + + pre_y[id][(tcount[id]-2)%4]*(coff[2]) + pre_y[id][(tcount[id]-3)%4]*(coff[3]))/8); + } else { + *px = (u16)((*px*4 + pre_x[id][(tcount[id]-1)%4])/5); + *py = (u16)((*py*4 + pre_y[id][(tcount[id]-1)%4])/5); + } + } + } + tcount[id]++; +} + +#else /* CONFIG_TARGET_LOCALE_KOR */ +static void equalize_coordinate(bool detect, u8 id, u16 *px, u16 *py) +{ + static int tcount[MAX_USING_FINGER_NUM] = { 0, }; + static u16 pre_x[MAX_USING_FINGER_NUM][4] = {{0}, }; + static u16 pre_y[MAX_USING_FINGER_NUM][4] = {{0}, }; + int coff[4] = {0,}; + int distance = 0; + + if(detect) + tcount[id] = 0; + + pre_x[id][tcount[id]%4] = *px; + pre_y[id][tcount[id]%4] = *py; + + if (tcount[id] > 3) { + distance = abs(pre_x[id][(tcount[id]-1)%4] - *px) + abs(pre_y[id][(tcount[id]-1)%4] - *py); + + coff[0] = (u8)(4 + distance/5); + if (coff[0] < 8) { + coff[0] = max(4, coff[0]); + coff[1] = min((10 - coff[0]), (coff[0]>>1)+1); + coff[2] = min((10 - coff[0] - coff[1]), (coff[1]>>1)+1); + coff[3] = 10 - coff[0] - coff[1] - coff[2]; + + /* printk(KERN_DEBUG "[TSP] %d, %d, %d, %d", coff[0], coff[1], coff[2], coff[3]); */ + + *px = (u16)((*px*(coff[0]) + pre_x[id][(tcount[id]-1)%4]*(coff[1]) + + pre_x[id][(tcount[id]-2)%4]*(coff[2]) + pre_x[id][(tcount[id]-3)%4]*(coff[3]))/10); + *py = (u16)((*py*(coff[0]) + pre_y[id][(tcount[id]-1)%4]*(coff[1]) + + pre_y[id][(tcount[id]-2)%4]*(coff[2]) + pre_y[id][(tcount[id]-3)%4]*(coff[3]))/10); + } else { + *px = (u16)((*px*4 + pre_x[id][(tcount[id]-1)%4])/5); + *py = (u16)((*py*4 + pre_y[id][(tcount[id]-1)%4])/5); + } + } +#if 0 + else { + switch (tcount[id]) { + case 2: + { + *px = (u16)((*px + pre_x[id][(tcount[id]-1)%4])>>1); + *py = (u16)((*py + pre_y[id][(tcount[id]-1)%4])>>1); + break; + } + + case 3: + { + *px = (u16)((*px + pre_x[id][(tcount[id]-1)%4] + pre_x[id][(tcount[id]-2)%4])/3); + *py = (u16)((*py + pre_y[id][(tcount[id]-1)%4] + pre_y[id][(tcount[id]-2)%4])/3); + break; + } + + default: + break; + } + } +#endif + + tcount[id]++; +} +#endif +#endif /* DRIVER_FILTER */ + +static int __devinit mxt224_init_touch_driver(struct mxt224_data *data) +{ + struct object_t *object_table; + u32 read_crc = 0; + u32 calc_crc; + u16 crc_address; + u16 dummy; + int i; + u8 id[ID_BLOCK_SIZE]; + int ret; + u8 type_count = 0; + u8 tmp; + ret = read_mem(data, 0, sizeof(id), id); + if (ret){ + ret = read_mem(data, 0, sizeof(id), id); + if(ret){ + printk(KERN_ERR "[TSP] %s,error line %d, ret=%d \n",__func__, __LINE__, ret); + return ret; + } + } + dev_info(&data->client->dev, "family = %#02x, variant = %#02x, version " + "= %#02x, build = %d\n", id[0], id[1], id[2], id[3]); + printk(KERN_ERR"[TSP] family = %#02x, variant = %#02x, version " + "= %#02x, build = %d\n", id[0], id[1], id[2], id[3]); + +#ifdef W999_FLIP + if(Flip_status_tsp==FLIP_OPEN){ + printk(KERN_ERR"[TSP] #### Main TSP init\n"); + }else{ + printk(KERN_ERR"[TSP] #### SUB TSP init\n"); + } +#endif + dev_dbg(&data->client->dev, "matrix X size = %d\n", id[4]); + dev_dbg(&data->client->dev, "matrix Y size = %d\n", id[5]); + + data->family_id = id[0]; + data->tsp_version = id[2]; + data->objects_len = id[6]; + + mxt_version_disp = data->family_id; + tsp_version_disp = data->tsp_version; + + object_table = kmalloc(data->objects_len * sizeof(*object_table), + GFP_KERNEL); + if (!object_table) + return -ENOMEM; + + ret = read_mem(data, OBJECT_TABLE_START_ADDRESS, + data->objects_len * sizeof(*object_table), + (u8 *)object_table); + if (ret){ + printk(KERN_ERR "[TSP] %s,error line %d, ret=%d \n",__func__, __LINE__, ret); + goto err; + } + + for (i = 0; i < data->objects_len; i++) { + object_table[i].i2c_address = le16_to_cpu(object_table[i].i2c_address); + tmp = 0; + if (object_table[i].num_report_ids) { + tmp = type_count + 1; + type_count += object_table[i].num_report_ids * + (object_table[i].instances + 1); + } + switch (object_table[i].object_type) { + case TOUCH_MULTITOUCHSCREEN_T9: + data->finger_type = tmp; + dev_dbg(&data->client->dev, "Finger type = %d\n", + data->finger_type); + break; + case GEN_MESSAGEPROCESSOR_T5: + data->msg_object_size = object_table[i].size + 1; + dev_dbg(&data->client->dev, "Message object size = " + "%d\n", data->msg_object_size); + break; + } + } + + data->objects = object_table; + + /* Verify CRC */ + crc_address = OBJECT_TABLE_START_ADDRESS + + data->objects_len * OBJECT_TABLE_ELEMENT_SIZE; + +#ifdef __BIG_ENDIAN +#error The following code will likely break on a big endian machine +#endif + ret = read_mem(data, crc_address, 3, (u8 *)&read_crc); + if (ret){ + printk(KERN_ERR "[TSP] %s,error line %d, ret=%d \n",__func__, __LINE__, ret); + goto err; + } + + + read_crc = le32_to_cpu(read_crc); + + ret = calculate_infoblock_crc(data, &calc_crc); + if (ret){ + printk(KERN_ERR "[TSP] %s,error line %d, ret=%d \n",__func__, __LINE__, ret); + goto err; + } + + + if (read_crc != calc_crc) { + dev_err(&data->client->dev, "CRC error\n"); + printk(KERN_ERR "[TSP] %s,error line %d, ret=%d \n",__func__, __LINE__, ret); + ret = -EFAULT; + goto err; + } + + ret = get_object_info(data, GEN_MESSAGEPROCESSOR_T5, &dummy, + &data->msg_proc); + if (ret){ + printk(KERN_ERR "[TSP] %s,error line %d, ret=%d \n",__func__, __LINE__, ret); + goto err; + } + + + ret = get_object_info(data, GEN_COMMANDPROCESSOR_T6, &dummy, + &data->cmd_proc); + if (ret){ + printk(KERN_ERR "[TSP] %s,error line %d, ret=%d \n",__func__, __LINE__, ret); + goto err; + } + + + return 0; + +err: + kfree(object_table); + return ret; +} + +#if defined(CONFIG_CHN_MODEL_SCH_I929) +static void clear_tcount(void) +{ + int i; + for(i=0;i<MAX_GHOSTCHECK_FINGER;i++){ + tcount_finger[i] = 0; + touchbx[i] = 0; + touchby[i] = 0; + } +} + +static int diff_two_point(s16 x, s16 y, s16 oldx, s16 oldy) +{ + s16 diffx,diffy; + s16 distance; + + diffx = x-oldx; + diffy = y-oldy; + distance = abs(diffx) + abs(diffy); + + if(distance < 3) return 1; + else return 0; +} + +/* Forced reboot sequence. + Don't use arbitraily. + if you meet special case that this routine has to be used, ask Xtopher's advice. +*/ +static void TSP_forced_reboot(void) +{ + int i; + bool ta_status=0; + + if(ftouch_reboot == 1) return; + ftouch_reboot = 1; + printk(KERN_DEBUG "[TSP] Reboot-Touch by Pattern Tracking S\n"); + cghost_clear = 0; + + /* Below is reboot sequence */ + //disable_irq(copy_data->client->irq); + mxt224_tsp_ldo(0); + copy_data->power_off(); + + for (i = 0; i < copy_data->num_fingers; i++) { + if (copy_data->fingers[i].z == -1) + continue; + + touch_is_pressed_arr[i] = 0; + copy_data->fingers[i].z = 0; + } + report_input_data(copy_data); + msleep(100); + copy_data->power_on(); + msleep(100); + mxt224_tsp_ldo(1); + + //enable_irq(copy_data->client->irq); + boot_or_resume = 1; + mxt224_enabled = 1; + qt_timer_state = 0; + + if(copy_data->read_ta_status) { + copy_data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status in (mxt224_late_resume) is %d", ta_status); + mxt224_ta_probe(ta_status); + } + calibrate_chip(); + ftouch_reboot = 0; + printk(KERN_DEBUG "[TSP] Reboot-Touch by Pattern Tracking E\n"); + +} + + +/* To do forced calibration when ghost touch occured at the same point + for several second. Xtopher */ +static int tsp_pattern_tracking(int fingerindex, s16 x, s16 y) +{ + int i; + int ghosttouch = 0; + + for( i = 0; i< MAX_GHOSTCHECK_FINGER; i++) + { + if( i == fingerindex){ + //if((touchbx[i] == x)&&(touchby[i] == y)) + if(diff_two_point(x,y, touchbx[i], touchby[i])) + { + tcount_finger[i] = tcount_finger[i]+1; + if((tcount_finger[i]%10)==0) + printk("[TSP] tcount [%d] : %d\n",i,tcount_finger[i]); + } + else + { + tcount_finger[i] = 0; + } + + touchbx[i] = x; + touchby[i] = y; + + if(tcount_finger[i]> MAX_GHOSTTOUCH_COUNT){ + ghosttouch = 1; + ghosttouchcount++; + printk(KERN_DEBUG "[TSP] SUNFLOWER (PATTERN TRACKING) %d [%d] \n",ghosttouchcount,i); + clear_tcount(); + + cFailbyPattenTracking++; + if(cFailbyPattenTracking > MAX_GHOSTTOUCH_BY_PATTERNTRACKING) + { + cFailbyPattenTracking = 0; + TSP_forced_reboot(); + } + else + { + TSP_forced_release_for_call(); + } + } + } + } + return ghosttouch; +} +#endif //CONFIG_CHN_MODEL_SCH_I929 + +static void report_input_data(struct mxt224_data *data) +{ + int i; + int movecount=0, presscount=0; +// bool ta_status=0; + + touch_is_pressed = 0; + + for (i = 0; i < data->num_fingers; i++) { + + if (data->fingers[i].z == -1) + continue; + + input_mt_slot(data->input_dev, i); + input_mt_report_slot_state(data->input_dev, + MT_TOOL_FINGER, !!data->fingers[i].z); + + + if(data->fingers[i].z != 0){ + input_report_abs(data->input_dev, ABS_MT_POSITION_X, data->fingers[i].x); + input_report_abs(data->input_dev, ABS_MT_POSITION_Y, data->fingers[i].y); + input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, data->fingers[i].z); + input_report_abs(data->input_dev, ABS_MT_PRESSURE, data->fingers[i].w); + } + + #ifdef _SUPPORT_SHAPE_TOUCH_ + input_report_abs(data->input_dev, ABS_MT_COMPONENT, data->fingers[i].component); + /* printk(KERN_ERR"the component data is %d\n",data->fingers[i].component); */ + #endif + + + if (g_debug_switch) + printk(KERN_ERR "[TSP] ID-%d, %4d,%4d\n", i, data->fingers[i].x, data->fingers[i].y); + +#if defined(CONFIG_CHN_MODEL_SCH_I929) + tsp_pattern_tracking(i, data->fingers[i].x, data->fingers[i].y); +#endif //CONFIG_CHN_MODEL_SCH_I929 + + if(touch_is_pressed_arr[i] == 1) + presscount++; + else if(touch_is_pressed_arr[i] == 2) + movecount++; + + if (touch_is_pressed_arr[i]!=0) + touch_is_pressed = 1; +#ifdef __TSP_DEBUG + /* logging */ + + if (touch_is_pressed_arr[i]==0) + printk(KERN_ERR "[TSP] Up[%d] %4d,%4d\n", i, data->fingers[i].x, data->fingers[i].y); + else if (touch_is_pressed_arr[i]==1) + printk(KERN_ERR "[TSP] Dn[%d] %4d,%4d\n", i, data->fingers[i].x, data->fingers[i].y); + +#endif +#ifdef CONFIG_TARGET_LOCALE_NA + if (touch_is_pressed_arr[i]==0) + printk(KERN_ERR "[TSP] Up[%d] %4d,%4d\n", i, data->fingers[i].x, data->fingers[i].y); + else if (touch_is_pressed_arr[i]==1) + printk(KERN_ERR "[TSP] Dn[%d] %4d,%4d\n", i, data->fingers[i].x, data->fingers[i].y); + +#endif + + if (data->fingers[i].z == 0) + data->fingers[i].z = -1; + } + + /* + Forced-calibration or Touch kernel reboot at power on or system wake-up. + This routine must be escaped from recursive calling by external ghost touch that should be + occured continuously. + Press event during move event by other finger is considered as ghost at resume. Xtopher + */ + //if((cal_check_flag ==1)&& ( ftouch_reboot == 0)&&(presscount >= 1)&&(movecount >= 1)&&(resume_check_flag == 1)) + if((cal_check_flag ==1)&&(presscount >= 1)&&(movecount >= 1)&&(resume_check_flag == 1)) +{ +#if defined(CONFIG_CHN_MODEL_SCH_I929) + cghost_clear++; + if( cghost_clear > MAX_COUNT_TOUCHSYSREBOOT ) + { + ftouch_reboot = 1; + printk(KERN_DEBUG "[TSP] Reboot-Touch S\n"); + cghost_clear = 0; + + /* Below is reboot sequence */ + //disable_irq(copy_data->client->irq); + mxt224_tsp_ldo(0); + copy_data->power_off(); + + for (i = 0; i < copy_data->num_fingers; i++) { + if (copy_data->fingers[i].z == -1) + continue; + + touch_is_pressed_arr[i] = 0; + copy_data->fingers[i].z = 0; + } + report_input_data(copy_data); + msleep(100); + copy_data->power_on(); + msleep(100); + mxt224_tsp_ldo(1); + + //enable_irq(copy_data->client->irq); + boot_or_resume = 1; + mxt224_enabled = 1; + is_inputmethod = 0; // I know it's fault, but app couldn't solve the issue wighout this known fault. + qt_timer_state = 0; + + if(copy_data->read_ta_status) { + copy_data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status in (mxt224_late_resume) is %d", ta_status); + mxt224_ta_probe(ta_status); + } + calibrate_chip(); + ftouch_reboot = 0; + printk(KERN_DEBUG "[TSP] Reboot-Touch E \n"); + } +else +#endif //CONFIG_CHN_MODEL_SCH_I929 + { + printk("[TSP] Clear G-Touch at Boot/Wake-up \n"); + TSP_forced_release_for_call(); + } + + } + data->finger_mask = 0; + touch_state=0; + input_sync(data->input_dev); +} + +void palm_recovery(void) +{ + int ret = 0; + u8 atchcalst_tmp = 0, atchcalsthr_tmp = 0; + u16 obj_address = 0; + u16 size = 1; + int ret1 = 0; + + + + if(palm_chk_flag == 2) { + palm_chk_flag = 0; + ret = get_object_info(copy_data, GEN_ACQUISITIONCONFIG_T8, &size, &obj_address); + size = 1; + + /* TCHAUTOCAL Disable */ + ret = write_mem(copy_data, obj_address+4, 1, &atchcalst_tmp); /* TCHAUTOCAL */ + printk(KERN_DEBUG"[TSP] auto calibration disable!!!\n"); + + } else { + /* printk(KERN_ERR"[TSP]ret is %d,ret1 is %d\n",ret,ret1); */ + + if (cal_check_flag == 0) { + + ret = get_object_info(copy_data, GEN_ACQUISITIONCONFIG_T8, &size, &obj_address); + + /* change calibration suspend settings to zero until calibration confirmed good */ + /* store normal settings */ + /* read_mem(copy_data, obj_address+6, (u8)size, &atchcalst); */ + /* read_mem(copy_data, obj_address+7, (u8)size, &atchcalsthr); */ + + /* resume calibration must be performed with zero settings */ + atchcalst_tmp = 0; + atchcalsthr_tmp = 0; + + ret = write_mem(copy_data, obj_address+4, 1, &atchcalst_tmp); /* TCHAUTOCAL */ + + ret = write_mem(copy_data, obj_address+6, 1, &atchcalst_tmp); + ret1 = write_mem(copy_data, obj_address+7, 1, &atchcalsthr_tmp); + + if(copy_data->family_id == 0x81) { /* mxT224E */ + ret = write_mem(copy_data, obj_address+8, 1, &atchcalst_tmp); /* forced cal thr */ + ret1 = write_mem(copy_data, obj_address+9, 1, &atchcalsthr_tmp); /* forced cal thr ratio */ + } + + } + } +} + +#ifdef CLEAR_MEDIAN_FILTER_ERROR +ERR_RTN_CONTIOIN Check_Err_Condition(void) +{ + ERR_RTN_CONTIOIN rtn; + + switch(gErrCondition) + { + case ERR_RTN_CONDITION_IDLE: + rtn = ERR_RTN_CONDITION_T9; + break; +#if 0 //eplus by tei + case ERR_RTN_CONDITION_T9: + rtn = ERR_RTN_CONDITION_T48; + break; + + case ERR_RTN_CONDITION_T48: + rtn = ERR_RTN_CONDITION_IDLE; + break; +#endif + default: + break; + } + return rtn; +} + +static int median_err_setting(void) +{ + u16 obj_address; + u16 size_one; + u8 value, state; + bool ta_status_check; + int ret = 0; + +#if 1 // 20111115 add "if 1" + good_check_flag = 0; +#endif + + copy_data->read_ta_status(&ta_status_check); + if(!ta_status_check) + { + gErrCondition = Check_Err_Condition(); + + switch(gErrCondition){ + case ERR_RTN_CONDITION_T9: + { + ret = get_object_info(copy_data, TOUCH_MULTITOUCHSCREEN_T9, &size_one, &obj_address); + value = 16; + write_mem(copy_data, obj_address+6, 1, &value); + value = 40; + write_mem(copy_data, obj_address+7, 1, &value); + value = 80; + write_mem(copy_data, obj_address+13, 1, &value); + ret = get_object_info(copy_data, SPT_CTECONFIG_T46, &size_one, &obj_address); + value = 32; + write_mem(copy_data, obj_address+3, 1, &value); + ret = get_object_info(copy_data, PROCG_NOISESUPPRESSION_T48, &size_one, &obj_address); + value = 29; + write_mem(copy_data, obj_address+3, 1, &value); + value = 1; + write_mem(copy_data, obj_address+8, 1, &value); + value = 2; + write_mem(copy_data, obj_address+9, 1, &value); + value = 100; + write_mem(copy_data, obj_address+17, 1, &value); + value = 64; + write_mem(copy_data, obj_address+19, 1, &value); + value = 20; + write_mem(copy_data, obj_address+22, 1, &value); + value = 38; + write_mem(copy_data, obj_address+25, 1, &value); + value = 16; + write_mem(copy_data, obj_address+34, 1, &value); + value = 40; + write_mem(copy_data, obj_address+35, 1, &value); + value = 80; + write_mem(copy_data, obj_address+39, 1, &value); + } + break; + + default: + break; + } + } + else + { + + value= 1; + if(noise_median.mferr_count<3) noise_median.mferr_count++; + + if (!(noise_median.mferr_count%value)&&(noise_median.mferr_count < 3)) //3 + { + printk(KERN_DEBUG"[TSP] median thr noise level too high. %d\n", noise_median.mferr_count/value); + state= noise_median.mferr_count/value; +/* + get_object_info(copy_data, SPT_USERDATA_T38, &size_one, &obj_address); + read_mem(copy_data, obj_address+2, 1, & noise_median.t48_mfinvlddiffthr_for_mferr); + printk(KERN_ERR"[TSP]mfinvlddiffthr value is %d\n", noise_median.t48_mfinvlddiffthr_for_mferr); + read_mem(copy_data, obj_address+3, 1, & noise_median.t48_mferrorthr_for_mferr); + printk(KERN_ERR"[TSP]mferrorthr value is %d\n",noise_median.t48_mferrorthr_for_mferr); + read_mem(copy_data, obj_address+4, 1, &noise_median.t46_actvsyncsperx_for_mferr); + printk(KERN_ERR"[TSP]actvsyncsperx value is %d\n",noise_median.t46_actvsyncsperx_for_mferr); +*/ + get_object_info(copy_data, PROCG_NOISESUPPRESSION_T48, &size_one, &obj_address); + + if(state == 1) + { + value = noise_median.t48_mfinvlddiffthr_for_mferr; + write_mem(copy_data, obj_address+22, 1, &value); + value = noise_median.t48_mferrorthr_for_mferr; + write_mem(copy_data, obj_address+25, 1, &value); + value = noise_median.t48_thr_for_mferr; + write_mem(copy_data, obj_address+35, 1, &value); + value = noise_median.t48_movfilter_for_mferr; + write_mem(copy_data, obj_address+39, 1, &value); + get_object_info(copy_data, SPT_CTECONFIG_T46, &size_one, &obj_address); + value = noise_median.t46_actvsyncsperx_for_mferr; + write_mem(copy_data, obj_address+3, 1, &value); + } + else if(state >= 2) + { + value = 10; //basefreq + write_mem(copy_data, obj_address+3, 1, &value); + value = 0; //secondmf + write_mem(copy_data, obj_address+8, 1, &value); + value = 0; //thirdmf + write_mem(copy_data, obj_address+9, 1, &value); + value = 20; //mfinvlddiffthr + write_mem(copy_data, obj_address+22, 1, &value); + value = 38; //mferrorthr + write_mem(copy_data, obj_address+25, 1, &value); + value = 45; //thr + write_mem(copy_data, obj_address+35, 1, &value); + value = 65; //movfilter + write_mem(copy_data, obj_address+39, 1, &value); + get_object_info(copy_data, SPT_CTECONFIG_T46, &size_one, &obj_address); + value = 63; //actvsyncsperx + write_mem(copy_data, obj_address+3, 1, &value); + } + } + } + noise_median.mferr_setting = true; + + return 0; +} + + +#endif + +#ifdef W999_FLIP +static int mxt224_irq_suspend(struct mxt224_data *data) +{ + static const u8 sleep_power_cfg[3]={0,0,0}; + int ret; + int i=0; + u8 msg[5]; + int flip_i2c_address = 1; + + flip_i2c_address = Flip_status_tsp; + if(Flip_status_tsp) Flip_status_tsp= 0; + else Flip_status_tsp= 1; + + + while (!gpio_get_value(data->gpio_read_done)) + { + read_mem(data, data->msg_proc, sizeof(msg), msg); + msleep(10); + if(i++>10) break; + } + + do { + ret = write_config(data, GEN_POWERCONFIG_T7, sleep_power_cfg); + msleep(20); + printk(KERN_ERR "[TSP] %s, i=%d,r=%d \n", __func__,i, ret); + i++; + } while (ret && i < 10); + + + Flip_status_tsp = flip_i2c_address; + + + return ret; +} +#endif + +int check_touch_press_swiching = 0; +int ret_median = 0; +static irqreturn_t mxt224_irq_thread(int irq, void *ptr) +{ + struct mxt224_data *data = ptr; + int id; + u8 msg[data->msg_object_size]; + u8 touch_message_flag = 0; + u8 value, ret; + u16 size_one; + u16 obj_address = 0; +// unsigned int register_address = 0; + static int irq_low_count = 0; +// static int cal_move =0; + bool ta_status=0; + int val; + //int status =0; + irq_low_count++; + disable_irq_nosync(irq); + + // remove plam_recovery. it is for only mxt_224 + if((palm_chk_flag == 2) && (data->family_id == MXT_224_ID)) { + palm_recovery(); + irq_low_count =0; + } + +#if 0 //def W999_FLIP + if(irq_low_count>20) + { + mxt224_irq_suspend(data); + printk(KERN_ERR"[TSP] irq_low_count=%d",irq_low_count); + irq_low_count=0; + } +#endif +do { + + touch_message_flag = 0; + + if(gpio_get_value(data->gpio_read_done)){ + printk(KERN_ERR"[TSP] %s, gpio H\n",__func__); + irq_low_count =0; + enable_irq(irq); + return IRQ_HANDLED; + } + + ret=read_mem(data, data->msg_proc, sizeof(msg), msg); + if (ret){ + touch_is_pressed = 0; + printk(KERN_ERR"[TSP] %s, ret:%d\n",__func__, ret ); + enable_irq(irq); + return IRQ_HANDLED; + } + + /* + printk(KERN_ERR"[TSP] Starting irq with 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x (%3d)", msg[0], msg[1], msg[2], msg[3], msg[4], msg[5], msg[6], msg[7], LoopFlag++); + */ + + if ((msg[0] == 0x1) && ((msg[1]&0x10) == 0x10)) /* caliration */ + printk(KERN_ERR"[TSP] Calibration!!!!!!\n"); + else if ((msg[0] == 0x1) && ((msg[1]&0x40) == 0x40)) /* overflow */ + printk(KERN_ERR"[TSP] Overflow!!!!!!\n"); + else if ((msg[0] == 0x1) && ((msg[1]&0x10) == 0x00)) {/* caliration */ + Doing_calibration_falg = 0; + touch_is_pressed = 0; + printk(KERN_ERR"[TSP] Calibration End!!!!!!, cal:%d, m0:%x, m1:%x\n",cal_check_flag, msg[0],msg[1] ); + + if(cal_check_flag == 0 && (data->family_id == MXT_224_ID)) + { + palm_recovery(); + cal_check_flag = 1; + } + else if(cal_check_flag == 1) + { + qt_timer_state= 0; + qt_time_point = jiffies_to_msecs(jiffies); + } + } + + if ((msg[0] == 14)&& (data->family_id==0x80)) { /* Palm release */ + if((msg[1]&0x01)== 0x00) { + touch_is_pressed = 0; + } else if ((msg[1]&0x01) == 0x01) { /* Palm Press */ + touch_is_pressed = 1; + touch_message_flag = 1; + } else { + /* printk(KERN_ERR"[TSP] palm error msg[1] is %d!!!\n",msg[1]); */ + } + irq_low_count =0; + } + + if ((msg[0] == 0xf)&& (data->family_id==0x80)) { /* freq error release */ + printk(KERN_ERR"[TSP] Starting irq with 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x", msg[0], msg[1], msg[2], msg[3], msg[4], msg[5], msg[6], msg[7]); + if ((msg[1]&0x08) == 0x08) + calibrate_chip(); + } + +#ifdef CLEAR_MEDIAN_FILTER_ERROR + if((msg[0] == 18) && (data->family_id==0x81)) + { + //printk(KERN_ERR"[TSP] Starting irq with 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x, 0x%2x", msg[0], msg[1], msg[2], msg[3], msg[4], msg[5], msg[6], msg[7]); + if((msg[4]&0x5) == 0x5){ + printk(KERN_ERR"[TSP] median filter state error!!!\n"); + ret_median = median_err_setting(); + } + else if((msg[4]&0x4) == 0x4) + { + copy_data->read_ta_status(&ta_status); + if((!ta_status)&&(noise_median.mferr_setting == false)&&(noise_median.median_on_flag == false)) + { + printk(KERN_ERR"[TSP] median filter ON!!!\n"); + ret = get_object_info(copy_data, TOUCH_MULTITOUCHSCREEN_T9, &size_one, &obj_address); + value = 0; + write_mem(copy_data, obj_address+34, 1, &value); + noise_median.median_on_flag = true; + } + } + } +#endif + if (msg[0] > 1 && msg[0] <12){ + + irq_low_count =0; + if ( (touch_is_pressed_arr[msg[0]-2] == 1) && (msg[1]&0x40) ) { + printk(KERN_ERR "[TSP] Calibrate on Ghost touch\n"); + calibrate_chip(); + touch_is_pressed_arr[msg[0]-2] = 0; + } + + if ((msg[1] & 0x20) == 0x20) { /* Release */ + /* touch_is_pressed = 0; */ + /* touch_is_pressed_arr[msg[0]-2] = 0; */ + + } else if ((msg[1] & 0x90) == 0x90) { /* Detect & Move */ + touch_message_flag = 1; + } else if ((msg[1] & 0xC0) == 0xC0) { /* Detect & Press */ + /* touch_is_pressed = 1; */ + /* touch_is_pressed_arr[msg[0]-2] = 1; */ + touch_message_flag = 1; + } + + id = msg[0] - data->finger_type; + +#if 0 // epuls sateyang + if (data->finger_mask & (1U << id)){ + printk(KERN_ERR "[TSP] event-1 [%d] send (%d,%d) z:%d, state:%02x, w:%x\n", id, data->fingers[id].x, data->fingers[id].y, data->fingers[id].z, msg[1], data->fingers[id].w); + report_input_data(data); + } +#endif + if (msg[1] & RELEASE_MSG_MASK) { + + if(ingnore_report_before_flip){ + printk("[TSP] %s: ignored event r, for flip=%d \n", __func__, ingnore_report_before_flip); + }else{ + data->fingers[id].z = 0; + data->fingers[id].w = msg[5]; + data->finger_mask |= 1U << id; + touch_is_pressed_arr[msg[0]-2] = 0; + check_touch_press_swiching = 0; + lock_status=0; + touch_state=1; + /*printk(KERN_ERR "[TSP] lock_status is %d",lock_status); + pr_emerg("%s: dvfs unlock\n", __func__);*/ +#if 1 //def W999_FLIP + if (data->finger_mask){ + // delete log + //printk(KERN_ERR "[TSP] event-2 [%d] send (%d,%d) z:%d, state:%02x, w:%x\n", id, data->fingers[id].x, data->fingers[id].y, data->fingers[id].z, msg[1], data->fingers[id].w); + printk(KERN_ERR "[TSP] event-2 [%d] send z:%d, state:%02x, w:%x\n", id, data->fingers[id].z, msg[1], data->fingers[id].w); + report_input_data(data); + } +#endif + } + } else if ((msg[1] & DETECT_MSG_MASK) && (msg[1] & (PRESS_MSG_MASK|MOVE_MSG_MASK))) { + if(ingnore_report_before_flip){ + printk("[TSP] %s: ignored event p, for flip=%d \n", __func__, ingnore_report_before_flip); + }else{ + /*pr_emerg("%s: dvfs lock\n", __func__);*/ + check_touch_press_swiching = 1; + if (lock_status == 0) { + lock_status=1; + } + if(msg[1] & PRESS_MSG_MASK) + touch_is_pressed_arr[id] = 1; + else if(msg[1] & MOVE_MSG_MASK) + touch_is_pressed_arr[id] = 2; + + data->fingers[id].z = msg[6]; + data->fingers[id].w = msg[5]; + data->fingers[id].x = ((msg[2] << 4) | (msg[4] >> 4)) >> + data->x_dropbits; + data->fingers[id].y = ((msg[3] << 4) | + (msg[4] & 0xF)) >> data->y_dropbits; +#ifdef CONFIG_KOR_SHV_E120L_WXGA +/* + // 1.66 => 800 + data->fingers[id].x *= 2; data->fingers[id].x /= 10; + data->fingers[id].x *= 83; data->fingers[id].x /= 10; + // 1.7 => 1360 + data->fingers[id].y *= 17; data->fingers[id].y /= 10; +*/ + // 1.7 => 800 + data->fingers[id].x *= 18; data->fingers[id].x /= 10; + // 1.7 => 1360 + data->fingers[id].y *= 17; data->fingers[id].y /= 10; +#endif + data->finger_mask |= 1U << id; +#if defined(DRIVER_FILTER) + if(msg[1] & PRESS_MSG_MASK){ + /* printk(KERN_ERR "[TSP] Before Finger[%d] Down (%d,%d) size : %d", id, data->fingers[id].x, data->fingers[id].y, data->fingers[id].w); */ + equalize_coordinate(1, id, &data->fingers[id].x, &data->fingers[id].y); + /* printk(KERN_ERR "[TSP] Finger[%d] Down (%d,%d) size : %d", id, data->fingers[id].x, data->fingers[id].y, data->fingers[id].w); */ + } else if (msg[1] & MOVE_MSG_MASK) { + /* printk(KERN_ERR "[TSP] Before Finger[%d] MOVE (%d,%d) size : %d", id, data->fingers[id].x, data->fingers[id].y, data->fingers[id].w); */ + equalize_coordinate(0, id, &data->fingers[id].x, &data->fingers[id].y); + /* printk(KERN_ERR "[TSP] Before2 Finger[%d] MOVE (%d,%d) size : %d, z:%d, s:%d", id, data->fingers[id].x, data->fingers[id].y, data->fingers[id].w,msg[1], data->fingers[id].z); */ + } +#endif + +#if 1 + if((msg[1] & PRESS_MSG_MASK)||(msg[1] & MOVE_MSG_MASK)){ + if (data->finger_mask){ + // delete log + printk(KERN_ERR "[TSP] event-3 [%d] send (%d,%d) z:%d, state:%02x, w:%x\n", id, data->fingers[id].x, data->fingers[id].y, data->fingers[id].z, msg[1], data->fingers[id].w); + printk(KERN_ERR "[TSP] event-3 [%d] send z:%d, state:%02x, w:%x\n", id, data->fingers[id].z, msg[1], data->fingers[id].w); + report_input_data(data); + } + } +#endif + + + #ifdef _SUPPORT_SHAPE_TOUCH_ + data->fingers[id].component= msg[7]; + #endif + } + } else if ((msg[1] & SUPPRESS_MSG_MASK) && (data->fingers[id].z != -1)) { + data->fingers[id].z = 0; + data->fingers[id].w = msg[5]; + data->finger_mask |= 1U << id; + } else { + dev_dbg(&data->client->dev, "Unknown state %#02x %#02x\n", msg[0], msg[1]); +// printk(KERN_ERR "[TSP] state 4 Finger[%d] SUPPRESS (%d,%d) size : %d, z:%d, s:%d", id, data->fingers[id].x, data->fingers[id].y, data->fingers[id].w,msg[1], data->fingers[id].z); + continue; + } + } + + + if(touch_message_flag && (cal_check_flag/*==2*/)) { + // printk(KERN_ERR"[TSP]check chip calibration is called\n"); + // noise : cal problem + if (!caling_check){ + //check_chip_calibration(1); + //cal_check_work_queue + queue_work(cal_check_wq, &cal_check_work); + } + } +} while (!gpio_get_value(data->gpio_read_done)); + enable_irq(irq); + return IRQ_HANDLED; +} + +#ifdef W999_FLIP +static int mxt224_switch_release() +{ + int j=0; + + if(check_touch_press_swiching){ // check only touch is pressed + printk("[TSP] %s %d event release for rapid flip\n", __func__, __LINE__); + touch_is_pressed = 0; + + for (j = 0; j < copy_data->num_fingers; j++) { + if (copy_data->fingers[j].z == -1) + continue; + + copy_data->fingers[j].z = 0; + + input_mt_slot(copy_data->input_dev, j); + input_mt_report_slot_state(copy_data->input_dev, MT_TOOL_FINGER, !!copy_data->fingers[j].z); + + input_report_abs(copy_data->input_dev, ABS_MT_POSITION_X, copy_data->fingers[j].x); + input_report_abs(copy_data->input_dev, ABS_MT_POSITION_Y, copy_data->fingers[j].y); + input_report_abs(copy_data->input_dev, ABS_MT_TOUCH_MAJOR, copy_data->fingers[j].z); + input_report_abs(copy_data->input_dev, ABS_MT_PRESSURE, copy_data->fingers[j].w); + + touch_is_pressed_arr[j] = 0; + + if (copy_data->fingers[j].z == 0) + copy_data->fingers[j].z = -1; + } + + copy_data->finger_mask = 0; + touch_state = 0; + input_sync(copy_data->input_dev); + check_touch_press_swiching = 0; + + } + return 0; +} +static int mxt224_switch_suspend(struct mxt224_data *data) +{ + static const u8 sleep_power_cfg[3]={0,0,0}; + int ret; + int i=0, k=0, j=0; + u8 msg[5]; + + printk("[TSP] mxt224_switch_suspend\n"); + while (!gpio_get_value(data->gpio_read_done)) + { + read_mem(data, data->msg_proc, sizeof(msg), msg); + msleep(10); + if(i++>10) break; + } + + // TEST +// disable_irq(data->client->irq); + + do { + ret = write_config(data, GEN_POWERCONFIG_T7, sleep_power_cfg); + msleep(20); + printk(KERN_ERR "[TSP] %s, i=%d, k=%d, r=%d \n", __func__,i,k, ret); + k++; + } while (ret && k < 10); + + // ckid.chae + printk("[TSP] %s %d check_touch_press_swiching : %d\n", __func__, __LINE__, check_touch_press_swiching); + + if(check_touch_press_swiching){ // check only touch is pressed + touch_is_pressed = 0; + + for (j = 0; j < copy_data->num_fingers; j++) { + if (copy_data->fingers[j].z == -1) continue; + + copy_data->fingers[j].z = 0; + + input_mt_slot(copy_data->input_dev, i); + input_mt_report_slot_state(copy_data->input_dev,MT_TOOL_FINGER, !!copy_data->fingers[i].z); + + input_report_abs(copy_data->input_dev, ABS_MT_POSITION_X, copy_data->fingers[i].x); + input_report_abs(copy_data->input_dev, ABS_MT_POSITION_Y, copy_data->fingers[i].y); + input_report_abs(copy_data->input_dev, ABS_MT_TOUCH_MAJOR, copy_data->fingers[i].z); + input_report_abs(copy_data->input_dev, ABS_MT_PRESSURE, copy_data->fingers[i].w); + + touch_is_pressed_arr[j] = 0; + + if (copy_data->fingers[j].z == 0) + copy_data->fingers[j].z = -1; + } + + copy_data->finger_mask = 0; + touch_state = 0; + input_sync(copy_data->input_dev); + check_touch_press_swiching = 0; + } + + return ret; +} + +static int mxt224_switch_resume(struct mxt224_data *data) +{ + int ret; + int i=0; + + do { + ret = write_config(data, GEN_POWERCONFIG_T7, data->power_cfg); + msleep(20); + printk(KERN_ERR "[TSP] %s, i=%d,r=%d \n",__func__, i, ret); + i++; + } while (ret && i < 10); + + return ret; +} + + +static void mxt224_switch_late_resume(struct mxt224_data *data) +{ + bool ta_status=0; + int gpio_int = 0; // when folder switch, to know intrrupt state + + //msleep(100); + // TEST + printk("[TSP] Enable_Irq SR 2065 \n"); // Add Enable_Irq SR log + enable_irq(data->client->irq); + + resume_check_flag = 1; + mxt224_enabled = 1; + is_inputmethod = 0; + + if(data->read_ta_status) { + data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + calibrate_chip(); + + if(Flip_status_tsp==FLIP_CLOSE) resume_cal_check_flag= resume_cal_check_flag & 0x01; + else resume_cal_check_flag= resume_cal_check_flag & 0x10; + + printk(KERN_ERR "[TSP] %s, flip:%x\n",__func__,resume_cal_check_flag); + + // Check the interrupt gpio when folder change + { + gpio_int = gpio_get_value(data->gpio_read_done); + printk("[TSP] TSP_INT gpio after change switch %d", gpio_int); + } +} + +#endif + +static int mxt224_internal_suspend(struct mxt224_data *data) +{ +// static const u8 sleep_power_cfg[3]={0,}; +// int ret; + int i; + + /* Set power config. */ + /* Set Idle Acquisition Interval to 32 ms. */ + /*power_config_sleep.idleacqint = 0; */ + /* Set Active Acquisition Interval to 16 ms. */ + /*power_config_sleep.actvacqint = 0;*/ +#if 0 //ndef W999_FLIP // don't need power off command because power on/off + ret = write_config(data, GEN_POWERCONFIG_T7, sleep_power_cfg); + if (ret){ + mxt224_tsp_ldo(0); + data->power_off(); + return ret; + } +#endif + for (i = 0; i < data->num_fingers; i++) { + if (data->fingers[i].z == -1) + continue; + + touch_is_pressed_arr[i] = 0; + data->fingers[i].z = 0; + } + report_input_data(data); + check_touch_press_swiching = 0; + + data->power_off(); + + return 0; +} + +#if 0 // Assay Test for X,Y changed +#if defined(CONFIG_CHN_MODEL_SCH_I929) +static u8 temp_t9_config_e[] = {131, 0, 0, 19, 11, 0, 32, 50, 2, 1, + 10,15, + 1, 46, MXT224_MAX_MT_FINGERS, 5, 40, 10, 31, 3, + 223, 1, 10, 10, 10, 10, 143, 40, 143, 80, + 18, 15, 50, 50, 0}; +#else +static u8 temp_t9_config_e[] = {131, 0, 0, 17, 10, 0, 32, 50, 2, 3, + 10,15, + 1, 46, MXT224_MAX_MT_FINGERS, 5, 40, 10, 31, 3, + 223, 1, 10, 10, 10, 10, 143, 40, 143, 80, + 18, 15, 50, 50, 0}; +#endif +#endif +static int mxt224_internal_resume(struct mxt224_data *data) +{ + int ret = 0; +// int i; + +#ifdef W999_FLIP + printk("[TSP] %s %d resume_power : %d",__func__, __LINE__,resume_power); + if(resume_power == 0){ +#endif + data->power_on(); + + mdelay(100); // power on reset delay, 100ms +// mxt224_tsp_ldo(1); +#ifdef W999_FLIP + } +#endif + +#if 0 //ndef W999_FLIP // don't need wake up command because power on/off + i = 0; + do { + ret = write_config(data, GEN_POWERCONFIG_T7, data->power_cfg); + msleep(20); + printk(KERN_ERR "[TSP] resume, i=%d,r=%d \n", i, ret); + i++; + } while (ret && i < 10); + msleep(20); +#endif + + +#if 0 // Assay Test for X,Y changed + { + int ret1; + ret1 = write_config(data, TOUCH_MULTITOUCHSCREEN_T9, temp_t9_config_e); + printk(KERN_ERR "[TSP] x,y re-set for assay test, r=%d \n", ret1); + } + +#endif + boot_or_resume = 1; + + return ret; +} + +#ifdef CONFIG_HAS_EARLYSUSPEND +#define mxt224_suspend NULL +#define mxt224_resume NULL + +static void mxt224_early_suspend(struct early_suspend *h) +{ + struct mxt224_data *data = container_of(h, struct mxt224_data, + early_suspend); + + printk(KERN_ERR "[TSP] Start mxt224_early_suspend \n"); + + mxt224_enabled = 0; + touch_is_pressed = 0; + Doing_calibration_falg = 0; +#ifdef W999_FLIP + check_sleep = 1; +#endif + + printk("[TSP] Disable_Irq S\n"); // Add Disable_Irq log + disable_irq(data->client->irq); + mxt224_internal_suspend(data); +#ifdef W999_FLIP + resume_cal_check_flag=0; +#endif + + printk(KERN_ERR "[TSP] End mxt224_early_suspend \n"); +} + +static void mxt224_late_resume(struct early_suspend *h) +{ + struct mxt224_data *data = container_of(h, struct mxt224_data, + early_suspend); + bool ta_status=0; +#ifdef W999_FLIP + check_sleep = 0; +#endif + printk(KERN_ERR "[TSP] Start mxt224_late_resume \n"); + + mxt224_internal_resume(data); +#ifdef W999_FLIP + resume_power = 0; // side-effect, wake up with folder switching and sleep, but resume_power is stiil 1. so set 0, here +#endif +// enable_irq(data->client->irq); + +#ifdef W999_FLIP + { + int val= 0; + + val = gpio_get_value(HALL_SW); + + if(val){ // open + Flip_status_tsp=FLIP_OPEN; + resume_cal_check_flag = 0x10; + } + else{ // close + Flip_status_tsp=FLIP_CLOSE; + resume_cal_check_flag = 0x01; + } + printk(KERN_ERR "[TSP] resume-switch 2 %d, %d\n",val, Flip_status_tsp); + mxt224_switch_resume(data); + + } +#endif + + + // noise issue : wakeup -> do cal good under 300ms -> happened noise problem + qt_timer_state=0; + cal_check_flag=0; + + printk("[TSP] Enable_Irq R\n"); // Add Enable_Irq log + enable_irq(data->client->irq); + + mxt224_enabled = 1; + is_inputmethod = 0; + resume_check_flag = 1; + #ifdef CLEAR_MEDIAN_FILTER_ERROR + noise_median.mferr_count=0; + noise_median.mferr_setting = false; + noise_median.median_on_flag = false; + #endif + + if(data->read_ta_status) { + data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + + calibrate_chip(); + { // for test + int gpio_int=0; + gpio_int = gpio_get_value(data->gpio_read_done); + printk(KERN_ERR"[TSP] TSP_INT gpio %d", gpio_int); + } + printk(KERN_ERR "[TSP] End mxt224_late_resume \n"); +} +#else +static int mxt224_suspend(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mxt224_data *data = i2c_get_clientdata(client); + + //cal_check_work_queue + int ret; + ret = cancel_work_sync(&cal_check_work); + + + mxt224_enabled = 0; + touch_is_pressed = 0; + Doing_calibration_falg = 0; + return mxt224_internal_suspend(data); +} + +static int mxt224_resume(struct device *dev) +{ + int ret = 0; + bool ta_status=0; + struct i2c_client *client = to_i2c_client(dev); + struct mxt224_data *data = i2c_get_clientdata(client); + + ret = mxt224_internal_resume(data); + + mxt224_enabled = 1; + + if(data->read_ta_status) { + data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + return ret; +} +#endif + +void Mxt224_force_released(void) +{ +/* + struct mxt224_data*data = copy_data; + int i; +*/ + if(!mxt224_enabled) { + printk(KERN_ERR "[TSP] mxt224_enabled is 0\n"); + return; + } + + calibrate_chip(); + + touch_is_pressed = 0; +}; +EXPORT_SYMBOL(Mxt224_force_released); + +void TSP_forced_release_for_call(void) +{ + int i=0; + + if (!mxt224_enabled) { + printk(KERN_ERR "[TSP] mxt224_enabled is 0 \n"); + return; + } + + touch_is_pressed = 0; + + + for (i = 0; i < copy_data->num_fingers; i++) { + + if (copy_data->fingers[i].z == -1) continue; + + copy_data->fingers[i].z = 0; + + input_mt_slot(copy_data->input_dev, i); + input_mt_report_slot_state(copy_data->input_dev, MT_TOOL_FINGER, !!copy_data->fingers[i].z); + + input_report_abs(copy_data->input_dev, ABS_MT_POSITION_X, copy_data->fingers[i].x); + input_report_abs(copy_data->input_dev, ABS_MT_POSITION_Y, copy_data->fingers[i].y); + input_report_abs(copy_data->input_dev, ABS_MT_TOUCH_MAJOR, copy_data->fingers[i].z); + input_report_abs(copy_data->input_dev, ABS_MT_PRESSURE, copy_data->fingers[i].w); + + touch_is_pressed_arr[i] = 0; + + if (copy_data->fingers[i].z == 0) + copy_data->fingers[i].z = -1; + } + calibrate_chip(); + msleep(20); + + copy_data->finger_mask = 0; + touch_state = 0; + input_sync(copy_data->input_dev); +} + + +static ssize_t mxt224_debug_setting(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + g_debug_switch = !g_debug_switch; + return 0; +} + +static ssize_t qt602240_object_setting(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct mxt224_data*data = dev_get_drvdata(dev); + unsigned int object_type; + unsigned int object_register; + unsigned int register_value; + u8 value; + u8 val; + int ret; + u16 address; + u16 size; + sscanf(buf,"%u%u%u",&object_type,&object_register,®ister_value); + printk(KERN_ERR "[TSP] object type T%d\n", object_type); + printk(KERN_ERR "[TSP] object register ->Byte%d\n", object_register); + printk(KERN_ERR "[TSP] register value %d\n", register_value); + ret = get_object_info(data, (u8)object_type, &size, &address); + if (ret) { + printk(KERN_ERR "[TSP] fail to get object_info\n"); + return count; + } + + size = 1; + value = (u8)register_value; + write_mem(data, address+(u16)object_register, size, &value); + read_mem(data, address+(u16)object_register, (u8)size, &val); + + printk(KERN_ERR "[TSP] T%d Byte%d is %d\n", object_type, object_register, val); + /*test program*/ + //mxt224_ta_probe(1); + return count; + +} + +static ssize_t qt602240_object_show(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct mxt224_data *data = dev_get_drvdata(dev); + unsigned int object_type; + u8 val; + int ret; + u16 address; + u16 size; + u16 i; + sscanf(buf, "%u", &object_type); + printk(KERN_ERR "[TSP] object type T%d\n", object_type); + ret = get_object_info(data, (u8)object_type, &size, &address); + if (ret) { + printk(KERN_ERR "[TSP] fail to get object_info\n"); + return count; + } + for (i = 0; i < size; i++) { + read_mem(data, address+i, 1, &val); + printk(KERN_ERR "[TSP] Byte %u --> %u\n", i, val); + } + return count; +} + +struct device *sec_touchscreen; +struct device *qt602240_noise_test; +/* + botton_right, botton_left, center, top_right, top_left +*/ +unsigned char test_node[5] = {12, 20, 104, 188, 196}; + +#if defined(W999_FLIP) +uint16_t qt_refrence_node[221] = { 0 }; +uint16_t qt_delta_node[221] = { 0 }; +#else +uint16_t qt_refrence_node[209] = { 0 }; +uint16_t qt_delta_node[209] = { 0 }; +#endif + + +void diagnostic_chip(u8 mode) +{ + int error; + u16 t6_address = 0; + u16 size_one; + int ret; + u8 value; + u16 t37_address = 0; + int retry = 3; + + ret = get_object_info(copy_data, GEN_COMMANDPROCESSOR_T6, &size_one, &t6_address); + + size_one = 1; + while(retry--){ + error = write_mem(copy_data, t6_address+5, (u8)size_one, &mode); + /* qt602240_write_object(p_qt602240_data, QT602240_GEN_COMMAND, */ + /* QT602240_COMMAND_DIAGNOSTIC, mode); */ + if (error < 0) { + printk(KERN_ERR "[TSP] error %s: write_object\n", __func__); + } else { + get_object_info(copy_data, DEBUG_DIAGNOSTIC_T37, &size_one, &t37_address); + size_one = 1; + /*printk(KERN_ERR"[TSP]diagnostic_chip setting success\n");*/ + read_mem(copy_data, t37_address, (u8)size_one, &value); + return; + /* printk(KERN_ERR"dianostic_chip mode is %d\n",value); */ + } +} + printk(KERN_ERR "[TSP] error %s: write_object fail!!\n", __func__); + mxt224_reset(copy_data); + return; +} + +void read_dbg_data(uint8_t dbg_mode , uint8_t node, uint16_t *dbg_data) +{ + u8 read_page, read_point; + u8 data_buffer[2] = { 0 }; + int i, ret; + u16 size; + u16 object_address = 0; + + read_page = node / 64; + node %= 64; + read_point = (node * 2) + 2; + + if (!mxt224_enabled) { + printk(KERN_ERR "[TSP ]read_dbg_data. mxt224_enabled is 0\n"); + return; + } + + /* Page Num Clear */ + diagnostic_chip(QT_CTE_MODE); + msleep(20); + + diagnostic_chip(dbg_mode); + msleep(20); + + ret = get_object_info(copy_data, DEBUG_DIAGNOSTIC_T37, &size, &object_address); +#if 0 + for (i = 0; i < 5; i++) { + /* qt602240_read_diagnostic(0, data_buffer, 1); */ + if (data_buffer[0] == dbg_mode) + break; + + msleep(20); + } +#else + msleep(20); +#endif + printk(KERN_DEBUG "[TSP] page clear\n"); + + for (i = 1; i <= read_page; i++) { + diagnostic_chip(QT_PAGE_UP); + msleep(20); + /* qt602240_read_diagnostic(1, data_buffer, 1); */ + read_mem(copy_data, object_address+1, 1, data_buffer); + if (data_buffer[0] != i) { + if (data_buffer[0] >= 0x4) + break; + i--; + } + } + + /* qt602240_read_diagnostic(read_point, data_buffer, 2); */ + read_mem(copy_data, object_address+(u16)read_point, 2, data_buffer); + *dbg_data = ((uint16_t)data_buffer[1]<<8) + (uint16_t)data_buffer[0]; +} + + +#define MAX_VALUE 3680 //4840 +#define MIN_VALUE 13280 //13500 + +int read_all_data(uint16_t dbg_mode) +{ + u8 read_page, read_point; + u16 max_value = MAX_VALUE, min_value = MIN_VALUE; +// uint16_t qt_refrence; + u16 object_address = 0; + u8 data_buffer[2] = { 0 }; + u8 node = 0; + int state = 0; + int num = 0; + int ret; + u16 size; + + //test + int i=0; + + bool ta_status=0; + if(copy_data->read_ta_status) { // regradless of TA : copy_data->read_ta_status = -1072938512 + copy_data->read_ta_status(&ta_status); + printk("[TSP] 2091 read_all_data ta_status is %d \n", ta_status); // without TA : ta_status = 0, with TA = 1 + } + + /* Page Num Clear */ + diagnostic_chip(QT_CTE_MODE); + msleep(30);/* msleep(20); */ + + diagnostic_chip(dbg_mode); + msleep(30);/* msleep(20); */ + + ret = get_object_info(copy_data, DEBUG_DIAGNOSTIC_T37, &size, &object_address); +/*jerry no need to leave it */ +#if 0 + for (i = 0; i < 5; i++) { + if (data_buffer[0] == dbg_mode) + break; + + msleep(20); + } +#else + msleep(50); /* msleep(20); */ +#endif + if (copy_data->family_id==0x81) { + max_value = max_value + 16384; + min_value = min_value + 16384; + } + + for (read_page = 0 ; read_page < 4; read_page++) { + for (node = 0; node < 64; node++) { + read_point = (node * 2) + 2; + read_mem(copy_data, object_address+(u16)read_point, 2, data_buffer); + qt_refrence_node[num] = ((uint16_t)data_buffer[1]<<8)+ (uint16_t)data_buffer[0]; + if (copy_data->family_id==0x81) { + if ((qt_refrence_node[num] > MIN_VALUE + 16384) || (qt_refrence_node[num] < MAX_VALUE + 16384)) { + state = 1; + printk(KERN_ERR"[TSP] Mxt224-E qt_refrence_node[%3d] = %5d \n", num, qt_refrence_node[num]); + // break; + } + } else { + if((qt_refrence_node[num] > MIN_VALUE)||(qt_refrence_node[num] < MAX_VALUE)) { + state = 1; + printk(KERN_ERR"[TSP] Mxt224 qt_refrence_node[%3d] = %5d \n", num, qt_refrence_node[num]); + // break; + } + } + + if (data_buffer[0] != 0) { + if(qt_refrence_node[num] > max_value) + max_value = qt_refrence_node[num]; + if(qt_refrence_node[num] < min_value) + min_value = qt_refrence_node[num]; + } + + if (copy_data->family_id==0x81) + qt_refrence_node[num] = qt_refrence_node[num]-16384; + + num = num+1; + + /* all node => 19 * 11 = 209 => (3page * 64) + 17 */ // I919, I929 + /* all node => 17 * 13 = 221 => (3page * 64) + 29 */ // W999 + //if ((read_page == 3) && (node == 16)) + // break; + + //#if defined(CONFIG_CHN_MODEL_SCH_I929) + #if defined(W999_FLIP) + if(ta_status) /* (dual-x) all node => 16 * 13 = 208 => (3page * 64) +16 */ + { + if ((read_page == 3) && (node == 15)) + break; + } + else /* all node => 17 * 13 = 221 => (3page * 64) + 29 */ + { + if ((read_page == 3) && (node == 28)) + break; + } + #else + if(ta_status) /* (dual-x) all node => 18 * 11 = 198 => (3page * 64) + 6 */ + { + if ((read_page == 3) && (node == 5)) + break; + } + else /* all node => 19 * 11 = 209 => (3page * 64) + 17 */ + { + if ((read_page == 3) && (node == 16)) + break; + } + #endif + + } + diagnostic_chip(QT_PAGE_UP); + msleep(10); + } + + for(i=0; i<num;i++) + printk("[TSP]qt_refrence_node[%d]=%u \n",i,qt_refrence_node[i]); + + printk("[TSP] MAX : %d, MIN : %d \n", max_value-16384, min_value-16384); + + if ((max_value - min_value) > 4000) { + printk(KERN_ERR "[TSP] diff = %d, max_value = %d, min_value = %d\n", (max_value - min_value), max_value-16384, min_value-16384); + state = 1; + } + + + return state; +} + + +int read_all_delta_data(uint16_t dbg_mode) +{ + u8 read_page, read_point; +// u16 max_value = MAX_VALUE, min_value = MIN_VALUE; +// uint16_t qt_refrence; + u16 object_address = 0; + u8 data_buffer[2] = { 0 }; + u8 node = 0; + int state = 0; + int num = 0; + int ret; + u16 size; + + //test + int i=0; + /* Page Num Clear */ + diagnostic_chip(QT_CTE_MODE); + msleep(30);/* msleep(20); */ + + diagnostic_chip(dbg_mode); + msleep(30);/* msleep(20); */ + + ret = get_object_info(copy_data, DEBUG_DIAGNOSTIC_T37, &size, &object_address); +/*jerry no need to leave it */ +#if 0 + for (i = 0; i < 5; i++) { + if (data_buffer[0] == dbg_mode) + break; + + msleep(20); + } +#else + msleep(50); /* msleep(20); */ +#endif + + for (read_page = 0 ; read_page < 4; read_page++) { + for (node = 0; node < 64; node++) { + read_point = (node * 2) + 2; + read_mem(copy_data, object_address+(u16)read_point, 2, data_buffer); + qt_delta_node[num] = ((uint16_t)data_buffer[1]<<8)+ (uint16_t)data_buffer[0]; + + num = num+1; + + /* all node => 19 * 11 = 209 => (3page * 64) + 17 */ + /* all node => 17 * 13 = 221 => (3page * 64) + 29 */ + //if ((read_page == 3) && (node == 16)) + // break; + + //#if defined(CONFIG_CHN_MODEL_SCH_I929) + #if defined(W999_FLIP) + if ((read_page == 3) && (node == 28)) + break; + #else + if ((read_page == 3) && (node == 16)) + break; + #endif + + } + diagnostic_chip(QT_PAGE_UP); + msleep(10); + } + + for(i=0; i<num;i++){ + if (qt_delta_node[i] < 32767){ + printk("[TSP]qt_delta_node[%d]=%u \n", i, qt_delta_node[i]); + } + else{ + printk("[TSP]qt_delta_node[%d]=-%u \n", i, 65535 - qt_delta_node[i]); + } + } + return state; +} + +static void mxt224_optical_gain(uint16_t dbg_mode) +{ + u8 read_page, read_point; + uint16_t qt_refrence; + u16 object_address = 0; + u8 data_buffer[2] = { 0 }; + u8 node = 0; + int ret, reference_over = 0; + u16 size; + u16 size_one; + u8 value; + int gain = 0; + u8 val = 0; + unsigned int register_address = 6; + + printk(KERN_ERR "[TSP] +mxt224_optical_gain()\n"); + + /* Page Num Clear */ + diagnostic_chip(QT_CTE_MODE); + msleep(5); + + diagnostic_chip(dbg_mode); + msleep(5); + + ret = get_object_info(copy_data, DEBUG_DIAGNOSTIC_T37, &size, &object_address); +/*jerry no need of it*/ +#if 0 + for (i = 0; i < 5; i++) { + if (data_buffer[0] == dbg_mode) + break; + + msleep(5); + } +#else + msleep(5); +#endif + + for (read_page = 0; read_page < 4; read_page++) { + for (node = 0; node < 64; node++) { + read_point = (node * 2) + 2; + read_mem(copy_data, object_address+(u16)read_point, 2, data_buffer); + qt_refrence = ((uint16_t)data_buffer[1]<<8) + (uint16_t)data_buffer[0]; + + if (copy_data->family_id == 0x81) + qt_refrence = qt_refrence - 16384; + if (qt_refrence > 14500) + reference_over = 1; + + if ((read_page == 3) && (node == 16)) + break; + } + diagnostic_chip(QT_PAGE_UP); + msleep(5); + } + + if (reference_over) + gain = 16; + else + gain = 32; + + value = (u8)gain; + ret = get_object_info(copy_data, TOUCH_MULTITOUCHSCREEN_T9, &size_one, &object_address); + size_one = 1; + write_mem(copy_data, object_address+(u16)register_address, size_one, &value); + read_mem(copy_data, object_address+(u16)register_address, (u8)size_one, &val); + + printk(KERN_ERR "[TSP] -mxt224_optical_gain()\n"); +}; + +static int mxt224_check_bootloader(struct i2c_client *client, + unsigned int state) +{ + u8 val; + +recheck: + if (i2c_master_recv(client, &val, 1) != 1) { + dev_err(&client->dev, "%s: i2c recv failed\n", __func__); + return -EIO; + } + + switch (state) { + case QT602240_WAITING_BOOTLOAD_CMD: + case QT602240_WAITING_FRAME_DATA: + val &= ~QT602240_BOOT_STATUS_MASK; + break; + case QT602240_FRAME_CRC_PASS: + if (val == QT602240_FRAME_CRC_CHECK) + goto recheck; + break; + default: + return -EINVAL; + } + + if (val != state) { + dev_err(&client->dev, "Unvalid bootloader mode state\n"); + printk(KERN_ERR "[TSP] Unvalid bootloader mode state\n"); + return -EINVAL; + } + + return 0; +} + +static int mxt224_unlock_bootloader(struct i2c_client *client) +{ + u8 buf[2]; + + buf[0] = QT602240_UNLOCK_CMD_LSB; + buf[1] = QT602240_UNLOCK_CMD_MSB; + + if (i2c_master_send(client, buf, 2) != 2) { + dev_err(&client->dev, "%s: i2c send failed\n", __func__); + return -EIO; + } + + return 0; +} + +static int mxt224_fw_write(struct i2c_client *client, + const u8 *data, unsigned int frame_size) +{ + if (i2c_master_send(client, data, frame_size) != frame_size) { + dev_err(&client->dev, "%s: i2c send failed\n", __func__); + return -EIO; + } + + return 0; +} + + +static int mxt224_load_fw(struct device *dev, const char *fn) +{ + + struct mxt224_data *data = copy_data; + struct i2c_client *client = copy_data->client; + const struct firmware *fw = NULL; + unsigned int frame_size; + unsigned int pos = 0; + int ret; + u16 obj_address = 0; + u16 size_one; + u8 value; + unsigned int object_register; + + printk(KERN_ERR "[TSP] mxt224_load_fw start!!!\n"); + + ret = request_firmware(&fw, fn, &client->dev); + if (ret) { + dev_err(dev, "Unable to open firmware %s\n", fn); + printk(KERN_ERR "[TSP] Unable to open firmware %s\n", fn); + return ret; + } + + /* Change to the bootloader mode */ + /* qt602240_write_object(data, QT602240_GEN_COMMAND, QT602240_COMMAND_RESET, QT602240_BOOT_VALUE); */ + object_register = 0; + value = (u8)QT602240_BOOT_VALUE; + ret = get_object_info(data, GEN_COMMANDPROCESSOR_T6, &size_one, &obj_address); + if (ret) { + printk(KERN_ERR "[TSP] fail to get object_info\n"); + return ret; + } + + size_one = 1; + write_mem(data, obj_address+(u16)object_register, (u8)size_one, &value); + msleep(QT602240_RESET_TIME); + + /* Change to slave address of bootloader */ + if (client->addr == QT602240_APP_LOW) + client->addr = QT602240_BOOT_LOW; + else + client->addr = QT602240_BOOT_HIGH; + + ret = mxt224_check_bootloader(client, QT602240_WAITING_BOOTLOAD_CMD); + if (ret) + goto out; + + /* Unlock bootloader */ + mxt224_unlock_bootloader(client); + + while (pos < fw->size) { + ret = mxt224_check_bootloader(client, + QT602240_WAITING_FRAME_DATA); + if (ret) + goto out; + + frame_size = ((*(fw->data + pos) << 8) | *(fw->data + pos + 1)); + + /* We should add 2 at frame size as the the firmware data is not + * included the CRC bytes. + */ + frame_size += 2; + + /* Write one frame to device */ + /* qt602240_fw_write(client, fw->data + pos, frame_size); */ + mxt224_fw_write(client, fw->data + pos, frame_size); + + ret = mxt224_check_bootloader(client, + QT602240_FRAME_CRC_PASS); + if (ret) + goto out; + + pos += frame_size; + + dev_dbg(dev, "Updated %d bytes / %zd bytes\n", pos, fw->size); + printk(KERN_ERR "[TSP] Updated %d bytes / %zd bytes\n", pos, fw->size); + } + +out: + release_firmware(fw); + + /* Change to slave address of application */ + if (client->addr == QT602240_BOOT_LOW) + client->addr = QT602240_APP_LOW; + else + client->addr = QT602240_APP_HIGH; + + return ret; +} + +static ssize_t set_tsp_module_off_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int ret; + + mxt224_enabled = 0; + touch_is_pressed = 0; + Doing_calibration_falg = 0; + + disable_irq(copy_data->client->irq); + ret = mxt224_internal_suspend(copy_data); + + if (ret == 0) + ret = 1; + else + ret = 0; + + return sprintf(buf, "%d\n", ret); +} + +static ssize_t set_tsp_module_on_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int ret = 0; + bool ta_status=0; + /*struct i2c_client *client = to_i2c_client(dev); + struct mxt224_data *data = i2c_get_clientdata(client);*/ + + copy_data->power_on(); + mdelay(100); + + ret = mxt224_internal_resume(copy_data); + enable_irq(copy_data->client->irq); + + mxt224_enabled = 1; + + if(copy_data->read_ta_status) { + copy_data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + calibrate_chip(); + + if (ret == 0) + ret = 1; + else + ret = 0; + + return sprintf(buf, "%d\n", ret); + +} + +#ifdef W999_FLIP +static int check_off = 0; +static ssize_t set_tsp_master_module_off_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int ret; + + mxt224_enabled = 0; + touch_is_pressed = 0; + /* Doing_calibration_falg = 0; */ + +// Flip_status_tsp=FLIP_CLOSE; + if(check_off == 1){ + ret = mxt224_internal_resume(copy_data); + enable_irq(copy_data->client->irq); + } + + //samsung_switching_lcd(0, 1); + samsung_switching_tsp(0, 1); + + disable_irq(copy_data->client->irq); + ret = mxt224_internal_suspend(copy_data); + + check_off = 1; + + if (ret == 0) + ret = 1; + else + ret = 0; + + return sprintf(buf, "%d\n", ret); +} + + +static ssize_t set_tsp_master_module_on_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int ret = 0; + bool ta_status=0; + /*struct i2c_client *client = to_i2c_client(dev); + struct mxt224_data *data = i2c_get_clientdata(client);*/ + +// Flip_status_tsp=FLIP_CLOSE; + + if(check_off == 1){ + ret = mxt224_internal_resume(copy_data); + enable_irq(copy_data->client->irq); + } + + //samsung_switching_lcd(0, 1); + samsung_switching_tsp(0, 1); + + copy_data->power_on(); + mdelay(100); + + ret = mxt224_internal_resume(copy_data); + + enable_irq(copy_data->client->irq); + + mxt224_enabled = 1; + + if(copy_data->read_ta_status) { + copy_data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + calibrate_chip(); + + check_off = 0; + + if (ret == 0) + ret = 1; + else + ret = 0; + + return sprintf(buf, "%d\n", ret); +} + + +static ssize_t set_tsp_slave_module_off_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int ret; + + mxt224_enabled = 0; + touch_is_pressed = 0; + /* Doing_calibration_falg = 0; */ + +// Flip_status_tsp=FLIP_OPEN; + if(check_off == 1){ + ret = mxt224_internal_resume(copy_data); + enable_irq(copy_data->client->irq); + } + + //samsung_switching_lcd(0, 0); + samsung_switching_tsp(0, 0); + + disable_irq(copy_data->client->irq); + ret = mxt224_internal_suspend(copy_data); + + check_off = 1; + + if (ret == 0) + ret = 1; + else + ret = 0; + + return sprintf(buf, "%d\n", ret); +} + +static ssize_t set_tsp_slave_module_on_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int ret = 0; + bool ta_status=0; + /*struct i2c_client *client = to_i2c_client(dev); + struct mxt224_data *data = i2c_get_clientdata(client);*/ + +// Flip_status_tsp=FLIP_OPEN; + if(check_off == 1){ + ret = mxt224_internal_resume(copy_data); + enable_irq(copy_data->client->irq); + } + + //samsung_switching_lcd(0, 0); + samsung_switching_tsp(0, 0); + + copy_data->power_on(); + mdelay(100); + + ret = mxt224_internal_resume(copy_data); + enable_irq(copy_data->client->irq); + + mxt224_enabled = 1; + + if(copy_data->read_ta_status) { + copy_data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + calibrate_chip(); + + check_off = 0; + + if (ret == 0) + ret = 1; + else + ret = 0; + + return sprintf(buf, "%d\n", ret); +} +#endif + +static ssize_t set_refer0_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_refrence = 0; + read_dbg_data(QT_REFERENCE_MODE, test_node[0], &qt_refrence); + return sprintf(buf, "%u\n", qt_refrence); +} + +static ssize_t set_refer1_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_refrence = 0; + read_dbg_data(QT_REFERENCE_MODE, test_node[1], &qt_refrence); + return sprintf(buf, "%u\n", qt_refrence); +} + +static ssize_t set_refer2_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_refrence = 0; + read_dbg_data(QT_REFERENCE_MODE, test_node[2], &qt_refrence); + return sprintf(buf, "%u\n", qt_refrence); +} + +static ssize_t set_refer3_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_refrence = 0; + read_dbg_data(QT_REFERENCE_MODE, test_node[3], &qt_refrence); + return sprintf(buf, "%u\n", qt_refrence); +} + +static ssize_t set_refer4_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_refrence = 0; + read_dbg_data(QT_REFERENCE_MODE, test_node[4], &qt_refrence); + return sprintf(buf, "%u\n", qt_refrence); +} + +static ssize_t set_delta0_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_delta = 0; + read_dbg_data(QT_DELTA_MODE, test_node[0], &qt_delta); + if (qt_delta < 32767) + return sprintf(buf, "%u\n", qt_delta); + else + qt_delta = 65535 - qt_delta; + + return sprintf(buf, "-%u\n", qt_delta); +} + +static ssize_t set_delta1_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_delta = 0; + read_dbg_data(QT_DELTA_MODE, test_node[1], &qt_delta); + if (qt_delta < 32767) + return sprintf(buf, "%u\n", qt_delta); + else + qt_delta = 65535 - qt_delta; + + return sprintf(buf, "-%u\n", qt_delta); +} + +static ssize_t set_delta2_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_delta = 0; + read_dbg_data(QT_DELTA_MODE, test_node[2], &qt_delta); + if (qt_delta < 32767) + return sprintf(buf, "%u\n", qt_delta); + else + qt_delta = 65535 - qt_delta; + + return sprintf(buf, "-%u\n", qt_delta); +} + +static ssize_t set_delta3_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_delta = 0; + read_dbg_data(QT_DELTA_MODE, test_node[3], &qt_delta); + if (qt_delta < 32767) + return sprintf(buf, "%u\n", qt_delta); + else + qt_delta = 65535 - qt_delta; + + return sprintf(buf, "-%u\n", qt_delta); +} + +static ssize_t set_delta4_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + uint16_t qt_delta = 0; + read_dbg_data(QT_DELTA_MODE, test_node[4], &qt_delta); + if (qt_delta < 32767) + return sprintf(buf, "%u\n", qt_delta); + else + qt_delta = 65535 - qt_delta; + + return sprintf(buf, "-%u\n", qt_delta); +} + +static ssize_t set_threshold_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + char temp[15]; + if(mxt_version_disp == 0x80) { + sprintf(temp, "%u\n", threshold); + strcat(buf, temp); + } else if(mxt_version_disp == 0x81) { + sprintf(temp, "%u\n", threshold_e); + strcat(buf, temp); + } else { + sprintf(temp, "error\n"); + strcat(buf, temp); + } + return strlen(buf); +} + +static ssize_t set_all_refer_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int status = 0; + + status = read_all_data(QT_REFERENCE_MODE); + + return sprintf(buf, "%u\n", status); +} + +static int index =0; + +static int atoi(const char *str) +{ + int result = 0; + int count = 0; + if( str == NULL ) + return -1; + while (str[count] != '\0' && str[count] >= '0' && str[count] <= '9') { + result = result * 10 + str[count] - '0'; + ++count; + } + return result; +} + +ssize_t disp_all_refdata_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + +//int status = 0; +// char tempStr[5*209 + 1] = { 0 }; +//nt i = 0; + return sprintf(buf, "%u\n", qt_refrence_node[index]); +} + +ssize_t disp_all_refdata_store(struct device *dev, struct device_attribute *attr, + const char *buf, size_t size) +{ + + index = atoi(buf); + return size; +} + + +static ssize_t set_all_delta_mode_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + int status = 0; + + status = read_all_delta_data(QT_DELTA_MODE); + + return sprintf(buf, "%u\n", status); +} + +void node_number_show(void) +{ + struct mxt224_data *data = copy_data; + + u8 id[ID_BLOCK_SIZE]; + int ret; + + ret = read_mem(data, 0, sizeof(id), id); + printk("id : 0x%2x node : %d, y node : %d\n", id[0], id[4], id[5]); +} + +static ssize_t disp_family_id_number_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct mxt224_data *data = copy_data; + + u8 id[ID_BLOCK_SIZE]; + int ret; + + ret = read_mem(data, 0, sizeof(id), id); + + return sprintf(buf, "%2x\n", id[0]); +} + +static ssize_t disp_node_x_number_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct mxt224_data *data = copy_data; + + u8 id[ID_BLOCK_SIZE]; + int ret; + + ret = read_mem(data, 0, sizeof(id), id); + + return sprintf(buf, "%d\n", id[4]); +} + +static ssize_t disp_node_y_number_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct mxt224_data *data = copy_data; + + u8 id[ID_BLOCK_SIZE]; + int ret; + + ret = read_mem(data, 0, sizeof(id), id); + + return sprintf(buf, "%d\n", id[5]); +} + +static int index_delta =0; + + +ssize_t disp_all_deltadata_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + if (qt_delta_node[index_delta] < 32767) + return sprintf(buf, "%u\n", qt_delta_node[index_delta]); + else + qt_delta_node[index_delta] = 65535 - qt_delta_node[index_delta]; + + return sprintf(buf, "-%u\n", qt_delta_node[index_delta]); +} + + +ssize_t disp_all_deltadata_store(struct device *dev, struct device_attribute *attr, + const char *buf, size_t size) +{ + + index_delta = atoi(buf); + return size; +} + +static ssize_t set_firm_version_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + + return sprintf(buf, "%#02x\n", tsp_version_disp); + +} + +static ssize_t set_mxt_update_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct mxt224_data *data = copy_data; + int error = 0; + int count = 0; + printk(KERN_ERR "[TSP] set_mxt_update_show start!!\n"); + + /*if (sscanf(buf, "%u", &version) != 1) { + printk(KERN_ERR"Invalid values\n"); + dev_err(dev, "Invalid values\n"); + return -EINVAL; + } + + if ( tsp_version_disp < QT602240_VER_21 || version < QT602240_VER_21) { + dev_err(dev, "FW update supported starting with version 21\n"); + printk(KERN_ERR"[TSP]Wrong FW version\n"); + return -EINVAL; + }*/ + + disable_irq(data->client->irq); + firm_status_data = 1; + if (data->family_id == 0x80) { /* : MXT-224 */ + printk(KERN_ERR"[TSP] mxt224_fm_update\n"); + error = mxt224_load_fw(dev, MXT224_FW_NAME); + } else if (data->family_id == 0x81) { /* tsp_family_id - 0x81 : MXT-224E */ + printk(KERN_ERR"[TSP] mxt224E_fm_update\n"); + error = mxt224_load_fw(dev, MXT224_ECHO_FW_NAME); + } + /*jerry no need of it*/ + /* error = mxt224_load_fw(dev, QT602240_FW_NAME); */ + if (error) { + dev_err(dev, "The firmware update failed(%d)\n", error); + firm_status_data = 3; + printk(KERN_ERR"[TSP The firmware update failed(%d)\n", error); + return error; + } else { + dev_dbg(dev, "The firmware update succeeded\n"); + firm_status_data = 2; + printk(KERN_ERR "[TSP] The firmware update succeeded\n"); + + /* Wait for reset */ + mdelay(QT602240_FWRESET_TIME); + /* initialize the TSP*/ + mxt224_init_touch_driver(data); + /*jerry no need of it*/ + /* qt602240_initialize(data); */ + } + + enable_irq(data->client->irq); + error = mxt224_backup(data); + if (error) { + printk(KERN_ERR "[TSP] mxt224_backup fail!!!\n"); + return error; + } + + /* reset the touch IC. */ + error = mxt224_reset(data); + if (error) { + printk(KERN_ERR"[TSP] mxt224_reset fail!!!\n"); + return error; + } + + msleep(60); + return count; +} + +static ssize_t set_mxt_firm_status_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + + int count; + /* struct mxt_data *mxt = dev_get_drvdata(dev); */ + pr_info("Enter firmware_status_show by Factory command\n"); + + if (firm_status_data == 1) + count = sprintf(buf, "Downloading\n"); + else if (firm_status_data == 2) + count = sprintf(buf, "PASS\n"); + else if (firm_status_data == 3) + count = sprintf(buf, "FAIL\n"); + else + count = sprintf(buf, "PASS\n"); + + return count; + +} + +static ssize_t key_threshold_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + return sprintf(buf, "%u\n", threshold); +} + +static ssize_t key_threshold_store(struct device *dev, struct device_attribute *attr, + const char *buf, size_t size) +{ + /*TO DO IT*/ + unsigned int object_register = 7; + u8 value; + u8 val; + int ret; + u16 address = 0; + u16 size_one; + if (sscanf(buf, "%d", &threshold) == 1) { + printk(KERN_ERR "[TSP] threshold value %d\n", threshold); + ret = get_object_info(copy_data, TOUCH_MULTITOUCHSCREEN_T9, &size_one, &address); + size_one = 1; + value = (u8)threshold; + write_mem(copy_data, address+(u16)object_register, size_one, &value); + read_mem(copy_data, address+(u16)object_register, (u8)size_one, &val); + + printk(KERN_ERR "[TSP] T%d Byte%d is %d\n", TOUCH_MULTITOUCHSCREEN_T9, object_register, val); + } + + return size; +} + +static ssize_t set_mxt_firm_version_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + u8 fw_latest_version; + fw_latest_version = tsp_version_disp; + pr_info("Atmel Last firmware version is %d\n", fw_latest_version); + return sprintf(buf, "%#02x\n", fw_latest_version); +} + +static ssize_t set_mxt_firm_version_read_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + return sprintf(buf, "%#02x\n", tsp_version_disp); + +} + +ssize_t set_tsp_for_inputmethod_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + printk(KERN_ERR "[TSP] %s is called.. is_inputmethod=%d\n", __func__, is_inputmethod); + if (is_inputmethod) + *buf = '1'; + else + *buf = '0'; + + return 0; +} +ssize_t set_tsp_for_inputmethod_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) +{ + u16 obj_address = 0; + u16 size_one; + int ret; + u8 value; + int jump_limit = 0; + int mrgthr = 0; + u8 val = 0; + unsigned int register_address = 0; + + if (!mxt224_enabled) { + printk(KERN_ERR "[TSP ]set_tsp_for_inputmethod_store. mxt224_enabled is 0\n"); + return 1; + } + + if (*buf == '1' && (!is_inputmethod)) { + is_inputmethod = 1; + jump_limit = 10; + mrgthr = 5; + printk(KERN_ERR "[TSP] Set TSP inputmethod IN\n"); + + + ret = get_object_info(copy_data, TOUCH_MULTITOUCHSCREEN_T9, &size_one, &obj_address); + register_address = 16; + value = (u8)mrgthr; + size_one = 1; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + read_mem(copy_data, obj_address+(u16)register_address, (u8)size_one, &val); + printk(KERN_ERR "T%d Byte%d is %d\n", 9, register_address, val); + + register_address = 30; + value = (u8)jump_limit; + size_one = 1; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + read_mem(copy_data, obj_address+(u16)register_address, (u8)size_one, &val); + printk(KERN_ERR "T%d Byte%d is %d\n", 9, register_address, val); + } else if (*buf == '0' && (is_inputmethod)) { + is_inputmethod = 0; + jump_limit = 18; + mrgthr = 40; + printk(KERN_ERR "[TSP] Set TSP inputmethod OUT\n"); + + ret = get_object_info(copy_data, TOUCH_MULTITOUCHSCREEN_T9, &size_one, &obj_address); + register_address = 16; + value = (u8)mrgthr; + size_one = 1; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + read_mem(copy_data, obj_address+(u16)register_address, (u8)size_one, &val); + printk(KERN_ERR "T%d Byte%d is %d\n", 9, register_address, val); + + register_address = 30; + value = (u8)jump_limit; + size_one = 1; + write_mem(copy_data, obj_address+(u16)register_address, size_one, &value); + read_mem(copy_data, obj_address+(u16)register_address, (u8)size_one, &val); + printk(KERN_ERR "T%d Byte%d is %d\n", 9, register_address, val); + } + + return 1; +} + +static ssize_t mxt224_call_release_touch(struct device *dev, struct device_attribute *attr, char *buf) +{ + printk(" %s is called\n", __func__); + TSP_forced_release_for_call(); + return sprintf(buf,"0\n"); +} +static ssize_t mxt_touchtype_show(struct device *dev, struct device_attribute *attr, char *buf) +{ + char temp[15]; + if(mxt_version_disp == 0x80) { + sprintf(temp, "TSP : MXT224\n"); + strcat(buf, temp); + } else if(mxt_version_disp == 0x81) { + sprintf(temp, "TSP : MXT224E\n"); + strcat(buf, temp); + } else { + sprintf(temp, "error\n"); + strcat(buf, temp); + dev_info(dev, "read mxt TSP type read failed. \n"); + } + return strlen(buf); +} + +static DEVICE_ATTR(set_module_off, S_IRUGO | S_IWUSR | S_IWGRP, set_tsp_module_off_show, NULL); +static DEVICE_ATTR(set_module_on, S_IRUGO | S_IWUSR | S_IWGRP, set_tsp_module_on_show, NULL); +#ifdef W999_FLIP +static DEVICE_ATTR(set_master_module_off, S_IRUGO | S_IWUSR | S_IWGRP, set_tsp_master_module_off_show, NULL); +static DEVICE_ATTR(set_master_module_on, S_IRUGO | S_IWUSR | S_IWGRP, set_tsp_master_module_on_show, NULL); +static DEVICE_ATTR(set_slave_module_off, S_IRUGO | S_IWUSR | S_IWGRP, set_tsp_slave_module_off_show, NULL); +static DEVICE_ATTR(set_slave_module_on, S_IRUGO | S_IWUSR | S_IWGRP, set_tsp_slave_module_on_show, NULL); +#endif +static DEVICE_ATTR(set_refer0, S_IRUGO | S_IWUSR | S_IWGRP, set_refer0_mode_show, NULL); +static DEVICE_ATTR(set_delta0, S_IRUGO | S_IWUSR | S_IWGRP, set_delta0_mode_show, NULL); +static DEVICE_ATTR(set_refer1, S_IRUGO | S_IWUSR | S_IWGRP, set_refer1_mode_show, NULL); +static DEVICE_ATTR(set_delta1, S_IRUGO | S_IWUSR | S_IWGRP, set_delta1_mode_show, NULL); +static DEVICE_ATTR(set_refer2, S_IRUGO | S_IWUSR | S_IWGRP, set_refer2_mode_show, NULL); +static DEVICE_ATTR(set_delta2, S_IRUGO | S_IWUSR | S_IWGRP, set_delta2_mode_show, NULL); +static DEVICE_ATTR(set_refer3, S_IRUGO | S_IWUSR | S_IWGRP, set_refer3_mode_show, NULL); +static DEVICE_ATTR(set_delta3, S_IRUGO | S_IWUSR | S_IWGRP, set_delta3_mode_show, NULL); +static DEVICE_ATTR(set_refer4, S_IRUGO | S_IWUSR | S_IWGRP, set_refer4_mode_show, NULL); +static DEVICE_ATTR(set_delta4, S_IRUGO | S_IWUSR | S_IWGRP, set_delta4_mode_show, NULL); + +static DEVICE_ATTR(set_all_refer, S_IRUGO | S_IWUSR | S_IWGRP, set_all_refer_mode_show, NULL); +//static DEVICE_ATTR(disp_all_refdata, S_IRUGO | S_IWUSR | S_IWGRP, disp_all_refdata_show, disp_all_refdata_store); +static DEVICE_ATTR(disp_all_refdata, S_IRUGO | S_IWUSR | S_IWGRP, disp_all_refdata_show, disp_all_refdata_store); + +static DEVICE_ATTR(set_all_delta, S_IRUGO | S_IWUSR | S_IWGRP, set_all_delta_mode_show, NULL); +//static DEVICE_ATTR(disp_all_deltadata, S_IRUGO | S_IWUSR | S_IWGRP, disp_all_deltadata_show, disp_all_deltadata_store); +static DEVICE_ATTR(disp_all_deltadata, S_IRUGO | S_IWUSR | S_IWGRP, disp_all_deltadata_show, disp_all_deltadata_store); + +static DEVICE_ATTR(disp_family_id, S_IRUGO | S_IWUSR | S_IWGRP, disp_family_id_number_show, NULL); +static DEVICE_ATTR(disp_x_node, S_IRUGO | S_IWUSR | S_IWGRP, disp_node_x_number_show, NULL); +static DEVICE_ATTR(disp_y_node, S_IRUGO | S_IWUSR | S_IWGRP, disp_node_y_number_show, NULL); + +static DEVICE_ATTR(set_threshould, S_IRUGO | S_IWUSR | S_IWGRP, set_threshold_mode_show, NULL); +static DEVICE_ATTR(set_firm_version, S_IRUGO | S_IWUSR | S_IWGRP, set_firm_version_show, NULL); + +/* + 20110222 N1 firmware sync +*/ +static DEVICE_ATTR(tsp_firm_update, S_IRUGO | S_IWUSR | S_IWGRP, set_mxt_update_show, NULL); /* firmware update */ +static DEVICE_ATTR(tsp_firm_update_status, S_IRUGO | S_IWUSR | S_IWGRP, set_mxt_firm_status_show, NULL); /* firmware update status return */ +static DEVICE_ATTR(tsp_threshold, S_IRUGO | S_IWUSR | S_IWGRP, key_threshold_show, key_threshold_store); /* touch threshold return, store */ +static DEVICE_ATTR(tsp_firm_version_phone, S_IRUGO | S_IWUSR | S_IWGRP, set_mxt_firm_version_show, NULL);/* PHONE*/ /* firmware version resturn in phone driver version */ +static DEVICE_ATTR(tsp_firm_version_panel, S_IRUGO | S_IWUSR | S_IWGRP, set_mxt_firm_version_read_show, NULL);/*PART*/ /* firmware version resturn in TSP panel version */ +static DEVICE_ATTR(set_tsp_for_inputmethod, S_IRUGO | S_IWUSR | S_IWGRP, set_tsp_for_inputmethod_show, set_tsp_for_inputmethod_store); /* For 3x4 Input Method, Jump limit changed API */ +static DEVICE_ATTR(call_release_touch, S_IRUGO | S_IWUSR | S_IWGRP, mxt224_call_release_touch, NULL); +static DEVICE_ATTR(mxt_touchtype, S_IRUGO | S_IWUSR | S_IWGRP, mxt_touchtype_show, NULL); + +static DEVICE_ATTR(object_show, S_IRUGO | S_IWUSR | S_IWGRP, NULL, qt602240_object_show); +static DEVICE_ATTR(object_write, S_IRUGO | S_IWUSR | S_IWGRP, NULL, qt602240_object_setting); +static DEVICE_ATTR(dbg_switch, S_IRUGO | S_IWUSR | S_IWGRP, NULL, mxt224_debug_setting); + + +static struct attribute *qt602240_attrs[] = { + &dev_attr_object_show.attr, + &dev_attr_object_write.attr, + &dev_attr_dbg_switch.attr, + NULL +}; + +static const struct attribute_group qt602240_attr_group = { + .attrs = qt602240_attrs, +}; + +//extern unsigned int get_hw_rev(); + +/* +void mxt224_orient_hw_barnch(struct mxt224_data *data) +{ + #if 1 + data->orient_barnch(3); + + #elif defined (CONFIG_KOR_MODEL_SHV_E110S) + if (get_hw_rev() ==0x01 ){ + data->orient_barnch(MXT224_ORIENT_SWAP_XY); + }else{ + data->orient_barnch(MXT224_ORIENT_SWAP_NN); + } + #elif defined (CONFIG_JPN_MODEL_SC_02D) + if (get_hw_rev() ==0x01 ) + { + data->orient_barnch(MXT224_ORIENT_SWAP_NN); + } + else + { + data->orient_barnch(MXT224_ORIENT_SWAP_NN); + } + #elif defined (CONFIG_USA_MODEL_SGH_I727) ||defined (CONFIG_USA_MODEL_SGH_T989) + data->orient_barnch(MXT224_ORIENT_SWAP_NN); + #elif defined (CONFIG_KOR_MODEL_SHV_E120L) + #if defined(CONFIG_KOR_SHV_E120L_WXGA) + data->orient_barnch(MXT224_ORIENT_SWAP_NN); + #else + data->orient_barnch(MXT224_ORIENT_SWAP_XY); + #endif + #endif +} +*/ //TSP TA noise + +static int __devinit mxt224_probe(struct i2c_client *client, const struct i2c_device_id *id) +{ + struct mxt224_platform_data *pdata = client->dev.platform_data; + struct mxt224_data *data; + struct input_dev *input_dev; + int ret = 0; + int i = 0, j=0; + bool ta_status; + const u8 **tsp_config; + u16 size_one; + u8 user_info_value; + u16 obj_address = 0; + +#if 1 // TSP initialization fail + int retry = 0; // when chip initialization fail, retry +#endif + + +//mxt224_tsp_ldo(1); // jjlee hw gpio +#if 1 //def W999_FLIP + probe_check = 1; +#endif + touch_is_pressed = 0; + printk("[TSP] mxt224_probe \n"); + + //cal_check_work_queue + INIT_WORK(&cal_check_work, cal_check_work_func); + + if (!pdata) { + dev_err(&client->dev, "missing platform data\n"); + return -ENODEV; + } + + if (pdata->max_finger_touches <= 0) + return -EINVAL; + + data = kzalloc(sizeof(*data) + pdata->max_finger_touches * + sizeof(*data->fingers), GFP_KERNEL); + if (!data) + return -ENOMEM; + + data->num_fingers = pdata->max_finger_touches; + data->power_on = pdata->power_on; + data->power_off = pdata->power_off; +// data->register_cb = pdata->register_cb; + data->read_ta_status = pdata->read_ta_status; + + data->client = client; + i2c_set_clientdata(client, data); + + input_dev = input_allocate_device(); + if (!input_dev) { + ret = -ENOMEM; + dev_err(&client->dev, "input device allocation failed\n"); + goto err_alloc_dev; + } + data->input_dev = input_dev; + input_set_drvdata(input_dev, data); + input_dev->name = "sec_touchscreen"; + + set_bit(EV_SYN, input_dev->evbit); + set_bit(EV_ABS, input_dev->evbit); + set_bit(EV_KEY, input_dev->evbit); +// set_bit(BTN_TOUCH, input_dev->keybit); + set_bit(MT_TOOL_FINGER, input_dev->keybit); + set_bit(INPUT_PROP_DIRECT, input_dev->propbit); + + input_mt_init_slots(input_dev, data->num_fingers); + + input_set_abs_params(input_dev, ABS_MT_POSITION_X, pdata->min_x, + pdata->max_x, 0, 0); + input_set_abs_params(input_dev, ABS_MT_POSITION_Y, pdata->min_y, + pdata->max_y, 0, 0); + input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, pdata->min_z, + pdata->max_z, 0, 0); + input_set_abs_params(input_dev, ABS_MT_PRESSURE, pdata->min_w, + pdata->max_w, 0, 0); + +#ifdef _SUPPORT_SHAPE_TOUCH_ + input_set_abs_params(input_dev, ABS_MT_COMPONENT, 0, 255, 0, 0); +#endif + ret = input_register_device(input_dev); + if (ret) { + input_free_device(input_dev); + goto err_reg_dev; + } + + data->gpio_read_done = pdata->gpio_read_done; + data->power_on(); + + mdelay(100); // power on reset delay, 100ms +samsung_switching_lcd_suspend(0, 0); +#ifdef W999_FLIP + for (j=0 ; j<2; j++) + { + // main, sub retry number setting + printk(KERN_ERR "[TSP] init %d\n",j); + if(j==1) + Flip_status_tsp=FLIP_CLOSE; + else + Flip_status_tsp=FLIP_OPEN; + +retry_init: +#endif // def W999_FLIP + retry = 6; + // TSP initialization fail + while(retry--){ + ret = mxt224_init_touch_driver(data); + printk("[TSP] Check retry number : %d, ret : %d\n", retry, ret); + //ret = -6; // make error for test + + if(ret==0) + break; + + if(retry == 3 || retry == 0) + { + printk("[TSP] Power reset, retry : %d \n",retry); + // mxt224_tsp_ldo(0); + data->power_off(); + mdelay(100); + + data->power_on(); + mdelay(100); // power on reset delay, 100ms +// mxt224_tsp_ldo(1); + } + mdelay(10); + } + + data->noise_suppression_cfg_t46_ta = pdata->t46_ta_cfg + 1; + data->noise_suppression_cfg_ta = pdata->t48_ta_cfg + 1; + + copy_data = data; +#ifdef W999_FLIP + if (ret) { + if(Flip_status_tsp==FLIP_OPEN){ + Flip_status_tsp=FLIP_CLOSE; + init_fail = 0; // if chip initialization fail, then init_fail = 0 + goto retry_init; + } + + dev_err(&client->dev, "chip initialization failed, ret=%d\n", ret); + if(init_fail == 0){ // both sub and main fail, go to err_init_drv + goto err_init_drv; + } + else + { + break; + } + } +#else + if (ret) { + dev_err(&client->dev, "chip initialization failed, ret=%d\n", ret); + goto err_init_drv; + } +#endif // define W999_FLIP + + +#ifdef W999_FLIP + init_fail = 1; // if chip initialization fail, then init_fail = 0 +#endif + + if (data->family_id == 0x80) { /* : MXT-224 */ + tsp_config = pdata->config; + printk(KERN_ERR "[TSP] TSP chip is MXT224\n"); + } else if (data->family_id == 0x81) { /* tsp_family_id - 0x81 : MXT-224E */ + tsp_config = pdata->config_e; + printk(KERN_ERR "[TSP] TSP chip is MXT224-E\n"); + + // AT&T noise + atchcalst = 4; + atchcalsthr = 35; + + get_object_info(data, SPT_USERDATA_T38, &size_one, &obj_address); + size_one = 1; + read_mem(data, obj_address, (u8)size_one, &user_info_value); + printk(KERN_ERR"[TSP]user_info_value is %d\n",user_info_value); + } else { + printk(KERN_ERR "[TSP] ERROR : There is no valid TSP ID\n"); + goto err_config; + } + + if ((data->family_id == 0x81) && (user_info_value == 165)) { /*mxt224's user info =165 -> don't write config*/ + for (i = 0; tsp_config[i][0] != RESERVED_T255; i++) { + if (tsp_config[i][0] == GEN_POWERCONFIG_T7) + data->power_cfg = tsp_config[i] + 1; + + if (tsp_config[i][0] == TOUCH_MULTITOUCHSCREEN_T9) { + /* Are x and y inverted? */ + if (tsp_config[i][10] & 0x1) { + data->x_dropbits = + (!(tsp_config[i][22] & 0xC)) << 1; + data->y_dropbits = + (!(tsp_config[i][20] & 0xC)) << 1; + } else { + data->x_dropbits = + (!(tsp_config[i][20] & 0xC)) << 1; + data->y_dropbits = + (!(tsp_config[i][22] & 0xC)) << 1; + } + } + if (tsp_config[i][0] == SPT_CTECONFIG_T46) + data->noise_suppression_cfg_t46 = tsp_config[i] + 1; + if (tsp_config[i][0] == PROCG_NOISESUPPRESSION_T48) + data->noise_suppression_cfg = tsp_config[i] + 1; + } + } else { + for (i = 0; tsp_config[i][0] != RESERVED_T255; i++) { + ret = write_config(data, tsp_config[i][0], + tsp_config[i] + 1); + if (ret) + goto err_config; + + if (tsp_config[i][0] == GEN_POWERCONFIG_T7) + data->power_cfg = tsp_config[i] + 1; + + if (tsp_config[i][0] == TOUCH_MULTITOUCHSCREEN_T9) { + /* Are x and y inverted? */ + if (tsp_config[i][10] & 0x1) { + data->x_dropbits = (!(tsp_config[i][22] & 0xC)) << 1; + data->y_dropbits = (!(tsp_config[i][20] & 0xC)) << 1; + } else { + data->x_dropbits = (!(tsp_config[i][20] & 0xC)) << 1; + data->y_dropbits = (!(tsp_config[i][22] & 0xC)) << 1; + } + } + if (tsp_config[i][0] == SPT_CTECONFIG_T46) + data->noise_suppression_cfg_t46 = tsp_config[i] + 1; + if (tsp_config[i][0] == PROCG_NOISESUPPRESSION_T48) + data->noise_suppression_cfg = tsp_config[i] + 1; + } + } + + ret = mxt224_backup(data); + if (ret) + goto err_backup; + + /* reset the touch IC. */ + ret = mxt224_reset(data); + if (ret) + goto err_reset; + + msleep(100); + +#ifdef W999_FLIP + } + +// resume_cal_check_flag=0x11; + { + int val = 0; + //int gpio =0; + //gpio = PM8058_GPIO_PM_TO_SYS( 36); + //val = gpio_get_value(PM8058_GPIO_PM_TO_SYS(36)); + val = gpio_get_value(HALL_SW); + // 1. probe½Ã in->out init + // 2. 3¿¡¼ in µÈ´Ù¸é => ¿©±â¼´Â outÀ¸·Î µî·ÏÇؾ߸¸ÇÔ + // 3. flip init -> switch now(ex.in) + if(val) // open + Flip_status_tsp=FLIP_CLOSE; + else // close + Flip_status_tsp=FLIP_OPEN; + printk(KERN_ERR "[TSP] init-start, switch %d %d\n",val, Flip_status_tsp); + + + +// mxt224_switch_suspend(data); + + { + static const u8 sleep_power_cfg[3]={0,0,0}; + int ret; + int i=0; + u8 msg[5]; + + while (!gpio_get_value(data->gpio_read_done)) + { + + printk(KERN_ERR "[TSP] %s, i=%d,r=%d \n", __func__,i, data->gpio_read_done); + read_mem(data, data->msg_proc, sizeof(msg), msg); + msleep(10); + if(i++>10) break; + } + i=0; + do { + ret = write_config(data, GEN_POWERCONFIG_T7, sleep_power_cfg); + msleep(20); + printk(KERN_ERR "[TSP] %s, i=%d,r=%d \n", __func__,i, ret); + i++; + } while (ret && i < 10); + + + } + + if(val){ // open + Flip_status_tsp=FLIP_OPEN; + resume_cal_check_flag=0x10; + }else{ // close + Flip_status_tsp=FLIP_CLOSE; + resume_cal_check_flag=0x01; + } + printk(KERN_ERR "[TSP] init-end, switch %d %d\n",val, Flip_status_tsp); + +} + +#endif + + mxt224_enabled = 1; + if (data->read_ta_status) { + data->read_ta_status(&ta_status); + printk(KERN_ERR "[TSP] ta_status is %d\n", ta_status); + mxt224_ta_probe(ta_status); + } + + calibrate_chip(); + + for (i = 0; i < data->num_fingers; i++) + data->fingers[i].z = -1; + +#ifdef CLEAR_MEDIAN_FILTER_ERROR + noise_median.median_on_flag = false; + noise_median.mferr_setting = false; + noise_median.mferr_count = 0; + noise_median.t46_actvsyncsperx_for_mferr = 38; + noise_median.t48_mfinvlddiffthr_for_mferr = 12; + noise_median.t48_mferrorthr_for_mferr = 19; + noise_median.t48_thr_for_mferr = 40; + noise_median.t48_movfilter_for_mferr = 0; +#endif + + ret = request_threaded_irq(client->irq, NULL, mxt224_irq_thread, + IRQF_TRIGGER_LOW | IRQF_ONESHOT, "mxt224_ts", data); + + if (ret < 0) + goto err_irq; + + ret = sysfs_create_group(&client->dev.kobj, &qt602240_attr_group); + if (ret) + printk(KERN_ERR "[TSP] sysfs_create_group()is falled\n"); +/* + 20110222 N1_firmware_sync +*/ + sec_touchscreen = device_create(sec_class, NULL, 0, NULL, "sec_touchscreen"); + + if (IS_ERR(sec_touchscreen)) + printk(KERN_ERR "[TSP] Failed to create device(sec_touchscreen)!\n"); + + if (device_create_file(sec_touchscreen, &dev_attr_tsp_firm_update) < 0) + printk(KERN_ERR "[TSP] Failed to create device file(%s)!\n", dev_attr_tsp_firm_update.attr.name); + + if (device_create_file(sec_touchscreen, &dev_attr_tsp_firm_update_status) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_tsp_firm_update_status.attr.name); + + if (device_create_file(sec_touchscreen, &dev_attr_tsp_threshold) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_tsp_threshold.attr.name); + + if (device_create_file(sec_touchscreen, &dev_attr_tsp_firm_version_phone) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_tsp_firm_version_phone.attr.name); + + if (device_create_file(sec_touchscreen, &dev_attr_tsp_firm_version_panel) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_tsp_firm_version_panel.attr.name); + + if (device_create_file(sec_touchscreen, &dev_attr_set_tsp_for_inputmethod) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_tsp_for_inputmethod.attr.name); + if (device_create_file(sec_touchscreen, &dev_attr_call_release_touch) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_call_release_touch.attr.name); +if (device_create_file(sec_touchscreen, &dev_attr_mxt_touchtype) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_mxt_touchtype.attr.name); + +/* + end N1_firmware_sync +*/ + qt602240_noise_test = device_create(sec_class, NULL, 0, NULL, "qt602240_noise_test"); + + if (IS_ERR(qt602240_noise_test)) + printk(KERN_ERR "Failed to create device(qt602240_noise_test)!\n"); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_module_off) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_module_off.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_module_on) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_module_on.attr.name); +#ifdef W999_FLIP + if (device_create_file(qt602240_noise_test, &dev_attr_set_master_module_off) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_module_off.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_master_module_on) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_module_on.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_slave_module_off) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_module_off.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_slave_module_on) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_module_on.attr.name); +#endif + if (device_create_file(qt602240_noise_test, &dev_attr_set_refer0) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_refer0.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_delta0) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_delta0.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_refer1) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_refer1.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_delta1) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_delta1.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_refer2) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_refer2.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_delta2) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_delta2.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_refer3) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_refer3.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_delta3) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_delta3.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_refer4) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_refer4.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_delta4) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_delta4.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_all_refer) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_all_refer.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_disp_all_refdata)< 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_disp_all_refdata.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_all_delta) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_all_delta.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_disp_all_deltadata)< 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_disp_all_deltadata.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_disp_family_id) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_disp_x_node.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_disp_x_node) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_disp_x_node.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_disp_y_node) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_disp_y_node.attr.name); + + + if (device_create_file(qt602240_noise_test, &dev_attr_set_threshould) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_threshould.attr.name); + + if (device_create_file(qt602240_noise_test, &dev_attr_set_firm_version) < 0) + printk(KERN_ERR "Failed to create device file(%s)!\n", dev_attr_set_firm_version.attr.name); + +#ifdef CONFIG_HAS_EARLYSUSPEND + data->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; + data->early_suspend.suspend = mxt224_early_suspend; + data->early_suspend.resume = mxt224_late_resume; + register_early_suspend(&data->early_suspend); +#endif + + +#if 1 //def W999_FLIP + samsung_switching_lcd_resume(0, 0); + probe_check = 0; + printk(KERN_ERR "[TSP] mxt224_probe : probe_check %d \n",probe_check); +#endif + + printk(KERN_ERR "[TSP] mxt224_probe end\n"); + + return 0; + +err_irq: +err_reset: +err_backup: +err_config: + kfree(data->objects); +err_init_drv: + gpio_free(data->gpio_read_done); + /* err_gpio_req: */ + /* data->power_off(); */ + /* input_unregister_device(input_dev); */ +err_reg_dev: +err_alloc_dev: + kfree(data); + return ret; + + +} + +static int __devexit mxt224_remove(struct i2c_client *client) +{ + struct mxt224_data *data = i2c_get_clientdata(client); + +#ifdef CONFIG_HAS_EARLYSUSPEND + unregister_early_suspend(&data->early_suspend); +#endif + free_irq(client->irq, data); + kfree(data->objects); + gpio_free(data->gpio_read_done); + data->power_off(); + input_unregister_device(data->input_dev); + kfree(data); + + return 0; +} + +static struct i2c_device_id mxt224_idtable[] = { + {MXT224_DEV_NAME, 0}, + {}, +}; + +MODULE_DEVICE_TABLE(i2c, mxt224_idtable); + +static const struct dev_pm_ops mxt224_pm_ops = { + .suspend = mxt224_suspend, + .resume = mxt224_resume, +}; + +static struct i2c_driver mxt224_i2c_driver = { + .id_table = mxt224_idtable, + .probe = mxt224_probe, + .remove = __devexit_p(mxt224_remove), + .driver = { + .owner = THIS_MODULE, + .name = MXT224_DEV_NAME, + .pm = &mxt224_pm_ops, + }, +}; + +static int __init mxt224_init(void) +{ + //cal_check_work_queue + cal_check_wq = create_singlethread_workqueue("mxt244_cal_check_wq"); + if (!cal_check_wq) + return -ENOMEM; + + return i2c_add_driver(&mxt224_i2c_driver); +} + +static void __exit mxt224_exit(void) +{ + i2c_del_driver(&mxt224_i2c_driver); + + //cal_check_work_queue + if (cal_check_wq) + destroy_workqueue(cal_check_wq); +} +module_init(mxt224_init); +module_exit(mxt224_exit); + +MODULE_DESCRIPTION("Atmel MaXTouch 224 driver"); +MODULE_LICENSE("GPL"); diff --git a/drivers/input/touchscreen/mxt224_u1.c b/drivers/input/touchscreen/mxt224_u1.c index a2b0a1d..f4368e8 100644 --- a/drivers/input/touchscreen/mxt224_u1.c +++ b/drivers/input/touchscreen/mxt224_u1.c @@ -456,12 +456,15 @@ static void mxt224_ta_probe(bool ta_status) copy_data->noise_median.mferr_setting = false; #endif } else { - if (copy_data->boot_or_resume == 1) + if (copy_data->boot_or_resume == 1) { copy_data->threshold = copy_data->tchthr_batt_init; - else + calcfg_dis = copy_data->calcfg_batt_e; + } else { copy_data->threshold = copy_data->tchthr_batt; + calcfg_dis = copy_data->calcfg_batt_e ^ 0x20; + } copy_data->threshold_e = copy_data->tchthr_batt_e; - calcfg_dis = copy_data->calcfg_batt_e; + calcfg_en = copy_data->calcfg_batt_e | 0x20; noise_threshold = copy_data->noisethr_batt; charge_time = copy_data->chrgtime_batt_e; @@ -530,11 +533,13 @@ static void mxt224_ta_probe(bool ta_status) size_one = 1; write_mem(copy_data, obj_address + (u16) register_address, size_one, &value); +#if !defined(PRODUCT_SHIP) read_mem(copy_data, obj_address + (u16) register_address, (u8) size_one, &val); printk(KERN_ERR "[TSP]TA_probe MXT224E T%d Byte%d is %d\n", 48, register_address, val); #endif +#endif if (ta_status) write_config(copy_data, PROCG_NOISESUPPRESSION_T48, copy_data->noise_suppression_cfg_ta); @@ -546,55 +551,53 @@ static void mxt224_ta_probe(bool ta_status) value = copy_data->blen_charging_e; write_mem(copy_data, obj_address + 34, size_one, &value); +#if !defined(PRODUCT_SHIP) read_mem(copy_data, obj_address + 34, (u8) size_one, &val); printk(KERN_DEBUG "[TSP]TA_probe MXT224E T%d Byte%d is %d\n", 48, 34, val); +#endif value = 40; write_mem(copy_data, obj_address + 35, size_one, &value); +#if !defined(PRODUCT_SHIP) read_mem(copy_data, obj_address + 35, (u8) size_one, &val); printk(KERN_DEBUG "[TSP]TA_probe MXT224E T%d Byte%d is %d\n", 48, 35, val); +#endif value = 240; write_mem(copy_data, obj_address + 43, size_one, &value); - read_mem(copy_data, obj_address + 43, (u8) size_one, - &val); value = 245; write_mem(copy_data, obj_address + 44, size_one, &value); - read_mem(copy_data, obj_address + 44, (u8) size_one, - &val); value = 148; write_mem(copy_data, obj_address + 47, size_one, &value); - read_mem(copy_data, obj_address + 47, (u8) size_one, - &val); value = 50; write_mem(copy_data, obj_address + 48, size_one, &value); - read_mem(copy_data, obj_address + 48, (u8) size_one, - &val); } #endif #ifndef CONFIG_TARGET_LOCALE_NAATT_TEMP value = calcfg_en; write_mem(copy_data, obj_address + (u16) register_address, size_one, &value); +#if !defined(PRODUCT_SHIP) read_mem(copy_data, obj_address + (u16) register_address, (u8) size_one, &val); printk(KERN_ERR "[TSP]TA_probe MXT224E T%d Byte%d is %d\n", 48, register_address, val); #endif +#endif } else { if (copy_data->freq_table.fherr_setting >= 1) { ret = get_object_info(copy_data, GEN_POWERCONFIG_T7, @@ -637,10 +640,12 @@ static void mxt224_ta_probe(bool ta_status) value = (u8) copy_data->threshold; write_mem(copy_data, obj_address + (u16) register_address, size_one, &value); +#if !defined(PRODUCT_SHIP) read_mem(copy_data, obj_address + (u16) register_address, (u8) size_one, &val); printk(KERN_ERR "[TSP]TA_probe MXT224 T%d Byte%d is %d\n", 9, register_address, val); +#endif value = noise_threshold; register_address = 8; @@ -685,7 +690,7 @@ void check_chip_calibration(unsigned char one_touch_input_flag) get_object_info(copy_data, DEBUG_DIAGNOSTIC_T37, &size, &object_address); - mdelay(10); + usleep_range(10000, 10000); /* read touch flags from the diagnostic object - clear buffer so the while loop can run first time */ @@ -703,7 +708,7 @@ void check_chip_calibration(unsigned char one_touch_input_flag) break; } - mdelay(2); /* 0318 hugh 3-> 2 */ + usleep_range(2000, 2000); /* 0318 hugh 3-> 2 */ try_ctr++; /* timeout counter */ /* read_mem(diag_address, 2,data_buffer); */ @@ -1237,6 +1242,7 @@ static void report_input_data(struct mxt224_data *data) #else printk(KERN_ERR "[TSP] Up[%d]\n", i); #endif + continue; } @@ -1537,6 +1543,7 @@ static void median_err_setting(void) write_mem(copy_data, obj_address+39, 1, &value); #else +#if 0 ret = get_object_info(copy_data, TOUCH_MULTITOUCHSCREEN_T9, @@ -1550,18 +1557,19 @@ static void median_err_setting(void) value = 80; write_mem(copy_data, obj_address + 13, 1, &value); +#endif ret |= get_object_info(copy_data, SPT_CTECONFIG_T46, &size_one, &obj_address); - value = 32; + value = 48; /* 32;*/ write_mem(copy_data, obj_address + 3, 1, &value); ret |= get_object_info(copy_data, PROCG_NOISESUPPRESSION_T48, &size_one, &obj_address); - value = 29; + value = 20; /*29;*/ write_mem(copy_data, obj_address + 3, 1, &value); value = 1; @@ -1570,25 +1578,27 @@ static void median_err_setting(void) value = 2; write_mem(copy_data, obj_address + 9, 1, &value); - value = 100; + value = 64; /*100;*/ write_mem(copy_data, obj_address + 17, 1, &value); value = 64; write_mem(copy_data, obj_address + 19, 1, &value); - value = 20; + value = 100; /*20;*/ write_mem(copy_data, obj_address + 22, 1, &value); - value = 38; + value = 100; /*38;*/ write_mem(copy_data, obj_address + 25, 1, &value); +#if 0 value = 16; write_mem(copy_data, obj_address + 34, 1, &value); +#endif value = 40; write_mem(copy_data, obj_address + 35, 1, &value); - value = 80; + value = 81; /*80;*/ write_mem(copy_data, obj_address + 39, 1, &value); #endif @@ -1665,7 +1675,7 @@ static void median_err_setting(void) get_object_info(copy_data, SPT_CTECONFIG_T46, &size_one, &obj_address); - value = 63; /* actvsyncsperx */ + value = 53; /* actvsyncsperx */ write_mem(copy_data, obj_address + 3, 1, &value); } @@ -2905,7 +2915,7 @@ static ssize_t set_mxt_update_show(struct device *dev, printk(KERN_ERR "[TSP] The firmware update succeeded\n"); /* Wait for reset */ - mdelay(QT602240_FWRESET_TIME); + msleep(QT602240_FWRESET_TIME); /* initialize the TSP */ mxt224_init_touch_driver(data); /*jerry no need of it */ @@ -3362,7 +3372,9 @@ static int __devinit mxt224_probe(struct i2c_client *client, data->gpio_read_done = pdata->gpio_read_done; data->power_on(); - +#if defined(CONFIG_MACH_M0_GRANDECTC) + msleep(100); +#endif ret = mxt224_init_touch_driver(data); if (ret) { dev_err(&client->dev, "chip initialization failed\n"); diff --git a/drivers/input/touchscreen/mxt224s_V1.1.AA_.h b/drivers/input/touchscreen/mxt224s_V1.1.AA_.h new file mode 100644 index 0000000..59a8871 --- /dev/null +++ b/drivers/input/touchscreen/mxt224s_V1.1.AA_.h @@ -0,0 +1,6931 @@ + 0x00, 0xE2, 0xC4, 0xB8, 0x6C, 0xC2, 0x2E, 0x28, + 0x53, 0xA0, 0xD9, 0x2B, 0xCA, 0x83, 0x08, 0x74, + 0xE6, 0x45, 0x85, 0x57, 0x3F, 0x59, 0x58, 0xBA, + 0x48, 0x36, 0x8F, 0xB7, 0x4F, 0x13, 0xE5, 0x9F, + 0x90, 0x4F, 0x39, 0x42, 0xF9, 0x0C, 0x6B, 0x1C, + 0xF5, 0xF1, 0xC9, 0xE3, 0x97, 0x67, 0x69, 0x51, + 0xC5, 0x0F, 0x29, 0x3F, 0x12, 0x5C, 0xE9, 0xC8, + 0x62, 0xB3, 0xCD, 0xC0, 0x9E, 0xA5, 0xEF, 0x49, + 0xC0, 0x24, 0x7D, 0x16, 0xD2, 0xFB, 0x42, 0xCE, + 0x0A, 0x26, 0xBC, 0xE0, 0xAB, 0x3E, 0xC1, 0x22, + 0x30, 0x19, 0xEB, 0x0D, 0x62, 0x79, 0x2D, 0x88, + 0x65, 0xE4, 0x6D, 0x6A, 0xC2, 0x4D, 0xAC, 0xB9, + 0x56, 0x63, 0x51, 0x14, 0xF0, 0x31, 0x84, 0xC1, + 0xED, 0xB6, 0xAE, 0x32, 0x11, 0x01, 0x46, 0x47, + 0x78, 0xCB, 0x73, 0xF3, 0x66, 0x5B, 0x6E, 0xA7, + 0x82, 0x58, 0x32, 0xB9, 0xBB, 0xEF, 0x23, 0x91, + 0xB2, 0x29, 0x96, 0x9B, 0x93, 0x86, 0xB4, 0x0E, + 0xBB, 0xBD, 0x51, 0xC0, 0xB8, 0x0C, 0xE6, 0x02, + 0x78, 0x39, 0x62, 0x3C, 0x94, 0xD9, 0xB2, 0xC4, + 0xC4, 0x80, 0x94, 0x0F, 0x0B, 0xA8, 0xF9, 0xCC, + 0x18, 0x98, 0x7D, 0x4E, 0xF9, 0x3F, 0x48, 0x3F, + 0xED, 0xE6, 0xC3, 0x26, 0x35, 0xCF, 0xB3, 0x4B, + 0xAD, 0x79, 0xDF, 0x0C, 0x7E, 0x33, 0x68, 0x9D, + 0xCA, 0x71, 0x2D, 0x62, 0x34, 0xBB, 0x14, 0xE0, + 0xC4, 0xED, 0x4E, 0x9C, 0x44, 0x94, 0x8D, 0x25, + 0xCF, 0x3B, 0xE2, 0xE6, 0xD2, 0x59, 0xFF, 0xD5, + 0x65, 0xE6, 0x09, 0xD3, 0x9D, 0x61, 0xEE, 0x3C, + 0x32, 0x3E, 0x62, 0x4D, 0x0E, 0xEE, 0xE1, 0x62, + 0x98, 0xB2, 0xC7, 0x4B, 0x01, 0x12, 0x53, 0xD6, + 0xEE, 0x17, 0x10, 0x32, 0x71, 0xCE, 0xA2, 0x08, + 0xD2, 0x3A, 0xA6, 0x91, 0x1B, 0x7C, 0x9D, 0x51, + 0x13, 0xC7, 0xB7, 0x4B, 0x05, 0xAE, 0x0B, 0xB8, + 0xC0, 0x3D, 0x5C, 0x2E, 0x3B, 0xE8, 0x73, 0x72, + 0x99, 0x99, 0xCA, 0x1C, 0x3A, 0x0C, 0xDC, 0x21, + 0xB9, 0x5A, 0xCB, 0xA7, 0xE9, 0x52, 0x33, 0x09, + 0xDB, 0x64, 0x88, 0x90, 0x1D, 0xFD, 0x48, 0x79, + 0xBE, 0x48, 0x1B, 0x76, 0xA8, 0xDF, 0x87, 0x27, + 0xB4, 0x1D, 0xF3, 0x0F, 0x8A, 0xBA, 0xB2, 0x2D, + 0x99, 0xD1, 0x4C, 0xDE, 0xA8, 0xD4, 0xD2, 0x18, + 0xA7, 0xAF, 0x98, 0x0E, 0x6A, 0x6A, 0x97, 0x16, + 0x05, 0x5B, 0x88, 0xAE, 0x7A, 0x9F, 0x73, 0xA6, + 0xF0, 0xEA, 0xCE, 0xE9, 0x9B, 0xA0, 0x29, 0x7B, + 0xB9, 0x16, 0x30, 0x3D, 0xBE, 0x86, 0x54, 0xD1, + 0x24, 0x77, 0x9E, 0x87, 0x02, 0xFD, 0x2D, 0x31, + 0x1E, 0xED, 0x32, 0xAB, 0xDA, 0xA7, 0xA3, 0x4B, + 0xF2, 0xB0, 0xF1, 0xD2, 0x66, 0xCE, 0x3C, 0xB0, + 0xB1, 0xDB, 0xAB, 0x2F, 0xC0, 0x1D, 0xBB, 0x1A, + 0x10, 0xF7, 0xB4, 0x0C, 0xBD, 0x9D, 0x2C, 0xCE, + 0xAB, 0xE7, 0xAE, 0x80, 0x25, 0xB5, 0x1E, 0x2F, + 0x03, 0x67, 0xA2, 0x43, 0xBF, 0xBC, 0x3D, 0x82, + 0xB9, 0x1D, 0x1F, 0xB8, 0x46, 0xB5, 0x4B, 0x85, + 0x28, 0x95, 0xE0, 0x76, 0x72, 0x33, 0xB5, 0xC0, + 0x14, 0x8A, 0x7E, 0x1F, 0x91, 0x5D, 0xD5, 0xD4, + 0x87, 0x44, 0xDB, 0x76, 0xA6, 0xCE, 0x12, 0x1A, + 0xE1, 0x07, 0x25, 0x62, 0x78, 0x7B, 0x5F, 0x8F, + 0x4A, 0xA6, 0x52, 0xCD, 0x3C, 0x1C, 0xBD, 0xBC, + 0x54, 0x6B, 0x4B, 0x35, 0xE0, 0x59, 0x9C, 0x2C, + 0x46, 0x6B, 0x47, 0x1C, 0x2A, 0xAD, 0x7B, 0x10, + 0xD2, 0xA9, 0x6D, 0xDA, 0xDC, 0x2D, 0x50, 0x80, + 0xF3, 0x40, 0x1A, 0xBC, 0xAD, 0x47, 0xAB, 0xFB, + 0xBF, 0x90, 0xF6, 0xB2, 0x52, 0x92, 0x78, 0xD1, + 0x08, 0x81, 0x24, 0x56, 0xF0, 0xBC, 0x62, 0xAC, + 0x9A, 0xE2, 0x19, 0x93, 0x1C, 0x0E, 0x67, 0xC8, + 0x00, 0x12, 0x72, 0x84, 0x94, 0xCA, 0x5F, 0x07, + 0x76, 0x06, 0x73, 0x16, 0xE9, 0x7F, 0x4F, 0xCE, + 0x13, 0x57, 0xDC, 0x06, 0x01, 0x12, 0x75, 0x51, + 0xB2, 0x8C, 0xF7, 0xCC, 0xC4, 0x2F, 0xC8, 0x63, + 0x6B, 0x43, 0x0C, 0xC9, 0x50, 0xC9, 0x50, 0x37, + 0x7C, 0x91, 0xE4, 0x03, 0x89, 0x83, 0x68, 0x6D, + 0x67, 0x6A, 0x92, 0x00, 0x16, 0xBE, 0x50, 0xB8, + 0x89, 0xF4, 0x3C, 0x7F, 0x47, 0x84, 0xDA, 0xEC, + 0x5D, 0x0E, 0x02, 0xE2, 0x36, 0x71, 0x25, 0x15, + 0x98, 0xA6, 0xA7, 0x45, 0x2C, 0x60, 0x5A, 0x93, + 0x38, 0x3A, 0x31, 0xFC, 0x0F, 0xFC, 0x8D, 0x9E, + 0xC5, 0xB1, 0xE8, 0xD7, 0xE2, 0xFA, 0xAE, 0xD6, + 0xFC, 0x91, 0xEB, 0xFC, 0xCE, 0x4A, 0x6D, 0xB5, + 0x55, 0xE7, 0x19, 0xAE, 0x64, 0xF3, 0x26, 0xD9, + 0xEB, 0x0B, 0xE2, 0x4F, 0x3D, 0x74, 0x27, 0xEA, + 0x80, 0x3E, 0x4A, 0xE8, 0xFA, 0xA5, 0x62, 0xF6, + 0xCA, 0x58, 0x54, 0xB2, 0x5A, 0xC9, 0x42, 0xA4, + 0x36, 0x5F, 0x9C, 0xBE, 0x5F, 0x75, 0x56, 0x57, + 0x65, 0xA8, 0x32, 0x9F, 0xFF, 0xD0, 0xC6, 0xC2, + 0x9E, 0xA1, 0x51, 0xB6, 0x18, 0x34, 0x50, 0xBD, + 0xCA, 0xCC, 0xD2, 0x5D, 0x96, 0x2E, 0x6D, 0xD9, + 0xF7, 0x58, 0xA0, 0x3E, 0x59, 0x06, 0x1B, 0x67, + 0xD4, 0x94, 0x21, 0x69, 0xEE, 0xC3, 0x40, 0x32, + 0x5A, 0xC9, 0x07, 0xA5, 0x89, 0xA6, 0xF8, 0x99, + 0x2A, 0x27, 0xB4, 0xBD, 0x4B, 0xFF, 0xE9, 0x63, + 0xB2, 0xC1, 0x0F, 0x90, 0x31, 0x7F, 0x9C, 0x38, + 0xDB, 0x62, 0xAA, 0x39, 0x2F, 0x6B, 0x07, 0x8D, + 0xE7, 0xA5, 0x69, 0xE5, 0xED, 0x74, 0x22, 0x1C, + 0x52, 0xEF, 0xB0, 0xD6, 0x5D, 0x8D, 0xF7, 0x9F, + 0x23, 0x1E, 0x13, 0x92, 0x82, 0x48, 0x71, 0xEE, + 0x10, 0x68, 0x41, 0x4F, 0x27, 0xD1, 0xF8, 0x14, + 0xBC, 0x3D, 0xFA, 0x29, 0xA2, 0xAE, 0xDB, 0x58, + 0x84, 0x26, 0xFE, 0xED, 0xBE, 0x4F, 0x44, 0x8E, + 0xED, 0x3F, 0x64, 0xA1, 0x21, 0x24, 0x8B, 0xFF, + 0x94, 0x38, 0xD0, 0xFB, 0x4A, 0xF4, 0x6E, 0xB6, + 0x07, 0x92, 0xF1, 0x45, 0x53, 0x02, 0x19, 0x7D, + 0x15, 0x18, 0xAF, 0x8F, 0x36, 0x54, 0x15, 0x62, + 0x00, 0x12, 0x98, 0x16, 0xFB, 0x9C, 0xE6, 0x88, + 0x70, 0x6B, 0x39, 0x52, 0xA4, 0xCE, 0x59, 0x33, + 0xB5, 0x50, 0x84, 0x60, 0x01, 0x12, 0xF8, 0x2C, + 0x53, 0x34, 0xB4, 0x64, 0x71, 0x64, 0xAC, 0x30, + 0x1E, 0x2F, 0x82, 0x86, 0x76, 0x57, 0x23, 0x24, + 0xE2, 0x49, 0xEB, 0x97, 0xA5, 0x32, 0x75, 0x67, + 0x13, 0x28, 0x5F, 0x0B, 0xFA, 0x8B, 0x37, 0xB0, + 0x08, 0xFC, 0xC7, 0xD5, 0x61, 0x93, 0xEA, 0xB0, + 0xAB, 0xDA, 0x4D, 0x61, 0x36, 0xFD, 0x29, 0x45, + 0x47, 0x8E, 0xE7, 0xC7, 0x0E, 0xDD, 0xF2, 0x21, + 0xF1, 0x31, 0x4A, 0x2C, 0x26, 0xD3, 0x75, 0xED, + 0x4D, 0xA7, 0x82, 0x81, 0x18, 0x1E, 0x26, 0x30, + 0x1B, 0x18, 0xE3, 0x84, 0x9C, 0x1D, 0x31, 0x39, + 0xD4, 0x19, 0x8C, 0x87, 0xD3, 0x83, 0x47, 0xB4, + 0x06, 0xF2, 0x69, 0xCC, 0x15, 0xC4, 0xD5, 0x9A, + 0x59, 0x25, 0x29, 0xE8, 0xE1, 0xEA, 0x63, 0x74, + 0xA5, 0xC8, 0xF5, 0xBD, 0x53, 0xB0, 0xF1, 0x54, + 0x4D, 0x53, 0xBE, 0xFB, 0xEB, 0x52, 0x9D, 0x64, + 0x18, 0x2A, 0xFF, 0x6F, 0x2B, 0xDB, 0x9F, 0xBB, + 0x10, 0x24, 0x7F, 0x88, 0xBB, 0x3E, 0x92, 0x9B, + 0x69, 0xBB, 0x8E, 0x04, 0x5D, 0xF2, 0xBF, 0x13, + 0xFE, 0xDE, 0x6D, 0x3E, 0x24, 0xD2, 0xE1, 0x2A, + 0x40, 0x4E, 0x71, 0x31, 0xBB, 0x2E, 0xF5, 0x73, + 0x47, 0x1A, 0xFE, 0x68, 0xCD, 0xFA, 0x06, 0x34, + 0x93, 0xF5, 0xC0, 0x74, 0x67, 0x6F, 0x8A, 0xFB, + 0xD3, 0xD2, 0x6A, 0x09, 0x86, 0x32, 0x5C, 0xD0, + 0xF9, 0x5E, 0x5A, 0x05, 0xC7, 0x1E, 0x24, 0x8C, + 0x77, 0x6F, 0xF6, 0x02, 0xED, 0x7C, 0xD1, 0x6E, + 0x53, 0x6C, 0x03, 0xC1, 0x61, 0xC2, 0xED, 0xE4, + 0xBF, 0xD9, 0xFB, 0x6D, 0x6E, 0x6E, 0x4B, 0x07, + 0x0E, 0x56, 0xC7, 0xFD, 0xDB, 0xC4, 0xEC, 0x4A, + 0x36, 0xA7, 0x1C, 0x46, 0x8D, 0xD9, 0xB3, 0x9B, + 0x06, 0xA5, 0xAC, 0xFB, 0x9E, 0x27, 0x35, 0x66, + 0x9E, 0x1B, 0x3C, 0x8C, 0xD2, 0xF4, 0xD4, 0xAA, + 0x1E, 0x91, 0xB2, 0x0B, 0x2C, 0x4C, 0xE8, 0xB1, + 0xD9, 0x3D, 0xE8, 0xD2, 0x89, 0x76, 0xBE, 0xC2, + 0x1B, 0xCB, 0x80, 0x71, 0x8A, 0x46, 0xE1, 0x05, + 0x00, 0x12, 0x76, 0x55, 0x2A, 0xFD, 0x84, 0x07, + 0xC5, 0x33, 0x84, 0xAE, 0x4C, 0x56, 0x2C, 0x3C, + 0x14, 0x84, 0x52, 0x41, 0x01, 0x12, 0x26, 0xE9, + 0x91, 0x1C, 0x26, 0x32, 0x90, 0x61, 0x68, 0x19, + 0xC0, 0xE8, 0xFD, 0xB5, 0x74, 0x83, 0x5A, 0xF1, + 0xF6, 0x73, 0x82, 0xC6, 0x31, 0xC0, 0x4B, 0x91, + 0x49, 0x18, 0x32, 0x88, 0x0A, 0x33, 0xF3, 0xB2, + 0xF6, 0x42, 0xFD, 0x81, 0x1A, 0x2A, 0xD1, 0xF2, + 0x61, 0xD5, 0x94, 0x2B, 0xDE, 0xE9, 0x11, 0x65, + 0x0D, 0x67, 0xB3, 0xE4, 0x4A, 0xF7, 0xF6, 0xC9, + 0x64, 0x75, 0xD2, 0x5D, 0xEA, 0xFA, 0x41, 0x78, + 0xCE, 0xD8, 0xDF, 0x0A, 0x3D, 0xDA, 0x11, 0x2C, + 0xAB, 0x47, 0xDD, 0x6A, 0xE4, 0xEC, 0xA4, 0xBE, + 0x49, 0xA4, 0x2E, 0x11, 0x15, 0x80, 0x1F, 0xEF, + 0xFD, 0xD1, 0x12, 0xDE, 0x8D, 0xDD, 0x0F, 0x41, + 0x16, 0x9D, 0x4D, 0x92, 0xF3, 0x09, 0x5C, 0x53, + 0xA3, 0x5E, 0x3C, 0x01, 0x79, 0x31, 0x8B, 0x0F, + 0x7E, 0xEF, 0x69, 0xA9, 0x64, 0x2E, 0x15, 0x90, + 0xD4, 0x75, 0xFB, 0xC2, 0xB0, 0x39, 0xA9, 0xC1, + 0xDF, 0x97, 0x80, 0xD8, 0x17, 0x34, 0x62, 0xE9, + 0x28, 0x3B, 0xEE, 0x42, 0x5D, 0xDC, 0xAF, 0x35, + 0xF8, 0xAF, 0xB8, 0x54, 0x23, 0xDD, 0xE6, 0xF4, + 0xD3, 0x01, 0x14, 0x1C, 0x5B, 0x20, 0xD4, 0x8D, + 0x7E, 0xB1, 0x6E, 0xCC, 0x5E, 0xBA, 0xD9, 0x37, + 0x4D, 0xF6, 0x56, 0xA9, 0xE1, 0xB1, 0x73, 0x06, + 0x3C, 0x89, 0x4A, 0xD7, 0x2F, 0x41, 0xE1, 0x5F, + 0x5E, 0xA8, 0xF2, 0xFB, 0x56, 0x2F, 0x5C, 0xF6, + 0x49, 0xDB, 0x4D, 0x98, 0x17, 0x3C, 0xA8, 0xC0, + 0x81, 0xDB, 0x1B, 0xA4, 0x23, 0x34, 0x64, 0xE2, + 0xF5, 0x5B, 0x77, 0xE9, 0x09, 0x72, 0x4A, 0x68, + 0x5B, 0xCF, 0xCE, 0x0B, 0x83, 0xC2, 0xEA, 0x17, + 0x57, 0xC7, 0xED, 0x24, 0xA1, 0x7D, 0x48, 0xBC, + 0x8D, 0xD2, 0xE3, 0x67, 0x0C, 0x1A, 0x0B, 0xFF, + 0xA0, 0x2A, 0x81, 0xFF, 0xC2, 0x3D, 0xBD, 0x08, + 0x95, 0x45, 0x82, 0x22, 0x32, 0x25, 0xA3, 0xFD, + 0x1C, 0xB1, 0x34, 0x26, 0xCA, 0x07, 0x20, 0x2A, + 0xD1, 0x35, 0xC5, 0x44, 0x52, 0x75, 0xAA, 0x02, + 0x00, 0x12, 0x4D, 0x99, 0xDC, 0xFB, 0x69, 0xDC, + 0xD3, 0x6D, 0xDB, 0x91, 0xD5, 0x93, 0x2E, 0x62, + 0xA5, 0x63, 0xEA, 0x40, 0x01, 0x12, 0x44, 0x00, + 0x84, 0x41, 0x05, 0x55, 0xBA, 0xEC, 0xEA, 0xC3, + 0xD2, 0xB6, 0xCE, 0xA9, 0x64, 0x39, 0xAB, 0xB3, + 0x89, 0x9E, 0x0E, 0x5C, 0x31, 0x5B, 0xB6, 0xFA, + 0xED, 0xA8, 0x3C, 0x00, 0xF3, 0x82, 0x44, 0xAC, + 0x86, 0x81, 0xAC, 0xCB, 0xF3, 0x3E, 0xB7, 0x36, + 0xF5, 0x3F, 0x2F, 0x4F, 0x6B, 0x2D, 0xA2, 0x1B, + 0x5D, 0xA7, 0xE4, 0x73, 0x8B, 0x16, 0xD3, 0x65, + 0x16, 0x0E, 0x8A, 0xB2, 0xF5, 0x3B, 0xDD, 0x98, + 0xFE, 0x37, 0x20, 0xDA, 0x54, 0x74, 0x9E, 0xB6, + 0x21, 0xEE, 0x28, 0x7D, 0xFD, 0xAE, 0x21, 0x8C, + 0x74, 0x6F, 0x31, 0x04, 0xDF, 0x8F, 0x1A, 0x59, + 0x2C, 0x45, 0x84, 0xA4, 0xB7, 0x74, 0x87, 0xEA, + 0x16, 0x3B, 0x1E, 0x8D, 0xDF, 0x1D, 0x5C, 0x3D, + 0x60, 0x6A, 0x1D, 0x59, 0x75, 0xB1, 0x22, 0xF2, + 0xDE, 0x1D, 0x8E, 0x26, 0x38, 0x63, 0x17, 0x12, + 0x1F, 0xF2, 0x64, 0xA3, 0x4F, 0xD6, 0xA6, 0xD1, + 0xF5, 0x9C, 0xA9, 0x1E, 0x2D, 0x9E, 0xD8, 0x5D, + 0xFA, 0x4E, 0x51, 0xB0, 0xAF, 0x77, 0x7D, 0x7D, + 0x26, 0xF0, 0xA6, 0x18, 0x24, 0xC3, 0xCF, 0x14, + 0x74, 0x3C, 0x59, 0xD4, 0xA6, 0xFC, 0x16, 0x6E, + 0x78, 0x39, 0x29, 0x21, 0x02, 0xC2, 0xDC, 0xDF, + 0xEF, 0xBF, 0x98, 0xDC, 0x93, 0x35, 0x55, 0xE9, + 0xE5, 0xF3, 0xBD, 0xB2, 0x6E, 0x55, 0xDD, 0xCA, + 0x6F, 0xF2, 0x77, 0xE7, 0x4A, 0x11, 0x3F, 0x30, + 0x6B, 0x53, 0x32, 0xAE, 0x44, 0xDF, 0x67, 0xDC, + 0xB7, 0x61, 0x69, 0xE6, 0xFE, 0x2D, 0x40, 0x53, + 0xCC, 0x28, 0xD9, 0x48, 0x6A, 0xAA, 0x5F, 0xF3, + 0x19, 0xCF, 0xDA, 0x78, 0xE5, 0x52, 0xE4, 0x54, + 0x10, 0xC2, 0x55, 0x86, 0xA7, 0x39, 0x17, 0x9C, + 0x1C, 0x5A, 0x51, 0x61, 0x6A, 0x5B, 0x0D, 0x80, + 0x12, 0x0D, 0x02, 0xE2, 0x9D, 0x3A, 0x1F, 0x71, + 0x86, 0x6C, 0x3C, 0xCA, 0xC5, 0x10, 0x01, 0x32, + 0xFA, 0x1A, 0x3D, 0xA9, 0xC1, 0x3A, 0x42, 0x40, + 0x25, 0xD9, 0xFA, 0xD6, 0x71, 0xA5, 0x7C, 0x51, + 0x00, 0x12, 0xB6, 0xA8, 0xAF, 0xE8, 0x3E, 0x6B, + 0x90, 0xEE, 0xCF, 0x14, 0x08, 0x86, 0xB7, 0xB5, + 0x3C, 0x62, 0x87, 0xB8, 0x01, 0x12, 0xE0, 0x42, + 0x1D, 0xF7, 0x7C, 0x69, 0x36, 0xE9, 0x62, 0x2A, + 0xB5, 0xE7, 0x73, 0x5A, 0x07, 0x14, 0xA3, 0xC3, + 0x72, 0x89, 0xEF, 0x3E, 0x45, 0x86, 0x8A, 0xC6, + 0xAD, 0x88, 0xC7, 0x9B, 0xA6, 0x60, 0xFF, 0x03, + 0xB3, 0xE7, 0xC3, 0xCF, 0xEA, 0xAE, 0xA4, 0x81, + 0x6D, 0x2C, 0x39, 0xCD, 0x98, 0xAF, 0xC1, 0x4A, + 0x21, 0x90, 0x38, 0xA3, 0xDC, 0x7C, 0x50, 0xBD, + 0xE9, 0x30, 0xC1, 0x70, 0x7D, 0x59, 0x16, 0x84, + 0xE2, 0x2D, 0xDC, 0xEE, 0xFA, 0xA0, 0xD4, 0xD9, + 0xA0, 0x35, 0xD1, 0x92, 0x33, 0x60, 0x34, 0x35, + 0x70, 0xD5, 0x23, 0x3F, 0xB8, 0xB2, 0xEA, 0x76, + 0xCB, 0xE5, 0x07, 0x09, 0xEC, 0xE4, 0x56, 0x79, + 0x1E, 0x64, 0x8F, 0xB4, 0x8B, 0x86, 0x71, 0xF3, + 0x98, 0xD3, 0xAC, 0x4C, 0x1A, 0xEA, 0xAB, 0xE6, + 0xE3, 0x0F, 0x56, 0x1E, 0x3E, 0xA0, 0xDB, 0x7C, + 0xB5, 0xF8, 0xFB, 0xE2, 0xDE, 0xA0, 0x65, 0x76, + 0x3C, 0xB7, 0x59, 0x48, 0x64, 0x5C, 0x46, 0x21, + 0x74, 0x7C, 0xA8, 0xAF, 0x8D, 0x6B, 0x27, 0x4F, + 0xAC, 0xBB, 0xC3, 0x0B, 0x02, 0x3F, 0xE6, 0x64, + 0x09, 0x56, 0x83, 0xC6, 0x97, 0x91, 0xB7, 0x0C, + 0x1E, 0x6A, 0x69, 0x2B, 0x5D, 0x58, 0xB3, 0x98, + 0xB7, 0x81, 0xA6, 0x95, 0x50, 0xC9, 0xEF, 0xD7, + 0x2B, 0xD4, 0x93, 0xCA, 0x4F, 0x0F, 0x34, 0xE6, + 0x73, 0x1C, 0xA2, 0x01, 0x97, 0x7F, 0xCC, 0xEC, + 0x31, 0x14, 0x21, 0x40, 0x4E, 0xC7, 0xAC, 0x9A, + 0x91, 0xE9, 0x81, 0xD7, 0xA5, 0x27, 0x9F, 0x2C, + 0xB6, 0xE4, 0xE7, 0x81, 0x63, 0x4A, 0x26, 0xFE, + 0x59, 0x88, 0xFB, 0x34, 0x96, 0x28, 0x3D, 0x00, + 0xEA, 0xE4, 0x30, 0x4E, 0x0D, 0x56, 0x64, 0x45, + 0x85, 0x82, 0x93, 0x13, 0xD7, 0x21, 0x9D, 0x07, + 0x41, 0x6C, 0x95, 0x61, 0xC8, 0xFA, 0xA2, 0x37, + 0xAB, 0x72, 0xA1, 0x45, 0x9E, 0xCD, 0xD2, 0x97, + 0xF2, 0x47, 0x3D, 0xDC, 0x1E, 0xE9, 0x78, 0x7F, + 0xB2, 0x91, 0x9D, 0xFB, 0x0A, 0x5C, 0x9C, 0xC4, + 0x00, 0x12, 0x30, 0xD5, 0x9C, 0x33, 0xAF, 0x4B, + 0xBA, 0xA3, 0x12, 0x02, 0xB5, 0x99, 0xC8, 0x08, + 0xD9, 0x55, 0x9E, 0xD7, 0x01, 0x12, 0x26, 0x6A, + 0x10, 0x65, 0x9C, 0x6D, 0xF1, 0xA1, 0x83, 0x3E, + 0x37, 0x47, 0x47, 0x77, 0x81, 0xAF, 0xB6, 0xDE, + 0xB3, 0xFC, 0xC9, 0xD3, 0x3A, 0xA1, 0xDA, 0x58, + 0xAE, 0x1A, 0x33, 0x74, 0x5F, 0xB2, 0x52, 0xAE, + 0x14, 0x93, 0x5B, 0x42, 0x62, 0x48, 0x4C, 0xC4, + 0xF1, 0x57, 0x7C, 0x70, 0x97, 0x8B, 0xD5, 0x2F, + 0x37, 0xE3, 0xDC, 0xD0, 0x70, 0xE9, 0xB3, 0x6E, + 0xDA, 0xCF, 0x73, 0x59, 0x44, 0x8E, 0x1F, 0xEC, + 0x85, 0x8F, 0xA9, 0x22, 0x5D, 0x4F, 0x0E, 0x4A, + 0xBD, 0xE4, 0x30, 0x03, 0x4F, 0xA1, 0xC6, 0xC1, + 0xFD, 0x2B, 0xA0, 0x93, 0x2B, 0x96, 0xF1, 0xC1, + 0x63, 0x51, 0x92, 0x3C, 0xBD, 0x1B, 0xBF, 0x7E, + 0xD1, 0xBF, 0x46, 0x6E, 0x76, 0xBD, 0x87, 0xA0, + 0x32, 0x66, 0x69, 0xA2, 0x2C, 0xB3, 0x81, 0xEF, + 0xEC, 0x01, 0x66, 0x21, 0x7C, 0xD5, 0x5E, 0x82, + 0x62, 0x6F, 0xCC, 0xC3, 0xEA, 0xC2, 0x66, 0x9E, + 0x17, 0x28, 0x8E, 0x03, 0x6A, 0x72, 0x06, 0xC3, + 0x6D, 0x7D, 0xBD, 0xB2, 0x65, 0x0D, 0x5B, 0x4C, + 0xDF, 0xB0, 0x36, 0x29, 0x95, 0x71, 0x7B, 0xDB, + 0xE1, 0xA1, 0x11, 0xB6, 0xDE, 0xDB, 0xDB, 0x43, + 0xEC, 0x48, 0xFD, 0x78, 0x9A, 0xFC, 0x1B, 0xD5, + 0xFE, 0x6F, 0xA6, 0x5A, 0x86, 0x5F, 0x17, 0xE5, + 0xDB, 0xFD, 0x55, 0xFF, 0x2B, 0x55, 0x95, 0x03, + 0xE7, 0x07, 0x9B, 0x20, 0x24, 0x72, 0x06, 0x78, + 0xB2, 0xBC, 0x31, 0xB7, 0x98, 0xFA, 0x29, 0x28, + 0x07, 0x16, 0x4E, 0x5D, 0x51, 0xF0, 0x63, 0x83, + 0xE1, 0x40, 0x4C, 0xEB, 0xD9, 0xA9, 0xAD, 0xDA, + 0x34, 0xB0, 0x68, 0xE7, 0x04, 0x98, 0x29, 0xFC, + 0x56, 0x32, 0x1A, 0xBE, 0xA3, 0xA1, 0x2C, 0xF5, + 0xB0, 0x7E, 0x59, 0xC0, 0x10, 0x26, 0x86, 0xD0, + 0x0D, 0x44, 0x8D, 0x9D, 0x06, 0xEF, 0xDB, 0x09, + 0xA1, 0xF5, 0xE2, 0x22, 0x0B, 0xCA, 0xEC, 0x52, + 0xF1, 0xB5, 0x87, 0x58, 0x73, 0x71, 0xD2, 0x5C, + 0x32, 0x21, 0xA7, 0xBC, 0xAA, 0x7F, 0xA4, 0x7A, + 0x00, 0x12, 0x2E, 0x92, 0x8D, 0x6E, 0xAF, 0x91, + 0xF8, 0x83, 0xD2, 0x7D, 0x5D, 0x80, 0xE8, 0x56, + 0x24, 0xBE, 0xF3, 0x76, 0x01, 0x12, 0x08, 0xD1, + 0x6A, 0xFA, 0xB8, 0x25, 0x41, 0x8D, 0x17, 0x76, + 0xA8, 0x8E, 0xF7, 0xFB, 0x3D, 0x45, 0xB9, 0xA0, + 0x11, 0x7D, 0xED, 0xEF, 0x94, 0xB5, 0x5B, 0x97, + 0xFC, 0x0C, 0x0F, 0xF4, 0x06, 0xEE, 0x51, 0xC9, + 0xB7, 0x73, 0xCF, 0x17, 0x77, 0x0D, 0xE2, 0xA1, + 0x69, 0xE9, 0xEF, 0x6C, 0x79, 0xE8, 0xA9, 0x52, + 0xBF, 0x85, 0x72, 0x68, 0xB9, 0xCD, 0x55, 0xBF, + 0x09, 0x2E, 0x94, 0x9E, 0x69, 0xAD, 0xF6, 0x39, + 0x84, 0x43, 0xA2, 0x14, 0xCE, 0x1A, 0x68, 0x27, + 0xDF, 0x84, 0x81, 0x72, 0xFE, 0x2A, 0xAC, 0x3D, + 0x1A, 0x53, 0x6E, 0x10, 0x5C, 0x9C, 0xA1, 0xB6, + 0x9B, 0x1E, 0x36, 0xF8, 0x8F, 0x88, 0xF2, 0xAA, + 0x6D, 0x00, 0x56, 0x15, 0xD7, 0xDA, 0x91, 0x62, + 0x7A, 0x09, 0xA4, 0xC0, 0x69, 0x69, 0xEE, 0xD5, + 0x24, 0xEC, 0x78, 0x40, 0x08, 0x8F, 0x52, 0xC4, + 0x7C, 0xAE, 0x8B, 0x3F, 0x87, 0x5F, 0x31, 0x8F, + 0x35, 0x67, 0x0F, 0x28, 0x7B, 0x20, 0xE6, 0xF3, + 0xB9, 0xA3, 0xE1, 0x4E, 0x0E, 0x94, 0xFD, 0x5C, + 0x36, 0x12, 0x2C, 0x25, 0xE5, 0x2D, 0x6E, 0xB4, + 0xF5, 0x9F, 0xE4, 0x0E, 0xE4, 0x88, 0xAC, 0x91, + 0x25, 0x92, 0x12, 0xCE, 0xC1, 0xB2, 0x9D, 0x03, + 0x57, 0xD9, 0x8E, 0x76, 0x81, 0x81, 0x99, 0x79, + 0x4F, 0x12, 0x0C, 0xB0, 0x67, 0x26, 0xDD, 0xC6, + 0xEA, 0x69, 0x66, 0xEF, 0x5B, 0x7B, 0x7A, 0xE2, + 0xE5, 0x35, 0x2C, 0xBD, 0x5C, 0x8F, 0x18, 0xBD, + 0x14, 0xD9, 0x69, 0xC0, 0x88, 0xDF, 0x40, 0xA9, + 0xFC, 0xF5, 0x79, 0x7C, 0x1E, 0x45, 0xCF, 0x77, + 0x88, 0xC3, 0xB4, 0xE7, 0xF7, 0x1A, 0x74, 0x8A, + 0xD7, 0x68, 0xD0, 0xF5, 0xF6, 0x80, 0x65, 0x66, + 0x0B, 0xD1, 0x03, 0x5C, 0xEE, 0x25, 0x1F, 0xF3, + 0x47, 0xE5, 0xB3, 0x4A, 0x15, 0x2E, 0xCF, 0xE1, + 0xD6, 0x53, 0x91, 0xB5, 0x9F, 0xA7, 0x9A, 0x6E, + 0xBB, 0x3F, 0x5E, 0x4E, 0xD6, 0x5C, 0xDF, 0x71, + 0x94, 0xC4, 0x76, 0xE2, 0xA9, 0x85, 0xE7, 0xD1, + 0x00, 0x12, 0xF3, 0x5D, 0x81, 0x16, 0x3A, 0xF6, + 0x46, 0x98, 0x4D, 0x6B, 0xDB, 0x25, 0x08, 0xC6, + 0x80, 0x66, 0x00, 0x95, 0x01, 0x12, 0x48, 0xB3, + 0x5C, 0x86, 0xA2, 0xB1, 0xD2, 0x7C, 0x12, 0x16, + 0x8C, 0x71, 0x1F, 0x2A, 0x6B, 0x2E, 0x78, 0xD6, + 0xA3, 0x34, 0xA6, 0x9A, 0x2D, 0x9D, 0xBD, 0x46, + 0x5C, 0x47, 0xE5, 0x6D, 0x7C, 0x23, 0xF7, 0x56, + 0xC8, 0xF5, 0xAD, 0x1E, 0xDE, 0x7D, 0xB1, 0x1D, + 0xC0, 0x7B, 0xD5, 0xB8, 0x39, 0xF4, 0xA3, 0xBF, + 0xA3, 0x48, 0x71, 0x10, 0xBD, 0x35, 0x69, 0xF9, + 0x02, 0xBA, 0x82, 0x54, 0x41, 0xF1, 0x65, 0x0A, + 0x9F, 0x80, 0x21, 0x1D, 0x48, 0x4D, 0x08, 0x7D, + 0x46, 0xA0, 0x92, 0x1D, 0xD7, 0x32, 0x9E, 0x92, + 0x21, 0x60, 0xE3, 0xCB, 0xF7, 0xBD, 0xF9, 0x23, + 0xC4, 0x52, 0x87, 0x43, 0x6A, 0x8A, 0x82, 0xCE, + 0x0E, 0x71, 0xB7, 0x43, 0xAC, 0xA7, 0x0E, 0x2D, + 0x3E, 0x43, 0x36, 0x3C, 0xD6, 0xDA, 0x1F, 0x23, + 0x12, 0xF0, 0x88, 0x62, 0xCE, 0xFB, 0xCE, 0x17, + 0xEC, 0x18, 0xDA, 0x80, 0x56, 0xA9, 0x7C, 0x17, + 0x58, 0x84, 0x81, 0x84, 0x98, 0x80, 0x01, 0xDC, + 0x85, 0x22, 0x67, 0x68, 0xFF, 0xB3, 0x1A, 0xB6, + 0x1E, 0xE1, 0xB0, 0xE4, 0x62, 0x95, 0xCB, 0xFE, + 0x00, 0x50, 0xBD, 0x77, 0x9C, 0x8A, 0xCA, 0x08, + 0x89, 0x3B, 0xD1, 0x19, 0x82, 0x68, 0xD6, 0x9C, + 0x0A, 0xEF, 0x13, 0xE0, 0x3C, 0xF5, 0x7B, 0x0A, + 0x46, 0x3F, 0xAF, 0xCA, 0xCC, 0xC2, 0x2D, 0x90, + 0xFE, 0x84, 0xBF, 0xA2, 0xCB, 0x52, 0x39, 0x93, + 0x30, 0x41, 0xA6, 0x9F, 0x7D, 0x00, 0x3E, 0x72, + 0xDD, 0xDE, 0x44, 0x91, 0xA0, 0x2F, 0x39, 0x84, + 0x65, 0xC4, 0xC9, 0xF2, 0x42, 0xED, 0xE0, 0x94, + 0xB4, 0x84, 0x4D, 0xC7, 0xF3, 0x8B, 0x76, 0x58, + 0xF9, 0x97, 0xFA, 0x88, 0x79, 0x44, 0x6B, 0x6B, + 0x0C, 0x78, 0xB7, 0x0D, 0xE8, 0x3F, 0x77, 0x03, + 0xC6, 0x43, 0x5E, 0xCD, 0x41, 0x85, 0x2E, 0x25, + 0x85, 0x97, 0xF6, 0x5A, 0x92, 0x50, 0x06, 0xD0, + 0xE3, 0x5A, 0x8A, 0xF7, 0xD7, 0xE1, 0x5A, 0xEB, + 0x35, 0xA7, 0xAD, 0x39, 0x15, 0xB5, 0x9B, 0x69, + 0x00, 0x12, 0x26, 0x11, 0xBA, 0x34, 0x3D, 0xAE, + 0xA2, 0xCB, 0x7F, 0x68, 0xCE, 0x3B, 0x6E, 0xC2, + 0x6D, 0x43, 0xBB, 0x5B, 0x01, 0x12, 0x3B, 0xA4, + 0x9E, 0xC2, 0x28, 0x8F, 0x48, 0xB2, 0x01, 0x68, + 0x47, 0xB6, 0xD0, 0x4A, 0xEE, 0x6F, 0x8A, 0x7C, + 0xC1, 0x88, 0x81, 0xA6, 0x87, 0x71, 0xD8, 0x84, + 0x06, 0x01, 0x2D, 0x50, 0xFE, 0x01, 0x7D, 0xAC, + 0x65, 0xFC, 0x2E, 0xA6, 0xDC, 0xD9, 0x13, 0x3B, + 0x59, 0xFE, 0xD5, 0x77, 0xDB, 0xA9, 0x2E, 0x99, + 0x52, 0xE0, 0xEE, 0x1B, 0xFA, 0xD8, 0xAF, 0x23, + 0x28, 0x22, 0xB3, 0x3F, 0xBC, 0x30, 0x16, 0xA5, + 0xC8, 0x33, 0x18, 0x86, 0x5A, 0xB9, 0xA5, 0x54, + 0xF2, 0x08, 0x7C, 0x11, 0x69, 0x1E, 0x02, 0x67, + 0x35, 0x46, 0xE3, 0x94, 0x34, 0x42, 0x0F, 0x4A, + 0xE3, 0x79, 0xC4, 0x5B, 0x0B, 0xF0, 0x6B, 0xF5, + 0x45, 0x80, 0x3F, 0x08, 0x53, 0xCF, 0x06, 0x36, + 0xAB, 0xBB, 0xB0, 0xAB, 0x66, 0x5C, 0x13, 0x3A, + 0x4B, 0xD8, 0x2B, 0x01, 0x43, 0xB0, 0x3F, 0x31, + 0xD2, 0xAE, 0xBC, 0xFA, 0xD3, 0xAF, 0xF7, 0xCA, + 0x4C, 0x02, 0x70, 0xE0, 0xF2, 0xBA, 0x4C, 0x04, + 0x0E, 0x6A, 0xEA, 0x63, 0x8D, 0x09, 0x52, 0xE9, + 0x67, 0x0F, 0xBD, 0x76, 0xD9, 0x5C, 0x8C, 0x56, + 0x44, 0x11, 0x96, 0xC9, 0x07, 0xAF, 0x63, 0xA4, + 0x27, 0xD8, 0x2C, 0xDE, 0x9D, 0x5D, 0xBB, 0xA5, + 0x25, 0x89, 0x45, 0x9F, 0x6C, 0xE9, 0x0E, 0xF0, + 0x2A, 0xCD, 0x4A, 0x1E, 0x13, 0x52, 0x78, 0x13, + 0x3B, 0xC2, 0xF9, 0x4F, 0x34, 0x92, 0x7F, 0xAA, + 0xBF, 0x0A, 0x7C, 0x35, 0x27, 0x11, 0x08, 0x24, + 0x8F, 0xE4, 0xF1, 0x13, 0xF7, 0x22, 0xC1, 0x10, + 0x48, 0xC7, 0xEF, 0xA4, 0xE9, 0xA8, 0x5E, 0x42, + 0x00, 0xFA, 0x9D, 0xFC, 0xE7, 0xC9, 0x78, 0xD9, + 0x18, 0xB4, 0x36, 0xF5, 0xF0, 0xF3, 0xAB, 0x96, + 0xBF, 0x32, 0x0C, 0x16, 0x81, 0xB8, 0x3A, 0x4C, + 0xEF, 0xA1, 0x0B, 0xFE, 0xF6, 0xFD, 0xA9, 0xD1, + 0x38, 0x3C, 0xEB, 0xE7, 0x41, 0x4E, 0xF1, 0xFD, + 0x06, 0x15, 0x12, 0xFC, 0x65, 0x26, 0xC7, 0x6D, + 0x68, 0xCC, 0xDF, 0x82, 0x86, 0xAE, 0x18, 0xD6, + 0x00, 0x12, 0x16, 0x07, 0x2C, 0xE8, 0xAD, 0xB1, + 0x36, 0xE5, 0x47, 0xC0, 0x6D, 0x56, 0x1F, 0x31, + 0xCF, 0x60, 0x21, 0x1B, 0x01, 0x12, 0x07, 0x37, + 0x31, 0x65, 0x83, 0x15, 0xE2, 0xA4, 0x48, 0x35, + 0x74, 0x65, 0x35, 0x45, 0xC0, 0x2F, 0x44, 0x8C, + 0x87, 0x35, 0x9C, 0x17, 0x46, 0x83, 0xE5, 0x96, + 0x14, 0x3E, 0x84, 0xDD, 0x11, 0x87, 0xF9, 0x6E, + 0x2A, 0xA7, 0xA0, 0xB6, 0x3F, 0x9B, 0xDA, 0x66, + 0x0B, 0xB6, 0x19, 0x34, 0x73, 0x09, 0x2C, 0xC3, + 0x71, 0x30, 0xA9, 0xA4, 0x63, 0x52, 0xC0, 0xAB, + 0x5B, 0x97, 0x74, 0x4B, 0x8C, 0xA1, 0x23, 0xF4, + 0x97, 0xA8, 0xA4, 0x17, 0xC9, 0xD9, 0xB1, 0x33, + 0x03, 0x16, 0x1F, 0xAB, 0xA5, 0xFB, 0x85, 0x9E, + 0x88, 0x6B, 0xE6, 0x11, 0xFA, 0x40, 0xD4, 0x98, + 0xA8, 0xF3, 0x86, 0x5E, 0x79, 0x20, 0x9F, 0x1C, + 0x03, 0x70, 0xCE, 0x97, 0x67, 0xFA, 0xDD, 0x77, + 0x2E, 0x1B, 0xA7, 0x43, 0xA5, 0x35, 0xD6, 0xA6, + 0x34, 0x7E, 0xBF, 0xB6, 0x8E, 0x9C, 0x75, 0x11, + 0x84, 0x09, 0xA7, 0xB2, 0x0F, 0xA2, 0x34, 0xEF, + 0xB4, 0x21, 0x35, 0x42, 0x53, 0x72, 0xF5, 0x3F, + 0xBA, 0x56, 0xA2, 0x59, 0x1C, 0x00, 0xEF, 0xE8, + 0xB9, 0x69, 0x7E, 0x4A, 0x06, 0x77, 0x71, 0xD2, + 0xD4, 0x75, 0x7E, 0x1B, 0xD5, 0xCD, 0x75, 0x6B, + 0x4A, 0x05, 0xDD, 0x01, 0x0A, 0xE1, 0x9D, 0x5D, + 0x6A, 0xD0, 0x97, 0xAA, 0xA2, 0x77, 0xCE, 0x7D, + 0x8C, 0xAB, 0xD5, 0x75, 0xD3, 0x05, 0x0E, 0xC2, + 0x0D, 0x59, 0x77, 0x1C, 0x90, 0xCE, 0xA5, 0x67, + 0xF4, 0x43, 0xEB, 0x1C, 0x4E, 0x9E, 0x54, 0xFA, + 0x45, 0x1B, 0x16, 0x54, 0x9C, 0x7B, 0xCA, 0xDC, + 0x8C, 0xE1, 0x2F, 0x61, 0x3F, 0xA1, 0x48, 0xFB, + 0xBF, 0x15, 0xCB, 0x9A, 0x73, 0xD4, 0x13, 0x25, + 0x3E, 0x9E, 0x4D, 0xC0, 0xD6, 0xA7, 0xE1, 0xF0, + 0x39, 0xF9, 0xC6, 0x31, 0x06, 0x87, 0xAA, 0x29, + 0x7B, 0xD5, 0xED, 0x56, 0x8C, 0x3D, 0x5F, 0xA5, + 0x6B, 0x8A, 0x3F, 0xA7, 0xAD, 0x67, 0xE2, 0x79, + 0x78, 0x3C, 0x98, 0xFA, 0x66, 0x9A, 0xBC, 0x68, + 0xDF, 0x62, 0x50, 0xED, 0xE4, 0x4E, 0x04, 0xFC, + 0x00, 0x12, 0x26, 0xDD, 0x6F, 0x87, 0x84, 0xFD, + 0x19, 0xAA, 0xDD, 0x81, 0xF7, 0x68, 0xCC, 0x7D, + 0x80, 0xE6, 0x75, 0x96, 0x01, 0x12, 0x3F, 0xEC, + 0x44, 0xB9, 0x51, 0xBB, 0xF9, 0x2D, 0xDC, 0x90, + 0xC0, 0xE2, 0xD9, 0x40, 0x88, 0xB2, 0xC4, 0xF4, + 0x7E, 0xCE, 0xC8, 0xB4, 0x22, 0xA4, 0xC2, 0xCC, + 0xE2, 0x2F, 0x25, 0x6B, 0x6A, 0x08, 0x7F, 0x5E, + 0x24, 0x21, 0x19, 0x93, 0x8E, 0x2A, 0x0D, 0x00, + 0x86, 0xA8, 0x0E, 0xE1, 0x5A, 0xD6, 0x3C, 0x78, + 0xF5, 0xAB, 0xCA, 0xAE, 0xEC, 0xEB, 0x29, 0x0F, + 0xB4, 0xB2, 0x3C, 0xEE, 0x08, 0xFD, 0x47, 0xB2, + 0x6A, 0xC4, 0x31, 0x2C, 0xE4, 0xA9, 0xBA, 0x52, + 0xE5, 0x50, 0x51, 0x78, 0x75, 0xE9, 0xE7, 0x83, + 0xBC, 0xB0, 0x11, 0xBB, 0xBC, 0x2D, 0xC5, 0xDF, + 0x9B, 0x09, 0x09, 0xD6, 0xAA, 0x4E, 0xFA, 0x51, + 0xF9, 0x89, 0x7E, 0x45, 0xA6, 0xF1, 0x49, 0xAE, + 0x81, 0x5A, 0xB7, 0x39, 0x24, 0x94, 0x22, 0xF2, + 0xB2, 0x13, 0xF5, 0x5C, 0x03, 0x86, 0x60, 0x20, + 0x61, 0xB4, 0xF1, 0xD2, 0x70, 0x98, 0x5A, 0x88, + 0xB7, 0x57, 0x7F, 0x59, 0x8E, 0x64, 0x15, 0x18, + 0x22, 0x70, 0xA5, 0x1B, 0x86, 0x09, 0x20, 0x29, + 0x6F, 0x5F, 0x5B, 0x08, 0x77, 0x9C, 0x69, 0xF9, + 0x71, 0x2A, 0x73, 0xBB, 0xF2, 0xD8, 0x8D, 0xB4, + 0xDD, 0x47, 0xC6, 0x0B, 0xAB, 0xCD, 0xB5, 0x43, + 0x88, 0x4E, 0x5D, 0xE9, 0x1C, 0xAE, 0x7A, 0xE3, + 0x6E, 0x66, 0x7A, 0xFF, 0x86, 0x46, 0xD7, 0x27, + 0xB8, 0x03, 0x58, 0x04, 0x39, 0x30, 0x83, 0xCA, + 0xAA, 0xD7, 0xEB, 0x67, 0xB8, 0x30, 0xD7, 0x35, + 0x64, 0xDB, 0xF9, 0xE9, 0xD5, 0x56, 0x5B, 0x17, + 0x01, 0xAE, 0xE5, 0x67, 0x00, 0xBC, 0x54, 0x58, + 0xEC, 0x8D, 0x7A, 0xB2, 0x65, 0x25, 0x5F, 0x71, + 0x3D, 0x89, 0xD7, 0x0E, 0x1F, 0x03, 0x71, 0x3F, + 0x97, 0xA8, 0xF6, 0x8F, 0xA6, 0x8D, 0x33, 0x38, + 0x73, 0xC1, 0xB7, 0xA0, 0x31, 0x5F, 0x86, 0xC7, + 0x1B, 0x33, 0x35, 0x37, 0x85, 0xF2, 0x1E, 0x8C, + 0xD6, 0x1F, 0xF6, 0x56, 0x7E, 0x1A, 0xD9, 0x16, + 0x09, 0x28, 0xE1, 0xC0, 0x74, 0xCE, 0xEF, 0x4E, + 0x00, 0x12, 0xE1, 0x57, 0x10, 0xC5, 0x3C, 0x46, + 0xD4, 0xA0, 0x51, 0xCD, 0x5B, 0xDE, 0x6F, 0x5D, + 0xEA, 0x9E, 0xFC, 0x58, 0x01, 0x12, 0x4D, 0x09, + 0xE0, 0x1C, 0xEE, 0x29, 0x4F, 0x88, 0xAA, 0xBB, + 0x8F, 0x4D, 0x81, 0x3C, 0x72, 0xAB, 0x12, 0x84, + 0xB0, 0xFF, 0x58, 0xCE, 0x9E, 0x7B, 0x40, 0x14, + 0x65, 0x64, 0xED, 0xD6, 0x63, 0x68, 0x53, 0x72, + 0x57, 0xB1, 0xB1, 0x79, 0x1A, 0xA1, 0xB0, 0xD8, + 0x4D, 0x93, 0x43, 0xD7, 0xED, 0x36, 0xC0, 0x3C, + 0x4A, 0x42, 0x4A, 0xA8, 0x8E, 0xD3, 0xEB, 0xA4, + 0xAD, 0xB3, 0x10, 0xDA, 0x77, 0xD1, 0x44, 0xB4, + 0xC9, 0x8E, 0x3C, 0x3F, 0x1F, 0xFE, 0x80, 0xAF, + 0x7C, 0x45, 0xF1, 0xB5, 0x32, 0x7D, 0x2D, 0x55, + 0x15, 0x9B, 0x02, 0x15, 0xA5, 0xF5, 0x0A, 0x9A, + 0x74, 0x98, 0x43, 0x10, 0x28, 0x05, 0xD8, 0x39, + 0xDA, 0xC6, 0xA3, 0xC1, 0x70, 0x62, 0xA0, 0x06, + 0xDD, 0x9D, 0xA0, 0x2F, 0x7C, 0x39, 0x50, 0xE1, + 0x56, 0xD1, 0x75, 0xDC, 0xEB, 0x08, 0x00, 0x21, + 0x8B, 0xE2, 0xD2, 0x88, 0x0E, 0x7D, 0xE8, 0x75, + 0x67, 0x82, 0xBA, 0xF5, 0x2E, 0x30, 0x3D, 0x41, + 0x8B, 0xEC, 0x08, 0x5F, 0x68, 0x05, 0x86, 0x66, + 0x62, 0xA5, 0xE1, 0x6E, 0x61, 0xC8, 0xD5, 0xD3, + 0x71, 0xA6, 0x7F, 0x71, 0xEB, 0xA7, 0xCE, 0x57, + 0x4F, 0x12, 0x43, 0xF9, 0x1A, 0x64, 0xDC, 0x6C, + 0x9F, 0xB4, 0xE8, 0x8B, 0x21, 0x60, 0x8A, 0x16, + 0x05, 0x08, 0x2C, 0x5A, 0x9D, 0x28, 0xB0, 0x3B, + 0x1C, 0xF3, 0xF5, 0x50, 0xAC, 0x08, 0x16, 0x42, + 0x2C, 0xE3, 0x57, 0x3F, 0x9F, 0xA4, 0x24, 0xE8, + 0xE0, 0xE2, 0x9C, 0x66, 0x51, 0x47, 0x84, 0xEC, + 0xE7, 0x23, 0x45, 0x82, 0xF5, 0x09, 0xCA, 0xA5, + 0x22, 0xCE, 0x29, 0xA0, 0x68, 0xB5, 0xAC, 0xCD, + 0x9D, 0xC7, 0xF1, 0xC1, 0x44, 0x24, 0xB8, 0xC3, + 0x17, 0xA7, 0x36, 0x6B, 0x68, 0x03, 0x3C, 0xBA, + 0xEF, 0x54, 0x64, 0xA4, 0xCD, 0x17, 0xB5, 0xF9, + 0x6E, 0x85, 0x61, 0x91, 0x82, 0x5C, 0xE9, 0x89, + 0x44, 0x16, 0xE0, 0xDD, 0x38, 0xE6, 0x2A, 0xC9, + 0x81, 0x91, 0x61, 0x13, 0xCB, 0xFF, 0x00, 0x6E, + 0x00, 0x12, 0x25, 0xC9, 0x5D, 0x9F, 0x90, 0x4A, + 0x6C, 0xEF, 0x2B, 0x30, 0x4E, 0x62, 0x68, 0xAF, + 0x6A, 0x30, 0xCF, 0x11, 0x01, 0x12, 0x4F, 0x1A, + 0xF1, 0x9A, 0xA9, 0xC9, 0x68, 0xBF, 0x22, 0xBF, + 0x01, 0x8D, 0x2A, 0x0C, 0x61, 0xAA, 0xB7, 0xA5, + 0xC4, 0x2F, 0x43, 0xE1, 0x55, 0xD0, 0x53, 0x72, + 0xB6, 0x8F, 0x2B, 0x5B, 0x81, 0xE7, 0xEB, 0x8B, + 0x2F, 0xFE, 0x0C, 0xFD, 0xA8, 0xA4, 0x27, 0x05, + 0x88, 0x6B, 0xB4, 0x6B, 0xDC, 0x94, 0xEA, 0xE1, + 0x0F, 0xFB, 0xCA, 0x11, 0xC9, 0x88, 0x1D, 0x81, + 0xD9, 0x36, 0x3B, 0x53, 0x14, 0xC8, 0x3F, 0xA0, + 0x41, 0x76, 0x27, 0xCE, 0x29, 0x2A, 0x3B, 0x48, + 0x7F, 0x06, 0xD6, 0x4C, 0xF8, 0xB3, 0x52, 0x22, + 0x56, 0x77, 0x04, 0x76, 0x5A, 0x65, 0xDE, 0xA1, + 0x5E, 0x60, 0x13, 0x35, 0xF4, 0x1B, 0x9F, 0x17, + 0x45, 0xB0, 0x54, 0x08, 0x3F, 0x55, 0xB1, 0xF7, + 0xDA, 0x01, 0x33, 0x08, 0x6C, 0x00, 0x04, 0xDF, + 0x62, 0x65, 0xC2, 0x53, 0x03, 0x20, 0x0E, 0x14, + 0xE3, 0x0E, 0x16, 0x16, 0xEB, 0xF4, 0x6E, 0xAF, + 0x9D, 0x54, 0x15, 0xA0, 0x8B, 0x64, 0x49, 0xD4, + 0x5C, 0x83, 0xDE, 0x82, 0x32, 0x19, 0x25, 0xB0, + 0x46, 0x67, 0xF6, 0x4F, 0x0D, 0x38, 0x2D, 0x3F, + 0x02, 0x82, 0xD0, 0xA3, 0x3A, 0x5E, 0x44, 0x2C, + 0x14, 0xDC, 0x8D, 0x7F, 0x7D, 0x85, 0xF3, 0x46, + 0xEC, 0xAB, 0x6F, 0x2D, 0x7A, 0x25, 0x21, 0x25, + 0xAC, 0xD5, 0x13, 0x68, 0xBA, 0xEC, 0x99, 0x7B, + 0x11, 0x1A, 0x08, 0x36, 0x70, 0xE5, 0x33, 0x56, + 0x08, 0xFF, 0xBA, 0x4C, 0xBB, 0x81, 0x7D, 0x4F, + 0x2F, 0xAC, 0x4F, 0xC1, 0x52, 0xD5, 0xA0, 0xBF, + 0x59, 0x37, 0xD9, 0xB9, 0x9A, 0x4E, 0xAC, 0xD2, + 0x8F, 0xB9, 0xCB, 0xD0, 0x08, 0x39, 0x24, 0xA3, + 0xE0, 0xAE, 0x07, 0xD8, 0x44, 0xAC, 0xDD, 0xAD, + 0x94, 0xC2, 0xAE, 0x32, 0xCA, 0x88, 0x45, 0x40, + 0x5E, 0xEB, 0x7C, 0x68, 0x2F, 0x6D, 0x84, 0x09, + 0xFA, 0xFD, 0x76, 0x3C, 0xF9, 0x5C, 0xC6, 0x9B, + 0x20, 0xFA, 0xDD, 0x0E, 0x8A, 0xC3, 0x57, 0xF7, + 0xB5, 0xDD, 0x2E, 0x5E, 0xB9, 0x76, 0x89, 0xCF, + 0x00, 0x12, 0x51, 0xF5, 0xE7, 0x42, 0xE5, 0xD8, + 0xDA, 0x1C, 0xBE, 0x2A, 0x43, 0xCB, 0x6B, 0x42, + 0xE9, 0x96, 0x04, 0xF9, 0x01, 0x12, 0x36, 0x2D, + 0x70, 0xA0, 0x9F, 0xD3, 0x0A, 0x1B, 0xAF, 0x88, + 0x6C, 0x5D, 0x0E, 0xA2, 0x77, 0xDF, 0x36, 0x01, + 0xA3, 0x52, 0x4E, 0x82, 0xA5, 0x44, 0xD6, 0x7E, + 0xEB, 0xE2, 0x70, 0x8C, 0xF0, 0x3E, 0x0D, 0x53, + 0x93, 0x71, 0xE2, 0x86, 0xDB, 0x3D, 0x5B, 0x87, + 0xB5, 0x1C, 0x63, 0x11, 0xBE, 0x93, 0x50, 0x06, + 0xAA, 0xCD, 0xC7, 0xD6, 0x20, 0x7B, 0xA0, 0xED, + 0xEE, 0xA2, 0xAE, 0x35, 0xA3, 0xE5, 0x34, 0x9A, + 0x3B, 0x6F, 0x32, 0x34, 0xCC, 0x72, 0xC8, 0x8D, + 0x68, 0xFD, 0x48, 0xA6, 0x3F, 0xE8, 0x8C, 0x95, + 0xA0, 0xB3, 0x0B, 0x8A, 0x36, 0x5A, 0x70, 0xC2, + 0x70, 0xEB, 0xE1, 0x71, 0xCF, 0xE8, 0x8C, 0x18, + 0x1E, 0x7A, 0x20, 0xE7, 0x3E, 0x47, 0x88, 0xE9, + 0xE2, 0x7D, 0xC3, 0xD0, 0x0E, 0x2B, 0xF9, 0xE8, + 0xD2, 0xCC, 0x53, 0x5D, 0x1E, 0x3D, 0x70, 0x73, + 0xB1, 0xD7, 0xB9, 0x3E, 0x7A, 0x6D, 0x32, 0xFE, + 0xD1, 0x16, 0x52, 0xBC, 0x14, 0xE3, 0xA5, 0xCB, + 0xB4, 0xFB, 0x3A, 0x8E, 0xFF, 0xC5, 0xF3, 0xC8, + 0x51, 0xF3, 0xC9, 0xDC, 0x56, 0x0F, 0xC6, 0x6C, + 0x2A, 0x7D, 0x75, 0x7B, 0x8F, 0x7E, 0x5F, 0x59, + 0xFF, 0x0D, 0x0C, 0x1B, 0x33, 0x73, 0x6D, 0xA6, + 0x63, 0x59, 0x64, 0x69, 0x29, 0x4C, 0xBA, 0xD1, + 0x7F, 0x70, 0x2D, 0x99, 0x0D, 0x20, 0x02, 0x5E, + 0xFF, 0x96, 0x69, 0x24, 0xA8, 0x01, 0x27, 0x87, + 0x56, 0xB7, 0x55, 0x89, 0x34, 0xA0, 0xDA, 0xEA, + 0xB7, 0x2A, 0xD5, 0x73, 0xD1, 0x9C, 0xF6, 0xBC, + 0x07, 0xAE, 0xB7, 0x19, 0x3D, 0x6D, 0x5B, 0xC8, + 0xE4, 0x60, 0x56, 0x75, 0xF7, 0x16, 0xBF, 0x77, + 0xA5, 0x00, 0xDD, 0xEA, 0x41, 0x47, 0x80, 0x29, + 0x72, 0x9D, 0xD5, 0xCD, 0x1D, 0xEF, 0x33, 0x07, + 0xF2, 0x35, 0x83, 0x70, 0x7B, 0xC7, 0x78, 0x2B, + 0x6E, 0x6B, 0xE2, 0xB6, 0x66, 0x89, 0x90, 0xDF, + 0x82, 0x4E, 0x59, 0x48, 0xB9, 0xFF, 0x27, 0xE6, + 0x9F, 0x05, 0xFE, 0xA1, 0xAD, 0x8C, 0x81, 0x9B, + 0x00, 0x12, 0x56, 0xD2, 0x71, 0xD4, 0x21, 0xDC, + 0x70, 0x2E, 0x73, 0xC4, 0xF5, 0xC5, 0x8F, 0xF2, + 0x96, 0xF0, 0xFE, 0x19, 0x01, 0x12, 0x4F, 0x0A, + 0x38, 0xF7, 0x5A, 0xD5, 0x65, 0x09, 0x17, 0x1E, + 0xBF, 0xBC, 0x21, 0x0C, 0x1E, 0x68, 0x6F, 0x6C, + 0x53, 0xBF, 0x4E, 0x94, 0xD6, 0xA1, 0x1D, 0xD1, + 0x54, 0xAA, 0x43, 0xD5, 0x35, 0x00, 0x92, 0x7C, + 0x08, 0x14, 0x90, 0xED, 0x58, 0xA2, 0x29, 0xED, + 0xBE, 0x81, 0x43, 0xC7, 0xD6, 0x48, 0xC2, 0x23, + 0x72, 0xA5, 0x4E, 0xC6, 0xE0, 0x03, 0x86, 0x7A, + 0x05, 0x6C, 0x23, 0x33, 0xFF, 0x24, 0x73, 0x9D, + 0x66, 0x41, 0xED, 0x52, 0xE7, 0x30, 0x6C, 0x9A, + 0xFC, 0x8C, 0xFA, 0xF9, 0x8F, 0xF8, 0x5F, 0x36, + 0xEE, 0x58, 0x26, 0x46, 0x9D, 0x15, 0x55, 0x34, + 0x91, 0x54, 0x42, 0xBB, 0x8B, 0x4A, 0xE6, 0x31, + 0x0C, 0x44, 0x2B, 0x15, 0x85, 0xDB, 0xE1, 0xD4, + 0xF4, 0x2B, 0x73, 0xEA, 0xDC, 0xAE, 0x02, 0xCA, + 0x94, 0x4C, 0x74, 0x02, 0x04, 0xA4, 0x35, 0x4F, + 0xB2, 0x14, 0xF6, 0x72, 0x14, 0xB5, 0x03, 0x3A, + 0x5D, 0xED, 0x5B, 0xDD, 0xF8, 0xD5, 0x1D, 0x81, + 0x95, 0x64, 0x16, 0x2B, 0xE2, 0xE7, 0x98, 0xD1, + 0x90, 0x09, 0x76, 0x2B, 0x7C, 0x3E, 0x32, 0x0B, + 0xE6, 0xF4, 0x08, 0x90, 0x0E, 0xFB, 0xA0, 0xCD, + 0x89, 0x07, 0xF3, 0xB1, 0x80, 0xF8, 0x04, 0xC9, + 0x5F, 0xEF, 0x73, 0x27, 0x7B, 0x74, 0x1A, 0xDF, + 0xA8, 0x01, 0x40, 0xF4, 0x80, 0xEC, 0x7C, 0x3A, + 0xB3, 0x13, 0x28, 0x80, 0xAB, 0x4E, 0xBE, 0xB1, + 0x3E, 0xF3, 0x9E, 0xEF, 0x66, 0x38, 0x6A, 0xC4, + 0x6D, 0x86, 0x24, 0xDF, 0x9E, 0xC6, 0xA6, 0x13, + 0x16, 0x94, 0xF2, 0x81, 0x47, 0x1D, 0x61, 0x83, + 0xAB, 0xAA, 0xCF, 0x50, 0xD8, 0x0C, 0x83, 0x07, + 0xA5, 0x6B, 0x96, 0x22, 0x8B, 0x3D, 0xAB, 0x6A, + 0x9F, 0x45, 0x8A, 0xE6, 0xA5, 0x78, 0x55, 0x37, + 0x16, 0x20, 0xBA, 0x04, 0xBD, 0x37, 0x83, 0x52, + 0x87, 0x96, 0xCC, 0xE4, 0x89, 0xAF, 0x58, 0x0E, + 0x95, 0xAD, 0x53, 0xFB, 0x5B, 0x91, 0x74, 0xC4, + 0xE0, 0x96, 0x83, 0x4E, 0xC3, 0x6A, 0x3D, 0x48, + 0x00, 0x12, 0x46, 0x1E, 0x58, 0xB1, 0xBA, 0x15, + 0xB4, 0x01, 0x77, 0xBD, 0xB2, 0x7E, 0xA1, 0xE7, + 0x8B, 0x6D, 0xCA, 0xFB, 0x01, 0x12, 0xFB, 0x30, + 0x67, 0x67, 0x9A, 0x99, 0xB6, 0x00, 0x96, 0x49, + 0x8D, 0x94, 0xBA, 0x77, 0x27, 0xAC, 0x33, 0xE4, + 0xD7, 0x63, 0x9F, 0x06, 0x06, 0x73, 0x6F, 0xA8, + 0xDD, 0xF3, 0x30, 0x44, 0xE4, 0x0B, 0x98, 0x93, + 0x7B, 0x4F, 0x49, 0xD9, 0x65, 0x4C, 0xEF, 0x69, + 0x0B, 0xC0, 0x3C, 0x5F, 0x9A, 0x83, 0x70, 0x3D, + 0xB4, 0x7B, 0x11, 0x5B, 0xCA, 0xD9, 0x61, 0xE1, + 0x0F, 0xA7, 0x52, 0xD9, 0xD1, 0xB8, 0x51, 0x09, + 0xA3, 0xDD, 0x45, 0x86, 0x19, 0x1A, 0x7F, 0x05, + 0x15, 0x81, 0xF5, 0xDA, 0xFE, 0x45, 0xB4, 0xCE, + 0x10, 0x24, 0xCF, 0x2D, 0x85, 0x9B, 0xBF, 0x2A, + 0xBD, 0x23, 0x8F, 0x14, 0xF8, 0x74, 0xB3, 0x2A, + 0xAE, 0x84, 0xF2, 0x8C, 0x16, 0xF0, 0xD6, 0xB2, + 0xEE, 0xFF, 0x22, 0x96, 0xBD, 0x96, 0x0A, 0x0A, + 0xD1, 0x04, 0xE6, 0xE0, 0x4A, 0x33, 0x40, 0x4F, + 0xE0, 0xCB, 0x4F, 0x9B, 0x14, 0x6E, 0x1A, 0x42, + 0x20, 0x5E, 0xAE, 0x96, 0x16, 0x0E, 0x41, 0xB2, + 0x13, 0x6D, 0x66, 0x3A, 0xB7, 0x2B, 0x71, 0x07, + 0x45, 0x2D, 0x9D, 0x85, 0xD1, 0xB1, 0xA6, 0xDB, + 0x1E, 0x2B, 0x6E, 0x6B, 0xF8, 0x98, 0xA9, 0x4B, + 0x05, 0x87, 0x9B, 0x93, 0x47, 0x2E, 0x0E, 0xAA, + 0xAC, 0x0A, 0x84, 0x4E, 0x60, 0x3A, 0xEE, 0x9B, + 0x2C, 0xFE, 0x54, 0xF3, 0x9F, 0xB5, 0x85, 0x10, + 0x6F, 0x5F, 0x29, 0x64, 0x4B, 0x52, 0x1B, 0xC4, + 0xEE, 0xD0, 0xAA, 0x46, 0xF1, 0xC9, 0xF1, 0xE2, + 0x66, 0x2B, 0x32, 0x0B, 0x32, 0xF3, 0x86, 0x77, + 0x7F, 0x24, 0x6F, 0x8C, 0xB8, 0xF4, 0xD0, 0xBC, + 0x49, 0xCB, 0x20, 0x3F, 0x4C, 0xA4, 0xB7, 0x94, + 0xDD, 0xF6, 0xAF, 0xC6, 0xC9, 0x6C, 0xF3, 0x3A, + 0x7C, 0x5E, 0xFB, 0xE5, 0x94, 0xD1, 0x31, 0xFC, + 0x87, 0xCC, 0xE5, 0x00, 0xE4, 0x98, 0xB4, 0xF4, + 0xD3, 0xD5, 0x15, 0x8A, 0xC6, 0x77, 0xC2, 0x1D, + 0x41, 0x95, 0x3A, 0xF8, 0xEC, 0x77, 0x6B, 0xA1, + 0xA7, 0x32, 0xF2, 0x7D, 0x76, 0x5E, 0xCC, 0xA3, + 0x00, 0x12, 0x2C, 0x9F, 0x7F, 0x0B, 0xA9, 0x3B, + 0x5B, 0xCD, 0xD7, 0x7C, 0xE8, 0x9F, 0xC3, 0xAC, + 0x65, 0x36, 0x57, 0x6A, 0x01, 0x12, 0x91, 0xC3, + 0xFB, 0x91, 0x64, 0x9B, 0x65, 0x82, 0xFD, 0xFD, + 0x9E, 0x17, 0x95, 0x08, 0xD3, 0xB9, 0xC3, 0x45, + 0xDD, 0x0D, 0x32, 0x6D, 0xEB, 0xC1, 0xFC, 0x21, + 0x0F, 0x9E, 0xF4, 0x6C, 0x7E, 0x81, 0x76, 0x79, + 0x2C, 0x10, 0x9D, 0x0D, 0x05, 0xD5, 0x33, 0xC7, + 0x23, 0xA6, 0xB6, 0x2E, 0xB5, 0x53, 0xBC, 0x52, + 0x07, 0x34, 0xE0, 0x93, 0x8F, 0xE5, 0x99, 0xB8, + 0x64, 0x1E, 0xB0, 0x38, 0xAA, 0xE5, 0x1F, 0x83, + 0xB0, 0x94, 0x90, 0xDD, 0x53, 0x4E, 0x73, 0x50, + 0xAF, 0xD6, 0x21, 0x81, 0xD8, 0x5B, 0xF3, 0x18, + 0x43, 0xD1, 0xCD, 0x2E, 0x76, 0x08, 0x68, 0xDE, + 0xC6, 0xEF, 0x40, 0xC0, 0x65, 0xA1, 0x26, 0x7B, + 0xEE, 0x43, 0x1D, 0x2D, 0x55, 0xF4, 0xF6, 0xF1, + 0x2C, 0x95, 0x42, 0x3A, 0x2A, 0x5E, 0xBE, 0x4E, + 0xB4, 0x2B, 0x7C, 0x63, 0x90, 0x02, 0x1D, 0xB2, + 0x4D, 0xE6, 0xDC, 0xF0, 0x6D, 0xD7, 0x62, 0xF8, + 0x2C, 0xD9, 0xB4, 0x43, 0x94, 0xA6, 0x5F, 0x52, + 0x17, 0x50, 0xEF, 0x69, 0x09, 0x46, 0x22, 0xE1, + 0xB5, 0x07, 0xAA, 0x9A, 0x35, 0xE7, 0xFC, 0xAD, + 0xB3, 0x53, 0x29, 0x71, 0x5B, 0x30, 0x04, 0xB7, + 0x00, 0xFA, 0xF5, 0x1F, 0xEC, 0xF5, 0xA7, 0x06, + 0xB0, 0x91, 0xA1, 0x14, 0xBD, 0x24, 0xBA, 0x08, + 0x19, 0x7A, 0xF6, 0x88, 0x49, 0x11, 0xB0, 0x90, + 0x23, 0xF4, 0xC6, 0x4D, 0xBB, 0x0C, 0x7A, 0xC2, + 0x6A, 0x2C, 0xAD, 0x44, 0x76, 0x69, 0xA0, 0x86, + 0x66, 0x4F, 0x4D, 0x96, 0x9F, 0x09, 0xD7, 0x5A, + 0x8F, 0x51, 0x4D, 0x4F, 0xDF, 0x85, 0x5E, 0x17, + 0x6E, 0xBB, 0x23, 0x12, 0xFF, 0x5C, 0xBB, 0x85, + 0xA7, 0xA1, 0x64, 0x60, 0x44, 0x6A, 0x2B, 0x84, + 0xA6, 0xA9, 0xF4, 0xAC, 0x82, 0xA6, 0xCE, 0xA0, + 0x15, 0x57, 0xFC, 0xD2, 0x55, 0x76, 0x15, 0x8B, + 0x62, 0x41, 0x4B, 0xF0, 0xE0, 0xB3, 0x8F, 0x37, + 0x73, 0x11, 0xEF, 0x1D, 0xDB, 0xC2, 0xF3, 0xD7, + 0x50, 0xDE, 0xF6, 0xE4, 0x0D, 0xAE, 0x81, 0x60, + 0x00, 0x12, 0x69, 0x0F, 0x68, 0xFA, 0x4B, 0x2D, + 0x4F, 0x61, 0xD4, 0x64, 0xEA, 0x3F, 0xB2, 0x42, + 0xD4, 0x6D, 0xDC, 0xC2, 0x01, 0x12, 0xC1, 0x64, + 0x6F, 0x09, 0x25, 0x10, 0xD0, 0xAE, 0xEC, 0x6D, + 0x6A, 0x53, 0x4D, 0xBB, 0xC0, 0x3E, 0xCF, 0x95, + 0x1F, 0x95, 0x4E, 0x45, 0x71, 0x60, 0x58, 0xF2, + 0x37, 0x35, 0x54, 0x74, 0x7D, 0x49, 0x3B, 0xA2, + 0x65, 0x47, 0xE8, 0x84, 0x73, 0x45, 0x2F, 0x07, + 0xFE, 0x47, 0xEE, 0xC5, 0x01, 0x33, 0x3E, 0x35, + 0x18, 0x3D, 0xFC, 0xD0, 0x03, 0x66, 0x97, 0xF5, + 0x0C, 0x5B, 0x8B, 0x02, 0xBE, 0xC4, 0x67, 0x8C, + 0xE7, 0x77, 0x55, 0x49, 0x8B, 0x9B, 0x20, 0x39, + 0xE1, 0x7F, 0x2C, 0x7D, 0xF8, 0xC9, 0x7D, 0x4B, + 0xD5, 0xCB, 0x1F, 0x2F, 0xDF, 0x8E, 0x95, 0x5D, + 0x84, 0x54, 0x2C, 0x95, 0xBF, 0xC6, 0x56, 0xD9, + 0x1E, 0x1E, 0xB9, 0xB7, 0xCB, 0x74, 0xB4, 0x78, + 0xE5, 0xDE, 0x2A, 0x0F, 0xE2, 0x2F, 0x16, 0x61, + 0x02, 0xD7, 0x17, 0xAF, 0xD1, 0x54, 0x1A, 0x12, + 0xFA, 0x7C, 0x4C, 0x54, 0x16, 0xAE, 0x39, 0x61, + 0xD2, 0xDC, 0x75, 0xC2, 0x8C, 0x1B, 0x2E, 0x53, + 0x19, 0x91, 0x1C, 0x02, 0xE6, 0x7D, 0x6C, 0xD9, + 0xF0, 0x8A, 0x31, 0x14, 0x90, 0x6E, 0x3F, 0x6D, + 0x0A, 0x7C, 0x40, 0xE3, 0x80, 0x13, 0x6F, 0xFD, + 0xD1, 0x31, 0x70, 0x9F, 0xCF, 0x83, 0x7F, 0x00, + 0xAB, 0x99, 0xC2, 0xC3, 0xA6, 0x69, 0xFB, 0x31, + 0x9E, 0xA7, 0xF1, 0x64, 0x3B, 0x6B, 0x36, 0x3E, + 0x94, 0x86, 0x3E, 0xE6, 0xFA, 0x7C, 0x79, 0xCB, + 0xC3, 0xF8, 0x73, 0x81, 0x1C, 0x8A, 0x23, 0xB3, + 0xCA, 0x00, 0x30, 0x2A, 0x3B, 0x3F, 0xCE, 0x81, + 0x94, 0x2B, 0x3D, 0x79, 0x7B, 0x21, 0xB1, 0x31, + 0x9D, 0x1C, 0x72, 0x32, 0x14, 0x1E, 0x2A, 0xEA, + 0x8A, 0x54, 0x4D, 0xDA, 0x1D, 0xD1, 0x0D, 0x19, + 0xCE, 0xCF, 0x1E, 0x80, 0xCA, 0xAC, 0x92, 0xDF, + 0x9A, 0x87, 0xAE, 0x0A, 0xA0, 0x97, 0x77, 0x41, + 0x4C, 0x40, 0x69, 0x25, 0xF9, 0x1F, 0x63, 0x1C, + 0x30, 0x89, 0x8D, 0x01, 0xF9, 0xBB, 0x4F, 0x8A, + 0xEF, 0xD4, 0x76, 0xB9, 0x55, 0x5F, 0xE0, 0x9B, + 0x00, 0x12, 0x50, 0x25, 0xE2, 0x78, 0xE3, 0x05, + 0x7F, 0x86, 0xBC, 0x04, 0xAB, 0x85, 0x5C, 0xC0, + 0xBA, 0xCE, 0x0D, 0xEA, 0x01, 0x12, 0xA5, 0xE0, + 0x24, 0xAD, 0xF0, 0x33, 0x43, 0x2A, 0x65, 0x6D, + 0x3C, 0x45, 0xCC, 0x49, 0x23, 0x37, 0x77, 0x77, + 0x04, 0x41, 0xCA, 0x16, 0x5D, 0x0E, 0x1C, 0x12, + 0x8A, 0x7E, 0x24, 0x19, 0x23, 0x7E, 0x2C, 0xAE, + 0x76, 0x14, 0x62, 0x44, 0x08, 0xE5, 0xF0, 0x8A, + 0x14, 0xA3, 0xF9, 0x82, 0x94, 0xE7, 0xA4, 0x4A, + 0x3C, 0x28, 0xE0, 0x6B, 0xF6, 0x10, 0x1A, 0x4F, + 0xEF, 0xA8, 0x0F, 0x6A, 0xFB, 0xD4, 0x7D, 0x23, + 0xD6, 0x65, 0xD4, 0x02, 0x5C, 0xF6, 0x7C, 0x84, + 0x7A, 0x28, 0x06, 0x0E, 0xCE, 0xA7, 0x3B, 0x10, + 0x3E, 0x37, 0x42, 0x3D, 0xE6, 0xDC, 0xDD, 0x13, + 0x0D, 0x26, 0x2E, 0xE8, 0x57, 0xDB, 0x88, 0x23, + 0xB0, 0x74, 0x3C, 0x73, 0xDC, 0x21, 0x88, 0xFF, + 0xD0, 0xA8, 0x0C, 0x44, 0x77, 0x53, 0x5B, 0x69, + 0x33, 0x14, 0x7B, 0x0C, 0x8F, 0x42, 0xCD, 0xC6, + 0x9B, 0xB9, 0x61, 0xB1, 0x61, 0xE6, 0x97, 0x33, + 0xE6, 0xA3, 0xFF, 0x96, 0x6E, 0x7B, 0x73, 0x7E, + 0x30, 0xB6, 0xEA, 0x7F, 0xD7, 0x43, 0x3A, 0x9F, + 0x3B, 0x7F, 0x7F, 0xEB, 0x31, 0xF0, 0xF1, 0xAB, + 0x62, 0x89, 0x02, 0xAF, 0x78, 0x3B, 0x79, 0x0E, + 0x24, 0x5E, 0x43, 0x6B, 0x72, 0x2D, 0xE0, 0x07, + 0xC3, 0x45, 0xFD, 0x5B, 0xE1, 0x0D, 0x16, 0x0C, + 0xA5, 0x04, 0x7B, 0x74, 0x34, 0xD2, 0xB2, 0x7E, + 0xCB, 0x7C, 0x5A, 0xF8, 0x68, 0x83, 0x36, 0x6A, + 0xE6, 0x9C, 0xD2, 0xAB, 0xED, 0xDF, 0xC6, 0x53, + 0xAD, 0xFD, 0x0B, 0xCD, 0xC0, 0xAE, 0x40, 0x90, + 0xFC, 0xCF, 0xB3, 0x88, 0x38, 0x80, 0xF5, 0x7B, + 0xA8, 0x2A, 0xF2, 0xDC, 0xA1, 0x94, 0x81, 0x8F, + 0xAA, 0xAE, 0x74, 0xF5, 0xC9, 0xA8, 0xB2, 0x91, + 0x8A, 0xF5, 0xEB, 0xE4, 0xAF, 0xF1, 0xBE, 0x41, + 0x6F, 0x4B, 0xCE, 0x93, 0x7D, 0xCC, 0xAB, 0xC2, + 0xAA, 0x1A, 0xE9, 0xD3, 0xE9, 0x8C, 0x69, 0x5F, + 0x12, 0x8D, 0x67, 0xC6, 0x8D, 0x4D, 0x4D, 0xFF, + 0xCF, 0x13, 0x59, 0x2B, 0x87, 0x71, 0x74, 0xC4, + 0x00, 0x12, 0x64, 0x2A, 0x9C, 0x7A, 0xEE, 0xC5, + 0xBC, 0xA7, 0x61, 0x7C, 0x6E, 0x08, 0xA3, 0x2D, + 0xA6, 0x1A, 0x2C, 0xB9, 0x01, 0x12, 0x64, 0x36, + 0x81, 0xDC, 0xBF, 0x7E, 0x0D, 0xED, 0xB2, 0x3A, + 0x06, 0xDF, 0x16, 0xC4, 0x5B, 0x8C, 0x25, 0xF6, + 0x82, 0x87, 0xCB, 0xC7, 0x90, 0x7D, 0x5B, 0x87, + 0x27, 0x0F, 0xB3, 0xF0, 0x75, 0xE3, 0x5B, 0xCA, + 0x0D, 0xC7, 0x24, 0x0E, 0xC0, 0xCF, 0x7F, 0x59, + 0x18, 0x50, 0xD4, 0x81, 0xDE, 0x82, 0xC0, 0xE3, + 0x53, 0xEC, 0x9A, 0xBE, 0xD7, 0x1F, 0x40, 0x80, + 0xFC, 0x21, 0x2C, 0xE0, 0x31, 0x3B, 0xCA, 0x64, + 0x5A, 0x5D, 0x44, 0xB1, 0x60, 0x44, 0xFB, 0x73, + 0xC9, 0x31, 0xB4, 0x92, 0xD1, 0xB2, 0xEA, 0x4D, + 0xB5, 0x00, 0x01, 0xFA, 0x23, 0x1C, 0x11, 0x5A, + 0x22, 0x18, 0xB8, 0x14, 0xDD, 0x1A, 0x6C, 0x35, + 0x09, 0x15, 0xD1, 0xFF, 0xB7, 0xF5, 0xFB, 0xEC, + 0x87, 0x3B, 0xB6, 0xF9, 0xFA, 0xE3, 0x12, 0x2C, + 0x45, 0x02, 0x9D, 0x1D, 0x92, 0x69, 0x5A, 0xD6, + 0xED, 0x43, 0x18, 0xB2, 0x40, 0x2E, 0xF6, 0x0E, + 0xC7, 0x35, 0x9D, 0x44, 0x42, 0x2C, 0x87, 0x64, + 0xD7, 0xC8, 0xDD, 0x2D, 0x84, 0xEC, 0x10, 0xB9, + 0xCE, 0x01, 0xC5, 0x39, 0x52, 0x18, 0xC7, 0x39, + 0x6B, 0x2F, 0x80, 0x3B, 0x85, 0x06, 0xD7, 0x38, + 0x2C, 0xEF, 0xFB, 0x63, 0x34, 0xF3, 0xF6, 0x79, + 0x62, 0xA2, 0x0D, 0x2E, 0x2F, 0x42, 0x17, 0xB0, + 0x8B, 0x68, 0x36, 0xCB, 0x50, 0xA2, 0xDF, 0x98, + 0xF7, 0x4E, 0xD3, 0xE9, 0x72, 0x30, 0xE8, 0x8B, + 0xEF, 0xC1, 0xA5, 0xBA, 0x1B, 0x6C, 0xB9, 0x25, + 0xDD, 0x40, 0x71, 0xB8, 0x34, 0x53, 0x03, 0xC3, + 0xBE, 0x35, 0x74, 0x34, 0xC0, 0xD8, 0x8C, 0xB4, + 0x0B, 0x03, 0x09, 0x3E, 0xD7, 0xB5, 0xA8, 0x9A, + 0xD6, 0x2D, 0x81, 0xF2, 0x3A, 0x54, 0x5B, 0x7D, + 0x85, 0x98, 0xA6, 0xA2, 0x6A, 0x3C, 0xB4, 0x2F, + 0xD8, 0xE6, 0x20, 0x77, 0x2B, 0x3E, 0xFC, 0x9C, + 0x2D, 0x19, 0xCC, 0x72, 0xAA, 0xAA, 0x79, 0x8F, + 0x2D, 0x49, 0x62, 0xA8, 0xB2, 0x95, 0xAE, 0x0D, + 0x4D, 0x19, 0x86, 0x6D, 0x61, 0x88, 0x6E, 0x27, + 0x00, 0x12, 0x90, 0x71, 0x61, 0x10, 0x92, 0x48, + 0xEE, 0x8C, 0x1A, 0x44, 0xF6, 0x06, 0xFD, 0x66, + 0x91, 0x6E, 0x2A, 0xAE, 0x01, 0x12, 0x07, 0x0B, + 0x74, 0xF9, 0xE2, 0xD1, 0x35, 0x69, 0xDF, 0xD1, + 0x55, 0x70, 0x86, 0x26, 0x58, 0xBE, 0x0B, 0x7A, + 0xA1, 0x35, 0x98, 0xC7, 0x95, 0x1D, 0x98, 0x7A, + 0x78, 0x4E, 0x26, 0x0F, 0x25, 0x7D, 0x19, 0x3C, + 0xEB, 0xF7, 0x48, 0xAC, 0x10, 0x06, 0x3F, 0x0E, + 0xB8, 0x90, 0x25, 0x4E, 0x9A, 0x60, 0xA0, 0x5B, + 0x64, 0x61, 0xED, 0xC6, 0x70, 0x7C, 0x3C, 0xFC, + 0x92, 0x1D, 0x30, 0x06, 0x71, 0xD4, 0xA8, 0xA8, + 0xC6, 0xB1, 0xFD, 0x4A, 0xA2, 0xD7, 0x18, 0x4D, + 0x0A, 0x24, 0x49, 0x41, 0x70, 0x14, 0xA4, 0xD9, + 0xAF, 0xDB, 0x70, 0x7D, 0x37, 0x6A, 0x37, 0x45, + 0xDE, 0x75, 0x4E, 0xAC, 0x5F, 0xA6, 0xDF, 0xD9, + 0x4C, 0x6A, 0x92, 0x17, 0x48, 0xC3, 0x22, 0x89, + 0x99, 0x5B, 0x42, 0x8E, 0x89, 0x69, 0xA8, 0x42, + 0x21, 0x13, 0x72, 0xD8, 0x71, 0x0B, 0x49, 0x78, + 0xCE, 0xC0, 0xDF, 0xCA, 0x65, 0x21, 0x46, 0x44, + 0xBF, 0x2C, 0x5A, 0xD3, 0x2F, 0x4A, 0x7A, 0xA2, + 0x08, 0x4D, 0xA8, 0xB6, 0x34, 0x7D, 0x85, 0xD0, + 0xB6, 0x91, 0xF5, 0x70, 0x0F, 0xF7, 0x1D, 0xB6, + 0xA4, 0xE7, 0x5C, 0xBD, 0x2D, 0x20, 0x88, 0xD5, + 0xBB, 0xB5, 0x7E, 0x43, 0x50, 0xDA, 0x7C, 0x21, + 0x70, 0x75, 0x64, 0x05, 0xDD, 0xFA, 0x33, 0x0E, + 0xE0, 0xF6, 0x75, 0xBB, 0xF6, 0xEE, 0x7E, 0xA2, + 0x28, 0x96, 0x02, 0x6F, 0xD5, 0x67, 0x7E, 0x2B, + 0x63, 0x18, 0xD9, 0xD8, 0x47, 0x34, 0x3E, 0x73, + 0x67, 0xFE, 0x62, 0xCB, 0x57, 0x61, 0x2F, 0x40, + 0x7E, 0x49, 0x3A, 0xDB, 0x23, 0x99, 0x6F, 0x14, + 0x50, 0xD6, 0x75, 0xBF, 0x11, 0x43, 0x45, 0xCF, + 0xE0, 0x58, 0x72, 0xFB, 0x92, 0x6C, 0x2C, 0x06, + 0x1D, 0xB3, 0x2F, 0x2D, 0x86, 0xA1, 0xBC, 0xE8, + 0xDA, 0xE4, 0xD3, 0xD2, 0x7E, 0xA4, 0xA4, 0xA3, + 0x74, 0x66, 0x46, 0x55, 0xCA, 0x20, 0x61, 0xD9, + 0xB4, 0xD8, 0x5F, 0xF5, 0xAD, 0xF6, 0xB2, 0x8A, + 0x8C, 0x85, 0xDF, 0x3B, 0x68, 0xD4, 0x9B, 0xE3, + 0x00, 0x12, 0xF8, 0xB0, 0xAE, 0x6A, 0x57, 0xB5, + 0x96, 0xF0, 0xFC, 0x51, 0xE4, 0x95, 0x74, 0xD6, + 0x4A, 0x89, 0xFD, 0x3A, 0x01, 0x12, 0xF8, 0x6A, + 0x63, 0x59, 0xE6, 0x6E, 0x1E, 0xC9, 0xC8, 0x98, + 0x2A, 0x3C, 0x15, 0xF3, 0x27, 0x8B, 0x9C, 0xA2, + 0xFF, 0x00, 0x7C, 0x49, 0x64, 0xE1, 0xDB, 0x8D, + 0xAF, 0x0F, 0xF6, 0x1F, 0xA4, 0xDD, 0x52, 0x5B, + 0xDE, 0xE8, 0x58, 0x87, 0xFB, 0xD7, 0xDE, 0xAA, + 0xF0, 0x1D, 0x30, 0xE4, 0x70, 0x99, 0xEE, 0xDD, + 0xC9, 0x09, 0x36, 0x5F, 0xF6, 0xD0, 0x07, 0x77, + 0xBE, 0x3B, 0x34, 0x21, 0x81, 0x5A, 0xF3, 0x0B, + 0x07, 0x57, 0x15, 0x9D, 0x87, 0xAE, 0xCE, 0xE4, + 0x9F, 0x73, 0x7F, 0xAF, 0x6E, 0x72, 0xD5, 0x81, + 0x0F, 0xA2, 0x05, 0xBD, 0xA8, 0xFA, 0x4F, 0x9A, + 0xCB, 0x07, 0x36, 0xF7, 0xE5, 0x9E, 0x7B, 0x56, + 0xFB, 0x64, 0x1F, 0xA5, 0x41, 0x8A, 0x90, 0x35, + 0x79, 0xEB, 0xA7, 0xB7, 0x7A, 0x1C, 0x3E, 0xAB, + 0x63, 0xBB, 0xE2, 0x81, 0x38, 0x07, 0x9F, 0x4A, + 0xAF, 0x34, 0xA6, 0x8E, 0xA9, 0x2B, 0xA5, 0xF9, + 0x95, 0x30, 0x63, 0xA1, 0x13, 0xCC, 0xF0, 0x6E, + 0x34, 0xA3, 0xA9, 0xF6, 0x01, 0xFC, 0x54, 0xE9, + 0x50, 0x88, 0x7B, 0x95, 0xE8, 0x34, 0xA0, 0x60, + 0x28, 0xD9, 0xE3, 0x8A, 0xCE, 0xB2, 0x62, 0xBA, + 0x2C, 0x48, 0xFC, 0x6C, 0x30, 0x69, 0xFB, 0xDB, + 0x64, 0xC3, 0x84, 0x53, 0x44, 0x39, 0x15, 0x99, + 0x4F, 0xFE, 0x41, 0xB6, 0x0D, 0x5E, 0x49, 0xA6, + 0x7B, 0x5C, 0xDB, 0x44, 0xE6, 0x0D, 0x0C, 0xDA, + 0xBC, 0xE0, 0x62, 0xD0, 0xFA, 0x94, 0x23, 0x3E, + 0x6E, 0x60, 0x42, 0xC0, 0x4F, 0xB4, 0xDC, 0xFB, + 0xBF, 0xF2, 0x5B, 0xC1, 0xE8, 0x19, 0xF8, 0xBF, + 0x8D, 0xBF, 0xE9, 0x17, 0x27, 0xA1, 0x71, 0x6B, + 0x09, 0x51, 0x2C, 0xEA, 0xAA, 0x77, 0x22, 0x4D, + 0x9A, 0xF6, 0x04, 0xBF, 0x23, 0x2F, 0x59, 0x29, + 0x2B, 0x94, 0x41, 0xC8, 0x4B, 0xD5, 0xC0, 0xB9, + 0xD3, 0x3A, 0xFB, 0xC6, 0x68, 0xBF, 0x82, 0x4A, + 0xD4, 0x4B, 0x25, 0x17, 0x49, 0x1F, 0x8D, 0xD4, + 0x99, 0x79, 0x8E, 0xC4, 0xE3, 0xA9, 0x60, 0x23, + 0x00, 0x12, 0xEC, 0x45, 0x4E, 0xC3, 0x45, 0x54, + 0x5C, 0x59, 0xA8, 0x43, 0xC5, 0xED, 0x8C, 0x20, + 0xF6, 0x42, 0x34, 0x40, 0x01, 0x12, 0x91, 0x62, + 0xEE, 0x53, 0xB1, 0xA3, 0x2E, 0xCF, 0x5B, 0x44, + 0x15, 0x92, 0x53, 0xBF, 0x77, 0xF0, 0x58, 0xD8, + 0x9C, 0xBC, 0xFF, 0x5C, 0x84, 0x3B, 0x50, 0xF3, + 0x23, 0xB1, 0x8B, 0xBE, 0x78, 0x37, 0x59, 0xAA, + 0x28, 0x43, 0x8A, 0x14, 0xBD, 0xCC, 0x2E, 0x4C, + 0x95, 0x0D, 0xD6, 0xA3, 0x71, 0xDF, 0x34, 0xED, + 0x8B, 0x91, 0x32, 0x93, 0x55, 0x87, 0x0E, 0xFC, + 0x6E, 0xA6, 0xBB, 0x03, 0x26, 0xD7, 0xC1, 0x09, + 0xC1, 0x24, 0x39, 0x91, 0x01, 0x4B, 0x88, 0x24, + 0xB4, 0x56, 0xDA, 0x90, 0x6F, 0x63, 0xA0, 0xE5, + 0x8D, 0x32, 0x2B, 0xCA, 0xD5, 0x7E, 0xD5, 0x3F, + 0xE3, 0x71, 0xD7, 0xD3, 0x37, 0x30, 0x7B, 0xC2, + 0x3A, 0x5C, 0x32, 0x46, 0x8A, 0x76, 0xB7, 0x92, + 0x90, 0x2F, 0x61, 0xAE, 0x1A, 0x9D, 0x89, 0x99, + 0x15, 0x23, 0xB2, 0x0B, 0xA6, 0x2E, 0x15, 0x47, + 0x0D, 0x8C, 0x0F, 0x68, 0x98, 0xEC, 0xE5, 0x4D, + 0x97, 0x4E, 0xB5, 0x96, 0x2C, 0xFF, 0x5A, 0xC2, + 0xCB, 0xDC, 0xFF, 0x79, 0x81, 0xD2, 0xB1, 0xEF, + 0x88, 0xFE, 0x9E, 0x80, 0x79, 0x22, 0xC0, 0x76, + 0xCF, 0xED, 0x33, 0xC2, 0xF6, 0xC2, 0x36, 0x85, + 0x7B, 0x49, 0x88, 0x08, 0x31, 0x19, 0xB0, 0x35, + 0xA8, 0x2B, 0x4A, 0x0E, 0x5B, 0x40, 0x3A, 0x2E, + 0xE2, 0xB3, 0x3C, 0xF8, 0xBA, 0x4B, 0x3F, 0x6A, + 0xD9, 0x34, 0xC0, 0xD9, 0xBD, 0x97, 0xF8, 0xE6, + 0x49, 0xFC, 0xEC, 0xC6, 0x23, 0xC1, 0xC9, 0x54, + 0x08, 0xDF, 0x96, 0x06, 0xE2, 0x90, 0xFA, 0xBB, + 0x26, 0xEA, 0x49, 0x6D, 0xD0, 0x96, 0x7D, 0xC3, + 0xE6, 0xE6, 0xEF, 0xFB, 0x40, 0xA1, 0x05, 0x66, + 0x06, 0x87, 0xDB, 0x89, 0x8C, 0x4E, 0x1A, 0xC3, + 0x97, 0x1F, 0xDF, 0x0D, 0xFF, 0x94, 0x10, 0xCF, + 0xAF, 0x92, 0x2A, 0xFB, 0x45, 0xBD, 0xE4, 0xC4, + 0x28, 0x58, 0xC3, 0x37, 0xD9, 0xD2, 0xE0, 0x5C, + 0x27, 0x2D, 0x59, 0xB7, 0x0C, 0x43, 0xBC, 0xE6, + 0x2C, 0xEF, 0x53, 0x01, 0xAF, 0x3A, 0xA1, 0x58, + 0x00, 0x12, 0xCC, 0x0D, 0x25, 0x0A, 0x8A, 0x0D, + 0x51, 0x25, 0xC1, 0x72, 0xB9, 0xC2, 0xDE, 0xCD, + 0x79, 0xE3, 0x1E, 0x96, 0x01, 0x12, 0x60, 0xD9, + 0x64, 0x91, 0x2D, 0x68, 0xA8, 0x4C, 0x78, 0x8E, + 0x5C, 0x3D, 0x73, 0x48, 0xE6, 0x80, 0xE1, 0xE1, + 0x93, 0x3E, 0x7D, 0xE4, 0x5E, 0x57, 0xF0, 0xBF, + 0xAF, 0x86, 0x4D, 0xF0, 0x54, 0xD9, 0x96, 0xBC, + 0x88, 0x76, 0x6F, 0xF8, 0x69, 0x7D, 0xBE, 0xB3, + 0x53, 0x88, 0xAD, 0x55, 0x60, 0x55, 0xC3, 0x5E, + 0x13, 0x7A, 0x25, 0xE7, 0x59, 0xC6, 0x4B, 0x70, + 0xD7, 0xA5, 0x10, 0xC8, 0xF2, 0xB3, 0x39, 0x51, + 0x22, 0x80, 0x16, 0xE7, 0x3F, 0xC4, 0xC2, 0xBA, + 0x0A, 0x63, 0xDA, 0x1A, 0x07, 0x16, 0x78, 0x3E, + 0xB2, 0x9F, 0x9E, 0xDC, 0x04, 0xC3, 0xB4, 0xC4, + 0x75, 0x53, 0xFA, 0xFA, 0x3D, 0x1A, 0x05, 0x29, + 0x1F, 0xC8, 0x7A, 0xFF, 0x63, 0x58, 0x69, 0x95, + 0x79, 0x30, 0x67, 0x92, 0x54, 0x62, 0xCF, 0xBE, + 0x95, 0x1F, 0xCC, 0x31, 0x81, 0x55, 0x30, 0x35, + 0xBE, 0x11, 0x45, 0xAB, 0x2C, 0x95, 0xC3, 0xA6, + 0x2C, 0x1B, 0xE1, 0xF3, 0x8B, 0x4D, 0xB2, 0x6B, + 0xFF, 0xEA, 0x7E, 0xA1, 0x22, 0xA3, 0xDA, 0x0D, + 0x1D, 0x43, 0x63, 0xC9, 0x75, 0xE0, 0xD1, 0xBB, + 0xE6, 0xCE, 0xB9, 0xFC, 0x69, 0x09, 0x71, 0xD3, + 0xD8, 0x8A, 0x70, 0xF0, 0x72, 0x94, 0x26, 0xDD, + 0xD8, 0x72, 0xE2, 0x67, 0x4D, 0x1D, 0x12, 0xC5, + 0x6B, 0x6E, 0x1B, 0x68, 0x64, 0x99, 0xCE, 0x9A, + 0x1F, 0x43, 0x6E, 0xDC, 0x99, 0x36, 0x96, 0xF1, + 0xB6, 0xC7, 0x20, 0x92, 0xEE, 0x24, 0xE7, 0x2C, + 0x5C, 0xCE, 0xBC, 0x7E, 0x9F, 0x1A, 0x24, 0x85, + 0x63, 0x1D, 0x5F, 0xF1, 0x6E, 0xE6, 0x83, 0x91, + 0xC4, 0xB1, 0x07, 0xF5, 0x4D, 0x0B, 0x99, 0xE4, + 0x7F, 0xBC, 0x44, 0x94, 0x3C, 0x2C, 0xB8, 0x4F, + 0x9D, 0x4F, 0xEB, 0xB9, 0xAD, 0x68, 0xE6, 0x60, + 0xAF, 0xDC, 0x5D, 0xEF, 0x81, 0x64, 0xEF, 0x0F, + 0xBD, 0x23, 0xC3, 0xD5, 0x9C, 0x6B, 0x1E, 0xB3, + 0xD8, 0xA6, 0xD4, 0x45, 0xCF, 0xC7, 0xCC, 0x9C, + 0x89, 0x9D, 0xED, 0xA9, 0x79, 0x07, 0x92, 0x6C, + 0x00, 0x12, 0x32, 0x04, 0x2B, 0x47, 0x37, 0xDD, + 0x7F, 0x33, 0x8D, 0x04, 0x16, 0x5B, 0xD6, 0x5B, + 0x14, 0x24, 0x05, 0x25, 0x01, 0x12, 0x90, 0x00, + 0x96, 0x1E, 0xE3, 0x33, 0x56, 0x53, 0xEC, 0xCD, + 0xE6, 0xCD, 0x96, 0x3B, 0x7B, 0x7A, 0x70, 0x75, + 0xB3, 0x94, 0xE3, 0x6C, 0x86, 0x98, 0xAA, 0x82, + 0x31, 0x34, 0x84, 0x19, 0x54, 0xF2, 0x28, 0x2A, + 0x0E, 0x93, 0x97, 0x4A, 0xD1, 0x09, 0x1E, 0x6C, + 0x30, 0xD5, 0xD5, 0xBC, 0x9D, 0x69, 0xEB, 0x8D, + 0x89, 0x64, 0xCB, 0x37, 0x4D, 0xC4, 0x5D, 0x3E, + 0xB9, 0xFD, 0x36, 0xBB, 0xBF, 0xCC, 0x05, 0xEE, + 0x8B, 0x64, 0x8B, 0xFA, 0xB1, 0xDA, 0x2F, 0x2F, + 0xC8, 0x15, 0xBC, 0x90, 0xE3, 0xC3, 0xCB, 0x34, + 0x43, 0xBE, 0x3C, 0x95, 0x01, 0x99, 0x39, 0x11, + 0xF4, 0xC9, 0xE0, 0x4A, 0x68, 0x1A, 0x51, 0x51, + 0x38, 0x1A, 0x2F, 0x5F, 0x35, 0x53, 0x71, 0x27, + 0xD2, 0x4F, 0xC2, 0x35, 0x6A, 0xEE, 0x34, 0xA3, + 0xEE, 0xD5, 0x25, 0x2F, 0x48, 0xDC, 0xC4, 0x26, + 0xDF, 0x6C, 0xA0, 0xCC, 0x58, 0x17, 0x08, 0x72, + 0x1F, 0x96, 0x4A, 0x4A, 0x12, 0x28, 0xB0, 0x64, + 0xA9, 0xE2, 0xCA, 0xE0, 0x1E, 0x20, 0xC2, 0x96, + 0xCE, 0x16, 0x1C, 0x38, 0xA7, 0x68, 0xD3, 0x8E, + 0xCB, 0x29, 0xD7, 0xE2, 0x9D, 0xFA, 0x1A, 0x26, + 0x66, 0x57, 0x9C, 0xB3, 0x83, 0xF7, 0x39, 0x08, + 0x0B, 0x85, 0x38, 0x64, 0x70, 0xEC, 0x0E, 0x2F, + 0x4A, 0x8F, 0xAE, 0x36, 0x54, 0x9D, 0x94, 0x3F, + 0xD4, 0x75, 0x56, 0x69, 0x3E, 0x3B, 0xE1, 0xC3, + 0xFF, 0x20, 0x15, 0xEB, 0x38, 0x3F, 0x9F, 0x70, + 0xA0, 0x98, 0xA7, 0x4B, 0xB4, 0xA6, 0xF9, 0xB6, + 0x71, 0xA9, 0x2B, 0xA9, 0x54, 0xBF, 0x16, 0xDC, + 0xC4, 0xCC, 0x75, 0x7B, 0x71, 0x4F, 0x64, 0xC1, + 0x3C, 0x56, 0x28, 0xA5, 0x94, 0xD0, 0x9B, 0xB1, + 0xD3, 0x6F, 0x24, 0xBB, 0x36, 0x9C, 0xE2, 0xDA, + 0x4C, 0xF3, 0x69, 0xF2, 0x61, 0x06, 0x49, 0xCF, + 0xB2, 0xB6, 0x8B, 0x83, 0x73, 0x8E, 0x8F, 0x56, + 0x7B, 0xE2, 0xB2, 0x41, 0xDC, 0xDB, 0x8E, 0x97, + 0x43, 0x1B, 0x63, 0x14, 0x35, 0xD7, 0xA8, 0x33, + 0x00, 0x12, 0x21, 0x34, 0x81, 0x35, 0xE9, 0x28, + 0x12, 0xA5, 0x3B, 0x85, 0xA5, 0x83, 0x95, 0x0D, + 0x44, 0x7F, 0xB2, 0xBF, 0x01, 0x12, 0xAE, 0x2E, + 0x98, 0xB7, 0x30, 0xDE, 0x01, 0x33, 0x1E, 0xE9, + 0x3C, 0xD6, 0xE0, 0x79, 0x0D, 0xD0, 0x20, 0x23, + 0x3F, 0x4B, 0x41, 0xE7, 0xAC, 0x1D, 0x52, 0x1D, + 0xAD, 0x86, 0x17, 0xC7, 0xDE, 0xF3, 0x7B, 0x48, + 0xE2, 0xEB, 0x6A, 0x36, 0xE8, 0x01, 0xE6, 0x03, + 0x2E, 0xFA, 0x86, 0x87, 0x84, 0x15, 0x54, 0x6A, + 0x23, 0x7D, 0xA6, 0x92, 0xBA, 0x54, 0x51, 0xD2, + 0xEA, 0x22, 0xCF, 0xD8, 0x94, 0x88, 0x44, 0x9C, + 0xEC, 0x38, 0x59, 0x1D, 0x96, 0x4E, 0xA7, 0x7C, + 0x7A, 0xF9, 0xED, 0xB5, 0x95, 0xD9, 0xD5, 0xC8, + 0xA3, 0xC9, 0x03, 0x9A, 0x59, 0xC0, 0x14, 0x6D, + 0x63, 0x44, 0xD0, 0xA7, 0x77, 0x0C, 0x37, 0x96, + 0x4C, 0x22, 0x9E, 0x50, 0x7E, 0x84, 0xF5, 0xA5, + 0x61, 0xE6, 0x3A, 0xEC, 0xBD, 0xCA, 0x8E, 0xBE, + 0xEE, 0x53, 0x7B, 0xAD, 0xC0, 0x5E, 0xE2, 0x7A, + 0xC6, 0x03, 0xCC, 0xE6, 0x6E, 0x4E, 0x85, 0xA8, + 0x3C, 0xF9, 0xEF, 0x9A, 0x1F, 0xF7, 0x42, 0x73, + 0x38, 0x42, 0xA5, 0x56, 0x52, 0x84, 0x22, 0xBE, + 0xD4, 0x15, 0x68, 0x8A, 0x46, 0x60, 0x8B, 0x64, + 0x42, 0xC4, 0x27, 0x93, 0xCB, 0x04, 0xF0, 0x0A, + 0x4D, 0xB0, 0xF3, 0x2E, 0xD2, 0x99, 0x9E, 0xBD, + 0xCB, 0x19, 0x44, 0xEC, 0xDA, 0x07, 0xB0, 0x89, + 0xF9, 0x49, 0xE0, 0x78, 0x2D, 0xB6, 0x92, 0xF6, + 0x14, 0xB6, 0x91, 0x5F, 0xB9, 0xC5, 0x81, 0x56, + 0xBE, 0xD1, 0x3E, 0xDE, 0xE1, 0xF3, 0x8E, 0xA3, + 0x1C, 0x71, 0xC3, 0x20, 0x3D, 0x0A, 0x5A, 0x51, + 0xAF, 0x18, 0x12, 0x69, 0x2F, 0x62, 0x82, 0x56, + 0x93, 0x62, 0x50, 0xE4, 0xC5, 0x0B, 0x47, 0x82, + 0x2E, 0x82, 0x6E, 0xEC, 0xC2, 0x56, 0xC5, 0xDF, + 0x65, 0xFA, 0x3C, 0x6C, 0xC9, 0x3A, 0x97, 0x67, + 0xBF, 0x39, 0x36, 0x03, 0x51, 0x5D, 0x85, 0x66, + 0xB5, 0xD4, 0x45, 0xCD, 0x39, 0x5E, 0x4F, 0x3B, + 0x6A, 0xFA, 0x35, 0xB5, 0x9A, 0x26, 0x0B, 0xBC, + 0xC4, 0x55, 0x48, 0xFA, 0x9C, 0x41, 0xBC, 0x8C, + 0x00, 0x12, 0xF2, 0x4A, 0xB7, 0x69, 0x4F, 0x96, + 0xC4, 0xFC, 0x77, 0xF0, 0x8F, 0xDB, 0x2C, 0xF3, + 0xD6, 0x49, 0x39, 0x17, 0x01, 0x12, 0xD2, 0x78, + 0xB6, 0x92, 0xEB, 0xED, 0x09, 0x80, 0xE9, 0xC2, + 0xC0, 0xD5, 0x9B, 0xA1, 0xA3, 0xCA, 0x83, 0x20, + 0x7B, 0xF4, 0xB7, 0x82, 0x2B, 0x90, 0x8A, 0x21, + 0xE7, 0x24, 0x51, 0xAD, 0xB8, 0x06, 0x0B, 0xA3, + 0x3D, 0x8A, 0xD6, 0xC3, 0xEB, 0x38, 0xCF, 0x7A, + 0x85, 0xEA, 0x7C, 0xF6, 0x85, 0xA2, 0x19, 0x3B, + 0xB6, 0xCE, 0x93, 0x4B, 0xE6, 0xEC, 0x36, 0xA9, + 0x74, 0x49, 0xA7, 0x5C, 0x3F, 0x68, 0x65, 0x6B, + 0xD9, 0x66, 0x03, 0x35, 0x41, 0xFB, 0xC4, 0xE6, + 0x43, 0x31, 0x9F, 0xC3, 0x17, 0xDF, 0xE1, 0x58, + 0x6A, 0x25, 0xA0, 0x4D, 0xFE, 0x34, 0xA3, 0x37, + 0xB7, 0x10, 0x49, 0x30, 0x75, 0x49, 0xC2, 0xC3, + 0x86, 0x86, 0xA7, 0x6D, 0x34, 0x96, 0xDC, 0x93, + 0x7B, 0x39, 0x3B, 0x98, 0xD0, 0x3C, 0xFF, 0x21, + 0xBE, 0x49, 0x4A, 0xB4, 0x8E, 0x4C, 0x7E, 0xD9, + 0x69, 0x84, 0x78, 0xAE, 0x30, 0x0E, 0x87, 0x7A, + 0x92, 0x04, 0x19, 0xFA, 0xF1, 0x18, 0xF0, 0x45, + 0x82, 0xA1, 0x14, 0x8E, 0xE1, 0xAE, 0xD4, 0x83, + 0xD1, 0x70, 0x72, 0xA1, 0x63, 0x0A, 0x1E, 0x21, + 0x9B, 0x11, 0x18, 0x47, 0x5E, 0xBE, 0x86, 0xB9, + 0x5A, 0x93, 0xA7, 0x61, 0xFD, 0x87, 0xE6, 0x3F, + 0xB1, 0x97, 0xC1, 0x3D, 0x1A, 0x13, 0xEB, 0xA8, + 0xD9, 0x09, 0x76, 0x90, 0xFC, 0x97, 0xD2, 0x9A, + 0xAC, 0x60, 0x5E, 0xD7, 0x06, 0xB2, 0x45, 0x2F, + 0xA4, 0x58, 0xE7, 0x65, 0x92, 0x46, 0x61, 0xBF, + 0xF7, 0x97, 0x43, 0x78, 0xF1, 0x66, 0x32, 0xD8, + 0xF2, 0x49, 0x60, 0xB2, 0x33, 0x30, 0xAC, 0x71, + 0x73, 0xBA, 0x52, 0xFE, 0xC6, 0x0A, 0x9A, 0x15, + 0xF5, 0xF0, 0x68, 0x6C, 0x0F, 0x44, 0x24, 0xE3, + 0x39, 0x99, 0xC8, 0x08, 0x80, 0x13, 0xAF, 0xBA, + 0xA3, 0x06, 0x5D, 0x6C, 0xC6, 0x13, 0xE1, 0x30, + 0xB5, 0xB6, 0xED, 0x0E, 0xC9, 0x5D, 0xFF, 0x12, + 0x52, 0xDA, 0x92, 0x1D, 0x03, 0x96, 0xDE, 0x4B, + 0x07, 0x5E, 0x86, 0x3A, 0xAB, 0xC9, 0x95, 0xC6, + 0x00, 0x12, 0xF8, 0x93, 0x5C, 0xDE, 0x55, 0xE4, + 0xB9, 0x42, 0x9C, 0x73, 0x8F, 0x44, 0xBE, 0x0F, + 0xD3, 0xBA, 0x23, 0x25, 0x01, 0x12, 0x4F, 0x67, + 0xB1, 0x4D, 0x01, 0x16, 0x6C, 0x8B, 0x08, 0xE0, + 0xC3, 0x79, 0x0B, 0x1D, 0xAF, 0x53, 0xE7, 0xD9, + 0x33, 0x1C, 0x31, 0x6C, 0x74, 0x16, 0x0D, 0x15, + 0x9F, 0x69, 0xE7, 0xD5, 0x07, 0x4C, 0x8B, 0xDC, + 0x3E, 0xBB, 0x8F, 0xBB, 0x0A, 0x06, 0x1D, 0xAC, + 0x7F, 0x3D, 0x37, 0x98, 0x61, 0x9E, 0xCC, 0x82, + 0xB7, 0x9D, 0x90, 0xF1, 0x7F, 0x18, 0x5F, 0xB7, + 0x28, 0x95, 0xDD, 0x0A, 0x48, 0x4B, 0xBB, 0x7F, + 0x06, 0x54, 0x02, 0x66, 0x3F, 0x82, 0x0A, 0xC2, + 0x00, 0x34, 0x0F, 0x36, 0x3A, 0x9E, 0xAA, 0xBF, + 0x04, 0x6F, 0xE8, 0x5F, 0xA1, 0x0B, 0x89, 0x28, + 0xF1, 0x54, 0xC1, 0x80, 0xA0, 0xA9, 0xB6, 0x5C, + 0xA5, 0xE1, 0x21, 0xC3, 0x71, 0xEE, 0xA4, 0xBA, + 0x33, 0x7B, 0xC2, 0x1B, 0x3B, 0x85, 0x4E, 0x62, + 0x3E, 0x83, 0xD0, 0x35, 0xCD, 0x47, 0x2D, 0xD9, + 0x87, 0xE0, 0xF5, 0xAD, 0x79, 0x8F, 0x44, 0x1F, + 0xB6, 0x0D, 0x9C, 0x9D, 0x68, 0xD7, 0x0B, 0xDC, + 0x5F, 0xF9, 0x5E, 0xE1, 0x7C, 0xC3, 0x71, 0xEB, + 0x5E, 0xD1, 0xD5, 0xD0, 0x44, 0x81, 0x95, 0xC2, + 0xA4, 0xA0, 0x4C, 0xDF, 0xD2, 0xBF, 0x65, 0xF7, + 0xE5, 0x27, 0x58, 0x83, 0x6B, 0xAF, 0x15, 0x2E, + 0x5E, 0x43, 0x81, 0x28, 0x72, 0x7E, 0x40, 0xBA, + 0x55, 0xFB, 0x40, 0xA8, 0xB8, 0x86, 0x83, 0x8F, + 0x27, 0x2F, 0xED, 0x20, 0x08, 0x5A, 0xAE, 0x5F, + 0x01, 0xC0, 0xDD, 0x5E, 0x2D, 0xDC, 0x17, 0x23, + 0xE1, 0x7A, 0x78, 0x65, 0xEB, 0x6F, 0x34, 0xCD, + 0xC4, 0xF7, 0x23, 0x1A, 0xD1, 0xED, 0x21, 0x2C, + 0xE2, 0xE0, 0x9B, 0xCB, 0x3B, 0x83, 0x66, 0xFF, + 0xB3, 0x0F, 0x36, 0x0F, 0x88, 0xA9, 0xB3, 0xA9, + 0xDD, 0xC2, 0x3B, 0x36, 0x88, 0x27, 0x94, 0x4D, + 0x3C, 0xBD, 0x4F, 0x89, 0x4A, 0x47, 0x68, 0x2F, + 0x1B, 0xD1, 0x20, 0xB6, 0xEE, 0x0D, 0x36, 0xA1, + 0xAF, 0xBD, 0xA6, 0xAC, 0x4C, 0x50, 0x99, 0x7E, + 0x7A, 0xB8, 0x5B, 0x85, 0xCF, 0xC4, 0xFA, 0xD9, + 0x00, 0x12, 0x27, 0x18, 0x86, 0xB0, 0xA5, 0x4B, + 0x1B, 0xBB, 0xD1, 0x01, 0xDA, 0xC1, 0xC1, 0x8B, + 0x79, 0xA2, 0x38, 0xB3, 0x01, 0x12, 0xE6, 0x0C, + 0xE8, 0x8E, 0xC0, 0x18, 0x72, 0xB0, 0x16, 0x3E, + 0x97, 0x3F, 0xE3, 0x5E, 0x05, 0xE6, 0x57, 0xE7, + 0x70, 0xAA, 0x73, 0x9A, 0x75, 0x8F, 0x34, 0xAB, + 0x54, 0x6F, 0x56, 0xD1, 0xB8, 0x68, 0xD6, 0x92, + 0xDA, 0xBC, 0x7E, 0xC7, 0x33, 0x65, 0xF7, 0x19, + 0x4F, 0x71, 0xC7, 0xC8, 0x84, 0xB8, 0x52, 0xB2, + 0x5E, 0x9F, 0xF7, 0x94, 0xD4, 0xAA, 0x28, 0xF4, + 0x45, 0x97, 0x28, 0x30, 0x84, 0xDE, 0x10, 0x73, + 0x59, 0x91, 0xBA, 0xF4, 0xAE, 0xEC, 0x39, 0x66, + 0x5D, 0x11, 0x80, 0xF8, 0x9F, 0xF9, 0xE5, 0x38, + 0x02, 0x81, 0x8D, 0x21, 0xC1, 0xDC, 0x01, 0x23, + 0xBE, 0xE1, 0xFB, 0x48, 0x26, 0x47, 0x36, 0x11, + 0xAB, 0xD9, 0x5E, 0x0E, 0x82, 0x9C, 0xEE, 0x3F, + 0x48, 0x43, 0x20, 0xDC, 0x93, 0xE4, 0xC9, 0x4E, + 0xA6, 0xD1, 0xC3, 0xBA, 0xA8, 0x56, 0x00, 0x37, + 0x9C, 0xDB, 0xD5, 0x40, 0x13, 0x3F, 0xD8, 0x06, + 0x12, 0x49, 0xBD, 0x66, 0xCF, 0x20, 0xCC, 0xCD, + 0x34, 0xCD, 0x95, 0x5A, 0xCD, 0xA6, 0x9F, 0x84, + 0x92, 0xEC, 0xD0, 0x29, 0x50, 0x4E, 0x79, 0x7F, + 0x2B, 0x48, 0x1A, 0x49, 0xF4, 0x2E, 0xC2, 0x19, + 0xE8, 0x55, 0xC1, 0x51, 0xC2, 0x56, 0x97, 0x93, + 0x4C, 0x37, 0xD6, 0x60, 0x65, 0xE0, 0x9E, 0x7A, + 0xC2, 0x65, 0xF2, 0x14, 0xD7, 0x9A, 0xB6, 0xA9, + 0x41, 0xAC, 0xF7, 0x3F, 0x64, 0x57, 0xAA, 0x9A, + 0x9C, 0x8A, 0xBC, 0x1F, 0xE0, 0xBA, 0xDC, 0x4D, + 0x42, 0xA9, 0x2D, 0xB2, 0x8F, 0x09, 0x24, 0x67, + 0xB1, 0xB8, 0x8E, 0x41, 0x04, 0x8C, 0x02, 0x32, + 0xC5, 0x57, 0xD3, 0x1B, 0xA2, 0x7E, 0x71, 0x47, + 0x6D, 0x89, 0x29, 0x83, 0x20, 0xB3, 0x84, 0x5E, + 0x98, 0x26, 0x2D, 0x5B, 0x76, 0xC9, 0x67, 0x17, + 0x02, 0x8C, 0x47, 0x10, 0xC5, 0x41, 0x87, 0xDC, + 0x23, 0x6A, 0x3A, 0xC4, 0xD2, 0x29, 0xEF, 0x12, + 0x97, 0xA9, 0x84, 0x53, 0xE1, 0x98, 0x10, 0xCB, + 0x89, 0x29, 0xAA, 0x5B, 0x06, 0x5A, 0x23, 0xC0, + 0x00, 0x12, 0x80, 0xA4, 0xC0, 0xFE, 0x62, 0xC2, + 0xDB, 0x27, 0x0E, 0x43, 0xC4, 0xB1, 0xDE, 0x91, + 0x9D, 0xA7, 0xA7, 0x3F, 0x01, 0x12, 0x8D, 0x4C, + 0xD8, 0xB6, 0xAD, 0xC7, 0x2B, 0x6B, 0xF4, 0x65, + 0xCC, 0xB9, 0x8E, 0xD5, 0xEC, 0x8B, 0x53, 0x2D, + 0xCD, 0xCD, 0xBD, 0x13, 0xA9, 0xF3, 0x60, 0xE0, + 0x4B, 0xB7, 0xA7, 0x3C, 0x82, 0x6E, 0xD8, 0xD7, + 0x70, 0x16, 0x7E, 0x6F, 0x2F, 0x33, 0xD9, 0xF0, + 0x89, 0x70, 0x05, 0xF0, 0x4C, 0xE2, 0x37, 0x67, + 0x7F, 0x05, 0xDE, 0xDD, 0x03, 0x85, 0x9A, 0x05, + 0x46, 0x88, 0xBD, 0xF2, 0xAB, 0x28, 0x73, 0xDC, + 0x9B, 0x21, 0x29, 0x2D, 0xAF, 0x3D, 0x01, 0x5F, + 0xE7, 0x26, 0x4C, 0x04, 0xD0, 0xDF, 0x14, 0x3D, + 0x56, 0x85, 0xF3, 0x7F, 0x1A, 0x5E, 0x81, 0xBC, + 0xA2, 0x66, 0x11, 0x29, 0xA8, 0x03, 0x84, 0x6C, + 0xF8, 0xB1, 0x64, 0x6C, 0x94, 0x95, 0x56, 0x54, + 0x9D, 0xDC, 0x60, 0xAC, 0x4A, 0xE3, 0xDC, 0x07, + 0xBC, 0x3B, 0x3F, 0xCB, 0xEF, 0x0F, 0x6B, 0x76, + 0x97, 0xD8, 0xCC, 0x78, 0xAD, 0x24, 0xF6, 0xA9, + 0x9E, 0xD3, 0x23, 0xEE, 0x8A, 0x52, 0x39, 0x3A, + 0x33, 0xB9, 0x7B, 0xE8, 0xFA, 0x54, 0x0A, 0x70, + 0x39, 0xC0, 0xDD, 0xBD, 0x9A, 0xF4, 0x0F, 0xFE, + 0xBB, 0x70, 0x57, 0x1D, 0x77, 0xFE, 0x74, 0x31, + 0x92, 0xA7, 0x5C, 0xC0, 0xE1, 0x7E, 0x7F, 0xD7, + 0x72, 0x66, 0x78, 0xFD, 0xA1, 0xDC, 0x9E, 0xDA, + 0xD8, 0x18, 0x3D, 0x93, 0xF0, 0xD7, 0x8A, 0x29, + 0xB1, 0x5E, 0xF7, 0x5F, 0xD7, 0xBF, 0x41, 0xD5, + 0x2B, 0xBD, 0xA9, 0xF2, 0xD9, 0x09, 0x40, 0x1A, + 0xEE, 0xF6, 0xDE, 0xBB, 0xEA, 0x94, 0x0A, 0xC4, + 0xD1, 0x26, 0xDA, 0x33, 0x45, 0x8A, 0xC0, 0x46, + 0xE1, 0x31, 0xCA, 0x04, 0x3F, 0x60, 0x29, 0x58, + 0xA2, 0x8B, 0xCC, 0x5B, 0x05, 0xB3, 0x9D, 0x12, + 0x41, 0x47, 0xED, 0x2D, 0xAE, 0x24, 0x22, 0x6F, + 0xEA, 0x11, 0x70, 0xE4, 0x7E, 0x1B, 0xFC, 0x08, + 0xCC, 0x33, 0xBF, 0xF4, 0x87, 0x42, 0xE6, 0xD5, + 0xEB, 0x12, 0x02, 0x18, 0x7C, 0xCE, 0x3F, 0xB6, + 0x18, 0x70, 0x25, 0x16, 0x62, 0x9C, 0x5A, 0x22, + 0x00, 0x12, 0x51, 0x47, 0x43, 0x8D, 0xA0, 0x45, + 0xBD, 0x03, 0x8E, 0xDB, 0xB1, 0x2F, 0xEF, 0xE9, + 0x84, 0xCB, 0x87, 0x58, 0x01, 0x12, 0x1F, 0x24, + 0x1F, 0xB5, 0xCC, 0xF1, 0x22, 0x75, 0xB3, 0xC2, + 0xC6, 0x89, 0xB2, 0x07, 0x5B, 0x9A, 0x51, 0x3C, + 0x33, 0x29, 0x68, 0x63, 0xFD, 0x76, 0x69, 0xF3, + 0x21, 0xEB, 0xA5, 0x84, 0x6C, 0x8D, 0x63, 0xE1, + 0x63, 0x41, 0x55, 0x76, 0x5B, 0xF9, 0x4B, 0x56, + 0xCD, 0x0E, 0x7A, 0xFC, 0xD9, 0xC9, 0x01, 0x86, + 0x51, 0xF7, 0x73, 0xB0, 0xDA, 0x41, 0x5A, 0xCC, + 0xB6, 0xBE, 0x3A, 0x8B, 0x30, 0xC8, 0xD5, 0xA7, + 0x59, 0x6E, 0x48, 0xD0, 0xA5, 0x80, 0x1F, 0xCC, + 0xCC, 0xBC, 0x34, 0x16, 0xB8, 0x6D, 0x35, 0xC0, + 0xDC, 0xEC, 0x57, 0xA8, 0x8F, 0xC0, 0xF4, 0xF7, + 0x63, 0xCB, 0x2A, 0x9F, 0xD7, 0x91, 0xCB, 0x06, + 0x8C, 0x67, 0xA2, 0xCB, 0x03, 0xA9, 0x5E, 0x91, + 0x93, 0xE9, 0x7E, 0xBC, 0x5D, 0xF4, 0xB0, 0xF1, + 0xE3, 0x74, 0xA2, 0x96, 0x7A, 0xA8, 0xD7, 0xAB, + 0xCA, 0x38, 0x51, 0x94, 0xF0, 0x89, 0x33, 0x9F, + 0x68, 0x0C, 0x6C, 0xB9, 0x58, 0x17, 0x51, 0x9F, + 0x14, 0x4B, 0x7F, 0x51, 0xAC, 0x6F, 0x62, 0x67, + 0x49, 0x4C, 0x21, 0xD4, 0xFB, 0x8D, 0x90, 0x23, + 0x15, 0x5F, 0x56, 0x39, 0x92, 0x0E, 0x72, 0xA5, + 0x52, 0x28, 0xAF, 0x69, 0x23, 0x53, 0xFD, 0x0D, + 0xCD, 0x21, 0x18, 0xEC, 0xAF, 0x76, 0x52, 0xAC, + 0x2E, 0x6F, 0xEA, 0x48, 0x78, 0x87, 0xDB, 0xF5, + 0xB6, 0x92, 0x2B, 0x79, 0x55, 0xC1, 0x72, 0xF3, + 0x23, 0xDF, 0x29, 0x0C, 0xEE, 0xB2, 0x2B, 0x6B, + 0x4A, 0xCC, 0xCD, 0xDB, 0x57, 0x0D, 0x37, 0xB7, + 0x6A, 0x29, 0x74, 0x9E, 0xE8, 0x0A, 0x3B, 0xC6, + 0x13, 0x74, 0x51, 0x7E, 0x33, 0xD6, 0x8D, 0x66, + 0xDA, 0x50, 0xDD, 0x7D, 0x0E, 0xF3, 0x92, 0xEF, + 0x87, 0x55, 0xE3, 0xD0, 0x01, 0x1C, 0x7D, 0xFE, + 0x31, 0x7D, 0x15, 0xAE, 0xF3, 0xCF, 0xC9, 0xCB, + 0xE5, 0x59, 0xB2, 0x10, 0x98, 0x22, 0xB7, 0x99, + 0x9C, 0x0B, 0x09, 0x52, 0x6C, 0xC0, 0x99, 0xC8, + 0x7F, 0x27, 0xBE, 0x84, 0x43, 0x1B, 0x8F, 0x34, + 0x00, 0x12, 0x16, 0x4C, 0x99, 0x05, 0x7B, 0xA2, + 0xEC, 0x53, 0x75, 0x87, 0x7F, 0x80, 0x95, 0x7C, + 0xD8, 0xAF, 0x35, 0x24, 0x01, 0x12, 0x1A, 0x7D, + 0xA6, 0x5B, 0x35, 0xBE, 0xC4, 0xA3, 0x54, 0xF7, + 0x59, 0xC3, 0xB9, 0xF1, 0x9C, 0xC2, 0x8E, 0x56, + 0x4B, 0xA4, 0xC1, 0x7D, 0xD8, 0x73, 0xE2, 0x6B, + 0x6C, 0xB8, 0x25, 0x76, 0x1F, 0x04, 0x61, 0xC3, + 0x52, 0x98, 0x25, 0xA7, 0xF7, 0x49, 0x09, 0x02, + 0x24, 0x0D, 0xAE, 0x8A, 0x3E, 0x83, 0x6E, 0xD6, + 0x9A, 0xE6, 0x63, 0x5F, 0xC6, 0xB9, 0xD7, 0x25, + 0x4E, 0xEE, 0x28, 0x18, 0x7A, 0xC6, 0x1A, 0x89, + 0x8B, 0x44, 0x96, 0xEE, 0xDA, 0x35, 0x3D, 0x19, + 0x17, 0x6E, 0x15, 0x40, 0x0C, 0xE2, 0x62, 0xAE, + 0x6E, 0x4F, 0xC8, 0x04, 0x76, 0x5D, 0x35, 0x24, + 0xC0, 0xEE, 0xA2, 0x26, 0xAB, 0x12, 0x0F, 0xDA, + 0x0B, 0x71, 0x4D, 0x05, 0xB7, 0x57, 0x1C, 0x4D, + 0x3E, 0xE3, 0x72, 0x1E, 0xC0, 0x70, 0x12, 0x85, + 0x50, 0xBA, 0xD6, 0x4A, 0x80, 0x25, 0xD3, 0x3E, + 0xFE, 0x25, 0x8C, 0x33, 0x74, 0xD5, 0x48, 0xAD, + 0x40, 0xD5, 0x95, 0x06, 0x21, 0xA0, 0x0E, 0xD7, + 0x1D, 0xBF, 0x0B, 0xA5, 0x1D, 0x09, 0x09, 0x8E, + 0x37, 0xA2, 0x1A, 0xED, 0x6F, 0x8A, 0x66, 0x58, + 0x9F, 0x7D, 0xD1, 0x48, 0x45, 0x13, 0xE0, 0x9F, + 0x50, 0x4F, 0xE3, 0xBC, 0x84, 0x12, 0x6A, 0xD6, + 0xE0, 0xD7, 0x6B, 0x12, 0xA2, 0xDC, 0xD9, 0xBF, + 0x4E, 0xC1, 0x0F, 0x5C, 0xA5, 0x4B, 0x7C, 0x56, + 0xAF, 0xA1, 0x11, 0xCD, 0x80, 0x4A, 0xAD, 0x63, + 0x45, 0x84, 0x26, 0xCC, 0xBF, 0x0B, 0x82, 0x0E, + 0xFB, 0x0E, 0xCA, 0xDA, 0xB3, 0x8E, 0xC1, 0xEA, + 0x6F, 0xF6, 0x69, 0x61, 0x5C, 0x5A, 0xE6, 0x06, + 0xA8, 0x78, 0x12, 0x5A, 0xE9, 0x42, 0xB9, 0xBD, + 0x45, 0x0B, 0xA9, 0x88, 0x45, 0xE4, 0xA3, 0xC7, + 0xAA, 0x78, 0x0F, 0x9D, 0x75, 0xEA, 0xFE, 0x3B, + 0x14, 0xC0, 0x2C, 0x9F, 0x82, 0x04, 0xB1, 0x84, + 0x6D, 0xDB, 0x58, 0xA2, 0x2A, 0x3E, 0xD8, 0x2D, + 0x6E, 0xD4, 0xC5, 0xFD, 0x9E, 0xCD, 0x1C, 0xA0, + 0x3F, 0x31, 0xC8, 0xD2, 0xAD, 0xF4, 0xEF, 0xD8, + 0x00, 0x12, 0xE6, 0xFB, 0xF2, 0x79, 0xC7, 0x84, + 0x0A, 0x05, 0x22, 0x1E, 0x51, 0xA9, 0xBB, 0x2C, + 0x67, 0x66, 0x87, 0x93, 0x01, 0x12, 0xFB, 0xCA, + 0x2C, 0x15, 0x3B, 0x3C, 0x3E, 0x1C, 0xB7, 0x88, + 0x0D, 0xEB, 0x17, 0xDB, 0x54, 0x57, 0xC7, 0xAF, + 0xA3, 0x6F, 0x0C, 0x5B, 0x20, 0xF4, 0xC1, 0xB3, + 0x3B, 0xB0, 0xEE, 0x1B, 0x69, 0x2F, 0x83, 0x0A, + 0x7E, 0x75, 0xF0, 0xBD, 0xB7, 0x33, 0x7E, 0x30, + 0x8F, 0x24, 0x7B, 0xBF, 0xA4, 0x13, 0xDC, 0xD4, + 0xCA, 0x5C, 0x05, 0x4A, 0x12, 0xC4, 0x78, 0xF9, + 0x8A, 0x76, 0xD7, 0x0D, 0x96, 0xC0, 0x96, 0xD0, + 0xCF, 0x62, 0x54, 0xAC, 0xA3, 0xD2, 0xFF, 0x66, + 0xA5, 0x73, 0x1F, 0xD2, 0xD8, 0xE0, 0x1D, 0xE3, + 0xE6, 0x0C, 0x68, 0x3D, 0xEC, 0xC6, 0xA2, 0xF8, + 0x4E, 0x47, 0x4C, 0x4D, 0x7B, 0x13, 0xBE, 0xB8, + 0x2F, 0xC3, 0x27, 0xF7, 0xF0, 0xA8, 0x52, 0x32, + 0x46, 0x73, 0x24, 0x12, 0x5A, 0x4C, 0xC7, 0xA1, + 0x1D, 0xB9, 0xFC, 0x50, 0xB8, 0x67, 0xAD, 0xA3, + 0x37, 0x96, 0x10, 0x6A, 0x4F, 0x0E, 0x24, 0xC6, + 0xBB, 0xD9, 0xE4, 0xEF, 0xE2, 0x7F, 0xDF, 0xE0, + 0xBB, 0xE6, 0x4C, 0x68, 0xC9, 0xBD, 0xCB, 0x2F, + 0x81, 0x73, 0x94, 0xD9, 0x39, 0x3E, 0x1D, 0x72, + 0x08, 0xEF, 0x35, 0x6E, 0xCE, 0x9A, 0x69, 0x13, + 0x88, 0x35, 0x19, 0x6E, 0x69, 0x51, 0x20, 0x1B, + 0xBD, 0x8C, 0xC5, 0x2F, 0xA9, 0x64, 0x3C, 0xAD, + 0x0F, 0x1C, 0xB6, 0x13, 0x0A, 0x7C, 0x3F, 0x57, + 0x20, 0x6B, 0x7D, 0x55, 0xFA, 0xF8, 0x8D, 0x54, + 0x04, 0x4B, 0xBB, 0x56, 0xE4, 0xE6, 0x85, 0x64, + 0x61, 0x0D, 0x05, 0xD0, 0x37, 0x2C, 0x17, 0x35, + 0x4A, 0x85, 0x11, 0xE5, 0x18, 0x7C, 0xD6, 0x6C, + 0xA7, 0x4B, 0xD5, 0x60, 0xE0, 0xDB, 0x79, 0x92, + 0xC4, 0x7D, 0x32, 0x65, 0x96, 0xBA, 0xF7, 0x63, + 0xFB, 0x8B, 0xF8, 0x1B, 0xE6, 0xC5, 0xFB, 0x3D, + 0xD9, 0x81, 0xB0, 0xCD, 0xED, 0x3E, 0x79, 0x66, + 0x5E, 0x43, 0x3B, 0x44, 0x71, 0x15, 0xA5, 0x23, + 0x36, 0x7C, 0x73, 0x11, 0x26, 0xAE, 0x6F, 0xA4, + 0x3C, 0xE9, 0xEB, 0x09, 0xEA, 0x6C, 0x0B, 0x18, + 0x00, 0x12, 0x0F, 0x70, 0x4B, 0x75, 0xDF, 0x7D, + 0xB4, 0xC9, 0xEB, 0xE5, 0x06, 0xAC, 0xE3, 0x4A, + 0xE8, 0x52, 0xF6, 0xBA, 0x01, 0x12, 0xC2, 0xFB, + 0xB7, 0xA8, 0x0F, 0x2C, 0x6B, 0xA7, 0xCA, 0x5C, + 0x84, 0x67, 0x0F, 0x26, 0x8A, 0xDA, 0xEB, 0xC0, + 0xCE, 0xF3, 0xAE, 0x93, 0x69, 0x93, 0xBF, 0x2F, + 0x2A, 0x5B, 0x85, 0x50, 0xF7, 0xCD, 0xD8, 0xA2, + 0x0A, 0x68, 0xE0, 0x84, 0x48, 0x8B, 0x9A, 0xED, + 0x4D, 0x5D, 0xE9, 0x62, 0x6E, 0x23, 0x2B, 0x82, + 0xD1, 0xC0, 0x91, 0xC5, 0xB0, 0x38, 0xE4, 0x7D, + 0xBF, 0x38, 0xC9, 0x63, 0x2F, 0xB6, 0x8E, 0x66, + 0xE1, 0x20, 0x85, 0x7C, 0xF9, 0x99, 0x81, 0x39, + 0x7E, 0x7D, 0x41, 0x56, 0x8B, 0xCD, 0x2C, 0x05, + 0x07, 0xFC, 0x64, 0xF4, 0xAB, 0x9B, 0xB6, 0x24, + 0x06, 0x06, 0xD1, 0x0A, 0x47, 0xD7, 0xFC, 0xFC, + 0x37, 0xCC, 0x86, 0x4B, 0x1D, 0x0C, 0xFD, 0xD6, + 0xFA, 0xB4, 0x97, 0x28, 0xFA, 0x76, 0x42, 0x13, + 0x5F, 0x8A, 0xB1, 0xAB, 0xC7, 0x87, 0xF9, 0xF7, + 0xA7, 0x55, 0x1B, 0x90, 0xA9, 0x8A, 0x49, 0xBA, + 0x81, 0x7D, 0x5E, 0xA0, 0x74, 0xBA, 0x3D, 0x2A, + 0x9D, 0x0D, 0x51, 0x24, 0x42, 0x71, 0xC1, 0xDC, + 0xEC, 0x6A, 0xE5, 0x4B, 0x9B, 0x41, 0x2E, 0x58, + 0x7A, 0x32, 0x6D, 0x03, 0x90, 0x1D, 0xB4, 0x36, + 0xB0, 0x21, 0x31, 0x1C, 0x6D, 0xC7, 0x26, 0x67, + 0x14, 0x64, 0x85, 0x2F, 0x36, 0xE8, 0xCE, 0x57, + 0x81, 0x20, 0xF3, 0x4F, 0x79, 0xD4, 0xC0, 0xC7, + 0x7E, 0xA3, 0xC5, 0xD0, 0xF7, 0x8E, 0x4C, 0x34, + 0x3C, 0xE1, 0x5F, 0x05, 0x14, 0xF2, 0x1A, 0xAA, + 0xF4, 0xFD, 0xCE, 0x2A, 0x46, 0x81, 0x69, 0x58, + 0x14, 0x7F, 0x25, 0x36, 0xED, 0xBE, 0x88, 0xF8, + 0x05, 0xDB, 0xAD, 0xE4, 0x7D, 0x7C, 0x03, 0xE5, + 0x1F, 0x18, 0x71, 0xC9, 0xD8, 0xFF, 0x0F, 0x00, + 0x34, 0x37, 0x19, 0xD5, 0x50, 0x21, 0xB6, 0x67, + 0x74, 0x8D, 0xC4, 0x5F, 0x67, 0xD3, 0x77, 0x81, + 0xBE, 0xC3, 0x86, 0x04, 0xAC, 0xB8, 0x0F, 0x73, + 0x99, 0x02, 0xF1, 0x97, 0x92, 0x75, 0xA6, 0xC1, + 0x78, 0x1F, 0x0A, 0x2A, 0x8E, 0x4D, 0xB3, 0xED, + 0x00, 0x12, 0x64, 0xFF, 0x40, 0xC4, 0xFB, 0x53, + 0xBB, 0x8E, 0x3A, 0x62, 0x8B, 0x8A, 0x47, 0x14, + 0x5F, 0x89, 0x4A, 0xEE, 0x01, 0x12, 0x93, 0xE3, + 0x59, 0x1F, 0x8A, 0x71, 0xFF, 0x5F, 0xAE, 0xD8, + 0x6E, 0x11, 0x34, 0x6F, 0x9E, 0xE9, 0x12, 0x33, + 0x80, 0x64, 0x8C, 0xC3, 0x05, 0xA7, 0x83, 0xFB, + 0xED, 0xA1, 0x17, 0x8E, 0xAD, 0x65, 0xDD, 0x0E, + 0x32, 0x6A, 0xEE, 0x5A, 0x8A, 0x0B, 0x15, 0x0B, + 0x6E, 0xDD, 0x2C, 0x49, 0x4B, 0x79, 0x19, 0xD4, + 0x12, 0xA0, 0x8E, 0x7F, 0xD2, 0xD8, 0x94, 0xB2, + 0xD7, 0xC9, 0x5D, 0xFB, 0xB6, 0xEB, 0x79, 0x5F, + 0x9A, 0x33, 0x0A, 0x2B, 0xE3, 0x05, 0x86, 0xAD, + 0x61, 0x79, 0x71, 0x71, 0xBA, 0x57, 0x14, 0xE6, + 0x91, 0xD8, 0xE5, 0x64, 0x91, 0x2C, 0xAF, 0x3B, + 0xDA, 0xB6, 0xFD, 0xB5, 0x9B, 0xCA, 0x2A, 0x04, + 0x22, 0x36, 0x9C, 0x1D, 0x47, 0xA1, 0xAF, 0xA3, + 0x87, 0x3C, 0xCC, 0xE2, 0x2E, 0x3D, 0x47, 0x10, + 0xBC, 0x74, 0xDB, 0x8A, 0x2C, 0x93, 0xDC, 0x29, + 0x55, 0xFB, 0x76, 0x60, 0x44, 0x48, 0x5F, 0x46, + 0x96, 0xA1, 0x41, 0x3E, 0x97, 0x6F, 0xDA, 0x78, + 0xC5, 0xE5, 0x67, 0x8E, 0xF6, 0x42, 0xA0, 0xF3, + 0x29, 0xD1, 0x7A, 0x73, 0x90, 0x65, 0xEF, 0x1C, + 0x9B, 0xAE, 0xE1, 0xCB, 0x79, 0x16, 0x44, 0xDD, + 0xC6, 0x27, 0x2E, 0xF6, 0x53, 0x94, 0xD4, 0x00, + 0xB6, 0x5C, 0x0F, 0xF5, 0xF0, 0x7B, 0x4C, 0x9D, + 0x58, 0x42, 0x41, 0x83, 0xDA, 0x71, 0x64, 0xDA, + 0x14, 0x47, 0x5E, 0xF1, 0xF9, 0x36, 0xBA, 0xE1, + 0x24, 0xD3, 0x9A, 0xB2, 0xCA, 0x7D, 0x6D, 0x6D, + 0x78, 0xA6, 0x1B, 0x73, 0xFD, 0x28, 0xE7, 0xEC, + 0xE4, 0x6B, 0x11, 0xC4, 0x3D, 0x41, 0x7E, 0x95, + 0x4F, 0x6F, 0xE9, 0x0D, 0x21, 0x56, 0x5A, 0xBF, + 0xEB, 0xFD, 0xB4, 0x5D, 0x52, 0x9C, 0x85, 0x38, + 0x1D, 0x3B, 0x7B, 0x0C, 0x6C, 0x12, 0x4C, 0x4A, + 0xED, 0xC9, 0xEF, 0x45, 0xC6, 0x71, 0x7B, 0xF2, + 0x51, 0x5F, 0xA4, 0x42, 0x57, 0xCC, 0xAC, 0xDD, + 0xD4, 0x66, 0xB9, 0x4A, 0x06, 0x02, 0xA3, 0x81, + 0xD9, 0x04, 0xA9, 0x79, 0x3E, 0x65, 0x55, 0x8C, + 0x00, 0x12, 0xB3, 0xBA, 0x83, 0x41, 0x05, 0x33, + 0x73, 0x22, 0x68, 0x97, 0x6A, 0x2C, 0x60, 0x1E, + 0x0F, 0x1F, 0xE9, 0xF4, 0x01, 0x12, 0xD3, 0x38, + 0x81, 0x77, 0x0B, 0x74, 0x8E, 0x1F, 0x72, 0xA3, + 0x68, 0x8E, 0xC6, 0x1A, 0x4F, 0xD9, 0x85, 0x8B, + 0xB4, 0x88, 0x63, 0x5C, 0xEE, 0xCB, 0x83, 0x03, + 0x1C, 0x90, 0xEA, 0x0E, 0x59, 0xEB, 0xAC, 0x98, + 0xEA, 0x27, 0x6A, 0xD2, 0x94, 0xD2, 0xBA, 0xDE, + 0x75, 0x62, 0x63, 0x0E, 0x78, 0xF5, 0x64, 0xAB, + 0x26, 0x6C, 0x9F, 0x08, 0x21, 0xE2, 0x41, 0x2A, + 0x07, 0xF3, 0xBA, 0x87, 0x84, 0xFD, 0x4E, 0x8A, + 0x0A, 0x77, 0xBF, 0x91, 0x84, 0x9B, 0x91, 0x29, + 0x6E, 0x4B, 0x3D, 0x68, 0x53, 0x8C, 0xCC, 0x4C, + 0x04, 0x3B, 0xD1, 0x2F, 0x46, 0xBC, 0x33, 0xE6, + 0xFE, 0x6B, 0x3C, 0x80, 0xF8, 0x88, 0x67, 0xD4, + 0x8D, 0xB8, 0xFE, 0xC2, 0xD9, 0xA5, 0x7B, 0x7A, + 0x48, 0xCD, 0xF1, 0x1D, 0x15, 0x8E, 0x44, 0x76, + 0x57, 0x36, 0xE1, 0x2A, 0xDE, 0x7D, 0x5B, 0xAF, + 0x50, 0x73, 0x4C, 0x1C, 0x38, 0x34, 0x0C, 0xC6, + 0x99, 0x40, 0xA2, 0x4D, 0xC3, 0x57, 0x07, 0x4A, + 0xFC, 0xBE, 0x31, 0x90, 0x26, 0x00, 0xE6, 0x81, + 0x88, 0xB0, 0xEB, 0x9A, 0x9B, 0x78, 0xEB, 0x40, + 0x63, 0x63, 0xE4, 0x86, 0x47, 0x91, 0xA0, 0xC2, + 0x9B, 0xC8, 0x99, 0xC2, 0x1C, 0x60, 0x30, 0xD8, + 0xCD, 0xE0, 0x57, 0x76, 0xB2, 0xA8, 0x58, 0x70, + 0x30, 0x37, 0x77, 0x07, 0x1B, 0x29, 0xE9, 0xE9, + 0x1C, 0xDE, 0x6F, 0x8E, 0xE1, 0x2B, 0x2C, 0x36, + 0x15, 0x52, 0xF1, 0xB6, 0x6A, 0xA7, 0x3E, 0xCF, + 0xBA, 0x71, 0x51, 0x8A, 0x31, 0x34, 0xF7, 0x86, + 0xCD, 0xD5, 0xCB, 0x63, 0x97, 0xA6, 0x9C, 0x80, + 0x9A, 0xC6, 0xA3, 0x82, 0x56, 0xFF, 0x23, 0x9E, + 0x49, 0x9C, 0x6B, 0x5E, 0x08, 0x58, 0x11, 0x9A, + 0xC7, 0x22, 0x1E, 0xA5, 0xEF, 0x60, 0xEF, 0x6C, + 0x70, 0x36, 0x98, 0xC0, 0x4A, 0x8C, 0xF0, 0x10, + 0x34, 0x64, 0x5A, 0x38, 0x0C, 0x7B, 0xBF, 0x6A, + 0x95, 0x89, 0xEB, 0xE6, 0x79, 0x8B, 0x0A, 0x20, + 0xFA, 0x23, 0x98, 0x4B, 0xBA, 0xAD, 0x4F, 0x1F, + 0x00, 0x12, 0xB5, 0x38, 0xBC, 0x0D, 0x49, 0x18, + 0x86, 0x77, 0x3D, 0xC6, 0x99, 0xAA, 0x6E, 0x59, + 0xDD, 0x65, 0x0C, 0x78, 0x01, 0x12, 0x94, 0x72, + 0x5C, 0x1A, 0x2F, 0x46, 0x13, 0x06, 0x36, 0x62, + 0xFD, 0xA0, 0x9D, 0x15, 0x3F, 0x04, 0xB2, 0xBE, + 0x77, 0xC9, 0xF3, 0x73, 0xE6, 0xF2, 0xB5, 0xB5, + 0xA7, 0x0B, 0xF5, 0x21, 0xA8, 0x8B, 0x42, 0x9D, + 0x63, 0x0F, 0xB7, 0xE5, 0x8E, 0xB2, 0xCA, 0x5D, + 0x9E, 0xED, 0x56, 0x18, 0xBF, 0x50, 0xD9, 0xA6, + 0xA7, 0x53, 0x26, 0x40, 0x56, 0x76, 0xDD, 0xEF, + 0xFE, 0x88, 0xD8, 0xA5, 0x2F, 0x1B, 0x77, 0xD2, + 0xEE, 0xB1, 0x01, 0x29, 0x09, 0x1F, 0x8F, 0x2D, + 0xF1, 0xA6, 0xE9, 0xF5, 0xDF, 0x5A, 0x9C, 0xEE, + 0xAE, 0x49, 0x29, 0xE5, 0x23, 0x39, 0xD6, 0xC4, + 0xEE, 0xAB, 0x8D, 0xEA, 0x6A, 0x12, 0xDB, 0x27, + 0x30, 0xF8, 0x58, 0x10, 0xFB, 0x4E, 0x7C, 0xE5, + 0xAB, 0xB5, 0xE3, 0x38, 0x33, 0x18, 0x90, 0xFB, + 0xF0, 0xD8, 0xE8, 0xF4, 0x14, 0x34, 0x98, 0x65, + 0x17, 0x59, 0x92, 0x83, 0x85, 0x2F, 0x54, 0xB5, + 0x6F, 0x18, 0xD6, 0xDD, 0xBC, 0xC9, 0xBB, 0x56, + 0x0D, 0x04, 0xA8, 0x7F, 0x46, 0x82, 0x7F, 0x54, + 0x86, 0x59, 0x56, 0x03, 0x4C, 0x74, 0x4F, 0x7E, + 0x69, 0xB5, 0x87, 0x08, 0x7B, 0xA8, 0x15, 0x4E, + 0xEA, 0xDC, 0xE8, 0x2F, 0x81, 0x87, 0x8C, 0xD1, + 0xAC, 0x85, 0xAA, 0xC9, 0x69, 0x77, 0xCA, 0xC9, + 0xC9, 0x57, 0x97, 0xCE, 0x0B, 0x9F, 0xAC, 0x87, + 0xB3, 0x90, 0x24, 0x2F, 0xB7, 0x86, 0x37, 0xE3, + 0x7B, 0x1E, 0x5B, 0x2B, 0xC2, 0xBD, 0x52, 0x73, + 0xFC, 0x35, 0xF4, 0x28, 0x24, 0x95, 0xB9, 0xF2, + 0x56, 0x6C, 0x78, 0xF1, 0x92, 0x7E, 0xD2, 0xFE, + 0xC0, 0xEA, 0xD2, 0xD7, 0xF6, 0x07, 0x68, 0x4C, + 0x69, 0x38, 0x59, 0xD3, 0xE3, 0x60, 0x01, 0x9A, + 0x2D, 0x71, 0xB2, 0xD4, 0xF9, 0x2E, 0x49, 0xB5, + 0x1F, 0x2B, 0xE7, 0x27, 0xEA, 0x9A, 0x54, 0x67, + 0xB3, 0x0E, 0xBB, 0xD1, 0x34, 0xCE, 0xDE, 0x9F, + 0x4E, 0x3F, 0x55, 0xC2, 0x33, 0x8D, 0xB8, 0x69, + 0xFF, 0x5E, 0x57, 0xA1, 0x00, 0x54, 0x84, 0x8B, + 0x00, 0x12, 0x5A, 0x79, 0xB1, 0xEF, 0x1F, 0xCD, + 0x0C, 0x71, 0x00, 0xAD, 0x7F, 0x30, 0x57, 0x29, + 0xEF, 0x0B, 0xE6, 0xA1, 0x01, 0x12, 0x31, 0x99, + 0xD1, 0x38, 0xA9, 0x95, 0x97, 0xE3, 0xD8, 0x15, + 0x08, 0x0E, 0xC7, 0xE4, 0x5F, 0x7A, 0xA9, 0x2B, + 0xDA, 0x0B, 0x9B, 0xB3, 0xA4, 0x84, 0xCB, 0xF6, + 0xBB, 0x86, 0xCB, 0xD5, 0x24, 0xAB, 0xFC, 0xCD, + 0xF2, 0xB0, 0xE1, 0xAB, 0x1D, 0x5E, 0xFC, 0x94, + 0x27, 0xA0, 0xCE, 0x51, 0x82, 0xD6, 0x85, 0x11, + 0x1B, 0xB8, 0x6F, 0xF9, 0x29, 0x1F, 0x56, 0x17, + 0xA2, 0x73, 0xDE, 0x5E, 0xC8, 0xC5, 0x78, 0x6E, + 0x65, 0xBD, 0x85, 0xB8, 0x40, 0xD1, 0x55, 0x30, + 0x9A, 0x25, 0x1C, 0xFA, 0x53, 0xD3, 0x86, 0x8A, + 0xA9, 0xE0, 0x80, 0xED, 0x03, 0x8D, 0x28, 0x21, + 0x21, 0x7D, 0xB1, 0x53, 0x20, 0xCB, 0x04, 0xE3, + 0xCE, 0x74, 0x15, 0x87, 0xCB, 0x15, 0xA0, 0xEA, + 0x20, 0xFC, 0x87, 0x75, 0x15, 0x2A, 0xD7, 0xE5, + 0xD0, 0x07, 0x6C, 0xF4, 0xD1, 0x0A, 0x49, 0x0D, + 0x81, 0xBE, 0x62, 0x18, 0xB9, 0xEF, 0x2D, 0x3E, + 0xE2, 0xC2, 0x2E, 0xF2, 0xA0, 0x96, 0x58, 0xE1, + 0x1F, 0xD4, 0x51, 0xC3, 0x09, 0x95, 0x01, 0xC2, + 0x61, 0x25, 0x02, 0x1D, 0xC7, 0xF3, 0x2B, 0xE9, + 0xA3, 0x27, 0xC9, 0x7C, 0xAE, 0xA1, 0x68, 0x1F, + 0x2D, 0xBB, 0x43, 0x8E, 0xD6, 0x51, 0x24, 0xDC, + 0x25, 0x14, 0xB2, 0xE0, 0x63, 0x50, 0xDC, 0xAD, + 0xD6, 0x47, 0x78, 0xEA, 0x11, 0xFE, 0xE3, 0x50, + 0x13, 0x8C, 0xFE, 0x02, 0x07, 0x98, 0x54, 0xCB, + 0xCC, 0x2E, 0x65, 0xC4, 0xF4, 0x31, 0xB4, 0xE7, + 0xFE, 0xCB, 0x25, 0x55, 0x2C, 0x1B, 0x51, 0xDB, + 0x52, 0x45, 0x72, 0x27, 0x14, 0x26, 0x00, 0x64, + 0x47, 0x7B, 0xA5, 0xC7, 0x1A, 0xD4, 0xBB, 0x97, + 0xC9, 0x1F, 0x3E, 0xF9, 0x2F, 0xA2, 0x31, 0x05, + 0xDD, 0x48, 0xAC, 0x71, 0xA4, 0x4E, 0x5F, 0x3B, + 0xEF, 0xA7, 0x4A, 0x80, 0x1E, 0x81, 0xE0, 0x30, + 0x1B, 0xAB, 0xA4, 0x7F, 0x38, 0x13, 0xBD, 0x84, + 0xF3, 0x3C, 0x87, 0x68, 0xA5, 0x0A, 0xA6, 0x62, + 0x1F, 0x9D, 0xBA, 0x74, 0x2C, 0x57, 0xC3, 0xB7, + 0x00, 0x12, 0xB7, 0xAB, 0x03, 0xCE, 0xC7, 0xF5, + 0x3B, 0x0A, 0x4A, 0xC1, 0xD0, 0xB7, 0x32, 0x10, + 0x5F, 0x7D, 0x05, 0xD3, 0x01, 0x12, 0xDE, 0xED, + 0xD0, 0x6E, 0x3C, 0x32, 0xB2, 0x43, 0x59, 0x22, + 0x23, 0xFA, 0xCA, 0x8F, 0x26, 0xC3, 0x66, 0xBE, + 0x45, 0x69, 0xE6, 0xF4, 0x1E, 0x96, 0x83, 0x32, + 0xBA, 0x64, 0x0B, 0xE1, 0x41, 0x70, 0x9F, 0x27, + 0x01, 0x27, 0xFD, 0xD7, 0x4D, 0x45, 0xA8, 0xB2, + 0x34, 0x6E, 0x09, 0x3F, 0xBB, 0x26, 0x27, 0x21, + 0x85, 0x64, 0xB6, 0x5D, 0x4F, 0x2A, 0x42, 0x8B, + 0x47, 0x1D, 0x53, 0x88, 0x12, 0x0A, 0x34, 0xE8, + 0x03, 0x58, 0x4B, 0x7D, 0xBC, 0xF4, 0xA8, 0xBE, + 0x36, 0x26, 0x80, 0x98, 0xDD, 0xDD, 0x31, 0x8D, + 0x20, 0xFC, 0x2B, 0xF9, 0xC1, 0xDE, 0xB0, 0xCD, + 0x9F, 0xBA, 0x47, 0xD8, 0x8D, 0x7C, 0x03, 0xBB, + 0x9D, 0xB7, 0xF0, 0xF4, 0x79, 0x08, 0x58, 0xBB, + 0xC2, 0x8A, 0xCF, 0xBA, 0x0A, 0x66, 0xE3, 0x34, + 0x50, 0xB3, 0x9D, 0x55, 0xC7, 0x21, 0xC6, 0x90, + 0x64, 0xE4, 0x91, 0x2E, 0x6D, 0xB6, 0xFC, 0x20, + 0x86, 0x55, 0x3A, 0xD0, 0x69, 0x50, 0x74, 0x2A, + 0x81, 0x45, 0xF7, 0xBD, 0x2A, 0xDC, 0x15, 0x63, + 0x9A, 0x1C, 0x4D, 0x6B, 0xFC, 0xF2, 0xD0, 0xF7, + 0x61, 0x94, 0xDE, 0xAD, 0x2C, 0xF1, 0x0E, 0x98, + 0xED, 0xCE, 0xA8, 0xF8, 0xC4, 0x8E, 0x5F, 0x0B, + 0x65, 0xD1, 0x9A, 0xFA, 0xB7, 0x33, 0x74, 0xB3, + 0xEE, 0x66, 0x0D, 0x1E, 0x05, 0xCC, 0x88, 0x6D, + 0x93, 0x00, 0xA9, 0xDE, 0x4B, 0x9C, 0x2E, 0x68, + 0x76, 0xFF, 0x3D, 0x9C, 0x4E, 0x11, 0x5F, 0xC5, + 0xC5, 0x07, 0xCC, 0x4A, 0x37, 0xA7, 0x86, 0x63, + 0xF3, 0x03, 0x26, 0xB2, 0x0A, 0xC1, 0x6F, 0xF5, + 0x20, 0xA0, 0xD8, 0xB5, 0x8F, 0x8B, 0xCA, 0xA3, + 0xEA, 0xE5, 0xEE, 0xAE, 0x14, 0x13, 0x19, 0x03, + 0x3C, 0xE9, 0x00, 0xAA, 0x65, 0x12, 0x71, 0x17, + 0x5F, 0xDF, 0x7D, 0x0A, 0x77, 0x4F, 0x25, 0x46, + 0x12, 0xDD, 0x88, 0xD5, 0x01, 0x92, 0x75, 0xF3, + 0x61, 0x8B, 0xB4, 0x1B, 0xFE, 0xF8, 0xAB, 0x4C, + 0xC6, 0x6B, 0x8B, 0x1A, 0xBC, 0x43, 0x88, 0x8E, + 0x00, 0x12, 0x1D, 0x19, 0x38, 0xF6, 0xA9, 0xA3, + 0xC0, 0xCE, 0xDD, 0xC2, 0x12, 0x56, 0xC0, 0x8B, + 0xDA, 0xD9, 0x23, 0x0E, 0x01, 0x12, 0x30, 0xAE, + 0x39, 0xBB, 0x3D, 0x03, 0x5A, 0x1F, 0xF2, 0xE5, + 0x2C, 0x64, 0x76, 0x56, 0x5F, 0x85, 0x81, 0x86, + 0x20, 0xE4, 0x99, 0xEB, 0x26, 0x2D, 0xCB, 0x4F, + 0x92, 0x15, 0x2C, 0x4F, 0xAD, 0xB3, 0x66, 0xB5, + 0x7E, 0x65, 0x1B, 0xA0, 0x0E, 0x02, 0xA6, 0x0D, + 0x50, 0x96, 0xE8, 0x22, 0x21, 0xAC, 0xF3, 0xC3, + 0x30, 0x4F, 0x9D, 0x97, 0xD0, 0x52, 0xA5, 0xC0, + 0x5C, 0x70, 0x71, 0x6E, 0x81, 0xC2, 0xF4, 0x5D, + 0x4F, 0x05, 0x6A, 0xFC, 0x45, 0x5B, 0xE5, 0xBF, + 0xA5, 0x83, 0xFC, 0x9F, 0x7D, 0xF1, 0xD6, 0x9A, + 0xB3, 0x24, 0xCE, 0xE0, 0x0C, 0x2F, 0x15, 0x81, + 0xE1, 0x81, 0xC3, 0xE0, 0x12, 0x09, 0x0B, 0xC3, + 0x8B, 0x53, 0x2D, 0x11, 0x22, 0x2C, 0xAF, 0xD0, + 0xF9, 0x34, 0x7F, 0xC9, 0xAE, 0xF3, 0x97, 0xDC, + 0xE9, 0xA8, 0x36, 0x7E, 0x51, 0x77, 0xF1, 0xB2, + 0x6D, 0x13, 0xFE, 0x5F, 0x72, 0xF2, 0xD0, 0xA8, + 0x1E, 0xEC, 0xD1, 0x95, 0x8A, 0x53, 0xFF, 0xA9, + 0xBC, 0xD3, 0x4F, 0x9F, 0x80, 0x73, 0xFE, 0x53, + 0xFB, 0x2A, 0xE0, 0x05, 0x49, 0x9F, 0xE6, 0x9A, + 0xC1, 0x46, 0xA1, 0x10, 0x25, 0x65, 0x9F, 0xD3, + 0xF1, 0x32, 0x1F, 0x5F, 0x46, 0xDA, 0x48, 0xD5, + 0xC8, 0x89, 0xC2, 0x9A, 0x34, 0x98, 0xF7, 0x7F, + 0xD1, 0xED, 0x48, 0x41, 0x9D, 0xA3, 0xAC, 0x96, + 0xAF, 0x8B, 0x6C, 0xFE, 0x81, 0xC5, 0xEB, 0x24, + 0x35, 0x07, 0x32, 0x65, 0x8A, 0x95, 0x89, 0xEA, + 0x0F, 0x1C, 0xC3, 0xC8, 0x1F, 0x74, 0xE3, 0x3F, + 0xD2, 0xF1, 0x81, 0x14, 0x07, 0x00, 0x67, 0xEC, + 0xE4, 0xF0, 0xEC, 0x91, 0xB7, 0xC2, 0xDC, 0x87, + 0x79, 0x17, 0xCD, 0xC9, 0x68, 0x95, 0xE4, 0x34, + 0xF4, 0xA2, 0x4C, 0x2C, 0x8B, 0xF9, 0x28, 0x92, + 0x52, 0xBB, 0xBE, 0xE7, 0x84, 0x44, 0x81, 0x50, + 0xFF, 0x78, 0xFC, 0xC8, 0xBD, 0x87, 0xBB, 0x9C, + 0xAF, 0x30, 0xB3, 0xE5, 0x51, 0xD1, 0x43, 0x6B, + 0x8F, 0x6F, 0x19, 0xB7, 0x78, 0x56, 0xA1, 0xF6, + 0x00, 0x12, 0x16, 0xDC, 0x89, 0x2E, 0x66, 0x4E, + 0xF6, 0x80, 0x6A, 0x30, 0x4A, 0x15, 0x65, 0xC8, + 0x59, 0x1A, 0xFF, 0x39, 0x01, 0x12, 0xAF, 0xDA, + 0x04, 0x0E, 0xC9, 0x66, 0x41, 0x1B, 0x25, 0x68, + 0xB7, 0xFB, 0xE5, 0x0C, 0xC9, 0xF7, 0xFD, 0x9D, + 0x01, 0x39, 0x52, 0xC2, 0xEB, 0x6B, 0x67, 0x16, + 0xB3, 0x2E, 0x2F, 0xBF, 0x34, 0x3A, 0x08, 0x69, + 0x1D, 0x3A, 0x94, 0x96, 0xA9, 0xE8, 0x45, 0x09, + 0x3A, 0x27, 0xA1, 0xA4, 0x11, 0xB8, 0x29, 0x69, + 0xE7, 0xF0, 0x4C, 0xC2, 0xE7, 0xAB, 0x49, 0x3D, + 0x32, 0x07, 0x97, 0x0E, 0x7E, 0x87, 0xC6, 0x8A, + 0xC2, 0xAD, 0xA1, 0xA4, 0x96, 0x5D, 0x4B, 0x39, + 0xB6, 0xEC, 0xBC, 0x34, 0xDC, 0xAE, 0xE5, 0xEB, + 0x1F, 0x22, 0x55, 0x3E, 0xAA, 0x82, 0xEF, 0xB9, + 0x9F, 0x2E, 0x07, 0xC1, 0x52, 0xE2, 0xA9, 0x09, + 0xE0, 0x71, 0x9B, 0xFC, 0xCF, 0x9F, 0x04, 0x29, + 0x8C, 0x2B, 0xA4, 0x23, 0x3F, 0xA9, 0x33, 0x28, + 0xFE, 0x55, 0xD2, 0xB8, 0x1E, 0xB4, 0x5A, 0x29, + 0xA1, 0x14, 0x23, 0xEF, 0xCD, 0xC0, 0x20, 0x06, + 0x0B, 0x09, 0xE7, 0x12, 0x58, 0xB2, 0x75, 0x97, + 0x98, 0x69, 0xF8, 0xB5, 0xAF, 0x3E, 0xA0, 0x51, + 0xAA, 0x93, 0x32, 0xC4, 0x96, 0x71, 0xE6, 0x82, + 0x5F, 0x41, 0x08, 0x03, 0x35, 0xC7, 0x67, 0x81, + 0x25, 0x72, 0x39, 0x09, 0x11, 0x65, 0xAB, 0x8F, + 0x90, 0xF8, 0x9F, 0xBA, 0x0E, 0x97, 0x0D, 0xE9, + 0xF4, 0x28, 0x1A, 0x1B, 0xC2, 0x72, 0x16, 0x4D, + 0x2E, 0x39, 0x48, 0x55, 0xB5, 0x48, 0x8E, 0x41, + 0x19, 0xEF, 0xBB, 0xFB, 0xDB, 0xDC, 0xAA, 0x46, + 0xFE, 0x51, 0xA1, 0x68, 0x57, 0x1B, 0xD1, 0x58, + 0x94, 0x66, 0x54, 0xF3, 0xAF, 0xE8, 0xDB, 0x54, + 0x20, 0xE8, 0xAB, 0x1F, 0x8A, 0xB8, 0xE2, 0x9B, + 0x3D, 0x28, 0x60, 0x24, 0xB5, 0x66, 0xCD, 0x07, + 0xAE, 0x04, 0x8B, 0x0E, 0x4F, 0x01, 0x91, 0x77, + 0x81, 0x12, 0x86, 0xA6, 0xC0, 0xC2, 0x99, 0x01, + 0xA9, 0x5E, 0x6B, 0x83, 0xB5, 0x94, 0x46, 0x10, + 0xE3, 0x19, 0x91, 0x8F, 0xF9, 0xFB, 0x9E, 0x05, + 0x30, 0xA3, 0xE1, 0x9B, 0x09, 0xE1, 0xA6, 0x21, + 0x00, 0x12, 0x7F, 0x68, 0x40, 0x9B, 0x71, 0xCE, + 0x71, 0x47, 0xD1, 0x41, 0xE2, 0xA6, 0x4D, 0x1B, + 0xA9, 0x97, 0x74, 0x18, 0x01, 0x12, 0x05, 0xB2, + 0x19, 0x66, 0x8C, 0x2A, 0xB7, 0x02, 0x7C, 0xD9, + 0xD3, 0x1E, 0xBE, 0x2A, 0x7B, 0x20, 0xAC, 0xE4, + 0xF3, 0x7B, 0xF1, 0xA2, 0xCA, 0x27, 0xEC, 0xCB, + 0xD5, 0x88, 0xF9, 0x01, 0x89, 0x56, 0x84, 0x97, + 0x4F, 0x80, 0x2A, 0xDD, 0x46, 0xF1, 0x65, 0xA3, + 0x46, 0x0B, 0x59, 0x30, 0xB7, 0xA1, 0x2F, 0xA0, + 0x76, 0xC5, 0x77, 0x5F, 0x79, 0xEF, 0x32, 0x94, + 0x5F, 0x3F, 0x30, 0x5B, 0xAC, 0x10, 0x34, 0xCC, + 0x7A, 0xFD, 0x7B, 0xD9, 0x9B, 0x33, 0x99, 0x1F, + 0x0E, 0x3B, 0x68, 0xE8, 0xC5, 0x74, 0xB8, 0x01, + 0x57, 0x7B, 0x86, 0x25, 0x41, 0xBD, 0xF5, 0xB8, + 0xA9, 0x68, 0x17, 0x99, 0xD9, 0xCB, 0xEB, 0x3A, + 0x4C, 0x8A, 0x5C, 0xA5, 0x5F, 0x79, 0xCF, 0xF9, + 0x8F, 0xB3, 0xE5, 0x3E, 0x8A, 0xD6, 0x66, 0xF9, + 0xD6, 0x88, 0x38, 0x48, 0xBE, 0x40, 0xE8, 0x3F, + 0xEF, 0x18, 0xDC, 0x6A, 0xE9, 0xB4, 0xB0, 0x2A, + 0xE9, 0x32, 0x9A, 0x57, 0xAC, 0xD9, 0xFA, 0x7F, + 0x0B, 0x98, 0x2D, 0xAC, 0xA3, 0x15, 0x0E, 0xFF, + 0x7A, 0xE3, 0xD5, 0xC2, 0x63, 0xC8, 0x04, 0x23, + 0xED, 0x8B, 0x63, 0xCC, 0x24, 0x68, 0xF9, 0x13, + 0xE3, 0xC5, 0x66, 0xF2, 0xA0, 0xE9, 0x93, 0x39, + 0xF1, 0xA5, 0xEB, 0x3D, 0x64, 0x6E, 0x83, 0x7D, + 0x8B, 0x9A, 0x00, 0x8A, 0xFD, 0xA3, 0x89, 0x47, + 0xCA, 0xD5, 0xE1, 0x41, 0xE0, 0x2C, 0x3C, 0x19, + 0x3B, 0x4B, 0x11, 0xAD, 0x99, 0xFF, 0x3D, 0x94, + 0xCC, 0x0E, 0xC7, 0x22, 0xEF, 0xE8, 0xEF, 0xAC, + 0xBC, 0x20, 0x53, 0x8C, 0x25, 0x16, 0x6A, 0x6A, + 0xFE, 0x4D, 0xBB, 0xD1, 0xC2, 0x15, 0x5A, 0x3F, + 0x61, 0x5C, 0xA1, 0x2E, 0x32, 0x88, 0xEF, 0xBD, + 0x9E, 0xCD, 0x6B, 0x6B, 0x44, 0x49, 0xA9, 0x33, + 0xA1, 0xD3, 0xA7, 0x22, 0x67, 0x9A, 0xA2, 0x7D, + 0xF4, 0x2C, 0x06, 0xED, 0xAC, 0xCD, 0x3B, 0x0D, + 0x21, 0xC6, 0x8A, 0x6F, 0x38, 0xE9, 0xA7, 0xB4, + 0xC3, 0x5C, 0xFA, 0xB6, 0x31, 0x65, 0x29, 0x5B, + 0x00, 0x12, 0x13, 0xF0, 0xB3, 0xBD, 0xEB, 0xAB, + 0x34, 0xD0, 0x65, 0x78, 0x88, 0xE4, 0x5D, 0x0D, + 0xF1, 0x83, 0xE1, 0x6D, 0x01, 0x12, 0xCC, 0x7C, + 0xB7, 0x13, 0x6F, 0x90, 0xB6, 0x39, 0x8A, 0x8D, + 0x0D, 0xD3, 0x51, 0x2F, 0x5A, 0x7D, 0x25, 0x36, + 0x40, 0xF2, 0x75, 0xB5, 0xAC, 0xDA, 0x39, 0xA4, + 0xE9, 0x26, 0xF6, 0x75, 0xBB, 0xC1, 0x8F, 0x20, + 0x8D, 0x12, 0x8D, 0xAF, 0x5D, 0xAE, 0x22, 0x5D, + 0x4E, 0x4A, 0x02, 0xF8, 0x16, 0x5B, 0x76, 0x41, + 0x85, 0x74, 0x4C, 0x74, 0x91, 0x12, 0x61, 0xDB, + 0xAC, 0x24, 0x06, 0xBA, 0x55, 0x62, 0x2F, 0x72, + 0x8B, 0x3F, 0x3F, 0x98, 0x2F, 0x3A, 0xAE, 0x84, + 0x95, 0x10, 0xA0, 0x18, 0x52, 0x8B, 0x63, 0xBA, + 0x5C, 0xF4, 0xDB, 0x73, 0xF0, 0x04, 0x2D, 0x67, + 0x78, 0x12, 0xB4, 0xD3, 0x1A, 0x29, 0x22, 0xFF, + 0x3A, 0x4D, 0x40, 0xE5, 0xC0, 0x28, 0x40, 0x8E, + 0xDE, 0x03, 0x5F, 0x74, 0x95, 0x40, 0xB3, 0x88, + 0xCC, 0x17, 0x38, 0xB3, 0x27, 0x5E, 0xC9, 0x5C, + 0x48, 0x18, 0x8F, 0x2C, 0x0C, 0x51, 0x72, 0x78, + 0x57, 0xD8, 0xC8, 0x62, 0xE8, 0xD5, 0x09, 0x9E, + 0x93, 0xFF, 0x46, 0x61, 0x87, 0x0F, 0x23, 0x86, + 0xC6, 0xC8, 0x04, 0x20, 0x77, 0x76, 0x6D, 0x90, + 0xA5, 0xB4, 0x97, 0x80, 0xD4, 0x5F, 0x35, 0xEA, + 0xFC, 0xC4, 0xFD, 0x3C, 0x33, 0xB8, 0xF8, 0xE4, + 0x20, 0xE4, 0x08, 0x3B, 0x9B, 0xD3, 0xF9, 0x10, + 0x21, 0xF0, 0x5E, 0x31, 0xAB, 0xBE, 0x36, 0x46, + 0x61, 0x97, 0x1A, 0xE9, 0x1C, 0xA1, 0x28, 0x02, + 0xE0, 0xEF, 0xF5, 0x9A, 0xEF, 0x9A, 0xD0, 0xE5, + 0x4B, 0x1F, 0xA1, 0x1C, 0xE2, 0x8B, 0xBE, 0xFB, + 0xAE, 0xC0, 0x04, 0xC8, 0xFB, 0xA0, 0x39, 0x5B, + 0x20, 0x25, 0xA8, 0x1C, 0x60, 0x32, 0x54, 0x1F, + 0xFB, 0x7F, 0xF3, 0x9A, 0xD7, 0x88, 0x66, 0x96, + 0xE6, 0x1B, 0x19, 0x3A, 0x6B, 0x54, 0x5D, 0xD3, + 0x1C, 0x1D, 0x56, 0x51, 0x3E, 0x33, 0x61, 0x00, + 0x04, 0xBD, 0x47, 0x5D, 0xAF, 0xE9, 0x68, 0x45, + 0xD2, 0x3D, 0xB9, 0x7F, 0xE6, 0xBE, 0xF4, 0x8C, + 0x45, 0xD2, 0x4B, 0xA5, 0xC9, 0xF6, 0x93, 0x38, + 0x00, 0x12, 0xA9, 0xAF, 0xA4, 0x81, 0xFA, 0xC3, + 0xA2, 0xBE, 0x53, 0x50, 0x2F, 0x46, 0x4F, 0x86, + 0x23, 0xAF, 0x0E, 0x55, 0x01, 0x12, 0x5F, 0x6E, + 0xE2, 0x2C, 0x02, 0xA8, 0x5C, 0x5D, 0x94, 0x45, + 0x13, 0x88, 0xDD, 0x19, 0x48, 0xB2, 0xA2, 0x8C, + 0x52, 0x4B, 0xE4, 0x55, 0x11, 0x86, 0x31, 0xCB, + 0x60, 0x42, 0x01, 0x9F, 0xF6, 0xDA, 0x57, 0xE0, + 0xA3, 0xCF, 0x01, 0x00, 0xAE, 0x19, 0x52, 0xF6, + 0xE8, 0x6E, 0xBB, 0x58, 0x41, 0x0A, 0xAB, 0x6A, + 0xD0, 0xB0, 0x13, 0x75, 0x3E, 0xD6, 0x38, 0xA8, + 0x97, 0x75, 0x0D, 0x32, 0x8B, 0x26, 0x33, 0x80, + 0xB2, 0x26, 0x12, 0x2D, 0x63, 0xCE, 0x36, 0xCD, + 0xE6, 0xF2, 0xDC, 0x6A, 0xBF, 0x4C, 0x50, 0x14, + 0xCE, 0xB8, 0xA9, 0x3A, 0x22, 0x6A, 0xDE, 0xE2, + 0x63, 0xDC, 0xE9, 0xDB, 0x55, 0x7A, 0xFC, 0x8E, + 0xF2, 0x86, 0xBC, 0xCB, 0x3B, 0x39, 0x7C, 0x33, + 0xB7, 0xB1, 0x93, 0x2E, 0xA4, 0xFF, 0xE5, 0x19, + 0xD2, 0x79, 0x50, 0x0C, 0xF5, 0x8C, 0x7D, 0xA8, + 0x33, 0xA4, 0x1A, 0xC3, 0x4E, 0xBA, 0x69, 0xA6, + 0x42, 0xA1, 0x57, 0xB3, 0x5E, 0x52, 0x9B, 0xEB, + 0x37, 0xE6, 0xEB, 0x1A, 0x96, 0x49, 0x47, 0xDB, + 0xF1, 0xBD, 0x00, 0x4B, 0x98, 0xEE, 0x09, 0x86, + 0x75, 0xD5, 0x48, 0xBD, 0xD5, 0xFF, 0x34, 0xFB, + 0xF6, 0x2C, 0xED, 0x2D, 0x1B, 0x55, 0xE8, 0x8A, + 0xAF, 0xF1, 0xE0, 0xB4, 0x22, 0x57, 0x65, 0xE5, + 0x90, 0xFC, 0xE4, 0xEC, 0x00, 0x88, 0x0D, 0xEA, + 0x06, 0x89, 0x78, 0x39, 0x3A, 0x9A, 0x54, 0xB0, + 0x32, 0xCA, 0x70, 0x58, 0x85, 0x92, 0x88, 0x14, + 0xCF, 0x98, 0x77, 0xAF, 0x39, 0x1A, 0xEE, 0xD0, + 0x0A, 0xE3, 0xB6, 0x91, 0xC1, 0xA2, 0xF4, 0x46, + 0x5E, 0x30, 0x07, 0x79, 0xA5, 0xD4, 0xA3, 0x2A, + 0xDA, 0xB3, 0x50, 0xB4, 0x32, 0xEF, 0xA4, 0x5F, + 0xBF, 0xEA, 0x8A, 0x60, 0x75, 0x2A, 0x77, 0x70, + 0xE1, 0xFC, 0x21, 0x69, 0x6E, 0x10, 0xBA, 0xC2, + 0x8E, 0x6F, 0xF3, 0xCC, 0x7B, 0x64, 0xAF, 0x79, + 0x6B, 0xE8, 0x50, 0xF4, 0x79, 0x4D, 0x0B, 0xF0, + 0x65, 0x2F, 0x3B, 0xBC, 0x38, 0x5A, 0x49, 0x28, + 0x00, 0x12, 0x64, 0x1C, 0xC7, 0xF4, 0xFD, 0x6D, + 0xFA, 0x1A, 0x2E, 0x99, 0xD6, 0x22, 0xB7, 0x36, + 0x83, 0x09, 0x73, 0x8E, 0x01, 0x12, 0xF6, 0x28, + 0xB9, 0x2D, 0x52, 0xC3, 0x93, 0x46, 0x26, 0x72, + 0x97, 0xD8, 0xB7, 0xE0, 0xDE, 0x2A, 0xF0, 0x41, + 0x1A, 0x02, 0xD1, 0xC9, 0xD5, 0xAD, 0xDA, 0xD9, + 0xD3, 0x1F, 0x0D, 0xE1, 0xCA, 0x01, 0x1C, 0x16, + 0x28, 0x60, 0x85, 0x3D, 0xF8, 0x7E, 0xF4, 0xC4, + 0xFF, 0xEF, 0x14, 0xB0, 0xF1, 0xED, 0x04, 0xFA, + 0x77, 0xFE, 0xDD, 0xD4, 0xAD, 0x81, 0xBE, 0x6E, + 0xC9, 0x65, 0xE0, 0x32, 0xD6, 0xB6, 0xD6, 0x44, + 0x92, 0x54, 0x9E, 0x51, 0x47, 0x57, 0xD7, 0x32, + 0x94, 0xEA, 0x1D, 0xAB, 0xAE, 0x87, 0x38, 0x69, + 0x13, 0x13, 0x3F, 0x2B, 0xE9, 0xAB, 0x65, 0xED, + 0x65, 0xE4, 0xC7, 0xEA, 0x4D, 0x70, 0xB9, 0xC3, + 0x5D, 0xC7, 0xE3, 0x64, 0xFD, 0xE0, 0x3A, 0x1D, + 0xBF, 0xBD, 0xAD, 0x92, 0x2A, 0x55, 0xFF, 0xC7, + 0xBF, 0xBD, 0x22, 0xDE, 0x96, 0xDF, 0x0B, 0x17, + 0xAA, 0x59, 0xC7, 0x5D, 0xE7, 0xC6, 0xCE, 0x0C, + 0x65, 0x66, 0xD7, 0xCA, 0x68, 0x17, 0x1B, 0xF4, + 0xC3, 0x71, 0x74, 0x5B, 0x51, 0xDC, 0x42, 0xCE, + 0x7F, 0x3D, 0x67, 0x3D, 0x4C, 0x8D, 0x75, 0xD1, + 0x2F, 0x8B, 0x57, 0x03, 0x59, 0x64, 0xBC, 0xB2, + 0x03, 0x79, 0x49, 0x7D, 0xE9, 0xBF, 0x97, 0xC7, + 0x80, 0xA2, 0xBF, 0xBC, 0x8E, 0x2C, 0x5E, 0x62, + 0x6B, 0xEF, 0x7B, 0x6E, 0x9F, 0x8E, 0xD9, 0x77, + 0xCF, 0xE9, 0x9B, 0x4C, 0xF7, 0x59, 0xA4, 0x28, + 0xC8, 0xAC, 0x16, 0x49, 0x83, 0x0E, 0x11, 0x79, + 0x0F, 0xE7, 0xE5, 0xBF, 0x33, 0xB7, 0x84, 0xC5, + 0x0B, 0xAA, 0x63, 0xA3, 0x3B, 0x0B, 0x31, 0xCA, + 0x8C, 0xE8, 0x3A, 0xEB, 0x71, 0x87, 0x14, 0x03, + 0x33, 0xC9, 0xBC, 0x5C, 0x13, 0x1F, 0xFB, 0x17, + 0x47, 0x1B, 0xE1, 0x7D, 0x14, 0x76, 0xE9, 0x0A, + 0x5E, 0x37, 0x27, 0xA0, 0xD2, 0xCC, 0x21, 0xE4, + 0x30, 0xF5, 0x19, 0x8B, 0xEE, 0xE5, 0x74, 0xC4, + 0xD4, 0xDC, 0x9C, 0x4D, 0x4D, 0xB4, 0xC2, 0xDF, + 0xF2, 0x88, 0x5B, 0x55, 0xD1, 0x24, 0x2F, 0x99, + 0x00, 0x12, 0xEF, 0xFF, 0x41, 0xE5, 0x46, 0x3C, + 0x59, 0x66, 0x42, 0x5C, 0x8E, 0x7B, 0x55, 0x34, + 0x01, 0x41, 0x08, 0x48, 0x01, 0x12, 0xA6, 0xA1, + 0xB0, 0x40, 0xC0, 0x4E, 0x1C, 0xBE, 0x48, 0xD6, + 0x05, 0xCC, 0xA1, 0xE3, 0x38, 0xCD, 0x99, 0x41, + 0x14, 0x87, 0xE7, 0x89, 0xA9, 0x45, 0x15, 0xEC, + 0x13, 0x51, 0x59, 0x38, 0x91, 0x6A, 0x65, 0x29, + 0x48, 0x5C, 0x96, 0x3B, 0xE5, 0xC5, 0x6D, 0x91, + 0xD4, 0x01, 0x85, 0x05, 0xA7, 0xDD, 0x1F, 0xB1, + 0x05, 0xBE, 0x79, 0x7F, 0xE1, 0xE8, 0x46, 0x35, + 0xB6, 0x0A, 0x84, 0x0D, 0x86, 0xCE, 0x59, 0x81, + 0x82, 0x3F, 0x8C, 0xDF, 0xB9, 0x90, 0xDE, 0xAF, + 0x7A, 0x13, 0x6F, 0xD7, 0x0D, 0x6C, 0xBB, 0xC8, + 0xBB, 0x30, 0x8E, 0x92, 0xDE, 0x1D, 0x64, 0x7E, + 0x3C, 0x77, 0xD0, 0x36, 0xE7, 0x08, 0x75, 0xFA, + 0x17, 0xFF, 0x5D, 0xD6, 0xA7, 0xAB, 0xF0, 0x99, + 0x1E, 0x4C, 0xE9, 0xFF, 0xF0, 0xEA, 0xC8, 0x69, + 0x0D, 0x40, 0x54, 0xC1, 0xD6, 0x03, 0x92, 0x0C, + 0xF0, 0x6D, 0x7D, 0x0C, 0xA8, 0xD4, 0x77, 0xB2, + 0x44, 0xE2, 0xA8, 0xFD, 0x30, 0x78, 0xCF, 0x7E, + 0xBC, 0x12, 0x74, 0xA1, 0xCF, 0x8E, 0xCF, 0x28, + 0x24, 0x7F, 0xC5, 0x8B, 0x99, 0xBF, 0xD2, 0x71, + 0xC2, 0x30, 0x71, 0x2D, 0x6A, 0x93, 0x94, 0xA2, + 0xC4, 0x1E, 0x27, 0x91, 0x75, 0x2B, 0xEC, 0x58, + 0x96, 0x80, 0xD4, 0xC0, 0xDF, 0x7D, 0xD7, 0x21, + 0xB0, 0x84, 0x24, 0xAC, 0x33, 0x89, 0xB3, 0x17, + 0x01, 0x8D, 0x02, 0x34, 0x02, 0x76, 0xA5, 0x8E, + 0xCC, 0xD3, 0x26, 0xBC, 0xEA, 0xCE, 0x48, 0x07, + 0xC5, 0xAD, 0xBE, 0xF3, 0xB2, 0x6F, 0x72, 0xA2, + 0x7A, 0x6E, 0x05, 0xB5, 0x50, 0x35, 0x83, 0x68, + 0x95, 0x3D, 0x32, 0x29, 0x72, 0x7C, 0xE4, 0xF7, + 0x71, 0x29, 0xBF, 0x86, 0xF0, 0x29, 0x59, 0x5A, + 0x23, 0x75, 0x3F, 0xC7, 0x21, 0x2A, 0x82, 0x67, + 0x8C, 0xEA, 0x32, 0xFF, 0x1F, 0x32, 0x81, 0x82, + 0x60, 0xFE, 0x14, 0x58, 0x0C, 0x87, 0x3E, 0x7C, + 0xC8, 0xB7, 0xDB, 0x5C, 0x07, 0xDC, 0x5F, 0x1C, + 0x54, 0x42, 0xCB, 0x28, 0x03, 0x02, 0x5D, 0x08, + 0x00, 0x12, 0x6C, 0x48, 0xEB, 0x63, 0x56, 0x85, + 0x72, 0x73, 0x23, 0x38, 0x64, 0xF1, 0x91, 0xEB, + 0xD8, 0x0E, 0x14, 0x42, 0x01, 0x12, 0xD7, 0x2A, + 0xAD, 0x0F, 0xC1, 0xA8, 0x58, 0xFE, 0x27, 0xBE, + 0x65, 0x1C, 0x04, 0xDD, 0xA7, 0xB3, 0x21, 0xDD, + 0x95, 0xE7, 0x92, 0x51, 0xF9, 0xC3, 0xBC, 0xC1, + 0xFB, 0x82, 0x09, 0x10, 0xB1, 0x70, 0xA0, 0x80, + 0x01, 0xF1, 0xCD, 0x92, 0x86, 0xAD, 0x39, 0x50, + 0x51, 0xE2, 0xBE, 0xF0, 0x9C, 0x3B, 0xC8, 0x04, + 0xA7, 0x22, 0x53, 0xB5, 0xE6, 0x86, 0x21, 0x37, + 0xAE, 0xF6, 0xAB, 0x1C, 0x34, 0xC3, 0x80, 0x91, + 0x3F, 0x25, 0x4B, 0x8A, 0x24, 0x28, 0x4E, 0x8E, + 0xA4, 0x12, 0xC7, 0x68, 0x64, 0xCE, 0xFA, 0xF7, + 0x86, 0xF3, 0x1C, 0x88, 0xC4, 0x43, 0xE2, 0x2B, + 0x79, 0xF2, 0x50, 0x5E, 0x38, 0xE2, 0x0D, 0xF2, + 0x61, 0xB6, 0x4A, 0x6B, 0xA2, 0x5C, 0x12, 0x37, + 0xA2, 0xAA, 0x05, 0xAC, 0x5C, 0x37, 0xDD, 0x65, + 0xA4, 0x9A, 0x6A, 0x71, 0x7E, 0xDD, 0x27, 0xB5, + 0xFA, 0x70, 0xAF, 0x24, 0x00, 0x01, 0xD7, 0xFF, + 0xE3, 0x47, 0x24, 0x27, 0x32, 0x92, 0x7D, 0x6A, + 0xFD, 0x15, 0xA8, 0xDE, 0x0E, 0x43, 0x11, 0x1C, + 0x04, 0x6D, 0x70, 0xF7, 0x8F, 0xF6, 0x02, 0xFC, + 0x9C, 0x39, 0xBA, 0x7A, 0x4D, 0x09, 0xB9, 0x52, + 0xBB, 0xC0, 0x4D, 0x2E, 0x65, 0xD4, 0x2E, 0xAF, + 0x85, 0x81, 0xD0, 0xE8, 0x90, 0x5A, 0x6C, 0x47, + 0xF0, 0xD3, 0x42, 0x3B, 0x81, 0x64, 0x03, 0x68, + 0x6B, 0x8E, 0x77, 0xC2, 0x5C, 0x41, 0x5E, 0xF3, + 0xAC, 0x67, 0x35, 0x98, 0xB3, 0xCC, 0x78, 0x91, + 0xCE, 0x85, 0x81, 0x1B, 0xDC, 0x52, 0x81, 0xE8, + 0xD6, 0x01, 0x87, 0xE4, 0x76, 0x11, 0x45, 0xE5, + 0x0F, 0x1E, 0x0E, 0x2A, 0xB8, 0xF0, 0x53, 0xB3, + 0x7F, 0xA8, 0x43, 0xB0, 0x1A, 0x62, 0x6F, 0xAA, + 0xFB, 0xAD, 0x98, 0x8C, 0x3D, 0x7F, 0xD8, 0xC1, + 0x70, 0x36, 0x0F, 0x81, 0xE4, 0x9D, 0x55, 0xF4, + 0x86, 0x4F, 0x0A, 0x31, 0x94, 0xBA, 0xEB, 0x76, + 0x23, 0x92, 0x6E, 0x75, 0x34, 0xF2, 0xBA, 0xEF, + 0xE2, 0x29, 0xBA, 0xC8, 0x27, 0xB7, 0xE8, 0x3F, + 0x00, 0x12, 0x5F, 0x46, 0x09, 0xA7, 0xD0, 0x73, + 0x8B, 0x63, 0x43, 0xDC, 0x96, 0x52, 0x8E, 0x24, + 0x9C, 0x12, 0xF8, 0xD4, 0x01, 0x12, 0x11, 0x57, + 0xD0, 0x68, 0x43, 0x93, 0x0E, 0xFA, 0x95, 0xBF, + 0xE9, 0x29, 0x1A, 0x2D, 0x04, 0x01, 0xD9, 0x8E, + 0xE4, 0xF9, 0x37, 0x66, 0x69, 0xCC, 0xD3, 0x71, + 0xB3, 0x26, 0x66, 0xA9, 0x6F, 0x81, 0x2A, 0xD1, + 0x65, 0x04, 0xB9, 0xE6, 0x98, 0x4A, 0xBC, 0xB4, + 0xA2, 0x1D, 0x52, 0x96, 0x75, 0xB2, 0xC5, 0xB6, + 0x99, 0xFD, 0xE8, 0x04, 0x38, 0xD7, 0xB8, 0x8E, + 0x29, 0xB6, 0x90, 0xEB, 0x12, 0xD4, 0xCF, 0x7E, + 0xA1, 0xD2, 0x67, 0xBD, 0x8A, 0x7C, 0x23, 0xFC, + 0xAF, 0x08, 0x4F, 0xED, 0x49, 0x24, 0x72, 0xB6, + 0x7E, 0x7B, 0xC3, 0xD6, 0x48, 0x6E, 0x1A, 0xC6, + 0x40, 0x50, 0x25, 0x4E, 0xA2, 0x46, 0xE4, 0x21, + 0xA4, 0x9E, 0x01, 0x57, 0xFA, 0xE4, 0xDB, 0x17, + 0xCA, 0x0D, 0x13, 0x91, 0x6A, 0xD2, 0xF5, 0x7A, + 0x3C, 0x6B, 0xEB, 0xF4, 0x63, 0x1A, 0x08, 0x6D, + 0x76, 0xD6, 0xE9, 0x16, 0x1B, 0x77, 0xD5, 0xA8, + 0x90, 0x41, 0x69, 0xDF, 0x46, 0xDD, 0x8D, 0x76, + 0x12, 0x5D, 0xCA, 0xE9, 0x6E, 0x8A, 0x53, 0x29, + 0x48, 0x39, 0x57, 0x44, 0x0E, 0xC4, 0x2F, 0x15, + 0xDD, 0xEF, 0x78, 0x62, 0x36, 0xD3, 0x5C, 0xB1, + 0x7C, 0x70, 0xDE, 0xFE, 0xA1, 0x0C, 0xC5, 0x62, + 0xA5, 0x6C, 0xA8, 0x76, 0x8E, 0x08, 0x7E, 0x49, + 0xBF, 0x9E, 0xFD, 0x0B, 0xAB, 0x93, 0x49, 0x7E, + 0xB7, 0x3F, 0xE0, 0x32, 0x65, 0x8F, 0x20, 0x4C, + 0x59, 0x5D, 0x16, 0xAF, 0x65, 0xEE, 0x34, 0xF7, + 0xBF, 0xF8, 0xD0, 0xF5, 0x83, 0x4C, 0xB3, 0x74, + 0xAA, 0x04, 0x60, 0x98, 0x62, 0x9E, 0x63, 0x43, + 0xDF, 0xAC, 0x87, 0x95, 0xAC, 0x6E, 0x83, 0x64, + 0xF5, 0x6A, 0x26, 0x89, 0xD4, 0x52, 0xB3, 0xA3, + 0x68, 0x6F, 0xDA, 0x00, 0x32, 0x8C, 0x35, 0xE8, + 0x3E, 0x79, 0x4E, 0x84, 0x0C, 0x10, 0xC2, 0x31, + 0xB0, 0x58, 0x30, 0x49, 0xBA, 0x22, 0x1D, 0x1B, + 0x92, 0xA5, 0x67, 0x97, 0x0A, 0x6E, 0xFB, 0x9C, + 0x6B, 0x9E, 0x51, 0xF5, 0xDB, 0x06, 0x1E, 0x5E, + 0x00, 0x12, 0x63, 0xB1, 0x15, 0x4E, 0x5D, 0x14, + 0x2D, 0x8A, 0x44, 0xC2, 0xD7, 0x71, 0x8C, 0xFB, + 0x9D, 0x34, 0x04, 0x08, 0x01, 0x12, 0xEC, 0x52, + 0x9C, 0xDE, 0xE9, 0x7C, 0x6E, 0x7A, 0xF8, 0xE5, + 0x70, 0x0A, 0x37, 0xE2, 0xFE, 0x3B, 0x85, 0x44, + 0xBC, 0xF3, 0xB7, 0xCE, 0xAC, 0x72, 0x6F, 0xFF, + 0x3D, 0x0E, 0x91, 0xD3, 0x5E, 0x28, 0x75, 0x9D, + 0x93, 0x82, 0xB1, 0xF2, 0x4A, 0xA0, 0x73, 0xCB, + 0xD8, 0xDF, 0xF9, 0x99, 0xBD, 0x4F, 0xCC, 0x48, + 0xAB, 0x1B, 0x1D, 0x79, 0xE5, 0xCC, 0x42, 0x50, + 0xF9, 0xC2, 0xAA, 0xE1, 0x2E, 0x0C, 0x6B, 0x35, + 0xEB, 0xA0, 0x4B, 0x31, 0x10, 0xE8, 0xCD, 0x1A, + 0x6B, 0x89, 0xE4, 0x61, 0xFF, 0xC8, 0x63, 0xFC, + 0x16, 0x2B, 0x53, 0xC3, 0xD4, 0x1E, 0x68, 0x9C, + 0xB8, 0x14, 0xA2, 0x10, 0xED, 0xC3, 0x2C, 0x16, + 0x18, 0xDC, 0xA0, 0xD1, 0x40, 0x33, 0x0B, 0x55, + 0x5A, 0x50, 0xD9, 0xD0, 0xB3, 0x2F, 0x66, 0xC1, + 0x4B, 0x17, 0xF8, 0x01, 0x1F, 0xA8, 0x35, 0x8E, + 0xFB, 0xB9, 0xF5, 0x73, 0xA0, 0xC5, 0xFB, 0x4A, + 0xA7, 0x0F, 0x86, 0xF7, 0x04, 0xC9, 0x30, 0x92, + 0x50, 0x10, 0x14, 0xCC, 0xCF, 0x18, 0xBA, 0x91, + 0xB1, 0x30, 0x60, 0x82, 0x99, 0x83, 0xC1, 0xFF, + 0xF6, 0xFA, 0xD5, 0x5A, 0xBA, 0x17, 0x1F, 0xF7, + 0xD6, 0x78, 0xD5, 0x00, 0xE9, 0x72, 0xB5, 0x9D, + 0xCD, 0x28, 0x16, 0xE1, 0x59, 0xF4, 0xB9, 0xFB, + 0x5C, 0x3E, 0x28, 0xF3, 0x0E, 0x40, 0xD0, 0xFF, + 0x71, 0x3C, 0xCA, 0xE5, 0x36, 0x69, 0xD0, 0x8F, + 0x70, 0x6C, 0xDD, 0x3B, 0x70, 0x23, 0x25, 0xBC, + 0x1E, 0x0A, 0x0B, 0x82, 0x1B, 0x50, 0x06, 0x2C, + 0xB8, 0x71, 0xF6, 0x3A, 0x2C, 0x96, 0x5C, 0xBB, + 0x71, 0x9E, 0xFD, 0x96, 0xE1, 0xDE, 0xEE, 0x6A, + 0x10, 0xD3, 0x93, 0xEC, 0x82, 0x95, 0x1E, 0xA1, + 0xCF, 0x92, 0x56, 0xE5, 0x3D, 0x12, 0x23, 0x21, + 0x34, 0xF4, 0x59, 0xB8, 0xBB, 0xE5, 0x62, 0xC9, + 0x8B, 0x7F, 0xE9, 0xA1, 0xB5, 0xD5, 0x5F, 0xEC, + 0x28, 0x44, 0xCD, 0x74, 0x60, 0x62, 0x3F, 0xBE, + 0x68, 0x1E, 0xA7, 0xDB, 0xC4, 0x5B, 0x13, 0x52, + 0x00, 0x12, 0x97, 0x33, 0x50, 0xAE, 0x23, 0xC7, + 0xC9, 0x09, 0x3F, 0x65, 0x26, 0x4E, 0x48, 0x55, + 0x13, 0x7E, 0x80, 0xA2, 0x01, 0x12, 0xE2, 0x67, + 0x1A, 0xF0, 0xBA, 0x2E, 0xF2, 0xD6, 0x15, 0xC9, + 0x7C, 0x05, 0x66, 0x99, 0x68, 0x84, 0x0A, 0xE5, + 0x00, 0xD1, 0x01, 0x5C, 0xA7, 0xBE, 0x0F, 0x58, + 0x95, 0x06, 0x62, 0x95, 0x01, 0x51, 0xF7, 0x3E, + 0x6D, 0x8A, 0xA6, 0x1C, 0x80, 0x2F, 0x69, 0x0A, + 0x5F, 0x98, 0x0A, 0x6E, 0xEB, 0xD3, 0x9A, 0x58, + 0x88, 0xA5, 0x37, 0xAC, 0xD4, 0x0C, 0x0B, 0x7F, + 0xE5, 0xC3, 0x83, 0x33, 0x6E, 0xF5, 0x4D, 0xB1, + 0x05, 0xF0, 0x2B, 0xD1, 0xE5, 0x38, 0xCE, 0x84, + 0x62, 0xB2, 0x04, 0xE0, 0x99, 0xA1, 0xDD, 0x00, + 0x3E, 0x30, 0x95, 0x46, 0x62, 0x03, 0x88, 0x43, + 0xDD, 0x0F, 0x57, 0x80, 0xB2, 0xAF, 0x88, 0xC9, + 0xC2, 0xF6, 0x59, 0xBC, 0x3C, 0x61, 0xC3, 0xFF, + 0x32, 0x42, 0x88, 0x0C, 0x93, 0xF7, 0x96, 0x61, + 0xC6, 0x2A, 0xC9, 0x06, 0x3B, 0x74, 0x11, 0x5D, + 0x2E, 0x78, 0xB2, 0x95, 0x2F, 0xE3, 0x3E, 0x8C, + 0xAC, 0x34, 0xCC, 0x3F, 0xAD, 0x6C, 0xE3, 0x04, + 0x17, 0x22, 0xFB, 0x4C, 0x35, 0x85, 0x22, 0xBA, + 0xE3, 0xC9, 0x83, 0x13, 0x09, 0xA1, 0x31, 0x21, + 0x6E, 0xDC, 0x47, 0xC2, 0x78, 0x98, 0x3D, 0xB1, + 0x48, 0x24, 0x1A, 0x13, 0x72, 0x80, 0x51, 0x67, + 0xEC, 0x68, 0xA3, 0xC8, 0xAA, 0xF8, 0x55, 0x88, + 0xEC, 0x99, 0xA5, 0xD1, 0xF3, 0xED, 0x33, 0xD0, + 0xD0, 0xAF, 0xAF, 0x02, 0xDC, 0xB9, 0x9B, 0x2E, + 0x3C, 0x2A, 0xCC, 0x38, 0x6E, 0x11, 0xD8, 0xC5, + 0xE0, 0x1E, 0xD9, 0x6E, 0xAA, 0xE6, 0x4D, 0xC8, + 0x02, 0xF8, 0x31, 0x74, 0x5C, 0x7A, 0xBD, 0xFA, + 0xD6, 0xB3, 0xA5, 0x86, 0x8A, 0x93, 0x46, 0xCF, + 0x57, 0xDE, 0x75, 0x9A, 0xAB, 0x94, 0x70, 0x26, + 0xEC, 0xEB, 0x98, 0x1B, 0x22, 0x4D, 0x81, 0x96, + 0x9A, 0x53, 0xAD, 0x5B, 0x3D, 0xED, 0x02, 0xE9, + 0xB2, 0xCB, 0x74, 0x84, 0x4B, 0x10, 0x23, 0xD3, + 0x58, 0xD1, 0xDD, 0x48, 0x51, 0xD6, 0xE3, 0xB5, + 0xFC, 0x54, 0x0B, 0x52, 0xE9, 0xD9, 0x66, 0x8B, + 0x00, 0x12, 0x45, 0x87, 0xD2, 0xFA, 0x9D, 0x7E, + 0x67, 0x11, 0xCA, 0x22, 0xAD, 0xB7, 0xD1, 0x5C, + 0xA5, 0x2B, 0x47, 0x1D, 0x01, 0x12, 0xC5, 0xC3, + 0x44, 0x26, 0x2A, 0xB4, 0x72, 0x89, 0xD9, 0xF6, + 0x35, 0x04, 0x0D, 0x97, 0x3E, 0x77, 0x8B, 0xFA, + 0x1C, 0x05, 0x5D, 0xC7, 0x49, 0xAD, 0x03, 0x94, + 0x18, 0xE5, 0x94, 0xC3, 0xE3, 0xF7, 0x0D, 0x0E, + 0xDC, 0xA2, 0x99, 0xDC, 0xAE, 0x7F, 0x60, 0x71, + 0x6F, 0x8D, 0xAB, 0x07, 0x3A, 0xB7, 0x61, 0x1B, + 0xF8, 0x9B, 0xF7, 0x3E, 0xF8, 0x5B, 0x68, 0x40, + 0x14, 0x01, 0x81, 0xD7, 0x92, 0x68, 0x51, 0x04, + 0x08, 0x5E, 0xA2, 0xBE, 0x63, 0x4C, 0x7E, 0x4D, + 0xAE, 0xE1, 0x07, 0x2D, 0xC9, 0xA0, 0x95, 0x95, + 0x22, 0x7D, 0xF6, 0x0C, 0x7D, 0x28, 0xAA, 0x85, + 0xBC, 0x68, 0x0C, 0x54, 0x70, 0xF2, 0xA4, 0x59, + 0xC9, 0x80, 0x88, 0xAC, 0x68, 0xD5, 0xCD, 0x63, + 0x5A, 0x25, 0x45, 0xF4, 0x95, 0x0E, 0x16, 0xC2, + 0xA7, 0x50, 0x79, 0x48, 0xA5, 0x0D, 0xC9, 0xC5, + 0xE2, 0x4E, 0xD8, 0x9A, 0xE0, 0xCE, 0x5F, 0xDF, + 0xFC, 0xF6, 0x16, 0x60, 0xAA, 0x81, 0x32, 0x38, + 0x34, 0x63, 0x50, 0xDD, 0xDF, 0xCB, 0x11, 0x21, + 0x6E, 0x1A, 0xFB, 0x35, 0x36, 0xDA, 0x45, 0x59, + 0xBC, 0x6B, 0x64, 0xB5, 0x7F, 0x36, 0x3B, 0x46, + 0x81, 0xE1, 0xDD, 0x97, 0x69, 0xC6, 0x55, 0x7C, + 0xE8, 0xC6, 0x0C, 0x87, 0x64, 0x7E, 0xB1, 0x2F, + 0xF7, 0x8A, 0x78, 0xAE, 0x32, 0x9A, 0x0C, 0xA1, + 0x7D, 0x4C, 0x5C, 0xC1, 0xF0, 0x43, 0x75, 0x18, + 0x39, 0x59, 0x0D, 0x72, 0xD7, 0xB4, 0x04, 0xF3, + 0x81, 0x11, 0xCF, 0x32, 0xCD, 0x7C, 0x81, 0xA0, + 0x85, 0xCD, 0x21, 0xA3, 0x19, 0x9F, 0x3C, 0x40, + 0x65, 0xEC, 0x7E, 0xBF, 0x13, 0x9A, 0x71, 0xFF, + 0x78, 0xB9, 0x8A, 0x16, 0x58, 0x13, 0xEF, 0x3D, + 0x5B, 0x10, 0x29, 0x75, 0x9F, 0x7D, 0x21, 0xF2, + 0xE9, 0x3F, 0x31, 0x2A, 0xD6, 0x15, 0x67, 0x49, + 0x96, 0xEB, 0x02, 0xED, 0xB6, 0x6C, 0x73, 0x7B, + 0xEE, 0x2B, 0xE1, 0x17, 0x9F, 0xF4, 0x0E, 0xA5, + 0x76, 0x00, 0x81, 0xA5, 0xCF, 0x45, 0x2A, 0x88, + 0x00, 0x12, 0x46, 0x10, 0xA0, 0xC2, 0x14, 0xAE, + 0x40, 0x3D, 0x25, 0xB0, 0xCD, 0x91, 0xB7, 0x36, + 0x83, 0xBB, 0x8C, 0x60, 0x01, 0x12, 0xAB, 0x3C, + 0xE2, 0x17, 0x85, 0x5D, 0xA9, 0x99, 0x8F, 0xA2, + 0xCC, 0xF8, 0xE6, 0xF7, 0xB7, 0x02, 0x50, 0x77, + 0x03, 0x02, 0xB9, 0xCE, 0x3B, 0xD2, 0x31, 0xD0, + 0xB6, 0xEC, 0x9E, 0x01, 0x4D, 0xC5, 0x3B, 0xB8, + 0x6A, 0xB2, 0x96, 0xAB, 0x5D, 0xE9, 0x83, 0x74, + 0x1D, 0x66, 0xFE, 0xDF, 0x19, 0x70, 0x18, 0xC3, + 0x58, 0x33, 0x52, 0x7B, 0xB5, 0xA2, 0xBE, 0x07, + 0x67, 0xF1, 0xE5, 0x4B, 0x77, 0xED, 0x72, 0xC7, + 0x68, 0x0F, 0x10, 0x1A, 0x1D, 0xF7, 0x68, 0x3B, + 0xCA, 0xDC, 0xD1, 0xAD, 0xFA, 0xF4, 0x82, 0xE1, + 0xE1, 0xAF, 0x1E, 0x94, 0xA3, 0xE1, 0x34, 0xB0, + 0x34, 0x0C, 0x5E, 0x15, 0xBC, 0xAA, 0x5C, 0x15, + 0xB4, 0x1C, 0x11, 0xC7, 0x9A, 0x84, 0x8D, 0x37, + 0x2F, 0x3B, 0x07, 0xDC, 0xE5, 0x6E, 0x76, 0xFC, + 0x4B, 0x14, 0x9E, 0x94, 0x1D, 0x14, 0x41, 0xCC, + 0xAA, 0x1A, 0xEE, 0xB4, 0x59, 0x02, 0x21, 0x1A, + 0x84, 0x49, 0xE4, 0xDA, 0x3C, 0x8B, 0x88, 0xEE, + 0xA3, 0x4C, 0x22, 0x8E, 0xE2, 0x6A, 0xEE, 0x77, + 0x76, 0xAB, 0xF8, 0xCD, 0x8E, 0x65, 0x20, 0x8B, + 0x11, 0xF4, 0x80, 0x1F, 0xB1, 0xB8, 0x4C, 0x48, + 0x31, 0x4E, 0xE9, 0xA0, 0x6E, 0x6A, 0xEA, 0x56, + 0x8F, 0xEB, 0x3F, 0xC4, 0x30, 0x75, 0x25, 0xC3, + 0xEC, 0x66, 0xA4, 0x45, 0x7D, 0xE7, 0x85, 0x25, + 0x16, 0xEF, 0x3E, 0x73, 0x23, 0x06, 0xA3, 0x5F, + 0x05, 0x54, 0xC0, 0xCE, 0x6D, 0x61, 0x08, 0xE6, + 0xB8, 0x83, 0xD7, 0x40, 0x24, 0xEC, 0x46, 0x1B, + 0xE5, 0xA3, 0xEE, 0xD4, 0x8D, 0x75, 0xA4, 0x55, + 0x89, 0x4B, 0x37, 0x56, 0xE6, 0xC0, 0x34, 0x0D, + 0x90, 0xB2, 0x36, 0xFE, 0x45, 0xCA, 0x32, 0xE9, + 0x82, 0x72, 0xB6, 0x6C, 0x79, 0x15, 0x7C, 0xC8, + 0x19, 0xDF, 0x8C, 0x06, 0x40, 0x48, 0x99, 0x74, + 0x08, 0x43, 0x95, 0xDD, 0xA5, 0xA2, 0x01, 0xB2, + 0xFB, 0xBA, 0xE1, 0x29, 0xC2, 0x12, 0xAD, 0x0B, + 0xB2, 0x08, 0x24, 0xEA, 0x76, 0x5D, 0x05, 0xBE, + 0x00, 0x12, 0x8A, 0xD1, 0xB8, 0x31, 0x23, 0xF6, + 0x4E, 0xE9, 0x87, 0x09, 0xBF, 0xF1, 0xAF, 0x22, + 0x44, 0x0C, 0x25, 0xA2, 0x01, 0x12, 0x61, 0xF5, + 0x2B, 0x2C, 0xF1, 0x15, 0xB5, 0x63, 0x99, 0xAD, + 0xC8, 0x39, 0x37, 0x89, 0x29, 0x91, 0x58, 0xBF, + 0xD1, 0x4A, 0xC0, 0xEE, 0x9E, 0x5B, 0xDF, 0xBE, + 0x98, 0x68, 0x7C, 0xE7, 0x73, 0xA4, 0x33, 0xEB, + 0x1C, 0x45, 0xDE, 0xC4, 0x0B, 0x7A, 0xDC, 0xBE, + 0xFB, 0x1A, 0xE1, 0x54, 0x61, 0x88, 0x91, 0xF6, + 0xF4, 0x7A, 0x84, 0x93, 0x1A, 0x0B, 0xE0, 0xB7, + 0xB5, 0xFF, 0xC5, 0x2D, 0x22, 0x71, 0x7C, 0x27, + 0xEE, 0x07, 0xFC, 0xA9, 0xD8, 0xAB, 0x00, 0x64, + 0xFE, 0xF6, 0x1D, 0x7B, 0xD7, 0xAA, 0x46, 0xF4, + 0x90, 0x97, 0xE3, 0x53, 0x42, 0x7C, 0x01, 0xF7, + 0x38, 0x4F, 0x3D, 0x2A, 0x68, 0x1B, 0x47, 0x32, + 0x39, 0x04, 0x8C, 0xD1, 0x33, 0x32, 0x41, 0x40, + 0x84, 0x3E, 0xE4, 0xA5, 0x54, 0xF8, 0x47, 0x58, + 0x86, 0x73, 0xAE, 0x36, 0x21, 0x88, 0x7A, 0x9D, + 0xF2, 0x47, 0x0B, 0x66, 0xBE, 0xBF, 0x3B, 0x3A, + 0xB6, 0xF1, 0x96, 0xAC, 0xE1, 0x40, 0xD1, 0x97, + 0x8E, 0x6D, 0xE5, 0x63, 0x40, 0x77, 0x86, 0x22, + 0x3F, 0xA7, 0x5A, 0xAF, 0xD5, 0x8C, 0xE0, 0xB9, + 0x2C, 0x0D, 0x69, 0x38, 0x1D, 0x34, 0x19, 0x4C, + 0xF9, 0xA2, 0x0E, 0x6F, 0x2E, 0xED, 0x6C, 0x9F, + 0x9E, 0xE9, 0xFC, 0x1C, 0xA2, 0x85, 0xEA, 0xF9, + 0x3E, 0xC8, 0xEA, 0xA3, 0x28, 0x9A, 0x6D, 0x2E, + 0x8B, 0x02, 0x66, 0x14, 0xFC, 0xBD, 0xCA, 0x46, + 0x5B, 0xA6, 0x81, 0x5E, 0x9E, 0x66, 0xCF, 0x9B, + 0x77, 0x53, 0x9E, 0xC9, 0xD4, 0xA5, 0x3C, 0x2A, + 0x76, 0x78, 0x24, 0x16, 0x9A, 0x3D, 0xF3, 0xFF, + 0x8D, 0xB9, 0x26, 0x2A, 0x5B, 0xB4, 0xD6, 0xC0, + 0x8B, 0xD8, 0xEE, 0x90, 0x42, 0x67, 0x74, 0xB8, + 0x04, 0x13, 0x4A, 0xDD, 0x90, 0x8B, 0x47, 0x14, + 0xEF, 0x24, 0x7E, 0xB0, 0xA6, 0x19, 0xFE, 0x9C, + 0xA0, 0xDE, 0x43, 0x9A, 0xDA, 0x34, 0xC4, 0x2D, + 0x19, 0xC4, 0xE3, 0x8D, 0x6B, 0x6A, 0x4D, 0xB3, + 0x54, 0x1A, 0xA5, 0x4F, 0xC1, 0x38, 0x0D, 0x2B, + 0x00, 0x12, 0xFB, 0xF7, 0xF0, 0x16, 0x54, 0x1B, + 0xC0, 0xE7, 0x5E, 0xBA, 0xEE, 0x6B, 0x8E, 0x27, + 0x5C, 0xF5, 0xC6, 0x04, 0x01, 0x12, 0x27, 0xCC, + 0xF2, 0xEE, 0x36, 0xEB, 0xC8, 0xAA, 0xAA, 0x39, + 0x82, 0x5E, 0x8B, 0x2B, 0xAD, 0x4B, 0x64, 0x4C, + 0xDC, 0x4E, 0x68, 0x57, 0x92, 0xC9, 0x66, 0x87, + 0x41, 0x5A, 0x9D, 0xE8, 0xF6, 0x08, 0x6C, 0x83, + 0xAF, 0x58, 0xA3, 0x80, 0xA0, 0x24, 0xD5, 0x58, + 0xCD, 0x71, 0xF0, 0x57, 0x50, 0x95, 0x5A, 0x16, + 0xE4, 0x31, 0xAA, 0xD8, 0x7B, 0x7A, 0x87, 0x37, + 0x04, 0x22, 0x92, 0x5A, 0x80, 0xFB, 0x64, 0xA2, + 0xF7, 0xC6, 0xF9, 0x48, 0x6B, 0x3A, 0x0B, 0x9B, + 0x17, 0x1A, 0x41, 0x1C, 0x49, 0x1D, 0x2E, 0x4D, + 0x48, 0x6E, 0x5A, 0x8B, 0x4D, 0xB5, 0x20, 0xAC, + 0xE5, 0x04, 0x1C, 0x6E, 0xF2, 0x01, 0x63, 0x52, + 0x9B, 0x82, 0xE4, 0x47, 0x27, 0xB9, 0x5E, 0x62, + 0xE5, 0x6B, 0xB1, 0x5F, 0xED, 0xFE, 0x9B, 0x22, + 0x3E, 0x94, 0x9A, 0xC1, 0x2F, 0x39, 0x71, 0x1F, + 0x08, 0x4A, 0x87, 0x9C, 0x5C, 0xDC, 0x6C, 0x63, + 0x42, 0x78, 0xAA, 0x8A, 0x4D, 0xF1, 0x95, 0x06, + 0x9F, 0x1A, 0x71, 0x67, 0xC3, 0xA9, 0xB5, 0xA1, + 0x85, 0xD3, 0xE3, 0x7E, 0xA0, 0xC5, 0x39, 0xDC, + 0x49, 0x10, 0xCC, 0xE1, 0x4B, 0x0C, 0x6B, 0x1C, + 0xD0, 0xAD, 0x52, 0x7A, 0xCE, 0xCF, 0x0D, 0x36, + 0x29, 0x2A, 0xFC, 0xA8, 0xE7, 0x0E, 0xB4, 0x81, + 0xA7, 0x2B, 0x06, 0xAA, 0xA7, 0x76, 0x6D, 0x03, + 0xA0, 0xC8, 0x03, 0x5D, 0x6E, 0xBA, 0x51, 0x26, + 0x46, 0x30, 0xE0, 0xC7, 0xCE, 0xC9, 0x67, 0xC5, + 0x3C, 0x3D, 0x2F, 0xCE, 0x90, 0x81, 0x5C, 0x8D, + 0x23, 0x2D, 0xAA, 0xB8, 0x64, 0x01, 0x16, 0x65, + 0x3A, 0x39, 0x2A, 0xC0, 0xBD, 0x24, 0x8D, 0x5A, + 0xB9, 0x5F, 0xBB, 0x05, 0x99, 0x55, 0xD2, 0xA9, + 0x38, 0xA4, 0x86, 0x3E, 0x87, 0x2D, 0xFF, 0x48, + 0xA6, 0x2B, 0x7A, 0x2B, 0x45, 0x51, 0x5F, 0xBD, + 0x78, 0x4A, 0x0F, 0xC5, 0x4C, 0x2D, 0x9B, 0x45, + 0xC2, 0x04, 0xAC, 0x92, 0x2B, 0xF2, 0x1E, 0x79, + 0x9D, 0xCC, 0xAB, 0xBC, 0xBB, 0x7D, 0xDF, 0x1B, + 0x00, 0x12, 0x2A, 0xC2, 0x8C, 0x7B, 0x23, 0x5F, + 0x84, 0x25, 0x5A, 0x12, 0x60, 0x56, 0x18, 0x42, + 0xE9, 0x8D, 0xCC, 0xA3, 0x01, 0x12, 0xDD, 0x5D, + 0x3D, 0x84, 0x83, 0xCE, 0xD3, 0xA3, 0x11, 0x5A, + 0xB2, 0xCB, 0x35, 0xF5, 0xC9, 0x4A, 0x63, 0xFB, + 0xA4, 0x35, 0xC2, 0x2F, 0x58, 0xA6, 0xF3, 0x10, + 0xA2, 0x07, 0x9B, 0xB4, 0x38, 0xA8, 0xE5, 0xF5, + 0x6E, 0x37, 0x4D, 0x12, 0x8F, 0xA4, 0x45, 0xBB, + 0x2B, 0xCD, 0xE3, 0xC9, 0x08, 0xD8, 0x27, 0x27, + 0x95, 0x04, 0xC8, 0x11, 0x08, 0x78, 0x5B, 0x8E, + 0xAD, 0x73, 0x9B, 0x15, 0x4D, 0x37, 0x7B, 0xC7, + 0xED, 0x05, 0xAA, 0x0D, 0x11, 0x7B, 0xC7, 0x45, + 0x26, 0x82, 0x4C, 0x3D, 0xB6, 0x84, 0xF5, 0xD6, + 0x3A, 0xAC, 0x09, 0xDF, 0x2B, 0x10, 0x11, 0xAC, + 0x7A, 0xDF, 0x53, 0x94, 0xC1, 0xC1, 0x33, 0x0F, + 0x62, 0x38, 0x8B, 0x54, 0xCC, 0xCE, 0xE7, 0x02, + 0x37, 0x70, 0x22, 0xEF, 0x61, 0x71, 0xC7, 0x2A, + 0x86, 0x02, 0xA3, 0xBF, 0x11, 0x70, 0x38, 0x10, + 0x65, 0x62, 0x89, 0x08, 0xED, 0xDF, 0xD7, 0xF4, + 0x1D, 0x00, 0x71, 0x26, 0xCE, 0xB3, 0x1D, 0xA2, + 0x79, 0x60, 0x75, 0x8F, 0x54, 0x83, 0xA5, 0x1B, + 0xB9, 0x50, 0x3B, 0x80, 0x93, 0x59, 0x91, 0x93, + 0x1E, 0x9B, 0x4C, 0x7B, 0x7C, 0xF3, 0x91, 0xBF, + 0xBC, 0x07, 0xF3, 0x7E, 0x26, 0x34, 0x6A, 0xF7, + 0xA7, 0x3A, 0x67, 0x4D, 0x11, 0xF2, 0xF6, 0xC1, + 0xF1, 0xE3, 0x04, 0xF7, 0xC8, 0x8F, 0xC4, 0x09, + 0x6D, 0xE7, 0xF1, 0xE0, 0x0C, 0xCD, 0x13, 0xD8, + 0xA0, 0xB7, 0x38, 0x7D, 0x47, 0x2B, 0xD1, 0x1E, + 0xCC, 0xE6, 0x95, 0x7E, 0xF1, 0xDA, 0x12, 0xA9, + 0xE6, 0x05, 0xA7, 0x81, 0x24, 0x87, 0xEE, 0x1B, + 0x1E, 0x25, 0xF6, 0x5F, 0xC8, 0xF8, 0x5A, 0x5C, + 0x14, 0x8E, 0x87, 0xC2, 0x65, 0xA2, 0x5B, 0xF1, + 0x39, 0x1B, 0xCD, 0x28, 0x01, 0xE0, 0xF5, 0x13, + 0x8E, 0xC3, 0x02, 0xCB, 0xC3, 0x15, 0x12, 0x8D, + 0xE3, 0xF3, 0xD7, 0x4C, 0x76, 0xEF, 0x1E, 0x41, + 0x03, 0x89, 0xD0, 0x3D, 0x02, 0xF2, 0xCC, 0x90, + 0xB3, 0x24, 0x09, 0x8C, 0x26, 0xE1, 0x68, 0x56, + 0x00, 0x12, 0x5F, 0x41, 0xDE, 0x4C, 0x61, 0x86, + 0x68, 0xA9, 0xFC, 0x17, 0xC8, 0x0D, 0xFB, 0xF2, + 0x24, 0x0E, 0xE0, 0x1B, 0x01, 0x12, 0xF7, 0x2A, + 0x9B, 0x6D, 0x0B, 0xE7, 0xEE, 0xED, 0x88, 0xA4, + 0xB5, 0x1C, 0x06, 0x5F, 0xB4, 0x45, 0x8C, 0x10, + 0x22, 0x24, 0x0B, 0x1D, 0xCD, 0xFF, 0x91, 0x41, + 0x55, 0xA1, 0x83, 0x03, 0xFC, 0xBB, 0xC6, 0xB5, + 0x69, 0x48, 0x67, 0x5C, 0xBD, 0xB9, 0x6A, 0x96, + 0x23, 0x5C, 0xF1, 0x74, 0x00, 0x68, 0xE1, 0x6F, + 0x94, 0x82, 0x63, 0xEB, 0x79, 0x19, 0x2C, 0x15, + 0x9C, 0x96, 0x4A, 0x73, 0x63, 0x00, 0xE1, 0x8F, + 0x66, 0xEE, 0xA5, 0x51, 0x7B, 0x49, 0xD1, 0xA6, + 0x41, 0x0F, 0xBA, 0xF5, 0x2B, 0xF1, 0x97, 0x28, + 0xFD, 0xAC, 0xB6, 0x6C, 0x45, 0x69, 0xE8, 0x15, + 0x82, 0xE4, 0x24, 0xAF, 0xFF, 0xDF, 0xC6, 0x5F, + 0x86, 0x5A, 0x90, 0x04, 0x56, 0xE9, 0x7C, 0x84, + 0x46, 0xBB, 0x12, 0x3C, 0x35, 0x93, 0x2D, 0xCC, + 0x35, 0x81, 0x01, 0x7A, 0x89, 0xB0, 0x4A, 0x2B, + 0xC7, 0x89, 0x06, 0x46, 0x85, 0x53, 0x22, 0x01, + 0xA4, 0x49, 0x13, 0xFF, 0x83, 0x42, 0x1F, 0xED, + 0xA2, 0x7C, 0x7B, 0xFA, 0xC4, 0x26, 0x23, 0xB5, + 0xA9, 0xDB, 0xE4, 0x86, 0x16, 0x05, 0xFD, 0xC7, + 0x96, 0x77, 0x22, 0xD2, 0xFF, 0x19, 0xC0, 0x76, + 0xBD, 0xF7, 0xF3, 0x4F, 0x0D, 0xC2, 0x8F, 0xD8, + 0xFB, 0xD5, 0x57, 0x2F, 0x99, 0x53, 0x0F, 0x6A, + 0x0A, 0xC5, 0xC0, 0x4A, 0x9F, 0x3E, 0xD2, 0x59, + 0x58, 0x83, 0xFE, 0xE1, 0xC2, 0x24, 0x70, 0x1A, + 0xCD, 0xA7, 0xF7, 0xBF, 0x2E, 0x22, 0xBD, 0x63, + 0x27, 0x76, 0x79, 0x2E, 0xE4, 0xEC, 0x4B, 0x35, + 0xDF, 0x0E, 0x58, 0xEA, 0xDA, 0xAF, 0xCD, 0x90, + 0xF2, 0x77, 0xB2, 0x1C, 0x28, 0x5E, 0x9F, 0x2E, + 0xF0, 0x3B, 0xA1, 0xA3, 0xF1, 0xAC, 0x79, 0xDA, + 0x4C, 0x1E, 0xEE, 0xE6, 0x94, 0xF4, 0x17, 0x12, + 0x49, 0x5A, 0x0A, 0x27, 0x54, 0xA3, 0x35, 0x33, + 0x3C, 0x10, 0xEC, 0x86, 0xBB, 0x1D, 0x0D, 0xF9, + 0xCD, 0xA8, 0x6F, 0xAA, 0xDA, 0x5E, 0x2A, 0x3A, + 0x80, 0xB2, 0x8C, 0x99, 0x12, 0xD5, 0xAF, 0x90, + 0x00, 0x12, 0x51, 0x28, 0x53, 0x30, 0x0D, 0x5B, + 0x38, 0xA9, 0x3B, 0xF1, 0x09, 0xCA, 0xF2, 0xA8, + 0x65, 0x38, 0x64, 0xCC, 0x01, 0x12, 0xDC, 0x77, + 0x93, 0x76, 0xAD, 0x07, 0x77, 0x42, 0x24, 0xD6, + 0x62, 0x44, 0xDA, 0x39, 0x6D, 0x4A, 0x89, 0x7C, + 0xB8, 0xB7, 0xAB, 0x9F, 0x18, 0x1C, 0x08, 0x3F, + 0xF3, 0x33, 0x5C, 0xC9, 0x9A, 0x13, 0x15, 0xBA, + 0xB9, 0xFA, 0xB8, 0x24, 0x37, 0xB2, 0xA2, 0x81, + 0xBD, 0xEF, 0x38, 0x0C, 0x98, 0xF8, 0x9A, 0x4F, + 0xC1, 0xAB, 0xE7, 0x07, 0xCD, 0x4F, 0x80, 0x47, + 0x83, 0xFD, 0x2F, 0x0B, 0x30, 0x6E, 0x0A, 0xC2, + 0x0E, 0x49, 0xA4, 0x63, 0x99, 0xB3, 0xB4, 0x97, + 0x2E, 0xDE, 0xDD, 0xF4, 0x41, 0x37, 0xC1, 0x20, + 0x73, 0x97, 0xDE, 0x36, 0x6A, 0xF2, 0x45, 0xAD, + 0xC5, 0x97, 0x6E, 0x3B, 0x81, 0x95, 0x57, 0x92, + 0xB5, 0x6B, 0x42, 0x2A, 0xCC, 0x1B, 0xCE, 0xC1, + 0x5F, 0xBE, 0x28, 0xB1, 0x5E, 0x11, 0x23, 0xE8, + 0xED, 0xE6, 0x4D, 0xDA, 0xDD, 0xE4, 0x5B, 0xF1, + 0x52, 0x55, 0xF7, 0x12, 0x15, 0xBD, 0x0A, 0x54, + 0x84, 0x3E, 0xA6, 0x87, 0xE1, 0x7A, 0x43, 0x2A, + 0x29, 0xEC, 0x8C, 0x8A, 0xF3, 0xE7, 0x12, 0x9E, + 0xF4, 0x1E, 0xF8, 0x37, 0x3A, 0x18, 0x8C, 0xAD, + 0xAD, 0x11, 0x36, 0x1A, 0x70, 0x1E, 0x38, 0xFD, + 0x54, 0x27, 0x80, 0x8B, 0x89, 0x17, 0x14, 0xFC, + 0x0F, 0xE4, 0x04, 0x85, 0x91, 0x21, 0x47, 0x8A, + 0x5E, 0x10, 0x52, 0xB0, 0xBB, 0xFC, 0x7A, 0x09, + 0x37, 0x9D, 0x82, 0x6C, 0xED, 0x02, 0x38, 0x2F, + 0x81, 0x32, 0x39, 0x8C, 0x7D, 0xC2, 0x1F, 0x6C, + 0x4B, 0xDB, 0x0F, 0xAD, 0x9D, 0xCC, 0x1B, 0x7B, + 0xD0, 0xA7, 0x27, 0xC3, 0xAC, 0xF8, 0x1B, 0x51, + 0x77, 0x9F, 0x7E, 0x51, 0x3E, 0xE5, 0xCB, 0x36, + 0x26, 0xAF, 0x57, 0xEE, 0x66, 0xB1, 0x3C, 0x79, + 0x9C, 0x82, 0x01, 0xF6, 0x21, 0x54, 0xD9, 0xDC, + 0x17, 0x9E, 0x69, 0xC9, 0x3A, 0x35, 0xC6, 0x6C, + 0xAF, 0x81, 0x95, 0xF3, 0xB9, 0xB0, 0x41, 0x7B, + 0xA9, 0xD6, 0x92, 0xC9, 0xEF, 0x35, 0x12, 0xAA, + 0x18, 0xEF, 0x4A, 0x97, 0x50, 0x0A, 0x1E, 0x16, + 0x00, 0x12, 0xFA, 0x6D, 0x3F, 0xE7, 0x99, 0x71, + 0x3D, 0x13, 0xC0, 0x19, 0x12, 0xC9, 0xF3, 0x26, + 0x11, 0xA8, 0xFE, 0xCE, 0x01, 0x12, 0x7E, 0x54, + 0x7A, 0x40, 0xC9, 0x4D, 0xEF, 0x5E, 0x3B, 0xE7, + 0x99, 0x49, 0x56, 0x7C, 0x9B, 0xFA, 0x6B, 0xB8, + 0x8B, 0x06, 0x24, 0xB5, 0x65, 0xE4, 0x67, 0xD6, + 0x3A, 0x49, 0x18, 0x64, 0xA3, 0xAD, 0x54, 0x6E, + 0xCA, 0x88, 0x20, 0x1F, 0x10, 0x1A, 0xB8, 0x5D, + 0x31, 0x18, 0x29, 0x52, 0x6F, 0xCD, 0xF8, 0xAA, + 0xE4, 0x63, 0xFC, 0x36, 0xBB, 0x68, 0xB4, 0x32, + 0xA4, 0x9E, 0xC4, 0xEE, 0x61, 0x45, 0xE2, 0xCD, + 0xC7, 0x3B, 0xC2, 0x47, 0xB8, 0xEC, 0xB3, 0x54, + 0x38, 0x44, 0x04, 0x34, 0x5C, 0x70, 0x11, 0x9A, + 0x2C, 0x3F, 0xA7, 0x9C, 0xC4, 0x9D, 0xE3, 0x16, + 0xD8, 0xAF, 0xF2, 0x39, 0x8D, 0x86, 0xD8, 0x07, + 0xE6, 0xEC, 0xC0, 0xBB, 0x6A, 0xA0, 0x94, 0x16, + 0xC5, 0x7D, 0x15, 0xFE, 0x48, 0xB9, 0x06, 0xD1, + 0x45, 0xBB, 0x22, 0x66, 0xA4, 0x55, 0xCE, 0x4C, + 0xF8, 0x1D, 0x62, 0xFA, 0x14, 0xFE, 0x0F, 0xEB, + 0xFD, 0xF2, 0xD7, 0x97, 0x7D, 0xEF, 0x56, 0xC0, + 0x18, 0xD5, 0x1B, 0xBE, 0x17, 0xE1, 0x9B, 0x0E, + 0xDE, 0x1A, 0x6A, 0xD6, 0xC1, 0x8B, 0xF9, 0xAC, + 0x3C, 0x0F, 0x87, 0x2A, 0xAC, 0xC4, 0xCF, 0x9A, + 0x44, 0x1E, 0x8B, 0xBD, 0xA1, 0x9B, 0xFD, 0x27, + 0xB2, 0xF4, 0x22, 0xBB, 0x6B, 0x00, 0xD9, 0xC1, + 0xF1, 0x24, 0x9F, 0xE6, 0x2C, 0x85, 0xE9, 0xEA, + 0x97, 0x28, 0x8E, 0x40, 0xC0, 0x7A, 0xD7, 0x76, + 0x6B, 0x84, 0xB5, 0xD3, 0xE7, 0x9E, 0xC6, 0x16, + 0xD0, 0xA3, 0xE0, 0xE4, 0xFB, 0xB2, 0x2D, 0xEB, + 0x3B, 0xE1, 0x67, 0xA2, 0x0F, 0x64, 0xF0, 0x6F, + 0x5F, 0x56, 0x16, 0x64, 0x71, 0x9B, 0x83, 0xA7, + 0x9C, 0x32, 0x95, 0x90, 0x4D, 0x1F, 0x91, 0x73, + 0x01, 0x7B, 0xAE, 0x1F, 0x64, 0x52, 0xC4, 0x7E, + 0x7A, 0x02, 0x98, 0xD2, 0xE9, 0xCA, 0xA4, 0x25, + 0xBD, 0xC8, 0x15, 0x7F, 0x56, 0x71, 0xBE, 0xD4, + 0xB1, 0xCA, 0xB9, 0xF9, 0xF4, 0x1D, 0x9E, 0x5E, + 0x78, 0xAE, 0x35, 0x94, 0x33, 0x4D, 0x16, 0x19, + 0x00, 0x12, 0xF0, 0xD5, 0x3F, 0x0F, 0x7A, 0xD4, + 0xB3, 0x3B, 0x88, 0x20, 0x2B, 0x1B, 0x12, 0xE7, + 0xAF, 0x77, 0x7C, 0x5F, 0x01, 0x12, 0xCF, 0x53, + 0x45, 0x95, 0x1F, 0x82, 0x55, 0x28, 0xFC, 0x0E, + 0x28, 0x56, 0x06, 0x30, 0x6E, 0xE3, 0xE3, 0xF4, + 0xBD, 0xB4, 0x4F, 0xAC, 0xED, 0x52, 0x49, 0xDD, + 0xA4, 0x72, 0x29, 0xBC, 0x78, 0x09, 0x4A, 0x16, + 0x32, 0x8F, 0x2C, 0xAB, 0x61, 0x5D, 0xC1, 0x13, + 0x81, 0x4A, 0x96, 0x84, 0x61, 0x14, 0x69, 0xF8, + 0x8E, 0x2F, 0x1E, 0x2B, 0x2D, 0x51, 0x31, 0x8B, + 0x66, 0x1D, 0xBD, 0x5F, 0xE0, 0x3C, 0xA4, 0x21, + 0xEA, 0xD6, 0x4F, 0x32, 0x41, 0x86, 0x2A, 0x49, + 0x0F, 0xB8, 0x66, 0x60, 0x08, 0x30, 0xFA, 0xFB, + 0x5D, 0x00, 0x02, 0x0A, 0xFB, 0x1E, 0x3E, 0xDA, + 0x23, 0x3D, 0x6D, 0xCC, 0xE3, 0xAE, 0x68, 0xFF, + 0x19, 0x9B, 0x34, 0x0C, 0x19, 0xD6, 0x81, 0xC3, + 0xFC, 0xA2, 0x93, 0x0B, 0xE9, 0x87, 0x47, 0x7A, + 0x71, 0xE1, 0x77, 0xD1, 0x11, 0x12, 0x1F, 0xBA, + 0xB6, 0x9C, 0x4A, 0xC1, 0x90, 0x21, 0x61, 0x2E, + 0xF1, 0x0B, 0x3E, 0x66, 0x0C, 0x05, 0x50, 0xDE, + 0xCE, 0x24, 0xC2, 0x29, 0x33, 0xD9, 0xD2, 0x5E, + 0x3B, 0x2A, 0xC9, 0xE7, 0xC6, 0x36, 0xBC, 0x8C, + 0xD9, 0x58, 0x77, 0x9E, 0x39, 0x99, 0x8D, 0x22, + 0xD2, 0x7F, 0x27, 0x8E, 0x20, 0xA5, 0xC8, 0xA7, + 0xED, 0xAE, 0xC1, 0x83, 0xD7, 0x70, 0x17, 0xEC, + 0xAB, 0xE6, 0x2B, 0x1D, 0x99, 0x74, 0xE0, 0x69, + 0x61, 0x39, 0xA3, 0x13, 0xD4, 0xD5, 0x03, 0xE9, + 0xBE, 0xED, 0x0E, 0x30, 0x4B, 0x14, 0xBF, 0x5F, + 0x83, 0xD8, 0x0E, 0x21, 0x70, 0xEB, 0xA9, 0xA7, + 0xC0, 0x3C, 0x8A, 0x26, 0x25, 0x49, 0x9C, 0x1C, + 0xF9, 0x38, 0xDF, 0x12, 0xE0, 0xA0, 0x01, 0xCC, + 0x06, 0x9D, 0xA2, 0xF2, 0xAE, 0x82, 0x5F, 0x87, + 0x6F, 0xA8, 0x72, 0x93, 0x0E, 0x7D, 0x26, 0x44, + 0x9B, 0x20, 0xF9, 0x96, 0xF4, 0xE6, 0xE6, 0x64, + 0x0D, 0x7E, 0x2F, 0x20, 0x58, 0x4C, 0x8C, 0x7B, + 0xA0, 0x29, 0x17, 0x6A, 0xFB, 0x07, 0xA6, 0x3F, + 0x0B, 0x07, 0x8A, 0xE1, 0xE7, 0xD1, 0x69, 0x1A, + 0x00, 0x12, 0x7E, 0xDC, 0xCA, 0x6F, 0x24, 0x45, + 0xA5, 0xD2, 0xCA, 0xED, 0x33, 0x0F, 0x0C, 0x6A, + 0x67, 0x77, 0xD8, 0xD9, 0x01, 0x12, 0xED, 0xD8, + 0xB4, 0x23, 0xEF, 0x81, 0xEE, 0xB2, 0x2A, 0x80, + 0x3B, 0x52, 0xC1, 0x69, 0x01, 0x79, 0xFF, 0xDE, + 0xDA, 0x8D, 0xA5, 0xF9, 0x78, 0x3F, 0x5E, 0x7D, + 0x0F, 0xB2, 0x23, 0xE8, 0x39, 0x3F, 0x41, 0xAE, + 0x46, 0x07, 0x3D, 0x7B, 0xCB, 0xFF, 0xE5, 0x69, + 0xF3, 0xB1, 0x2D, 0xF8, 0x4E, 0xF1, 0x39, 0x30, + 0x33, 0x58, 0xEA, 0xE4, 0x22, 0x90, 0x96, 0x58, + 0x0D, 0xF3, 0x25, 0x2D, 0x2C, 0xF4, 0x41, 0x2C, + 0xB0, 0xFE, 0xD3, 0x2D, 0x8F, 0x8A, 0x1F, 0xCB, + 0x2D, 0xC8, 0x95, 0xC5, 0xF4, 0x00, 0x66, 0xC3, + 0x3C, 0x9A, 0xD6, 0x9D, 0x34, 0xAF, 0x87, 0x18, + 0xD1, 0xBF, 0x98, 0xC1, 0xFB, 0x25, 0xE8, 0x41, + 0x11, 0x54, 0xE8, 0x81, 0x3F, 0x90, 0xA2, 0xC9, + 0x57, 0x59, 0xBB, 0xA9, 0xB1, 0x4F, 0xAE, 0x8A, + 0x07, 0x15, 0x83, 0x8F, 0x1F, 0x5F, 0xB9, 0x3D, + 0x32, 0xBA, 0x36, 0xD9, 0x9E, 0x83, 0x7F, 0xEE, + 0xC3, 0x9C, 0x2D, 0xCA, 0xA0, 0xED, 0x2E, 0x9C, + 0x59, 0xF1, 0xC1, 0x6B, 0xCD, 0xBC, 0x2D, 0xDC, + 0xD6, 0x10, 0x58, 0x76, 0xEA, 0x81, 0x43, 0xC1, + 0xB2, 0x71, 0x0F, 0x89, 0xED, 0xE3, 0x72, 0x9B, + 0x6B, 0x8B, 0x34, 0xC1, 0xD2, 0x5F, 0x6C, 0xE8, + 0xBA, 0x9C, 0x18, 0x7B, 0x40, 0xE9, 0x87, 0x70, + 0x28, 0x7B, 0xB3, 0x26, 0x6C, 0xEE, 0x29, 0x68, + 0x3B, 0x00, 0x21, 0x4A, 0x87, 0xFD, 0x62, 0xF5, + 0xB5, 0x92, 0x35, 0x3B, 0xFD, 0x9E, 0x1C, 0x4D, + 0x95, 0xE9, 0x49, 0x70, 0x80, 0x48, 0x11, 0x70, + 0x6D, 0x87, 0x2D, 0x0A, 0xF2, 0x6B, 0x0F, 0x4D, + 0xBD, 0x62, 0x12, 0x5A, 0x38, 0x90, 0xA7, 0xA3, + 0x92, 0xCC, 0x3A, 0xB8, 0x15, 0xAA, 0xA5, 0x23, + 0xBB, 0xDD, 0xF9, 0xA6, 0x12, 0x38, 0x74, 0xBA, + 0x5B, 0xE4, 0x2E, 0x85, 0x6F, 0x81, 0x22, 0x29, + 0xE9, 0xE8, 0x71, 0x15, 0x3E, 0xF3, 0x5D, 0x97, + 0xC9, 0x43, 0xBA, 0xF4, 0xB9, 0x53, 0x81, 0x6C, + 0xE2, 0xAC, 0x27, 0x5D, 0x3C, 0x9A, 0x6E, 0xFB, + 0x00, 0x12, 0x0A, 0xD0, 0xF6, 0x88, 0xCA, 0x4E, + 0x4A, 0xE0, 0xC5, 0xA7, 0xFF, 0xBC, 0x53, 0xD7, + 0xCD, 0x40, 0x9F, 0xEC, 0x01, 0x12, 0xD1, 0xE9, + 0x03, 0x1B, 0xFC, 0x59, 0xA4, 0xE4, 0x6B, 0x6C, + 0x5C, 0x92, 0x05, 0x55, 0x0A, 0x44, 0x8D, 0xD6, + 0x6D, 0x31, 0x1F, 0xB9, 0x6E, 0x8A, 0x6A, 0xFE, + 0x67, 0xF1, 0xDE, 0x0F, 0x25, 0xCE, 0x90, 0x10, + 0x7C, 0x6B, 0x93, 0x47, 0x87, 0xD8, 0x2A, 0x77, + 0x90, 0x91, 0x99, 0xFB, 0xD2, 0xF0, 0x57, 0xB6, + 0x79, 0x43, 0x18, 0x62, 0x3A, 0xDE, 0x91, 0x55, + 0x6F, 0x27, 0x5C, 0x4F, 0x35, 0xB1, 0x3D, 0xCE, + 0xED, 0x46, 0x11, 0xD4, 0x9A, 0x01, 0xF8, 0x61, + 0x11, 0x49, 0xA1, 0x16, 0xE1, 0x01, 0x5D, 0x4F, + 0x50, 0xE0, 0x81, 0xDE, 0xAC, 0x28, 0x50, 0x7D, + 0xD6, 0x7F, 0x4F, 0xD3, 0xAB, 0x58, 0x65, 0xE5, + 0x4A, 0xAE, 0x5A, 0xB3, 0xA3, 0x57, 0xEB, 0x60, + 0x54, 0x3B, 0x1C, 0x7E, 0x65, 0x1E, 0x14, 0x6A, + 0x75, 0x74, 0x77, 0xC1, 0xBF, 0x70, 0x82, 0xFD, + 0x61, 0xFE, 0xEC, 0x0B, 0x49, 0x73, 0x08, 0xEE, + 0xC7, 0xC6, 0xA2, 0x73, 0x88, 0x7D, 0xBE, 0x51, + 0x46, 0xA3, 0x6C, 0xE2, 0x25, 0x75, 0x9F, 0xC5, + 0x83, 0x29, 0xC1, 0x07, 0xB8, 0xA8, 0x10, 0x1A, + 0xB3, 0x5D, 0x3E, 0xE4, 0x01, 0xD4, 0x2A, 0xD1, + 0x31, 0x46, 0x43, 0x5D, 0xD4, 0xE2, 0xBE, 0x7A, + 0xE2, 0xD9, 0xD0, 0x4E, 0xEB, 0x03, 0xD7, 0x74, + 0x9B, 0xC0, 0x6F, 0x7B, 0x81, 0x21, 0x45, 0x96, + 0x8D, 0x64, 0xC0, 0x40, 0x8A, 0xED, 0x79, 0xA3, + 0x29, 0xCB, 0x09, 0xD5, 0x7E, 0x4E, 0x6A, 0x6D, + 0xF4, 0x1E, 0xFE, 0xAD, 0x54, 0xD3, 0x54, 0xB8, + 0x57, 0x74, 0xCA, 0x86, 0x03, 0xB8, 0xDF, 0xE9, + 0x10, 0x76, 0x47, 0x21, 0xC0, 0xB6, 0xB9, 0x60, + 0x8D, 0x50, 0x69, 0xCD, 0xF6, 0x83, 0x55, 0xAD, + 0x42, 0x1A, 0x9D, 0x2D, 0x3A, 0x31, 0xDF, 0xD5, + 0x32, 0x99, 0xB3, 0x4F, 0xE2, 0xDE, 0xD5, 0x8E, + 0x9E, 0x4C, 0xB2, 0xBB, 0xB9, 0x80, 0x21, 0x0E, + 0x6B, 0xD4, 0xFF, 0x7F, 0x04, 0x2D, 0xFE, 0xF3, + 0x7A, 0x96, 0xD5, 0xC8, 0x85, 0xCC, 0xE6, 0xB1, + 0x00, 0x12, 0x63, 0xE6, 0x90, 0x18, 0xE5, 0x00, + 0xD1, 0x58, 0x92, 0x14, 0x70, 0x43, 0x2A, 0x84, + 0x5E, 0x77, 0x19, 0xFB, 0x01, 0x12, 0xCA, 0xF0, + 0xB7, 0x4D, 0xD7, 0x44, 0xD8, 0x46, 0x7A, 0x9D, + 0x9E, 0x72, 0xF0, 0x49, 0xA8, 0xCA, 0x13, 0x46, + 0x24, 0x48, 0x03, 0xEE, 0x18, 0x69, 0xA6, 0xDA, + 0x22, 0x80, 0x7F, 0xE9, 0x51, 0x4B, 0xA3, 0x64, + 0x8B, 0xAA, 0x58, 0x0F, 0xD7, 0x52, 0xBA, 0x35, + 0xE5, 0xEA, 0x31, 0x54, 0xD7, 0xDD, 0xA6, 0xE8, + 0x62, 0xC1, 0x35, 0xF3, 0x68, 0x48, 0x84, 0xD5, + 0xDC, 0xE2, 0x55, 0x57, 0xD6, 0x30, 0x79, 0x6F, + 0x13, 0x2E, 0x51, 0xF9, 0x94, 0x78, 0x51, 0xDB, + 0xE3, 0x3D, 0xA8, 0xC0, 0xC7, 0x76, 0x56, 0x11, + 0x9F, 0x61, 0xEE, 0x32, 0x73, 0x81, 0xEA, 0x76, + 0x18, 0x33, 0xAE, 0x6E, 0x40, 0xEB, 0xF5, 0xE3, + 0x23, 0x72, 0x2D, 0xB9, 0x87, 0xF5, 0xB9, 0xC1, + 0x19, 0x70, 0xF8, 0xFF, 0x41, 0xB9, 0x3F, 0xCF, + 0x62, 0xE8, 0xA7, 0xC0, 0xF6, 0xE4, 0x8E, 0x81, + 0xF3, 0x47, 0xD8, 0x54, 0x32, 0x88, 0xD9, 0xB0, + 0x13, 0xFF, 0xFA, 0xF0, 0xA0, 0x79, 0x72, 0x49, + 0x58, 0xE3, 0xAC, 0xBF, 0xC9, 0x67, 0x40, 0x83, + 0x66, 0x94, 0x62, 0x9D, 0x7D, 0xE9, 0x4E, 0x0F, + 0xE0, 0x9F, 0x24, 0x41, 0xDF, 0x39, 0xA9, 0x6E, + 0x7C, 0x73, 0x16, 0xB9, 0x11, 0x46, 0xA3, 0xF6, + 0x82, 0x19, 0xBE, 0xD3, 0x05, 0xE8, 0x06, 0xDD, + 0x9E, 0x8D, 0x95, 0x19, 0x3E, 0x6B, 0x11, 0x32, + 0x6E, 0x04, 0x6C, 0xAD, 0x25, 0x31, 0x4B, 0xFD, + 0xDE, 0xBB, 0x1E, 0x00, 0x93, 0xBD, 0x13, 0xFC, + 0x63, 0x7E, 0xA1, 0x74, 0xC9, 0x12, 0x50, 0xC7, + 0x0F, 0xD2, 0xCB, 0xB4, 0xA6, 0x75, 0x13, 0x1A, + 0xFA, 0xFC, 0xF3, 0x62, 0x84, 0xBC, 0xA1, 0x03, + 0x30, 0x5D, 0xC2, 0xE3, 0xAB, 0xA9, 0x13, 0x97, + 0xE7, 0x4F, 0x6C, 0x44, 0x3D, 0x58, 0x7A, 0x2D, + 0x1E, 0x48, 0x7B, 0xD7, 0x50, 0xB4, 0xF1, 0x1F, + 0x13, 0xD4, 0xE6, 0x9F, 0x8D, 0x9A, 0xEF, 0xF7, + 0xFD, 0xF6, 0x7F, 0xF0, 0xF4, 0x3A, 0xA2, 0x72, + 0x30, 0x1F, 0x94, 0xC4, 0x2A, 0x7E, 0xF3, 0x0B, + 0x00, 0x12, 0x24, 0x9C, 0x8E, 0xDD, 0xBE, 0xA1, + 0x76, 0x45, 0x2A, 0x89, 0xAF, 0xBC, 0x41, 0xA0, + 0xF9, 0x89, 0xB3, 0xF0, 0x01, 0x12, 0x35, 0x1C, + 0xDE, 0xC5, 0x68, 0x63, 0xE0, 0x76, 0x49, 0xC1, + 0x2B, 0x50, 0x5B, 0x49, 0xF9, 0x1D, 0x57, 0x37, + 0x3C, 0x5C, 0x4F, 0x01, 0xA1, 0x20, 0xF7, 0x06, + 0x4F, 0x22, 0x98, 0x12, 0x34, 0xCB, 0x45, 0x87, + 0x7A, 0xE0, 0x00, 0x56, 0x6A, 0xE1, 0xF2, 0x0B, + 0xB2, 0xC7, 0x42, 0x6C, 0x00, 0x0E, 0xEF, 0x12, + 0xB2, 0x1B, 0x48, 0x87, 0x13, 0xDF, 0xFD, 0xE9, + 0x34, 0xFF, 0xBA, 0xFA, 0xE1, 0xC3, 0xDF, 0x39, + 0x7F, 0xE3, 0x20, 0xA5, 0x46, 0x26, 0x43, 0xE6, + 0xF8, 0x4D, 0x7E, 0x76, 0x14, 0xEB, 0x94, 0xAB, + 0x7D, 0xB1, 0xEF, 0x43, 0xCC, 0x54, 0x60, 0xB5, + 0x48, 0xE0, 0x79, 0xC9, 0x73, 0x9C, 0xA4, 0x2B, + 0xA3, 0xBF, 0x90, 0x7C, 0x9B, 0x78, 0xC9, 0xDD, + 0xDD, 0xD9, 0x5E, 0xA0, 0x7F, 0xC7, 0x00, 0x98, + 0x98, 0x3B, 0xEB, 0x83, 0xEB, 0x09, 0xD3, 0xB6, + 0x7A, 0x6E, 0xD7, 0x1D, 0xB3, 0x38, 0x04, 0x7B, + 0x5F, 0x35, 0x72, 0x6F, 0xE3, 0x3F, 0x0D, 0x73, + 0xA3, 0x0F, 0xD5, 0xBD, 0xB1, 0x17, 0x56, 0xAD, + 0x2B, 0xDF, 0xB8, 0xB2, 0xDF, 0x67, 0x36, 0xB7, + 0xC6, 0x9D, 0x11, 0x48, 0xA1, 0x62, 0xB1, 0xA6, + 0xCB, 0x09, 0x14, 0x32, 0xCC, 0xBA, 0xCA, 0x5C, + 0xD7, 0x1B, 0xFB, 0x5F, 0x95, 0x4D, 0x87, 0xD6, + 0xDA, 0xF1, 0xFF, 0xCC, 0x57, 0x8F, 0xA8, 0xB2, + 0x45, 0xED, 0xC7, 0xE5, 0x5B, 0x19, 0x70, 0xAD, + 0x48, 0x56, 0xE4, 0xA9, 0xBC, 0x51, 0x09, 0xBD, + 0xB0, 0x71, 0x87, 0xE8, 0xEB, 0x7C, 0x45, 0x82, + 0x4E, 0x79, 0x46, 0x8C, 0x75, 0x6B, 0x8A, 0x62, + 0x7C, 0xCB, 0xEE, 0xDB, 0x13, 0xFC, 0xEA, 0xF1, + 0xEF, 0x55, 0x49, 0x54, 0x4E, 0xEB, 0x7B, 0xB9, + 0x4C, 0xB9, 0x74, 0xFE, 0xCD, 0x34, 0x39, 0x9B, + 0x0B, 0xF3, 0x63, 0x94, 0xA8, 0x1E, 0xAF, 0x28, + 0xB9, 0x7D, 0x16, 0xA7, 0x93, 0x60, 0x49, 0x7E, + 0xD9, 0x19, 0xAE, 0xD9, 0xA8, 0x07, 0xD1, 0xE5, + 0xE7, 0x25, 0xA5, 0x1C, 0x83, 0xB5, 0x28, 0xE4, + 0x00, 0x12, 0x51, 0xC3, 0x2C, 0x8F, 0x90, 0xBC, + 0xE6, 0x44, 0xBE, 0x5F, 0x1B, 0xD5, 0x35, 0x88, + 0x76, 0x6E, 0x71, 0x63, 0x01, 0x12, 0x62, 0x36, + 0xE6, 0x1B, 0x1A, 0x46, 0x40, 0x55, 0x83, 0xFD, + 0xCD, 0xCF, 0xC3, 0x16, 0x84, 0xA5, 0x86, 0x35, + 0xB5, 0xAC, 0x2C, 0x7A, 0x23, 0x95, 0x1C, 0x75, + 0x44, 0x27, 0x8E, 0xEF, 0x19, 0xA2, 0xF0, 0x4A, + 0x9B, 0x12, 0x33, 0x71, 0xFF, 0x18, 0x12, 0xB7, + 0xC9, 0xB4, 0xE7, 0x13, 0x9E, 0x4A, 0x46, 0x5B, + 0xBB, 0x80, 0x70, 0xB6, 0x12, 0x85, 0x8B, 0xEA, + 0x83, 0x87, 0x61, 0xEA, 0x6A, 0x4E, 0xFD, 0x0A, + 0x67, 0x5E, 0xC0, 0x90, 0xED, 0x52, 0x20, 0x39, + 0x0A, 0x02, 0xA1, 0xFE, 0x3D, 0x9B, 0x0A, 0x34, + 0xA9, 0x09, 0x08, 0x7F, 0x5B, 0xEC, 0xEF, 0x37, + 0xC5, 0x30, 0x28, 0x77, 0xC7, 0xD4, 0xEF, 0x2B, + 0x5A, 0xBD, 0xFB, 0xFD, 0x0E, 0x4B, 0xCE, 0xBD, + 0xE7, 0x27, 0xA3, 0xE2, 0xCB, 0x6D, 0xEF, 0x93, + 0x04, 0x81, 0xAB, 0x4F, 0xF5, 0x5A, 0x6C, 0xCE, + 0xCE, 0x84, 0xD5, 0xF8, 0xB4, 0x08, 0x9C, 0xDA, + 0x37, 0x08, 0x98, 0xDA, 0x68, 0x96, 0xB5, 0x03, + 0x7C, 0x25, 0x69, 0xCC, 0xEB, 0x79, 0xA3, 0xA4, + 0x47, 0x28, 0x78, 0x68, 0x9D, 0x5B, 0xA3, 0x4E, + 0xB3, 0x16, 0xC3, 0x97, 0x7A, 0x7F, 0xC7, 0x44, + 0xB0, 0x7C, 0x41, 0x20, 0xAD, 0x12, 0x5E, 0x25, + 0x4A, 0x09, 0xE7, 0x0D, 0x5B, 0x14, 0x2C, 0xA0, + 0x3F, 0x0E, 0xA6, 0x8D, 0x0D, 0x01, 0xB1, 0xAB, + 0x1C, 0x93, 0x5B, 0x79, 0x0F, 0x58, 0x48, 0x9D, + 0xB2, 0x6A, 0x59, 0x6F, 0x20, 0xEF, 0x90, 0x10, + 0xE5, 0xBC, 0x1B, 0x73, 0xE5, 0xA5, 0xF3, 0x90, + 0x48, 0xE8, 0x49, 0x1A, 0x43, 0xC4, 0xEB, 0x79, + 0x05, 0xA8, 0x10, 0x4A, 0x3D, 0xBC, 0xE4, 0x20, + 0xAE, 0xB2, 0xD2, 0x75, 0xC6, 0x16, 0x63, 0x52, + 0xFD, 0xEE, 0x30, 0x61, 0xDE, 0x30, 0x05, 0xC9, + 0x56, 0xA8, 0x71, 0xE7, 0x3B, 0x88, 0x84, 0x36, + 0x46, 0x57, 0xC0, 0xF1, 0x7C, 0xA4, 0x88, 0xFE, + 0xB5, 0xF6, 0x4C, 0x26, 0xD3, 0x13, 0xD8, 0x71, + 0x8E, 0x6A, 0xAD, 0x38, 0x64, 0x4D, 0xA8, 0xEB, + 0x00, 0x12, 0xF1, 0xBA, 0xF4, 0x0B, 0xEB, 0xDC, + 0xAD, 0xA0, 0xF9, 0x25, 0xCA, 0x64, 0xEC, 0x13, + 0x67, 0x71, 0x81, 0x9B, 0x01, 0x12, 0x48, 0x2B, + 0x51, 0x45, 0xF8, 0x3F, 0x8A, 0x23, 0xB7, 0xF6, + 0xE4, 0x99, 0x8D, 0x08, 0x96, 0x81, 0xCE, 0x9C, + 0xEF, 0x00, 0x7A, 0xD0, 0x67, 0x40, 0x91, 0x25, + 0xE3, 0xD2, 0x52, 0xCF, 0xDB, 0x96, 0xB8, 0xD1, + 0xB2, 0x76, 0xCC, 0xA7, 0xAE, 0x0B, 0xD2, 0xD2, + 0xE3, 0xD2, 0x41, 0x07, 0x59, 0x05, 0xB1, 0x91, + 0x90, 0x4E, 0x65, 0x9F, 0x75, 0x6C, 0x79, 0x26, + 0x34, 0x67, 0x8C, 0xF9, 0xD2, 0x99, 0x53, 0x7D, + 0xBF, 0xB9, 0x98, 0x03, 0xA6, 0x40, 0x58, 0xBA, + 0xDF, 0xEB, 0x9D, 0x52, 0x42, 0x34, 0xB6, 0xB0, + 0x37, 0x5F, 0xC2, 0x3D, 0x64, 0x53, 0xC3, 0xF4, + 0x3B, 0xAF, 0x6C, 0x7E, 0xB1, 0xED, 0x62, 0x69, + 0xC8, 0xAE, 0x58, 0x6D, 0xCE, 0x86, 0xBD, 0x76, + 0xC6, 0x42, 0xAC, 0x7A, 0xF7, 0x9A, 0x22, 0x8D, + 0xBA, 0x5B, 0xDB, 0xFA, 0xA1, 0xCB, 0x53, 0x9B, + 0x2F, 0x81, 0xD8, 0x14, 0x5D, 0xF8, 0x48, 0xAB, + 0x92, 0xFF, 0x77, 0xA5, 0x11, 0xA2, 0x75, 0x27, + 0x12, 0x50, 0x87, 0xF4, 0x75, 0xF4, 0x9B, 0x63, + 0x42, 0x89, 0x29, 0xEF, 0xE1, 0xF9, 0xA9, 0xA5, + 0xBC, 0x52, 0x5A, 0x53, 0x4C, 0xC2, 0x3D, 0xA3, + 0x3F, 0xCC, 0x0E, 0x1E, 0xB0, 0xEE, 0x44, 0x15, + 0x26, 0x16, 0x65, 0x84, 0xCC, 0xCD, 0xFC, 0x49, + 0x5B, 0x3E, 0xF2, 0x31, 0x30, 0x4D, 0xA4, 0x6E, + 0x11, 0xC7, 0xBA, 0xB0, 0x36, 0x5A, 0x33, 0x84, + 0xED, 0xA5, 0x93, 0x6E, 0x48, 0xDA, 0x0D, 0xE6, + 0xF2, 0x78, 0x54, 0xC2, 0x64, 0x16, 0x78, 0xF0, + 0x82, 0x44, 0x00, 0x0F, 0xB9, 0x9A, 0x66, 0xA9, + 0x55, 0xDF, 0xF0, 0x55, 0x13, 0xA0, 0x0D, 0xA8, + 0x02, 0x84, 0xA7, 0x8B, 0xAA, 0x88, 0x87, 0x8D, + 0x9E, 0x3D, 0x01, 0xFA, 0x9E, 0x20, 0x91, 0xB5, + 0x95, 0x61, 0x4C, 0xB2, 0x9F, 0x64, 0x03, 0xA3, + 0x66, 0x88, 0x2E, 0xFF, 0xAC, 0xC6, 0x15, 0x8B, + 0x8D, 0xE3, 0x99, 0x41, 0x3C, 0xA0, 0x07, 0xF6, + 0x3E, 0x6B, 0x48, 0xC7, 0x4E, 0x87, 0x6D, 0xD7, + 0x00, 0x12, 0xC7, 0x1D, 0x53, 0xEE, 0x38, 0x86, + 0x46, 0xA1, 0x7A, 0x2C, 0x71, 0x58, 0x9B, 0x01, + 0x4B, 0xE7, 0x11, 0xE2, 0x01, 0x12, 0x18, 0x67, + 0x33, 0x56, 0xC0, 0xED, 0x69, 0x94, 0xA4, 0xBA, + 0xB3, 0x69, 0xB3, 0x52, 0x32, 0xD7, 0x79, 0x90, + 0x7A, 0xC8, 0x4F, 0xEB, 0x68, 0x3D, 0x27, 0x57, + 0xFA, 0x42, 0x63, 0x70, 0xC3, 0x74, 0x58, 0xB1, + 0x08, 0xDC, 0x43, 0xFF, 0x63, 0x3F, 0x56, 0x36, + 0x5F, 0xC8, 0x77, 0x7E, 0x7C, 0x34, 0x2B, 0x62, + 0x28, 0x9D, 0x2B, 0xE2, 0x15, 0x3F, 0x4D, 0xA1, + 0x4B, 0x24, 0x8F, 0x51, 0x9D, 0x2F, 0xA8, 0xB0, + 0x77, 0x8A, 0xB8, 0x20, 0x55, 0x75, 0xFE, 0x2A, + 0xD3, 0x96, 0x8A, 0x14, 0xEF, 0xD7, 0xEF, 0xED, + 0x2F, 0xEE, 0x75, 0x65, 0x26, 0x68, 0x87, 0x40, + 0xF8, 0x79, 0x2F, 0xA8, 0xC9, 0xFA, 0x60, 0xE1, + 0x08, 0xF1, 0x5A, 0x4D, 0xD1, 0xC6, 0x88, 0x06, + 0x40, 0x52, 0xE1, 0x04, 0xA0, 0x41, 0x92, 0xAF, + 0x3F, 0x3B, 0x64, 0x76, 0x54, 0xB2, 0xD7, 0xE9, + 0xD3, 0x77, 0x2A, 0xBA, 0xFD, 0x79, 0x94, 0x6C, + 0x5D, 0xCC, 0xB1, 0x6F, 0xD3, 0xC0, 0x5E, 0x7C, + 0x21, 0x7C, 0x13, 0xC3, 0x55, 0x81, 0x7E, 0xA9, + 0x0D, 0x99, 0x67, 0x60, 0xFD, 0x82, 0xDC, 0x30, + 0xC2, 0x82, 0x38, 0x83, 0x50, 0x4D, 0xE8, 0xDE, + 0x99, 0x0F, 0xF3, 0x27, 0xE4, 0x2D, 0x58, 0x49, + 0x3A, 0x26, 0xAD, 0x32, 0x55, 0x9A, 0xA3, 0x14, + 0x38, 0x3B, 0x00, 0x50, 0xCE, 0xF7, 0x18, 0xFD, + 0x4F, 0xCB, 0xE6, 0x6F, 0x70, 0x4F, 0xE0, 0x6B, + 0xBF, 0xA9, 0xB9, 0x56, 0x9E, 0x38, 0xEB, 0x04, + 0xEC, 0x5F, 0x62, 0xC1, 0x13, 0x2E, 0x39, 0xDD, + 0x4F, 0x81, 0xD5, 0xC6, 0x2A, 0x71, 0xE3, 0xCA, + 0xCE, 0x28, 0x50, 0xF6, 0x9F, 0xBA, 0x22, 0xFB, + 0xC7, 0xB3, 0xA7, 0xCC, 0xD7, 0x32, 0x2C, 0xDA, + 0xDC, 0x1E, 0x4B, 0xAC, 0x65, 0xF0, 0x80, 0xB9, + 0xC7, 0xDF, 0x68, 0xC9, 0xD4, 0x80, 0x60, 0x6E, + 0x39, 0x2A, 0x9E, 0x06, 0xEC, 0x0A, 0x16, 0x6D, + 0x0C, 0x68, 0xE6, 0x5F, 0x20, 0xA3, 0x6F, 0x97, + 0xD0, 0x34, 0xBB, 0xA5, 0x82, 0x1A, 0x75, 0xFE, + 0x00, 0x12, 0x27, 0x1D, 0x06, 0x87, 0x93, 0x94, + 0x78, 0x8D, 0xA0, 0x6D, 0x7D, 0x02, 0x6A, 0x69, + 0x6D, 0x08, 0x65, 0x45, 0x01, 0x12, 0xB4, 0x05, + 0xA2, 0x22, 0x43, 0x02, 0xDD, 0xC4, 0x7A, 0xFA, + 0xD0, 0x3B, 0x58, 0x8F, 0xF8, 0xF0, 0xFA, 0xBD, + 0x29, 0x72, 0x80, 0xBA, 0xD0, 0x43, 0x3A, 0x7E, + 0xA0, 0x13, 0x0F, 0x7E, 0xE1, 0x8E, 0xD4, 0x37, + 0xC2, 0x02, 0x41, 0xCE, 0xB2, 0x68, 0xCC, 0x39, + 0x00, 0x1D, 0xED, 0x7B, 0x6E, 0x56, 0x8C, 0xE4, + 0x35, 0x5F, 0x84, 0x54, 0xE7, 0xFB, 0x4F, 0x5D, + 0xB1, 0xBF, 0x40, 0x21, 0x66, 0xA7, 0xA9, 0x19, + 0x4F, 0x59, 0x3F, 0x25, 0x9E, 0xA8, 0xC0, 0x95, + 0x98, 0x67, 0x1D, 0x10, 0xCF, 0x9D, 0x22, 0x4F, + 0x0C, 0xD6, 0xB8, 0x94, 0x5E, 0xA0, 0x97, 0x81, + 0x82, 0xD4, 0x02, 0x27, 0x71, 0x2A, 0xA8, 0xF8, + 0x3F, 0x1B, 0x8B, 0xB0, 0x78, 0xBB, 0xCB, 0x4C, + 0x2D, 0xE7, 0x9C, 0x6B, 0x4D, 0xF3, 0x20, 0xF0, + 0x16, 0xEB, 0xB9, 0xF3, 0xC1, 0xB2, 0x4C, 0x4F, + 0xC8, 0xBC, 0xB2, 0x6C, 0x60, 0x54, 0x22, 0x3B, + 0x24, 0x7A, 0xCB, 0x7E, 0x20, 0x54, 0xD0, 0x40, + 0x3D, 0x3A, 0x02, 0x6C, 0xB7, 0xF1, 0x10, 0x9E, + 0x76, 0xDD, 0x03, 0x20, 0x65, 0x6B, 0xD4, 0x76, + 0x12, 0x5F, 0xB1, 0x4B, 0xE2, 0x72, 0xF4, 0x7E, + 0xA1, 0x96, 0x5E, 0x7E, 0xDF, 0x58, 0x5C, 0x47, + 0x3E, 0x8E, 0x8B, 0x35, 0x84, 0xB8, 0x44, 0x8D, + 0x57, 0x3E, 0xD3, 0x19, 0x78, 0xA0, 0x8D, 0x98, + 0xAB, 0xF0, 0x1E, 0x83, 0x79, 0x84, 0xEE, 0x80, + 0x7D, 0x20, 0xF0, 0x0C, 0xE5, 0xCE, 0x3E, 0x2D, + 0xB3, 0x1C, 0xC4, 0x5E, 0xD7, 0x12, 0xEC, 0x50, + 0x89, 0xD1, 0xDB, 0x83, 0xBB, 0xE1, 0xC4, 0x14, + 0x6A, 0xB7, 0x01, 0x18, 0x3C, 0xFB, 0xA7, 0x40, + 0xC4, 0xCD, 0x44, 0x37, 0x35, 0x0F, 0x4B, 0xFE, + 0xAB, 0x31, 0xC2, 0x03, 0x7B, 0x1F, 0xF1, 0xE7, + 0x5F, 0x02, 0x48, 0x8A, 0x5F, 0x5C, 0xD1, 0x5A, + 0xF7, 0x3B, 0x59, 0x1C, 0xDC, 0x31, 0x95, 0x9B, + 0x07, 0xAD, 0x74, 0xFE, 0xBF, 0x5D, 0x94, 0x35, + 0x62, 0xED, 0x9E, 0xEF, 0x3B, 0x61, 0xDE, 0x78, + 0x00, 0x12, 0x19, 0xD6, 0xB7, 0x27, 0x07, 0x96, + 0x83, 0x8C, 0x68, 0x59, 0xEA, 0x37, 0x7C, 0x21, + 0x6A, 0x95, 0xE8, 0x61, 0x01, 0x12, 0x93, 0x07, + 0x1B, 0xE7, 0x10, 0xC0, 0x10, 0x2B, 0x20, 0x52, + 0x4F, 0x56, 0x03, 0x37, 0x83, 0xAE, 0x59, 0x78, + 0x59, 0xBC, 0x64, 0xCB, 0x5B, 0xAE, 0x3A, 0x25, + 0x23, 0xED, 0xF3, 0x22, 0x70, 0xCC, 0x6D, 0x41, + 0xDC, 0xF1, 0x40, 0xF6, 0xAB, 0x28, 0x09, 0xFD, + 0xEF, 0x14, 0x41, 0x63, 0x23, 0xD0, 0xBF, 0x0F, + 0x77, 0x29, 0xAD, 0x1C, 0xE8, 0x81, 0xFB, 0x44, + 0x45, 0xEE, 0xB3, 0xD0, 0xE6, 0x39, 0xD9, 0xFF, + 0xA6, 0x8E, 0x10, 0xD5, 0xE7, 0xD1, 0x85, 0x65, + 0x45, 0xA1, 0x5C, 0xEF, 0x69, 0xD9, 0xF0, 0xB2, + 0x4D, 0x8C, 0x80, 0xA5, 0xCD, 0xD2, 0xA4, 0x62, + 0xEA, 0xEC, 0x1F, 0xCF, 0x39, 0x18, 0x31, 0x08, + 0xD4, 0xEE, 0x4C, 0x75, 0x35, 0x02, 0x90, 0x05, + 0x30, 0xCE, 0x6B, 0xF8, 0xA2, 0x22, 0xDE, 0xAB, + 0x55, 0xE8, 0x5E, 0x13, 0x96, 0xBC, 0xBB, 0xC0, + 0xAF, 0x22, 0x43, 0x79, 0xEF, 0xED, 0xC8, 0xC4, + 0x4B, 0x84, 0x03, 0x1B, 0xBA, 0x69, 0x1E, 0x08, + 0xE3, 0x2A, 0x47, 0x8D, 0x71, 0xEA, 0x2C, 0x2D, + 0x74, 0x82, 0xED, 0x47, 0x86, 0x8E, 0x4A, 0x44, + 0xC3, 0x8D, 0x08, 0xFD, 0xD4, 0x16, 0xA5, 0xD2, + 0x71, 0x4B, 0x74, 0x18, 0xBD, 0xCC, 0xA1, 0x36, + 0xA8, 0xF1, 0xC6, 0xBD, 0xD4, 0x45, 0x73, 0x76, + 0x51, 0xB5, 0xFC, 0xB8, 0x97, 0x93, 0x71, 0xE2, + 0x71, 0xC9, 0xC0, 0x32, 0xFF, 0x5F, 0xF3, 0x8E, + 0x90, 0x29, 0x32, 0x3B, 0xB8, 0x39, 0xEF, 0x51, + 0xB7, 0x0C, 0x5E, 0x8F, 0xF8, 0x8C, 0x74, 0x51, + 0x0F, 0x76, 0xB8, 0x68, 0xF5, 0x76, 0x54, 0x92, + 0x26, 0x98, 0x20, 0xA9, 0x97, 0xB6, 0xF7, 0x2D, + 0x72, 0x20, 0x1B, 0xC6, 0x47, 0x0A, 0x4B, 0x6A, + 0xAE, 0x92, 0x48, 0x88, 0xD3, 0xFC, 0xF2, 0x8F, + 0xA7, 0xA0, 0xA2, 0xC8, 0x01, 0xBF, 0x9B, 0xF1, + 0x4F, 0xA5, 0x2C, 0xC2, 0x14, 0x8D, 0xF4, 0x27, + 0x1F, 0xCC, 0x40, 0x33, 0xE8, 0x98, 0x69, 0x75, + 0xC2, 0xDD, 0x31, 0xB5, 0xCA, 0xA4, 0x9D, 0xAB, + 0x00, 0x12, 0x17, 0x97, 0xE0, 0xA4, 0xDC, 0xE7, + 0xC9, 0x47, 0x2B, 0x9E, 0xED, 0x08, 0x2F, 0x02, + 0xCA, 0x57, 0x36, 0xF7, 0x01, 0x12, 0xC8, 0x27, + 0x69, 0xB2, 0xDB, 0xF3, 0x17, 0xE9, 0x36, 0x8A, + 0xFC, 0x41, 0x51, 0xD9, 0x01, 0x46, 0x98, 0x8E, + 0xFA, 0x7B, 0x73, 0x61, 0xC9, 0xC0, 0x84, 0xF5, + 0xD6, 0xED, 0x3D, 0xDF, 0xB7, 0xEC, 0xC7, 0xC3, + 0x2B, 0xBA, 0x12, 0x84, 0x92, 0xBE, 0xFA, 0xF4, + 0x32, 0x28, 0x29, 0xDC, 0x84, 0x93, 0x62, 0x19, + 0x04, 0xCB, 0x25, 0x09, 0xA5, 0x9D, 0x49, 0x10, + 0xF4, 0x25, 0xE1, 0x7D, 0xB1, 0xDF, 0xE8, 0x63, + 0x3E, 0x8F, 0x9D, 0xE3, 0x5F, 0x05, 0x5E, 0xB6, + 0x54, 0x23, 0xCF, 0x30, 0x34, 0xA3, 0x6A, 0x33, + 0x4A, 0x01, 0x74, 0x10, 0xDF, 0x11, 0xAB, 0x03, + 0x62, 0x01, 0x7C, 0x63, 0x97, 0x95, 0x50, 0x5A, + 0x61, 0xDD, 0x50, 0x64, 0xF3, 0x33, 0x67, 0x6D, + 0x82, 0xE7, 0x9A, 0x12, 0xC1, 0x96, 0x74, 0xF2, + 0xBC, 0x55, 0x1C, 0xCB, 0x36, 0x31, 0x52, 0x24, + 0x6F, 0xE3, 0x8F, 0x94, 0x2F, 0x81, 0xB0, 0xEB, + 0x95, 0x49, 0xEF, 0x52, 0x82, 0xF8, 0x34, 0x8D, + 0xF4, 0x23, 0xFE, 0xF9, 0x9A, 0x64, 0x55, 0x17, + 0x78, 0x95, 0x62, 0xF8, 0x39, 0x35, 0xFB, 0x72, + 0xFA, 0x25, 0xAD, 0x88, 0x84, 0xF9, 0xC7, 0x17, + 0x6F, 0x85, 0x57, 0x5F, 0xCF, 0xDD, 0xB5, 0x4B, + 0x3A, 0xA4, 0xC1, 0xA5, 0x7F, 0xC2, 0x7C, 0x7D, + 0xF5, 0x21, 0xED, 0x1C, 0x30, 0xFE, 0xA5, 0x07, + 0x47, 0xD8, 0xF8, 0x09, 0x25, 0x8B, 0x6E, 0x2D, + 0xE5, 0x1F, 0x31, 0xB1, 0xDC, 0x3A, 0x6B, 0xDA, + 0xA5, 0xC4, 0x43, 0x5E, 0xEA, 0x6A, 0xCA, 0x2D, + 0x47, 0x59, 0x6F, 0xD6, 0x67, 0x5C, 0x4A, 0xAD, + 0x75, 0x1F, 0xBD, 0x2C, 0x27, 0x32, 0x17, 0xF5, + 0x6C, 0xB3, 0xC8, 0xDF, 0x91, 0xFE, 0x4D, 0xC7, + 0x85, 0x5F, 0x2C, 0xA5, 0x7A, 0x0D, 0xB3, 0xD5, + 0xA5, 0xD5, 0x5D, 0x2E, 0xF9, 0x96, 0x67, 0x6E, + 0xB5, 0xD1, 0x7E, 0xD1, 0x89, 0xD2, 0xD5, 0x44, + 0xD5, 0x60, 0xFC, 0x19, 0x69, 0x74, 0x39, 0xDE, + 0x6A, 0x09, 0x13, 0x67, 0xE5, 0xFE, 0x08, 0x98, + 0x00, 0x12, 0xAE, 0xB7, 0x61, 0xF9, 0x88, 0xE7, + 0xD1, 0x56, 0x94, 0xDC, 0x83, 0x31, 0x5D, 0xDC, + 0x17, 0xD4, 0xDA, 0xCD, 0x01, 0x12, 0x0D, 0xE9, + 0xC9, 0x23, 0xE4, 0x70, 0x9C, 0xAC, 0x5D, 0x98, + 0x2F, 0xDD, 0x8A, 0xEF, 0xAD, 0x3C, 0xD2, 0x33, + 0x7D, 0xF1, 0xB3, 0xDD, 0xC4, 0xE1, 0x55, 0xC4, + 0xAE, 0x4B, 0x9B, 0xA5, 0x8C, 0xC4, 0x21, 0xF3, + 0xCE, 0xE0, 0x37, 0xB3, 0x87, 0x31, 0xC3, 0x89, + 0x85, 0x7C, 0x88, 0x2A, 0x6E, 0xAE, 0x28, 0x51, + 0x07, 0x2A, 0x64, 0xA0, 0xAB, 0x73, 0x85, 0xA9, + 0x1E, 0xD1, 0xA0, 0x73, 0x04, 0xC0, 0x45, 0x33, + 0x56, 0x5C, 0x6F, 0xFF, 0xCB, 0xCA, 0xA9, 0xE9, + 0xD7, 0x72, 0x14, 0xFF, 0xF1, 0x9C, 0x5E, 0x15, + 0x8B, 0x2C, 0xD2, 0xA8, 0x9D, 0xB2, 0xFC, 0xFA, + 0x5F, 0x27, 0xE2, 0x5F, 0x56, 0xC8, 0x62, 0x73, + 0xD8, 0xA7, 0xE8, 0x69, 0x07, 0xED, 0x63, 0xF8, + 0x60, 0xB5, 0x4F, 0xC7, 0x74, 0x47, 0x33, 0x63, + 0x4D, 0xA1, 0x8E, 0xD1, 0xFA, 0x4D, 0x3B, 0xD3, + 0x02, 0x02, 0x29, 0x0A, 0xBC, 0xE4, 0xCF, 0xA9, + 0xC5, 0x67, 0x4D, 0x1E, 0x00, 0xFD, 0x70, 0x02, + 0x32, 0x96, 0xDA, 0xFC, 0xD9, 0x9B, 0x9D, 0xD5, + 0x7F, 0xA7, 0x05, 0x34, 0x6D, 0x05, 0xA2, 0x31, + 0x48, 0x4D, 0x9E, 0xD1, 0xB7, 0xB4, 0x0F, 0x78, + 0xBF, 0x97, 0x24, 0x47, 0x3D, 0xB2, 0x12, 0x72, + 0x6F, 0x57, 0xF7, 0xD5, 0xB5, 0x3B, 0xC4, 0x6C, + 0x4F, 0xF3, 0xDA, 0x54, 0xF9, 0x7C, 0x80, 0x27, + 0xEE, 0x59, 0xA3, 0x30, 0x12, 0xC1, 0x50, 0xDA, + 0xA8, 0x2F, 0x9B, 0x23, 0xD7, 0x94, 0x5C, 0x04, + 0xA7, 0x06, 0xDA, 0x52, 0x05, 0xEB, 0x34, 0xDD, + 0x34, 0xE1, 0xD7, 0xFE, 0x45, 0x41, 0xA2, 0x8F, + 0x01, 0xAF, 0x18, 0x59, 0x01, 0x89, 0xC7, 0x2E, + 0x3D, 0xC0, 0x06, 0x88, 0xD9, 0xD9, 0xF3, 0xA2, + 0xF4, 0x1A, 0x95, 0x74, 0xAB, 0x50, 0xB3, 0xDD, + 0x39, 0xFA, 0x3A, 0x67, 0x7D, 0xC9, 0x3B, 0x45, + 0x6A, 0x01, 0xA2, 0x1F, 0x9D, 0x73, 0x63, 0x5A, + 0x3D, 0xC3, 0xA8, 0x0F, 0x43, 0xB1, 0x0B, 0x5B, + 0x00, 0x99, 0x8B, 0x0C, 0x46, 0x01, 0x78, 0xA0, + 0x00, 0x12, 0x91, 0x7A, 0x25, 0x42, 0xB2, 0x4E, + 0x11, 0xE6, 0xC1, 0xCA, 0x4E, 0x64, 0xE6, 0x9C, + 0xAE, 0x8B, 0x86, 0xBA, 0x01, 0x12, 0xA4, 0xA4, + 0x61, 0xA2, 0x17, 0x01, 0x7D, 0xD1, 0xE7, 0x9C, + 0x92, 0xF8, 0x16, 0xB3, 0x19, 0xA4, 0x9A, 0x08, + 0x5D, 0xFC, 0xE1, 0x83, 0xD2, 0x06, 0x7F, 0xE7, + 0x55, 0x2F, 0x38, 0x3C, 0xD8, 0x91, 0x8F, 0x93, + 0x99, 0xCF, 0xFC, 0xC2, 0xCA, 0x57, 0xDA, 0xCE, + 0x45, 0xA1, 0xD1, 0x91, 0x37, 0x80, 0x31, 0x84, + 0x56, 0xDB, 0xBC, 0x16, 0x09, 0xE7, 0xAC, 0x86, + 0x5B, 0xDA, 0x7F, 0x8B, 0xBC, 0x28, 0x68, 0xFA, + 0x8A, 0x22, 0xEE, 0x0B, 0x3F, 0x37, 0xE8, 0xDD, + 0xC8, 0x4E, 0x73, 0xA3, 0xA1, 0x91, 0x11, 0x59, + 0x95, 0x6B, 0xBF, 0x24, 0x1F, 0x3B, 0xDF, 0x1E, + 0x00, 0x1F, 0xBA, 0x88, 0xF2, 0x59, 0x24, 0xA7, + 0x5B, 0xA5, 0xF5, 0x2D, 0xCE, 0x48, 0x7A, 0xCF, + 0xD1, 0x06, 0x90, 0x86, 0x6B, 0xC9, 0x25, 0xCA, + 0x4C, 0xA6, 0xD1, 0x8D, 0x30, 0x41, 0x40, 0x95, + 0x62, 0x60, 0x49, 0xA3, 0x61, 0x74, 0x29, 0xC4, + 0x36, 0x22, 0xF3, 0xA0, 0x98, 0x79, 0x95, 0xBD, + 0x22, 0x86, 0x87, 0xB8, 0xE3, 0xF8, 0x85, 0xB6, + 0x72, 0x55, 0x92, 0x88, 0x7B, 0x1C, 0xC6, 0x83, + 0xEC, 0x8E, 0x75, 0xB5, 0x4B, 0x65, 0x45, 0xBF, + 0x3A, 0xE8, 0x9D, 0x07, 0x2B, 0xA5, 0x5C, 0x27, + 0xE0, 0xCB, 0xF0, 0x0B, 0xF7, 0xCB, 0xEB, 0xB1, + 0x86, 0x3D, 0xDC, 0x7C, 0x8A, 0x19, 0x6C, 0x90, + 0xD2, 0x57, 0x9B, 0xC2, 0x63, 0xDA, 0xA7, 0xE5, + 0xC8, 0x48, 0xC8, 0x3F, 0x4D, 0x8D, 0x5E, 0x7B, + 0x25, 0x85, 0x40, 0xE9, 0xB4, 0x2A, 0x55, 0x47, + 0x5F, 0xB1, 0xA7, 0xD7, 0xD9, 0x9C, 0xB6, 0x5D, + 0x98, 0xED, 0x06, 0xDA, 0x26, 0x77, 0x3A, 0x35, + 0x26, 0x91, 0x77, 0xAB, 0xDD, 0xB8, 0x27, 0x09, + 0xB7, 0xB9, 0x4B, 0xC1, 0xCD, 0xCC, 0xA2, 0x1A, + 0x69, 0x3A, 0xE1, 0x25, 0x03, 0x69, 0x3F, 0xF6, + 0xC8, 0x6C, 0x12, 0x11, 0x94, 0xC9, 0xB4, 0x3D, + 0x5C, 0x89, 0x36, 0xAF, 0xF8, 0x7A, 0x77, 0x41, + 0xD0, 0x55, 0x95, 0x15, 0xEF, 0xB6, 0x33, 0x2E, + 0x00, 0x12, 0xD5, 0x58, 0xF0, 0x82, 0xC0, 0x44, + 0xB1, 0xE6, 0x4A, 0x70, 0x5F, 0xED, 0x90, 0x7F, + 0xD5, 0x13, 0xBE, 0x9F, 0x01, 0x12, 0xDC, 0x2B, + 0x44, 0x6E, 0x26, 0xE3, 0xF8, 0xD2, 0x82, 0xDE, + 0x8F, 0xAD, 0xDD, 0x9B, 0x29, 0x1E, 0xC4, 0x22, + 0x7D, 0x69, 0x5D, 0xC0, 0x7C, 0x9C, 0xC6, 0x41, + 0x34, 0x7F, 0x1C, 0xF1, 0x25, 0x42, 0x9E, 0xAF, + 0x70, 0x1E, 0x12, 0xE4, 0x9E, 0x16, 0x28, 0x04, + 0x6F, 0xA8, 0x5C, 0x3A, 0x8E, 0x39, 0xDA, 0xE4, + 0x38, 0x4E, 0x0D, 0xC2, 0xE4, 0x01, 0x04, 0x6C, + 0x63, 0x48, 0x69, 0x9A, 0x55, 0x5B, 0x36, 0x4D, + 0x6C, 0xF1, 0x8A, 0xB7, 0xA0, 0x03, 0xAE, 0xDA, + 0xDE, 0xAF, 0x88, 0x2C, 0x0C, 0x94, 0x7C, 0x10, + 0xC4, 0x67, 0xEB, 0x2A, 0xCB, 0x07, 0xA0, 0x76, + 0x11, 0x85, 0x80, 0x65, 0x2A, 0xB3, 0xBA, 0xA4, + 0xF1, 0x0A, 0x6E, 0x48, 0x30, 0xEB, 0xDC, 0xFF, + 0x6D, 0x16, 0xB9, 0x04, 0xA6, 0xE7, 0x7C, 0xA8, + 0x34, 0x97, 0x33, 0x42, 0xB4, 0x28, 0xEA, 0xF6, + 0xE8, 0xC6, 0xEC, 0xF1, 0x55, 0xDC, 0x7C, 0xDC, + 0xBC, 0x49, 0x5D, 0x5C, 0x36, 0xC0, 0x1E, 0xE3, + 0x78, 0x00, 0x73, 0xF0, 0x14, 0xAA, 0x32, 0x32, + 0x06, 0x68, 0xDF, 0x2F, 0x2B, 0x98, 0x47, 0x3E, + 0x20, 0xDE, 0xA7, 0xB6, 0x4C, 0xDD, 0x92, 0xCB, + 0x9E, 0xED, 0x41, 0x7D, 0x88, 0x38, 0x24, 0x37, + 0x74, 0x28, 0xE2, 0x87, 0x23, 0x13, 0xC0, 0x62, + 0x71, 0xCB, 0x47, 0xF9, 0x31, 0x8D, 0x03, 0x4A, + 0xF3, 0xBF, 0xFD, 0x0E, 0x76, 0xF1, 0x44, 0x85, + 0x7C, 0xA7, 0x7D, 0x69, 0x8C, 0xA8, 0xCC, 0x01, + 0x0E, 0x4F, 0x38, 0x74, 0x58, 0xFE, 0x70, 0x9F, + 0x22, 0x85, 0xBB, 0x51, 0x21, 0x3E, 0xFB, 0x6B, + 0x79, 0x49, 0x80, 0x21, 0x95, 0xDB, 0xE7, 0x1D, + 0xB4, 0x81, 0xD7, 0x3D, 0x25, 0x06, 0xA1, 0x68, + 0xB3, 0x87, 0xA5, 0xDC, 0xB0, 0xC3, 0xDC, 0x6E, + 0xF3, 0x9C, 0xA3, 0x71, 0xB7, 0xCF, 0xBC, 0x69, + 0x19, 0xCF, 0xEC, 0x0A, 0xF0, 0xBF, 0x98, 0x43, + 0xC3, 0x30, 0x7C, 0x6F, 0xC8, 0xD4, 0x28, 0xDC, + 0x42, 0x7C, 0x72, 0x63, 0x50, 0x4F, 0x6E, 0x5C, + 0x00, 0x12, 0x12, 0xF1, 0x12, 0x90, 0x52, 0xA7, + 0xE0, 0x67, 0x52, 0x25, 0x4A, 0x8F, 0x79, 0x98, + 0x7F, 0xE5, 0x72, 0x4A, 0x01, 0x12, 0x26, 0x93, + 0x27, 0x37, 0x4D, 0xAF, 0xCA, 0x38, 0xE9, 0x85, + 0x47, 0xF2, 0x9C, 0x68, 0x9F, 0x34, 0x71, 0xD9, + 0xE0, 0xB6, 0xBD, 0x37, 0xDA, 0xF5, 0x60, 0x0D, + 0x19, 0xAD, 0xCB, 0xF6, 0xB8, 0x6B, 0x93, 0x52, + 0x97, 0x5C, 0xD4, 0xC5, 0xA6, 0x62, 0xE1, 0xE4, + 0x61, 0x0C, 0xD4, 0xC9, 0x82, 0x0A, 0x41, 0xF7, + 0xF8, 0xDD, 0x1D, 0x9A, 0xF4, 0x79, 0x50, 0xA0, + 0xEC, 0x26, 0xC6, 0x85, 0xB0, 0xC2, 0x54, 0x24, + 0x42, 0xD7, 0x33, 0x30, 0xE8, 0xE0, 0xA9, 0x96, + 0xAE, 0x5A, 0xD5, 0xD3, 0xA9, 0xE7, 0x25, 0x8A, + 0x88, 0x64, 0xDC, 0xA4, 0xC1, 0xCD, 0xAC, 0x4E, + 0xF5, 0x30, 0xD3, 0xC4, 0xC0, 0xBA, 0x75, 0xEC, + 0xE0, 0xDF, 0x26, 0x3A, 0xAA, 0x7B, 0xEE, 0xC9, + 0xD5, 0xC8, 0x6C, 0x86, 0x26, 0x07, 0x0C, 0x34, + 0xFD, 0xED, 0x8F, 0xBB, 0x0E, 0xE8, 0xA8, 0x2A, + 0x08, 0xA9, 0x28, 0xF4, 0x25, 0xBA, 0xD5, 0x7A, + 0x65, 0xF7, 0xD3, 0x61, 0x7C, 0x8D, 0x44, 0x92, + 0xC0, 0x3B, 0xC6, 0xD2, 0x51, 0xD9, 0xDE, 0x51, + 0x08, 0x6E, 0x81, 0x4B, 0x09, 0x14, 0x04, 0x28, + 0xC7, 0x99, 0x97, 0x5E, 0x7F, 0xA3, 0xD2, 0xAD, + 0x61, 0x10, 0xA1, 0x33, 0x46, 0x3B, 0xB8, 0x0E, + 0x71, 0x79, 0xC8, 0x57, 0xC8, 0x33, 0x62, 0xF6, + 0x36, 0x7D, 0x8D, 0xCB, 0x50, 0xC8, 0x0B, 0x5A, + 0xFF, 0x78, 0xCF, 0x0B, 0x36, 0x5E, 0xE6, 0x01, + 0x68, 0xD5, 0xC7, 0xD7, 0xEC, 0x18, 0x2A, 0x63, + 0xFD, 0x17, 0xC1, 0x8B, 0x34, 0xE6, 0x82, 0xE8, + 0x30, 0xA2, 0xD0, 0x53, 0xAA, 0x94, 0x9D, 0x13, + 0x66, 0xC4, 0x49, 0x59, 0x5F, 0x64, 0x85, 0x9E, + 0xAA, 0x7C, 0x2B, 0x30, 0xF3, 0x44, 0xB8, 0x50, + 0xAD, 0xAE, 0x65, 0x10, 0x30, 0x3F, 0x55, 0x23, + 0xAE, 0x7C, 0xC3, 0xD1, 0xFB, 0x6A, 0x4C, 0xB3, + 0x3A, 0xFB, 0x48, 0x30, 0x42, 0xDD, 0x45, 0xA9, + 0xAF, 0x19, 0x31, 0x62, 0xF8, 0x8E, 0xA2, 0x6A, + 0xEF, 0x64, 0x28, 0x0F, 0xC1, 0x15, 0x4D, 0xE5, + 0x00, 0x12, 0x35, 0x29, 0x98, 0x9B, 0x0A, 0xB3, + 0x6F, 0x37, 0xC4, 0x5C, 0x1A, 0xFD, 0xAA, 0x9A, + 0xFD, 0x78, 0x3A, 0x73, 0x01, 0x12, 0x23, 0x82, + 0xF3, 0xB8, 0x2C, 0x11, 0x1E, 0x43, 0x70, 0x95, + 0x28, 0xE4, 0xAA, 0x9C, 0xBD, 0xEF, 0xC3, 0x52, + 0x74, 0x84, 0x5A, 0xE9, 0xF2, 0xD7, 0xEF, 0xD7, + 0x78, 0x70, 0x0F, 0xAE, 0x2E, 0x4E, 0xB2, 0x11, + 0x12, 0x1C, 0xAE, 0xDE, 0x0B, 0x21, 0x98, 0xEB, + 0x63, 0x0B, 0x7A, 0x26, 0xD3, 0xC1, 0x62, 0x2D, + 0x60, 0xC9, 0xFB, 0x4B, 0x77, 0xA2, 0x64, 0xD7, + 0xC6, 0x3D, 0xEF, 0x2D, 0xB0, 0x5B, 0x10, 0x64, + 0x9D, 0x58, 0x0A, 0xF7, 0x81, 0x35, 0x18, 0xEF, + 0x8B, 0xB4, 0xD1, 0xDF, 0xED, 0xA8, 0x63, 0x49, + 0x80, 0x34, 0x81, 0xBD, 0x07, 0x6C, 0x72, 0xF1, + 0x31, 0xF8, 0xC3, 0xA1, 0x30, 0xF0, 0x38, 0x94, + 0x7D, 0xCE, 0x5D, 0x47, 0x25, 0x24, 0x79, 0x8D, + 0x18, 0x1F, 0x32, 0x6A, 0xCD, 0x3A, 0xBD, 0x97, + 0x81, 0xF2, 0x26, 0x52, 0xB4, 0x98, 0xCF, 0x9E, + 0x9F, 0xB8, 0x75, 0x0B, 0x56, 0x63, 0xFB, 0x55, + 0x15, 0x80, 0x95, 0x97, 0x59, 0xA1, 0x22, 0xFC, + 0xBF, 0x4F, 0x2D, 0xEC, 0xC0, 0xB8, 0x3D, 0xA8, + 0x4A, 0xD7, 0x81, 0x15, 0x5B, 0xC3, 0x19, 0xF5, + 0x2D, 0xA2, 0x53, 0x2F, 0x5A, 0x18, 0x2C, 0x9C, + 0x6D, 0xF6, 0x29, 0xEB, 0xD9, 0xE7, 0x09, 0xD3, + 0x53, 0xF9, 0x71, 0xBA, 0x8F, 0xB0, 0x84, 0x12, + 0x1F, 0xC1, 0xE1, 0xC8, 0x47, 0xB3, 0x85, 0x93, + 0x99, 0x7B, 0x9F, 0xA2, 0x74, 0x9C, 0xEF, 0xF9, + 0x1F, 0xAF, 0x3E, 0x6D, 0xC3, 0x6E, 0x1A, 0xC1, + 0x6F, 0xDF, 0x4F, 0xE4, 0xA3, 0x42, 0x36, 0x01, + 0xFF, 0x52, 0xA3, 0x8B, 0x9F, 0x54, 0x2B, 0xCC, + 0xBB, 0xB8, 0x3B, 0xE3, 0x6D, 0x1F, 0xC4, 0x9A, + 0x83, 0x35, 0x60, 0xED, 0x91, 0x23, 0x22, 0x31, + 0x8A, 0x63, 0xF0, 0x4B, 0x9C, 0x4F, 0x96, 0x34, + 0xFA, 0x16, 0x75, 0x02, 0x37, 0xDF, 0x85, 0x76, + 0xA4, 0x7A, 0x41, 0x3E, 0x70, 0xC0, 0x8F, 0x1E, + 0x23, 0x69, 0xF2, 0x32, 0x34, 0x58, 0x17, 0x1F, + 0x8B, 0xAC, 0x6F, 0x91, 0x89, 0x17, 0xC6, 0x7C, + 0x00, 0x12, 0xA4, 0x02, 0xD2, 0x19, 0x83, 0xBB, + 0x9C, 0x82, 0x23, 0x3C, 0x92, 0x6B, 0x3F, 0x56, + 0xCA, 0x55, 0x29, 0xF6, 0x01, 0x12, 0x9F, 0xAA, + 0x6F, 0x3B, 0x68, 0xAA, 0xC1, 0xB3, 0xCF, 0x09, + 0x64, 0x86, 0xCB, 0xD4, 0xB1, 0x8A, 0x39, 0x5B, + 0x68, 0xD3, 0xC3, 0x79, 0xF2, 0x27, 0xC6, 0xDC, + 0xFB, 0x43, 0x62, 0x2A, 0xBF, 0xE3, 0xAA, 0xAD, + 0xD4, 0xD5, 0x4E, 0x6C, 0x94, 0x3D, 0x02, 0x5C, + 0x2D, 0xEE, 0x15, 0x72, 0x72, 0x9D, 0x68, 0xD4, + 0x97, 0x37, 0x57, 0xC6, 0xB7, 0x4C, 0x53, 0x4B, + 0x0D, 0x52, 0x8E, 0x4F, 0xF0, 0xC9, 0x64, 0x08, + 0x1B, 0x17, 0xC4, 0x17, 0xC6, 0x0E, 0x2C, 0x1D, + 0xFF, 0x54, 0x3B, 0x33, 0x6B, 0x90, 0x0A, 0x35, + 0x7E, 0xD1, 0xDF, 0x60, 0x9D, 0x64, 0xC9, 0x7E, + 0x29, 0x34, 0x5E, 0x8B, 0x05, 0xB0, 0x50, 0xAD, + 0x48, 0xB9, 0x87, 0x74, 0x47, 0xBF, 0x92, 0xB9, + 0xC7, 0x93, 0x09, 0x5A, 0x77, 0x4D, 0xDB, 0x49, + 0x7A, 0x16, 0x5E, 0xEA, 0x88, 0xEB, 0x08, 0xFB, + 0x69, 0x55, 0x73, 0x52, 0x13, 0x4D, 0x7E, 0x0B, + 0x3B, 0x0F, 0x7E, 0xDE, 0x93, 0xEB, 0x18, 0xB2, + 0x7C, 0xD0, 0x3B, 0xA2, 0x3B, 0x37, 0xE0, 0x5C, + 0x78, 0x8F, 0xF8, 0x73, 0x20, 0x09, 0x02, 0xAF, + 0xBC, 0xA9, 0xD5, 0x63, 0x1E, 0xF9, 0xD5, 0xAE, + 0xCB, 0x56, 0x95, 0x7F, 0x8C, 0xBE, 0x1C, 0x41, + 0x62, 0xB8, 0x3C, 0x02, 0xB3, 0x3F, 0xE5, 0xED, + 0x0C, 0xE3, 0xF3, 0x10, 0x8B, 0x6B, 0xD6, 0xF4, + 0x7F, 0x3F, 0x08, 0x27, 0xDB, 0x90, 0x23, 0x67, + 0xBC, 0xC6, 0x10, 0x1C, 0xAE, 0x91, 0xEE, 0xEC, + 0xC8, 0xE2, 0x6C, 0xC1, 0x51, 0x72, 0x9D, 0x16, + 0xEC, 0x77, 0x9F, 0xDF, 0x2D, 0x29, 0xAA, 0x1D, + 0x8D, 0xCA, 0x91, 0x46, 0xBD, 0x75, 0x48, 0x24, + 0xF4, 0xC8, 0x0C, 0xAC, 0x4B, 0xEE, 0x3A, 0xA4, + 0x15, 0x92, 0xDB, 0x60, 0x12, 0x20, 0xB6, 0xB3, + 0x4E, 0x4E, 0x41, 0x2D, 0xB8, 0xBB, 0x13, 0xF3, + 0x63, 0xCC, 0x1B, 0x84, 0x4D, 0xFC, 0xCC, 0x54, + 0x0E, 0xA9, 0x48, 0xD9, 0x3E, 0x35, 0xA3, 0x35, + 0xED, 0xFD, 0x73, 0xE7, 0x05, 0xD6, 0xF8, 0x6B, + 0x00, 0x12, 0x78, 0xA4, 0xB4, 0x88, 0xF3, 0x1F, + 0xE3, 0x67, 0xBA, 0xA0, 0x16, 0xEF, 0x31, 0x9F, + 0x9D, 0x64, 0x8E, 0x12, 0x01, 0x12, 0xE6, 0xD8, + 0x6D, 0x3A, 0x23, 0x8E, 0x67, 0x40, 0xF1, 0xC4, + 0xEB, 0x77, 0x22, 0x74, 0x1B, 0x6E, 0x0D, 0x38, + 0x0D, 0x71, 0xC0, 0x59, 0x3D, 0x3A, 0xCD, 0xEB, + 0x90, 0x0F, 0xF8, 0xB3, 0xBD, 0x7C, 0x1A, 0x45, + 0x52, 0x1F, 0x9A, 0x62, 0x93, 0xDE, 0xFE, 0xC7, + 0x2C, 0x9F, 0xC7, 0x45, 0x18, 0x8F, 0xC3, 0x9F, + 0x78, 0x01, 0x5C, 0xF5, 0x36, 0x4E, 0x72, 0x2C, + 0x77, 0xB4, 0xF2, 0xEF, 0xCD, 0xFE, 0x95, 0x7D, + 0x12, 0x7C, 0x79, 0x33, 0xAA, 0xD5, 0xE3, 0x25, + 0x02, 0xFE, 0x0A, 0x2B, 0x73, 0x5D, 0x69, 0xCC, + 0x51, 0x6C, 0x1F, 0x26, 0xD9, 0x7D, 0xDB, 0x90, + 0x61, 0xE8, 0xFE, 0x0E, 0x02, 0x05, 0x64, 0xB3, + 0x8D, 0xB2, 0x2B, 0x7E, 0x58, 0x4C, 0x47, 0x63, + 0x0B, 0x46, 0x1C, 0xDE, 0x8A, 0xB5, 0x31, 0x57, + 0x61, 0x28, 0x36, 0x44, 0xB0, 0xF2, 0x8B, 0x20, + 0xB2, 0x82, 0x1D, 0x7D, 0x0E, 0x9D, 0x8D, 0xB0, + 0xD2, 0x5B, 0xB8, 0xD9, 0x6F, 0xE3, 0x3C, 0x48, + 0x91, 0x4A, 0xB6, 0x8D, 0x73, 0x3E, 0x71, 0x1A, + 0x7D, 0xAA, 0x1C, 0x98, 0xBC, 0xAE, 0x07, 0xA1, + 0x84, 0x7B, 0x04, 0x37, 0x32, 0xDE, 0xC5, 0xAF, + 0xFF, 0x5A, 0xBA, 0xA0, 0xEC, 0x3B, 0x8A, 0xAC, + 0x12, 0x98, 0x61, 0xC6, 0xC9, 0x39, 0xCD, 0xCC, + 0x9D, 0x18, 0xFB, 0x41, 0x19, 0x1F, 0x77, 0x43, + 0x99, 0x8A, 0xCB, 0x08, 0x72, 0x4C, 0x56, 0xD0, + 0x67, 0xCF, 0x40, 0x1E, 0x9F, 0x44, 0xF9, 0xB1, + 0xD8, 0xC3, 0x92, 0x04, 0x2C, 0x8B, 0xA5, 0x40, + 0x2D, 0x01, 0xE9, 0x40, 0x2A, 0xCF, 0xE5, 0xCB, + 0xBE, 0x46, 0xF9, 0xAA, 0xC6, 0x73, 0xDF, 0x12, + 0x92, 0x43, 0xA7, 0x7D, 0x6A, 0xCD, 0x0F, 0x7A, + 0xB7, 0x64, 0xA8, 0x3D, 0xB8, 0xFA, 0x53, 0x19, + 0x53, 0x19, 0xCF, 0xF8, 0x67, 0x14, 0xE7, 0x01, + 0x17, 0xFE, 0xF5, 0x0A, 0x1F, 0x45, 0x9E, 0x3B, + 0xC3, 0x86, 0x34, 0x2B, 0x65, 0xB5, 0x42, 0xC8, + 0x9B, 0xE8, 0xD7, 0x70, 0xEC, 0x7A, 0x34, 0x80, + 0x00, 0x12, 0x60, 0x32, 0x99, 0x0A, 0x56, 0x1A, + 0x69, 0x00, 0xF3, 0xC7, 0xC7, 0xF0, 0x0E, 0x8E, + 0xF7, 0x56, 0x99, 0xB1, 0x01, 0x12, 0x1B, 0x68, + 0x82, 0xDF, 0x33, 0x13, 0x70, 0xD4, 0xCB, 0xF7, + 0xA5, 0xA5, 0x0B, 0x26, 0x95, 0xE6, 0x54, 0x1E, + 0x8F, 0x67, 0xBA, 0xC9, 0x8E, 0x22, 0xA9, 0x5C, + 0xB5, 0x97, 0x1E, 0x63, 0x69, 0x45, 0x6A, 0x7E, + 0xBC, 0xE2, 0x5E, 0x5B, 0x17, 0x0D, 0xD5, 0xAC, + 0xBA, 0x54, 0x5C, 0x2F, 0xEE, 0x2F, 0x54, 0x42, + 0xC0, 0x2A, 0xAB, 0x99, 0x5E, 0x57, 0x1E, 0xA4, + 0x20, 0x80, 0x07, 0x13, 0xAD, 0xB0, 0x25, 0x5B, + 0x78, 0x97, 0xCF, 0x06, 0x2A, 0x99, 0xD2, 0x17, + 0x6D, 0x4E, 0x4C, 0x96, 0x45, 0x23, 0x58, 0x55, + 0xFD, 0x00, 0x71, 0x95, 0xEC, 0x43, 0x48, 0x46, + 0xDB, 0xD5, 0x43, 0xAC, 0xCB, 0xCE, 0xE9, 0x28, + 0x84, 0xD8, 0xE0, 0x2C, 0x24, 0x0B, 0x5D, 0xAE, + 0xC3, 0x8C, 0x3F, 0x77, 0x7C, 0xF2, 0x71, 0x1F, + 0x24, 0xF1, 0xAA, 0xDA, 0xC2, 0xCD, 0x8C, 0xA1, + 0x28, 0x88, 0x19, 0xEF, 0xF5, 0x31, 0x86, 0xFB, + 0xCB, 0x7A, 0x76, 0x23, 0x4B, 0xEB, 0x33, 0xD7, + 0xE8, 0x7A, 0x08, 0x6F, 0x58, 0xC7, 0xCE, 0x42, + 0xC4, 0xDE, 0x6F, 0x8E, 0x1C, 0xD3, 0x25, 0xD3, + 0xBF, 0x95, 0x41, 0xB8, 0xF9, 0x8C, 0xD3, 0x4B, + 0x76, 0x22, 0x3C, 0x20, 0x92, 0xEE, 0xC0, 0x82, + 0x85, 0x46, 0x06, 0x6C, 0xB8, 0x2B, 0xB3, 0xCF, + 0x68, 0x26, 0xC9, 0xB9, 0x2E, 0x42, 0x76, 0x0C, + 0xD4, 0x26, 0x49, 0x14, 0x3F, 0xEC, 0x59, 0x5F, + 0x82, 0xE2, 0x93, 0xCE, 0x9A, 0x26, 0x5D, 0x72, + 0xF0, 0xDA, 0xAB, 0x80, 0x26, 0xF2, 0xD2, 0x69, + 0xD5, 0x9A, 0xBC, 0xB9, 0xF1, 0x23, 0x40, 0x1F, + 0xE6, 0xE8, 0xAA, 0xED, 0x28, 0xDC, 0x3C, 0xE1, + 0x36, 0x7F, 0xE0, 0x10, 0x58, 0xF9, 0x62, 0xB1, + 0xBE, 0xB3, 0x37, 0x85, 0x78, 0x6E, 0x1D, 0x05, + 0x7A, 0x0A, 0xC8, 0x04, 0xA3, 0xB9, 0xA7, 0x89, + 0x52, 0x5C, 0x8C, 0x6A, 0x22, 0x2D, 0x6F, 0x9C, + 0x69, 0x00, 0xF0, 0x61, 0x52, 0xBC, 0xB0, 0xE2, + 0xB0, 0x76, 0x20, 0x43, 0x01, 0x68, 0x06, 0x32, + 0x00, 0x12, 0x8D, 0x65, 0xE8, 0x64, 0x10, 0xDB, + 0x65, 0x19, 0xF7, 0x3F, 0xA3, 0xD8, 0xFD, 0x7E, + 0xEA, 0x6C, 0x72, 0x6C, 0x01, 0x12, 0x7A, 0xA4, + 0x8B, 0xCF, 0x2A, 0x64, 0x01, 0x32, 0xD6, 0xFE, + 0xD3, 0xDF, 0x3B, 0x93, 0x01, 0x84, 0x6F, 0x95, + 0xD7, 0x51, 0xD6, 0x8F, 0xC9, 0x5B, 0xCB, 0xCD, + 0x23, 0xD6, 0xB0, 0xC4, 0x6A, 0x00, 0x8D, 0x22, + 0xA5, 0xB1, 0x1D, 0xF7, 0x32, 0xDA, 0xBD, 0x91, + 0x6B, 0xF3, 0x68, 0x26, 0x50, 0x82, 0x6B, 0xFE, + 0x8F, 0x83, 0xA4, 0x91, 0x20, 0x94, 0x3C, 0xCC, + 0x67, 0xE0, 0xF6, 0xB9, 0xEC, 0xD3, 0x2C, 0x43, + 0x5E, 0x28, 0xE3, 0x56, 0x56, 0x4D, 0xBA, 0x98, + 0xA4, 0x79, 0xC0, 0xE5, 0x2D, 0xF7, 0xD2, 0x86, + 0x1C, 0x5C, 0xAA, 0x48, 0xF6, 0xB4, 0x5A, 0x67, + 0x14, 0xE8, 0x3C, 0x63, 0xC4, 0xB8, 0x3E, 0xD0, + 0xC1, 0x9E, 0x17, 0x29, 0x55, 0x85, 0xA4, 0x7E, + 0x2B, 0xB3, 0x25, 0x69, 0x53, 0x3D, 0x12, 0xD2, + 0xA4, 0x88, 0xA0, 0xBB, 0x35, 0x01, 0x23, 0xA5, + 0x82, 0xE1, 0x1C, 0xE2, 0x89, 0x74, 0xB7, 0xFC, + 0x28, 0x61, 0xE4, 0x21, 0x61, 0x5F, 0x7B, 0xCC, + 0x50, 0xA9, 0xA4, 0xDE, 0xA6, 0x08, 0xA0, 0x4C, + 0x39, 0x0C, 0x2A, 0xD4, 0x8B, 0x3C, 0x82, 0x20, + 0xD9, 0xEB, 0x7F, 0x03, 0x16, 0xE0, 0x7D, 0x8F, + 0xA8, 0x4C, 0x86, 0x30, 0xE6, 0xD4, 0xA5, 0x99, + 0xA3, 0x79, 0x07, 0xCF, 0x2B, 0x10, 0x78, 0xD4, + 0x88, 0xF0, 0xE6, 0xAE, 0xF6, 0x82, 0x6B, 0x6A, + 0x56, 0x25, 0x37, 0xC3, 0xA6, 0xBA, 0x44, 0x0C, + 0x20, 0x10, 0x47, 0xA1, 0xB6, 0xD8, 0x09, 0x13, + 0x47, 0x25, 0x53, 0x7B, 0x79, 0xE2, 0x65, 0x58, + 0x9D, 0x12, 0xC6, 0x91, 0x63, 0xAC, 0x61, 0x59, + 0x12, 0xF0, 0xD1, 0x57, 0x25, 0x21, 0xE7, 0x74, + 0x61, 0xE4, 0x2B, 0x6A, 0x98, 0x2E, 0x53, 0x40, + 0x46, 0xED, 0x31, 0x3A, 0x63, 0x08, 0xD4, 0x5F, + 0x50, 0x56, 0x55, 0x21, 0x27, 0x3F, 0x1B, 0x81, + 0x23, 0x73, 0xE9, 0x5C, 0x9F, 0xF0, 0xE2, 0x87, + 0xD2, 0x3E, 0x19, 0x65, 0x9C, 0x56, 0x96, 0xDC, + 0xD3, 0x11, 0xAB, 0xB3, 0x1E, 0x54, 0xC0, 0xBF, + 0x00, 0x12, 0x9B, 0x6C, 0x18, 0xD4, 0x96, 0xF5, + 0x92, 0x53, 0x63, 0xB0, 0x39, 0x8B, 0x76, 0x9B, + 0x0F, 0xD3, 0xDE, 0xD2, 0x01, 0x12, 0x49, 0xDA, + 0xB6, 0x97, 0x70, 0xA3, 0xD6, 0x53, 0x7F, 0x53, + 0xFF, 0x52, 0xAC, 0x22, 0x18, 0x76, 0x56, 0xFF, + 0xD5, 0xF5, 0x40, 0xC6, 0xC9, 0x3F, 0xD5, 0x99, + 0x62, 0x70, 0x8D, 0xCC, 0xF1, 0x9C, 0x77, 0x19, + 0x25, 0x1B, 0xB9, 0xAF, 0xBF, 0xAB, 0xA1, 0xDB, + 0x43, 0x5B, 0x63, 0xBF, 0x76, 0xB4, 0x0F, 0xB6, + 0x16, 0x20, 0x3C, 0x4B, 0x12, 0x7A, 0xD6, 0x6E, + 0x8D, 0x66, 0xD0, 0x6D, 0xFF, 0x94, 0x70, 0x20, + 0x1A, 0x03, 0x0A, 0x3D, 0x50, 0xA6, 0x6E, 0x76, + 0x6C, 0x94, 0x03, 0x3C, 0xEA, 0x04, 0xDF, 0x65, + 0x92, 0x3A, 0x3E, 0xBF, 0x0F, 0xFE, 0xD8, 0x02, + 0x20, 0xA9, 0x50, 0xB8, 0x4B, 0x9D, 0x9E, 0x86, + 0x5F, 0x71, 0xD0, 0xE6, 0xE7, 0xBE, 0xAC, 0x01, + 0x71, 0xF3, 0x5C, 0x67, 0xD9, 0x9B, 0x61, 0x51, + 0x68, 0x3A, 0xC7, 0x17, 0xAE, 0xB3, 0x2E, 0x26, + 0xA4, 0xA7, 0x77, 0x6B, 0x69, 0x20, 0x36, 0xAF, + 0xF6, 0xB1, 0x8C, 0xA9, 0xE9, 0x2F, 0x2F, 0xF1, + 0x84, 0xFB, 0xB3, 0x67, 0xAC, 0xC4, 0xA3, 0xAD, + 0x51, 0x80, 0xC9, 0xC0, 0xC5, 0xD1, 0xE2, 0x9D, + 0x08, 0xCE, 0x2B, 0xB0, 0x74, 0x44, 0x92, 0x17, + 0x52, 0x52, 0x4D, 0x01, 0x0E, 0xC3, 0xDC, 0x21, + 0x3B, 0xD7, 0xC1, 0xA9, 0xC1, 0x0E, 0x3C, 0x21, + 0xE5, 0x59, 0x62, 0xFB, 0x1D, 0x39, 0xE2, 0x04, + 0x38, 0x94, 0x75, 0x47, 0x42, 0x00, 0x5D, 0x56, + 0xB7, 0x4C, 0x3A, 0x05, 0x3D, 0x7B, 0xD8, 0xC8, + 0xA8, 0xB0, 0x97, 0xD1, 0xB8, 0xB5, 0x90, 0x44, + 0x05, 0x31, 0x9D, 0x61, 0x37, 0x83, 0xCC, 0x14, + 0x7B, 0x23, 0xE5, 0xE0, 0xD3, 0xEF, 0xA2, 0x22, + 0x89, 0x28, 0x0C, 0x6C, 0x6C, 0xE3, 0xEA, 0x8A, + 0xD7, 0x96, 0x8D, 0x58, 0xF0, 0x91, 0x0C, 0xD2, + 0x6E, 0x38, 0xF2, 0x52, 0x42, 0xDC, 0x7E, 0xF6, + 0x27, 0x68, 0xD8, 0xF3, 0x89, 0x4D, 0xA6, 0xA1, + 0x36, 0x81, 0x0C, 0x76, 0x9B, 0xFC, 0x39, 0xBD, + 0xD1, 0xF6, 0x3A, 0x21, 0xA2, 0xEF, 0x0A, 0xA3, + 0x00, 0x12, 0x30, 0xF9, 0x21, 0xBB, 0xB5, 0x19, + 0x13, 0x02, 0x29, 0x8F, 0x95, 0xE9, 0xF4, 0xB2, + 0x25, 0x6F, 0x99, 0x85, 0x01, 0x12, 0x85, 0xE5, + 0xCB, 0x35, 0xC7, 0xFB, 0x0F, 0x27, 0x8E, 0x75, + 0x62, 0x64, 0xC1, 0xA5, 0x42, 0xF4, 0xD3, 0x18, + 0xBC, 0xCB, 0xA3, 0xDD, 0x98, 0x70, 0x6C, 0xE7, + 0x3F, 0xEB, 0x99, 0x56, 0xE0, 0xB7, 0x49, 0x9E, + 0x4E, 0x3A, 0x31, 0x33, 0x7F, 0x32, 0xA8, 0x3E, + 0x68, 0xF2, 0xA4, 0x60, 0x06, 0x39, 0x3D, 0x24, + 0xB8, 0xFE, 0xCF, 0xD9, 0xCF, 0xF3, 0xAF, 0x2F, + 0xA2, 0x80, 0xE9, 0x1B, 0x68, 0xE5, 0xC7, 0x85, + 0x7A, 0x12, 0x1A, 0xAC, 0x2C, 0x7B, 0x42, 0x40, + 0x77, 0x18, 0xDF, 0xFD, 0x69, 0x76, 0x8C, 0x69, + 0x8E, 0x56, 0xA9, 0x93, 0x8D, 0x6F, 0x18, 0x4A, + 0x46, 0x6E, 0x30, 0x1D, 0x0E, 0x0C, 0xE2, 0xC5, + 0x7A, 0x9F, 0x10, 0x7A, 0x62, 0x36, 0x49, 0x18, + 0x68, 0x88, 0x43, 0x4C, 0x95, 0x97, 0x03, 0x1F, + 0x62, 0x48, 0x4B, 0x1F, 0x49, 0x35, 0xCA, 0xD8, + 0x00, 0x2C, 0x50, 0xBF, 0x7A, 0xC2, 0x67, 0x63, + 0xCE, 0xBD, 0x20, 0x49, 0x7E, 0xC8, 0xF6, 0xFA, + 0x94, 0x45, 0x7C, 0x27, 0xA2, 0x37, 0xD6, 0x5B, + 0x8C, 0x80, 0x79, 0xD8, 0xEF, 0xC0, 0x50, 0xFA, + 0x21, 0x64, 0xD5, 0x33, 0x06, 0xFB, 0xF6, 0x3D, + 0x49, 0x92, 0xC8, 0x8A, 0xDE, 0xE1, 0x54, 0xDC, + 0xF7, 0x9A, 0x2A, 0x73, 0x5A, 0x69, 0x2D, 0x5E, + 0xC5, 0x89, 0xAF, 0x01, 0xF5, 0x93, 0xC4, 0xFF, + 0x9E, 0x8A, 0x55, 0xE5, 0x3F, 0x81, 0xEC, 0x9D, + 0x1B, 0x5F, 0x83, 0x9B, 0xE3, 0x90, 0x52, 0xE7, + 0x71, 0x84, 0x50, 0xB7, 0x16, 0x4B, 0xEC, 0xA5, + 0xF3, 0x1C, 0x3E, 0xD5, 0x85, 0xEC, 0xF1, 0x4F, + 0xFF, 0xEF, 0xCE, 0x25, 0xE7, 0x03, 0x1C, 0xFB, + 0x20, 0x0B, 0xF7, 0x52, 0xA7, 0x53, 0xD8, 0xC1, + 0xA1, 0xEE, 0x84, 0xFF, 0x27, 0xB6, 0xD1, 0x45, + 0x2C, 0x07, 0x6E, 0x5E, 0xE8, 0xEE, 0x10, 0x57, + 0xD8, 0x73, 0x39, 0x19, 0xC1, 0xEB, 0x01, 0x13, + 0x93, 0x18, 0x3F, 0xD3, 0x23, 0x4A, 0x61, 0x88, + 0x2A, 0x43, 0x4D, 0x9C, 0x04, 0xF9, 0x9F, 0xBF, + 0x00, 0x12, 0x34, 0x1A, 0x04, 0x1A, 0x9F, 0xBA, + 0x76, 0x5C, 0xEE, 0xAE, 0x16, 0xC4, 0x4D, 0xBB, + 0xA4, 0xFF, 0xAB, 0xBF, 0x01, 0x12, 0xBC, 0x68, + 0x30, 0x65, 0x19, 0x2D, 0xB0, 0x13, 0x58, 0x61, + 0xFD, 0xA4, 0xF0, 0x62, 0x59, 0x46, 0xDF, 0x20, + 0xCF, 0xCB, 0x69, 0x09, 0xD9, 0x42, 0x52, 0x69, + 0x80, 0xD9, 0x08, 0x51, 0x9A, 0xBB, 0x43, 0x18, + 0x8C, 0x7E, 0x43, 0xC4, 0x7F, 0xB0, 0xBE, 0xD6, + 0x3D, 0xBD, 0x7D, 0x35, 0xDA, 0xC5, 0x5C, 0x9D, + 0x1E, 0xA4, 0x23, 0x63, 0xF2, 0xCF, 0x32, 0x0F, + 0xAE, 0x14, 0xAD, 0xA2, 0xC6, 0x4E, 0x13, 0x99, + 0xDD, 0xF9, 0x2B, 0xDB, 0x43, 0x8A, 0xB4, 0x0E, + 0x8D, 0xA4, 0x62, 0x88, 0x76, 0xCF, 0xE6, 0x2A, + 0x88, 0x6C, 0x23, 0x48, 0xDB, 0xB9, 0xA8, 0x77, + 0xF1, 0x69, 0xC9, 0xCA, 0x37, 0x19, 0x96, 0xEC, + 0xDA, 0x02, 0x90, 0x6C, 0x66, 0xBA, 0x53, 0xDA, + 0x9C, 0x15, 0xCB, 0x10, 0x95, 0xE5, 0x79, 0xEB, + 0x73, 0x1E, 0x9D, 0x8A, 0xAE, 0x60, 0xFA, 0x07, + 0xBC, 0xCE, 0x33, 0x57, 0x61, 0x54, 0x47, 0x0C, + 0xEB, 0x4A, 0x11, 0xC0, 0x64, 0xB3, 0x80, 0xFE, + 0xB1, 0x55, 0x8D, 0x27, 0xDC, 0x2B, 0x2E, 0x16, + 0x34, 0x9E, 0x68, 0xCD, 0x4B, 0x46, 0xCB, 0xEF, + 0xBC, 0x3E, 0x86, 0xF3, 0xB3, 0x39, 0x62, 0x7A, + 0x62, 0x85, 0x85, 0x26, 0xE2, 0x86, 0xA2, 0xA5, + 0x91, 0x8B, 0xFA, 0x34, 0xDD, 0xD2, 0xF0, 0x11, + 0x9F, 0x0F, 0xCD, 0x95, 0x4A, 0xF4, 0x99, 0x25, + 0xB5, 0xE7, 0xEA, 0x9F, 0x96, 0x18, 0x17, 0x79, + 0xED, 0xDA, 0x1E, 0xEF, 0x26, 0x34, 0x9C, 0xA4, + 0x4E, 0x2B, 0xDE, 0x6A, 0xA0, 0xDD, 0x84, 0xFA, + 0xF5, 0x3F, 0x92, 0x92, 0x29, 0x8C, 0xD8, 0x34, + 0x88, 0x49, 0x6F, 0x12, 0x2A, 0xD9, 0x2E, 0xED, + 0xE3, 0x08, 0x9F, 0xC6, 0x7C, 0xAB, 0x7B, 0xEB, + 0x2E, 0xE0, 0x9B, 0x93, 0x60, 0xAE, 0x0C, 0x72, + 0x84, 0x0B, 0x3B, 0xF0, 0x71, 0xCD, 0x0B, 0x94, + 0xF3, 0xED, 0xC2, 0xB8, 0x04, 0x5A, 0x06, 0x33, + 0x2E, 0xE1, 0xBD, 0x85, 0x88, 0x56, 0xCD, 0x1B, + 0x04, 0x63, 0x8E, 0x50, 0xBF, 0x2B, 0xF8, 0x3D, + 0x00, 0x12, 0xA1, 0xB9, 0xE8, 0x57, 0x41, 0x19, + 0x9C, 0x77, 0x01, 0xA1, 0x5E, 0x72, 0xB4, 0x50, + 0x14, 0x9C, 0xFD, 0x90, 0x01, 0x12, 0xC3, 0x10, + 0x38, 0x61, 0x58, 0xF3, 0x10, 0xDC, 0x0C, 0x7B, + 0xE0, 0xB3, 0x2D, 0x85, 0x8A, 0x66, 0xE3, 0xA7, + 0x4B, 0xFE, 0x10, 0xD1, 0xD3, 0x8B, 0xCC, 0x13, + 0xA2, 0x0A, 0xD7, 0x73, 0x63, 0x5C, 0xD5, 0xF1, + 0xAF, 0x14, 0x6B, 0x92, 0x31, 0x2D, 0x99, 0x0B, + 0x8E, 0xF7, 0x37, 0xA2, 0x10, 0xFE, 0xB1, 0x7B, + 0x74, 0xC7, 0x5A, 0x7C, 0x1C, 0xB7, 0x5D, 0x9B, + 0xB5, 0xAC, 0x0D, 0x09, 0xD6, 0xD6, 0x6E, 0x30, + 0xB6, 0x51, 0xAC, 0x30, 0x4B, 0x67, 0xB6, 0xAC, + 0x8C, 0x10, 0x25, 0x4D, 0x6E, 0x0E, 0x78, 0x5A, + 0x1A, 0x35, 0xEB, 0xC5, 0x0C, 0x9D, 0xD1, 0x08, + 0x11, 0xF7, 0xCA, 0xAA, 0x45, 0x20, 0x6F, 0x24, + 0x6E, 0x26, 0x5A, 0x5B, 0x2F, 0x66, 0x2D, 0xF3, + 0xF9, 0x60, 0xD9, 0xE1, 0x32, 0xCD, 0xD6, 0x37, + 0xA1, 0x5A, 0xDE, 0xC8, 0x90, 0xC3, 0x39, 0xF4, + 0x40, 0xD6, 0x1D, 0xD5, 0xAF, 0xAA, 0x8C, 0x38, + 0xA4, 0x60, 0xFE, 0xFA, 0x34, 0x04, 0x06, 0x7D, + 0x08, 0x69, 0xD2, 0x1C, 0x4F, 0x10, 0xD0, 0x4C, + 0x2D, 0x32, 0x10, 0xE3, 0x04, 0x8C, 0xF1, 0x6C, + 0xB9, 0x7F, 0x14, 0x07, 0x1A, 0xDE, 0x68, 0x0A, + 0xCF, 0xFE, 0xFF, 0x9C, 0x86, 0xB5, 0x1E, 0x4F, + 0x7B, 0x6E, 0x1D, 0x26, 0x89, 0x9C, 0x70, 0x4E, + 0x01, 0xA7, 0xC1, 0x1D, 0xAD, 0x77, 0xBB, 0xAC, + 0x99, 0x7E, 0xD7, 0x05, 0x5B, 0x72, 0xDC, 0x70, + 0xAB, 0x3C, 0xF3, 0x2F, 0xFD, 0xD3, 0x86, 0x8A, + 0x0F, 0x54, 0xB9, 0x22, 0xE6, 0xC3, 0x1D, 0x7C, + 0x48, 0x27, 0x49, 0xA1, 0xD4, 0xE1, 0x8B, 0x54, + 0x44, 0x11, 0x33, 0x99, 0xF9, 0xB8, 0xC5, 0x25, + 0x03, 0x0A, 0x54, 0x71, 0x66, 0x57, 0x20, 0xC3, + 0x30, 0xCC, 0xCF, 0xD8, 0x6F, 0xB5, 0xBE, 0x5A, + 0xE1, 0x5B, 0x84, 0x0C, 0xFD, 0x5B, 0xAE, 0xE1, + 0xFE, 0x03, 0x9A, 0x74, 0xFF, 0xD0, 0xFA, 0xB3, + 0x76, 0xEF, 0xDB, 0x24, 0xBC, 0x4A, 0x2C, 0xA2, + 0xFF, 0x90, 0x00, 0x43, 0xC5, 0x8E, 0x32, 0xB1, + 0x00, 0x12, 0x63, 0x1E, 0x4A, 0x9F, 0x1F, 0x0C, + 0xA2, 0x99, 0x6D, 0x8E, 0x06, 0xEB, 0x85, 0x51, + 0xD8, 0x7D, 0xCC, 0xD2, 0x01, 0x12, 0x0F, 0xE4, + 0x8E, 0x71, 0xC2, 0x6A, 0x31, 0x42, 0x45, 0xEE, + 0x6A, 0xBB, 0x2B, 0x75, 0xD6, 0xDD, 0xCB, 0xC2, + 0x02, 0x97, 0xC9, 0x7C, 0x1F, 0x98, 0x6A, 0xE5, + 0x5C, 0xE9, 0x38, 0x95, 0x8E, 0xBE, 0x1C, 0x4C, + 0x79, 0x44, 0x92, 0xE7, 0x2E, 0xDB, 0xBD, 0x6D, + 0xBE, 0xA0, 0x24, 0x89, 0xB5, 0xE4, 0x29, 0xF4, + 0xCC, 0x9F, 0xCD, 0xF2, 0x07, 0x06, 0xAB, 0x4D, + 0x01, 0x89, 0xA9, 0x21, 0xF6, 0xF6, 0xFF, 0x3B, + 0x57, 0x21, 0x1B, 0x97, 0xB1, 0xC2, 0x5B, 0x6D, + 0xC4, 0x9F, 0x04, 0x7E, 0x28, 0xAE, 0xFF, 0x53, + 0xE6, 0x87, 0x10, 0xA3, 0xA4, 0x09, 0x0A, 0x46, + 0x9E, 0xB8, 0x79, 0x6B, 0x12, 0xCC, 0x53, 0xA6, + 0xCE, 0x0B, 0x25, 0xCD, 0xB4, 0xB9, 0x35, 0xAB, + 0x69, 0x45, 0x82, 0xD8, 0xD3, 0xBA, 0x39, 0x9C, + 0x96, 0x26, 0x3C, 0xE2, 0xD0, 0xC2, 0xEC, 0x73, + 0xDD, 0xB1, 0x26, 0xD6, 0x23, 0xC1, 0x3D, 0xCB, + 0xE6, 0xEB, 0x3E, 0xFB, 0x65, 0xA6, 0x06, 0x87, + 0xC9, 0xD7, 0x79, 0x77, 0x77, 0x4C, 0x8A, 0xB1, + 0xEE, 0xFC, 0xFF, 0x59, 0xAC, 0xB0, 0x55, 0xC4, + 0xBA, 0x65, 0x00, 0x72, 0x9F, 0xCD, 0xB7, 0x2E, + 0xF5, 0x9E, 0xC7, 0xA6, 0xA6, 0x5F, 0x99, 0x4B, + 0x75, 0x72, 0x05, 0x91, 0x09, 0x96, 0x57, 0x6B, + 0xC2, 0x85, 0xD5, 0xA2, 0x0C, 0x24, 0xAC, 0xD8, + 0x59, 0x59, 0x00, 0x20, 0xBB, 0x75, 0x1B, 0x81, + 0x4B, 0x8D, 0xB0, 0xC9, 0xDF, 0x2F, 0x4F, 0xAB, + 0xDA, 0xF5, 0xE4, 0x32, 0xF2, 0x87, 0x6D, 0x6D, + 0x4D, 0xEE, 0x69, 0x67, 0x7A, 0x97, 0xF7, 0xF5, + 0x47, 0x39, 0x44, 0x75, 0x52, 0x13, 0x86, 0xF8, + 0x7D, 0xBA, 0xDD, 0xD3, 0x2E, 0x3C, 0xE4, 0xD1, + 0xC3, 0x08, 0x5F, 0xFE, 0xEA, 0xB8, 0x7A, 0x82, + 0xCB, 0x56, 0xEF, 0x6B, 0x93, 0x09, 0xB7, 0x5B, + 0x23, 0x82, 0x3E, 0x5D, 0x6C, 0x1F, 0x1A, 0xC4, + 0xC9, 0x8F, 0x6B, 0xF3, 0xA3, 0xC6, 0xEA, 0x73, + 0x65, 0xA1, 0xE4, 0x0D, 0xB4, 0x68, 0x87, 0x77, + 0x00, 0x12, 0xA8, 0x04, 0x8D, 0x4B, 0x09, 0x66, + 0xDF, 0x37, 0xBB, 0x86, 0x3E, 0x74, 0xA3, 0x53, + 0x14, 0x5A, 0x8E, 0xFC, 0x01, 0x12, 0x1C, 0x51, + 0xC3, 0x0E, 0x1F, 0xF6, 0xC0, 0xFF, 0xCC, 0xC3, + 0x8A, 0x46, 0xD1, 0x80, 0x07, 0x13, 0x31, 0x13, + 0x7D, 0x5E, 0x8F, 0x11, 0xBB, 0x16, 0xF0, 0x47, + 0xFC, 0xD2, 0xEF, 0x3A, 0xEF, 0x68, 0x6E, 0x19, + 0x8C, 0xE9, 0xD1, 0x7C, 0x10, 0x9C, 0x29, 0xB1, + 0x21, 0x2B, 0x86, 0x1D, 0xC4, 0xE4, 0x6A, 0x62, + 0xD7, 0xE2, 0xDB, 0x1D, 0x58, 0x9A, 0xD1, 0xFD, + 0xE3, 0xCA, 0x28, 0x27, 0x42, 0xA7, 0x24, 0x23, + 0xA1, 0xB9, 0x07, 0x28, 0xF4, 0xAD, 0x50, 0x65, + 0xDC, 0x4E, 0x87, 0xD5, 0x7B, 0x97, 0x7D, 0x75, + 0x17, 0x09, 0x31, 0xE3, 0xA4, 0xCB, 0xCA, 0xAE, + 0x1E, 0x89, 0xAC, 0x3D, 0xDD, 0xD8, 0xCE, 0xD9, + 0xED, 0xC7, 0x18, 0x61, 0x44, 0x5F, 0x5F, 0xB3, + 0xAB, 0x3F, 0x5D, 0x09, 0xFC, 0xF7, 0x07, 0xE8, + 0xEC, 0xC3, 0xD5, 0x6C, 0x39, 0x98, 0xAA, 0x6C, + 0xB4, 0x13, 0xF4, 0xC9, 0xB6, 0x1D, 0x22, 0x47, + 0x4F, 0x76, 0x14, 0x84, 0x18, 0xD7, 0x33, 0x9D, + 0xE0, 0x55, 0x76, 0x02, 0x3D, 0xCB, 0xCB, 0x73, + 0xC3, 0xC9, 0x8B, 0x4B, 0xE9, 0xC6, 0xB5, 0x7D, + 0x13, 0x2C, 0xF0, 0x8E, 0xA2, 0xD9, 0xE6, 0x52, + 0xD3, 0xA2, 0xF3, 0x50, 0xE2, 0xE3, 0x08, 0xED, + 0x9D, 0x04, 0xC8, 0x1C, 0x22, 0x13, 0xB0, 0x81, + 0x31, 0xD9, 0x8E, 0x8F, 0xB5, 0x20, 0x3A, 0xDB, + 0xEC, 0x6A, 0xE6, 0x71, 0x41, 0x67, 0x78, 0x40, + 0x52, 0x7E, 0xDE, 0xDD, 0x47, 0xAC, 0x3D, 0x69, + 0x1C, 0x73, 0x86, 0xC1, 0x36, 0x7A, 0xA0, 0x7D, + 0xBC, 0xAE, 0x58, 0x3A, 0xAD, 0x5C, 0xAA, 0x77, + 0xE5, 0x8D, 0x43, 0x71, 0xEC, 0x12, 0x7A, 0x8B, + 0x46, 0x19, 0x17, 0x74, 0xA5, 0xE7, 0x2D, 0x55, + 0x18, 0xDE, 0xC7, 0x90, 0xA5, 0x76, 0xCC, 0xD0, + 0x6E, 0x96, 0x8E, 0xFD, 0x28, 0x55, 0xB9, 0x12, + 0x08, 0x01, 0xFB, 0x4C, 0x80, 0xDA, 0xE5, 0x8B, + 0x21, 0x93, 0x77, 0x26, 0x85, 0x00, 0xB8, 0xBE, + 0xFA, 0x48, 0xA0, 0x3D, 0xA9, 0xC2, 0x4A, 0x73, + 0x00, 0x12, 0xAC, 0x8E, 0x9F, 0x5A, 0xFD, 0x37, + 0xCF, 0x3C, 0x57, 0xF1, 0x50, 0x09, 0x81, 0x12, + 0x2B, 0x1D, 0x52, 0x25, 0x01, 0x12, 0x5B, 0x34, + 0x29, 0xB9, 0xB3, 0x98, 0xD3, 0x21, 0xA9, 0xD1, + 0x2C, 0xB8, 0xB8, 0xC0, 0xF4, 0xD7, 0x3E, 0xEC, + 0xEB, 0x6B, 0xAB, 0x3F, 0x33, 0x2C, 0x30, 0x16, + 0x27, 0x83, 0x4F, 0x91, 0x7A, 0x6C, 0x75, 0xDE, + 0xE1, 0x48, 0x2E, 0xED, 0x6B, 0x20, 0xE1, 0xE0, + 0x2A, 0xCE, 0x1A, 0x53, 0x81, 0x3F, 0x6F, 0x8A, + 0xD0, 0xB3, 0x25, 0x1D, 0xC4, 0x9D, 0xD8, 0xDC, + 0x07, 0xAE, 0xE3, 0xF0, 0x81, 0xA2, 0x33, 0xDE, + 0xFC, 0xDF, 0x6E, 0x2B, 0x2F, 0xA3, 0xD4, 0x09, + 0xFF, 0xE4, 0xD0, 0x5B, 0xF3, 0x25, 0xC1, 0xC0, + 0x5B, 0x17, 0x20, 0xB8, 0x34, 0x39, 0x10, 0x75, + 0xF8, 0x0E, 0xDC, 0x51, 0xE9, 0x9C, 0x21, 0xC9, + 0x6C, 0x03, 0xDE, 0x4A, 0xFA, 0x6F, 0x78, 0xA6, + 0xA8, 0xAB, 0x10, 0xB1, 0xCE, 0x74, 0xE7, 0xED, + 0xFB, 0x54, 0x49, 0xF1, 0x1F, 0x10, 0xE0, 0xC1, + 0x14, 0x36, 0xC3, 0x6C, 0x3D, 0x98, 0x9F, 0x33, + 0xE6, 0xFB, 0x2B, 0x64, 0x20, 0x78, 0x87, 0x54, + 0x99, 0xF1, 0xAF, 0x07, 0xF6, 0x7D, 0xE7, 0xC5, + 0x68, 0x70, 0xD9, 0x84, 0x31, 0xCE, 0x02, 0x64, + 0x89, 0xBE, 0xE6, 0xC2, 0x85, 0xCE, 0x92, 0x85, + 0xFF, 0x82, 0x1D, 0xC5, 0xD4, 0xEB, 0xF7, 0x4C, + 0x5A, 0xEE, 0x81, 0x93, 0x3D, 0x2D, 0x45, 0x65, + 0x46, 0x70, 0x17, 0xB5, 0x0D, 0xEA, 0xA9, 0x18, + 0xA5, 0xD7, 0x98, 0xB4, 0x4B, 0x68, 0x57, 0xD0, + 0x8F, 0x61, 0x5D, 0xC8, 0xFF, 0xF6, 0x74, 0x42, + 0xBC, 0xF1, 0x1C, 0xA4, 0x63, 0x77, 0xA6, 0x87, + 0xEC, 0x44, 0xE5, 0xFE, 0xA5, 0x1E, 0xFB, 0x6F, + 0xBB, 0x34, 0x1C, 0x62, 0x76, 0x81, 0xBC, 0xD9, + 0x89, 0x96, 0xA1, 0xAB, 0xD2, 0x7C, 0xCE, 0x65, + 0xB0, 0xED, 0xDC, 0x44, 0x37, 0x1B, 0xF4, 0x0F, + 0xA7, 0xCD, 0x73, 0x20, 0x10, 0xF3, 0x4E, 0x3B, + 0x8A, 0xD9, 0xD9, 0x6A, 0xAD, 0x73, 0x0A, 0x25, + 0x6A, 0x0C, 0xF4, 0xAF, 0x36, 0x82, 0x56, 0x70, + 0x96, 0x58, 0x40, 0x06, 0x07, 0x8B, 0xD5, 0xDD, + 0x00, 0x12, 0x94, 0xE9, 0x45, 0x83, 0xD6, 0x90, + 0x5B, 0x8B, 0x77, 0x26, 0x48, 0x6F, 0x25, 0xAD, + 0x18, 0x3C, 0x70, 0xDD, 0x01, 0x12, 0x7A, 0x4F, + 0xA5, 0xCB, 0x2B, 0xDB, 0x31, 0x71, 0x70, 0xAC, + 0xB4, 0x62, 0x22, 0x9B, 0x6B, 0x80, 0x34, 0x1C, + 0xB2, 0x34, 0x64, 0x59, 0x37, 0x01, 0x05, 0x7A, + 0x84, 0x98, 0x43, 0xAB, 0x4F, 0x44, 0x73, 0x92, + 0x54, 0x10, 0x23, 0xAE, 0xB5, 0x5C, 0x79, 0x2F, + 0xF8, 0x19, 0x26, 0xAB, 0xDF, 0x88, 0xF1, 0x20, + 0xEB, 0x3A, 0xEE, 0xD9, 0xFB, 0xAF, 0xC8, 0x71, + 0xCA, 0x85, 0x3F, 0xC8, 0xC2, 0x1A, 0x5C, 0x52, + 0xA8, 0x00, 0xFE, 0x04, 0x6A, 0x3C, 0xD4, 0x35, + 0x09, 0xC3, 0x5A, 0x49, 0x3D, 0xB8, 0x16, 0x83, + 0xF9, 0x23, 0x03, 0xEB, 0x86, 0xB1, 0xA6, 0x89, + 0xCB, 0xBC, 0x2F, 0x4B, 0xE3, 0x4B, 0x24, 0x84, + 0xAB, 0x25, 0xBE, 0xB2, 0xFC, 0xA2, 0xDE, 0x98, + 0x87, 0x89, 0xED, 0x3E, 0x60, 0x7D, 0x72, 0xA5, + 0x03, 0x39, 0x2D, 0x1F, 0x6A, 0x7C, 0xFC, 0x4E, + 0x25, 0x66, 0x3B, 0xAB, 0xFA, 0xB7, 0xD2, 0xB1, + 0x39, 0xDD, 0xF6, 0xD5, 0x47, 0x17, 0xF3, 0xD9, + 0xA1, 0x42, 0xA8, 0x32, 0xB6, 0xB9, 0x12, 0x62, + 0x23, 0x80, 0xFB, 0x59, 0xDE, 0x7B, 0xF5, 0x62, + 0x42, 0x44, 0x9F, 0xB2, 0x34, 0x60, 0xEB, 0x17, + 0x96, 0x2E, 0x1E, 0x43, 0xB6, 0x59, 0xB1, 0x85, + 0x4F, 0x00, 0xFB, 0xCE, 0xD6, 0x86, 0x13, 0x9A, + 0x59, 0x24, 0x5A, 0x22, 0x68, 0x0C, 0xB6, 0xF7, + 0x02, 0x25, 0xD7, 0x39, 0x2A, 0x6B, 0xF0, 0xC1, + 0x0D, 0x6E, 0x6B, 0x91, 0xDD, 0x78, 0xBD, 0xC1, + 0x44, 0xBC, 0x24, 0x98, 0x20, 0xE5, 0xF7, 0x95, + 0x61, 0xB0, 0xEF, 0x4A, 0xEE, 0xD3, 0x3F, 0xCB, + 0xBC, 0x95, 0x9D, 0xA7, 0xAF, 0xF3, 0x13, 0x76, + 0xB1, 0xE1, 0x9E, 0xF6, 0x2D, 0xB6, 0xA5, 0x4C, + 0x84, 0x70, 0xD6, 0xCF, 0x0B, 0x40, 0x42, 0x63, + 0x52, 0x63, 0x47, 0x08, 0x80, 0x43, 0x08, 0x36, + 0x07, 0xDC, 0xAA, 0x07, 0x38, 0xB7, 0xDD, 0x76, + 0xFC, 0x5D, 0xF0, 0x2F, 0x8A, 0x27, 0x94, 0xBF, + 0x1F, 0xE7, 0x98, 0x8B, 0xBD, 0x29, 0x44, 0x7F, + 0x00, 0x12, 0x4D, 0x35, 0x6E, 0x98, 0x5A, 0xD6, + 0x07, 0xEE, 0x0C, 0x54, 0x29, 0x7E, 0xA8, 0x84, + 0xA6, 0xC5, 0xD3, 0x9C, 0x01, 0x12, 0x77, 0x13, + 0x9C, 0xFD, 0x6C, 0xCD, 0x0E, 0xC6, 0x0E, 0x77, + 0xCB, 0x6B, 0x10, 0xCD, 0x6F, 0x7A, 0x3E, 0x35, + 0x95, 0xBD, 0xE8, 0x0E, 0xE1, 0xB0, 0xDC, 0xAB, + 0xF4, 0x4D, 0x58, 0xB1, 0xA8, 0x00, 0x9A, 0x49, + 0xE5, 0xA9, 0x20, 0x7A, 0x9F, 0x89, 0x86, 0xC7, + 0xC7, 0xD2, 0x9B, 0x9C, 0xF8, 0xB9, 0xCA, 0xB9, + 0xD8, 0xF2, 0xF4, 0x19, 0x3D, 0xA5, 0x15, 0x1D, + 0xBB, 0x6E, 0xCA, 0x24, 0xB2, 0x11, 0xE2, 0xC4, + 0xF2, 0xDC, 0x16, 0xE4, 0x0D, 0x6E, 0x97, 0xD2, + 0x1A, 0x4B, 0x9F, 0x8E, 0xC9, 0x35, 0xD8, 0x71, + 0x1E, 0x49, 0xF5, 0x07, 0xFC, 0x04, 0x8A, 0x19, + 0xB7, 0x42, 0x6B, 0xA6, 0xFA, 0x46, 0x44, 0xC2, + 0x3F, 0x05, 0x13, 0xE4, 0x1A, 0x74, 0x62, 0x18, + 0x6B, 0x27, 0x1E, 0x68, 0x25, 0xAB, 0x24, 0x98, + 0x0A, 0x84, 0x3B, 0xCC, 0xFF, 0xDA, 0x17, 0xB9, + 0xA5, 0xD6, 0xA0, 0x4F, 0x35, 0xB9, 0x8D, 0xE7, + 0x2A, 0x9F, 0x35, 0x62, 0xA0, 0x54, 0xFD, 0x25, + 0x5B, 0x50, 0x8C, 0x2F, 0xB7, 0xD3, 0xF2, 0xEC, + 0x04, 0x6E, 0x3D, 0x81, 0x2C, 0x99, 0xD1, 0x67, + 0x1E, 0xFD, 0x7F, 0x8E, 0xAB, 0xC9, 0xCF, 0x18, + 0x24, 0x15, 0xEF, 0x31, 0x13, 0xE9, 0x03, 0x42, + 0x85, 0xC5, 0x3B, 0x10, 0x4B, 0x9B, 0x75, 0x67, + 0xA0, 0xE1, 0x30, 0x93, 0x78, 0x90, 0xFC, 0xE9, + 0x70, 0x83, 0x3E, 0x68, 0x2D, 0xA4, 0xB9, 0xC8, + 0x29, 0xDE, 0x71, 0x87, 0xFA, 0x4E, 0x15, 0x53, + 0x9E, 0xD2, 0xF0, 0xE7, 0x74, 0xDC, 0x8F, 0x55, + 0x89, 0xA7, 0x4E, 0xAF, 0xE5, 0x43, 0xD5, 0x0E, + 0x1B, 0xA7, 0x17, 0x76, 0xE4, 0x0C, 0xE3, 0x27, + 0x92, 0x15, 0x12, 0x91, 0x55, 0x90, 0xF5, 0x22, + 0xCC, 0x47, 0x37, 0x40, 0xD6, 0x5D, 0x6E, 0x62, + 0x6B, 0xE0, 0x20, 0x06, 0x44, 0x17, 0xBF, 0xA6, + 0x9E, 0x68, 0xC6, 0x0E, 0x91, 0xD5, 0x0C, 0x14, + 0x1A, 0x69, 0xD6, 0x4C, 0x0A, 0xC1, 0xEA, 0xA2, + 0xA3, 0x2B, 0x99, 0x79, 0x38, 0xA7, 0xCA, 0xFE, + 0x00, 0x12, 0x48, 0xE4, 0x92, 0x75, 0x7F, 0x0E, + 0x6A, 0x49, 0xF6, 0x21, 0x65, 0x92, 0x29, 0xF8, + 0xFA, 0x65, 0x01, 0x54, 0x01, 0x12, 0x01, 0x18, + 0x53, 0x49, 0xE6, 0x24, 0x7E, 0x73, 0xCF, 0x29, + 0x91, 0xF2, 0x31, 0xAE, 0x36, 0xC0, 0x48, 0x74, + 0x66, 0x6D, 0x04, 0xCC, 0x9F, 0x3B, 0x4A, 0x46, + 0x09, 0x04, 0x31, 0xE8, 0x06, 0x3F, 0x5F, 0x8D, + 0x45, 0x4F, 0xE5, 0x7B, 0x10, 0x4F, 0x8E, 0x6F, + 0x01, 0xCB, 0x67, 0x21, 0x59, 0xE5, 0x12, 0xF0, + 0x0C, 0xC5, 0x45, 0xD3, 0xBD, 0xEE, 0xD2, 0xDE, + 0x1F, 0xB8, 0x60, 0xE9, 0x19, 0x3B, 0xD1, 0x36, + 0x24, 0x76, 0x70, 0x2F, 0x56, 0xE4, 0x77, 0x2B, + 0xDE, 0x8C, 0xD7, 0x32, 0x23, 0x67, 0xF9, 0xF3, + 0x66, 0xD8, 0x1C, 0xAC, 0x7D, 0x43, 0x9C, 0xC7, + 0xCF, 0xA8, 0x06, 0x99, 0xA1, 0x95, 0xBE, 0x2C, + 0x87, 0x3A, 0xE5, 0x09, 0xEE, 0xB6, 0xFD, 0xD6, + 0x68, 0x22, 0x51, 0xD0, 0x40, 0x9C, 0xEE, 0x75, + 0xFF, 0x74, 0x24, 0x95, 0x92, 0x66, 0xF0, 0xD4, + 0x5F, 0xB1, 0xC3, 0x83, 0xE9, 0x59, 0x40, 0xBC, + 0x07, 0x74, 0xA2, 0x8A, 0x2B, 0x76, 0x86, 0xF3, + 0xDB, 0x10, 0xCE, 0x20, 0x47, 0xFA, 0xD0, 0x22, + 0x9B, 0x67, 0xBC, 0xEB, 0xFA, 0x50, 0x17, 0x61, + 0x89, 0x5B, 0x24, 0x0F, 0xE2, 0xD2, 0x05, 0x12, + 0x6A, 0x12, 0xD9, 0x35, 0x02, 0x64, 0x22, 0x90, + 0xCF, 0xEC, 0xA8, 0x6F, 0x40, 0xF5, 0xA0, 0xE3, + 0x5E, 0xBB, 0x84, 0xEC, 0xB6, 0xCA, 0x6C, 0x78, + 0x30, 0x8B, 0x88, 0xC7, 0xEA, 0xAC, 0xD6, 0xBE, + 0x20, 0x56, 0xD0, 0x25, 0xFD, 0x15, 0x7B, 0x33, + 0x62, 0x41, 0xC9, 0xE3, 0x4D, 0x5D, 0x00, 0x16, + 0x50, 0xDD, 0x31, 0xBA, 0x45, 0xA5, 0xE4, 0x3C, + 0xF6, 0xEF, 0xD1, 0x36, 0xEB, 0x2B, 0x5B, 0x81, + 0x68, 0x3D, 0xDD, 0xFB, 0x4C, 0x61, 0x4C, 0xC2, + 0x09, 0x3B, 0x11, 0x14, 0xD8, 0xCA, 0x0A, 0xF8, + 0x4F, 0xB2, 0xBC, 0x31, 0x55, 0x9F, 0x8C, 0xE7, + 0x35, 0x92, 0xDD, 0x3F, 0xD8, 0x3B, 0xD3, 0xC0, + 0xAD, 0x1F, 0xCC, 0xD1, 0xD2, 0xEB, 0xBA, 0xE9, + 0x2B, 0x80, 0xA9, 0x6A, 0x16, 0x1F, 0x50, 0x9E, + 0x00, 0x12, 0x22, 0x82, 0x0C, 0xB4, 0x10, 0x82, + 0x47, 0x12, 0x51, 0x62, 0x75, 0xE8, 0x92, 0x40, + 0xB7, 0x6E, 0x28, 0xF8, 0x01, 0x12, 0xEC, 0x4D, + 0xBE, 0xE1, 0xEE, 0x17, 0x5F, 0xAC, 0x59, 0xF5, + 0xEE, 0x55, 0xBD, 0xEE, 0x91, 0xA2, 0xAA, 0x10, + 0x2E, 0x3F, 0x43, 0x08, 0x6A, 0x21, 0x6C, 0x39, + 0xDF, 0x92, 0xDF, 0x59, 0x35, 0xC5, 0x48, 0xCF, + 0xCB, 0x3C, 0x54, 0xDA, 0xF3, 0xFE, 0xE4, 0xC2, + 0x18, 0x76, 0x78, 0x24, 0x86, 0x9C, 0x38, 0x5B, + 0xBB, 0x10, 0x0A, 0xFE, 0x3E, 0x2A, 0x82, 0xE6, + 0xB0, 0x36, 0x37, 0xA1, 0x97, 0x24, 0x15, 0xE2, + 0x45, 0xE8, 0x01, 0x63, 0xF6, 0x55, 0x0A, 0x2C, + 0x51, 0xF5, 0xA2, 0x61, 0x53, 0x4D, 0xF0, 0x78, + 0x4A, 0x10, 0x4F, 0x5F, 0xC4, 0x73, 0xA3, 0xE3, + 0xD7, 0x95, 0x45, 0x0A, 0x61, 0xA3, 0x6D, 0x1C, + 0x8F, 0x79, 0x06, 0x55, 0x82, 0xA6, 0x87, 0xCC, + 0xB0, 0xEF, 0x06, 0xDA, 0x14, 0x05, 0x2D, 0xF1, + 0xAA, 0x53, 0x9C, 0xA2, 0x28, 0x8E, 0x69, 0xC0, + 0xC7, 0x99, 0xC7, 0x1E, 0xD7, 0x81, 0x60, 0xBD, + 0xE6, 0x06, 0x5A, 0xB1, 0xD9, 0xD0, 0x57, 0xBA, + 0xA1, 0x6D, 0x40, 0xEB, 0x83, 0xD3, 0x29, 0x47, + 0x98, 0x05, 0xAE, 0xCA, 0x75, 0xA3, 0x3E, 0xEC, + 0x79, 0x61, 0x53, 0x8D, 0xBA, 0xB1, 0x90, 0xB5, + 0xF3, 0x84, 0x08, 0x2C, 0x7A, 0xAF, 0x6D, 0x0A, + 0xAF, 0x80, 0x6F, 0x68, 0xBE, 0xD5, 0x33, 0xBD, + 0xA9, 0x4A, 0xCE, 0x17, 0x57, 0x69, 0xA7, 0xCA, + 0xDE, 0x33, 0xC6, 0x95, 0x15, 0x65, 0x31, 0xFB, + 0x8F, 0xFE, 0xB6, 0x0B, 0xE0, 0x8B, 0xE0, 0x03, + 0x14, 0xB7, 0x0B, 0x58, 0x47, 0x7A, 0xDC, 0x2F, + 0xED, 0xFB, 0x92, 0xE2, 0x59, 0xFC, 0x4F, 0x76, + 0xB2, 0x99, 0x76, 0x39, 0x73, 0x8E, 0x8C, 0x44, + 0x42, 0x11, 0x3F, 0x95, 0xBF, 0xB7, 0xE3, 0x85, + 0x62, 0xA1, 0x4D, 0x20, 0x9D, 0x2F, 0x1E, 0x22, + 0xAE, 0x02, 0x11, 0xED, 0x9E, 0xF3, 0x23, 0xF4, + 0xA7, 0x68, 0x25, 0xF1, 0xB4, 0x4D, 0xC1, 0x42, + 0x80, 0x1D, 0xE5, 0x44, 0x45, 0x8F, 0x64, 0xCB, + 0x7F, 0x1E, 0x7B, 0x7C, 0xC1, 0x68, 0xD0, 0x53, + 0x00, 0x12, 0x85, 0x80, 0x25, 0xC5, 0x06, 0x31, + 0x39, 0x69, 0x3C, 0x72, 0x2D, 0x5D, 0x71, 0xFC, + 0x85, 0x33, 0x40, 0xCB, 0x01, 0x12, 0x0D, 0x72, + 0x88, 0x85, 0x0D, 0x80, 0xE3, 0xF5, 0x2A, 0x11, + 0x37, 0x9B, 0x45, 0x21, 0x1F, 0x38, 0xC1, 0x6B, + 0x28, 0xBD, 0x68, 0xB9, 0x8D, 0x1F, 0x41, 0x7B, + 0x48, 0xA6, 0x4D, 0x9A, 0xB2, 0x21, 0xB0, 0x33, + 0x45, 0x8B, 0xDF, 0xF6, 0xDF, 0xC0, 0xE1, 0xDA, + 0x3D, 0x71, 0xA8, 0xAA, 0x9B, 0x7B, 0x6F, 0xE0, + 0x16, 0x13, 0x48, 0xED, 0x93, 0x75, 0x9C, 0x4E, + 0x5A, 0x97, 0x33, 0x2C, 0x08, 0x71, 0x4E, 0xBA, + 0xA9, 0xE9, 0xF2, 0x77, 0x86, 0xD7, 0xA2, 0x2A, + 0x88, 0xC0, 0x5D, 0x4D, 0x9C, 0x12, 0xF7, 0x78, + 0x74, 0x17, 0x92, 0x15, 0xB5, 0x42, 0x65, 0xCD, + 0xD3, 0x78, 0x6F, 0x50, 0x6E, 0xBE, 0xDF, 0x2A, + 0x01, 0x61, 0x2C, 0xBF, 0x6E, 0xEE, 0xCA, 0x0C, + 0x9F, 0xD5, 0x6E, 0xF5, 0x15, 0x68, 0x0E, 0xED, + 0xEE, 0x27, 0x8F, 0xCD, 0x84, 0x8F, 0x7F, 0x67, + 0x11, 0xD3, 0x6A, 0x0F, 0x8C, 0x25, 0xBA, 0x8F, + 0x77, 0x6A, 0xD1, 0xDF, 0x71, 0x47, 0x54, 0x36, + 0xD4, 0xC5, 0xD5, 0x93, 0x02, 0xA8, 0xAF, 0x27, + 0xC4, 0x48, 0x11, 0xCD, 0xA8, 0x58, 0x22, 0x06, + 0x17, 0x72, 0xD3, 0x57, 0x0F, 0xCC, 0xD4, 0xDC, + 0x35, 0x47, 0xE1, 0x67, 0x05, 0xFB, 0x0E, 0xD2, + 0x66, 0x69, 0x80, 0xD3, 0xAB, 0xD8, 0xDE, 0x9C, + 0x3C, 0xC0, 0xC9, 0x1B, 0x05, 0xFC, 0x5A, 0x95, + 0x26, 0x36, 0x28, 0x61, 0xF3, 0x9A, 0xA1, 0xF7, + 0x2C, 0xB2, 0x51, 0x96, 0x4F, 0x3A, 0xE6, 0xB8, + 0xBE, 0xE6, 0x60, 0x4E, 0xB1, 0x95, 0x24, 0x75, + 0x31, 0x0D, 0x8D, 0xEA, 0x2C, 0x66, 0x33, 0x10, + 0xE8, 0x3E, 0x0E, 0xAE, 0x4F, 0x74, 0x12, 0x2A, + 0x50, 0xE7, 0x8C, 0x29, 0x35, 0xF9, 0x72, 0x9D, + 0x59, 0x5A, 0xC9, 0x57, 0x3C, 0x30, 0x11, 0x6F, + 0x34, 0xDE, 0x34, 0x87, 0x6F, 0x3C, 0x05, 0x43, + 0xBF, 0x10, 0x1C, 0x42, 0x66, 0x51, 0xA7, 0xEF, + 0xE2, 0x7D, 0x3D, 0x4F, 0xCE, 0x65, 0x1A, 0x73, + 0xF6, 0xEC, 0x5E, 0x57, 0xD2, 0x30, 0xEE, 0xB2, + 0x00, 0x12, 0x22, 0x73, 0x26, 0xB9, 0x15, 0xAD, + 0xD6, 0x2A, 0x23, 0xE9, 0xC6, 0x54, 0xC1, 0xEB, + 0xA2, 0x03, 0xC0, 0x28, 0x01, 0x12, 0x05, 0x14, + 0xFD, 0x78, 0x43, 0x92, 0x04, 0x43, 0x7C, 0xA4, + 0x75, 0x7B, 0x03, 0x4E, 0xC2, 0x03, 0x4D, 0xFB, + 0xFB, 0xC1, 0x01, 0x4C, 0xBC, 0xE0, 0x9F, 0xE7, + 0x59, 0xD2, 0x83, 0x5F, 0xBF, 0x3A, 0x4B, 0x48, + 0xA5, 0x5A, 0x70, 0x03, 0x8A, 0xC4, 0xE2, 0xF4, + 0x51, 0x7B, 0x0E, 0xA7, 0x26, 0x57, 0x4F, 0x32, + 0x66, 0xD1, 0xF2, 0xAA, 0x0E, 0xC3, 0x3D, 0x3A, + 0x86, 0x3B, 0xD4, 0x94, 0xD8, 0xFA, 0x9E, 0xAD, + 0xF4, 0xC4, 0x92, 0xE3, 0x66, 0x0A, 0x46, 0xCF, + 0x37, 0x28, 0xED, 0x96, 0x0D, 0x6B, 0x54, 0x77, + 0xA3, 0xC6, 0xE0, 0xF7, 0x04, 0x91, 0xF7, 0x6A, + 0xBC, 0xE6, 0xF4, 0xF7, 0x74, 0xDD, 0x5D, 0x74, + 0x33, 0x55, 0xE5, 0x1C, 0x31, 0xC9, 0xB1, 0xD2, + 0x51, 0x72, 0xAD, 0x81, 0xDB, 0x34, 0xFA, 0x81, + 0xF4, 0xB3, 0xE3, 0x83, 0xBE, 0x80, 0x86, 0x01, + 0xA1, 0xEF, 0xD0, 0xA6, 0xDD, 0x77, 0xAA, 0x21, + 0x38, 0xE2, 0x26, 0x1D, 0x00, 0x2E, 0x69, 0x4C, + 0x89, 0x96, 0xAD, 0x17, 0x27, 0x4A, 0xB1, 0xBF, + 0xB1, 0xBB, 0x98, 0xDE, 0xD7, 0xC8, 0xE9, 0xFC, + 0x8E, 0x66, 0x57, 0x27, 0xC2, 0x1B, 0x67, 0x5A, + 0x4A, 0x57, 0x94, 0xAF, 0x0E, 0x7A, 0xF9, 0x04, + 0x91, 0xAB, 0x02, 0x58, 0x00, 0x09, 0x1C, 0x7F, + 0xA9, 0x43, 0x09, 0x1D, 0xB3, 0xC6, 0x2F, 0xE7, + 0x5E, 0x23, 0x21, 0xDE, 0x1A, 0x14, 0x2A, 0xE6, + 0xC6, 0xAE, 0x8D, 0x12, 0x1A, 0x06, 0x32, 0xE7, + 0x62, 0x5B, 0x61, 0xE0, 0xBB, 0x6E, 0xA0, 0xEF, + 0x6B, 0x13, 0xC8, 0xEB, 0x09, 0xCB, 0x41, 0xB8, + 0x58, 0x75, 0x81, 0x71, 0x42, 0x3A, 0xBA, 0x32, + 0xB4, 0x2F, 0xCB, 0x01, 0xB3, 0x7A, 0xB3, 0xFD, + 0x8F, 0xD0, 0x89, 0xE3, 0x0F, 0xA0, 0x3D, 0x73, + 0xB7, 0x93, 0x30, 0xCD, 0x1F, 0x18, 0xD3, 0x6F, + 0x1B, 0x26, 0x17, 0xD0, 0x7D, 0x01, 0x9B, 0xA5, + 0x1D, 0xFB, 0x96, 0x65, 0x71, 0x4B, 0xAB, 0x3B, + 0x9E, 0x8E, 0x6F, 0x23, 0x6F, 0x0B, 0x5C, 0x4E, + 0x00, 0x12, 0x07, 0xDB, 0x4A, 0xD5, 0x52, 0xB5, + 0x04, 0x67, 0xCA, 0xD9, 0xC0, 0x9C, 0xCD, 0xCB, + 0x12, 0x3A, 0x53, 0x7E, 0x01, 0x12, 0x57, 0xA7, + 0x31, 0x3D, 0xB1, 0x44, 0x1B, 0x52, 0x9E, 0x02, + 0x98, 0x7F, 0x52, 0xB5, 0x22, 0xA2, 0x52, 0xC5, + 0x3E, 0x96, 0xB2, 0x57, 0x56, 0x8B, 0xB9, 0x21, + 0xD5, 0x41, 0xBE, 0xA8, 0x5F, 0x56, 0xAD, 0xE0, + 0x21, 0xB2, 0x01, 0x05, 0x20, 0xE8, 0xC9, 0x13, + 0x6D, 0xA8, 0x5D, 0x10, 0xA5, 0x49, 0xFC, 0x61, + 0x42, 0xD9, 0x29, 0x3B, 0xB3, 0xD0, 0xED, 0x2C, + 0xFA, 0x48, 0xD6, 0x7D, 0x30, 0x49, 0x3B, 0x03, + 0xFD, 0xA5, 0x03, 0x7B, 0x55, 0xF6, 0xFD, 0x6B, + 0x3C, 0xD6, 0x95, 0x23, 0xBB, 0xD0, 0x66, 0xE7, + 0xAE, 0x1E, 0x16, 0x6D, 0x50, 0xBE, 0x5E, 0xEF, + 0xC9, 0x0B, 0x73, 0x98, 0x3E, 0x7F, 0xA9, 0x15, + 0x53, 0x39, 0xCE, 0xAA, 0xD1, 0x87, 0x49, 0xB5, + 0xF3, 0x1D, 0x99, 0x3B, 0x7E, 0x08, 0xF9, 0x9A, + 0xFC, 0x38, 0x74, 0x71, 0x9F, 0x63, 0x69, 0xD2, + 0x8D, 0x12, 0x3B, 0x00, 0x67, 0xD0, 0xDB, 0x90, + 0x53, 0xD3, 0xD0, 0xA9, 0x40, 0x2B, 0xE5, 0x64, + 0x6D, 0xD1, 0xF6, 0xDE, 0x9B, 0xF6, 0xD5, 0x9E, + 0x1B, 0xCB, 0x8A, 0x11, 0x3F, 0xF8, 0x67, 0x54, + 0x6F, 0x75, 0xB4, 0x81, 0xD1, 0x41, 0x54, 0x0E, + 0xB1, 0x33, 0x7A, 0xAE, 0x31, 0x1F, 0x92, 0xBD, + 0x21, 0xC9, 0xC6, 0xA3, 0xFB, 0xA9, 0x61, 0x8B, + 0xC7, 0xAB, 0xE5, 0xD9, 0x14, 0x6C, 0xC0, 0x05, + 0xFF, 0xE8, 0x70, 0x89, 0x39, 0x48, 0xDE, 0xB5, + 0x49, 0x5C, 0xAC, 0xC7, 0x39, 0x4A, 0xDF, 0x13, + 0xFB, 0xA9, 0xA1, 0x9B, 0x7C, 0xAE, 0x70, 0x7A, + 0xDA, 0xDE, 0x76, 0x1C, 0x84, 0x2E, 0x85, 0x5B, + 0x73, 0xAE, 0xFD, 0xBD, 0x41, 0x6B, 0x27, 0x35, + 0x70, 0x03, 0x13, 0xCB, 0x60, 0x9A, 0x5F, 0xC9, + 0xAC, 0x7B, 0x83, 0xC9, 0x3E, 0x3C, 0x22, 0x0C, + 0xE3, 0xE1, 0x21, 0x84, 0xF3, 0x57, 0xC4, 0x13, + 0x6E, 0x82, 0x8C, 0x1B, 0x9F, 0xC9, 0x02, 0x0B, + 0xFF, 0x32, 0x0D, 0x39, 0xED, 0xB0, 0x9A, 0x89, + 0x8E, 0x03, 0xC2, 0x0B, 0x34, 0x02, 0xF1, 0xDB, + 0x00, 0x12, 0x20, 0xA6, 0x1C, 0x23, 0x21, 0xAA, + 0xA5, 0x15, 0x6A, 0xB4, 0x77, 0xB3, 0x84, 0x63, + 0x3A, 0xBB, 0x55, 0x76, 0x01, 0x12, 0x33, 0x0E, + 0x85, 0x2B, 0xE3, 0x0D, 0x75, 0x27, 0xE1, 0x38, + 0xE0, 0xEB, 0xA4, 0x69, 0xBE, 0x85, 0x03, 0xBB, + 0x9B, 0xC8, 0xB8, 0x25, 0x4B, 0x8D, 0xD7, 0x92, + 0x3C, 0xD3, 0x86, 0x9A, 0x2B, 0x87, 0xA1, 0xC9, + 0x9E, 0x83, 0x97, 0x73, 0x31, 0x75, 0x77, 0x14, + 0xF7, 0x8A, 0x5B, 0x19, 0xAA, 0x23, 0x65, 0x47, + 0x15, 0xA7, 0x93, 0xAE, 0xB8, 0xBD, 0xAE, 0x1A, + 0x83, 0x02, 0x41, 0x31, 0x3F, 0x57, 0x64, 0xB5, + 0x42, 0xF9, 0x8F, 0x35, 0xC0, 0xFE, 0x04, 0x75, + 0x83, 0x8D, 0x25, 0x72, 0x9E, 0xC2, 0x9E, 0x19, + 0xD4, 0xAA, 0x9A, 0x19, 0x48, 0x48, 0x6B, 0x04, + 0x1D, 0xEB, 0x04, 0xCB, 0xEE, 0xDA, 0xFB, 0x1D, + 0x35, 0xE9, 0x1C, 0x75, 0x93, 0x8C, 0xBF, 0x7D, + 0xFC, 0x52, 0x8C, 0xC4, 0xD2, 0x5A, 0xEC, 0x0F, + 0x43, 0xF2, 0x3C, 0x1B, 0x8A, 0xE6, 0x1A, 0x95, + 0x4C, 0x78, 0x3A, 0xBF, 0x0F, 0x23, 0xC1, 0x74, + 0x52, 0x96, 0x8C, 0xB4, 0xCC, 0xA1, 0x63, 0xD6, + 0xAB, 0x47, 0x5D, 0xDA, 0xFF, 0x10, 0x4D, 0x0A, + 0xDB, 0xB5, 0x7B, 0xB3, 0x9D, 0xB7, 0x37, 0xA8, + 0x4A, 0x89, 0x07, 0xA0, 0x55, 0xE4, 0x25, 0x83, + 0xB4, 0x1D, 0x9B, 0x9E, 0x55, 0xFA, 0x4B, 0x65, + 0xF7, 0x3A, 0x19, 0x25, 0xD9, 0x5C, 0x60, 0x62, + 0x48, 0x58, 0xC0, 0x1A, 0x6D, 0x8E, 0xBD, 0xAA, + 0xCB, 0x6D, 0xB4, 0x10, 0xC2, 0xEE, 0x9D, 0xDC, + 0x7D, 0x2C, 0xFD, 0x92, 0xDE, 0x3C, 0x8E, 0x0B, + 0x4E, 0x91, 0x47, 0x09, 0x46, 0xDE, 0x7B, 0x9D, + 0x71, 0x8F, 0x20, 0x6D, 0x8B, 0x15, 0xF6, 0x79, + 0x71, 0x2D, 0xDA, 0xEC, 0x81, 0x83, 0xA4, 0x7B, + 0x79, 0x32, 0x6A, 0xD0, 0xF8, 0xF3, 0x71, 0x55, + 0x62, 0x05, 0x82, 0x10, 0x99, 0x8F, 0xDE, 0xC7, + 0x31, 0xE3, 0xAA, 0xAD, 0x55, 0x1E, 0x76, 0x60, + 0xCA, 0xAE, 0xBB, 0xE5, 0x9C, 0x76, 0xB0, 0x58, + 0x18, 0x80, 0xF8, 0x35, 0xC0, 0x72, 0x7C, 0x8B, + 0x1D, 0xF0, 0x77, 0xD6, 0x09, 0xC2, 0x11, 0xBA, + 0x00, 0x12, 0xB9, 0x2A, 0x48, 0x93, 0x2B, 0xDD, + 0x9A, 0xE0, 0xE6, 0xF6, 0xBE, 0x54, 0xC2, 0xCD, + 0xD3, 0xEA, 0x7E, 0xDA, 0x01, 0x12, 0x6B, 0x00, + 0x5E, 0xD2, 0x81, 0xFE, 0xCD, 0xC6, 0xB7, 0xD7, + 0xAF, 0x53, 0x1A, 0xB8, 0xC1, 0x29, 0x51, 0x3C, + 0xFB, 0x7E, 0x2C, 0xB4, 0x31, 0xD3, 0xE8, 0x47, + 0x7C, 0xBE, 0x94, 0x0B, 0xD7, 0x57, 0xBA, 0xD0, + 0xE3, 0x27, 0x95, 0x61, 0x40, 0xB7, 0xC6, 0xD0, + 0xB3, 0x2B, 0x63, 0xDE, 0xBA, 0xBD, 0xFF, 0x2D, + 0x34, 0x9A, 0x94, 0x38, 0xA3, 0x4A, 0xC3, 0x76, + 0xF8, 0xC5, 0xAD, 0xD6, 0xFF, 0x64, 0xAE, 0xB5, + 0x98, 0xC3, 0x29, 0xCB, 0x75, 0xE8, 0x94, 0x60, + 0x66, 0xB4, 0x25, 0xB1, 0x74, 0xAE, 0x44, 0x60, + 0xBB, 0xB5, 0xD7, 0x98, 0xD8, 0x90, 0xAC, 0x3F, + 0xBA, 0x20, 0xD3, 0xA8, 0xB4, 0xD5, 0x5D, 0x34, + 0xAA, 0xBC, 0xDC, 0x18, 0xAB, 0x5F, 0x28, 0xE5, + 0xF1, 0xCE, 0xC1, 0xD1, 0x54, 0xAD, 0x8C, 0xAB, + 0x82, 0x11, 0xDF, 0x3B, 0x97, 0x45, 0xD0, 0xC2, + 0x89, 0x68, 0xE0, 0x29, 0xA2, 0xDE, 0xE6, 0xB0, + 0x3B, 0xCC, 0x78, 0x84, 0xE2, 0x1E, 0x79, 0xAE, + 0xD5, 0x16, 0xA9, 0xEC, 0x3F, 0x6E, 0xA2, 0xE8, + 0x0B, 0xE4, 0xCC, 0x03, 0xBF, 0xDA, 0xE2, 0x0D, + 0x75, 0x4B, 0x91, 0xA1, 0x4E, 0x1B, 0xB8, 0x27, + 0xA6, 0x3F, 0x85, 0x47, 0x5D, 0xA8, 0x97, 0xE4, + 0x59, 0xAC, 0xD7, 0x4F, 0x3D, 0x99, 0xBA, 0x55, + 0xF9, 0x05, 0x8E, 0xBD, 0x18, 0x8C, 0xA9, 0x37, + 0x3C, 0x6F, 0x5D, 0x82, 0xBE, 0xD3, 0x02, 0x95, + 0x24, 0xB6, 0xAB, 0x3E, 0x19, 0xA7, 0xCB, 0xE5, + 0x48, 0xFD, 0x34, 0x1F, 0xE2, 0x92, 0x00, 0x1D, + 0x03, 0x4C, 0x21, 0x20, 0x75, 0xC7, 0x20, 0x52, + 0x75, 0x51, 0x0C, 0x80, 0x17, 0x6A, 0x3E, 0x36, + 0x1E, 0x0E, 0x00, 0x73, 0x16, 0x6B, 0x5E, 0xAA, + 0x16, 0x8D, 0x8F, 0x4A, 0x2B, 0x49, 0x38, 0xE4, + 0xE7, 0xFF, 0x40, 0x33, 0x81, 0x0A, 0x36, 0x96, + 0x87, 0xDC, 0x32, 0x28, 0xFC, 0x19, 0x4F, 0x7E, + 0x22, 0x47, 0x42, 0x4F, 0x97, 0x30, 0x7D, 0xA0, + 0xFE, 0xDF, 0x00, 0x79, 0xAA, 0x17, 0x7D, 0xA7, + 0x00, 0x12, 0x98, 0x4B, 0x57, 0xCE, 0xC4, 0x23, + 0x19, 0xCA, 0xB9, 0xFE, 0x95, 0xDA, 0x02, 0xC7, + 0x17, 0xAF, 0x59, 0xA2, 0x01, 0x12, 0xD1, 0x83, + 0x54, 0x9E, 0xA1, 0x1F, 0x4B, 0xCE, 0x34, 0x4B, + 0x81, 0x57, 0x55, 0x3D, 0x5B, 0x9E, 0xA3, 0x84, + 0xEE, 0x1A, 0x74, 0xDC, 0xA0, 0x2B, 0xE4, 0xD9, + 0xDB, 0x34, 0x02, 0xD9, 0xFD, 0x2F, 0xA4, 0x03, + 0x0D, 0xA6, 0x5F, 0x09, 0xBD, 0x5E, 0x94, 0x38, + 0x30, 0x15, 0x5B, 0xDD, 0x11, 0xE1, 0x6C, 0x91, + 0x12, 0x6F, 0x2B, 0xF2, 0x95, 0xB7, 0x2A, 0x79, + 0x8A, 0x29, 0x0F, 0x03, 0xA6, 0x30, 0xA4, 0x5C, + 0xD3, 0x3D, 0x71, 0x4A, 0x4B, 0x22, 0x86, 0x64, + 0x8F, 0xFD, 0x55, 0x9A, 0x50, 0x37, 0x70, 0x69, + 0x4F, 0xAF, 0x70, 0x35, 0x22, 0x2E, 0xFD, 0xF6, + 0xE4, 0x98, 0xB1, 0xF3, 0xCC, 0xFD, 0xA8, 0x77, + 0x22, 0xFC, 0x1E, 0xEB, 0x65, 0xF4, 0x46, 0xD2, + 0x56, 0xFB, 0x05, 0x44, 0xF9, 0xE1, 0x34, 0x95, + 0x22, 0x87, 0x14, 0x45, 0xFE, 0x3E, 0x85, 0xE0, + 0x9A, 0x3C, 0x10, 0x4F, 0xDE, 0xEB, 0x78, 0xAD, + 0x92, 0xBF, 0xEB, 0x25, 0x8A, 0x60, 0x4C, 0xAC, + 0xAB, 0xD0, 0x09, 0x33, 0x7E, 0x57, 0x6D, 0x51, + 0xBF, 0x91, 0xE6, 0xAC, 0x7D, 0xC9, 0x25, 0x81, + 0x85, 0x7D, 0x1E, 0xC8, 0x5C, 0xAD, 0xEC, 0xD1, + 0x50, 0xA2, 0x38, 0xEB, 0xDE, 0x34, 0x7C, 0xE7, + 0xC1, 0x62, 0x03, 0x8A, 0xE9, 0xE7, 0x39, 0xAE, + 0x23, 0x35, 0x1F, 0x4D, 0x38, 0xD8, 0x25, 0x2E, + 0x91, 0x5A, 0x0E, 0xC3, 0x93, 0x1E, 0x47, 0x09, + 0xB4, 0x99, 0xB9, 0xEC, 0x84, 0x7F, 0x33, 0xBD, + 0xB7, 0xB6, 0x39, 0x27, 0x11, 0x0F, 0x2E, 0xBF, + 0x47, 0xBF, 0xAD, 0xAA, 0x04, 0x3D, 0x3B, 0x21, + 0x95, 0x9C, 0x14, 0x8E, 0x49, 0x24, 0x7D, 0xD3, + 0x49, 0x34, 0x57, 0x13, 0x4C, 0xF5, 0x88, 0x71, + 0xDF, 0x85, 0xA7, 0x68, 0x7F, 0x0F, 0x83, 0xEB, + 0x7C, 0x85, 0xA0, 0x51, 0x4F, 0x7B, 0x7F, 0x66, + 0x18, 0x06, 0xAA, 0xBD, 0xAE, 0x6D, 0x15, 0x57, + 0x9F, 0xCF, 0x2E, 0xDC, 0x3E, 0x4C, 0x3B, 0xA7, + 0x34, 0x43, 0xC2, 0xB0, 0x4E, 0x44, 0x66, 0x84, + 0x00, 0x12, 0x2F, 0x89, 0xF0, 0x74, 0x8C, 0xFC, + 0x42, 0x2B, 0xE0, 0xFF, 0x6C, 0x43, 0xA4, 0x90, + 0x33, 0xC9, 0xCF, 0xD2, 0x01, 0x12, 0x26, 0xDD, + 0xC1, 0xB0, 0x1C, 0x3F, 0xD1, 0x04, 0x92, 0x77, + 0xB5, 0x5D, 0xDC, 0x74, 0x90, 0x1A, 0x96, 0x3F, + 0x48, 0xE2, 0x85, 0x13, 0xE8, 0xD7, 0x19, 0xCE, + 0x17, 0x4F, 0xD1, 0x3E, 0x47, 0xB8, 0xDC, 0x23, + 0xED, 0x96, 0x3E, 0x00, 0xD2, 0xC1, 0x13, 0xDE, + 0x49, 0x2B, 0xB0, 0x6B, 0xB9, 0x16, 0x48, 0x71, + 0xF1, 0x52, 0x9D, 0x85, 0x00, 0x9C, 0x0B, 0x01, + 0x92, 0xDA, 0x40, 0x34, 0xAB, 0x3E, 0x7F, 0x7A, + 0x0C, 0xCC, 0x05, 0x3D, 0xC7, 0x8C, 0xCC, 0xC1, + 0xF5, 0x68, 0x68, 0x93, 0xFC, 0x43, 0xC9, 0xF0, + 0x9B, 0xAD, 0xFC, 0x1A, 0xA9, 0x4D, 0xE3, 0x48, + 0x62, 0x3A, 0xE7, 0x79, 0xB6, 0xF1, 0x7D, 0xA0, + 0x1A, 0x7A, 0x19, 0x6B, 0x78, 0xF0, 0x05, 0x7C, + 0xBF, 0xE7, 0x5D, 0xE2, 0xF1, 0x3C, 0x12, 0xE7, + 0x04, 0x80, 0xF9, 0x31, 0x6B, 0x36, 0x4E, 0x7C, + 0xDA, 0xFE, 0x77, 0xBB, 0xE2, 0x7D, 0x37, 0x74, + 0x05, 0x86, 0xB5, 0xBA, 0x98, 0xBC, 0x8D, 0x97, + 0x2B, 0xB7, 0x13, 0x53, 0x54, 0x60, 0x80, 0x6A, + 0xE0, 0x6E, 0x47, 0x83, 0x71, 0xA7, 0x8C, 0xB3, + 0xB7, 0x10, 0xC5, 0x32, 0x6A, 0x31, 0xC0, 0xC7, + 0xAE, 0xE3, 0xEF, 0x83, 0x94, 0x65, 0x6A, 0xCC, + 0x4B, 0x96, 0xC7, 0xAE, 0xF1, 0xA7, 0x35, 0xEA, + 0x2E, 0xD3, 0x33, 0x47, 0x4D, 0x61, 0xF4, 0xAB, + 0x6D, 0x8E, 0x44, 0x4D, 0x15, 0xFB, 0xCC, 0xA0, + 0xDB, 0x12, 0x8D, 0x0F, 0x1A, 0xFE, 0x0B, 0xA4, + 0xDB, 0x28, 0x16, 0x2D, 0xE4, 0x25, 0x04, 0xAC, + 0xD7, 0x9C, 0x0C, 0x14, 0x60, 0x7B, 0x62, 0x39, + 0xB1, 0xCE, 0xDD, 0x43, 0x50, 0xB2, 0xDE, 0x12, + 0x3A, 0x4B, 0xE4, 0x9F, 0xAB, 0x17, 0x98, 0x65, + 0x7F, 0x02, 0x54, 0x05, 0x30, 0x53, 0x96, 0x76, + 0x11, 0xC8, 0x6A, 0x5B, 0xEE, 0x67, 0x4D, 0xAC, + 0x44, 0xE1, 0x40, 0x4D, 0xCA, 0x40, 0x77, 0x73, + 0xA2, 0xE1, 0xED, 0x17, 0xFC, 0x7C, 0xCB, 0x4F, + 0xE3, 0x30, 0xB4, 0x7A, 0x24, 0xF7, 0x2A, 0x5E, + 0x00, 0x12, 0x7A, 0x04, 0x98, 0x8C, 0xED, 0x92, + 0x74, 0x81, 0x9E, 0x5C, 0x36, 0x45, 0x52, 0xFA, + 0x72, 0xA5, 0xBE, 0x05, 0x01, 0x12, 0xB6, 0xAB, + 0x21, 0xF9, 0x6E, 0x93, 0x2B, 0xDD, 0x85, 0xC9, + 0x33, 0x60, 0x5C, 0x16, 0x95, 0xD8, 0x4A, 0x60, + 0x2E, 0x04, 0xD4, 0x02, 0xB7, 0x1A, 0x64, 0x36, + 0xB6, 0x94, 0x73, 0x28, 0x35, 0xA6, 0xF0, 0x6A, + 0x64, 0x60, 0x84, 0x67, 0xF0, 0xA5, 0xDF, 0x29, + 0xEE, 0x06, 0xFA, 0x8E, 0x5F, 0xD0, 0x80, 0x0B, + 0xEC, 0x97, 0xFA, 0x83, 0x17, 0xF7, 0xA3, 0x3B, + 0x7D, 0xF5, 0xE8, 0x93, 0x78, 0xF2, 0x7B, 0x47, + 0xB1, 0x48, 0xF2, 0xB1, 0x03, 0x95, 0x2B, 0x85, + 0x98, 0x82, 0xF3, 0x41, 0x79, 0xB0, 0x23, 0x46, + 0x9E, 0x6B, 0xEA, 0x06, 0x1F, 0xA9, 0x3A, 0xE3, + 0x20, 0x28, 0x46, 0xBB, 0x75, 0xA6, 0xF6, 0x0B, + 0xD3, 0x36, 0x6C, 0x91, 0xC3, 0xF7, 0x5D, 0x94, + 0xA7, 0xEB, 0xF1, 0x94, 0x77, 0xD7, 0x7C, 0xCF, + 0x3C, 0x69, 0x3F, 0xAD, 0x26, 0x3B, 0xB4, 0xD4, + 0x50, 0x85, 0x14, 0x26, 0x46, 0x4D, 0x60, 0x23, + 0xC2, 0x7C, 0x3C, 0xA1, 0x20, 0x97, 0xFD, 0x8C, + 0x0B, 0x84, 0x6B, 0x71, 0x84, 0x44, 0x61, 0x2E, + 0xE1, 0x71, 0xE1, 0x05, 0x05, 0x05, 0x6F, 0xA2, + 0xBA, 0x20, 0xC4, 0xC5, 0x08, 0xC8, 0x30, 0xD6, + 0x6B, 0x52, 0xDF, 0xBA, 0x57, 0xD8, 0xDF, 0x75, + 0x54, 0x2D, 0x2A, 0x95, 0x9C, 0x37, 0xB9, 0x0F, + 0x33, 0x3D, 0x85, 0x18, 0x8D, 0xAF, 0x6D, 0x4E, + 0x28, 0x3C, 0xFD, 0xAC, 0x61, 0xF2, 0x74, 0xCE, + 0xA5, 0x2E, 0x79, 0x92, 0x70, 0x5B, 0x8E, 0xCB, + 0xAB, 0xC0, 0xFC, 0x25, 0xD0, 0x12, 0xF8, 0x7D, + 0x42, 0x59, 0x94, 0xCE, 0x8C, 0xF3, 0xED, 0x00, + 0xB6, 0x17, 0x5E, 0xF7, 0xC0, 0xD3, 0x7D, 0x40, + 0x10, 0xD2, 0x15, 0x10, 0x79, 0x5A, 0xE4, 0x84, + 0x35, 0x26, 0xC2, 0x70, 0x92, 0x2C, 0xF5, 0x4B, + 0xFD, 0x32, 0x5A, 0x17, 0x86, 0x18, 0x5A, 0xD1, + 0x4F, 0x0D, 0x6C, 0x3B, 0x88, 0x82, 0x4F, 0x3C, + 0xDB, 0x76, 0x9D, 0x3B, 0x91, 0x3F, 0x57, 0x93, + 0x65, 0x1F, 0x4D, 0x2F, 0x7B, 0xEE, 0x28, 0x43, + 0x00, 0x12, 0xDC, 0xFC, 0xB8, 0x38, 0x91, 0xF0, + 0xE0, 0x79, 0x89, 0xC5, 0x86, 0x84, 0xB3, 0x5B, + 0x79, 0xA3, 0x9C, 0x00, 0x01, 0x12, 0x6D, 0x1E, + 0xF2, 0x09, 0x1F, 0xA1, 0x21, 0xB1, 0xEB, 0xF2, + 0x4C, 0xBD, 0x36, 0x20, 0x25, 0xDB, 0x99, 0x7D, + 0x94, 0x77, 0xD6, 0x3D, 0xE5, 0x3A, 0x7E, 0x10, + 0xE2, 0x87, 0xB8, 0x4D, 0x73, 0x2B, 0xDD, 0xA4, + 0x5D, 0xAC, 0xC8, 0x33, 0x49, 0xB4, 0x7F, 0x01, + 0x09, 0x4E, 0x5A, 0x96, 0xC4, 0x88, 0x19, 0xD2, + 0x63, 0x33, 0x99, 0x17, 0x9C, 0x6C, 0x38, 0xA1, + 0xAD, 0x31, 0xD7, 0x2C, 0xCC, 0x81, 0xFA, 0xC6, + 0xC4, 0x5F, 0xC6, 0x7B, 0x45, 0x7E, 0x19, 0xF0, + 0x48, 0xFC, 0x89, 0xB8, 0x97, 0x47, 0x88, 0x04, + 0x7B, 0xAE, 0x13, 0x07, 0x0F, 0x2A, 0x47, 0xD3, + 0x6B, 0x06, 0xD5, 0x2B, 0xF1, 0x00, 0x1F, 0x7F, + 0xC4, 0x80, 0x67, 0x85, 0xF8, 0x77, 0xDF, 0x02, + 0xCA, 0x94, 0x9B, 0x49, 0x8C, 0xE9, 0xFA, 0xD5, + 0xFC, 0xB4, 0xA3, 0x5C, 0x7F, 0x9A, 0xE0, 0x94, + 0xFD, 0x93, 0x61, 0xFA, 0xC1, 0xA0, 0xF6, 0xEC, + 0xAF, 0xFA, 0x02, 0xD7, 0xE9, 0x41, 0x7C, 0xF7, + 0xBF, 0xCA, 0xC1, 0x23, 0xC1, 0xDE, 0xC0, 0xD9, + 0x80, 0x88, 0x15, 0x70, 0x2A, 0x87, 0x24, 0x6D, + 0xEF, 0xAF, 0x01, 0xF6, 0x0C, 0xA0, 0x3F, 0xD1, + 0x6C, 0xC5, 0x38, 0xEE, 0xA3, 0x1F, 0xB1, 0x28, + 0x2C, 0xBE, 0xFE, 0x4E, 0xE5, 0x26, 0x3F, 0xC0, + 0x46, 0x45, 0xC6, 0x12, 0x08, 0x32, 0x08, 0x9E, + 0x83, 0xE2, 0x8A, 0xF6, 0x7E, 0x81, 0xE6, 0xAD, + 0xD4, 0xC1, 0x30, 0xAD, 0xA1, 0xD5, 0x32, 0xA6, + 0x5B, 0x3D, 0x6A, 0x3E, 0x58, 0x1C, 0x37, 0xCA, + 0x8D, 0x48, 0xF9, 0x95, 0x11, 0x4B, 0xC3, 0xBC, + 0xFE, 0xD3, 0xF9, 0x4E, 0x84, 0xA3, 0xBD, 0x48, + 0x74, 0xD7, 0x5F, 0x10, 0x14, 0x46, 0x32, 0xEC, + 0x1B, 0xD5, 0xC6, 0x6E, 0x0B, 0xC4, 0x10, 0xFA, + 0xB0, 0x2D, 0xD4, 0x68, 0x5E, 0x52, 0x34, 0x99, + 0x64, 0xB3, 0x43, 0x0C, 0x9B, 0xF5, 0x99, 0xFD, + 0xCF, 0xBD, 0xEE, 0xBE, 0x81, 0x56, 0xD4, 0x3B, + 0xB9, 0x3A, 0xFD, 0x62, 0xFF, 0xFB, 0x5B, 0x47, + 0x00, 0x12, 0x0C, 0xAE, 0xCB, 0x5B, 0x5A, 0x00, + 0x3D, 0x7D, 0xFD, 0x5D, 0x5C, 0x03, 0xD8, 0xF0, + 0x41, 0x22, 0x8C, 0x34, 0x01, 0x12, 0x9E, 0xC3, + 0x83, 0xE2, 0xAE, 0xAC, 0xFB, 0xDB, 0x38, 0x71, + 0xA9, 0xC5, 0x27, 0x68, 0xDD, 0x5A, 0x12, 0xFF, + 0x4E, 0xA4, 0x70, 0xB0, 0x62, 0x47, 0xF0, 0x8B, + 0x7F, 0x35, 0xB5, 0x77, 0x4A, 0x3C, 0x6A, 0x03, + 0x9A, 0x0C, 0x7B, 0x99, 0xF9, 0xA5, 0x4E, 0xA6, + 0xED, 0xB5, 0x82, 0x48, 0x83, 0x49, 0x80, 0x49, + 0xD4, 0x04, 0xDC, 0x3E, 0xDB, 0x59, 0x3C, 0xB8, + 0x9C, 0x2D, 0x1C, 0x58, 0x82, 0x30, 0x98, 0x5F, + 0xC6, 0x0C, 0x11, 0xB8, 0x20, 0xCE, 0x77, 0x94, + 0x9A, 0x87, 0xA9, 0xF0, 0x9E, 0x75, 0x0A, 0x7A, + 0x21, 0xCF, 0x62, 0x91, 0xB7, 0x8B, 0x83, 0xF4, + 0x6F, 0x47, 0xCC, 0xE9, 0xC5, 0x22, 0x63, 0x8D, + 0x60, 0x54, 0x29, 0x61, 0xDE, 0x00, 0x91, 0xBE, + 0xF8, 0xBB, 0x7A, 0xD2, 0x5D, 0x46, 0x2F, 0xC6, + 0x81, 0xDE, 0x41, 0x3F, 0xB2, 0x25, 0xE3, 0x63, + 0x6A, 0xA5, 0x61, 0xFE, 0x8C, 0xD5, 0xE6, 0x4A, + 0x06, 0xDC, 0xD9, 0x33, 0x7E, 0xF9, 0xB2, 0xE5, + 0x4D, 0x26, 0xD8, 0x57, 0xB7, 0x1F, 0x20, 0xC4, + 0x78, 0x49, 0xAF, 0x55, 0x8F, 0xE6, 0xE5, 0xD1, + 0x8F, 0x77, 0xD7, 0x11, 0x32, 0xAC, 0xFF, 0xDD, + 0x1D, 0x3C, 0x89, 0x14, 0x62, 0x36, 0x54, 0x19, + 0xF5, 0x6C, 0x01, 0x02, 0xA0, 0xF6, 0x5E, 0xF4, + 0xF5, 0x4D, 0xA0, 0x4C, 0x55, 0xCF, 0xBC, 0x9D, + 0x55, 0x23, 0xC6, 0x03, 0x7D, 0x9B, 0x91, 0x52, + 0xA8, 0x85, 0xF6, 0x20, 0xFF, 0xCD, 0x4D, 0xD0, + 0x57, 0xD5, 0xE5, 0xC9, 0x4B, 0x9D, 0xBF, 0x5B, + 0xD7, 0xBD, 0x9C, 0x68, 0x2C, 0xD7, 0xAE, 0xAA, + 0x12, 0xD6, 0xBC, 0xCF, 0xB8, 0x13, 0x56, 0x83, + 0xC3, 0xED, 0x1C, 0xEB, 0xAC, 0x57, 0xCA, 0x42, + 0xA3, 0x5A, 0xF5, 0x7A, 0xE1, 0xF2, 0x95, 0x72, + 0x5A, 0x4D, 0x5A, 0x09, 0x7A, 0xB2, 0x1F, 0xE9, + 0xBC, 0xA8, 0x57, 0x2E, 0xCB, 0xA1, 0xE9, 0x12, + 0x26, 0xEF, 0xA1, 0xD0, 0x93, 0x9F, 0xC5, 0x12, + 0x2B, 0x35, 0x25, 0x35, 0xC8, 0x6C, 0x93, 0x9F, + 0x00, 0x12, 0xB1, 0x6D, 0x62, 0xAF, 0x1B, 0x51, + 0xF6, 0x8E, 0x4A, 0xA3, 0x69, 0xC9, 0xE0, 0x41, + 0xB9, 0x88, 0x97, 0x29, 0x01, 0x12, 0x90, 0x2A, + 0xEC, 0x01, 0x8B, 0x4D, 0x5A, 0x40, 0x39, 0x4E, + 0x29, 0xCB, 0x4D, 0x7E, 0xFD, 0x13, 0x25, 0xEC, + 0x1E, 0xBC, 0xE6, 0x47, 0x8E, 0xAE, 0x5D, 0x1B, + 0x29, 0xF2, 0xCA, 0xE4, 0x4E, 0x22, 0xDE, 0x3F, + 0xDE, 0xD4, 0x7C, 0x3F, 0x2D, 0xD6, 0x5F, 0xDA, + 0xE1, 0x77, 0x94, 0x0E, 0xB4, 0x73, 0x3A, 0x62, + 0x3E, 0x7A, 0xB8, 0xD1, 0x2C, 0x7A, 0xB0, 0x69, + 0x37, 0xF3, 0x0E, 0xDF, 0xB1, 0xC6, 0x12, 0x9D, + 0x37, 0x8D, 0x2C, 0xFC, 0x53, 0x84, 0x41, 0x28, + 0xC6, 0x1C, 0xF1, 0x38, 0x79, 0x73, 0xDC, 0x00, + 0xE4, 0x59, 0xA2, 0x9F, 0x70, 0x8C, 0xD4, 0xB6, + 0x85, 0x7A, 0xEB, 0xB4, 0x3F, 0x5B, 0x61, 0x74, + 0x13, 0x17, 0xC4, 0xCA, 0x0D, 0x90, 0xE3, 0x74, + 0xBE, 0xC7, 0x5A, 0xA3, 0x47, 0x3C, 0x80, 0x4A, + 0x41, 0x01, 0x36, 0x28, 0xDE, 0x6D, 0x87, 0x8D, + 0x19, 0x5A, 0x4C, 0xD6, 0xEE, 0xC3, 0xF3, 0x3A, + 0x62, 0xF8, 0x88, 0x96, 0x46, 0xAB, 0x8E, 0xA3, + 0xDD, 0xC5, 0x92, 0xE9, 0xC0, 0x61, 0x47, 0x46, + 0x4C, 0x12, 0x4A, 0xCC, 0x35, 0x1F, 0xCD, 0x86, + 0x90, 0x2A, 0x43, 0x1B, 0xDA, 0x12, 0x17, 0x3E, + 0x63, 0xC3, 0xD0, 0xCE, 0x7D, 0xA4, 0x0A, 0xD9, + 0x5A, 0x50, 0xA4, 0xAF, 0x66, 0xAF, 0xC5, 0x80, + 0x9B, 0xDA, 0x39, 0x34, 0xAD, 0x1B, 0x10, 0xFD, + 0x3F, 0xA3, 0xD3, 0x76, 0xAD, 0x67, 0x88, 0x9A, + 0x31, 0xD9, 0x06, 0xAD, 0xDF, 0x0A, 0x6B, 0x6A, + 0xC1, 0xE0, 0x76, 0x49, 0x91, 0xCC, 0x49, 0x9D, + 0x8C, 0x74, 0x40, 0x0A, 0xED, 0x93, 0x12, 0x2B, + 0xE4, 0xA0, 0xD0, 0xCB, 0xFA, 0x50, 0xEF, 0x94, + 0xA5, 0xF2, 0xFA, 0x39, 0xD5, 0xB6, 0x6E, 0x49, + 0x17, 0x02, 0x26, 0x00, 0xC3, 0x94, 0x56, 0x8E, + 0xD2, 0xD6, 0x5D, 0xE8, 0x56, 0x08, 0xF9, 0x7B, + 0x05, 0x4F, 0x74, 0xBE, 0x68, 0x4E, 0x01, 0x16, + 0xD2, 0x74, 0xCC, 0x04, 0x92, 0x42, 0xD1, 0xAD, + 0xBA, 0xE3, 0xA0, 0xB0, 0x43, 0xF3, 0x60, 0xC8, + 0x00, 0x12, 0x89, 0x8D, 0xD1, 0x70, 0x91, 0xC5, + 0xF1, 0x76, 0x3F, 0x8E, 0x8D, 0x53, 0xCA, 0xB8, + 0xF5, 0x81, 0x0A, 0x64, 0x01, 0x12, 0x5E, 0x44, + 0x1F, 0x55, 0x2C, 0xF8, 0x9A, 0x79, 0x5F, 0xA3, + 0x81, 0xCA, 0xEF, 0x81, 0x43, 0x08, 0x91, 0x3C, + 0xF9, 0x2D, 0x12, 0x8A, 0x85, 0x4F, 0x5C, 0xE8, + 0x69, 0xB3, 0xBA, 0xA9, 0x86, 0x03, 0x15, 0x90, + 0x37, 0xE5, 0x5F, 0xD4, 0x57, 0x15, 0x0F, 0x92, + 0x89, 0xE1, 0xE4, 0x92, 0xAD, 0xDB, 0xBC, 0xBF, + 0x37, 0xA8, 0x6B, 0x09, 0x52, 0x64, 0x4B, 0x26, + 0x9D, 0x62, 0x0E, 0x92, 0x92, 0xDD, 0x3D, 0x23, + 0xD3, 0x95, 0x76, 0xF5, 0xC9, 0xC0, 0xAA, 0xA1, + 0x74, 0xBC, 0x2F, 0x4C, 0xBE, 0x6F, 0x9E, 0x0D, + 0x54, 0xFD, 0xBB, 0x47, 0x4E, 0x53, 0xD6, 0x69, + 0x1E, 0xAD, 0x07, 0x54, 0xC0, 0xE5, 0xA7, 0xD3, + 0xB2, 0xAE, 0xDF, 0x4B, 0xC3, 0xB2, 0x06, 0x32, + 0x1A, 0x59, 0x00, 0x9F, 0x14, 0xC7, 0x27, 0x27, + 0xD3, 0x02, 0x3B, 0xF3, 0xD7, 0x5A, 0xCC, 0xFA, + 0xDF, 0x88, 0xC3, 0x69, 0x80, 0xE4, 0x9C, 0xF9, + 0xF1, 0x7D, 0x1B, 0xB8, 0xAB, 0xA5, 0x26, 0xD1, + 0x39, 0x0E, 0x77, 0xE7, 0x8D, 0xEC, 0xA6, 0xFD, + 0x8C, 0x65, 0x2A, 0x14, 0xF6, 0x1E, 0x3D, 0x5B, + 0xF1, 0xFB, 0x30, 0xC8, 0x23, 0x75, 0x51, 0xCA, + 0xF0, 0xA4, 0xF9, 0xFD, 0x02, 0xF8, 0x03, 0x5A, + 0xC8, 0xB3, 0x46, 0xF6, 0x90, 0xB5, 0xD3, 0xF0, + 0xA3, 0xF9, 0xCE, 0xE2, 0xFE, 0x04, 0x32, 0x4E, + 0xDA, 0xA4, 0x88, 0x6A, 0x82, 0x42, 0xC3, 0xF7, + 0xFB, 0xFC, 0xFE, 0x37, 0x23, 0xDF, 0xF8, 0x2C, + 0x0E, 0x82, 0x0B, 0x49, 0xB4, 0x1E, 0x5E, 0xAC, + 0x1C, 0x5F, 0x4A, 0x71, 0x45, 0xD5, 0x00, 0x3F, + 0xCD, 0x0F, 0xBA, 0x52, 0xA6, 0xDA, 0xDC, 0x8F, + 0xD5, 0xFB, 0x21, 0x8A, 0x14, 0x9E, 0x3D, 0x94, + 0xF6, 0x33, 0x93, 0x43, 0x3C, 0xB3, 0xE2, 0x84, + 0x45, 0xE3, 0xC3, 0xE4, 0x37, 0xD8, 0x12, 0xA5, + 0x51, 0xDE, 0x1B, 0x32, 0x01, 0x2B, 0x64, 0x59, + 0x45, 0x79, 0xED, 0xEF, 0x6A, 0xD6, 0x73, 0xC2, + 0x6F, 0xA8, 0xB2, 0xFC, 0xE7, 0xD7, 0xB4, 0x6B, + 0x00, 0x12, 0x17, 0x56, 0x24, 0x2E, 0x59, 0xF9, + 0x5B, 0x99, 0x46, 0x9D, 0xAE, 0x42, 0x11, 0x8D, + 0xC8, 0x7E, 0xF7, 0x66, 0x01, 0x12, 0x02, 0xF6, + 0xB9, 0x9E, 0x20, 0x31, 0xA8, 0x13, 0x49, 0xAC, + 0x1B, 0x50, 0x52, 0x7E, 0x7D, 0x1F, 0xBF, 0x70, + 0x15, 0x6C, 0x25, 0x8A, 0x0E, 0x63, 0xC1, 0x09, + 0x03, 0xC9, 0x1D, 0xD9, 0x15, 0xF6, 0x76, 0xDA, + 0xE3, 0x67, 0xFC, 0x0F, 0xA3, 0xF3, 0x3E, 0x8D, + 0x9A, 0x77, 0x34, 0x4E, 0x42, 0x74, 0xAA, 0x1D, + 0x49, 0xDB, 0x3B, 0xE1, 0x09, 0x54, 0x89, 0x55, + 0x05, 0x06, 0xA0, 0xF6, 0x14, 0x0A, 0x35, 0xDA, + 0x1A, 0x72, 0xE2, 0x42, 0x0D, 0x9C, 0x0A, 0xFD, + 0x2D, 0x67, 0x83, 0x73, 0x45, 0x5D, 0x89, 0x2C, + 0xF9, 0x7C, 0x66, 0xE9, 0x40, 0x84, 0xDE, 0x5F, + 0x1E, 0xA3, 0x0C, 0x96, 0x27, 0x64, 0x96, 0x1E, + 0xA9, 0x78, 0xBA, 0x9B, 0xC2, 0xB4, 0x11, 0xF6, + 0x77, 0x3E, 0x50, 0x79, 0x55, 0x2F, 0x36, 0xB8, + 0x5B, 0x76, 0xBA, 0x2F, 0x4C, 0x4F, 0xC8, 0x05, + 0x27, 0xC2, 0xB0, 0x3D, 0xFD, 0xA3, 0xD7, 0x9E, + 0x3A, 0xD4, 0xF5, 0xBE, 0x5B, 0x79, 0xC1, 0x8C, + 0xCA, 0x1F, 0x66, 0x1B, 0x88, 0x55, 0x06, 0x82, + 0x9E, 0x60, 0xD9, 0x5E, 0xCA, 0x6F, 0x2F, 0xC1, + 0x8C, 0x23, 0x26, 0xDC, 0x6F, 0x82, 0xDD, 0x1D, + 0xA6, 0x5B, 0x91, 0xFC, 0x1B, 0xFD, 0xBC, 0xF3, + 0x96, 0x8B, 0x01, 0xC3, 0x0F, 0xB3, 0xC6, 0x23, + 0xF6, 0x67, 0xB5, 0x95, 0x10, 0x62, 0x63, 0x6F, + 0x7B, 0x07, 0x84, 0xBC, 0x9C, 0x03, 0x41, 0x8E, + 0xF8, 0x98, 0x88, 0xED, 0x8D, 0xBB, 0x59, 0xDA, + 0xC9, 0x9C, 0xDE, 0x73, 0x8F, 0x35, 0xBD, 0x14, + 0xCC, 0xBF, 0xFE, 0x21, 0xBE, 0xD1, 0x16, 0x49, + 0x7A, 0xC9, 0xBB, 0xAA, 0xE8, 0x9E, 0x90, 0x8F, + 0x68, 0x4A, 0xAA, 0x2F, 0x66, 0xE4, 0x6C, 0x2E, + 0xC0, 0x5F, 0x48, 0x9F, 0x4B, 0xF7, 0xE3, 0x56, + 0x59, 0x5B, 0x90, 0xC6, 0x3E, 0xF1, 0x8B, 0x41, + 0xE2, 0x19, 0x79, 0x95, 0xCC, 0x4A, 0x94, 0x97, + 0x15, 0x99, 0xE2, 0x07, 0xCB, 0xB5, 0xF5, 0x3B, + 0x3E, 0x0C, 0x0E, 0x21, 0x96, 0x1B, 0x6B, 0x71, + 0x00, 0x12, 0x5F, 0xA7, 0xB9, 0xD7, 0x33, 0x8C, + 0x9D, 0x92, 0x75, 0x2C, 0x38, 0x41, 0xC5, 0xC1, + 0x12, 0xF4, 0xDA, 0x38, 0x01, 0x12, 0x35, 0xB0, + 0xA4, 0x6B, 0x4C, 0x56, 0x6F, 0x8F, 0x0A, 0xBC, + 0x66, 0x40, 0x4F, 0x5B, 0x86, 0xA1, 0xA9, 0xE7, + 0x83, 0xFF, 0xC6, 0x08, 0x6A, 0x34, 0x7C, 0xC4, + 0x54, 0xD5, 0x47, 0x73, 0xBA, 0x20, 0x5C, 0x82, + 0x99, 0xA7, 0x6C, 0x19, 0x76, 0xB4, 0x56, 0x54, + 0x13, 0x41, 0x46, 0x4F, 0xCE, 0x1A, 0x33, 0x33, + 0x2B, 0x06, 0x7C, 0x14, 0x40, 0xE8, 0x6F, 0xF8, + 0x5E, 0x0D, 0x37, 0x96, 0x22, 0xFB, 0x11, 0xC5, + 0x10, 0xC5, 0x5F, 0x68, 0x1E, 0x8E, 0xB1, 0x54, + 0x0D, 0xE3, 0x38, 0x36, 0x6D, 0x4D, 0xE7, 0x94, + 0x0A, 0x20, 0x58, 0xB9, 0x21, 0xC9, 0x9D, 0x5C, + 0xF7, 0x67, 0x89, 0x66, 0x85, 0xAD, 0x4F, 0x3C, + 0x6E, 0xF0, 0x8B, 0xB2, 0xC9, 0x9F, 0x0F, 0x8C, + 0x15, 0xA5, 0x49, 0x6E, 0x19, 0x34, 0x48, 0x99, + 0xB2, 0xB7, 0x3A, 0x4D, 0x2E, 0x0F, 0x86, 0xB1, + 0xA1, 0xE8, 0x32, 0x6D, 0xC5, 0xBD, 0x50, 0x91, + 0x5A, 0x5B, 0x89, 0x50, 0x18, 0x55, 0xD9, 0xC0, + 0x35, 0xBD, 0x3A, 0x9E, 0x19, 0xCE, 0x36, 0x47, + 0x7F, 0xE4, 0xD7, 0x26, 0xFE, 0x93, 0x9D, 0x77, + 0x84, 0x91, 0x20, 0x6C, 0xB5, 0x60, 0x7C, 0x2D, + 0x06, 0x80, 0x87, 0xD6, 0x7A, 0x07, 0x0C, 0xF4, + 0xE7, 0x7D, 0xCA, 0x69, 0xD6, 0xFD, 0x3A, 0x11, + 0x27, 0xC2, 0x7F, 0x19, 0xC8, 0x04, 0xF5, 0x75, + 0xBC, 0x4D, 0x27, 0x35, 0x4A, 0x1D, 0x29, 0x70, + 0xBA, 0xA5, 0x21, 0xA1, 0x88, 0x95, 0x46, 0xD9, + 0x98, 0x91, 0xF8, 0xD7, 0xD0, 0x53, 0x01, 0xDA, + 0x84, 0x57, 0xAD, 0x47, 0xFB, 0xE3, 0xF9, 0xFA, + 0x96, 0xB1, 0x1E, 0x1B, 0xBA, 0x7F, 0xA2, 0xFF, + 0x42, 0xFC, 0x7A, 0x37, 0xF2, 0xA1, 0x42, 0x9A, + 0xF3, 0x97, 0x40, 0xAD, 0x6E, 0x7F, 0x5C, 0x1B, + 0xC5, 0x23, 0xB5, 0x6C, 0x8B, 0x2A, 0xBB, 0x59, + 0x1C, 0x39, 0x53, 0xA5, 0xA2, 0xA3, 0xBF, 0x22, + 0x65, 0xFB, 0xAD, 0x6F, 0x91, 0x20, 0x07, 0x42, + 0x83, 0x9B, 0xF7, 0x2E, 0x46, 0x74, 0x37, 0xD8, + 0x00, 0x12, 0x96, 0x00, 0x4F, 0x67, 0x4F, 0x70, + 0xAB, 0x4B, 0x22, 0xD4, 0x7D, 0x8D, 0x4B, 0x77, + 0xCD, 0x2F, 0x05, 0x67, 0x01, 0x12, 0x97, 0x62, + 0x56, 0x9D, 0x7D, 0x4D, 0xA0, 0x39, 0xB6, 0x50, + 0xFC, 0xE3, 0x6E, 0x70, 0x1C, 0x25, 0x71, 0x89, + 0x8C, 0x09, 0x7C, 0x2F, 0xFA, 0xFA, 0xB6, 0xCB, + 0xE8, 0x53, 0x92, 0x0B, 0x0E, 0x2B, 0x08, 0x0C, + 0xED, 0xFD, 0x84, 0x72, 0x91, 0x13, 0x15, 0x05, + 0x72, 0x25, 0xC5, 0x6E, 0xAB, 0x1D, 0xEB, 0x22, + 0xB6, 0x3F, 0xA1, 0xFC, 0xE1, 0x05, 0xBD, 0xBC, + 0x7F, 0x6D, 0x50, 0x1E, 0x49, 0x89, 0x1A, 0x2B, + 0x15, 0x87, 0x29, 0x62, 0xA6, 0xFB, 0x1C, 0xF6, + 0xF1, 0x5E, 0x26, 0x7A, 0x03, 0x9C, 0xFD, 0x58, + 0x62, 0xBD, 0xB3, 0x91, 0x4E, 0x26, 0x72, 0x69, + 0xD8, 0x9F, 0xEF, 0x8C, 0xD3, 0xD5, 0x56, 0x34, + 0x77, 0x3E, 0xB1, 0xDC, 0xF6, 0x16, 0x7D, 0x90, + 0x79, 0xC1, 0x74, 0xA6, 0x9B, 0xF9, 0x2C, 0xE1, + 0xBE, 0xBD, 0x8B, 0x92, 0x6C, 0x6E, 0x8C, 0xF8, + 0xFD, 0x7F, 0x15, 0x7F, 0x49, 0x94, 0x55, 0xE5, + 0xFC, 0xAF, 0x9D, 0x7D, 0x0A, 0xB0, 0xF5, 0xAE, + 0x93, 0x07, 0x4F, 0x4A, 0xBA, 0x9D, 0x63, 0xDA, + 0xC8, 0x47, 0x6F, 0x30, 0xEC, 0x8B, 0x8F, 0x3E, + 0x89, 0xBA, 0x56, 0x23, 0x5A, 0x8F, 0xD9, 0xD1, + 0x9A, 0x0A, 0x21, 0xAD, 0x11, 0x13, 0x88, 0x6A, + 0xA9, 0xD7, 0xDC, 0x75, 0x30, 0x2B, 0x8E, 0x6A, + 0x3D, 0xD2, 0x85, 0x85, 0x78, 0xE9, 0x95, 0x9E, + 0xB2, 0x61, 0xAC, 0xE7, 0xDC, 0xA3, 0x39, 0xDC, + 0x27, 0x86, 0xE7, 0x4A, 0x17, 0x00, 0xAC, 0xBD, + 0xA9, 0x86, 0xD3, 0xFC, 0xDA, 0xFD, 0x4E, 0xBB, + 0x36, 0x93, 0x40, 0x96, 0x38, 0xDB, 0xDA, 0x8E, + 0x9B, 0x7E, 0x2C, 0x16, 0x4D, 0xE9, 0x15, 0x6B, + 0x70, 0xFE, 0xBD, 0x81, 0xF4, 0x16, 0x2D, 0x5A, + 0x16, 0xB2, 0x86, 0xBF, 0xC3, 0xC2, 0x48, 0x54, + 0x69, 0x2F, 0x94, 0x21, 0xE2, 0x68, 0xCB, 0x15, + 0x1E, 0xA6, 0x77, 0x01, 0x44, 0xE7, 0xE4, 0x1D, + 0xCD, 0x4C, 0x5A, 0xA7, 0x14, 0x02, 0x02, 0x67, + 0xC1, 0x2F, 0x8D, 0x01, 0x05, 0x69, 0x25, 0x18, + 0x00, 0x12, 0x79, 0x04, 0x00, 0xBD, 0xA7, 0x22, + 0xC1, 0x0D, 0xD8, 0x09, 0x8A, 0xA9, 0x1B, 0xD2, + 0x9F, 0x93, 0x0E, 0xAB, 0x01, 0x12, 0xD3, 0x29, + 0x0D, 0xB7, 0x61, 0x45, 0x49, 0x92, 0xF2, 0x87, + 0xF8, 0x35, 0xEA, 0xF4, 0x0D, 0x01, 0x4F, 0x14, + 0x1A, 0x60, 0x35, 0xCD, 0xCD, 0x9B, 0x68, 0x93, + 0xF7, 0x45, 0x17, 0x77, 0x9A, 0x7B, 0xF2, 0x33, + 0x31, 0xCA, 0xBA, 0xE7, 0xF9, 0x57, 0x7C, 0xC6, + 0xD7, 0x6E, 0x41, 0xAF, 0xA3, 0xF5, 0x0F, 0xB5, + 0xAE, 0x0E, 0x37, 0x3A, 0x7C, 0x64, 0xDD, 0x6D, + 0x75, 0xEB, 0xFC, 0xA2, 0xB0, 0x9D, 0xF0, 0x55, + 0x9B, 0xAC, 0xE9, 0x45, 0x9C, 0xB4, 0x69, 0xBE, + 0xEB, 0xE5, 0x46, 0xE7, 0xF3, 0x80, 0xA5, 0xFD, + 0x6E, 0xA6, 0x7E, 0x8C, 0x5B, 0xB6, 0xA3, 0xEE, + 0x84, 0xEC, 0x91, 0xE2, 0x53, 0xBE, 0x82, 0x20, + 0xCD, 0x4C, 0x3E, 0xF9, 0xF4, 0x5C, 0x9C, 0x4D, + 0xEF, 0x19, 0xD6, 0x38, 0x7C, 0xFD, 0x32, 0xF7, + 0x29, 0x45, 0xCE, 0x21, 0xEC, 0xC2, 0xB3, 0x0F, + 0xC3, 0x46, 0x63, 0x29, 0x3C, 0xE2, 0xC2, 0xCB, + 0xC7, 0x4D, 0x54, 0x71, 0xDF, 0x81, 0x3F, 0x1F, + 0xFA, 0xDC, 0x3A, 0x45, 0x55, 0xA4, 0xAD, 0xED, + 0xDE, 0x65, 0x0C, 0x51, 0x9D, 0x30, 0x10, 0xFF, + 0x15, 0xBF, 0x0F, 0xE6, 0x8E, 0x49, 0x8E, 0x7E, + 0xF9, 0x68, 0x10, 0x00, 0x08, 0x42, 0xB0, 0x80, + 0xFD, 0x75, 0x4E, 0xE8, 0xB2, 0x9A, 0x99, 0x02, + 0xF5, 0x8D, 0x46, 0x7D, 0x56, 0x2E, 0x6D, 0x94, + 0xE4, 0x72, 0xBC, 0xD1, 0xFD, 0x60, 0x87, 0xCA, + 0x07, 0xF6, 0xE0, 0x68, 0x41, 0x49, 0x36, 0x68, + 0x0A, 0x9F, 0x8A, 0x0C, 0x79, 0x76, 0x81, 0x77, + 0x8A, 0x3B, 0xA9, 0x1D, 0x44, 0x78, 0x37, 0xC1, + 0x83, 0xB5, 0xD1, 0x80, 0x9F, 0x64, 0xF9, 0x1C, + 0x95, 0x96, 0xDB, 0x23, 0x8B, 0x99, 0xAA, 0xAF, + 0xDB, 0xCF, 0xCC, 0x3C, 0xDD, 0x5C, 0x8F, 0xA9, + 0x38, 0x35, 0xD1, 0x19, 0x57, 0x60, 0x30, 0xED, + 0x4D, 0x17, 0xAC, 0x5F, 0x63, 0x21, 0x86, 0x27, + 0xE5, 0x24, 0x76, 0x49, 0x7F, 0x6F, 0x42, 0x93, + 0x07, 0x4F, 0xCD, 0x17, 0x3B, 0x76, 0x93, 0xA9, + 0x00, 0x12, 0x1C, 0xC1, 0xAD, 0xB6, 0xE3, 0x15, + 0x58, 0xF2, 0x0E, 0xC2, 0x3C, 0xE2, 0x62, 0x6E, + 0x41, 0xF6, 0x96, 0x11, 0x01, 0x12, 0x8D, 0x53, + 0x50, 0xCF, 0xD2, 0x9B, 0xAC, 0x75, 0x37, 0x49, + 0x89, 0x4D, 0xB2, 0x7C, 0x97, 0x01, 0xB7, 0x13, + 0xC9, 0xAA, 0xE1, 0xC2, 0xA7, 0x34, 0x7B, 0x70, + 0x83, 0x0C, 0x1D, 0xCC, 0x14, 0x94, 0x84, 0x6F, + 0x99, 0xB3, 0x52, 0xC0, 0x0F, 0xC2, 0xEE, 0x36, + 0x93, 0x7D, 0x42, 0x16, 0x76, 0x9F, 0x5B, 0xC1, + 0xC2, 0x49, 0x31, 0xB4, 0x21, 0x11, 0xEC, 0x88, + 0xAE, 0x97, 0x91, 0x95, 0xB6, 0x3C, 0x72, 0x12, + 0x04, 0x56, 0x54, 0xC9, 0x8D, 0xD7, 0x77, 0x7A, + 0x04, 0x76, 0xCE, 0x89, 0xD8, 0xD5, 0x2D, 0x88, + 0x37, 0xC6, 0x0A, 0x5D, 0x54, 0x9A, 0x1C, 0x85, + 0xB2, 0x0B, 0xEF, 0x87, 0x8E, 0x83, 0x6F, 0x1F, + 0xB0, 0x42, 0x09, 0x21, 0x81, 0x9E, 0x8D, 0x02, + 0xFB, 0x5D, 0x96, 0xC7, 0xB4, 0x1D, 0x3A, 0x0E, + 0x3A, 0x65, 0xF3, 0x70, 0x8C, 0xCE, 0xD0, 0xA7, + 0x1F, 0x39, 0x91, 0xC6, 0xA0, 0x13, 0xFA, 0x77, + 0x4D, 0x82, 0x39, 0xF7, 0xFB, 0x85, 0xE5, 0x8A, + 0xFC, 0xCE, 0xD9, 0x51, 0x28, 0xF5, 0x81, 0x80, + 0x6A, 0x5E, 0xCD, 0x58, 0x6B, 0x8E, 0x0F, 0xEF, + 0x52, 0x36, 0x69, 0x92, 0x5B, 0x6D, 0x91, 0x69, + 0xAA, 0x84, 0xD0, 0xD3, 0xD2, 0x5F, 0xFD, 0x15, + 0x69, 0x78, 0x14, 0x27, 0xAE, 0xD7, 0x84, 0x95, + 0x6A, 0x18, 0x27, 0x36, 0xF7, 0x24, 0x98, 0x95, + 0x20, 0x1F, 0x25, 0x95, 0xB6, 0x7B, 0x43, 0xAB, + 0xB4, 0x05, 0x76, 0x21, 0xC7, 0xA7, 0x0A, 0x36, + 0x31, 0xF4, 0xED, 0x9E, 0x27, 0xEF, 0x92, 0x95, + 0x57, 0x22, 0x91, 0x57, 0xDA, 0x80, 0x2D, 0x58, + 0x17, 0x6A, 0xC0, 0x72, 0xDA, 0x01, 0xB0, 0x07, + 0x37, 0xE0, 0x8D, 0xD1, 0x41, 0x6D, 0x0A, 0xD9, + 0x18, 0x3E, 0x31, 0x0A, 0xBF, 0xDE, 0x5E, 0x9A, + 0x59, 0xBE, 0xC9, 0xDE, 0x52, 0x4B, 0xC9, 0xF2, + 0xC6, 0x7D, 0xC1, 0xD3, 0x1E, 0x34, 0x49, 0x9A, + 0x0C, 0x03, 0x10, 0xC0, 0x25, 0x19, 0x5B, 0x11, + 0x3B, 0xB3, 0x22, 0xC4, 0x2F, 0xCA, 0x86, 0x1A, + 0x00, 0x12, 0x68, 0x99, 0x40, 0x08, 0xC8, 0x9E, + 0x53, 0x92, 0x7E, 0x68, 0xDD, 0x6F, 0x90, 0x66, + 0x5C, 0xE0, 0xE2, 0x95, 0x01, 0x12, 0x0E, 0x4A, + 0xDF, 0xB8, 0xC5, 0xB6, 0x37, 0xC9, 0xEA, 0x6F, + 0xDA, 0xE2, 0x77, 0xF5, 0x32, 0x03, 0x75, 0x55, + 0x5F, 0xFA, 0x8C, 0x4C, 0xF3, 0x76, 0x78, 0xE6, + 0x1E, 0x59, 0x0A, 0xD7, 0x1F, 0xC7, 0xD1, 0x2D, + 0x84, 0xF8, 0xF1, 0xE2, 0xE7, 0xEF, 0x22, 0x77, + 0xDF, 0xA7, 0xD6, 0xB3, 0xBD, 0xA7, 0xF9, 0x64, + 0xE3, 0xAD, 0x82, 0x79, 0xAC, 0x88, 0x90, 0xD1, + 0x4A, 0x18, 0x93, 0x5A, 0x35, 0x6B, 0xC9, 0xEB, + 0x32, 0xF5, 0x26, 0x8C, 0x58, 0x01, 0x6B, 0x97, + 0x69, 0x0A, 0xCC, 0x7D, 0x80, 0x16, 0xFD, 0x30, + 0xDB, 0x92, 0xAB, 0xB8, 0x0F, 0xAF, 0x76, 0x46, + 0x5F, 0x26, 0x3F, 0x5B, 0xB3, 0x43, 0xAF, 0x1A, + 0x3B, 0xDD, 0x96, 0x3B, 0xA6, 0xA5, 0x6E, 0x7B, + 0x0A, 0x77, 0x8A, 0x03, 0xAF, 0x06, 0xDC, 0x97, + 0x44, 0x73, 0x65, 0x61, 0x50, 0xBF, 0x0B, 0x0B, + 0x44, 0x43, 0x6C, 0xD5, 0x85, 0x62, 0xD4, 0xFF, + 0xD6, 0xDF, 0x7E, 0xA6, 0xC2, 0x0E, 0xD2, 0x84, + 0x04, 0x7B, 0xF2, 0x87, 0xAE, 0xBB, 0x6B, 0x7F, + 0x4C, 0x27, 0xA0, 0x5B, 0x26, 0x3B, 0xD2, 0x05, + 0x60, 0xEF, 0x92, 0x64, 0x6C, 0xA7, 0x69, 0x40, + 0x83, 0xD0, 0x9B, 0xB8, 0x2A, 0x1D, 0x40, 0xE8, + 0xA2, 0x76, 0xC1, 0xD9, 0x88, 0x5B, 0x78, 0x08, + 0x11, 0xC6, 0x3C, 0x4A, 0x5E, 0x51, 0x60, 0xA5, + 0x6F, 0xF7, 0x33, 0x36, 0x60, 0x06, 0x5C, 0x61, + 0xF9, 0xDC, 0xE8, 0x68, 0x30, 0x3C, 0x7C, 0x5B, + 0x53, 0xA4, 0x4B, 0x93, 0xF1, 0x49, 0x4D, 0x89, + 0x6F, 0x67, 0xDE, 0x2A, 0xF6, 0xA4, 0xAD, 0x16, + 0xE2, 0x7C, 0x5E, 0xF1, 0xB5, 0x6D, 0xA8, 0xEF, + 0x08, 0xAA, 0x31, 0x58, 0x79, 0xFB, 0x9B, 0xE4, + 0x8A, 0x30, 0xED, 0xB9, 0xCA, 0xD2, 0x10, 0xF9, + 0x10, 0x5C, 0xAC, 0x80, 0x09, 0x9D, 0x12, 0x59, + 0x5C, 0x55, 0x80, 0x79, 0x4C, 0x90, 0x47, 0x9A, + 0x3F, 0x9D, 0x12, 0xC3, 0x19, 0x11, 0xE7, 0x0E, + 0x9E, 0xE9, 0x88, 0xA3, 0xC4, 0x29, 0x11, 0xD3, + 0x00, 0x12, 0x79, 0xD0, 0x01, 0x02, 0x36, 0x07, + 0xF9, 0x74, 0x42, 0x30, 0x10, 0x16, 0x82, 0xCE, + 0x65, 0x7D, 0xF3, 0xF6, 0x01, 0x12, 0xA5, 0xF6, + 0xD2, 0x28, 0x54, 0x2D, 0x74, 0xD2, 0xBA, 0x00, + 0x8C, 0xDC, 0x50, 0xB1, 0xF8, 0xE1, 0x80, 0x10, + 0x95, 0x77, 0x29, 0x0F, 0xBD, 0xD5, 0x3F, 0x6D, + 0xFA, 0x18, 0xD0, 0x37, 0xB1, 0xA2, 0xA6, 0xD0, + 0xDB, 0x60, 0x97, 0xA6, 0xD5, 0x7E, 0xD5, 0xDC, + 0x8A, 0x8A, 0x20, 0x06, 0xF3, 0x6B, 0xCD, 0x66, + 0xB4, 0x53, 0x6D, 0xC0, 0x9D, 0xAD, 0x4F, 0xB0, + 0x2F, 0x16, 0x81, 0x77, 0xD6, 0x82, 0x3F, 0xA5, + 0xB5, 0x14, 0xAA, 0x3E, 0x75, 0xA7, 0xF5, 0xDA, + 0xA1, 0x95, 0xBB, 0x36, 0x04, 0x7E, 0x12, 0x98, + 0x6F, 0x87, 0x53, 0xD7, 0xAB, 0x9E, 0x43, 0xE4, + 0xB2, 0xD2, 0xF7, 0x05, 0x91, 0xB4, 0xE6, 0x21, + 0xC7, 0xB9, 0x28, 0x6E, 0x3B, 0x52, 0x08, 0x54, + 0x76, 0x92, 0x86, 0xCE, 0x20, 0xA5, 0x35, 0x93, + 0x88, 0x47, 0xF2, 0xB1, 0x51, 0xD1, 0xA4, 0x17, + 0x6C, 0xFB, 0x34, 0xF5, 0x29, 0xE7, 0x2B, 0x2C, + 0xBD, 0x7A, 0x28, 0xEB, 0x48, 0x28, 0xC8, 0x00, + 0x32, 0xE0, 0x6C, 0xAB, 0x11, 0xF5, 0xCE, 0x37, + 0xFE, 0x6C, 0x49, 0xA3, 0xB9, 0xC3, 0x34, 0xCB, + 0xF4, 0x1B, 0x28, 0x9C, 0x47, 0x69, 0xD7, 0xE1, + 0x46, 0x0C, 0xBE, 0xE1, 0x96, 0xAC, 0xD8, 0x6A, + 0xD3, 0xD7, 0x85, 0x1B, 0x50, 0x54, 0x6B, 0x44, + 0x4D, 0x44, 0xF9, 0xD2, 0x60, 0xD4, 0x83, 0x10, + 0xD6, 0xE0, 0x16, 0xA7, 0x4E, 0x02, 0x1F, 0xA6, + 0x34, 0xD4, 0xA4, 0x1E, 0x84, 0x22, 0x5B, 0x98, + 0x87, 0xCC, 0xD6, 0x7C, 0x88, 0xD7, 0xAB, 0x73, + 0xFB, 0x80, 0xA1, 0x13, 0xA3, 0x0D, 0x32, 0xA1, + 0xB3, 0xBB, 0xF7, 0xC7, 0x31, 0x9D, 0xC7, 0x4B, + 0x96, 0xC9, 0x4D, 0x6F, 0x16, 0x7A, 0x8E, 0x18, + 0x28, 0x41, 0x3C, 0x3A, 0x50, 0x26, 0x6F, 0x40, + 0xB0, 0x63, 0x29, 0xD3, 0x34, 0x97, 0x3F, 0x16, + 0x1D, 0x83, 0x6B, 0xD3, 0x5D, 0xB7, 0x68, 0x46, + 0x74, 0x10, 0x50, 0x7F, 0x24, 0xDA, 0x02, 0x74, + 0xEB, 0x62, 0xC1, 0x0D, 0xE7, 0xC5, 0xD4, 0x53, + 0x00, 0x12, 0x91, 0x53, 0xF0, 0x01, 0x3B, 0x6A, + 0x7A, 0xD5, 0xE7, 0x3E, 0x7A, 0xFD, 0xE7, 0x8B, + 0xEB, 0x2B, 0x57, 0xA4, 0x01, 0x12, 0xD0, 0x77, + 0x19, 0x97, 0xE4, 0x4B, 0xC0, 0xB9, 0x4E, 0x6A, + 0x00, 0xC6, 0x06, 0xA8, 0x58, 0x7B, 0xC9, 0x26, + 0xA1, 0x1E, 0x6A, 0x01, 0xE4, 0x13, 0xE6, 0x60, + 0x65, 0xDC, 0x55, 0xE6, 0x5F, 0xE4, 0x34, 0x4D, + 0xAD, 0x50, 0x3C, 0xAD, 0x6C, 0x8B, 0xAF, 0x62, + 0xF4, 0xF6, 0x79, 0x72, 0x46, 0x4C, 0x18, 0x28, + 0xE5, 0x44, 0x64, 0xC0, 0xDD, 0x91, 0x3E, 0x54, + 0x87, 0xBC, 0x7A, 0xDE, 0x36, 0xF6, 0x75, 0x0D, + 0x15, 0x4F, 0xE5, 0xB4, 0x88, 0x48, 0x8A, 0xEC, + 0x3B, 0x36, 0xE9, 0x49, 0xBE, 0x0B, 0x73, 0x79, + 0x2F, 0xA5, 0x33, 0x17, 0x80, 0x30, 0x12, 0x2E, + 0xF8, 0x24, 0xF0, 0x20, 0x70, 0xD0, 0x5D, 0xC9, + 0x4D, 0x8C, 0x88, 0xAF, 0xFD, 0x6F, 0x76, 0xAC, + 0xE6, 0x55, 0xC1, 0xA9, 0xDF, 0x4C, 0x43, 0xF9, + 0x3D, 0x20, 0x76, 0x4A, 0x70, 0xD0, 0x5A, 0x38, + 0x7D, 0x12, 0x63, 0x69, 0x13, 0x7E, 0x31, 0x42, + 0xDD, 0xD4, 0xAF, 0x89, 0xF7, 0x9E, 0x24, 0xF1, + 0xB5, 0xD1, 0xFC, 0x13, 0xF8, 0x0B, 0x28, 0xF9, + 0x96, 0x47, 0x4E, 0xCB, 0x75, 0xA8, 0xE1, 0x81, + 0x38, 0x54, 0x1B, 0xB7, 0xD8, 0x07, 0x15, 0x04, + 0xAF, 0xFA, 0x7D, 0x90, 0x16, 0x7E, 0x04, 0xE2, + 0x3F, 0xE3, 0xD0, 0x6C, 0x64, 0xD0, 0xFB, 0x48, + 0x85, 0x82, 0xF8, 0x8B, 0xCE, 0x32, 0x03, 0xE8, + 0x9D, 0x91, 0x1A, 0xAF, 0x79, 0x6D, 0x0C, 0x08, + 0x43, 0xF0, 0x9A, 0xCB, 0x49, 0x0F, 0xBA, 0x14, + 0x37, 0xA9, 0x53, 0xD9, 0xA2, 0x6A, 0x65, 0x2A, + 0x35, 0x30, 0x47, 0x7F, 0xB2, 0x1B, 0x1F, 0x89, + 0x5B, 0xC1, 0xFF, 0xD6, 0x2E, 0xC4, 0xA0, 0xF8, + 0xDB, 0xC4, 0xCB, 0x78, 0xA3, 0x38, 0xAF, 0xDB, + 0x48, 0x31, 0x83, 0x81, 0xD2, 0x01, 0xCF, 0x28, + 0xD5, 0x88, 0x0F, 0x0C, 0x92, 0x82, 0x3E, 0x1F, + 0x08, 0x8E, 0xA3, 0x3A, 0xEE, 0xAD, 0x01, 0x03, + 0xCB, 0x97, 0x79, 0x30, 0xA8, 0x58, 0xC0, 0xCC, + 0x72, 0x76, 0x5E, 0x69, 0xBC, 0xEC, 0xEF, 0x4F, + 0x00, 0x12, 0x55, 0x92, 0xAE, 0xD8, 0xAB, 0x77, + 0x6B, 0x71, 0x4C, 0x88, 0x77, 0x7C, 0xFB, 0x8D, + 0xA1, 0x9C, 0xEC, 0x1F, 0x01, 0x12, 0xE6, 0x29, + 0x6D, 0xD4, 0x0D, 0xB0, 0xB9, 0xBF, 0x24, 0x5D, + 0x15, 0x80, 0x08, 0x53, 0x64, 0x4F, 0xED, 0x5E, + 0x85, 0x23, 0x77, 0x74, 0xEB, 0x38, 0x4D, 0x51, + 0x32, 0x98, 0x7B, 0xD8, 0x9A, 0x90, 0x44, 0x68, + 0x17, 0xC9, 0xB4, 0x56, 0xA6, 0xB3, 0x62, 0x3E, + 0xF8, 0x6B, 0x8D, 0x75, 0xFA, 0x6F, 0x72, 0xD3, + 0x58, 0x96, 0x1B, 0x25, 0x3F, 0x5A, 0xBF, 0xA8, + 0x88, 0x05, 0x50, 0xCF, 0x47, 0x2B, 0x98, 0x23, + 0x52, 0x27, 0xB2, 0x61, 0x93, 0xE1, 0x5B, 0x10, + 0x00, 0x0E, 0x5F, 0xE9, 0xAB, 0x36, 0xF1, 0x5C, + 0xA7, 0xDC, 0xA8, 0x31, 0x53, 0x12, 0x9F, 0xB1, + 0xCF, 0x86, 0xDE, 0x58, 0xCD, 0xB0, 0x46, 0xD3, + 0x1E, 0x48, 0x8A, 0x3E, 0x47, 0x9E, 0x05, 0x28, + 0x80, 0xD8, 0x84, 0x29, 0xEE, 0xCA, 0xA8, 0xD3, + 0x34, 0x56, 0x7B, 0x50, 0x98, 0xA7, 0x14, 0x16, + 0xD8, 0x23, 0x0E, 0xD0, 0x0F, 0x9C, 0xDF, 0x5E, + 0x29, 0xEC, 0xB9, 0x11, 0x24, 0xAD, 0x17, 0xD9, + 0x1B, 0xE3, 0x2A, 0x04, 0x1A, 0xFA, 0xEC, 0xC1, + 0x0B, 0xBF, 0x6A, 0x52, 0xB3, 0xE0, 0x60, 0xCF, + 0xD6, 0x81, 0xE6, 0xF1, 0x8E, 0x56, 0x0E, 0xD6, + 0x77, 0xF2, 0x91, 0x91, 0x2C, 0xB3, 0xF6, 0x1B, + 0x54, 0x96, 0x79, 0x97, 0x40, 0xAC, 0x2D, 0x85, + 0x55, 0x71, 0xC4, 0x1C, 0xED, 0xAD, 0xD8, 0x57, + 0x2A, 0x6E, 0x9A, 0x55, 0x10, 0x8B, 0xAC, 0xB2, + 0xFA, 0x9C, 0x3B, 0xDD, 0x94, 0xE2, 0x86, 0x53, + 0xDB, 0xE1, 0x03, 0x7D, 0x95, 0xCE, 0x3A, 0x8C, + 0xDE, 0x3E, 0xC6, 0x16, 0xB0, 0x47, 0xD2, 0x43, + 0x3D, 0x65, 0x8C, 0x17, 0x35, 0xBD, 0xBA, 0x79, + 0x89, 0xDD, 0xE4, 0xC1, 0x72, 0x0D, 0x34, 0xB1, + 0xDA, 0xF8, 0xDD, 0xA8, 0x29, 0xB4, 0x75, 0x12, + 0x8E, 0xC1, 0x29, 0x93, 0x6E, 0xDC, 0xE8, 0x64, + 0x93, 0x20, 0xE0, 0xED, 0x3B, 0xB6, 0x9C, 0x77, + 0x46, 0x09, 0xBB, 0x7A, 0x33, 0x3A, 0xB4, 0xF2, + 0x1B, 0x62, 0xBB, 0x77, 0x25, 0xF3, 0xC4, 0xB6, + 0x00, 0x12, 0xB9, 0xFB, 0xD9, 0x63, 0xE7, 0x10, + 0xE0, 0xDC, 0x74, 0x7E, 0x29, 0x6C, 0xFD, 0x78, + 0x2F, 0x00, 0x25, 0x4B, 0x01, 0x12, 0x7C, 0xFB, + 0x2F, 0xE7, 0x6A, 0xC8, 0xF7, 0x40, 0x2F, 0x26, + 0x15, 0xA6, 0x44, 0xDC, 0xEF, 0xF8, 0x8F, 0x9D, + 0x90, 0x4C, 0xE8, 0x14, 0xBF, 0x8D, 0x55, 0xE0, + 0xC9, 0xFD, 0x07, 0x9E, 0x5E, 0x50, 0xDA, 0xE4, + 0x71, 0x0B, 0x69, 0xE3, 0xE1, 0xF3, 0x6B, 0x9D, + 0x87, 0xEB, 0x22, 0x34, 0x41, 0x33, 0x3B, 0xE5, + 0x8E, 0x04, 0x3D, 0xBC, 0x79, 0x17, 0x1A, 0x17, + 0xA6, 0x2A, 0xA6, 0xD1, 0x1D, 0x0F, 0x68, 0xC6, + 0x78, 0xBE, 0x59, 0x13, 0xA8, 0xAE, 0xEF, 0x32, + 0x96, 0x06, 0x47, 0x9E, 0x3C, 0x6C, 0x5A, 0x58, + 0x75, 0x22, 0x6D, 0xEC, 0x2A, 0xC6, 0xD5, 0x83, + 0xC3, 0x35, 0x09, 0x93, 0xD3, 0x53, 0x12, 0xFB, + 0xF1, 0x89, 0x53, 0x16, 0x9D, 0x3C, 0xFA, 0xFE, + 0x99, 0xAE, 0x46, 0x88, 0xE4, 0x8F, 0xEE, 0x49, + 0xEB, 0xB7, 0xED, 0x81, 0xCF, 0x12, 0xB3, 0x80, + 0x5E, 0xD1, 0xD7, 0xFB, 0xBE, 0x9D, 0xA4, 0xE2, + 0xE4, 0x2B, 0x64, 0x2F, 0x8F, 0x7E, 0x8E, 0xF2, + 0x6C, 0x65, 0x83, 0x24, 0x18, 0x59, 0xF2, 0x1C, + 0x21, 0x67, 0xDA, 0x3F, 0x25, 0x6E, 0x1C, 0xA8, + 0xF1, 0x6F, 0x5E, 0x40, 0xEA, 0x2E, 0x82, 0xC5, + 0x58, 0x16, 0x5E, 0xE8, 0xF2, 0x21, 0x80, 0x1E, + 0xD7, 0x5F, 0x50, 0xF7, 0x01, 0xA5, 0xA3, 0xD9, + 0xF4, 0x97, 0x0C, 0x71, 0x0E, 0x55, 0x1A, 0xC1, + 0xBC, 0x68, 0xB4, 0x62, 0x05, 0x8E, 0xE2, 0x98, + 0x75, 0x77, 0xF3, 0xF1, 0x96, 0x89, 0x4B, 0xE6, + 0x98, 0xFC, 0xE1, 0x3A, 0xB4, 0xBE, 0x62, 0x7D, + 0xC8, 0x76, 0xD3, 0xE1, 0x56, 0xC2, 0xD1, 0x56, + 0x71, 0x59, 0x66, 0xD2, 0xD2, 0x51, 0xB8, 0x8A, + 0xCB, 0x27, 0xB8, 0xDC, 0x45, 0x88, 0x2F, 0x86, + 0x2C, 0xEA, 0x4F, 0x1B, 0xEE, 0xFC, 0x4B, 0x71, + 0x2A, 0x8C, 0x7E, 0x8F, 0x1A, 0xB5, 0x97, 0x2E, + 0x21, 0x85, 0xD4, 0x6E, 0xF4, 0xCF, 0x3E, 0x4C, + 0xE5, 0x7B, 0xA2, 0xFB, 0x62, 0x15, 0x2D, 0x33, + 0x18, 0x53, 0x43, 0x0B, 0xBB, 0x69, 0x54, 0x5E, + 0x00, 0x12, 0x37, 0x54, 0x5D, 0x9C, 0x19, 0x89, + 0x4C, 0xAA, 0xD6, 0x4A, 0xAA, 0x26, 0xBE, 0x14, + 0xE8, 0x85, 0xE5, 0x15, 0x01, 0x12, 0x86, 0x9A, + 0x5C, 0x16, 0xE4, 0x03, 0x09, 0x59, 0x51, 0x24, + 0xBF, 0x39, 0x02, 0xAF, 0x2C, 0xBD, 0x4B, 0xB7, + 0x4E, 0x8C, 0x5D, 0x82, 0x7C, 0x3A, 0xD1, 0x7E, + 0x0C, 0xB4, 0x42, 0x99, 0xC5, 0x4B, 0xB6, 0xAA, + 0x53, 0x5B, 0xE2, 0x90, 0x13, 0x0D, 0xD4, 0x47, + 0xEA, 0xC9, 0x7E, 0x30, 0x9F, 0x0C, 0x98, 0xA9, + 0xAC, 0x22, 0x66, 0x7B, 0xE8, 0x11, 0x2C, 0x3D, + 0x4E, 0xC6, 0x97, 0x6A, 0x11, 0xAB, 0x39, 0xAA, + 0x09, 0x48, 0x3B, 0x8E, 0xD7, 0x6E, 0x68, 0x5E, + 0x24, 0x60, 0x34, 0xCF, 0x95, 0x02, 0xA6, 0xC5, + 0x75, 0x69, 0xA6, 0xE4, 0x4A, 0xD7, 0x81, 0x2A, + 0x40, 0xF4, 0xDE, 0xEB, 0x3E, 0xAA, 0x57, 0x7E, + 0x80, 0x62, 0x49, 0xFF, 0x02, 0x15, 0xEC, 0x6A, + 0x0C, 0x26, 0xC7, 0xEB, 0x93, 0xCF, 0x13, 0x49, + 0x3D, 0xCE, 0xDB, 0x9B, 0x93, 0xFE, 0xFB, 0xEA, + 0x73, 0x65, 0x38, 0x46, 0xA0, 0xE4, 0xE1, 0x05, + 0x0E, 0xAC, 0x84, 0xE2, 0x1A, 0xCD, 0x79, 0xAF, + 0x64, 0x62, 0xE6, 0x99, 0xD0, 0xDD, 0xB7, 0x3A, + 0xF6, 0xA5, 0x0A, 0xD2, 0x03, 0x01, 0x90, 0x73, + 0x2E, 0x84, 0xD6, 0x24, 0x35, 0xA8, 0x25, 0x5E, + 0xCB, 0xC5, 0xC3, 0x08, 0x9E, 0x44, 0xE6, 0x50, + 0x11, 0x56, 0x6F, 0x76, 0xCA, 0xCF, 0xE7, 0x8E, + 0x75, 0x50, 0x3A, 0x48, 0x37, 0x32, 0x78, 0x71, + 0x87, 0xE8, 0x2D, 0x15, 0x3E, 0x8D, 0xF9, 0x5B, + 0x2B, 0x79, 0xBD, 0xD6, 0xB3, 0xA8, 0xDB, 0xFE, + 0x28, 0x4A, 0x10, 0xB4, 0x94, 0x38, 0x91, 0xB1, + 0xC1, 0x6B, 0x84, 0x6C, 0x4B, 0x27, 0xEC, 0x86, + 0x51, 0xA0, 0x09, 0xCE, 0xBF, 0x51, 0x17, 0xC0, + 0xC8, 0xE4, 0xAF, 0xFE, 0x9B, 0x60, 0xEA, 0x38, + 0xD6, 0xE9, 0x9C, 0x20, 0x21, 0x2E, 0x67, 0x37, + 0x04, 0x59, 0x1A, 0x97, 0xF5, 0xAF, 0x72, 0xD7, + 0xC9, 0x4B, 0xBF, 0xD6, 0x7F, 0xCC, 0x80, 0x4B, + 0xFE, 0xEB, 0xB2, 0x00, 0x64, 0xFA, 0x25, 0x9B, + 0x74, 0x05, 0xFE, 0x50, 0x49, 0x62, 0x07, 0x5D, + 0x00, 0x12, 0x73, 0xC0, 0xBE, 0x7C, 0x15, 0xF4, + 0xF8, 0xA9, 0xD7, 0x03, 0xDC, 0x04, 0xE1, 0xB2, + 0x7D, 0xB0, 0x27, 0x4E, 0x01, 0x12, 0x1B, 0x5F, + 0x9C, 0x8E, 0x7E, 0xFB, 0xD7, 0x28, 0xA9, 0x34, + 0xAB, 0x01, 0x06, 0x5E, 0x02, 0x71, 0xD7, 0x80, + 0x44, 0xFB, 0x2D, 0x4E, 0x72, 0x85, 0x1E, 0xB0, + 0xB4, 0x19, 0xFD, 0x0F, 0xA8, 0x4A, 0xF9, 0x87, + 0xE2, 0x60, 0xD9, 0x0D, 0x6D, 0x18, 0xF7, 0x26, + 0x29, 0xCA, 0x4C, 0xA9, 0xF8, 0x3F, 0x99, 0x98, + 0xE5, 0x04, 0x12, 0x31, 0xF1, 0x5F, 0xC5, 0x52, + 0x69, 0xD2, 0x3F, 0xC3, 0x58, 0xA4, 0xF2, 0xC6, + 0xD6, 0x46, 0x75, 0xB2, 0xDE, 0xA5, 0x2D, 0xB7, + 0xC7, 0x55, 0x8A, 0x11, 0x84, 0xAF, 0xA1, 0x70, + 0xC9, 0xF6, 0x94, 0x6E, 0x1F, 0x4F, 0xDC, 0xAB, + 0xCC, 0x47, 0x64, 0x0E, 0x51, 0x02, 0x90, 0x93, + 0xFF, 0xCC, 0xBC, 0xB4, 0x85, 0xF1, 0xAA, 0xB8, + 0x20, 0x36, 0xDE, 0x7A, 0xCB, 0x94, 0x3C, 0xBF, + 0x86, 0xF3, 0xAA, 0xA0, 0x5F, 0xC0, 0x6C, 0x57, + 0x06, 0xEE, 0x55, 0xFF, 0xDE, 0x5E, 0x1A, 0x82, + 0xFF, 0x9B, 0x4B, 0x48, 0x56, 0x78, 0x33, 0xCE, + 0x3C, 0x43, 0xF7, 0x87, 0x22, 0x88, 0xD3, 0x79, + 0xAA, 0x98, 0x8E, 0x64, 0x4D, 0x8A, 0x56, 0x99, + 0x34, 0x77, 0xA6, 0x0F, 0xD0, 0x9E, 0xD4, 0x9C, + 0x13, 0xAC, 0x9E, 0x45, 0x43, 0x95, 0x07, 0xAC, + 0x27, 0x4A, 0x1E, 0x4C, 0xEA, 0x21, 0x65, 0xBB, + 0x61, 0x73, 0xDF, 0xDC, 0x7A, 0x59, 0x4A, 0x4D, + 0x2E, 0xC1, 0x39, 0x43, 0x1E, 0xE8, 0x83, 0x9D, + 0x03, 0xFF, 0xF3, 0xCD, 0x91, 0xE6, 0x52, 0x16, + 0xD2, 0x21, 0x46, 0x9A, 0xF7, 0x28, 0xE6, 0xF4, + 0x8B, 0xAD, 0x9B, 0xF7, 0xE5, 0xDA, 0xD8, 0x1A, + 0x77, 0x1C, 0xA5, 0x32, 0xE0, 0xE2, 0xD8, 0x3B, + 0x18, 0x8E, 0xA5, 0xC8, 0x91, 0x5B, 0x4C, 0x76, + 0x26, 0xEF, 0x38, 0xB2, 0xA6, 0x33, 0xC5, 0xBA, + 0x03, 0x32, 0xA6, 0x9C, 0x0D, 0x6B, 0x5A, 0x54, + 0x16, 0x58, 0xD5, 0x76, 0x8F, 0xE7, 0x0D, 0xEB, + 0x03, 0x15, 0x12, 0xFF, 0xF4, 0xEE, 0x7F, 0x88, + 0x35, 0x82, 0x7B, 0xE4, 0xB1, 0x88, 0x19, 0xEE, + 0x00, 0x12, 0x42, 0x30, 0x2D, 0x5B, 0x60, 0x7A, + 0xE8, 0xE7, 0xC4, 0x83, 0x11, 0x80, 0x4C, 0x0A, + 0x20, 0xEB, 0x0D, 0xFA, 0x01, 0x12, 0xCA, 0x04, + 0x9A, 0xC0, 0xFE, 0x21, 0xF5, 0x39, 0xED, 0xEA, + 0x6B, 0x30, 0x81, 0x4A, 0x5E, 0x41, 0x89, 0x52, + 0x22, 0xD5, 0x18, 0x1D, 0x07, 0x42, 0x4A, 0xCE, + 0xE6, 0x31, 0x66, 0x0C, 0x4C, 0x0D, 0x15, 0x62, + 0x81, 0xDA, 0x3D, 0x3D, 0x3F, 0x02, 0x47, 0x73, + 0x41, 0xEC, 0xA1, 0x8C, 0x62, 0x46, 0xAF, 0xF1, + 0xC6, 0x72, 0x16, 0xC0, 0x93, 0xD4, 0x9D, 0xCB, + 0xF8, 0x4E, 0x9A, 0x6D, 0x1B, 0xDD, 0xBB, 0x00, + 0x6B, 0xC2, 0x06, 0xEE, 0x78, 0x0C, 0x19, 0x61, + 0x6B, 0xA2, 0xBE, 0x7C, 0x90, 0x52, 0xB7, 0x9C, + 0x14, 0x37, 0x66, 0x5D, 0x14, 0x94, 0x0C, 0x89, + 0x30, 0x15, 0xE9, 0xB1, 0x6B, 0x04, 0x7F, 0x69, + 0xDD, 0x3D, 0x47, 0x3F, 0x1A, 0xE1, 0x7B, 0xE3, + 0x8A, 0x4F, 0x65, 0x2B, 0xA9, 0x3F, 0xB3, 0xF4, + 0x85, 0x3D, 0x2B, 0xCD, 0xD0, 0x93, 0xC3, 0xCC, + 0xE5, 0x04, 0x98, 0x50, 0x62, 0x88, 0xDF, 0x45, + 0x11, 0x35, 0x83, 0x43, 0x01, 0xCA, 0xF9, 0x4E, + 0xC0, 0xBD, 0x08, 0x25, 0x98, 0x8D, 0x7F, 0x70, + 0x17, 0x06, 0x26, 0x54, 0x1A, 0x1B, 0xB6, 0xAA, + 0xD5, 0x11, 0xD0, 0x2B, 0x7F, 0x9D, 0xDD, 0x7A, + 0xD8, 0xB4, 0xE2, 0x5F, 0x59, 0xA9, 0x3E, 0x45, + 0x99, 0x37, 0x8E, 0xA3, 0x7B, 0x47, 0xD5, 0x20, + 0xBA, 0x10, 0xD1, 0x44, 0x63, 0xE2, 0x90, 0x3A, + 0xF1, 0x0F, 0xE8, 0x65, 0x9B, 0x96, 0x48, 0x2D, + 0x1A, 0xF2, 0x86, 0x32, 0x1B, 0xC5, 0xD5, 0x41, + 0x32, 0xED, 0x75, 0x08, 0x7D, 0x37, 0x44, 0x08, + 0x31, 0x5B, 0x70, 0xD1, 0xD2, 0xD1, 0x25, 0xA3, + 0x7B, 0xEF, 0xAC, 0x8C, 0x4C, 0x16, 0xA4, 0x80, + 0xD9, 0x0D, 0x18, 0xAF, 0x24, 0xA9, 0x9D, 0x35, + 0x42, 0xE9, 0x67, 0x03, 0xDC, 0xCC, 0xAA, 0x7B, + 0x00, 0x31, 0x37, 0x19, 0xCD, 0x6F, 0xD8, 0xA3, + 0x05, 0xDC, 0xA7, 0x80, 0x67, 0xB1, 0x38, 0xAC, + 0x6B, 0xE6, 0x75, 0x1B, 0xA1, 0xDB, 0xEE, 0xDC, + 0xA0, 0x27, 0x73, 0x3D, 0xFA, 0x2F, 0x37, 0x53, + 0x00, 0x12, 0x11, 0x5E, 0xB3, 0x40, 0x75, 0xF8, + 0x86, 0x7D, 0xCA, 0x6C, 0x47, 0x2B, 0xAB, 0x09, + 0x1F, 0xFA, 0xBE, 0xEE, 0x01, 0x12, 0x32, 0xAE, + 0x33, 0x11, 0xEE, 0x45, 0xFD, 0x42, 0x06, 0x61, + 0x4E, 0x87, 0x16, 0xB4, 0xF0, 0x8B, 0xDE, 0xF9, + 0xAE, 0x77, 0x65, 0x8E, 0xA9, 0xCF, 0xE9, 0x75, + 0x82, 0x4F, 0xDE, 0xD2, 0x26, 0x67, 0xC8, 0xF6, + 0x97, 0xB1, 0x53, 0xC2, 0x68, 0x23, 0xF1, 0x2D, + 0x32, 0x61, 0xFC, 0x07, 0x75, 0x3C, 0x0F, 0x77, + 0x3B, 0xBE, 0xB3, 0x41, 0x68, 0x06, 0x20, 0x1D, + 0x5B, 0x57, 0x45, 0xE4, 0xB5, 0x76, 0xB1, 0xAC, + 0xAB, 0xE8, 0xB2, 0x69, 0xBE, 0x83, 0x6A, 0x61, + 0xD3, 0x57, 0x76, 0x1B, 0x50, 0x57, 0x02, 0x09, + 0xE7, 0xFC, 0x3F, 0xE4, 0xE1, 0x35, 0xFE, 0x76, + 0xFC, 0x30, 0x2B, 0xB5, 0xA2, 0xE1, 0x4E, 0x22, + 0x9A, 0x23, 0x97, 0xE9, 0xDF, 0xBA, 0x25, 0xBA, + 0x9E, 0xAF, 0x25, 0x12, 0xB9, 0xB6, 0xE4, 0x7D, + 0x95, 0x1B, 0x47, 0x34, 0xA6, 0x3D, 0xF9, 0x2D, + 0xFA, 0x42, 0x5B, 0x2B, 0x29, 0x3A, 0x6C, 0x6D, + 0xC0, 0xD7, 0x22, 0xFD, 0x5F, 0xD0, 0xC4, 0x98, + 0xE0, 0x4A, 0x2F, 0xDF, 0x91, 0x5D, 0x71, 0x86, + 0x84, 0xA3, 0x28, 0xEA, 0x78, 0xA3, 0x3B, 0x4D, + 0x09, 0x4A, 0xC9, 0x35, 0x06, 0xED, 0xB3, 0xDC, + 0xCB, 0x04, 0xDB, 0xB6, 0x0C, 0x44, 0x9C, 0xEC, + 0xD5, 0xEB, 0xE1, 0xCC, 0x4A, 0x0F, 0x2F, 0x6A, + 0x2F, 0x41, 0xE7, 0x76, 0x89, 0xF6, 0x55, 0x6E, + 0x45, 0xB9, 0x3E, 0xDD, 0x06, 0xF8, 0x91, 0xBE, + 0xA2, 0x2A, 0x81, 0x23, 0x8F, 0xEF, 0x05, 0x29, + 0xF6, 0xF4, 0x70, 0x95, 0xE7, 0x00, 0xEE, 0xAC, + 0x0C, 0x5A, 0x0B, 0x42, 0xC2, 0x73, 0x72, 0xD9, + 0xD0, 0x14, 0x1B, 0x88, 0x0F, 0x93, 0xDE, 0xE8, + 0xCA, 0x92, 0xBA, 0x2D, 0xD1, 0xE1, 0xE7, 0xD6, + 0x12, 0xEF, 0xF2, 0x86, 0x86, 0x68, 0x8F, 0xD0, + 0x5F, 0x99, 0xB9, 0x40, 0x5E, 0xFC, 0xB0, 0xD3, + 0xF0, 0x63, 0xBA, 0x7F, 0xA6, 0xCE, 0x3F, 0x1E, + 0x1C, 0xC6, 0x12, 0x2E, 0x21, 0x4E, 0x42, 0xD4, + 0xF0, 0x01, 0x29, 0x0D, 0xAD, 0x05, 0x6D, 0xF5, + 0x00, 0x12, 0xFA, 0x5F, 0xB1, 0x23, 0x92, 0xA5, + 0x3A, 0x76, 0xE0, 0xA4, 0x7D, 0x99, 0x95, 0x0E, + 0xD0, 0xD7, 0xBF, 0x36, 0x01, 0x12, 0x81, 0xFA, + 0x67, 0x87, 0x13, 0x4D, 0xD3, 0x96, 0x36, 0xF2, + 0xE6, 0x16, 0x7D, 0xED, 0x68, 0x96, 0x2A, 0x13, + 0x16, 0x54, 0x02, 0x0B, 0x85, 0x91, 0x01, 0xB1, + 0xB8, 0xCC, 0x81, 0x3C, 0x56, 0x14, 0x26, 0xE0, + 0x72, 0xE8, 0xF5, 0x88, 0x02, 0x67, 0xCE, 0x41, + 0xCA, 0x93, 0x24, 0xD8, 0xFE, 0xDC, 0x06, 0xD8, + 0x5E, 0x07, 0xD6, 0xC0, 0x84, 0x83, 0xFA, 0x8A, + 0xA4, 0x8B, 0x45, 0x70, 0xAC, 0x08, 0xAB, 0x6C, + 0x92, 0x89, 0xEF, 0x34, 0x0D, 0x66, 0x42, 0x87, + 0x0B, 0xA4, 0x2F, 0xB0, 0xB4, 0xB6, 0x8D, 0xF7, + 0x7D, 0x9E, 0xC6, 0xAB, 0xD3, 0xDE, 0xD8, 0x35, + 0x18, 0x56, 0x36, 0xD9, 0xF8, 0x39, 0x0D, 0xB3, + 0x6C, 0x63, 0x40, 0xE6, 0x54, 0x0E, 0x49, 0x16, + 0x11, 0xB4, 0x6F, 0xEB, 0x3B, 0xC8, 0x2C, 0x8C, + 0x27, 0xFB, 0x43, 0x8B, 0xDC, 0x1C, 0xE1, 0xDB, + 0x0F, 0x57, 0xD0, 0x45, 0x0F, 0x30, 0xC1, 0x26, + 0x1D, 0x0E, 0x21, 0xED, 0xF3, 0x42, 0xCB, 0xC5, + 0x47, 0x5E, 0x1B, 0x19, 0x71, 0x50, 0x31, 0xA0, + 0x84, 0xF9, 0xD8, 0x8A, 0x82, 0x34, 0x6D, 0xED, + 0x90, 0x5D, 0x5B, 0x9E, 0x4D, 0xC0, 0x13, 0x03, + 0x2E, 0xF9, 0x4B, 0x47, 0xED, 0x32, 0x00, 0xC9, + 0x4B, 0x5B, 0x0C, 0x81, 0x88, 0xA1, 0x7D, 0xE3, + 0x38, 0x7F, 0x34, 0x33, 0x73, 0x24, 0xC4, 0x57, + 0x97, 0x9A, 0x01, 0xD6, 0x25, 0x44, 0x94, 0x06, + 0x3F, 0x0C, 0x15, 0xB5, 0x68, 0x3F, 0xDA, 0x93, + 0xAF, 0x47, 0x70, 0x43, 0xB8, 0x78, 0x8E, 0xB5, + 0xEF, 0x63, 0x3D, 0x1B, 0x53, 0xD4, 0x0E, 0x38, + 0x37, 0xFE, 0x8B, 0xAD, 0xDB, 0xCE, 0x09, 0xE0, + 0xA0, 0xB4, 0xF7, 0x17, 0xD6, 0xCC, 0x03, 0xC6, + 0x96, 0x1C, 0xEB, 0x9B, 0x02, 0xC1, 0x5B, 0x42, + 0xDB, 0xDE, 0xAA, 0xF5, 0xA0, 0x44, 0xCA, 0xFE, + 0xA1, 0xD7, 0xB6, 0x76, 0xE0, 0xFE, 0xFF, 0x83, + 0xBC, 0xC6, 0xF0, 0x23, 0x1B, 0x3C, 0xDE, 0x38, + 0x76, 0xF9, 0x42, 0x40, 0x3E, 0x12, 0x31, 0x9C, + 0x00, 0x12, 0x4F, 0xDA, 0x48, 0x71, 0x41, 0x3F, + 0xB7, 0xBB, 0xA5, 0xE5, 0xAD, 0xC1, 0x93, 0x8C, + 0xC2, 0x63, 0x74, 0xEA, 0x01, 0x12, 0xF4, 0xFD, + 0x11, 0x2A, 0x64, 0x9E, 0x9D, 0xEC, 0xB3, 0x71, + 0x4F, 0x1D, 0xB7, 0x3F, 0xBB, 0xD0, 0x03, 0xC4, + 0xAB, 0x6A, 0xE7, 0xB4, 0xDD, 0x72, 0x2C, 0x57, + 0x0C, 0xD2, 0x4C, 0xE5, 0x3D, 0xD7, 0x7E, 0xEC, + 0xED, 0x26, 0x98, 0x21, 0xF7, 0x55, 0xF6, 0x62, + 0xB7, 0xD8, 0x29, 0x7F, 0x8A, 0x80, 0xAB, 0x92, + 0xA4, 0x7C, 0x95, 0x38, 0x9D, 0xA4, 0xE2, 0xAC, + 0x45, 0x77, 0x83, 0xF1, 0xBF, 0x32, 0x0B, 0x6E, + 0x9E, 0x7C, 0x15, 0x01, 0xFA, 0xE9, 0x6F, 0xD8, + 0x4F, 0xDD, 0xB0, 0xCA, 0x6F, 0x0C, 0xB2, 0x3B, + 0x00, 0x16, 0x41, 0xD6, 0x35, 0x6B, 0x8A, 0x8B, + 0x37, 0x8F, 0x1E, 0x13, 0x8F, 0x04, 0x26, 0xA9, + 0x9B, 0x4E, 0xBD, 0x39, 0x63, 0x60, 0xD5, 0xB1, + 0xDA, 0xB7, 0x31, 0xE0, 0xCD, 0xA4, 0x7A, 0x1C, + 0x1C, 0x49, 0x4A, 0x44, 0x0A, 0xCF, 0x81, 0x0D, + 0xD7, 0x2A, 0x90, 0x05, 0xB8, 0x5E, 0x37, 0x96, + 0xFC, 0xED, 0x16, 0xB4, 0x2D, 0x5A, 0xF4, 0x51, + 0x70, 0x4A, 0xCD, 0xB8, 0x66, 0x21, 0xD8, 0x84, + 0x1C, 0x17, 0x6C, 0x24, 0x03, 0x96, 0xAB, 0x9C, + 0x8F, 0x08, 0xEE, 0x91, 0x89, 0xEE, 0xCC, 0xBF, + 0x15, 0xB9, 0x47, 0x36, 0x24, 0x0C, 0x37, 0xB6, + 0xEE, 0x93, 0xA2, 0x60, 0x95, 0x8C, 0x2E, 0x29, + 0x62, 0x1E, 0xFC, 0x06, 0xA7, 0x76, 0xD4, 0x49, + 0x91, 0xA3, 0x59, 0xBD, 0xD6, 0xCC, 0x41, 0xC6, + 0xC0, 0x33, 0xC3, 0xDF, 0x5D, 0xB0, 0xBB, 0xE5, + 0xB2, 0x5B, 0x78, 0x67, 0x37, 0x5B, 0x56, 0x9D, + 0xEB, 0xA7, 0x87, 0x4D, 0xAD, 0x0E, 0x0F, 0xA3, + 0xC4, 0x86, 0xDC, 0xA5, 0x91, 0xC1, 0x2C, 0xAE, + 0xCB, 0x83, 0x59, 0xBC, 0xB9, 0x7A, 0xF7, 0xDC, + 0xBE, 0xEA, 0x2A, 0xB1, 0xCF, 0x4F, 0xCA, 0x06, + 0x46, 0x76, 0x72, 0x12, 0x0C, 0x33, 0xFA, 0x69, + 0xAF, 0x23, 0xCA, 0xED, 0xEA, 0xED, 0x0C, 0x27, + 0xD0, 0xF6, 0xF8, 0xA5, 0x4B, 0xDB, 0x0D, 0x53, + 0x35, 0xE9, 0xBD, 0xB4, 0x5D, 0x75, 0x14, 0x46, + 0x00, 0x12, 0xE4, 0x11, 0x52, 0xC4, 0x0D, 0xD2, + 0xE6, 0x9A, 0x38, 0xE3, 0x6D, 0x22, 0x7A, 0x35, + 0xBA, 0xB2, 0x41, 0x97, 0x01, 0x12, 0xC5, 0xE6, + 0x34, 0xB7, 0x2F, 0xB9, 0x4A, 0x4B, 0x18, 0x3C, + 0x39, 0xBB, 0x58, 0x41, 0x68, 0x6B, 0x11, 0xEC, + 0xA1, 0x22, 0x83, 0x6A, 0x4D, 0xC0, 0x2B, 0x73, + 0x50, 0x95, 0xC2, 0xBD, 0xD9, 0xF5, 0x8E, 0xF0, + 0x65, 0x6E, 0x81, 0x9B, 0x23, 0x1E, 0x49, 0xEC, + 0xA9, 0x3E, 0xB4, 0x63, 0xE0, 0x34, 0x70, 0x15, + 0xA4, 0x57, 0x02, 0x47, 0x99, 0x79, 0x5F, 0xF1, + 0x7A, 0xAE, 0x66, 0xF4, 0xED, 0x1F, 0xC7, 0xFB, + 0x0F, 0x6D, 0x3A, 0xD0, 0xE1, 0x70, 0xB2, 0x30, + 0x74, 0x12, 0xA3, 0x9F, 0xFA, 0xFC, 0xFE, 0xE9, + 0x3A, 0xA1, 0xF1, 0xDB, 0x22, 0x4A, 0xD5, 0x06, + 0x6E, 0xE2, 0xBE, 0xFE, 0x1C, 0xB5, 0x82, 0xAA, + 0x6F, 0xC7, 0xA0, 0xAF, 0xDA, 0x58, 0x19, 0xC2, + 0xEB, 0x07, 0xA4, 0x7B, 0xF3, 0x7C, 0xBC, 0x45, + 0x25, 0xBB, 0x09, 0xF3, 0xBC, 0xE8, 0x28, 0x99, + 0xA7, 0xB9, 0x40, 0x3C, 0x77, 0xE5, 0x0C, 0x03, + 0xF2, 0x94, 0x79, 0xBF, 0x41, 0x6D, 0x1B, 0x73, + 0x44, 0x41, 0xA0, 0x3D, 0x00, 0x2C, 0xEC, 0x9F, + 0xC5, 0xCD, 0x30, 0x2F, 0xA7, 0xD9, 0xEC, 0xD3, + 0x87, 0xA3, 0x10, 0x8F, 0xE3, 0xAA, 0xD4, 0x35, + 0xA3, 0xE1, 0x3D, 0x35, 0x36, 0x19, 0xD6, 0xEB, + 0x5C, 0xFD, 0x12, 0x2E, 0x48, 0x13, 0x6B, 0x93, + 0xF5, 0x00, 0x0E, 0x7A, 0xA2, 0x62, 0x18, 0xC2, + 0xCB, 0x10, 0xDB, 0x73, 0xF7, 0x6B, 0xE7, 0x0C, + 0x06, 0x9C, 0x4E, 0x8A, 0x0F, 0x67, 0x80, 0x63, + 0x59, 0xA2, 0x6F, 0x05, 0xFA, 0x83, 0xDD, 0xAE, + 0xFA, 0x7F, 0xE7, 0xCB, 0x72, 0x80, 0xA3, 0x92, + 0x88, 0x45, 0xD2, 0x33, 0xC2, 0x9C, 0x84, 0x37, + 0xC0, 0x76, 0x07, 0x19, 0xEA, 0x09, 0x31, 0x6F, + 0x3D, 0xFC, 0x74, 0x3F, 0x76, 0x91, 0x51, 0x78, + 0x80, 0x63, 0x74, 0x78, 0x19, 0x84, 0x23, 0x8E, + 0xE9, 0x54, 0x50, 0xBA, 0x60, 0x65, 0x81, 0x3E, + 0xC8, 0x3B, 0x92, 0x39, 0x68, 0xD5, 0x3E, 0xA2, + 0x39, 0x96, 0x1D, 0xE0, 0x54, 0xA4, 0xBA, 0x9F, + 0x00, 0x12, 0xCE, 0x3D, 0xBE, 0xA6, 0x0B, 0xF0, + 0xA0, 0x0F, 0xF1, 0xC1, 0x85, 0xD6, 0x45, 0x7E, + 0x4C, 0xA2, 0x79, 0x86, 0x01, 0x12, 0xDB, 0xCD, + 0x0D, 0x61, 0xE5, 0xEB, 0x61, 0x4D, 0x8E, 0x30, + 0x5F, 0xFF, 0x09, 0x16, 0x99, 0x45, 0xF8, 0xE7, + 0x65, 0xEB, 0x16, 0x59, 0xD3, 0xD8, 0x22, 0x57, + 0xE4, 0xC4, 0xE8, 0xEA, 0xF4, 0x26, 0xA7, 0xAF, + 0x11, 0xEE, 0xCC, 0xF0, 0xA0, 0x6B, 0xB7, 0xEA, + 0x66, 0x3E, 0x19, 0xAE, 0x7F, 0x3F, 0x97, 0xB0, + 0x29, 0xFC, 0x5C, 0x31, 0xC4, 0x3E, 0x4D, 0xA5, + 0x01, 0xDE, 0x34, 0x85, 0xF1, 0x7E, 0x71, 0x56, + 0xD7, 0xD4, 0x72, 0x42, 0x96, 0x41, 0xC7, 0x01, + 0x7B, 0xB9, 0xE5, 0xDA, 0xF7, 0x7B, 0xA2, 0x9A, + 0x28, 0x9C, 0xC3, 0x79, 0x4D, 0x3C, 0x87, 0x8A, + 0x08, 0x93, 0x39, 0x76, 0xB0, 0x80, 0xD2, 0xC9, + 0xFB, 0x09, 0x41, 0x28, 0x59, 0x94, 0xA7, 0x54, + 0x5C, 0x05, 0x60, 0xA9, 0x5E, 0x34, 0x58, 0xF3, + 0x4E, 0x91, 0x84, 0x54, 0x44, 0x7D, 0xE3, 0x1E, + 0xBE, 0xE1, 0x8E, 0xC9, 0x5C, 0x2D, 0xD3, 0x56, + 0x7C, 0x75, 0xB8, 0xF6, 0xDE, 0x6C, 0x99, 0x73, + 0x26, 0x7B, 0x6B, 0xD6, 0xD6, 0x5F, 0xAF, 0x15, + 0x6F, 0x7B, 0x82, 0xBC, 0xD8, 0xCC, 0x64, 0x6F, + 0x4C, 0xF8, 0xF3, 0xFF, 0x33, 0x73, 0xAD, 0x5D, + 0xD1, 0xB2, 0xE6, 0x0A, 0x2A, 0x44, 0x2C, 0x27, + 0x73, 0xB0, 0xA6, 0x70, 0xB2, 0xA6, 0xDF, 0xB9, + 0x22, 0x68, 0x9A, 0x8C, 0x0B, 0x6F, 0xF3, 0xDB, + 0xED, 0x5E, 0xD1, 0xFB, 0x7C, 0xE2, 0x32, 0x60, + 0x7A, 0x48, 0xAD, 0x9C, 0x2F, 0xF8, 0x74, 0xDF, + 0xB5, 0xEC, 0x4C, 0x34, 0x1A, 0x59, 0xA3, 0x3D, + 0x37, 0xF2, 0x2E, 0x1E, 0x4B, 0x69, 0xD0, 0xE4, + 0xD0, 0x35, 0x15, 0x6A, 0xF5, 0x4B, 0xA3, 0x14, + 0x32, 0x73, 0xF3, 0xA6, 0x5D, 0x2D, 0x79, 0x04, + 0x71, 0x53, 0xBA, 0xAA, 0xEB, 0x35, 0x9A, 0x48, + 0x1D, 0x5E, 0x3E, 0xC2, 0x70, 0x2D, 0xA4, 0x19, + 0x69, 0xC0, 0x93, 0xC8, 0x67, 0x59, 0x99, 0x82, + 0xE9, 0x97, 0xA9, 0xF5, 0x6C, 0x90, 0x33, 0x0A, + 0x18, 0xA1, 0xBB, 0xCC, 0x8B, 0x35, 0x0B, 0x39, + 0x00, 0x12, 0xAC, 0x79, 0xE1, 0xB0, 0x91, 0x63, + 0x05, 0x92, 0xEE, 0xB2, 0x5C, 0x5A, 0x14, 0xC5, + 0xF5, 0x33, 0x7F, 0xD5, 0x01, 0x12, 0x3A, 0xD6, + 0x0E, 0x3C, 0x12, 0xFF, 0x05, 0x9D, 0x50, 0xAF, + 0x3B, 0x5C, 0xEA, 0x0B, 0x4B, 0x3D, 0x32, 0x5C, + 0xB6, 0xAC, 0x4B, 0x34, 0x19, 0xC3, 0x96, 0x86, + 0x99, 0x87, 0x18, 0xE0, 0x74, 0xE6, 0xFE, 0x13, + 0x34, 0xFD, 0x9F, 0x66, 0x62, 0x2D, 0x11, 0xF6, + 0x59, 0xBB, 0x5F, 0xA3, 0x5C, 0x1A, 0x50, 0x0C, + 0x79, 0x20, 0x76, 0x7E, 0xAD, 0x52, 0x16, 0xCC, + 0x09, 0x28, 0x3A, 0x67, 0x13, 0x87, 0xB6, 0x29, + 0x8B, 0xA7, 0xB7, 0xF4, 0xCD, 0xF8, 0xFD, 0x0A, + 0x43, 0xE6, 0xA7, 0x6D, 0x71, 0x7A, 0x16, 0xC2, + 0x9A, 0x84, 0x0E, 0x55, 0xCF, 0xB8, 0x4F, 0xB5, + 0xA8, 0x92, 0x0C, 0xA1, 0xC1, 0xD4, 0x93, 0x36, + 0x94, 0x08, 0x1F, 0x78, 0x56, 0xAA, 0x33, 0xCE, + 0xE9, 0x8E, 0x43, 0x35, 0xF8, 0x2B, 0x01, 0xE2, + 0xAF, 0xB4, 0xA9, 0x87, 0x9C, 0xE3, 0x71, 0xF6, + 0xC2, 0x8B, 0x35, 0xA4, 0x15, 0xF8, 0x4B, 0xA8, + 0x3E, 0x20, 0xBD, 0x7A, 0xE0, 0x24, 0x63, 0xE6, + 0xBF, 0x4C, 0x2C, 0x87, 0x41, 0xFF, 0x89, 0x93, + 0x93, 0xAB, 0x60, 0x77, 0x64, 0xB8, 0x7B, 0x17, + 0xB3, 0x64, 0x9C, 0x92, 0x28, 0xC3, 0xCF, 0x30, + 0x32, 0xCC, 0xF7, 0x5B, 0xCD, 0x06, 0x9B, 0xA8, + 0x46, 0x63, 0x8F, 0x52, 0x25, 0x82, 0x38, 0xB9, + 0x78, 0x81, 0xBF, 0xAF, 0x17, 0x6B, 0xA5, 0x8F, + 0x8E, 0xAF, 0x79, 0x69, 0x0E, 0xB9, 0xD4, 0x0F, + 0x82, 0x8F, 0x9A, 0x1E, 0x76, 0xF9, 0x17, 0x75, + 0x23, 0xB8, 0x42, 0x9F, 0x61, 0xB6, 0x36, 0x6C, + 0x5A, 0x8B, 0xA5, 0x4E, 0xD0, 0xC8, 0xB3, 0x29, + 0xA0, 0x42, 0x04, 0xE7, 0xAF, 0x3B, 0x1B, 0xC3, + 0x92, 0x81, 0x08, 0x55, 0xA7, 0xE9, 0xEF, 0xAD, + 0x83, 0x94, 0x46, 0x9A, 0xCA, 0xCE, 0xE3, 0x57, + 0xD4, 0x7D, 0x77, 0x25, 0x50, 0x11, 0x26, 0xEC, + 0x58, 0x85, 0x1B, 0x3B, 0x4A, 0x69, 0x7A, 0x6E, + 0xC8, 0x33, 0x7F, 0x8A, 0x2E, 0x23, 0x6F, 0x54, + 0xCB, 0xCF, 0x0D, 0x7D, 0x44, 0x44, 0xFA, 0x97, + 0x00, 0x12, 0x67, 0xA5, 0x72, 0xB6, 0xF4, 0x5D, + 0x2E, 0x1A, 0x13, 0x5D, 0x46, 0xD7, 0xAB, 0xF3, + 0xE5, 0x63, 0x81, 0xE2, 0x01, 0x12, 0x19, 0xD2, + 0xD9, 0x1D, 0x76, 0x52, 0x55, 0x43, 0xFB, 0x0D, + 0xD1, 0xC7, 0x40, 0x37, 0x8A, 0x02, 0x51, 0xD0, + 0xBE, 0xEC, 0x87, 0x27, 0x26, 0x6D, 0xF0, 0xD6, + 0x96, 0x50, 0x62, 0xF3, 0x2B, 0xC3, 0x85, 0xD7, + 0xAC, 0x25, 0x39, 0x19, 0x83, 0xEF, 0xDE, 0x14, + 0xD6, 0xD4, 0x04, 0xD7, 0xEB, 0x41, 0xA7, 0x0F, + 0x1E, 0x11, 0x36, 0xE1, 0x32, 0x8E, 0x36, 0xC2, + 0xE0, 0xDB, 0xDC, 0xFD, 0xE2, 0xA7, 0x98, 0x49, + 0x82, 0xEE, 0x4E, 0x52, 0x2D, 0x0A, 0x24, 0xE0, + 0xA3, 0x19, 0xB2, 0x26, 0xDF, 0x73, 0x80, 0xE7, + 0x53, 0x3D, 0x1A, 0xE2, 0x3B, 0x33, 0xE2, 0x5C, + 0x7E, 0x9D, 0x42, 0x40, 0xB0, 0x83, 0x5D, 0x0E, + 0x49, 0x36, 0xF0, 0x94, 0x29, 0xF1, 0x71, 0x0F, + 0x8E, 0x8A, 0x70, 0xC5, 0x7E, 0xD1, 0x94, 0xF2, + 0xDF, 0x0A, 0x6D, 0x67, 0x57, 0x62, 0x36, 0x4E, + 0xC1, 0x5D, 0x71, 0xFD, 0x3F, 0x70, 0x84, 0x8F, + 0x77, 0xD5, 0x64, 0x65, 0x69, 0xAF, 0x2C, 0x92, + 0x43, 0x67, 0x8F, 0x1A, 0x36, 0x85, 0x57, 0x50, + 0xA0, 0x6F, 0xC5, 0x55, 0x4B, 0xEE, 0x64, 0x95, + 0x34, 0xF7, 0x63, 0x9B, 0x61, 0xFE, 0x78, 0x79, + 0x9B, 0xD3, 0x0B, 0xBB, 0x18, 0x60, 0xA5, 0xB1, + 0x9F, 0x44, 0x04, 0xEF, 0x82, 0xB0, 0x3F, 0xB9, + 0xEE, 0x07, 0x56, 0x91, 0x1D, 0xDC, 0xF8, 0x15, + 0x97, 0x22, 0x32, 0x63, 0xA8, 0xCC, 0x4C, 0x50, + 0x92, 0x11, 0x1C, 0xF2, 0x84, 0xE6, 0xF6, 0x0E, + 0x8B, 0x6C, 0x28, 0x95, 0xC8, 0x07, 0x5C, 0xEB, + 0x05, 0x3A, 0x58, 0x50, 0x4A, 0x49, 0x3F, 0x21, + 0xF7, 0xD2, 0x1C, 0xC2, 0x13, 0x96, 0x59, 0xC2, + 0x42, 0xCA, 0x28, 0xF4, 0x6B, 0xAD, 0x29, 0x76, + 0xCC, 0x82, 0xDB, 0x1C, 0xDC, 0x0F, 0x65, 0xBE, + 0x40, 0x6B, 0xB1, 0x2E, 0xC7, 0x3A, 0x10, 0x10, + 0x2E, 0x40, 0x9B, 0x0F, 0xC4, 0x92, 0x52, 0x37, + 0x47, 0xBA, 0xC6, 0x9A, 0x4E, 0x25, 0x59, 0x67, + 0x76, 0x22, 0xE3, 0xD9, 0x2C, 0x44, 0x0A, 0x42, + 0x00, 0x12, 0x5A, 0xC8, 0x10, 0xDB, 0x8A, 0x02, + 0x67, 0x73, 0x84, 0x88, 0xF7, 0x57, 0xB8, 0x7E, + 0xDE, 0x59, 0x3A, 0x1B, 0x01, 0x12, 0xCC, 0xD0, + 0xBB, 0xF9, 0x9E, 0x82, 0x51, 0x7D, 0x37, 0x14, + 0xC2, 0xCF, 0x04, 0xBD, 0x19, 0x48, 0xEE, 0x80, + 0xBF, 0x16, 0x41, 0x8F, 0x94, 0xE8, 0xEC, 0xF9, + 0xA0, 0x7B, 0xDF, 0xAB, 0x13, 0x16, 0xEF, 0xC2, + 0x8C, 0x50, 0x1D, 0x37, 0xB3, 0x9A, 0x62, 0x8B, + 0x88, 0x38, 0x7F, 0x8D, 0x56, 0xA2, 0xF3, 0x3C, + 0xF9, 0xAE, 0x72, 0x6D, 0x14, 0x87, 0xF7, 0xA0, + 0xD7, 0x6C, 0xCF, 0x92, 0x22, 0xBA, 0x63, 0x1B, + 0x2A, 0x92, 0x39, 0x31, 0x69, 0xE3, 0x75, 0x15, + 0x56, 0x48, 0x7A, 0x19, 0x26, 0x94, 0xF4, 0x91, + 0xB4, 0x1E, 0x13, 0xD3, 0x30, 0x0A, 0xE7, 0x5C, + 0x60, 0x77, 0xD3, 0xEF, 0x69, 0xAE, 0x30, 0x4E, + 0x54, 0x66, 0x09, 0x7A, 0x73, 0xF0, 0x19, 0xC9, + 0xE1, 0x2A, 0xEA, 0xE2, 0x48, 0xCE, 0xB3, 0xD0, + 0x07, 0x8A, 0x23, 0xFB, 0x7D, 0xFF, 0x99, 0xE9, + 0xA1, 0xD1, 0xC2, 0x25, 0x1C, 0x2A, 0x93, 0xD1, + 0x55, 0x5B, 0x17, 0x23, 0xF4, 0x07, 0x75, 0x0E, + 0x79, 0x1C, 0x00, 0x95, 0x9A, 0xB5, 0x9C, 0xFF, + 0xE5, 0x35, 0x1B, 0x22, 0x27, 0xB8, 0x12, 0x4F, + 0x9B, 0xAC, 0x59, 0x14, 0x90, 0xF5, 0x48, 0x7D, + 0x97, 0x00, 0x6E, 0x18, 0x65, 0xBB, 0xB2, 0x6F, + 0xFF, 0x16, 0x53, 0x76, 0xDC, 0x9E, 0x08, 0x91, + 0x32, 0x07, 0x1D, 0x66, 0xD0, 0x60, 0xF6, 0x05, + 0xE4, 0x7C, 0x5A, 0xF1, 0x31, 0x39, 0x05, 0x93, + 0x20, 0xA2, 0xEB, 0x4B, 0xD1, 0xC7, 0x08, 0x6F, + 0x7B, 0xBB, 0x42, 0xF5, 0x51, 0x76, 0x12, 0xAD, + 0x9E, 0x68, 0x28, 0xEF, 0xD4, 0xA8, 0xD8, 0xE4, + 0x44, 0x7D, 0x39, 0x62, 0xD1, 0x27, 0x11, 0x7E, + 0xC9, 0xD6, 0xD3, 0xA9, 0xED, 0x13, 0xA1, 0x59, + 0xF2, 0x09, 0x33, 0x04, 0xB4, 0xA3, 0x0C, 0x02, + 0xA4, 0x26, 0x43, 0x3F, 0x7C, 0x1C, 0x16, 0x22, + 0xAF, 0x61, 0xC1, 0x59, 0x98, 0x81, 0x75, 0xE9, + 0xB1, 0x53, 0x83, 0xF1, 0x32, 0x4F, 0x57, 0xFD, + 0x9E, 0xAC, 0xB4, 0x15, 0xA6, 0x18, 0x96, 0xC4, + 0x00, 0x12, 0x7F, 0x24, 0x51, 0x15, 0x94, 0xE6, + 0x89, 0xC9, 0xD1, 0x95, 0x43, 0xA3, 0x39, 0x7A, + 0xD3, 0xA1, 0xC8, 0xDC, 0x01, 0x12, 0x54, 0xD3, + 0x22, 0x9E, 0x8A, 0xD2, 0x90, 0x43, 0x6A, 0x89, + 0xFA, 0x13, 0x0C, 0xB7, 0xE1, 0x3E, 0x6D, 0x3F, + 0x63, 0xBA, 0x4E, 0x00, 0xB6, 0xF9, 0x2C, 0x17, + 0x91, 0x72, 0x8B, 0x77, 0x30, 0x22, 0x36, 0x83, + 0x90, 0x10, 0x57, 0x49, 0x71, 0x26, 0x82, 0xD7, + 0xB3, 0x5D, 0xF2, 0x45, 0x9E, 0xE9, 0x62, 0x5B, + 0x7F, 0xED, 0x67, 0x35, 0x23, 0xF9, 0x88, 0x29, + 0xD5, 0x3F, 0x41, 0xBC, 0xAD, 0x02, 0x3A, 0x06, + 0x7E, 0x3A, 0x74, 0x44, 0x85, 0xC1, 0xC9, 0xBD, + 0x2F, 0x70, 0x32, 0xB8, 0x2E, 0x13, 0xA3, 0x11, + 0x5A, 0x1C, 0x51, 0xE6, 0x66, 0x85, 0xBB, 0x0B, + 0x4C, 0x5A, 0x49, 0xEC, 0x39, 0xB8, 0x29, 0x50, + 0x94, 0xE7, 0x4A, 0xF4, 0x14, 0xE7, 0x83, 0x4B, + 0x1C, 0xF8, 0x3C, 0xF0, 0x4F, 0x87, 0xCD, 0x52, + 0x37, 0x25, 0xFA, 0x92, 0x78, 0xEA, 0x77, 0xE4, + 0xA4, 0x03, 0x5B, 0x01, 0x05, 0x02, 0x47, 0x27, + 0xCB, 0xF0, 0x66, 0x71, 0x3A, 0xCC, 0xEB, 0xD3, + 0xBB, 0x0C, 0xC1, 0x97, 0x46, 0xA2, 0x8E, 0xAB, + 0xE0, 0x98, 0xC6, 0xC5, 0x2C, 0x5B, 0xDE, 0xE1, + 0xEE, 0xDC, 0xA5, 0x46, 0xB7, 0xFC, 0x98, 0x96, + 0xB9, 0x77, 0x1D, 0xE6, 0xAE, 0xED, 0xD5, 0xFA, + 0xB0, 0xEF, 0x0D, 0xB8, 0x01, 0xFF, 0x00, 0xAB, + 0xDA, 0xFB, 0x92, 0xF0, 0xCF, 0xB1, 0xB3, 0x69, + 0xC9, 0xAF, 0x84, 0x67, 0x50, 0xA5, 0x9B, 0x97, + 0xC6, 0xB7, 0x5F, 0xDF, 0x55, 0xCD, 0xF8, 0xC6, + 0xE9, 0xBF, 0x81, 0x08, 0x2A, 0xC4, 0xF6, 0x2C, + 0x79, 0x97, 0xEF, 0xE4, 0x0A, 0x4E, 0xA0, 0xC1, + 0x55, 0xA5, 0xB4, 0xD9, 0xD3, 0xC1, 0x62, 0xC3, + 0xAE, 0xF8, 0xBC, 0x63, 0x44, 0xC1, 0x3F, 0x5E, + 0xDF, 0x0D, 0x25, 0x5E, 0x26, 0x86, 0x3E, 0x01, + 0x11, 0x92, 0x73, 0x17, 0x20, 0x5D, 0x1C, 0x7D, + 0x13, 0x84, 0xB3, 0x93, 0x34, 0x8F, 0x9E, 0x52, + 0xDD, 0xCC, 0x90, 0xDE, 0x36, 0x66, 0x05, 0x3A, + 0xBB, 0x33, 0x00, 0x59, 0xD2, 0x94, 0xD8, 0x24, + 0x00, 0x12, 0xD6, 0x1E, 0xCD, 0xA8, 0xBC, 0x53, + 0x35, 0xF0, 0xD9, 0x0C, 0x0A, 0xDA, 0xF0, 0x3D, + 0xC8, 0x05, 0x7D, 0xE4, 0x01, 0x12, 0xA2, 0xDB, + 0xA3, 0xE8, 0x3F, 0xF7, 0x73, 0x3B, 0x4F, 0x98, + 0x4F, 0x9D, 0x7A, 0x8E, 0x59, 0x79, 0xFE, 0xB2, + 0x24, 0x75, 0x07, 0xD3, 0xB6, 0x9E, 0x99, 0x04, + 0xAD, 0x7B, 0x3B, 0x10, 0xD1, 0xF2, 0xCF, 0xF5, + 0xA7, 0xDC, 0x09, 0x1E, 0x32, 0x8B, 0x8A, 0x68, + 0x4E, 0xBD, 0xD4, 0x12, 0x00, 0x0E, 0x23, 0x59, + 0x83, 0x86, 0x2B, 0xCE, 0x2C, 0x47, 0x25, 0xEB, + 0x60, 0x31, 0xC7, 0x28, 0x5C, 0x89, 0x02, 0xE8, + 0xDE, 0xD2, 0x83, 0x7C, 0x02, 0x14, 0x3D, 0x70, + 0xC0, 0xBB, 0xAF, 0xB0, 0x57, 0x36, 0x08, 0x9F, + 0xBF, 0xB8, 0x2F, 0x7E, 0xEF, 0x9D, 0x26, 0xC7, + 0x7D, 0xC5, 0x30, 0xD6, 0x1D, 0xA5, 0x03, 0x8F, + 0x22, 0xAF, 0x2E, 0x23, 0xF5, 0x15, 0x8A, 0xB1, + 0xFB, 0xAE, 0xC5, 0x50, 0xF8, 0xB7, 0x6F, 0x15, + 0xB7, 0x6F, 0x50, 0x37, 0x15, 0x24, 0x26, 0x49, + 0x90, 0xC6, 0x48, 0x25, 0xA5, 0x28, 0x1D, 0xCB, + 0xF5, 0x4D, 0x46, 0xA9, 0x9C, 0x4B, 0x97, 0x63, + 0xE1, 0x06, 0xB1, 0xE5, 0xFC, 0x46, 0x19, 0xC8, + 0x7F, 0x47, 0x6E, 0xBB, 0x10, 0xAA, 0xC7, 0x44, + 0x43, 0x08, 0x3F, 0x86, 0xFE, 0xE5, 0x0E, 0x42, + 0xC1, 0x2C, 0xFC, 0xFC, 0x77, 0x46, 0x4C, 0xA8, + 0x4D, 0x6F, 0x3D, 0x01, 0x26, 0xBB, 0xF2, 0xA7, + 0x0C, 0x4B, 0xEA, 0x46, 0xDB, 0xA1, 0xC4, 0x0C, + 0xA3, 0xC0, 0x0F, 0x31, 0xDE, 0x6A, 0x9A, 0xF7, + 0xA6, 0x76, 0xA2, 0x6F, 0x01, 0x3F, 0x7C, 0x8F, + 0x13, 0xD6, 0x66, 0x7A, 0x78, 0xAB, 0x43, 0x41, + 0x0F, 0x6C, 0xBB, 0xAD, 0x33, 0x07, 0x2F, 0x39, + 0x66, 0xE8, 0x9C, 0x6B, 0x1A, 0x6C, 0x4F, 0x62, + 0x0C, 0xEE, 0x14, 0x96, 0x9F, 0x65, 0x36, 0x92, + 0xCF, 0x25, 0xA3, 0x25, 0x66, 0x2A, 0x9D, 0xF0, + 0xC5, 0xD2, 0xB8, 0xEA, 0x12, 0x1D, 0xFD, 0x6E, + 0x92, 0xB4, 0x09, 0x31, 0xB8, 0xCC, 0x1E, 0x85, + 0x4B, 0x75, 0x3D, 0x7E, 0x4E, 0xF8, 0x57, 0x2E, + 0x97, 0x56, 0xEB, 0x54, 0xA3, 0x25, 0x9C, 0x40, + 0x00, 0x12, 0x3F, 0x26, 0x55, 0x0A, 0x2C, 0x72, + 0xDA, 0x16, 0x73, 0xAC, 0xAD, 0x70, 0x67, 0xC2, + 0xAB, 0x9E, 0x07, 0xA3, 0x01, 0x12, 0x84, 0x4E, + 0x1D, 0xC1, 0x98, 0xEF, 0x2D, 0x06, 0x03, 0x21, + 0x7A, 0x65, 0x69, 0xCE, 0x4A, 0x8C, 0x5A, 0xDF, + 0x8E, 0xB3, 0x42, 0x6B, 0xCD, 0x94, 0xFD, 0xB4, + 0xA9, 0x7D, 0xA4, 0x60, 0x1C, 0x13, 0x9A, 0x9F, + 0xFF, 0x02, 0xAE, 0xC6, 0x40, 0x5D, 0x12, 0x9F, + 0xE4, 0x71, 0xFB, 0x21, 0x94, 0x49, 0x81, 0xD2, + 0xA6, 0x95, 0xD5, 0x58, 0xC2, 0xB9, 0xA7, 0x05, + 0xFD, 0xA3, 0xF7, 0x28, 0x7C, 0x9F, 0xC9, 0x81, + 0x1D, 0x80, 0xEF, 0xAB, 0xB3, 0x13, 0x4B, 0x6C, + 0x36, 0x9E, 0xC9, 0x5F, 0x8A, 0x86, 0x07, 0x93, + 0xEC, 0x34, 0x4D, 0xD3, 0x90, 0xB2, 0xDD, 0x36, + 0x0E, 0x82, 0x6F, 0xAF, 0xFD, 0x8C, 0xB2, 0xA1, + 0x91, 0xDE, 0x67, 0xCB, 0xC6, 0x34, 0x21, 0x86, + 0x60, 0x19, 0x8B, 0x88, 0x24, 0xAA, 0xA1, 0x21, + 0xBC, 0x05, 0x00, 0x6A, 0x6E, 0xD5, 0xDF, 0x0E, + 0x86, 0x12, 0x2A, 0x40, 0xFF, 0xEC, 0x7F, 0xE8, + 0x7C, 0xF1, 0x8D, 0x6F, 0x7C, 0xF5, 0xBE, 0x53, + 0xC9, 0x55, 0x50, 0xAC, 0x5A, 0xFB, 0x2E, 0x34, + 0xCF, 0xD3, 0xB1, 0x17, 0x10, 0x11, 0xFE, 0x16, + 0x28, 0x46, 0x1F, 0x4D, 0x21, 0x4C, 0x9E, 0xCB, + 0x30, 0xE5, 0x85, 0x6D, 0xE8, 0xA1, 0x24, 0xF2, + 0x4F, 0xF4, 0x48, 0x97, 0xC5, 0x8E, 0x0C, 0x13, + 0x88, 0x98, 0x14, 0x4D, 0xBC, 0xAB, 0x27, 0xB3, + 0x72, 0x69, 0xE1, 0x4A, 0xFB, 0xAB, 0x68, 0x8F, + 0x99, 0xA6, 0xE5, 0xCF, 0x55, 0x90, 0x93, 0xB9, + 0xFD, 0x4A, 0xF4, 0x15, 0x2B, 0xA3, 0xA3, 0x52, + 0x51, 0x94, 0x7B, 0xC4, 0xB2, 0x12, 0x45, 0x5F, + 0xD4, 0x5E, 0x2B, 0x2F, 0x45, 0xC7, 0x15, 0xC8, + 0x04, 0x8D, 0xF2, 0x19, 0xB0, 0xE6, 0x81, 0xF0, + 0xD1, 0x57, 0xCD, 0x8B, 0x7A, 0xAB, 0x7D, 0xDE, + 0xB9, 0x5D, 0xC3, 0xE9, 0xB4, 0x44, 0x4C, 0x90, + 0x25, 0x16, 0xB3, 0xA9, 0x90, 0x25, 0x06, 0x41, + 0x65, 0xA1, 0x62, 0xF6, 0x38, 0x2D, 0x65, 0x4F, + 0xC3, 0xAE, 0x30, 0x60, 0x59, 0xDF, 0x22, 0xFF, + 0x00, 0x12, 0x56, 0x73, 0x5A, 0x6B, 0xCF, 0x35, + 0xEA, 0x1F, 0xEC, 0xA1, 0x58, 0x90, 0xAC, 0xC2, + 0x0E, 0x4F, 0xAC, 0x41, 0x01, 0x12, 0x23, 0xEB, + 0x8F, 0x2D, 0xFD, 0x50, 0xD9, 0x3F, 0x0E, 0x5E, + 0xB0, 0x7E, 0x46, 0x21, 0xE7, 0x7A, 0xD1, 0xC9, + 0xBC, 0x68, 0x07, 0x41, 0xE5, 0x5C, 0xFE, 0x37, + 0xE8, 0x36, 0x2C, 0xEB, 0xCC, 0x64, 0x72, 0x51, + 0xF9, 0xE8, 0x1D, 0xFB, 0xB5, 0xFF, 0x3E, 0x79, + 0x90, 0xC5, 0x26, 0x76, 0x36, 0xE9, 0x17, 0xC6, + 0xBD, 0x6B, 0x21, 0xC4, 0x52, 0xC9, 0x1B, 0x5E, + 0x88, 0xEB, 0x11, 0xE9, 0x87, 0x57, 0xF8, 0x93, + 0x45, 0x0C, 0xB2, 0x1E, 0xC2, 0xE8, 0xCA, 0xEC, + 0xB7, 0x94, 0x9A, 0xB4, 0xCD, 0xFA, 0xE2, 0xCF, + 0x5F, 0x8D, 0x3F, 0xD9, 0xA4, 0x8A, 0xD1, 0xFA, + 0xD3, 0x07, 0x3B, 0xB3, 0xCD, 0x80, 0x18, 0x19, + 0xB7, 0x91, 0xF8, 0x54, 0xE9, 0xBA, 0x5E, 0xC6, + 0x04, 0x43, 0xD7, 0xB6, 0x70, 0xEB, 0x75, 0x1C, + 0xB7, 0x3E, 0x84, 0xD2, 0x1D, 0xFB, 0x9C, 0x65, + 0x14, 0xB1, 0x6B, 0xAF, 0x49, 0x86, 0x93, 0x2A, + 0x26, 0xB8, 0xFC, 0xB3, 0xF6, 0x68, 0xAF, 0xD0, + 0x2A, 0x7A, 0xF7, 0xBD, 0x6D, 0x38, 0x93, 0xBB, + 0x7A, 0xA7, 0x5A, 0x96, 0x82, 0xD4, 0xC2, 0xAB, + 0xF9, 0xA4, 0xD2, 0x9D, 0x76, 0x66, 0xBA, 0xC9, + 0xCF, 0xC1, 0x9F, 0x70, 0x30, 0x5B, 0xDD, 0x77, + 0x2C, 0xB1, 0x7D, 0x05, 0xA3, 0x31, 0x56, 0x14, + 0xBC, 0xDF, 0x7F, 0xD9, 0x57, 0xC0, 0xF5, 0x6C, + 0x7A, 0x8F, 0xD9, 0x46, 0x70, 0x14, 0xEF, 0x2C, + 0xA7, 0x80, 0x7D, 0xEC, 0x3C, 0x8F, 0x50, 0x2E, + 0xF8, 0x37, 0x62, 0x3D, 0x4B, 0x83, 0x8D, 0x26, + 0xF7, 0xAC, 0x92, 0x37, 0x3B, 0x39, 0x35, 0x6F, + 0x54, 0xB2, 0xFF, 0xE2, 0xB7, 0x62, 0x1A, 0xAB, + 0x3C, 0x07, 0xED, 0xD0, 0xF9, 0xC1, 0xFB, 0x7B, + 0x15, 0x38, 0x67, 0x0C, 0x0A, 0xA4, 0x6C, 0xD8, + 0xB6, 0x39, 0x72, 0xC5, 0x3B, 0xBC, 0x0E, 0x4A, + 0x6A, 0x9C, 0xAB, 0xD1, 0x9C, 0x5F, 0xD9, 0x42, + 0xE4, 0xAA, 0x65, 0x0F, 0x0C, 0xDF, 0xE8, 0xF9, + 0x12, 0x15, 0x99, 0xEB, 0xDC, 0xD1, 0x4D, 0x1A, + 0x00, 0x12, 0x26, 0xB3, 0x33, 0x23, 0x41, 0xBA, + 0xE2, 0x5B, 0x8B, 0x02, 0x6B, 0x57, 0x17, 0x62, + 0x0E, 0x5A, 0xC1, 0xCE, 0x01, 0x12, 0x3C, 0x21, + 0x92, 0x65, 0xC7, 0xBD, 0xD3, 0x3D, 0x75, 0xBD, + 0xE9, 0x0D, 0x81, 0xE0, 0xEB, 0x28, 0xF6, 0xD6, + 0xF9, 0x25, 0x2E, 0x18, 0xD9, 0x22, 0x15, 0x88, + 0x15, 0x5F, 0x67, 0xFB, 0x87, 0x71, 0xDB, 0x16, + 0xCC, 0x60, 0xCE, 0x72, 0x03, 0x9B, 0x77, 0x59, + 0xE7, 0x8E, 0x7E, 0x37, 0xAA, 0x0F, 0x8E, 0xCF, + 0x02, 0x89, 0xD4, 0x07, 0x57, 0x70, 0xC8, 0x39, + 0xB6, 0xDE, 0xF1, 0xA9, 0xE2, 0xB4, 0x6D, 0xCB, + 0x60, 0x31, 0xCC, 0x3A, 0x58, 0xA7, 0xEC, 0xBA, + 0x07, 0xC8, 0x7B, 0x51, 0xB8, 0xBA, 0x54, 0x13, + 0x41, 0xE0, 0x89, 0x84, 0xE4, 0xB4, 0x79, 0x9F, + 0x26, 0x35, 0x32, 0x25, 0x32, 0x6E, 0xFD, 0xA5, + 0xBF, 0xD3, 0x93, 0xF6, 0xE0, 0xC6, 0x60, 0x40, + 0xE1, 0xBE, 0xAA, 0xF4, 0x1B, 0x4C, 0x72, 0xDE, + 0xAB, 0xB1, 0xFE, 0x9D, 0x4C, 0x1B, 0xAD, 0x03, + 0x92, 0xF4, 0x54, 0x9E, 0x64, 0xF2, 0xDD, 0x1A, + 0x19, 0x23, 0x8C, 0x7A, 0x23, 0xE2, 0x6D, 0x23, + 0xA1, 0x37, 0x0E, 0x1E, 0x0D, 0xC7, 0xE0, 0xBA, + 0xCC, 0x3D, 0x07, 0xE0, 0xD7, 0x29, 0x2A, 0x02, + 0xEC, 0xF6, 0xE1, 0x28, 0x67, 0x2B, 0x22, 0xC5, + 0x5B, 0xA4, 0x50, 0x20, 0x05, 0x85, 0x5D, 0x49, + 0x10, 0xC0, 0x07, 0x4F, 0x6D, 0x92, 0xB9, 0x31, + 0xD7, 0x7B, 0x02, 0xEA, 0x70, 0x10, 0x29, 0x80, + 0x16, 0x5E, 0x29, 0xAD, 0x2E, 0x68, 0x4C, 0x9D, + 0x71, 0x19, 0xE5, 0xE7, 0x94, 0xB1, 0x23, 0xC2, + 0xD3, 0xAC, 0x84, 0x58, 0x5A, 0x22, 0xE5, 0x85, + 0x3C, 0x59, 0xF7, 0x55, 0xF3, 0x52, 0x83, 0x14, + 0x98, 0x19, 0x71, 0xB9, 0xD0, 0x3D, 0x4E, 0x33, + 0x48, 0xB2, 0xE3, 0x07, 0xFD, 0x44, 0xEA, 0x9D, + 0xF0, 0xEA, 0xBA, 0x9C, 0x58, 0xAD, 0x34, 0x4A, + 0x5E, 0xF0, 0x76, 0xE6, 0x4D, 0x16, 0xC7, 0xF4, + 0x7A, 0x70, 0x96, 0xA4, 0x8D, 0x34, 0x52, 0x0E, + 0x5C, 0x67, 0xA2, 0x38, 0x61, 0x37, 0xAF, 0x49, + 0x94, 0xC9, 0x9A, 0xD0, 0x37, 0x15, 0xC6, 0x51, + 0x00, 0x12, 0xAD, 0x45, 0x0B, 0xB9, 0xB3, 0xB1, + 0x90, 0x07, 0xAB, 0xDE, 0xF8, 0x3F, 0x42, 0xE6, + 0x7E, 0x6E, 0xC5, 0xDE, 0x01, 0x12, 0xDC, 0xCA, + 0x26, 0xB0, 0x6D, 0xAF, 0xAA, 0xC9, 0x89, 0x04, + 0x9A, 0x7D, 0xF8, 0x94, 0x46, 0x7E, 0x6E, 0xF4, + 0xAC, 0x8D, 0x79, 0x70, 0x1E, 0x99, 0x33, 0x10, + 0x8E, 0x18, 0xB9, 0x1D, 0xC6, 0x7B, 0x62, 0x19, + 0xFE, 0xE5, 0x21, 0x5C, 0xFB, 0x73, 0x1C, 0x99, + 0xB1, 0x03, 0xA3, 0xB2, 0x12, 0xAD, 0x7B, 0x9C, + 0x88, 0xD3, 0xCC, 0x21, 0x34, 0x46, 0xA3, 0x59, + 0x2D, 0x1C, 0x2A, 0x9A, 0xF0, 0x56, 0x66, 0xC9, + 0xF1, 0xD5, 0xA0, 0xDE, 0x7E, 0xA8, 0x6A, 0xA4, + 0x5E, 0x44, 0xB8, 0x1D, 0xF3, 0xCD, 0x91, 0xFE, + 0xCE, 0x80, 0x73, 0x62, 0x5F, 0xCB, 0x4E, 0xA3, + 0x92, 0x54, 0x2A, 0xE9, 0x65, 0xC7, 0x7F, 0x44, + 0xC5, 0x76, 0xE8, 0x9A, 0xC9, 0xB0, 0xCD, 0x97, + 0x58, 0xD0, 0x7E, 0x98, 0x91, 0x67, 0xDE, 0x15, + 0xD9, 0xAE, 0x7F, 0x77, 0xD6, 0x0F, 0x02, 0xD5, + 0x6A, 0x81, 0x49, 0x8A, 0x23, 0xDD, 0xB3, 0x56, + 0x43, 0x4C, 0x2A, 0x47, 0xD1, 0x4A, 0x8D, 0x27, + 0x32, 0x58, 0xCE, 0x69, 0xE0, 0x34, 0x22, 0x1D, + 0x61, 0xF3, 0x37, 0x9D, 0xAC, 0xDF, 0xEA, 0xC1, + 0x12, 0x14, 0x6C, 0xC3, 0x55, 0x48, 0xDC, 0x9B, + 0x18, 0x9E, 0xCA, 0x7E, 0x6F, 0xAE, 0x77, 0x55, + 0x1D, 0xB2, 0x66, 0xE5, 0x89, 0x6A, 0x5A, 0x06, + 0xBD, 0x03, 0x86, 0x18, 0xD4, 0x3D, 0x76, 0xD5, + 0x76, 0xD9, 0x29, 0xBB, 0xD4, 0x3C, 0x1A, 0x0C, + 0x68, 0x99, 0x14, 0x97, 0xAC, 0xE4, 0x91, 0x85, + 0x1D, 0x61, 0xCC, 0x6E, 0x0F, 0x81, 0xE2, 0x4E, + 0xAD, 0xB5, 0x2C, 0x40, 0x34, 0x32, 0xD7, 0xD4, + 0x16, 0xF2, 0xD1, 0xB1, 0xF5, 0xC2, 0xBA, 0x7D, + 0xB2, 0x1C, 0xDD, 0x41, 0x1F, 0x70, 0xEB, 0x77, + 0x5D, 0x0E, 0x49, 0x0E, 0x37, 0xD7, 0x44, 0xE3, + 0x9C, 0xE2, 0x3B, 0x3C, 0x31, 0x53, 0xED, 0x6A, + 0xC4, 0xBB, 0x98, 0x2F, 0x11, 0x7D, 0x18, 0x84, + 0xCE, 0x40, 0x5A, 0x46, 0xAF, 0x25, 0x58, 0x61, + 0xD4, 0x12, 0x94, 0xB9, 0x76, 0xFA, 0xA9, 0xEA, + 0x00, 0x12, 0x27, 0x15, 0x65, 0x76, 0x51, 0xAB, + 0xCC, 0xD7, 0x37, 0xEB, 0x5C, 0xAD, 0x76, 0xF0, + 0xC0, 0x10, 0xEC, 0xB9, 0x01, 0x12, 0x44, 0x8E, + 0xAC, 0xA4, 0x28, 0x1A, 0xDF, 0x6B, 0x1E, 0x90, + 0x2E, 0x39, 0x3E, 0x71, 0x24, 0xF9, 0x8B, 0xF8, + 0xF3, 0xD6, 0x35, 0xC3, 0xF0, 0xD4, 0xE5, 0x0C, + 0x8C, 0xE0, 0xD8, 0x6A, 0xAE, 0x11, 0xEF, 0x3C, + 0x95, 0xF6, 0xBE, 0x2D, 0xAD, 0xC4, 0x4F, 0xCC, + 0x1F, 0x9A, 0x68, 0x3D, 0x31, 0x3F, 0x37, 0xE9, + 0xAA, 0x3D, 0x6B, 0x36, 0x5D, 0x4C, 0x54, 0xCD, + 0xBE, 0x45, 0x2D, 0x15, 0xC9, 0x2E, 0x9F, 0xCE, + 0x8E, 0x2D, 0xB3, 0x0B, 0x2E, 0x58, 0x1C, 0x1C, + 0x3F, 0xD9, 0xDC, 0x2F, 0x61, 0xC4, 0x3F, 0x52, + 0x2D, 0x70, 0x01, 0xA0, 0x3F, 0xA0, 0x44, 0x9C, + 0x50, 0x1D, 0xE0, 0x60, 0x38, 0x12, 0x0B, 0x58, + 0x41, 0x8C, 0x02, 0xFF, 0xA2, 0x1F, 0x26, 0x23, + 0x52, 0xA3, 0xA5, 0x04, 0xFD, 0xB0, 0xAB, 0xA3, + 0x1A, 0x2C, 0x27, 0x41, 0x73, 0x61, 0x1C, 0x4C, + 0xED, 0xB6, 0x55, 0x62, 0x88, 0x57, 0x73, 0x48, + 0x4E, 0x74, 0x22, 0xDD, 0x73, 0xBB, 0x71, 0x67, + 0x6E, 0x31, 0x19, 0xA6, 0x71, 0x11, 0x5C, 0x32, + 0xE2, 0x1A, 0x22, 0x2A, 0x21, 0x3E, 0xFE, 0x9F, + 0x56, 0x3E, 0xA0, 0xF4, 0x46, 0xC5, 0x1C, 0x60, + 0xE1, 0x32, 0xCF, 0x22, 0xCC, 0xC7, 0x18, 0x60, + 0xC4, 0x1C, 0x84, 0x9E, 0x5E, 0x1D, 0x63, 0xD6, + 0xE3, 0x37, 0x53, 0x6D, 0x8C, 0x04, 0xDE, 0x48, + 0xB9, 0xCE, 0x96, 0x96, 0xD8, 0xB8, 0x18, 0x57, + 0xFA, 0xD8, 0x89, 0x3C, 0xE1, 0x5C, 0x6D, 0x53, + 0xC7, 0xD4, 0x3F, 0x4A, 0xA1, 0x4B, 0x80, 0x67, + 0x56, 0xC3, 0xB9, 0x93, 0xC2, 0xB9, 0x46, 0x61, + 0x7A, 0x2B, 0x2E, 0x87, 0x92, 0xF2, 0xF9, 0x19, + 0x90, 0x31, 0x67, 0x8B, 0x9F, 0x1B, 0x94, 0xEC, + 0x00, 0xDD, 0x70, 0x5F, 0x45, 0xF3, 0xC2, 0x0D, + 0x35, 0xF4, 0xD4, 0x80, 0x36, 0xCD, 0x84, 0xA9, + 0x8A, 0x0D, 0xA0, 0xA8, 0x9A, 0xA3, 0xC4, 0x0C, + 0x2B, 0x08, 0xAB, 0xC4, 0x54, 0x8B, 0xA0, 0x08, + 0xCE, 0x1B, 0xD7, 0x96, 0xB0, 0x8E, 0x04, 0xB2, + 0x00, 0x12, 0xCF, 0x1C, 0x78, 0xC1, 0x6E, 0x6A, + 0xDA, 0x1B, 0xCC, 0xC2, 0x0E, 0xC0, 0x53, 0xB6, + 0xA7, 0x99, 0x3A, 0x77, 0x01, 0x12, 0x53, 0xCE, + 0xDE, 0x9A, 0xCD, 0xD6, 0xE6, 0xCC, 0xD3, 0x20, + 0x15, 0x45, 0x04, 0x96, 0x0E, 0xF2, 0x00, 0xBF, + 0x26, 0xFB, 0x78, 0xE8, 0xCB, 0x67, 0x50, 0xA7, + 0x24, 0x21, 0x81, 0xFF, 0x81, 0x45, 0x2B, 0x44, + 0x56, 0xCC, 0x6C, 0xAB, 0x13, 0xCA, 0x4B, 0x25, + 0xDA, 0x5C, 0xAE, 0xEA, 0xDD, 0x1E, 0x5E, 0x75, + 0x04, 0x70, 0xD3, 0x96, 0x16, 0x9A, 0x63, 0xF6, + 0xB4, 0xA6, 0x2D, 0x02, 0xCF, 0xE2, 0xE5, 0xDF, + 0x4C, 0x96, 0x05, 0x83, 0x5D, 0xC9, 0xBE, 0xF9, + 0xF1, 0x85, 0x01, 0xED, 0x4E, 0x0F, 0xC1, 0xB1, + 0xE1, 0x6E, 0xC7, 0x02, 0x32, 0xD2, 0xDF, 0x09, + 0xE0, 0xF7, 0x89, 0x44, 0xCA, 0xA3, 0x4B, 0x01, + 0x8D, 0x03, 0xFE, 0x96, 0x35, 0xA3, 0x56, 0x89, + 0x04, 0x53, 0xB0, 0x0F, 0x81, 0x8D, 0xF8, 0x2A, + 0xCB, 0xA8, 0x00, 0xA7, 0x01, 0x7F, 0x32, 0xA5, + 0x85, 0x8D, 0x49, 0x0B, 0xDC, 0x2F, 0xE8, 0x06, + 0x62, 0xBC, 0x48, 0x6A, 0x2D, 0x37, 0xEA, 0xD5, + 0xA3, 0x38, 0xB5, 0x0B, 0x08, 0x85, 0xC3, 0x61, + 0x4A, 0x26, 0x72, 0x6E, 0xB7, 0x9D, 0x28, 0x4E, + 0xF7, 0x10, 0xF0, 0xD9, 0xEB, 0x77, 0xF3, 0xA7, + 0x52, 0x38, 0x15, 0xB5, 0x08, 0x49, 0xC3, 0x05, + 0x12, 0x7A, 0x66, 0xCB, 0x47, 0xC5, 0x50, 0x90, + 0xBA, 0x30, 0xB8, 0xCA, 0x0B, 0xBB, 0xD0, 0x29, + 0x41, 0xF4, 0x05, 0x23, 0xB1, 0x6F, 0x90, 0x92, + 0x93, 0xED, 0xFE, 0x10, 0xD5, 0x40, 0x6A, 0x6B, + 0xDB, 0x65, 0xBB, 0x5F, 0x32, 0x50, 0x92, 0x6D, + 0xA0, 0x6E, 0xAC, 0x9F, 0xF0, 0x23, 0x88, 0x91, + 0x3E, 0x30, 0xAA, 0xD8, 0xFA, 0x61, 0x0F, 0xAB, + 0xDB, 0x2A, 0x46, 0xA3, 0xAC, 0x35, 0xEC, 0x8B, + 0x84, 0x4A, 0xB3, 0xEE, 0x3F, 0x6A, 0x79, 0xEC, + 0xAD, 0x7F, 0xC6, 0xA5, 0x6C, 0x31, 0x88, 0xCE, + 0x37, 0xE2, 0x0C, 0x7E, 0x82, 0xDC, 0xE9, 0x79, + 0xBE, 0x9F, 0x5D, 0x06, 0x9E, 0x82, 0x6E, 0xE4, + 0x7C, 0x8E, 0xDB, 0xC7, 0xDF, 0x12, 0x6A, 0x80, + 0x00, 0x12, 0x6D, 0x49, 0x8E, 0x37, 0x3C, 0xDC, + 0x23, 0xE0, 0x7E, 0x21, 0x8E, 0x85, 0x9B, 0x57, + 0x05, 0xD7, 0xA3, 0xAE, 0x01, 0x12, 0x4D, 0x76, + 0x4A, 0xDE, 0xA6, 0x3E, 0x17, 0x53, 0x98, 0x05, + 0x70, 0xFA, 0x8E, 0xB7, 0x54, 0x28, 0x1E, 0xB2, + 0xD1, 0x51, 0x3E, 0x3E, 0xBD, 0xF9, 0xAE, 0x79, + 0xA4, 0xBE, 0xA5, 0x0B, 0x8E, 0x29, 0xC1, 0xCB, + 0xC2, 0x35, 0x36, 0x97, 0x0D, 0xCF, 0xE3, 0xD4, + 0x2D, 0x78, 0x8E, 0xF8, 0x13, 0x98, 0xDF, 0x5A, + 0x8A, 0xAC, 0x94, 0xEC, 0xA4, 0xBB, 0x41, 0xD0, + 0x4A, 0x21, 0x7B, 0xAA, 0x43, 0xC3, 0x33, 0x30, + 0xF9, 0xBF, 0x0D, 0x17, 0xED, 0x7E, 0x9B, 0x08, + 0x74, 0x44, 0xAC, 0x24, 0x9C, 0x22, 0xE3, 0x24, + 0xA1, 0xE7, 0x96, 0x7F, 0x55, 0xFB, 0xC1, 0xD7, + 0x80, 0x40, 0x94, 0xA2, 0x2E, 0xDB, 0x80, 0x42, + 0xCD, 0xE9, 0xED, 0x7F, 0xAA, 0x9C, 0xDF, 0x52, + 0x47, 0x75, 0x57, 0x1B, 0xD7, 0xA8, 0x48, 0xE1, + 0x49, 0x20, 0x9B, 0x44, 0x5D, 0xC1, 0x4B, 0x15, + 0xBB, 0x6C, 0xDB, 0xBD, 0x6A, 0x99, 0x72, 0x2D, + 0xAE, 0x2A, 0xC0, 0x81, 0x1D, 0xE8, 0xA1, 0x5C, + 0x93, 0xB8, 0xC4, 0xFF, 0xA6, 0x42, 0x0C, 0x92, + 0xB8, 0x44, 0x07, 0xD0, 0x61, 0x9F, 0x32, 0x89, + 0xBE, 0x75, 0xDF, 0xC1, 0x88, 0x35, 0xC9, 0x79, + 0x9E, 0xD6, 0x37, 0x67, 0x88, 0xC5, 0xB8, 0x1F, + 0x77, 0x7A, 0x21, 0x10, 0x27, 0xB3, 0x5F, 0x72, + 0x6A, 0x0D, 0x8C, 0x9D, 0xA2, 0xA1, 0x90, 0x13, + 0x56, 0x50, 0xFD, 0x1E, 0x04, 0x6C, 0x25, 0xE9, + 0xB8, 0x96, 0x0A, 0xE0, 0xD8, 0xF5, 0xB2, 0x2C, + 0xBC, 0xBA, 0x36, 0x96, 0x92, 0xCC, 0xDD, 0x36, + 0x87, 0xE5, 0xB0, 0xAE, 0x84, 0x54, 0xE8, 0x1F, + 0xCF, 0x57, 0x33, 0xEA, 0xBA, 0x43, 0x9F, 0x8A, + 0x72, 0xD8, 0xB1, 0x12, 0x6C, 0x20, 0xB6, 0xD5, + 0xF9, 0xF2, 0x6C, 0x17, 0x7C, 0xCE, 0xE2, 0xA6, + 0x9D, 0x36, 0x83, 0x3A, 0xB7, 0x16, 0x8D, 0x05, + 0x51, 0x5C, 0xC9, 0x79, 0x69, 0xF7, 0x80, 0x15, + 0x47, 0xAF, 0x73, 0x47, 0xB2, 0x4B, 0x1C, 0x92, + 0x7F, 0x5D, 0xD2, 0x70, 0x89, 0x99, 0x32, 0xAC, + 0x00, 0x12, 0x25, 0xD5, 0xE0, 0x03, 0xB1, 0x2F, + 0x5A, 0xE0, 0x8A, 0x31, 0xEE, 0x22, 0xB1, 0x7E, + 0xCA, 0x65, 0x77, 0xC1, 0x01, 0x12, 0x54, 0x05, + 0xA7, 0xB5, 0x1E, 0xCA, 0x3A, 0x37, 0x95, 0x75, + 0xEC, 0x29, 0x44, 0x74, 0x89, 0x6A, 0x41, 0x43, + 0x5E, 0x93, 0xE3, 0xA4, 0xF7, 0x83, 0x97, 0xA0, + 0x5B, 0xAD, 0x23, 0xDC, 0x7B, 0x92, 0x28, 0xC5, + 0x75, 0x23, 0xE6, 0x8C, 0x34, 0xD4, 0x96, 0xFD, + 0xDA, 0x33, 0x11, 0x4A, 0xF5, 0x35, 0x4D, 0x9B, + 0x85, 0x53, 0x95, 0x35, 0x8C, 0x48, 0xEB, 0xBA, + 0x3F, 0x0B, 0x1E, 0x5C, 0x9E, 0x91, 0x3E, 0x37, + 0x39, 0x20, 0x4B, 0x62, 0xC1, 0x88, 0x4D, 0x05, + 0x32, 0x9C, 0xAF, 0xC8, 0x01, 0x57, 0x7A, 0xCD, + 0x2C, 0x68, 0x3F, 0x68, 0xD5, 0x7B, 0xD6, 0xDE, + 0x94, 0x08, 0x98, 0x52, 0x7D, 0xB2, 0x15, 0x36, + 0xB9, 0x6E, 0x0A, 0xB0, 0xCB, 0x79, 0xFD, 0x9F, + 0xC5, 0x3E, 0xDB, 0xE7, 0xE5, 0xCA, 0x5D, 0x69, + 0xB4, 0x14, 0x95, 0x7F, 0x48, 0xEF, 0x68, 0x5F, + 0x54, 0x4B, 0xFB, 0x1F, 0xE4, 0xCE, 0x36, 0xF7, + 0x2E, 0x5D, 0x06, 0x17, 0x1B, 0x46, 0x28, 0x4E, + 0x47, 0x86, 0x57, 0xC9, 0x70, 0xF4, 0x73, 0x24, + 0xE0, 0xA4, 0x5B, 0x3A, 0x89, 0x8E, 0x0B, 0x6D, + 0xD6, 0x08, 0x98, 0x1B, 0x30, 0xA4, 0x1B, 0x81, + 0xD3, 0x21, 0x7C, 0x3A, 0xC6, 0xB1, 0x9F, 0xB1, + 0x63, 0xC3, 0x60, 0xD9, 0x12, 0xFA, 0xF5, 0x51, + 0x90, 0xA9, 0x60, 0x36, 0x3C, 0xD6, 0x88, 0xAB, + 0x60, 0xA1, 0x13, 0xB5, 0xAC, 0xFB, 0x3A, 0xCF, + 0x81, 0x78, 0x98, 0x68, 0xAC, 0x2F, 0xA2, 0x93, + 0x7A, 0x5E, 0xE5, 0x43, 0xF0, 0x3D, 0x19, 0x93, + 0x01, 0x4E, 0x3E, 0x10, 0x82, 0x8C, 0x74, 0x2E, + 0x3E, 0x54, 0x38, 0x2D, 0xD9, 0x24, 0x26, 0x54, + 0x94, 0x79, 0x13, 0x5C, 0x04, 0x46, 0xED, 0x73, + 0x1E, 0x01, 0xE5, 0xA6, 0xB8, 0xE7, 0xE0, 0x4A, + 0xC8, 0x6F, 0x61, 0x95, 0xF6, 0x2F, 0xF2, 0x8C, + 0x24, 0xFA, 0x90, 0x34, 0x67, 0x6A, 0x35, 0xC9, + 0x9B, 0x0B, 0xF9, 0x59, 0x42, 0x8A, 0xEB, 0xCE, + 0x1D, 0x60, 0x7A, 0xC5, 0x4B, 0x5C, 0x64, 0xBA, + 0x00, 0x12, 0xB3, 0xC1, 0xD1, 0x28, 0xE4, 0xD7, + 0x75, 0x9D, 0x96, 0xDE, 0x6A, 0x20, 0x7E, 0x36, + 0x0A, 0x90, 0x60, 0x13, 0x01, 0x12, 0x4F, 0xE9, + 0xF7, 0x65, 0xD9, 0x96, 0x31, 0x5C, 0xF8, 0x19, + 0x25, 0x48, 0x3B, 0xF1, 0xFE, 0xBB, 0xA0, 0x69, + 0x37, 0x4A, 0xD6, 0xEE, 0xDF, 0x72, 0x17, 0x0A, + 0xF7, 0x68, 0x0E, 0x16, 0xE1, 0x9F, 0xED, 0x44, + 0xC5, 0x8C, 0x90, 0x89, 0x37, 0x47, 0x64, 0x80, + 0x31, 0xC0, 0x75, 0xC2, 0xC2, 0x82, 0x1E, 0xD5, + 0x43, 0xE5, 0x28, 0xAA, 0x86, 0xFA, 0x9E, 0x96, + 0xD9, 0x2C, 0x68, 0x66, 0x76, 0xE7, 0x01, 0xB2, + 0xC1, 0x98, 0xBC, 0xD4, 0xCF, 0x84, 0xF2, 0x5A, + 0x06, 0x4D, 0x54, 0x2F, 0xED, 0x72, 0xC8, 0x64, + 0x56, 0xD2, 0x7E, 0xCE, 0x09, 0x31, 0x79, 0x74, + 0xAA, 0x07, 0x47, 0x89, 0x95, 0x34, 0x8B, 0x0C, + 0xE3, 0x91, 0x43, 0x45, 0xA9, 0x57, 0xC7, 0x9A, + 0xDB, 0x7C, 0xD5, 0x86, 0x9A, 0x29, 0x33, 0xCA, + 0x55, 0x4D, 0x22, 0xE6, 0x65, 0x43, 0x38, 0x73, + 0xD3, 0xD5, 0xFD, 0xA3, 0x77, 0x24, 0xAC, 0xD2, + 0x31, 0x97, 0x30, 0x15, 0xE5, 0xFC, 0x05, 0xC6, + 0x36, 0xA9, 0xCB, 0x53, 0x8A, 0x10, 0x36, 0x32, + 0xBB, 0x91, 0x41, 0xE1, 0xF1, 0x89, 0x8F, 0x05, + 0x04, 0x75, 0x24, 0x92, 0x80, 0x05, 0xC3, 0x4E, + 0x28, 0x4E, 0x5C, 0x67, 0xBE, 0x87, 0x5E, 0x30, + 0x11, 0xB6, 0x31, 0x47, 0xAE, 0x7B, 0xDF, 0xBA, + 0xF2, 0xB0, 0x55, 0xBA, 0x3E, 0x34, 0x74, 0x22, + 0x00, 0xFC, 0xF8, 0xF7, 0xF0, 0x6E, 0x75, 0x15, + 0xD9, 0x9E, 0xEF, 0x60, 0x73, 0x65, 0x04, 0x6C, + 0x13, 0xDC, 0xE3, 0x61, 0x8C, 0x30, 0x3A, 0x4A, + 0x17, 0xAB, 0x20, 0x47, 0x81, 0x90, 0xD1, 0x00, + 0x2B, 0x67, 0x09, 0xEE, 0x4A, 0x93, 0xA0, 0x9F, + 0x9F, 0x5E, 0x7D, 0x0A, 0x6A, 0xDC, 0x4C, 0x82, + 0xC5, 0x64, 0x32, 0xCD, 0x9B, 0x35, 0x83, 0x55, + 0xD8, 0x42, 0x93, 0xB0, 0xDB, 0xBD, 0xFD, 0xA1, + 0xCB, 0x98, 0x15, 0xBD, 0x17, 0x08, 0x8C, 0x9E, + 0x76, 0x03, 0xC9, 0x94, 0xB5, 0x9B, 0x95, 0x50, + 0x1C, 0x64, 0x3E, 0x96, 0x9F, 0x1D, 0x3F, 0xBF, + 0x00, 0x12, 0x6A, 0x1E, 0x67, 0x05, 0x14, 0xDD, + 0xC0, 0x47, 0xAA, 0x89, 0x63, 0x7F, 0x72, 0x8E, + 0x03, 0xF5, 0x9D, 0x84, 0x01, 0x12, 0x5E, 0x36, + 0x5A, 0x61, 0xAE, 0x70, 0xD7, 0x5A, 0x74, 0xE8, + 0x31, 0xD9, 0xD4, 0x7A, 0x94, 0xA3, 0x89, 0xBB, + 0x1D, 0xBA, 0x67, 0xC0, 0xEC, 0x79, 0x3D, 0x14, + 0xBA, 0xCE, 0x8E, 0xBF, 0x70, 0xF9, 0xA5, 0xC0, + 0x5B, 0x53, 0x69, 0x07, 0xEC, 0xA6, 0x13, 0x38, + 0xB8, 0xFC, 0x19, 0xF6, 0x91, 0xA6, 0x4C, 0x1E, + 0xC6, 0x13, 0x8A, 0x44, 0x25, 0x46, 0x56, 0xD9, + 0xE7, 0xC0, 0x9B, 0xB2, 0x93, 0x48, 0x08, 0x35, + 0xE3, 0x93, 0x9B, 0x3F, 0x17, 0x9C, 0x25, 0x70, + 0x69, 0x7F, 0x3D, 0x9E, 0x27, 0xA3, 0x18, 0x52, + 0x5B, 0x32, 0xB2, 0x7C, 0x6E, 0xD1, 0x6E, 0xDA, + 0x84, 0x96, 0x32, 0x91, 0x3E, 0x2F, 0xD8, 0xF9, + 0xB7, 0x4C, 0xF1, 0x35, 0x8A, 0x9B, 0x6D, 0x7A, + 0x46, 0x47, 0x1C, 0x40, 0x8D, 0x33, 0xD1, 0x7D, + 0xF3, 0xDD, 0x1E, 0x19, 0x2E, 0xCD, 0xCA, 0xD0, + 0x53, 0x15, 0xDB, 0x6C, 0x4D, 0xDA, 0x46, 0xCE, + 0x1D, 0xDB, 0xB4, 0xC4, 0xC6, 0x7F, 0xBE, 0x8B, + 0xCE, 0x2B, 0xCB, 0x52, 0xD6, 0xE7, 0xBE, 0x59, + 0x9D, 0x3C, 0xA3, 0xFB, 0xB9, 0xFD, 0x15, 0x79, + 0xC4, 0x26, 0x3D, 0x7B, 0xEC, 0xAC, 0x2D, 0x67, + 0x5A, 0x5C, 0x48, 0xE4, 0xE7, 0x83, 0xC7, 0x72, + 0x4C, 0x96, 0xF5, 0x0C, 0x10, 0x83, 0x82, 0xDC, + 0x5F, 0x39, 0x75, 0x1E, 0xEA, 0x34, 0x9E, 0x3A, + 0xAD, 0x18, 0x10, 0x9A, 0x71, 0x34, 0x0C, 0x5C, + 0x35, 0xD4, 0xC8, 0x06, 0x59, 0x81, 0x6B, 0x96, + 0x11, 0x73, 0x43, 0x74, 0x32, 0x9D, 0x53, 0x59, + 0xD0, 0x64, 0x09, 0x8E, 0xC9, 0x5C, 0x4D, 0xF7, + 0x93, 0x71, 0x90, 0x19, 0x79, 0xAB, 0xFE, 0x2C, + 0x97, 0xD2, 0xB5, 0xFB, 0x75, 0x59, 0xF3, 0x9C, + 0xEF, 0xBC, 0xE6, 0x09, 0xB5, 0x42, 0xFA, 0xB7, + 0x14, 0x4C, 0x09, 0xAC, 0x4E, 0x6E, 0x88, 0xA6, + 0xF1, 0x88, 0xBE, 0x64, 0x50, 0xB3, 0xD0, 0x6B, + 0x34, 0x56, 0x44, 0x4A, 0xE4, 0xC9, 0xDA, 0xA4, + 0x71, 0x42, 0x68, 0xC1, 0xA7, 0x9B, 0xC9, 0xDE, + 0x00, 0x12, 0xC1, 0x64, 0xEF, 0xE2, 0x49, 0x27, + 0x2B, 0x20, 0x10, 0xE3, 0x1A, 0x76, 0xD6, 0x3A, + 0x82, 0x24, 0x2C, 0x2C, 0x01, 0x12, 0x1F, 0x33, + 0xE4, 0x75, 0xD6, 0x04, 0x5F, 0x5D, 0xF3, 0x9D, + 0x0F, 0x94, 0xBC, 0xB2, 0xDE, 0xD3, 0x00, 0x1C, + 0xD0, 0xD2, 0xBF, 0x0A, 0xA1, 0xFB, 0x3B, 0x86, + 0x7E, 0x11, 0xCE, 0x76, 0xB1, 0x8A, 0x62, 0x73, + 0x40, 0x79, 0x20, 0xE3, 0xC3, 0x49, 0x47, 0x21, + 0x8F, 0x59, 0x2D, 0x3D, 0xBA, 0xC4, 0x4D, 0xA7, + 0x7B, 0xF3, 0xAF, 0x19, 0xAC, 0x81, 0x8C, 0x7C, + 0xF1, 0x98, 0xE8, 0xB9, 0x25, 0x13, 0x04, 0x00, + 0x74, 0x12, 0x4F, 0xB4, 0xDF, 0x27, 0x8D, 0x28, + 0xC0, 0xDE, 0xBD, 0xB5, 0x1D, 0xD4, 0xA6, 0x5B, + 0xDF, 0x04, 0x8D, 0x31, 0x98, 0xEA, 0xE8, 0x0E, + 0x5C, 0x56, 0x6E, 0xD1, 0x4D, 0xE7, 0x4B, 0x9B, + 0xEE, 0x77, 0xE6, 0x7C, 0x9F, 0x24, 0x68, 0x6D, + 0x6B, 0xED, 0x44, 0x06, 0x63, 0xEE, 0x6C, 0x80, + 0x32, 0x32, 0x3E, 0x30, 0x02, 0x25, 0x14, 0x69, + 0xCC, 0x9F, 0xFB, 0x32, 0x00, 0xE4, 0xF8, 0x22, + 0x3B, 0xED, 0x9C, 0x54, 0x68, 0x04, 0x9A, 0xC3, + 0x1F, 0xB7, 0x15, 0x55, 0x7F, 0x4A, 0x1D, 0x69, + 0xC7, 0xB2, 0xC8, 0xBC, 0xF1, 0x38, 0x41, 0x6A, + 0x36, 0x23, 0x93, 0x1A, 0x83, 0x36, 0x68, 0xDD, + 0xD9, 0x05, 0x7A, 0xBD, 0xDF, 0x5B, 0x9D, 0xA9, + 0xF0, 0x95, 0x6F, 0xCD, 0x55, 0x99, 0x66, 0x0B, + 0x95, 0x32, 0x9A, 0x1B, 0x7D, 0x20, 0x7C, 0xA2, + 0x2A, 0xEB, 0x6E, 0xBA, 0x48, 0x8E, 0xF2, 0xB6, + 0x15, 0x8C, 0x63, 0xA4, 0xF8, 0x02, 0x53, 0x3A, + 0x9A, 0xFC, 0x27, 0x62, 0x63, 0x0A, 0x33, 0x00, + 0xE8, 0x2A, 0x62, 0xAA, 0x3D, 0x5F, 0xF8, 0x2D, + 0x4C, 0x33, 0x08, 0xFB, 0xC6, 0x10, 0x43, 0x20, + 0x9C, 0xCF, 0x37, 0xFF, 0xAC, 0x31, 0xB2, 0xBB, + 0x67, 0x29, 0x3A, 0x3D, 0xAE, 0xAF, 0x03, 0xBE, + 0x9A, 0xC5, 0x38, 0xF6, 0x5F, 0x0C, 0x63, 0x69, + 0xDF, 0x2C, 0x49, 0x52, 0x76, 0xFB, 0x32, 0x79, + 0x25, 0x9C, 0x4C, 0xF1, 0x34, 0xA0, 0xEC, 0x42, + 0x9C, 0xD8, 0x27, 0xD9, 0x70, 0xA1, 0x37, 0x13, + 0x00, 0x12, 0x24, 0xA6, 0x1D, 0xEF, 0xAE, 0x4D, + 0x6E, 0x48, 0xA7, 0x89, 0x6E, 0x3D, 0x7B, 0x04, + 0xDB, 0xD3, 0xFA, 0xA8, 0x01, 0x12, 0xD7, 0xF2, + 0x95, 0x5B, 0xF1, 0xD0, 0x42, 0xF2, 0xE2, 0x0B, + 0xBD, 0x5C, 0xB9, 0xA5, 0xD4, 0x30, 0xC9, 0xB3, + 0x84, 0xD0, 0x64, 0xC4, 0xB2, 0xB7, 0x62, 0x09, + 0x3B, 0x31, 0xD5, 0xB4, 0xB9, 0x59, 0xD5, 0x7D, + 0x7D, 0x67, 0x98, 0xBF, 0x95, 0x2E, 0x78, 0x8F, + 0x21, 0x05, 0x0A, 0x3E, 0xE9, 0x60, 0x10, 0xDC, + 0xD7, 0xD7, 0xCD, 0x44, 0xF0, 0xE0, 0xD4, 0xF1, + 0x65, 0x6C, 0x37, 0x43, 0x74, 0x13, 0x81, 0xC1, + 0x44, 0x6C, 0x92, 0xFC, 0x35, 0x9B, 0xA9, 0x2C, + 0x05, 0x38, 0x71, 0x0B, 0x23, 0xC2, 0x7E, 0x33, + 0x87, 0xBD, 0xBF, 0x30, 0xC6, 0x91, 0x96, 0xD1, + 0xE6, 0xDF, 0xE8, 0x71, 0xAF, 0x95, 0x71, 0x02, + 0xCE, 0xC8, 0x85, 0x1E, 0x0B, 0xA4, 0x1F, 0xB1, + 0x6D, 0x07, 0x3B, 0xF1, 0x2E, 0x57, 0x7D, 0x80, + 0x60, 0x56, 0xD6, 0x0A, 0xCC, 0x6B, 0x24, 0x59, + 0x31, 0x68, 0x3E, 0x01, 0x3B, 0x66, 0xA0, 0x5E, + 0x69, 0xD6, 0x5A, 0x0F, 0x87, 0xE0, 0xD7, 0x07, + 0x8D, 0xB2, 0x39, 0xCC, 0x08, 0x1C, 0x60, 0x8A, + 0xBA, 0x3C, 0xC3, 0xCB, 0xE8, 0x15, 0x50, 0xFB, + 0x3A, 0x3C, 0x5E, 0x6C, 0x91, 0x99, 0xC1, 0x1F, + 0xC9, 0xAB, 0xF3, 0xD9, 0xCA, 0x3B, 0x70, 0xE3, + 0x14, 0xC7, 0x9C, 0xDF, 0xC6, 0x4A, 0xF6, 0x15, + 0x70, 0xA9, 0x8A, 0x1E, 0x63, 0xF8, 0x7C, 0x31, + 0xB0, 0xF3, 0x43, 0x2C, 0x6F, 0x46, 0xD0, 0xF8, + 0xA9, 0xB0, 0xFB, 0x34, 0x21, 0x92, 0xFF, 0x38, + 0xA4, 0x46, 0x5D, 0x54, 0x53, 0x22, 0xB1, 0xE2, + 0xE6, 0xC6, 0x03, 0x84, 0x73, 0x9F, 0x3E, 0x34, + 0x8A, 0xF6, 0x6D, 0xFC, 0x7A, 0x88, 0x46, 0xEF, + 0x8A, 0xF4, 0x02, 0xFD, 0xA2, 0x2C, 0xAC, 0xB1, + 0xD8, 0x41, 0x72, 0x90, 0x1A, 0xE2, 0x10, 0xB2, + 0xD6, 0x36, 0xFC, 0xFB, 0xA6, 0xE9, 0x48, 0x13, + 0xA5, 0x99, 0xD3, 0xE6, 0xE5, 0xF5, 0x1D, 0x1D, + 0x13, 0x9E, 0x77, 0x21, 0xE5, 0x19, 0x38, 0x64, + 0xB6, 0x72, 0x2A, 0x45, 0x0F, 0x10, 0xEA, 0xAF, + 0x00, 0x12, 0x60, 0x63, 0xEE, 0x09, 0x14, 0x1F, + 0xFE, 0xC4, 0x73, 0xB1, 0x6B, 0x32, 0x39, 0xBA, + 0x87, 0x6D, 0x84, 0xEE, 0x01, 0x12, 0xEE, 0xD2, + 0x01, 0x14, 0x1A, 0xF1, 0x3F, 0xEF, 0xE7, 0x43, + 0x5E, 0xE6, 0x7C, 0xD5, 0x00, 0xDF, 0x53, 0xC2, + 0x79, 0x51, 0x8F, 0x2B, 0x3F, 0xCE, 0xA4, 0x86, + 0x37, 0xF0, 0x83, 0x1A, 0x6E, 0x1D, 0xDA, 0xE9, + 0xCA, 0x55, 0x3D, 0x58, 0x88, 0xCC, 0x8F, 0x42, + 0x18, 0x23, 0x23, 0xE7, 0x88, 0xEB, 0x29, 0xD7, + 0xE8, 0x7B, 0x3A, 0xC5, 0xE3, 0xAB, 0xBD, 0x1B, + 0x53, 0xDA, 0xB7, 0x9D, 0x5A, 0x2A, 0x6E, 0x87, + 0x22, 0x42, 0xC9, 0x57, 0x5C, 0x30, 0x99, 0x7A, + 0xE3, 0x75, 0xE5, 0x3D, 0xB9, 0xFD, 0xDD, 0x98, + 0xD4, 0xE7, 0x06, 0x59, 0xB7, 0x97, 0x03, 0x18, + 0xAE, 0xA2, 0x78, 0x44, 0x3F, 0xA0, 0x22, 0x85, + 0xAF, 0x02, 0xB0, 0x53, 0x17, 0x00, 0xF7, 0xA5, + 0x65, 0x85, 0x9E, 0x27, 0xCD, 0xC5, 0xFE, 0xA8, + 0xC0, 0x14, 0x57, 0xCC, 0x98, 0xF9, 0xCD, 0x39, + 0x38, 0xA0, 0x01, 0x5F, 0x26, 0xDE, 0xC2, 0xA5, + 0x1E, 0xA4, 0x76, 0xB8, 0x82, 0x0C, 0x7A, 0x94, + 0x27, 0x2C, 0x3B, 0x93, 0x50, 0xC7, 0x8E, 0xD8, + 0xE6, 0xFD, 0x8C, 0xD2, 0x44, 0x5F, 0x5B, 0x3E, + 0xB9, 0x32, 0x9B, 0xB4, 0xBA, 0x36, 0x17, 0x6B, + 0x65, 0xF1, 0xF9, 0x03, 0x84, 0x1E, 0x6A, 0x9E, + 0x46, 0xA1, 0x38, 0x2E, 0x95, 0xEA, 0x72, 0x9B, + 0xB6, 0xE0, 0x2E, 0x36, 0x25, 0x6C, 0x7A, 0xA3, + 0x30, 0x86, 0xC3, 0xE1, 0x3A, 0x03, 0x9E, 0xA4, + 0x57, 0x45, 0x8F, 0x81, 0xCB, 0x10, 0xE2, 0xB7, + 0xD6, 0x8A, 0x4A, 0x39, 0x4F, 0xDB, 0xC5, 0x13, + 0x93, 0x8E, 0x58, 0x31, 0x16, 0xCA, 0xA8, 0x39, + 0x19, 0x01, 0xCA, 0xF2, 0x83, 0x70, 0x35, 0x09, + 0x43, 0x7E, 0x44, 0x13, 0xDD, 0x5C, 0x4F, 0x4F, + 0x96, 0xF1, 0x03, 0xA1, 0x62, 0xA0, 0x84, 0xE9, + 0xBC, 0xFC, 0xFD, 0xBC, 0x98, 0xC1, 0x38, 0x00, + 0xD5, 0x54, 0x8F, 0x47, 0x39, 0x5A, 0xB9, 0x5C, + 0x0B, 0x1E, 0xF0, 0x6C, 0xAC, 0xE7, 0x79, 0xF2, + 0x1C, 0x9D, 0x71, 0x9A, 0xF0, 0x79, 0xED, 0x04, + 0x00, 0x12, 0xF0, 0xAE, 0x42, 0x50, 0x33, 0x44, + 0xE8, 0x91, 0x24, 0x48, 0xBA, 0xBE, 0x6E, 0xFE, + 0xC2, 0xAE, 0x94, 0x81, 0x01, 0x12, 0x65, 0x30, + 0x1C, 0x5B, 0xDD, 0xB7, 0x1C, 0xB9, 0x89, 0x8D, + 0xC3, 0x7F, 0x38, 0x5D, 0x7F, 0x3D, 0x10, 0xC0, + 0x9B, 0x1B, 0x6F, 0x77, 0x3F, 0xA7, 0x06, 0x0E, + 0x81, 0x9A, 0xE0, 0xA1, 0x11, 0xB6, 0x34, 0xF6, + 0x33, 0x18, 0x81, 0xC1, 0x6B, 0x35, 0x92, 0x15, + 0x76, 0xB3, 0xA8, 0xE3, 0xEC, 0xC3, 0xDA, 0x5B, + 0xFF, 0x7A, 0x11, 0x32, 0xCF, 0x61, 0x31, 0x32, + 0xA1, 0x2F, 0x6E, 0xAF, 0xF2, 0x76, 0x4C, 0xBD, + 0x0D, 0x91, 0xDA, 0x14, 0x21, 0xA0, 0x3E, 0x85, + 0xBB, 0x63, 0xAA, 0x12, 0xDF, 0x91, 0x43, 0x3F, + 0xD6, 0xD4, 0x3B, 0x9C, 0x72, 0xE5, 0x63, 0x07, + 0x2B, 0xF6, 0x00, 0x65, 0x5A, 0xC3, 0x7D, 0xEA, + 0x4C, 0xA1, 0x7A, 0x35, 0x4A, 0xB2, 0x74, 0x4F, + 0x9B, 0xA0, 0x8A, 0x17, 0xE6, 0xC5, 0xE4, 0xEC, + 0x70, 0xEE, 0xC2, 0x93, 0xD0, 0x5B, 0xCE, 0x47, + 0x99, 0x58, 0x7F, 0xC6, 0xC4, 0xFF, 0xE8, 0xED, + 0x4B, 0x96, 0xC2, 0x31, 0x2A, 0xA5, 0xBB, 0x9D, + 0xDD, 0xB8, 0x1B, 0x4E, 0x55, 0x24, 0xE3, 0x41, + 0x47, 0x69, 0x59, 0xA1, 0xD9, 0x70, 0x90, 0x78, + 0xCD, 0xF6, 0x67, 0x8F, 0xC3, 0xFC, 0x6B, 0x8A, + 0x6E, 0xC0, 0x92, 0x38, 0xF6, 0xC2, 0xB8, 0x83, + 0xFE, 0x03, 0xF3, 0x1F, 0xC6, 0x2A, 0xBF, 0xFA, + 0xBE, 0x65, 0x88, 0x62, 0x31, 0x32, 0x01, 0x32, + 0x78, 0x71, 0x48, 0x94, 0x08, 0xB8, 0xAD, 0x14, + 0x03, 0x67, 0x05, 0x2D, 0x0B, 0xAF, 0x74, 0xBB, + 0x43, 0x9F, 0xDE, 0xFD, 0xF5, 0x50, 0x62, 0x30, + 0x56, 0xBD, 0xD7, 0x00, 0x50, 0xB2, 0xE3, 0x60, + 0xDC, 0x9C, 0x88, 0x93, 0xB8, 0xB1, 0x86, 0x64, + 0x13, 0x38, 0x48, 0x36, 0x21, 0xF9, 0xE0, 0xAC, + 0x4D, 0xF1, 0xBA, 0xFC, 0xFD, 0x59, 0xEB, 0x8D, + 0x95, 0xB4, 0xBC, 0x45, 0xA3, 0x77, 0x04, 0x6D, + 0x6E, 0x3C, 0x2E, 0xD8, 0x70, 0xAB, 0x49, 0xF7, + 0x42, 0xDD, 0xAA, 0x44, 0x2E, 0x05, 0x9B, 0xDB, + 0xC1, 0xE0, 0xE9, 0x3D, 0x75, 0xF6, 0xB5, 0xC4, + 0x00, 0x12, 0xEC, 0x94, 0xC1, 0x8E, 0xE3, 0x08, + 0x04, 0x6F, 0xC4, 0x1D, 0xE7, 0x22, 0xDC, 0x31, + 0xAF, 0x33, 0x58, 0x5A, 0x01, 0x12, 0x25, 0x10, + 0x0A, 0xA8, 0x90, 0x35, 0x65, 0x6F, 0x99, 0x60, + 0xA5, 0xC8, 0x40, 0x1A, 0x25, 0xF1, 0xFA, 0x6C, + 0x98, 0xE1, 0xA4, 0xC7, 0x5D, 0x87, 0x94, 0x8B, + 0xCB, 0x06, 0x2C, 0xCF, 0xC0, 0x3D, 0xA0, 0x27, + 0x7F, 0x76, 0xBB, 0x30, 0x54, 0x3B, 0x91, 0xF8, + 0x89, 0x46, 0xC6, 0x89, 0x40, 0xE5, 0xD6, 0x01, + 0x23, 0xFE, 0x39, 0x96, 0x94, 0x3B, 0x2A, 0xD4, + 0x31, 0x8A, 0x39, 0x86, 0xB1, 0xE4, 0xC9, 0x7F, + 0x50, 0x99, 0xAF, 0x99, 0x0B, 0xD7, 0x28, 0x70, + 0x37, 0xF9, 0xF6, 0x3D, 0x6D, 0x60, 0x4E, 0x5A, + 0xC6, 0x21, 0x4E, 0xF4, 0x71, 0x96, 0xEE, 0x16, + 0xE7, 0xB4, 0x9D, 0x0B, 0x90, 0x63, 0xC5, 0x3B, + 0xFE, 0xB0, 0x51, 0x5A, 0xDF, 0xC4, 0x9E, 0x50, + 0xD9, 0xB3, 0x22, 0xE1, 0xCA, 0xCD, 0x27, 0x83, + 0x1F, 0x35, 0xBA, 0x14, 0xB7, 0x10, 0xC1, 0xF4, + 0x4D, 0xC0, 0xF7, 0x5D, 0xBF, 0x1C, 0x75, 0x0D, + 0x3E, 0x56, 0xC8, 0x65, 0xDC, 0x10, 0x20, 0x42, + 0xD3, 0x93, 0x74, 0x70, 0xCD, 0xAA, 0xC1, 0x98, + 0x35, 0xA0, 0xBF, 0x89, 0x13, 0x68, 0x65, 0xB6, + 0x81, 0xCE, 0x92, 0x3A, 0x5F, 0x96, 0x92, 0x0F, + 0xD4, 0x2C, 0x69, 0x20, 0x96, 0x0F, 0x3F, 0xD4, + 0x8A, 0x53, 0x45, 0x5B, 0x01, 0x5C, 0xA5, 0x06, + 0x57, 0x38, 0xBA, 0x30, 0x21, 0xDD, 0xEE, 0xB8, + 0xD4, 0x62, 0x1F, 0xB7, 0xF8, 0xCA, 0x08, 0x13, + 0x54, 0xC8, 0xA7, 0x7A, 0x66, 0xAC, 0xEB, 0xC3, + 0xE4, 0xE0, 0xB5, 0x80, 0x9B, 0xEA, 0xB5, 0xAC, + 0xF8, 0xB8, 0x34, 0x50, 0x73, 0xD1, 0x07, 0x95, + 0x0A, 0xED, 0x59, 0xD1, 0xE9, 0xAF, 0xF1, 0xB8, + 0xF9, 0x7A, 0x9B, 0x73, 0xB7, 0xEA, 0x4D, 0xFD, + 0xBD, 0xF6, 0xAC, 0x23, 0xA5, 0x22, 0x38, 0x37, + 0xE2, 0xA1, 0x54, 0x0D, 0xAC, 0x73, 0x86, 0xA2, + 0xE0, 0xD3, 0xA3, 0xD1, 0x81, 0x9F, 0x86, 0x81, + 0x25, 0xEF, 0xE8, 0xCA, 0x3A, 0x27, 0x12, 0x3B, + 0x93, 0x00, 0x13, 0x42, 0x4F, 0x46, 0x9D, 0x7A, + 0x00, 0x12, 0xBA, 0xCC, 0x7B, 0x01, 0xD9, 0xD4, + 0x38, 0xBE, 0xBD, 0xE5, 0x97, 0x90, 0x35, 0x08, + 0x5D, 0x1A, 0x5E, 0xAC, 0x01, 0x12, 0x11, 0x37, + 0xF7, 0x7B, 0x2E, 0xEC, 0x07, 0x71, 0x4F, 0x45, + 0xFF, 0x3C, 0xEE, 0x10, 0x61, 0x6C, 0x5C, 0x96, + 0xAB, 0xCC, 0xA7, 0x45, 0x5B, 0xDA, 0x85, 0x8D, + 0x3F, 0x73, 0x1D, 0x4E, 0xFD, 0x7F, 0xD8, 0x2E, + 0x00, 0x63, 0xA2, 0x0F, 0x8F, 0xB4, 0xBC, 0xA5, + 0xA6, 0xFE, 0x85, 0x70, 0x0E, 0x24, 0x51, 0xEC, + 0x56, 0x0C, 0xFB, 0x20, 0x7B, 0x93, 0xFB, 0x98, + 0xA8, 0xE0, 0x5F, 0xC5, 0x4D, 0xC3, 0x58, 0x58, + 0x31, 0xDA, 0x84, 0xD8, 0x6C, 0x33, 0x3B, 0x0D, + 0xC6, 0x0F, 0xD9, 0x63, 0x3D, 0x69, 0x19, 0x4B, + 0xB8, 0xD2, 0xF4, 0x9F, 0x74, 0xC7, 0xE3, 0xE2, + 0x07, 0xEC, 0x7D, 0x33, 0x6D, 0xCD, 0x04, 0x62, + 0x33, 0x09, 0x52, 0x61, 0xA1, 0x5E, 0xC4, 0x6C, + 0x62, 0xEE, 0xE2, 0xC3, 0xCF, 0x91, 0xF2, 0x08, + 0x9E, 0x35, 0x4F, 0x77, 0xE7, 0xA4, 0xC9, 0x87, + 0x91, 0x4C, 0x1D, 0x6C, 0xBA, 0xAE, 0xCF, 0x0C, + 0xA4, 0xF6, 0xE3, 0x3C, 0x75, 0xB0, 0x1E, 0xF6, + 0x70, 0xFF, 0x5C, 0x20, 0xF5, 0x55, 0x5F, 0x91, + 0x36, 0xFD, 0x7B, 0x8F, 0x7A, 0x45, 0x20, 0x26, + 0x83, 0x4B, 0xE4, 0x6F, 0x51, 0x2B, 0xF0, 0x39, + 0x41, 0x23, 0x7C, 0x73, 0x69, 0xE6, 0x26, 0x2C, + 0xAA, 0x5C, 0x36, 0x01, 0xBF, 0x2F, 0x08, 0xD7, + 0xD1, 0xD4, 0x7D, 0x3D, 0x8C, 0xCB, 0xB4, 0x16, + 0x38, 0xDF, 0xF5, 0x2A, 0xEF, 0x28, 0x8F, 0x1F, + 0x4C, 0x5F, 0x79, 0xFB, 0x81, 0x83, 0xA2, 0x57, + 0xF0, 0x8D, 0xED, 0xB3, 0x38, 0x48, 0xB4, 0x2D, + 0x7E, 0x6E, 0xC3, 0xA7, 0x49, 0x56, 0x6E, 0x8C, + 0x89, 0x3F, 0x9B, 0x87, 0xC0, 0xA6, 0x3D, 0x47, + 0x49, 0x2B, 0x2E, 0x2E, 0xDE, 0xC0, 0xE3, 0x71, + 0x19, 0xBE, 0xE3, 0x1D, 0x0D, 0x6D, 0x62, 0xB5, + 0x25, 0x77, 0xB5, 0xD3, 0x4F, 0x5E, 0x5A, 0x82, + 0x1A, 0xDA, 0xFE, 0xE7, 0x1C, 0x88, 0x16, 0x23, + 0xF3, 0x7F, 0x8D, 0xA2, 0xB3, 0x0D, 0x72, 0x66, + 0xAD, 0x45, 0x96, 0xC3, 0x58, 0x25, 0x23, 0x23, + 0x00, 0x12, 0x2C, 0x37, 0xD6, 0x2B, 0xBD, 0xF2, + 0x98, 0xCE, 0x8E, 0xC4, 0x2F, 0x8A, 0x69, 0x1A, + 0x16, 0xB7, 0x2D, 0x0B, 0x01, 0x12, 0x75, 0xF8, + 0xD5, 0xEC, 0x39, 0xB2, 0xF8, 0xFC, 0x71, 0x16, + 0x7B, 0x54, 0x72, 0x8E, 0xB4, 0xCC, 0xD4, 0x1F, + 0x4C, 0xD9, 0x8F, 0xD5, 0x78, 0xB3, 0xAA, 0x1D, + 0x47, 0xE8, 0xCA, 0xC7, 0xF2, 0xC4, 0x29, 0x76, + 0xB7, 0xDE, 0xA6, 0xB2, 0x48, 0x3C, 0x10, 0xDB, + 0xB7, 0x72, 0x0D, 0x78, 0x5D, 0x6A, 0xF1, 0x47, + 0xD6, 0x8A, 0xBD, 0x1A, 0x50, 0x4B, 0x9F, 0x32, + 0xAA, 0xA3, 0xAA, 0xBC, 0x6C, 0xFC, 0xC5, 0x8C, + 0xFE, 0xB2, 0x51, 0x09, 0xE4, 0x7C, 0x09, 0xBE, + 0x32, 0x5E, 0xD3, 0xDB, 0x21, 0xAE, 0x88, 0x58, + 0x3F, 0xDE, 0x7B, 0x50, 0x47, 0xA7, 0x1D, 0x7B, + 0x1C, 0x8A, 0xF8, 0xA6, 0x0F, 0x92, 0xCD, 0x66, + 0x2E, 0xB3, 0x6B, 0x2F, 0x9D, 0x8A, 0x82, 0xC7, + 0x17, 0xC8, 0x75, 0x44, 0xC8, 0xB5, 0x9D, 0x55, + 0xA2, 0xFE, 0x51, 0xF1, 0xC9, 0xBE, 0x45, 0xBC, + 0xD3, 0x02, 0x69, 0x50, 0x78, 0xC4, 0x69, 0x05, + 0x89, 0x7A, 0x92, 0xAA, 0xDB, 0x0E, 0xF4, 0x0A, + 0x6A, 0xBF, 0x87, 0x96, 0x18, 0x16, 0xBF, 0x1D, + 0x30, 0x1E, 0xEB, 0x81, 0x6D, 0x0A, 0xB2, 0x05, + 0x70, 0xE9, 0xC4, 0x4D, 0xB1, 0x76, 0x0B, 0x4A, + 0xD9, 0x99, 0xA8, 0x80, 0xD9, 0xF5, 0x01, 0x4A, + 0xC5, 0x6E, 0xDF, 0x03, 0xB8, 0x66, 0x83, 0xF4, + 0x27, 0xA4, 0x5A, 0x79, 0x67, 0x47, 0x23, 0xF3, + 0xBE, 0x92, 0xC4, 0xA5, 0x9B, 0x53, 0xB8, 0x3B, + 0xF8, 0x0F, 0xB9, 0x62, 0xD5, 0x3B, 0x2F, 0x70, + 0x25, 0x67, 0x55, 0xE2, 0xDF, 0x02, 0x5B, 0x43, + 0x9E, 0xFE, 0x27, 0xE2, 0xE3, 0xCB, 0x43, 0xF7, + 0x43, 0x6B, 0x7E, 0x12, 0x52, 0x12, 0x9A, 0xEA, + 0x87, 0xE6, 0x01, 0x2B, 0x7E, 0x6C, 0x81, 0xE6, + 0xE9, 0xF7, 0x84, 0xCF, 0xD5, 0x28, 0xD9, 0x5E, + 0xFF, 0x50, 0x97, 0xCC, 0x62, 0xF1, 0x26, 0xFC, + 0x09, 0xFF, 0x23, 0x0F, 0x94, 0xEE, 0xA8, 0x3C, + 0xD5, 0x07, 0x12, 0xE0, 0x4C, 0x60, 0xE0, 0x85, + 0x07, 0x84, 0x52, 0x0D, 0xF9, 0xE4, 0x55, 0xC9, + 0x00, 0x12, 0x2F, 0x7F, 0x77, 0xAB, 0x52, 0x59, + 0xC0, 0xAF, 0x08, 0x1F, 0x8C, 0x81, 0x43, 0xAC, + 0xF3, 0x40, 0x4A, 0x06, 0x01, 0x12, 0x71, 0x12, + 0x39, 0x62, 0xAF, 0x39, 0x53, 0x66, 0x96, 0xC0, + 0xB8, 0x18, 0xBC, 0x17, 0x15, 0xD8, 0xE8, 0xE8, + 0x8E, 0x8A, 0x5D, 0x6A, 0xCB, 0x59, 0xB0, 0x96, + 0x30, 0x0B, 0xD3, 0x3C, 0x15, 0xD6, 0xB3, 0xED, + 0x86, 0xFA, 0xA0, 0xA5, 0x0F, 0xAB, 0x49, 0x56, + 0x5A, 0x1B, 0x50, 0x40, 0x50, 0xA0, 0x7B, 0x10, + 0x0E, 0xD0, 0xA1, 0xCE, 0x5A, 0xB1, 0x88, 0x75, + 0x1D, 0x52, 0x30, 0x85, 0x94, 0xE6, 0x13, 0x98, + 0x94, 0x1A, 0xB7, 0x06, 0x9A, 0x4B, 0x50, 0x2E, + 0x57, 0xD0, 0xF0, 0xFE, 0x64, 0x10, 0xCB, 0x1F, + 0x86, 0xF3, 0xA8, 0x25, 0x67, 0x55, 0x57, 0x12, + 0x2A, 0x44, 0xB0, 0x3C, 0xE9, 0x4D, 0xBC, 0x74, + 0xB0, 0x95, 0xCD, 0x6E, 0xFB, 0x59, 0x3F, 0xA4, + 0x62, 0xF7, 0xE8, 0xE6, 0xEC, 0x12, 0x2A, 0xD1, + 0x48, 0x6B, 0x87, 0x8C, 0xC3, 0x05, 0xEA, 0x30, + 0x05, 0x55, 0x2E, 0x7D, 0x22, 0x24, 0x4E, 0xDC, + 0x81, 0x78, 0x38, 0x8D, 0x81, 0xB2, 0xA2, 0x38, + 0x6B, 0xD2, 0x05, 0x78, 0x5B, 0xF2, 0x54, 0x16, + 0xD3, 0xD4, 0x87, 0xAE, 0x38, 0xE8, 0xE6, 0x8B, + 0xD6, 0xED, 0xAE, 0x62, 0x14, 0xD8, 0x6D, 0x88, + 0x23, 0xC6, 0x8F, 0x04, 0x78, 0x87, 0x2F, 0x71, + 0x53, 0xD7, 0xE6, 0x02, 0x7B, 0xBE, 0x6F, 0xF7, + 0x4B, 0xC0, 0x26, 0x36, 0x07, 0x3D, 0x6A, 0x88, + 0x2E, 0xE4, 0x3B, 0x08, 0x33, 0x8B, 0xBF, 0x75, + 0x34, 0x66, 0x10, 0xB1, 0x93, 0x8F, 0x07, 0xDD, + 0x6F, 0xD7, 0x1D, 0x2B, 0x95, 0x29, 0x38, 0x0F, + 0xB7, 0xB4, 0xD1, 0xAE, 0xFA, 0x0A, 0x66, 0x18, + 0xBA, 0xFB, 0x27, 0x4D, 0xD3, 0xF9, 0xE3, 0x2B, + 0x40, 0xA6, 0x31, 0x2D, 0x5E, 0x19, 0xEE, 0x36, + 0x6C, 0x87, 0x2D, 0x01, 0x48, 0xA1, 0x9A, 0xC9, + 0xEB, 0xDE, 0xD4, 0xF0, 0x1D, 0xA0, 0x16, 0x9A, + 0xE7, 0x41, 0xD9, 0x96, 0x0D, 0x06, 0x8C, 0x90, + 0x58, 0xED, 0xA9, 0xFF, 0xF3, 0x09, 0x9C, 0x26, + 0xF1, 0x74, 0xD7, 0x14, 0xE0, 0xDE, 0x46, 0xF6, + 0x00, 0x12, 0x78, 0xEE, 0x4A, 0xEB, 0x2C, 0xEE, + 0xEB, 0xFE, 0x49, 0x09, 0xE7, 0x06, 0xD8, 0x02, + 0x90, 0x73, 0x62, 0x64, 0x01, 0x12, 0x3D, 0x04, + 0x90, 0xFC, 0xA1, 0xB2, 0x85, 0x41, 0xC1, 0x6E, + 0x3F, 0x9B, 0x9E, 0x19, 0xF6, 0x7B, 0x50, 0x49, + 0xE2, 0x50, 0xFF, 0xA4, 0xC7, 0xCE, 0x79, 0xF9, + 0xF0, 0x1F, 0xA3, 0xF2, 0x5E, 0x30, 0xFA, 0xD2, + 0xA5, 0x15, 0x5D, 0xA3, 0x14, 0xED, 0xDF, 0x99, + 0xE2, 0x62, 0x23, 0xBF, 0xFC, 0x1F, 0x7B, 0xFC, + 0xE4, 0xC5, 0x36, 0x0A, 0x2C, 0xBE, 0x5A, 0xA9, + 0xC7, 0xA6, 0x79, 0x36, 0x08, 0xB3, 0xA7, 0xD5, + 0x6B, 0x71, 0x3A, 0x3D, 0x5C, 0x60, 0x8B, 0x06, + 0xA8, 0x10, 0x6E, 0x23, 0xB1, 0x0C, 0xB3, 0xEE, + 0x6F, 0x08, 0xB5, 0xE7, 0x3B, 0x15, 0xD6, 0x25, + 0x7D, 0x00, 0xF2, 0x70, 0xE2, 0x3F, 0xE8, 0xBD, + 0x38, 0x17, 0xE9, 0xEF, 0x5B, 0x0E, 0x98, 0x01, + 0xCB, 0xAD, 0xA1, 0x4F, 0xF5, 0x64, 0x14, 0x1E, + 0x54, 0x58, 0xAC, 0x20, 0xAD, 0x08, 0x81, 0x14, + 0x89, 0x11, 0xCF, 0xA3, 0xD7, 0x8D, 0xEE, 0x38, + 0x4F, 0x76, 0x25, 0x29, 0x22, 0x25, 0xD2, 0x06, + 0x66, 0xAB, 0x1F, 0x29, 0x0E, 0xEC, 0xBE, 0xFC, + 0x56, 0xCD, 0x93, 0xC8, 0x1E, 0x36, 0xB8, 0xAF, + 0xC9, 0xE5, 0xDD, 0xEC, 0xE3, 0xB0, 0x3D, 0xDB, + 0xF4, 0x22, 0xFD, 0x76, 0x41, 0xA9, 0x45, 0x7E, + 0x06, 0x39, 0x88, 0xF6, 0xFF, 0x5E, 0x76, 0x87, + 0x73, 0x5B, 0x36, 0x95, 0xD6, 0x5D, 0xAC, 0xF5, + 0xBC, 0x8E, 0x84, 0x27, 0xB6, 0x73, 0x56, 0x67, + 0x80, 0x77, 0x14, 0x5E, 0x17, 0x59, 0xCF, 0x06, + 0x64, 0xA7, 0xF3, 0x84, 0x90, 0xC7, 0x65, 0xED, + 0xB2, 0xDE, 0x1A, 0x49, 0x81, 0x72, 0xD6, 0x1E, + 0x1D, 0xE9, 0xD4, 0x28, 0x59, 0x3E, 0x74, 0x70, + 0xD9, 0x6E, 0x68, 0x6D, 0xEC, 0x7D, 0xD0, 0xFA, + 0x8E, 0x5F, 0xEB, 0x55, 0x1B, 0xD8, 0x82, 0x4C, + 0xDD, 0x5C, 0xD0, 0xA5, 0x8A, 0xE9, 0x8F, 0xA0, + 0x47, 0x46, 0x11, 0xC9, 0x69, 0xE6, 0x34, 0x2D, + 0xF2, 0xBD, 0xCD, 0x7E, 0xE8, 0x94, 0x3A, 0x19, + 0x72, 0x12, 0xF5, 0x56, 0x86, 0x86, 0xE2, 0x8F, + 0x00, 0x12, 0xA4, 0x2C, 0x53, 0x7F, 0x47, 0xC4, + 0xBA, 0x5A, 0xCC, 0xD2, 0x23, 0x9A, 0x20, 0xF1, + 0xBD, 0x15, 0x92, 0xAC, 0x01, 0x12, 0x0A, 0x95, + 0x3E, 0x6F, 0xE2, 0xFB, 0x28, 0xE4, 0x2A, 0xC6, + 0x21, 0xDE, 0x93, 0xB1, 0x33, 0xFC, 0xB6, 0x5C, + 0x91, 0xE4, 0x85, 0xE7, 0xEE, 0xEF, 0xC6, 0x25, + 0x28, 0xFB, 0x05, 0x59, 0x86, 0x00, 0xA3, 0x31, + 0x24, 0x82, 0x8E, 0xD6, 0x70, 0xEF, 0x30, 0x55, + 0xB7, 0xE5, 0xCF, 0x5F, 0x85, 0x6F, 0x4F, 0x2A, + 0xAB, 0xB9, 0x91, 0xE7, 0x04, 0x42, 0xE6, 0xCD, + 0xF6, 0xB0, 0x05, 0x0E, 0x89, 0xF5, 0xA4, 0xCB, + 0x06, 0x2A, 0xC3, 0xB4, 0x6D, 0x15, 0xC5, 0x8C, + 0x52, 0xD0, 0x5F, 0x74, 0x27, 0xB4, 0xBB, 0xEC, + 0x54, 0x37, 0x14, 0x67, 0x39, 0x69, 0x30, 0xF9, + 0x32, 0x87, 0x1C, 0xA7, 0xFF, 0x44, 0x59, 0x50, + 0xCB, 0x1D, 0x2E, 0x77, 0xDD, 0x58, 0xCF, 0xD9, + 0xDF, 0x7B, 0x92, 0x7D, 0x55, 0xF4, 0x64, 0x17, + 0x8D, 0xDB, 0x23, 0x0C, 0x5F, 0xA8, 0x9D, 0xE4, + 0x08, 0x9A, 0xD2, 0xF8, 0x3C, 0x16, 0x83, 0xB4, + 0xF8, 0xC4, 0x72, 0x06, 0xBD, 0xEF, 0xC0, 0xE6, + 0xF3, 0x73, 0x4E, 0x53, 0x47, 0x79, 0xE0, 0x7A, + 0xCB, 0xB0, 0x57, 0x29, 0xB1, 0xF8, 0xFA, 0xD7, + 0x65, 0xC5, 0x8F, 0xEC, 0x58, 0xD5, 0xF6, 0x83, + 0x73, 0xAA, 0x6C, 0x3D, 0x40, 0x30, 0x33, 0x3E, + 0x07, 0xA9, 0xFF, 0xC7, 0x13, 0xBC, 0xD0, 0xB6, + 0xCB, 0x90, 0x05, 0xFF, 0x08, 0x59, 0xD2, 0xD6, + 0xAF, 0xE5, 0x67, 0xAB, 0x45, 0xEC, 0x47, 0x15, + 0xA2, 0x9C, 0x40, 0xC7, 0x64, 0x9A, 0xA2, 0xC8, + 0x1F, 0x88, 0xBD, 0xDF, 0x99, 0x88, 0xD4, 0xB5, + 0x80, 0xA8, 0xC9, 0xC3, 0x7F, 0x7F, 0x81, 0x47, + 0x7D, 0x7B, 0x61, 0x33, 0x42, 0x60, 0xCA, 0xE9, + 0xF8, 0x3A, 0x6A, 0x35, 0x70, 0xC7, 0x77, 0x69, + 0x6C, 0x1B, 0xEE, 0x10, 0xFE, 0x65, 0xF1, 0x2C, + 0x9C, 0x13, 0x3C, 0xD2, 0x9D, 0x7F, 0xAA, 0xB3, + 0x72, 0x23, 0x6B, 0xF3, 0xBC, 0xF0, 0x02, 0xD3, + 0x89, 0x37, 0x09, 0x8D, 0x3D, 0x71, 0x27, 0x29, + 0xE0, 0xCE, 0xBB, 0x15, 0xF0, 0x4E, 0x5A, 0xDF, + 0x00, 0x12, 0xDE, 0x6A, 0xA8, 0x00, 0x88, 0x96, + 0x7B, 0xD3, 0x3E, 0x02, 0x82, 0x54, 0xB5, 0x4C, + 0x2F, 0x61, 0x38, 0xC9, 0x01, 0x12, 0xBA, 0x63, + 0x02, 0xBB, 0x00, 0x7A, 0xA0, 0x12, 0x2F, 0x1A, + 0x1F, 0x09, 0x47, 0x05, 0x9E, 0xDE, 0x2A, 0xE9, + 0x51, 0xBD, 0x5E, 0xA3, 0xB3, 0xC9, 0x2A, 0x60, + 0x62, 0xDB, 0xE7, 0x4B, 0xD6, 0xBA, 0x9A, 0xE2, + 0x71, 0x21, 0x3A, 0x68, 0xFE, 0x29, 0xEF, 0xD1, + 0xDD, 0xB1, 0x6E, 0xAB, 0x9A, 0x92, 0x0A, 0xD7, + 0xBD, 0x69, 0xE4, 0xBA, 0x2A, 0x84, 0x26, 0x21, + 0xAF, 0xB0, 0xF1, 0x3C, 0x81, 0x86, 0xC3, 0x0B, + 0x68, 0xCA, 0xDA, 0xFD, 0x83, 0xDA, 0x42, 0xDF, + 0xDF, 0xBB, 0xCB, 0xDC, 0x55, 0x95, 0x10, 0xDD, + 0x84, 0x2E, 0x28, 0xCE, 0xDB, 0x62, 0xFE, 0x63, + 0x89, 0x2F, 0x23, 0x38, 0x2D, 0x22, 0x8E, 0xD0, + 0xD9, 0x9F, 0x1B, 0x48, 0x1F, 0x53, 0x43, 0xBB, + 0x79, 0xD4, 0x3F, 0x47, 0x1F, 0xC8, 0xD7, 0x45, + 0x54, 0x98, 0xFF, 0x5E, 0x1F, 0x16, 0x80, 0x88, + 0x8B, 0x13, 0xF3, 0x3F, 0xD3, 0x04, 0x0E, 0x00, + 0x9C, 0xDB, 0x1A, 0x41, 0xBE, 0x03, 0x2C, 0x60, + 0x04, 0x2B, 0xA9, 0xEE, 0x5B, 0x1D, 0xE9, 0xFA, + 0x5C, 0x5C, 0x93, 0x30, 0xA8, 0x3C, 0x5D, 0x22, + 0x2F, 0x1D, 0xAE, 0xD6, 0x15, 0x42, 0xB1, 0x54, + 0x75, 0x13, 0x45, 0x19, 0x29, 0xB8, 0x4D, 0xB3, + 0xB5, 0x50, 0x9D, 0x7F, 0x87, 0x23, 0x18, 0x98, + 0x7A, 0x05, 0x81, 0xAE, 0xBB, 0x64, 0xD8, 0x9D, + 0x77, 0x7C, 0x52, 0x54, 0xC8, 0x08, 0x07, 0x1B, + 0x03, 0x23, 0xCA, 0x92, 0xEC, 0x03, 0x1B, 0xB0, + 0x13, 0x8C, 0x89, 0x01, 0x08, 0x03, 0xB3, 0x16, + 0x2A, 0xBE, 0xF1, 0x32, 0xCE, 0xAB, 0x3D, 0x44, + 0xD3, 0x5F, 0xA3, 0x55, 0x91, 0x6C, 0xF3, 0x9E, + 0xCD, 0x2E, 0x3F, 0xF0, 0xDB, 0x7A, 0x05, 0xD4, + 0xE2, 0xE7, 0x01, 0xF9, 0x18, 0x96, 0x5E, 0xD5, + 0x0F, 0x02, 0x67, 0x3F, 0x94, 0x53, 0xB7, 0xDE, + 0x4D, 0x49, 0x4A, 0xA1, 0xDA, 0x33, 0xD1, 0x38, + 0xDA, 0xCC, 0xF0, 0x5A, 0x40, 0x07, 0xC5, 0x5E, + 0x17, 0x61, 0xE9, 0x49, 0xE1, 0x52, 0xE7, 0x38, + 0x00, 0x12, 0x38, 0x8B, 0xC4, 0x73, 0x85, 0x2B, + 0x9F, 0x1A, 0x0C, 0xBE, 0xED, 0x61, 0xAC, 0x3B, + 0x21, 0xF4, 0x8E, 0xE1, 0x01, 0x12, 0x4D, 0x45, + 0x6F, 0x81, 0x7E, 0xAF, 0x4D, 0xB8, 0x71, 0x39, + 0xDB, 0x47, 0xEA, 0x22, 0x16, 0x27, 0xCF, 0x3C, + 0x3B, 0xA1, 0xA9, 0xC7, 0xF6, 0xAC, 0x07, 0x33, + 0x32, 0x51, 0x9D, 0xE1, 0xDB, 0x47, 0x2C, 0x4F, + 0x79, 0x16, 0x85, 0x40, 0x71, 0x15, 0xE9, 0x0E, + 0x0E, 0xD1, 0xCA, 0xC1, 0x15, 0xE2, 0xBC, 0x71, + 0x6F, 0x4E, 0xD0, 0xF1, 0x63, 0xA3, 0xF6, 0x53, + 0xC7, 0x4A, 0xEE, 0x9A, 0x01, 0x36, 0xC1, 0x58, + 0x3D, 0xFF, 0x5E, 0xF2, 0xE1, 0x71, 0x65, 0x9F, + 0x1A, 0x87, 0x9D, 0xE0, 0xA0, 0x55, 0xA0, 0xDE, + 0x40, 0xAB, 0xF8, 0x1A, 0x91, 0xA6, 0xEC, 0x0C, + 0x40, 0x07, 0x69, 0xF9, 0x0F, 0x1D, 0x29, 0xA8, + 0x4D, 0xED, 0x06, 0xA0, 0xD7, 0x09, 0x0D, 0x3A, + 0xFA, 0x0D, 0xFD, 0x9D, 0xE8, 0xF0, 0x0A, 0x8A, + 0xFA, 0x5B, 0x05, 0xE5, 0x51, 0x7E, 0x30, 0xA0, + 0x82, 0xC0, 0xEA, 0x25, 0xFC, 0x65, 0xC4, 0x23, + 0x87, 0x00, 0xD6, 0xC9, 0x95, 0xCF, 0x2A, 0xD0, + 0x9D, 0xF1, 0x7C, 0x85, 0x4A, 0xA1, 0x98, 0xDE, + 0x28, 0x68, 0x0A, 0xBE, 0x59, 0xF1, 0x91, 0xBD, + 0x3A, 0xA0, 0x54, 0x72, 0x92, 0x07, 0x31, 0x93, + 0x83, 0x49, 0x43, 0x68, 0xE1, 0x93, 0x65, 0xA3, + 0xDA, 0xB6, 0xF6, 0x5A, 0xDF, 0x79, 0xFE, 0xA5, + 0x8F, 0x5C, 0xB7, 0x58, 0xD9, 0x0A, 0xB1, 0xB8, + 0x61, 0x59, 0x1C, 0x39, 0x37, 0x4E, 0xBF, 0x33, + 0x3A, 0x7B, 0x6B, 0x50, 0xB3, 0x10, 0x4A, 0x2C, + 0x54, 0x64, 0xD3, 0x6D, 0x2B, 0xA7, 0x93, 0x96, + 0x91, 0x39, 0x45, 0xF4, 0x90, 0x40, 0x94, 0x25, + 0xED, 0x6B, 0x38, 0x61, 0xF3, 0xFB, 0x17, 0xA6, + 0xFE, 0x37, 0xF8, 0x80, 0x4E, 0x46, 0x98, 0xB2, + 0x9E, 0x9F, 0x82, 0x1E, 0xD5, 0x4A, 0x04, 0x7C, + 0x3F, 0x5C, 0xE3, 0x0B, 0x5F, 0x08, 0x8E, 0x2B, + 0xEE, 0x64, 0x29, 0xF9, 0x33, 0x6C, 0x13, 0x92, + 0xCC, 0xCB, 0x7D, 0x6A, 0xA9, 0x91, 0x2D, 0xB3, + 0x20, 0x2B, 0x05, 0xBE, 0xEA, 0xA6, 0x63, 0xD1, + 0x00, 0x12, 0xF2, 0x04, 0x88, 0x45, 0x88, 0x72, + 0x28, 0xDB, 0xE8, 0x6D, 0x36, 0x2D, 0xD9, 0x2D, + 0x54, 0x27, 0xF6, 0x0C, 0x01, 0x12, 0xA9, 0x94, + 0xC4, 0xED, 0x67, 0x3E, 0x49, 0x94, 0x27, 0xC8, + 0xE6, 0x64, 0xD0, 0xF9, 0xAC, 0x14, 0xB4, 0xE3, + 0xA8, 0x1C, 0xCA, 0xD3, 0x5D, 0x41, 0xAF, 0x42, + 0x5C, 0xE9, 0x5D, 0x9B, 0xC6, 0xF7, 0x64, 0x8F, + 0xBE, 0xA5, 0x8B, 0x97, 0x09, 0x94, 0x79, 0x39, + 0x40, 0x9E, 0x42, 0xE5, 0x0E, 0x25, 0x66, 0x91, + 0xFD, 0xA9, 0xE4, 0x35, 0x14, 0xB0, 0xC0, 0xC2, + 0x91, 0xFF, 0x92, 0x81, 0xB5, 0x0F, 0x94, 0xF6, + 0xE5, 0xB3, 0xBC, 0x8C, 0x42, 0xD8, 0xBE, 0x05, + 0xB8, 0x9E, 0x99, 0x1F, 0x89, 0xEF, 0xBA, 0x23, + 0xEF, 0xD4, 0xD7, 0x3F, 0xDA, 0xDC, 0xBB, 0xBC, + 0xF9, 0xF0, 0x52, 0x68, 0xC7, 0x7E, 0x84, 0x4B, + 0x78, 0x96, 0xE2, 0x62, 0x82, 0x93, 0xEC, 0xE7, + 0xFE, 0x2F, 0x89, 0xF0, 0x61, 0x3E, 0xEC, 0x22, + 0xEF, 0x5E, 0xBD, 0x95, 0x47, 0x8E, 0x18, 0x7D, + 0x6D, 0x0F, 0x8B, 0x52, 0x12, 0x70, 0x0A, 0x2D, + 0x60, 0xCD, 0x71, 0xF2, 0xB7, 0xB8, 0xB2, 0xBB, + 0xDF, 0x49, 0xEB, 0x9C, 0xBA, 0x18, 0x19, 0xA8, + 0xF6, 0x13, 0xE4, 0x26, 0x6C, 0xAC, 0x59, 0x00, + 0x3F, 0x86, 0x62, 0x50, 0xD4, 0x8B, 0x7D, 0x68, + 0xAE, 0x68, 0x58, 0xAA, 0x1E, 0xEC, 0xF0, 0xD4, + 0x79, 0xF1, 0x72, 0x74, 0x48, 0x04, 0x56, 0x7E, + 0xAA, 0x6F, 0x5B, 0xD5, 0x90, 0xEC, 0xA7, 0xE8, + 0xA7, 0xE8, 0xA7, 0xEA, 0xDC, 0xD4, 0x34, 0x70, + 0x8E, 0xE0, 0x0D, 0x7A, 0xDB, 0xED, 0xD3, 0xEC, + 0xDB, 0x19, 0x35, 0x2E, 0xE4, 0x1D, 0x19, 0x8B, + 0x9C, 0xE9, 0x4E, 0xE3, 0xA7, 0xA1, 0x15, 0x47, + 0x78, 0x3D, 0x24, 0xAE, 0xE1, 0x8A, 0xD2, 0x52, + 0x65, 0x3C, 0x2D, 0xB8, 0xE8, 0xD5, 0xD5, 0x8F, + 0xF5, 0x78, 0xAC, 0x98, 0x30, 0xA5, 0x02, 0x14, + 0xC9, 0xE0, 0x3E, 0xE3, 0x6C, 0x72, 0xC9, 0x30, + 0x96, 0xCF, 0x37, 0x33, 0x35, 0x78, 0x60, 0x69, + 0x7B, 0x8E, 0xDA, 0x19, 0xBE, 0xF1, 0xB2, 0x7F, + 0xEB, 0xAB, 0xC7, 0x5B, 0x2A, 0x54, 0xF3, 0x7B, + 0x00, 0x12, 0xA9, 0x8E, 0x82, 0xA2, 0x92, 0x69, + 0x8C, 0x2C, 0x22, 0x92, 0x33, 0xE3, 0x6A, 0x16, + 0x43, 0xD5, 0xB9, 0x3A, 0x01, 0x12, 0xEE, 0xF3, + 0x28, 0xD7, 0x12, 0xF6, 0x1D, 0x6A, 0xEF, 0xF0, + 0x28, 0x32, 0xE4, 0x7D, 0x95, 0x24, 0xC6, 0xCC, + 0x90, 0x07, 0xFB, 0x87, 0x73, 0x6B, 0x48, 0xF6, + 0x88, 0xAF, 0x4B, 0x45, 0xC9, 0x73, 0x4C, 0x49, + 0x25, 0x3D, 0xB2, 0xCB, 0x8A, 0xA0, 0x6A, 0x40, + 0x4C, 0x88, 0xD8, 0xE4, 0x7B, 0x8C, 0x6A, 0xB5, + 0xB5, 0x83, 0x01, 0x79, 0xE0, 0xCE, 0xF8, 0x08, + 0x8B, 0x5E, 0x10, 0xC4, 0xB6, 0x41, 0xC1, 0x46, + 0xFA, 0x35, 0x13, 0xE2, 0x6C, 0xE1, 0x5A, 0x1E, + 0x79, 0x21, 0x18, 0x39, 0x1C, 0x49, 0x37, 0x02, + 0x38, 0x9E, 0x22, 0x63, 0x1E, 0xD9, 0x22, 0xB5, + 0xDD, 0x0F, 0x40, 0x7E, 0x4E, 0xB0, 0xA6, 0x8D, + 0x15, 0x77, 0x1A, 0x9D, 0x4B, 0x85, 0xD4, 0x50, + 0xF0, 0x9F, 0x7F, 0x67, 0x61, 0xB2, 0x2F, 0x27, + 0x8B, 0x03, 0x61, 0xFB, 0x68, 0xFE, 0xD5, 0xE7, + 0x5F, 0x23, 0x80, 0x17, 0xD5, 0xD8, 0x11, 0x36, + 0x40, 0x14, 0x5D, 0xF9, 0x48, 0xFF, 0x41, 0xD3, + 0xDF, 0x07, 0xAE, 0x13, 0xF1, 0x53, 0x0C, 0xE7, + 0x90, 0x53, 0xEB, 0x24, 0xC9, 0xE1, 0xB7, 0xA1, + 0xB6, 0x7A, 0x6F, 0x97, 0x32, 0x32, 0x83, 0xA1, + 0xA3, 0x5B, 0xFF, 0xC9, 0x29, 0xF3, 0x7B, 0x4D, + 0xF5, 0x9F, 0x50, 0x5C, 0x66, 0x50, 0xCA, 0x10, + 0x45, 0xE4, 0x72, 0x8E, 0x76, 0x9F, 0xC4, 0xE5, + 0x85, 0xCC, 0x55, 0xDA, 0x6E, 0xE3, 0xBB, 0x6A, + 0x8D, 0xCE, 0xF8, 0x95, 0x60, 0x69, 0x13, 0x00, + 0xD6, 0x40, 0xB1, 0xFB, 0x21, 0xDB, 0x7B, 0x18, + 0xD9, 0xE2, 0x5B, 0x16, 0xD7, 0x68, 0x29, 0x05, + 0x70, 0x53, 0x3B, 0xBE, 0x28, 0x92, 0x91, 0x97, + 0x2D, 0x12, 0xDB, 0xD3, 0x1B, 0x89, 0xEB, 0x08, + 0xCE, 0x0B, 0x2A, 0xF4, 0x66, 0x74, 0x8C, 0x44, + 0x88, 0x5D, 0xA6, 0x35, 0x52, 0x25, 0x35, 0xE0, + 0x21, 0x7F, 0xE8, 0x4C, 0xD6, 0x59, 0x80, 0x1F, + 0xCC, 0x1E, 0x89, 0x92, 0xD7, 0x4A, 0xF0, 0xB2, + 0x64, 0x78, 0xB8, 0x44, 0x65, 0x57, 0xCF, 0xA1, + 0x00, 0x12, 0x5C, 0x6B, 0x58, 0xA3, 0x21, 0x17, + 0xC4, 0x22, 0xAE, 0x0B, 0xFB, 0x88, 0x16, 0x1D, + 0xEC, 0x0E, 0x3B, 0x36, 0x01, 0x12, 0xB4, 0x86, + 0xE5, 0x9E, 0x86, 0xDA, 0xAD, 0xC3, 0x56, 0x13, + 0x9F, 0x28, 0x88, 0xA8, 0xE5, 0x4A, 0x38, 0xCC, + 0x53, 0xD2, 0x28, 0x1A, 0x46, 0x62, 0x56, 0x53, + 0x3D, 0xAE, 0x3A, 0x21, 0x19, 0x60, 0x47, 0x4A, + 0xC6, 0xEB, 0x2A, 0xD4, 0x6C, 0xDC, 0xBE, 0x64, + 0x1E, 0x99, 0xA9, 0x92, 0xCC, 0x1A, 0x7B, 0x60, + 0x7A, 0xC0, 0x25, 0xC6, 0xEF, 0xD4, 0x9F, 0xB2, + 0xC6, 0x1B, 0x6B, 0x31, 0xE2, 0x96, 0x47, 0x58, + 0x8B, 0xEE, 0x97, 0x4B, 0x83, 0x96, 0xFA, 0xBE, + 0x22, 0x6D, 0xAD, 0xA8, 0x7B, 0x96, 0xD6, 0x49, + 0x25, 0x39, 0xE6, 0x40, 0x29, 0x3F, 0x44, 0x91, + 0x01, 0xE2, 0x1E, 0xD4, 0x7D, 0x18, 0xB4, 0x3B, + 0xDC, 0x4E, 0xDF, 0x98, 0x10, 0x3F, 0x94, 0xCD, + 0xE6, 0xE9, 0x28, 0xBE, 0xE2, 0xA9, 0x94, 0x10, + 0x63, 0x09, 0x06, 0x45, 0xDB, 0x8F, 0x17, 0x49, + 0x15, 0xE0, 0x6B, 0xE5, 0x00, 0x34, 0x12, 0x98, + 0xD8, 0x91, 0x3E, 0x87, 0xC4, 0xE0, 0x78, 0x3A, + 0xCA, 0xA4, 0x39, 0x57, 0x46, 0xE1, 0x2E, 0x59, + 0x5D, 0xF2, 0xC1, 0xD4, 0xBB, 0x94, 0x4C, 0x82, + 0xF5, 0x4A, 0xBD, 0xB2, 0x88, 0xF6, 0xC9, 0x12, + 0x6D, 0xF4, 0x73, 0xF6, 0x6E, 0x81, 0x5B, 0x78, + 0x23, 0xE4, 0x1C, 0x01, 0x8A, 0xBD, 0x46, 0x01, + 0xB1, 0x5F, 0xC8, 0xAB, 0xAF, 0x72, 0xD6, 0x31, + 0x20, 0x99, 0xE3, 0x9E, 0xCC, 0xC7, 0xC8, 0xCC, + 0x5B, 0x9A, 0x99, 0x03, 0xF3, 0xB2, 0xAE, 0xF4, + 0xD5, 0x28, 0x1F, 0x58, 0x3C, 0xBC, 0x49, 0x14, + 0x78, 0xE4, 0x23, 0xAE, 0x17, 0x28, 0xF2, 0xA9, + 0xB1, 0x96, 0x09, 0xB6, 0x99, 0x86, 0x26, 0x82, + 0x9F, 0xE3, 0xF0, 0x8F, 0xFC, 0x9D, 0xAA, 0x35, + 0x7C, 0xDA, 0x28, 0x22, 0xC1, 0xE8, 0x85, 0x7E, + 0xD7, 0xA1, 0xFF, 0x5E, 0xFA, 0x5A, 0x60, 0x1C, + 0x3F, 0x27, 0xC1, 0x0C, 0x3A, 0x8B, 0xAC, 0xF8, + 0x51, 0x68, 0xC8, 0xDD, 0x2A, 0xF1, 0x01, 0x02, + 0xE6, 0x21, 0x04, 0x0A, 0x3E, 0xA0, 0xDB, 0xF8, + 0x00, 0x12, 0x99, 0xD8, 0x89, 0x0F, 0xCA, 0xD1, + 0x54, 0x2A, 0x15, 0xF0, 0x32, 0x37, 0x10, 0x25, + 0xCB, 0xA3, 0xCC, 0xFB, 0x01, 0x12, 0x9B, 0xDD, + 0xE6, 0x50, 0x19, 0x79, 0x6A, 0x12, 0x49, 0x02, + 0x66, 0xF1, 0x3C, 0x98, 0xA7, 0x30, 0x0A, 0x49, + 0x85, 0xD8, 0x48, 0xFF, 0xA5, 0x20, 0x50, 0x68, + 0xF8, 0xEB, 0xD9, 0xDA, 0x31, 0xF2, 0x25, 0x21, + 0x3B, 0xA1, 0x6D, 0xDC, 0xA5, 0x62, 0x6D, 0xB9, + 0x0D, 0xD8, 0x90, 0x29, 0xC7, 0x77, 0xF0, 0x26, + 0xA5, 0xD0, 0xAD, 0x0B, 0x85, 0x68, 0x19, 0x6A, + 0x88, 0xFF, 0xBE, 0xB0, 0xFC, 0xFC, 0x82, 0x59, + 0xFA, 0x3A, 0xB4, 0x40, 0x8D, 0x90, 0x3F, 0xC6, + 0x27, 0xA5, 0x30, 0x0D, 0xB4, 0x8B, 0xFF, 0xE1, + 0xF6, 0x40, 0xFF, 0xFE, 0xD2, 0x80, 0x10, 0x32, + 0x80, 0x27, 0x05, 0x79, 0x58, 0xD1, 0x0A, 0xF5, + 0x05, 0x31, 0x90, 0x3A, 0x6E, 0x83, 0xEE, 0x81, + 0x8F, 0x56, 0x9F, 0xD8, 0x1E, 0xEA, 0xBD, 0x8B, + 0x89, 0x86, 0xF9, 0xD8, 0x34, 0x04, 0x6A, 0x72, + 0x1F, 0xEE, 0x41, 0xBB, 0x58, 0xC0, 0xC4, 0xE1, + 0x23, 0x95, 0xA5, 0x0C, 0x69, 0xE3, 0xE0, 0xF7, + 0x80, 0x3A, 0x3B, 0xDD, 0xC8, 0x98, 0x6A, 0x9B, + 0xC4, 0xDA, 0x24, 0x8B, 0x36, 0x64, 0xEF, 0x6C, + 0x8C, 0xAC, 0x93, 0xBA, 0x91, 0x75, 0x8C, 0x87, + 0x7D, 0x8E, 0xB7, 0x96, 0xBE, 0xC6, 0xDD, 0x2C, + 0x7B, 0xC8, 0x11, 0x5E, 0xB6, 0xC4, 0xF3, 0x69, + 0x3F, 0x4D, 0xE8, 0x3D, 0x85, 0x53, 0xBE, 0x5A, + 0xF9, 0x06, 0x6F, 0x64, 0x39, 0x38, 0xC6, 0xDB, + 0x0A, 0xEC, 0xD9, 0x0E, 0xC5, 0x62, 0x4E, 0x62, + 0x09, 0x5B, 0xB7, 0x5E, 0xD6, 0x1C, 0x60, 0x44, + 0x13, 0x7A, 0x01, 0x46, 0x56, 0x62, 0x4F, 0x1C, + 0x2A, 0x8E, 0xCB, 0x43, 0x51, 0x9C, 0x2F, 0x0D, + 0x02, 0x3D, 0x10, 0x20, 0x3C, 0x06, 0x43, 0x30, + 0x46, 0xD8, 0x39, 0xD2, 0x78, 0x0A, 0xFD, 0x37, + 0xBF, 0x48, 0xAC, 0x26, 0x2E, 0x31, 0x58, 0x28, + 0x10, 0x8D, 0xC9, 0xEF, 0xF5, 0x1E, 0xC9, 0xC2, + 0x29, 0x67, 0x96, 0x3E, 0xE9, 0x14, 0x88, 0x31, + 0x13, 0x5F, 0xD1, 0xC8, 0x54, 0x67, 0x15, 0xA4, + 0x00, 0x12, 0x89, 0xFB, 0x4B, 0xC3, 0x7A, 0xD4, + 0x61, 0x8A, 0x4C, 0xF2, 0xDE, 0x35, 0x53, 0xE6, + 0x98, 0xE1, 0x6C, 0x31, 0x01, 0x12, 0x95, 0xC4, + 0xC3, 0xCD, 0x9E, 0xD2, 0x08, 0xDE, 0xB1, 0x68, + 0x7A, 0x14, 0x37, 0x43, 0x3B, 0x7F, 0x02, 0x92, + 0x2C, 0xAE, 0x08, 0x6D, 0xE6, 0xBC, 0x5B, 0x63, + 0x03, 0xF6, 0xBF, 0x46, 0xC1, 0xD1, 0x41, 0x0E, + 0x62, 0x0F, 0x57, 0xDA, 0xE0, 0xB2, 0x0D, 0x84, + 0x59, 0x91, 0xD9, 0xF1, 0x51, 0xB6, 0x1A, 0x63, + 0xF7, 0x0E, 0x0D, 0xED, 0x38, 0xAD, 0xF6, 0x0B, + 0x2F, 0xA1, 0x3C, 0x70, 0xDC, 0x15, 0x4F, 0x76, + 0x35, 0x02, 0x1B, 0xB6, 0x3D, 0x3A, 0xE5, 0xDE, + 0xDA, 0x21, 0xDA, 0x59, 0xFE, 0x74, 0x63, 0xB4, + 0xBC, 0xD6, 0xCA, 0x1A, 0x3D, 0xBD, 0xAE, 0xC0, + 0xD3, 0xF9, 0xDC, 0x24, 0x87, 0x24, 0x7A, 0x02, + 0xA8, 0xD7, 0x8B, 0x3D, 0xB3, 0xB5, 0x0B, 0x6C, + 0x9C, 0xD2, 0x5D, 0x58, 0xAE, 0xFD, 0x05, 0xAC, + 0x1B, 0xB6, 0x92, 0xBA, 0xE1, 0x59, 0x50, 0xDF, + 0x06, 0x08, 0xD1, 0xD4, 0xED, 0x72, 0xDC, 0xE9, + 0x92, 0x3A, 0x77, 0x94, 0x57, 0xC8, 0x32, 0x4E, + 0x83, 0xFA, 0x94, 0x44, 0x59, 0x38, 0x91, 0x2A, + 0x76, 0x3C, 0x2B, 0xD7, 0xA5, 0x5A, 0xFC, 0xA9, + 0x11, 0xBB, 0x53, 0xCE, 0xF1, 0x56, 0x78, 0xF8, + 0x02, 0x0E, 0x2D, 0xF3, 0xCC, 0x60, 0x70, 0x98, + 0xAE, 0x91, 0xBA, 0x06, 0x72, 0xA5, 0xE8, 0x13, + 0x96, 0x86, 0x37, 0x37, 0xFB, 0x3B, 0x17, 0xA9, + 0x37, 0x6F, 0x0D, 0xA2, 0x0C, 0x1E, 0x96, 0xA1, + 0x9F, 0x3E, 0xB4, 0x01, 0x66, 0xA1, 0xF3, 0xBB, + 0x8F, 0x8E, 0x1A, 0x0C, 0x22, 0xBF, 0xC4, 0x5F, + 0x5D, 0xC0, 0xB1, 0xE7, 0x33, 0xA8, 0xA6, 0xE0, + 0x8F, 0xE7, 0x9A, 0x9F, 0xD3, 0xFC, 0x7F, 0xA1, + 0x90, 0x15, 0x10, 0x75, 0x92, 0x9C, 0x1B, 0xA6, + 0x03, 0xB9, 0xC2, 0xCC, 0xFF, 0xE3, 0x10, 0xAE, + 0xC1, 0x58, 0xB8, 0x0F, 0x30, 0x39, 0x5F, 0xDE, + 0xC7, 0x77, 0x7F, 0xE3, 0xDB, 0xFC, 0x3F, 0x60, + 0x74, 0x47, 0x6A, 0x04, 0x6E, 0x09, 0x82, 0x2A, + 0x53, 0x84, 0x7C, 0xF8, 0x99, 0x48, 0x11, 0x40, + 0x00, 0x12, 0x76, 0x53, 0x54, 0x71, 0xE5, 0x84, + 0xD7, 0xFB, 0x5E, 0x83, 0xF7, 0xD2, 0x18, 0x6F, + 0x4C, 0x56, 0x43, 0xAB, 0x01, 0x12, 0x6C, 0xF8, + 0x45, 0xEE, 0xC2, 0x90, 0xA9, 0xBF, 0x9C, 0x60, + 0x4A, 0x22, 0xDD, 0x89, 0xE0, 0x16, 0x90, 0x7F, + 0x82, 0xBF, 0x1E, 0x90, 0x40, 0xDE, 0xE5, 0x17, + 0x77, 0x47, 0x1F, 0xC6, 0x1E, 0xDE, 0x54, 0x92, + 0x3B, 0xDD, 0x5F, 0x73, 0x94, 0x98, 0xAF, 0xB7, + 0x83, 0x7C, 0x33, 0x6A, 0x2B, 0x31, 0x5D, 0x14, + 0x85, 0xB1, 0xE3, 0x82, 0xA2, 0x2D, 0x80, 0x8A, + 0xF3, 0xA9, 0xC7, 0x3D, 0x9A, 0xF0, 0xC1, 0x03, + 0x25, 0xAE, 0xD5, 0x2A, 0x3E, 0x99, 0x97, 0x9B, + 0x87, 0x9D, 0x23, 0x83, 0x81, 0xAD, 0xFF, 0xDD, + 0x2B, 0x2A, 0x2A, 0xE9, 0xD7, 0xC5, 0xBF, 0x22, + 0x59, 0xB9, 0x48, 0x49, 0xA1, 0x41, 0x89, 0xDE, + 0x1D, 0x7B, 0xBA, 0x0C, 0x31, 0xBD, 0x9C, 0xE8, + 0x18, 0x58, 0xD9, 0x09, 0xFD, 0x72, 0x65, 0x69, + 0x7B, 0x0D, 0xA9, 0x93, 0x61, 0x2C, 0xA5, 0x3D, + 0xE3, 0x5E, 0xEE, 0x36, 0x7D, 0x6B, 0xEA, 0x4C, + 0x09, 0x22, 0xB8, 0x27, 0xDF, 0x69, 0xD8, 0xDF, + 0x6B, 0x4B, 0xEE, 0x64, 0xFE, 0x3E, 0x02, 0x65, + 0x44, 0xB3, 0x34, 0xBC, 0x30, 0xC6, 0x92, 0x46, + 0xE1, 0xBD, 0x0E, 0x37, 0xFB, 0xEF, 0xE2, 0xA5, + 0x12, 0x03, 0x6F, 0x39, 0xEC, 0x64, 0x3E, 0xE9, + 0x73, 0xAC, 0x4E, 0x41, 0x35, 0x02, 0x31, 0x0F, + 0xFB, 0x4C, 0x0F, 0xA6, 0x31, 0xB5, 0x4C, 0x92, + 0xF5, 0x8D, 0x80, 0x8C, 0xEF, 0x60, 0x75, 0x3D, + 0x85, 0x20, 0x99, 0x20, 0x07, 0xC4, 0xCF, 0x6C, + 0x55, 0xA0, 0x46, 0x52, 0xF0, 0xB1, 0x9A, 0xE9, + 0x26, 0xAA, 0xF4, 0x56, 0x94, 0xDE, 0x2C, 0x93, + 0x31, 0x08, 0xFA, 0xC7, 0x98, 0x04, 0x1E, 0x22, + 0x77, 0x6F, 0x74, 0x51, 0x1A, 0xC1, 0x6B, 0x4A, + 0xDE, 0xBD, 0x77, 0xE6, 0x3F, 0x73, 0x5D, 0x18, + 0x31, 0xC9, 0x66, 0xB8, 0x94, 0xE1, 0x73, 0x9D, + 0x75, 0x81, 0x23, 0xA9, 0x7E, 0x66, 0xAB, 0x8E, + 0x96, 0xF9, 0x11, 0xF7, 0x90, 0xC4, 0xBC, 0x4D, + 0x67, 0xF5, 0x21, 0x27, 0x04, 0xD0, 0xB3, 0x61, + 0x00, 0x12, 0x4A, 0xD0, 0x26, 0xC9, 0xAB, 0xC0, + 0x38, 0xF9, 0xAD, 0x04, 0x19, 0xD8, 0x89, 0x3C, + 0xBF, 0x46, 0xA0, 0x3B, 0x01, 0x12, 0x71, 0x42, + 0x68, 0xAA, 0x51, 0xB5, 0xA8, 0x23, 0xBC, 0xB3, + 0xED, 0xE5, 0x83, 0xC9, 0x0E, 0x11, 0x8F, 0x6D, + 0x3F, 0x20, 0x6B, 0x9D, 0x40, 0x5E, 0x97, 0xE1, + 0xB5, 0x51, 0x85, 0x9C, 0x1E, 0xFC, 0x45, 0xD9, + 0x84, 0x3F, 0xF2, 0xD6, 0x77, 0xDF, 0x23, 0x87, + 0xA1, 0xB7, 0xB5, 0x06, 0xA2, 0x7D, 0x60, 0xD6, + 0xA3, 0x5A, 0x04, 0x0F, 0x74, 0x9D, 0xF4, 0xA6, + 0xD5, 0x01, 0x89, 0xB2, 0x51, 0xC2, 0x9A, 0xAE, + 0x77, 0x90, 0xEC, 0xA0, 0xFE, 0xF7, 0xAF, 0x4E, + 0x93, 0xE8, 0x7E, 0xB5, 0xAA, 0xF4, 0x8C, 0x66, + 0xCF, 0xD2, 0x49, 0xD3, 0x73, 0x93, 0x70, 0x22, + 0xE6, 0x33, 0x61, 0xEE, 0x63, 0xC1, 0x0C, 0x29, + 0xE8, 0xBB, 0x47, 0x1A, 0x20, 0x60, 0x6A, 0x64, + 0x5C, 0xC6, 0x8E, 0x4D, 0xDC, 0x56, 0xE9, 0x81, + 0x1C, 0x5A, 0xBC, 0x68, 0x33, 0x25, 0xD6, 0xD6, + 0xC4, 0x12, 0x54, 0x42, 0x42, 0xAE, 0x04, 0x34, + 0x3A, 0xCD, 0x60, 0x7D, 0x35, 0x52, 0x98, 0xA7, + 0x04, 0x85, 0xDE, 0xDB, 0xBC, 0x4B, 0xA8, 0x9B, + 0xE2, 0x9D, 0xF8, 0x8D, 0x12, 0x5E, 0xCB, 0xA9, + 0xCA, 0x66, 0x6D, 0xE1, 0x56, 0xD0, 0x77, 0xD1, + 0x56, 0xA0, 0xFA, 0xD0, 0xD3, 0xF0, 0x40, 0x7A, + 0x95, 0x57, 0x25, 0x1E, 0xF8, 0x46, 0xE7, 0x70, + 0x38, 0x45, 0x31, 0x29, 0x37, 0xCF, 0x50, 0x11, + 0xEA, 0xF7, 0x76, 0x81, 0x91, 0xD1, 0xCC, 0xD0, + 0xCD, 0x15, 0x58, 0x71, 0x63, 0x1F, 0xCC, 0x1B, + 0xA0, 0x7F, 0x43, 0x81, 0x18, 0x96, 0xEE, 0xAF, + 0x39, 0xB2, 0x5C, 0x8A, 0x75, 0x84, 0x17, 0xEC, + 0xD6, 0xA3, 0x32, 0x0F, 0x60, 0xB1, 0xC3, 0xB0, + 0xEE, 0x70, 0xE7, 0xD9, 0x0D, 0x77, 0xEA, 0xCC, + 0xEC, 0x96, 0x5B, 0x08, 0x7A, 0x83, 0xB2, 0x80, + 0x12, 0x2D, 0xAF, 0x61, 0x64, 0x56, 0x39, 0xA2, + 0x51, 0x10, 0xFF, 0x5B, 0xB7, 0x83, 0xCB, 0xD9, + 0x43, 0x0A, 0x9D, 0x36, 0x9A, 0xEB, 0x8E, 0xE4, + 0xDB, 0x7A, 0xAD, 0x13, 0x28, 0xFA, 0xF8, 0x62, + 0x00, 0x12, 0x29, 0x6E, 0x35, 0x86, 0x66, 0x00, + 0x35, 0x31, 0x8F, 0xD5, 0xA9, 0xB3, 0xE4, 0x4D, + 0xC1, 0x22, 0x47, 0x0F, 0x01, 0x12, 0xEC, 0x92, + 0x37, 0x63, 0xB9, 0x30, 0xC3, 0xD1, 0xA7, 0xAB, + 0xCB, 0x13, 0x36, 0x26, 0x1D, 0xDC, 0x7D, 0x1C, + 0x64, 0x0A, 0xE9, 0x76, 0x34, 0xD2, 0x6D, 0x03, + 0xAA, 0xEA, 0x19, 0x78, 0x68, 0x21, 0x6F, 0x02, + 0x39, 0xC8, 0x82, 0x45, 0xD8, 0xB9, 0xAB, 0x26, + 0x92, 0x34, 0xE7, 0x37, 0x4F, 0x94, 0x26, 0x7F, + 0x83, 0x8E, 0x8F, 0xCE, 0x24, 0xE4, 0xDC, 0xA2, + 0xDE, 0x97, 0x77, 0x9C, 0x39, 0x4C, 0xBD, 0x39, + 0x8A, 0x45, 0xD3, 0xF9, 0xAC, 0x70, 0xE2, 0xDD, + 0xAD, 0x11, 0xE3, 0xE1, 0x7D, 0x2C, 0x3C, 0xBE, + 0x34, 0xCE, 0x0E, 0xF6, 0x76, 0x60, 0xCD, 0x6B, + 0x07, 0x96, 0x6B, 0xF3, 0x19, 0xDB, 0x58, 0x4D, + 0x7E, 0x5F, 0x90, 0x18, 0x61, 0x71, 0xAD, 0x85, + 0xDD, 0x27, 0x67, 0x31, 0x6A, 0x06, 0x33, 0xEF, + 0x1B, 0x9F, 0x77, 0xA4, 0x49, 0x9B, 0xA0, 0xE6, + 0x8E, 0x18, 0x09, 0x7D, 0x99, 0x8A, 0x4D, 0x00, + 0x4F, 0x27, 0x24, 0xB5, 0xA0, 0x02, 0x08, 0x47, + 0xC8, 0x41, 0x4A, 0x2A, 0xDE, 0x0F, 0x60, 0x24, + 0xEF, 0xB5, 0x48, 0x12, 0x88, 0xAB, 0x90, 0x97, + 0xFB, 0xB4, 0x58, 0x86, 0x7F, 0xF9, 0xAA, 0x52, + 0x55, 0xA5, 0x8E, 0x43, 0xC9, 0x60, 0x6D, 0x04, + 0x97, 0x50, 0x4C, 0xAA, 0x45, 0xB5, 0x22, 0x32, + 0x89, 0xB2, 0x99, 0x48, 0x64, 0x1E, 0xEC, 0x81, + 0xC5, 0x7C, 0x7C, 0x9F, 0x3A, 0x40, 0x0B, 0x4E, + 0xC3, 0x56, 0xF2, 0xCB, 0x74, 0x00, 0x8D, 0x57, + 0x49, 0xCB, 0xFA, 0xA6, 0x79, 0x56, 0x26, 0xB4, + 0x98, 0xDB, 0x5A, 0x97, 0xAB, 0x35, 0x5D, 0xFE, + 0x88, 0xD5, 0xA4, 0xDB, 0xD6, 0xB9, 0xBE, 0xF5, + 0xA9, 0xC4, 0xE5, 0x53, 0x71, 0xD1, 0xF7, 0x57, + 0x47, 0x12, 0x9A, 0xE2, 0xB9, 0x3C, 0xB2, 0x07, + 0x3E, 0x84, 0xD2, 0x13, 0x66, 0x40, 0xC9, 0xD0, + 0x18, 0x7A, 0x14, 0xB8, 0x6A, 0xE2, 0xB4, 0x2A, + 0xD4, 0x27, 0xE9, 0x82, 0x13, 0x8B, 0x4F, 0x8F, + 0x67, 0x73, 0xB3, 0x4D, 0x90, 0xD4, 0xB7, 0xA2, + 0x00, 0x12, 0x7C, 0x45, 0xBC, 0x2E, 0x7E, 0x04, + 0x2F, 0x52, 0xE4, 0x8B, 0xAE, 0x22, 0xA9, 0xD7, + 0xF7, 0x0B, 0x7A, 0x09, 0x01, 0x12, 0x02, 0xA0, + 0x6E, 0x76, 0xE1, 0x3F, 0x78, 0x71, 0xDE, 0x92, + 0x81, 0x53, 0x8B, 0x79, 0x54, 0xCC, 0x20, 0x50, + 0x27, 0x01, 0x8C, 0x1E, 0x14, 0xC4, 0x7B, 0xDC, + 0xD1, 0xA0, 0x01, 0xCD, 0x8B, 0xA6, 0xDA, 0xDF, + 0x87, 0x62, 0xA7, 0xD1, 0xA9, 0x25, 0x32, 0x22, + 0xBF, 0x33, 0xA4, 0x04, 0xB3, 0x9C, 0x19, 0x50, + 0x89, 0x0D, 0x15, 0xC3, 0xC6, 0x9F, 0x20, 0x67, + 0xC0, 0xC9, 0x14, 0xC7, 0x7D, 0x84, 0x8D, 0x58, + 0xBE, 0x85, 0xFA, 0xE9, 0x67, 0x5B, 0x43, 0xF6, + 0xAC, 0x0B, 0x95, 0x12, 0xB3, 0xBB, 0x03, 0x0B, + 0xA6, 0x81, 0x6A, 0xF7, 0x0C, 0x78, 0x71, 0x1F, + 0x47, 0xC2, 0x4A, 0xFB, 0x03, 0x89, 0x8F, 0x1C, + 0x40, 0x52, 0xD6, 0xFA, 0x35, 0x10, 0x6A, 0x20, + 0xBB, 0xF5, 0x74, 0x15, 0xE9, 0x97, 0x34, 0xEB, + 0x1E, 0xD6, 0x37, 0xB1, 0x19, 0x45, 0x9A, 0x9E, + 0x8E, 0x8C, 0x48, 0x79, 0x5D, 0x11, 0x6D, 0xF2, + 0xAE, 0x8B, 0xF3, 0x3A, 0x0C, 0x35, 0xCD, 0x20, + 0xC2, 0x70, 0xBE, 0x5B, 0x19, 0xD9, 0xED, 0x52, + 0xB2, 0xAC, 0x5F, 0x09, 0x5F, 0x8A, 0x73, 0x0E, + 0x0E, 0xAD, 0x2A, 0x7C, 0xDC, 0x08, 0xE8, 0xB3, + 0x14, 0x48, 0x19, 0x6F, 0x66, 0xB9, 0xDB, 0xBB, + 0x77, 0x6A, 0x98, 0x89, 0xD0, 0x50, 0x54, 0x08, + 0xF0, 0x31, 0x64, 0x02, 0x50, 0x89, 0xC6, 0x59, + 0xBE, 0x80, 0xDB, 0x83, 0x19, 0x0F, 0xFE, 0xE9, + 0x47, 0x28, 0x6D, 0xA0, 0x27, 0xBF, 0x48, 0xAD, + 0x02, 0x5E, 0x4A, 0x4E, 0x9C, 0xE8, 0xDF, 0xF9, + 0x2D, 0x40, 0x35, 0x89, 0x29, 0x3B, 0x79, 0xC7, + 0x64, 0x7C, 0xD3, 0x21, 0xFA, 0xAE, 0x76, 0xE1, + 0x9E, 0x0C, 0xB8, 0x0D, 0xA4, 0x3A, 0xEF, 0xD9, + 0x81, 0x81, 0x0D, 0xC3, 0xE8, 0xE2, 0x92, 0x2F, + 0x1E, 0xAD, 0x07, 0x66, 0x29, 0xAB, 0x35, 0x8E, + 0x18, 0xDE, 0xCB, 0x0F, 0xE3, 0xEA, 0x38, 0x71, + 0xAC, 0x16, 0x55, 0x4C, 0x03, 0xA6, 0xFA, 0x31, + 0x65, 0x11, 0x32, 0x74, 0x97, 0x00, 0x2A, 0xA4, + 0x00, 0x12, 0x08, 0x27, 0xB3, 0xDF, 0x41, 0xC9, + 0x21, 0x94, 0xD4, 0x50, 0xEA, 0xF1, 0x07, 0xB0, + 0xCD, 0x0B, 0x05, 0xF9, 0x01, 0x12, 0x93, 0x4C, + 0xDD, 0xB0, 0x45, 0x11, 0x36, 0x4F, 0xAA, 0x28, + 0xA6, 0xBF, 0x6E, 0x72, 0x4C, 0x44, 0x5C, 0xAA, + 0xEF, 0x35, 0xE7, 0x2A, 0x0F, 0xF7, 0xFB, 0x26, + 0xFC, 0xC7, 0xE7, 0x62, 0x0F, 0x77, 0xC7, 0x47, + 0x32, 0x22, 0x2A, 0xA0, 0x5D, 0xD8, 0xA4, 0xE6, + 0x71, 0xF8, 0xF8, 0x12, 0xAD, 0xAC, 0x85, 0xAC, + 0x7B, 0x73, 0x09, 0x44, 0x31, 0x7B, 0x4C, 0x40, + 0x2B, 0xD5, 0x10, 0x49, 0xC2, 0x96, 0x98, 0xE4, + 0xB6, 0xA7, 0x3A, 0x7E, 0xBF, 0x26, 0x00, 0xD0, + 0xFD, 0x74, 0xE5, 0x59, 0xB5, 0x09, 0x72, 0xD1, + 0x42, 0x3C, 0xA1, 0xC4, 0xE2, 0xBF, 0xEC, 0x4E, + 0x77, 0x78, 0xC2, 0x8A, 0xC3, 0x1F, 0x37, 0x37, + 0xC7, 0x7C, 0x42, 0xF2, 0x74, 0xDB, 0xC0, 0x4D, + 0x78, 0x3B, 0x10, 0xA0, 0x01, 0x8F, 0x2B, 0xF5, + 0x92, 0x31, 0xC4, 0x54, 0xA8, 0x73, 0xD0, 0x1D, + 0xFC, 0xB1, 0x6F, 0x9D, 0xD4, 0x79, 0xA6, 0xBB, + 0x4E, 0x8D, 0x50, 0x21, 0xB4, 0x99, 0xBA, 0x5A, + 0x46, 0x3D, 0xA3, 0xF0, 0x1E, 0x24, 0x91, 0x18, + 0xD1, 0x43, 0x0D, 0x3D, 0x39, 0x0B, 0x76, 0x18, + 0x13, 0x94, 0x14, 0x79, 0x60, 0xA6, 0xCB, 0x96, + 0x14, 0xFF, 0x4A, 0x6B, 0xB3, 0xC1, 0x40, 0x70, + 0xCC, 0x15, 0x95, 0x81, 0xD5, 0x39, 0x17, 0x61, + 0x60, 0xE1, 0x0C, 0xB2, 0xBD, 0x3D, 0xCC, 0xA8, + 0xCF, 0xDF, 0x8E, 0xE9, 0x2A, 0x7B, 0x71, 0x2C, + 0xF7, 0xA6, 0x23, 0xBE, 0xF8, 0x17, 0x95, 0x63, + 0xD5, 0xDC, 0xD3, 0xF7, 0x61, 0x69, 0x98, 0x1F, + 0x3B, 0x0B, 0x0A, 0x31, 0x27, 0xE8, 0xA5, 0x9F, + 0xC1, 0xF9, 0x4C, 0x4B, 0x37, 0x16, 0x99, 0x06, + 0xC8, 0xF2, 0x8A, 0xE0, 0x4D, 0xCF, 0x18, 0xD4, + 0x03, 0x25, 0x3E, 0xC2, 0xCF, 0x19, 0x3C, 0x6C, + 0x26, 0xCC, 0x57, 0x49, 0x68, 0x8C, 0xC3, 0x95, + 0x96, 0x43, 0x6A, 0xFC, 0x0B, 0xD5, 0x50, 0xFC, + 0xA6, 0x44, 0x36, 0xFC, 0x7B, 0x86, 0xDE, 0xE9, + 0x75, 0xE7, 0xA7, 0xA6, 0x94, 0x70, 0x0F, 0x3D, + 0x00, 0x12, 0x07, 0x64, 0x5A, 0x88, 0x96, 0xF5, + 0xF6, 0x9E, 0x57, 0x10, 0x31, 0x94, 0x55, 0x15, + 0x75, 0xAB, 0xC2, 0xAD, 0x01, 0x12, 0xAF, 0x8D, + 0xAF, 0x6B, 0x97, 0x71, 0xF5, 0x21, 0x44, 0x8F, + 0x4A, 0xA0, 0x33, 0x4C, 0xD2, 0x2E, 0xE7, 0xBA, + 0x76, 0x40, 0x75, 0xFC, 0xC5, 0x18, 0x05, 0xDB, + 0x94, 0x37, 0xDC, 0x33, 0xFF, 0x9D, 0x9B, 0x62, + 0x64, 0x92, 0xC1, 0x4C, 0x9B, 0x7B, 0xE0, 0x10, + 0x04, 0xD0, 0xFA, 0x34, 0x01, 0x76, 0x7D, 0x75, + 0xF2, 0x3B, 0x5F, 0xB4, 0x2F, 0x44, 0x08, 0xAF, + 0xF9, 0x64, 0x6C, 0xEC, 0xE3, 0xC2, 0x3C, 0xDC, + 0x09, 0x21, 0x8C, 0xBD, 0xD6, 0x1A, 0x8B, 0x8D, + 0x23, 0xD8, 0x7B, 0xD0, 0xC0, 0x6A, 0x39, 0xC6, + 0x42, 0x73, 0x70, 0xA2, 0x89, 0x35, 0x67, 0x08, + 0x53, 0x93, 0xDD, 0xAD, 0x07, 0x50, 0x0A, 0xDE, + 0x60, 0x0A, 0xD7, 0xBC, 0x21, 0x53, 0x43, 0x68, + 0x62, 0x67, 0x50, 0x9A, 0xA8, 0xE6, 0x51, 0x0F, + 0xA5, 0x6A, 0x88, 0x78, 0x17, 0x04, 0x51, 0x78, + 0x34, 0x3F, 0x4C, 0x41, 0x82, 0x19, 0x6B, 0x8C, + 0x35, 0x30, 0x59, 0xE2, 0x4C, 0xD1, 0x83, 0x2B, + 0x19, 0xF7, 0x1D, 0x87, 0x84, 0xB0, 0xE8, 0xD2, + 0x46, 0xD8, 0x49, 0x57, 0xA6, 0xC0, 0xDD, 0xD2, + 0xDF, 0xBD, 0x35, 0xBD, 0xEC, 0xCF, 0x9E, 0x58, + 0x8A, 0xA7, 0x3E, 0x29, 0x67, 0x77, 0xA4, 0x8D, + 0xD3, 0xC8, 0xF2, 0xE7, 0x96, 0xDA, 0x09, 0x7D, + 0x6B, 0xD7, 0xBD, 0x05, 0x15, 0x0D, 0x33, 0x9B, + 0x30, 0x37, 0x73, 0x83, 0x28, 0x52, 0x26, 0x3A, + 0xC2, 0x41, 0x3A, 0x38, 0x82, 0xC9, 0x62, 0x72, + 0x9D, 0x2E, 0x25, 0xF3, 0xEF, 0x5B, 0xE7, 0xB8, + 0x5F, 0x8D, 0xC7, 0x2F, 0x40, 0x92, 0x72, 0xD8, + 0x13, 0xB4, 0x0E, 0x77, 0x45, 0xFA, 0x71, 0x99, + 0x03, 0x4D, 0xAE, 0x23, 0xBA, 0x15, 0xA1, 0x44, + 0xD6, 0x60, 0xB7, 0xB9, 0x2B, 0xE1, 0xEA, 0x5C, + 0xC2, 0x46, 0xEE, 0xD7, 0xFF, 0xF2, 0x84, 0xBE, + 0x9D, 0x6D, 0xD4, 0x9E, 0x5B, 0xD0, 0xDE, 0x25, + 0x4E, 0x44, 0x65, 0x70, 0xC3, 0xC6, 0xC6, 0x7B, + 0x44, 0xEE, 0x70, 0xF1, 0xF1, 0xF3, 0x36, 0x67, + 0x00, 0x12, 0x81, 0x2C, 0x97, 0x7A, 0xA6, 0x88, + 0x15, 0xC6, 0x9D, 0x11, 0x91, 0x2D, 0xC0, 0xC5, + 0x7C, 0x23, 0x03, 0x5C, 0x01, 0x12, 0xB2, 0xBE, + 0x4C, 0xCF, 0x18, 0x11, 0x69, 0xF5, 0xC0, 0x19, + 0x14, 0xBB, 0x71, 0x21, 0x59, 0x99, 0xED, 0x84, + 0xDC, 0xAF, 0x9F, 0x2C, 0x5D, 0x53, 0x1E, 0x97, + 0x6D, 0x38, 0x33, 0x14, 0x42, 0xE1, 0x23, 0x16, + 0xE8, 0x8E, 0xE1, 0x77, 0xA0, 0xB1, 0x39, 0x60, + 0x8B, 0x12, 0x56, 0xD2, 0x59, 0x4F, 0x8E, 0xC4, + 0x9C, 0x23, 0xB7, 0xE3, 0x46, 0x08, 0x73, 0x9D, + 0x90, 0xCB, 0xE7, 0x75, 0xA8, 0x43, 0x7D, 0x60, + 0x7A, 0x75, 0xEE, 0x6D, 0x34, 0x3A, 0x35, 0xC2, + 0x4A, 0x94, 0xA4, 0x8D, 0x3E, 0xC1, 0xFC, 0x5E, + 0x50, 0x68, 0x42, 0x25, 0x22, 0x96, 0xD4, 0xF7, + 0x7B, 0xA6, 0xFA, 0x55, 0x68, 0xFC, 0xB1, 0x77, + 0x43, 0x8F, 0xD7, 0x28, 0x27, 0x98, 0x8D, 0xFA, + 0x89, 0xE1, 0xB1, 0xED, 0x8A, 0xDB, 0xBE, 0x8B, + 0xED, 0xF8, 0xCC, 0xD1, 0xDC, 0x86, 0xFA, 0xE8, + 0xD8, 0xF1, 0x05, 0x4C, 0x33, 0xEE, 0x9A, 0xB1, + 0x48, 0x5F, 0x9C, 0x52, 0x09, 0xB3, 0x10, 0xF5, + 0xEF, 0x09, 0x62, 0xC9, 0xBB, 0xAF, 0x6E, 0x00, + 0x86, 0x81, 0xFE, 0xAD, 0xCA, 0x1A, 0xA0, 0x24, + 0x20, 0x1A, 0xB7, 0xD3, 0x8D, 0x93, 0x10, 0xA4, + 0x25, 0xB1, 0x2F, 0xB6, 0xC6, 0x17, 0x51, 0x14, + 0x3A, 0xA2, 0xF7, 0x08, 0xCB, 0xC7, 0x80, 0x23, + 0x92, 0xD9, 0x29, 0xC6, 0x75, 0x1F, 0xC1, 0x0C, + 0xFC, 0x76, 0xEA, 0xAA, 0x3F, 0x2A, 0xE9, 0x4B, + 0x14, 0x83, 0x2F, 0xC3, 0xC4, 0x69, 0x41, 0x69, + 0x99, 0xD4, 0xE7, 0x54, 0xCA, 0x3A, 0xFE, 0x87, + 0x51, 0x19, 0xE7, 0x70, 0xCD, 0xA1, 0x87, 0x5B, + 0xB5, 0x54, 0x7D, 0xFE, 0xF2, 0x37, 0x2E, 0x67, + 0xFF, 0x93, 0xAD, 0xD9, 0x0C, 0x13, 0x83, 0xDD, + 0xC0, 0x41, 0xBC, 0xC5, 0x5F, 0xD7, 0xFA, 0x1A, + 0x27, 0x96, 0x75, 0xE6, 0x4D, 0xA0, 0x73, 0x0B, + 0x6A, 0x12, 0xE2, 0xB7, 0x17, 0x6F, 0x7A, 0xB1, + 0x88, 0x69, 0xB8, 0x2F, 0x9F, 0x4B, 0x05, 0xBA, + 0xF8, 0xD3, 0xB8, 0x26, 0x86, 0xF9, 0x3D, 0xED, + 0x00, 0x12, 0x61, 0x47, 0xA8, 0x89, 0x74, 0x92, + 0x26, 0x70, 0x8F, 0x47, 0x77, 0x1D, 0x4A, 0x35, + 0xC0, 0xD3, 0x06, 0xBA, 0x01, 0x12, 0x0C, 0xAD, + 0x7A, 0xD0, 0x3E, 0xA5, 0x6A, 0xBF, 0x0D, 0x05, + 0x8F, 0x68, 0xB1, 0x12, 0x07, 0x5C, 0x05, 0x96, + 0x41, 0x44, 0x06, 0xC8, 0x79, 0x4F, 0xC6, 0x6C, + 0x36, 0x3D, 0x64, 0x97, 0x71, 0xD7, 0xFF, 0x7B, + 0x9F, 0x2C, 0xAF, 0x12, 0xBA, 0x47, 0xB7, 0xE8, + 0x0A, 0x6E, 0x95, 0xE1, 0x9B, 0x99, 0xA0, 0xE7, + 0x4C, 0x74, 0xFB, 0x4A, 0x85, 0xB6, 0x6E, 0xF9, + 0x98, 0xB3, 0xB8, 0xE0, 0xB8, 0x28, 0xFE, 0x94, + 0x17, 0x5C, 0xE7, 0xF4, 0xFD, 0x77, 0x8F, 0x05, + 0xB1, 0x5B, 0xDB, 0x13, 0x85, 0xEE, 0xF2, 0x75, + 0x1C, 0xD0, 0x05, 0x6E, 0x63, 0x89, 0xC8, 0x46, + 0x51, 0xCC, 0xAD, 0x4C, 0x73, 0xFC, 0x7C, 0x78, + 0x11, 0xC5, 0xC0, 0x60, 0x5C, 0x0A, 0xD6, 0x17, + 0x08, 0x69, 0x83, 0x5A, 0x27, 0xB6, 0xAC, 0x10, + 0x0D, 0x76, 0xE8, 0xB1, 0x64, 0x00, 0xC3, 0xB8, + 0xED, 0x9B, 0x05, 0xF7, 0xAF, 0x3F, 0xAC, 0xA8, + 0x6B, 0x8D, 0xBA, 0x70, 0x0C, 0xEC, 0x33, 0x24, + 0x77, 0x0B, 0xE0, 0x6A, 0xED, 0x81, 0xC8, 0x30, + 0x8D, 0x6E, 0x6C, 0xC2, 0xD6, 0x85, 0x31, 0xA2, + 0x3D, 0xC7, 0xC9, 0xB0, 0xF3, 0x54, 0xCC, 0xAE, + 0x86, 0x5E, 0x58, 0xA3, 0xD1, 0xBC, 0x06, 0xC6, + 0xAF, 0xC6, 0x94, 0x41, 0xBE, 0xD6, 0x2C, 0x76, + 0x28, 0x59, 0x47, 0x7B, 0xFD, 0xE2, 0xCE, 0x11, + 0x44, 0xE3, 0xF7, 0x30, 0x12, 0xF9, 0x68, 0xF4, + 0xAF, 0xDD, 0x95, 0xC4, 0x9A, 0x57, 0x33, 0x1E, + 0x5A, 0x54, 0x94, 0xE7, 0x3A, 0x94, 0x80, 0x15, + 0x11, 0xD5, 0x85, 0x48, 0xC9, 0xDF, 0x45, 0x62, + 0xB2, 0x0A, 0x54, 0x3A, 0x71, 0x85, 0x87, 0x0D, + 0x2D, 0x74, 0x45, 0x35, 0x39, 0x6E, 0xBB, 0x8F, + 0x44, 0x93, 0x03, 0xC4, 0x48, 0x2D, 0x9B, 0x00, + 0x76, 0x4C, 0xAF, 0x24, 0x6A, 0x4B, 0x60, 0x31, + 0x4B, 0x73, 0xB8, 0xF2, 0x14, 0x5E, 0x44, 0xC1, + 0x9A, 0xE0, 0x1F, 0x55, 0x00, 0xA4, 0x20, 0xD8, + 0x14, 0x68, 0xA4, 0xD0, 0x8D, 0x72, 0x2E, 0x5A, + 0x00, 0x12, 0x10, 0x02, 0x80, 0x58, 0x6D, 0x84, + 0x20, 0x1A, 0x7B, 0x95, 0x4F, 0xFC, 0x48, 0xB5, + 0x30, 0x79, 0x5F, 0xB2, 0x01, 0x12, 0x83, 0xDC, + 0x8F, 0x1D, 0xEB, 0xBB, 0xB5, 0x34, 0x29, 0xA8, + 0x76, 0x48, 0x47, 0x65, 0xE5, 0x61, 0x6A, 0x62, + 0x67, 0x2D, 0xCC, 0x54, 0xC9, 0xCE, 0x14, 0x10, + 0xAE, 0x27, 0xB0, 0x01, 0x11, 0x13, 0xC6, 0x0B, + 0x76, 0x52, 0xDC, 0x9B, 0x2D, 0x37, 0x7E, 0x36, + 0xFE, 0x57, 0xC5, 0x8B, 0x75, 0x53, 0xBD, 0x89, + 0x58, 0xEC, 0x82, 0x53, 0xD8, 0x14, 0xBA, 0x7F, + 0x20, 0x3C, 0x4A, 0x24, 0x01, 0xC7, 0xEA, 0x34, + 0xDE, 0x46, 0xD6, 0xEC, 0xB4, 0x1B, 0xED, 0x9C, + 0xAF, 0xEF, 0x5B, 0xD4, 0xE3, 0x13, 0x06, 0xF5, + 0x06, 0xA0, 0xE1, 0x1D, 0x87, 0xBC, 0x3F, 0x2F, + 0x71, 0xD7, 0xE0, 0xF5, 0xC3, 0x4B, 0x11, 0x98, + 0x8E, 0xFE, 0xDC, 0x4B, 0x17, 0xCB, 0x50, 0xCC, + 0x9E, 0x6A, 0xAA, 0xBF, 0xAC, 0x8C, 0x07, 0x41, + 0xED, 0xD1, 0x8C, 0x3B, 0xD3, 0x3F, 0xB1, 0x81, + 0x76, 0x89, 0x64, 0x1D, 0xFC, 0x48, 0x1A, 0xDA, + 0x02, 0x50, 0xE0, 0x81, 0x61, 0x64, 0x28, 0x99, + 0xD8, 0xFC, 0x19, 0xD8, 0xDC, 0xD4, 0x8E, 0x5F, + 0x05, 0x35, 0xF1, 0xFE, 0x2D, 0x2B, 0x71, 0x2C, + 0x95, 0x55, 0x28, 0x36, 0x6C, 0x9E, 0xDC, 0xAA, + 0xE5, 0xDE, 0xF4, 0x19, 0x58, 0x59, 0x71, 0x70, + 0xC8, 0x8A, 0x5B, 0xB1, 0x3E, 0xA5, 0xB0, 0xB7, + 0x89, 0xBD, 0x86, 0x16, 0xEF, 0xC3, 0x9C, 0x99, + 0xC7, 0x43, 0x8D, 0xA4, 0x5C, 0xC5, 0x1F, 0x8A, + 0xE1, 0xFC, 0xC5, 0xDD, 0x56, 0x67, 0x78, 0xC4, + 0x5D, 0x28, 0xD7, 0x0C, 0x32, 0xA7, 0x7C, 0x7F, + 0xDA, 0x01, 0x18, 0x57, 0x63, 0x7F, 0xB5, 0x0A, + 0x1E, 0xF3, 0xA9, 0xDC, 0x32, 0x29, 0xE6, 0x16, + 0x63, 0x27, 0x6D, 0xB4, 0x60, 0xB0, 0x66, 0xD9, + 0xD8, 0xEC, 0xA9, 0x0F, 0xEA, 0xDA, 0x94, 0xD5, + 0x50, 0x58, 0x07, 0xE3, 0xDD, 0xC8, 0x9A, 0x11, + 0x6C, 0x06, 0xBD, 0x68, 0x2B, 0x95, 0x5A, 0xC8, + 0x34, 0x13, 0xA7, 0x58, 0x99, 0x19, 0x67, 0x02, + 0x02, 0x8A, 0x7E, 0x98, 0x1E, 0xF9, 0xE1, 0x05, + 0x00, 0x12, 0xCA, 0x09, 0x79, 0x65, 0xBD, 0x4A, + 0x78, 0xF1, 0xCB, 0x45, 0xFB, 0x07, 0x4A, 0x2C, + 0x28, 0x08, 0x38, 0x58, 0x01, 0x12, 0x2A, 0x77, + 0x90, 0x1E, 0xA0, 0x3E, 0xC9, 0x10, 0xF6, 0xCA, + 0xC5, 0xEF, 0x4D, 0x9D, 0xD8, 0x86, 0x47, 0xAD, + 0x85, 0x32, 0x1A, 0xB6, 0x2A, 0x0F, 0xF0, 0xCA, + 0x19, 0xA4, 0x84, 0xF3, 0x42, 0x5C, 0x90, 0x80, + 0x7F, 0x67, 0xF6, 0x0E, 0x04, 0x36, 0xC7, 0x32, + 0xE5, 0xFE, 0x02, 0x6D, 0xA7, 0x5C, 0xFD, 0x29, + 0x30, 0x42, 0x4D, 0xFE, 0xA0, 0x49, 0x8E, 0xC5, + 0xE1, 0xBF, 0xB2, 0x45, 0xB5, 0xD3, 0x02, 0xB2, + 0xDE, 0x67, 0x09, 0xE5, 0xF3, 0xE9, 0x55, 0x0D, + 0xBD, 0x54, 0x7D, 0xD1, 0xB6, 0x33, 0xD9, 0x5A, + 0xDD, 0x57, 0xC2, 0x52, 0x87, 0x1C, 0xDE, 0x3B, + 0x5F, 0x0E, 0x7C, 0x81, 0x2B, 0x90, 0x34, 0x8B, + 0x88, 0x14, 0x38, 0x3E, 0xC7, 0xFD, 0xC5, 0xF5, + 0x4C, 0xE9, 0x2D, 0x73, 0x16, 0x19, 0x74, 0xEB, + 0x9C, 0x7B, 0xB6, 0x73, 0x4F, 0x88, 0xBE, 0x73, + 0xA4, 0xEC, 0x30, 0x2F, 0x78, 0x21, 0xED, 0x05, + 0xBF, 0xCE, 0xEF, 0x28, 0xD5, 0x11, 0x99, 0x73, + 0x7C, 0x9C, 0xCF, 0x7A, 0x22, 0x03, 0x6F, 0x8C, + 0xEE, 0xD0, 0xFF, 0xCE, 0xDD, 0x2A, 0x3E, 0x19, + 0x51, 0x18, 0x1A, 0x4D, 0x98, 0x41, 0xDD, 0x8C, + 0x2D, 0x32, 0x9A, 0xC0, 0x74, 0x7A, 0x1E, 0x22, + 0x52, 0x3F, 0xAC, 0xBB, 0x17, 0xAD, 0x33, 0x6B, + 0xC1, 0xC6, 0x49, 0x90, 0xBF, 0x40, 0xB2, 0x4B, + 0x54, 0xFB, 0xE6, 0x08, 0xB0, 0x4E, 0xDA, 0xAE, + 0xE1, 0x25, 0x9B, 0x70, 0xEF, 0x95, 0xEF, 0x86, + 0xE6, 0x30, 0x33, 0x21, 0xC4, 0x02, 0x30, 0x9D, + 0xBC, 0x42, 0x15, 0xAA, 0x88, 0xD7, 0xCA, 0xD3, + 0x5E, 0x2F, 0xA9, 0x25, 0xEE, 0x12, 0x3A, 0xAB, + 0xAA, 0xC6, 0xA1, 0xB1, 0x06, 0xA9, 0xD0, 0x34, + 0x20, 0x36, 0x19, 0xA0, 0xAD, 0xE8, 0x11, 0x2D, + 0x89, 0x46, 0x04, 0x06, 0xF8, 0xFB, 0xE7, 0x8F, + 0xAB, 0x92, 0x3C, 0x7E, 0x0B, 0xC0, 0xD3, 0x73, + 0x98, 0x61, 0x1D, 0x9F, 0xC0, 0x93, 0x5A, 0x35, + 0xB3, 0x4B, 0x65, 0x27, 0xBD, 0xE8, 0x1C, 0x97, + 0x00, 0x12, 0xE7, 0x50, 0x4C, 0x09, 0xD5, 0xB2, + 0x72, 0x00, 0xBD, 0x4B, 0x30, 0x6F, 0x5D, 0xE7, + 0xC6, 0x96, 0xA9, 0x01, 0x01, 0x12, 0x8D, 0x8D, + 0x92, 0x14, 0x9A, 0x7A, 0xC7, 0x68, 0x1B, 0x61, + 0x06, 0xEA, 0x29, 0xC9, 0x7D, 0xA4, 0xA0, 0x69, + 0x8F, 0x42, 0x68, 0x19, 0x97, 0xF7, 0x29, 0xAB, + 0x06, 0x60, 0xD6, 0x47, 0xFF, 0xAF, 0x89, 0xAA, + 0xFF, 0xE4, 0x58, 0xD2, 0x75, 0x83, 0x0B, 0xD7, + 0x94, 0x7F, 0x78, 0x0D, 0x67, 0x74, 0xA1, 0x7C, + 0xE7, 0x16, 0x74, 0x38, 0x5A, 0x71, 0x34, 0xA7, + 0x4A, 0x41, 0xBB, 0x20, 0xFB, 0x93, 0x0A, 0x77, + 0x0F, 0x50, 0xF1, 0x34, 0x39, 0xA3, 0x95, 0x5F, + 0xAF, 0x27, 0xC2, 0x34, 0xDC, 0x51, 0x36, 0x03, + 0x11, 0x08, 0x77, 0xAD, 0x9F, 0xAB, 0x63, 0x91, + 0x88, 0xD9, 0xA7, 0x1D, 0x45, 0x3C, 0x11, 0x55, + 0x6E, 0x67, 0x45, 0x7D, 0xDB, 0xB3, 0x23, 0x05, + 0xC0, 0xAF, 0x4C, 0x24, 0x3E, 0xC1, 0x2E, 0x11, + 0x70, 0xA6, 0x06, 0x84, 0xC7, 0x0A, 0xDF, 0x79, + 0xA0, 0x8A, 0x61, 0x3C, 0x56, 0x72, 0x5C, 0x68, + 0xE3, 0xDC, 0x12, 0xA5, 0xF9, 0x18, 0xBA, 0x3D, + 0x9C, 0xDB, 0x1E, 0x34, 0x9A, 0x3C, 0xB8, 0xC5, + 0x2C, 0x81, 0xCD, 0xF7, 0xAD, 0x05, 0x76, 0x0E, + 0x52, 0x91, 0xFD, 0xE2, 0xC3, 0x1F, 0x3A, 0x0D, + 0x45, 0x87, 0x26, 0x6D, 0x2B, 0x2E, 0x5A, 0xEE, + 0x04, 0xFF, 0x15, 0x57, 0xFA, 0xA0, 0xD8, 0x47, + 0xE6, 0xE6, 0x2D, 0xD4, 0x0C, 0x06, 0xBE, 0x0D, + 0xA4, 0x0A, 0x85, 0xBF, 0xF7, 0xA6, 0xC6, 0xB4, + 0x4A, 0x00, 0xCB, 0xBF, 0xD4, 0xA4, 0xF7, 0xCC, + 0xE5, 0x3D, 0xF5, 0xD5, 0x69, 0xAD, 0x0A, 0x45, + 0x5B, 0xB8, 0x6B, 0x1F, 0xA7, 0x70, 0xE4, 0x88, + 0x9A, 0xEE, 0x3D, 0xAE, 0xB1, 0xC9, 0x80, 0x53, + 0x53, 0x31, 0x3B, 0x13, 0x44, 0xC1, 0xED, 0x49, + 0x33, 0xD3, 0xC4, 0x16, 0x6E, 0x91, 0xE8, 0x83, + 0x79, 0xDA, 0x94, 0x3B, 0xC3, 0x00, 0xC6, 0x05, + 0xFA, 0xDE, 0x2C, 0xBC, 0x4D, 0xB3, 0xD4, 0x04, + 0x55, 0x9F, 0xE2, 0x99, 0xCE, 0xB0, 0xFC, 0x45, + 0xFB, 0xAE, 0xAB, 0x95, 0x71, 0xA8, 0x62, 0x1B, + 0x00, 0x12, 0x0B, 0x5E, 0x67, 0xC6, 0xE3, 0x7E, + 0x1E, 0x2B, 0x84, 0xF4, 0xE9, 0x52, 0x27, 0x93, + 0x64, 0xE1, 0x25, 0x76, 0x01, 0x12, 0xFC, 0x12, + 0x64, 0x69, 0x0A, 0x0D, 0xD8, 0x10, 0x28, 0x22, + 0x7E, 0xA8, 0xA2, 0x2D, 0x92, 0x25, 0xA8, 0x28, + 0x3C, 0xB9, 0xFC, 0x63, 0x8C, 0x6E, 0x59, 0xCA, + 0xF3, 0x23, 0xA1, 0x36, 0x68, 0x68, 0xBB, 0x03, + 0xCA, 0x71, 0xEF, 0x36, 0x80, 0x1A, 0x9D, 0xAD, + 0x43, 0x62, 0x60, 0x74, 0x8F, 0xCC, 0xFE, 0x6D, + 0x17, 0x03, 0xB1, 0xE2, 0x71, 0xCC, 0x97, 0x2F, + 0x38, 0x7F, 0xAC, 0x73, 0xF8, 0x19, 0x69, 0x51, + 0x43, 0xD0, 0xCB, 0x8A, 0x03, 0x2F, 0x4D, 0x21, + 0xDE, 0xBC, 0xD2, 0xE1, 0xE5, 0xB7, 0xEF, 0xA2, + 0x69, 0x74, 0xDE, 0xC7, 0x6F, 0x1F, 0xD5, 0x45, + 0xF1, 0x63, 0x05, 0x9C, 0x8E, 0x33, 0x8D, 0xB4, + 0xDB, 0x79, 0x91, 0x75, 0x66, 0x09, 0xC9, 0x5E, + 0xD0, 0x6C, 0x8B, 0x7A, 0xB0, 0x77, 0x16, 0xF4, + 0xEF, 0x79, 0x78, 0x78, 0x79, 0x6B, 0x16, 0xB0, + 0x13, 0x39, 0xF0, 0x8B, 0x8C, 0xB4, 0xA9, 0x51, + 0x90, 0x07, 0xBF, 0x2A, 0xF6, 0x03, 0x16, 0xCF, + 0x62, 0xB5, 0xF5, 0xAE, 0x56, 0xD3, 0xEC, 0x87, + 0x81, 0xB7, 0xEA, 0x01, 0x76, 0xDF, 0x33, 0x80, + 0x71, 0x5A, 0xE0, 0x76, 0x7B, 0xA8, 0xA3, 0xDD, + 0x76, 0xD8, 0xAF, 0x86, 0x9A, 0xB2, 0xD7, 0x20, + 0x26, 0x4E, 0x8C, 0x8F, 0x8F, 0xC2, 0xBF, 0x8B, + 0x7A, 0xC6, 0x4F, 0xAD, 0xB7, 0xEE, 0x16, 0x16, + 0xC8, 0x95, 0xC3, 0x38, 0x3E, 0x5B, 0x59, 0x92, + 0x07, 0x6C, 0xBE, 0x45, 0x22, 0x6B, 0x7A, 0xC3, + 0x17, 0xCF, 0xF4, 0xFB, 0xA4, 0xA4, 0xD4, 0x79, + 0x98, 0xC6, 0x79, 0x8A, 0x3E, 0xB8, 0x53, 0x4B, + 0x44, 0x47, 0x78, 0x0B, 0xBA, 0x73, 0xD0, 0x1B, + 0xC9, 0xE0, 0xD7, 0x5B, 0x3E, 0x91, 0x3D, 0xF1, + 0x26, 0x8D, 0x3E, 0xA9, 0x0F, 0x71, 0xCF, 0x21, + 0x3D, 0xE0, 0xFA, 0xD6, 0x84, 0x61, 0x97, 0x41, + 0x25, 0xD1, 0x01, 0x2C, 0x18, 0xFB, 0x3E, 0x28, + 0x3B, 0x57, 0x87, 0xD3, 0x22, 0xE4, 0x64, 0x93, + 0x94, 0x3B, 0x79, 0x81, 0xD7, 0x75, 0xB2, 0xD4, + 0x00, 0x12, 0xF4, 0x45, 0x9B, 0x45, 0x77, 0x5F, + 0x22, 0xCB, 0x20, 0xAC, 0x12, 0x6B, 0x12, 0xFE, + 0xA8, 0x24, 0x15, 0x0C, 0x01, 0x12, 0x37, 0x70, + 0x0A, 0x0E, 0x86, 0xD8, 0x31, 0x62, 0x8D, 0x89, + 0x0B, 0x8F, 0x09, 0xF0, 0x56, 0x97, 0x3D, 0xAC, + 0x3C, 0xC7, 0xE7, 0xC8, 0x76, 0x84, 0x74, 0xF9, + 0xFC, 0xEC, 0x43, 0xE3, 0xD6, 0x30, 0x8E, 0x21, + 0xD5, 0xF6, 0x8D, 0xED, 0xE8, 0x01, 0xF8, 0x3E, + 0x3C, 0xC9, 0xC7, 0x43, 0x26, 0x30, 0x55, 0x06, + 0x63, 0xA5, 0x52, 0x4A, 0x78, 0x82, 0x46, 0x5F, + 0xE6, 0x30, 0x68, 0xE7, 0xCA, 0xCB, 0xA0, 0xE1, + 0x57, 0xC6, 0x70, 0xCA, 0x3E, 0x00, 0xCF, 0x53, + 0x25, 0xF7, 0x1E, 0x7B, 0x48, 0xD8, 0xA1, 0x85, + 0x28, 0x48, 0x63, 0x54, 0xD8, 0xD3, 0x38, 0x9C, + 0xF1, 0xB1, 0x68, 0xF4, 0x46, 0x0C, 0x10, 0xBF, + 0xC8, 0x6E, 0x6A, 0xB1, 0xC0, 0xA3, 0xB5, 0xD1, + 0xEE, 0x3E, 0x22, 0xED, 0x04, 0x9E, 0x36, 0xE9, + 0xB9, 0xA5, 0xD3, 0x34, 0xA9, 0x21, 0x76, 0x2D, + 0x17, 0x33, 0x40, 0x22, 0xE2, 0x53, 0xAC, 0x29, + 0x50, 0x08, 0x19, 0xCC, 0xBA, 0x36, 0xD3, 0x9B, + 0xC1, 0xBF, 0x88, 0x37, 0xA8, 0xAB, 0x67, 0xB2, + 0x56, 0x7B, 0x27, 0x3D, 0xDC, 0x4E, 0x95, 0x04, + 0xF9, 0xAD, 0x7E, 0xDB, 0x27, 0x8D, 0xFE, 0x60, + 0x5C, 0x9B, 0x2F, 0x29, 0xB4, 0xCA, 0xD6, 0x27, + 0xAB, 0x56, 0x4E, 0x53, 0xD1, 0xF4, 0x7D, 0x8D, + 0x28, 0x86, 0x13, 0xA3, 0x24, 0x21, 0x0D, 0x3E, + 0xEA, 0xC4, 0xD9, 0xA9, 0x2A, 0x7A, 0xC1, 0x30, + 0x55, 0x30, 0xBC, 0xD3, 0x1B, 0x44, 0x2E, 0x8B, + 0x0A, 0xDB, 0x3E, 0xEF, 0xA1, 0xE3, 0xEF, 0x9D, + 0x78, 0x8F, 0x6F, 0xAC, 0xED, 0xA8, 0x42, 0x9D, + 0x8E, 0x94, 0x37, 0xEE, 0xBA, 0xFF, 0x69, 0x6D, + 0x54, 0x2F, 0x12, 0xE9, 0x37, 0x9B, 0xDB, 0x4E, + 0xD7, 0x1D, 0xDB, 0x02, 0x16, 0xEA, 0xEA, 0x56, + 0xC6, 0x31, 0x75, 0x80, 0xED, 0x46, 0x33, 0xD4, + 0x07, 0x8D, 0x61, 0xB3, 0x96, 0xC0, 0xFD, 0x03, + 0xAF, 0x23, 0xB0, 0x37, 0x5C, 0x7D, 0xEC, 0xBC, + 0xA2, 0x5F, 0x27, 0x85, 0xEA, 0x0E, 0x9E, 0x2E, + 0x00, 0x12, 0xC0, 0x97, 0x0D, 0xAF, 0x67, 0x74, + 0x0F, 0x84, 0x64, 0x10, 0x1F, 0xD2, 0x50, 0xE1, + 0x68, 0xA0, 0xEB, 0x85, 0x01, 0x12, 0x8C, 0x60, + 0x95, 0x78, 0xFF, 0x02, 0x6A, 0xB0, 0x11, 0x87, + 0x86, 0xD6, 0xA4, 0x82, 0x41, 0x96, 0xBD, 0xE0, + 0xA7, 0xC1, 0x28, 0x88, 0x63, 0x22, 0x63, 0x14, + 0x57, 0x52, 0xF7, 0xFD, 0x2D, 0xAC, 0x6E, 0xAC, + 0xB7, 0xAD, 0x89, 0xAC, 0xB6, 0x2C, 0x70, 0x9B, + 0x65, 0x35, 0x50, 0xEF, 0x3B, 0xB6, 0x63, 0xEE, + 0xCF, 0x68, 0xC6, 0x5E, 0xA1, 0x49, 0x85, 0x62, + 0x57, 0x18, 0x66, 0xB3, 0xAD, 0xDF, 0xF9, 0x22, + 0xD0, 0x24, 0x18, 0x8F, 0x25, 0x21, 0x49, 0xF6, + 0x49, 0x42, 0x61, 0x55, 0x4E, 0xBE, 0x0A, 0x24, + 0x9A, 0xBA, 0x0E, 0x77, 0x1C, 0x50, 0xC5, 0xC9, + 0xB1, 0xBC, 0xA5, 0x75, 0x03, 0xD4, 0xB6, 0xD2, + 0xB2, 0x24, 0xB7, 0x5A, 0x03, 0x73, 0x8D, 0x4E, + 0xE8, 0xDA, 0xD3, 0xF0, 0xE6, 0xF7, 0x80, 0xB8, + 0xEA, 0x59, 0x29, 0x7B, 0xB2, 0xA7, 0x2B, 0xB9, + 0x79, 0x5C, 0xDE, 0x8C, 0xC2, 0xB5, 0x8A, 0xE9, + 0x35, 0x5D, 0x7B, 0x80, 0x21, 0xAE, 0x9A, 0x05, + 0x48, 0xF0, 0xE7, 0x7C, 0x4A, 0x54, 0x10, 0xEA, + 0xC4, 0x03, 0x1E, 0x74, 0xBB, 0x11, 0x93, 0xE0, + 0x14, 0xF3, 0x6F, 0x18, 0x24, 0xA4, 0xBD, 0x41, + 0x38, 0x97, 0xFE, 0x5E, 0x80, 0x02, 0x8A, 0x96, + 0x57, 0x82, 0x6E, 0x08, 0x25, 0x72, 0xA2, 0xC8, + 0x64, 0x8C, 0x0A, 0x14, 0x85, 0x93, 0x3E, 0x01, + 0x5D, 0x74, 0xCD, 0xB1, 0xFA, 0xFB, 0xCD, 0x41, + 0x3A, 0xE0, 0x0F, 0xA0, 0xEA, 0xC9, 0x6C, 0xEF, + 0xFD, 0x62, 0x9B, 0xDB, 0x17, 0xFD, 0xD5, 0x0B, + 0x73, 0x86, 0xE8, 0x03, 0x3F, 0x08, 0xC9, 0x3F, + 0x03, 0x68, 0x35, 0xE7, 0x62, 0xA8, 0x02, 0x6D, + 0x1F, 0x96, 0x3D, 0x23, 0xDD, 0x21, 0xF6, 0xD5, + 0x63, 0x30, 0xA6, 0xBF, 0xD1, 0x94, 0x49, 0xAA, + 0x73, 0x3B, 0x3E, 0x01, 0x68, 0x9D, 0x10, 0x15, + 0x56, 0x91, 0x67, 0xC0, 0xC7, 0x45, 0x5A, 0x23, + 0x0E, 0x4C, 0x49, 0xB7, 0xBC, 0xC4, 0x35, 0xF3, + 0x02, 0xB1, 0x72, 0xE8, 0x69, 0x1E, 0xFB, 0x39, + 0x00, 0x12, 0x20, 0xA4, 0x26, 0x6E, 0x70, 0xC5, + 0x45, 0xCA, 0xE5, 0xC6, 0x34, 0x47, 0x56, 0x96, + 0x97, 0x4A, 0xDE, 0xD4, 0x01, 0x12, 0x30, 0x97, + 0x2B, 0xC7, 0x4D, 0x8C, 0xCD, 0x0C, 0xCC, 0x5C, + 0x62, 0x92, 0x94, 0x9C, 0xF5, 0xA6, 0xE0, 0xF0, + 0xFE, 0xF5, 0xAD, 0x27, 0xB7, 0x4D, 0x51, 0xA4, + 0x87, 0x73, 0x1C, 0x76, 0x60, 0xFD, 0xE4, 0xDC, + 0xDF, 0x1B, 0xA3, 0xFD, 0x47, 0x21, 0xD8, 0x02, + 0xAB, 0x8F, 0xAA, 0xEB, 0x35, 0x4D, 0x0D, 0x80, + 0xC0, 0xC2, 0x73, 0xB8, 0xEE, 0xA5, 0xAF, 0x4E, + 0xCF, 0xF2, 0xE2, 0xDC, 0xF1, 0x7D, 0x1C, 0x01, + 0x59, 0x4E, 0x2D, 0x0E, 0x6D, 0xAF, 0x31, 0xF2, + 0x0E, 0x7E, 0x48, 0xB1, 0xFB, 0x5E, 0x6C, 0x13, + 0x49, 0x8C, 0x3C, 0x28, 0x6E, 0x7F, 0x49, 0x94, + 0xFC, 0xF9, 0x13, 0x1E, 0xB1, 0x55, 0xE1, 0xBB, + 0x39, 0x4B, 0x86, 0x35, 0x51, 0xF1, 0x70, 0x3B, + 0xC6, 0x97, 0x8E, 0x39, 0xD5, 0xCA, 0x85, 0xAD, + 0x06, 0xE1, 0x9A, 0x89, 0x64, 0xA8, 0x45, 0x56, + 0xA8, 0x37, 0x3B, 0xE0, 0xEE, 0xB2, 0x2B, 0x91, + 0x1E, 0x73, 0xCD, 0xD3, 0x91, 0xD7, 0x67, 0x04, + 0xE9, 0xC2, 0xEB, 0x7B, 0x05, 0x07, 0x6B, 0x23, + 0x1B, 0xC4, 0xC8, 0x44, 0x37, 0xD1, 0xB9, 0x47, + 0x52, 0x2E, 0xED, 0x66, 0x74, 0x21, 0xDF, 0xAF, + 0xDC, 0x5E, 0x43, 0xE7, 0x21, 0x2F, 0xE2, 0x29, + 0x6D, 0xFA, 0x4D, 0xE7, 0x37, 0xCD, 0x2A, 0x20, + 0xFE, 0xBF, 0x96, 0xDE, 0xE1, 0xF4, 0xD4, 0x0C, + 0x78, 0xC0, 0x35, 0xF6, 0x02, 0x85, 0x9E, 0x18, + 0xC7, 0x82, 0x5E, 0x1E, 0x2D, 0xF4, 0x7E, 0xBF, + 0x04, 0x86, 0xD5, 0xE6, 0x90, 0xE6, 0x8D, 0x31, + 0x4A, 0x56, 0x3B, 0x66, 0xBC, 0xAB, 0xE6, 0x47, + 0x7B, 0x3C, 0xAC, 0x14, 0xB1, 0x04, 0xD1, 0x61, + 0x41, 0x35, 0x61, 0x5C, 0xE2, 0xB3, 0x4C, 0x4A, + 0x18, 0x96, 0xC9, 0x0F, 0x86, 0x73, 0xA3, 0x37, + 0x6E, 0xEF, 0xE1, 0x31, 0x6A, 0x85, 0x87, 0x01, + 0x8C, 0x52, 0x5C, 0x7C, 0x38, 0xBD, 0x0B, 0xF2, + 0xEA, 0xF0, 0xED, 0x9D, 0xD9, 0xAE, 0x78, 0x46, + 0xAE, 0xA4, 0x49, 0xCC, 0xAB, 0xAC, 0x27, 0xDC, + 0x00, 0x12, 0x6C, 0xA5, 0x0A, 0x75, 0x91, 0x15, + 0x7F, 0x92, 0x71, 0x73, 0x53, 0x74, 0x25, 0x56, + 0x1D, 0x42, 0xC9, 0x61, 0x01, 0x12, 0xB2, 0xD4, + 0x76, 0xF4, 0xE0, 0x87, 0xB9, 0x2F, 0x4B, 0x56, + 0x75, 0x6D, 0xFA, 0xB5, 0x4E, 0x23, 0x94, 0x5B, + 0x60, 0xA5, 0x0D, 0x3E, 0x9E, 0x45, 0x98, 0xAC, + 0xDE, 0xA9, 0x74, 0x91, 0xB7, 0x1A, 0x4A, 0x24, + 0xCD, 0xA0, 0x49, 0x2F, 0x1F, 0x0A, 0x44, 0x40, + 0xFE, 0xFD, 0xC0, 0xE0, 0x73, 0x2C, 0x27, 0x6F, + 0xEB, 0x45, 0x15, 0x02, 0x86, 0x6A, 0xBC, 0x0F, + 0x20, 0x65, 0x2E, 0xAB, 0x25, 0xE6, 0xB3, 0x24, + 0x2F, 0xE5, 0x5C, 0xBF, 0xC0, 0xEE, 0xBC, 0xE9, + 0x8C, 0x0F, 0x0A, 0x66, 0x96, 0x91, 0xE7, 0x9D, + 0x08, 0x20, 0xDC, 0x5D, 0xB8, 0x37, 0x59, 0x9F, + 0xDD, 0x10, 0xBE, 0x40, 0xD7, 0x72, 0x49, 0xE0, + 0x1E, 0x8B, 0xB4, 0xFA, 0xFC, 0x6E, 0xA7, 0xD7, + 0xEA, 0x26, 0x31, 0x50, 0x07, 0xFD, 0x4A, 0x96, + 0xFB, 0xDE, 0xB2, 0x85, 0x16, 0xC7, 0xE1, 0x5D, + 0x46, 0x34, 0xD2, 0x70, 0xB4, 0x7D, 0x46, 0x3D, + 0x78, 0x58, 0xF7, 0xB0, 0x6D, 0x6A, 0x5A, 0x89, + 0xCA, 0xDA, 0x25, 0x5C, 0xD1, 0x63, 0xF8, 0x88, + 0xAE, 0x05, 0xB6, 0x33, 0xFB, 0x3E, 0x7F, 0x7D, + 0x46, 0xC5, 0x56, 0x9E, 0x53, 0xC9, 0xC5, 0x8A, + 0x5C, 0xB8, 0x35, 0xF2, 0x61, 0x10, 0xA8, 0x93, + 0x95, 0x7E, 0xDD, 0xAF, 0x82, 0x2B, 0xFD, 0x64, + 0x5C, 0xEF, 0x2B, 0x5F, 0x4D, 0x5F, 0xDA, 0xB3, + 0x26, 0x98, 0xB7, 0xE8, 0xA4, 0xD1, 0xB9, 0xE3, + 0x10, 0x3C, 0xE5, 0x04, 0xF3, 0x76, 0x68, 0x86, + 0x5A, 0xBC, 0x8D, 0x99, 0x93, 0x04, 0x6F, 0xD1, + 0x93, 0x4D, 0x28, 0x11, 0x31, 0xEA, 0xF8, 0x4C, + 0xDF, 0x7E, 0x0B, 0xC1, 0x7C, 0xAD, 0x77, 0xC2, + 0x7A, 0x56, 0x62, 0x99, 0x79, 0xFD, 0x9B, 0xF0, + 0x5E, 0xF1, 0xA8, 0x52, 0x71, 0x7A, 0x65, 0x13, + 0xF3, 0xF4, 0xF2, 0x5F, 0x0B, 0xF7, 0xD5, 0xC3, + 0x46, 0x55, 0xE3, 0x1E, 0xAB, 0x0E, 0x1A, 0xE6, + 0x9D, 0x31, 0xCC, 0xB6, 0xB8, 0x39, 0x3E, 0x07, + 0xD4, 0x8C, 0x0E, 0x45, 0xE2, 0x67, 0x4F, 0x42, + 0x00, 0x12, 0x7A, 0x5B, 0xAD, 0xB4, 0x41, 0x24, + 0xAF, 0x6A, 0xA7, 0x3D, 0x9B, 0xB1, 0x20, 0x96, + 0x51, 0x75, 0x60, 0x1C, 0x01, 0x12, 0xC1, 0x08, + 0x6B, 0xA7, 0x9C, 0xDE, 0xC7, 0x8D, 0x55, 0xF9, + 0x8F, 0x9F, 0x50, 0x04, 0xD6, 0x02, 0x1D, 0xB5, + 0x3D, 0x05, 0xBA, 0xF1, 0x2B, 0x68, 0xAA, 0x45, + 0xCD, 0xDC, 0xC5, 0x0F, 0x16, 0xB9, 0xB8, 0xCF, + 0xAE, 0x48, 0xCD, 0xD3, 0x50, 0x7B, 0xC2, 0x09, + 0xE8, 0x37, 0xAD, 0xD5, 0xD2, 0x74, 0x5C, 0xB0, + 0xD1, 0x60, 0x73, 0x4B, 0xBE, 0x24, 0x1C, 0x48, + 0x73, 0xDC, 0x87, 0xA4, 0xBE, 0x65, 0xAC, 0x4A, + 0x9A, 0xA5, 0xAE, 0xF0, 0x2D, 0xAD, 0xE9, 0x7F, + 0xF0, 0x28, 0xF6, 0x5E, 0xFE, 0x29, 0xD3, 0x82, + 0xF4, 0x61, 0xEF, 0x80, 0x72, 0xBC, 0xF8, 0x23, + 0xBD, 0xD0, 0xBD, 0xE1, 0x28, 0x82, 0xFF, 0x7F, + 0x01, 0xAD, 0x57, 0x2F, 0xD2, 0xAE, 0x38, 0xBD, + 0x4B, 0xEC, 0xAD, 0xF1, 0x65, 0xED, 0xE8, 0xEF, + 0xA1, 0x5A, 0xF7, 0x1A, 0x22, 0x48, 0x00, 0x43, + 0x55, 0x46, 0x58, 0x14, 0xB0, 0x0D, 0xA4, 0x86, + 0xB8, 0x9C, 0x3E, 0x90, 0x86, 0x28, 0xE5, 0xAA, + 0xA1, 0x61, 0x53, 0x0C, 0x58, 0xDC, 0xC8, 0x03, + 0xAC, 0x33, 0x0D, 0x37, 0xE6, 0xBA, 0x11, 0x88, + 0x30, 0x55, 0x02, 0x37, 0xC8, 0xAF, 0x32, 0x27, + 0xB7, 0x3E, 0xD3, 0xAB, 0xC0, 0x7B, 0xE1, 0x46, + 0x4D, 0x79, 0x86, 0xF9, 0x49, 0xE6, 0xF3, 0x51, + 0x1A, 0x4A, 0x0B, 0x7B, 0x42, 0x53, 0x62, 0x32, + 0x89, 0xC3, 0x38, 0x2E, 0xB0, 0xB6, 0x08, 0x51, + 0xBF, 0x45, 0xDD, 0xC2, 0xF5, 0x7A, 0x95, 0x56, + 0x48, 0x55, 0x16, 0x67, 0x9B, 0x46, 0xC8, 0xC7, + 0xC2, 0xBD, 0x4A, 0x84, 0xEE, 0x10, 0xEE, 0x55, + 0xA3, 0x23, 0x36, 0xB0, 0x5E, 0xDF, 0x13, 0x96, + 0x37, 0x2C, 0x29, 0x5B, 0x74, 0x85, 0x0F, 0xBF, + 0xD0, 0x21, 0xB6, 0x8D, 0xCA, 0x1B, 0xF8, 0x2C, + 0xB6, 0xCF, 0x78, 0x4C, 0x8C, 0x5E, 0x25, 0x66, + 0xB7, 0x97, 0x0E, 0x33, 0xB2, 0x38, 0x5E, 0x5E, + 0xA9, 0xDA, 0x13, 0x1E, 0x15, 0x86, 0xBA, 0x6B, + 0x81, 0x81, 0x08, 0x50, 0xE0, 0x9C, 0xA0, 0x0A, + 0x00, 0x12, 0xDB, 0xD7, 0x73, 0x23, 0x83, 0x90, + 0x47, 0xE4, 0xD4, 0xEC, 0xA3, 0x0B, 0x98, 0x19, + 0xA0, 0x53, 0xD6, 0xE2, 0x01, 0x12, 0xE1, 0x88, + 0x93, 0x0A, 0xF4, 0x6D, 0xCB, 0xCC, 0xBF, 0x16, + 0xE3, 0x57, 0x0D, 0x0E, 0x4B, 0xC7, 0xF6, 0xCE, + 0x77, 0xDE, 0x54, 0x30, 0x3D, 0x03, 0xA6, 0x69, + 0xB3, 0x29, 0x29, 0x17, 0x6D, 0xA5, 0xA4, 0x89, + 0x3D, 0xAC, 0xC3, 0x67, 0x17, 0x82, 0xD9, 0xA3, + 0xA1, 0xB5, 0xCB, 0x97, 0x60, 0xDF, 0xA9, 0xF9, + 0xF0, 0x4F, 0xB5, 0xF2, 0x8A, 0x53, 0x3C, 0x72, + 0xFF, 0xC4, 0x8F, 0x38, 0xED, 0x77, 0xCD, 0xE1, + 0x7A, 0x2B, 0xE0, 0x3A, 0x29, 0x36, 0xAC, 0x45, + 0x01, 0x12, 0x00, 0x4E, 0x0A, 0x25, 0xF1, 0xBE, + 0x1E, 0xD9, 0x3C, 0x49, 0xA2, 0x3D, 0xE0, 0xBC, + 0x01, 0xA1, 0x2F, 0x9E, 0x74, 0x6D, 0x31, 0x05, + 0x27, 0x7F, 0xF9, 0xA7, 0xE7, 0x36, 0x99, 0x6A, + 0xFF, 0x05, 0x3C, 0x71, 0x42, 0x58, 0x1B, 0xE4, + 0x9B, 0x63, 0x54, 0xFE, 0x31, 0xEA, 0x05, 0xC8, + 0x32, 0x84, 0x29, 0xE8, 0x3A, 0x42, 0xFC, 0x6E, + 0x38, 0x38, 0xC1, 0x02, 0x2C, 0x2A, 0x3C, 0xF0, + 0x8D, 0xC6, 0xE2, 0x65, 0x76, 0x46, 0x80, 0xEF, + 0x14, 0xF3, 0x3E, 0x8E, 0xE8, 0x6F, 0xAA, 0x08, + 0xBB, 0x87, 0x1B, 0x61, 0xEC, 0x39, 0xE3, 0xF2, + 0x4C, 0x31, 0x79, 0xF4, 0x3D, 0x52, 0x01, 0x20, + 0xE4, 0xA1, 0xFC, 0x57, 0xF0, 0xFE, 0xE4, 0xE2, + 0xBC, 0xFC, 0x28, 0xBF, 0x29, 0x8B, 0xF3, 0xD1, + 0x32, 0x42, 0x18, 0x47, 0xED, 0xA0, 0x86, 0x30, + 0x6E, 0xBB, 0x0A, 0xC9, 0x47, 0xCA, 0xEF, 0x00, + 0x10, 0x51, 0x3D, 0xE8, 0xC7, 0x50, 0x84, 0x5A, + 0xD2, 0x7C, 0xF7, 0x92, 0x15, 0xF9, 0x52, 0x8E, + 0xEB, 0x82, 0x37, 0xB1, 0x5A, 0x8D, 0x37, 0xA7, + 0xD1, 0x60, 0xB1, 0x18, 0xF9, 0x8E, 0x0A, 0xCD, + 0x56, 0x68, 0xDA, 0xB5, 0xB9, 0x4A, 0xA6, 0xA4, + 0xDF, 0x80, 0x66, 0x74, 0x34, 0x63, 0xDF, 0xD8, + 0x48, 0x55, 0x5E, 0x2B, 0x3E, 0x03, 0xCB, 0x13, + 0x82, 0x13, 0x15, 0x11, 0x9F, 0x2E, 0xD3, 0xCD, + 0x43, 0x31, 0xC4, 0x6D, 0x1F, 0x71, 0xAF, 0xA5, + 0x00, 0x12, 0xAB, 0x4A, 0xF5, 0xA9, 0x87, 0x5C, + 0x6F, 0xA6, 0x65, 0x81, 0xB5, 0x16, 0x6F, 0x71, + 0xCE, 0x4E, 0x16, 0x5F, 0x01, 0x12, 0xC0, 0xEE, + 0x32, 0x67, 0x90, 0xEA, 0x8B, 0xD3, 0x5C, 0xEA, + 0x40, 0x20, 0xCD, 0x22, 0x1D, 0x0E, 0x3B, 0x57, + 0x6B, 0x0F, 0x53, 0x4B, 0xAF, 0xA1, 0x64, 0x55, + 0xC3, 0xA5, 0x6A, 0x43, 0xD6, 0x41, 0x96, 0x17, + 0x30, 0xD2, 0x4B, 0xEA, 0xE9, 0x8F, 0x04, 0x0E, + 0x94, 0x61, 0x58, 0x1F, 0x5B, 0xCF, 0x76, 0xB9, + 0x00, 0xE0, 0x49, 0x6B, 0x13, 0xDB, 0xA0, 0x26, + 0xEF, 0xE5, 0x4D, 0x66, 0x27, 0x85, 0x01, 0xAD, + 0x6D, 0x36, 0x78, 0xA9, 0x92, 0x89, 0xFE, 0xD4, + 0xA6, 0xD6, 0x2A, 0xDC, 0xE8, 0x61, 0x02, 0x20, + 0xAA, 0x62, 0xBE, 0xA7, 0x62, 0x70, 0x7C, 0x95, + 0x4C, 0x75, 0x24, 0xC2, 0xA0, 0x24, 0x28, 0xD3, + 0xDD, 0x08, 0xBD, 0x5F, 0x6C, 0xA9, 0x94, 0xEE, + 0x9F, 0x9E, 0x5A, 0x5B, 0x03, 0xF9, 0xE2, 0x9F, + 0x08, 0xAB, 0x4E, 0x61, 0xAB, 0xCC, 0x77, 0x4D, + 0x08, 0xC5, 0x14, 0xD3, 0x77, 0x29, 0x4B, 0x29, + 0x8B, 0xB2, 0x80, 0x23, 0x79, 0x9C, 0x22, 0x64, + 0x73, 0x8D, 0xC1, 0x05, 0xEA, 0x17, 0x75, 0xF0, + 0x87, 0x20, 0x58, 0x6B, 0x3B, 0x23, 0x26, 0x9F, + 0xE8, 0x8C, 0x84, 0x3D, 0x4D, 0x99, 0x01, 0x91, + 0x5C, 0x26, 0xDF, 0x28, 0xAE, 0x75, 0x4C, 0x81, + 0xE5, 0xA3, 0x4F, 0xFA, 0x95, 0x07, 0x13, 0x86, + 0x8E, 0xE1, 0xB3, 0xBD, 0x5B, 0x9C, 0x3C, 0x47, + 0xCE, 0xE4, 0x23, 0x2A, 0x6C, 0x73, 0x34, 0xC3, + 0x8B, 0x1C, 0x49, 0xE6, 0xE9, 0x48, 0x7E, 0x37, + 0xCD, 0xCE, 0xD4, 0x5F, 0x5F, 0x84, 0x4B, 0xD7, + 0xBD, 0x03, 0x2E, 0x77, 0x51, 0x3B, 0x19, 0x47, + 0xCE, 0xC2, 0xF5, 0xB7, 0x84, 0xB7, 0x68, 0xD5, + 0x83, 0xE0, 0xC6, 0x92, 0xC1, 0x6A, 0x56, 0xD4, + 0x33, 0x0C, 0x60, 0x4A, 0xB6, 0x1E, 0x28, 0xEE, + 0x34, 0xE3, 0xE0, 0x04, 0xF3, 0xA8, 0xF7, 0xAE, + 0x7A, 0xF0, 0xB7, 0xE4, 0x55, 0x33, 0x4D, 0x37, + 0x68, 0x03, 0x42, 0x9A, 0x40, 0x1E, 0x22, 0xBB, + 0x21, 0x36, 0xD3, 0x1B, 0xCE, 0x38, 0xE2, 0x8D, + 0x00, 0x12, 0x7D, 0x1E, 0xC2, 0x1E, 0x51, 0xB1, + 0x07, 0x7B, 0x29, 0x2D, 0xE7, 0x96, 0x94, 0x89, + 0x14, 0xFC, 0x61, 0x98, 0x01, 0x12, 0xD1, 0xA5, + 0x06, 0x54, 0x77, 0xB3, 0xBE, 0x46, 0xA9, 0x73, + 0x02, 0x97, 0xD6, 0x97, 0x12, 0x73, 0xD6, 0xAB, + 0xD7, 0xAB, 0x5E, 0xEB, 0x5D, 0xAC, 0xFC, 0x7C, + 0x11, 0x1D, 0x03, 0x7C, 0x7A, 0x5E, 0x6F, 0x67, + 0xFB, 0xD3, 0xD4, 0x74, 0xAC, 0x4E, 0xDB, 0x6C, + 0x28, 0xD4, 0xBA, 0x64, 0x8D, 0x9C, 0x73, 0x48, + 0xB9, 0x32, 0x35, 0xB6, 0x41, 0xBF, 0xEC, 0xC0, + 0xBA, 0x67, 0x42, 0xF7, 0x37, 0x19, 0xD8, 0x05, + 0xFF, 0x7A, 0x0B, 0x4C, 0xD9, 0x3E, 0x56, 0x3D, + 0x6D, 0x14, 0x01, 0x12, 0x63, 0x44, 0x7C, 0xF1, + 0x26, 0x60, 0xDC, 0x01, 0x09, 0x7F, 0x00, 0x0F, + 0x17, 0x91, 0x29, 0x87, 0xB3, 0x08, 0x52, 0x74, + 0x91, 0x68, 0x3A, 0x2F, 0x8F, 0x33, 0x9E, 0x7E, + 0xA2, 0x94, 0x64, 0x4E, 0x53, 0x8D, 0x80, 0xD9, + 0x7A, 0x6D, 0x15, 0x66, 0xDE, 0x94, 0x3B, 0xB4, + 0x5E, 0xFD, 0x66, 0x45, 0x87, 0x08, 0xBF, 0x0B, + 0x7A, 0x1C, 0x5A, 0x9C, 0x01, 0xF5, 0xD0, 0xE7, + 0xE9, 0xCB, 0x5B, 0x6A, 0x29, 0xDC, 0x3E, 0x3C, + 0x87, 0x30, 0xCB, 0x6C, 0xB8, 0xCF, 0x07, 0xF8, + 0x5F, 0xA7, 0xE3, 0x56, 0x5E, 0x94, 0x99, 0x1D, + 0xEA, 0x37, 0x30, 0x58, 0x0B, 0x87, 0x2D, 0x20, + 0x7E, 0xCD, 0xBC, 0x15, 0xCF, 0xE8, 0xF6, 0x94, + 0x0A, 0xFF, 0xBB, 0x91, 0xAD, 0x22, 0x6C, 0xA4, + 0xB6, 0x71, 0x7B, 0xA8, 0xEF, 0x38, 0x0D, 0xED, + 0x3C, 0xFA, 0xA6, 0xC3, 0xE4, 0x3C, 0x7E, 0x6D, + 0x3B, 0xE7, 0xD2, 0x82, 0x59, 0xF2, 0xB8, 0x8F, + 0x8A, 0x7F, 0x06, 0x7B, 0x3B, 0xBB, 0x3E, 0x5A, + 0x7F, 0xBB, 0x60, 0x28, 0x6A, 0x5A, 0x2A, 0x0E, + 0xCC, 0xA4, 0x02, 0x50, 0xD9, 0x1E, 0xCB, 0xC4, + 0xB3, 0x3B, 0x5D, 0x69, 0xBB, 0xBD, 0x86, 0x00, + 0x59, 0xC1, 0x47, 0xA6, 0x20, 0x85, 0x1F, 0x66, + 0xFD, 0x48, 0x2B, 0x73, 0x01, 0x41, 0x83, 0xBA, + 0xC1, 0x87, 0x82, 0xDB, 0xBD, 0x97, 0x74, 0xBD, + 0xAE, 0x6A, 0x34, 0x90, 0xB3, 0x01, 0x65, 0xF1, + 0x00, 0x12, 0x35, 0x8A, 0xB7, 0x74, 0xEF, 0x57, + 0xB6, 0xF7, 0x60, 0x48, 0xAA, 0x82, 0x70, 0xB0, + 0x4E, 0x42, 0xE0, 0x1E, 0x01, 0x12, 0x60, 0x97, + 0xD7, 0x93, 0x6F, 0xD3, 0xAC, 0x26, 0x2A, 0x35, + 0x7E, 0x9C, 0x1A, 0x3F, 0x99, 0xF0, 0x23, 0xA3, + 0x18, 0x90, 0xFA, 0x58, 0x99, 0x7F, 0x17, 0x61, + 0x32, 0x39, 0x58, 0xB2, 0xFC, 0xDF, 0xB1, 0x06, + 0x82, 0x11, 0x40, 0xB3, 0x75, 0x67, 0x8A, 0xDF, + 0x0D, 0x8B, 0xD1, 0xCE, 0x30, 0x8B, 0x73, 0x2F, + 0xBD, 0x5F, 0x32, 0x71, 0xA2, 0x56, 0x1F, 0x69, + 0x1C, 0x5C, 0xB2, 0x47, 0xC3, 0x8E, 0x8E, 0xBE, + 0xCD, 0x9D, 0xC8, 0xAF, 0xAC, 0x8A, 0x00, 0x8C, + 0x8B, 0x40, 0x28, 0x04, 0x73, 0xBB, 0xE5, 0xCE, + 0x33, 0xDA, 0xA1, 0x3D, 0x46, 0x4C, 0xF5, 0x6E, + 0xB8, 0xB7, 0x70, 0x45, 0x94, 0x1D, 0x1C, 0x59, + 0xAF, 0x30, 0xFA, 0xD1, 0x65, 0x86, 0x7F, 0x49, + 0xF5, 0xB2, 0xBE, 0xE3, 0x5B, 0x20, 0xA2, 0x0A, + 0x0E, 0x29, 0xC9, 0x43, 0xB6, 0x2B, 0x34, 0xB1, + 0x97, 0x2B, 0x52, 0x84, 0x37, 0xD1, 0xE4, 0x1C, + 0x2C, 0x4E, 0x49, 0x1B, 0x63, 0xED, 0xF3, 0x04, + 0x56, 0x3E, 0x5B, 0x35, 0x66, 0x4D, 0x0B, 0x2E, + 0x16, 0x8A, 0x0F, 0x7E, 0xE4, 0x3A, 0x6F, 0x3D, + 0xC8, 0x6C, 0x01, 0xED, 0x8F, 0x18, 0x2C, 0x97, + 0xCA, 0x00, 0x3C, 0x22, 0x44, 0x2A, 0xF0, 0x10, + 0x12, 0x79, 0x3A, 0x0A, 0x71, 0x34, 0x11, 0x2E, + 0x52, 0xF8, 0xC6, 0x78, 0x53, 0xE9, 0x40, 0x11, + 0x1A, 0x77, 0x9A, 0x24, 0xEB, 0x48, 0x81, 0x57, + 0xCD, 0x66, 0x2D, 0x08, 0x30, 0x42, 0xE3, 0x36, + 0xA3, 0xDA, 0xD1, 0x91, 0x72, 0xD7, 0xE4, 0x61, + 0x70, 0x01, 0x05, 0x90, 0xD5, 0x6C, 0x29, 0x7A, + 0x27, 0x65, 0x55, 0x5A, 0xC7, 0x35, 0xA6, 0xA5, + 0x7F, 0x1F, 0x34, 0xF5, 0xFC, 0x4E, 0xC2, 0x36, + 0x50, 0x1E, 0xAD, 0x09, 0x42, 0x1C, 0x6E, 0x5B, + 0x56, 0x68, 0x17, 0xAB, 0x52, 0x45, 0xC6, 0x8B, + 0xD3, 0x3A, 0x44, 0xF3, 0x16, 0xB5, 0x43, 0xC0, + 0x84, 0xD2, 0xC4, 0xB7, 0x09, 0xBF, 0xA2, 0x31, + 0x4D, 0xF2, 0x6B, 0x61, 0xEE, 0xFF, 0x7E, 0xC7, + 0x00, 0x12, 0x5B, 0x1D, 0x09, 0xEC, 0xEA, 0x53, + 0x83, 0xAB, 0x0B, 0xEF, 0x9D, 0xFB, 0x91, 0x94, + 0x5C, 0x82, 0x51, 0xFC, 0x01, 0x12, 0x02, 0x2F, + 0x39, 0xAC, 0xB6, 0x57, 0xD5, 0xF9, 0xEF, 0x07, + 0xBF, 0xF9, 0xF9, 0x4A, 0xE4, 0x7C, 0x16, 0xEF, + 0xA3, 0xC5, 0x74, 0xBD, 0x18, 0xA7, 0x4E, 0xDB, + 0xB4, 0xD2, 0x95, 0x3D, 0x92, 0x58, 0xCB, 0x43, + 0x0E, 0x2F, 0x4E, 0xAF, 0x8F, 0x8F, 0xE5, 0x75, + 0xD3, 0x09, 0x24, 0xA3, 0x5F, 0x45, 0x3B, 0x36, + 0xC5, 0xA4, 0xE8, 0x7D, 0x49, 0x72, 0x7F, 0xB2, + 0x7D, 0x88, 0xEE, 0xB1, 0xE6, 0xBA, 0x9C, 0x67, + 0x36, 0x61, 0xF4, 0x07, 0xEC, 0xEB, 0xFA, 0x2E, + 0xB8, 0xFF, 0xA8, 0x28, 0x7B, 0x3C, 0x08, 0x3C, + 0xAD, 0xB2, 0xD1, 0xDC, 0x42, 0x97, 0xF1, 0x40, + 0xE7, 0xCE, 0xBE, 0xED, 0xF4, 0x68, 0x17, 0x05, + 0x8E, 0x5E, 0xFC, 0x4E, 0x76, 0x0A, 0x0A, 0x5D, + 0xB5, 0x95, 0xF1, 0x11, 0x8E, 0xD7, 0x42, 0xE4, + 0xA0, 0x61, 0xFA, 0xA0, 0xB3, 0x96, 0x14, 0x07, + 0x98, 0x5A, 0xE3, 0x27, 0x4F, 0xD8, 0x2A, 0x5E, + 0x30, 0x1A, 0xAD, 0x51, 0xCE, 0x52, 0x1C, 0xD3, + 0xFD, 0x95, 0xB6, 0xB3, 0x1B, 0x84, 0x64, 0x30, + 0x7A, 0x96, 0x8A, 0xF9, 0x49, 0x2F, 0x5D, 0xCE, + 0x5D, 0xAB, 0x46, 0xF1, 0x5D, 0xD3, 0x68, 0x75, + 0x99, 0x7A, 0xC1, 0x5C, 0xF3, 0xD2, 0xCE, 0x20, + 0x63, 0x46, 0x24, 0xAC, 0x99, 0xA6, 0x95, 0x55, + 0x90, 0x68, 0x07, 0xEE, 0x05, 0x92, 0x4D, 0xB3, + 0x10, 0xD6, 0x9E, 0x92, 0x8D, 0xD5, 0x41, 0x4A, + 0x4A, 0xA0, 0xB9, 0x46, 0xBE, 0xC9, 0xCC, 0x7C, + 0xE7, 0x46, 0x73, 0x3E, 0x6B, 0xAA, 0x49, 0x46, + 0x76, 0xB5, 0xED, 0xE6, 0x0C, 0xDE, 0x75, 0x20, + 0x80, 0x1D, 0xD1, 0x0D, 0x26, 0x53, 0x4A, 0x9B, + 0x94, 0xF6, 0xC9, 0x55, 0xEF, 0x15, 0x56, 0x43, + 0x5B, 0xBC, 0x06, 0x41, 0x94, 0xC6, 0xD6, 0xFA, + 0x12, 0x2F, 0x68, 0x65, 0x32, 0x6D, 0x21, 0x74, + 0x38, 0xFF, 0x38, 0x5B, 0xAF, 0x03, 0x16, 0x80, + 0xE8, 0xB2, 0x37, 0xB6, 0xAC, 0x7A, 0x8F, 0xBD, + 0x4F, 0xE9, 0x27, 0xC1, 0x2A, 0xF4, 0x13, 0x25, + 0x00, 0x12, 0xFC, 0xF8, 0x4E, 0xD8, 0x60, 0xB2, + 0x04, 0xFD, 0xAC, 0x9C, 0xD4, 0x2A, 0xD2, 0x3A, + 0x58, 0x43, 0xD2, 0x82, 0x01, 0x12, 0x41, 0x71, + 0x39, 0x48, 0x37, 0xFA, 0x89, 0x74, 0x67, 0xDE, + 0xC8, 0xBC, 0xC6, 0xDF, 0x6C, 0x20, 0x89, 0x79, + 0xE3, 0xA6, 0x4F, 0xFF, 0x3E, 0x39, 0x0B, 0x88, + 0x28, 0xFE, 0x59, 0x59, 0x77, 0x3E, 0x74, 0x0A, + 0x25, 0x1B, 0xC5, 0x44, 0x34, 0xC8, 0x9F, 0x91, + 0xF8, 0x76, 0xA8, 0x7D, 0x5F, 0x68, 0xDF, 0x04, + 0x92, 0x87, 0x5F, 0xB3, 0xE4, 0xF9, 0x41, 0xB0, + 0x9F, 0x4D, 0x7F, 0xCD, 0x87, 0xFA, 0xC3, 0xEC, + 0x16, 0x9A, 0xC9, 0x53, 0x56, 0x2A, 0x50, 0x65, + 0xDC, 0x9A, 0x38, 0xB1, 0xC0, 0xC9, 0x73, 0x40, + 0xF6, 0x8F, 0x0F, 0x9B, 0x16, 0xEF, 0xAC, 0x51, + 0x24, 0x55, 0x17, 0xDD, 0xD4, 0xFD, 0xA5, 0xA2, + 0x41, 0x35, 0xD5, 0x83, 0x84, 0xF4, 0xC7, 0x0F, + 0xB2, 0xA0, 0x7B, 0xB2, 0x14, 0x1A, 0x9E, 0xD9, + 0x02, 0x41, 0xBF, 0xC2, 0xB3, 0x7D, 0xF1, 0x79, + 0xF4, 0x73, 0x8D, 0x5D, 0xC3, 0x57, 0xAA, 0x2D, + 0xC2, 0xBC, 0x49, 0x23, 0xB9, 0xD6, 0x54, 0xF4, + 0xF9, 0xDC, 0x35, 0xA7, 0xC5, 0x36, 0x99, 0x5F, + 0x08, 0xF2, 0xFA, 0xBF, 0xAA, 0x70, 0xAC, 0x81, + 0x93, 0xD0, 0xBF, 0x06, 0xDB, 0xC7, 0xA2, 0xBE, + 0x35, 0x68, 0x6C, 0x11, 0x74, 0x16, 0x8D, 0x78, + 0xC3, 0xC7, 0xA0, 0x06, 0x60, 0xE4, 0x6C, 0xFF, + 0xF1, 0x58, 0xDF, 0x6A, 0xED, 0x6F, 0x5B, 0xB4, + 0x18, 0x44, 0x3C, 0xC1, 0x11, 0xBE, 0x9C, 0x78, + 0x9D, 0x07, 0x73, 0x11, 0xD8, 0xFD, 0x0E, 0x69, + 0x9D, 0x1A, 0x8A, 0x8C, 0xBA, 0x3E, 0x56, 0xD5, + 0x33, 0xAC, 0xBE, 0xD2, 0xDD, 0x85, 0x1B, 0xC7, + 0x95, 0x26, 0xC7, 0xD2, 0xF2, 0x07, 0x73, 0xFC, + 0x1E, 0x67, 0x34, 0xAA, 0x8D, 0x2B, 0xE4, 0xB8, + 0x3F, 0xCC, 0xC1, 0x5C, 0xC4, 0xE2, 0x22, 0x18, + 0xB6, 0x5D, 0xFD, 0xE4, 0xCA, 0x2C, 0xB0, 0xD3, + 0xE5, 0xF5, 0x48, 0x41, 0xF2, 0xB8, 0xB9, 0x54, + 0x47, 0x51, 0x55, 0x80, 0xBD, 0xC9, 0xB4, 0x6E, + 0x4D, 0x57, 0x46, 0xFD, 0xC7, 0xD8, 0x39, 0xAD, + 0x00, 0x12, 0x05, 0x07, 0x22, 0x1F, 0x51, 0xE5, + 0xDF, 0xE9, 0xBE, 0xF1, 0x1D, 0xB6, 0x0E, 0x1D, + 0x9B, 0x41, 0x0C, 0xB8, 0x01, 0x12, 0xC2, 0xDB, + 0xD7, 0xBD, 0x38, 0x92, 0xDE, 0xD5, 0x4F, 0xC9, + 0x4A, 0x06, 0xB9, 0xD0, 0x1C, 0x3E, 0xF9, 0x09, + 0x38, 0x36, 0x2C, 0x48, 0xEA, 0x90, 0x3F, 0x8C, + 0xAA, 0x35, 0x31, 0x2B, 0xC5, 0xAF, 0xBB, 0x47, + 0xDC, 0xEE, 0x25, 0x36, 0xCE, 0x23, 0x0B, 0xFA, + 0xB0, 0xEE, 0xC2, 0xF5, 0x0A, 0x11, 0xEB, 0xC7, + 0xE5, 0xFB, 0xA1, 0xE6, 0x79, 0x18, 0x1F, 0xA5, + 0xD5, 0xC0, 0xA0, 0xDC, 0x28, 0x8D, 0x46, 0x94, + 0xE1, 0x8F, 0x50, 0xB5, 0x11, 0x4A, 0x6D, 0x20, + 0xF2, 0x6D, 0x88, 0x29, 0xE1, 0x45, 0xB4, 0x32, + 0x70, 0x6B, 0xCB, 0x9C, 0x7E, 0x85, 0x19, 0xFA, + 0x4D, 0x44, 0xD3, 0xF7, 0x87, 0x9E, 0xB9, 0xCA, + 0x09, 0x4A, 0x66, 0x5D, 0x5F, 0x72, 0x71, 0xF9, + 0x43, 0x34, 0x79, 0x8C, 0xB5, 0xD9, 0x7D, 0x0F, + 0xAA, 0x02, 0xFE, 0x91, 0x86, 0x60, 0x00, 0x2D, + 0xF5, 0xB2, 0xAC, 0xC7, 0x93, 0x41, 0x8E, 0x5D, + 0x3F, 0xBE, 0xAA, 0x17, 0xED, 0xBF, 0x42, 0x28, + 0x52, 0xE9, 0xC9, 0x99, 0x99, 0xB6, 0xF8, 0xDB, + 0x84, 0x3C, 0x55, 0x9B, 0x29, 0x9E, 0x15, 0x20, + 0x33, 0x43, 0x60, 0xEB, 0x22, 0xE8, 0xB2, 0x69, + 0xD8, 0x2F, 0xBE, 0x60, 0xFC, 0xC7, 0x82, 0xE1, + 0x13, 0x43, 0x84, 0x11, 0x36, 0x0A, 0x7E, 0xD5, + 0xFE, 0x61, 0x04, 0xEF, 0x76, 0x4F, 0x19, 0xBD, + 0x6F, 0x4A, 0x0A, 0x96, 0xF0, 0x45, 0x94, 0x96, + 0x7B, 0xBD, 0x11, 0x67, 0xB6, 0xAC, 0xD8, 0x0C, + 0x75, 0x41, 0x6B, 0x07, 0x4C, 0x3E, 0xF7, 0xC1, + 0x59, 0xE3, 0x25, 0xB8, 0xA3, 0x0B, 0x08, 0xA8, + 0x8B, 0x3B, 0x72, 0x98, 0xD1, 0xDA, 0x0B, 0xCE, + 0x93, 0xC9, 0x95, 0x5B, 0x58, 0x09, 0xBA, 0x04, + 0xD8, 0x6B, 0x43, 0x69, 0x1B, 0xCE, 0xD0, 0xEA, + 0xF5, 0xAA, 0x10, 0xB9, 0x40, 0xD1, 0x39, 0xBE, + 0x76, 0xF0, 0x30, 0xF7, 0x9C, 0xA4, 0x74, 0xC9, + 0x7E, 0x30, 0x51, 0xD6, 0x10, 0xDF, 0xFF, 0x9A, + 0x18, 0x4B, 0x06, 0x7A, 0x3E, 0x86, 0x82, 0x9E, + 0x00, 0x12, 0x87, 0x1D, 0x87, 0x0A, 0x84, 0x54, + 0x2C, 0x8C, 0x6C, 0x05, 0x2C, 0x09, 0x5D, 0x1B, + 0x62, 0x0A, 0xF1, 0x64, 0x01, 0x12, 0xD1, 0xE0, + 0x18, 0x56, 0xC1, 0x92, 0xEF, 0x08, 0x26, 0x71, + 0x8A, 0x09, 0xC2, 0x4B, 0x33, 0x36, 0xCC, 0x47, + 0x04, 0x59, 0x40, 0x57, 0xE0, 0x81, 0x17, 0x4C, + 0xF0, 0xEC, 0x15, 0xA8, 0xA6, 0x4D, 0xF2, 0xAE, + 0x7D, 0x6B, 0x90, 0x62, 0xD5, 0xD5, 0xED, 0x05, + 0x44, 0xD6, 0xA0, 0x9D, 0x49, 0x2E, 0xB4, 0xFE, + 0x0A, 0xE0, 0x2E, 0xF4, 0xB1, 0xCC, 0xC3, 0x7A, + 0xA2, 0xB3, 0x74, 0xDA, 0xBF, 0x08, 0xB1, 0xE9, + 0x1C, 0x79, 0xEB, 0x23, 0x85, 0x8A, 0x30, 0x02, + 0xD8, 0x71, 0xB4, 0x78, 0x61, 0x30, 0xC3, 0xC6, + 0x9E, 0x67, 0x53, 0xE4, 0x4B, 0x5A, 0x89, 0xB0, + 0xE2, 0xA0, 0x8B, 0xB8, 0x0F, 0x0C, 0xA6, 0xC6, + 0x28, 0x05, 0x34, 0x3A, 0xD7, 0xC0, 0x92, 0x7A, + 0x1C, 0x01, 0xD6, 0x43, 0xB7, 0x1A, 0xD4, 0x27, + 0x79, 0x05, 0xB0, 0xBC, 0x33, 0xCD, 0xCE, 0x0D, + 0xEA, 0x42, 0xE2, 0xBA, 0x67, 0x12, 0x85, 0xC3, + 0x19, 0x67, 0x39, 0x9D, 0x0F, 0x91, 0x32, 0xAC, + 0x93, 0xA5, 0x25, 0x0E, 0x6B, 0x79, 0x0E, 0x6A, + 0xEA, 0x4F, 0xB3, 0x3A, 0x4A, 0xDA, 0xD0, 0xC6, + 0xDB, 0x5B, 0xF5, 0x2C, 0x5A, 0x35, 0x86, 0x1B, + 0x52, 0xD7, 0xA2, 0x7F, 0x4D, 0x6B, 0xAF, 0x40, + 0xF9, 0x56, 0xF1, 0xD8, 0x69, 0x04, 0xCE, 0x05, + 0xBB, 0x55, 0xD8, 0xBA, 0x77, 0x5B, 0xD7, 0x10, + 0xB4, 0x8B, 0x5D, 0x49, 0xDB, 0xBB, 0x4F, 0xDF, + 0xF4, 0x6C, 0xBD, 0x5D, 0xBD, 0x02, 0x31, 0x33, + 0xC9, 0x7A, 0xCF, 0x3B, 0x2A, 0xEC, 0x31, 0x3E, + 0xBD, 0x7A, 0xE4, 0x7E, 0x2E, 0x16, 0xDB, 0xB8, + 0x9E, 0x93, 0x70, 0x1B, 0x8F, 0xE7, 0x0E, 0xBE, + 0x97, 0x48, 0x51, 0x78, 0xC5, 0x1C, 0xEC, 0xE3, + 0xE1, 0xE7, 0x02, 0x81, 0xCF, 0x24, 0x36, 0xF4, + 0x0D, 0xCE, 0x5B, 0x7C, 0xE6, 0xF5, 0x18, 0x74, + 0x42, 0x4F, 0xE0, 0x1A, 0x34, 0xC2, 0x79, 0x35, + 0xED, 0x83, 0x2A, 0xB6, 0x67, 0x05, 0x04, 0x98, + 0x50, 0xB4, 0x12, 0x4E, 0x7A, 0x68, 0x4D, 0x56, + 0x00, 0x12, 0x26, 0xF8, 0xC9, 0x07, 0x42, 0x25, + 0xA9, 0x71, 0x37, 0x0D, 0x97, 0xB7, 0x03, 0x2D, + 0x7A, 0xAA, 0xB3, 0x8A, 0x01, 0x12, 0xAD, 0x23, + 0x66, 0x3F, 0x27, 0x0B, 0x53, 0x29, 0xA1, 0xE0, + 0x1D, 0xC1, 0xE7, 0xF4, 0x9F, 0x46, 0x6F, 0xD0, + 0xC7, 0xB1, 0xF7, 0x4D, 0xE7, 0xEE, 0x31, 0x4E, + 0xED, 0xC8, 0x21, 0x60, 0x5B, 0x2F, 0xC6, 0x7E, + 0x88, 0x4A, 0x04, 0x12, 0x69, 0x21, 0x14, 0x95, + 0x4C, 0x43, 0xA8, 0x6A, 0xD8, 0xAA, 0xBB, 0x70, + 0x82, 0x47, 0x86, 0x8D, 0xB7, 0x4C, 0x50, 0xCD, + 0x02, 0x1D, 0xA1, 0x3D, 0x06, 0x46, 0x11, 0xA0, + 0xB0, 0xE7, 0xC6, 0xF7, 0xE6, 0xD7, 0x53, 0xF5, + 0x31, 0xDD, 0xE6, 0x11, 0x03, 0x30, 0xE4, 0x94, + 0xE8, 0x54, 0x06, 0x3F, 0x8D, 0x3C, 0xE5, 0x6E, + 0xA6, 0x86, 0x70, 0x00, 0x81, 0x2B, 0xBE, 0xB0, + 0xD7, 0xBA, 0xF7, 0xF4, 0xDD, 0x45, 0x18, 0x1C, + 0x85, 0x74, 0x12, 0x76, 0xDB, 0x77, 0xCF, 0x3E, + 0x7F, 0x97, 0x4F, 0x7C, 0xC5, 0x03, 0xC6, 0xFB, + 0xD7, 0x10, 0x35, 0x12, 0x78, 0xE8, 0x43, 0xF7, + 0xC7, 0x78, 0x9D, 0x3B, 0x73, 0xE4, 0x26, 0x4D, + 0x26, 0xF1, 0x29, 0xE5, 0xA2, 0x32, 0xBC, 0xD8, + 0x14, 0x5B, 0xAA, 0x77, 0x39, 0x0C, 0x95, 0x97, + 0xB9, 0xC5, 0x40, 0xD6, 0xE2, 0x7B, 0x6B, 0x60, + 0x93, 0x1D, 0xAC, 0xCC, 0xD3, 0x9F, 0x82, 0xBE, + 0x53, 0xBB, 0x79, 0xBA, 0xD6, 0x7D, 0xE4, 0x9C, + 0xFF, 0xD6, 0xF3, 0xAB, 0xC3, 0x1E, 0x8C, 0xEB, + 0xCF, 0x57, 0x18, 0xB2, 0x94, 0xCF, 0x10, 0xCB, + 0x53, 0x1F, 0x47, 0x1C, 0xBD, 0xAE, 0x07, 0x54, + 0xEB, 0x67, 0x41, 0x9E, 0xE9, 0xA2, 0x28, 0x6D, + 0x8D, 0xD4, 0x0A, 0x55, 0x2B, 0x32, 0x63, 0xF8, + 0x16, 0xE1, 0xC9, 0x0A, 0x01, 0x37, 0xA2, 0x6F, + 0xDB, 0x9F, 0xA9, 0x89, 0xC2, 0x73, 0x16, 0x38, + 0x02, 0x6A, 0x57, 0x84, 0x8C, 0x18, 0x57, 0x83, + 0x3C, 0xCC, 0xA6, 0x34, 0xEB, 0x49, 0x5E, 0xEC, + 0x5D, 0x56, 0x6B, 0x45, 0xC4, 0x02, 0x16, 0x48, + 0xE7, 0x37, 0x46, 0x38, 0x2D, 0xC9, 0x9D, 0x8F, + 0x10, 0xEB, 0xBF, 0xA9, 0x8B, 0xCF, 0x67, 0x65, + 0x00, 0x12, 0x0A, 0x69, 0xCC, 0x43, 0x40, 0x55, + 0x5E, 0x24, 0xEB, 0xCA, 0x3C, 0xCA, 0xD0, 0xBC, + 0x57, 0xA4, 0xFF, 0x97, 0x01, 0x12, 0x7D, 0x68, + 0x9E, 0x3E, 0x5A, 0xEB, 0x41, 0xDE, 0x88, 0xFA, + 0x4C, 0x8F, 0xEE, 0xE8, 0x25, 0x12, 0xB2, 0x6A, + 0xFE, 0x06, 0x27, 0x14, 0x0B, 0x21, 0xE0, 0x06, + 0xA5, 0x2B, 0x36, 0x5A, 0x17, 0x8C, 0xCB, 0x6F, + 0xEF, 0x27, 0x84, 0xCE, 0x94, 0x5D, 0x7C, 0xF8, + 0xEE, 0x42, 0xA5, 0x31, 0xE8, 0x3E, 0x76, 0xE6, + 0x79, 0xCC, 0xA4, 0x22, 0x56, 0x0A, 0xE6, 0x19, + 0x91, 0x14, 0x0B, 0xA9, 0x00, 0xFB, 0x15, 0x4B, + 0xBB, 0xDD, 0x43, 0xA2, 0xAB, 0x82, 0xC9, 0x6E, + 0x57, 0xA9, 0xDE, 0x10, 0x1B, 0x06, 0x5B, 0x53, + 0x2D, 0x22, 0x32, 0x75, 0x9F, 0x88, 0x9D, 0x7C, + 0x21, 0x27, 0x31, 0x8E, 0x35, 0xD4, 0x50, 0x86, + 0xB7, 0x9D, 0xE7, 0x6C, 0x8E, 0x3D, 0x82, 0x43, + 0x9C, 0x16, 0xF2, 0x91, 0x1C, 0x43, 0x97, 0xD5, + 0x45, 0x83, 0x84, 0xD9, 0xF2, 0x22, 0xC3, 0xCE, + 0x2D, 0x25, 0xD3, 0x77, 0x8B, 0x74, 0xFA, 0x80, + 0x74, 0x55, 0x7A, 0x8B, 0x67, 0x71, 0x80, 0x6A, + 0xCC, 0x43, 0x9F, 0xCC, 0xEB, 0x66, 0x67, 0x77, + 0xEB, 0x03, 0xB6, 0x2A, 0x02, 0x57, 0x92, 0x25, + 0x27, 0x08, 0xAE, 0xD6, 0x93, 0x7F, 0x2B, 0xF1, + 0x8F, 0xAE, 0x22, 0xD1, 0xE2, 0x27, 0x89, 0xF9, + 0x71, 0x91, 0x67, 0xE9, 0x10, 0x90, 0xF7, 0x8F, + 0x9A, 0xA1, 0xAD, 0x03, 0x03, 0x29, 0x22, 0x1C, + 0x1A, 0x3B, 0x4C, 0xC7, 0x26, 0xE2, 0xBE, 0x54, + 0x5D, 0xED, 0x15, 0xE0, 0x08, 0x65, 0xB2, 0xE3, + 0xEA, 0xD0, 0xB3, 0x3B, 0x37, 0xEA, 0x74, 0xD8, + 0x55, 0x69, 0x37, 0x6C, 0xBE, 0xFA, 0x6A, 0xAD, + 0x2B, 0x3C, 0x8C, 0x8F, 0xD2, 0x56, 0xF0, 0x7D, + 0xC4, 0x9A, 0x71, 0xC2, 0x7C, 0x4F, 0x26, 0xEE, + 0x88, 0xF1, 0xB6, 0x23, 0x18, 0xE4, 0x50, 0x17, + 0x17, 0x99, 0x3A, 0xB1, 0x75, 0x22, 0xC6, 0xDB, + 0x6A, 0x6D, 0xA3, 0x3C, 0x5C, 0xF5, 0x2B, 0x02, + 0xA9, 0xC9, 0x12, 0xD9, 0x0F, 0xB3, 0x95, 0x49, + 0xC5, 0x4B, 0x1C, 0x42, 0x19, 0x62, 0x0E, 0x87, + 0x00, 0x12, 0x22, 0xDC, 0x2C, 0xFB, 0x4E, 0xC3, + 0x18, 0xE9, 0xED, 0x3B, 0x03, 0x20, 0x9E, 0xB0, + 0xC2, 0xED, 0x9A, 0x5D, 0x01, 0x12, 0xC2, 0x95, + 0x6B, 0xC6, 0x4E, 0x6D, 0xF6, 0x89, 0x87, 0x28, + 0x71, 0xFE, 0x25, 0xF6, 0x43, 0xA8, 0x68, 0x73, + 0x43, 0x43, 0x00, 0x59, 0xDC, 0x91, 0xE8, 0xA0, + 0x22, 0x87, 0xAE, 0x99, 0xF7, 0x21, 0x08, 0xEA, + 0x6F, 0x9E, 0x33, 0xE0, 0xBA, 0x5F, 0x06, 0x43, + 0xF2, 0x58, 0x25, 0x09, 0x40, 0x28, 0x85, 0x04, + 0x72, 0x10, 0x8A, 0x0F, 0x1D, 0x0F, 0x47, 0x37, + 0x4D, 0xD4, 0xEA, 0xCB, 0x70, 0x4B, 0xA0, 0xD3, + 0x3C, 0x71, 0xF2, 0x2D, 0x03, 0x5C, 0x88, 0x80, + 0xB6, 0x65, 0xC1, 0xB3, 0x48, 0x91, 0xA4, 0xC5, + 0xA4, 0x1F, 0x9A, 0xAB, 0xF6, 0xB7, 0x37, 0x77, + 0x94, 0x1E, 0x7D, 0x93, 0x63, 0x47, 0x16, 0x77, + 0x20, 0xA2, 0x94, 0xC2, 0x9E, 0x35, 0x3B, 0x49, + 0x7D, 0xFA, 0xA7, 0x45, 0x70, 0x3B, 0x34, 0x56, + 0x4C, 0x99, 0x3B, 0xFB, 0x91, 0x12, 0x28, 0x22, + 0xF2, 0x3C, 0x0B, 0xBA, 0x93, 0x5D, 0xF8, 0x56, + 0xE0, 0x27, 0x6F, 0x95, 0x0B, 0x27, 0x61, 0xA1, + 0x77, 0x55, 0xDC, 0x86, 0x35, 0xCF, 0x44, 0xA9, + 0xB4, 0x5F, 0xB0, 0xFC, 0x8D, 0x2E, 0x07, 0x3E, + 0x33, 0x66, 0xFD, 0xF5, 0xF4, 0xA7, 0xD7, 0xE5, + 0xA5, 0x0F, 0x11, 0x16, 0x90, 0xB3, 0xF1, 0xF1, + 0xE4, 0xE0, 0xC3, 0x5C, 0xFB, 0xE7, 0xE3, 0x88, + 0x1B, 0x8B, 0x56, 0x1C, 0x0C, 0x0F, 0xE7, 0x68, + 0x6A, 0x1B, 0x37, 0x25, 0x90, 0x2E, 0x43, 0x6B, + 0x18, 0x45, 0x5A, 0xB6, 0xE5, 0x4B, 0x59, 0xAF, + 0x82, 0xCE, 0xD4, 0x7D, 0x95, 0xAA, 0x2D, 0xB9, + 0x98, 0x03, 0xD0, 0x91, 0xCC, 0xAE, 0x81, 0xC8, + 0x15, 0x6C, 0xED, 0x9B, 0x9C, 0xA8, 0x0F, 0xFE, + 0x88, 0xF6, 0xFC, 0x31, 0xAC, 0xE3, 0xFD, 0x01, + 0x19, 0x09, 0xCD, 0x31, 0x3C, 0xF0, 0xDD, 0xF5, + 0x5F, 0xBF, 0x97, 0xCB, 0x0E, 0x44, 0x17, 0xBC, + 0xE5, 0x26, 0x2B, 0x0D, 0x6B, 0xA5, 0xAE, 0x02, + 0x09, 0x2B, 0x48, 0xEE, 0x06, 0xB2, 0xDB, 0xD1, + 0x73, 0x11, 0x61, 0x0A, 0x3F, 0x6A, 0x18, 0xDA, + 0x00, 0x12, 0x75, 0x35, 0x24, 0xBB, 0xEE, 0x8B, + 0x8A, 0x09, 0xC2, 0x4A, 0x8F, 0x65, 0x3E, 0x3E, + 0xF3, 0x16, 0x18, 0x78, 0x01, 0x12, 0x3A, 0x7C, + 0xE7, 0x55, 0x6A, 0x3D, 0x7A, 0x32, 0x4B, 0x22, + 0xE0, 0x27, 0x97, 0x38, 0x24, 0xE9, 0x6C, 0x6A, + 0x08, 0x39, 0xF9, 0xAF, 0x5A, 0x80, 0x05, 0xA5, + 0xA7, 0x12, 0xFB, 0xE6, 0xB9, 0x8D, 0x71, 0x47, + 0x13, 0x5B, 0xE3, 0xEC, 0x80, 0x32, 0xA1, 0xD9, + 0xC3, 0x5E, 0x37, 0x54, 0x1D, 0xEC, 0xBE, 0xA2, + 0xB3, 0xE5, 0x21, 0xC5, 0xC6, 0x2F, 0xC9, 0x3C, + 0xA7, 0xBA, 0x9D, 0x39, 0x05, 0x87, 0xE8, 0x65, + 0x54, 0xFA, 0xB3, 0xE5, 0xE2, 0x27, 0x49, 0x42, + 0x92, 0x43, 0x03, 0x9F, 0x8F, 0x68, 0xB8, 0x86, + 0xE6, 0xE4, 0xC4, 0xE1, 0xE2, 0x7F, 0x39, 0xAB, + 0x42, 0xE5, 0x36, 0xAF, 0x92, 0x67, 0x96, 0xFD, + 0x8A, 0xF7, 0x2A, 0x7E, 0x0C, 0xE8, 0x1F, 0x11, + 0x09, 0xDA, 0xEF, 0xBF, 0xC3, 0x4D, 0xD1, 0xDD, + 0x69, 0xB3, 0x58, 0xF3, 0x1F, 0x8C, 0x90, 0x7E, + 0x9D, 0xCE, 0x16, 0xD7, 0x91, 0x1F, 0x22, 0x69, + 0x65, 0x5E, 0xDB, 0xBB, 0x18, 0x91, 0x17, 0x48, + 0x1C, 0x06, 0xA4, 0x64, 0xD2, 0x0C, 0x06, 0xA8, + 0x3F, 0x18, 0x17, 0xE7, 0x22, 0x47, 0x9A, 0xC4, + 0xFD, 0x46, 0x7C, 0x50, 0xF6, 0x26, 0xCE, 0xB0, + 0x1F, 0x59, 0x21, 0x5D, 0xFA, 0x76, 0x22, 0x7D, + 0xFB, 0xA9, 0xEA, 0x5D, 0x94, 0xCB, 0xC1, 0x58, + 0x58, 0xEB, 0x97, 0xB0, 0x90, 0x54, 0x28, 0x3E, + 0x3D, 0x28, 0x8D, 0xB3, 0x53, 0xDD, 0xB5, 0x9F, + 0x63, 0xA1, 0x30, 0x6B, 0xA5, 0xC3, 0x96, 0x41, + 0x7D, 0x3A, 0xAA, 0xC8, 0xFC, 0xD1, 0x9B, 0xE0, + 0x93, 0xA6, 0xA2, 0x2A, 0xBD, 0xA2, 0x1A, 0x25, + 0x89, 0x9F, 0x55, 0xE7, 0x09, 0x75, 0xA2, 0x4F, + 0xBA, 0x01, 0x8D, 0xFC, 0xA8, 0xF4, 0xD1, 0xF5, + 0x5F, 0xF0, 0x77, 0xB5, 0x52, 0xCF, 0x75, 0xE7, + 0x8C, 0xD2, 0xE5, 0x89, 0x51, 0x2F, 0x1B, 0x9A, + 0xB2, 0xBE, 0xA5, 0x03, 0x83, 0x60, 0x65, 0x3E, + 0x06, 0x6B, 0x91, 0x35, 0x9B, 0x83, 0x11, 0xD7, + 0x1C, 0x73, 0xD2, 0xCA, 0xB5, 0x24, 0xF1, 0x1C, + 0x00, 0x12, 0x23, 0xA1, 0x2A, 0x69, 0x88, 0xB7, + 0x15, 0x69, 0xA2, 0xB8, 0xDF, 0xDA, 0xCE, 0xBB, + 0x71, 0x22, 0x32, 0xD0, 0x01, 0x12, 0xB1, 0x92, + 0x0A, 0xD9, 0x9D, 0x00, 0xDA, 0x9A, 0x3B, 0xA4, + 0xD5, 0xA1, 0x82, 0x17, 0x6D, 0x4B, 0x95, 0x21, + 0xF6, 0x87, 0x5E, 0x66, 0xC8, 0x0D, 0x4D, 0x41, + 0x59, 0x4B, 0x04, 0x43, 0x33, 0x74, 0xEE, 0x61, + 0x34, 0x30, 0xCC, 0xD7, 0x90, 0xC3, 0x5A, 0xC5, + 0xB8, 0xB9, 0x74, 0xD1, 0xF0, 0xE9, 0x44, 0x92, + 0x0A, 0x00, 0xE1, 0x0E, 0x62, 0x86, 0xAC, 0xA5, + 0x7E, 0x6A, 0x7E, 0xB5, 0xC8, 0x8A, 0x9F, 0xCD, + 0x66, 0x57, 0x8F, 0x5E, 0xB6, 0x76, 0x15, 0x34, + 0xC8, 0x29, 0xDD, 0xEB, 0xC9, 0xD5, 0x50, 0xA1, + 0x0D, 0x73, 0xAD, 0x4A, 0x13, 0xC4, 0x4A, 0xAB, + 0x01, 0x0D, 0xB6, 0xE4, 0xA9, 0x0A, 0x9D, 0x21, + 0x05, 0xC1, 0xF6, 0x34, 0x41, 0x32, 0x09, 0xAB, + 0xCC, 0x19, 0xC4, 0x61, 0xAE, 0xE5, 0x19, 0x75, + 0xAE, 0x6B, 0xD9, 0x13, 0xAA, 0x37, 0x3A, 0x08, + 0xF7, 0x91, 0xF5, 0xC3, 0x16, 0x73, 0x40, 0xC0, + 0x7E, 0x3C, 0x5B, 0xED, 0x89, 0xAA, 0x6C, 0xDA, + 0x1E, 0xB3, 0xED, 0xFC, 0x60, 0x22, 0x04, 0xD6, + 0xFE, 0x3B, 0x83, 0x6D, 0x3A, 0x00, 0x1C, 0x45, + 0xCA, 0x40, 0x59, 0x4B, 0x48, 0x2D, 0xA4, 0x14, + 0x80, 0xF7, 0x61, 0x7B, 0x07, 0x25, 0x23, 0xAB, + 0x39, 0x12, 0x97, 0xC4, 0xCF, 0x98, 0x01, 0xBD, + 0x1C, 0x44, 0xC4, 0x1F, 0xD0, 0x1C, 0x83, 0xE3, + 0x12, 0x91, 0x48, 0x88, 0xDF, 0x71, 0x2E, 0xE2, + 0x9A, 0xB8, 0x86, 0x41, 0xF0, 0xAC, 0xD6, 0x06, + 0x0A, 0x95, 0x19, 0xFC, 0x8C, 0x4B, 0x5F, 0xD4, + 0xFF, 0x16, 0x99, 0x85, 0x22, 0x93, 0xE1, 0x1F, + 0x4C, 0x9D, 0xCF, 0x7D, 0x7B, 0x03, 0xA2, 0xFE, + 0x78, 0x25, 0xF2, 0x55, 0x48, 0x3F, 0x42, 0x4C, + 0x5C, 0x06, 0x01, 0x3D, 0x36, 0x38, 0x9F, 0x01, + 0x43, 0x6B, 0x7C, 0xBA, 0x4A, 0x1E, 0xC8, 0x1B, + 0xF0, 0xC8, 0x4C, 0x6F, 0x8D, 0x93, 0xAD, 0xB5, + 0x8F, 0x1C, 0xD5, 0x34, 0xB9, 0xD7, 0x40, 0xF8, + 0x0E, 0x32, 0x00, 0x9A, 0x79, 0xE5, 0xEC, 0xB6, + 0x00, 0x12, 0x0C, 0x46, 0x6A, 0x77, 0x6C, 0x1D, + 0xAA, 0x88, 0x20, 0xAA, 0x72, 0x69, 0x6B, 0xB7, + 0xFA, 0xF1, 0x3D, 0xC2, 0x01, 0x12, 0xAD, 0x1D, + 0xE1, 0xB9, 0xEF, 0xE0, 0xC2, 0xE0, 0xA8, 0x14, + 0xE5, 0xC4, 0xD5, 0x91, 0x5D, 0x3E, 0x7E, 0x98, + 0x4E, 0xB0, 0xEC, 0x5B, 0xFE, 0xBF, 0xBD, 0x41, + 0x38, 0x37, 0x25, 0xB6, 0xB7, 0x61, 0x23, 0x44, + 0x08, 0xD3, 0x91, 0x6A, 0x6F, 0x0B, 0xC9, 0x9D, + 0x87, 0x37, 0x86, 0xB4, 0x52, 0x6F, 0x3A, 0x04, + 0x57, 0x5D, 0x46, 0xC5, 0x81, 0xCF, 0x69, 0x60, + 0xD1, 0x43, 0x7D, 0x31, 0xE8, 0xDE, 0x0B, 0xBB, + 0xB9, 0xA0, 0x95, 0xEF, 0x2B, 0x31, 0xFA, 0xEC, + 0x0E, 0x4E, 0x55, 0x27, 0xBE, 0x39, 0x29, 0xEB, + 0x1D, 0x22, 0x6C, 0x30, 0x15, 0x21, 0xD3, 0x1D, + 0x31, 0x36, 0xE4, 0x51, 0x7D, 0xDA, 0xE7, 0x36, + 0x87, 0xAF, 0x20, 0xDC, 0xC7, 0xE5, 0x36, 0xC6, + 0xED, 0x65, 0x04, 0x73, 0xD6, 0x12, 0xDA, 0xC1, + 0x5D, 0x46, 0x6A, 0x84, 0x4D, 0x07, 0xA4, 0xA1, + 0x19, 0x3F, 0xDB, 0xDF, 0x04, 0x14, 0x31, 0x49, + 0xF8, 0x68, 0x3A, 0x80, 0x68, 0x33, 0x83, 0x5F, + 0xA8, 0x0B, 0xCD, 0x78, 0x02, 0xF5, 0xA7, 0x06, + 0x04, 0x31, 0x2E, 0x2F, 0x11, 0xD1, 0x50, 0x31, + 0xAA, 0xD5, 0x9A, 0xB8, 0x59, 0xE0, 0x81, 0xDC, + 0xB5, 0xE7, 0x5F, 0xC5, 0x45, 0x38, 0xC4, 0x60, + 0xF4, 0x9A, 0x44, 0x4B, 0x5C, 0x80, 0x02, 0x22, + 0x33, 0x8A, 0x30, 0x35, 0x19, 0x8B, 0xC0, 0xFB, + 0x7F, 0x74, 0x49, 0xAD, 0x53, 0xC7, 0x65, 0xEF, + 0x0F, 0x5A, 0x85, 0xDE, 0x27, 0xED, 0xFB, 0xC5, + 0x63, 0xE9, 0xAA, 0x3D, 0x5F, 0x34, 0x92, 0x7A, + 0x0D, 0xFD, 0x62, 0x96, 0x2D, 0x78, 0x17, 0xBA, + 0x46, 0x76, 0x35, 0x58, 0xB4, 0x85, 0xA1, 0xD7, + 0x2B, 0xA3, 0x87, 0x81, 0x8B, 0x1E, 0xFC, 0x52, + 0xE8, 0x85, 0x3D, 0x5E, 0x45, 0xED, 0xFC, 0x09, + 0x1D, 0xE6, 0x25, 0x6D, 0x08, 0x94, 0xFB, 0x81, + 0x1B, 0xFD, 0x49, 0x2E, 0xBB, 0x86, 0xED, 0x9B, + 0x9A, 0x99, 0x20, 0x33, 0xB8, 0xEB, 0x59, 0x3A, + 0xB7, 0xB9, 0x3A, 0x51, 0xF1, 0x7E, 0xCB, 0xFF, + 0x00, 0x12, 0xDF, 0x47, 0xAC, 0x49, 0x4B, 0x71, + 0x8A, 0x69, 0xB2, 0xE5, 0x94, 0xC1, 0x92, 0xC8, + 0x29, 0x7C, 0x1D, 0x05, 0x01, 0x12, 0xED, 0x3E, + 0x37, 0xB8, 0x09, 0x0E, 0x82, 0x16, 0x04, 0x54, + 0x67, 0x07, 0xC1, 0x03, 0xC2, 0x38, 0x9D, 0x5F, + 0x94, 0x6D, 0xC4, 0xFC, 0x24, 0x34, 0xEE, 0x19, + 0x9F, 0x8D, 0x68, 0xE8, 0x9A, 0xE1, 0xB7, 0x4A, + 0xEC, 0x39, 0x19, 0x97, 0xAB, 0x41, 0x80, 0x07, + 0xAB, 0xA3, 0xB3, 0x2F, 0x70, 0x2C, 0xB6, 0x89, + 0x24, 0xBA, 0xDE, 0x38, 0x0E, 0x9D, 0x3F, 0x36, + 0x79, 0xDB, 0xDB, 0xD2, 0x14, 0x71, 0x5D, 0x85, + 0x6B, 0x7C, 0xE6, 0xFC, 0x55, 0x6C, 0x48, 0x30, + 0x86, 0xC7, 0x6F, 0x0E, 0x6E, 0x00, 0x3E, 0x36, + 0xE9, 0x0D, 0x6A, 0xAB, 0x01, 0x41, 0x95, 0xB8, + 0xCB, 0x7A, 0x92, 0xD1, 0xA5, 0x44, 0xB4, 0x79, + 0x90, 0xD3, 0xEA, 0xFE, 0x47, 0x02, 0x07, 0xBD, + 0xA8, 0x59, 0xAB, 0x99, 0x6D, 0xDD, 0xA3, 0xF4, + 0x59, 0x01, 0xBF, 0x19, 0xCA, 0x80, 0xAF, 0xD7, + 0xEB, 0xEC, 0x3D, 0xC0, 0x52, 0xC4, 0xFD, 0x55, + 0x46, 0x34, 0x31, 0x29, 0x5F, 0x37, 0xEF, 0xED, + 0xA0, 0xF6, 0x94, 0xEB, 0xF3, 0x3B, 0x77, 0xF8, + 0x88, 0x92, 0x55, 0x00, 0xC6, 0xC3, 0x8A, 0x5F, + 0x9C, 0xBC, 0x8B, 0x38, 0xAA, 0xDC, 0x1B, 0x71, + 0x65, 0x8D, 0xAE, 0xE5, 0x96, 0xEE, 0xF3, 0x06, + 0xED, 0x8C, 0x85, 0x8B, 0xF2, 0xF1, 0x09, 0xE1, + 0xF7, 0x4E, 0xAD, 0xC4, 0xD8, 0xC8, 0xC9, 0x4C, + 0xE7, 0xDB, 0x29, 0xFD, 0xEA, 0x27, 0xB9, 0x70, + 0x5C, 0x6F, 0xDA, 0x63, 0xB0, 0x48, 0xD2, 0x03, + 0x11, 0x6F, 0x39, 0x04, 0x9C, 0x44, 0xFE, 0xCF, + 0xA5, 0xB0, 0xAC, 0xEB, 0x34, 0xC7, 0x2B, 0xCC, + 0xA1, 0x3D, 0xE9, 0x0F, 0x1D, 0x98, 0xEE, 0xFD, + 0xE7, 0x77, 0xBB, 0xAC, 0x83, 0x81, 0xC4, 0x34, + 0x3E, 0x09, 0x17, 0x02, 0xC5, 0x52, 0x15, 0x4C, + 0x3F, 0x4F, 0x78, 0x69, 0x9E, 0x1B, 0xA3, 0x11, + 0x06, 0xDD, 0xBA, 0xF9, 0x7B, 0x7C, 0x79, 0x9A, + 0xEA, 0x23, 0x09, 0x26, 0xFD, 0x48, 0x11, 0xDF, + 0x99, 0xFB, 0xCA, 0xE1, 0x09, 0xEF, 0x32, 0x95, + 0x00, 0x12, 0x3C, 0x00, 0x9E, 0xF5, 0xC5, 0xF6, + 0x47, 0x9D, 0xD6, 0xEC, 0x54, 0x04, 0xF9, 0x22, + 0x27, 0x05, 0x37, 0x8F, 0x01, 0x12, 0x73, 0x94, + 0xB8, 0x42, 0x1F, 0x20, 0xCE, 0xE7, 0x6C, 0x2C, + 0x03, 0x73, 0x8E, 0x23, 0x30, 0x66, 0x09, 0xA8, + 0x5A, 0xF1, 0xED, 0x2E, 0x58, 0x51, 0xEF, 0x36, + 0x01, 0x99, 0xBE, 0xD4, 0xA1, 0x91, 0x84, 0x05, + 0x14, 0x05, 0x6E, 0xC9, 0xB7, 0x43, 0x6C, 0xB0, + 0xF1, 0xA2, 0x57, 0xBC, 0x0D, 0x6E, 0x49, 0x92, + 0x7F, 0x12, 0x42, 0x9A, 0xC5, 0x90, 0xE8, 0x88, + 0x45, 0x11, 0xDE, 0xE1, 0xB6, 0x82, 0x5D, 0x70, + 0xEB, 0xBB, 0x95, 0xB6, 0xFE, 0xEB, 0x16, 0x9B, + 0xC9, 0x1E, 0xF3, 0x8B, 0x40, 0xAD, 0x91, 0x2C, + 0x9B, 0xD9, 0xA3, 0x78, 0x42, 0x59, 0x2A, 0xFE, + 0x25, 0x1D, 0x07, 0x80, 0xF6, 0x8C, 0xDA, 0xBE, + 0xEA, 0x43, 0xC5, 0xFC, 0x15, 0x61, 0xA1, 0xF5, + 0x43, 0x37, 0xD1, 0x6C, 0xA5, 0x41, 0xCC, 0xE2, + 0x08, 0x0D, 0x25, 0xF2, 0x0E, 0xDE, 0xE6, 0x3B, + 0xC1, 0xEF, 0x3C, 0x3A, 0x86, 0x70, 0x73, 0x00, + 0x29, 0x06, 0xB8, 0xB6, 0x23, 0x33, 0xF0, 0x0B, + 0x18, 0xB6, 0x1D, 0x31, 0x3F, 0x09, 0x91, 0x48, + 0x16, 0xE7, 0x66, 0x3A, 0x41, 0xDA, 0xEC, 0x79, + 0x6D, 0x4A, 0xEA, 0xC5, 0xC2, 0x64, 0xC5, 0x90, + 0x27, 0xE8, 0x12, 0x0A, 0x30, 0x45, 0x01, 0x34, + 0x96, 0x8E, 0x05, 0x16, 0x46, 0x57, 0xEB, 0xB0, + 0x25, 0x5D, 0xDE, 0xD4, 0x9C, 0xA3, 0x61, 0x18, + 0xC4, 0x42, 0x25, 0x2B, 0x83, 0x01, 0x40, 0x84, + 0x8E, 0x37, 0x40, 0xAC, 0xDA, 0x59, 0x14, 0x67, + 0x3A, 0xAA, 0xCF, 0x36, 0x96, 0xE0, 0x0F, 0x14, + 0x32, 0x9D, 0x4C, 0x02, 0xFE, 0x7C, 0x88, 0xAA, + 0x10, 0x83, 0x40, 0x09, 0x27, 0x52, 0x87, 0xC9, + 0x7A, 0xA2, 0xAE, 0x89, 0x11, 0x09, 0x3E, 0x93, + 0x19, 0x99, 0x50, 0x44, 0x39, 0xDA, 0xCC, 0x12, + 0x0B, 0x5E, 0x0E, 0x9A, 0x61, 0x5E, 0xB7, 0x9B, + 0xF3, 0xD7, 0xA4, 0xAF, 0x77, 0xE7, 0xA7, 0x3A, + 0x67, 0xD7, 0xA7, 0x3F, 0xC5, 0x10, 0xAB, 0x1A, + 0xC9, 0xEE, 0xB2, 0xF8, 0xDF, 0xB5, 0x99, 0x73, + 0x00, 0x12, 0xAE, 0x2F, 0x3A, 0x4E, 0x53, 0xD8, + 0xAA, 0x06, 0xB5, 0x89, 0x23, 0xCE, 0x00, 0x46, + 0xE5, 0xDD, 0x47, 0x53, 0x01, 0x12, 0xEA, 0xCC, + 0xFB, 0x20, 0xB0, 0xE8, 0x54, 0xFE, 0x10, 0x28, + 0x4D, 0xFA, 0xCB, 0xB0, 0xEF, 0x4E, 0xD7, 0x2B, + 0x07, 0xFB, 0x89, 0x28, 0x71, 0xA0, 0x01, 0xF5, + 0x94, 0x4E, 0xE4, 0xAF, 0x45, 0x5E, 0x60, 0xB0, + 0xA7, 0x69, 0x3A, 0xED, 0x67, 0x4A, 0x19, 0x76, + 0x2F, 0xBE, 0x7C, 0x06, 0x96, 0xDC, 0x5D, 0xCB, + 0xB1, 0xAD, 0x81, 0xF3, 0x21, 0x70, 0x68, 0x89, + 0x1A, 0x6F, 0xE5, 0xED, 0x60, 0x4D, 0x71, 0x2B, + 0xC1, 0x0B, 0x93, 0x7B, 0x03, 0xC8, 0xB2, 0xDA, + 0xAD, 0xCC, 0xDB, 0xAA, 0x6F, 0xC5, 0x63, 0x02, + 0x99, 0x32, 0x10, 0x01, 0x00, 0x7C, 0xA2, 0x7A, + 0x6C, 0xDD, 0x05, 0x30, 0x79, 0x23, 0xDC, 0x29, + 0xDD, 0xF7, 0xFF, 0x1E, 0x32, 0xA8, 0x69, 0x6A, + 0x3C, 0x9C, 0x8A, 0x3A, 0x02, 0xE3, 0xF9, 0xDB, + 0xD7, 0x66, 0x59, 0x87, 0x52, 0x73, 0x3A, 0xBA, + 0x0F, 0xBF, 0xF3, 0x12, 0x75, 0x5A, 0x26, 0x63, + 0x42, 0x8F, 0x88, 0xBF, 0x0F, 0x83, 0x17, 0x50, + 0xB6, 0x77, 0xCA, 0x89, 0x66, 0x9C, 0x5B, 0x28, + 0x2E, 0x0C, 0x22, 0xB4, 0x01, 0x28, 0x73, 0xE0, + 0x58, 0xDB, 0x1C, 0x52, 0x72, 0x1A, 0x56, 0xCC, + 0x45, 0x4D, 0x92, 0xC1, 0x4A, 0xF6, 0x39, 0x58, + 0xA1, 0x77, 0xB0, 0x68, 0x47, 0xE7, 0x3B, 0xA7, + 0x8E, 0xA9, 0xD2, 0x2A, 0x99, 0xE2, 0xA1, 0x36, + 0xC0, 0x25, 0xF2, 0xDF, 0x01, 0x8D, 0x72, 0x2E, + 0xDA, 0x54, 0xED, 0x82, 0xBE, 0x53, 0x32, 0x8A, + 0x29, 0xD9, 0x8D, 0x40, 0xA5, 0x6B, 0xED, 0x78, + 0x30, 0x92, 0xF8, 0x44, 0x7E, 0xEC, 0xF1, 0x4B, + 0xBB, 0xDB, 0xF2, 0x10, 0x5B, 0xD0, 0x3C, 0x54, + 0xDF, 0xD4, 0x7F, 0x42, 0x6A, 0xE3, 0xB4, 0xE6, + 0xD1, 0x29, 0x95, 0x2A, 0xCA, 0x02, 0x04, 0xEC, + 0xE2, 0xD2, 0x8D, 0xDA, 0xB6, 0x29, 0xFE, 0xD7, + 0x76, 0x63, 0xE0, 0x0F, 0x7D, 0x1F, 0xB8, 0xD9, + 0x4B, 0x4F, 0x2A, 0xCA, 0x9D, 0x21, 0xA2, 0x87, + 0x64, 0xFC, 0xC4, 0xC4, 0x89, 0x59, 0xBF, 0x55, + 0x00, 0xB2, 0x7B, 0x41, 0xC0, 0x33, 0xF8, 0xEA, + 0x9E, 0x5D, 0x6C, 0xEF, 0xC5, 0x36, 0x91, 0xDC, + 0x30, 0xCF, 0xC5, 0xA7, 0x26, 0x39, 0xEE, 0x1D, + 0x2D, 0x1B, 0x02, 0xED, 0x13, 0x9D, 0x0E, 0x17, + 0x2E, 0x36, 0xC5, 0x1E, 0x49, 0xED, 0x92, 0x2B, + 0x5B, 0x0F, 0x65, 0x06, 0x7E, 0xCC, 0xD4, 0xEC, + 0x42, 0x28, 0x6A, 0x4B, 0x54, 0xF5, 0xE6, 0xE9, + 0xF7, 0x81, 0xA1, 0x8C, 0x9B, 0xBE, 0x14, 0x07, + 0x0D, 0x34, 0x29, 0x4B, 0x78, 0x96, 0x99, 0x20, + 0x51, 0xE9, 0x47, 0x6C, 0xA6, 0x6F, 0xEE, 0xF8, + 0xEF, 0x7E, 0x67, 0xA9, 0xEB, 0x59, 0xC3, 0x11, + 0x22, 0xF8, 0xE9, 0x15, 0x27, 0xFB, 0x47, 0x97, + 0xD1, 0xCD, 0xEB, 0xF0, 0xA0, 0xCB, 0xB5, 0x95, + 0x31, 0x9C, 0xF6, 0xC9, 0x7B, 0xCC, 0xC0, 0x31, + 0x66, 0x91, 0xFD, 0xCD, 0xCD, 0x30, 0xDB, 0xA1, + 0x07, 0x01, 0xFB, 0x8F, 0x1D, 0xA4, 0xB6, 0x75, + 0x5B, 0xEF, 0xE2, 0xD1, 0x04, 0x36, 0x7E, 0xAD, + 0xEC, 0xC5, 0x27, 0x6F, 0x79, 0x9C, 0x37, 0x73, + 0x58, 0x5D, 0x71, 0x94, 0x9D, 0xCB, 0x03, 0x8A, + 0xE7, 0x18, 0x0E, 0x7C, 0x9F, 0xA7, 0x7E, 0x9D, + 0xDC, 0x2E, 0x8E, 0xDA, 0x0E, 0xC0, 0x18, 0xC0, + 0x89, 0x95, 0x31, 0x76, 0xFC, 0x2B, 0xB4, 0x4C, + 0x5C, 0x52, 0x6D, 0xC8,
\ No newline at end of file diff --git a/drivers/input/touchscreen/mxt224s_V1.1.C1_.h b/drivers/input/touchscreen/mxt224s_V1.1.C1_.h new file mode 100644 index 0000000..75501d9 --- /dev/null +++ b/drivers/input/touchscreen/mxt224s_V1.1.C1_.h @@ -0,0 +1,3456 @@ + 0x00, 0xE2, 0xC4, 0xB8, 0x6C, 0xC2, 0x2E, 0x28, 0x53, 0xA0, 0xD9, 0x2B, 0xCA, 0x83, 0x08, 0x74, + 0xE6, 0x45, 0xB7, 0x8E, 0x3A, 0x3F, 0xA9, 0xC7, 0xCE, 0xFD, 0xA6, 0xC3, 0x84, 0x52, 0xC7, 0xBC, + 0xA8, 0x49, 0x72, 0x3A, 0x79, 0xCF, 0x3F, 0x07, 0x55, 0xBC, 0xDB, 0x42, 0xC9, 0x27, 0x77, 0xC3, + 0xE3, 0x63, 0x25, 0x63, 0xEE, 0x6C, 0x4C, 0x5F, 0xEF, 0x32, 0xED, 0x44, 0xCE, 0x4F, 0x66, 0x41, + 0x10, 0xFF, 0x86, 0xE0, 0xCA, 0x65, 0x09, 0x9D, 0x90, 0x6F, 0x99, 0x65, 0x5A, 0xDB, 0x21, 0xE7, + 0x21, 0x99, 0x6C, 0x50, 0x31, 0x0D, 0x98, 0x43, 0x00, 0xE4, 0x3B, 0xCE, 0x2F, 0x9A, 0x22, 0xF9, + 0xE8, 0x89, 0x2E, 0x04, 0x49, 0xCA, 0xF2, 0x88, 0xAB, 0xB0, 0x9A, 0x71, 0x21, 0x9D, 0xD8, 0xFE, + 0x57, 0x93, 0x94, 0xBD, 0x17, 0x48, 0x06, 0x17, 0x8B, 0x8B, 0x93, 0xA3, 0xEF, 0xE1, 0xA5, 0x08, + 0x10, 0x1B, 0xEB, 0x75, 0x41, 0x86, 0x54, 0xA8, 0xF5, 0x09, 0x47, 0xA8, 0xA2, 0x69, 0xB6, 0x63, + 0xE2, 0x7F, 0x92, 0xAD, 0x3E, 0x6A, 0x0A, 0xE3, 0x36, 0x83, 0xE7, 0xD0, 0xF8, 0xA6, 0x25, 0x6A, + 0x8B, 0x0D, 0xF1, 0x51, 0x29, 0xA5, 0xD9, 0xDC, 0x48, 0x41, 0xDB, 0x2D, 0x27, 0xC6, 0xE3, 0x13, + 0x8A, 0x57, 0x3C, 0x09, 0xF2, 0x2E, 0xCD, 0x3E, 0x6D, 0x36, 0x31, 0x59, 0xFD, 0x29, 0x14, 0x35, + 0xCE, 0x24, 0x00, 0xCC, 0x18, 0xF6, 0xAB, 0x7B, 0xBE, 0xCC, 0xD5, 0x3C, 0x7F, 0x9F, 0x7A, 0x78, + 0xDC, 0x6B, 0x05, 0x19, 0x7B, 0x58, 0xD1, 0x91, 0x25, 0xF4, 0xCB, 0x74, 0x42, 0x6A, 0x10, 0x9F, + 0x5D, 0x2E, 0x8C, 0xD8, 0x01, 0x12, 0x84, 0x70, 0x25, 0x16, 0x41, 0x61, 0x07, 0x1A, 0x0C, 0x67, + 0x36, 0xFB, 0x4D, 0xD8, 0xFE, 0xAC, 0xE7, 0xDE, 0x91, 0x7F, 0xEF, 0x09, 0x54, 0x9B, 0x99, 0xB5, + 0x11, 0x64, 0x91, 0x6F, 0x9A, 0x48, 0xA5, 0xA5, 0xF8, 0xFD, 0xA0, 0x19, 0x0F, 0x2A, 0x0D, 0xBC, + 0x9D, 0x54, 0x61, 0x09, 0x73, 0xF4, 0x03, 0x5C, 0xAE, 0xD3, 0xD7, 0x0B, 0xA8, 0x53, 0xAF, 0xCE, + 0xDA, 0xDB, 0x14, 0xF6, 0x85, 0x10, 0xD8, 0x44, 0x34, 0x50, 0x42, 0x6B, 0x96, 0xBD, 0x70, 0xC9, + 0x2E, 0x1E, 0xE6, 0xC0, 0x36, 0x6B, 0x64, 0xFE, 0x22, 0x97, 0xB9, 0xAC, 0x7F, 0xA7, 0xD4, 0xAF, + 0x83, 0xC9, 0xCA, 0x40, 0xA5, 0xEC, 0x82, 0x7B, 0x95, 0xB6, 0xDB, 0x47, 0x64, 0x80, 0xEB, 0xBB, + 0xE3, 0xE1, 0x5C, 0xE2, 0x9E, 0xEB, 0xC6, 0x4F, 0xD2, 0xDC, 0x62, 0xD8, 0xD1, 0xF4, 0x8D, 0x63, + 0xA2, 0xB8, 0x58, 0x9A, 0xAF, 0xCD, 0xCB, 0x67, 0x70, 0x3C, 0xBF, 0x10, 0x47, 0xAF, 0xC0, 0x08, + 0x2C, 0x67, 0x0E, 0xDB, 0x0C, 0x22, 0x4A, 0xE7, 0xDB, 0x16, 0x36, 0x47, 0x89, 0x57, 0x49, 0xED, + 0x5D, 0xFD, 0x02, 0xE8, 0xE6, 0xD5, 0x0C, 0x68, 0x39, 0x76, 0xA3, 0xDC, 0x89, 0x9F, 0x2E, 0x9D, + 0xA5, 0x9A, 0x65, 0x5A, 0x18, 0x17, 0x67, 0xB0, 0x2C, 0x5C, 0x63, 0x42, 0x8A, 0x38, 0xF0, 0x41, + 0x43, 0xEC, 0x99, 0xBF, 0x65, 0x99, 0x15, 0xF5, 0xEB, 0x23, 0x38, 0xB0, 0xE4, 0x40, 0x58, 0x49, + 0xC7, 0xEA, 0x41, 0x16, 0xB8, 0x71, 0xBB, 0x99, 0x1D, 0x7D, 0xA3, 0x2A, 0xAA, 0xFE, 0x44, 0xDD, + 0xF1, 0x81, 0x23, 0x63, 0x81, 0x18, 0xB1, 0x45, 0x0B, 0x23, 0x98, 0x96, 0x93, 0xAD, 0x30, 0x74, + 0x14, 0xB8, 0xAF, 0x71, 0x0E, 0xDE, 0x35, 0xAF, 0x17, 0x37, 0xAE, 0x1D, 0x7B, 0x39, 0x77, 0x41, + 0x00, 0xC7, 0x56, 0x2D, 0xB7, 0xD8, 0x03, 0x5B, 0x0E, 0x03, 0x1C, 0xDA, 0xAA, 0xC2, 0x61, 0x58, + 0x5B, 0x50, 0x77, 0x63, 0xBF, 0x3D, 0x67, 0x35, 0x00, 0x12, 0xC3, 0xFF, 0x2B, 0x77, 0x21, 0x7E, + 0x84, 0x4A, 0xA3, 0x02, 0xA4, 0x8C, 0x8D, 0x75, 0xA1, 0xBB, 0x1B, 0x03, 0x01, 0x12, 0xFF, 0xC2, + 0xFE, 0x57, 0x03, 0xFC, 0x19, 0xE7, 0x39, 0xAB, 0xDB, 0xB2, 0x78, 0x93, 0xF2, 0x5A, 0xD4, 0xD9, + 0xDF, 0x3D, 0xE2, 0x6E, 0xDA, 0x43, 0xA1, 0x40, 0x0D, 0x37, 0x22, 0xEC, 0x0E, 0x31, 0x93, 0x55, + 0x7A, 0xEA, 0x87, 0x3F, 0xE0, 0x90, 0x40, 0xAF, 0x94, 0x4D, 0x77, 0xE2, 0xAB, 0x88, 0xD7, 0xCA, + 0xD4, 0xD3, 0x90, 0x67, 0xEC, 0x75, 0x45, 0x2D, 0x90, 0xD7, 0xEC, 0x0D, 0xD1, 0xEE, 0xFC, 0x23, + 0x14, 0xB6, 0xEA, 0x35, 0x4F, 0x75, 0xD8, 0xC1, 0xB3, 0x8B, 0x8B, 0x2A, 0xB1, 0x69, 0xA3, 0xD3, + 0x3C, 0x51, 0xB5, 0x99, 0x9D, 0x3E, 0x12, 0xC3, 0x90, 0x20, 0x4D, 0xE8, 0x55, 0x9F, 0xDD, 0x1E, + 0x21, 0x4C, 0x63, 0xB3, 0x99, 0xB1, 0xA9, 0x5E, 0x14, 0xC8, 0x62, 0x8E, 0x38, 0x51, 0x32, 0x1D, + 0xE4, 0xC3, 0xB2, 0x12, 0x7D, 0xBF, 0x0D, 0x52, 0xD6, 0x2B, 0x0A, 0xDD, 0xF0, 0x75, 0x14, 0x0A, + 0xC4, 0x0A, 0x20, 0x37, 0xA6, 0x60, 0x76, 0xEC, 0x20, 0xEC, 0xA8, 0x5E, 0x6C, 0x41, 0xDD, 0x8A, + 0x77, 0xE4, 0x47, 0x1B, 0x30, 0x7B, 0xFE, 0x92, 0x35, 0x99, 0xFB, 0xC7, 0x30, 0xB8, 0xA7, 0xB4, + 0x13, 0xF3, 0x8A, 0x1C, 0x7C, 0x92, 0xC6, 0xF9, 0xB6, 0xCD, 0x8B, 0xEC, 0xC9, 0xA5, 0xEF, 0x8F, + 0x3A, 0x6C, 0x30, 0x87, 0xD4, 0xF5, 0xAC, 0xA2, 0xB9, 0x72, 0x4D, 0xAF, 0x76, 0xC5, 0xD2, 0x7D, + 0x57, 0x79, 0xC9, 0x18, 0x88, 0xD7, 0x0E, 0x6F, 0xF7, 0xD5, 0x1F, 0xF2, 0x57, 0xB0, 0x54, 0x97, + 0x15, 0x57, 0x0A, 0x3D, 0x1E, 0x00, 0xC4, 0x72, 0x65, 0x82, 0x8C, 0x84, 0xDF, 0x87, 0x07, 0xDC, + 0x72, 0x2D, 0x60, 0x3A, 0xDF, 0x2B, 0x3F, 0xA5, 0xF5, 0x1F, 0xD8, 0xB8, 0xEF, 0xE5, 0x2D, 0x35, + 0x45, 0x9E, 0x08, 0x62, 0x65, 0xDF, 0xB0, 0xA4, 0x60, 0xA8, 0xC7, 0xF7, 0x2F, 0x5C, 0xB2, 0x0D, + 0xCC, 0xAF, 0x9E, 0xB2, 0xD7, 0x7B, 0x8D, 0x8D, 0x92, 0x79, 0x5A, 0xA8, 0x87, 0xD2, 0x88, 0x60, + 0x00, 0x12, 0x9D, 0x45, 0xCD, 0x4E, 0x09, 0xEE, 0x8C, 0xA0, 0x2A, 0x41, 0x01, 0x6B, 0xAF, 0x63, + 0xAE, 0x12, 0xC1, 0x62, 0x01, 0x12, 0x5C, 0x90, 0x1B, 0x5A, 0xF9, 0xAC, 0x9A, 0x6D, 0xAB, 0x2C, + 0x77, 0x06, 0x8C, 0x86, 0xDA, 0x3C, 0xFD, 0x0F, 0x5B, 0xCB, 0xAC, 0xCE, 0xCE, 0x2C, 0x20, 0x4B, + 0xCA, 0xA0, 0x09, 0xBB, 0xA1, 0x9A, 0x79, 0x89, 0xB0, 0x03, 0x09, 0x6B, 0x6B, 0x5D, 0xE5, 0x2C, + 0x40, 0x56, 0x56, 0x59, 0x78, 0x74, 0x19, 0xDA, 0xAA, 0x08, 0xC4, 0x4E, 0xB5, 0xFB, 0xF9, 0x95, + 0x82, 0xCC, 0xD5, 0xEE, 0x7C, 0xE3, 0xDA, 0xB0, 0x03, 0x0A, 0x22, 0x56, 0x91, 0x47, 0x78, 0x58, + 0x5B, 0xC3, 0xF4, 0x9C, 0x3F, 0x48, 0x56, 0x62, 0x6A, 0x3E, 0xC1, 0x69, 0xA9, 0x31, 0x17, 0x7A, + 0x2B, 0xDD, 0xDF, 0xDD, 0x62, 0x84, 0xCB, 0xB0, 0x64, 0x95, 0x99, 0x47, 0x59, 0x7E, 0xAC, 0xB4, + 0xD0, 0x18, 0x66, 0x98, 0x4F, 0x35, 0xB7, 0xF5, 0x26, 0xE3, 0x98, 0x65, 0xC6, 0xBD, 0xD1, 0x44, + 0x57, 0xBA, 0xAC, 0xA3, 0xCD, 0xD0, 0x2E, 0xCD, 0x15, 0xC2, 0xCC, 0x78, 0xE0, 0x5D, 0xE0, 0xC7, + 0xD9, 0xCB, 0x83, 0x32, 0xC6, 0x3B, 0x17, 0xAD, 0x07, 0x81, 0x24, 0x74, 0x38, 0x73, 0x6B, 0x08, + 0x39, 0x95, 0x86, 0x83, 0x6F, 0x35, 0x74, 0xE2, 0x1B, 0x4D, 0xFE, 0xA1, 0xD2, 0x75, 0xAF, 0xB9, + 0x66, 0x41, 0xF0, 0x29, 0xD1, 0x7C, 0x73, 0xD0, 0xE4, 0x86, 0x86, 0x42, 0x51, 0x01, 0x27, 0x00, + 0x78, 0x66, 0x9A, 0x52, 0xFC, 0x87, 0xF3, 0x2A, 0xFF, 0x28, 0xC8, 0x5D, 0x6F, 0x34, 0xB9, 0x35, + 0x9C, 0xA7, 0x80, 0xE2, 0x72, 0xEF, 0xFF, 0x31, 0x90, 0x48, 0x1E, 0x34, 0xF9, 0x1E, 0xAE, 0xB8, + 0xD6, 0x17, 0xA8, 0x5B, 0xAA, 0x53, 0x89, 0x4C, 0x17, 0xB8, 0xA4, 0xA1, 0x2A, 0x78, 0x3A, 0x16, + 0x7E, 0x16, 0x07, 0xD5, 0xF3, 0x50, 0x0C, 0x13, 0x0E, 0x20, 0x8B, 0xF6, 0xCE, 0x42, 0x58, 0x85, + 0x39, 0x93, 0x8A, 0x8C, 0xE2, 0x82, 0x73, 0xAE, 0x58, 0xBB, 0x29, 0x72, 0xAD, 0x6B, 0xA4, 0xB0, + 0xB7, 0x16, 0xB1, 0x3A, 0x76, 0xD0, 0x4E, 0x20, 0x00, 0x12, 0x36, 0xB4, 0xB9, 0x12, 0x49, 0x79, + 0x11, 0x47, 0x9E, 0x3C, 0xF4, 0xB6, 0xA1, 0x50, 0x4B, 0x83, 0xB8, 0x53, 0x01, 0x12, 0x9F, 0x15, + 0x63, 0x47, 0x51, 0x95, 0x39, 0x8E, 0xF2, 0x80, 0x41, 0xAF, 0x32, 0xED, 0xA2, 0xE1, 0x8D, 0x8B, + 0xD7, 0x38, 0x1C, 0x3E, 0xB2, 0xBA, 0x74, 0x78, 0x0F, 0x99, 0x19, 0xCB, 0x7E, 0xBD, 0x49, 0xD7, + 0x98, 0x81, 0x7B, 0x6C, 0x11, 0xDA, 0x02, 0x19, 0x24, 0x1D, 0x99, 0xEF, 0xB1, 0x6D, 0x5E, 0xF2, + 0x79, 0x9E, 0xDC, 0xA7, 0x31, 0x10, 0xA1, 0x8B, 0xDC, 0x63, 0x80, 0x99, 0x87, 0x15, 0xFC, 0x56, + 0x70, 0x86, 0xD7, 0x88, 0xBB, 0xF7, 0x29, 0x11, 0x57, 0x68, 0xAE, 0xB4, 0x6C, 0x0A, 0xA4, 0x8B, + 0xAE, 0xD4, 0x02, 0xEA, 0x01, 0x76, 0xC5, 0xAB, 0x84, 0x62, 0xBE, 0xDC, 0xD6, 0x05, 0xFE, 0xE4, + 0xDA, 0x1E, 0x65, 0xA0, 0x60, 0x5F, 0xE7, 0x01, 0x18, 0xB4, 0x5F, 0x1C, 0x4A, 0x5D, 0x18, 0x04, + 0x5D, 0x84, 0x71, 0xD0, 0xC2, 0xA8, 0x7F, 0x3D, 0x03, 0x0E, 0x08, 0xE3, 0x05, 0x66, 0x8B, 0xE4, + 0x73, 0x7B, 0x89, 0xAC, 0xDE, 0x2C, 0x39, 0x10, 0x94, 0xF5, 0x0A, 0x02, 0xEE, 0x43, 0xDA, 0x1D, + 0x6B, 0xE8, 0x3A, 0xB9, 0xE0, 0x77, 0xB9, 0x8D, 0x1D, 0xE7, 0x2D, 0xD5, 0x68, 0x84, 0xBB, 0x2E, + 0x23, 0x36, 0x8A, 0x19, 0x7B, 0x7A, 0xF8, 0xE5, 0x13, 0xDB, 0x1D, 0x55, 0x9D, 0xF2, 0x20, 0x0F, + 0x21, 0x76, 0xA1, 0x46, 0xCF, 0x50, 0xD9, 0x1D, 0xA1, 0x0A, 0xB3, 0xA1, 0xDD, 0x30, 0xE4, 0x2A, + 0xE7, 0x13, 0x8E, 0xD0, 0xD4, 0xD7, 0xF7, 0xA3, 0x59, 0x5A, 0x69, 0x73, 0x4A, 0xFC, 0x68, 0x4A, + 0x02, 0xF2, 0x6F, 0xD0, 0x2D, 0xFE, 0x2F, 0x3E, 0x4A, 0x7A, 0x85, 0x75, 0x25, 0x2C, 0xDB, 0x31, + 0x5A, 0xF7, 0xBC, 0x50, 0x08, 0x08, 0x2F, 0x09, 0x03, 0x33, 0x65, 0x24, 0x65, 0x56, 0x6A, 0x34, + 0xBF, 0x48, 0xCE, 0xB7, 0xDF, 0x7B, 0xAE, 0xF4, 0x64, 0x84, 0x2B, 0x06, 0xCE, 0x32, 0x32, 0xBC, + 0x22, 0x4C, 0x61, 0x50, 0x8A, 0x8E, 0x71, 0xB8, 0x38, 0x3C, 0xA9, 0x63, 0xA4, 0xD9, 0x65, 0xA3, + 0x00, 0x12, 0x7C, 0xFA, 0xFE, 0x4C, 0xB8, 0x3C, 0xCC, 0x5F, 0x05, 0x7B, 0x90, 0x90, 0x9A, 0xC2, + 0x3A, 0x85, 0x44, 0x0E, 0x01, 0x12, 0x48, 0x42, 0xCA, 0x0A, 0x81, 0x24, 0x72, 0x7A, 0x93, 0x2C, + 0xBB, 0x2F, 0x89, 0x54, 0xB3, 0xF7, 0x90, 0x77, 0xE5, 0xAA, 0xB7, 0x5A, 0x0D, 0xA1, 0x07, 0xF5, + 0xA0, 0x89, 0x37, 0xD7, 0x17, 0x7B, 0x16, 0xF2, 0x8A, 0xAA, 0x7A, 0xEB, 0x5D, 0x3F, 0xFA, 0xBD, + 0xEA, 0x45, 0x87, 0xA6, 0x29, 0x77, 0xFF, 0x7A, 0xD0, 0x9B, 0x2D, 0x18, 0xE1, 0x17, 0x98, 0x5E, + 0x3A, 0x9A, 0xC9, 0x9F, 0x54, 0x78, 0x45, 0x9E, 0x27, 0x1B, 0xF3, 0xC3, 0x5A, 0x71, 0xE1, 0xE9, + 0xCE, 0xDB, 0x7C, 0x14, 0x75, 0x5B, 0x84, 0x32, 0x60, 0x4E, 0x1F, 0xA4, 0xF3, 0x18, 0x65, 0x13, + 0xBE, 0xD4, 0x39, 0x34, 0x11, 0x12, 0x20, 0xBB, 0xB4, 0x5D, 0xD4, 0xFF, 0x9A, 0xDA, 0xE2, 0x89, + 0x79, 0xEB, 0x76, 0xB4, 0xDA, 0x20, 0x04, 0x93, 0x03, 0x90, 0x4E, 0x67, 0xF5, 0xCA, 0x1D, 0x70, + 0xBB, 0x10, 0x78, 0x70, 0x3E, 0x50, 0xF3, 0x17, 0xBC, 0x15, 0xF8, 0xD6, 0xA1, 0x83, 0x08, 0x6B, + 0xBF, 0xBF, 0x96, 0x5A, 0xF0, 0x26, 0x22, 0x73, 0x83, 0x88, 0xC9, 0x75, 0xFF, 0xBB, 0x3A, 0x69, + 0x16, 0x88, 0x14, 0xEB, 0x36, 0x0D, 0xBD, 0xB9, 0x33, 0xBF, 0x38, 0x4A, 0x31, 0x2A, 0xA6, 0x3F, + 0x87, 0xC1, 0x43, 0x3B, 0x89, 0xC4, 0x3E, 0x5A, 0x49, 0xCB, 0x08, 0x7F, 0xB5, 0xEF, 0x6D, 0x0E, + 0x52, 0xD4, 0x1A, 0x03, 0x06, 0xED, 0xE6, 0x0A, 0xF0, 0x6E, 0x3E, 0xA4, 0x07, 0x31, 0x0F, 0xB1, + 0xCC, 0x1D, 0x01, 0x9F, 0xAA, 0x20, 0xDB, 0x74, 0x95, 0x81, 0x45, 0x4E, 0x70, 0x47, 0x80, 0x30, + 0xA0, 0x05, 0xFA, 0x99, 0x0D, 0xAB, 0x00, 0x5D, 0x17, 0x52, 0x3D, 0x7E, 0x13, 0x27, 0xEA, 0x41, + 0x32, 0x0A, 0x6B, 0x6C, 0x66, 0x48, 0xAA, 0x0F, 0x33, 0x67, 0x2A, 0xCF, 0xC9, 0x56, 0x20, 0xD6, + 0x30, 0x11, 0x9F, 0xEA, 0x66, 0x2B, 0xE4, 0x75, 0xD0, 0x49, 0xA3, 0xA0, 0xC2, 0x0D, 0xA7, 0x52, + 0x84, 0x67, 0x8A, 0x3C, 0x29, 0xB9, 0x6D, 0x0C, 0x00, 0x12, 0x61, 0xE4, 0x99, 0xFD, 0x66, 0x98, + 0xAC, 0x27, 0x6B, 0x01, 0xAF, 0xB5, 0xDC, 0x17, 0xAE, 0x3B, 0x0D, 0x5A, 0x01, 0x12, 0x46, 0xD2, + 0x4A, 0xA7, 0x87, 0x83, 0xAB, 0x1A, 0x41, 0xBF, 0xCC, 0x5A, 0xC0, 0x54, 0x9B, 0xE3, 0x32, 0x80, + 0x76, 0x94, 0x20, 0x30, 0x5B, 0xC7, 0x41, 0xE6, 0x6C, 0x0A, 0x33, 0xC3, 0xD8, 0x46, 0x01, 0xC2, + 0x59, 0xCC, 0xF0, 0xCB, 0xB5, 0x86, 0x4E, 0xEB, 0xEC, 0x68, 0x79, 0x9B, 0x0B, 0x2C, 0xC7, 0x27, + 0x56, 0x3A, 0xDB, 0xBA, 0xAF, 0x92, 0x95, 0x09, 0x28, 0x62, 0xDE, 0x15, 0xB9, 0x6B, 0xCE, 0xBB, + 0x76, 0x87, 0xE1, 0xF6, 0xA3, 0xD5, 0x9A, 0x1D, 0x4C, 0x7E, 0x0E, 0x32, 0xCD, 0x05, 0x70, 0x7E, + 0xE8, 0x4A, 0x01, 0xB1, 0x54, 0xBC, 0xBD, 0x19, 0xA7, 0xC5, 0x76, 0x5A, 0x76, 0xB4, 0xAC, 0x02, + 0x85, 0xCC, 0x01, 0x99, 0x8C, 0x48, 0xC3, 0xD6, 0xD0, 0x7B, 0x38, 0x0C, 0x1B, 0x80, 0xA2, 0xBC, + 0xD7, 0x91, 0x71, 0x78, 0xA6, 0xE5, 0x9C, 0x2A, 0x1F, 0xEF, 0xD2, 0xE4, 0x17, 0x7C, 0x65, 0xC0, + 0xD4, 0x7A, 0xC1, 0xF4, 0xEE, 0xA6, 0xFF, 0xB7, 0x95, 0x48, 0x98, 0x8E, 0x74, 0x15, 0x9E, 0xFC, + 0xC7, 0xE1, 0x63, 0x5C, 0x37, 0x9D, 0x46, 0x3F, 0x46, 0x23, 0x51, 0x02, 0xB5, 0xDE, 0x74, 0x65, + 0x1D, 0x3F, 0x61, 0x60, 0xA7, 0xD6, 0x3A, 0x49, 0xD7, 0x01, 0xA4, 0x0D, 0xFF, 0x4C, 0xF6, 0x9E, + 0x39, 0x41, 0x7B, 0x59, 0x42, 0xE0, 0xB7, 0x86, 0x39, 0x6A, 0x79, 0x52, 0x0E, 0x98, 0xFD, 0xE4, + 0x44, 0x76, 0x2A, 0x21, 0x47, 0x96, 0x02, 0xD7, 0x8F, 0x0D, 0xD0, 0x0E, 0xE4, 0x0E, 0xD7, 0x47, + 0x71, 0xE9, 0x7E, 0xA5, 0xE8, 0x24, 0x72, 0x90, 0x47, 0xCC, 0x1D, 0x5A, 0xA6, 0xC8, 0xA0, 0xA0, + 0xC2, 0xF4, 0xC2, 0x34, 0xA4, 0x31, 0x72, 0x44, 0x0F, 0x1D, 0x7C, 0xA2, 0xD5, 0x18, 0x72, 0xFC, + 0x9E, 0x73, 0xAB, 0xF5, 0x03, 0x04, 0x8E, 0xC0, 0x8E, 0xFC, 0x95, 0x7D, 0xEA, 0x1E, 0xE6, 0x92, + 0x5F, 0xD8, 0x92, 0xEB, 0x26, 0x0E, 0xC9, 0x5F, 0xBA, 0xDE, 0x38, 0x8D, 0x69, 0x2C, 0x82, 0xFA, + 0x00, 0x12, 0x8F, 0x6F, 0xD3, 0x3C, 0x8F, 0x4C, 0x78, 0x07, 0x36, 0x8A, 0x74, 0xB2, 0x17, 0xB6, + 0x21, 0xBB, 0x87, 0xE5, 0x01, 0x12, 0xF4, 0x7B, 0x07, 0xD2, 0xFC, 0xE4, 0x26, 0x39, 0x5C, 0x31, + 0x7D, 0xBE, 0xCA, 0x20, 0xB3, 0x64, 0x3E, 0xE6, 0x19, 0xA1, 0x8D, 0x51, 0x76, 0xEA, 0x86, 0xF7, + 0x85, 0x18, 0xAC, 0x09, 0x27, 0x5C, 0xAA, 0x38, 0x64, 0x62, 0x41, 0xA3, 0x66, 0xF2, 0x17, 0x26, + 0xE5, 0x7B, 0x00, 0x27, 0xB5, 0xDB, 0xB1, 0x85, 0xBC, 0x60, 0xF5, 0x48, 0xD2, 0xBC, 0x21, 0x0A, + 0x2C, 0x2A, 0xA8, 0x75, 0x8B, 0xDC, 0x8A, 0xFB, 0x89, 0x2A, 0xDA, 0x26, 0xAC, 0xF4, 0x19, 0xFE, + 0x35, 0xC1, 0x8D, 0xE9, 0xB9, 0x69, 0x3B, 0xF5, 0x8D, 0x70, 0x07, 0xB1, 0x26, 0x32, 0x01, 0xF4, + 0xDE, 0xF1, 0x74, 0xAC, 0x5E, 0x2C, 0x98, 0x84, 0x21, 0x79, 0xEC, 0x3F, 0x24, 0x1F, 0xB9, 0xD5, + 0x4A, 0xD7, 0x70, 0xDD, 0xAE, 0xF9, 0xA5, 0xF8, 0x20, 0x24, 0xF6, 0x82, 0x0F, 0x6D, 0x8D, 0xD7, + 0x70, 0xA4, 0x8D, 0x2C, 0xBD, 0xB6, 0x5F, 0x81, 0x18, 0xC6, 0x28, 0xF2, 0xB9, 0x19, 0x26, 0xC6, + 0x67, 0x0C, 0xB1, 0xB5, 0xBF, 0xFA, 0x09, 0x1B, 0x3C, 0x01, 0xD6, 0x77, 0x5F, 0xD2, 0x08, 0x97, + 0xF9, 0x62, 0x52, 0x8F, 0xF5, 0x6B, 0xE7, 0x39, 0x57, 0x3C, 0x83, 0x7E, 0x89, 0xEC, 0x49, 0x65, + 0xE9, 0x15, 0xFA, 0xFF, 0x35, 0xF4, 0x92, 0x95, 0x3A, 0xAD, 0xA4, 0xA5, 0x1C, 0x4F, 0x00, 0x95, + 0xB6, 0xB9, 0xA4, 0xFD, 0x04, 0x91, 0x23, 0x0B, 0xF5, 0x0C, 0x8E, 0x43, 0xA4, 0xF9, 0x9F, 0x63, + 0xFE, 0xCF, 0x94, 0xB9, 0x99, 0x9A, 0x56, 0x51, 0x11, 0x8C, 0x54, 0xE9, 0x63, 0x2E, 0x0A, 0xAD, + 0x8E, 0x3C, 0xF4, 0x92, 0x0E, 0x2A, 0x8B, 0xAC, 0x5C, 0x7D, 0xC8, 0xB1, 0xF1, 0xA2, 0x56, 0xC4, + 0xE1, 0x24, 0x50, 0x45, 0x1C, 0x65, 0x5D, 0x50, 0x27, 0x5F, 0x00, 0x62, 0x83, 0x32, 0x22, 0xF0, + 0x7F, 0x1C, 0xE7, 0x42, 0x30, 0x83, 0xAE, 0x41, 0x0F, 0x8E, 0x47, 0xDA, 0x3A, 0xB2, 0x22, 0xE3, + 0x5D, 0xC1, 0x0E, 0x66, 0x74, 0x1C, 0xDF, 0x4C, 0x00, 0x12, 0xBF, 0x03, 0xBB, 0x75, 0x7C, 0xC6, + 0x7D, 0x6F, 0x56, 0xB3, 0x7D, 0x2C, 0xB7, 0x14, 0xAA, 0x5F, 0x04, 0x8B, 0x01, 0x12, 0xDF, 0xFE, + 0xB5, 0x10, 0x37, 0x77, 0x3E, 0x5C, 0xA7, 0x6D, 0x6E, 0x5B, 0xF6, 0x56, 0x71, 0x28, 0x91, 0x3A, + 0x74, 0x72, 0xD1, 0x98, 0xA7, 0x3A, 0x85, 0x91, 0xEF, 0x90, 0x0C, 0x18, 0xC8, 0x71, 0x90, 0x2D, + 0xC9, 0x67, 0x40, 0xA9, 0x36, 0x14, 0xFA, 0xFF, 0x23, 0xE9, 0xE5, 0x12, 0x1E, 0x2B, 0x5A, 0x48, + 0xFF, 0xCA, 0xCF, 0xD7, 0x45, 0x5C, 0xD5, 0xEE, 0x79, 0x1D, 0x02, 0xFE, 0xB5, 0xE6, 0xF1, 0xC1, + 0xAC, 0x14, 0x0E, 0x0E, 0xE1, 0x75, 0x46, 0xA6, 0x49, 0x5C, 0x78, 0x78, 0x7F, 0x65, 0xA4, 0x29, + 0xD2, 0x35, 0x26, 0x6D, 0x73, 0x88, 0x35, 0x31, 0xAE, 0xB5, 0x71, 0x24, 0x29, 0x24, 0x5B, 0x16, + 0x36, 0xE7, 0xC2, 0x8E, 0x29, 0xF5, 0xEE, 0x32, 0x78, 0x85, 0x6F, 0x96, 0x50, 0x92, 0x64, 0x9E, + 0x62, 0x4E, 0x8D, 0xF3, 0x42, 0x44, 0x7B, 0x35, 0x7F, 0x9A, 0xEC, 0x85, 0x9D, 0xF5, 0x23, 0x20, + 0x11, 0x4C, 0xF3, 0x68, 0x38, 0x71, 0x54, 0xEB, 0x84, 0xB0, 0x7F, 0x4E, 0x74, 0x30, 0x30, 0xBE, + 0x80, 0xF9, 0x13, 0xA1, 0xAE, 0x5B, 0x79, 0xBA, 0x31, 0xFB, 0x54, 0x5D, 0xAE, 0x05, 0x1E, 0xB6, + 0x6F, 0xC5, 0x2B, 0xC8, 0xFD, 0xFF, 0xEC, 0x46, 0x06, 0x65, 0xD5, 0x18, 0x43, 0x7F, 0xF4, 0x56, + 0x2E, 0x38, 0x65, 0x6C, 0xCE, 0x0C, 0x52, 0xF0, 0xA0, 0x9F, 0x4D, 0x39, 0xD3, 0x36, 0xF2, 0x35, + 0xDD, 0x17, 0xC1, 0xAF, 0x97, 0xD7, 0xAB, 0x4B, 0x01, 0xDB, 0x18, 0x68, 0x6C, 0xE1, 0xF9, 0x5C, + 0xFD, 0x06, 0xCC, 0x8B, 0x76, 0x4B, 0x1C, 0x0F, 0xD4, 0x1A, 0xCD, 0x4D, 0xFA, 0x52, 0x89, 0xDB, + 0x31, 0xDA, 0x08, 0x45, 0x79, 0xC0, 0x53, 0x81, 0xFF, 0x6E, 0x73, 0x72, 0xFE, 0xC8, 0xD8, 0x39, + 0xED, 0x2F, 0x4D, 0x55, 0xCD, 0x10, 0xF9, 0x4D, 0xF3, 0x8F, 0xA4, 0x3E, 0xF3, 0x74, 0xEB, 0x3E, + 0x40, 0xEA, 0xA7, 0x7C, 0x01, 0x0A, 0x1E, 0xDE, 0xBE, 0x97, 0x36, 0xD3, 0x54, 0x0A, 0xA1, 0x32, + 0x00, 0x12, 0x82, 0x06, 0x94, 0x01, 0xFE, 0x6B, 0xD8, 0xC9, 0xB5, 0xF1, 0x2E, 0xA2, 0x03, 0xAE, + 0xAA, 0x6C, 0x31, 0x10, 0x01, 0x12, 0xFE, 0x09, 0x14, 0xA1, 0xBF, 0x7B, 0x25, 0x6C, 0x8B, 0x4E, + 0x09, 0x27, 0xE7, 0x67, 0x05, 0x0D, 0xE8, 0x7D, 0xD7, 0x25, 0xC2, 0x85, 0x26, 0x2E, 0x52, 0xD4, + 0x35, 0xFC, 0x8B, 0x49, 0xB4, 0x2C, 0xFB, 0x4A, 0xC5, 0x66, 0xD9, 0x4B, 0xF6, 0xF5, 0xE8, 0x6A, + 0x70, 0x84, 0xA7, 0xA0, 0x21, 0xBE, 0x19, 0x89, 0xC7, 0xB0, 0x92, 0x8B, 0xAC, 0x44, 0x78, 0x58, + 0x88, 0xE8, 0xCA, 0x8E, 0x74, 0xDD, 0x10, 0x2A, 0x7C, 0xFB, 0xD7, 0xF0, 0xE1, 0x58, 0x02, 0xE7, + 0x37, 0x4C, 0x09, 0x83, 0x10, 0xF2, 0x02, 0xB9, 0x68, 0x51, 0x66, 0x3D, 0xBC, 0x6B, 0xE6, 0xCE, + 0x65, 0xA9, 0x62, 0x03, 0x5C, 0x1A, 0x8F, 0x71, 0xDC, 0xF5, 0x53, 0xBE, 0x7C, 0x37, 0x00, 0x88, + 0x47, 0x25, 0x55, 0x1B, 0xE3, 0xE5, 0x20, 0x08, 0x46, 0xE9, 0x89, 0x9E, 0x05, 0x4B, 0xC1, 0x01, + 0x2E, 0xE1, 0x31, 0x13, 0xA2, 0x0A, 0xB0, 0x27, 0xA9, 0xFC, 0xC5, 0x39, 0x6D, 0x4F, 0x6C, 0x7E, + 0x2B, 0xF1, 0xEE, 0xCD, 0xEF, 0x47, 0x98, 0x88, 0x04, 0x66, 0x83, 0x04, 0x4D, 0x64, 0x20, 0x5E, + 0xC5, 0x55, 0x69, 0xDC, 0x8D, 0x38, 0xCD, 0x56, 0x76, 0x3E, 0x86, 0x90, 0x85, 0xF9, 0xBD, 0xCB, + 0x1D, 0xD1, 0xAC, 0x96, 0x12, 0x6A, 0xD1, 0x62, 0x6B, 0xD5, 0x79, 0x6B, 0x2B, 0xB9, 0x37, 0x15, + 0x38, 0x52, 0x08, 0x40, 0x43, 0x84, 0xF2, 0x3F, 0x2B, 0xCB, 0x45, 0xC3, 0x30, 0xC6, 0x31, 0x1A, + 0x5F, 0x39, 0xE5, 0x9C, 0xC2, 0xA3, 0x35, 0xDE, 0x28, 0x61, 0xF2, 0x28, 0x17, 0x3D, 0x71, 0x83, + 0xF8, 0x4C, 0x40, 0xFA, 0xD8, 0xF0, 0x64, 0xC2, 0x0A, 0x35, 0x4B, 0x05, 0xD5, 0x84, 0x0E, 0xFE, + 0xD5, 0x3D, 0x77, 0x9E, 0x6C, 0xFC, 0x8A, 0xD8, 0xCB, 0xB4, 0x7E, 0xFA, 0x28, 0x9F, 0x43, 0x66, + 0x97, 0x58, 0xCF, 0x01, 0xE0, 0x25, 0x3A, 0xA3, 0xF2, 0x2B, 0xF5, 0x8F, 0x63, 0x14, 0x52, 0xD4, + 0xE4, 0x96, 0xE3, 0x95, 0x0D, 0x72, 0x71, 0x85, 0x00, 0x12, 0x5A, 0x20, 0xD8, 0xF4, 0xE0, 0xDD, + 0xAD, 0x73, 0xAB, 0xB0, 0x2E, 0x9C, 0x69, 0xDF, 0x3B, 0x7B, 0x02, 0x0A, 0x01, 0x12, 0x10, 0xC6, + 0x50, 0xBC, 0xE9, 0xA7, 0xD7, 0xEF, 0x89, 0xFD, 0xC6, 0xC0, 0x0C, 0x60, 0x1F, 0x87, 0x90, 0x78, + 0x01, 0xEE, 0xFA, 0xF2, 0xA3, 0x24, 0xA8, 0xEC, 0x6B, 0x09, 0x02, 0x43, 0xC9, 0x55, 0x4E, 0xEE, + 0x65, 0x81, 0x1F, 0xE9, 0xE9, 0xF1, 0x66, 0x6A, 0x39, 0x38, 0x2B, 0x25, 0xA8, 0x48, 0xB5, 0x50, + 0xF5, 0xF1, 0xA5, 0xC5, 0xAA, 0x25, 0xF9, 0x58, 0x15, 0xC5, 0x8A, 0x17, 0xF3, 0xA1, 0x39, 0xF3, + 0x4A, 0x26, 0x0E, 0xE4, 0x98, 0x1E, 0x9D, 0xBC, 0x0B, 0x12, 0xB9, 0x4F, 0x9A, 0x5C, 0x08, 0xA4, + 0xEF, 0xA1, 0x20, 0x35, 0x0D, 0xF6, 0x12, 0x0B, 0x71, 0x81, 0x9C, 0x1E, 0xF6, 0x88, 0x4E, 0x6F, + 0x66, 0xAB, 0x59, 0x21, 0xAB, 0xF1, 0x02, 0x55, 0x8E, 0xD4, 0x47, 0xE6, 0xD1, 0xA9, 0x74, 0x47, + 0xFC, 0x99, 0xF7, 0x43, 0xD3, 0x80, 0x04, 0x2C, 0x07, 0x9F, 0xF5, 0x93, 0x04, 0x19, 0x3C, 0xEA, + 0x20, 0xF1, 0xF1, 0x11, 0xC5, 0xAB, 0x22, 0x48, 0x53, 0xEB, 0xE4, 0x6B, 0xD1, 0xCE, 0x90, 0x59, + 0xD6, 0x5E, 0x78, 0x40, 0x6E, 0x05, 0x42, 0x23, 0xA2, 0x79, 0xC9, 0xE5, 0xAA, 0x5C, 0x05, 0x16, + 0x56, 0x89, 0xF4, 0xDE, 0x1F, 0x01, 0xE0, 0xCC, 0xCF, 0x0E, 0xE5, 0x1D, 0x67, 0x95, 0x84, 0x7C, + 0x94, 0x17, 0x03, 0xB1, 0xAB, 0xC0, 0x25, 0x51, 0xD3, 0x47, 0x4B, 0xFB, 0x94, 0x71, 0x5C, 0xC5, + 0x29, 0xAA, 0x20, 0x09, 0xC9, 0x1B, 0xFD, 0x24, 0x00, 0x05, 0x9A, 0x4D, 0xBB, 0xEF, 0x0E, 0xEC, + 0x62, 0xCF, 0xA6, 0x60, 0x39, 0xB4, 0x91, 0xAB, 0x01, 0xEA, 0x9C, 0x32, 0xCA, 0xF6, 0xE3, 0x40, + 0x78, 0x20, 0x6F, 0x2D, 0xEE, 0x1B, 0x4D, 0x06, 0x4E, 0xA9, 0xD5, 0x5F, 0xF1, 0x14, 0xB6, 0x21, + 0x10, 0x74, 0xB7, 0x74, 0x3D, 0xBB, 0xC5, 0xE7, 0xCF, 0xF1, 0x86, 0x40, 0x32, 0x68, 0x98, 0xD0, + 0xEB, 0x9C, 0xEE, 0x2A, 0x58, 0xDD, 0xB0, 0x03, 0x58, 0xFB, 0x22, 0x6B, 0x21, 0x0C, 0x07, 0x07, + 0x00, 0x12, 0x7D, 0x5D, 0x98, 0xE7, 0xB1, 0x38, 0xAD, 0x60, 0xF3, 0x6C, 0x6B, 0x31, 0x66, 0x47, + 0xF2, 0x80, 0xB2, 0x4D, 0x01, 0x12, 0x5D, 0xAC, 0x4B, 0xA8, 0xC6, 0x0A, 0xB0, 0x85, 0x22, 0x8C, + 0x66, 0x4E, 0x27, 0xE5, 0x06, 0x77, 0xCA, 0xE5, 0xA4, 0xF4, 0xDF, 0x61, 0x32, 0x4F, 0x92, 0x0A, + 0xBF, 0x53, 0x83, 0x46, 0xD1, 0xF8, 0xFE, 0xE9, 0x3C, 0x79, 0xF4, 0xB8, 0xE0, 0xC0, 0x65, 0xBA, + 0x49, 0x5E, 0xAA, 0x0A, 0xF3, 0x45, 0x64, 0x06, 0x99, 0xFC, 0x71, 0x89, 0xEB, 0x95, 0x8C, 0xF0, + 0x81, 0x2D, 0xC1, 0x8D, 0xE9, 0xD8, 0x5E, 0x20, 0x02, 0x71, 0x5C, 0x57, 0x6A, 0x35, 0x9B, 0x05, + 0x01, 0x6B, 0x3C, 0xEA, 0xAE, 0x20, 0x5B, 0xE6, 0x68, 0x12, 0xC2, 0x4B, 0x39, 0xFE, 0xE4, 0xDE, + 0x3E, 0x30, 0x22, 0x1B, 0xFB, 0xF9, 0x9A, 0x9E, 0x42, 0xD2, 0x88, 0x72, 0xA5, 0xFA, 0xA1, 0x8E, + 0xF8, 0xF1, 0xBB, 0xD9, 0xD8, 0x87, 0x80, 0xC4, 0x24, 0x13, 0x44, 0xEE, 0xCB, 0x34, 0x53, 0x9A, + 0xC4, 0xFD, 0x84, 0xB8, 0x62, 0xC1, 0x19, 0xC2, 0x4B, 0x94, 0xC9, 0xD8, 0xE4, 0xE2, 0x33, 0x2E, + 0x09, 0xA4, 0x79, 0x7B, 0xAC, 0x4B, 0x5C, 0x73, 0x5D, 0x37, 0x29, 0x79, 0x94, 0x07, 0xF9, 0x57, + 0x94, 0x50, 0xAE, 0xF9, 0x2A, 0x20, 0xFB, 0x45, 0x91, 0x29, 0x82, 0x8A, 0x3F, 0xA1, 0x2D, 0x0D, + 0x18, 0xB0, 0xCC, 0x43, 0xC8, 0x12, 0xE9, 0x0A, 0x2C, 0x96, 0xAE, 0x91, 0xB7, 0x38, 0x49, 0x13, + 0xBA, 0x14, 0xF6, 0xB7, 0x49, 0x6B, 0xF1, 0xB6, 0x19, 0x51, 0xA0, 0x4F, 0x39, 0x46, 0x20, 0x08, + 0xE5, 0x1B, 0x5C, 0x5D, 0xA7, 0x5D, 0xA1, 0x5C, 0x93, 0x89, 0x01, 0x59, 0xC4, 0x82, 0xCC, 0x1B, + 0x29, 0xED, 0x02, 0x85, 0x9C, 0x6F, 0x41, 0x0F, 0x91, 0x77, 0x76, 0xBC, 0xEE, 0xF7, 0xFF, 0x63, + 0x42, 0x95, 0xB5, 0x32, 0x19, 0x75, 0x2B, 0x14, 0xB1, 0xF9, 0x0B, 0x63, 0x82, 0x55, 0x53, 0x66, + 0xCF, 0xBA, 0x13, 0xC5, 0x61, 0x73, 0xE9, 0xF4, 0xB0, 0xB1, 0xF7, 0x1D, 0xAC, 0xD4, 0x78, 0xAF, + 0xD1, 0x0B, 0x65, 0x94, 0x72, 0x57, 0xBC, 0x72, 0x00, 0x12, 0x72, 0xA5, 0xAD, 0x01, 0x68, 0x77, + 0x0B, 0x58, 0xA7, 0x79, 0xC9, 0xE8, 0x0F, 0xF5, 0x25, 0x92, 0x67, 0xE1, 0x01, 0x12, 0x73, 0x37, + 0x86, 0xE5, 0x90, 0xB2, 0xF5, 0x02, 0x1A, 0xFA, 0x5B, 0x65, 0x65, 0xEC, 0xC3, 0x7F, 0x8E, 0xC8, + 0x64, 0xAA, 0x3C, 0xAA, 0x5B, 0xD0, 0x32, 0x81, 0x26, 0x4E, 0xE3, 0x6D, 0x24, 0x11, 0x01, 0xD8, + 0x5B, 0x41, 0xCC, 0xE4, 0xFC, 0x1A, 0x50, 0xEF, 0xF3, 0x9E, 0x24, 0xA6, 0x90, 0xD1, 0x50, 0xF7, + 0x78, 0xF4, 0xB9, 0xA0, 0x3C, 0xEE, 0x7F, 0xFE, 0x35, 0x54, 0xE2, 0x5B, 0x3D, 0x9B, 0xA2, 0x46, + 0x07, 0x74, 0x88, 0xB7, 0x58, 0xF1, 0x1A, 0x64, 0xD4, 0x1E, 0x38, 0x7F, 0x3B, 0xC3, 0x2A, 0xE0, + 0xFC, 0xDF, 0x11, 0xE5, 0x3B, 0x5F, 0xFC, 0x04, 0xE4, 0x8B, 0xD1, 0x66, 0xE5, 0x4C, 0x86, 0xFF, + 0xA1, 0x61, 0x08, 0x35, 0xEA, 0x87, 0xC3, 0x49, 0x71, 0x51, 0xC1, 0x62, 0xDB, 0x0A, 0xD8, 0x78, + 0xC0, 0xF5, 0xB2, 0x81, 0x5F, 0x4F, 0x58, 0xEA, 0xAF, 0x7F, 0x13, 0x85, 0xF2, 0xC9, 0x24, 0xAC, + 0x22, 0x46, 0x0E, 0xE6, 0x58, 0xE4, 0x26, 0xE0, 0xC7, 0xC6, 0x3F, 0xA1, 0xBC, 0x47, 0x11, 0x5A, + 0xB3, 0xBB, 0x28, 0xC1, 0x72, 0x43, 0x56, 0xFE, 0xA7, 0x72, 0xC4, 0xE5, 0x94, 0xDE, 0x9B, 0x91, + 0x83, 0x27, 0x0D, 0x5F, 0x92, 0x86, 0xCF, 0x47, 0xA0, 0x56, 0xE4, 0x40, 0xDF, 0xD3, 0x1E, 0xF7, + 0x85, 0xB7, 0xEE, 0xAE, 0xB8, 0x4E, 0xAE, 0xC5, 0x22, 0x96, 0x21, 0x94, 0x5E, 0x44, 0xD9, 0x8E, + 0x3B, 0x23, 0xF2, 0xD0, 0xEF, 0xAE, 0x84, 0x3F, 0x5E, 0xD7, 0xC4, 0x9A, 0x39, 0x71, 0x9E, 0xCE, + 0x6A, 0xCE, 0xCD, 0xCC, 0x3F, 0xFD, 0x84, 0xD4, 0x1F, 0xF9, 0x8D, 0x04, 0xD5, 0xB1, 0xEF, 0x0E, + 0x5F, 0x8D, 0xB1, 0x6B, 0x7F, 0xE9, 0xED, 0xB3, 0xD1, 0xD4, 0xBB, 0x06, 0x46, 0x67, 0x7F, 0x80, + 0x10, 0x47, 0xBA, 0x25, 0xD6, 0x19, 0x4A, 0x8D, 0xE6, 0x54, 0x39, 0x8E, 0xDE, 0x66, 0x00, 0x72, + 0xBB, 0x6C, 0x3D, 0x94, 0xEB, 0x38, 0x63, 0xF7, 0x79, 0x18, 0xCA, 0x85, 0xE4, 0x22, 0xA9, 0x2B, + 0x00, 0x12, 0xBC, 0x43, 0xF4, 0x88, 0x07, 0x8F, 0xF6, 0xBC, 0xA0, 0x1C, 0x1A, 0xA5, 0x50, 0x8A, + 0xF3, 0x9F, 0xA3, 0x6E, 0x01, 0x12, 0xEC, 0x4F, 0xA6, 0x60, 0xE3, 0x7C, 0x2C, 0xD8, 0x9C, 0x73, + 0x44, 0xC3, 0x8B, 0x86, 0x0A, 0xA1, 0xCA, 0xEA, 0x81, 0x8F, 0xB4, 0xD3, 0x50, 0x78, 0xCA, 0x5E, + 0x1D, 0x48, 0xBE, 0x88, 0x77, 0xA6, 0x23, 0x34, 0x17, 0x94, 0xFC, 0x10, 0xA6, 0x91, 0xB3, 0x11, + 0x4D, 0x46, 0xD5, 0x43, 0x6A, 0x9B, 0x73, 0x4A, 0x63, 0x43, 0x13, 0xE1, 0x34, 0xBC, 0x3C, 0xC5, + 0xD0, 0x82, 0xCB, 0x9D, 0x9A, 0xE2, 0x57, 0x37, 0xCC, 0x8D, 0x60, 0xB2, 0x27, 0x1B, 0x72, 0xEE, + 0xEF, 0x42, 0xB1, 0xA4, 0x6C, 0x75, 0xAC, 0xA7, 0x3A, 0x12, 0x30, 0xC0, 0x2D, 0xC0, 0x8F, 0x0F, + 0x08, 0x8E, 0x32, 0x74, 0xDB, 0x40, 0x05, 0x85, 0x28, 0xE5, 0x98, 0x4D, 0x2F, 0xAB, 0xAE, 0x6B, + 0x88, 0xFA, 0xA3, 0xD5, 0xFD, 0xEF, 0x76, 0x0F, 0x4F, 0xAA, 0x1F, 0xA8, 0x3B, 0xC6, 0xE6, 0x9D, + 0x4A, 0xD6, 0x79, 0x46, 0xFD, 0x0B, 0x88, 0xA3, 0xDB, 0x85, 0x94, 0x22, 0x74, 0x12, 0x52, 0x5F, + 0xF9, 0xC1, 0x91, 0x33, 0x1C, 0x53, 0x39, 0x1B, 0x56, 0xEC, 0x1F, 0x09, 0xDD, 0xD5, 0xD4, 0x33, + 0x8B, 0xA7, 0x40, 0xD8, 0xA9, 0xFF, 0xC4, 0x29, 0x86, 0xA9, 0xB6, 0xA7, 0xE5, 0xE8, 0x6D, 0xD5, + 0x4A, 0xC9, 0x27, 0xC0, 0x83, 0x5D, 0xE3, 0x48, 0x86, 0xF9, 0x5C, 0x10, 0x87, 0xAE, 0xE4, 0x45, + 0xF2, 0x95, 0xCF, 0x7C, 0xBB, 0x4B, 0x1D, 0x4A, 0x73, 0x9D, 0x02, 0x36, 0x78, 0x83, 0xC2, 0xEF, + 0xD1, 0xA1, 0xD6, 0xAD, 0xFF, 0xDD, 0x1E, 0x39, 0xCE, 0x1C, 0xDE, 0xED, 0xEE, 0x9A, 0xC3, 0x2F, + 0x59, 0x9B, 0xED, 0x5F, 0xC8, 0x22, 0x14, 0x72, 0x40, 0x31, 0x93, 0xA0, 0x37, 0x27, 0x52, 0x86, + 0x3F, 0xEB, 0x27, 0xA0, 0x16, 0xB1, 0x11, 0x8E, 0x6B, 0x87, 0x6F, 0x3B, 0x50, 0x9A, 0x4F, 0xB2, + 0x07, 0xEF, 0xDB, 0x7F, 0x3B, 0x2D, 0x02, 0x24, 0x0F, 0xB7, 0xCB, 0xF0, 0x55, 0x12, 0x0B, 0x22, + 0x5F, 0x4C, 0xA3, 0xBD, 0x46, 0x83, 0x6B, 0xEE, 0x00, 0x12, 0x9C, 0xF5, 0x6B, 0x8A, 0x6C, 0x7A, + 0xE6, 0xFD, 0x66, 0x2D, 0x04, 0x62, 0xBB, 0x6F, 0xE2, 0x3C, 0x61, 0x48, 0x01, 0x12, 0x07, 0x5B, + 0x83, 0xED, 0x09, 0x02, 0x87, 0x54, 0xEB, 0x62, 0xCF, 0xFF, 0x2A, 0x7E, 0x59, 0x21, 0xDE, 0x5D, + 0xED, 0xF1, 0x89, 0x71, 0x7C, 0x56, 0x56, 0xBB, 0xF5, 0xF8, 0xBB, 0x7F, 0xFB, 0xBE, 0x81, 0x19, + 0x3A, 0xF7, 0xC1, 0xDF, 0xE1, 0x37, 0x11, 0x65, 0x46, 0x16, 0x31, 0x29, 0x2C, 0x00, 0xA0, 0x98, + 0x98, 0x2F, 0x39, 0x0C, 0x9F, 0x7B, 0xC0, 0x08, 0xF3, 0x29, 0x7E, 0x42, 0xF8, 0x3D, 0xC8, 0xAB, + 0xCA, 0xDE, 0x46, 0xDE, 0x38, 0x24, 0x5B, 0x77, 0xFC, 0x87, 0x2C, 0xA1, 0xB3, 0xCF, 0x18, 0xBA, + 0xF5, 0x69, 0x8B, 0xBD, 0x2D, 0xD5, 0x55, 0x7E, 0x1F, 0x15, 0xF4, 0xCE, 0xEC, 0xD3, 0x56, 0x89, + 0x84, 0x03, 0x5A, 0xDE, 0x40, 0xDD, 0x48, 0x31, 0x20, 0x93, 0x5E, 0x96, 0x87, 0xB1, 0x45, 0x7A, + 0xFE, 0x98, 0x5E, 0x1E, 0xEE, 0xB2, 0xDE, 0x62, 0x29, 0x7D, 0xD7, 0x43, 0x89, 0x58, 0x38, 0x41, + 0xCF, 0x98, 0x20, 0x76, 0xC8, 0x8D, 0x60, 0xD5, 0xB5, 0x7A, 0x3D, 0x40, 0xB5, 0xDE, 0xC6, 0x63, + 0x2D, 0xCE, 0x88, 0xC6, 0x51, 0x93, 0x96, 0x6A, 0xCB, 0x4E, 0x04, 0x40, 0x2E, 0xB5, 0x44, 0xFB, + 0x4E, 0xDA, 0xB2, 0x94, 0x79, 0x40, 0x8D, 0x19, 0xA5, 0x80, 0x60, 0x36, 0xA7, 0x63, 0x91, 0x9F, + 0x07, 0xC5, 0x78, 0x0F, 0x22, 0xEC, 0x4C, 0x9D, 0x09, 0xA7, 0x7C, 0xCF, 0xFF, 0x65, 0x4E, 0x90, + 0x8B, 0x1F, 0xBB, 0xB4, 0x33, 0x09, 0x90, 0x7D, 0x71, 0xD8, 0xA5, 0xA0, 0x55, 0xB1, 0x37, 0xC0, + 0xC2, 0xB7, 0x76, 0xF0, 0x91, 0x9B, 0xD1, 0x76, 0x74, 0x56, 0x64, 0xB8, 0xF3, 0x5E, 0xAB, 0x6A, + 0x9C, 0x1B, 0xE9, 0x22, 0x18, 0xD0, 0x7C, 0x92, 0x65, 0x00, 0x06, 0x81, 0xAF, 0x3A, 0xA6, 0xDF, + 0xD8, 0xBF, 0x28, 0x8E, 0x40, 0xD8, 0x1B, 0x07, 0x4A, 0x78, 0x8F, 0xAB, 0x12, 0x6D, 0x78, 0x27, + 0x8D, 0xB7, 0x39, 0xFB, 0xD7, 0x24, 0xA0, 0xDF, 0x71, 0xB1, 0x3E, 0xB3, 0x15, 0x88, 0x90, 0x45, + 0x00, 0x12, 0x59, 0xE4, 0x7A, 0x76, 0xF4, 0xA3, 0xC0, 0x74, 0xF1, 0x8D, 0x9E, 0x36, 0x5B, 0xC2, + 0x19, 0xAE, 0x50, 0xD3, 0x01, 0x12, 0x35, 0xB4, 0xF5, 0xBA, 0x9B, 0x61, 0xBE, 0xE6, 0xC8, 0x72, + 0x64, 0x76, 0xCF, 0x46, 0xB3, 0x39, 0x18, 0x6C, 0xDB, 0x55, 0x9F, 0x04, 0x84, 0xE5, 0x6B, 0x30, + 0x1A, 0x5E, 0x30, 0xD6, 0x80, 0x00, 0x62, 0xB1, 0xE8, 0x6A, 0x22, 0xDC, 0x40, 0xB1, 0x62, 0x0C, + 0x31, 0x0F, 0x35, 0xE0, 0xBF, 0x95, 0xBD, 0xA4, 0x67, 0x2F, 0x28, 0xBC, 0x61, 0x27, 0x5E, 0x5B, + 0x18, 0xAB, 0x91, 0x7E, 0xFD, 0xCC, 0xFE, 0xE0, 0xC1, 0x67, 0x8B, 0x43, 0x69, 0x4D, 0x67, 0x7C, + 0xA9, 0xDD, 0x79, 0xBB, 0x01, 0x2D, 0x17, 0x61, 0xC0, 0x8B, 0xAC, 0xBC, 0xD3, 0xBA, 0x90, 0xD1, + 0x56, 0x82, 0xEE, 0xA2, 0x71, 0x24, 0xDE, 0x8D, 0xE7, 0x01, 0x75, 0xDF, 0xBB, 0x5A, 0x94, 0xC4, + 0x6A, 0xDD, 0x2E, 0xA6, 0x3B, 0x08, 0x41, 0xA2, 0x54, 0x0E, 0x56, 0x6E, 0x10, 0xAC, 0x1E, 0x14, + 0xFC, 0x48, 0xD5, 0xA0, 0xA5, 0xAD, 0xB0, 0xAC, 0xC0, 0x32, 0xC3, 0xAE, 0xA1, 0xF1, 0xA7, 0xC2, + 0x6E, 0x27, 0x23, 0xDF, 0xDD, 0xDC, 0xF8, 0xCE, 0xFC, 0xA2, 0x79, 0x3B, 0x32, 0xA0, 0xC6, 0xA2, + 0xD1, 0xA2, 0x63, 0x52, 0x90, 0x83, 0x00, 0xF3, 0xEB, 0xD3, 0x2F, 0xCC, 0x9B, 0x9B, 0xF2, 0x78, + 0x8C, 0x58, 0x25, 0xF6, 0xB5, 0x44, 0xCC, 0x48, 0x3C, 0xD4, 0x3D, 0xD7, 0x5E, 0x53, 0x5E, 0xD1, + 0xA9, 0xE1, 0xA9, 0x07, 0x4D, 0x55, 0x93, 0x42, 0xB7, 0xD3, 0x64, 0x94, 0x51, 0x6F, 0x91, 0xE0, + 0xC3, 0x2F, 0x7F, 0x05, 0x34, 0xB0, 0x78, 0x20, 0x65, 0xC1, 0x62, 0x7B, 0xD8, 0x80, 0x85, 0x57, + 0xE1, 0xBB, 0xB6, 0x6F, 0xBB, 0xE9, 0x1C, 0x3E, 0xCA, 0x47, 0xD6, 0x90, 0xFF, 0x30, 0x58, 0xF6, + 0x5F, 0xC9, 0xB4, 0x6E, 0xA0, 0x3A, 0x5D, 0xBE, 0x02, 0xDA, 0x09, 0x79, 0x8B, 0x17, 0x3F, 0xFB, + 0xDC, 0x5A, 0xA5, 0xF2, 0x12, 0x35, 0x9A, 0x06, 0x0F, 0x74, 0x4F, 0xBB, 0x9F, 0x3A, 0x25, 0x41, + 0x5A, 0xA5, 0x62, 0x84, 0x08, 0x75, 0x4D, 0x42, 0x00, 0x52, 0x28, 0xB2, 0xD1, 0x5E, 0xCF, 0xA1, + 0x57, 0x61, 0xE7, 0x64, 0x36, 0x51, 0x96, 0x98, 0x06, 0x86, 0xD6, 0xF7, 0xCD, 0x94, 0xA9, 0x48, + 0x04, 0x40, 0x8F, 0xED, 0xCE, 0xDA, 0x70, 0x6C, 0xBE, 0x9E, 0x43, 0xCC, 0x50, 0xE4, 0x1D, 0x6F, + 0x2A, 0x4F, 0xEB, 0x48, 0xFE, 0x79, 0x28, 0xE6, 0xC8, 0xF4, 0x14, 0x40, 0x62, 0x0B, 0x1D, 0x31, + 0xA2, 0xD7, 0x2A, 0x85, 0x86, 0x59, 0x92, 0x88, 0xF2, 0x0A, 0xFF, 0xEE, 0xD7, 0xAE, 0x95, 0x5B, + 0xB9, 0x09, 0x64, 0x04, 0x20, 0x47, 0x50, 0x6D, 0x9F, 0x4D, 0xF8, 0x1C, 0x00, 0xE2, 0x74, 0x08, + 0x47, 0x11, 0x2A, 0x59, 0x05, 0x82, 0xB7, 0x8B, 0xFB, 0x49, 0x2A, 0x8C, 0x48, 0x9A, 0xA9, 0x2F, + 0xA9, 0x75, 0xC8, 0x24, 0x0D, 0xB1, 0x51, 0x23, 0x22, 0x8E, 0x1A, 0x15, 0x0B, 0xA7, 0x65, 0xA3, + 0xD1, 0x4D, 0x92, 0x8A, 0xEF, 0x96, 0x0F, 0xB0, 0xF2, 0x56, 0x94, 0xE3, 0xB0, 0x1F, 0x07, 0x79, + 0xA9, 0x22, 0x00, 0xA4, 0xC8, 0xE0, 0x88, 0x5E, 0xEF, 0x92, 0xC8, 0x54, 0xDE, 0x49, 0x83, 0xAC, + 0xBC, 0x34, 0xF0, 0x5B, 0xA7, 0x23, 0x51, 0xD9, 0x7A, 0x14, 0x58, 0x53, 0x98, 0xF4, 0x77, 0x86, + 0xF0, 0x0E, 0x69, 0x35, 0x40, 0xDA, 0x8A, 0x01, 0x24, 0x55, 0x8A, 0x70, 0xAC, 0x16, 0x8A, 0x47, + 0x82, 0x73, 0x0F, 0x15, 0xEE, 0xE8, 0x49, 0x99, 0x95, 0xF1, 0x6A, 0x49, 0x3A, 0x1B, 0x53, 0x98, + 0x4D, 0x7E, 0x1A, 0x3D, 0x29, 0x4D, 0x3C, 0xC8, 0x57, 0x75, 0x6D, 0xCA, 0x76, 0x9B, 0x84, 0xAD, + 0xEE, 0x90, 0x8A, 0x66, 0x83, 0xE2, 0x0F, 0xCA, 0x20, 0x2C, 0xB9, 0x0E, 0x4C, 0xC8, 0x54, 0x4F, + 0x5C, 0xFD, 0x5B, 0x0E, 0xF1, 0xB1, 0x17, 0x18, 0xE6, 0x70, 0x89, 0x13, 0xFA, 0x5A, 0xA1, 0x85, + 0xCD, 0x06, 0x95, 0x98, 0x68, 0x4F, 0xEA, 0xD1, 0x1B, 0xD1, 0xFD, 0x97, 0x82, 0xD0, 0xFB, 0x31, + 0xD5, 0xE0, 0xED, 0x97, 0x66, 0xD4, 0xFD, 0x27, 0x4A, 0xB7, 0x1C, 0x0D, 0xBB, 0x28, 0x33, 0x98, + 0xA1, 0x54, 0x78, 0xF4, 0x1C, 0x89, 0xA1, 0x41, 0x2C, 0x8B, 0xFA, 0xF0, 0xE7, 0x33, 0x5B, 0xAB, + 0x7F, 0x1F, 0xAB, 0xA6, 0x40, 0x1B, 0xA7, 0x9A, 0x79, 0xFA, 0xBB, 0x57, 0x93, 0x01, 0x74, 0x97, + 0x01, 0x12, 0x4C, 0x1B, 0x07, 0x96, 0x39, 0xFC, 0x1F, 0xCD, 0x30, 0xD2, 0x8D, 0x7D, 0x6B, 0x65, + 0xAA, 0x9B, 0xDC, 0x17, 0x99, 0x84, 0x38, 0xD1, 0xA1, 0xBC, 0xCF, 0x9F, 0x6A, 0x33, 0x4F, 0xCC, + 0xFC, 0x69, 0x15, 0xDD, 0x4D, 0x9F, 0xFA, 0xB2, 0x8E, 0x44, 0xE5, 0x47, 0xDD, 0x5F, 0xD6, 0xE9, + 0x8D, 0x7F, 0x75, 0xCF, 0x2A, 0x8B, 0xCA, 0x9B, 0x5D, 0xD6, 0x16, 0x7D, 0x32, 0xE9, 0x2C, 0x92, + 0x73, 0x71, 0x49, 0x25, 0xB1, 0xC3, 0xBD, 0xFE, 0x86, 0x29, 0xC7, 0x0F, 0x9A, 0x5A, 0x35, 0x82, + 0x25, 0x8A, 0x93, 0xF8, 0xA1, 0xFE, 0x7B, 0x0B, 0x2E, 0x52, 0x06, 0x14, 0xAA, 0x33, 0x70, 0x1B, + 0x2B, 0xAD, 0x6F, 0x36, 0xBD, 0xDD, 0xF0, 0xE9, 0xA8, 0xBD, 0x0E, 0x26, 0x57, 0x4B, 0xE6, 0x5B, + 0x37, 0xE9, 0x01, 0xCD, 0xE2, 0xD4, 0x29, 0xCA, 0xF4, 0xBC, 0xCA, 0x1E, 0x01, 0x79, 0x9E, 0x64, + 0x55, 0x2A, 0xB7, 0x21, 0xAF, 0xC0, 0xF6, 0x4F, 0x7A, 0x08, 0xF9, 0x84, 0xF5, 0x89, 0xF9, 0x39, + 0xBF, 0x9B, 0xCD, 0x10, 0x00, 0x0E, 0xA4, 0x86, 0xE1, 0xC9, 0x33, 0x7B, 0x03, 0x1D, 0x45, 0x3F, + 0x81, 0xF1, 0x38, 0x04, 0x34, 0x40, 0xBF, 0xB4, 0xF3, 0xAE, 0x28, 0xE1, 0xD0, 0x4E, 0xA0, 0x30, + 0xDA, 0xCD, 0x24, 0x9D, 0x66, 0xD5, 0xE6, 0x4A, 0xF2, 0x87, 0x30, 0x09, 0x44, 0x6F, 0xB3, 0x86, + 0xE9, 0x92, 0x0B, 0x40, 0x94, 0x7C, 0x70, 0x5F, 0x5B, 0xD7, 0x82, 0x41, 0x29, 0x37, 0x94, 0x59, + 0xA5, 0x82, 0x7A, 0xA0, 0x0A, 0x0E, 0x0D, 0x72, 0x32, 0x6A, 0xAE, 0x68, 0xF1, 0x31, 0x05, 0x96, + 0x3F, 0xC8, 0x87, 0xF5, 0x4F, 0xB6, 0x49, 0x2D, 0xE7, 0xAB, 0x7D, 0xA9, 0x59, 0xF2, 0x76, 0x3E, + 0x71, 0xD6, 0x47, 0x33, 0xD6, 0xEE, 0x62, 0x3A, 0xBC, 0x23, 0x85, 0x15, 0xB7, 0xF6, 0xFF, 0x6D, + 0x35, 0x30, 0x55, 0x74, 0xC4, 0x02, 0xF4, 0x7A, 0xAD, 0x69, 0x71, 0x13, 0xAC, 0xA3, 0x46, 0xB4, + 0x34, 0xF1, 0xD9, 0xFD, 0x00, 0x12, 0x9C, 0xD6, 0x09, 0x3F, 0xCC, 0xD9, 0xEA, 0x25, 0xC4, 0x09, + 0x05, 0x64, 0x75, 0xF9, 0x3E, 0xBF, 0x77, 0x58, 0x01, 0x12, 0xE3, 0x5C, 0x8E, 0x0C, 0x2C, 0x1D, + 0x7E, 0x28, 0x41, 0xC2, 0xAE, 0x47, 0x4C, 0x33, 0xDE, 0x0F, 0x0B, 0x5C, 0x3E, 0x0C, 0x2B, 0xD9, + 0x83, 0x65, 0x2E, 0x31, 0x0B, 0x3C, 0x11, 0x82, 0x9B, 0x8B, 0xBA, 0xFA, 0x5D, 0x57, 0x6C, 0x81, + 0x84, 0x91, 0x51, 0x6A, 0x65, 0x38, 0x6E, 0xC8, 0x7C, 0xF7, 0xBB, 0x31, 0x69, 0x78, 0x18, 0x36, + 0x97, 0x93, 0xD0, 0x45, 0xE2, 0x4D, 0x29, 0x50, 0xB7, 0xCB, 0x0A, 0x01, 0xD4, 0xFE, 0xD9, 0xF6, + 0x18, 0x26, 0xC5, 0x8D, 0xDF, 0x72, 0x7B, 0x1D, 0x30, 0xD0, 0x58, 0x9C, 0xC5, 0xEF, 0x19, 0x0A, + 0x16, 0xD5, 0xDD, 0x72, 0xDC, 0x80, 0x7B, 0x0C, 0x6D, 0x7B, 0xA3, 0x5D, 0x28, 0xBF, 0x32, 0x2A, + 0xE0, 0xDB, 0x57, 0xE2, 0x15, 0xDD, 0x1B, 0x08, 0xDC, 0x3E, 0x1A, 0x96, 0x3B, 0xE9, 0x8D, 0xA0, + 0xD7, 0xA2, 0xC6, 0x4C, 0xD4, 0x28, 0xB2, 0x69, 0xD6, 0x33, 0x43, 0x3E, 0x32, 0x45, 0xC0, 0xD3, + 0x37, 0xD0, 0x13, 0x64, 0xB5, 0x2F, 0xB9, 0xF6, 0x21, 0x47, 0xB0, 0xF7, 0x04, 0xF4, 0x58, 0x82, + 0x41, 0xC3, 0x8B, 0x03, 0xD3, 0xC6, 0xD9, 0x15, 0x84, 0x07, 0xEE, 0x50, 0x31, 0x92, 0x23, 0xA7, + 0x5E, 0x49, 0x1A, 0x9E, 0xE1, 0x85, 0x5E, 0x1B, 0xD6, 0xF0, 0xAF, 0xC9, 0x62, 0x3F, 0x77, 0xCA, + 0xED, 0x92, 0xB4, 0x1B, 0x81, 0x4F, 0x8C, 0xCF, 0xBA, 0x69, 0x42, 0x3E, 0x76, 0x09, 0x16, 0xC2, + 0x0C, 0x20, 0x89, 0xFF, 0xDD, 0xE9, 0x82, 0xBA, 0xA5, 0x10, 0x71, 0x52, 0x9B, 0x6D, 0xC7, 0xC7, + 0x3C, 0xEE, 0xB2, 0xDD, 0x9D, 0xDD, 0xC6, 0x29, 0xE8, 0x25, 0x0D, 0xD1, 0x37, 0x63, 0x27, 0xC8, + 0x40, 0xE8, 0x5A, 0xB4, 0xCD, 0xA8, 0xE3, 0xFB, 0x40, 0xE7, 0x1B, 0x90, 0xFC, 0x08, 0xB0, 0xB3, + 0x6D, 0x34, 0x79, 0xFD, 0xA2, 0x9E, 0x63, 0x68, 0x82, 0x96, 0xD6, 0xC6, 0x6A, 0x14, 0x9C, 0x1A, + 0x5D, 0xB0, 0xF9, 0x6B, 0x7F, 0x34, 0xE4, 0x96, 0x3A, 0x0E, 0xA4, 0x1D, 0x00, 0x12, 0xFA, 0xE0, + 0x68, 0x0A, 0xB9, 0x89, 0xF0, 0x9F, 0x11, 0xC3, 0x55, 0xED, 0x5C, 0x5A, 0x7E, 0x03, 0xDE, 0xA6, + 0x01, 0x12, 0xF5, 0x9F, 0x41, 0x01, 0xBE, 0xB0, 0x19, 0xD9, 0xA3, 0x2F, 0x83, 0xF0, 0xB1, 0x18, + 0x73, 0x1A, 0xF0, 0x2C, 0xC8, 0x7D, 0x9F, 0xC3, 0x43, 0x6C, 0xAD, 0x49, 0x33, 0x29, 0x68, 0x01, + 0xF6, 0xEE, 0x0C, 0x7C, 0xEC, 0x2F, 0x80, 0x29, 0x8D, 0x10, 0xA2, 0xC2, 0x4A, 0x3D, 0xC3, 0xB3, + 0x0B, 0x93, 0x23, 0x6A, 0x10, 0x1F, 0xC2, 0x6F, 0x94, 0xA3, 0x99, 0xCD, 0x07, 0x9E, 0xAD, 0xC5, + 0xA4, 0x86, 0x0D, 0x26, 0x51, 0x08, 0xE5, 0x4C, 0xE1, 0xD5, 0x85, 0x00, 0x75, 0x45, 0xF1, 0xD9, + 0x70, 0x48, 0x3F, 0x8C, 0x0C, 0x6F, 0x93, 0x0B, 0x27, 0x78, 0x6F, 0xC5, 0x3C, 0x02, 0x8C, 0xDA, + 0x07, 0x6D, 0x11, 0x51, 0xBC, 0x0E, 0x5F, 0x0D, 0x10, 0x25, 0x21, 0xC2, 0x07, 0x7A, 0x84, 0xD9, + 0xFD, 0x9B, 0x28, 0x01, 0x2C, 0x2E, 0x90, 0xAD, 0x50, 0x5C, 0x46, 0xD9, 0xC1, 0x72, 0x82, 0x3F, + 0xAD, 0xAE, 0x98, 0x82, 0x47, 0xB2, 0xC1, 0x76, 0x17, 0x0C, 0xB0, 0xBD, 0xDE, 0x5E, 0xA8, 0xBB, + 0x48, 0x87, 0xC0, 0x7C, 0x3C, 0x59, 0x9D, 0x25, 0x69, 0x0E, 0x28, 0x4B, 0xA9, 0x68, 0xDA, 0x96, + 0xD2, 0x5C, 0x5B, 0xD1, 0x31, 0x7F, 0x33, 0x9C, 0x6D, 0x3D, 0xE1, 0x7D, 0x38, 0x15, 0x46, 0x9E, + 0x13, 0x69, 0x86, 0x84, 0xCD, 0xF1, 0x0B, 0x58, 0x03, 0xF1, 0x0B, 0x7E, 0xAB, 0x60, 0x7B, 0x64, + 0x50, 0x01, 0xCE, 0xE7, 0xA5, 0xD4, 0x83, 0x08, 0xC8, 0x67, 0xD7, 0xD2, 0xCC, 0x82, 0x8A, 0xE9, + 0xC7, 0x8B, 0xA6, 0xC4, 0x19, 0xA0, 0x83, 0x42, 0xB5, 0x01, 0x30, 0x84, 0x95, 0x73, 0x97, 0xB3, + 0x52, 0xA4, 0x4B, 0x75, 0x70, 0x77, 0x34, 0x82, 0xF3, 0x43, 0x59, 0xD0, 0xA5, 0x97, 0x3A, 0x31, + 0x9C, 0x93, 0x23, 0x15, 0xF6, 0x92, 0xA2, 0x3A, 0xCF, 0xF7, 0x17, 0xA6, 0x64, 0x80, 0x73, 0x10, + 0x8D, 0xE7, 0x80, 0xD1, 0xA6, 0xD2, 0x6D, 0x36, 0x18, 0x90, 0x54, 0x45, 0x43, 0xEB, 0xED, 0x70, + 0x60, 0x5E, 0x60, 0x3F, 0x00, 0x12, 0x43, 0x90, 0xD0, 0x98, 0x3E, 0x0C, 0x9A, 0x7D, 0x3A, 0x19, + 0x2B, 0xBD, 0x4F, 0x11, 0x74, 0x28, 0x1F, 0x89, 0x01, 0x12, 0xA2, 0x6D, 0xEA, 0x66, 0xE2, 0xC7, + 0x8D, 0xFB, 0x1B, 0x9C, 0xA5, 0x3A, 0x41, 0x2B, 0x2B, 0xB7, 0x4A, 0xAB, 0xA4, 0x2D, 0x7D, 0xE2, + 0x46, 0x73, 0x3C, 0x3E, 0xE2, 0xA1, 0x44, 0x98, 0x0B, 0xFB, 0x8A, 0xD3, 0xAE, 0xB6, 0xAF, 0xD4, + 0x8C, 0x54, 0xFE, 0xFF, 0x3B, 0xFE, 0xA6, 0xDF, 0x17, 0x76, 0xC8, 0x78, 0xE2, 0x0B, 0xE5, 0xD1, + 0x45, 0xDA, 0xEC, 0xDF, 0x1E, 0xC2, 0x09, 0x41, 0x6E, 0x47, 0x06, 0xFD, 0x15, 0x3C, 0xFD, 0x81, + 0x03, 0x7E, 0x65, 0x63, 0x72, 0x62, 0x39, 0x4E, 0x8F, 0x63, 0x27, 0x0F, 0x71, 0xCD, 0x4F, 0x4B, + 0xC4, 0xFE, 0x41, 0x01, 0xE5, 0x9B, 0x00, 0xA4, 0x8E, 0x83, 0xD7, 0x4E, 0x43, 0x1F, 0x2E, 0x6F, + 0x33, 0x09, 0xFE, 0xA6, 0xEE, 0xE9, 0xEF, 0x67, 0xD1, 0xDF, 0x30, 0xDE, 0xC4, 0xB9, 0xE9, 0x98, + 0xE5, 0xAD, 0xD3, 0x57, 0xF9, 0xBD, 0x04, 0xED, 0xC8, 0x77, 0x62, 0x4A, 0x95, 0xEF, 0xCA, 0x57, + 0x29, 0x04, 0x9D, 0x3C, 0xD9, 0xF0, 0x82, 0xC0, 0x42, 0x63, 0x93, 0x52, 0xEF, 0xC6, 0xD1, 0x51, + 0x62, 0xCA, 0x42, 0x19, 0xB8, 0x0C, 0x61, 0x00, 0x29, 0xFE, 0x90, 0x11, 0xB2, 0x04, 0x81, 0xAE, + 0x6C, 0xB5, 0xDC, 0x92, 0x38, 0x99, 0xCB, 0xC1, 0xE0, 0x6D, 0x41, 0x30, 0x99, 0x1F, 0xFC, 0xD4, + 0x65, 0xD9, 0x46, 0x7D, 0x9A, 0x28, 0x56, 0x6C, 0x7B, 0x21, 0xA0, 0xCA, 0x4E, 0xB7, 0xEC, 0x11, + 0x76, 0x74, 0xF3, 0x39, 0x40, 0x41, 0xA6, 0x3D, 0x46, 0x91, 0x36, 0x37, 0x4F, 0x0A, 0x7A, 0xE7, + 0xEF, 0x11, 0x14, 0x0B, 0x19, 0x1C, 0x3A, 0xD6, 0x87, 0x6E, 0xE9, 0x77, 0x0B, 0x79, 0x51, 0x26, + 0xEF, 0x21, 0x32, 0x20, 0x7B, 0x9F, 0x1D, 0x94, 0x26, 0x7C, 0x21, 0x72, 0xE8, 0x05, 0x74, 0x60, + 0x02, 0xF0, 0xF9, 0x37, 0x92, 0x3D, 0xD9, 0xD0, 0xA5, 0x5B, 0x9A, 0x87, 0x06, 0x93, 0x5D, 0x67, + 0xB1, 0x75, 0x21, 0x18, 0xB4, 0xF2, 0xD7, 0x46, 0x2B, 0xB3, 0xE2, 0x87, 0x00, 0x12, 0xCB, 0x0F, + 0x1A, 0x36, 0x16, 0x5A, 0xB0, 0xBC, 0xF2, 0x2F, 0x92, 0x75, 0xE5, 0xCE, 0x08, 0xA8, 0x0F, 0x75, + 0x01, 0x12, 0xF7, 0xA8, 0x97, 0x44, 0x66, 0xD6, 0xFB, 0xCC, 0x6B, 0xD1, 0x49, 0x53, 0x71, 0x3B, + 0x15, 0x63, 0x73, 0x6B, 0xCB, 0x04, 0xE4, 0x46, 0x3D, 0xC4, 0x98, 0x11, 0xF9, 0x7C, 0x2F, 0x5B, + 0x40, 0x4C, 0x15, 0x91, 0x4A, 0xDE, 0x9D, 0xCC, 0xF2, 0x9C, 0xEA, 0x22, 0x07, 0xFE, 0xB1, 0x21, + 0x2C, 0xE4, 0x57, 0xE8, 0xB9, 0xAC, 0x32, 0x23, 0xBC, 0x54, 0x22, 0x90, 0xDF, 0x45, 0x28, 0xC5, + 0xB8, 0xC4, 0xBA, 0x0B, 0x0A, 0x0F, 0xB3, 0x28, 0x3C, 0x4B, 0xE7, 0x9D, 0xC2, 0x09, 0x15, 0x3E, + 0x47, 0xAD, 0x78, 0x88, 0xF5, 0x50, 0xB7, 0xB5, 0xB0, 0x92, 0x95, 0x5C, 0xB0, 0xB8, 0x73, 0x5B, + 0xA5, 0x69, 0x43, 0x19, 0x54, 0x61, 0x06, 0xFA, 0x5F, 0x51, 0x75, 0xA7, 0xFC, 0xE5, 0x12, 0xEB, + 0x1C, 0x27, 0xA0, 0x07, 0x50, 0x4F, 0x61, 0x85, 0xF4, 0x03, 0x68, 0xB6, 0xE5, 0x25, 0x82, 0xD1, + 0x9F, 0x9B, 0xA3, 0xF6, 0x29, 0xE9, 0xEF, 0x78, 0xB6, 0x70, 0xC9, 0x55, 0x64, 0xBA, 0xD7, 0x45, + 0x13, 0xFE, 0x7E, 0x61, 0x41, 0xFF, 0xEE, 0xC5, 0xE6, 0xC9, 0x2E, 0xEA, 0x7B, 0x63, 0xBC, 0x2A, + 0x32, 0x81, 0x24, 0x88, 0xA8, 0x20, 0x87, 0x21, 0xA4, 0x84, 0x2A, 0xB1, 0xBC, 0xC5, 0xDC, 0xEF, + 0xC6, 0x78, 0xD7, 0xF1, 0xE4, 0x3A, 0x15, 0x4A, 0x18, 0x9C, 0x67, 0xA3, 0xCE, 0xD6, 0x26, 0x05, + 0x35, 0xC0, 0x52, 0xC0, 0xF1, 0xE0, 0xA2, 0xEA, 0x49, 0x22, 0x50, 0x45, 0x37, 0x7F, 0xDF, 0xC1, + 0xBB, 0xF5, 0xA0, 0xCC, 0x30, 0xEF, 0x9B, 0x3A, 0x96, 0x9A, 0x20, 0xB6, 0xED, 0xAF, 0x7C, 0x82, + 0xF5, 0x90, 0x73, 0x39, 0xB2, 0x56, 0x8F, 0xE2, 0xBB, 0xE0, 0x7C, 0x52, 0x6E, 0xF2, 0x7D, 0xD0, + 0xEF, 0xFE, 0x11, 0x01, 0x9B, 0x77, 0x02, 0x3E, 0x80, 0x43, 0x70, 0x9D, 0xB2, 0x5F, 0xAD, 0xC1, + 0x19, 0xF4, 0x39, 0x4F, 0xA2, 0x71, 0x88, 0x1F, 0xCD, 0x32, 0x03, 0xA8, 0xA3, 0x71, 0xF1, 0x83, + 0x4C, 0x7A, 0x14, 0x67, 0x00, 0x12, 0xCE, 0x15, 0xB1, 0x21, 0xF9, 0xAC, 0x36, 0x61, 0x89, 0x52, + 0x11, 0x79, 0xB7, 0x08, 0xED, 0x3C, 0x6B, 0xA6, 0x01, 0x12, 0x30, 0xA7, 0x15, 0xC2, 0xC4, 0x2A, + 0x7A, 0xA0, 0x8F, 0xA1, 0x5D, 0x0F, 0xDF, 0xEF, 0xD6, 0x71, 0x08, 0xD5, 0x9F, 0x00, 0x97, 0x4A, + 0x06, 0xFC, 0xC9, 0x8A, 0xDD, 0x0E, 0x81, 0x49, 0xEB, 0x0F, 0x41, 0x53, 0x58, 0x22, 0x7C, 0x82, + 0x92, 0xFE, 0x75, 0x19, 0xB5, 0xCA, 0x64, 0x16, 0x58, 0x80, 0xC9, 0x49, 0x5D, 0x5A, 0x51, 0x99, + 0x5D, 0x18, 0xEE, 0xA4, 0x3C, 0xB2, 0xDB, 0x55, 0x70, 0x20, 0x8F, 0x9A, 0xD5, 0x65, 0xAE, 0x99, + 0x0E, 0xF0, 0x6A, 0x74, 0x49, 0x10, 0xBF, 0x7F, 0x54, 0xDD, 0x42, 0x8F, 0x2A, 0x77, 0x58, 0x06, + 0xDF, 0x43, 0xF0, 0xA8, 0x89, 0xD2, 0xFB, 0x11, 0x70, 0xBF, 0x63, 0x45, 0xD8, 0xA2, 0xA5, 0xF5, + 0x81, 0x39, 0xCF, 0xBD, 0x15, 0x83, 0x80, 0x95, 0x8F, 0x90, 0xBA, 0x44, 0xEF, 0x98, 0x23, 0x84, + 0x5C, 0x72, 0xEE, 0xFF, 0x62, 0x33, 0xB4, 0x0A, 0x5C, 0xF0, 0x2E, 0x71, 0xF4, 0x16, 0x3C, 0x0B, + 0xBD, 0x8A, 0xBC, 0x19, 0x85, 0x57, 0xE6, 0x42, 0x41, 0xB5, 0xF8, 0xB3, 0xE5, 0xF0, 0x13, 0xA3, + 0x66, 0x23, 0x18, 0x4D, 0x00, 0xEB, 0xC8, 0x4B, 0x52, 0xED, 0x69, 0x27, 0xC4, 0x65, 0xB9, 0x5F, + 0x82, 0x7B, 0x11, 0xAD, 0x0A, 0x11, 0xA1, 0x3B, 0x87, 0x21, 0x95, 0x43, 0x96, 0x5B, 0x9D, 0xBD, + 0xF5, 0x6D, 0xD6, 0xDE, 0x03, 0x4B, 0xE4, 0x03, 0x2C, 0x3C, 0x23, 0x6D, 0x5D, 0xF3, 0x3D, 0x95, + 0xB7, 0xA3, 0x62, 0x9B, 0x30, 0x4D, 0x95, 0xF2, 0x74, 0x22, 0xDC, 0x81, 0x65, 0x30, 0xB0, 0x14, + 0xFD, 0xCD, 0xEE, 0x62, 0x31, 0x4F, 0xA9, 0x9C, 0x11, 0x07, 0xDF, 0xDE, 0xD7, 0x8C, 0xA4, 0x86, + 0x27, 0xAE, 0xD5, 0xCA, 0x69, 0x8E, 0xE8, 0x48, 0x3A, 0xDA, 0xE2, 0xD4, 0xD4, 0x54, 0x80, 0xCB, + 0x6F, 0x21, 0xD0, 0xD1, 0x30, 0x21, 0x95, 0xD7, 0x45, 0xFB, 0xED, 0xE9, 0xC9, 0x6D, 0x46, 0x95, + 0x41, 0xC6, 0x0E, 0xDA, 0x40, 0x08, 0x07, 0x28, 0x66, 0xDC, 0x82, 0xF5, 0x00, 0x12, 0xB9, 0x3C, + 0xCC, 0x04, 0x8E, 0xDF, 0x2C, 0xBE, 0xB4, 0x59, 0x12, 0xDB, 0x4B, 0x3C, 0xA9, 0xFB, 0xDE, 0xEF, + 0x01, 0x12, 0x40, 0x55, 0x92, 0x5B, 0x72, 0xE2, 0xA4, 0x58, 0xBB, 0xBC, 0x7A, 0x59, 0xF2, 0xC0, + 0x17, 0xE5, 0x0F, 0x5C, 0x6D, 0x6F, 0x03, 0xB4, 0x34, 0xA2, 0xCF, 0xFC, 0x9A, 0xDA, 0x8B, 0x12, + 0x4B, 0x50, 0x82, 0x52, 0x60, 0x25, 0x15, 0x44, 0x13, 0x28, 0x0B, 0xEB, 0xD4, 0xA2, 0x20, 0xD4, + 0x55, 0xAA, 0x0C, 0xF6, 0x4B, 0x40, 0x5E, 0xA2, 0x28, 0xA7, 0x27, 0xEF, 0x6F, 0xD3, 0xC2, 0x7E, + 0xB1, 0xE8, 0x53, 0x5A, 0xEA, 0x0D, 0x56, 0xFC, 0x58, 0xE0, 0xAD, 0x1F, 0x8B, 0xF5, 0xF8, 0x79, + 0x9D, 0xFF, 0x8A, 0x9C, 0x74, 0x9C, 0x50, 0xD1, 0x2A, 0xA4, 0xA3, 0x36, 0xF1, 0xBF, 0xB3, 0x23, + 0x0A, 0xB4, 0x51, 0x80, 0x83, 0x4B, 0xE8, 0x6E, 0x13, 0x93, 0x7B, 0x60, 0x2A, 0x97, 0x60, 0x07, + 0x89, 0xAE, 0x55, 0x7E, 0x53, 0x92, 0x68, 0x3B, 0x7C, 0x40, 0x36, 0xD8, 0x65, 0x03, 0xB3, 0x3F, + 0x21, 0xBF, 0x02, 0x37, 0xDC, 0x28, 0xC0, 0xD4, 0xD7, 0x0C, 0x76, 0xF1, 0x95, 0x86, 0x1A, 0x33, + 0x24, 0x1A, 0xED, 0x44, 0xD5, 0x5D, 0x72, 0x9F, 0x86, 0x44, 0x91, 0xA5, 0xFE, 0x4C, 0x41, 0x07, + 0x4E, 0xD5, 0xB1, 0xFD, 0xAD, 0x6F, 0x4E, 0xB0, 0x0D, 0xB4, 0xD4, 0x4B, 0xA3, 0x12, 0xE4, 0xCD, + 0xB8, 0xA8, 0xC6, 0xE5, 0x26, 0x94, 0x56, 0x39, 0x1C, 0xB9, 0x75, 0x92, 0x2C, 0x74, 0xE1, 0x93, + 0x74, 0xAE, 0x3D, 0xED, 0x88, 0x69, 0xE0, 0xEA, 0x94, 0xDE, 0x5B, 0x4C, 0xEE, 0x87, 0x0C, 0xEE, + 0x53, 0x4C, 0xBD, 0x50, 0x55, 0xEE, 0x60, 0x35, 0xB0, 0xD3, 0x96, 0x92, 0x7D, 0xCE, 0xB3, 0x53, + 0xA3, 0xBF, 0xDE, 0x3D, 0x06, 0x8A, 0xDE, 0xF6, 0x0C, 0x4A, 0xF7, 0x9C, 0xFB, 0x37, 0x45, 0xAC, + 0xB1, 0xAF, 0x61, 0x8F, 0xC9, 0x14, 0xE2, 0xC0, 0x2E, 0x43, 0x35, 0x76, 0x2D, 0x4B, 0xBE, 0xF3, + 0xCC, 0x53, 0x7A, 0xBF, 0x68, 0x51, 0x12, 0x91, 0xA4, 0xA7, 0xF4, 0xEF, 0xBE, 0x34, 0x56, 0x10, + 0xB7, 0x1F, 0x4A, 0x35, 0x00, 0x12, 0xB0, 0xBA, 0x59, 0xC5, 0xCE, 0x6E, 0x34, 0x5D, 0x06, 0xF0, + 0xF1, 0x1D, 0xC6, 0x2F, 0xC7, 0x57, 0x37, 0x8A, 0x01, 0x12, 0x59, 0xF3, 0xF5, 0x88, 0x7D, 0x6E, + 0x64, 0x2E, 0xBE, 0xEC, 0x43, 0x5B, 0x21, 0x63, 0x18, 0x63, 0xCA, 0xD4, 0x03, 0xEB, 0x49, 0x57, + 0xFA, 0xB4, 0x05, 0x66, 0x9F, 0x3A, 0xA0, 0xCE, 0x19, 0xFC, 0xED, 0xD6, 0xD3, 0x20, 0x49, 0x74, + 0x53, 0xBE, 0xC5, 0x6A, 0xD6, 0x93, 0xAC, 0x72, 0x9F, 0xC1, 0xFD, 0xDD, 0xD3, 0x7F, 0x13, 0xBB, + 0x58, 0x81, 0x97, 0x9F, 0x99, 0xA9, 0xE8, 0x96, 0x85, 0x4C, 0xEC, 0x62, 0x5E, 0x4B, 0xAA, 0x8A, + 0x9E, 0x74, 0xAA, 0x3F, 0xB1, 0xBE, 0xB0, 0x57, 0x03, 0x78, 0xCA, 0x98, 0xA0, 0x6B, 0xBD, 0xCB, + 0xD4, 0xB3, 0x77, 0x35, 0xB1, 0x17, 0xAB, 0xE2, 0x60, 0xCB, 0xEC, 0x07, 0x9E, 0xD6, 0xFF, 0x04, + 0x7E, 0x0C, 0xE8, 0x62, 0xC4, 0x39, 0xD1, 0x99, 0xDF, 0x3D, 0xF7, 0x2D, 0x59, 0x1D, 0x5E, 0xB0, + 0x61, 0xC4, 0xF2, 0x41, 0xD9, 0xD1, 0xF6, 0xA2, 0xC9, 0x4D, 0x67, 0x66, 0xA9, 0xD9, 0x95, 0x06, + 0x75, 0xBA, 0xA0, 0xE4, 0x46, 0x41, 0x96, 0xD2, 0x6D, 0xAA, 0x9B, 0xDD, 0x62, 0xB6, 0x9C, 0xA3, + 0xEB, 0xB5, 0x29, 0x4C, 0x75, 0xC3, 0xDC, 0x68, 0x37, 0xF2, 0x4E, 0xD9, 0x55, 0xCA, 0x08, 0x0B, + 0x4C, 0x12, 0xA7, 0x46, 0x99, 0x33, 0x26, 0x06, 0xFF, 0x4C, 0x24, 0xEF, 0xD5, 0xE3, 0xC0, 0x1D, + 0xE0, 0xD8, 0xDF, 0x64, 0xF6, 0xF0, 0x0B, 0x94, 0x53, 0x6B, 0x2B, 0x59, 0x01, 0x2B, 0xB3, 0xF6, + 0x30, 0x5E, 0xC8, 0x1E, 0x38, 0x4C, 0x48, 0x25, 0x4F, 0x0B, 0x1A, 0x96, 0x6C, 0x35, 0x31, 0x16, + 0x0E, 0x6A, 0x77, 0xEE, 0x42, 0xD1, 0xD1, 0x96, 0x88, 0x02, 0xFE, 0x0C, 0xE6, 0xAA, 0xEE, 0xC6, + 0xF3, 0xCA, 0xBE, 0x2D, 0xFF, 0x68, 0x09, 0x4A, 0x7E, 0x4F, 0x35, 0x22, 0x49, 0xB7, 0xB2, 0x16, + 0x42, 0xEB, 0x80, 0x25, 0x08, 0x19, 0xFA, 0x04, 0x26, 0x71, 0x62, 0xD0, 0x53, 0x01, 0x2E, 0x1A, + 0x0A, 0x3F, 0x57, 0xA1, 0xA9, 0x99, 0x17, 0xB4, 0xC9, 0x18, 0x75, 0xFE, 0x00, 0x12, 0xCB, 0x39, + 0xE1, 0xB0, 0xDC, 0x56, 0x4B, 0x8C, 0xC3, 0x22, 0x46, 0x91, 0x12, 0xC8, 0xC2, 0x7A, 0x1A, 0xF0, + 0x01, 0x12, 0x77, 0xA8, 0xC4, 0x22, 0xD3, 0x44, 0x9A, 0x6A, 0x80, 0x48, 0x2C, 0xDF, 0x19, 0xA9, + 0x3B, 0xED, 0x6A, 0xA3, 0x75, 0x71, 0xB2, 0x0A, 0x45, 0x67, 0x02, 0x61, 0xFD, 0x90, 0xEA, 0x0C, + 0x1F, 0x50, 0x89, 0x20, 0x37, 0xF1, 0x84, 0x3C, 0xB2, 0xDF, 0xA2, 0xFD, 0x74, 0xFF, 0x00, 0x86, + 0xD4, 0xB4, 0xE4, 0xE3, 0x9C, 0xAC, 0xC9, 0x45, 0x61, 0xA8, 0xA4, 0x40, 0x06, 0xB2, 0xD3, 0x80, + 0x8B, 0x01, 0xC1, 0x1B, 0x17, 0xA6, 0x91, 0x18, 0x16, 0xAB, 0x8A, 0x03, 0x82, 0xB1, 0x7E, 0x6D, + 0x48, 0xB9, 0x61, 0x94, 0x44, 0x54, 0x19, 0x58, 0x29, 0xF2, 0xE9, 0x99, 0xDA, 0x63, 0xA9, 0x82, + 0x85, 0xCA, 0xED, 0xED, 0x63, 0x6E, 0x34, 0x6B, 0x27, 0x24, 0x6E, 0x7D, 0x71, 0xA3, 0x75, 0x38, + 0x9A, 0xA7, 0x49, 0x3A, 0x2B, 0xB6, 0xE8, 0x37, 0xCB, 0xDB, 0x24, 0xF3, 0x1F, 0x1B, 0x43, 0xDD, + 0x81, 0x42, 0xE3, 0x0F, 0x61, 0xD9, 0xD4, 0x4E, 0xC6, 0x1D, 0x11, 0x93, 0x8F, 0x68, 0xC3, 0x99, + 0xF9, 0xEE, 0x0B, 0xA1, 0xB3, 0xDD, 0x83, 0x95, 0x49, 0xA6, 0xE8, 0x06, 0xE5, 0x26, 0x41, 0xB1, + 0x1C, 0xC9, 0x20, 0xF1, 0x5C, 0xCC, 0x41, 0x17, 0xF9, 0x5D, 0xC1, 0x40, 0x23, 0xED, 0x55, 0x7E, + 0xD5, 0xCC, 0xCD, 0x3C, 0xC1, 0xB9, 0xAC, 0x38, 0x87, 0xB1, 0x56, 0xE2, 0x65, 0x56, 0x7D, 0xE5, + 0x60, 0x78, 0x56, 0xEF, 0xB0, 0x2C, 0xE0, 0x2C, 0x9C, 0x47, 0x00, 0x4C, 0x3E, 0x3F, 0x1A, 0x88, + 0x9B, 0xB5, 0x5B, 0xCE, 0x83, 0xAC, 0x7C, 0xDD, 0xFB, 0x0B, 0x31, 0xF8, 0x6E, 0xED, 0x1B, 0x5B, + 0xE0, 0xAA, 0x5A, 0x38, 0x44, 0x3C, 0xB0, 0xA7, 0xBE, 0xF3, 0x4B, 0xFE, 0x07, 0x1F, 0xBE, 0x3E, + 0x0F, 0x35, 0xD5, 0x50, 0x9B, 0xE2, 0x34, 0x02, 0xF2, 0xBB, 0xD3, 0x75, 0x3B, 0xCA, 0x55, 0xF5, + 0x30, 0xE7, 0xF5, 0x3F, 0xB3, 0xC9, 0x14, 0xF7, 0x2C, 0xB8, 0x75, 0x74, 0x03, 0xFF, 0xE3, 0x3F, + 0xE9, 0x50, 0xF9, 0x11, 0x00, 0x12, 0x73, 0x6D, 0xA8, 0xA1, 0x46, 0xDA, 0xF7, 0x26, 0xE1, 0xFD, + 0x6D, 0xD2, 0xF7, 0x94, 0xA9, 0x1F, 0x23, 0x72, 0x01, 0x12, 0x7F, 0xC2, 0xDA, 0xE4, 0xDE, 0x09, + 0x4D, 0x3C, 0xF4, 0xEC, 0x1D, 0x5B, 0x7F, 0x9B, 0x95, 0x0B, 0x89, 0x4B, 0x0A, 0xD4, 0x10, 0x6F, + 0x5E, 0x09, 0x94, 0xB8, 0xD7, 0x44, 0x8B, 0xFE, 0x6F, 0x1E, 0xF1, 0x11, 0x56, 0xE5, 0xA3, 0x58, + 0x65, 0x79, 0x91, 0xEF, 0x58, 0xFE, 0xAF, 0x58, 0x22, 0x8F, 0x5C, 0xB4, 0x96, 0x75, 0x85, 0xA3, + 0xF1, 0xEF, 0xD9, 0x76, 0x01, 0x31, 0xF2, 0x39, 0xDB, 0xB6, 0x57, 0xC1, 0x86, 0x6F, 0x8E, 0x95, + 0xAB, 0x41, 0xCE, 0x7D, 0x88, 0x2F, 0x50, 0x90, 0x2C, 0x9B, 0x27, 0x46, 0xBA, 0xC4, 0xFC, 0x21, + 0x96, 0xEB, 0x39, 0xAC, 0x41, 0xE3, 0xD2, 0xDF, 0x35, 0x4B, 0x34, 0xDB, 0xBD, 0xF3, 0x9A, 0x23, + 0x07, 0x4A, 0xAB, 0xDE, 0xF9, 0xA3, 0xB1, 0xC5, 0x4F, 0xE2, 0x29, 0xCC, 0x1E, 0x1C, 0x25, 0x54, + 0x59, 0x3D, 0x6A, 0xB4, 0x25, 0x30, 0x4B, 0xEC, 0x9E, 0x79, 0xE4, 0x97, 0x25, 0x6C, 0xDF, 0xB6, + 0x41, 0xCF, 0x61, 0x30, 0x8E, 0x48, 0x0B, 0xD2, 0x21, 0x83, 0x6F, 0x87, 0x1E, 0x09, 0x7E, 0x16, + 0xEC, 0xEA, 0x34, 0xBA, 0x32, 0x4C, 0x84, 0xAA, 0x4F, 0x23, 0x42, 0xD4, 0x9E, 0x85, 0xEF, 0x3D, + 0x22, 0xB0, 0x02, 0xB2, 0x8F, 0x84, 0xEC, 0xC9, 0x43, 0x6A, 0x05, 0x31, 0x1B, 0x7E, 0x3D, 0xE8, + 0xF7, 0x42, 0x14, 0x93, 0xC4, 0xC3, 0x65, 0x8C, 0x94, 0x31, 0xBB, 0x05, 0x9E, 0xE0, 0xBC, 0x28, + 0x4E, 0x10, 0xD6, 0x02, 0x30, 0xDC, 0x79, 0x73, 0x01, 0x69, 0xDE, 0x4A, 0x79, 0x3E, 0x57, 0xC5, + 0xE8, 0xA3, 0x0B, 0x46, 0xDD, 0x24, 0x15, 0xA7, 0x70, 0xBE, 0x13, 0xA9, 0x69, 0x90, 0x9A, 0x17, + 0x24, 0xFD, 0x1C, 0x06, 0xA2, 0xBA, 0x21, 0xB3, 0x07, 0x77, 0x5C, 0x27, 0x62, 0xAE, 0x04, 0x00, + 0x1F, 0xBC, 0x8F, 0xA1, 0x35, 0x29, 0xA6, 0x41, 0x47, 0x52, 0x34, 0xBD, 0xFD, 0x85, 0x28, 0x42, + 0x1C, 0x0B, 0xC6, 0x60, 0x23, 0x06, 0xB4, 0x2C, 0x2F, 0x91, 0xFB, 0x6E, 0x00, 0x12, 0xE4, 0xC8, + 0xB3, 0xED, 0x01, 0xED, 0x82, 0x00, 0x50, 0x2E, 0x5E, 0x85, 0xD3, 0xE7, 0x9A, 0xE9, 0xD9, 0xC9, + 0x01, 0x12, 0xF3, 0xDF, 0x4A, 0xBC, 0xFC, 0x9B, 0x58, 0xC4, 0xC7, 0x1A, 0x2E, 0xE3, 0xB2, 0xCA, + 0x31, 0xEF, 0x24, 0xFB, 0xFB, 0x62, 0x2C, 0x7E, 0xE7, 0x14, 0x64, 0x53, 0x03, 0x72, 0x63, 0xC9, + 0x26, 0x42, 0x73, 0xA9, 0xCD, 0x59, 0x15, 0x82, 0x08, 0x62, 0xAA, 0xAD, 0xAB, 0x4D, 0x3A, 0xAD, + 0x3D, 0x6F, 0x4A, 0xEF, 0x4F, 0xB9, 0xC5, 0xFD, 0x29, 0x2C, 0xD8, 0x24, 0xB4, 0xC6, 0xDE, 0x99, + 0xEC, 0xE7, 0x45, 0x1A, 0xF4, 0x5F, 0x85, 0x35, 0x3A, 0x56, 0xF9, 0xD3, 0x2C, 0xF1, 0x7E, 0x10, + 0x8E, 0xB9, 0x58, 0x52, 0xFF, 0x76, 0xDF, 0x26, 0xEE, 0xBE, 0xB5, 0xAF, 0xC8, 0xBC, 0x37, 0xB4, + 0xEA, 0xD3, 0x47, 0x57, 0x43, 0x3F, 0xA4, 0x3A, 0x30, 0xC1, 0x51, 0x6C, 0x16, 0x57, 0xF2, 0xB2, + 0x98, 0x7F, 0x9B, 0x6C, 0x09, 0x46, 0xBB, 0x38, 0xC6, 0xC3, 0x14, 0x4E, 0x9A, 0x1C, 0x31, 0x0F, + 0xC0, 0x52, 0x59, 0x28, 0x8B, 0xC5, 0x25, 0x14, 0x5F, 0xDC, 0x8C, 0xF4, 0x2E, 0x33, 0xAC, 0xB6, + 0x62, 0x7E, 0x56, 0x8A, 0x13, 0x26, 0x31, 0x92, 0xF8, 0x9F, 0x93, 0xB0, 0x2C, 0xE2, 0xC2, 0xCF, + 0x43, 0x4E, 0xD0, 0xD4, 0xE4, 0xAB, 0xD3, 0x60, 0x56, 0x30, 0x10, 0x63, 0x9A, 0x83, 0xEA, 0xEF, + 0x38, 0xA4, 0x55, 0x47, 0x06, 0x24, 0xE2, 0x2F, 0x65, 0x94, 0x59, 0x4D, 0x96, 0xD8, 0x64, 0x16, + 0xE2, 0x27, 0xE9, 0x32, 0x7D, 0xE1, 0x23, 0x3B, 0x4D, 0xB9, 0xF0, 0x2D, 0xD2, 0x57, 0x9B, 0x7B, + 0xB0, 0xD7, 0xA9, 0xC7, 0xD8, 0xBB, 0x5E, 0xE6, 0x98, 0x04, 0xF2, 0x5C, 0xB9, 0x25, 0xE2, 0xC8, + 0x25, 0x4A, 0x38, 0x74, 0x5C, 0xB2, 0xF6, 0xD0, 0x24, 0xA6, 0xD2, 0xB2, 0xB0, 0xE9, 0x34, 0xFA, + 0x18, 0xB1, 0xDB, 0x1C, 0xE0, 0x77, 0x5C, 0xD3, 0xC0, 0xCC, 0x89, 0xE3, 0x34, 0x06, 0x15, 0xEF, + 0x58, 0xC8, 0x5D, 0xAC, 0xF9, 0x35, 0xAA, 0x4B, 0x5D, 0x90, 0x8F, 0x78, 0xCD, 0x10, 0xAE, 0x96, + 0x5B, 0x9C, 0x8A, 0x31, 0x00, 0x12, 0xED, 0x5C, 0x9E, 0x4B, 0xD0, 0x1C, 0xED, 0xBE, 0xD4, 0xD0, + 0x75, 0xB8, 0x5A, 0x42, 0xB2, 0xDD, 0xBD, 0xCB, 0x01, 0x12, 0x15, 0x22, 0xA9, 0xFD, 0x49, 0x2D, + 0x90, 0xDE, 0x97, 0xD9, 0x23, 0xBD, 0x2C, 0x01, 0x2D, 0x28, 0x4E, 0xFD, 0x66, 0x64, 0x67, 0x0E, + 0x57, 0x33, 0x78, 0xAA, 0x36, 0xB9, 0x09, 0xC4, 0x14, 0x6D, 0xDB, 0x7B, 0x96, 0x1F, 0x95, 0x3D, + 0x7D, 0x89, 0x0F, 0x8A, 0xD5, 0x6D, 0xA6, 0xF5, 0x3B, 0x2F, 0xFD, 0x60, 0x9E, 0xBC, 0x8C, 0x0E, + 0xD1, 0x9C, 0xDE, 0xFB, 0xA3, 0x43, 0x9F, 0xB6, 0x2D, 0x01, 0xBB, 0x8F, 0x86, 0xA7, 0x89, 0x51, + 0x11, 0x66, 0x9B, 0xED, 0x4F, 0x08, 0x36, 0x7E, 0x3E, 0x32, 0xBD, 0xAF, 0x38, 0xF4, 0xFC, 0xC1, + 0xAA, 0xBE, 0xC5, 0x4F, 0x97, 0xE4, 0xB4, 0xEC, 0x32, 0xD0, 0x55, 0x74, 0xA9, 0x0D, 0xE2, 0xFA, + 0xDA, 0x2F, 0x96, 0x9D, 0x90, 0x40, 0x67, 0x6B, 0x1D, 0x52, 0xFA, 0xAB, 0x63, 0xA1, 0xEC, 0x22, + 0x45, 0xBF, 0x5F, 0x90, 0xE4, 0xF9, 0xA7, 0x4A, 0x43, 0xB7, 0xDF, 0xF1, 0x79, 0xDF, 0xD0, 0xCB, + 0x8F, 0x89, 0xEF, 0x4E, 0xE5, 0x07, 0xBA, 0x4C, 0x82, 0xE7, 0xF8, 0xCC, 0x46, 0x02, 0x8B, 0x95, + 0x1D, 0x7C, 0x65, 0x95, 0x40, 0xDF, 0x76, 0xC5, 0x9F, 0x16, 0xCE, 0x32, 0x61, 0xE7, 0xA2, 0xEA, + 0xB3, 0x08, 0xDE, 0x59, 0x39, 0x9C, 0xB2, 0x2D, 0xE8, 0xD3, 0x5A, 0x51, 0x09, 0x67, 0x16, 0xA4, + 0xB1, 0xD1, 0x8F, 0x80, 0x30, 0x99, 0x44, 0x4F, 0x97, 0xB6, 0xEF, 0xF0, 0x26, 0xAB, 0x43, 0x11, + 0xC3, 0x17, 0xE0, 0x71, 0xAB, 0x0B, 0xAC, 0xA8, 0x44, 0x7D, 0xC6, 0xE5, 0x3A, 0x4D, 0x08, 0x83, + 0x54, 0xD3, 0x00, 0x22, 0xBE, 0x36, 0xB5, 0x0D, 0x59, 0x82, 0x0D, 0x93, 0xD7, 0x25, 0x41, 0x7C, + 0x4F, 0xA2, 0xAB, 0xB3, 0xAD, 0xD4, 0x34, 0xF3, 0xDB, 0xC0, 0xCF, 0x2C, 0xD0, 0x84, 0xBA, 0x76, + 0xB9, 0xB8, 0x25, 0x9B, 0x22, 0x12, 0x8A, 0x8E, 0xC2, 0x08, 0x1E, 0x94, 0xC7, 0x96, 0xD3, 0xE0, + 0xBF, 0x9D, 0xE1, 0xDA, 0xC2, 0x1E, 0x39, 0x23, 0xC7, 0x41, 0x58, 0x8B, 0x00, 0x12, 0x22, 0x5D, + 0x8C, 0x78, 0x58, 0x5E, 0x6F, 0xEB, 0xA7, 0x91, 0x27, 0xE4, 0xE0, 0x69, 0xB6, 0x4E, 0xA5, 0x93, + 0x01, 0x12, 0x59, 0x17, 0xDE, 0x4E, 0xF5, 0xA6, 0x7F, 0xA1, 0xBE, 0xD9, 0xCD, 0x41, 0xFF, 0xF2, + 0x88, 0xCB, 0x83, 0xD1, 0x9C, 0x84, 0x28, 0x3A, 0x36, 0xB1, 0x6F, 0xF9, 0x9A, 0xA8, 0x99, 0x98, + 0xF1, 0x5B, 0xAD, 0xBE, 0xBA, 0x95, 0x17, 0x1E, 0x60, 0x46, 0x18, 0x38, 0x61, 0x9E, 0x17, 0xC0, + 0xCF, 0x0D, 0x9B, 0x2A, 0xF5, 0x37, 0x93, 0x83, 0x7C, 0x83, 0xC7, 0xDC, 0x7F, 0xBB, 0x5A, 0xA0, + 0xB8, 0xA2, 0xEE, 0xD3, 0x3E, 0x0E, 0x58, 0xA7, 0x4B, 0x87, 0x1E, 0xCD, 0x52, 0xEE, 0x0E, 0x80, + 0xFE, 0x57, 0xDA, 0xEB, 0xB3, 0x04, 0x88, 0x1D, 0x83, 0xB5, 0xAF, 0x34, 0xC1, 0xA8, 0x8C, 0x72, + 0x41, 0x83, 0x07, 0x5A, 0x51, 0x74, 0x39, 0x60, 0x34, 0x26, 0x74, 0x31, 0x6D, 0xF5, 0x68, 0x63, + 0x5D, 0x82, 0x6E, 0x7B, 0x91, 0x5E, 0x94, 0xBD, 0x5B, 0x9A, 0xCB, 0x76, 0x21, 0x7D, 0x6D, 0x69, + 0x80, 0x6A, 0x8A, 0xEA, 0x3A, 0x86, 0xD3, 0xCB, 0x21, 0x8B, 0x3A, 0x38, 0x1C, 0x9A, 0x71, 0xBF, + 0x1D, 0x4C, 0x18, 0xD6, 0x9A, 0x4B, 0x8A, 0x01, 0x8D, 0x5B, 0xD2, 0xD2, 0xC5, 0x83, 0x39, 0x55, + 0x4B, 0x24, 0x56, 0xDD, 0x9F, 0xA2, 0x88, 0x8B, 0x53, 0xC2, 0x85, 0xAD, 0xB1, 0xA5, 0x5E, 0xFA, + 0xA8, 0x25, 0x34, 0x42, 0x98, 0xF4, 0xA2, 0xE9, 0x5B, 0x1F, 0x2A, 0x57, 0x59, 0x5C, 0xB1, 0xFC, + 0x0C, 0x2D, 0x1D, 0x64, 0xBA, 0x49, 0xDD, 0xC7, 0x68, 0xE1, 0x38, 0x80, 0x93, 0x9B, 0x3D, 0xAF, + 0x65, 0x8E, 0x92, 0x8B, 0xF3, 0x95, 0xF0, 0x6C, 0xBA, 0xD3, 0xBC, 0x01, 0x00, 0xE7, 0xC2, 0x79, + 0xF5, 0x43, 0xD3, 0x73, 0x0C, 0xA7, 0xDD, 0x1E, 0x85, 0xED, 0xCB, 0xB8, 0xE1, 0xF6, 0x8F, 0x44, + 0x28, 0x54, 0x42, 0x17, 0x09, 0xD1, 0x6C, 0x6C, 0x5A, 0xAF, 0x6E, 0xFB, 0xD0, 0xCD, 0xCA, 0x7C, + 0xDF, 0x28, 0xCC, 0x8C, 0x87, 0x31, 0x38, 0xC5, 0xAA, 0x45, 0xC7, 0x7E, 0x07, 0x6A, 0xA7, 0xC2, + 0xC7, 0x92, 0x4E, 0x63, 0x00, 0x12, 0x46, 0x77, 0x92, 0x1F, 0x1E, 0xFA, 0x38, 0x0B, 0x81, 0x8B, + 0x3F, 0x8C, 0x4D, 0xA7, 0x36, 0xE7, 0xE4, 0xCE, 0x01, 0x12, 0xE4, 0xEF, 0x12, 0xA6, 0x78, 0x68, + 0x3A, 0xE6, 0x5A, 0x3F, 0x71, 0x12, 0x82, 0x42, 0xAA, 0x29, 0x5A, 0xC5, 0x9D, 0x74, 0xD3, 0xA9, + 0xAF, 0x6F, 0xF4, 0xB5, 0x54, 0xDB, 0x7A, 0xD4, 0x6C, 0x68, 0xCE, 0x2E, 0x3A, 0x01, 0x5E, 0x17, + 0x55, 0x1A, 0xF3, 0x4F, 0xDF, 0xE2, 0x49, 0x39, 0x70, 0x74, 0xC4, 0xE8, 0x17, 0xDE, 0xA9, 0xEF, + 0xDE, 0x0D, 0x83, 0x48, 0xC9, 0x5C, 0xF1, 0x53, 0xB2, 0xD8, 0xE9, 0x2A, 0xCB, 0xD1, 0xEA, 0xBA, + 0x9E, 0x3A, 0xBA, 0x28, 0xBE, 0x93, 0xD9, 0x91, 0x5D, 0x19, 0x4E, 0xF6, 0x22, 0x05, 0xC8, 0x71, + 0x47, 0xBD, 0xC4, 0xF8, 0xB5, 0x2E, 0x91, 0x58, 0x02, 0x12, 0x94, 0xB2, 0x7E, 0xD1, 0x87, 0xC6, + 0x43, 0x73, 0x9A, 0x2E, 0xE2, 0x78, 0x19, 0x87, 0x2F, 0xB8, 0x84, 0xA8, 0x1E, 0xC3, 0xAB, 0x94, + 0x38, 0xBA, 0x04, 0x79, 0x60, 0x1C, 0xFC, 0x94, 0x71, 0x9C, 0x22, 0x7A, 0x7A, 0xD1, 0x0F, 0x0F, + 0x97, 0x5F, 0x1C, 0x97, 0xED, 0xD2, 0xCB, 0x7D, 0x4C, 0xA8, 0x86, 0x8D, 0x8F, 0xE6, 0x92, 0x8A, + 0x13, 0x06, 0x2F, 0x96, 0xA0, 0x80, 0x84, 0xAC, 0xD2, 0xFF, 0x1F, 0xDF, 0xE2, 0xE8, 0x29, 0x13, + 0xE3, 0x21, 0xF7, 0xEB, 0xDB, 0xE6, 0xF9, 0x5E, 0xC6, 0x09, 0x2D, 0x82, 0xD2, 0x8C, 0x15, 0xB2, + 0x65, 0xD8, 0x4E, 0xA9, 0xB7, 0x16, 0x24, 0x6E, 0x60, 0x69, 0xB2, 0x16, 0x60, 0xB6, 0x7B, 0x2C, + 0xC2, 0x79, 0x82, 0x59, 0x8C, 0xCC, 0x15, 0x79, 0xD2, 0x63, 0x2C, 0x43, 0x62, 0x61, 0x95, 0xDC, + 0x80, 0x30, 0x83, 0x41, 0xF3, 0x18, 0x37, 0xD1, 0xB1, 0x5C, 0x09, 0x14, 0x28, 0x3E, 0x13, 0x65, + 0xD6, 0x95, 0xF4, 0xC5, 0xCD, 0xB4, 0x32, 0xF0, 0x45, 0xA7, 0x29, 0x0E, 0x0D, 0x78, 0xE5, 0x0D, + 0xF2, 0x68, 0x5F, 0x3E, 0x30, 0x12, 0xF1, 0x5C, 0xF6, 0xE2, 0x94, 0xA9, 0x8F, 0x96, 0xB3, 0x9F, + 0x92, 0x0B, 0xFD, 0x54, 0x34, 0x6A, 0x6D, 0x02, 0x98, 0xCB, 0xA4, 0xBE, 0x00, 0x12, 0xF8, 0x4B, + 0x2F, 0xB5, 0x69, 0x21, 0x9D, 0xD6, 0xE3, 0x87, 0x55, 0xC4, 0x11, 0x1B, 0x29, 0x00, 0xC5, 0x47, + 0x01, 0x12, 0xB2, 0xBE, 0xF2, 0x87, 0xA5, 0x33, 0x70, 0xAA, 0x7A, 0x3C, 0xBC, 0xE7, 0x0F, 0xD8, + 0xFE, 0x28, 0xDF, 0x83, 0x29, 0x29, 0x3B, 0x0A, 0x8B, 0x45, 0x20, 0x46, 0x5F, 0x36, 0x80, 0xF0, + 0xD1, 0x64, 0xA1, 0x89, 0x15, 0x6A, 0xEC, 0xEA, 0x0C, 0xD4, 0x26, 0xCD, 0xBF, 0x76, 0x1A, 0x7C, + 0x0C, 0x0F, 0x03, 0xD0, 0x44, 0x0C, 0xBD, 0x4E, 0x4E, 0x4F, 0xFA, 0x1D, 0xD6, 0xF6, 0x45, 0xC7, + 0xCA, 0x31, 0xEE, 0x1E, 0xA7, 0x58, 0x1B, 0x5D, 0x5D, 0x35, 0xEA, 0x87, 0x3E, 0xF2, 0x66, 0x9A, + 0x8B, 0xBD, 0x00, 0x08, 0xA6, 0x1C, 0x4C, 0x12, 0xAA, 0x2A, 0x1A, 0xAA, 0x8E, 0x84, 0x84, 0xC5, + 0xFF, 0xD5, 0xB2, 0xD8, 0x22, 0x5A, 0x70, 0x72, 0xD0, 0xAE, 0xFF, 0x8D, 0x10, 0x5E, 0xEF, 0x72, + 0xB3, 0x43, 0x3C, 0xB8, 0x17, 0xB1, 0x59, 0x12, 0x7C, 0x29, 0xAF, 0x1B, 0x93, 0x3B, 0x1B, 0x28, + 0xEB, 0x93, 0x2D, 0x8C, 0x0E, 0x4D, 0xE3, 0x07, 0xFE, 0x83, 0xB9, 0x0C, 0xBC, 0x77, 0xCB, 0xA1, + 0x09, 0xE3, 0x6C, 0x26, 0x1A, 0x5E, 0xEB, 0xF0, 0x82, 0xD9, 0x61, 0xDE, 0xAC, 0xDC, 0xA3, 0x6A, + 0x38, 0xC6, 0xC2, 0xE8, 0x6B, 0x9B, 0xCA, 0xD7, 0x5F, 0x1A, 0x3E, 0x7F, 0x8C, 0xB4, 0x9A, 0xDF, + 0xDA, 0x50, 0x81, 0x70, 0x36, 0xB6, 0x63, 0xDD, 0xC4, 0xCB, 0x6D, 0xF9, 0xE1, 0x19, 0x95, 0x72, + 0x55, 0x28, 0x3A, 0xB8, 0x06, 0xFF, 0xF1, 0x29, 0x42, 0xAA, 0x63, 0xD3, 0xF0, 0x28, 0x59, 0x78, + 0x9E, 0xA3, 0x53, 0x0C, 0x36, 0xF7, 0x16, 0x1F, 0x26, 0x10, 0x5A, 0x62, 0x95, 0xCB, 0x9A, 0x84, + 0x64, 0xE0, 0x4A, 0x6E, 0x67, 0xBB, 0xDF, 0xD0, 0x8B, 0x08, 0x81, 0x0C, 0xB9, 0x9A, 0xB2, 0xB3, + 0x0A, 0x8C, 0xBD, 0x3F, 0xDB, 0x99, 0x34, 0xD5, 0x76, 0x47, 0x2E, 0xD0, 0x8A, 0x17, 0x40, 0xD6, + 0x66, 0x30, 0xAF, 0xDC, 0xB8, 0x9E, 0x28, 0x05, 0x5B, 0xE1, 0x5C, 0x62, 0x0D, 0xB4, 0x5D, 0xE6, + 0x20, 0xCE, 0x49, 0x3F, 0x00, 0x12, 0xE2, 0x88, 0xFE, 0xA7, 0xCD, 0x1A, 0xC0, 0xE0, 0x45, 0x07, + 0xF9, 0x57, 0x87, 0xB4, 0x8F, 0x66, 0x18, 0x97, 0x01, 0x12, 0x07, 0x81, 0x4D, 0xD5, 0x3D, 0x86, + 0x99, 0x8C, 0x95, 0xDE, 0xA8, 0x8C, 0x87, 0x90, 0x99, 0x7B, 0x58, 0x08, 0x48, 0xDF, 0x05, 0x43, + 0x69, 0x93, 0xF8, 0x69, 0xBD, 0x01, 0xBA, 0x02, 0x3B, 0xD2, 0xDD, 0x11, 0x0C, 0x71, 0x4F, 0x8D, + 0xA8, 0xCE, 0x1E, 0x38, 0x7F, 0xF1, 0x70, 0x59, 0xE1, 0xF3, 0xDE, 0xF0, 0xD5, 0x9B, 0x21, 0xD5, + 0xA4, 0x5E, 0xA3, 0xFB, 0xA1, 0xCF, 0xA4, 0xA5, 0x1A, 0xB7, 0xE1, 0x3D, 0x8F, 0xBA, 0x04, 0x43, + 0x46, 0x69, 0x75, 0xA9, 0xA7, 0xC3, 0xE9, 0x4A, 0x5E, 0x9B, 0x92, 0xAE, 0x80, 0x36, 0x6A, 0x91, + 0x34, 0xE4, 0x6A, 0x1C, 0xF9, 0x98, 0x34, 0x12, 0xD0, 0xA7, 0xA6, 0xA7, 0x37, 0x6D, 0x1F, 0xCE, + 0x91, 0xBC, 0x22, 0xC7, 0x4F, 0x87, 0xA8, 0x52, 0x09, 0x28, 0x34, 0x15, 0xCC, 0xBF, 0xBF, 0xE1, + 0xD4, 0xF2, 0x43, 0xF3, 0x30, 0x5A, 0xEF, 0x9C, 0x01, 0x22, 0x8C, 0x88, 0xC6, 0x83, 0xB7, 0x3D, + 0xAE, 0xF4, 0x1F, 0xF5, 0x73, 0x6A, 0x9F, 0x3F, 0x73, 0x10, 0xCB, 0xE3, 0xCF, 0x2D, 0x22, 0x6A, + 0xB8, 0x83, 0x68, 0x43, 0x60, 0x84, 0x5F, 0x08, 0x92, 0x1E, 0xA2, 0xAE, 0xDA, 0x7F, 0xD4, 0x87, + 0x86, 0x7B, 0xB3, 0xA9, 0xB2, 0xF8, 0x2E, 0xA0, 0x45, 0xB1, 0x19, 0x0A, 0x5C, 0x2A, 0x62, 0xD2, + 0x39, 0xFA, 0x84, 0xE7, 0xAD, 0xF0, 0xF1, 0x77, 0x57, 0xCF, 0xB6, 0x63, 0xA0, 0x7A, 0x0A, 0x50, + 0xBD, 0xF5, 0x9B, 0x0D, 0xF8, 0x9C, 0xF4, 0x61, 0x40, 0x31, 0xF1, 0x68, 0x61, 0x9F, 0x46, 0xF0, + 0x67, 0x0A, 0x82, 0xBA, 0x3A, 0x43, 0xDC, 0x22, 0x12, 0xC6, 0xEB, 0x16, 0xC2, 0x16, 0xCE, 0xA0, + 0x25, 0x56, 0x89, 0xCB, 0x7A, 0xD1, 0x9A, 0x3D, 0xEC, 0x77, 0x88, 0x3C, 0xDE, 0xA4, 0xBD, 0xE2, + 0xAE, 0xAA, 0xFD, 0x3E, 0xBC, 0xE0, 0x05, 0x97, 0x82, 0x18, 0xA2, 0x9D, 0xC0, 0xB0, 0x67, 0x12, + 0x37, 0xFC, 0xE4, 0x83, 0x2C, 0x13, 0x6A, 0x31, 0xCF, 0x56, 0x48, 0x30, 0x00, 0x12, 0xEC, 0x46, + 0xAE, 0x9B, 0x49, 0x7E, 0xE3, 0x26, 0x8F, 0x2A, 0xBF, 0x0B, 0x82, 0x8A, 0x4E, 0x6B, 0xE1, 0x10, + 0x01, 0x12, 0xB0, 0x8A, 0xE4, 0x17, 0x01, 0x30, 0x8E, 0x35, 0x1A, 0xAA, 0x9A, 0xE5, 0x5F, 0x6D, + 0xE5, 0xFD, 0x9D, 0x24, 0x6D, 0xF0, 0xCD, 0x22, 0xB6, 0x7A, 0xE7, 0x3A, 0x5B, 0xE0, 0xEF, 0x39, + 0x17, 0x2E, 0xE6, 0xE1, 0xA6, 0xAB, 0x47, 0x2C, 0x86, 0xC5, 0x07, 0xEB, 0xE7, 0x45, 0x3D, 0xE3, + 0xF1, 0x18, 0x29, 0x5C, 0xED, 0x7C, 0x6E, 0xE8, 0xE8, 0xEE, 0xC6, 0x16, 0x8A, 0x76, 0x49, 0xCD, + 0xB9, 0x28, 0xA6, 0xDB, 0x9C, 0x6D, 0x6F, 0x85, 0x96, 0x4F, 0xA8, 0x9F, 0x81, 0xEB, 0xC3, 0xAE, + 0x25, 0x44, 0x71, 0x0A, 0x0D, 0x35, 0x75, 0xD1, 0x2A, 0x8E, 0xE5, 0x4D, 0xE4, 0xA2, 0xA0, 0x1E, + 0xA9, 0xBA, 0x6E, 0x46, 0x7D, 0x7C, 0xD1, 0x7D, 0xB2, 0x55, 0x1E, 0x44, 0x72, 0x38, 0x58, 0x65, + 0x3E, 0x56, 0xF7, 0x9D, 0xD5, 0x2D, 0x24, 0xE7, 0x2D, 0x97, 0xD5, 0x9A, 0x70, 0xE6, 0x73, 0xB0, + 0x13, 0x84, 0xA9, 0x26, 0x6E, 0x79, 0x80, 0xA9, 0x66, 0xD2, 0x7D, 0x2E, 0x31, 0xB0, 0xF2, 0x67, + 0x30, 0x4B, 0x90, 0xF5, 0x1F, 0x9A, 0x0F, 0x08, 0x2A, 0xC5, 0x2E, 0x6B, 0xA8, 0x7F, 0x4A, 0x56, + 0xE2, 0x6F, 0x61, 0xC5, 0x5D, 0x1F, 0x42, 0x9C, 0x70, 0x5A, 0x61, 0x4A, 0x2B, 0x9C, 0x25, 0x4A, + 0x38, 0x69, 0x46, 0xF7, 0xC3, 0xA8, 0xBB, 0xA9, 0x0F, 0xEB, 0x57, 0x44, 0xDB, 0x64, 0xFA, 0x06, + 0x0F, 0xDC, 0xA4, 0xF9, 0x81, 0x1C, 0x3A, 0x9D, 0xE9, 0x88, 0x67, 0x11, 0xDE, 0x6D, 0x25, 0x35, + 0x6A, 0x8E, 0x47, 0x13, 0x1A, 0x80, 0x4A, 0xDC, 0x2D, 0xEF, 0x4F, 0x0D, 0x10, 0x50, 0x88, 0xD3, + 0x9B, 0xC8, 0x1C, 0xFD, 0x14, 0x6C, 0x46, 0x9D, 0xC4, 0xDB, 0x74, 0xF0, 0xE0, 0x51, 0x87, 0x7E, + 0x79, 0x5D, 0x46, 0xF8, 0x97, 0xD3, 0xF8, 0x31, 0xE6, 0x1B, 0x70, 0xD6, 0x74, 0x0C, 0x98, 0x7F, + 0xB7, 0xFB, 0x84, 0xB9, 0x88, 0x8F, 0x4A, 0xF4, 0xB1, 0x4B, 0xF1, 0xDF, 0x5B, 0x9E, 0xD8, 0x8D, + 0xEC, 0xBF, 0x52, 0x8F, 0x00, 0x12, 0x3F, 0x39, 0xB6, 0xCA, 0x0F, 0x1E, 0x37, 0x48, 0x57, 0x13, + 0x6E, 0xA7, 0x06, 0xD9, 0x84, 0x43, 0x0B, 0x54, 0x01, 0x12, 0x54, 0xEE, 0xEB, 0xE2, 0xAE, 0xFE, + 0x96, 0x6F, 0xE0, 0x22, 0xB7, 0x05, 0x78, 0x85, 0xD0, 0x2D, 0x6B, 0x01, 0x44, 0xA7, 0x24, 0x99, + 0x48, 0x22, 0x24, 0x22, 0x54, 0x7D, 0xF8, 0x0C, 0x80, 0xBE, 0x51, 0x12, 0x9A, 0x8F, 0x52, 0xAC, + 0x4E, 0xAC, 0xAA, 0x87, 0xB3, 0x08, 0xEF, 0x08, 0x5B, 0xF3, 0x12, 0xB8, 0xE0, 0xE3, 0xBB, 0x2B, + 0x13, 0x6A, 0x0E, 0x96, 0x85, 0xD6, 0x30, 0x21, 0x97, 0xEF, 0x6B, 0x75, 0x28, 0x2B, 0x49, 0xFF, + 0xA0, 0x6F, 0xD4, 0x01, 0xBE, 0x78, 0xAC, 0xBA, 0x76, 0xCA, 0x2F, 0xB8, 0x96, 0x03, 0xA1, 0x30, + 0x48, 0xE3, 0x14, 0x20, 0x64, 0x1B, 0xDF, 0xA1, 0x3D, 0x0C, 0xD5, 0x11, 0xEE, 0x19, 0x1D, 0x49, + 0xC3, 0x73, 0xEF, 0xB2, 0xCA, 0x37, 0xEB, 0xDF, 0x62, 0x68, 0xDA, 0x15, 0x4A, 0xD6, 0x89, 0x5B, + 0xA6, 0x08, 0x51, 0x35, 0xA2, 0xCA, 0x9E, 0x9D, 0x02, 0x41, 0x02, 0xBE, 0x04, 0x9E, 0x90, 0x7D, + 0xA0, 0xAD, 0xC9, 0x89, 0xE7, 0x25, 0x5D, 0x83, 0xCC, 0x05, 0x7E, 0x26, 0xBC, 0x42, 0x4A, 0xC4, + 0x52, 0xED, 0xC2, 0xF1, 0xB0, 0xC4, 0x4F, 0xAD, 0xDF, 0x78, 0x6F, 0x17, 0x22, 0x83, 0x5F, 0xAB, + 0x61, 0x25, 0x92, 0xCF, 0xDD, 0xDA, 0xF2, 0x69, 0xBD, 0xAF, 0x8D, 0xEB, 0xE1, 0x21, 0xEF, 0xE8, + 0xB3, 0x05, 0x92, 0x37, 0xCF, 0x98, 0x75, 0xE2, 0xE0, 0x53, 0x4C, 0x5A, 0xEE, 0x1B, 0xC4, 0x80, + 0x5C, 0x54, 0xF9, 0x4F, 0x06, 0xC1, 0x04, 0x41, 0x33, 0xEA, 0x38, 0x8E, 0x8A, 0x41, 0x8F, 0x2B, + 0xDA, 0x58, 0xD0, 0x61, 0xA3, 0x9F, 0xED, 0x23, 0xCC, 0xBA, 0xC5, 0x1F, 0x31, 0x45, 0xA9, 0x79, + 0xF8, 0xD0, 0xDB, 0x00, 0x84, 0x50, 0xFF, 0x5C, 0x57, 0x6E, 0x3E, 0xFF, 0x56, 0x07, 0xE4, 0x37, + 0x4D, 0x8B, 0xBE, 0x18, 0x05, 0x9B, 0xD3, 0xEB, 0x04, 0xE6, 0x2B, 0xBB, 0xFA, 0xFD, 0xAC, 0x07, + 0xCB, 0xA1, 0x47, 0xD0, 0x29, 0x16, 0xF9, 0x45, 0x0D, 0x6E, 0xA6, 0x4C, 0x00, 0x12, 0x5E, 0x1F, + 0xE2, 0x29, 0x70, 0xEA, 0x20, 0x04, 0x3A, 0x47, 0x5F, 0x7D, 0x80, 0x7E, 0xD5, 0xC9, 0x3A, 0x5D, + 0x01, 0x12, 0x66, 0x6E, 0x3E, 0x6F, 0x43, 0x31, 0xFC, 0x38, 0xA8, 0x75, 0x7D, 0x99, 0x5A, 0xEF, + 0xB7, 0x9B, 0x90, 0x44, 0x8D, 0x38, 0xAB, 0xE7, 0xA7, 0xC6, 0x04, 0xAB, 0x11, 0x92, 0x07, 0x63, + 0x3D, 0xF7, 0x20, 0xFF, 0xFF, 0xBD, 0x20, 0xD0, 0xF5, 0x91, 0xBF, 0x3A, 0x47, 0x48, 0xA9, 0xB9, + 0x8F, 0x02, 0x7B, 0xB5, 0x5F, 0xE5, 0x1C, 0x45, 0x84, 0x23, 0x2A, 0x1B, 0xCE, 0x87, 0x2F, 0x04, + 0xE8, 0x3C, 0x98, 0xAC, 0xCB, 0xD8, 0xA3, 0xF1, 0x52, 0xA3, 0xD4, 0x2F, 0xA1, 0x5A, 0x84, 0xD2, + 0xB7, 0xD4, 0x7D, 0x99, 0x1E, 0x43, 0xC3, 0x78, 0x91, 0xD7, 0x25, 0x3A, 0x04, 0x96, 0xB6, 0x7D, + 0x5B, 0xDB, 0x12, 0x88, 0x30, 0x40, 0x3F, 0x8D, 0xB3, 0x41, 0x9E, 0x7C, 0x76, 0x81, 0xD1, 0x51, + 0xBC, 0x7C, 0xC6, 0x37, 0x26, 0x6C, 0x28, 0x2A, 0x37, 0xCB, 0xB0, 0x90, 0xD0, 0x96, 0xD9, 0x7E, + 0xDF, 0xEC, 0x19, 0x33, 0x70, 0x8F, 0xCC, 0x8E, 0x16, 0x64, 0xAB, 0xC3, 0x4E, 0xF0, 0x2C, 0x62, + 0xBB, 0xCB, 0x3E, 0x67, 0xD7, 0x2D, 0xA9, 0x34, 0x1C, 0x29, 0x73, 0x65, 0xB5, 0x5D, 0xD8, 0x5E, + 0xCB, 0x00, 0xA4, 0x60, 0x6A, 0x89, 0x9D, 0x40, 0xD7, 0xD7, 0x16, 0x57, 0x20, 0x0E, 0xA3, 0x4F, + 0x8D, 0x82, 0xBF, 0xBC, 0x15, 0xD8, 0xC9, 0x3C, 0xE3, 0x37, 0xB5, 0xF8, 0x1F, 0x21, 0xB8, 0x27, + 0xA2, 0x32, 0x88, 0xA4, 0xCB, 0x8D, 0x68, 0x4C, 0x58, 0xEE, 0x20, 0xD1, 0x84, 0xFB, 0x0B, 0x88, + 0xA4, 0x1B, 0x10, 0x86, 0xB2, 0xF2, 0x75, 0x06, 0x5C, 0x72, 0xBC, 0xA0, 0xE8, 0xF3, 0x64, 0xA7, + 0x3D, 0xDA, 0xE2, 0xD3, 0x39, 0x69, 0x4C, 0xD6, 0x55, 0x69, 0x39, 0x06, 0xB5, 0x82, 0x02, 0x05, + 0xDB, 0x51, 0x6B, 0x31, 0xD9, 0xB7, 0xBA, 0x59, 0xDD, 0x0D, 0x1A, 0xE4, 0x4A, 0x5C, 0x81, 0x2E, + 0x72, 0x98, 0x69, 0x89, 0x28, 0xEC, 0xBD, 0xE0, 0xFA, 0xEB, 0xCC, 0x61, 0x1B, 0xC7, 0x15, 0x1B, + 0xF0, 0x67, 0x50, 0xFF, 0x00, 0x12, 0xD0, 0x09, 0xB6, 0xF7, 0x17, 0xA0, 0x38, 0xBC, 0x0C, 0x80, + 0xD2, 0x56, 0xDB, 0xCA, 0x85, 0x6F, 0x9A, 0xD0, 0x01, 0x12, 0x3F, 0xF8, 0x3A, 0x91, 0x89, 0xA8, + 0x3E, 0x4A, 0x23, 0xBE, 0x78, 0xD6, 0x9F, 0xBC, 0x28, 0x67, 0x89, 0x16, 0xCD, 0xC2, 0x9F, 0x25, + 0xB8, 0x5B, 0xA6, 0x8A, 0xDE, 0x71, 0x13, 0x1F, 0xFF, 0x3A, 0x89, 0x7B, 0xF1, 0x7B, 0x2D, 0x01, + 0xCF, 0xFA, 0x11, 0xC9, 0x78, 0x71, 0x09, 0x42, 0x39, 0x4F, 0xAF, 0xED, 0x1F, 0x79, 0x13, 0x42, + 0x33, 0xED, 0x31, 0x9C, 0x9B, 0x43, 0x53, 0xBF, 0x73, 0x45, 0xF2, 0x05, 0xAF, 0x8D, 0xED, 0x74, + 0x6F, 0xBF, 0xA1, 0x41, 0x04, 0xC2, 0xD1, 0x28, 0x37, 0x7F, 0x6D, 0x96, 0xB5, 0xF0, 0x1A, 0x45, + 0x42, 0xCB, 0xD5, 0x20, 0xC4, 0x2A, 0x54, 0xE9, 0x75, 0xAF, 0xAE, 0x81, 0x51, 0xC1, 0x5E, 0x2C, + 0xF3, 0xE9, 0xBB, 0x23, 0xB0, 0xE3, 0xCB, 0xC6, 0x2C, 0x54, 0xC1, 0x28, 0x43, 0x17, 0x9D, 0x9C, + 0x25, 0x83, 0x44, 0x14, 0xAD, 0x54, 0xA1, 0xCC, 0xD0, 0x9C, 0xD2, 0x25, 0x51, 0x7A, 0xAD, 0x61, + 0x06, 0xC4, 0xE4, 0x1F, 0xBD, 0x88, 0x75, 0xAB, 0x34, 0xDD, 0x3D, 0x2F, 0x3C, 0xB5, 0x5B, 0xAF, + 0xDB, 0x36, 0xFE, 0xFD, 0x3B, 0xA4, 0xEE, 0x38, 0x29, 0x01, 0x18, 0x0B, 0x7B, 0x96, 0xAE, 0x80, + 0xA4, 0x0E, 0x68, 0xD0, 0xE7, 0xD7, 0x01, 0x4B, 0xD2, 0xDD, 0x2F, 0x9E, 0x89, 0x86, 0x94, 0x8F, + 0x09, 0xAD, 0xA8, 0x8F, 0x57, 0x41, 0xBC, 0xA0, 0x33, 0xA6, 0xC8, 0x6D, 0x3F, 0xDB, 0x72, 0x1E, + 0xDA, 0x95, 0x03, 0xE8, 0xF3, 0x4E, 0x0A, 0x58, 0x2C, 0x24, 0xFD, 0x83, 0xAD, 0xF0, 0xB2, 0x9B, + 0xC5, 0xFB, 0x2B, 0x84, 0xA6, 0xB7, 0x33, 0x0F, 0x45, 0xD0, 0x2C, 0x73, 0xB1, 0x39, 0x46, 0x72, + 0xB0, 0xAA, 0x5B, 0x51, 0x06, 0x0A, 0xEB, 0xDF, 0x2D, 0x87, 0x99, 0x92, 0xB4, 0xE4, 0x7A, 0xD6, + 0x21, 0x1A, 0x98, 0xC4, 0xCF, 0xFF, 0x10, 0xBF, 0x60, 0xCF, 0x69, 0xCE, 0xF2, 0xF5, 0xD7, 0x81, + 0xA4, 0x44, 0x3A, 0x81, 0x9F, 0xD9, 0x3D, 0x2F, 0x14, 0xD0, 0x92, 0x20, 0x00, 0x12, 0xB4, 0xA9, + 0x85, 0x35, 0xD9, 0xD9, 0x3E, 0x6B, 0x15, 0xAC, 0x3C, 0x68, 0xEC, 0xB5, 0x32, 0xA8, 0xDE, 0xD9, + 0x01, 0x12, 0x2B, 0x41, 0x29, 0x6B, 0xA2, 0xB5, 0x92, 0x9E, 0x65, 0x62, 0x34, 0x4B, 0xB3, 0x4B, + 0xC2, 0x5F, 0x3D, 0x0D, 0xA9, 0x39, 0xEA, 0xD5, 0xC2, 0xA8, 0x22, 0xBA, 0xC1, 0xFE, 0x56, 0x4F, + 0xAD, 0xA5, 0xC1, 0x16, 0x33, 0xFC, 0xF9, 0xA5, 0xB2, 0x25, 0x9D, 0x3F, 0xDF, 0xDB, 0xC0, 0x04, + 0xAD, 0xF6, 0xCD, 0x7B, 0xC0, 0xE8, 0x83, 0x48, 0x1D, 0xBE, 0x01, 0x37, 0x62, 0x06, 0xE4, 0x9E, + 0x16, 0x10, 0x42, 0x6C, 0x8C, 0x45, 0x14, 0xE2, 0xB5, 0x0E, 0x60, 0x6B, 0x70, 0x20, 0x55, 0x4B, + 0x19, 0x14, 0x4B, 0x43, 0x7F, 0xAC, 0xD5, 0xA9, 0x27, 0xD9, 0x33, 0x26, 0xFB, 0x75, 0x2E, 0x41, + 0xC1, 0xD3, 0x0B, 0x26, 0x9C, 0x0F, 0x76, 0x33, 0xAE, 0xF4, 0xA5, 0x0F, 0x40, 0xEF, 0x33, 0x7E, + 0xB8, 0x2E, 0xAE, 0x7A, 0x46, 0x95, 0x61, 0xA8, 0x18, 0xA0, 0x31, 0x54, 0x60, 0x92, 0x2C, 0x47, + 0x6A, 0xCE, 0x01, 0xDC, 0x91, 0xE6, 0xBD, 0x59, 0xBD, 0xF2, 0x9E, 0xA4, 0xA8, 0xFD, 0x2B, 0xED, + 0xEE, 0x8F, 0x1F, 0x3F, 0x87, 0xBE, 0x8B, 0x7A, 0x09, 0xC9, 0x58, 0x91, 0x2E, 0xBC, 0x69, 0x20, + 0x29, 0x12, 0x1A, 0x31, 0x06, 0x2F, 0xDA, 0x0E, 0x6D, 0xFD, 0x5F, 0x9B, 0x07, 0x68, 0xA6, 0x36, + 0x41, 0x24, 0xFB, 0x5C, 0x88, 0xDC, 0xA7, 0xB4, 0x33, 0x22, 0x26, 0x66, 0xE2, 0xDB, 0x48, 0xA5, + 0x07, 0x6A, 0xBE, 0x32, 0x04, 0x65, 0x16, 0xCD, 0xFA, 0xC1, 0xBE, 0x8B, 0xC4, 0x06, 0x95, 0xE6, + 0x26, 0x6C, 0xE3, 0x01, 0xE2, 0xAD, 0xDC, 0xFE, 0xE7, 0x5C, 0xA4, 0x5B, 0xE0, 0xB0, 0x9D, 0x53, + 0xEF, 0x62, 0xE5, 0x5E, 0x86, 0xC5, 0x5F, 0x71, 0x0B, 0x4C, 0x75, 0xA2, 0x22, 0xD2, 0x67, 0x08, + 0x38, 0xE8, 0x5E, 0xB9, 0x62, 0xED, 0xA9, 0x72, 0xC0, 0x56, 0x1E, 0x3D, 0x0B, 0x09, 0x65, 0x81, + 0x89, 0x41, 0x76, 0xD9, 0x43, 0x19, 0x48, 0xFA, 0x10, 0x3C, 0x6B, 0x6E, 0x06, 0x35, 0x99, 0x6C, + 0x71, 0x42, 0xF3, 0x54, 0x00, 0x12, 0xEC, 0x69, 0x6D, 0x29, 0xE3, 0xA0, 0x16, 0x6E, 0xF2, 0x68, + 0xDD, 0x9E, 0x34, 0xB7, 0x46, 0x13, 0x68, 0x1F, 0x01, 0x12, 0x90, 0x52, 0xE9, 0x15, 0xF4, 0xB3, + 0x66, 0xB8, 0xBA, 0x4C, 0x2A, 0xF0, 0x0D, 0x50, 0x35, 0x14, 0xB1, 0xCE, 0xA9, 0x47, 0xB9, 0x1E, + 0x16, 0x73, 0x51, 0x8E, 0x7C, 0x19, 0x2D, 0xB4, 0x61, 0x0D, 0x0A, 0x86, 0xB3, 0x5B, 0xA5, 0xAC, + 0xD1, 0x71, 0x77, 0xC1, 0x96, 0xFF, 0x0C, 0x6D, 0x85, 0xCE, 0xAF, 0x5E, 0xDE, 0x18, 0x1D, 0x1F, + 0xBC, 0xED, 0xDB, 0x99, 0x99, 0x70, 0xE6, 0xC7, 0x0F, 0x78, 0x97, 0x6B, 0x6A, 0x01, 0xC1, 0xE1, + 0xAE, 0xEE, 0xFF, 0x2B, 0x60, 0xAA, 0xAE, 0x05, 0x5A, 0xD5, 0x67, 0xE5, 0xE7, 0xDE, 0x7C, 0x25, + 0x1D, 0x08, 0x80, 0x37, 0xB8, 0x39, 0xB5, 0x74, 0xFC, 0x53, 0x3B, 0x8B, 0x45, 0xC5, 0x42, 0x3E, + 0x13, 0x44, 0xC8, 0xD3, 0x77, 0x7E, 0xDC, 0x10, 0xD2, 0x43, 0x53, 0x6C, 0x8B, 0xD3, 0x60, 0x49, + 0xD3, 0x29, 0xAC, 0x26, 0x3C, 0x39, 0xF1, 0xBB, 0xFB, 0xC4, 0xB7, 0x55, 0x87, 0xEE, 0x52, 0x44, + 0x68, 0x93, 0x58, 0x13, 0x88, 0x2D, 0x71, 0xB2, 0x85, 0xEA, 0xD5, 0xE4, 0x6A, 0x17, 0x43, 0x97, + 0xAE, 0x0D, 0x1A, 0xB6, 0x4D, 0x8E, 0xA6, 0xA9, 0x3D, 0xFC, 0xCA, 0x52, 0x08, 0x64, 0x89, 0x11, + 0x1F, 0x47, 0x60, 0x2A, 0x7F, 0xE8, 0x82, 0x1C, 0x84, 0x1A, 0xC2, 0x58, 0xC8, 0x23, 0x9F, 0xD1, + 0xF9, 0x47, 0xE6, 0x29, 0xF2, 0xBC, 0x0F, 0x03, 0x41, 0x4E, 0x27, 0x5B, 0xF7, 0xD4, 0x57, 0x59, + 0x3D, 0x7E, 0x17, 0x5D, 0x0C, 0x88, 0x67, 0xE9, 0x98, 0x52, 0xCC, 0x26, 0xCA, 0xAB, 0xA8, 0x7F, + 0xCB, 0x90, 0x4F, 0x6A, 0xDA, 0x55, 0x68, 0x86, 0x1F, 0xDE, 0xEB, 0x7E, 0xF9, 0x5C, 0xF0, 0x99, + 0x18, 0xCA, 0xA3, 0x8F, 0xBE, 0xB1, 0x8A, 0x6A, 0x0E, 0x36, 0xA4, 0xC9, 0x26, 0xFC, 0xE0, 0x43, + 0x8C, 0x92, 0xC0, 0x88, 0x87, 0x37, 0xA9, 0xEC, 0xBF, 0x3E, 0x2E, 0xDB, 0x36, 0xCD, 0x92, 0xC7, + 0x80, 0x1A, 0x96, 0x62, 0xB4, 0xD8, 0x7B, 0x08, 0xD5, 0x6A, 0xE9, 0xC2, 0x00, 0x12, 0xB4, 0xA3, + 0x72, 0x91, 0x6E, 0x38, 0x27, 0xB6, 0xBF, 0x1E, 0x84, 0x2E, 0xDE, 0x72, 0x32, 0xED, 0xF6, 0xD1, + 0x01, 0x12, 0x25, 0xB3, 0xDE, 0x29, 0x5B, 0xAB, 0xC0, 0x77, 0x8D, 0x62, 0x1D, 0xC2, 0x13, 0x44, + 0x66, 0x24, 0x0E, 0xDF, 0x30, 0xE7, 0x46, 0x4C, 0x19, 0x26, 0xC9, 0x12, 0xF3, 0x69, 0x39, 0x3E, + 0x4B, 0xFE, 0xBE, 0x6E, 0xC6, 0xE7, 0x1A, 0xCE, 0x68, 0x74, 0x40, 0x96, 0x9E, 0xF2, 0xF0, 0x28, + 0xB4, 0x79, 0xCD, 0xD3, 0x75, 0xA3, 0x78, 0x4B, 0xDD, 0xEC, 0xE6, 0x15, 0xA0, 0x13, 0xF9, 0xA6, + 0xC3, 0x59, 0xFA, 0x58, 0xF8, 0x95, 0x23, 0xE2, 0x5E, 0x95, 0xD1, 0x20, 0x3B, 0x42, 0x10, 0xFC, + 0x94, 0xDC, 0x1B, 0x56, 0x23, 0xFA, 0x77, 0x12, 0xEE, 0x32, 0x03, 0x93, 0x00, 0x74, 0x8D, 0x31, + 0xC8, 0x11, 0x5F, 0x93, 0x26, 0x08, 0x06, 0x39, 0x84, 0x95, 0x50, 0xED, 0x0F, 0xC6, 0x80, 0x11, + 0x5D, 0x67, 0x3D, 0xC3, 0x1C, 0x55, 0x76, 0xD4, 0xDC, 0x21, 0xED, 0x14, 0xC5, 0x4E, 0x66, 0xCD, + 0xBC, 0xD6, 0x12, 0x69, 0xFC, 0x85, 0x20, 0x2B, 0x9E, 0x0C, 0xDD, 0xFA, 0x02, 0xA1, 0x86, 0xEB, + 0x73, 0x59, 0x51, 0x59, 0x17, 0x79, 0xFE, 0x47, 0x47, 0xDD, 0xD7, 0x52, 0x5E, 0xE8, 0x26, 0x2B, + 0x09, 0x27, 0x85, 0xF7, 0x2A, 0xC8, 0x0D, 0x7A, 0xE1, 0xD0, 0x83, 0x0D, 0xF7, 0x41, 0xD8, 0xC2, + 0x13, 0xA4, 0x85, 0xEE, 0x16, 0x97, 0x14, 0x74, 0xFE, 0xE5, 0x5B, 0x92, 0x1F, 0xB5, 0x7B, 0xA6, + 0xE4, 0x97, 0x95, 0x24, 0x82, 0x9E, 0x94, 0xB6, 0xAF, 0x6F, 0xDC, 0x14, 0xDC, 0x92, 0xFF, 0xA4, + 0x8A, 0xB2, 0x98, 0x00, 0x91, 0x58, 0x8B, 0xCA, 0x9E, 0x88, 0x47, 0x85, 0xA8, 0x95, 0x86, 0x53, + 0x0D, 0xC6, 0x5E, 0xF4, 0x0F, 0xE4, 0x11, 0xC9, 0xF4, 0x3F, 0xDD, 0xF8, 0x8C, 0x08, 0x39, 0xA7, + 0x11, 0x10, 0xC3, 0xF0, 0x54, 0x9D, 0xCF, 0x3F, 0x28, 0xFD, 0x31, 0x0F, 0x2F, 0x63, 0x08, 0xF7, + 0xC4, 0x3F, 0xD3, 0x72, 0x11, 0x59, 0xD3, 0xAF, 0x06, 0x40, 0x98, 0x0F, 0xEB, 0x22, 0xF6, 0x8A, + 0xBE, 0xD2, 0x61, 0x30, 0x00, 0x12, 0xE9, 0x6A, 0xD1, 0xED, 0x46, 0x12, 0x47, 0x12, 0x97, 0x2D, + 0xEA, 0x03, 0x49, 0x99, 0x59, 0xB6, 0xCA, 0x87, 0x01, 0x12, 0x13, 0x00, 0xC3, 0xA8, 0xBD, 0x71, + 0x0C, 0xE6, 0xBD, 0xA1, 0x5E, 0xC0, 0x80, 0x7E, 0x6A, 0xC3, 0x03, 0x64, 0x50, 0xF7, 0x47, 0xFF, + 0xCD, 0x0F, 0xE3, 0x41, 0xDB, 0xD5, 0xCA, 0xC6, 0x87, 0xED, 0x85, 0x20, 0x47, 0x43, 0x73, 0x4E, + 0x7A, 0x8D, 0x94, 0x13, 0x5D, 0x56, 0xC8, 0x59, 0x92, 0x7D, 0x2F, 0x9B, 0x04, 0x7B, 0xA4, 0x83, + 0xD1, 0x8D, 0x17, 0x44, 0xA2, 0x25, 0x6A, 0x22, 0x1B, 0xDC, 0x4C, 0x73, 0x5E, 0xF5, 0xCB, 0x31, + 0xF7, 0x26, 0x20, 0xD9, 0x46, 0x13, 0xD3, 0x6C, 0x22, 0xF5, 0xD5, 0xF4, 0x7F, 0x34, 0xD0, 0x44, + 0x70, 0x9B, 0x85, 0x48, 0x73, 0x39, 0x0B, 0x7F, 0xE5, 0xB5, 0x05, 0x2E, 0xB2, 0xA7, 0x5A, 0xA3, + 0x98, 0x5C, 0xCF, 0xA7, 0x49, 0x78, 0xE9, 0x99, 0xCC, 0xF2, 0x8F, 0x75, 0xA8, 0xD9, 0x81, 0x31, + 0x46, 0xF4, 0x0F, 0x4C, 0x42, 0x5D, 0xAC, 0xED, 0x5C, 0x45, 0x75, 0x2B, 0x16, 0x33, 0x88, 0x36, + 0x9D, 0x56, 0xB0, 0xA2, 0x63, 0xE0, 0xFD, 0x69, 0x31, 0x8B, 0x1A, 0x0B, 0x20, 0x6E, 0xFF, 0x02, + 0x92, 0x7E, 0x6D, 0x6E, 0x2B, 0x68, 0x5F, 0xFF, 0x34, 0xB7, 0xCF, 0x16, 0x70, 0x8F, 0x9E, 0x67, + 0xAA, 0x61, 0xC6, 0x51, 0xB1, 0x48, 0xDD, 0xBA, 0xA8, 0xAD, 0x61, 0xBE, 0xE3, 0x3C, 0xEF, 0xDE, + 0xFC, 0xD2, 0x4D, 0x66, 0x7E, 0xA1, 0x9B, 0xA6, 0xFA, 0xE3, 0x8A, 0xFE, 0xE4, 0xA2, 0xBB, 0x51, + 0x84, 0xAA, 0xB2, 0x70, 0xC1, 0x9B, 0xBC, 0xC2, 0x09, 0xD7, 0x57, 0x96, 0x02, 0xEB, 0x3E, 0x5E, + 0xAC, 0xC9, 0xB4, 0x55, 0xBE, 0xEB, 0x47, 0xE2, 0x81, 0x80, 0x5B, 0xD9, 0xBA, 0x62, 0x00, 0x51, + 0x09, 0x6D, 0xAB, 0xF1, 0xFF, 0xA3, 0x07, 0xC9, 0xE9, 0x66, 0xDA, 0xAE, 0x95, 0xEA, 0x3E, 0x56, + 0x8F, 0x6B, 0xA6, 0xB6, 0xBD, 0xFA, 0x6E, 0xB7, 0xA3, 0xB8, 0x64, 0xB6, 0x99, 0x0B, 0x44, 0x7E, + 0xDE, 0x0D, 0x30, 0x7D, 0x0E, 0x65, 0xA6, 0x59, 0x1A, 0x18, 0xA0, 0xD8, 0x00, 0x12, 0xDB, 0x73, + 0x20, 0x2A, 0x1E, 0x7C, 0x45, 0xEE, 0x8F, 0x7A, 0x74, 0x62, 0x55, 0xB2, 0x04, 0x4D, 0x63, 0xD5, + 0x01, 0x12, 0x27, 0x4A, 0x3E, 0xF5, 0x9A, 0x28, 0x58, 0xD4, 0xB3, 0xAF, 0x93, 0xB3, 0x0E, 0xFB, + 0x3C, 0x46, 0x6A, 0x5C, 0x25, 0xA4, 0xF0, 0x1D, 0xA3, 0x84, 0xCA, 0x44, 0x9D, 0x40, 0xFE, 0x0E, + 0x6D, 0xA3, 0x29, 0x80, 0x9C, 0xE3, 0x18, 0x15, 0xF5, 0xFC, 0xED, 0xFB, 0x9D, 0x49, 0x7A, 0xF7, + 0xB4, 0x6C, 0x7F, 0x44, 0x6A, 0x03, 0x53, 0x33, 0x62, 0xE0, 0x6F, 0xE6, 0xBC, 0xAA, 0x04, 0xD4, + 0x81, 0xF9, 0xB6, 0xB8, 0xF8, 0xB6, 0x3F, 0x1A, 0x49, 0x99, 0x98, 0xA1, 0x26, 0xA2, 0x7B, 0xBB, + 0xD4, 0x5C, 0x41, 0x62, 0xB3, 0x8A, 0xAF, 0xB9, 0x1C, 0x1F, 0x48, 0x57, 0xE7, 0x4F, 0x4F, 0x1F, + 0xC6, 0x9B, 0x5E, 0xDD, 0xF0, 0x75, 0xD0, 0xC9, 0xD7, 0xCA, 0x65, 0xB1, 0xBC, 0x08, 0x8E, 0x70, + 0xE2, 0x91, 0x5F, 0x26, 0xD5, 0x12, 0x89, 0xA1, 0xCA, 0x38, 0xCB, 0xDC, 0x9B, 0xCF, 0xD3, 0x11, + 0xC1, 0xFC, 0xD3, 0xED, 0xE9, 0x2A, 0x6A, 0x53, 0xB9, 0x23, 0xA8, 0xD1, 0x3D, 0x05, 0xC9, 0x48, + 0xFD, 0xA8, 0x26, 0xE5, 0x65, 0x26, 0xA8, 0xDB, 0xE0, 0xF8, 0x87, 0x78, 0xCE, 0x2A, 0x84, 0xB1, + 0x29, 0x17, 0x36, 0x24, 0x19, 0x4B, 0x37, 0x00, 0xE2, 0x78, 0x78, 0xBF, 0x9C, 0xB3, 0xA9, 0xF2, + 0xB9, 0xC1, 0xAD, 0x94, 0x9B, 0x9F, 0x0F, 0xE6, 0x16, 0x87, 0x8E, 0xCE, 0xF3, 0x1B, 0x68, 0x86, + 0x5A, 0x06, 0x12, 0xC6, 0xAE, 0xCB, 0x34, 0x8E, 0x15, 0xC3, 0xBF, 0x39, 0xED, 0xFA, 0x25, 0x5F, + 0xAF, 0xCB, 0x7A, 0x44, 0x98, 0x5B, 0x95, 0x01, 0x89, 0x8A, 0xB5, 0x31, 0xE6, 0xC3, 0xDF, 0x1D, + 0x52, 0x47, 0x9E, 0xF4, 0x6D, 0x65, 0xD1, 0x5D, 0x01, 0xF2, 0xAA, 0x74, 0xF6, 0x20, 0xE3, 0x7B, + 0x0B, 0x71, 0x6B, 0x48, 0x2A, 0xC5, 0x5C, 0x10, 0x69, 0x30, 0x6E, 0xA7, 0xB1, 0x58, 0x61, 0x7E, + 0xEA, 0x9C, 0xA4, 0x1F, 0x88, 0x6F, 0xE3, 0x41, 0x7A, 0xF1, 0x94, 0x30, 0x41, 0x24, 0x75, 0xE9, + 0xF2, 0x0A, 0x13, 0x3D, 0x00, 0x12, 0xC9, 0xF5, 0x7F, 0x6A, 0x61, 0xE9, 0xE4, 0xA3, 0xB7, 0x11, + 0x08, 0x0E, 0x3E, 0x64, 0x52, 0x49, 0xB0, 0x1D, 0x01, 0x12, 0x85, 0xD5, 0xAB, 0x29, 0x4F, 0xB9, + 0x35, 0x55, 0xE8, 0xB4, 0x0F, 0xC3, 0xD6, 0x3E, 0x50, 0xCF, 0x69, 0x66, 0xC8, 0x5E, 0x72, 0x85, + 0x7E, 0x11, 0x65, 0x85, 0x7E, 0xBA, 0x67, 0x41, 0x4B, 0x1F, 0x50, 0xE7, 0xC0, 0xDA, 0x4A, 0xCC, + 0x7A, 0xCD, 0x4C, 0x5D, 0x1A, 0xA6, 0x78, 0xB0, 0x69, 0x1F, 0xAC, 0x95, 0x3E, 0x07, 0xCB, 0xD9, + 0xE7, 0xB8, 0xE4, 0xCC, 0x30, 0xE2, 0x5C, 0xDF, 0x56, 0x8F, 0x13, 0xD0, 0xC4, 0x25, 0x95, 0xCA, + 0x88, 0xD4, 0x30, 0x90, 0xBD, 0x08, 0xC2, 0x0D, 0x75, 0xFA, 0x48, 0x53, 0xEA, 0x6F, 0xBC, 0x15, + 0x3A, 0x8B, 0x30, 0xC5, 0x0E, 0x4E, 0x4B, 0x46, 0xE4, 0x96, 0x60, 0x8F, 0xB6, 0x17, 0xB3, 0x1A, + 0x38, 0xCA, 0xC0, 0xE9, 0xDB, 0x04, 0x0F, 0xFE, 0x61, 0x4A, 0xC6, 0xC3, 0xC0, 0xD3, 0x43, 0x2A, + 0xA6, 0xF9, 0xD5, 0xF1, 0x98, 0xF6, 0x7C, 0x62, 0x4C, 0x88, 0x3F, 0xEA, 0x12, 0xDC, 0xC9, 0x3A, + 0xE9, 0xCB, 0x0C, 0x27, 0x09, 0x52, 0x09, 0x39, 0x50, 0x5A, 0x21, 0xFD, 0xC2, 0xBC, 0x29, 0x6E, + 0xCB, 0xAC, 0xF2, 0x55, 0x63, 0xFE, 0xF8, 0x7F, 0xC4, 0xCD, 0xB6, 0xEB, 0xFE, 0xD2, 0x4E, 0x4D, + 0xCA, 0xA6, 0x20, 0x0F, 0xDF, 0x03, 0x80, 0xC4, 0x46, 0x29, 0xB0, 0x5F, 0xBD, 0x1F, 0x92, 0x58, + 0x0B, 0x58, 0x71, 0xF9, 0x67, 0x17, 0xCC, 0x76, 0xAF, 0x92, 0xE8, 0x04, 0x10, 0xCA, 0x11, 0xF0, + 0x28, 0xAB, 0x08, 0x58, 0x8B, 0x44, 0xFA, 0xAF, 0xBF, 0x16, 0xB9, 0xA9, 0x46, 0xD1, 0x94, 0x44, + 0x08, 0x6D, 0x64, 0x38, 0x78, 0xFF, 0x9E, 0x36, 0xEC, 0xD4, 0x62, 0xD5, 0x49, 0x6E, 0xDF, 0x76, + 0xEF, 0xE0, 0x9B, 0x25, 0x43, 0x61, 0xC8, 0xF6, 0x6C, 0x50, 0x1E, 0x30, 0x5C, 0xE0, 0xAE, 0x8D, + 0xC5, 0x89, 0x02, 0x3D, 0x68, 0xAB, 0x4F, 0xFC, 0x22, 0x3D, 0x8E, 0xBA, 0xC9, 0x19, 0x08, 0xF5, + 0x92, 0x00, 0xE9, 0x7A, 0xA1, 0xA2, 0x3B, 0x67, 0x57, 0xC9, 0xFE, 0x3A, 0x00, 0x12, 0xE8, 0xF7, + 0xE5, 0xA6, 0xD4, 0x69, 0x2E, 0xAC, 0x15, 0x5B, 0x47, 0x90, 0xA5, 0x41, 0x51, 0xE7, 0x5E, 0xF6, + 0x01, 0x12, 0x10, 0xB1, 0x2F, 0x7B, 0x72, 0xA1, 0x53, 0x1D, 0x0D, 0x01, 0xBC, 0x62, 0xA6, 0x9D, + 0x8E, 0xB2, 0x9C, 0xC8, 0x9F, 0x46, 0xFD, 0x68, 0x39, 0xAF, 0x32, 0x6F, 0x79, 0xC6, 0xF5, 0xE3, + 0x60, 0x99, 0x53, 0x7E, 0xC2, 0x58, 0xA9, 0x32, 0xB3, 0x22, 0xFE, 0x4A, 0x02, 0xA2, 0xBB, 0x21, + 0x8A, 0xC0, 0x2A, 0x1A, 0x28, 0x77, 0xD6, 0x5F, 0x4B, 0x9F, 0xCD, 0xAD, 0x6E, 0x1F, 0x92, 0x5D, + 0x6E, 0x25, 0xFC, 0x63, 0xB5, 0xF0, 0x0D, 0x34, 0x15, 0x8F, 0x6C, 0x99, 0x64, 0xBC, 0x5F, 0xB8, + 0xD6, 0x15, 0xB8, 0xCD, 0x56, 0xE0, 0xAC, 0x8C, 0x98, 0x94, 0x67, 0x09, 0xBB, 0xAD, 0xCF, 0x95, + 0x55, 0x84, 0xE2, 0x8D, 0x48, 0xBC, 0x17, 0xDF, 0xB8, 0x98, 0xAD, 0x89, 0xF5, 0xDE, 0x48, 0x68, + 0xFC, 0x97, 0xEB, 0xE1, 0x3A, 0xC5, 0xFA, 0xC5, 0xA6, 0x83, 0xC2, 0x7E, 0x5A, 0x2B, 0xEC, 0xBE, + 0x18, 0xF1, 0xFF, 0x29, 0x4A, 0x87, 0x9F, 0x23, 0x08, 0x2E, 0x7D, 0x8F, 0x5C, 0x1B, 0x42, 0xC3, + 0xB5, 0x6D, 0x10, 0xC7, 0xC4, 0x72, 0xA5, 0xAC, 0xB1, 0xA7, 0xBA, 0xF2, 0x8E, 0xCB, 0x03, 0xD2, + 0x57, 0xD6, 0xD6, 0x64, 0x34, 0x28, 0xC9, 0xA8, 0xE1, 0x27, 0xC4, 0xDE, 0xFD, 0x2F, 0x41, 0xE8, + 0xA1, 0xDD, 0x0E, 0xDB, 0x84, 0xE3, 0x04, 0x2C, 0xA4, 0xDF, 0x7E, 0x2A, 0xCB, 0x15, 0x30, 0x52, + 0xFC, 0x30, 0x4D, 0xDE, 0x1B, 0xE1, 0xE4, 0xCD, 0x42, 0x3F, 0x19, 0xC3, 0xDA, 0x36, 0x4F, 0x22, + 0x72, 0x66, 0xB2, 0x82, 0x5F, 0xD7, 0xC9, 0xB6, 0x51, 0xB0, 0x6D, 0x2D, 0xA8, 0x24, 0x4F, 0x92, + 0x18, 0x6C, 0x06, 0xD2, 0xBA, 0xFB, 0x3E, 0x12, 0xDC, 0x79, 0x24, 0x2D, 0x0F, 0xF0, 0xC6, 0x0F, + 0x0D, 0x90, 0x57, 0x1E, 0xB8, 0xB2, 0x31, 0xCB, 0x26, 0xD0, 0xA1, 0x10, 0xE3, 0x48, 0x07, 0xE8, + 0xA1, 0x58, 0xFA, 0xF6, 0x9C, 0xC8, 0x92, 0xB5, 0x0A, 0x89, 0xA2, 0xB7, 0xB3, 0xFC, 0xA2, 0xCD, + 0x35, 0x26, 0x38, 0x39, 0x00, 0x12, 0xB3, 0xD2, 0x71, 0xF4, 0x15, 0x37, 0xC9, 0x19, 0xF1, 0xE5, + 0xAB, 0x79, 0x1C, 0x1A, 0x67, 0x56, 0xF4, 0xA4, 0x01, 0x12, 0x07, 0x1F, 0x1D, 0x2E, 0x90, 0x70, + 0x37, 0x91, 0x3D, 0x23, 0x1B, 0xFB, 0x90, 0xD2, 0xF2, 0x69, 0x90, 0xB4, 0x95, 0xAB, 0xC4, 0x9A, + 0x1C, 0x71, 0xD0, 0xCB, 0x1D, 0xF0, 0x87, 0xF3, 0x18, 0x66, 0x71, 0xCB, 0xC3, 0xCC, 0xAE, 0xB7, + 0x4D, 0xE4, 0x0A, 0xBE, 0xB0, 0x7F, 0x0F, 0xD5, 0xE6, 0xBC, 0xE8, 0x5F, 0x2A, 0xF7, 0x8D, 0x33, + 0x09, 0xE4, 0x18, 0x3A, 0x71, 0xCE, 0x92, 0x1C, 0x55, 0x5A, 0x9F, 0xE8, 0x0E, 0x18, 0x19, 0x44, + 0xBA, 0xC4, 0x66, 0x87, 0xBE, 0x33, 0xF3, 0x41, 0x16, 0xB0, 0xA7, 0xA7, 0xE7, 0x12, 0xC3, 0x08, + 0x5B, 0xBD, 0xB6, 0x58, 0x9D, 0x12, 0x2F, 0xD0, 0x89, 0x03, 0xBF, 0x0E, 0x95, 0x49, 0x34, 0x2B, + 0x35, 0xC2, 0x2D, 0x0F, 0xA1, 0xAB, 0xD7, 0x67, 0x2D, 0x54, 0xC6, 0xE9, 0x43, 0xEC, 0x1C, 0xB6, + 0xF7, 0x95, 0x9C, 0x18, 0xFB, 0x70, 0xD6, 0x62, 0x4F, 0xA4, 0x81, 0xE3, 0x6C, 0xE6, 0x53, 0x83, + 0xB4, 0x82, 0x9B, 0xBD, 0xF6, 0x70, 0x5D, 0xB8, 0xBE, 0x2E, 0xA8, 0x5F, 0x8C, 0x46, 0x3F, 0xFA, + 0x42, 0xB8, 0x62, 0x48, 0x87, 0xAA, 0x06, 0xF5, 0x3D, 0xBB, 0x20, 0x63, 0xA6, 0xBB, 0xEF, 0x70, + 0xD2, 0x34, 0x2A, 0xB0, 0xFF, 0x4E, 0xB1, 0x02, 0xCD, 0x78, 0xB5, 0xBB, 0x5E, 0x27, 0x9A, 0x5C, + 0x53, 0x0C, 0x7F, 0xDB, 0xFD, 0x10, 0x9D, 0x72, 0x80, 0xC5, 0x10, 0xEE, 0x4B, 0xB9, 0x98, 0x2A, + 0xDF, 0x9A, 0x45, 0x1E, 0x94, 0x9B, 0xEB, 0x42, 0x8B, 0x7A, 0x6B, 0x48, 0x11, 0x95, 0x85, 0xE7, + 0x35, 0xFC, 0x98, 0x3C, 0x7B, 0xB8, 0x07, 0x73, 0x07, 0xC8, 0x3C, 0xC7, 0xFE, 0xB8, 0x6F, 0xB2, + 0x3B, 0x72, 0x7D, 0xBF, 0xA1, 0x9C, 0x53, 0x16, 0xF5, 0x91, 0x03, 0xE2, 0xFC, 0x84, 0xB1, 0xD0, + 0x78, 0x95, 0xA7, 0x16, 0x6D, 0xDD, 0x0F, 0x9B, 0xDF, 0xAC, 0xC1, 0xA2, 0xB9, 0x2F, 0x32, 0xF3, + 0x97, 0xAC, 0x38, 0x34, 0x0F, 0x64, 0x8F, 0xA1, 0xDA, 0x55, 0x30, 0xF6, 0x00, 0x12, 0xC3, 0xF2, + 0xD9, 0xCD, 0x0D, 0x1B, 0x22, 0x12, 0x15, 0xEC, 0x1B, 0x39, 0x82, 0xDF, 0xEC, 0x85, 0x6B, 0xFC, + 0x01, 0x12, 0x00, 0x7B, 0x4B, 0xB9, 0x0F, 0x58, 0xF1, 0xC5, 0xBF, 0x73, 0xC0, 0x93, 0x21, 0xC6, + 0x74, 0xAE, 0x9F, 0xCE, 0xB6, 0xE1, 0xBD, 0x48, 0xB7, 0xF2, 0xDC, 0xB4, 0x17, 0x62, 0xDF, 0x65, + 0xB2, 0x43, 0x9E, 0x0A, 0xCB, 0xAD, 0xF8, 0x1D, 0x96, 0x8D, 0x4A, 0xD9, 0x91, 0x95, 0x09, 0xE7, + 0xD9, 0x5E, 0x04, 0x10, 0x4E, 0x08, 0x96, 0x65, 0xB0, 0xFB, 0x42, 0x83, 0x1E, 0x80, 0xCE, 0x5D, + 0xB1, 0xD1, 0xD7, 0xF7, 0xD1, 0x6A, 0x94, 0x98, 0x8A, 0x58, 0xBE, 0xA6, 0x9B, 0xCE, 0xF0, 0x08, + 0xAC, 0x60, 0x9B, 0x53, 0xFD, 0x0C, 0x65, 0x71, 0x0E, 0x38, 0x20, 0x4F, 0x92, 0x81, 0x36, 0x3E, + 0x18, 0x3B, 0x45, 0x1B, 0xE9, 0x17, 0xAB, 0x68, 0x28, 0xFC, 0x1D, 0x4C, 0x08, 0xC7, 0x4D, 0x00, + 0x44, 0x10, 0x75, 0x9D, 0x70, 0xD4, 0x13, 0xFD, 0xE5, 0xB7, 0x39, 0xA1, 0x4E, 0xBC, 0xFF, 0x38, + 0x24, 0xA5, 0x8A, 0xA7, 0x76, 0x77, 0xAF, 0x63, 0x44, 0xF8, 0x18, 0x23, 0xC8, 0x6A, 0xAE, 0x30, + 0x75, 0xCE, 0x52, 0xEE, 0x1A, 0x81, 0x8F, 0x3B, 0xFA, 0xD8, 0x14, 0xF4, 0x3C, 0xC4, 0x8E, 0xA8, + 0x05, 0x59, 0xDB, 0x1E, 0x9D, 0x6D, 0x9F, 0x4A, 0x15, 0xA1, 0xDA, 0x2D, 0x95, 0xBD, 0x6A, 0x80, + 0x49, 0xEB, 0xE6, 0x21, 0xA0, 0xE4, 0x5E, 0x47, 0x6B, 0x4A, 0x1F, 0xC3, 0x64, 0xB4, 0xE1, 0x5A, + 0x78, 0xE2, 0xAA, 0x12, 0x9B, 0x82, 0xFB, 0xB8, 0x97, 0x2D, 0x39, 0x48, 0xDE, 0x4A, 0x6C, 0x7B, + 0xD3, 0x0B, 0xB0, 0x78, 0x32, 0x0B, 0x90, 0x7E, 0x89, 0x3F, 0x12, 0xEF, 0x5D, 0x5E, 0xB0, 0xC2, + 0xCC, 0x72, 0x0E, 0x07, 0x50, 0xFF, 0xDB, 0x5B, 0x1C, 0x58, 0xE0, 0xF4, 0x95, 0x91, 0xA0, 0x92, + 0x04, 0x18, 0x69, 0xE7, 0xBA, 0x33, 0x41, 0x84, 0xD9, 0xB4, 0xE0, 0x73, 0x06, 0x9F, 0x16, 0x66, + 0x1A, 0x88, 0x1E, 0x4E, 0x1E, 0x4D, 0x40, 0x59, 0x76, 0x34, 0xEE, 0x6D, 0x62, 0x6B, 0xD2, 0x0F, + 0x58, 0x80, 0xA7, 0xC8, 0x00, 0x12, 0x4B, 0xBB, 0xC6, 0xC2, 0x1A, 0x1C, 0xF4, 0x29, 0x1C, 0x9A, + 0x5B, 0xD9, 0xC7, 0xF7, 0x23, 0xAF, 0xD4, 0x01, 0x01, 0x12, 0xCF, 0x68, 0x33, 0x26, 0x80, 0x6F, + 0x6C, 0xA2, 0x41, 0xF8, 0x73, 0xA1, 0x7C, 0x44, 0x36, 0x9A, 0x07, 0x48, 0x93, 0x5B, 0xEE, 0xDB, + 0x41, 0x98, 0x74, 0x02, 0xCA, 0x5B, 0xA2, 0xEF, 0xF4, 0xDD, 0xB1, 0x3D, 0x97, 0x4C, 0x13, 0xFC, + 0xE0, 0x44, 0xD2, 0xD9, 0xDD, 0xF3, 0xD4, 0xD9, 0x26, 0xD6, 0x88, 0xB8, 0x4B, 0x0A, 0x32, 0x85, + 0x5F, 0x20, 0x68, 0x51, 0x5A, 0x15, 0x3F, 0xBC, 0x1E, 0x60, 0x0E, 0xCE, 0xAE, 0x03, 0xE7, 0x40, + 0x51, 0xAC, 0x70, 0xFC, 0x27, 0x7A, 0x38, 0x0B, 0x8C, 0x7B, 0x22, 0x4E, 0xE6, 0xAD, 0xE4, 0x63, + 0x15, 0x2E, 0x70, 0xD9, 0x82, 0xD9, 0xBB, 0xB3, 0xAF, 0xC5, 0x90, 0x97, 0xA7, 0xE9, 0x11, 0x7E, + 0xFD, 0x64, 0xE5, 0x9E, 0x8E, 0xBD, 0x57, 0x31, 0x89, 0x84, 0x47, 0xDE, 0xCC, 0xFB, 0x02, 0x38, + 0x0A, 0x40, 0xFA, 0x56, 0x50, 0xF2, 0x70, 0x38, 0x87, 0x82, 0xD8, 0x59, 0xD3, 0x56, 0x63, 0xF7, + 0x38, 0xC5, 0x1A, 0xE0, 0x7A, 0x53, 0xA9, 0x24, 0x55, 0x21, 0xD2, 0xF3, 0x6A, 0x0A, 0xF4, 0xE1, + 0x97, 0x10, 0xBB, 0x22, 0x32, 0x95, 0xDD, 0xD1, 0x95, 0xFD, 0x9A, 0x16, 0xD7, 0xBC, 0x15, 0xC4, + 0xF1, 0xBB, 0xF3, 0x19, 0x02, 0x44, 0x7B, 0xAA, 0x64, 0x30, 0xCC, 0xFF, 0xEE, 0x47, 0xE4, 0xB9, + 0x7E, 0xEE, 0xC1, 0x79, 0x01, 0xE3, 0xF4, 0x99, 0x97, 0x27, 0x99, 0xF8, 0xD7, 0x04, 0xCA, 0x37, + 0x20, 0xEC, 0x66, 0x3E, 0x90, 0x8B, 0xF2, 0xB5, 0x28, 0xEC, 0x75, 0xC6, 0xFE, 0xED, 0x1C, 0xA3, + 0xB5, 0x9D, 0x5B, 0x31, 0x35, 0xE8, 0x51, 0xC0, 0x60, 0x44, 0x94, 0xF7, 0xF3, 0x6F, 0xDA, 0x8D, + 0x31, 0x42, 0xE3, 0xD3, 0xB3, 0xE0, 0x58, 0xD9, 0xCC, 0x12, 0xE2, 0x18, 0x5F, 0x61, 0x5B, 0xC9, + 0x2C, 0x47, 0x1A, 0x69, 0x85, 0x9C, 0xED, 0x77, 0x68, 0x5C, 0xC6, 0x25, 0xC1, 0x5B, 0xE0, 0x89, + 0xA6, 0xA7, 0x9F, 0xC1, 0x0F, 0xB6, 0xAC, 0x79, 0x54, 0x58, 0x8A, 0xE6, 0x00, 0x12, 0xD8, 0xF6, + 0xCE, 0x22, 0xC5, 0x5E, 0xB3, 0xC0, 0x89, 0x9F, 0xA8, 0x6E, 0xDF, 0x91, 0x0E, 0x86, 0xA0, 0xB1, + 0x01, 0x12, 0x03, 0x8F, 0x96, 0x00, 0x02, 0x37, 0x5B, 0x6A, 0xA6, 0x2A, 0xA4, 0x99, 0x91, 0x4F, + 0xFE, 0xA3, 0x83, 0xE3, 0x72, 0xDE, 0x0E, 0xBC, 0x93, 0xA5, 0x89, 0x55, 0x27, 0xE7, 0x6D, 0x73, + 0x50, 0x83, 0xF1, 0x11, 0xF4, 0xDE, 0x57, 0xC3, 0x90, 0x6A, 0x7B, 0xCE, 0x27, 0xFD, 0xE7, 0x9A, + 0xD6, 0x62, 0x98, 0xB4, 0x52, 0x23, 0x7B, 0x3C, 0xAB, 0x34, 0xE7, 0x7B, 0x12, 0x50, 0x02, 0xD2, + 0x33, 0x16, 0x21, 0xAE, 0x5F, 0x15, 0xF5, 0x62, 0x76, 0x1A, 0xC4, 0xF4, 0xA3, 0x92, 0x91, 0xB9, + 0x79, 0xF0, 0x22, 0xCD, 0xE4, 0xAF, 0x9A, 0x5D, 0xA1, 0xB3, 0x7A, 0xF0, 0x5C, 0x22, 0x99, 0x32, + 0x52, 0xDE, 0xE7, 0x93, 0xAF, 0xE8, 0xE3, 0xB6, 0x53, 0xDD, 0x79, 0x32, 0xBE, 0x1D, 0x2E, 0x29, + 0xFF, 0x71, 0xB7, 0xC8, 0xDB, 0x48, 0x66, 0x03, 0xD1, 0x9E, 0xAD, 0x98, 0x7A, 0x1C, 0x37, 0x3E, + 0x0F, 0x20, 0x35, 0xE7, 0xD2, 0x2F, 0x73, 0xDA, 0xA6, 0x50, 0xE8, 0x50, 0x51, 0x46, 0x63, 0x68, + 0x57, 0xFD, 0xD1, 0x2C, 0x38, 0x20, 0x92, 0x30, 0x15, 0xDF, 0x07, 0x60, 0x56, 0x0B, 0x9F, 0x05, + 0xCC, 0x82, 0x9A, 0x5C, 0x02, 0x12, 0x70, 0x0A, 0xDA, 0x36, 0x44, 0x6B, 0x29, 0xE2, 0xB7, 0x5F, + 0xC9, 0x11, 0x04, 0xFC, 0x81, 0xD7, 0xE0, 0x17, 0xC8, 0x6B, 0xCD, 0x01, 0x56, 0x69, 0xD4, 0xA7, + 0x0B, 0x32, 0x5F, 0x01, 0x91, 0x52, 0xEB, 0x16, 0xFD, 0xE9, 0x1B, 0xC6, 0x8B, 0x4A, 0x9E, 0xD3, + 0xBA, 0xE3, 0xFB, 0x80, 0x53, 0xBD, 0xCB, 0x56, 0xDD, 0x29, 0xB3, 0xB7, 0x48, 0xE9, 0x07, 0x08, + 0x48, 0xD0, 0x06, 0x03, 0xC0, 0xC5, 0x8E, 0x87, 0x1D, 0x5E, 0x94, 0xCF, 0x21, 0x5B, 0x92, 0x47, + 0x11, 0x23, 0x9E, 0xB1, 0x85, 0xFB, 0x7E, 0xED, 0xE9, 0x6B, 0xE9, 0xCE, 0x05, 0xA5, 0xC8, 0x80, + 0xE5, 0x1F, 0xE2, 0xDE, 0x99, 0xBC, 0xCC, 0x8A, 0x9E, 0x44, 0xE2, 0x49, 0x80, 0x08, 0x2C, 0x14, + 0x53, 0x71, 0xFE, 0xEF, 0x00, 0x12, 0x4A, 0xF2, 0xFE, 0xD1, 0x5F, 0xE2, 0x03, 0xE6, 0xFC, 0x94, + 0x56, 0x4C, 0x35, 0x34, 0xA1, 0x4A, 0x7E, 0x49, 0x01, 0x12, 0x99, 0xE4, 0x9F, 0x68, 0xE6, 0x55, + 0x7F, 0x46, 0x4F, 0xC0, 0x3F, 0x10, 0x4D, 0xF8, 0x04, 0x98, 0xC8, 0xEC, 0xB9, 0x45, 0x22, 0xD7, + 0x8C, 0xA8, 0x8E, 0x74, 0x7B, 0x23, 0xF8, 0x81, 0x00, 0x48, 0xCE, 0x7E, 0x3B, 0x96, 0x8E, 0x6A, + 0x8C, 0x53, 0xE5, 0xBD, 0x81, 0x6C, 0xF7, 0xC5, 0xBA, 0x38, 0xB1, 0xFA, 0x05, 0xFB, 0x25, 0x61, + 0x07, 0xC9, 0xBE, 0xF2, 0x1A, 0x1A, 0x21, 0x4B, 0x9F, 0x64, 0xD5, 0x33, 0xA8, 0x3B, 0x9C, 0x10, + 0xE8, 0xC9, 0xFA, 0x7C, 0x44, 0xF8, 0x85, 0x3C, 0x3B, 0xED, 0xB7, 0xC9, 0x82, 0x63, 0x44, 0x65, + 0x6F, 0x69, 0xEF, 0x7E, 0x4D, 0x17, 0x19, 0xCB, 0x0B, 0x76, 0xDE, 0xB5, 0xB8, 0x4E, 0xBA, 0x52, + 0xEC, 0x77, 0xB7, 0xE0, 0x54, 0xE1, 0x10, 0x68, 0xCD, 0x6E, 0x54, 0x7E, 0x89, 0xBE, 0x50, 0x9C, + 0x7E, 0x4B, 0x1C, 0xF4, 0x35, 0x60, 0xEC, 0x54, 0x03, 0xD6, 0xD9, 0x2F, 0x4C, 0x1D, 0x9D, 0xCD, + 0x0B, 0xF7, 0xEF, 0x5A, 0x1B, 0x13, 0x74, 0xBC, 0xA5, 0x9A, 0x75, 0x25, 0x3C, 0x0D, 0x4F, 0x2A, + 0xEE, 0x86, 0x52, 0x32, 0x7A, 0xA5, 0x14, 0x0F, 0xE0, 0x59, 0x45, 0x16, 0x37, 0x62, 0x7D, 0xA3, + 0xB0, 0xEE, 0x01, 0xC2, 0x2D, 0xA3, 0xFA, 0x55, 0xF2, 0x92, 0xFD, 0x45, 0x4C, 0xB1, 0x6F, 0x56, + 0xDB, 0x5E, 0x41, 0xF0, 0x18, 0x07, 0xA9, 0xF2, 0x7A, 0x32, 0xFA, 0xC7, 0x27, 0x06, 0xE3, 0xF4, + 0x1D, 0x40, 0x8C, 0x03, 0x27, 0xD3, 0xBC, 0x5C, 0xA1, 0x38, 0x06, 0xD7, 0x45, 0x87, 0xF3, 0x21, + 0x5C, 0x32, 0xCA, 0x4E, 0xB5, 0x5E, 0x2B, 0x15, 0xB4, 0x5C, 0xAF, 0x10, 0xC4, 0x3C, 0x02, 0x30, + 0x25, 0x9B, 0x20, 0x48, 0xDA, 0xEB, 0x87, 0xA2, 0xFC, 0xDF, 0xEC, 0x00, 0x4E, 0x93, 0x3F, 0xE4, + 0x4E, 0xF5, 0xBD, 0xE3, 0xAC, 0x15, 0x83, 0x95, 0xB1, 0x9F, 0x8C, 0xDD, 0x45, 0x88, 0xE8, 0xAC, + 0x36, 0x69, 0xC7, 0x24, 0x13, 0x3B, 0x75, 0x8D, 0x59, 0x15, 0x43, 0x18, 0x00, 0x12, 0x96, 0x81, + 0x2B, 0x1E, 0x48, 0x81, 0xC8, 0x9A, 0x6D, 0xF2, 0x08, 0xA1, 0x26, 0xA2, 0x79, 0x7D, 0xAC, 0x3A, + 0x01, 0x12, 0xAC, 0x52, 0xF5, 0x64, 0x46, 0x22, 0xDB, 0xB5, 0xF7, 0xDD, 0x35, 0x9D, 0xDB, 0xDC, + 0xEF, 0xD3, 0x90, 0x1E, 0x87, 0x25, 0xE5, 0x09, 0x2D, 0xED, 0x48, 0xEB, 0x4A, 0x31, 0x3E, 0x17, + 0x4C, 0x67, 0x75, 0x5E, 0xE0, 0xBF, 0x39, 0xD9, 0x59, 0x47, 0x2A, 0x7D, 0x26, 0x2E, 0x4E, 0xC6, + 0xAA, 0x4A, 0x6E, 0xA2, 0xC1, 0xB2, 0x2F, 0xD2, 0x95, 0xEF, 0xB8, 0xCD, 0x60, 0x9B, 0x50, 0x1B, + 0x97, 0xD6, 0xB5, 0x70, 0xA0, 0xC0, 0x1D, 0x63, 0xFD, 0xED, 0x9C, 0x5B, 0x62, 0x5A, 0xAE, 0xE2, + 0x32, 0x93, 0xF3, 0x81, 0x11, 0x69, 0x90, 0xA6, 0xAE, 0x57, 0x07, 0x45, 0x39, 0xB2, 0x16, 0x66, + 0xCF, 0x93, 0x49, 0x51, 0x42, 0x09, 0xD1, 0x81, 0x60, 0x70, 0x86, 0xA6, 0x5E, 0x31, 0x67, 0x62, + 0x0B, 0x85, 0x72, 0x03, 0xAB, 0x90, 0x8F, 0xDC, 0x0C, 0xC2, 0x15, 0xDC, 0x6B, 0x8A, 0x72, 0x5E, + 0xEC, 0xF9, 0x74, 0xE3, 0xD2, 0x60, 0x7A, 0xBF, 0x3F, 0x18, 0x81, 0xBD, 0x0D, 0x16, 0x29, 0x12, + 0x44, 0x88, 0xE8, 0x26, 0xF8, 0x53, 0xF1, 0xAE, 0x11, 0x94, 0x28, 0x22, 0x81, 0x40, 0xF0, 0xF8, + 0x68, 0x05, 0xD0, 0xAD, 0x95, 0x27, 0x87, 0xBF, 0xFA, 0x37, 0x0F, 0x9E, 0xD9, 0xC8, 0xCC, 0xB1, + 0x7C, 0x27, 0xC8, 0xE7, 0x1D, 0xF1, 0xA3, 0xD6, 0x33, 0x39, 0x58, 0x07, 0x3B, 0x1A, 0xC8, 0xE3, + 0x0B, 0x43, 0x6E, 0x57, 0x60, 0xF5, 0x57, 0x1A, 0x7A, 0xF3, 0x33, 0xAF, 0x3D, 0xDF, 0x38, 0x0F, + 0x32, 0x9C, 0xEA, 0xF1, 0x02, 0xC0, 0x72, 0xE9, 0x3D, 0x34, 0xEF, 0xAC, 0x04, 0x2C, 0xE3, 0x42, + 0x38, 0x1F, 0xB6, 0xDB, 0x78, 0x29, 0x99, 0x3D, 0xAA, 0x65, 0xA3, 0x3E, 0x92, 0x75, 0xB5, 0x5E, + 0xE8, 0xEE, 0x4C, 0xE2, 0x54, 0x1B, 0xE9, 0xD7, 0xFA, 0x04, 0x4C, 0x71, 0x99, 0xE9, 0x3C, 0x17, + 0xCC, 0x3B, 0x68, 0xF2, 0xD1, 0x32, 0xDA, 0x08, 0x51, 0x70, 0x95, 0xD0, 0x34, 0xFE, 0x93, 0x5E, + 0x18, 0x2C, 0xFF, 0x72, 0x00, 0x12, 0x33, 0xEB, 0xB7, 0x95, 0xBB, 0x97, 0x2A, 0x36, 0x0E, 0x07, + 0x69, 0x2A, 0x39, 0x34, 0x06, 0x5F, 0x6B, 0x07, 0x01, 0x12, 0x86, 0x8C, 0xA1, 0xA6, 0x93, 0x4A, + 0x24, 0xEB, 0xC3, 0xFE, 0x5E, 0xBD, 0x5D, 0x9F, 0xD8, 0x9C, 0x79, 0x95, 0xF4, 0xA7, 0x16, 0x3C, + 0xED, 0xE2, 0x13, 0x48, 0xD6, 0xEA, 0x74, 0x8B, 0x29, 0xF8, 0x2A, 0xF2, 0x86, 0xB5, 0x70, 0x44, + 0x1A, 0x28, 0xFF, 0x99, 0x97, 0xFE, 0x8F, 0xC0, 0x47, 0x42, 0xBF, 0x81, 0x28, 0xF5, 0x76, 0x42, + 0x38, 0x64, 0x1D, 0xF7, 0xBC, 0x77, 0x81, 0xB6, 0x7D, 0xDA, 0xA3, 0x5C, 0x34, 0x9C, 0x26, 0x48, + 0x32, 0xA8, 0x77, 0x06, 0x88, 0x08, 0xAA, 0x3D, 0x14, 0x1A, 0xF1, 0xE1, 0x1D, 0xA3, 0x03, 0x25, + 0xFA, 0xB6, 0x8E, 0xC0, 0x4C, 0x4E, 0x0D, 0x5F, 0xAC, 0x9D, 0x95, 0x71, 0x80, 0xA6, 0x0F, 0x25, + 0x08, 0x95, 0xD5, 0xD3, 0x54, 0xAD, 0x8D, 0xD3, 0x51, 0xC1, 0xF3, 0xCB, 0x41, 0xB0, 0x08, 0x94, + 0x86, 0x94, 0x35, 0x0B, 0xEC, 0x66, 0x84, 0xA0, 0x26, 0x90, 0xFE, 0x2E, 0xE6, 0x05, 0x2B, 0xAA, + 0xE7, 0xD1, 0x13, 0xF1, 0x1B, 0x5D, 0x8A, 0x4B, 0x2D, 0xDB, 0x9C, 0x8B, 0xF0, 0xAD, 0xE4, 0x95, + 0xC0, 0xAC, 0x7A, 0xC5, 0xC3, 0xE8, 0x1B, 0x8C, 0x31, 0xF6, 0x74, 0xE7, 0xCA, 0x0E, 0x85, 0xA5, + 0xF5, 0x96, 0x80, 0xD7, 0x4C, 0x23, 0x78, 0x45, 0x07, 0x14, 0xE9, 0xC0, 0xF3, 0xAC, 0x64, 0xC5, + 0x05, 0x3B, 0xCF, 0x83, 0x5C, 0xA2, 0x78, 0x12, 0x0B, 0x41, 0x79, 0x7D, 0xFA, 0x7D, 0x69, 0x26, + 0xF2, 0xA3, 0x80, 0x2D, 0x88, 0x5A, 0xFD, 0x3F, 0xA2, 0x91, 0xDD, 0x51, 0x02, 0xC7, 0x80, 0xD4, + 0xA8, 0x29, 0xD1, 0x77, 0xA0, 0x15, 0x0B, 0xC1, 0x10, 0xDA, 0xD6, 0x53, 0xA3, 0xEE, 0xA3, 0x4F, + 0x4F, 0x47, 0xE4, 0xA6, 0x77, 0x91, 0xA0, 0x38, 0x12, 0xDD, 0x0B, 0xB2, 0x6C, 0xF2, 0x0F, 0x1F, + 0x32, 0x03, 0x41, 0x23, 0xCE, 0xA7, 0xA6, 0xB5, 0xED, 0x5F, 0x20, 0xC8, 0x10, 0xA0, 0xF0, 0x44, + 0x7F, 0x5D, 0x41, 0x13, 0x02, 0x67, 0x46, 0xB0, 0xA9, 0x98, 0xB1, 0xC5, 0x00, 0x12, 0xB6, 0x34, + 0xC8, 0x60, 0xE0, 0x2D, 0x7E, 0x29, 0x03, 0xB2, 0xEB, 0x83, 0x1F, 0xF4, 0x23, 0x75, 0xBF, 0xC7, + 0x01, 0x12, 0x90, 0xC0, 0xC6, 0x5C, 0x0A, 0x8C, 0x4F, 0x5A, 0xE0, 0x76, 0xDB, 0x8D, 0x76, 0x25, + 0x3C, 0x77, 0x11, 0x8E, 0x2E, 0xA6, 0x44, 0xC2, 0x78, 0x24, 0xD4, 0x9E, 0xA3, 0x84, 0xDC, 0xED, + 0x39, 0xD5, 0xCF, 0x78, 0x49, 0xF1, 0x6B, 0x33, 0x51, 0x58, 0xBD, 0x51, 0xE0, 0x87, 0x37, 0x77, + 0x88, 0xFB, 0xB2, 0x70, 0x18, 0xD6, 0x6A, 0x53, 0x45, 0x49, 0xBB, 0x15, 0x6C, 0x97, 0x92, 0x74, + 0xEB, 0xFE, 0x73, 0xEE, 0xC7, 0xB7, 0x17, 0xB8, 0x97, 0x68, 0x37, 0x00, 0x79, 0xEA, 0xB1, 0x60, + 0xFE, 0xE4, 0x94, 0xD5, 0xE5, 0x10, 0x5B, 0x56, 0x1C, 0x87, 0x24, 0x2A, 0x52, 0xFA, 0x92, 0x84, + 0xB1, 0x86, 0x7B, 0xBF, 0x05, 0xE9, 0xC4, 0xAE, 0xC2, 0x1E, 0x5D, 0x6A, 0xE8, 0x95, 0x61, 0x73, + 0x77, 0xC4, 0x2D, 0xC4, 0x07, 0x41, 0xF4, 0x12, 0x1B, 0x22, 0xA1, 0x64, 0xC3, 0x4F, 0x6F, 0x44, + 0x51, 0x18, 0x9A, 0xBD, 0xFC, 0xFE, 0xC1, 0x6F, 0x21, 0x75, 0x7D, 0xC8, 0x8E, 0x5E, 0xF5, 0xD1, + 0xAB, 0x05, 0x0E, 0xC7, 0x51, 0xC9, 0x2E, 0xBD, 0x99, 0x2F, 0xE1, 0x37, 0xB8, 0x6C, 0x6B, 0xA1, + 0x8F, 0x59, 0x2E, 0x27, 0xA5, 0x21, 0x2A, 0xF1, 0xE9, 0x15, 0x3B, 0x0D, 0x19, 0xD3, 0x71, 0xFB, + 0xF8, 0x9F, 0x12, 0x72, 0xC6, 0x3C, 0x71, 0x73, 0xE0, 0xCB, 0x11, 0x84, 0x33, 0xAE, 0xCF, 0xB6, + 0x3F, 0xD1, 0xA8, 0x0B, 0x55, 0x41, 0x36, 0x2D, 0xDA, 0x03, 0xAE, 0x2A, 0x59, 0xC0, 0xED, 0xBA, + 0xAB, 0x0E, 0x58, 0xA2, 0x38, 0x9D, 0xC9, 0xE8, 0x14, 0x6D, 0x6F, 0xDA, 0xED, 0x0A, 0x9E, 0x1B, + 0xA4, 0xA1, 0x40, 0xAF, 0x35, 0x54, 0x2B, 0xA2, 0xD2, 0xF9, 0xF2, 0xFB, 0xCD, 0x49, 0xFA, 0x50, + 0xF4, 0x18, 0x98, 0xD9, 0x3D, 0x42, 0x88, 0x6A, 0xB9, 0xCA, 0xC4, 0x32, 0xC4, 0xBF, 0x51, 0x79, + 0x02, 0x10, 0xC4, 0xB6, 0xD1, 0x0C, 0x9E, 0xAA, 0x45, 0x6C, 0xEA, 0x0B, 0xA7, 0x5B, 0x84, 0xE0, + 0x9E, 0x53, 0x46, 0xF6, 0x00, 0x12, 0x15, 0xFC, 0xAC, 0x55, 0x73, 0xB1, 0xCB, 0xDD, 0xC3, 0x2F, + 0xC3, 0xB0, 0x7F, 0xDD, 0x35, 0xC7, 0xFB, 0xA5, 0x01, 0x12, 0x01, 0xD2, 0xC4, 0x0C, 0x06, 0x13, + 0x9C, 0x91, 0x72, 0xEA, 0x2F, 0xD7, 0xA2, 0x0F, 0x80, 0xF3, 0xDC, 0xA9, 0x63, 0x01, 0xDD, 0x44, + 0x21, 0xD6, 0xF5, 0x21, 0x8B, 0xCF, 0x49, 0xE4, 0xCD, 0x62, 0xB5, 0x20, 0x2C, 0x13, 0x7B, 0x04, + 0x18, 0x3B, 0x43, 0xEF, 0x75, 0xE7, 0xAD, 0xB4, 0x55, 0x33, 0xBA, 0x97, 0x38, 0x8A, 0xA1, 0x08, + 0x59, 0xE1, 0x21, 0xC6, 0xEE, 0x5A, 0x46, 0xE9, 0x78, 0x21, 0x65, 0x21, 0x70, 0xB4, 0xD4, 0x49, + 0xBC, 0x07, 0x3A, 0xAA, 0x98, 0xC8, 0x6F, 0x59, 0xCA, 0xCE, 0xCB, 0x99, 0x06, 0x4B, 0xAE, 0xCC, + 0x42, 0xF6, 0x39, 0xCF, 0x77, 0x34, 0xA6, 0x11, 0x30, 0xA5, 0xD3, 0x91, 0x8A, 0x8C, 0x41, 0xBD, + 0x56, 0xD4, 0x9A, 0x04, 0xE8, 0x5F, 0x58, 0x52, 0xE4, 0xCC, 0x70, 0x7B, 0x9E, 0x71, 0x8E, 0x2B, + 0x0B, 0xFB, 0xDF, 0xB1, 0x2B, 0x90, 0x21, 0x1E, 0x59, 0x2A, 0xA8, 0x4B, 0x62, 0xE6, 0x81, 0xD0, + 0x27, 0x2C, 0x39, 0x1F, 0xD6, 0x84, 0xC9, 0x37, 0x1F, 0x8C, 0xD0, 0x5B, 0x0D, 0x87, 0xD6, 0x77, + 0xDF, 0x5D, 0x7F, 0x69, 0x82, 0xEF, 0x82, 0x7E, 0xD5, 0xCA, 0xEB, 0xA0, 0x1F, 0xFD, 0x33, 0xAB, + 0x0F, 0x1B, 0xCF, 0x61, 0xA8, 0x2D, 0xBC, 0x75, 0x43, 0x6F, 0xC2, 0xBA, 0x93, 0x3F, 0x77, 0x61, + 0x37, 0x03, 0x40, 0x84, 0xB7, 0x3F, 0x01, 0x47, 0xDA, 0x4A, 0xC8, 0xBF, 0x38, 0xA0, 0x30, 0x8E, + 0xCB, 0x36, 0xA7, 0xB1, 0x64, 0x81, 0xAB, 0xE6, 0x8C, 0x27, 0x2D, 0x0F, 0xBE, 0x15, 0x41, 0xED, + 0xAA, 0x46, 0xCE, 0x8B, 0x39, 0x60, 0xBA, 0xD1, 0x4B, 0x37, 0x95, 0xD6, 0xDB, 0xC8, 0x0B, 0x87, + 0x73, 0x69, 0x61, 0x86, 0xF4, 0xC7, 0xD3, 0xC0, 0xAD, 0xBD, 0x3D, 0x96, 0x55, 0xE6, 0x78, 0xC1, + 0xEF, 0xC0, 0x0D, 0xB0, 0x21, 0xF1, 0x44, 0x46, 0x3C, 0x5F, 0x92, 0x48, 0x4F, 0x07, 0xD5, 0x30, + 0x83, 0xED, 0xB3, 0x11, 0x23, 0x92, 0x5B, 0x1B, 0xC9, 0x37, 0xA1, 0x29, 0x00, 0x12, 0xAC, 0x3B, + 0xDA, 0xDA, 0x4D, 0xB6, 0xE1, 0xA5, 0xA1, 0x1E, 0xD8, 0x06, 0xE5, 0x1B, 0xCC, 0xB1, 0x02, 0x70, + 0x01, 0x12, 0x86, 0xBF, 0x07, 0x1F, 0x38, 0x57, 0x6D, 0x74, 0xD9, 0xBA, 0x07, 0x2B, 0x7A, 0x6C, + 0x72, 0xE0, 0xB6, 0x84, 0xB7, 0xF9, 0x28, 0x8F, 0x8D, 0x14, 0xB1, 0xEA, 0x7D, 0xEF, 0xA3, 0x98, + 0xF0, 0xEF, 0xDC, 0xC2, 0x72, 0xDB, 0xFE, 0x44, 0x0F, 0x2A, 0xBE, 0xD3, 0xE4, 0xD7, 0xB3, 0x11, + 0xDE, 0xD2, 0x13, 0xD8, 0x1A, 0x4B, 0x8B, 0x20, 0x45, 0x1F, 0xF6, 0x96, 0x90, 0xF1, 0xA6, 0x7D, + 0x5E, 0xBB, 0x59, 0x7C, 0x2E, 0x41, 0x56, 0xF3, 0x63, 0x54, 0x2E, 0xFB, 0xE5, 0xE8, 0x7F, 0xD7, + 0x03, 0xA2, 0x9E, 0xC0, 0x0F, 0x70, 0x38, 0xD9, 0x57, 0x44, 0xC6, 0x79, 0xA2, 0xED, 0xAC, 0x3F, + 0xD1, 0x29, 0xF8, 0x60, 0xE2, 0x57, 0x8F, 0x2A, 0x18, 0x1F, 0x73, 0xD1, 0x87, 0x28, 0x0C, 0x63, + 0xF6, 0x54, 0xA5, 0x7B, 0xCE, 0x97, 0xA9, 0xAD, 0x07, 0x52, 0x38, 0xE5, 0x07, 0xD9, 0xBC, 0x6B, + 0x66, 0xFB, 0xE5, 0x94, 0xDB, 0x2D, 0xC4, 0x87, 0x8D, 0xE5, 0x7E, 0x1D, 0xC1, 0xF9, 0xB7, 0xB0, + 0x78, 0x15, 0x72, 0x71, 0xF1, 0x51, 0xC5, 0xE5, 0xAD, 0x69, 0x20, 0xA7, 0xD4, 0xF0, 0x64, 0x30, + 0xDD, 0x6D, 0x7A, 0x31, 0x53, 0xFE, 0x3E, 0xDB, 0x4E, 0xA6, 0x75, 0x51, 0xB8, 0x0A, 0xC4, 0x3A, + 0xC5, 0xAB, 0x85, 0x20, 0xB9, 0x57, 0xEA, 0x04, 0x08, 0xDC, 0x9F, 0x85, 0xD0, 0xE1, 0xE9, 0xB3, + 0x47, 0xA4, 0x21, 0x1F, 0x36, 0xDE, 0x59, 0xF8, 0x95, 0x80, 0x04, 0x7A, 0xA8, 0x76, 0x2B, 0x61, + 0xDD, 0x26, 0x44, 0xFD, 0x9A, 0xCD, 0x45, 0x13, 0xCE, 0x5F, 0x0B, 0xE7, 0x68, 0x2F, 0xFD, 0x08, + 0xAA, 0x4F, 0x4F, 0x28, 0xE0, 0x27, 0xD6, 0x35, 0x84, 0xEC, 0xC5, 0x34, 0x7B, 0x8E, 0x1B, 0xD8, + 0xDD, 0x9A, 0xFE, 0xD9, 0x9D, 0x23, 0x45, 0xCD, 0x5E, 0x9D, 0xBA, 0x0D, 0xC0, 0x46, 0xEF, 0x8F, + 0x35, 0x23, 0xA4, 0x78, 0xF6, 0x3C, 0x40, 0x9F, 0x34, 0x3E, 0xB4, 0xB3, 0xD0, 0x27, 0x47, 0x40, + 0x8F, 0xFF, 0xE0, 0xE8, 0x00, 0x12, 0xD3, 0x05, 0x6A, 0xA3, 0x6E, 0x38, 0x22, 0x74, 0x3C, 0x54, + 0x3D, 0x1E, 0xD1, 0xD3, 0x87, 0xD7, 0x1C, 0x5E, 0x01, 0x12, 0x7C, 0xFE, 0x62, 0xED, 0x91, 0x48, + 0xC9, 0xC4, 0x49, 0x72, 0x9F, 0x62, 0xCE, 0x0E, 0xD6, 0x87, 0x77, 0x23, 0xCD, 0xA4, 0xC1, 0x5D, + 0x96, 0x4C, 0x47, 0x7A, 0x7C, 0xA5, 0xBD, 0x09, 0xEC, 0x5B, 0x9F, 0xFA, 0x65, 0x63, 0x59, 0x89, + 0x30, 0xCD, 0xE2, 0xA0, 0x70, 0x42, 0x59, 0x99, 0x2F, 0x63, 0xB1, 0x42, 0x90, 0x40, 0x8D, 0x3F, + 0x8A, 0xF1, 0x03, 0x3F, 0x10, 0x58, 0x29, 0x4C, 0xFD, 0xC8, 0xAF, 0x22, 0xBC, 0x2D, 0xFF, 0xBC, + 0x20, 0x8F, 0xE4, 0x92, 0x29, 0x3F, 0x6B, 0xA3, 0xA2, 0xF3, 0xF1, 0xA1, 0x08, 0xC2, 0x4E, 0xD9, + 0x46, 0x33, 0x0F, 0xAA, 0x0C, 0x69, 0x87, 0xFD, 0x6B, 0x5B, 0x39, 0x1A, 0xE2, 0x8B, 0xEC, 0xFE, + 0xCD, 0xDF, 0x99, 0x01, 0xBF, 0x42, 0x58, 0xC6, 0xA8, 0x1E, 0x2A, 0x49, 0xB6, 0x0F, 0xDD, 0xF3, + 0x0E, 0x63, 0xB9, 0xFA, 0x00, 0xAF, 0x10, 0xF6, 0xCA, 0xAD, 0x3A, 0xA2, 0xE2, 0xD3, 0x16, 0x9D, + 0x93, 0xBA, 0x37, 0x6C, 0xAD, 0xC2, 0x67, 0x78, 0xAC, 0x56, 0xD3, 0x51, 0x41, 0x2E, 0xD2, 0x64, + 0xE5, 0xBB, 0xB2, 0x26, 0x5A, 0x48, 0x11, 0x95, 0x09, 0x2A, 0xEA, 0x47, 0x01, 0x08, 0x96, 0xA0, + 0xDA, 0xA4, 0x11, 0x98, 0xEE, 0x71, 0xD7, 0x87, 0x8E, 0xA9, 0xAD, 0x8D, 0x79, 0x6D, 0xD7, 0x64, + 0x9E, 0x53, 0x72, 0xC5, 0xCB, 0x23, 0xD9, 0x7E, 0x69, 0xC3, 0x41, 0xDB, 0xAA, 0x54, 0x71, 0xA1, + 0x93, 0xA7, 0x67, 0x24, 0x09, 0x13, 0x93, 0x6F, 0x86, 0x28, 0x1B, 0xAA, 0x33, 0xD9, 0xC4, 0xB9, + 0x4A, 0x55, 0xDB, 0x24, 0xD2, 0xAA, 0x9B, 0x5F, 0xE8, 0x8D, 0xDB, 0x99, 0x80, 0xE4, 0x05, 0xFE, + 0x47, 0xC7, 0x57, 0x35, 0x19, 0xE9, 0xEA, 0x4B, 0xB5, 0xF8, 0x35, 0xEF, 0xD7, 0x28, 0x87, 0xF0, + 0x9D, 0xE9, 0x6A, 0xA0, 0xD6, 0x08, 0x13, 0x17, 0x61, 0xAD, 0xEA, 0x1D, 0x73, 0x22, 0xA8, 0x90, + 0x49, 0x2B, 0x78, 0xA7, 0xED, 0xF6, 0x25, 0xFA, 0x63, 0x5C, 0xF4, 0xF3, 0x00, 0x12, 0x2A, 0x4F, + 0x38, 0x96, 0xAA, 0x20, 0xE4, 0xF7, 0x2B, 0xA1, 0xF6, 0x83, 0xFF, 0x90, 0x5C, 0x04, 0xCC, 0x0F, + 0x01, 0x12, 0x83, 0x1E, 0xDF, 0x46, 0x2B, 0x60, 0x62, 0xC0, 0x2B, 0x1C, 0xC4, 0x11, 0x55, 0x03, + 0xCE, 0xA8, 0x10, 0x8D, 0x49, 0x58, 0x8C, 0xFF, 0x41, 0xBE, 0x54, 0xD8, 0x4F, 0xBC, 0x41, 0x98, + 0xE8, 0xE3, 0xE5, 0xA8, 0x71, 0xD6, 0x41, 0x97, 0xA5, 0x57, 0xD9, 0xDD, 0xBF, 0x4C, 0x5C, 0x16, + 0xF9, 0x5D, 0xDD, 0x09, 0x2C, 0x28, 0x16, 0x67, 0x7A, 0xBB, 0xD5, 0x00, 0x0C, 0x0A, 0x4B, 0x93, + 0x86, 0x75, 0xE5, 0xCF, 0x46, 0xFA, 0x10, 0x79, 0xDF, 0xE8, 0xB3, 0x17, 0x41, 0xFE, 0x47, 0x73, + 0x7B, 0xF2, 0x3B, 0x37, 0xAF, 0x73, 0x69, 0x45, 0xDE, 0x22, 0x72, 0xDA, 0xE6, 0x5D, 0xCF, 0xFD, + 0x84, 0xC8, 0x5F, 0x12, 0x11, 0xC9, 0xB5, 0x6E, 0x0A, 0x59, 0x2C, 0x07, 0x34, 0xB6, 0x27, 0x3A, + 0x9A, 0x4A, 0xED, 0x6B, 0x02, 0xB6, 0x35, 0xAC, 0xB6, 0xB3, 0xBC, 0xF3, 0xED, 0xB9, 0x70, 0xDD, + 0x37, 0x0B, 0x8F, 0x58, 0x6A, 0xFD, 0xD5, 0x51, 0xA7, 0x7D, 0xE7, 0xDA, 0x69, 0x92, 0xA5, 0x0B, + 0x3D, 0x0D, 0x31, 0x00, 0x6C, 0x41, 0x5D, 0x72, 0xA0, 0xBE, 0x96, 0x81, 0x3D, 0x24, 0xF1, 0xE6, + 0xBB, 0x6B, 0xFB, 0x23, 0x5F, 0x75, 0xC2, 0x93, 0xA1, 0x3E, 0x0D, 0xD5, 0x7B, 0x35, 0x19, 0x60, + 0x94, 0x62, 0x82, 0xD0, 0x64, 0x65, 0x7C, 0xD8, 0x88, 0x7F, 0xBC, 0xE6, 0x37, 0xD4, 0x34, 0xE1, + 0x56, 0x11, 0xA3, 0xFC, 0x46, 0x6B, 0x13, 0xA3, 0xE5, 0x5C, 0x0B, 0x24, 0x65, 0x25, 0x02, 0x77, + 0x78, 0x92, 0x91, 0xDE, 0xE3, 0xDF, 0x72, 0xA9, 0x9A, 0xD2, 0x69, 0x78, 0x0A, 0xE2, 0xA3, 0x83, + 0xE0, 0x0E, 0xB3, 0xFF, 0xD5, 0xD3, 0x47, 0xDF, 0xDA, 0x5B, 0xEA, 0x5C, 0x1E, 0x40, 0x83, 0xFC, + 0xE2, 0x3D, 0x08, 0x76, 0x23, 0xE7, 0xB6, 0xD9, 0xAB, 0x7D, 0xE1, 0xB4, 0x84, 0x62, 0x86, 0x16, + 0x4F, 0x2E, 0xA4, 0x3D, 0x73, 0xDB, 0x49, 0x79, 0xAE, 0x76, 0x8A, 0x03, 0x8F, 0x0C, 0xBE, 0x17, + 0xB7, 0x2A, 0xD9, 0xD1, 0x00, 0x12, 0x2B, 0xCB, 0x8D, 0xDF, 0x2F, 0xAB, 0xC7, 0xE4, 0x6C, 0x72, + 0xEA, 0x3C, 0x96, 0x70, 0x05, 0xC2, 0x4A, 0x6B, 0x01, 0x12, 0x6B, 0xBD, 0x50, 0xAE, 0x23, 0x55, + 0x3B, 0x35, 0x51, 0xC8, 0x56, 0x3D, 0x71, 0x9E, 0xB4, 0xDE, 0x3B, 0xBF, 0x62, 0x5A, 0xE2, 0x57, + 0xE4, 0xA9, 0xC3, 0xA1, 0xF7, 0xB6, 0xD8, 0xDA, 0x07, 0x8D, 0x30, 0x6D, 0xDE, 0x9A, 0x8B, 0x12, + 0x83, 0xE9, 0xEF, 0xDB, 0x9E, 0x8F, 0x14, 0xEF, 0x52, 0x39, 0xAD, 0x1E, 0xE8, 0x3B, 0x33, 0xE3, + 0x88, 0x5F, 0x3E, 0xE5, 0xAE, 0x51, 0x2C, 0xED, 0xD4, 0x6B, 0x76, 0xA6, 0x05, 0xA3, 0x57, 0xB0, + 0x6F, 0xBA, 0xE5, 0x40, 0x55, 0xF4, 0x24, 0x53, 0xFB, 0xF1, 0xB7, 0x94, 0x9E, 0x18, 0xC7, 0x11, + 0xEE, 0x7E, 0x89, 0xCD, 0x84, 0xE4, 0x8E, 0xCC, 0x6A, 0xFB, 0x97, 0x84, 0x51, 0x2E, 0x30, 0x46, + 0x87, 0x49, 0x13, 0xBB, 0x44, 0x27, 0x5D, 0xD4, 0x88, 0xAC, 0xD5, 0x66, 0x48, 0xC5, 0x55, 0xF2, + 0x3C, 0x93, 0x4F, 0x3F, 0x40, 0x1E, 0xDB, 0xA6, 0xC8, 0x59, 0x2F, 0xE6, 0x20, 0x0B, 0xBE, 0xD4, + 0xE7, 0xAF, 0xD4, 0xBB, 0x16, 0xD8, 0xC4, 0xBF, 0xCB, 0x98, 0x32, 0x76, 0x8C, 0x36, 0x60, 0xBF, + 0x27, 0x5A, 0x8A, 0x3B, 0x7D, 0x19, 0x9C, 0x29, 0x7F, 0x85, 0x8A, 0x73, 0x4E, 0xB6, 0xE2, 0xC4, + 0xFA, 0x39, 0x82, 0xDF, 0x0B, 0xDA, 0x61, 0xE0, 0x57, 0xB6, 0x2B, 0x1D, 0xE6, 0x08, 0xDF, 0xF3, + 0xAD, 0x28, 0xC2, 0xF5, 0xA2, 0x5A, 0xA1, 0xF8, 0x34, 0x93, 0x3F, 0xBF, 0xAF, 0x64, 0xC7, 0xDA, + 0x42, 0x72, 0x90, 0x3F, 0x6F, 0x61, 0x50, 0xFF, 0x2C, 0xE6, 0xB0, 0x29, 0xE2, 0x7C, 0x5C, 0xE7, + 0x3A, 0x6C, 0x58, 0xEB, 0xB5, 0x75, 0xFD, 0xE4, 0x77, 0x32, 0x74, 0x63, 0x35, 0xA4, 0x59, 0x15, + 0x4F, 0x87, 0x84, 0xF4, 0x23, 0x1A, 0x8E, 0xB3, 0x31, 0x5D, 0xD4, 0xBD, 0x22, 0xA7, 0x2B, 0x0B, + 0xCB, 0x6A, 0xA3, 0xAD, 0xAF, 0x7D, 0x04, 0xCD, 0x92, 0xE2, 0x24, 0x75, 0x8E, 0x13, 0xD7, 0x88, + 0x93, 0xBA, 0x93, 0xB4, 0x7D, 0x82, 0x82, 0x9F, 0xCE, 0x34, 0xCE, 0x56, 0x00, 0x12, 0x99, 0xA8, + 0xAB, 0xEC, 0x4F, 0xF4, 0x5F, 0x5D, 0x04, 0x9E, 0x82, 0x33, 0xA9, 0x29, 0xF7, 0x18, 0xDE, 0xA3, + 0x01, 0x12, 0x73, 0x0B, 0x6A, 0xFC, 0x1E, 0x15, 0xA6, 0xC7, 0x94, 0xE8, 0x5E, 0x25, 0xBC, 0x67, + 0x28, 0x8F, 0x00, 0x38, 0xC9, 0x6F, 0x50, 0x6D, 0x8B, 0xFF, 0xCC, 0xC8, 0x05, 0xBC, 0xB1, 0xD3, + 0x57, 0x7A, 0xB7, 0xE7, 0x96, 0xEE, 0xD8, 0x35, 0x0E, 0x1B, 0xBE, 0x0B, 0x1F, 0x4A, 0xC2, 0x62, + 0x6F, 0x36, 0x89, 0xB8, 0xEF, 0xC5, 0x40, 0x0D, 0x7A, 0xCD, 0x9D, 0xA3, 0xA1, 0x95, 0xFF, 0xBE, + 0x99, 0x28, 0xAF, 0x4E, 0x14, 0x68, 0x57, 0x6C, 0xA9, 0x69, 0x6C, 0xBC, 0x49, 0xCF, 0x66, 0x98, + 0x9D, 0xBE, 0xB7, 0x90, 0x9B, 0x3B, 0x0F, 0xF3, 0x3E, 0x83, 0xF2, 0x92, 0x18, 0x14, 0xF8, 0xE6, + 0x78, 0x74, 0xC1, 0xB1, 0x9A, 0x9B, 0xD4, 0x07, 0xEA, 0x93, 0x3C, 0x23, 0x53, 0x57, 0xCA, 0xEE, + 0x4E, 0x66, 0xD2, 0x0D, 0x43, 0xA8, 0xFC, 0x17, 0xFD, 0x57, 0x93, 0x7B, 0x6C, 0x5B, 0x13, 0x0D, + 0x51, 0xA8, 0x52, 0xEE, 0x72, 0xBC, 0xB9, 0xD9, 0x4D, 0x57, 0x7A, 0x3B, 0xAB, 0x01, 0xD9, 0x8F, + 0x0D, 0xF1, 0xC6, 0xE4, 0xDC, 0xA3, 0xB2, 0x04, 0x44, 0xAF, 0x0B, 0x94, 0xE8, 0x44, 0x02, 0x76, + 0xDE, 0xA8, 0x53, 0x3F, 0xC1, 0x53, 0x9B, 0x36, 0x92, 0x99, 0x54, 0x3E, 0x16, 0x14, 0x2D, 0x5D, + 0xF7, 0x78, 0xE0, 0x4D, 0x96, 0xB1, 0xD4, 0x59, 0xD0, 0x85, 0x57, 0x76, 0xC8, 0x77, 0x98, 0x38, + 0x01, 0xEF, 0xF0, 0x0D, 0x05, 0xB8, 0x2F, 0x9B, 0x4D, 0x0E, 0xC1, 0x3A, 0x3A, 0xA6, 0x9D, 0x6B, + 0xAF, 0x91, 0x87, 0x2E, 0xA6, 0x59, 0x27, 0x78, 0xF6, 0x74, 0x22, 0x35, 0xE4, 0xD0, 0x83, 0xE2, + 0x81, 0xD3, 0xCC, 0xE3, 0xE4, 0xE3, 0xFD, 0x12, 0x7B, 0x10, 0x7D, 0x2E, 0x5E, 0x58, 0x43, 0xA4, + 0x33, 0xBC, 0x5E, 0xB6, 0xE8, 0x8A, 0x85, 0x41, 0x04, 0xD9, 0xB9, 0xE9, 0x3F, 0xD7, 0xA4, 0xE9, + 0xDF, 0x64, 0x3E, 0x45, 0x54, 0xD5, 0x6E, 0xB6, 0x93, 0x37, 0x64, 0x55, 0xEA, 0x4B, 0x03, 0x5E, + 0x1C, 0xB2, 0xA5, 0x74, 0x00, 0x12, 0x51, 0xBD, 0x30, 0x37, 0x6A, 0xE4, 0x43, 0xEE, 0x79, 0x87, + 0x00, 0xB0, 0x7E, 0x4A, 0x2C, 0x22, 0x39, 0x51, 0x01, 0x12, 0x6B, 0x69, 0x3C, 0xB1, 0x19, 0x6C, + 0xC6, 0x8A, 0xEC, 0x14, 0x9C, 0x19, 0xCF, 0x41, 0xF0, 0x28, 0xAC, 0x98, 0x8C, 0x05, 0x9E, 0x03, + 0x26, 0xA8, 0x8E, 0x6D, 0xD3, 0x2C, 0x71, 0x01, 0xF5, 0xC8, 0xF7, 0x5A, 0x27, 0x39, 0xEA, 0xB2, + 0x4B, 0x65, 0x74, 0xC4, 0x6C, 0x7A, 0x43, 0x55, 0x6F, 0x54, 0x9A, 0x26, 0x22, 0x4F, 0x2B, 0x28, + 0x52, 0x3C, 0x3E, 0x5A, 0xB0, 0x28, 0x5B, 0x33, 0x85, 0xB6, 0xCF, 0x2C, 0xC1, 0x7C, 0xEB, 0xA0, + 0xD7, 0x56, 0xB6, 0x7E, 0xD7, 0xEF, 0xB1, 0x27, 0x7D, 0x0B, 0x97, 0x0D, 0x11, 0xF7, 0x9B, 0x9B, + 0x32, 0x25, 0x9C, 0xC6, 0x19, 0xF4, 0xFD, 0x82, 0x30, 0x3D, 0xB8, 0x72, 0x88, 0xEF, 0x04, 0x7C, + 0x83, 0xA5, 0xBC, 0xFB, 0x76, 0xAA, 0x0E, 0x10, 0xBA, 0x17, 0xF0, 0x8E, 0x22, 0xE4, 0xB0, 0x40, + 0x41, 0x78, 0xAA, 0xD0, 0xF4, 0x63, 0xFB, 0xC8, 0x12, 0xCD, 0xCA, 0x3D, 0x7E, 0x2C, 0x48, 0xFF, + 0x49, 0x75, 0xA8, 0x7E, 0x29, 0x79, 0x8F, 0x69, 0x98, 0xA7, 0x59, 0xEF, 0x1A, 0xC4, 0x55, 0xC0, + 0x94, 0xFC, 0x0D, 0xC2, 0x65, 0x48, 0xBE, 0x33, 0xD2, 0xE5, 0xB6, 0x79, 0x9D, 0xE6, 0xEF, 0x5A, + 0x62, 0xB6, 0x33, 0xF7, 0x70, 0xE3, 0x08, 0x69, 0x2A, 0xDC, 0xF6, 0x2A, 0x3A, 0xC0, 0xD5, 0x83, + 0x09, 0xAC, 0xDA, 0x69, 0x4B, 0xD8, 0x5A, 0x7B, 0x56, 0xB1, 0xFC, 0x46, 0xF7, 0x17, 0x01, 0x55, + 0xEE, 0xF1, 0xB0, 0x44, 0x35, 0x4F, 0x51, 0x7A, 0x9C, 0x7C, 0x7C, 0xF1, 0x6F, 0x9E, 0xFA, 0x0F, + 0xFF, 0xF2, 0x1B, 0xE3, 0x60, 0x75, 0x13, 0xCF, 0x7F, 0xDB, 0x4E, 0x17, 0x18, 0x87, 0x5B, 0x8D, + 0xB6, 0x74, 0x3C, 0x80, 0xD2, 0xAE, 0xA9, 0xE4, 0xE1, 0xB8, 0x24, 0x1E, 0x79, 0xF8, 0x24, 0xEB, + 0x8E, 0x41, 0xF5, 0xD3, 0x02, 0xC3, 0x4A, 0x42, 0xBB, 0xF9, 0x69, 0xD2, 0x87, 0x1A, 0x54, 0x14, + 0x08, 0xC1, 0xA2, 0xF4, 0x18, 0x80, 0xA5, 0xDF, 0xFD, 0xD3, 0x25, 0xAA, 0x00, 0x12, 0x19, 0x3E, + 0x93, 0xE2, 0x21, 0x47, 0xAE, 0xAD, 0x47, 0xA7, 0x84, 0xAF, 0x0A, 0xE9, 0x1B, 0x06, 0xEB, 0x39, + 0x01, 0x12, 0x65, 0xFC, 0x16, 0x93, 0xB6, 0x01, 0x30, 0xD7, 0x5C, 0xAF, 0xB4, 0x9F, 0x6C, 0xB1, + 0xA7, 0xEF, 0x1F, 0xA8, 0x82, 0xC8, 0xD9, 0x9D, 0xFE, 0x5C, 0x3E, 0x5F, 0xD9, 0xA9, 0xA2, 0x16, + 0x95, 0x10, 0x5E, 0x65, 0xB0, 0xDC, 0x64, 0xEB, 0x17, 0xC0, 0x1D, 0x34, 0xFC, 0x46, 0x05, 0xF3, + 0x20, 0x25, 0x0B, 0x3C, 0x28, 0x78, 0xE3, 0xB5, 0x5E, 0x0F, 0x59, 0x5F, 0xBA, 0x22, 0xCF, 0x8C, + 0x5D, 0x69, 0xAA, 0x2F, 0x21, 0xE9, 0xDD, 0x66, 0xF2, 0xD6, 0x38, 0xE5, 0xEE, 0x33, 0x90, 0x60, + 0xF0, 0xA0, 0x5F, 0xA8, 0x77, 0x81, 0xE4, 0x88, 0x11, 0x07, 0x55, 0xCA, 0xA3, 0x77, 0x39, 0x2C, + 0x78, 0x9B, 0xC0, 0x2B, 0xF3, 0xE1, 0x04, 0x0C, 0x5B, 0x36, 0x3E, 0x1A, 0x5A, 0x65, 0x38, 0xA6, + 0xEA, 0x6D, 0x70, 0xC3, 0x11, 0xD2, 0x8E, 0x7D, 0x31, 0x7F, 0xC0, 0x4C, 0x64, 0x2D, 0xF3, 0x73, + 0xD7, 0x48, 0xC2, 0xBE, 0x9C, 0xD5, 0x35, 0xFF, 0x0F, 0x71, 0xC3, 0x52, 0x9B, 0xC4, 0x19, 0xAA, + 0x33, 0xBC, 0x11, 0x20, 0x91, 0x0E, 0x30, 0xC9, 0xF2, 0x5F, 0x3B, 0x3A, 0xF7, 0xE4, 0x08, 0x4B, + 0x12, 0xDD, 0xFC, 0x34, 0x8D, 0x9F, 0x83, 0x71, 0x8E, 0x31, 0xB6, 0x7F, 0x67, 0x36, 0x14, 0x39, + 0xFE, 0x66, 0x3F, 0xC0, 0x72, 0x36, 0x37, 0xC5, 0x51, 0x45, 0x75, 0xC6, 0xD0, 0x3A, 0xFC, 0xB2, + 0xCA, 0xC0, 0x49, 0x47, 0xFE, 0x69, 0x65, 0xC0, 0xC0, 0x02, 0x77, 0x4D, 0x56, 0x53, 0x83, 0x73, + 0x3D, 0x33, 0x7A, 0x59, 0x2F, 0x13, 0x00, 0xF0, 0x0E, 0x47, 0x34, 0x9C, 0xCF, 0x5D, 0xC9, 0x4D, + 0xCA, 0x1F, 0xE9, 0x0C, 0xD7, 0xA1, 0x77, 0xC3, 0x91, 0x3A, 0x53, 0x06, 0xE0, 0x93, 0x35, 0xF3, + 0xC7, 0x59, 0xFC, 0xC2, 0x63, 0xBB, 0x22, 0x3A, 0x66, 0x6E, 0xDC, 0x2E, 0xFE, 0xDD, 0xEA, 0x05, + 0xD8, 0xFD, 0x74, 0xA9, 0xB3, 0x2D, 0x38, 0x62, 0x42, 0x90, 0x9D, 0x1E, 0x7B, 0x28, 0x49, 0x06, + 0x56, 0x22, 0xB5, 0x3F, 0x00, 0x12, 0x07, 0xE6, 0x0B, 0xAC, 0x1D, 0xFD, 0x29, 0x6C, 0x29, 0xE5, + 0x15, 0x06, 0xD0, 0x11, 0xC8, 0xC9, 0xE1, 0xF9, 0x01, 0x12, 0x74, 0x18, 0x47, 0x52, 0xE1, 0xB0, + 0x74, 0x9A, 0x3A, 0x04, 0x23, 0xE4, 0x09, 0x93, 0x22, 0x5B, 0x2D, 0xA6, 0xDE, 0xC3, 0xF4, 0x42, + 0xA3, 0x37, 0x1D, 0xBA, 0xD6, 0x1A, 0x7F, 0xE0, 0xC1, 0x0A, 0x5C, 0xE2, 0x24, 0x7D, 0x31, 0x89, + 0x46, 0x1F, 0x78, 0xCD, 0x23, 0xDF, 0x38, 0x19, 0xB5, 0xBD, 0xBB, 0x3A, 0x16, 0x39, 0x64, 0x13, + 0x3E, 0x73, 0x34, 0x7B, 0xB9, 0xBE, 0x46, 0x66, 0x08, 0x64, 0x97, 0x5F, 0xB7, 0x51, 0xE9, 0xF7, + 0xD4, 0x33, 0xB0, 0x86, 0xD3, 0x6A, 0xEB, 0x69, 0xAF, 0xE0, 0xD9, 0x59, 0x45, 0x00, 0xF5, 0xB2, + 0x86, 0xB9, 0x16, 0x9E, 0x55, 0xD2, 0xA2, 0x35, 0xB9, 0x30, 0x46, 0xA1, 0x35, 0xD8, 0x4D, 0x40, + 0xEC, 0x98, 0x35, 0x2E, 0x22, 0x22, 0xD6, 0xBF, 0x86, 0x7F, 0xC4, 0x35, 0x5E, 0xCB, 0x11, 0xAF, + 0x49, 0x4B, 0xE0, 0x58, 0x58, 0x0D, 0xFD, 0xF1, 0x58, 0xCA, 0x0D, 0x06, 0x61, 0xA3, 0x48, 0x32, + 0x52, 0x94, 0xEF, 0x39, 0x03, 0xD3, 0xF5, 0x8B, 0x28, 0x48, 0xF0, 0xD8, 0x44, 0x2D, 0x35, 0xD4, + 0x0A, 0x90, 0xC4, 0xE4, 0x24, 0x21, 0x15, 0x8E, 0x80, 0x0A, 0x2F, 0x79, 0xA4, 0xBF, 0x48, 0x48, + 0x6D, 0xDB, 0xD6, 0xC9, 0xB6, 0x55, 0xD7, 0xB2, 0x34, 0xF0, 0xD5, 0xC5, 0x69, 0x2C, 0x52, 0xEF, + 0x08, 0x59, 0x7F, 0x39, 0xC1, 0x04, 0x37, 0xC8, 0x79, 0xA7, 0x8A, 0x0F, 0x9E, 0xE4, 0x3E, 0xF9, + 0xF2, 0xD2, 0x4D, 0xD5, 0x7E, 0x88, 0xEC, 0x85, 0x6E, 0x9D, 0x09, 0x80, 0xBB, 0x1C, 0x3D, 0x8E, + 0x61, 0x15, 0xC2, 0x90, 0x7E, 0xD2, 0x98, 0xEB, 0x28, 0xD4, 0xC0, 0x86, 0xE4, 0x2B, 0x99, 0x49, + 0x6D, 0x25, 0x5E, 0x07, 0xDA, 0x07, 0x33, 0xFF, 0x6D, 0xF0, 0x33, 0x2C, 0x2B, 0x4B, 0x2C, 0xED, + 0xCA, 0x0C, 0xE4, 0x7B, 0x93, 0x2E, 0xBE, 0xED, 0x91, 0xBB, 0xE5, 0xAA, 0xF5, 0x08, 0x42, 0xB7, + 0xEF, 0xBF, 0xBE, 0x0E, 0xA8, 0x94, 0x06, 0x5B, 0x77, 0x23, 0xBC, 0xE5, 0x00, 0x12, 0x7D, 0xAA, + 0xE8, 0x46, 0x89, 0x1D, 0x36, 0xD3, 0xE5, 0xD1, 0xEE, 0x1A, 0x38, 0x0B, 0xF9, 0x98, 0x45, 0x83, + 0x01, 0x12, 0xA4, 0xC0, 0xE2, 0xB9, 0xFF, 0x79, 0x73, 0xDF, 0xCC, 0x8D, 0xF5, 0x68, 0x67, 0x79, + 0x8E, 0x93, 0x3E, 0xCB, 0xFB, 0xFD, 0x83, 0x2A, 0x14, 0xF3, 0xCA, 0xD2, 0xE2, 0x1F, 0x1C, 0x33, + 0xCE, 0xF3, 0x9E, 0x23, 0x32, 0xC0, 0xE9, 0x46, 0x4C, 0x57, 0xDE, 0x08, 0x65, 0x25, 0x92, 0x19, + 0xE8, 0x41, 0x6E, 0xBF, 0xEE, 0x0B, 0xCE, 0xE9, 0x43, 0xA0, 0x51, 0x18, 0x13, 0x76, 0x6A, 0xCC, + 0xFD, 0xD5, 0xDA, 0x5B, 0x5E, 0x99, 0x5F, 0x40, 0xDE, 0xD4, 0x0D, 0x12, 0xCC, 0xA4, 0xAE, 0xC3, + 0xBA, 0x34, 0x20, 0xB6, 0x5E, 0x87, 0xD1, 0xFC, 0x65, 0x6A, 0x43, 0xA5, 0x54, 0xB2, 0xFB, 0x1E, + 0xF6, 0xF2, 0xBE, 0x38, 0x86, 0x24, 0xC1, 0x89, 0x48, 0xE4, 0xCF, 0xBA, 0x04, 0x25, 0xAC, 0xBA, + 0xCA, 0xBF, 0x20, 0x70, 0x59, 0xFD, 0x99, 0xA4, 0xE5, 0x4D, 0xE8, 0x38, 0x0E, 0x2A, 0x41, 0x13, + 0x04, 0x14, 0x7A, 0x4D, 0xDA, 0x0D, 0xBA, 0xED, 0xD8, 0xCE, 0x84, 0x5F, 0x43, 0x0E, 0x55, 0x49, + 0xEB, 0xBA, 0x7C, 0x7C, 0x99, 0x17, 0x6C, 0xD9, 0x95, 0x1B, 0xE5, 0x50, 0x13, 0x64, 0x8E, 0xA9, + 0x71, 0x71, 0xF8, 0xA8, 0x05, 0xAE, 0x7A, 0x49, 0xBE, 0xF7, 0x21, 0x9A, 0xD9, 0xCC, 0xD6, 0x5F, + 0xEC, 0x15, 0x54, 0x36, 0x98, 0x30, 0x58, 0xB0, 0x6D, 0xD4, 0x9F, 0x93, 0xB6, 0xFF, 0x40, 0x45, + 0x44, 0x20, 0x21, 0xC9, 0x23, 0x1E, 0xD8, 0x17, 0xBC, 0x1A, 0xF6, 0x5D, 0x9C, 0x36, 0x40, 0xED, + 0x58, 0x43, 0xB8, 0x30, 0xD9, 0xE6, 0xD9, 0xE0, 0x0E, 0x7F, 0xBE, 0x1D, 0xC9, 0x6C, 0xF9, 0xDD, + 0xAB, 0xB8, 0x25, 0x66, 0xD2, 0x89, 0x58, 0x92, 0x1E, 0x68, 0xDA, 0xA8, 0x58, 0x9B, 0x36, 0xBD, + 0xFF, 0xA5, 0x75, 0x4D, 0x6A, 0xA7, 0xE4, 0x6C, 0xED, 0xF6, 0x26, 0xE0, 0x63, 0xB0, 0xA9, 0xEE, + 0xE1, 0x18, 0xFE, 0x00, 0xB9, 0x51, 0x11, 0xDE, 0x3F, 0x9A, 0x8B, 0x10, 0xBB, 0x4A, 0xB8, 0x6A, + 0x1C, 0x50, 0x96, 0x39, 0x00, 0x12, 0xE0, 0x4C, 0xC7, 0x21, 0x7C, 0x2E, 0xCA, 0x58, 0x1F, 0xE2, + 0xE3, 0xB4, 0x44, 0xFC, 0x1F, 0x05, 0x92, 0x49, 0x01, 0x12, 0x20, 0xA7, 0x13, 0xA7, 0x36, 0xB2, + 0x74, 0xEF, 0x8C, 0xAD, 0x3D, 0x73, 0x2F, 0x64, 0x15, 0x50, 0x52, 0xF9, 0xEC, 0xE0, 0xAE, 0x9D, + 0x00, 0xDE, 0x5A, 0x01, 0x1C, 0x83, 0x09, 0x41, 0x37, 0x44, 0x17, 0x4C, 0xAB, 0xD3, 0x77, 0x96, + 0x3C, 0x09, 0x9D, 0x49, 0x18, 0x09, 0x35, 0xC8, 0x4C, 0x8C, 0xE7, 0x15, 0x13, 0x0B, 0x46, 0x3B, + 0xD1, 0x77, 0x79, 0xB4, 0x05, 0x16, 0xC1, 0x3F, 0x7F, 0x68, 0x33, 0xBF, 0x60, 0xCB, 0x36, 0xB6, + 0x78, 0xE1, 0xAE, 0x9C, 0x7B, 0x2A, 0x7F, 0x8F, 0x11, 0x65, 0x27, 0x39, 0x86, 0x25, 0xD6, 0x92, + 0x38, 0xDF, 0xCE, 0x6E, 0x7F, 0x96, 0x9C, 0x85, 0x00, 0xDE, 0x93, 0x9F, 0x93, 0x29, 0x60, 0x41, + 0x85, 0xD5, 0x8A, 0x37, 0xA9, 0x9C, 0x8B, 0xD4, 0x8D, 0xD9, 0x7D, 0xD0, 0x3E, 0xB1, 0xCF, 0xA3, + 0x4F, 0x98, 0x18, 0xAC, 0x41, 0xA0, 0x36, 0xA7, 0x8B, 0xF0, 0xC1, 0x80, 0xC2, 0xB5, 0x5B, 0x9D, + 0x9F, 0xDE, 0xC8, 0x99, 0xF1, 0x0D, 0x60, 0xA9, 0xCF, 0x50, 0x08, 0x55, 0xDA, 0x0D, 0xD2, 0x8F, + 0x2C, 0xAB, 0x4A, 0x9B, 0x76, 0x6D, 0xB0, 0x56, 0x67, 0xD0, 0xA5, 0x25, 0x81, 0x4E, 0x85, 0x31, + 0xF5, 0x69, 0x74, 0x34, 0x4E, 0xC2, 0xFF, 0xFC, 0x0C, 0x36, 0x78, 0x60, 0xA6, 0xC9, 0x36, 0x62, + 0xD8, 0xC5, 0x4E, 0x98, 0x20, 0xAC, 0x2F, 0xC8, 0xF1, 0x6B, 0xF9, 0xA3, 0x1E, 0x4F, 0x3A, 0x45, + 0xAC, 0x20, 0x2F, 0x65, 0x06, 0x37, 0x2D, 0x1B, 0x59, 0x6F, 0x36, 0x10, 0x1E, 0xFA, 0xD9, 0xA8, + 0x1E, 0x66, 0x67, 0x27, 0x43, 0x55, 0x47, 0x56, 0xA4, 0xBA, 0xBE, 0x0E, 0x86, 0x37, 0x42, 0x0B, + 0x2B, 0x97, 0x98, 0x1F, 0x1E, 0x35, 0xDD, 0xE5, 0x82, 0xF6, 0xCD, 0xD5, 0x9D, 0x0D, 0xC7, 0x8B, + 0xA1, 0x75, 0x5F, 0xF7, 0x2A, 0xAE, 0x7B, 0xB5, 0x3D, 0x20, 0x9F, 0x8D, 0x93, 0xB3, 0xBA, 0x98, + 0x45, 0x31, 0x6B, 0xB6, 0x80, 0xE8, 0xCE, 0x2C, 0x6E, 0xBB, 0xC1, 0xDD, 0x00, 0x12, 0x6F, 0x6F, + 0x94, 0x9A, 0x7E, 0x23, 0x25, 0x47, 0x18, 0xA7, 0x4F, 0x25, 0xD1, 0x9B, 0x91, 0xC7, 0x79, 0x88, + 0x01, 0x12, 0x74, 0x3B, 0x32, 0x89, 0x56, 0x06, 0xBD, 0x0E, 0x80, 0x59, 0x06, 0x13, 0x4B, 0xF0, + 0x3C, 0x4D, 0xAE, 0x0C, 0xF1, 0xB1, 0x3E, 0x6F, 0x7C, 0x04, 0x1B, 0xFC, 0x86, 0x09, 0xC0, 0x8F, + 0x37, 0x85, 0xAA, 0x8D, 0xBF, 0xC2, 0xCD, 0xAE, 0x16, 0x02, 0x37, 0x85, 0xC7, 0x68, 0x34, 0x2A, + 0x09, 0x3B, 0xAF, 0x8C, 0x87, 0x7F, 0xA8, 0x4D, 0x04, 0x89, 0x20, 0xBD, 0xCC, 0xE2, 0xED, 0x84, + 0x82, 0x86, 0xA6, 0x97, 0x11, 0xB2, 0x0C, 0xA2, 0xB4, 0xF5, 0xFC, 0x32, 0xC5, 0x20, 0x6F, 0x53, + 0xA7, 0xF3, 0xB0, 0x5C, 0xE8, 0x7B, 0x4B, 0x78, 0xE2, 0x73, 0xE8, 0xB7, 0x25, 0x92, 0xDC, 0x48, + 0x61, 0x28, 0x7F, 0xFE, 0xED, 0x46, 0x30, 0x21, 0xD4, 0xB6, 0x8A, 0xCC, 0x5A, 0x0C, 0xF5, 0xC4, + 0xB7, 0xB7, 0x5C, 0xF1, 0x3A, 0x11, 0x6C, 0x30, 0x18, 0x3D, 0x92, 0xC4, 0xDC, 0xCC, 0x83, 0x81, + 0xC4, 0x90, 0x0C, 0x23, 0x39, 0x86, 0x66, 0x4B, 0xA0, 0xCE, 0xA3, 0x95, 0xDB, 0xA5, 0x58, 0xD9, + 0xA3, 0xEA, 0x91, 0x6D, 0x4B, 0x1E, 0xEA, 0xCD, 0x8D, 0x75, 0x0E, 0x2F, 0xE5, 0x3D, 0x90, 0x8E, + 0xCD, 0x05, 0x56, 0x0F, 0xEA, 0xE8, 0x35, 0x7D, 0x2B, 0x57, 0xC0, 0x13, 0xA0, 0x7E, 0x1F, 0x10, + 0x12, 0x02, 0x46, 0xDA, 0x27, 0x95, 0xF8, 0xDC, 0x03, 0x08, 0x6A, 0x12, 0x06, 0xCA, 0xF4, 0x37, + 0x6E, 0x7C, 0x2E, 0x54, 0x3B, 0x6B, 0xB9, 0x8A, 0x81, 0xD4, 0x6F, 0xD2, 0x40, 0xA7, 0x11, 0x58, + 0x39, 0x8D, 0xDB, 0x12, 0xFB, 0xC0, 0x21, 0xAC, 0x06, 0xCF, 0x53, 0xDA, 0x85, 0x0D, 0xF3, 0xA0, + 0x67, 0xAC, 0x51, 0x24, 0x58, 0x2F, 0x2C, 0x85, 0xDE, 0x31, 0x8A, 0x7B, 0x87, 0xC1, 0xFD, 0x88, + 0x07, 0x6E, 0x14, 0x09, 0x4E, 0x06, 0xAD, 0xDC, 0x8B, 0x0C, 0xEF, 0x09, 0x64, 0x53, 0xC8, 0xD0, + 0x32, 0x29, 0xE3, 0xD1, 0x6D, 0x52, 0x15, 0x0D, 0xC6, 0x38, 0xFC, 0xF1, 0xF2, 0x5A, 0x63, 0xF2, + 0xD6, 0xD4, 0x59, 0xBE, 0x00, 0x12, 0x84, 0x63, 0xB6, 0x3F, 0xBC, 0x95, 0x12, 0xCD, 0xAE, 0x54, + 0x3C, 0xCB, 0xED, 0xBD, 0x6E, 0x10, 0x3B, 0xF1, 0x01, 0x12, 0x2D, 0xAE, 0x9B, 0x5D, 0xBB, 0x5E, + 0xC3, 0x46, 0xEA, 0x88, 0x41, 0xF1, 0x15, 0x70, 0x77, 0x96, 0x7A, 0x01, 0xE5, 0x14, 0xC2, 0x3E, + 0x8D, 0x32, 0x16, 0xB5, 0x82, 0xCD, 0xAC, 0xA9, 0xAE, 0xD1, 0xB2, 0x2C, 0xB2, 0xFE, 0x0B, 0xCE, + 0xE6, 0x53, 0xA4, 0xF2, 0x8F, 0x80, 0x39, 0xFD, 0x59, 0xD7, 0xB7, 0x5D, 0x77, 0x86, 0x40, 0xAE, + 0xA4, 0x50, 0x9D, 0xA9, 0xA7, 0x41, 0x89, 0x2A, 0x49, 0x00, 0x08, 0xE5, 0xEA, 0x83, 0xAF, 0x19, + 0x4C, 0xFF, 0xF1, 0xA4, 0x29, 0x34, 0x5C, 0xAB, 0xBE, 0xA9, 0xDC, 0x0A, 0xB5, 0x76, 0xF1, 0x39, + 0xA4, 0x16, 0x77, 0x70, 0xAF, 0xC6, 0x34, 0xFA, 0x44, 0xAF, 0xD7, 0xD4, 0x91, 0x05, 0x66, 0x26, + 0x5A, 0xD5, 0x76, 0xC4, 0x78, 0xE6, 0x53, 0x4D, 0xE7, 0x95, 0x9D, 0x74, 0x09, 0x50, 0x83, 0x4D, + 0xCA, 0x8F, 0xB5, 0xAC, 0xFA, 0x9D, 0x4B, 0x45, 0x30, 0x24, 0xAC, 0x5B, 0xF5, 0xAB, 0x46, 0x4E, + 0x68, 0x36, 0x4D, 0xE5, 0xC6, 0xBB, 0x1B, 0xE8, 0xF5, 0xC6, 0xCF, 0x1C, 0x88, 0xE0, 0x2F, 0xC1, + 0x01, 0x6F, 0xF4, 0x40, 0x37, 0x98, 0x22, 0x69, 0x79, 0x75, 0x6C, 0x83, 0x60, 0xC7, 0xB2, 0x5B, + 0xCB, 0xDB, 0xDD, 0x5C, 0x6E, 0xA1, 0x49, 0x45, 0x8D, 0x7E, 0x1E, 0x8D, 0xF3, 0x56, 0x31, 0xA8, + 0x07, 0xC0, 0xBC, 0xDC, 0x30, 0x96, 0xCE, 0x5B, 0xC2, 0x7C, 0x8E, 0xFF, 0xE8, 0x35, 0xB0, 0x6A, + 0x0F, 0x48, 0x16, 0x44, 0xEA, 0x24, 0xAC, 0x77, 0x7A, 0xBE, 0xC6, 0x5B, 0x61, 0x45, 0xB0, 0x2D, + 0xFD, 0x55, 0x05, 0xF6, 0xD3, 0xF7, 0x23, 0x75, 0xC6, 0xD0, 0x89, 0x4B, 0xD4, 0xC3, 0x2A, 0x0B, + 0x3B, 0xFF, 0xA7, 0x53, 0x8E, 0x05, 0x92, 0x31, 0x6E, 0xAF, 0xE8, 0xF0, 0xCC, 0x4C, 0x80, 0xAE, + 0x4F, 0x73, 0x61, 0xA0, 0xA4, 0x21, 0xAC, 0xC0, 0xC2, 0x33, 0x06, 0x9A, 0xDF, 0xD2, 0xF9, 0xD2, + 0x5D, 0x50, 0x6A, 0x18, 0x68, 0x5F, 0xE0, 0xF4, 0x7D, 0x6C, 0x3D, 0x3B, 0x00, 0x12, 0xE0, 0x1B, + 0xFF, 0x08, 0xEF, 0x12, 0x21, 0xC5, 0xC2, 0x49, 0x92, 0x43, 0x72, 0x55, 0x80, 0x4D, 0x70, 0xF4, + 0x01, 0x12, 0x4E, 0xCD, 0xDB, 0x5D, 0x35, 0x68, 0xDB, 0x8A, 0xD1, 0xA6, 0x05, 0x31, 0xFA, 0xC2, + 0x8F, 0xEC, 0x8B, 0x5B, 0x04, 0x1B, 0xAA, 0xEE, 0x69, 0xA8, 0xF8, 0xFF, 0xAE, 0xC2, 0xDE, 0xC9, + 0xFC, 0x42, 0x7C, 0x22, 0x8A, 0xD8, 0xD6, 0x7C, 0xB3, 0xF5, 0x75, 0xE8, 0x76, 0xDC, 0xC8, 0x8C, + 0x1A, 0x32, 0x63, 0x19, 0x42, 0xBE, 0x15, 0x18, 0x73, 0xA6, 0xF0, 0x4C, 0xC4, 0x2A, 0x84, 0xCC, + 0x8C, 0xC2, 0xA1, 0x0E, 0x55, 0x71, 0xDE, 0x0A, 0x7F, 0x7A, 0x21, 0xE3, 0x3A, 0x31, 0x1A, 0x6D, + 0x44, 0x64, 0x96, 0xD3, 0xA4, 0x5A, 0x53, 0x82, 0x88, 0x95, 0xFD, 0x96, 0xC0, 0xD1, 0xF4, 0xA9, + 0x10, 0xF7, 0x9A, 0x8E, 0xD1, 0x27, 0xF6, 0xDB, 0xB0, 0x6B, 0x2E, 0x87, 0x8E, 0x90, 0x62, 0x41, + 0x97, 0x68, 0xDD, 0xC0, 0x6F, 0xED, 0xC8, 0x93, 0xE6, 0xF7, 0x64, 0x82, 0x4A, 0x71, 0x3C, 0xCD, + 0xAB, 0xAF, 0x9C, 0x96, 0x1E, 0xF1, 0x51, 0x79, 0xDC, 0x34, 0xA8, 0x34, 0xCE, 0x70, 0x63, 0xAA, + 0x8B, 0xF5, 0x76, 0xFF, 0x0C, 0x30, 0xCA, 0x24, 0x36, 0xF5, 0x6C, 0x1C, 0x32, 0xBF, 0x42, 0x90, + 0x1A, 0xA1, 0xBD, 0xCA, 0x38, 0x6C, 0x98, 0x4E, 0xD3, 0x4B, 0x99, 0x72, 0x5B, 0xF9, 0x50, 0xD5, + 0x68, 0x18, 0x6E, 0xFD, 0x83, 0x54, 0x61, 0xE2, 0x07, 0x6B, 0xE7, 0x88, 0x66, 0x68, 0x87, 0xAD, + 0xA0, 0xFC, 0x9E, 0x50, 0x10, 0x76, 0x2E, 0x29, 0x82, 0xEF, 0xDA, 0x6A, 0x5B, 0x20, 0xB0, 0xB2, + 0x17, 0xC8, 0x30, 0xB7, 0x4C, 0xFF, 0x8C, 0x25, 0x17, 0xBC, 0xC9, 0x11, 0x35, 0xF6, 0xC8, 0xEA, + 0xE9, 0x29, 0xA8, 0xF8, 0xF3, 0x6E, 0x29, 0x29, 0xF5, 0x3E, 0x0F, 0x91, 0xC3, 0x73, 0xCC, 0x99, + 0x64, 0xF5, 0x53, 0xA3, 0xF5, 0x36, 0xBB, 0xF1, 0x59, 0xC4, 0xC3, 0x60, 0xF1, 0xAB, 0x32, 0x95, + 0xDD, 0xAA, 0x88, 0x22, 0xC6, 0x38, 0x56, 0xF3, 0x36, 0xF7, 0x85, 0x11, 0x7D, 0x3E, 0x5C, 0x1F, + 0x66, 0xAB, 0xAA, 0x04, 0x00, 0x12, 0x16, 0x37, 0x35, 0xEF, 0x93, 0x92, 0x49, 0xF1, 0x96, 0x3C, + 0xC0, 0x34, 0x27, 0x19, 0x27, 0xAF, 0x0A, 0x2B, 0x01, 0x12, 0x55, 0x90, 0x01, 0xFC, 0xEB, 0xFF, + 0xAE, 0x08, 0xD0, 0xDC, 0x73, 0xE9, 0x35, 0xC4, 0x2C, 0xC7, 0x3E, 0x55, 0xE0, 0x18, 0x26, 0x38, + 0x6B, 0x36, 0xEF, 0x53, 0x1B, 0x89, 0x2C, 0x71, 0x36, 0xE5, 0xE6, 0x36, 0xB4, 0x95, 0xD5, 0x7B, + 0xB2, 0x78, 0x11, 0x7E, 0xDE, 0x7C, 0x35, 0xF4, 0x1D, 0x5C, 0xD0, 0x2E, 0x14, 0x3D, 0x93, 0xAC, + 0x18, 0xF2, 0x8F, 0x8F, 0x2B, 0x16, 0x7B, 0xF3, 0xF1, 0xD8, 0xCF, 0xEE, 0xD2, 0x85, 0x2E, 0xEB, + 0x51, 0x9F, 0xA6, 0x4D, 0xC8, 0xB3, 0xDB, 0x15, 0x4F, 0xF5, 0x5C, 0xEB, 0xBB, 0x8D, 0x11, 0xAA, + 0x2A, 0xC4, 0xCB, 0x8C, 0x16, 0x24, 0x3E, 0x56, 0x9E, 0x24, 0x29, 0xFF, 0xD3, 0x66, 0xFE, 0xF1, + 0xC1, 0x01, 0xDE, 0x6C, 0xD5, 0x9D, 0xEE, 0xC4, 0x96, 0x3A, 0x67, 0x0E, 0x27, 0xDA, 0x15, 0x08, + 0x0B, 0xF1, 0xC5, 0xD2, 0x76, 0x16, 0x1D, 0x54, 0xF9, 0xE2, 0x70, 0x99, 0x10, 0x20, 0x75, 0xF1, + 0x2F, 0x69, 0xFC, 0x86, 0xB6, 0x0D, 0xAE, 0x37, 0x15, 0x43, 0x2A, 0x23, 0x31, 0x5B, 0x10, 0x4D, + 0xBE, 0x1B, 0xAA, 0xF0, 0x53, 0x3E, 0xBC, 0x6F, 0x6B, 0x91, 0xC8, 0x5F, 0xBA, 0x32, 0x90, 0x73, + 0x9E, 0x61, 0x73, 0x4D, 0xA5, 0x5F, 0x9F, 0xDA, 0x7D, 0xAB, 0x29, 0xB7, 0x2A, 0x59, 0xBB, 0x72, + 0xE0, 0x37, 0xC0, 0x38, 0x01, 0x2B, 0x95, 0x90, 0xB7, 0x9E, 0x37, 0x2B, 0x07, 0xF7, 0x9A, 0xF4, + 0x49, 0x20, 0x73, 0x1D, 0xF2, 0x66, 0x0C, 0x26, 0x8F, 0x08, 0x17, 0xE9, 0x42, 0xFD, 0x66, 0xBF, + 0xA9, 0x99, 0x64, 0x78, 0xE0, 0x34, 0x33, 0xD9, 0xB2, 0xB9, 0xB1, 0xF8, 0x85, 0x5C, 0xE9, 0x43, + 0xC1, 0x3B, 0x90, 0x62, 0x6A, 0x08, 0xD7, 0xEC, 0xB2, 0x2B, 0x4D, 0x4C, 0x7E, 0xD7, 0xD7, 0x3F, + 0x04, 0xF4, 0x7E, 0xF8, 0x2B, 0x51, 0x46, 0xE5, 0x72, 0x2F, 0xDD, 0xF9, 0x98, 0x87, 0xF5, 0x11, + 0x14, 0x01, 0x3F, 0xAE, 0xA0, 0x88, 0x47, 0x88, 0xA4, 0x85, 0x40, 0x6A, 0x00, 0x12, 0xCB, 0x8D, + 0x3E, 0x87, 0xE2, 0x4C, 0x2F, 0xBA, 0xC5, 0xF4, 0x7F, 0xE3, 0x8A, 0x9C, 0xB9, 0x60, 0x89, 0xF2, + 0x01, 0x12, 0x59, 0x5D, 0xED, 0xDA, 0x97, 0x71, 0x10, 0x67, 0xC7, 0x71, 0xA9, 0xD0, 0x98, 0x06, + 0x9D, 0x9C, 0xD4, 0xFF, 0x42, 0xB0, 0x71, 0x54, 0x67, 0x24, 0x3C, 0xB0, 0x19, 0xFA, 0xE3, 0x1F, + 0xEB, 0xF0, 0x58, 0xA8, 0x66, 0xCD, 0x45, 0x51, 0xDB, 0xEF, 0x02, 0xFD, 0xAA, 0xDE, 0x02, 0x5C, + 0x9F, 0x18, 0xD9, 0x96, 0xA6, 0x5A, 0xBF, 0x8A, 0x8D, 0x4C, 0xE0, 0x93, 0xD6, 0x31, 0x45, 0xBF, + 0x15, 0x89, 0x7C, 0xFB, 0x63, 0xD7, 0xBB, 0x8B, 0xB5, 0x92, 0x5E, 0x3C, 0xD6, 0xC0, 0x57, 0xAA, + 0xE9, 0xC4, 0x0A, 0xBE, 0x63, 0xA9, 0x6A, 0x7E, 0xA6, 0xA2, 0xA1, 0x38, 0xCC, 0x8B, 0x3F, 0x4B, + 0xC1, 0x39, 0xC1, 0x20, 0x83, 0x8B, 0xD3, 0x9B, 0xD3, 0x51, 0x6F, 0x57, 0x13, 0x05, 0x61, 0x3C, + 0xD0, 0x8F, 0xED, 0x3A, 0x02, 0x26, 0x6C, 0x42, 0x51, 0x90, 0x91, 0xC0, 0x4E, 0xF2, 0x5E, 0xEF, + 0x88, 0xD2, 0x82, 0xE2, 0x15, 0x2E, 0x29, 0x69, 0x1D, 0x1B, 0x21, 0xF2, 0x43, 0x59, 0x27, 0xE2, + 0xBC, 0x19, 0x8D, 0x8E, 0x0B, 0x97, 0x69, 0x9D, 0xB6, 0xF7, 0xA4, 0x01, 0xFB, 0xB1, 0x94, 0x85, + 0xD5, 0x12, 0x04, 0x65, 0xB8, 0x4B, 0xDD, 0xE6, 0x23, 0x94, 0x60, 0x8C, 0xA2, 0xFF, 0xE5, 0xB1, + 0xF8, 0x0D, 0x7F, 0x04, 0x58, 0x2E, 0x94, 0x64, 0x37, 0x9B, 0xB6, 0x1F, 0x08, 0xFB, 0xFC, 0x13, + 0x16, 0xAB, 0xC6, 0x0B, 0xEE, 0x6C, 0x44, 0x2B, 0x6C, 0xEA, 0x13, 0x25, 0x5D, 0x42, 0xD7, 0x96, + 0x4E, 0x7D, 0x56, 0xD3, 0xAE, 0xDC, 0x95, 0x6F, 0x18, 0x6B, 0x28, 0x6A, 0x4E, 0x51, 0xBD, 0xDE, + 0x15, 0x9F, 0x2E, 0xAD, 0x23, 0x20, 0x66, 0xD7, 0xB1, 0xC4, 0x0E, 0x9C, 0x9C, 0x44, 0xE6, 0x1B, + 0xAC, 0x20, 0x29, 0xA1, 0xD0, 0x72, 0xE3, 0xA4, 0xD8, 0xE9, 0x91, 0x6D, 0xFD, 0x81, 0x65, 0x79, + 0x6B, 0xCA, 0x5C, 0xE2, 0x7B, 0xF5, 0x3E, 0x50, 0x38, 0x59, 0xCD, 0xE0, 0x1F, 0x3C, 0xA8, 0x3D, + 0xB7, 0x31, 0xE2, 0x01, 0x00, 0x12, 0xB3, 0x87, 0xFF, 0xA8, 0xD4, 0xE7, 0x8C, 0x17, 0x98, 0x4F, + 0xEA, 0x4D, 0x3F, 0xC2, 0x17, 0x7F, 0xE1, 0x5A, 0x01, 0x12, 0xFB, 0xA7, 0xAC, 0xB5, 0x1E, 0x13, + 0x31, 0x0B, 0x52, 0x64, 0xAF, 0x73, 0xF6, 0xFD, 0xF3, 0x86, 0x26, 0x41, 0x8A, 0xCB, 0x2B, 0xFA, + 0x4A, 0x75, 0xFF, 0xA4, 0x5D, 0x3D, 0x76, 0x7C, 0x46, 0xC6, 0xEA, 0x25, 0x1E, 0x04, 0x2E, 0xCB, + 0x24, 0x7C, 0xE9, 0xC6, 0xB5, 0x88, 0xD9, 0x95, 0x85, 0x0B, 0xFE, 0xC4, 0x0F, 0x44, 0x1D, 0x68, + 0x57, 0x95, 0xF5, 0x2F, 0x65, 0x7E, 0xE9, 0xE1, 0xD4, 0xD8, 0xB1, 0x66, 0xF0, 0x71, 0x46, 0x65, + 0x55, 0x9E, 0xB2, 0x52, 0x67, 0x07, 0xFE, 0xF9, 0x39, 0x80, 0x03, 0x93, 0x64, 0x6F, 0xC0, 0xF0, + 0x90, 0xF9, 0x1F, 0xFD, 0x4D, 0xFE, 0x11, 0x4B, 0x82, 0xA7, 0x9E, 0x0A, 0x00, 0xB3, 0xB0, 0x37, + 0xC9, 0x4F, 0xFA, 0x51, 0x5E, 0x47, 0x8E, 0x06, 0xFA, 0x39, 0x9F, 0xB7, 0x1D, 0xFC, 0xB4, 0xBA, + 0x85, 0x56, 0xC6, 0x8E, 0x0D, 0x6B, 0x9F, 0x09, 0xE4, 0xC3, 0xA8, 0xB9, 0x55, 0x5B, 0xCF, 0xAA, + 0x59, 0x6B, 0x21, 0xA1, 0xC4, 0x28, 0x4C, 0x41, 0xAF, 0xAB, 0xFF, 0xE3, 0x75, 0x1F, 0x09, 0x54, + 0x3C, 0x37, 0xA5, 0x9D, 0x25, 0xED, 0x7F, 0xED, 0xEC, 0x85, 0x7C, 0x06, 0x57, 0x9D, 0x7B, 0xA5, + 0x8F, 0x6A, 0x83, 0xA5, 0x0B, 0xCC, 0x3E, 0x80, 0xA4, 0x32, 0x06, 0xEA, 0x86, 0x9F, 0xA2, 0x21, + 0xD2, 0x06, 0xF5, 0x2D, 0x7E, 0x23, 0xB9, 0xFD, 0xD2, 0x7D, 0x77, 0x7B, 0xC1, 0xCD, 0x39, 0x64, + 0x1A, 0x74, 0xF6, 0xCF, 0xAB, 0x29, 0x50, 0x7C, 0xB9, 0xA1, 0xCA, 0x46, 0xC2, 0xE3, 0xE0, 0x64, + 0x82, 0x6A, 0xE6, 0xA8, 0x70, 0x6A, 0x46, 0x1B, 0x5A, 0xDC, 0xDD, 0xFB, 0xFB, 0x8C, 0x57, 0x9A, + 0x93, 0x4E, 0x21, 0xED, 0xA6, 0xCB, 0xFC, 0xDA, 0xFC, 0xFA, 0x1C, 0x94, 0x9B, 0xFE, 0x09, 0xDB, + 0x49, 0x68, 0x44, 0xAA, 0xD1, 0xDE, 0xB1, 0xC5, 0x20, 0x8A, 0x9E, 0x12, 0xF4, 0x8A, 0xB1, 0x60, + 0x8B, 0x98, 0x03, 0xBC, 0xA1, 0x7D, 0xD0, 0x3A, 0x15, 0x60, 0x06, 0xDE, 0x00, 0x12, 0x8E, 0x95, + 0x4F, 0x00, 0x5C, 0xBB, 0xA6, 0x91, 0xCD, 0x5D, 0x2C, 0x9C, 0x64, 0xFE, 0x05, 0xE0, 0x66, 0x7D, + 0x01, 0x12, 0xF0, 0x52, 0x60, 0x76, 0xDE, 0xDF, 0x21, 0xF6, 0xD1, 0x2A, 0x29, 0x95, 0xEF, 0x4F, + 0xD6, 0xD4, 0xAA, 0x38, 0xB0, 0x05, 0xA4, 0x90, 0xFF, 0xA2, 0xD5, 0x56, 0x32, 0x0E, 0x2C, 0x93, + 0xFA, 0xD8, 0x25, 0x62, 0x9F, 0xC7, 0x8F, 0x67, 0x68, 0x46, 0xFD, 0x29, 0x79, 0x88, 0xCF, 0x45, + 0x88, 0xB1, 0x17, 0xE3, 0x53, 0x21, 0x27, 0x81, 0xC9, 0x10, 0x4F, 0xE7, 0xE3, 0x3D, 0x66, 0x7D, + 0x21, 0x27, 0x68, 0xF8, 0x12, 0xA3, 0xD8, 0x9C, 0xDC, 0x48, 0x91, 0x7A, 0x91, 0x19, 0x56, 0x2D, + 0x86, 0x40, 0x57, 0x2B, 0x22, 0x33, 0x96, 0x50, 0xBA, 0x1E, 0xAF, 0x25, 0xBD, 0x63, 0x5F, 0x14, + 0xC8, 0x49, 0xBB, 0x0E, 0xF9, 0x43, 0x0C, 0x07, 0x98, 0x0E, 0xE3, 0x61, 0xF4, 0x22, 0x0B, 0x2C, + 0x53, 0x5E, 0x50, 0x35, 0xDE, 0x14, 0x53, 0xD5, 0x6D, 0xC5, 0x25, 0x78, 0xBA, 0x57, 0xD9, 0xA3, + 0xD1, 0x32, 0xB7, 0x1E, 0xBD, 0x08, 0xFE, 0xFB, 0x59, 0xA8, 0xF0, 0x4E, 0xAA, 0x07, 0xE1, 0x61, + 0xF2, 0x0A, 0x12, 0x76, 0x08, 0x9C, 0xDA, 0x9F, 0x87, 0xA0, 0x6E, 0xBA, 0x50, 0x18, 0xD6, 0x6A, + 0x2F, 0x75, 0x7B, 0x38, 0x12, 0xEA, 0x0A, 0x02, 0x8E, 0xB0, 0x21, 0x25, 0xAD, 0xD2, 0x16, 0x7B, + 0xBB, 0xD4, 0xC0, 0xEA, 0x76, 0x12, 0x13, 0x26, 0x33, 0xC4, 0x83, 0x45, 0xDD, 0x22, 0x5B, 0xA3, + 0x33, 0x2C, 0x35, 0x64, 0x7A, 0x6C, 0xD9, 0x25, 0xB8, 0xBF, 0x83, 0xCA, 0xB2, 0x41, 0xA9, 0x25, + 0x9E, 0xBA, 0x13, 0x88, 0x7B, 0x59, 0x08, 0xE3, 0x40, 0x30, 0x86, 0xD6, 0x81, 0x9E, 0x9D, 0xAF, + 0x65, 0xA9, 0x76, 0xEE, 0x89, 0x1F, 0xB2, 0xEB, 0xAB, 0x59, 0x9F, 0xF9, 0x4E, 0x22, 0xC3, 0xC0, + 0x6D, 0x4C, 0xD1, 0xC2, 0x2E, 0x98, 0xA2, 0x97, 0x70, 0x8E, 0x3F, 0xFB, 0x1D, 0x70, 0x7A, 0x98, + 0xFC, 0x76, 0xA4, 0x30, 0xD2, 0x5C, 0x01, 0x03, 0xD9, 0xCD, 0xA8, 0xFD, 0xB0, 0xC3, 0xC6, 0x13, + 0x7A, 0x09, 0xC9, 0x3D, 0x00, 0x12, 0xF3, 0x08, 0x50, 0x0C, 0xD4, 0x51, 0xD9, 0x1E, 0x26, 0xD6, + 0x67, 0xB7, 0x07, 0x56, 0x09, 0xB0, 0x50, 0xC5, 0x01, 0x12, 0xCC, 0x51, 0xB6, 0xEC, 0x2B, 0x88, + 0x85, 0xAB, 0x4E, 0x2C, 0x13, 0x68, 0x9F, 0xB6, 0x2B, 0x3E, 0x47, 0xDE, 0xF7, 0xE4, 0xFE, 0x9A, + 0x06, 0x53, 0xE9, 0x0D, 0x99, 0xC9, 0x1C, 0xA1, 0xCB, 0xBA, 0x3F, 0x71, 0x4A, 0x85, 0xDC, 0x65, + 0x03, 0x6B, 0x12, 0x94, 0xCC, 0x2A, 0x6B, 0x56, 0x54, 0x47, 0xB7, 0x73, 0x33, 0xE6, 0xC8, 0x35, + 0xD1, 0x79, 0x46, 0x99, 0x87, 0xBF, 0x82, 0x99, 0x8C, 0xA7, 0xCD, 0xFC, 0x19, 0x2B, 0xFF, 0x05, + 0xEA, 0x7C, 0xEB, 0xA7, 0x87, 0x49, 0x49, 0xC3, 0x81, 0xDA, 0x4A, 0x87, 0x32, 0x9A, 0x82, 0x9F, + 0x74, 0x96, 0x95, 0x46, 0x21, 0x25, 0x82, 0xF3, 0x34, 0x22, 0xA2, 0x9F, 0xD0, 0x33, 0x9E, 0x7E, + 0xD8, 0xFA, 0x5F, 0xAF, 0x91, 0x1D, 0x38, 0xE2, 0x7D, 0x6B, 0x84, 0xE9, 0xA4, 0x96, 0xF9, 0x10, + 0x4B, 0xC2, 0xE5, 0xB0, 0x31, 0x1C, 0x1E, 0xDE, 0x08, 0x82, 0xC9, 0xA8, 0x6B, 0x85, 0x06, 0xB7, + 0x81, 0xF4, 0xB5, 0xC9, 0x32, 0x68, 0xA0, 0x99, 0x40, 0x1F, 0x44, 0x94, 0x11, 0x42, 0x4D, 0x22, + 0x0F, 0x26, 0xBB, 0x3D, 0x94, 0x85, 0x1B, 0x65, 0xC0, 0xBB, 0x90, 0xFA, 0xFD, 0x19, 0xE2, 0x73, + 0x46, 0xE8, 0xBD, 0xAC, 0xF9, 0x69, 0xC9, 0xB1, 0x3A, 0x30, 0xDF, 0xBE, 0x7E, 0x99, 0x39, 0xDB, + 0x9E, 0x88, 0xC8, 0x75, 0x25, 0x02, 0x8C, 0x4B, 0xF0, 0x7A, 0x4D, 0x35, 0xE1, 0xA3, 0xE7, 0x51, + 0x03, 0xAC, 0x37, 0x88, 0x64, 0xA3, 0x75, 0xC5, 0xE5, 0xB3, 0x22, 0x4E, 0x93, 0xBD, 0x9C, 0x8D, + 0x39, 0x04, 0x0F, 0x6F, 0x33, 0xBF, 0xD6, 0x70, 0x19, 0x41, 0x3D, 0x0D, 0x70, 0x0E, 0x0B, 0x31, + 0x82, 0xE5, 0x20, 0x93, 0x79, 0x76, 0x4F, 0xC5, 0xAF, 0x4C, 0xCD, 0xC7, 0x2A, 0xC0, 0x89, 0xDB, + 0xFF, 0x3D, 0x85, 0x1D, 0xE7, 0xD0, 0x4F, 0x0D, 0xB0, 0xE9, 0xA4, 0x93, 0x50, 0xFD, 0x51, 0x97, + 0xA7, 0x39, 0xE2, 0x95, 0x87, 0xC4, 0x83, 0xF9, 0x6E, 0x63, 0x01, 0x4C, 0x00, 0x12, 0x7A, 0xCE, + 0x6F, 0x49, 0x81, 0x59, 0x9C, 0x08, 0xBC, 0xEC, 0xB6, 0x32, 0x58, 0x6B, 0xD4, 0x5E, 0x86, 0x84, + 0x01, 0x12, 0x96, 0x43, 0x9B, 0x41, 0x23, 0x4D, 0x44, 0xEC, 0xB6, 0x35, 0x56, 0x12, 0x11, 0x0F, + 0x4E, 0x74, 0x9A, 0x32, 0xAF, 0x1D, 0x3C, 0x56, 0x3A, 0x84, 0x14, 0x0D, 0x45, 0x5F, 0xA2, 0xA5, + 0x64, 0x21, 0x06, 0xD6, 0xE7, 0xBA, 0x5C, 0xAF, 0x3D, 0x78, 0xE9, 0x16, 0x30, 0xEF, 0x80, 0xA0, + 0x5B, 0x74, 0x3C, 0x8D, 0xD3, 0x92, 0xC1, 0xA3, 0x4A, 0xC2, 0xCD, 0x28, 0x29, 0x34, 0x9A, 0x85, + 0x27, 0x75, 0x89, 0xAC, 0x6F, 0xDD, 0xEF, 0x27, 0x7C, 0x09, 0x65, 0xCF, 0x03, 0x07, 0xCA, 0x72, + 0x02, 0x35, 0x4D, 0x09, 0xB4, 0xAD, 0xAB, 0x76, 0xE8, 0xC4, 0x9F, 0x09, 0xAD, 0xB4, 0x62, 0x3C, + 0x91, 0xB0, 0x84, 0x73, 0xA4, 0xC1, 0xB0, 0xC9, 0x0A, 0xA2, 0x72, 0x26, 0x36, 0x70, 0x0B, 0xB0, + 0x72, 0xB7, 0xBC, 0x3B, 0xDF, 0x23, 0xB3, 0xAB, 0x51, 0xF9, 0x4D, 0x49, 0x89, 0xFA, 0xBD, 0x42, + 0x38, 0x0D, 0x94, 0x1C, 0xFA, 0x95, 0xDD, 0xA9, 0x24, 0x81, 0x26, 0xC9, 0xB2, 0x32, 0x5C, 0x45, + 0xD5, 0x0E, 0x92, 0xE7, 0x0B, 0x85, 0x2C, 0xE7, 0x21, 0x1E, 0x91, 0x30, 0xCF, 0xB7, 0x09, 0xAC, + 0x66, 0x5A, 0x22, 0x80, 0xF5, 0x16, 0xAB, 0xE3, 0x13, 0x17, 0xAF, 0x05, 0x1D, 0x5B, 0x36, 0xD0, + 0x11, 0x58, 0x8B, 0x92, 0xAA, 0x92, 0x08, 0xD2, 0xF4, 0x33, 0xF0, 0xC2, 0x62, 0x2A, 0x94, 0x23, + 0x8D, 0x56, 0xDE, 0x8C, 0xAC, 0xE1, 0x2F, 0x38, 0x1F, 0xE5, 0xD8, 0x35, 0xC3, 0xFE, 0x16, 0x12, + 0xA5, 0x9D, 0xDD, 0xAE, 0x86, 0x9C, 0x05, 0xC3, 0x66, 0x2C, 0xBC, 0x31, 0x5A, 0xAA, 0x58, 0x5F, + 0xDF, 0x8D, 0x5D, 0xAD, 0xF1, 0xBD, 0xCA, 0xEA, 0x3D, 0x96, 0xE2, 0xF6, 0x71, 0xDB, 0xB5, 0x26, + 0x24, 0xBB, 0x9B, 0xA8, 0xA1, 0xD7, 0xF7, 0x1A, 0x4D, 0x06, 0x2E, 0x30, 0xC4, 0x5D, 0x4F, 0xED, + 0x8C, 0x46, 0x84, 0xA2, 0xAD, 0xD9, 0xFD, 0x46, 0xEF, 0x67, 0x97, 0x03, 0x70, 0x25, 0x6E, 0xAE, + 0x9C, 0xCD, 0x8A, 0xA0, 0x00, 0x12, 0x97, 0xC4, 0x26, 0x34, 0xF7, 0x87, 0xB4, 0x99, 0x10, 0xCB, + 0xD2, 0x58, 0x52, 0x16, 0xCD, 0x72, 0xC5, 0x70, 0x01, 0x12, 0x65, 0x5A, 0x23, 0x8A, 0xD2, 0xD6, + 0xE1, 0xFC, 0xB0, 0xEC, 0xCE, 0xAB, 0x51, 0x2C, 0x25, 0xF3, 0xED, 0x31, 0x02, 0x21, 0xBC, 0x91, + 0xFD, 0x2E, 0x98, 0x50, 0x88, 0x17, 0xB7, 0x2F, 0x86, 0x7E, 0xCD, 0xC6, 0xC5, 0x7E, 0xC6, 0x7F, + 0xB5, 0x77, 0x7D, 0x95, 0xCD, 0xD2, 0x38, 0xF1, 0xA9, 0x4E, 0x29, 0xD1, 0xAB, 0xF8, 0xD3, 0x03, + 0x19, 0x59, 0xAB, 0x6D, 0x02, 0xA1, 0xAB, 0x41, 0x35, 0x5E, 0x61, 0x83, 0xBD, 0x97, 0x4A, 0x71, + 0x78, 0xBC, 0x09, 0x09, 0x95, 0x63, 0x75, 0x74, 0xBA, 0x1E, 0xA6, 0x40, 0x76, 0x0C, 0x3F, 0x74, + 0xAA, 0x5C, 0xA4, 0x37, 0xE1, 0xF9, 0xC6, 0xC9, 0x20, 0x26, 0x1E, 0x53, 0xEE, 0x07, 0x71, 0xF0, + 0x0C, 0x46, 0xE9, 0x52, 0x20, 0xFE, 0x1C, 0xC8, 0xBC, 0x8A, 0x89, 0x4E, 0xBD, 0xFC, 0xFC, 0xD5, + 0x06, 0x65, 0x57, 0xAC, 0x80, 0x34, 0xF5, 0xB7, 0xBB, 0xCA, 0x76, 0x2B, 0xD5, 0x38, 0x40, 0x67, + 0x53, 0xC7, 0x31, 0x19, 0xA1, 0x7B, 0xA7, 0x28, 0xE7, 0xA2, 0x46, 0x38, 0x73, 0x6C, 0x44, 0x97, + 0x6E, 0x35, 0x57, 0x41, 0xD3, 0x8A, 0xD5, 0x13, 0x15, 0x4D, 0x05, 0x5A, 0x09, 0xE7, 0x58, 0xF3, + 0xC5, 0x24, 0x1B, 0x7F, 0x79, 0x4E, 0x17, 0x70, 0x85, 0xC0, 0x79, 0x0F, 0x59, 0x50, 0xAC, 0x98, + 0x56, 0xBB, 0xA5, 0xE3, 0x32, 0xD7, 0xFD, 0xC0, 0x67, 0x96, 0xFA, 0x66, 0x63, 0xFA, 0xC4, 0x9E, + 0x91, 0xB3, 0x7D, 0x4F, 0xFA, 0x13, 0x7B, 0x9E, 0x3A, 0xDF, 0x47, 0x06, 0x06, 0xAC, 0x06, 0x7F, + 0xF5, 0xA8, 0x97, 0x2D, 0xC6, 0x94, 0x93, 0x13, 0x57, 0x0A, 0x3E, 0xB5, 0xD7, 0xA0, 0x81, 0x62, + 0xC6, 0x29, 0x0B, 0x58, 0x3B, 0xD8, 0x09, 0xBB, 0xCE, 0x41, 0xC2, 0x0F, 0x40, 0x03, 0xFD, 0x29, + 0xB9, 0xFA, 0xDD, 0xBB, 0xE5, 0x9F, 0xFC, 0x56, 0xE4, 0x4C, 0x79, 0x73, 0x7B, 0xEF, 0x41, 0x8C, + 0x2E, 0xD8, 0xCA, 0x83, 0xDB, 0xA7, 0xED, 0xB2, 0xF5, 0xC7, 0xA1, 0x79, 0x00, 0x12, 0xB2, 0x88, + 0xF1, 0x31, 0x39, 0x25, 0xF9, 0xF5, 0x4B, 0x47, 0x4C, 0xB1, 0x19, 0x80, 0x6B, 0x8F, 0x11, 0x0F, + 0x01, 0x12, 0x1A, 0x9F, 0xA1, 0xD5, 0xA0, 0x08, 0x3A, 0x13, 0xF8, 0xF8, 0xCF, 0x2C, 0xF6, 0xEB, + 0xEA, 0x22, 0x57, 0x5E, 0x73, 0x06, 0x7E, 0xBB, 0x45, 0x57, 0x03, 0x12, 0x1F, 0x51, 0xA7, 0xA3, + 0x14, 0x43, 0x64, 0xFA, 0x73, 0xBF, 0xE1, 0x81, 0xD0, 0x07, 0x2B, 0x84, 0xFE, 0x4B, 0xD6, 0x21, + 0x81, 0x28, 0xF7, 0xDB, 0xE0, 0x63, 0x0B, 0x2B, 0xC1, 0x83, 0xF2, 0x03, 0x1E, 0x57, 0xF7, 0x71, + 0x2A, 0x62, 0x18, 0x0B, 0x71, 0x9C, 0x48, 0x6B, 0x74, 0x55, 0xAA, 0xC8, 0xA4, 0x88, 0xE4, 0x63, + 0x8D, 0xB5, 0x21, 0x27, 0x28, 0xF1, 0x07, 0xC3, 0x7F, 0x8F, 0x2B, 0xB6, 0x99, 0x18, 0xF8, 0x1B, + 0xDF, 0x41, 0x8A, 0x4E, 0x72, 0x18, 0xE2, 0x03, 0xD6, 0x02, 0x78, 0xD5, 0x34, 0x34, 0x78, 0x65, + 0x52, 0xB2, 0x13, 0x61, 0x17, 0x3E, 0x2A, 0x9E, 0xF6, 0xA1, 0x7B, 0x37, 0x78, 0x33, 0x80, 0x55, + 0x57, 0x2E, 0x3A, 0x08, 0xC1, 0x84, 0x84, 0xC3, 0xE2, 0x22, 0x04, 0xC3, 0xFD, 0x07, 0xE4, 0xD9, + 0x7A, 0x68, 0x5B, 0x13, 0x0E, 0x6F, 0xAE, 0xB3, 0x45, 0xE4, 0x9D, 0xB3, 0x49, 0x9F, 0x09, 0x90, + 0x59, 0x79, 0x4C, 0xF5, 0x93, 0xF0, 0x6C, 0x9E, 0x81, 0x96, 0x7A, 0x7C, 0xD4, 0xAF, 0xF3, 0x76, + 0xE1, 0x1B, 0xCE, 0xF5, 0x59, 0xA1, 0x1A, 0x96, 0x33, 0xF7, 0xFC, 0xB9, 0xFB, 0xD9, 0x94, 0x19, + 0x00, 0xCC, 0x03, 0x21, 0x23, 0x08, 0x61, 0xA8, 0xE8, 0x44, 0xCD, 0x0F, 0x22, 0x5A, 0x47, 0x26, + 0x09, 0x8E, 0x0A, 0xFC, 0xCC, 0x13, 0xE6, 0x11, 0x31, 0xAE, 0xB8, 0xE9, 0x7C, 0xFA, 0x93, 0x92, + 0x8C, 0xA9, 0x05, 0x08, 0x27, 0x16, 0xF8, 0xBA, 0x56, 0x7C, 0x3F, 0x47, 0x0E, 0xFC, 0xB2, 0x88, + 0xE8, 0x3B, 0x63, 0x74, 0x07, 0x3A, 0x46, 0xC4, 0x79, 0x87, 0x4E, 0x88, 0x25, 0x6A, 0xA3, 0xD1, + 0x24, 0x9F, 0xF3, 0xD8, 0xFD, 0xA8, 0xAF, 0x79, 0x14, 0xA9, 0x9F, 0x8D, 0xFF, 0x12, 0xED, 0x55, + 0xEB, 0x6B, 0xFC, 0x4A, 0x00, 0x12, 0xEB, 0xC3, 0x83, 0x62, 0x2A, 0x96, 0xB1, 0x1C, 0x53, 0x36, + 0x88, 0x66, 0xBD, 0xE5, 0xF1, 0x6C, 0xAD, 0x0E, 0x01, 0x12, 0xEB, 0xFF, 0x4B, 0x46, 0x63, 0xF6, + 0x75, 0xD1, 0x35, 0xA7, 0x5E, 0xDA, 0x68, 0xCF, 0x6D, 0x49, 0x3C, 0x52, 0x8E, 0x23, 0x7F, 0xD1, + 0xCA, 0x84, 0xFD, 0x51, 0x97, 0xEB, 0xDB, 0x3A, 0x0B, 0x85, 0x1E, 0xCA, 0x20, 0xCE, 0x78, 0x3B, + 0xE1, 0x09, 0xDC, 0xA5, 0xA0, 0xB4, 0x82, 0x0F, 0xFC, 0xEE, 0x1D, 0x74, 0xCA, 0x6E, 0xBB, 0x8A, + 0x42, 0x13, 0xA7, 0xD5, 0xF8, 0x5F, 0x49, 0x09, 0xCB, 0xE9, 0x66, 0xD9, 0x43, 0xFF, 0x5F, 0x59, + 0x70, 0x5F, 0x74, 0x96, 0xD1, 0x70, 0x83, 0x0F, 0x88, 0x5E, 0xF7, 0xCD, 0x6B, 0x7B, 0x37, 0x9A, + 0xCF, 0xCB, 0xED, 0xDE, 0xB5, 0xC2, 0x47, 0x44, 0xFD, 0x0A, 0x89, 0xCA, 0xE0, 0x31, 0x27, 0xAB, + 0x4E, 0xE7, 0xBC, 0xDC, 0xC1, 0xFE, 0xE9, 0xB8, 0x1D, 0xFD, 0x74, 0xAA, 0x44, 0x5D, 0x1B, 0x1B, + 0x94, 0x62, 0xC2, 0xD5, 0x05, 0xA3, 0x64, 0x24, 0xE4, 0x17, 0x25, 0x6B, 0xA4, 0x1B, 0x8B, 0xED, + 0x11, 0x6F, 0x34, 0xB5, 0x9A, 0xDE, 0x5A, 0xA5, 0x20, 0x0F, 0xE1, 0x7E, 0x3E, 0x4A, 0x34, 0x4A, + 0xC8, 0x04, 0x5D, 0xD0, 0xD4, 0xF3, 0xC7, 0x8E, 0x77, 0xB3, 0x23, 0x6B, 0x6D, 0xA1, 0x3C, 0xA6, + 0x62, 0x7E, 0x56, 0x67, 0xEB, 0x24, 0xF2, 0x72, 0x40, 0x07, 0x3F, 0x35, 0x8B, 0x24, 0x02, 0x37, + 0x51, 0xC3, 0xC3, 0xA9, 0x6D, 0xB9, 0xAF, 0x67, 0xC2, 0x9E, 0x0E, 0x5B, 0x7A, 0x3F, 0xFC, 0xBD, + 0x99, 0x59, 0xEE, 0xF0, 0x34, 0x95, 0xFA, 0x85, 0x90, 0x51, 0xCF, 0xB5, 0x7D, 0x46, 0xFB, 0xC2, + 0x5A, 0x27, 0x95, 0x85, 0x54, 0xE2, 0xC8, 0xCE, 0x27, 0xD7, 0x96, 0x61, 0x17, 0x93, 0x5A, 0x2B, + 0x5D, 0x18, 0xE9, 0x6F, 0x2A, 0x33, 0xC6, 0x74, 0xEC, 0xA9, 0xCA, 0x3C, 0x5D, 0x8C, 0x3D, 0x94, + 0x0D, 0x61, 0xC7, 0xDA, 0x63, 0xBD, 0xA5, 0xD3, 0x94, 0x9E, 0xF8, 0x3E, 0x23, 0x4F, 0xB4, 0xF2, + 0xB4, 0xA0, 0x53, 0xED, 0x2C, 0x92, 0x1D, 0x7B, 0x56, 0xB1, 0xA8, 0xC5, 0x00, 0x12, 0x8C, 0x45, + 0x25, 0xB8, 0x63, 0xAD, 0xA3, 0x10, 0xE8, 0xF4, 0xEC, 0x62, 0xEF, 0x18, 0x31, 0x13, 0xA1, 0x56, + 0x01, 0x12, 0x3A, 0xE2, 0xE2, 0xC9, 0x02, 0xF1, 0x83, 0x01, 0xFF, 0xD8, 0xE4, 0x27, 0xA8, 0x85, + 0x43, 0xA8, 0x2C, 0x72, 0x19, 0x22, 0x7C, 0x5D, 0xEB, 0xAB, 0xBD, 0xAF, 0xF3, 0x6B, 0x37, 0x0D, + 0x41, 0x69, 0x75, 0x54, 0x31, 0xE9, 0x79, 0x44, 0xA6, 0x17, 0x13, 0x89, 0xB6, 0xE1, 0x67, 0xF0, + 0xC6, 0xAB, 0x6A, 0xDB, 0x81, 0x46, 0x01, 0xC6, 0x53, 0x96, 0x2B, 0xD3, 0xD7, 0x6E, 0xD5, 0xC0, + 0xF1, 0x64, 0xE8, 0x5A, 0x86, 0xFE, 0xA2, 0x2B, 0xFE, 0x91, 0x77, 0xF7, 0x09, 0xBA, 0xA5, 0x95, + 0x9D, 0xE0, 0x40, 0x0B, 0xED, 0x47, 0xB4, 0x22, 0x06, 0x1F, 0x73, 0xD1, 0x72, 0xB7, 0xFE, 0x41, + 0x6A, 0xD7, 0xC9, 0x96, 0x65, 0x73, 0xDC, 0x53, 0xBE, 0x33, 0xDE, 0x5F, 0x99, 0xA0, 0xB4, 0x07, + 0x60, 0x72, 0x29, 0xA5, 0x23, 0x93, 0x34, 0xEE, 0xF0, 0x76, 0x61, 0x53, 0xC7, 0xA6, 0x2F, 0x69, + 0x73, 0xFE, 0xD4, 0x80, 0xC9, 0x1B, 0xB6, 0x72, 0xE2, 0xC8, 0xDF, 0xF0, 0xE3, 0x69, 0xA8, 0x23, + 0x46, 0x21, 0x16, 0xD7, 0x49, 0xE3, 0x7D, 0x38, 0xF2, 0xB1, 0x0B, 0xB2, 0x6C, 0x8D, 0xA5, 0x62, + 0x00, 0xAA, 0x05, 0x2D, 0x93, 0x6E, 0xDD, 0x90, 0x30, 0x60, 0x5E, 0xED, 0x06, 0xBF, 0xAF, 0x65, + 0x24, 0x2C, 0x2C, 0xE8, 0x45, 0x15, 0x55, 0xA4, 0x40, 0x16, 0xB3, 0x05, 0xB9, 0x43, 0x84, 0xE8, + 0xEE, 0x7E, 0x92, 0x20, 0x39, 0xAC, 0x23, 0x90, 0xEB, 0x56, 0xA8, 0x87, 0x15, 0x1A, 0x9B, 0x90, + 0x11, 0x64, 0x1F, 0x2F, 0x20, 0x3F, 0x20, 0x95, 0xA0, 0x51, 0xB0, 0x77, 0x96, 0xDB, 0x9A, 0xB4, + 0x40, 0xC5, 0xFC, 0xAF, 0xE1, 0x92, 0x83, 0x0F, 0x8A, 0xFE, 0xA3, 0x17, 0x38, 0x60, 0x49, 0x63, + 0x2A, 0xB4, 0x34, 0x8F, 0xF1, 0xC2, 0x92, 0x07, 0x25, 0xDA, 0x6D, 0x86, 0xFD, 0xFF, 0xE0, 0x87, + 0xD3, 0xCA, 0x59, 0x49, 0x52, 0x0F, 0x03, 0xD5, 0xC7, 0x84, 0x89, 0x0F, 0xF5, 0x99, 0x1A, 0xE0, + 0x55, 0x4D, 0x8A, 0x00, 0x00, 0x12, 0xD5, 0xE6, 0x5F, 0xA2, 0x87, 0x21, 0xAC, 0xE9, 0x9E, 0x04, + 0x21, 0x75, 0x4F, 0x11, 0x47, 0x29, 0xC5, 0x83, 0x01, 0x12, 0xCA, 0xD4, 0x35, 0xD4, 0xF6, 0x68, + 0x7A, 0xFB, 0x55, 0x03, 0x82, 0x3E, 0x38, 0x38, 0xE2, 0xEC, 0x81, 0x60, 0xAE, 0x4B, 0xC2, 0x0C, + 0xE1, 0x4E, 0xD2, 0xE3, 0x06, 0x89, 0x9E, 0x65, 0x79, 0xFB, 0xDC, 0xD7, 0x6E, 0x27, 0xA6, 0x77, + 0xE9, 0xAB, 0x23, 0xBA, 0x32, 0xEE, 0x8D, 0x55, 0x15, 0x1A, 0xED, 0xF6, 0x6A, 0x80, 0xEF, 0x36, + 0xB6, 0x54, 0xFB, 0x82, 0x44, 0x1A, 0x4D, 0x45, 0x2E, 0x94, 0x71, 0x04, 0x44, 0x0A, 0x5E, 0x2B, + 0xEC, 0x14, 0x15, 0x9F, 0x90, 0xF2, 0x6C, 0xCB, 0xB3, 0x74, 0xA9, 0x5E, 0xE1, 0xF0, 0xEE, 0xF7, + 0x1F, 0x73, 0x0E, 0xE9, 0x35, 0x48, 0xF2, 0xD7, 0x1B, 0x21, 0x73, 0x6C, 0x35, 0x5B, 0x74, 0x69, + 0x53, 0x5F, 0x77, 0x8F, 0x5A, 0x19, 0xA1, 0x2E, 0xA0, 0xD2, 0x7E, 0x7F, 0xF9, 0xF5, 0xFD, 0x7E, + 0x91, 0x6B, 0x77, 0xE1, 0x9F, 0xAB, 0xAF, 0xD6, 0x77, 0x08, 0xF7, 0x61, 0x86, 0x39, 0xB3, 0x82, + 0x6C, 0x26, 0x92, 0xC1, 0x6F, 0xD0, 0x54, 0x2B, 0x9D, 0xCE, 0x4F, 0x9D, 0x16, 0xB8, 0xEA, 0xA4, + 0x82, 0x42, 0x3B, 0x98, 0x81, 0x47, 0x8D, 0x68, 0xBA, 0x9F, 0xBC, 0xD2, 0x7D, 0x4E, 0xB4, 0xE3, + 0xB6, 0xBC, 0xEE, 0xF1, 0xB0, 0x27, 0xE2, 0x3E, 0xED, 0x5E, 0xD3, 0x44, 0x7C, 0x84, 0x8F, 0xA4, + 0x09, 0x8C, 0x63, 0x91, 0xAE, 0x30, 0x96, 0x90, 0x9F, 0x1E, 0xE9, 0x06, 0x4F, 0xBA, 0xE6, 0xAC, + 0x48, 0x6C, 0xCE, 0x75, 0x3E, 0x65, 0x97, 0x76, 0xEE, 0x3A, 0xCB, 0x08, 0xD7, 0xD7, 0x66, 0x6E, + 0x03, 0xC0, 0x4B, 0x8A, 0xC6, 0xB1, 0x62, 0x24, 0x22, 0x4A, 0x3F, 0xE7, 0xC5, 0xEB, 0x74, 0x82, + 0xBC, 0x52, 0x76, 0x1D, 0x8C, 0xE8, 0x7B, 0x2B, 0x41, 0xAC, 0x05, 0xEB, 0x93, 0x92, 0x95, 0x19, + 0x7B, 0x18, 0xE3, 0x1C, 0x2A, 0x14, 0xC1, 0x5F, 0x72, 0xEC, 0xC6, 0xDA, 0xD8, 0x56, 0x5D, 0xCE, + 0x0C, 0xF4, 0xCF, 0x57, 0xDE, 0x7B, 0xF3, 0x6D, 0xD5, 0xA2, 0xFD, 0x9B, 0x00, 0x12, 0x7F, 0x7C, + 0x55, 0x28, 0x12, 0xEF, 0x3D, 0x93, 0xBC, 0x81, 0xD5, 0xE8, 0x90, 0xB5, 0xA2, 0xF4, 0xFC, 0x10, + 0x01, 0x12, 0xBF, 0xAE, 0x63, 0xDC, 0x03, 0x6D, 0xF0, 0x38, 0x08, 0xA5, 0x48, 0xF5, 0xF9, 0x3F, + 0xCA, 0xF4, 0x22, 0x2F, 0xDC, 0x94, 0xD8, 0x59, 0x17, 0x96, 0x8B, 0x0E, 0x05, 0xFF, 0xA3, 0x5E, + 0x29, 0xDF, 0x83, 0x7E, 0x38, 0x48, 0xBD, 0x3A, 0x2E, 0x57, 0x9F, 0xA1, 0x3D, 0x4B, 0x74, 0xB2, + 0x8B, 0x29, 0x44, 0xE6, 0x69, 0xA7, 0xBA, 0xD6, 0xBD, 0xEA, 0x50, 0x9C, 0xFE, 0x00, 0x15, 0x7B, + 0xCE, 0x2C, 0x84, 0xE5, 0xA6, 0x2F, 0x22, 0x0D, 0xB7, 0xA2, 0x05, 0x2E, 0x8B, 0x44, 0x61, 0xB5, + 0xD6, 0xBE, 0x14, 0x51, 0x77, 0xA3, 0xCE, 0x11, 0x4F, 0xFA, 0x41, 0x9F, 0x43, 0x0F, 0xEB, 0x1F, + 0xC9, 0x13, 0x45, 0x52, 0x64, 0xB0, 0x10, 0xEC, 0xE4, 0xA7, 0xE0, 0x8A, 0x9C, 0xBF, 0xFD, 0x33, + 0x1B, 0xEF, 0x8A, 0x0B, 0x0A, 0xD2, 0x30, 0xF7, 0x61, 0xE8, 0xD6, 0xA7, 0xCC, 0xBB, 0x23, 0x77, + 0x3A, 0x4A, 0xC4, 0xDA, 0xF4, 0x17, 0x0B, 0x21, 0xAD, 0x23, 0x55, 0xF5, 0x32, 0x66, 0x59, 0x56, + 0x93, 0xAA, 0xCF, 0x90, 0xE9, 0x24, 0xE7, 0x76, 0xD4, 0xC1, 0x6D, 0xDB, 0x8B, 0xC1, 0xB3, 0x7C, + 0xEE, 0xBE, 0x55, 0x03, 0xEB, 0xCC, 0x43, 0xD3, 0xD4, 0xED, 0x22, 0xED, 0xA2, 0x40, 0x92, 0x47, + 0x92, 0xEC, 0xD3, 0x2F, 0x48, 0x65, 0xCF, 0xDD, 0xE6, 0x50, 0xEB, 0x2C, 0xC8, 0x01, 0x3E, 0xD0, + 0x1C, 0x06, 0x2A, 0xC0, 0x18, 0x28, 0x98, 0x7D, 0xF8, 0x1A, 0x6D, 0x6F, 0x14, 0x0B, 0xBE, 0xB8, + 0x39, 0xD2, 0xE0, 0x22, 0xC1, 0x9F, 0x04, 0xEC, 0x8C, 0x73, 0xD3, 0x23, 0x57, 0x40, 0x8B, 0x50, + 0x3D, 0xC4, 0x19, 0xBE, 0xD8, 0x5B, 0xF2, 0x3A, 0x9D, 0x36, 0x14, 0x97, 0x38, 0xBF, 0x39, 0xD9, + 0x84, 0x95, 0x8D, 0xF8, 0xDB, 0x3B, 0xC9, 0x7A, 0x98, 0x99, 0xD5, 0xD8, 0x67, 0xBD, 0x3A, 0xF7, + 0x82, 0x94, 0xD5, 0x0E, 0xFF, 0x97, 0x85, 0xA7, 0x46, 0x40, 0x1E, 0x28, 0x43, 0x62, 0x28, 0xB0, + 0xE7, 0x13, 0xDD, 0xAD, 0x00, 0x12, 0x7C, 0x19, 0xAD, 0x1A, 0xF9, 0xBF, 0xFF, 0xC5, 0xA4, 0x48, + 0xC5, 0x8A, 0x59, 0xD7, 0x6D, 0xE7, 0x14, 0x6F, 0x01, 0x12, 0xE3, 0xE1, 0xCA, 0x51, 0x0C, 0x93, + 0x20, 0xF8, 0xCA, 0x89, 0x0B, 0x1E, 0xFF, 0x76, 0x08, 0xB4, 0x05, 0x56, 0x66, 0x9D, 0x07, 0xE8, + 0x13, 0x38, 0x31, 0x34, 0x77, 0x89, 0xC1, 0x39, 0x86, 0xF8, 0x98, 0xC9, 0xBC, 0xCF, 0x2F, 0xDC, + 0x37, 0x81, 0x04, 0x34, 0x55, 0x0E, 0x79, 0x13, 0xA5, 0x8C, 0x3C, 0x59, 0x62, 0xAD, 0xD7, 0x0E, + 0xF7, 0xB9, 0x22, 0x93, 0x4B, 0xB7, 0x57, 0xE5, 0x64, 0x1A, 0xBC, 0xE6, 0x1C, 0xBC, 0xEC, 0x51, + 0x3B, 0x61, 0x0F, 0x2C, 0x78, 0xAE, 0x18, 0xF1, 0xAE, 0x17, 0xD5, 0xDA, 0x18, 0xA2, 0x4F, 0x93, + 0x0A, 0xF1, 0x93, 0x8B, 0x03, 0xC6, 0xA0, 0xF7, 0xF3, 0xA0, 0x43, 0x1E, 0x88, 0xE4, 0x7F, 0x4F, + 0xC3, 0x00, 0x20, 0xB0, 0xB6, 0xCB, 0x52, 0x55, 0xC6, 0x50, 0x29, 0xC6, 0x66, 0x60, 0x7C, 0x30, + 0x26, 0x5D, 0xDF, 0x52, 0x4E, 0x2D, 0x7F, 0xDA, 0x02, 0xFA, 0x11, 0x54, 0xAD, 0xB8, 0x20, 0x87, + 0xEF, 0x9C, 0x3C, 0xA0, 0x7E, 0x23, 0xA9, 0x4F, 0xA3, 0x75, 0xCC, 0x88, 0x7E, 0xA8, 0xEC, 0xB9, + 0x5D, 0xE3, 0x52, 0x9D, 0x4E, 0xD9, 0x26, 0x93, 0x7F, 0xA6, 0xFC, 0x8D, 0xE9, 0x43, 0xD1, 0xE7, + 0xEF, 0xBE, 0x39, 0x02, 0x83, 0x2E, 0x74, 0x49, 0x87, 0x76, 0x1D, 0x2B, 0xA6, 0x78, 0xE3, 0xF8, + 0x5C, 0xBD, 0xE2, 0x3E, 0x6A, 0x93, 0xA3, 0xDA, 0xF1, 0x95, 0xF9, 0x89, 0x31, 0x7F, 0xAC, 0xEE, + 0x98, 0x00, 0xBC, 0x40, 0xCE, 0xE6, 0xD8, 0x0E, 0xDD, 0xCE, 0x4B, 0x1E, 0x9E, 0x8C, 0xBA, 0x24, + 0x1A, 0x78, 0x2D, 0x59, 0xA6, 0xF1, 0x40, 0xA7, 0xE6, 0x60, 0x96, 0x81, 0x18, 0x76, 0xAB, 0xCE, + 0x4F, 0x9C, 0x48, 0xA0, 0x89, 0x2D, 0xD6, 0xEE, 0x85, 0xC1, 0xA2, 0x98, 0x51, 0xAF, 0x90, 0xF1, + 0x17, 0x08, 0x24, 0x3C, 0x70, 0x0C, 0x5B, 0xC4, 0xFA, 0xB7, 0xBF, 0xD1, 0xF0, 0x21, 0xC1, 0x11, + 0xDF, 0x30, 0x31, 0xD7, 0x35, 0xAE, 0x5A, 0x4F, 0xF7, 0x9B, 0x83, 0x2C, 0x00, 0x12, 0x2E, 0xCC, + 0x32, 0x85, 0x0D, 0xCC, 0x34, 0x86, 0xE7, 0xAD, 0x02, 0xBE, 0xF9, 0x21, 0x67, 0x22, 0x05, 0x47, + 0x01, 0x12, 0x3E, 0x53, 0xAD, 0xBF, 0x73, 0xCB, 0x98, 0x55, 0xA8, 0xB3, 0x61, 0x7C, 0xF4, 0x20, + 0x7E, 0xA1, 0xCE, 0x28, 0x0B, 0x5E, 0x77, 0xAD, 0x0F, 0x1C, 0x5E, 0x09, 0xA2, 0x9E, 0x50, 0xC5, + 0x7A, 0x2E, 0x06, 0xED, 0x0A, 0x02, 0x5A, 0x9D, 0xBC, 0x7C, 0xD9, 0x7F, 0xAA, 0x4A, 0x9D, 0x37, + 0xF0, 0x60, 0xA9, 0x0A, 0x2A, 0x1B, 0x08, 0x70, 0x31, 0xE2, 0x60, 0x9A, 0x1B, 0xA4, 0xEE, 0x45, + 0x69, 0x6B, 0x5D, 0xB7, 0x75, 0xDA, 0x0B, 0x09, 0xE8, 0x26, 0x15, 0x37, 0x9F, 0xDD, 0x7E, 0x12, + 0xAB, 0xFF, 0x46, 0xB4, 0x98, 0x40, 0x87, 0x73, 0x29, 0xF4, 0xF5, 0x19, 0x96, 0x13, 0x40, 0x59, + 0x01, 0x1C, 0x8C, 0xE6, 0x01, 0xC5, 0xC4, 0xA6, 0x33, 0x92, 0xE6, 0xBB, 0x03, 0x33, 0x3B, 0x1D, + 0x27, 0xCB, 0xC2, 0xBA, 0x60, 0x2A, 0x51, 0x49, 0xA6, 0xC6, 0x77, 0x73, 0x50, 0x25, 0xC9, 0x52, + 0xF4, 0xDA, 0x66, 0xA1, 0xB7, 0x8F, 0xEB, 0x87, 0x72, 0x58, 0x2B, 0xDF, 0xF2, 0x63, 0xC2, 0x10, + 0x66, 0x53, 0xA1, 0xD3, 0x34, 0x98, 0x14, 0x6A, 0xB7, 0xD3, 0xCA, 0x38, 0x39, 0xF9, 0xDE, 0xA8, + 0xE2, 0xDA, 0xD4, 0xB5, 0x84, 0x8C, 0xE5, 0x99, 0x4D, 0xD9, 0x85, 0x42, 0xC3, 0x23, 0x09, 0xDD, + 0x29, 0xBA, 0x22, 0x2F, 0x75, 0x26, 0xEA, 0xB9, 0x32, 0xBF, 0xE2, 0xE8, 0xCD, 0x4E, 0x82, 0x44, + 0xB4, 0xF1, 0x6C, 0x1E, 0x0A, 0x95, 0xA1, 0xD8, 0x4A, 0xCC, 0xBB, 0x13, 0xC0, 0xCC, 0xDA, 0x22, + 0xA2, 0xC5, 0x26, 0x27, 0xC6, 0x2D, 0x64, 0x11, 0x19, 0x4F, 0xC7, 0x29, 0xE0, 0xE2, 0x5A, 0x45, + 0xAC, 0x76, 0xF9, 0xCE, 0xD7, 0x62, 0xB1, 0xD6, 0x66, 0x56, 0x85, 0x4E, 0xFB, 0x56, 0x74, 0x48, + 0x63, 0xFC, 0x2D, 0xB7, 0x58, 0xC3, 0x3E, 0x11, 0xA6, 0x73, 0xE3, 0x1F, 0xB4, 0x55, 0x08, 0xB3, + 0x29, 0x8F, 0xF0, 0xB7, 0x78, 0x9F, 0x74, 0xD0, 0xB8, 0xEF, 0xE7, 0xDE, 0x20, 0xAB, 0x4D, 0x1B, + 0xFE, 0x42, 0x64, 0x34, 0x00, 0x12, 0x9B, 0xD5, 0x80, 0x61, 0xF0, 0xBE, 0xFB, 0x35, 0x5A, 0xD6, + 0x01, 0xC9, 0x97, 0xCF, 0xC9, 0x53, 0x6E, 0x20, 0x01, 0x12, 0xD9, 0x8D, 0xC3, 0xDC, 0x07, 0x07, + 0x0B, 0xE5, 0x23, 0x0E, 0x0C, 0xBA, 0xDD, 0x4D, 0xED, 0xC5, 0xB4, 0x84, 0x4A, 0x8D, 0x0F, 0x2C, + 0x3E, 0xFC, 0x9B, 0x75, 0x2D, 0xF1, 0x5F, 0x2E, 0x2F, 0x57, 0xA7, 0x8F, 0x20, 0xD1, 0x11, 0x03, + 0xDE, 0x09, 0x89, 0xB2, 0x6E, 0x5E, 0xC6, 0xF0, 0xF5, 0xFA, 0x1A, 0xB1, 0x96, 0x73, 0xE6, 0xC0, + 0xF6, 0x01, 0xCE, 0xC4, 0xDD, 0x76, 0xC2, 0x82, 0x89, 0x68, 0x4F, 0x06, 0x19, 0xBF, 0x8C, 0xC5, + 0xE4, 0xC7, 0xE5, 0x95, 0x6E, 0x66, 0x12, 0xB3, 0x8F, 0x52, 0x21, 0x19, 0x60, 0x27, 0x02, 0x93, + 0xFA, 0xC8, 0xA4, 0x0B, 0x8A, 0x73, 0xEA, 0x52, 0x4B, 0xDB, 0xFA, 0x66, 0x3F, 0xD9, 0x74, 0x20, + 0x2A, 0xBF, 0x20, 0xE5, 0x24, 0xEA, 0x7E, 0xE5, 0x37, 0xE9, 0xFD, 0x5D, 0x48, 0x67, 0x49, 0x8E, + 0x47, 0x40, 0x7F, 0xF3, 0xA8, 0x47, 0x59, 0xB1, 0x33, 0x2D, 0xD1, 0x30, 0x40, 0xCE, 0x58, 0x43, + 0x94, 0xA4, 0xCD, 0x24, 0x58, 0x3F, 0xD2, 0x5B, 0xEA, 0xBC, 0xCA, 0x34, 0xDC, 0x70, 0x8C, 0xE0, + 0x43, 0xF4, 0x9E, 0xE2, 0x1E, 0x70, 0x21, 0x0D, 0xED, 0x94, 0x10, 0x83, 0x1F, 0x1B, 0x94, 0x20, + 0x30, 0x5C, 0xD3, 0x3D, 0x74, 0xF1, 0xF2, 0x2F, 0x49, 0xC2, 0x3D, 0x57, 0x16, 0xE8, 0xD1, 0xB9, + 0xC8, 0xBD, 0xAD, 0x36, 0xA2, 0xED, 0x06, 0xDE, 0xD6, 0xA3, 0xD3, 0xAB, 0xB1, 0xE0, 0x34, 0x35, + 0x65, 0xC3, 0x52, 0x1E, 0x84, 0x93, 0xD9, 0x76, 0x99, 0xBE, 0x40, 0xD3, 0x5D, 0x15, 0x4B, 0x51, + 0x29, 0xF4, 0x73, 0x86, 0xF2, 0x95, 0x66, 0x95, 0x81, 0x78, 0xDF, 0x79, 0x97, 0x77, 0xFA, 0xAA, + 0x35, 0x9A, 0x86, 0x07, 0x5F, 0x0E, 0xDC, 0x25, 0xC6, 0x1D, 0x58, 0xFD, 0x1D, 0xD4, 0x2A, 0xA3, + 0x40, 0xD8, 0x2C, 0x51, 0x25, 0x5E, 0x77, 0x7E, 0xFA, 0xAF, 0x84, 0xF2, 0x48, 0xF5, 0x8B, 0x34, + 0xB7, 0x10, 0xE2, 0xCD, 0x08, 0xAB, 0xFA, 0xDC, 0x90, 0xA6, 0x61, 0xED, 0x00, 0x12, 0x24, 0x81, + 0xFD, 0x8C, 0x6C, 0x46, 0x5A, 0x58, 0x30, 0x49, 0x64, 0xC8, 0x6A, 0xA2, 0x95, 0x50, 0xA2, 0x6B, + 0x01, 0x12, 0x71, 0xE3, 0x79, 0xD6, 0x39, 0x90, 0xBE, 0x8B, 0xDF, 0xA3, 0x56, 0xE4, 0xBE, 0x97, + 0xD2, 0xA0, 0x4A, 0x68, 0xE9, 0xA5, 0xAA, 0x96, 0x70, 0x0E, 0xBB, 0x4A, 0x85, 0xE4, 0x54, 0xA7, + 0x50, 0x47, 0x3D, 0xE0, 0xB7, 0x8A, 0xE3, 0x10, 0x8E, 0xAD, 0x46, 0x56, 0xC7, 0xAD, 0xB7, 0x5F, + 0xC0, 0x53, 0x43, 0xAB, 0x55, 0x20, 0x5C, 0x93, 0x61, 0xA7, 0xF9, 0x4D, 0x7C, 0x6E, 0xD2, 0x2F, + 0xF0, 0x17, 0x3C, 0x28, 0xDB, 0x1D, 0x00, 0xD8, 0x10, 0x70, 0xB9, 0x31, 0x82, 0x3B, 0x99, 0x78, + 0x56, 0xCE, 0xC9, 0xB6, 0x37, 0x85, 0xC0, 0xE5, 0x62, 0xD1, 0x9B, 0xBD, 0xBB, 0xEF, 0x1E, 0x88, + 0xEB, 0x2E, 0xEB, 0x7B, 0xC5, 0x45, 0x48, 0xC4, 0x69, 0x95, 0x47, 0xBD, 0x69, 0x3D, 0xAE, 0x46, + 0x3B, 0xE3, 0xBE, 0xBC, 0xF6, 0x0F, 0x59, 0x03, 0xA7, 0x63, 0x7C, 0x93, 0xA5, 0x00, 0x5F, 0xB1, + 0x1B, 0x61, 0x76, 0x7F, 0x83, 0xF6, 0xB9, 0xDF, 0xE6, 0x9F, 0xDA, 0x83, 0x70, 0x9A, 0x09, 0x19, + 0xC8, 0x0A, 0xE8, 0xE1, 0xE2, 0x57, 0x9D, 0x8D, 0x82, 0xEB, 0x60, 0x72, 0xAF, 0x3B, 0x45, 0x10, + 0xB8, 0xF0, 0xE4, 0x16, 0xD1, 0x2A, 0x18, 0x0C, 0x86, 0x17, 0xC9, 0x01, 0x10, 0x44, 0xEB, 0x28, + 0xEF, 0x89, 0x6D, 0x71, 0x3B, 0x6C, 0xE6, 0x7B, 0x7C, 0x88, 0x9E, 0x5B, 0x72, 0x06, 0x1B, 0xCF, + 0x28, 0xA4, 0x0A, 0x61, 0x8F, 0x93, 0xA7, 0x19, 0xB6, 0x97, 0x20, 0xFC, 0x7C, 0x1F, 0xDA, 0x19, + 0x9B, 0xA3, 0x53, 0xB9, 0x3E, 0x8C, 0x50, 0x23, 0x82, 0x2A, 0x62, 0x3E, 0xF5, 0x35, 0x7A, 0x83, + 0xDE, 0x9E, 0x8C, 0xE8, 0x31, 0x93, 0xF8, 0x50, 0x5D, 0xF4, 0xE8, 0xBC, 0xFC, 0x27, 0x68, 0xA6, + 0x17, 0xBB, 0x20, 0x78, 0x07, 0xE0, 0xA3, 0xAF, 0xA5, 0xF5, 0x03, 0x84, 0xA5, 0x79, 0x5E, 0xEE, + 0xFE, 0xA1, 0xC5, 0x0A, 0x92, 0xE2, 0x17, 0x16, 0xAD, 0xD4, 0x70, 0xB9, 0x73, 0xA1, 0x1B, 0xE3, + 0x70, 0x44, 0x56, 0xAA, 0x00, 0x12, 0x29, 0xF3, 0x4D, 0x2F, 0xC3, 0x3E, 0xFA, 0x22, 0x01, 0xA9, + 0x29, 0x6E, 0x69, 0x29, 0xF3, 0xB1, 0x7A, 0xB8, 0x01, 0x12, 0x69, 0x18, 0xEB, 0xDB, 0x4E, 0x2C, + 0xB6, 0xD7, 0x1E, 0x28, 0x72, 0x54, 0x5F, 0x86, 0xE5, 0x1F, 0x39, 0x24, 0x52, 0x8C, 0x56, 0x5A, + 0x9F, 0xA7, 0xD3, 0x82, 0xE8, 0x47, 0x92, 0x8D, 0xBC, 0xF1, 0x84, 0x6B, 0x84, 0x5E, 0x20, 0xE5, + 0x35, 0x7B, 0x4E, 0xE5, 0x08, 0x38, 0xC1, 0xB6, 0x0F, 0xFF, 0xC6, 0xD3, 0x5E, 0x1C, 0x27, 0x0F, + 0x9E, 0x8D, 0xCA, 0x3E, 0x15, 0x27, 0xA3, 0x22, 0x63, 0x76, 0xFB, 0x0B, 0xCE, 0x33, 0xAA, 0x8D, + 0x71, 0xD0, 0xE9, 0x20, 0x86, 0x75, 0x70, 0x93, 0x2C, 0xFB, 0x14, 0x30, 0xC3, 0xF2, 0x66, 0x09, + 0x60, 0x38, 0x50, 0x2F, 0x96, 0x55, 0xCB, 0x34, 0x24, 0x06, 0xC3, 0xC1, 0xD7, 0x4F, 0xCE, 0xF4, + 0xF8, 0xBD, 0x4C, 0x8C, 0x81, 0x22, 0x12, 0x16, 0x00, 0x81, 0x3E, 0x4C, 0xAD, 0xB6, 0x2D, 0x57, + 0xAC, 0xAB, 0x13, 0xF2, 0x4B, 0xB2, 0x84, 0x7E, 0x32, 0x5A, 0x00, 0x72, 0xD4, 0x32, 0x1D, 0x13, + 0xFC, 0x25, 0xC5, 0x33, 0x30, 0xB6, 0x24, 0x25, 0x2B, 0xD3, 0x72, 0xC2, 0x4A, 0x89, 0xE0, 0xA2, + 0x6D, 0x1F, 0xFA, 0x11, 0xC1, 0x6C, 0x52, 0x38, 0x40, 0x02, 0x2F, 0x77, 0x27, 0xE9, 0xB7, 0xAE, + 0x4F, 0xD7, 0xEF, 0xCF, 0xA9, 0x03, 0x7D, 0x3D, 0x34, 0x81, 0x23, 0x6E, 0x16, 0x1D, 0x70, 0xBE, + 0x02, 0x36, 0xDB, 0x6A, 0x17, 0xB2, 0x34, 0x0F, 0xEA, 0x99, 0x6F, 0x02, 0x15, 0x50, 0xE0, 0x88, + 0x87, 0xC5, 0xBA, 0xB4, 0x53, 0x11, 0x63, 0xB8, 0xA1, 0xFC, 0x8E, 0x02, 0xEF, 0x14, 0x3D, 0xD0, + 0x52, 0x3B, 0x12, 0x56, 0xE9, 0x5B, 0x52, 0x1C, 0xF2, 0x60, 0xA3, 0xAF, 0x74, 0x58, 0xFF, 0x62, + 0x3D, 0x4E, 0x12, 0xA7, 0x9C, 0x92, 0x93, 0xF5, 0xDE, 0x39, 0xBD, 0x44, 0x55, 0x62, 0x75, 0xA8, + 0x30, 0xEE, 0x66, 0x2B, 0xF9, 0x44, 0x35, 0x0D, 0x0D, 0xF6, 0x80, 0x7F, 0x6C, 0x65, 0x54, 0x35, + 0x3F, 0xB2, 0xC5, 0x9F, 0xA1, 0x78, 0x0E, 0x12, 0xA5, 0xEC, 0xFF, 0x55, 0x00, 0x12, 0x09, 0x79, + 0x4A, 0x53, 0x99, 0x4F, 0xE8, 0x1E, 0x9E, 0x42, 0x48, 0xAD, 0x98, 0x39, 0x65, 0x31, 0xD3, 0xC6, + 0x01, 0x12, 0x6D, 0x5F, 0xA3, 0xF7, 0xA2, 0x7F, 0x8F, 0x3E, 0x8A, 0x30, 0x28, 0x1E, 0x85, 0x48, + 0x28, 0xD6, 0xE8, 0x4C, 0xC9, 0x0D, 0x9D, 0x2B, 0x89, 0xD2, 0x30, 0xBA, 0xB4, 0x77, 0x4D, 0x56, + 0x20, 0x50, 0xE6, 0x4A, 0x24, 0x5D, 0x26, 0x80, 0x30, 0x0A, 0xCD, 0xC3, 0xDA, 0x34, 0x79, 0x51, + 0x4D, 0x89, 0x31, 0xF0, 0x0B, 0x33, 0xE6, 0xFA, 0x23, 0xA1, 0xC3, 0xBD, 0x8D, 0xE0, 0x8D, 0xFE, + 0xF5, 0xD3, 0x2A, 0xA2, 0x9E, 0xBE, 0xC4, 0xE5, 0x88, 0xE3, 0xE2, 0xC9, 0x85, 0x50, 0x0E, 0x61, + 0xEF, 0xC4, 0x40, 0x8A, 0x64, 0x74, 0xC4, 0x16, 0x93, 0x7A, 0x39, 0x9D, 0x56, 0x05, 0xE5, 0x3A, + 0xDD, 0x70, 0xF1, 0xDE, 0x6B, 0xCC, 0xD1, 0x6D, 0x87, 0xE5, 0xC7, 0x2C, 0x74, 0x67, 0xEB, 0xD6, + 0x27, 0x72, 0x19, 0x3A, 0x6A, 0xC3, 0xFA, 0xC6, 0x14, 0x77, 0xDD, 0xAC, 0x3F, 0x12, 0xB8, 0x15, + 0x58, 0x31, 0xFA, 0x5E, 0xE7, 0xFD, 0x45, 0x54, 0xCB, 0x58, 0x02, 0x7D, 0x91, 0xF5, 0x64, 0xE8, + 0x79, 0x56, 0xC7, 0xA2, 0x26, 0xC8, 0xA0, 0x4C, 0xE0, 0x7F, 0xB9, 0x99, 0x25, 0x04, 0x6F, 0xC0, + 0xC5, 0x9B, 0x64, 0x19, 0xAF, 0x2B, 0x9F, 0x3E, 0x0D, 0xE1, 0x11, 0xFB, 0x00, 0x71, 0x52, 0x20, + 0xC2, 0xC3, 0x64, 0xA4, 0x3E, 0x8C, 0xC4, 0x80, 0x8E, 0x85, 0x6F, 0x50, 0x73, 0x6D, 0x40, 0x46, + 0xA1, 0x06, 0x7D, 0x4A, 0x2B, 0x2A, 0xDE, 0xB6, 0x89, 0xD5, 0xD5, 0x5A, 0xCC, 0xFC, 0x98, 0x9A, + 0xAD, 0xAA, 0xC6, 0xDB, 0xEE, 0xCE, 0xC6, 0xE8, 0x03, 0x96, 0x2E, 0xA9, 0xAA, 0xA5, 0x86, 0x8B, + 0xA3, 0xF3, 0x84, 0x5C, 0x10, 0x7C, 0x08, 0xEA, 0x9B, 0xAF, 0x26, 0x97, 0x4B, 0xF4, 0xEA, 0x07, + 0xFC, 0xFD, 0x6E, 0x6D, 0x54, 0xE3, 0x84, 0x98, 0x62, 0x00, 0x39, 0xF4, 0x9B, 0x6A, 0x8F, 0x77, + 0x6C, 0x6F, 0x3B, 0xDD, 0x45, 0x65, 0x69, 0x91, 0x37, 0x46, 0x5F, 0x1E, 0x9D, 0x32, 0x4C, 0xCB, + 0xA9, 0x6C, 0x30, 0xF9, 0x00, 0x12, 0x90, 0xCA, 0x1F, 0x0F, 0x3C, 0x5E, 0xB9, 0x9A, 0xEA, 0x51, + 0x99, 0xBA, 0xD3, 0x1A, 0xF5, 0xF3, 0xD5, 0x5E, 0x01, 0x12, 0xF3, 0x09, 0xCC, 0xB1, 0x9A, 0x35, + 0xF2, 0x37, 0x97, 0x6F, 0xBB, 0xDD, 0x55, 0x0D, 0xE8, 0xB3, 0xDA, 0xA1, 0x86, 0x75, 0x35, 0x58, + 0x4E, 0x96, 0x41, 0xFE, 0xF8, 0xA2, 0xA0, 0x4A, 0xDE, 0x44, 0x7B, 0x90, 0xD2, 0xA0, 0x84, 0xE7, + 0x4E, 0x16, 0xD5, 0x9C, 0x7E, 0xF7, 0x2B, 0x78, 0x19, 0xB8, 0x73, 0x30, 0x66, 0xCA, 0xED, 0x36, + 0xE7, 0x86, 0x80, 0xE9, 0x55, 0xB5, 0xFE, 0xEC, 0x35, 0x81, 0x8B, 0xFE, 0xEB, 0x53, 0x25, 0xDC, + 0xC5, 0x4F, 0xD7, 0xA7, 0xF9, 0x68, 0x34, 0x1B, 0x32, 0x25, 0x48, 0x28, 0x98, 0xF1, 0x34, 0x27, + 0xF2, 0x38, 0xF7, 0x8F, 0x86, 0x5C, 0x28, 0x03, 0x3E, 0xBF, 0xAB, 0xCB, 0x37, 0xC7, 0xE3, 0x3A, + 0xC0, 0x15, 0x92, 0x88, 0xA9, 0xB1, 0x8E, 0x11, 0xBB, 0xA5, 0xAF, 0x9D, 0x3D, 0x0E, 0xCA, 0xF0, + 0xE2, 0x29, 0x75, 0xD8, 0x7D, 0x13, 0xC4, 0xEE, 0xF7, 0xB9, 0xAC, 0x85, 0x52, 0xA0, 0x52, 0x63, + 0x13, 0xF6, 0x32, 0x16, 0x29, 0x0E, 0x8F, 0x59, 0x12, 0x5A, 0x90, 0x97, 0x93, 0xB3, 0xB1, 0x1D, + 0xE4, 0x08, 0xE4, 0x15, 0xC9, 0x6D, 0x97, 0xB8, 0x08, 0x3D, 0x71, 0x74, 0xFD, 0xA4, 0x7D, 0x52, + 0x0A, 0x88, 0xDF, 0x4D, 0xE8, 0xA2, 0xDA, 0x8F, 0x46, 0x0B, 0xAC, 0x4F, 0x25, 0x6A, 0xBA, 0x00, + 0xE2, 0xA1, 0x37, 0xC8, 0x46, 0xE3, 0x21, 0xB3, 0xEB, 0xDA, 0x35, 0x1F, 0xCD, 0x94, 0xFF, 0x91, + 0x87, 0xDF, 0xBD, 0x8C, 0xD7, 0x8B, 0x46, 0x6E, 0x04, 0x62, 0x5D, 0x5D, 0x40, 0xAA, 0x57, 0xE0, + 0x5E, 0x14, 0x09, 0x35, 0xE3, 0x05, 0x1A, 0xD6, 0xB9, 0x7D, 0xF1, 0x3F, 0x8F, 0x1D, 0x93, 0xD3, + 0x89, 0x48, 0xE3, 0x56, 0x43, 0x1F, 0xF7, 0x87, 0xEB, 0x09, 0x0C, 0x75, 0xBE, 0xDA, 0xCC, 0x00, + 0x50, 0xDE, 0xAD, 0xC4, 0x70, 0xA9, 0x1C, 0x2D, 0x5F, 0xBA, 0x84, 0x15, 0xE4, 0xED, 0x36, 0x46, + 0x4D, 0x46, 0x9B, 0x37, 0xAD, 0xA9, 0x3D, 0x85, 0xD1, 0xB9, 0x64, 0x01, 0x00, 0x12, 0x7A, 0x42, + 0x48, 0x8D, 0x95, 0x66, 0x49, 0xA5, 0x63, 0x7C, 0x09, 0x42, 0x36, 0x8C, 0xF1, 0x2C, 0x2B, 0x87, + 0x01, 0x12, 0x52, 0x4D, 0x25, 0xAB, 0xE9, 0xEA, 0xD3, 0xFC, 0x60, 0xEB, 0xFA, 0x13, 0xCD, 0xC5, + 0x2E, 0xEA, 0x7E, 0x7A, 0x7D, 0x87, 0x61, 0x0D, 0x9C, 0xB3, 0xFC, 0xBE, 0x50, 0x16, 0x03, 0x48, + 0x46, 0xD2, 0x1D, 0x4C, 0xD6, 0x0A, 0x81, 0xEE, 0x64, 0x06, 0xB1, 0x56, 0x3D, 0x26, 0x05, 0x25, + 0x4A, 0x8A, 0xB1, 0xF7, 0xAA, 0x2E, 0x1B, 0x97, 0x4F, 0x59, 0xB0, 0x3A, 0xCC, 0xCB, 0xAA, 0x47, + 0xC6, 0x1A, 0x30, 0xF1, 0xD6, 0x91, 0x7F, 0xB3, 0xE6, 0xB8, 0xD9, 0x24, 0xAA, 0x12, 0x8D, 0xC1, + 0xC3, 0xBD, 0x32, 0x56, 0x71, 0x65, 0x7C, 0xAE, 0xDC, 0x0F, 0xC9, 0xAC, 0xE5, 0x0A, 0x6C, 0x4B, + 0x73, 0xE7, 0xC3, 0x00, 0xF3, 0x0B, 0x99, 0xA5, 0x90, 0x07, 0x5F, 0x6D, 0x55, 0x10, 0x33, 0x4D, + 0x58, 0x86, 0xFE, 0xC4, 0x5D, 0xA6, 0x69, 0xAE, 0xDF, 0x2D, 0x16, 0xD8, 0xE1, 0x4C, 0x70, 0xFA, + 0xFA, 0x43, 0x10, 0xCD, 0xCF, 0xAE, 0x2E, 0x44, 0x19, 0xC2, 0xFE, 0xF3, 0xE9, 0x9A, 0x42, 0x4A, + 0x72, 0x0D, 0xCD, 0x33, 0x81, 0x4F, 0xAE, 0x3C, 0x01, 0x10, 0x96, 0x2A, 0x97, 0x9E, 0x7F, 0x1A, + 0x72, 0xC2, 0xEC, 0xC3, 0x0A, 0xCF, 0xBE, 0x46, 0x8B, 0xCD, 0x6E, 0x63, 0x83, 0x2B, 0xF7, 0xB5, + 0xE4, 0xF9, 0x37, 0xB3, 0xFC, 0x9C, 0x1C, 0x28, 0xEB, 0x12, 0x0D, 0x99, 0xB9, 0x39, 0x6D, 0xB0, + 0xDE, 0x84, 0x78, 0x80, 0xBE, 0x00, 0xDC, 0x38, 0xC1, 0x16, 0xEE, 0xB8, 0xD6, 0x9D, 0xFA, 0x2A, + 0x31, 0x30, 0x84, 0xE2, 0xAF, 0x04, 0x57, 0x59, 0x86, 0xCF, 0x6E, 0x76, 0x9F, 0x81, 0xF8, 0xC8, + 0xCF, 0x11, 0x8A, 0x09, 0x12, 0xF7, 0x7C, 0xDF, 0xEC, 0x18, 0xF4, 0xB6, 0x8C, 0x39, 0x22, 0xFD, + 0x9D, 0x22, 0x28, 0x4C, 0x5F, 0xA7, 0x32, 0xCD, 0x4E, 0x89, 0xBC, 0x41, 0x64, 0xA8, 0x50, 0xA5, + 0x53, 0x0A, 0x0F, 0x8D, 0x90, 0xA3, 0xA1, 0x52, 0x11, 0xE3, 0x7E, 0x37, 0xF5, 0x5B, 0x7B, 0x24, + 0x24, 0x72, 0x81, 0x0D, 0x00, 0x12, 0xD6, 0x61, 0x28, 0xAB, 0x33, 0x61, 0xA2, 0xFB, 0xF0, 0xD4, + 0x61, 0x66, 0xEF, 0xC1, 0xB3, 0x1F, 0x7E, 0xAE, 0x01, 0x12, 0xC7, 0xED, 0xF3, 0x7E, 0xED, 0xCE, + 0x07, 0x97, 0xA4, 0xB8, 0xEF, 0xB5, 0xE5, 0x7D, 0xAA, 0x0F, 0x3E, 0x29, 0xB7, 0x5C, 0x12, 0xDC, + 0x83, 0x53, 0xE6, 0x2F, 0x42, 0x8A, 0xAC, 0xAE, 0x99, 0x1D, 0xF4, 0xD0, 0xBD, 0x8D, 0xDE, 0x39, + 0x86, 0xC0, 0xA6, 0x06, 0xDB, 0x00, 0xA3, 0x69, 0x3C, 0xCE, 0x72, 0xC6, 0x09, 0x10, 0x70, 0xCE, + 0xD4, 0xCE, 0x9D, 0x14, 0xB0, 0xD4, 0x91, 0x22, 0xBD, 0x33, 0x1C, 0x89, 0x88, 0xF4, 0xC8, 0x65, + 0x78, 0xE4, 0x07, 0x9F, 0xE2, 0x62, 0xDB, 0x58, 0x97, 0xA9, 0x16, 0x02, 0xE0, 0x06, 0x54, 0xD9, + 0x66, 0x33, 0xA2, 0x06, 0xEB, 0xE2, 0x20, 0xDB, 0x33, 0x89, 0x55, 0x2D, 0x1C, 0x61, 0xFE, 0xA8, + 0x2F, 0x31, 0x4B, 0xF5, 0x7D, 0x05, 0x03, 0x69, 0xD0, 0x17, 0x4C, 0xA3, 0x58, 0xD1, 0x58, 0xF6, + 0x65, 0x8E, 0x88, 0xBA, 0xB9, 0xD2, 0x09, 0x55, 0x90, 0x8C, 0xDD, 0xC2, 0xD7, 0x87, 0xDA, 0x61, + 0x04, 0xD7, 0x8B, 0xB6, 0x32, 0xFA, 0x9A, 0x9F, 0x2E, 0x2E, 0x1F, 0xB8, 0x19, 0x5E, 0xD0, 0x92, + 0x16, 0xE4, 0x39, 0xBD, 0x7B, 0xED, 0xAA, 0xCA, 0x83, 0x8B, 0x28, 0x30, 0x2C, 0xAF, 0x92, 0x86, + 0x89, 0x55, 0x20, 0xF1, 0xE6, 0x6E, 0xA7, 0x1C, 0x1C, 0xC5, 0xD4, 0x67, 0xC0, 0x92, 0x5A, 0xC8, + 0x58, 0x6E, 0x63, 0xC1, 0x9C, 0x5D, 0x40, 0xFC, 0x0C, 0x54, 0x94, 0xE3, 0x64, 0x9C, 0x7E, 0xD7, + 0x83, 0x13, 0x0F, 0xB6, 0x81, 0xE1, 0xE4, 0xD9, 0x7E, 0xA0, 0xA6, 0xB7, 0x49, 0x49, 0xE3, 0xE2, + 0xEB, 0x0E, 0x26, 0x96, 0x2A, 0x60, 0x46, 0xB9, 0x7D, 0x7B, 0x5A, 0xAA, 0x7C, 0x82, 0xD9, 0x09, + 0xE2, 0x36, 0x15, 0xA3, 0x75, 0x23, 0xE2, 0x8A, 0x12, 0xC7, 0x22, 0xA5, 0xE1, 0x0F, 0x97, 0xFB, + 0xA1, 0xF2, 0x1D, 0x5F, 0xAF, 0xD7, 0x6B, 0x0C, 0x5E, 0x77, 0x67, 0xF1, 0xF1, 0xD6, 0xB5, 0x02, + 0x43, 0xA1, 0x6C, 0x5F, 0xEB, 0x9F, 0x48, 0x8E, 0xF4, 0x1A, 0xFA, 0x25, 0x00, 0x12, 0x91, 0xA6, + 0x2E, 0x34, 0x10, 0x7B, 0xC6, 0x6C, 0xA4, 0x4B, 0xEB, 0x25, 0xB0, 0x76, 0xB0, 0xD9, 0x39, 0xFE, + 0x01, 0x12, 0x29, 0x08, 0xBD, 0x4A, 0xAF, 0xD6, 0x4B, 0x5D, 0xC3, 0xDD, 0xA9, 0x2C, 0x4E, 0x87, + 0x62, 0xFB, 0x43, 0x30, 0xFF, 0x1D, 0x0C, 0x9B, 0x07, 0xAC, 0x81, 0x00, 0x4B, 0xCC, 0xE2, 0x4E, + 0xC3, 0x1F, 0x7B, 0x60, 0x97, 0x0B, 0xA4, 0x65, 0x80, 0x17, 0x68, 0x80, 0x63, 0x1E, 0x32, 0x75, + 0x07, 0xD6, 0x38, 0xAD, 0x47, 0x08, 0x1F, 0xC8, 0x88, 0xB0, 0xBA, 0xD4, 0x44, 0xCE, 0x77, 0x4B, + 0x3E, 0x14, 0x17, 0xF4, 0x3D, 0xF6, 0x29, 0x4E, 0x07, 0x8B, 0xA8, 0xE3, 0x19, 0xAA, 0x67, 0x70, + 0x79, 0x6D, 0xC6, 0x8F, 0x02, 0x3B, 0x7A, 0xFD, 0x28, 0x6C, 0x90, 0xA0, 0x7E, 0x8C, 0xB1, 0xCA, + 0x68, 0x65, 0x1B, 0x63, 0xC1, 0x07, 0xC3, 0xA5, 0xA2, 0xB1, 0x6F, 0x01, 0x2C, 0x7C, 0xBB, 0x8A, + 0xAF, 0xED, 0x5E, 0x47, 0xE2, 0x30, 0x95, 0x57, 0x6F, 0xDA, 0x83, 0x55, 0xC0, 0x46, 0x71, 0xFE, + 0xBD, 0x7F, 0x4D, 0x98, 0xE8, 0x3A, 0xB4, 0xD8, 0xDB, 0x87, 0x39, 0x63, 0xF1, 0x74, 0x81, 0xB0, + 0x2A, 0x14, 0xB1, 0x08, 0x37, 0xE9, 0x21, 0x96, 0x7D, 0x3C, 0x68, 0xC5, 0x69, 0xC4, 0xE5, 0xE4, + 0x96, 0x45, 0x38, 0xF5, 0x55, 0xC1, 0xFF, 0x2C, 0xE6, 0x3D, 0x05, 0x3D, 0x74, 0x14, 0x5D, 0xCB, + 0xD4, 0xD4, 0x8B, 0xC9, 0x7B, 0xAF, 0x4F, 0xC2, 0xC8, 0x52, 0xC7, 0x73, 0x27, 0x63, 0xBA, 0x29, + 0x4F, 0xB1, 0xE3, 0xE1, 0x81, 0xAC, 0x97, 0x59, 0x3C, 0x73, 0x0B, 0x89, 0x03, 0xDF, 0xA9, 0x79, + 0xFA, 0xC8, 0x0C, 0x4C, 0x74, 0x07, 0xA6, 0xCF, 0x50, 0x62, 0x44, 0x67, 0x67, 0x0F, 0x07, 0x3E, + 0x58, 0x4A, 0x9E, 0x24, 0xC4, 0xDC, 0x03, 0x95, 0xCD, 0x1C, 0xDD, 0xF3, 0xA1, 0x5B, 0xDD, 0xD1, + 0x0C, 0xB1, 0x0A, 0xC9, 0x19, 0x47, 0x86, 0x09, 0xF6, 0x88, 0x74, 0x9D, 0xFC, 0x93, 0x98, 0xBB, + 0x8D, 0x64, 0xBE, 0xCB, 0x86, 0x1A, 0xFC, 0x34, 0xAC, 0xAE, 0x0F, 0xA4, 0x79, 0x59, 0xAD, 0x3B, + 0x9D, 0x61, 0xF0, 0xDC, 0x00, 0x12, 0x84, 0xF6, 0xEB, 0x0B, 0x73, 0xBB, 0xB3, 0x57, 0xAC, 0x7D, + 0xB4, 0xD1, 0xC3, 0x06, 0x41, 0xCD, 0xE6, 0x2E, 0x01, 0x12, 0x1A, 0x2F, 0xD3, 0xAD, 0x21, 0x98, + 0x1F, 0x68, 0xBD, 0x3D, 0x41, 0x18, 0x0A, 0xCA, 0x92, 0xFD, 0x97, 0x53, 0x0B, 0x2E, 0x66, 0x50, + 0xF8, 0x1C, 0x9A, 0xD7, 0x6F, 0x86, 0xAF, 0xBE, 0x34, 0xE6, 0x85, 0xEC, 0xCE, 0xE4, 0x62, 0x2C, + 0x1E, 0x87, 0x21, 0xC4, 0x33, 0xD6, 0xD8, 0x6A, 0x22, 0xDD, 0x8C, 0xF3, 0xC3, 0x8C, 0x71, 0x23, + 0xC9, 0x60, 0x0E, 0xE9, 0xCC, 0x95, 0xD8, 0x38, 0x30, 0x89, 0x40, 0x4A, 0xB7, 0x43, 0xE2, 0xF5, + 0x2D, 0x17, 0x61, 0xCE, 0x85, 0x77, 0x26, 0x50, 0x14, 0xFC, 0xBB, 0x8A, 0x0C, 0x83, 0x83, 0x9B, + 0x78, 0x81, 0x8A, 0x67, 0x27, 0x1B, 0x18, 0xA4, 0x4A, 0xAD, 0xE9, 0x2F, 0x54, 0xE0, 0x9A, 0x30, + 0x8E, 0x37, 0xE1, 0xC0, 0x3C, 0x23, 0x72, 0xA2, 0x28, 0xF4, 0xB9, 0x90, 0x8F, 0x7C, 0x5E, 0x2D, + 0x79, 0x6D, 0x30, 0xC1, 0x79, 0x2C, 0x43, 0xE9, 0xC9, 0xC1, 0xF2, 0x53, 0x93, 0x9E, 0x41, 0xAA, + 0xC9, 0xCE, 0x24, 0x51, 0x1A, 0x5E, 0x4E, 0xEE, 0x3C, 0xBD, 0xCF, 0x27, 0x96, 0x19, 0x89, 0x1B, + 0xDF, 0x8A, 0x67, 0x37, 0x00, 0x94, 0x85, 0x95, 0x17, 0xD8, 0xFA, 0x5F, 0xA4, 0xC3, 0xFF, 0x22, + 0xD2, 0x3D, 0xED, 0x43, 0x3D, 0xA6, 0xB2, 0x21, 0x56, 0x64, 0x69, 0x5C, 0xF3, 0x91, 0xA0, 0x42, + 0xD0, 0xCA, 0x90, 0x44, 0x58, 0x3A, 0xC0, 0x2A, 0xF7, 0x0C, 0x7E, 0x21, 0x89, 0xC7, 0x68, 0x10, + 0xA9, 0x9E, 0x7E, 0xB0, 0xA6, 0xFC, 0xF9, 0x8F, 0xB2, 0xAF, 0xAB, 0x98, 0x16, 0xAB, 0xDA, 0x35, + 0xC1, 0x5C, 0xA1, 0x52, 0xA7, 0x69, 0x00, 0xAB, 0x68, 0x6C, 0x49, 0xFC, 0x15, 0x16, 0x15, 0xB9, + 0x21, 0xD2, 0x6C, 0x40, 0x6F, 0x13, 0xC6, 0x1F, 0x94, 0xEA, 0x95, 0xA9, 0x83, 0x7F, 0x9E, 0x3C, + 0xEF, 0xC8, 0xB4, 0xE7, 0xFA, 0x64, 0x52, 0x07, 0xE5, 0x8F, 0x70, 0xDB, 0x65, 0xC4, 0xF6, 0x55, + 0x0A, 0x03, 0x75, 0xC5, 0x7E, 0x1A, 0x46, 0xF4, 0xF9, 0x77, 0xE2, 0x57, 0x00, 0x12, 0xFF, 0x4C, + 0x4F, 0x71, 0x66, 0x4C, 0x34, 0xDC, 0x18, 0x39, 0x85, 0x4E, 0xCB, 0x70, 0x23, 0x9D, 0x21, 0x06, + 0x01, 0x12, 0x07, 0x04, 0x4A, 0xCC, 0x75, 0x64, 0xCF, 0x05, 0xE8, 0xBC, 0x4A, 0x63, 0x3A, 0xCF, + 0xFF, 0x6E, 0xA7, 0x3F, 0x37, 0x01, 0xEE, 0xF7, 0x21, 0x61, 0x2B, 0x11, 0xB0, 0xE6, 0xDB, 0xCB, + 0x49, 0x69, 0xF8, 0x78, 0x6A, 0x86, 0x54, 0x5A, 0xE4, 0xEF, 0xE4, 0xAC, 0x12, 0x25, 0x8F, 0x37, + 0x67, 0xC8, 0xEA, 0x43, 0x63, 0x4C, 0x61, 0x1F, 0x41, 0xD5, 0x57, 0x04, 0xB4, 0x27, 0x9B, 0x0A, + 0x00, 0x02, 0x1C, 0x46, 0x30, 0x0C, 0xA6, 0x3A, 0xA2, 0xFE, 0x24, 0xA8, 0x88, 0x77, 0x0D, 0xA0, + 0x02, 0x86, 0x3B, 0xD2, 0x70, 0x4F, 0x71, 0x3F, 0x39, 0xB5, 0xBB, 0x5C, 0xC8, 0xFA, 0xD7, 0x16, + 0x6E, 0x8F, 0xC9, 0x70, 0x02, 0x05, 0xE9, 0x5C, 0x9E, 0xE9, 0xE1, 0x2B, 0x3A, 0x7B, 0xCB, 0xE9, + 0x41, 0x09, 0x26, 0xA7, 0xD6, 0x74, 0x05, 0x5C, 0x02, 0x42, 0x2B, 0x18, 0x37, 0x9A, 0x89, 0x32, + 0xA0, 0xC9, 0x5B, 0xDF, 0x05, 0x15, 0xA7, 0xCF, 0x35, 0x8E, 0xEC, 0x5F, 0xD3, 0x73, 0x8B, 0x01, + 0xDF, 0x47, 0x75, 0x5F, 0x4D, 0x37, 0x78, 0xE5, 0x18, 0x3C, 0xC4, 0x60, 0xB0, 0xAE, 0x56, 0x56, + 0x3A, 0xE7, 0xA7, 0x31, 0xA3, 0x4B, 0x94, 0x3B, 0x1C, 0x72, 0xC9, 0xBC, 0x4A, 0x56, 0xB4, 0xF1, + 0xA3, 0xD8, 0x7B, 0xA8, 0x84, 0x0D, 0x54, 0xB3, 0xB1, 0x1E, 0x51, 0x33, 0xC6, 0x16, 0x14, 0x95, + 0x81, 0xC1, 0x39, 0x49, 0x37, 0xED, 0xEC, 0x87, 0x75, 0x9C, 0xA3, 0x4E, 0x22, 0x98, 0x47, 0xA1, + 0x96, 0xAB, 0x4A, 0xFE, 0xC9, 0xD7, 0x1D, 0x05, 0x34, 0x35, 0xFC, 0x50, 0xC4, 0xFA, 0xE4, 0xC1, + 0x46, 0xF4, 0x3D, 0xD2, 0x3A, 0x7A, 0x0B, 0x5E, 0x2B, 0xF4, 0xCF, 0x4A, 0x85, 0x31, 0xD3, 0x95, + 0xA0, 0x0F, 0x7D, 0x68, 0xBE, 0x0F, 0x85, 0x8C, 0xA7, 0x67, 0x29, 0x79, 0x0E, 0xC7, 0x57, 0x92, + 0xD5, 0x95, 0xE5, 0x7C, 0xEB, 0xE9, 0x9B, 0x4C, 0x74, 0x09, 0xDB, 0x01, 0xA3, 0x5F, 0x33, 0xEF, + 0x54, 0xFF, 0x69, 0xFD, 0x00, 0x12, 0x2B, 0x91, 0x78, 0x87, 0x9C, 0x85, 0x07, 0x9A, 0x7A, 0x47, + 0xAC, 0xBD, 0x36, 0x9D, 0x1B, 0xFE, 0x22, 0xAC, 0x01, 0x12, 0x2A, 0xC8, 0x1D, 0x8F, 0xA5, 0x2E, + 0x24, 0x56, 0xE3, 0x94, 0x83, 0xD1, 0x71, 0x5B, 0xB0, 0x37, 0x6C, 0xA7, 0xD7, 0xD9, 0x8F, 0x2B, + 0xE9, 0x34, 0x49, 0x8C, 0x94, 0xE4, 0xC5, 0xFD, 0x70, 0x54, 0x84, 0x94, 0xC7, 0x1B, 0x46, 0x39, + 0x58, 0x36, 0xF6, 0xBB, 0x90, 0x67, 0xB9, 0xDA, 0xCA, 0x6F, 0xD1, 0xAF, 0x5F, 0xC1, 0xC1, 0x40, + 0x82, 0x75, 0x0C, 0x62, 0x3A, 0xDA, 0x96, 0x9B, 0xE5, 0x38, 0x04, 0x9F, 0xA7, 0x4D, 0xAC, 0x73, + 0x06, 0x59, 0x87, 0x42, 0x9A, 0xDF, 0xF0, 0x10, 0xC8, 0x5C, 0x6D, 0x59, 0xEF, 0xD3, 0x70, 0x8C, + 0x85, 0x7A, 0xE3, 0x92, 0x85, 0x91, 0xD3, 0x0D, 0xF0, 0x4B, 0x08, 0x7E, 0x61, 0x7D, 0xF0, 0x97, + 0xD4, 0xAB, 0xCB, 0xE6, 0x74, 0xFB, 0x7C, 0x4B, 0x30, 0x81, 0x99, 0x74, 0x31, 0xB4, 0x26, 0x1D, + 0xE6, 0x54, 0x20, 0x0D, 0xBA, 0x61, 0x9B, 0xA4, 0xF4, 0xB3, 0xFA, 0x70, 0x1B, 0x75, 0xB7, 0x2F, + 0x23, 0xAD, 0xD4, 0xEE, 0x73, 0x22, 0xF7, 0x15, 0xAB, 0x40, 0x99, 0xAB, 0xB2, 0x0A, 0x1C, 0x13, + 0x01, 0x42, 0x22, 0xCE, 0xA8, 0x05, 0x3E, 0x8F, 0xCD, 0xBE, 0x1F, 0x2F, 0x2A, 0xF9, 0x07, 0x4C, + 0x3D, 0x63, 0x62, 0x75, 0xA3, 0x5F, 0xF0, 0xD9, 0x55, 0x9E, 0x57, 0x86, 0x7D, 0x3F, 0xFA, 0xB5, + 0x69, 0x48, 0x76, 0x03, 0x3D, 0xB3, 0x35, 0xDC, 0x64, 0xBC, 0xC4, 0xD5, 0x80, 0x9D, 0x0E, 0x71, + 0x75, 0xB0, 0x85, 0x9D, 0xEC, 0x65, 0xD7, 0xE0, 0x55, 0x96, 0xFD, 0x0C, 0x7E, 0xB1, 0xED, 0x44, + 0x91, 0xAA, 0x68, 0xFD, 0xD7, 0xAA, 0x80, 0x46, 0xF6, 0xE2, 0x8E, 0xC8, 0x31, 0x41, 0x42, 0x64, + 0x31, 0x5D, 0xD7, 0x2A, 0x82, 0x70, 0x54, 0x39, 0x52, 0x7B, 0xC1, 0x55, 0xD8, 0xCB, 0xE1, 0x1D, + 0xB4, 0x09, 0x4A, 0xE1, 0x06, 0x43, 0xB5, 0xA8, 0xF5, 0x0D, 0xF8, 0xFD, 0x8D, 0x2A, 0xB5, 0x2C, + 0x3C, 0xF0, 0x95, 0x91, 0xE8, 0xEF, 0x7B, 0x71, 0xEA, 0x73, 0xF7, 0x42, 0x00, 0x12, 0xF6, 0x07, + 0x35, 0x8E, 0x1F, 0x8E, 0xB8, 0x16, 0xD2, 0x87, 0x64, 0xC2, 0x04, 0xB1, 0x63, 0xF5, 0x8D, 0x2D, + 0x01, 0x12, 0x31, 0xB9, 0x5F, 0xC2, 0xBB, 0x54, 0xCC, 0xA8, 0xCC, 0x83, 0xF5, 0x3E, 0x9B, 0x02, + 0x0A, 0x28, 0x3D, 0x52, 0x93, 0xFC, 0x37, 0xC9, 0x67, 0x64, 0x71, 0x9F, 0x63, 0xD7, 0x9C, 0x20, + 0x03, 0x76, 0x2E, 0xB4, 0xA7, 0x53, 0x54, 0xA6, 0xF3, 0xEB, 0xF0, 0x58, 0x23, 0x45, 0x34, 0xE8, + 0xBE, 0x5B, 0xBA, 0x61, 0x3F, 0x97, 0x84, 0xBF, 0xDB, 0xC3, 0xFF, 0x1A, 0xB2, 0x00, 0x7C, 0x93, + 0x7C, 0xDF, 0xD4, 0x9F, 0xDA, 0xFB, 0x22, 0x9E, 0x63, 0xFB, 0x20, 0x43, 0x62, 0xF6, 0x33, 0x69, + 0xA1, 0xFD, 0x47, 0x63, 0xAF, 0xFF, 0xA0, 0xE6, 0xE8, 0xDC, 0x8B, 0x20, 0x22, 0x71, 0xF7, 0x94, + 0x0E, 0xDB, 0xD6, 0x5B, 0x24, 0x2C, 0x07, 0xAC, 0x61, 0x15, 0xDE, 0x88, 0x4F, 0xCA, 0x27, 0x9B, + 0xB5, 0xA2, 0x5D, 0x30, 0x8A, 0x73, 0x74, 0xF0, 0x95, 0xF5, 0x59, 0xE3, 0xF0, 0x72, 0x9A, 0xFD, + 0xD8, 0x9F, 0x80, 0xEF, 0xC2, 0x54, 0x6E, 0xD8, 0x3C, 0x19, 0xA2, 0xFF, 0x41, 0x72, 0x65, 0xD6, + 0x75, 0x3D, 0x2E, 0xE9, 0x2B, 0xFB, 0x60, 0x40, 0xFC, 0x2D, 0x26, 0xE6, 0x13, 0xA3, 0x0B, 0xE2, + 0x36, 0xAF, 0x2C, 0xAC, 0xE0, 0x45, 0x29, 0x67, 0x04, 0x8D, 0xC0, 0xC6, 0x8F, 0x6E, 0x5A, 0x50, + 0xCA, 0x63, 0x52, 0xC5, 0x2E, 0x73, 0x3B, 0x3A, 0xDA, 0x8A, 0xBF, 0x69, 0xDB, 0x8D, 0xE8, 0xBF, + 0x41, 0x8D, 0xC2, 0x3F, 0x3A, 0x7F, 0x5F, 0x06, 0x13, 0x94, 0x92, 0x42, 0xB1, 0x23, 0x2E, 0x29, + 0xAB, 0x99, 0x95, 0x87, 0xF6, 0xB3, 0x27, 0x5C, 0x19, 0xDA, 0x08, 0x38, 0x67, 0xA8, 0x32, 0x6A, + 0x86, 0x82, 0xCC, 0x34, 0xDE, 0x49, 0x41, 0x33, 0x54, 0x1F, 0xCC, 0x34, 0x2C, 0x48, 0x38, 0x5B, + 0x33, 0xB0, 0x16, 0x41, 0xD7, 0xBD, 0x00, 0xC4, 0x49, 0x1C, 0x8C, 0x47, 0xBD, 0x74, 0x01, 0xCD, + 0x88, 0xE3, 0x3D, 0xF1, 0x98, 0x37, 0x76, 0x3C, 0x1B, 0x98, 0xB2, 0x31, 0x4B, 0xE6, 0x3B, 0x2A, + 0xEE, 0x5D, 0x0E, 0xA4, 0x00, 0x12, 0x8D, 0xF1, 0x1A, 0x3A, 0x17, 0x8D, 0x24, 0x5A, 0x8F, 0x08, + 0xA5, 0x1E, 0x58, 0x6A, 0x0E, 0x83, 0x26, 0x95, 0x01, 0x12, 0xF2, 0x9A, 0xB6, 0x94, 0x08, 0xD2, + 0x44, 0xCF, 0x2C, 0xE0, 0xC2, 0x5B, 0xF0, 0x40, 0x42, 0x90, 0x1D, 0x12, 0xC7, 0xF2, 0x6F, 0x2A, + 0xAA, 0x8F, 0xFA, 0x51, 0x48, 0x65, 0x9B, 0x67, 0x3B, 0x3D, 0x31, 0x6C, 0x0F, 0xF3, 0x05, 0x35, + 0x6E, 0x0F, 0x6D, 0x6A, 0x92, 0x60, 0xBB, 0x62, 0xEF, 0x26, 0xCB, 0x3D, 0x9B, 0xB4, 0xC1, 0x40, + 0x61, 0x9E, 0x90, 0x00, 0xBE, 0x62, 0xB8, 0xEE, 0xCE, 0x8D, 0x79, 0x46, 0xCB, 0x92, 0x3E, 0x39, + 0x05, 0xDE, 0x27, 0xDD, 0x65, 0x65, 0xA2, 0xD4, 0x90, 0xD5, 0x3F, 0xA4, 0x06, 0x6C, 0xF8, 0x6E, + 0xAD, 0x96, 0xEF, 0xC5, 0x90, 0xDB, 0xAF, 0xD7, 0xDE, 0x78, 0xC0, 0xB7, 0x57, 0xC5, 0x47, 0xAC, + 0x68, 0xD3, 0x81, 0xC3, 0x7C, 0x99, 0xF8, 0x52, 0x6B, 0xFF, 0x89, 0x8B, 0xB1, 0x55, 0xC1, 0x30, + 0x52, 0x76, 0xA5, 0x05, 0xBC, 0x75, 0x21, 0x2D, 0xF8, 0x19, 0x57, 0x22, 0x34, 0xAB, 0xC3, 0x3F, + 0x18, 0xB9, 0x56, 0x5C, 0xED, 0xCB, 0x85, 0xDA, 0x14, 0xC6, 0xA5, 0x72, 0xDD, 0x45, 0xAD, 0xFF, + 0xD2, 0xB3, 0x37, 0xDD, 0xAA, 0xFE, 0x05, 0x81, 0x41, 0xB4, 0x07, 0x61, 0x6A, 0x7E, 0x50, 0xAE, + 0xB2, 0x6A, 0xE0, 0x81, 0x85, 0xF5, 0xE2, 0x91, 0x89, 0xCD, 0x3D, 0x1C, 0x79, 0x21, 0x54, 0xEE, + 0x79, 0x35, 0x45, 0x79, 0x87, 0x09, 0x30, 0xA5, 0x29, 0xAD, 0xB2, 0x13, 0x96, 0x11, 0xE8, 0xDD, + 0x53, 0x7E, 0x05, 0x5F, 0xD8, 0x80, 0x81, 0x4B, 0xF8, 0x67, 0xF4, 0xFA, 0xE1, 0x7D, 0x64, 0xEE, + 0xD8, 0xA0, 0xAB, 0x15, 0xC5, 0x2E, 0x81, 0x54, 0xEE, 0x8C, 0x19, 0x9C, 0x34, 0x76, 0x15, 0xFD, + 0x3E, 0xAA, 0x8B, 0xEC, 0x2B, 0xBF, 0x20, 0x69, 0x7A, 0x4E, 0x23, 0x40, 0x2E, 0xF5, 0xBD, 0xC7, + 0xB8, 0x67, 0x17, 0x7D, 0xEF, 0x42, 0xEB, 0x9B, 0x0E, 0xAC, 0x47, 0xAA, 0xB7, 0x8D, 0xBE, 0x70, + 0xFB, 0xF1, 0x30, 0xE0, 0xE6, 0xD5, 0xA6, 0xB3, 0x94, 0xB9, 0xF3, 0x0F, 0x00, 0x12, 0x1E, 0xDB, + 0x69, 0xA3, 0x87, 0xC6, 0x50, 0x8E, 0x4F, 0xDC, 0x98, 0x43, 0x68, 0x0C, 0x38, 0x03, 0xE9, 0x0D, + 0x01, 0x12, 0x34, 0x26, 0xAB, 0xDC, 0x53, 0x11, 0xEC, 0xB6, 0x94, 0x9C, 0xD1, 0xD6, 0x4E, 0xC0, + 0xCB, 0x9F, 0x24, 0x1E, 0x76, 0x96, 0x5E, 0x78, 0x01, 0x06, 0x0D, 0x38, 0x33, 0x31, 0x5B, 0x21, + 0xAD, 0x7C, 0x65, 0xC9, 0x99, 0x9B, 0x4E, 0x95, 0x47, 0x43, 0x41, 0x42, 0x21, 0x30, 0xCC, 0x26, + 0xF8, 0x9A, 0xD2, 0xDC, 0x96, 0x7A, 0xBA, 0xD2, 0x7F, 0x06, 0x1B, 0xBB, 0xCA, 0xC4, 0x46, 0x4E, + 0x72, 0xC9, 0xED, 0x72, 0x2B, 0x2C, 0x62, 0xDA, 0x17, 0xAA, 0xD4, 0xD7, 0xB4, 0xE5, 0x9D, 0xDC, + 0x0E, 0x6C, 0xD2, 0x56, 0x23, 0x8B, 0x88, 0x9A, 0xF0, 0xC9, 0xFE, 0x7B, 0x49, 0xE5, 0xF2, 0xC7, + 0xCA, 0xB7, 0xBF, 0xF8, 0x56, 0x6B, 0x21, 0xEA, 0xE7, 0x84, 0x92, 0x2C, 0x00, 0xB5, 0xA4, 0x42, + 0xBD, 0x33, 0xE0, 0x4A, 0xA6, 0x28, 0xB5, 0xE3, 0xC0, 0x62, 0x11, 0x1A, 0xC4, 0x94, 0xDD, 0xA8, + 0x6C, 0x50, 0x07, 0xBD, 0xED, 0x38, 0xEC, 0xA2, 0x0A, 0x36, 0x1A, 0xC8, 0xDA, 0xBB, 0xC5, 0x3D, + 0x6C, 0x3E, 0xF2, 0xD4, 0x28, 0x54, 0x36, 0x56, 0x53, 0x3E, 0x20, 0x3C, 0x68, 0x82, 0xF4, 0xC6, + 0x0E, 0xDA, 0x97, 0x3A, 0x2B, 0x02, 0xCF, 0x2B, 0x18, 0xEB, 0xE8, 0x66, 0x6D, 0x92, 0x61, 0x65, + 0x51, 0x7B, 0xB2, 0xAD, 0x83, 0x83, 0x7D, 0xCE, 0x45, 0x50, 0x9E, 0x8C, 0x27, 0x3C, 0xDB, 0xAC, + 0x2A, 0x5C, 0x35, 0x0F, 0x17, 0x1F, 0xEE, 0x86, 0xC2, 0xA3, 0x20, 0xED, 0x0C, 0xC2, 0x98, 0xFE, + 0xBA, 0x8F, 0xD5, 0xD1, 0x57, 0x32, 0xEB, 0xCF, 0x3C, 0x0E, 0x34, 0xED, 0x33, 0xB0, 0xA8, 0xA7, + 0x29, 0x33, 0x3C, 0xE9, 0x23, 0x58, 0xB7, 0x2A, 0xE9, 0x62, 0xCA, 0x67, 0x64, 0x18, 0x81, 0x92, + 0xE5, 0x33, 0xF5, 0x05, 0xC3, 0x9F, 0x86, 0x8B, 0xF9, 0xCA, 0x3A, 0x7F, 0x8F, 0x09, 0x96, 0x88, + 0xCD, 0x8C, 0xD7, 0x85, 0x76, 0x54, 0x9C, 0x53, 0x21, 0xF6, 0xC2, 0xF3, 0xC4, 0xB5, 0x68, 0xA7, + 0x42, 0xE5, 0xCE, 0xE4, 0x00, 0x12, 0x96, 0xC0, 0x9D, 0xAE, 0x84, 0xF0, 0x29, 0x58, 0x4C, 0x6A, + 0x02, 0xAD, 0x37, 0xAF, 0x5B, 0xA3, 0x69, 0x0B, 0x01, 0x12, 0x5F, 0x92, 0x33, 0x5F, 0xD8, 0xF8, + 0x00, 0x66, 0xE7, 0xCE, 0x7B, 0x0E, 0xCB, 0x90, 0x35, 0xC4, 0x40, 0x7B, 0xBD, 0xF0, 0xDE, 0xFB, + 0x1A, 0xA5, 0xCB, 0xF4, 0xA8, 0xF7, 0xF9, 0x38, 0xDA, 0xBA, 0x77, 0xD2, 0x56, 0x32, 0x3F, 0x25, + 0x30, 0x25, 0x0A, 0xAF, 0x9A, 0x4F, 0xF0, 0x51, 0x64, 0x0A, 0xD8, 0xE8, 0x66, 0xC5, 0x49, 0x73, + 0x8C, 0x66, 0xC8, 0x3B, 0xB3, 0xF1, 0x3D, 0xFF, 0xE6, 0xD4, 0x1B, 0x1C, 0xD9, 0x0D, 0xB2, 0x66, + 0xE6, 0xFE, 0xE7, 0x74, 0x6E, 0x02, 0x37, 0x7D, 0x69, 0x9A, 0x77, 0x7A, 0x53, 0x85, 0x8F, 0x1D, + 0x22, 0x1C, 0xC8, 0x51, 0x3D, 0x1D, 0x1A, 0x05, 0xE6, 0x82, 0xB5, 0xCE, 0x24, 0x56, 0xAE, 0x4C, + 0x55, 0x89, 0x7A, 0xD1, 0x77, 0x4A, 0xCD, 0x96, 0x7E, 0x18, 0xED, 0x56, 0x8B, 0x03, 0x62, 0x0E, + 0x50, 0x90, 0x37, 0xCE, 0x8D, 0x23, 0x8C, 0x10, 0x24, 0x71, 0x28, 0x59, 0xDE, 0x7D, 0x4C, 0x0C, + 0xEF, 0x0C, 0x16, 0x6C, 0xEC, 0x93, 0x5D, 0xC9, 0xA3, 0x3D, 0x71, 0x53, 0x8A, 0xB3, 0x08, 0xE2, + 0xEB, 0x09, 0x93, 0x42, 0xC5, 0x35, 0x2A, 0x1C, 0xC2, 0xB9, 0xC9, 0xD7, 0xD8, 0xA5, 0xDD, 0x10, + 0xCE, 0x02, 0x71, 0xD2, 0xE4, 0xE1, 0xF4, 0x71, 0x5C, 0xB5, 0xFA, 0x7F, 0xA3, 0xFB, 0xBE, 0xFF, + 0x60, 0x53, 0xCE, 0xA0, 0x56, 0x64, 0x28, 0x7C, 0x2C, 0xDF, 0xBA, 0x90, 0x9C, 0x45, 0x33, 0x27, + 0x69, 0x35, 0xC9, 0xAA, 0x8C, 0xCA, 0x8B, 0xFD, 0x72, 0x8C, 0x40, 0xE1, 0x68, 0xF1, 0x57, 0x50, + 0x4E, 0x36, 0x1A, 0xC1, 0x8F, 0x7B, 0xA6, 0xDE, 0x57, 0xAB, 0x5D, 0xBF, 0x7F, 0xA5, 0xAA, 0x36, + 0x33, 0x09, 0x34, 0xD3, 0xAE, 0x79, 0x7A, 0x20, 0xC2, 0x76, 0xB9, 0x00, 0xEB, 0x2C, 0xA3, 0x20, + 0xB8, 0x13, 0x4E, 0xED, 0x26, 0x15, 0xED, 0xE3, 0xBA, 0x21, 0x10, 0x54, 0x7C, 0x1E, 0xC9, 0x81, + 0x14, 0x62, 0x4B, 0x68, 0x28, 0xE1, 0x56, 0x35, 0x22, 0x70, 0x32, 0xF6, 0x00, 0x12, 0x07, 0xBC, + 0xDB, 0x21, 0xF9, 0x55, 0x5D, 0x19, 0x7C, 0xAE, 0x5D, 0x10, 0x19, 0x61, 0xCC, 0x0B, 0x00, 0x1A, + 0x01, 0x12, 0x86, 0x67, 0xCD, 0x8D, 0x39, 0x7D, 0x5A, 0x8E, 0xC6, 0x99, 0x22, 0x0A, 0xBB, 0x4C, + 0x05, 0x7C, 0x33, 0xD2, 0xF6, 0x60, 0x2E, 0x65, 0x16, 0xA1, 0xD7, 0x39, 0xFE, 0x7A, 0x67, 0x33, + 0x12, 0x92, 0x1E, 0xF9, 0x3E, 0x23, 0xF8, 0xB4, 0x0B, 0x98, 0xF9, 0xBC, 0xCB, 0x76, 0x45, 0xB1, + 0xBE, 0x39, 0x80, 0x1C, 0xC9, 0x0B, 0xD7, 0x7B, 0x83, 0xBD, 0x8E, 0x2B, 0xBA, 0xE4, 0x24, 0x65, + 0x71, 0x06, 0xD3, 0xCD, 0xA8, 0xD3, 0xB4, 0xA6, 0x7B, 0x08, 0x64, 0x0B, 0x01, 0xC8, 0x25, 0x06, + 0x2C, 0x5C, 0xEE, 0x9E, 0xA3, 0x2E, 0xF6, 0x01, 0xAA, 0xA4, 0xCA, 0x2B, 0x3E, 0x0A, 0x3D, 0xF3, + 0x70, 0x14, 0xE4, 0x16, 0x90, 0xA3, 0x7B, 0xC9, 0x9E, 0x19, 0x31, 0x4C, 0xCB, 0xA0, 0x20, 0x78, + 0x1F, 0x48, 0xD8, 0x72, 0x6B, 0x93, 0xB7, 0x25, 0xFA, 0xF6, 0x7A, 0xDA, 0x88, 0x13, 0x3B, 0x7A, + 0xBE, 0x15, 0x28, 0x9C, 0x4C, 0x75, 0x4C, 0xE5, 0x20, 0x51, 0x17, 0xCE, 0x56, 0x42, 0xFA, 0xFB, + 0x41, 0x35, 0x6F, 0xB0, 0x16, 0x97, 0x9B, 0x64, 0x6A, 0x31, 0xC7, 0xEC, 0xD3, 0xD8, 0x06, 0x70, + 0x93, 0x17, 0x94, 0xE7, 0x56, 0xF2, 0xFC, 0x8D, 0xAC, 0x43, 0xD7, 0xDA, 0x6C, 0x1D, 0xA2, 0x60, + 0x93, 0xD7, 0x21, 0xD0, 0x44, 0x6A, 0xB5, 0x0F, 0xA3, 0xC2, 0x99, 0xD4, 0x2B, 0xBC, 0x97, 0x24, + 0xEF, 0xE7, 0xEB, 0x4F, 0x02, 0xEF, 0x19, 0xF9, 0x28, 0xA6, 0x2B, 0x33, 0xF7, 0xC5, 0xD1, 0x28, + 0xB5, 0x55, 0x5C, 0x48, 0xF0, 0x19, 0x32, 0xD6, 0x9B, 0x7E, 0xFA, 0xF7, 0x77, 0x30, 0x63, 0x74, + 0x9A, 0x6A, 0xC6, 0xED, 0xBC, 0x09, 0xE0, 0x35, 0xCC, 0xED, 0x00, 0xFD, 0xF6, 0x95, 0xE0, 0xF7, + 0x85, 0x21, 0x62, 0xB7, 0xB3, 0x38, 0xB6, 0x00, 0xE0, 0x51, 0xB9, 0x3B, 0x23, 0x6C, 0x9E, 0xF2, + 0x71, 0x00, 0x54, 0x87, 0x06, 0xCA, 0xD5, 0xB5, 0x30, 0x7E, 0x25, 0xC9, 0x44, 0x3B, 0xCC, 0x29, + 0x59, 0x61, 0x1D, 0x3A, 0x00, 0x12, 0x1D, 0x9F, 0x30, 0xEA, 0xE1, 0xD9, 0x59, 0x68, 0xA6, 0x94, + 0xFC, 0xCF, 0x30, 0xE6, 0x2E, 0x00, 0x91, 0xA3, 0x01, 0x12, 0x10, 0x6A, 0x54, 0x30, 0xC2, 0x6C, + 0x5A, 0xD7, 0x55, 0x7F, 0xB8, 0x86, 0xD1, 0xBB, 0x72, 0xFA, 0xAF, 0x0E, 0x00, 0x82, 0xFC, 0x2D, + 0xD3, 0xEB, 0x5B, 0x2D, 0x7C, 0xAE, 0x0B, 0x1D, 0xC4, 0xAA, 0xF4, 0x3D, 0xE8, 0x44, 0x40, 0xD5, + 0x16, 0xBC, 0x6C, 0x94, 0x5D, 0xE0, 0xA7, 0x16, 0x6F, 0x65, 0xBC, 0xA2, 0x3D, 0xEB, 0x59, 0x25, + 0x15, 0x54, 0x75, 0xEB, 0x7F, 0x59, 0xE2, 0x99, 0x87, 0x80, 0x95, 0xA3, 0x74, 0xF4, 0x6B, 0x60, + 0x79, 0x00, 0xE4, 0x36, 0xF3, 0x45, 0x56, 0x59, 0x0E, 0x03, 0x1D, 0xFA, 0x4A, 0x1B, 0xFE, 0x3D, + 0xC7, 0xD9, 0x59, 0xE6, 0xF6, 0xCC, 0xBF, 0x56, 0x88, 0x52, 0xAB, 0x9A, 0x80, 0xE1, 0x9A, 0x22, + 0xB8, 0xB5, 0x89, 0x61, 0xCD, 0xE0, 0x39, 0x87, 0xC6, 0x6A, 0x1B, 0xF5, 0x98, 0x17, 0x52, 0x1E, + 0x6D, 0x6B, 0x23, 0x39, 0x1E, 0x0B, 0x3E, 0x9D, 0x71, 0xDF, 0xC6, 0x99, 0x42, 0xD9, 0x99, 0xB8, + 0x87, 0xF1, 0x02, 0x35, 0xE1, 0xC0, 0xF3, 0x5D, 0xE7, 0xDA, 0x91, 0xDF, 0x20, 0x49, 0x59, 0xFE, + 0x34, 0x5A, 0x12, 0x4A, 0x22, 0x0A, 0x83, 0xB1, 0x0C, 0x33, 0x08, 0x15, 0x97, 0xC6, 0x2F, 0x7C, + 0x02, 0x77, 0xFE, 0x2C, 0x07, 0x8D, 0x6F, 0xF6, 0x46, 0x40, 0xC9, 0x28, 0x31, 0x93, 0x99, 0xDF, + 0x58, 0x1C, 0x71, 0x2C, 0x26, 0xC3, 0x72, 0xF8, 0xD6, 0x5E, 0x2D, 0x56, 0x18, 0xD3, 0x93, 0x23, + 0x24, 0x26, 0x60, 0x93, 0xD2, 0xA7, 0xB8, 0x05, 0x37, 0x75, 0xBF, 0xE3, 0x5E, 0xC4, 0x54, 0x24, + 0x22, 0x54, 0x3B, 0xEA, 0x32, 0x9B, 0x74, 0xA6, 0x31, 0x6C, 0xF2, 0xFD, 0x74, 0x87, 0xA2, 0x65, + 0xBA, 0xAF, 0x07, 0x06, 0xD7, 0x6C, 0xD0, 0x8F, 0xD9, 0x51, 0x43, 0x46, 0x20, 0x60, 0x9A, 0x62, + 0x10, 0x69, 0x02, 0xF9, 0x88, 0xDE, 0x25, 0x3B, 0x0F, 0x2A, 0x9E, 0xCC, 0x4D, 0xB0, 0x80, 0xF6, + 0x2F, 0xC0, 0xD4, 0xAD, 0x26, 0xF3, 0xE1, 0x45, 0x73, 0xF1, 0xC9, 0x82, 0x00, 0x12, 0xE1, 0xA2, + 0x53, 0xF2, 0xE4, 0xA2, 0xDC, 0x0E, 0x77, 0x18, 0x6F, 0x50, 0xA8, 0x38, 0xB6, 0x1F, 0x8B, 0xF1, + 0x01, 0x12, 0x9C, 0xB8, 0x64, 0x89, 0x4D, 0x73, 0x33, 0x12, 0x5B, 0x51, 0x4D, 0xF6, 0xFB, 0x58, + 0x79, 0x25, 0x08, 0x2C, 0xD9, 0x68, 0xEF, 0x81, 0x5C, 0x5F, 0x11, 0x50, 0xA7, 0xDF, 0x9D, 0xFD, + 0xC9, 0x40, 0x46, 0x0D, 0x5B, 0x68, 0x7A, 0x12, 0x58, 0x0A, 0xEF, 0x82, 0x5E, 0x1E, 0x6F, 0x31, + 0x05, 0xD0, 0x1C, 0xDE, 0x64, 0x26, 0x25, 0x4E, 0xC4, 0xAA, 0xAB, 0x43, 0xCE, 0xAF, 0xE7, 0x30, + 0xEE, 0x08, 0x24, 0xC2, 0x31, 0x79, 0x8F, 0x1B, 0xB7, 0x8C, 0x19, 0x34, 0x9E, 0xDD, 0x96, 0x2B, + 0xCD, 0x35, 0xD0, 0xC3, 0x39, 0x28, 0x17, 0xD6, 0xFF, 0x3C, 0x8B, 0x8D, 0xBA, 0x88, 0x8C, 0xFA, + 0x63, 0xD0, 0x1D, 0x18, 0xBE, 0x6F, 0x37, 0xFE, 0xD8, 0x9E, 0xD0, 0x2C, 0x57, 0x43, 0x54, 0x0B, + 0x1D, 0x38, 0x16, 0x0C, 0x78, 0xA4, 0xA6, 0x83, 0x74, 0x6B, 0x97, 0x1D, 0xCA, 0xC9, 0x56, 0xFE, + 0x81, 0xDA, 0xB5, 0x00, 0xBD, 0xBA, 0x80, 0xA8, 0x62, 0x2F, 0x31, 0x49, 0x32, 0x8B, 0xF1, 0xE5, + 0xFE, 0x7C, 0x63, 0xB0, 0xEC, 0x4B, 0x1B, 0xCB, 0x27, 0x55, 0x55, 0xF7, 0x41, 0x1F, 0x2A, 0x8B, + 0xCF, 0x52, 0xD0, 0xC4, 0xC8, 0x61, 0x23, 0x15, 0x6D, 0xC7, 0x48, 0x4D, 0x92, 0xA1, 0x01, 0x9F, + 0x9A, 0x64, 0xCF, 0x1B, 0x05, 0x16, 0xAE, 0xE8, 0x87, 0x79, 0xB7, 0x99, 0x0B, 0xEA, 0x39, 0x00, + 0x31, 0xB8, 0x97, 0x4F, 0xE3, 0x6A, 0xFC, 0x53, 0x9A, 0x8A, 0xC9, 0x6F, 0xD4, 0x23, 0x08, 0x74, + 0x4B, 0x2C, 0x4E, 0x5F, 0x20, 0x8C, 0xC2, 0x3E, 0xBA, 0x17, 0x14, 0xC0, 0x97, 0x78, 0x27, 0x47, + 0xDC, 0x9E, 0x87, 0xE1, 0x65, 0x18, 0xC8, 0x44, 0x90, 0x87, 0x81, 0xB7, 0xA1, 0x03, 0x66, 0x7E, + 0x1F, 0x21, 0xA3, 0xC8, 0x5F, 0xBD, 0xAD, 0x81, 0x86, 0x50, 0x54, 0xC9, 0x1D, 0x7F, 0x98, 0x63, + 0x4A, 0x71, 0x7A, 0x8E, 0x9A, 0x0C, 0x77, 0x9E, 0xC9, 0x5D, 0xBC, 0xEB, 0x9E, 0x5D, 0xBB, 0xBF, + 0x8A, 0xA2, 0x2F, 0xB7, 0x00, 0x12, 0xC2, 0x65, 0xEE, 0x2E, 0x19, 0xD5, 0x6B, 0x21, 0x7D, 0xAA, + 0x95, 0xDC, 0xEF, 0xBC, 0x4F, 0xE1, 0xEF, 0xD3, 0x01, 0x12, 0x5D, 0xFB, 0x6D, 0xC0, 0x9C, 0x04, + 0xC9, 0x92, 0x4B, 0x3D, 0xC6, 0xB6, 0xC4, 0x3E, 0x19, 0xED, 0x51, 0xF5, 0xC4, 0x2C, 0xAC, 0x22, + 0xC5, 0x44, 0x1F, 0xB3, 0xB5, 0xEA, 0x29, 0x97, 0xC5, 0x0D, 0x53, 0x76, 0xE7, 0xB7, 0x51, 0x27, + 0x4F, 0x1E, 0x38, 0xF8, 0x8C, 0xC9, 0x66, 0x60, 0x69, 0xA2, 0x6F, 0xEE, 0x8E, 0x1A, 0x5A, 0xAA, + 0xBB, 0xE0, 0x3A, 0xD8, 0x1D, 0x06, 0x1A, 0x79, 0x18, 0xC5, 0x46, 0x38, 0xDB, 0xE7, 0xE3, 0x7D, + 0x0D, 0x31, 0xE0, 0x62, 0x4A, 0x89, 0xEF, 0xAB, 0xE7, 0xF8, 0x14, 0x4C, 0xED, 0xC7, 0xDF, 0xDE, + 0x91, 0x92, 0xBA, 0x19, 0x82, 0xC5, 0xE9, 0x93, 0x21, 0x9D, 0xE8, 0x2A, 0x5F, 0xAF, 0x08, 0x6D, + 0x74, 0xF4, 0xDE, 0x22, 0x11, 0x7F, 0xE3, 0x1B, 0xCD, 0x7D, 0x88, 0x78, 0xA4, 0x00, 0x22, 0x8D, + 0x76, 0x83, 0xEB, 0x0E, 0x25, 0x1A, 0xF4, 0x14, 0x80, 0x58, 0xEA, 0x2E, 0x53, 0xAB, 0xB9, 0x44, + 0xA8, 0xCD, 0xD8, 0x0D, 0x7B, 0xB6, 0xFC, 0xF3, 0x1D, 0x64, 0x6B, 0xDC, 0x30, 0xCF, 0x07, 0x04, + 0x33, 0xF1, 0x05, 0xCF, 0x2B, 0x0C, 0xCE, 0xD0, 0xA2, 0x44, 0xAF, 0x58, 0xB0, 0x33, 0x7E, 0xBC, + 0xEB, 0xA1, 0xC5, 0xED, 0xAA, 0xA4, 0x4D, 0xC5, 0x4B, 0x5B, 0xFC, 0xB0, 0xCE, 0x83, 0x46, 0xD0, + 0x03, 0x55, 0x85, 0xEE, 0x36, 0xFF, 0x95, 0x29, 0x5E, 0x20, 0x08, 0x8B, 0x1A, 0x62, 0xCB, 0x4A, + 0xE4, 0x5E, 0x22, 0x6D, 0x22, 0xC7, 0xE9, 0x30, 0x03, 0x6C, 0x1E, 0xCA, 0x8F, 0xDE, 0x98, 0x69, + 0x9A, 0x20, 0x03, 0x9E, 0xE7, 0x37, 0x3F, 0x0C, 0x6B, 0x88, 0x96, 0xFB, 0x93, 0x3A, 0xAC, 0xEA, + 0x19, 0xF1, 0x23, 0x3C, 0x17, 0x2E, 0x43, 0x05, 0x48, 0xC0, 0xC3, 0x55, 0x69, 0x75, 0x69, 0xC3, + 0x52, 0xA1, 0xF6, 0xAC, 0x89, 0x93, 0xFA, 0x96, 0x3A, 0xCF, 0xA8, 0x4B, 0x1E, 0x61, 0xF2, 0xE4, + 0x66, 0x1F, 0x6F, 0xDE, 0x06, 0xBA, 0x42, 0x67, 0x43, 0x05, 0x70, 0xA0, 0x00, 0x12, 0x83, 0xAC, + 0x76, 0x91, 0x74, 0x5B, 0x9A, 0x14, 0x8E, 0x98, 0x11, 0xF4, 0x69, 0xD2, 0x8E, 0x4A, 0x1A, 0x9C, + 0x01, 0x12, 0x11, 0x3D, 0xAB, 0x1F, 0x41, 0x32, 0x76, 0xB3, 0xCC, 0x76, 0xA7, 0x6D, 0xB9, 0x3E, + 0x3F, 0xC6, 0x0E, 0xCF, 0x10, 0x5D, 0xD9, 0x4F, 0x1E, 0xC7, 0xC3, 0x50, 0x1F, 0x0A, 0x41, 0xB9, + 0x38, 0xD5, 0x9A, 0xC2, 0xBC, 0x93, 0x66, 0x5C, 0x84, 0xF2, 0xB4, 0x96, 0xA7, 0x0C, 0x4D, 0xF8, + 0x51, 0x7C, 0x3F, 0x66, 0xFF, 0x58, 0xCA, 0xB6, 0xCF, 0x74, 0x57, 0xDE, 0x70, 0x7E, 0xF5, 0xE4, + 0x78, 0x49, 0xAA, 0x6D, 0xCF, 0xA3, 0x2B, 0x14, 0x15, 0xB0, 0xF3, 0xF4, 0x82, 0xA9, 0x72, 0x0F, + 0x85, 0xB7, 0xE4, 0xF8, 0x35, 0x12, 0x93, 0x7E, 0xE0, 0x3A, 0xD9, 0x23, 0x93, 0x89, 0x26, 0x3B, + 0x61, 0xD2, 0x92, 0x24, 0xDF, 0xAF, 0x17, 0x5A, 0x8E, 0x30, 0xA9, 0x27, 0x6E, 0x5F, 0xFE, 0x26, + 0x35, 0xF9, 0xBB, 0xD9, 0x6F, 0x35, 0x6F, 0x8C, 0x1A, 0x87, 0xB3, 0x90, 0x6B, 0x3C, 0xC8, 0x25, + 0xD7, 0xCC, 0xF7, 0x82, 0xA0, 0x0B, 0xC3, 0x9A, 0x51, 0xDB, 0xB0, 0x1D, 0x28, 0x81, 0x75, 0x7E, + 0xB4, 0x85, 0xCB, 0x7A, 0x92, 0x33, 0x06, 0xD9, 0xF4, 0x28, 0x10, 0x9C, 0x49, 0x9E, 0xF7, 0x88, + 0x8E, 0xD7, 0xD9, 0x28, 0x44, 0xF8, 0x02, 0x75, 0x7E, 0xD6, 0xAB, 0x87, 0xB6, 0x74, 0xC2, 0xBC, + 0x43, 0x73, 0x5D, 0xA8, 0xF5, 0xF6, 0xD5, 0xB5, 0x4F, 0xAA, 0x3E, 0x24, 0x1E, 0x08, 0xB1, 0xAB, + 0x33, 0x70, 0x71, 0xCF, 0xE0, 0xAA, 0x77, 0x15, 0x57, 0x81, 0x28, 0x65, 0x02, 0x68, 0x7E, 0xEF, + 0xB6, 0x85, 0xC4, 0xC3, 0x94, 0x29, 0x42, 0xEA, 0x03, 0x80, 0xA5, 0x22, 0x3B, 0x1A, 0x30, 0xE2, + 0x80, 0xC7, 0xF7, 0x09, 0xF6, 0xF0, 0xD7, 0xBE, 0xB6, 0xD0, 0xA9, 0xED, 0x61, 0x31, 0x1B, 0x19, + 0xA0, 0xB4, 0x47, 0x47, 0x97, 0xB6, 0x04, 0x96, 0x1E, 0x22, 0xFB, 0xC5, 0xB6, 0xA9, 0x8F, 0x10, + 0x64, 0x60, 0xF4, 0x5C, 0x61, 0xB4, 0x9E, 0xA1, 0xCC, 0x06, 0xF9, 0x8E, 0xF3, 0x16, 0x2B, 0xC7, + 0xC3, 0xAF, 0xF1, 0xF4, 0x00, 0x12, 0xC5, 0x21, 0x37, 0xFB, 0xA3, 0x16, 0xAE, 0x67, 0xAD, 0xD3, + 0x32, 0x43, 0x48, 0xCC, 0x11, 0x72, 0x21, 0x4C, 0x01, 0x12, 0x60, 0xA5, 0x30, 0x14, 0xE0, 0x77, + 0x3E, 0x27, 0xE6, 0x1E, 0x1A, 0x32, 0x7F, 0x40, 0xC8, 0x94, 0xBF, 0xA9, 0x44, 0x2A, 0x30, 0x40, + 0x77, 0x09, 0xB7, 0x12, 0x31, 0xE5, 0x9F, 0xA9, 0x9A, 0x3B, 0xEE, 0x17, 0x1B, 0x49, 0x12, 0xE0, + 0x8F, 0x84, 0x06, 0xF2, 0xD9, 0xEE, 0x73, 0x47, 0xB5, 0x59, 0xCB, 0xD5, 0xEF, 0x76, 0x4B, 0x3E, + 0x49, 0x26, 0xF5, 0xC8, 0x1B, 0x83, 0x79, 0xDF, 0x95, 0xD0, 0x49, 0x08, 0x7E, 0x5B, 0x9C, 0x30, + 0x03, 0xCB, 0x4A, 0x5F, 0x13, 0xCA, 0xC4, 0x9A, 0xD3, 0xEF, 0x0B, 0xF3, 0x1B, 0xA3, 0x3C, 0x20, + 0xF8, 0x1E, 0xC7, 0x14, 0xB2, 0x06, 0x83, 0xCA, 0x72, 0x30, 0x54, 0x56, 0x0C, 0x1E, 0xD3, 0x03, + 0xF8, 0xF4, 0xB4, 0xC7, 0x6B, 0x9D, 0x58, 0x28, 0x8D, 0xD2, 0xF7, 0x70, 0x4D, 0xFA, 0x82, 0xAD, + 0xDC, 0xC8, 0x77, 0x9E, 0x51, 0x6A, 0xFE, 0x27, 0x91, 0xB7, 0xEC, 0x98, 0x6D, 0x5A, 0x9D, 0x85, + 0xEA, 0x78, 0xF3, 0xAA, 0x45, 0x69, 0x9C, 0x43, 0x6B, 0xD6, 0xD9, 0x28, 0x9B, 0x91, 0xCC, 0x62, + 0x80, 0x7A, 0xB6, 0x7A, 0xC0, 0x12, 0x4A, 0xD9, 0x59, 0xEA, 0x42, 0xF6, 0xA3, 0xE7, 0x24, 0x28, + 0x80, 0xE8, 0x26, 0xCB, 0x2E, 0x06, 0x58, 0x64, 0x25, 0xE8, 0x37, 0xC9, 0x51, 0xE4, 0xAF, 0x2A, + 0xD4, 0x90, 0xAE, 0x25, 0x72, 0x77, 0xE7, 0x3B, 0xAE, 0xBE, 0x26, 0xCF, 0xA0, 0xC4, 0x08, 0x3C, + 0xF1, 0xFA, 0x1A, 0x7D, 0x42, 0x55, 0xCE, 0xD1, 0x26, 0x07, 0xD6, 0x59, 0x4C, 0x5B, 0x19, 0xC0, + 0x58, 0x57, 0x2E, 0xB5, 0x8F, 0xB5, 0x6F, 0x1A, 0xB9, 0xDF, 0xCF, 0x99, 0x72, 0xAF, 0xF4, 0x1B, + 0xD3, 0x8E, 0xD4, 0x3F, 0xE0, 0x79, 0x37, 0xFE, 0xF8, 0xF8, 0xFB, 0xDE, 0x67, 0xC3, 0xAB, 0xAB, + 0xD9, 0x3E, 0xED, 0x38, 0x43, 0x02, 0x12, 0x35, 0x89, 0x45, 0x78, 0x4B, 0x79, 0x45, 0x2B, 0x4D, + 0x5B, 0xDE, 0x3F, 0xBF, 0x8D, 0xB3, 0x86, 0x85, 0xC8, 0x9C, 0xD2, 0x30, 0x00, 0x12, 0x56, 0xC5, + 0x16, 0x61, 0x8A, 0x40, 0x43, 0x48, 0x9E, 0xAF, 0x49, 0x3B, 0x6B, 0xFE, 0x9E, 0x75, 0x09, 0x14, + 0x01, 0x12, 0x28, 0x52, 0x20, 0x14, 0xEE, 0xBF, 0x25, 0x6C, 0xBE, 0x27, 0xE7, 0xFB, 0xE9, 0x84, + 0x62, 0x13, 0x85, 0x71, 0x33, 0x4F, 0x66, 0x3F, 0x22, 0x4C, 0x58, 0xBD, 0x5F, 0xA1, 0x28, 0x80, + 0x48, 0x51, 0xAC, 0x98, 0x11, 0xB5, 0x38, 0x99, 0xCF, 0xFB, 0xEB, 0xB0, 0xDC, 0xA8, 0x17, 0x0F, + 0x42, 0x40, 0x9A, 0xCF, 0x6C, 0x67, 0x5B, 0xE7, 0xA7, 0x4A, 0xF3, 0x51, 0xCF, 0xF3, 0x9A, 0x51, + 0x5D, 0xEA, 0x55, 0xE8, 0xA3, 0xF5, 0x92, 0xD2, 0x49, 0x21, 0xE9, 0x3C, 0xDE, 0x20, 0x59, 0xF4, + 0x99, 0xC4, 0xE9, 0xBC, 0x0C, 0x23, 0xA6, 0x89, 0xCA, 0xAE, 0x09, 0xC8, 0x1A, 0xAE, 0xB4, 0x91, + 0xF6, 0xF8, 0x04, 0x95, 0xD4, 0x9B, 0xEA, 0x0C, 0xFD, 0x5D, 0x83, 0xA0, 0xC2, 0x75, 0xE1, 0x1B, + 0x8E, 0xB3, 0xB1, 0x55, 0x88, 0x42, 0xDF, 0x58, 0x08, 0x12, 0xA9, 0x30, 0x55, 0xCA, 0xAB, 0x98, + 0x97, 0xB2, 0xB2, 0x47, 0xC7, 0x34, 0xED, 0x96, 0x1F, 0x00, 0x13, 0xAB, 0x7C, 0x33, 0xC8, 0x48, + 0xC3, 0x94, 0x75, 0xE1, 0xFD, 0x9A, 0x89, 0xD0, 0x9A, 0x11, 0xC4, 0xBF, 0xED, 0x20, 0xC2, 0x73, + 0xAB, 0x08, 0x46, 0x32, 0x71, 0x90, 0xAB, 0x7F, 0x2C, 0x2C, 0x4B, 0x8B, 0x00, 0xB4, 0xC5, 0x94, + 0xE9, 0xEF, 0x18, 0x3E, 0x7C, 0x91, 0x2C, 0x95, 0x07, 0x66, 0xC5, 0xAE, 0x74, 0xA5, 0x2D, 0x15, + 0x0E, 0xF8, 0x80, 0xB1, 0xCB, 0x08, 0x67, 0x27, 0xDB, 0x93, 0xF5, 0xAF, 0x31, 0xE1, 0x46, 0xDB, + 0xB0, 0xE8, 0x56, 0x93, 0x78, 0x65, 0x36, 0xD8, 0xE5, 0x37, 0xED, 0xA4, 0x46, 0x4E, 0xAC, 0x97, + 0xAC, 0xE5, 0x68, 0x71, 0x42, 0xED, 0xDA, 0x7F, 0x86, 0x6F, 0x31, 0xC6, 0x1A, 0x74, 0x19, 0x49, + 0x25, 0x9D, 0x48, 0xC9, 0x5B, 0x27, 0x03, 0x68, 0x14, 0x02, 0x09, 0xE0, 0x68, 0xD5, 0xE7, 0x05, + 0x4E, 0x0A, 0x2F, 0x9E, 0x5E, 0x4D, 0xC4, 0xF4, 0x34, 0xDB, 0x4B, 0xC4, 0x0D, 0xF0, 0x9C, 0xAD, + 0xA4, 0x08, 0x0F, 0x9D, 0x00, 0x12, 0x55, 0x1B, 0xD7, 0x43, 0x7A, 0xAC, 0x7A, 0x50, 0x2B, 0x2C, + 0xBF, 0x60, 0xDD, 0x72, 0x09, 0x00, 0x3B, 0x09, 0x01, 0x12, 0x50, 0x26, 0x36, 0xA5, 0x84, 0xD4, + 0x4D, 0x36, 0x11, 0x67, 0x55, 0x47, 0x6A, 0x85, 0xD4, 0x86, 0x38, 0x20, 0x7D, 0x91, 0x20, 0x11, + 0x52, 0x20, 0x21, 0xDF, 0xC5, 0x16, 0x06, 0x0A, 0x05, 0x27, 0x90, 0x30, 0x4C, 0xC4, 0x9F, 0x79, + 0x57, 0x97, 0xE0, 0x3E, 0x33, 0xF4, 0xAA, 0xB4, 0xDE, 0x62, 0x81, 0x78, 0xDE, 0x73, 0x6D, 0x39, + 0x7F, 0x8D, 0x02, 0xB8, 0x1C, 0x9E, 0x4E, 0x06, 0xC3, 0x75, 0x58, 0xA3, 0x71, 0x1B, 0x7F, 0x77, + 0xAC, 0xC0, 0x66, 0x0A, 0x4C, 0x27, 0xA3, 0x16, 0xC1, 0x96, 0xC3, 0xCF, 0xDF, 0x12, 0x77, 0x35, + 0xF9, 0x44, 0xE4, 0x8F, 0x94, 0x81, 0xA6, 0xF3, 0xAF, 0x78, 0xA3, 0xA7, 0x6F, 0x7B, 0xB0, 0x20, + 0x43, 0x1F, 0x19, 0x17, 0x62, 0x00, 0xBB, 0xDE, 0xA9, 0x76, 0x86, 0xE6, 0x0B, 0x78, 0x6D, 0x39, + 0xE7, 0x38, 0x0D, 0xA6, 0x8F, 0xE4, 0xE5, 0x9D, 0xFD, 0x4B, 0x4D, 0xB1, 0x17, 0xA8, 0xDB, 0x7E, + 0x06, 0x5D, 0x53, 0x3A, 0xD5, 0x28, 0xA5, 0xBB, 0x1F, 0x44, 0xCC, 0x57, 0xC7, 0x33, 0x31, 0x06, + 0x0B, 0x9D, 0x89, 0xA9, 0x2F, 0x49, 0x02, 0xEA, 0x4D, 0x84, 0x15, 0xC4, 0xF6, 0xAD, 0x34, 0x58, + 0x89, 0x7F, 0x75, 0xCA, 0xB7, 0xFD, 0x7F, 0xF7, 0x10, 0x0C, 0xB1, 0xA9, 0x47, 0x3F, 0xCB, 0xB2, + 0x0D, 0xDE, 0xAA, 0x7C, 0x9D, 0x8B, 0x45, 0x17, 0x81, 0x5E, 0x07, 0xFA, 0x93, 0x9A, 0xA9, 0x5E, + 0x9A, 0x48, 0xDD, 0x47, 0xE2, 0x5A, 0xE1, 0x2B, 0x89, 0x6A, 0x2E, 0x2E, 0x72, 0x8C, 0xC6, 0xF0, + 0xA3, 0xB2, 0xD8, 0xD7, 0x0D, 0xD4, 0x12, 0xF1, 0xC8, 0x52, 0xB7, 0xA8, 0xAF, 0xE7, 0x21, 0xB8, + 0xBC, 0xEE, 0x5D, 0xB6, 0xEF, 0x8E, 0x55, 0x4B, 0x32, 0x16, 0x4A, 0x11, 0xE2, 0x8C, 0x70, 0x60, + 0xB4, 0xE8, 0xAC, 0xD5, 0x09, 0xE7, 0xA5, 0x4D, 0xC1, 0x68, 0x04, 0x1C, 0x6E, 0xD6, 0x6E, 0xC7, + 0x40, 0x1E, 0x1C, 0xEA, 0x16, 0x47, 0x48, 0x21, 0xE3, 0xB1, 0x3C, 0x28, 0x00, 0x12, 0x7F, 0xEC, + 0x09, 0x6D, 0x07, 0x94, 0xA3, 0x27, 0x80, 0x1A, 0xF6, 0xC4, 0x82, 0x64, 0xAC, 0x0D, 0x72, 0x9A, + 0x01, 0x12, 0x93, 0x64, 0x63, 0x32, 0x13, 0xFD, 0x9A, 0x3F, 0x5A, 0xB1, 0x20, 0x6A, 0xD0, 0xD6, + 0xD2, 0xE8, 0x07, 0x4E, 0x1E, 0x14, 0x28, 0x98, 0xC3, 0xB9, 0x7B, 0x5E, 0x6D, 0x7E, 0x11, 0xA9, + 0xAB, 0xE8, 0x02, 0xCD, 0x2F, 0x0C, 0xBC, 0x1F, 0x72, 0x52, 0x0C, 0x1C, 0x62, 0x0A, 0x91, 0xA8, + 0x19, 0x53, 0x12, 0x00, 0x4F, 0x85, 0x4E, 0x7B, 0xE0, 0xB2, 0x6F, 0xDB, 0x2A, 0x6F, 0x35, 0x0D, + 0xD3, 0xBD, 0x72, 0xFF, 0xEA, 0x85, 0xD9, 0x9C, 0x06, 0xC7, 0xAC, 0xC0, 0x74, 0xBF, 0x57, 0x6E, + 0x3F, 0xFB, 0xDD, 0xA8, 0x1F, 0x2E, 0x4E, 0xCE, 0x07, 0xBA, 0xDB, 0xD3, 0x44, 0x08, 0xE4, 0x92, + 0x0F, 0x01, 0x10, 0x5B, 0x9A, 0x86, 0x92, 0xAC, 0x2A, 0x80, 0x40, 0xF4, 0xAA, 0xCB, 0xA9, 0x4F, + 0x5E, 0xDE, 0x38, 0xFF, 0x95, 0xB1, 0xB7, 0x05, 0x4C, 0xBE, 0x52, 0x51, 0xA6, 0x12, 0x21, 0x5B, + 0xE5, 0x6B, 0x06, 0xD1, 0x7C, 0x9D, 0xEB, 0xFD, 0xF7, 0x1F, 0x54, 0x74, 0xBF, 0x57, 0xE0, 0x16, + 0x30, 0x9A, 0x87, 0xAD, 0xC7, 0x98, 0x72, 0xC8, 0xC6, 0x3B, 0x08, 0x85, 0x9A, 0xF7, 0xF1, 0x4F, + 0x04, 0x22, 0xC1, 0xE0, 0xD8, 0x8D, 0x72, 0x82, 0x67, 0x09, 0x28, 0x35, 0x3D, 0x9D, 0x17, 0x8F, + 0xE4, 0x63, 0x1D, 0xC0, 0x5F, 0x39, 0x94, 0x36, 0x57, 0x95, 0x16, 0x1D, 0x1D, 0xEF, 0x3E, 0xD1, + 0xB1, 0x1A, 0xD3, 0x29, 0x8F, 0x35, 0x00, 0xCD, 0x99, 0x47, 0xAF, 0x12, 0xB9, 0x14, 0xFB, 0xC5, + 0x6E, 0x7D, 0x1C, 0x92, 0xF5, 0x4D, 0x83, 0x4F, 0x7A, 0x1C, 0xB9, 0x68, 0x99, 0xBF, 0x69, 0x46, + 0xE1, 0x7D, 0x21, 0xD6, 0xC4, 0x02, 0xEB, 0x2E, 0xF1, 0x7C, 0x2F, 0xEB, 0x5C, 0x48, 0xCD, 0x1B, + 0x30, 0x70, 0x7E, 0xFC, 0x5D, 0x01, 0x8F, 0xA3, 0x03, 0x9A, 0xB9, 0x15, 0x45, 0xDC, 0xE2, 0xCD, + 0xE8, 0x5C, 0xB8, 0xE0, 0x3C, 0x04, 0x94, 0x85, 0x2B, 0xB7, 0x33, 0xA7, 0x1D, 0x12, 0x11, 0x03, + 0xE2, 0xD1, 0x0F, 0x03, 0x00, 0x12, 0x73, 0xE5, 0x1B, 0x5C, 0x15, 0x55, 0xFA, 0x44, 0xAF, 0xA2, + 0x06, 0xBD, 0x8E, 0x85, 0xAE, 0x44, 0x48, 0xD4, 0x01, 0x12, 0x33, 0x66, 0x0C, 0x67, 0x7C, 0x22, + 0x82, 0x77, 0xAC, 0x94, 0x44, 0x13, 0xEF, 0x61, 0xCB, 0x01, 0x45, 0x34, 0xFC, 0x5F, 0xD3, 0x07, + 0x6E, 0x47, 0x9F, 0x76, 0x75, 0x2C, 0x78, 0x1D, 0xBB, 0x17, 0x95, 0x4B, 0x7B, 0xC1, 0x2A, 0x85, + 0x1A, 0xD2, 0x60, 0xFE, 0x98, 0x4A, 0x72, 0xE4, 0x25, 0x74, 0x16, 0x72, 0xCA, 0x45, 0x74, 0x31, + 0x51, 0x57, 0x16, 0x48, 0x88, 0xFB, 0x06, 0x8C, 0xC6, 0x4A, 0x40, 0x26, 0x73, 0x0C, 0xCC, 0x57, + 0x90, 0xEF, 0xC5, 0x51, 0x86, 0xA6, 0x49, 0xEF, 0xF1, 0xB4, 0x5C, 0xB1, 0xC7, 0xC9, 0x12, 0x21, + 0x0E, 0x86, 0x51, 0xC2, 0x84, 0x64, 0x73, 0xA3, 0x4A, 0xE3, 0xEA, 0x13, 0x53, 0xFB, 0xEC, 0x02, + 0x4E, 0x36, 0xD6, 0xB6, 0x40, 0x81, 0x6D, 0xE9, 0x0F, 0x5F, 0x06, 0x48, 0xCE, 0x6A, 0x69, 0x36, + 0x1B, 0xEA, 0x7B, 0x2C, 0x22, 0xE9, 0xE7, 0x83, 0x65, 0xB0, 0x85, 0x0D, 0xE3, 0x5E, 0x34, 0xB4, + 0xE7, 0xC5, 0x38, 0x9A, 0xEC, 0xD2, 0xB5, 0x56, 0x1E, 0x49, 0x28, 0x7A, 0xF3, 0xE1, 0xE8, 0xC2, + 0x7A, 0x4B, 0xE3, 0x91, 0x4D, 0xEF, 0x06, 0xD5, 0xE9, 0xA9, 0xE7, 0x9B, 0x38, 0xDF, 0x82, 0xF6, + 0x6A, 0x75, 0xAB, 0x39, 0x2B, 0x4E, 0xE3, 0x4F, 0x30, 0x87, 0x9B, 0xAB, 0x4D, 0x10, 0x1D, 0xDC, + 0xAA, 0x3A, 0xCC, 0x2A, 0xB0, 0x8D, 0x75, 0x23, 0x8C, 0xCA, 0x5B, 0x18, 0x35, 0x32, 0xAC, 0x6C, + 0xF4, 0x61, 0x95, 0xB0, 0xB7, 0x02, 0x0A, 0x59, 0xC3, 0x4B, 0x6C, 0xCC, 0xEC, 0x6D, 0xC6, 0x1C, + 0x08, 0x26, 0xDF, 0x25, 0x25, 0x15, 0xFB, 0xBA, 0x9D, 0xE9, 0x45, 0xCA, 0x72, 0xF5, 0xBB, 0x73, + 0x8D, 0x74, 0xFB, 0x17, 0xD6, 0x5A, 0x2F, 0x97, 0x00, 0x64, 0xC3, 0x5C, 0x40, 0x21, 0xCC, 0xA2, + 0x1B, 0x09, 0x1E, 0xDA, 0xBA, 0x5A, 0xA5, 0xA9, 0xF6, 0x6F, 0xF8, 0xA6, 0x68, 0x59, 0x6B, 0x3B, + 0x85, 0x59, 0x48, 0x19, 0xE0, 0x03, 0xBA, 0x19, 0x4B, 0xD6, 0xC9, 0x6E, 0x00, 0x12, 0xA3, 0x1D, + 0x15, 0x14, 0x19, 0xD4, 0x00, 0x2D, 0x04, 0x90, 0x2F, 0xCB, 0xCE, 0x33, 0xB3, 0xD1, 0x31, 0x7E, + 0x01, 0x12, 0x41, 0xC2, 0x79, 0x20, 0xAC, 0x78, 0x70, 0x42, 0x8E, 0x4E, 0x38, 0xFD, 0xDD, 0xF0, + 0xAC, 0xA3, 0x11, 0x7B, 0x32, 0x8F, 0x43, 0x7A, 0xF0, 0x20, 0x15, 0x91, 0xCF, 0x58, 0x40, 0xEE, + 0x2B, 0xCA, 0xD0, 0x1E, 0x0D, 0xD5, 0xF1, 0xFA, 0x57, 0x9E, 0xAE, 0x6C, 0x3D, 0x74, 0x33, 0x0D, + 0x0C, 0x02, 0x6D, 0xF6, 0xE6, 0xC4, 0x96, 0xE8, 0x1B, 0x78, 0x41, 0xE3, 0x22, 0x40, 0x5C, 0x67, + 0x5D, 0xE0, 0x10, 0x01, 0x5F, 0x36, 0x43, 0xA0, 0xE5, 0x66, 0x70, 0x82, 0x68, 0xB1, 0xFE, 0xE0, + 0xC8, 0x22, 0x0A, 0x2F, 0xD4, 0xAA, 0x0D, 0xCF, 0xDE, 0x6D, 0x75, 0xCF, 0x15, 0x3B, 0xF1, 0x7F, + 0xFC, 0x6A, 0xB8, 0x0D, 0xD2, 0xE4, 0xA3, 0xB5, 0x22, 0x31, 0x79, 0xC7, 0xDF, 0x27, 0x1D, 0x19, + 0xA7, 0x3B, 0xFD, 0xBC, 0xB0, 0x3B, 0x4C, 0xCE, 0x42, 0xDF, 0x44, 0x99, 0xC3, 0x1D, 0x25, 0x98, + 0x6E, 0xB7, 0x01, 0x9E, 0xDB, 0x20, 0xBF, 0xF8, 0x1A, 0x66, 0x75, 0x6C, 0xF0, 0x87, 0xA0, 0xB4, + 0x0E, 0xBB, 0xB6, 0xA4, 0x0B, 0xA3, 0xB1, 0x4B, 0x06, 0xC7, 0x7E, 0x4C, 0x0D, 0x38, 0x59, 0xEF, + 0xD4, 0xFC, 0xA7, 0x54, 0x9E, 0x6F, 0x3A, 0x8F, 0x88, 0x6B, 0x49, 0x6D, 0x98, 0x34, 0x48, 0xD3, + 0x09, 0xF6, 0x6D, 0xF2, 0xDF, 0xA1, 0xEF, 0x50, 0x8C, 0x8E, 0x74, 0xAE, 0x46, 0xED, 0x5E, 0x89, + 0x1E, 0x3B, 0x94, 0x2A, 0x76, 0x5F, 0xB2, 0xEF, 0xEC, 0x1A, 0x72, 0x3A, 0x3E, 0xBA, 0x6F, 0xF6, + 0x8E, 0x1B, 0xE7, 0x41, 0xEA, 0xD1, 0x40, 0x06, 0x98, 0x28, 0x0E, 0xF9, 0x89, 0x78, 0xD0, 0xD8, + 0x02, 0x4D, 0x4B, 0xAB, 0x20, 0xD6, 0x98, 0x5C, 0x86, 0xAE, 0x2A, 0xBA, 0x15, 0x7D, 0xFA, 0x05, + 0xEB, 0x54, 0x60, 0x3C, 0xF7, 0xBD, 0x0C, 0x41, 0x48, 0x2D, 0xB7, 0x54, 0x50, 0x42, 0x13, 0xD4, + 0xDC, 0xDC, 0x1B, 0x12, 0x1A, 0x60, 0xA6, 0x1F, 0x2F, 0x84, 0xE8, 0x94, 0x40, 0xA7, 0xD6, 0x50, + 0xC5, 0xCF, 0x0A, 0x43, 0x00, 0x12, 0xB5, 0xBF, 0x2F, 0x13, 0x9B, 0x9C, 0xE8, 0xF8, 0xF2, 0x33, + 0x96, 0xA3, 0x46, 0x77, 0x94, 0xC0, 0x2F, 0x1B, 0x01, 0x12, 0x60, 0xA1, 0xDB, 0x8F, 0xE7, 0xAD, + 0x5D, 0x61, 0xD8, 0xA2, 0xFA, 0xE9, 0x0F, 0x2D, 0xC0, 0x82, 0x0C, 0xD3, 0x90, 0xD9, 0x2C, 0xE2, + 0xD0, 0x52, 0xDC, 0x55, 0xA9, 0x58, 0xC1, 0xE0, 0x94, 0x19, 0x67, 0xBD, 0x53, 0x29, 0x96, 0xDC, + 0xCB, 0x87, 0xA4, 0xDC, 0xAF, 0xF7, 0xEC, 0x33, 0xE8, 0xA0, 0x09, 0x0E, 0x07, 0x7F, 0x07, 0x14, + 0x1C, 0xF2, 0x54, 0x55, 0x63, 0x11, 0x3F, 0xA6, 0xD8, 0xF9, 0x89, 0xF7, 0xF9, 0x46, 0x79, 0x82, + 0x2B, 0xF1, 0x82, 0x09, 0x76, 0xC5, 0x5B, 0xC3, 0x2F, 0x57, 0x5E, 0x9C, 0xCE, 0x08, 0x5C, 0xEB, + 0xC1, 0x2C, 0xE2, 0x94, 0xC6, 0x6C, 0x0E, 0x55, 0x69, 0xB8, 0xC1, 0x28, 0x38, 0xF7, 0xB7, 0x13, + 0x67, 0xBE, 0xE8, 0x9C, 0x06, 0x91, 0x15, 0xE3, 0x27, 0x04, 0xE9, 0x89, 0x62, 0x16, 0x66, 0xF6, + 0x55, 0x47, 0x02, 0x10, 0x24, 0xE9, 0xBE, 0x9D, 0xB7, 0x2C, 0x4B, 0xA3, 0xCD, 0xB9, 0xD0, 0x9B, + 0x26, 0xC7, 0xCD, 0x66, 0x9F, 0xA7, 0x2B, 0x81, 0x4C, 0xBE, 0x02, 0x10, 0xD4, 0x91, 0x14, 0x29, + 0x59, 0xBE, 0x1A, 0x39, 0x03, 0xD1, 0xD2, 0xE1, 0x0E, 0x6D, 0x16, 0x22, 0xBE, 0xE0, 0xBD, 0x7F, + 0xAD, 0x0A, 0xC6, 0xEB, 0xD1, 0xE7, 0xF5, 0x85, 0x5D, 0xC6, 0xF6, 0xDB, 0x4B, 0x5D, 0x8E, 0x97, + 0xA9, 0xB8, 0x3B, 0xBD, 0xE9, 0xD7, 0x74, 0xF5, 0x6D, 0x2C, 0xEC, 0x19, 0x38, 0xE1, 0xF1, 0x02, + 0xDC, 0x6A, 0x9C, 0x1F, 0x54, 0xF6, 0x02, 0x20, 0x16, 0x44, 0x60, 0x28, 0x13, 0xD2, 0x7F, 0x7F, + 0xF6, 0xD9, 0x49, 0x0F, 0xFF, 0x38, 0xBE, 0xA4, 0x5D, 0x7E, 0xEE, 0xC3, 0x52, 0x01, 0x64, 0xDC, + 0x19, 0x7C, 0xE7, 0x31, 0x4A, 0x82, 0xAA, 0x22, 0x99, 0x5B, 0x34, 0xC7, 0x45, 0x35, 0x3D, 0x26, + 0x18, 0xAC, 0xAB, 0x5F, 0xD2, 0x7E, 0xED, 0x97, 0xF4, 0x38, 0xC1, 0xF6, 0x37, 0xD7, 0x04, 0x04, + 0xF3, 0x38, 0x5D, 0x1D, 0x38, 0xE7, 0x39, 0x5A, 0x02, 0x4F, 0x2D, 0xE0, 0x00, 0x12, 0x31, 0x0F, + 0x92, 0xCD, 0xCD, 0x8D, 0x05, 0xCE, 0x09, 0xCF, 0xFF, 0xEF, 0xD2, 0x02, 0x7E, 0x35, 0x18, 0x5E, + 0x01, 0x12, 0x8B, 0xDE, 0xAA, 0x68, 0xF2, 0xB2, 0x68, 0xED, 0x5E, 0xF5, 0xAE, 0xA6, 0xB5, 0x40, + 0x87, 0x63, 0x57, 0xC4, 0x06, 0x4F, 0x5B, 0xFD, 0x13, 0x86, 0xA5, 0xDE, 0x39, 0x83, 0xFE, 0x2D, + 0xC0, 0xFB, 0xF1, 0xE2, 0xB2, 0x42, 0x9C, 0x74, 0xD2, 0x2E, 0x5C, 0x23, 0x13, 0x82, 0xFA, 0x7F, + 0xAB, 0xA4, 0x77, 0xE4, 0x90, 0xD6, 0xF9, 0xCA, 0xF4, 0xAA, 0xAE, 0x38, 0x7D, 0x33, 0xFA, 0xE5, + 0x97, 0x7F, 0x8A, 0x3A, 0xF7, 0x32, 0xEC, 0x4B, 0x44, 0xEE, 0xFC, 0x29, 0xF1, 0x94, 0xF3, 0xE4, + 0xDD, 0x72, 0xF8, 0x0F, 0xF5, 0x8F, 0x3F, 0x22, 0x27, 0xE6, 0x46, 0x8F, 0x72, 0x27, 0x6A, 0x75, + 0xF0, 0xF5, 0x21, 0x55, 0xE0, 0x6A, 0xCB, 0x83, 0x8D, 0x2F, 0x13, 0xD9, 0x2E, 0x0C, 0xFA, 0x86, + 0x41, 0x7F, 0xC0, 0xD2, 0x4B, 0xB5, 0x73, 0xCD, 0x9B, 0xB5, 0xA3, 0xAB, 0x43, 0xEF, 0x2A, 0xA4, + 0xDE, 0x29, 0x24, 0xB8, 0xD2, 0x69, 0x8F, 0x8A, 0x54, 0x55, 0x8B, 0x9F, 0x07, 0x0A, 0x83, 0xF1, + 0x53, 0x2A, 0xE6, 0x6E, 0x8F, 0xBF, 0xD5, 0x13, 0xFF, 0xE6, 0xCF, 0x0D, 0x91, 0x94, 0x69, 0x0F, + 0x8D, 0x60, 0x91, 0xB9, 0x18, 0x63, 0x62, 0xAD, 0x0D, 0x30, 0x22, 0x41, 0x46, 0x46, 0x9E, 0x6B, + 0xF3, 0x4D, 0x48, 0xCF, 0xA3, 0x92, 0x02, 0x49, 0x1E, 0x35, 0xCA, 0xDE, 0x32, 0xFC, 0x17, 0x6F, + 0x96, 0x7F, 0x70, 0x85, 0xE7, 0x56, 0x98, 0xE6, 0x77, 0x68, 0xEB, 0xC3, 0xCA, 0xAE, 0x68, 0x9F, + 0xDC, 0x84, 0x99, 0x80, 0x17, 0xB1, 0x8D, 0xDC, 0xD5, 0xA2, 0xB2, 0xFD, 0xA1, 0x72, 0x58, 0xBD, + 0x00, 0x2C, 0xDD, 0x76, 0x92, 0xB3, 0xBC, 0xAC, 0x2A, 0x8A, 0x99, 0xC5, 0x4C, 0x02, 0xC4, 0x25, + 0x84, 0x00, 0x7A, 0xFF, 0xBC, 0xF1, 0x79, 0xF8, 0x56, 0xD4, 0xA8, 0xF2, 0xE5, 0x57, 0x94, 0xBC, + 0x0B, 0x00, 0xE3, 0x5D, 0x89, 0x64, 0x08, 0x6B, 0x31, 0x29, 0x71, 0x8F, 0xEE, 0x38, 0x8D, 0x4E, + 0xD9, 0x17, 0x0D, 0x6E, 0x00, 0x12, 0x42, 0xCE, 0xB8, 0x02, 0x24, 0xEB, 0x8A, 0xDE, 0xE0, 0x74, + 0xAA, 0x37, 0xAC, 0x18, 0x08, 0x90, 0x6D, 0xC7, 0x01, 0x12, 0x48, 0x18, 0xDE, 0x56, 0xA3, 0xCF, + 0x23, 0x5C, 0x62, 0x3C, 0x4C, 0x2A, 0x64, 0xB5, 0xA0, 0x0B, 0xB3, 0x1D, 0x98, 0xAA, 0x4D, 0x37, + 0x71, 0x98, 0x39, 0xFE, 0x0C, 0xFD, 0x95, 0xD1, 0xE7, 0x05, 0x14, 0xE8, 0x18, 0xDB, 0x61, 0xAF, + 0x54, 0xB6, 0x47, 0x6D, 0xC2, 0x3A, 0x42, 0x18, 0xFB, 0xDB, 0x66, 0x38, 0x83, 0x95, 0x99, 0xB2, + 0x02, 0x8D, 0xCF, 0xBF, 0x30, 0xE8, 0xA7, 0x33, 0x66, 0xE6, 0x89, 0xA4, 0xD1, 0x6B, 0xCF, 0xDF, + 0x61, 0xAF, 0xD9, 0xC7, 0xB9, 0x14, 0xD4, 0x2A, 0x73, 0xFC, 0x66, 0x98, 0x62, 0x40, 0x04, 0x26, + 0xF8, 0x89, 0xAD, 0xC8, 0x6D, 0x51, 0x68, 0x1B, 0x58, 0x3D, 0x8A, 0x3C, 0xD8, 0x5B, 0x6B, 0x84, + 0xCF, 0xCB, 0xE7, 0x3E, 0x6B, 0xD7, 0x43, 0xC3, 0x7D, 0xC5, 0x9F, 0xE1, 0xCC, 0x2F, 0x08, 0xEC, + 0xBE, 0xBE, 0xAE, 0xE4, 0x84, 0x50, 0x45, 0x62, 0x43, 0x88, 0x7C, 0x62, 0x17, 0x24, 0x29, 0x45, + 0x7E, 0x3D, 0xA0, 0x30, 0xB0, 0x1E, 0x4E, 0x53, 0x45, 0xBD, 0x7D, 0x55, 0xA2, 0xD9, 0x3A, 0x49, + 0x1A, 0x57, 0x71, 0x2A, 0x3E, 0x95, 0x8C, 0x55, 0x66, 0xB4, 0x28, 0x33, 0x0F, 0x93, 0xCA, 0xD2, + 0x98, 0x43, 0x04, 0x35, 0xAE, 0xD0, 0xC2, 0xE4, 0x69, 0x91, 0x23, 0x41, 0x83, 0xDE, 0x09, 0x15, + 0x6A, 0xAA, 0xA5, 0xF9, 0x51, 0xCB, 0x72, 0x10, 0x05, 0xBE, 0x4B, 0x84, 0xBF, 0xD7, 0xDD, 0x06, + 0xA7, 0x97, 0xF1, 0x83, 0xAB, 0x4F, 0x76, 0x1C, 0xAD, 0x53, 0xED, 0xE0, 0xE2, 0x43, 0x3E, 0x6D, + 0xBF, 0xC1, 0x68, 0xB3, 0xAE, 0xA7, 0x1F, 0x07, 0x4C, 0x9E, 0x80, 0xC6, 0xF8, 0x6B, 0x43, 0xC0, + 0x39, 0x79, 0x55, 0x1D, 0x36, 0x25, 0x6F, 0x09, 0x79, 0x45, 0x03, 0x31, 0x6A, 0x9D, 0x46, 0x31, + 0xE6, 0xC0, 0xE6, 0x71, 0xBF, 0xBA, 0x61, 0x73, 0x6D, 0x49, 0x85, 0x67, 0xA7, 0x34, 0x18, 0xF4, + 0x96, 0x93, 0x0C, 0x1B, 0x74, 0x79, 0xD3, 0x95, 0x71, 0xA7, 0xBB, 0x5E, 0x00, 0x12, 0x2B, 0x0A, + 0x16, 0xD8, 0x32, 0xDF, 0x60, 0xF7, 0xAE, 0x09, 0xEF, 0x7B, 0x39, 0x26, 0xF3, 0x9F, 0xB0, 0x11, + 0x01, 0x12, 0xE7, 0x19, 0x57, 0xFA, 0x13, 0x70, 0xCF, 0x8B, 0x8D, 0xCD, 0x58, 0x8E, 0x32, 0x8D, + 0x65, 0x2B, 0x75, 0xBB, 0x74, 0x63, 0x46, 0x36, 0xE1, 0xA5, 0x2B, 0x68, 0xE1, 0x99, 0xF0, 0x4E, + 0xED, 0xE0, 0xD2, 0x1B, 0xB6, 0x3A, 0xD5, 0xBC, 0x8F, 0x63, 0x5A, 0x79, 0x0B, 0xE9, 0x76, 0xAB, + 0x39, 0xA6, 0xF0, 0xA4, 0x01, 0x45, 0x61, 0xA9, 0x3E, 0x09, 0xBC, 0x35, 0xA4, 0x8B, 0x23, 0x68, + 0x28, 0x43, 0xC0, 0x2C, 0xD9, 0x55, 0x49, 0x54, 0x17, 0x21, 0x63, 0xA2, 0xC1, 0xAC, 0x77, 0x28, + 0xDD, 0x15, 0x68, 0x82, 0x92, 0x9F, 0xAC, 0x90, 0x4F, 0xD4, 0xF4, 0x17, 0xF1, 0x10, 0x43, 0x09, + 0x76, 0xF5, 0x3B, 0x37, 0xDB, 0xFA, 0x10, 0xF3, 0x1C, 0x58, 0x9F, 0x86, 0xE8, 0xE2, 0xAF, 0x59, + 0xD6, 0xDD, 0x69, 0x41, 0x12, 0x8E, 0xA3, 0xA9, 0x37, 0xAE, 0xC7, 0x21, 0x35, 0x89, 0x1D, 0x0E, + 0xB6, 0x20, 0xFD, 0x35, 0x8C, 0x64, 0x0C, 0xA1, 0xE1, 0x2E, 0xAA, 0xEF, 0xDF, 0x69, 0x55, 0x95, + 0x3A, 0x9A, 0xB0, 0xA6, 0xAC, 0x28, 0xF9, 0xDF, 0xC3, 0x1F, 0x6F, 0x1B, 0x32, 0x26, 0xE9, 0x4A, + 0x56, 0xBF, 0xE5, 0x3B, 0x55, 0x0C, 0xBA, 0x6E, 0x67, 0x45, 0x38, 0x08, 0x81, 0x01, 0x5B, 0x42, + 0x72, 0x3B, 0x92, 0x2F, 0x5E, 0x7F, 0x01, 0xF7, 0x97, 0x6E, 0x2F, 0x37, 0xD5, 0x01, 0xD9, 0x71, + 0xE5, 0x0F, 0xF9, 0x7D, 0x12, 0x1D, 0x58, 0x25, 0x56, 0x18, 0x03, 0xCB, 0x2D, 0xB4, 0xF7, 0xEF, + 0x5D, 0x73, 0xC3, 0xAC, 0xA3, 0x82, 0xDE, 0x32, 0x68, 0x22, 0x03, 0xB1, 0xE2, 0xBC, 0x90, 0x0B, + 0x3B, 0x0A, 0xAD, 0xAD, 0x74, 0xEA, 0x11, 0x30, 0xCE, 0xA8, 0x45, 0x5B, 0xF8, 0xD8, 0x6C, 0x52, + 0xC7, 0x43, 0x24, 0x51, 0x21, 0x54, 0x8C, 0x8D, 0x6B, 0xE5, 0x45, 0x90, 0x47, 0x0E, 0x2C, 0xAA, + 0x3E, 0xF3, 0xC5, 0xB7, 0x57, 0x3F, 0xEE, 0x86, 0x96, 0xC9, 0x03, 0x7A, 0xA7, 0x1F, 0x7C, 0x58, + 0x86, 0x6E, 0x39, 0xCB, 0x00, 0x12, 0x40, 0xE7, 0xD9, 0xE3, 0xEB, 0x91, 0x2D, 0x36, 0xC1, 0xB4, + 0xD6, 0x94, 0xD2, 0xE6, 0xF1, 0x83, 0x7A, 0x34, 0x01, 0x12, 0x40, 0xC7, 0xEA, 0xB3, 0x09, 0xD4, + 0x34, 0x1A, 0xE1, 0x4F, 0xA3, 0x3B, 0xA3, 0x94, 0x7B, 0xEA, 0xE7, 0x50, 0xF1, 0x35, 0x92, 0xE7, + 0xBE, 0x50, 0x12, 0x20, 0xA2, 0x37, 0x64, 0x43, 0xAD, 0x3E, 0xB8, 0x60, 0x9A, 0x85, 0x49, 0x4A, + 0xF3, 0x27, 0x55, 0x5D, 0xFC, 0x68, 0x43, 0x0E, 0x59, 0x39, 0x6D, 0x49, 0x9E, 0x7F, 0x60, 0xD1, + 0x06, 0xE2, 0x36, 0x3E, 0xF7, 0xD1, 0xF7, 0x23, 0x96, 0x6C, 0xD1, 0x00, 0x15, 0x77, 0xEF, 0xA3, + 0xA9, 0x8B, 0x85, 0x78, 0x24, 0x0A, 0x0D, 0x97, 0x09, 0x69, 0x59, 0xA3, 0x71, 0x40, 0x20, 0xBB, + 0xE2, 0x27, 0x63, 0x0F, 0x48, 0xE0, 0x36, 0x74, 0x7C, 0x84, 0xB0, 0xAE, 0xB1, 0xE0, 0xBD, 0xCB, + 0x0F, 0x92, 0xB3, 0x8B, 0xAC, 0xCC, 0x6E, 0x02, 0xCC, 0xA9, 0x86, 0x8A, 0x60, 0xB0, 0x07, 0xDD, + 0xB6, 0x9D, 0x5B, 0xAC, 0xEF, 0xB3, 0x9C, 0x1A, 0x5D, 0x8E, 0x9C, 0x9E, 0x31, 0x30, 0x81, 0x30, + 0xC3, 0x94, 0x68, 0x72, 0xE4, 0x9E, 0x3B, 0xBB, 0xD9, 0xE6, 0xEB, 0xA8, 0x77, 0xA9, 0x89, 0x0D, + 0xDE, 0xDF, 0xEA, 0x09, 0x37, 0xB6, 0x0C, 0x81, 0xFC, 0xC7, 0x48, 0x6B, 0xE7, 0x4F, 0x73, 0x5D, + 0x43, 0xD5, 0xDE, 0xEA, 0x53, 0x8D, 0xC9, 0x9D, 0xDA, 0xD4, 0x8F, 0xB7, 0x84, 0xB4, 0x06, 0xB7, + 0xDD, 0xCD, 0xBD, 0x7F, 0x56, 0x79, 0x5C, 0x70, 0x9F, 0xB5, 0xD7, 0x98, 0x24, 0x6B, 0x02, 0x95, + 0x3A, 0x12, 0x6F, 0x26, 0x9E, 0xAF, 0xA0, 0x2D, 0xE7, 0xD0, 0x67, 0x92, 0xA3, 0x57, 0xD9, 0x0C, + 0x74, 0xAE, 0x13, 0x2F, 0xDD, 0xD3, 0xFD, 0xE8, 0xA7, 0x58, 0xB4, 0x01, 0x3C, 0x92, 0x5B, 0x7B, + 0x48, 0x7B, 0x29, 0xC8, 0xE8, 0xA2, 0xA1, 0x5B, 0x8A, 0x7C, 0x95, 0xC3, 0xBD, 0xDA, 0x8C, 0xD5, + 0x89, 0x79, 0xFA, 0x08, 0x08, 0xA7, 0xB8, 0x48, 0xB2, 0xBD, 0xF9, 0xB3, 0x2E, 0xCB, 0xCF, 0x67, + 0xB8, 0x99, 0xC1, 0x49, 0x41, 0x18, 0xF6, 0x16, 0xB1, 0x16, 0x29, 0xD4, 0x00, 0x12, 0xE5, 0xB6, + 0x94, 0x52, 0xC1, 0xE3, 0x4B, 0x22, 0xF0, 0x13, 0x06, 0x9A, 0x05, 0x40, 0x5F, 0x98, 0xC0, 0x45, + 0x01, 0x12, 0xD7, 0x32, 0x2E, 0x8C, 0x96, 0x3E, 0x05, 0xCD, 0x8E, 0x92, 0xE0, 0x93, 0xB0, 0x0E, + 0xA5, 0xEB, 0x69, 0x45, 0x36, 0xA4, 0x31, 0x4A, 0x53, 0xC1, 0x22, 0x81, 0x8E, 0x3E, 0xFE, 0x75, + 0xEB, 0x79, 0xEB, 0xF5, 0x9F, 0xCB, 0x53, 0xDB, 0x26, 0x2A, 0x00, 0xE9, 0x24, 0xE0, 0x62, 0xAD, + 0x9B, 0xCD, 0xA2, 0xB5, 0x35, 0x67, 0x11, 0xC0, 0x16, 0x9F, 0xC2, 0x5A, 0xEC, 0x12, 0x43, 0xED, + 0xB1, 0x95, 0x9F, 0x95, 0xB0, 0x74, 0xC6, 0xA3, 0x1B, 0xC9, 0x95, 0xED, 0x08, 0x59, 0xB5, 0xEA, + 0x79, 0x61, 0x44, 0x7C, 0xFA, 0x24, 0x05, 0xF0, 0x8E, 0xE7, 0xB0, 0x12, 0xBF, 0x7E, 0xCC, 0xE1, + 0x65, 0xFA, 0x07, 0xC7, 0x41, 0x56, 0x54, 0xEB, 0x67, 0xA5, 0xFC, 0x37, 0x18, 0x60, 0x7B, 0x96, + 0xBD, 0x1E, 0x45, 0x85, 0xC1, 0x84, 0x8F, 0xEA, 0x48, 0x89, 0x68, 0xE6, 0x1F, 0xA1, 0xF3, 0xA1, + 0x1B, 0xA9, 0x70, 0xFB, 0x0B, 0x74, 0xF3, 0xEB, 0x6A, 0x4D, 0xBF, 0xBC, 0x84, 0x4A, 0x6B, 0x4E, + 0x50, 0xFC, 0x91, 0xC3, 0xE4, 0x5F, 0x04, 0x26, 0xC8, 0xED, 0xC9, 0xBA, 0x35, 0xC5, 0x38, 0x15, + 0x1E, 0x0A, 0x87, 0xC2, 0xB2, 0x60, 0x82, 0xCF, 0x82, 0x8B, 0xE4, 0x52, 0x29, 0x70, 0x0B, 0xE7, + 0xE4, 0x23, 0xF6, 0x95, 0x3A, 0x10, 0x68, 0x0A, 0x64, 0xBB, 0x06, 0x39, 0xCD, 0x93, 0xF7, 0xAB, + 0xFC, 0xEF, 0xD7, 0x0C, 0xA7, 0x42, 0xCC, 0x55, 0xD3, 0xBC, 0xB9, 0x22, 0x7A, 0x24, 0xC0, 0x87, + 0x97, 0x66, 0x69, 0x53, 0x12, 0x3B, 0x3E, 0x42, 0x2C, 0x5E, 0x1A, 0x45, 0xFD, 0x08, 0x77, 0xF6, + 0x30, 0x02, 0x99, 0xC2, 0x40, 0x60, 0x94, 0x75, 0xB6, 0x29, 0xE7, 0x7D, 0x24, 0xB2, 0x14, 0x94, + 0xDB, 0x2F, 0x54, 0xE9, 0x59, 0x97, 0x2C, 0x84, 0x42, 0xC2, 0x28, 0x38, 0x3D, 0xFF, 0x44, 0x09, + 0xCF, 0xE6, 0xE9, 0xA8, 0x38, 0x49, 0xB2, 0x70, 0xBC, 0x51, 0xF0, 0x97, 0x93, 0x6A, 0xE8, 0xC2, + 0xE4, 0x6F, 0x71, 0x15, 0x00, 0x12, 0xF6, 0x55, 0x39, 0xF8, 0x0D, 0x99, 0x7F, 0xD2, 0xAC, 0x5E, + 0xDD, 0xE1, 0x95, 0xAE, 0x49, 0x0C, 0x35, 0x72, 0x01, 0x12, 0xFB, 0x51, 0x7A, 0xEB, 0xFF, 0x94, + 0x6B, 0x37, 0x7D, 0x38, 0xE0, 0x89, 0x4C, 0x03, 0xFF, 0x23, 0x36, 0x4F, 0x96, 0x01, 0xE4, 0x54, + 0x50, 0xE7, 0x82, 0x9D, 0x49, 0x92, 0x45, 0x60, 0xC3, 0x16, 0x46, 0xC3, 0x3F, 0x15, 0x7A, 0xAC, + 0x77, 0x81, 0xAD, 0xCE, 0xE3, 0xF1, 0x91, 0x10, 0xB5, 0xE6, 0x53, 0x66, 0x84, 0xC2, 0x2B, 0xE8, + 0x61, 0x02, 0x0A, 0x71, 0xC2, 0x00, 0x29, 0x11, 0x97, 0xFC, 0x99, 0xF2, 0xF3, 0x16, 0x15, 0xA7, + 0xBA, 0x85, 0x85, 0x9C, 0xC6, 0x33, 0x12, 0x20, 0xDC, 0x55, 0xF2, 0xCB, 0xAC, 0x37, 0xA5, 0x69, + 0xCD, 0xA4, 0xD1, 0x25, 0xC4, 0xE1, 0xA0, 0xCE, 0x39, 0x51, 0x61, 0xE3, 0xC9, 0xA7, 0x0E, 0x2F, + 0x3D, 0x4E, 0xA6, 0xFA, 0x82, 0x50, 0x59, 0x50, 0x0D, 0x0C, 0x55, 0xB4, 0xA1, 0xCF, 0xC9, 0x05, + 0x9B, 0x35, 0x91, 0x49, 0xB7, 0xDE, 0x9B, 0x1C, 0x92, 0x52, 0x41, 0x15, 0xED, 0x71, 0x3A, 0x2D, + 0x68, 0x7E, 0xC1, 0x12, 0x35, 0x6A, 0x04, 0x56, 0x48, 0x84, 0x2B, 0x03, 0x70, 0x12, 0x7E, 0xB6, + 0xF2, 0x21, 0x92, 0xF6, 0xC3, 0xA0, 0xC9, 0x15, 0x21, 0x4E, 0xBA, 0x37, 0xE0, 0xD4, 0x55, 0xDF, + 0xCC, 0xCE, 0x54, 0xBC, 0x3F, 0x87, 0x60, 0x6C, 0x13, 0x3C, 0x56, 0xD0, 0xD2, 0x2E, 0xE5, 0x4C, + 0xF6, 0xDD, 0x66, 0xBC, 0x17, 0x0F, 0xBA, 0x8D, 0x0C, 0x04, 0x37, 0xAE, 0xD0, 0xB0, 0x41, 0x5A, + 0xC3, 0xE7, 0xA6, 0xEA, 0x4E, 0xA3, 0xAE, 0x05, 0x9B, 0x98, 0x4E, 0xC3, 0x16, 0x2F, 0x7E, 0x85, + 0xC4, 0xC6, 0x0F, 0x99, 0x1B, 0x99, 0x9B, 0x08, 0x1A, 0xF7, 0x3E, 0xE4, 0xEB, 0x04, 0x30, 0xA3, + 0x82, 0x32, 0xC1, 0x0B, 0x35, 0xAE, 0x21, 0x68, 0xB4, 0xF3, 0xA4, 0xA2, 0xE7, 0x21, 0x86, 0xFA, + 0x7E, 0xBC, 0xAB, 0x81, 0x1E, 0x3B, 0xAB, 0x91, 0x49, 0xC9, 0x28, 0x82, 0xC4, 0xA2, 0x82, 0xFA, + 0x3B, 0x9B, 0xFB, 0x2C, 0xF7, 0x88, 0xAA, 0x60, 0xD2, 0x26, 0xF9, 0x0F, 0x00, 0x12, 0x70, 0x5F, + 0x78, 0xE4, 0xF3, 0xB0, 0x9F, 0x97, 0x72, 0xAD, 0x11, 0x6E, 0x19, 0x5B, 0xF1, 0xE1, 0x4A, 0x46, + 0x01, 0x12, 0x41, 0x9D, 0xB7, 0x1D, 0x82, 0x3E, 0xAF, 0x5B, 0xB9, 0xD3, 0x03, 0x32, 0x3F, 0x37, + 0xC1, 0x62, 0xCC, 0x40, 0xA1, 0x3D, 0xC9, 0xC3, 0x39, 0xB3, 0xB9, 0x54, 0xB2, 0x9F, 0x74, 0x3E, + 0xD0, 0xC3, 0x60, 0x31, 0x6D, 0x71, 0x80, 0x3F, 0x00, 0x8F, 0xDF, 0xA0, 0xE4, 0xCF, 0x50, 0x3D, + 0x4D, 0xE7, 0x41, 0x3D, 0xE9, 0x78, 0xAF, 0xF7, 0x07, 0x41, 0xDE, 0x4B, 0xED, 0x24, 0x7F, 0x50, + 0xE1, 0x5A, 0x6E, 0x07, 0xD1, 0x60, 0xC6, 0x2A, 0x35, 0x47, 0x92, 0xDE, 0x6E, 0xBA, 0x24, 0x6A, + 0x07, 0x2E, 0x58, 0xA9, 0xC8, 0x50, 0xF4, 0x82, 0xE3, 0x21, 0xC1, 0x10, 0x9B, 0x76, 0x6A, 0x1B, + 0xBF, 0x28, 0x36, 0xBF, 0x40, 0xC2, 0xC2, 0xBB, 0xF1, 0xAE, 0xF3, 0x06, 0x8A, 0x97, 0x08, 0x4B, + 0xA0, 0xE7, 0xE5, 0x80, 0x3E, 0xB6, 0x92, 0xF3, 0x81, 0x76, 0xC5, 0xD9, 0xB2, 0xE1, 0x09, 0xA8, + 0x49, 0x22, 0xC3, 0xA3, 0x79, 0x92, 0x04, 0xF2, 0x1F, 0x05, 0xC5, 0x7B, 0x74, 0x2C, 0xEC, 0x74, + 0xDD, 0xC3, 0x2E, 0x9A, 0xAC, 0x35, 0xB5, 0x38, 0x67, 0xAA, 0x06, 0x2C, 0x39, 0x49, 0xCC, 0xE0, + 0x8C, 0x9A, 0x03, 0x0E, 0x86, 0xAF, 0x54, 0x7A, 0xDA, 0xE5, 0xE7, 0x51, 0xAB, 0x5A, 0x3E, 0x5E, + 0xBE, 0xFF, 0x5A, 0xDA, 0xD0, 0x23, 0xEA, 0xB4, 0x8B, 0x5D, 0x1E, 0xF7, 0xCF, 0x82, 0x63, 0x81, + 0x4B, 0xD5, 0x7A, 0xC5, 0xC2, 0xBF, 0xAD, 0x46, 0xE9, 0x92, 0x60, 0x98, 0xA6, 0x65, 0x4E, 0xEE, + 0x48, 0x8E, 0xB3, 0x45, 0x80, 0x0E, 0xD0, 0x73, 0xEE, 0x37, 0xED, 0x14, 0xA3, 0xD5, 0xBC, 0x1C, + 0x9D, 0xB7, 0xEE, 0xBF, 0xEA, 0x79, 0xE6, 0xEF, 0xC2, 0xAF, 0x0C, 0x10, 0xFB, 0x99, 0x30, 0xE6, + 0x31, 0xC4, 0xAB, 0x69, 0x2A, 0x77, 0xD7, 0xE5, 0x37, 0x3E, 0xA1, 0x83, 0x6E, 0xE1, 0xC2, 0x28, + 0x1D, 0xB0, 0xFB, 0xE7, 0xDB, 0xE3, 0xC7, 0x89, 0xFB, 0xE2, 0xE0, 0x23, 0xE4, 0x8C, 0xA8, 0xE9, + 0x74, 0x87, 0xD4, 0x7F, 0x00, 0x12, 0x87, 0xE8, 0xB6, 0x5C, 0xBB, 0x0F, 0x53, 0x10, 0x45, 0x79, + 0xB1, 0x95, 0xDD, 0x7B, 0x12, 0x20, 0x82, 0xC2, 0x01, 0x12, 0xD2, 0x32, 0xF4, 0xB2, 0x44, 0x22, + 0xCE, 0xF7, 0x9B, 0x0E, 0xDA, 0x01, 0x1E, 0x58, 0x6B, 0x9C, 0x92, 0x04, 0x7F, 0x87, 0x7E, 0xA8, + 0xE0, 0xB4, 0xA1, 0x3F, 0x00, 0xA0, 0xE4, 0x1C, 0xE3, 0xEC, 0x0E, 0x41, 0x20, 0x03, 0x52, 0x99, + 0x56, 0xEE, 0x2E, 0x05, 0x08, 0x49, 0xB3, 0xAD, 0x5F, 0x7F, 0x38, 0x23, 0xA1, 0xBD, 0x98, 0x40, + 0xB9, 0x4A, 0x39, 0x5E, 0xB2, 0x64, 0x72, 0x11, 0x7E, 0xA1, 0xF8, 0x67, 0xD3, 0x74, 0x1C, 0x17, + 0x4F, 0xE0, 0x06, 0xD4, 0xDD, 0xB5, 0xA3, 0x8D, 0x1B, 0x5A, 0x04, 0xA1, 0x07, 0xB2, 0x5B, 0x9C, + 0x5B, 0x1D, 0xEE, 0x73, 0x2B, 0xB8, 0x10, 0xE1, 0xC7, 0x3E, 0x60, 0xF1, 0xB4, 0xA5, 0xF1, 0xFD, + 0xB5, 0xA1, 0xAB, 0x58, 0x0F, 0xBB, 0x0F, 0x5E, 0x1D, 0xD9, 0x7C, 0x47, 0xE7, 0x84, 0xBB, 0x1C, + 0x8F, 0x06, 0xB4, 0xC7, 0x0C, 0x8A, 0xD2, 0x81, 0x30, 0x9C, 0xB6, 0x0A, 0xCA, 0x59, 0x35, 0x02, + 0x31, 0x86, 0x71, 0x2C, 0xD8, 0x62, 0x7E, 0xCF, 0x4F, 0x5D, 0x7B, 0x66, 0xD5, 0x0C, 0xDB, 0xF4, + 0x1E, 0x1B, 0xC2, 0xE0, 0x87, 0xD3, 0xD2, 0xA9, 0x70, 0x09, 0xA6, 0x5E, 0xA5, 0x81, 0xF5, 0x50, + 0xAC, 0x9A, 0x75, 0x13, 0x2E, 0x90, 0x18, 0x2F, 0xF7, 0x3F, 0x8A, 0x9B, 0xEB, 0x99, 0xCE, 0x17, + 0x94, 0x93, 0x8D, 0xC9, 0xF6, 0x6C, 0x77, 0xAF, 0x11, 0x51, 0x68, 0x47, 0x41, 0xB6, 0x2A, 0xFA, + 0x85, 0x5D, 0xB6, 0x72, 0x65, 0xDD, 0x12, 0x33, 0xA6, 0x38, 0xA3, 0xB9, 0xDC, 0xDD, 0xC9, 0x54, + 0x33, 0x4C, 0x1C, 0x18, 0x49, 0xF8, 0xD7, 0xA7, 0x13, 0xA2, 0x92, 0x9C, 0x42, 0x5A, 0x59, 0x4F, + 0x22, 0xD7, 0x0E, 0xEE, 0x6B, 0x85, 0xB7, 0xA1, 0x4F, 0xA2, 0xE3, 0xA7, 0x58, 0x15, 0xAF, 0x8B, + 0xCA, 0xE3, 0x9E, 0x71, 0x27, 0xC5, 0xC4, 0x61, 0xB8, 0x50, 0xF2, 0x03, 0x42, 0x50, 0x1B, 0x1F, + 0x01, 0xA2, 0x8F, 0x7A, 0x77, 0x22, 0xAE, 0x65, 0xA5, 0xF4, 0xF6, 0xAA, 0x00, 0x12, 0xB7, 0x7B, + 0x00, 0xB6, 0x12, 0x23, 0x5E, 0xCB, 0x2D, 0xE3, 0x45, 0x05, 0x93, 0x60, 0x32, 0x56, 0xB5, 0xE4, + 0x01, 0x12, 0x75, 0x74, 0x00, 0x26, 0x90, 0xCB, 0xC5, 0x10, 0x3C, 0x6B, 0xA8, 0x16, 0x66, 0x35, + 0x81, 0x43, 0x9A, 0x27, 0x3C, 0xCA, 0xF8, 0xE4, 0x97, 0x2B, 0x5F, 0x3C, 0x93, 0x56, 0x48, 0x05, + 0xDC, 0x85, 0xED, 0x94, 0xD8, 0x27, 0x9B, 0xF9, 0x2B, 0x49, 0x64, 0xE7, 0x1E, 0x18, 0xFC, 0xEE, + 0xC5, 0x3E, 0x4F, 0x03, 0x41, 0x89, 0xE5, 0x13, 0x00, 0x0C, 0xFB, 0x0D, 0x61, 0x2E, 0xC1, 0x57, + 0x28, 0xCF, 0xB7, 0xA1, 0xC4, 0x32, 0x57, 0x09, 0x72, 0x97, 0x61, 0xC3, 0x5C, 0x51, 0xA2, 0x28, + 0x2E, 0x74, 0xF2, 0x60, 0xC9, 0xC0, 0xC9, 0x24, 0x8F, 0x1A, 0xD1, 0x8D, 0xEE, 0x0F, 0xC9, 0x69, + 0x84, 0x98, 0xD8, 0x50, 0xDD, 0x20, 0x4E, 0x54, 0x87, 0x19, 0x69, 0x28, 0x68, 0x4E, 0x0B, 0xB3, + 0x0B, 0x32, 0xCC, 0xE8, 0x4A, 0x07, 0x00, 0x35, 0xCB, 0xA4, 0x03, 0x13, 0x44, 0x2A, 0x29, 0xCB, + 0x43, 0xC4, 0xAB, 0x4E, 0x62, 0xCB, 0x11, 0x25, 0x90, 0x95, 0x67, 0x4C, 0x49, 0x68, 0x14, 0x41, + 0x33, 0xEE, 0x7C, 0x50, 0x6F, 0x88, 0x8D, 0x63, 0xED, 0xFE, 0x96, 0xD8, 0x04, 0x31, 0xB8, 0x40, + 0xE4, 0x49, 0x8F, 0x05, 0x8A, 0x01, 0x61, 0x19, 0xA5, 0x92, 0x84, 0x82, 0xF1, 0x81, 0x74, 0xA1, + 0x0E, 0x75, 0xE3, 0x95, 0x09, 0x52, 0xB1, 0xDE, 0x1B, 0x2B, 0xF5, 0xF6, 0xA2, 0x77, 0x5C, 0xF3, + 0xB5, 0xDF, 0x8F, 0x04, 0x72, 0x97, 0xAA, 0xB2, 0x58, 0xDE, 0x86, 0x6D, 0x8D, 0x2A, 0x30, 0xDB, + 0x96, 0xFB, 0x37, 0x9E, 0x2B, 0x5F, 0x4E, 0x1D, 0xDC, 0x11, 0xE4, 0x65, 0x87, 0x26, 0x92, 0x17, + 0xBD, 0x9C, 0x00, 0xB4, 0xD6, 0x39, 0x4D, 0x7D, 0x94, 0xF3, 0xED, 0x6A, 0x83, 0x90, 0xEA, 0x19, + 0x07, 0xEC, 0x49, 0x1F, 0x6F, 0x6E, 0x20, 0x2C, 0x8E, 0xFB, 0xDE, 0xAA, 0x95, 0x35, 0x43, 0xC2, + 0x6F, 0x91, 0x54, 0x5E, 0xF5, 0x8E, 0x5F, 0x4B, 0xC1, 0x53, 0x52, 0x3A, 0xE8, 0x2A, 0x4F, 0xA6, + 0x0E, 0xAA, 0x79, 0xD4, 0x00, 0x12, 0xFB, 0x98, 0xA1, 0x5E, 0xF0, 0x58, 0xF6, 0xBF, 0x0E, 0xB2, + 0xD1, 0x17, 0x28, 0x5B, 0xEA, 0x67, 0xC9, 0x6C, 0x01, 0x12, 0x5B, 0x30, 0xE4, 0xA7, 0xD3, 0x78, + 0x18, 0x0E, 0x86, 0x6A, 0x21, 0x7F, 0xEC, 0x4C, 0x4E, 0x02, 0x55, 0x9E, 0x66, 0xCB, 0x1B, 0x96, + 0x1B, 0x7E, 0xDF, 0xB0, 0x7C, 0x64, 0xFF, 0x8B, 0xB4, 0x9E, 0x0A, 0x75, 0x1B, 0xAC, 0xEB, 0x48, + 0x5D, 0x25, 0x78, 0xE9, 0x79, 0x1D, 0x86, 0xEA, 0x7A, 0x9B, 0x37, 0xC6, 0x3A, 0x5A, 0x48, 0x44, + 0xBD, 0x30, 0xE1, 0xEE, 0x62, 0x65, 0x48, 0xAE, 0x8E, 0x40, 0x28, 0xE3, 0xFD, 0x1B, 0xD9, 0x07, + 0x3D, 0xA2, 0x4F, 0xC8, 0xFC, 0xAB, 0xE6, 0x4F, 0xE7, 0xBB, 0x91, 0xE2, 0xAD, 0x64, 0x8E, 0xB3, + 0xF6, 0x09, 0xC4, 0x92, 0x7C, 0x72, 0x21, 0x97, 0x72, 0x6D, 0xDF, 0xA5, 0xA1, 0xE5, 0x7B, 0xD7, + 0xD6, 0x62, 0xD2, 0x1D, 0x88, 0xAD, 0x57, 0xB4, 0x2D, 0x43, 0x10, 0x24, 0x6D, 0xC3, 0x96, 0xB9, + 0x27, 0x9D, 0xE9, 0xAD, 0xAD, 0x5E, 0x57, 0x23, 0xC9, 0x73, 0x63, 0xE7, 0x24, 0xFC, 0xE0, 0x32, + 0x4C, 0x98, 0xA6, 0x40, 0x83, 0x1F, 0x77, 0x2A, 0xD7, 0x52, 0x4A, 0xEF, 0xF7, 0xCD, 0xEB, 0xE4, + 0x53, 0xAB, 0x62, 0xC6, 0xE2, 0xC8, 0x92, 0x26, 0x71, 0x62, 0xF9, 0x6E, 0x8C, 0x10, 0x57, 0x26, + 0x44, 0x45, 0xFC, 0x45, 0x46, 0x1C, 0xA7, 0xE3, 0xF8, 0x33, 0x86, 0x8F, 0x74, 0x55, 0xF5, 0x55, + 0xF5, 0x20, 0xA5, 0x69, 0x85, 0x47, 0xAB, 0x2E, 0xDF, 0xD4, 0x3C, 0x7E, 0x71, 0x83, 0x42, 0x0A, + 0x4F, 0x4B, 0xB4, 0x41, 0xA3, 0x23, 0x51, 0x12, 0x6B, 0x32, 0x91, 0xB9, 0xFD, 0x34, 0x7F, 0xF7, + 0xF8, 0x92, 0xFA, 0xDD, 0x10, 0x79, 0x5F, 0xB1, 0x38, 0xD2, 0x6C, 0x80, 0x2F, 0x08, 0x7D, 0x74, + 0x94, 0xF9, 0x08, 0x3C, 0x2C, 0x0C, 0xD3, 0xE3, 0xE9, 0x65, 0x14, 0x50, 0x59, 0x8C, 0x07, 0xEB, + 0xF4, 0x7E, 0xE7, 0x9A, 0x3C, 0x7B, 0xF1, 0xC6, 0x53, 0x6C, 0x45, 0x96, 0x39, 0x1C, 0x35, 0x3D, + 0x7C, 0x1E, 0x5F, 0xE4, 0x5C, 0x77, 0x8E, 0xC4, 0x84, 0xA0, 0xCA, 0xD2, 0x00, 0x12, 0x87, 0x0E, + 0x3F, 0x34, 0x5C, 0xD0, 0x8C, 0xD1, 0x9B, 0x5C, 0xB3, 0xB6, 0x2D, 0x9A, 0x75, 0x5C, 0xAD, 0xB5, + 0x01, 0x12, 0xB9, 0xE5, 0xBB, 0xFB, 0x5C, 0x9D, 0x73, 0x1A, 0xF8, 0xEB, 0x74, 0xCF, 0x3E, 0x22, + 0xE1, 0xBA, 0x51, 0xD6, 0x5C, 0x6A, 0x08, 0x6D, 0x6B, 0xCE, 0x97, 0x0C, 0x00, 0xF9, 0x51, 0xC8, + 0x9F, 0x3B, 0xEF, 0xE9, 0x07, 0xB4, 0x10, 0x0D, 0x30, 0x76, 0x77, 0x44, 0x83, 0xF3, 0xA0, 0x0D, + 0x5D, 0x5B, 0x16, 0xDC, 0xBF, 0xFE, 0x3F, 0x3C, 0x44, 0xA7, 0x00, 0xEF, 0x37, 0x21, 0xAA, 0x59, + 0x59, 0x18, 0x2D, 0xAB, 0x85, 0xC5, 0xC5, 0x76, 0x74, 0xA5, 0xB1, 0xC0, 0xA4, 0x9C, 0xB2, 0x72, + 0x39, 0x93, 0x17, 0x3C, 0xD6, 0x3B, 0x60, 0xE1, 0x44, 0xE3, 0x11, 0xE0, 0xC3, 0x24, 0x3E, 0xDD, + 0x61, 0x15, 0x45, 0xBE, 0x07, 0x10, 0xAF, 0xA1, 0x2A, 0xBE, 0x84, 0x28, 0x79, 0x97, 0x21, 0x2F, + 0x74, 0xF4, 0x1B, 0x20, 0xCF, 0x72, 0x63, 0xB1, 0x81, 0x3A, 0x39, 0x91, 0x7C, 0x8E, 0x1F, 0xEE, + 0x0F, 0x15, 0x13, 0xA9, 0x6B, 0x54, 0x5B, 0xC4, 0x1C, 0xB8, 0x4A, 0xEF, 0x7E, 0x1B, 0x9C, 0xE1, + 0x41, 0x8E, 0xF7, 0xDB, 0xB3, 0x35, 0x9F, 0xB4, 0x81, 0xF0, 0x75, 0xE2, 0x86, 0x94, 0x63, 0x7B, + 0x98, 0x69, 0x90, 0x7E, 0x35, 0x25, 0xB1, 0x3C, 0x31, 0x24, 0x32, 0x3E, 0x8A, 0x08, 0x8E, 0x8B, + 0x6F, 0xFF, 0x1C, 0x40, 0x20, 0x0B, 0x67, 0x52, 0x2D, 0xF5, 0x89, 0xA8, 0xE3, 0x01, 0x4A, 0x09, + 0x94, 0x15, 0x04, 0xC0, 0x06, 0x8B, 0x0F, 0x3A, 0x75, 0xB8, 0xAB, 0xF9, 0x48, 0xC8, 0xD1, 0x4D, + 0xFE, 0xA8, 0xCD, 0xD0, 0xBB, 0x61, 0x4C, 0x97, 0x2F, 0x43, 0x5C, 0xF2, 0x60, 0x3D, 0x0B, 0x80, + 0xAA, 0x66, 0x8E, 0xE9, 0x0B, 0x94, 0x5C, 0xF0, 0x56, 0xB4, 0x93, 0x81, 0x32, 0xD8, 0x11, 0x34, + 0x93, 0xCF, 0x8C, 0x6D, 0xE1, 0x5B, 0x3C, 0xF3, 0xC6, 0x19, 0x84, 0x3A, 0x09, 0x19, 0xD5, 0xEF, + 0x58, 0x8D, 0xEB, 0xC6, 0xE5, 0x07, 0x1D, 0x2B, 0x73, 0x93, 0x10, 0xE1, 0x44, 0x70, 0x8A, 0xAD, + 0x45, 0x3B, 0x10, 0xCA, 0x00, 0x12, 0xD8, 0x41, 0x3A, 0x3F, 0x83, 0x76, 0x18, 0x8F, 0x19, 0xAC, + 0x83, 0x72, 0x4A, 0x37, 0x31, 0xC7, 0x98, 0x96, 0x01, 0x12, 0xC1, 0x34, 0x06, 0x4B, 0x06, 0x87, + 0x50, 0x0E, 0xBF, 0xC9, 0x9E, 0x83, 0x6E, 0x60, 0xA1, 0xC9, 0xB3, 0xB5, 0xFC, 0x10, 0xF9, 0xBE, + 0x74, 0x2D, 0xC8, 0xF3, 0x4C, 0x60, 0x0A, 0xC3, 0x9A, 0xD3, 0x52, 0xAA, 0xAC, 0x8F, 0xCD, 0x50, + 0xB8, 0x40, 0xA6, 0x70, 0x4F, 0x1A, 0x7A, 0xEF, 0xAA, 0x7D, 0x32, 0x4C, 0x0B, 0x76, 0xF6, 0x23, + 0xFC, 0x46, 0x31, 0xD5, 0xC5, 0xB8, 0x20, 0x65, 0xB1, 0xA7, 0x64, 0xCC, 0x22, 0xAB, 0xE1, 0xDB, + 0x44, 0x62, 0x31, 0x28, 0x17, 0xFC, 0x2C, 0x02, 0x0D, 0xEC, 0x58, 0x41, 0xB7, 0x4F, 0x56, 0xB2, + 0x42, 0x64, 0xF6, 0xAB, 0x76, 0x3C, 0x54, 0x63, 0x2E, 0x66, 0x27, 0xC8, 0x85, 0x3F, 0x20, 0x21, + 0x4F, 0xB7, 0x9A, 0xBF, 0xA7, 0x46, 0xBC, 0x0C, 0xBE, 0xBA, 0x6E, 0x98, 0x74, 0x52, 0x04, 0x75, + 0x42, 0x1C, 0x3F, 0xC4, 0xE1, 0x3F, 0xBC, 0xBE, 0x0D, 0x55, 0xB0, 0x16, 0xAF, 0x0A, 0xEB, 0x6B, + 0x2B, 0x3D, 0x00, 0xF1, 0xC8, 0xAF, 0x29, 0x1D, 0xB4, 0x8B, 0xA7, 0x4B, 0x3D, 0xC7, 0xC7, 0x30, + 0xAD, 0x76, 0x7B, 0xC1, 0x08, 0x83, 0x38, 0xB2, 0xB1, 0x58, 0xBB, 0xD8, 0xB5, 0x99, 0xFB, 0xEC, + 0xF8, 0x36, 0x5F, 0x3F, 0xF3, 0x37, 0xB6, 0x1B, 0x42, 0x77, 0x55, 0xD7, 0x92, 0xF9, 0xAD, 0x42, + 0x0C, 0xF1, 0x57, 0x49, 0x49, 0x9C, 0x42, 0x10, 0xE5, 0xA9, 0xEF, 0xA9, 0xDC, 0x87, 0x7F, 0xD3, + 0x2A, 0xB6, 0xC4, 0xC8, 0xDC, 0xBD, 0xDD, 0xBD, 0x77, 0x61, 0x50, 0x10, 0x22, 0xFE, 0xC3, 0x23, + 0xC8, 0x58, 0xC0, 0xD0, 0xFC, 0xF7, 0x01, 0xD9, 0x2F, 0xCF, 0xF9, 0x4B, 0xDD, 0xBC, 0x14, 0xED, + 0x69, 0x9B, 0x30, 0x77, 0x36, 0xEE, 0xF9, 0xEF, 0x4E, 0xDD, 0x21, 0x0A, 0x56, 0xE5, 0xEF, 0x9F, + 0x24, 0xEF, 0x00, 0xB0, 0xAE, 0x03, 0xD0, 0xF2, 0x33, 0xBF, 0x73, 0x56, 0x46, 0x47, 0xFB, 0x09, + 0x19, 0x4F, 0xD3, 0x03, 0x33, 0x92, 0xA1, 0xD6, 0x45, 0xE6, 0xF9, 0xDC, 0x00, 0x12, 0x25, 0xF3, + 0xD4, 0xFC, 0x10, 0xF2, 0x8F, 0x17, 0xB1, 0x13, 0xAA, 0xEA, 0x06, 0x03, 0x61, 0xCF, 0x0C, 0x6B, + 0x01, 0x12, 0xB5, 0x24, 0xDA, 0x6D, 0xEB, 0x5A, 0x26, 0xC1, 0x74, 0x63, 0x7B, 0xDA, 0x73, 0xE0, + 0x1F, 0xCC, 0xC8, 0xEC, 0xC9, 0xB1, 0x1E, 0x79, 0x48, 0x75, 0xA4, 0xE1, 0x05, 0x1A, 0xDC, 0xB5, + 0x25, 0x40, 0xFE, 0x52, 0xCE, 0xFC, 0x0A, 0x44, 0x0D, 0x04, 0x0B, 0xF0, 0x85, 0x5E, 0x20, 0x91, + 0xE7, 0xA6, 0xEF, 0x1D, 0xFC, 0xEB, 0x53, 0xE4, 0xFC, 0x9B, 0xDF, 0x1C, 0x59, 0x0F, 0x9A, 0x42, + 0xB1, 0x58, 0x67, 0xC3, 0xE8, 0x05, 0x0D, 0x8A, 0x56, 0x41, 0xF3, 0x7F, 0x5E, 0xD0, 0x5A, 0x6D, + 0xE3, 0x3E, 0x04, 0x62, 0xF2, 0x03, 0x11, 0x9C, 0x85, 0x31, 0x96, 0x4B, 0x4F, 0xFE, 0x26, 0xF0, + 0xBA, 0x59, 0x11, 0xCA, 0xCB, 0x6B, 0xA6, 0xED, 0xD2, 0x46, 0x0D, 0x04, 0x6F, 0xD6, 0xD7, 0x30, + 0x76, 0x39, 0x1C, 0xCE, 0xCC, 0xCB, 0x0E, 0xF0, 0x06, 0xEF, 0x2D, 0xE5, 0xE9, 0xA0, 0x74, 0x4F, + 0x1B, 0x9B, 0x2B, 0x8A, 0xB3, 0x8D, 0x0F, 0x79, 0x29, 0xD0, 0x1F, 0x48, 0x3E, 0x01, 0xE0, 0x66, + 0x29, 0xB3, 0x4B, 0x82, 0x79, 0x8A, 0xD5, 0xD1, 0x70, 0x29, 0xBA, 0x33, 0xE9, 0x5A, 0x78, 0x58, + 0x67, 0xAE, 0x4E, 0xF7, 0xB2, 0x57, 0xA4, 0xAC, 0xA3, 0x02, 0x16, 0xDA, 0x3E, 0x6D, 0x1B, 0x53, + 0x02, 0x6F, 0x9E, 0x14, 0x55, 0x83, 0x86, 0x10, 0x97, 0x02, 0x80, 0x81, 0xA4, 0xC9, 0xFC, 0xB5, + 0x6F, 0xDF, 0x6A, 0x09, 0x55, 0x40, 0x12, 0x03, 0x6D, 0xE3, 0x31, 0x9D, 0xF8, 0x60, 0x84, 0xCA, + 0xEA, 0xBA, 0x8F, 0x9F, 0xBF, 0x04, 0x19, 0xF0, 0x71, 0x84, 0x17, 0x64, 0x67, 0xA1, 0x65, 0x57, + 0x09, 0x84, 0x44, 0xBC, 0xBC, 0xBE, 0x10, 0x4C, 0x36, 0xE3, 0x21, 0xE6, 0x9C, 0x62, 0xFD, 0x08, + 0x02, 0xD9, 0x65, 0x7D, 0xF4, 0x23, 0x60, 0x19, 0x12, 0x76, 0xF8, 0xD6, 0x47, 0x54, 0xCF, 0xD8, + 0xFC, 0xFB, 0x34, 0x21, 0xBF, 0x64, 0x8F, 0xDE, 0x12, 0x6E, 0x39, 0x70, 0xB1, 0xBB, 0x6F, 0x89, + 0x8E, 0xA3, 0x5D, 0x76, 0x00, 0x12, 0x43, 0x53, 0xE0, 0xBD, 0xD9, 0x7F, 0xBC, 0xAD, 0x79, 0xC1, + 0xC4, 0x39, 0x09, 0x7A, 0x78, 0x49, 0xC9, 0x62, 0x01, 0x12, 0xB7, 0xC1, 0x31, 0x9C, 0x3A, 0xF4, + 0x37, 0x96, 0xE4, 0x4A, 0xD5, 0x56, 0xB9, 0x3D, 0xD8, 0x19, 0xC3, 0x8F, 0xA7, 0x59, 0x7B, 0xC2, + 0x5C, 0x0D, 0x85, 0x48, 0xDE, 0x06, 0x2F, 0xD3, 0xE8, 0x7E, 0xD9, 0xC9, 0x5D, 0x30, 0x94, 0x9D, + 0xF8, 0x63, 0x37, 0xE0, 0x23, 0xFD, 0x86, 0xE6, 0x3B, 0xCB, 0x3B, 0xE4, 0x99, 0x0C, 0x4D, 0xA3, + 0x3E, 0xFB, 0xBA, 0x33, 0x2D, 0xB4, 0x8E, 0xEB, 0x6C, 0x4D, 0x7F, 0x17, 0x4A, 0x12, 0xB0, 0x27, + 0xF4, 0xD6, 0x09, 0xA8, 0xB6, 0x2B, 0x40, 0x2F, 0xFB, 0xD0, 0xE0, 0x9B, 0xFE, 0x69, 0xB8, 0xB8, + 0x19, 0xC0, 0x39, 0x5F, 0x11, 0xC5, 0x7C, 0x68, 0xE4, 0x65, 0x2E, 0x46, 0xF6, 0x8D, 0xAA, 0xA5, + 0x27, 0x47, 0xFB, 0x24, 0x60, 0x6D, 0xD9, 0xF6, 0x0A, 0x4F, 0xA1, 0x3D, 0x30, 0x01, 0x30, 0x0B, + 0xBA, 0x48, 0x1B, 0x5D, 0xD5, 0x94, 0x04, 0xFA, 0xDF, 0xB3, 0xED, 0x43, 0xE2, 0xCB, 0x56, 0x06, + 0xEB, 0xB6, 0x6F, 0x29, 0xDC, 0x67, 0x6D, 0x6D, 0xB4, 0xCE, 0x45, 0xFB, 0x2D, 0x99, 0x78, 0xE4, + 0xC4, 0x9C, 0xFB, 0xA4, 0xC8, 0x54, 0x09, 0x82, 0x6F, 0x96, 0xBC, 0x89, 0xE8, 0xE2, 0xD8, 0x5C, + 0x0D, 0x61, 0xF1, 0x0A, 0x1B, 0x7D, 0xBB, 0xB0, 0x5B, 0x70, 0xBC, 0x61, 0x19, 0x33, 0x17, 0xA9, + 0x1F, 0xEA, 0xC0, 0x56, 0x89, 0x84, 0xAE, 0xD0, 0x37, 0x8B, 0x16, 0x0A, 0xDD, 0x06, 0x0A, 0x28, + 0x23, 0xA1, 0xF2, 0x0A, 0x63, 0x5C, 0x27, 0xFA, 0x42, 0xDE, 0x9D, 0x85, 0x62, 0x17, 0x66, 0xF3, + 0x96, 0xD4, 0x9E, 0x5B, 0xDE, 0xE1, 0xE9, 0xDA, 0x22, 0x43, 0xB9, 0x50, 0x68, 0x63, 0xA9, 0x62, + 0x20, 0x25, 0x1C, 0xB1, 0x73, 0x5A, 0x30, 0x13, 0x10, 0x05, 0x80, 0x00, 0x3F, 0xBD, 0x76, 0x23, + 0xEE, 0x06, 0x12, 0xA3, 0x36, 0xC8, 0x3F, 0xD2, 0xC6, 0xD4, 0xB8, 0x55, 0xFD, 0x6E, 0x61, 0x7A, + 0x26, 0x36, 0xB2, 0x26, 0xF2, 0xF8, 0x1C, 0x24, 0x8D, 0xA0, 0x4F, 0x5C, 0x00, 0x12, 0xFF, 0xAD, + 0x72, 0xDE, 0x3E, 0xB9, 0x76, 0xAA, 0xBB, 0x46, 0x59, 0x5F, 0x95, 0xCF, 0xB3, 0x08, 0xE6, 0xAF, + 0x01, 0x12, 0xA8, 0x5A, 0x87, 0xB5, 0xE3, 0x2D, 0x8C, 0xFA, 0x95, 0x93, 0x60, 0xFB, 0x5B, 0x1E, + 0x94, 0x8C, 0x6E, 0xA6, 0xE7, 0x40, 0x73, 0x8F, 0x2A, 0xE7, 0xBA, 0x9D, 0xE1, 0x9D, 0xBF, 0x3C, + 0x67, 0x86, 0xF3, 0xA0, 0xC3, 0xCA, 0xCA, 0xB9, 0xBD, 0xBE, 0x02, 0x51, 0x6B, 0xBE, 0x47, 0x97, + 0xF8, 0x71, 0x0E, 0x25, 0xC1, 0xCF, 0xFB, 0x5E, 0x0F, 0xC4, 0xB0, 0xDB, 0x50, 0x6C, 0x7E, 0xE2, + 0x2A, 0x9E, 0x9F, 0xE0, 0xDF, 0x88, 0x65, 0x48, 0x61, 0x13, 0x5B, 0x0E, 0x5E, 0xA0, 0xA9, 0xF4, + 0x73, 0x5C, 0x1D, 0xB7, 0xB0, 0xDE, 0xD9, 0x63, 0xC7, 0x1C, 0x6A, 0x68, 0x6C, 0x90, 0x73, 0xAA, + 0x7C, 0x2C, 0xF4, 0x1D, 0x72, 0xF4, 0x4A, 0x67, 0xE8, 0x36, 0xEB, 0x93, 0xB8, 0x2B, 0xB7, 0x22, + 0xD5, 0x71, 0xFA, 0xBE, 0xF8, 0x41, 0xF1, 0xB4, 0x65, 0x1A, 0x75, 0xD7, 0xE7, 0x85, 0xEC, 0x72, + 0xA1, 0x59, 0x60, 0x37, 0x4A, 0x92, 0x1B, 0x9F, 0xF1, 0x32, 0xCD, 0x00, 0x04, 0xE4, 0x9B, 0xB3, + 0xA7, 0x9C, 0x4B, 0x20, 0x9A, 0x0D, 0xDF, 0xA4, 0x0B, 0x35, 0x2C, 0xCE, 0x30, 0xEC, 0x28, 0xCD, + 0xED, 0xBB, 0xD8, 0xB2, 0x07, 0x09, 0x25, 0xC8, 0xAA, 0xE4, 0x94, 0x38, 0x59, 0x30, 0x81, 0x95, + 0x9A, 0x26, 0xBF, 0x06, 0x45, 0x29, 0xD5, 0x5A, 0x7B, 0xA5, 0x3C, 0x0E, 0x78, 0x82, 0x72, 0x68, + 0x6F, 0x92, 0x6B, 0x0D, 0xA9, 0x28, 0xD1, 0x3B, 0x1F, 0x99, 0x38, 0x22, 0x99, 0x35, 0xD5, 0x3A, + 0x89, 0x15, 0x43, 0x58, 0xF0, 0xA7, 0x5B, 0x68, 0x68, 0x41, 0x60, 0xC9, 0xE2, 0xC0, 0x99, 0x91, + 0xEB, 0xF7, 0xC6, 0x69, 0x3C, 0xA7, 0xFB, 0xA9, 0x43, 0x70, 0x58, 0x9C, 0x79, 0xA8, 0x24, 0x6C, + 0x3D, 0xB8, 0x6D, 0x9F, 0xBA, 0xAD, 0x6A, 0x0B, 0x70, 0xC2, 0xAD, 0x82, 0x83, 0x4C, 0xE6, 0xA3, + 0x06, 0xF9, 0xB6, 0xDB, 0x96, 0x44, 0x4B, 0xF5, 0x47, 0xEA, 0x8F, 0xCE, 0x4E, 0x2A, 0x5D, 0x43, + 0x1D, 0x88, 0xF3, 0x2E, 0x00, 0x12, 0x06, 0xE1, 0x93, 0x25, 0x24, 0xF1, 0x5C, 0x99, 0x79, 0xF7, + 0x41, 0x3B, 0x54, 0x9B, 0x84, 0x05, 0xFC, 0xB9, 0x01, 0x12, 0xDB, 0x00, 0xF0, 0x09, 0xA1, 0x04, + 0x3B, 0xBB, 0x80, 0x64, 0xC3, 0xDF, 0x65, 0x2C, 0xDB, 0x60, 0x5F, 0xAC, 0x91, 0xB8, 0xDC, 0x59, + 0xDF, 0x63, 0x65, 0x17, 0x56, 0x15, 0xD3, 0x3A, 0x89, 0x22, 0x80, 0x1F, 0x22, 0x07, 0x84, 0xD2, + 0x02, 0x08, 0xA5, 0xF6, 0xF2, 0x20, 0x07, 0x06, 0x54, 0x0E, 0x26, 0x22, 0x9C, 0xCD, 0x11, 0x3E, + 0x2A, 0x17, 0x47, 0xA3, 0xEC, 0xF1, 0x0C, 0x99, 0x5D, 0x69, 0xBE, 0xB5, 0x7A, 0x49, 0xAF, 0xBF, + 0x0D, 0xCB, 0xDC, 0x88, 0x7A, 0xE6, 0x43, 0xF4, 0xC3, 0x6E, 0x2F, 0x10, 0x4E, 0x68, 0xA8, 0x19, + 0xFA, 0x23, 0xD0, 0xC2, 0xDF, 0xC7, 0xDA, 0x00, 0x4C, 0xF1, 0x11, 0xB0, 0x2C, 0x8F, 0x51, 0x7F, + 0x2D, 0xFF, 0x82, 0x8B, 0xFA, 0x0B, 0xAF, 0x11, 0x4C, 0xFF, 0x1C, 0x2B, 0x38, 0xCD, 0x98, 0x93, + 0x07, 0x98, 0x28, 0xE2, 0x8F, 0xE2, 0xAF, 0x45, 0x47, 0xAE, 0xB7, 0x65, 0xC8, 0x26, 0x02, 0xC0, + 0x5E, 0x47, 0x4A, 0xCA, 0x1E, 0x33, 0xD5, 0x76, 0x26, 0x02, 0xA6, 0x40, 0x85, 0xF2, 0x4B, 0xFF, + 0xB5, 0x06, 0x31, 0x39, 0x36, 0x99, 0x9C, 0x53, 0x27, 0xAF, 0x0D, 0xA2, 0xCC, 0xAC, 0x70, 0x24, + 0x58, 0xAE, 0x51, 0x96, 0x05, 0x06, 0x9F, 0x02, 0xE7, 0x4F, 0xFE, 0xEC, 0x6C, 0x7B, 0xA8, 0x82, + 0x32, 0x83, 0xDB, 0x2F, 0x69, 0x5E, 0x86, 0xF7, 0x70, 0x1A, 0x83, 0x16, 0x3F, 0x4C, 0x5F, 0x0F, + 0x58, 0xD3, 0xC1, 0xE2, 0x28, 0x87, 0x06, 0x7F, 0x9F, 0x74, 0x98, 0xB5, 0x17, 0x29, 0x28, 0xDF, + 0x7B, 0x5E, 0xBB, 0x44, 0x23, 0x83, 0x03, 0x73, 0x85, 0x94, 0x0D, 0x69, 0x22, 0x70, 0x30, 0x46, + 0x78, 0xD7, 0x84, 0x34, 0x92, 0xF7, 0x4F, 0x2B, 0x9F, 0x77, 0x1F, 0x4A, 0xBF, 0xD0, 0xC3, 0x44, + 0x89, 0x51, 0x88, 0xDF, 0xB2, 0x33, 0x36, 0x14, 0xF6, 0xEA, 0x2B, 0x3B, 0x74, 0x17, 0x74, 0x9D, + 0x9C, 0x0E, 0xA8, 0x34, 0x89, 0xCA, 0x4B, 0x8A, 0xE1, 0x34, 0x52, 0x20, 0x00, 0x12, 0x59, 0x04, + 0x03, 0xA5, 0x16, 0x86, 0xAB, 0x93, 0x87, 0xE5, 0xE9, 0x98, 0xB3, 0x57, 0x16, 0x96, 0xDB, 0x24, + 0x01, 0x12, 0xF6, 0x43, 0xE5, 0xCE, 0x0E, 0xCA, 0x08, 0xB9, 0x55, 0x7A, 0xFD, 0xAC, 0x8A, 0x13, + 0xFA, 0x9B, 0x50, 0xCA, 0x52, 0x52, 0x2D, 0x1F, 0x95, 0xEF, 0xBD, 0x9A, 0xA7, 0x5C, 0x12, 0xF3, + 0x45, 0xFD, 0x2A, 0x96, 0xBE, 0x8D, 0xCD, 0x53, 0x44, 0x53, 0x6B, 0x5C, 0xB4, 0xE3, 0x2E, 0xBD, + 0xC0, 0x57, 0xDB, 0xBA, 0x11, 0xB9, 0x90, 0xB9, 0x14, 0xFE, 0x73, 0xDF, 0x78, 0xE4, 0x64, 0xD3, + 0x46, 0x7C, 0xE6, 0x93, 0x5F, 0x5D, 0x96, 0xD7, 0x82, 0xB7, 0x71, 0xE9, 0xD2, 0x86, 0x16, 0x31, + 0xDF, 0x84, 0x4F, 0x72, 0x7F, 0x27, 0xBD, 0x04, 0x7E, 0x7C, 0x49, 0xA0, 0xD6, 0x3B, 0x56, 0xB8, + 0xCF, 0x85, 0x06, 0x1C, 0x08, 0xE6, 0x1B, 0x2D, 0xE6, 0xE9, 0x76, 0xE0, 0xBE, 0xAA, 0x61, 0x18, + 0x40, 0x36, 0x38, 0x40, 0xC0, 0x1A, 0xF4, 0x3B, 0xF2, 0xED, 0xBD, 0x4C, 0x41, 0xA4, 0xF9, 0xC9, + 0xA5, 0x46, 0x6F, 0xBD, 0xAB, 0xE6, 0x75, 0x78, 0x26, 0x6F, 0x59, 0x0C, 0xCC, 0x43, 0x10, 0x01, + 0x5F, 0x99, 0x89, 0x0D, 0x2D, 0x62, 0x84, 0x53, 0x74, 0x67, 0x9B, 0x75, 0xF1, 0x9E, 0xEB, 0xB9, + 0x11, 0x4F, 0x08, 0x26, 0x9F, 0xA9, 0x18, 0x03, 0x54, 0x32, 0x10, 0x6D, 0x2F, 0x41, 0x17, 0xCF, + 0xC5, 0x93, 0x45, 0xB7, 0x18, 0xDB, 0x3B, 0xB0, 0x59, 0xA0, 0x8A, 0x34, 0x3E, 0x58, 0xB1, 0xCD, + 0x5B, 0x13, 0xF2, 0x53, 0x68, 0x48, 0x5A, 0xEA, 0x86, 0xB6, 0x92, 0x51, 0xFF, 0xAF, 0xB0, 0xC1, + 0x8F, 0x73, 0xDF, 0xE5, 0xB1, 0x7A, 0x6B, 0x14, 0x62, 0x5C, 0x2D, 0x6E, 0x37, 0x4A, 0x7C, 0xC0, + 0x6B, 0x3E, 0xBE, 0x51, 0x3C, 0xC1, 0xDB, 0xA9, 0x69, 0xEE, 0xB7, 0x26, 0x79, 0x02, 0x16, 0x4F, + 0x98, 0x57, 0xC4, 0xC7, 0x2C, 0x51, 0xB4, 0xC0, 0x20, 0x31, 0xE8, 0x63, 0x3E, 0x44, 0x62, 0x08, + 0x9D, 0x8D, 0x75, 0x6D, 0x75, 0xB4, 0xBA, 0x66, 0xEF, 0x67, 0xF0, 0x3F, 0x5C, 0x3B, 0x1D, 0xD4, + 0x75, 0x2D, 0x6A, 0x92, 0x00, 0x12, 0x5B, 0x6E, 0xCA, 0x43, 0xC1, 0x31, 0x84, 0x28, 0x60, 0x0A, + 0x2E, 0xA7, 0x72, 0x52, 0x5A, 0xD0, 0xB9, 0x79, 0x01, 0x12, 0x5C, 0x82, 0x40, 0x2E, 0x4B, 0xDA, + 0x97, 0xA5, 0x84, 0x60, 0x2F, 0x56, 0x3C, 0xCC, 0xED, 0x29, 0x85, 0x69, 0x76, 0xCA, 0x41, 0x38, + 0x6B, 0xDD, 0x6D, 0x0F, 0x5E, 0x50, 0x84, 0xAB, 0x06, 0x04, 0x4D, 0x6B, 0xB8, 0xE5, 0x43, 0xCF, + 0x54, 0xA2, 0x86, 0x23, 0xBB, 0x5C, 0x13, 0xCD, 0xCC, 0x49, 0xB5, 0x18, 0x01, 0xE2, 0xD1, 0xD0, + 0xEA, 0x59, 0x11, 0xCD, 0x4F, 0x6E, 0x40, 0x17, 0xCB, 0x82, 0x03, 0x15, 0x85, 0xC4, 0xE0, 0xFC, + 0x4F, 0x71, 0xA6, 0x70, 0xA0, 0xD3, 0xE1, 0x37, 0x6E, 0xEC, 0xEB, 0x89, 0x49, 0x7B, 0xD1, 0xE7, + 0x89, 0xC2, 0x6C, 0x3F, 0x44, 0x0B, 0x72, 0x6D, 0xA1, 0xAF, 0x55, 0x41, 0xDE, 0xFA, 0x26, 0xBC, + 0x03, 0x27, 0x16, 0x6E, 0x43, 0x38, 0x3C, 0xAA, 0x9D, 0x92, 0x4F, 0x40, 0x29, 0x09, 0xEF, 0x52, + 0xA6, 0xAD, 0x23, 0x08, 0x5F, 0x2C, 0x3F, 0xD1, 0xBF, 0x6A, 0xDE, 0x72, 0xBD, 0x31, 0x10, 0x0A, + 0x22, 0xEC, 0x47, 0xBA, 0xE1, 0x21, 0x3E, 0xB7, 0xB4, 0x91, 0x60, 0xF8, 0x4C, 0xFE, 0x48, 0xA1, + 0x34, 0x55, 0x54, 0xA8, 0x0D, 0x2A, 0xBA, 0x8D, 0xFB, 0xA8, 0xBB, 0x7D, 0x4F, 0x69, 0x84, 0xD9, + 0x3F, 0x4B, 0x80, 0x1E, 0x7F, 0x5F, 0xDC, 0x1E, 0x0D, 0x63, 0xD1, 0x28, 0x3D, 0x9B, 0x56, 0x30, + 0x49, 0x9F, 0xAB, 0x87, 0x68, 0x2E, 0xEB, 0x19, 0x10, 0x96, 0x05, 0x47, 0xC9, 0x3A, 0xB3, 0x98, + 0x7A, 0x36, 0x82, 0x53, 0x03, 0xCC, 0xC5, 0x97, 0x0C, 0x87, 0x86, 0x31, 0x1A, 0x9C, 0x2C, 0x37, + 0x8D, 0x82, 0x24, 0x0B, 0xB6, 0xA9, 0x21, 0xC1, 0x35, 0xFE, 0xC5, 0xBA, 0x09, 0xEA, 0xB2, 0x9C, + 0x6F, 0x7D, 0x2A, 0xA9, 0xB6, 0xBC, 0x74, 0xB9, 0xC5, 0x4C, 0xD3, 0xB0, 0x4F, 0xCC, 0x86, 0x55, + 0x2C, 0x9B, 0xE2, 0xC5, 0x20, 0x42, 0x52, 0xE2, 0xB3, 0x44, 0x7C, 0x82, 0x05, 0x01, 0xA0, 0x6C, + 0x68, 0x1D, 0x88, 0xE2, 0xC5, 0x11, 0xF5, 0x7B, 0x3F, 0x88, 0xA5, 0x14, 0x00, 0x12, 0x27, 0xD8, + 0x49, 0xDF, 0xB4, 0xD0, 0x46, 0xB0, 0x46, 0xC6, 0x29, 0x38, 0xBB, 0x50, 0x1E, 0x6A, 0xD3, 0xAE, + 0x01, 0x12, 0x34, 0xE5, 0xC6, 0x68, 0xA5, 0xE5, 0x74, 0x03, 0x79, 0x77, 0x20, 0x63, 0x3E, 0xCF, + 0xF9, 0x6D, 0x07, 0xD8, 0xC2, 0x0F, 0x43, 0x38, 0x3A, 0x3B, 0x30, 0x77, 0xD2, 0x6C, 0xB6, 0x68, + 0xB8, 0x3D, 0x0E, 0x0F, 0xA6, 0xA0, 0x54, 0xED, 0x6C, 0xF9, 0xD1, 0x07, 0x34, 0x61, 0xA0, 0xBB, + 0x91, 0x10, 0xDB, 0xFD, 0xFA, 0x4A, 0xC8, 0x63, 0x3F, 0xFF, 0xA2, 0x78, 0x71, 0xBA, 0xEF, 0x95, + 0xBD, 0x57, 0xA9, 0x33, 0x2E, 0xEE, 0xCF, 0x56, 0x71, 0xC0, 0x79, 0xDF, 0x94, 0x58, 0xEF, 0x13, + 0x05, 0x08, 0x20, 0x68, 0x08, 0xE1, 0xA3, 0xEE, 0x8E, 0x89, 0x23, 0xA4, 0xA7, 0x25, 0x1D, 0xD4, + 0x60, 0x10, 0xC6, 0xD1, 0x27, 0x59, 0x66, 0x68, 0xDB, 0x85, 0x64, 0xC7, 0x9A, 0x9C, 0xB0, 0x48, + 0xFA, 0x15, 0x8F, 0x1A, 0xEA, 0x37, 0xF4, 0x57, 0x83, 0x73, 0x1A, 0x29, 0xCB, 0x84, 0x3E, 0x86, + 0xED, 0x5E, 0x80, 0x63, 0xC8, 0x9C, 0x17, 0x5B, 0xA1, 0x78, 0xDD, 0xED, 0xEB, 0xB1, 0xD9, 0xE2, + 0x77, 0x07, 0x85, 0x8E, 0xBA, 0x51, 0xEE, 0xF0, 0x36, 0xF3, 0xB6, 0x86, 0x41, 0xBA, 0x86, 0xD1, + 0x7E, 0x7A, 0x28, 0x5F, 0xB8, 0x56, 0x89, 0xAD, 0x1F, 0x65, 0xED, 0xC9, 0x07, 0x0E, 0xDB, 0x7D, + 0x4A, 0x73, 0x79, 0xCF, 0x0D, 0x2B, 0xFD, 0xA8, 0x15, 0xD2, 0xDC, 0xC8, 0x13, 0x55, 0x52, 0x4E, + 0xEF, 0xAB, 0x16, 0x25, 0xFF, 0x02, 0x7B, 0x03, 0x53, 0x20, 0x1D, 0x7E, 0x3C, 0xC2, 0x2E, 0xC1, + 0x14, 0xEE, 0x8B, 0x86, 0xF4, 0x3E, 0x8F, 0xD4, 0x37, 0xA5, 0x87, 0xFC, 0x49, 0x87, 0x92, 0xFE, + 0xAD, 0x6F, 0x8B, 0xE2, 0xE8, 0x49, 0xFF, 0x91, 0xE5, 0xFF, 0x74, 0xC4, 0xD5, 0xD1, 0xC7, 0x39, + 0xDE, 0x77, 0x98, 0x2E, 0x11, 0x0E, 0xF7, 0x0E, 0x43, 0x3B, 0xB8, 0xA0, 0x88, 0xFD, 0xA7, 0xBD, + 0xFD, 0xBC, 0xFD, 0x5A, 0x97, 0xCF, 0xE4, 0x18, 0xD6, 0x29, 0x46, 0x33, 0x88, 0x7C, 0x8F, 0xC9, + 0x1C, 0xE2, 0x26, 0x71, 0x00, 0x12, 0x8C, 0x9E, 0xFE, 0xC0, 0x43, 0xA2, 0xA3, 0x6B, 0x7F, 0x2C, + 0xF6, 0x55, 0xBA, 0x3E, 0x66, 0x2C, 0x18, 0xEA, 0x01, 0x12, 0xB7, 0xD8, 0xE7, 0x27, 0x70, 0x1C, + 0x77, 0xA9, 0xB5, 0xAF, 0xD8, 0x11, 0xD8, 0xB2, 0x71, 0x54, 0x61, 0x09, 0xB6, 0xAC, 0xB6, 0x9D, + 0xE7, 0x86, 0x81, 0xE9, 0x0F, 0xCD, 0x26, 0xC7, 0xD2, 0x38, 0x21, 0xB4, 0x40, 0x22, 0xD7, 0x3E, + 0xCB, 0x4A, 0x05, 0x4D, 0xE1, 0x9C, 0x17, 0x17, 0xFE, 0x85, 0x6E, 0x99, 0x7E, 0x09, 0x20, 0x0E, + 0x43, 0x79, 0x67, 0x84, 0xE2, 0xBC, 0x5B, 0xE5, 0x17, 0xB0, 0x9C, 0xD4, 0x92, 0x27, 0x7F, 0x8B, + 0x4F, 0x46, 0xC5, 0x1D, 0x56, 0x5E, 0xF3, 0xB0, 0x12, 0xFC, 0xDA, 0xAA, 0xF6, 0x9A, 0xC7, 0x58, + 0xE2, 0x6C, 0xE6, 0xD2, 0xEE, 0x46, 0x81, 0x33, 0x87, 0x2C, 0x11, 0x01, 0x2A, 0x4E, 0xC2, 0xA4, + 0x70, 0x71, 0x20, 0xC5, 0x01, 0x2A, 0x73, 0xFB, 0xF5, 0x9D, 0x78, 0x80, 0x90, 0xD5, 0x3D, 0xDD, + 0x37, 0x53, 0xAB, 0xD4, 0xE5, 0x59, 0x65, 0x4A, 0x65, 0x98, 0x91, 0xAF, 0x23, 0x9E, 0xF7, 0x65, + 0xAA, 0x8C, 0x2C, 0x15, 0xB8, 0x4E, 0xA2, 0x09, 0x5D, 0x86, 0x69, 0x8F, 0xA4, 0xA4, 0x6F, 0x08, + 0x17, 0x5A, 0x7E, 0x47, 0x58, 0x8A, 0x5D, 0x5C, 0x87, 0xC8, 0x38, 0x51, 0xE8, 0xDE, 0xC7, 0x45, + 0x9F, 0x59, 0xD4, 0x75, 0x91, 0x55, 0xE2, 0xF2, 0x0F, 0x97, 0x9E, 0x32, 0x69, 0x55, 0x70, 0xBF, + 0x6D, 0xA6, 0x11, 0xC1, 0x89, 0x16, 0xFE, 0xA8, 0xE9, 0x8B, 0x79, 0x3D, 0xA0, 0x78, 0x75, 0x2B, + 0xD5, 0xCB, 0x79, 0xD0, 0xA3, 0x33, 0x02, 0x81, 0x2F, 0x67, 0xAC, 0x16, 0xAE, 0xBA, 0x3B, 0x5A, + 0xB3, 0xED, 0xA5, 0x29, 0xF5, 0xED, 0x5A, 0xD5, 0x3C, 0xC0, 0x7B, 0xC9, 0x22, 0xB5, 0x6B, 0xCA, + 0xEF, 0xC3, 0xED, 0x5C, 0xCF, 0x9A, 0xA7, 0x26, 0x52, 0x7D, 0xF0, 0xD9, 0x67, 0x0B, 0xBD, 0x35, + 0x3C, 0xC3, 0xA9, 0x69, 0x15, 0xA5, 0x3D, 0x18, 0xEF, 0xBC, 0xFB, 0x1A, 0xA8, 0x21, 0xAF, 0x39, + 0xD8, 0x41, 0x24, 0xFC, 0x8E, 0xE7, 0x1D, 0x2D, 0xEF, 0xE0, 0x20, 0x14, 0x00, 0x12, 0x4C, 0x59, + 0xF1, 0x05, 0x9F, 0xDE, 0x31, 0x19, 0x65, 0x2B, 0xFA, 0x3B, 0x7A, 0x91, 0xD3, 0xB5, 0x53, 0xAD, + 0x01, 0x12, 0x8B, 0xC7, 0xBB, 0x3E, 0x61, 0x34, 0x49, 0xEB, 0xB6, 0x90, 0xAF, 0xA4, 0xC1, 0x4C, + 0xBB, 0xEA, 0xB8, 0xC1, 0xB0, 0x13, 0x91, 0x96, 0x4B, 0xA0, 0xF8, 0x76, 0xB7, 0x2E, 0xF4, 0x54, + 0x53, 0xF6, 0x53, 0x5A, 0x66, 0x64, 0x07, 0xE2, 0xB5, 0x19, 0xED, 0x58, 0xE8, 0xA5, 0xD6, 0x15, + 0x63, 0xC4, 0x5D, 0x39, 0x8D, 0x19, 0x24, 0xA6, 0x74, 0x2B, 0xCB, 0x8C, 0x36, 0x20, 0x18, 0x54, + 0x7A, 0x86, 0x1C, 0x58, 0x8B, 0x02, 0x6C, 0xDB, 0xF0, 0x8E, 0x1D, 0xA6, 0x59, 0x44, 0x2D, 0x57, + 0x95, 0xAC, 0x7F, 0x97, 0xD5, 0xAC, 0x26, 0xCC, 0xE0, 0x94, 0xCB, 0xAE, 0x0A, 0xFF, 0x75, 0x01, + 0x2D, 0xF4, 0x9B, 0x25, 0x06, 0x9B, 0x11, 0xDF, 0xFB, 0xDB, 0xE0, 0x61, 0xC4, 0xFA, 0x54, 0x6C, + 0xB3, 0x78, 0x6F, 0x05, 0x8F, 0x17, 0x89, 0xF8, 0x82, 0x59, 0xD8, 0xDD, 0x73, 0x53, 0xD1, 0x1E, + 0x0F, 0xA4, 0x83, 0x24, 0x52, 0x6B, 0x59, 0x92, 0xF4, 0xF4, 0x57, 0xB1, 0x47, 0x61, 0xAA, 0x6E, + 0xEE, 0x7D, 0xC6, 0x52, 0xC2, 0x88, 0x93, 0x76, 0x4D, 0x47, 0xC4, 0xBD, 0x97, 0x06, 0xE9, 0xC7, + 0x67, 0x62, 0x1E, 0xD7, 0xEE, 0x47, 0xEC, 0x57, 0xEB, 0x9C, 0x79, 0x5B, 0xB5, 0x04, 0xC9, 0x81, + 0x5B, 0xFA, 0x03, 0xBD, 0xE8, 0x17, 0x7F, 0xEB, 0x68, 0xDD, 0x62, 0xFF, 0x11, 0x0B, 0x61, 0x92, + 0x00, 0xC3, 0x14, 0x18, 0x97, 0x50, 0xFE, 0x13, 0x02, 0x98, 0x24, 0xFD, 0xE7, 0x98, 0xCA, 0x20, + 0xB2, 0x97, 0xAE, 0x3C, 0xF9, 0xB8, 0x16, 0xA7, 0xAF, 0xD5, 0xA9, 0x31, 0xD2, 0x41, 0xC4, 0xEB, + 0x7F, 0x1D, 0x41, 0xFB, 0x3C, 0x71, 0xDD, 0x90, 0xB3, 0xD0, 0xA4, 0xDB, 0xB9, 0x02, 0x46, 0xA7, + 0x92, 0x51, 0xB2, 0xAD, 0xA6, 0xDF, 0x13, 0x49, 0xED, 0xC0, 0xE2, 0x86, 0xA7, 0x92, 0xE7, 0x99, + 0xE5, 0xAC, 0x65, 0xDA, 0xC5, 0x76, 0x40, 0xEB, 0x8F, 0x59, 0xE5, 0xB8, 0x60, 0x0F, 0x01, 0x0A, + 0x54, 0x55, 0x2A, 0x83, 0x00, 0x12, 0x40, 0xDF, 0xE6, 0x78, 0x92, 0x8C, 0x9F, 0x50, 0x88, 0x26, + 0x07, 0xBB, 0x16, 0xCF, 0x94, 0xCE, 0x29, 0xDA, 0x01, 0x12, 0x61, 0x48, 0xF6, 0x39, 0x62, 0x3D, + 0x7E, 0x7A, 0xB8, 0x50, 0xED, 0x17, 0x96, 0xB1, 0xEA, 0x50, 0x2E, 0x16, 0x57, 0x49, 0x12, 0xA2, + 0x17, 0x9F, 0xE1, 0xD7, 0x9B, 0x77, 0x59, 0xDE, 0xAE, 0x4B, 0x0B, 0x58, 0x1F, 0x80, 0x41, 0x28, + 0x81, 0x2A, 0x97, 0xED, 0xF5, 0x2C, 0x02, 0xA2, 0xD6, 0x4F, 0xAB, 0x85, 0x6E, 0x0C, 0xF7, 0x62, + 0x09, 0xF6, 0x34, 0xA9, 0xF4, 0x19, 0x8E, 0xF5, 0x5C, 0xE3, 0x4B, 0x4E, 0xB4, 0x7E, 0x27, 0xDA, + 0xBB, 0x21, 0x3D, 0x52, 0x08, 0xCF, 0x78, 0xB5, 0xB7, 0x10, 0xF4, 0xD0, 0xB2, 0x33, 0xCC, 0x3B, + 0xCF, 0xF3, 0xD5, 0xB1, 0x60, 0x0B, 0x68, 0x0F, 0x6D, 0x22, 0xB1, 0x7B, 0x91, 0x0F, 0x62, 0x29, + 0xEB, 0x72, 0x1B, 0x2F, 0xA7, 0x9C, 0x69, 0xBC, 0x7E, 0x67, 0x71, 0x75, 0xB3, 0x21, 0xF7, 0xD1, + 0x24, 0x5F, 0xBD, 0xB6, 0x72, 0x95, 0xFE, 0x59, 0x52, 0x3C, 0x68, 0x00, 0x59, 0xEA, 0x02, 0xED, + 0xE0, 0xDA, 0x3F, 0xF1, 0x1F, 0x16, 0x2D, 0x8E, 0xE3, 0x79, 0x87, 0xE8, 0x04, 0xFE, 0x7D, 0x2D, + 0x3D, 0x37, 0x72, 0xBA, 0x33, 0x1B, 0x58, 0x56, 0xC5, 0xA9, 0x04, 0x13, 0x05, 0x5F, 0xAD, 0x28, + 0x89, 0xF9, 0xF2, 0x54, 0xE6, 0x5D, 0x56, 0xAD, 0x3B, 0xA4, 0xF9, 0x36, 0x16, 0x25, 0x4D, 0x80, + 0x4D, 0xE8, 0x9D, 0x8A, 0x92, 0xEB, 0xAA, 0xF7, 0xB7, 0xF7, 0x0C, 0xD1, 0xEE, 0x88, 0x34, 0x59, + 0x11, 0x5A, 0xD9, 0x4C, 0xA6, 0x3B, 0xA4, 0x2E, 0x5E, 0x10, 0xE0, 0x84, 0x6C, 0xA1, 0xD3, 0x29, + 0xAB, 0x4A, 0xE1, 0xA0, 0xB2, 0xB0, 0xD1, 0x1C, 0x28, 0x12, 0x82, 0x43, 0x68, 0xC8, 0x65, 0x16, + 0x98, 0xA7, 0x03, 0xC6, 0x2A, 0x24, 0xD2, 0x58, 0x6E, 0x4F, 0xCD, 0xAA, 0x82, 0x63, 0xEC, 0xD6, + 0x21, 0xDD, 0xA1, 0x4F, 0xE1, 0x9A, 0x59, 0xF6, 0x1B, 0x37, 0x79, 0xF5, 0x16, 0xB9, 0x31, 0x72, + 0x6A, 0x33, 0x61, 0x9B, 0xDE, 0x8E, 0xBB, 0x09, 0x6C, 0x03, 0xBC, 0x87, 0x00, 0x12, 0x5E, 0x80, + 0x05, 0x6E, 0x00, 0x64, 0xB3, 0xC0, 0xF1, 0x23, 0xAC, 0x42, 0xAF, 0x7E, 0xC4, 0x3E, 0x5D, 0x14, + 0x01, 0x12, 0xF8, 0x62, 0x40, 0x4C, 0x4D, 0x18, 0xAC, 0x25, 0xDB, 0x44, 0x7F, 0x40, 0x08, 0x82, + 0xA7, 0xAC, 0xD1, 0x09, 0xEF, 0x46, 0xA5, 0x89, 0x3B, 0x51, 0x59, 0x74, 0x54, 0x83, 0xAF, 0xF9, + 0x28, 0x12, 0xBB, 0xDB, 0x18, 0x34, 0x6F, 0xE5, 0x0D, 0xF2, 0xFB, 0xFD, 0xB6, 0xA2, 0xE2, 0x63, + 0xF6, 0xD2, 0x96, 0xF7, 0x99, 0x0B, 0xE5, 0x46, 0x54, 0x66, 0x6E, 0x3A, 0xA5, 0xBE, 0x0B, 0xA9, + 0x11, 0x81, 0xC8, 0xDE, 0x9E, 0x55, 0x5E, 0x24, 0xB9, 0xF8, 0x12, 0x38, 0x4D, 0x99, 0x17, 0x9C, + 0x97, 0x3B, 0x85, 0x51, 0x13, 0x7B, 0xCD, 0x55, 0x51, 0x6C, 0x48, 0xF9, 0x66, 0x4E, 0xB8, 0x18, + 0xE1, 0x9C, 0x3B, 0x25, 0x3C, 0x54, 0x5B, 0x5E, 0x8C, 0x38, 0xC2, 0x8C, 0x7E, 0xAE, 0x76, 0x2A, + 0xFB, 0xDB, 0x9A, 0x60, 0x31, 0x70, 0x54, 0x63, 0x56, 0x32, 0x72, 0xDA, 0xAD, 0xD4, 0xD1, 0x0F, + 0xF7, 0x0D, 0x4E, 0xE8, 0x88, 0x5B, 0xF6, 0x2D, 0x40, 0x43, 0x58, 0x93, 0x12, 0x3D, 0x8D, 0x83, + 0x06, 0xFD, 0xA1, 0x5F, 0x05, 0x10, 0xF9, 0x11, 0x50, 0x48, 0x69, 0xA0, 0x77, 0x2F, 0xCD, 0x57, + 0x0F, 0x45, 0xBE, 0x49, 0x00, 0x23, 0x06, 0xFD, 0x3B, 0x50, 0x63, 0x66, 0x35, 0xBD, 0x63, 0x1A, + 0x62, 0xE4, 0xCE, 0xDC, 0x1B, 0x8A, 0xD2, 0x30, 0xF2, 0x18, 0x6F, 0x69, 0x9B, 0x31, 0x12, 0x01, + 0x46, 0x03, 0x2B, 0x13, 0x96, 0x6C, 0x42, 0xD9, 0x51, 0x83, 0x11, 0x28, 0xC8, 0x44, 0x4E, 0x21, + 0x37, 0x00, 0x7B, 0x9A, 0xED, 0x13, 0xF2, 0x70, 0x30, 0xA4, 0x37, 0x86, 0x58, 0x05, 0x55, 0x82, + 0x97, 0x3D, 0x8C, 0x5F, 0xDA, 0x03, 0xDD, 0xA4, 0xCF, 0x6C, 0xFE, 0xFF, 0x3D, 0x26, 0xC2, 0x5F, + 0x22, 0x2A, 0xE3, 0x69, 0x84, 0x19, 0x6C, 0x89, 0x3B, 0xD9, 0xDE, 0x8C, 0x90, 0x51, 0x2B, 0xA6, + 0x5D, 0x7A, 0x76, 0x83, 0xA7, 0x2E, 0xA8, 0x80, 0x2C, 0xA3, 0xA4, 0x14, 0x3D, 0x4A, 0xD4, 0x02, + 0x19, 0x91, 0x4F, 0x51, 0x00, 0x12, 0xF1, 0xD6, 0x1E, 0x20, 0x7E, 0x86, 0xAE, 0xEA, 0x67, 0x0F, + 0x02, 0xA3, 0xC5, 0x36, 0x04, 0xDE, 0x27, 0x3B, 0x01, 0x12, 0xC8, 0xC4, 0x48, 0xA7, 0x2C, 0xDC, + 0xC2, 0x4E, 0x85, 0x37, 0x51, 0x71, 0x9A, 0x70, 0xE4, 0x72, 0x71, 0x83, 0x78, 0x22, 0x6A, 0xF0, + 0x55, 0x3F, 0x3A, 0x24, 0xA1, 0x72, 0xC0, 0xA6, 0xDD, 0xAC, 0x06, 0xAB, 0x68, 0x1E, 0xA1, 0x2F, + 0xD3, 0x76, 0x12, 0xD4, 0xE7, 0x05, 0x95, 0xC2, 0xF2, 0xCB, 0x55, 0x0F, 0x07, 0xA2, 0x34, 0xC0, + 0x1C, 0x24, 0xCC, 0x23, 0x1D, 0x5E, 0x3C, 0x30, 0x41, 0xB4, 0x25, 0x50, 0xB2, 0x38, 0x44, 0xC5, + 0x08, 0xA1, 0x5E, 0xC5, 0xC3, 0x52, 0x81, 0xEF, 0xD4, 0xFC, 0xC4, 0x5C, 0x18, 0x24, 0x63, 0x76, + 0xE4, 0xEE, 0x42, 0x5D, 0x80, 0x39, 0x3A, 0xC9, 0x8A, 0xCE, 0x11, 0x9D, 0x52, 0xE7, 0xB6, 0x1F, + 0xC6, 0x81, 0x45, 0x0C, 0x5C, 0xC5, 0xB9, 0xB3, 0x2E, 0x54, 0x54, 0xC6, 0x19, 0x25, 0x37, 0x38, + 0x94, 0x32, 0x0B, 0x3C, 0x5C, 0xF4, 0x23, 0xAF, 0x7E, 0xF0, 0x86, 0x84, 0xAC, 0x65, 0xA7, 0x06, + 0xB2, 0x30, 0xBE, 0xA1, 0x15, 0x92, 0x54, 0x64, 0xC4, 0x4B, 0xD7, 0xD1, 0x97, 0xD0, 0x21, 0x43, + 0xC9, 0x03, 0x2E, 0xF1, 0x7A, 0x3B, 0x28, 0x1C, 0x77, 0xE4, 0x46, 0xB1, 0x49, 0x3E, 0x3A, 0xD6, + 0x68, 0xC2, 0x5E, 0xB6, 0xDB, 0xDD, 0xDD, 0xDE, 0x5A, 0xAC, 0x0E, 0xED, 0x84, 0xA7, 0x98, 0xC3, + 0x83, 0x57, 0xFF, 0x07, 0x66, 0x75, 0x88, 0x57, 0x1D, 0x6C, 0x11, 0xDB, 0x21, 0x0E, 0x17, 0x6C, + 0x6E, 0xB8, 0x53, 0xBC, 0xBA, 0xD6, 0x5E, 0x22, 0x35, 0x02, 0x9B, 0x46, 0xC9, 0x0D, 0x17, 0xF9, + 0x69, 0xEE, 0x62, 0x7C, 0xD4, 0xDD, 0xED, 0x9D, 0x6A, 0x4B, 0xE3, 0x4A, 0xE0, 0x81, 0x6E, 0x47, + 0x19, 0xD1, 0x50, 0x07, 0x06, 0x79, 0x56, 0xB4, 0xE4, 0x04, 0x04, 0x97, 0x01, 0x54, 0x4E, 0xA3, + 0x71, 0x3E, 0xC3, 0x71, 0xE3, 0x63, 0x18, 0xA9, 0x2E, 0xD6, 0x6B, 0xA7, 0xA0, 0x58, 0x1B, 0x59, + 0xC2, 0x77, 0x94, 0x33, 0xA0, 0x4E, 0x60, 0xE5, 0xE2, 0x10, 0x11, 0x17, 0x00, 0x12, 0x5F, 0x49, + 0x32, 0xA8, 0x4B, 0x07, 0x6F, 0x79, 0x06, 0xE1, 0x87, 0xDA, 0x5F, 0xD5, 0x86, 0xCC, 0xB6, 0x6E, + 0x01, 0x12, 0x3C, 0x23, 0xED, 0x41, 0x28, 0xB7, 0x40, 0x57, 0x90, 0x60, 0x8B, 0x8B, 0x46, 0xA8, + 0xB2, 0xE3, 0x09, 0x35, 0xDA, 0x72, 0x55, 0x1F, 0x43, 0x23, 0x89, 0x0D, 0x0B, 0x7D, 0x1A, 0xD4, + 0x0D, 0xF1, 0x29, 0xD0, 0x5B, 0xE1, 0xE4, 0x38, 0xD7, 0x34, 0xB7, 0x44, 0x8B, 0x9B, 0xC4, 0x1C, + 0x27, 0x02, 0x97, 0xE3, 0x55, 0x60, 0x47, 0x4C, 0xA6, 0x60, 0x38, 0xF4, 0xA8, 0x04, 0xAD, 0xF9, + 0x77, 0x42, 0x91, 0xED, 0x62, 0x34, 0xD1, 0xE6, 0x6A, 0xE3, 0xE5, 0x04, 0x8B, 0x2A, 0x73, 0x7D, + 0x83, 0xDF, 0x26, 0xCF, 0x00, 0xE8, 0x7E, 0x16, 0x16, 0x85, 0xB8, 0xD0, 0x7C, 0x9B, 0x15, 0x70, + 0x16, 0x5D, 0x06, 0x19, 0x35, 0xF5, 0xB0, 0xCB, 0x9B, 0x2D, 0xF2, 0xAA, 0xCB, 0x43, 0x3E, 0x1D, + 0x46, 0x3B, 0xDF, 0x7E, 0x6E, 0x6A, 0x60, 0x5E, 0x62, 0x50, 0x8D, 0x02, 0xFE, 0x44, 0x97, 0x44, + 0x6A, 0x9E, 0x80, 0x3C, 0x6D, 0xC2, 0xAE, 0x17, 0x23, 0xA4, 0xF4, 0xC0, 0x32, 0x2B, 0x92, 0x7A, + 0xA4, 0xC1, 0x20, 0x50, 0x99, 0x94, 0x6C, 0x12, 0x57, 0x6F, 0xE9, 0xB7, 0x3F, 0xAD, 0x07, 0x4A, + 0x95, 0x38, 0x62, 0xFD, 0x53, 0x02, 0xA1, 0xAE, 0xA6, 0xF8, 0x60, 0xF1, 0x29, 0x89, 0xE1, 0x81, + 0x3E, 0x8C, 0xCB, 0xD4, 0xDC, 0x08, 0xCB, 0x67, 0xCB, 0xDF, 0x8E, 0xE2, 0xCF, 0xC9, 0x41, 0x6B, + 0xB7, 0xF8, 0xF8, 0x8E, 0xF8, 0x4D, 0xBD, 0x7F, 0x6C, 0x13, 0xAF, 0x3A, 0xA7, 0x00, 0xDE, 0x39, + 0xC6, 0xDC, 0xD3, 0xAA, 0x6C, 0x5E, 0xCA, 0x86, 0xBC, 0x0A, 0xA1, 0xAD, 0x55, 0x7F, 0xAC, 0x33, + 0x21, 0x25, 0x45, 0x02, 0xE7, 0xDF, 0x7E, 0x23, 0xC7, 0x29, 0xC2, 0x11, 0xB8, 0x19, 0x5F, 0xFF, + 0x1B, 0x05, 0x14, 0x27, 0xB0, 0x77, 0x0F, 0xF1, 0x29, 0xCE, 0x29, 0x83, 0x55, 0x36, 0x96, 0xB6, + 0x96, 0x69, 0x77, 0x55, 0xAE, 0xBC, 0x56, 0x48, 0x48, 0x43, 0x67, 0x1F, 0x75, 0xED, 0x53, 0x43, + 0x07, 0xFC, 0xA5, 0xF9, 0x00, 0x12, 0x61, 0x75, 0x18, 0x94, 0xD3, 0x66, 0xFD, 0x0B, 0x16, 0x86, + 0x94, 0x1B, 0xBA, 0xAC, 0x8B, 0x0A, 0xA8, 0x4A, 0x01, 0x12, 0x18, 0xC3, 0xB0, 0xA5, 0xD0, 0x64, + 0x34, 0xA1, 0x86, 0x0A, 0xC0, 0x2C, 0xE0, 0x73, 0xD7, 0x4D, 0x7A, 0xA3, 0x07, 0x18, 0x20, 0x41, + 0xCA, 0x42, 0x94, 0xFC, 0xE9, 0xC8, 0x94, 0x90, 0x10, 0xBB, 0x63, 0x7C, 0xF7, 0x71, 0x75, 0x66, + 0xA5, 0xBB, 0x87, 0x8D, 0xD0, 0x71, 0x5A, 0x8F, 0x62, 0xC2, 0x30, 0x53, 0x0E, 0xC6, 0x91, 0xFA, + 0x41, 0xB5, 0xCF, 0xFC, 0x02, 0x74, 0x2D, 0x36, 0xB5, 0xA3, 0x0A, 0x83, 0x5B, 0xA0, 0x8A, 0x7C, + 0x9F, 0x17, 0x51, 0xCA, 0xBE, 0xF3, 0xFF, 0xF4, 0x01, 0xE0, 0x69, 0xF4, 0xAA, 0x23, 0x79, 0x6B, + 0x74, 0x59, 0x6D, 0xC7, 0x16, 0xE2, 0x93, 0x58, 0xC6, 0xFA, 0x49, 0x55, 0x62, 0xA2, 0x96, 0x5C, + 0x65, 0xD7, 0xCD, 0xB4, 0xFF, 0xE6, 0xC5, 0x07, 0x20, 0xC2, 0x7C, 0x77, 0x74, 0xE4, 0xF3, 0xB2, + 0xF4, 0xA6, 0xF1, 0x72, 0x93, 0x1F, 0x1B, 0x2E, 0xC3, 0xB6, 0x7C, 0xE7, 0xB8, 0x7F, 0x67, 0x01, + 0x46, 0xA5, 0xD0, 0xE7, 0x4A, 0xF9, 0x16, 0xBB, 0x3A, 0xFC, 0x2B, 0x71, 0xD9, 0x2E, 0xF1, 0x84, + 0x2E, 0xD1, 0xF0, 0xD5, 0xA1, 0xCE, 0x38, 0x88, 0xF5, 0xBB, 0xFA, 0x36, 0x57, 0x7A, 0x6E, 0xF4, + 0xB3, 0x77, 0x15, 0xC5, 0x60, 0x26, 0xEC, 0xD2, 0xA3, 0x53, 0x66, 0x2F, 0x42, 0x12, 0x3C, 0x02, + 0x07, 0x84, 0x0A, 0x61, 0x12, 0x13, 0x16, 0xEA, 0xCE, 0x1F, 0x30, 0x5E, 0x54, 0x6B, 0x38, 0x21, + 0x20, 0x64, 0xF6, 0x82, 0xE5, 0xFC, 0x45, 0x54, 0xE4, 0xB2, 0x05, 0x8D, 0xEF, 0x1E, 0xED, 0x9F, + 0xDA, 0xD7, 0xCF, 0x97, 0xD7, 0x5F, 0x47, 0xCD, 0xCF, 0x76, 0x48, 0x7E, 0x49, 0xA2, 0x93, 0xB8, + 0xBA, 0xB0, 0x61, 0x38, 0x80, 0xC6, 0x9E, 0x9C, 0x33, 0xE8, 0xC3, 0xA2, 0xF7, 0x1F, 0xEF, 0x71, + 0x0E, 0x09, 0xBA, 0x39, 0x39, 0x6F, 0xA6, 0x64, 0x03, 0xF1, 0x45, 0xF3, 0x31, 0xA4, 0xB8, 0x5D, + 0x1F, 0xD0, 0xE5, 0x16, 0x82, 0xA0, 0xDA, 0xA9, 0xE3, 0x88, 0xF5, 0x19, 0x00, 0x12, 0xC9, 0xF5, + 0x6C, 0x2E, 0xAE, 0xF7, 0xDD, 0x24, 0xD0, 0x87, 0xD0, 0xA9, 0x5E, 0x19, 0xA6, 0x56, 0xBC, 0xE6, + 0x01, 0x12, 0x12, 0x70, 0x0A, 0x75, 0xAB, 0x98, 0x54, 0x45, 0xCC, 0x04, 0x39, 0x96, 0x07, 0x9C, + 0x95, 0x73, 0x85, 0xA6, 0x76, 0x4F, 0x8C, 0x24, 0xD7, 0x55, 0xBE, 0x40, 0x93, 0xCC, 0xB7, 0xD1, + 0x7E, 0x41, 0xBA, 0xA1, 0xB5, 0xEE, 0xCF, 0xEF, 0xC9, 0x6F, 0x78, 0x3C, 0x65, 0x61, 0xD3, 0xE2, + 0x26, 0x60, 0xE5, 0x0E, 0x6F, 0x6A, 0xFC, 0xAF, 0x24, 0x15, 0x30, 0x4B, 0xD0, 0xB6, 0xF5, 0x58, + 0xFA, 0x5D, 0xDD, 0xAE, 0x6A, 0x81, 0x4D, 0xFD, 0x8A, 0x23, 0xB5, 0x83, 0xD9, 0xFA, 0x08, 0xA9, + 0x69, 0xCD, 0xD4, 0xF5, 0x96, 0x7C, 0x8F, 0x95, 0xC5, 0x17, 0x1A, 0xD8, 0xA0, 0x73, 0x6E, 0x83, + 0x4F, 0x46, 0x2E, 0x61, 0x4F, 0x58, 0xED, 0x5B, 0x15, 0xE6, 0xBF, 0xC5, 0xFC, 0x39, 0x8C, 0x6D, + 0xD3, 0x01, 0x25, 0x47, 0xCF, 0xF0, 0xF2, 0x61, 0x0F, 0x7B, 0x4F, 0x60, 0x8D, 0xE6, 0xE8, 0xFB, + 0x18, 0xF1, 0xA9, 0x29, 0x83, 0x8D, 0x24, 0xC1, 0x6C, 0x88, 0x38, 0xD2, 0x51, 0xCB, 0x36, 0x59, + 0xAA, 0xAE, 0x4F, 0x21, 0x28, 0x43, 0x63, 0x45, 0xFD, 0xA9, 0xDC, 0xD0, 0xCF, 0xEF, 0x9C, 0x28, + 0x45, 0xBA, 0x37, 0xA7, 0x9D, 0xAC, 0xC3, 0x5C, 0x06, 0x3B, 0x0C, 0x36, 0x3A, 0xAE, 0x59, 0x70, + 0x74, 0xFB, 0x1B, 0x90, 0x12, 0xF3, 0xA3, 0xA1, 0x9E, 0x64, 0x0E, 0xB9, 0xDA, 0x62, 0x62, 0x3F, + 0xFB, 0x68, 0xB6, 0xAB, 0xF6, 0xC5, 0xFA, 0x5D, 0x9F, 0xB6, 0x46, 0x3B, 0x89, 0xEA, 0x3D, 0x1E, + 0xC2, 0x78, 0x56, 0xEB, 0x8D, 0x2C, 0xC1, 0x86, 0xF7, 0x3A, 0x1F, 0xDE, 0xA3, 0xBC, 0xC4, 0x52, + 0x54, 0x27, 0xA8, 0x48, 0x96, 0x21, 0x66, 0xA9, 0xF1, 0x6A, 0xEA, 0xBE, 0xB8, 0xA8, 0x7E, 0x9C, + 0x4A, 0x05, 0x33, 0x91, 0x98, 0x99, 0xB5, 0x9A, 0xF2, 0xD0, 0xBE, 0xE3, 0x86, 0x77, 0xBF, 0x9C, + 0x1E, 0xCA, 0x92, 0x1D, 0x8A, 0x2B, 0x76, 0x36, 0x4B, 0x55, 0x02, 0xD6, 0x49, 0x1E, 0x66, 0xA6, + 0xB3, 0x9E, 0x5A, 0x17, 0x00, 0x12, 0xC0, 0xB4, 0x9F, 0x02, 0x15, 0x8F, 0xA9, 0x0E, 0xA6, 0x9C, + 0xE3, 0x68, 0x1E, 0xE1, 0xE0, 0x2A, 0x84, 0xBD, 0x01, 0x12, 0x9A, 0xC5, 0x4F, 0xCA, 0x40, 0xFC, + 0xAC, 0xA3, 0x2E, 0x00, 0x4D, 0x54, 0x80, 0x01, 0x00, 0x2C, 0x80, 0xA0, 0x33, 0x07, 0xEE, 0xCB, + 0x5D, 0x15, 0xEF, 0x13, 0xE6, 0x45, 0xD2, 0x87, 0xF8, 0x8E, 0xEA, 0x1C, 0x2E, 0xCC, 0xBB, 0x84, + 0x2D, 0x67, 0xE6, 0x8A, 0x19, 0x88, 0x36, 0x58, 0xE7, 0x10, 0x43, 0x6F, 0xC5, 0x7A, 0xB0, 0x4C, + 0x72, 0x8D, 0xFA, 0x7F, 0xE3, 0x53, 0x98, 0xEB, 0x25, 0x47, 0x7C, 0x61, 0x75, 0x18, 0x6F, 0x2C, + 0xDD, 0xD3, 0x03, 0x0C, 0x08, 0x85, 0xB8, 0x88, 0x33, 0xB0, 0x7B, 0x5E, 0xCB, 0xA2, 0xB7, 0x19, + 0xE4, 0x8F, 0xC9, 0x3F, 0x18, 0xDD, 0xDB, 0x0C, 0x2E, 0xAF, 0x02, 0x97, 0x0D, 0xE4, 0x8F, 0x81, + 0xBB, 0x4D, 0x62, 0x78, 0xCC, 0xB2, 0x85, 0x2A, 0xF5, 0x8C, 0x37, 0x64, 0xC8, 0x34, 0x85, 0x44, + 0xE4, 0x70, 0x30, 0x13, 0x83, 0xF7, 0xDB, 0x54, 0xA7, 0x39, 0x25, 0x9F, 0x96, 0x64, 0x10, 0x04, + 0xF4, 0x03, 0xC7, 0x63, 0xCD, 0x43, 0xA0, 0x13, 0x36, 0xB9, 0xF5, 0x7A, 0xED, 0xA1, 0x20, 0x1B, + 0xF2, 0x12, 0x2F, 0x1F, 0xA3, 0x96, 0xB0, 0xBB, 0xEE, 0x1B, 0x77, 0x63, 0x98, 0xA1, 0x82, 0x07, + 0xCD, 0xCD, 0x65, 0xD5, 0x66, 0x2F, 0x1C, 0xAB, 0xAC, 0x12, 0x24, 0x2B, 0xCC, 0xD3, 0x0C, 0x0D, + 0xC1, 0xEC, 0xAE, 0x5D, 0xA1, 0xF4, 0x1E, 0x94, 0xF6, 0x53, 0x94, 0xFB, 0x10, 0x8B, 0xB0, 0xAA, + 0x12, 0xA1, 0xE4, 0x7D, 0x64, 0x5E, 0x33, 0x32, 0xA3, 0x9F, 0xD6, 0xEC, 0x0E, 0x7E, 0x97, 0x57, + 0x46, 0x18, 0x66, 0x52, 0x68, 0xD3, 0x4D, 0xAC, 0xC8, 0x1E, 0x90, 0x92, 0x29, 0xA5, 0x60, 0x5F, + 0x8B, 0x49, 0xC1, 0x0F, 0x11, 0x69, 0xAD, 0xCB, 0xC1, 0x5E, 0xB2, 0x24, 0x7C, 0x8C, 0xA5, 0x27, + 0x42, 0xAD, 0x97, 0xF1, 0x9E, 0x5E, 0xA2, 0x1C, 0x2F, 0xB7, 0x9C, 0xE8, 0x8C, 0x77, 0x5C, 0x7E, + 0xA1, 0x54, 0x68, 0x43, 0x39, 0xCB, 0x05, 0x03, 0x93, 0x76, 0x6C, 0x7B, 0x00, 0x12, 0xFD, 0xA7, + 0xA5, 0xFC, 0x61, 0xCA, 0xE7, 0x58, 0xD1, 0x2B, 0x46, 0x54, 0x9C, 0x25, 0xEF, 0x4D, 0x05, 0x77, + 0x01, 0x12, 0xEA, 0xC9, 0xAF, 0xBA, 0x4E, 0x02, 0xA9, 0x60, 0x8C, 0x03, 0x42, 0x00, 0x9D, 0x47, + 0xC3, 0x55, 0x81, 0x4F, 0xEB, 0x64, 0x07, 0xD2, 0x57, 0x7D, 0x93, 0xB3, 0xDA, 0xF7, 0x3D, 0x2A, + 0x19, 0x50, 0x57, 0x79, 0x64, 0xB2, 0x69, 0xDD, 0xEA, 0x1D, 0x0F, 0xC1, 0x43, 0x11, 0x1A, 0x56, + 0xE7, 0x66, 0x18, 0x15, 0x22, 0x04, 0xCB, 0x95, 0x02, 0xFE, 0x84, 0xBC, 0xD3, 0x03, 0x2E, 0xCD, + 0x9E, 0x6F, 0x3E, 0x33, 0x17, 0x06, 0xF1, 0x9E, 0x3D, 0x7A, 0x2C, 0x46, 0xB6, 0x45, 0x89, 0x59, + 0xDE, 0x73, 0x88, 0xEA, 0xD9, 0xFB, 0xFB, 0x57, 0x19, 0x64, 0x4F, 0x5D, 0xF4, 0xE2, 0x5F, 0xE4, + 0x44, 0x67, 0x99, 0xD1, 0xB2, 0x9C, 0x58, 0x8E, 0x01, 0xC6, 0x39, 0x12, 0x26, 0xBE, 0xD7, 0x40, + 0x90, 0xCB, 0x30, 0x42, 0x54, 0xBB, 0xB3, 0xA4, 0x96, 0xE5, 0xC2, 0x8A, 0x9A, 0x60, 0x06, 0x1A, + 0xA2, 0x15, 0x0B, 0x4F, 0x0A, 0x9F, 0xFB, 0xB3, 0x87, 0x33, 0x96, 0x11, 0x84, 0x88, 0x3E, 0x85, + 0x4B, 0x1F, 0x79, 0x57, 0x0F, 0xEC, 0xA0, 0x80, 0xB2, 0x12, 0x1E, 0xC9, 0xFE, 0x21, 0x42, 0xB9, + 0x9E, 0x9F, 0xB9, 0x2E, 0x14, 0x4B, 0x44, 0xC3, 0x5A, 0xCC, 0xBD, 0x08, 0x72, 0x4F, 0x97, 0x41, + 0x89, 0xBB, 0xA2, 0x2B, 0x7A, 0xE1, 0x21, 0x0C, 0xAE, 0x89, 0x84, 0x0A, 0x4A, 0xC7, 0xC5, 0x44, + 0x86, 0x16, 0xDF, 0xA9, 0x4E, 0x4B, 0x3A, 0xF0, 0x44, 0x94, 0x32, 0x72, 0x8D, 0xA7, 0x6E, 0x10, + 0x07, 0x04, 0xAB, 0x22, 0xB9, 0x7B, 0x02, 0x7D, 0xF0, 0x33, 0xDA, 0xB9, 0x3F, 0x7F, 0xBD, 0xFA, + 0x6E, 0x73, 0x38, 0x2F, 0x4D, 0x03, 0x9D, 0x81, 0xA9, 0xC6, 0xBE, 0x42, 0xAC, 0x1E, 0x61, 0xDC, + 0x72, 0x8C, 0x53, 0x62, 0xB8, 0x64, 0x70, 0xCE, 0xAF, 0x20, 0x6C, 0x48, 0xB4, 0x3A, 0xFD, 0xDC, + 0xC3, 0x39, 0x18, 0x82, 0xFC, 0x86, 0xBC, 0x79, 0x05, 0x83, 0x5D, 0x74, 0x44, 0xB9, 0x63, 0xF6, + 0xA3, 0xA7, 0x25, 0x80, 0x00, 0x12, 0x56, 0x42, 0x8F, 0x7E, 0xF6, 0x86, 0x5B, 0x35, 0xB2, 0x3D, + 0x4B, 0x1F, 0x0E, 0xE6, 0x68, 0xA4, 0xBD, 0x6D, 0x01, 0x12, 0x51, 0x62, 0xC6, 0x72, 0xE9, 0xC5, + 0xE4, 0xC1, 0xB9, 0x5F, 0x97, 0x00, 0x70, 0xEF, 0xE7, 0x74, 0x55, 0x53, 0xB7, 0x96, 0xD8, 0xEE, + 0x03, 0xEE, 0xA7, 0xF2, 0x45, 0x05, 0x5E, 0x94, 0x66, 0x32, 0x5E, 0x2B, 0xC6, 0x51, 0x0C, 0x0C, + 0x41, 0xEC, 0xD6, 0x8D, 0xCF, 0xA2, 0x5F, 0x7D, 0x9E, 0x4C, 0xA1, 0xDB, 0x47, 0x29, 0xBD, 0x34, + 0x26, 0xF1, 0x5D, 0xE8, 0xF7, 0x5C, 0x21, 0x11, 0x90, 0x18, 0x35, 0xBC, 0x3E, 0xED, 0x9A, 0xB9, + 0x71, 0xC4, 0x41, 0xEA, 0x70, 0x46, 0x72, 0x22, 0x29, 0x68, 0x78, 0x39, 0x32, 0xE4, 0xBA, 0xA6, + 0xCD, 0x67, 0xFF, 0x87, 0xDE, 0x0E, 0xDC, 0x75, 0x5B, 0xEA, 0x5B, 0xB6, 0xC1, 0xB4, 0x93, 0xFA, + 0xEC, 0x0D, 0x6C, 0xAA, 0x18, 0x26, 0xEB, 0x19, 0x12, 0xD3, 0x7B, 0xF6, 0xA2, 0xF7, 0xDE, 0x12, + 0x20, 0x1B, 0x47, 0x25, 0x6B, 0x61, 0x0C, 0xD4, 0x84, 0x72, 0xFC, 0x43, 0x18, 0xA2, 0x26, 0xC1, + 0x5F, 0xED, 0x30, 0x67, 0x8A, 0xCB, 0xBB, 0xEE, 0x05, 0x94, 0x6C, 0x1D, 0x12, 0x05, 0x5F, 0x22, + 0xD3, 0x0E, 0x52, 0xB3, 0x8B, 0x66, 0xD6, 0x8F, 0xDC, 0xC9, 0xB5, 0xB1, 0xCC, 0xED, 0xB1, 0xBE, + 0x4F, 0x8D, 0x05, 0x3A, 0xA7, 0x88, 0xDB, 0x35, 0x49, 0x89, 0x0E, 0x6B, 0xAE, 0xCB, 0x35, 0xDA, + 0xA7, 0x87, 0xE5, 0x6B, 0x3E, 0x0C, 0x8E, 0xE2, 0x53, 0x8A, 0x9B, 0x05, 0xF5, 0x2E, 0xDD, 0x75, + 0xE3, 0xC5, 0x88, 0x8B, 0xD2, 0x44, 0x2F, 0xF2, 0x83, 0x81, 0xCF, 0x8C, 0xF1, 0xD0, 0x56, 0xDF, + 0x99, 0xD9, 0x5D, 0x51, 0x8B, 0xC8, 0xB1, 0xA9, 0x29, 0x31, 0x01, 0x68, 0x7D, 0x71, 0x7A, 0xEE, + 0x9D, 0x5D, 0x47, 0xE5, 0x0A, 0x88, 0x16, 0xAD, 0x88, 0x33, 0xE5, 0xC7, 0xF3, 0x3B, 0xED, 0x2D, + 0xAE, 0x3F, 0xC2, 0xBF, 0xCD, 0x36, 0x12, 0xC6, 0xFF, 0xC2, 0x9D, 0x15, 0xE4, 0xFA, 0xB3, 0xD2, + 0x32, 0xDE, 0xB0, 0xA4, 0x33, 0x48, 0x89, 0x07, 0x92, 0x84, 0x51, 0x5A, 0x00, 0x12, 0x67, 0x46, + 0x2A, 0x4F, 0xD1, 0xCC, 0xF2, 0x88, 0xE8, 0xAC, 0x9E, 0x9E, 0x92, 0x29, 0x98, 0xC7, 0x8E, 0x4A, + 0x01, 0x12, 0xCE, 0x4E, 0x6C, 0xFE, 0xD2, 0x7F, 0xBE, 0xC6, 0x99, 0xCD, 0xCD, 0xA8, 0x12, 0xD6, + 0x92, 0xD4, 0x56, 0x48, 0x85, 0x5D, 0xA9, 0x68, 0x84, 0x8B, 0x2D, 0x3F, 0x49, 0x10, 0x84, 0xAA, + 0x16, 0x8C, 0x98, 0xE6, 0x3B, 0x0E, 0xFB, 0x3C, 0xA7, 0x3B, 0x5E, 0xBB, 0x82, 0x97, 0x85, 0x63, + 0x52, 0x3C, 0xC8, 0x32, 0xE0, 0xA4, 0x6A, 0x5D, 0xAF, 0x2B, 0xA8, 0xFE, 0x83, 0x7D, 0x6D, 0xCC, + 0x67, 0x28, 0xFA, 0xC5, 0x70, 0x2A, 0x33, 0x3F, 0x9A, 0xEE, 0xD6, 0xE9, 0x78, 0x5B, 0x91, 0x3A, + 0x03, 0x87, 0x7C, 0xC5, 0xA6, 0xCF, 0x96, 0xBC, 0x9F, 0xF8, 0x33, 0x61, 0xA1, 0x9E, 0x98, 0xB3, + 0xF4, 0x4E, 0x15, 0xEB, 0xAD, 0xDE, 0x22, 0x23, 0x1E, 0x9B, 0x7C, 0x31, 0xC4, 0xA7, 0xBB, 0xFB, + 0x35, 0xFD, 0x63, 0x09, 0x6F, 0x19, 0x1B, 0x48, 0xBC, 0x85, 0xEF, 0x24, 0xDB, 0x1E, 0x0D, 0x71, + 0x34, 0x2B, 0x89, 0x76, 0x9D, 0x9F, 0x8D, 0x0A, 0x0F, 0xFA, 0x8C, 0x7C, 0xDD, 0x6D, 0x10, 0x43, + 0x02, 0x8A, 0x98, 0xBE, 0xF3, 0x3D, 0x2B, 0x30, 0x60, 0x92, 0x50, 0xDD, 0xAE, 0x13, 0x6A, 0xC2, + 0xB8, 0x37, 0x2A, 0xEE, 0xA1, 0x50, 0x0D, 0xE5, 0xE4, 0xA0, 0x19, 0x00, 0x35, 0xF8, 0x73, 0x83, + 0xFC, 0x26, 0x78, 0x2C, 0x0A, 0xEC, 0xE7, 0xC5, 0x20, 0x77, 0x16, 0xFA, 0x8C, 0xCB, 0xD9, 0xC0, + 0x0A, 0xFC, 0xE0, 0x2E, 0x86, 0x74, 0xFD, 0x5A, 0x61, 0x1E, 0x9C, 0x60, 0x2C, 0x08, 0xE7, 0x22, + 0xED, 0xF8, 0x03, 0x26, 0xAE, 0x53, 0x6D, 0xA8, 0x56, 0xC3, 0x75, 0x51, 0x31, 0x6D, 0x55, 0x03, + 0x6B, 0xB8, 0xB9, 0xE5, 0x18, 0x92, 0xDE, 0x48, 0x16, 0x99, 0x56, 0xF2, 0x7C, 0x0E, 0x40, 0x51, + 0x77, 0xFB, 0xF2, 0x1D, 0xC0, 0x90, 0x81, 0xBF, 0x53, 0x8A, 0xA7, 0x38, 0x01, 0x51, 0x98, 0x46, + 0xFF, 0xCB, 0x66, 0x3F, 0xDE, 0xA5, 0x2A, 0x7E, 0xEA, 0x1B, 0x72, 0x6B, 0x2B, 0x6F, 0xCB, 0x7A, + 0x58, 0xF3, 0xB6, 0x9D, 0x00, 0x12, 0xAF, 0xB6, 0xCA, 0xC9, 0x3B, 0x56, 0x6D, 0xA4, 0xF1, 0xFB, + 0xB0, 0xB1, 0x03, 0x47, 0x50, 0x21, 0x04, 0xF0, 0x01, 0x12, 0xE3, 0x3E, 0xC1, 0xD8, 0x17, 0xB2, + 0x32, 0xC0, 0x23, 0x21, 0x6C, 0xCC, 0x7E, 0x71, 0x58, 0xAA, 0x9C, 0x55, 0xF9, 0xA7, 0xA8, 0xA2, + 0x77, 0x20, 0x01, 0xE8, 0x8B, 0x6D, 0xCA, 0x82, 0x51, 0x9E, 0xAC, 0xC8, 0x15, 0x2C, 0x17, 0x8F, + 0xB0, 0x1B, 0x7F, 0x4F, 0xC0, 0xEB, 0x82, 0xDA, 0xBD, 0xCB, 0x8F, 0x97, 0x14, 0xD5, 0x04, 0x47, + 0x9A, 0x90, 0xF6, 0xB8, 0xF2, 0xE1, 0x60, 0x86, 0x41, 0x82, 0x16, 0xF3, 0xB8, 0xEC, 0x33, 0x5C, + 0xD9, 0x54, 0xA4, 0x5E, 0x5B, 0xBB, 0x82, 0x41, 0xD1, 0x28, 0x3F, 0x8F, 0x56, 0xE2, 0x71, 0x76, + 0xE0, 0x65, 0x5A, 0x85, 0x42, 0x53, 0x84, 0xA4, 0x5D, 0xCB, 0x0B, 0x37, 0x32, 0x36, 0x30, 0x89, + 0xFA, 0xDA, 0x8F, 0xE3, 0x13, 0xE3, 0x53, 0x20, 0x0E, 0xBD, 0xC8, 0xF4, 0x67, 0x30, 0x77, 0xA3, + 0xBA, 0x68, 0x2A, 0x3B, 0xF3, 0x5A, 0x7A, 0xDD, 0x22, 0x74, 0x6C, 0xAA, 0xF5, 0x20, 0x5E, 0x62, + 0xF2, 0xF6, 0x2B, 0x27, 0xF4, 0x64, 0x74, 0xDA, 0xF9, 0xF2, 0xE3, 0x6A, 0xE6, 0x9A, 0xF2, 0x7A, + 0xCF, 0x6F, 0x49, 0xEF, 0x32, 0x6C, 0xDC, 0xC8, 0x4D, 0x16, 0x68, 0x63, 0xE6, 0x13, 0x93, 0xC3, + 0x87, 0x25, 0xE4, 0x31, 0xAC, 0x8B, 0xF8, 0x9C, 0x31, 0x37, 0x8A, 0x0D, 0x32, 0x92, 0x87, 0x83, + 0x4B, 0x3B, 0xAE, 0x1D, 0x94, 0xE2, 0xE6, 0x3C, 0x8E, 0xBD, 0x8C, 0xD2, 0xE8, 0x33, 0xCB, 0x05, + 0xFB, 0x17, 0x2E, 0x8F, 0xDC, 0xC2, 0xA5, 0xC8, 0x46, 0x59, 0x36, 0x1E, 0xC9, 0xC3, 0xDF, 0x82, + 0x70, 0x9E, 0xEB, 0xEC, 0xDB, 0x05, 0x9A, 0x44, 0x5F, 0x53, 0xFE, 0x94, 0xD5, 0x20, 0x8F, 0x84, + 0x52, 0x7B, 0x49, 0x43, 0x0A, 0x90, 0xCD, 0x3A, 0xB3, 0x7C, 0xD1, 0xD5, 0xD8, 0xEA, 0xCF, 0x31, + 0x84, 0xE6, 0x57, 0x75, 0xF0, 0x4A, 0xC8, 0x59, 0xF2, 0x24, 0x1E, 0xE5, 0x68, 0x3D, 0x36, 0x14, + 0x40, 0x9D, 0x06, 0x65, 0xCA, 0xDA, 0x75, 0x5A, 0xA3, 0xEA, 0x64, 0xB7, 0x00, 0x12, 0xEB, 0xA7, + 0x1B, 0x61, 0x02, 0x16, 0x0A, 0xE2, 0x3F, 0x19, 0xE9, 0x5E, 0x9B, 0x93, 0x76, 0x31, 0x03, 0x21, + 0x01, 0x12, 0x00, 0xA3, 0x61, 0xB7, 0x72, 0x65, 0x7E, 0xB0, 0x02, 0xB0, 0x37, 0xF0, 0xEE, 0xA2, + 0xEA, 0x58, 0x09, 0xFA, 0xA7, 0x30, 0xF6, 0x54, 0xC8, 0x6C, 0x29, 0x85, 0x6B, 0x9B, 0x10, 0x91, + 0xE7, 0x05, 0xE7, 0xBF, 0x58, 0x8A, 0x77, 0x02, 0x01, 0x83, 0x68, 0x92, 0x0E, 0xA9, 0xA9, 0xCC, + 0x0C, 0x54, 0x20, 0x94, 0xCD, 0xEA, 0xCE, 0xEB, 0x56, 0xAB, 0x21, 0x0A, 0x6E, 0x62, 0x8A, 0xF0, + 0x96, 0x58, 0xFC, 0x0B, 0xA6, 0xAD, 0x64, 0x73, 0x7B, 0x17, 0xE7, 0xF6, 0x0E, 0xF4, 0xD5, 0xAA, + 0x2A, 0x9E, 0x1B, 0x76, 0xAB, 0xBF, 0xA1, 0x15, 0xD2, 0xFC, 0xE0, 0xB6, 0xBA, 0x60, 0x06, 0x84, + 0x21, 0xD5, 0x6E, 0x8A, 0x3F, 0xF6, 0xD8, 0x36, 0xD5, 0xA3, 0x7F, 0xC5, 0x11, 0xD7, 0xCC, 0x89, + 0x26, 0x88, 0x80, 0xA9, 0x65, 0x61, 0x11, 0x6A, 0xED, 0x7F, 0x2F, 0xB8, 0x2C, 0x88, 0xC6, 0xB1, + 0x04, 0x91, 0xCE, 0xD5, 0x88, 0x5D, 0x52, 0x79, 0x8C, 0xE6, 0x6C, 0x68, 0xBB, 0x9E, 0x9E, 0xF4, + 0x2C, 0x03, 0x1D, 0x36, 0xF3, 0x00, 0x4E, 0xDF, 0x14, 0xCE, 0xF4, 0xFB, 0x84, 0x03, 0x31, 0x5E, + 0xC0, 0xB1, 0x0A, 0xF5, 0x69, 0x18, 0x3E, 0xFC, 0x58, 0x0E, 0x96, 0x5E, 0x1D, 0xB6, 0x6C, 0xA7, + 0xC8, 0xAF, 0xCB, 0x41, 0x47, 0x31, 0x0E, 0x28, 0x4B, 0xD6, 0x2F, 0xA9, 0x71, 0xD1, 0x12, 0xFD, + 0x39, 0x2D, 0xCC, 0x81, 0xB0, 0xAD, 0x33, 0xFA, 0x21, 0x1F, 0x91, 0x69, 0xF7, 0x03, 0xAC, 0x32, + 0xA1, 0xC2, 0x97, 0xA7, 0x94, 0x80, 0x4C, 0xDA, 0x6F, 0x2D, 0x9C, 0xE6, 0x32, 0xAA, 0x0E, 0x55, + 0xE1, 0xAB, 0xC9, 0x8A, 0x9A, 0xFF, 0xC6, 0xB4, 0x51, 0xF0, 0xA8, 0xCE, 0x98, 0xE8, 0xC9, 0xCB, + 0x1E, 0x6C, 0x14, 0x4B, 0xF7, 0x67, 0x96, 0x3F, 0x44, 0xFD, 0xAB, 0xB6, 0x1C, 0x40, 0x52, 0x0F, + 0xB9, 0x1B, 0x50, 0x5C, 0x89, 0x12, 0x64, 0xAB, 0xE4, 0x4F, 0x54, 0x44, 0x2E, 0x2F, 0x25, 0x14, + 0xE5, 0x78, 0xB0, 0x6E, 0x00, 0x12, 0x84, 0xFD, 0x46, 0x1D, 0x0C, 0xC3, 0x8A, 0x8C, 0x90, 0x26, + 0xB6, 0x89, 0x4E, 0xF6, 0x70, 0xD1, 0x44, 0xFA, 0x01, 0x12, 0xAD, 0x34, 0x7B, 0xA1, 0x2D, 0xDE, + 0xD1, 0x53, 0xB0, 0x50, 0xBF, 0x6F, 0x33, 0x82, 0x79, 0x4C, 0x23, 0x0E, 0x33, 0x4D, 0x68, 0xAE, + 0x03, 0xE0, 0x3B, 0x6F, 0x76, 0xBF, 0x98, 0x5C, 0xF3, 0x17, 0xDD, 0x1A, 0xA0, 0x68, 0xB6, 0x9D, + 0x47, 0x9D, 0x6B, 0x04, 0x74, 0x1B, 0xB4, 0xCD, 0xF1, 0x4E, 0xDF, 0xEC, 0x1C, 0x3F, 0x00, 0xC5, + 0x41, 0x2B, 0x6B, 0xC0, 0xFB, 0x27, 0x93, 0x65, 0x19, 0x5C, 0xDB, 0x4A, 0x14, 0x5D, 0x07, 0xF2, + 0x84, 0xB0, 0x52, 0x3E, 0xD1, 0x63, 0xD6, 0x38, 0xB4, 0x66, 0x6B, 0xB4, 0xF5, 0x60, 0x62, 0xFD, + 0x64, 0x09, 0x96, 0x4A, 0xCD, 0x5E, 0x37, 0xE2, 0xC1, 0x0D, 0xDF, 0x32, 0x6F, 0x60, 0x74, 0x57, + 0x98, 0x58, 0x41, 0xED, 0x85, 0xCB, 0xEE, 0x09, 0xBE, 0x6E, 0x5F, 0x26, 0xE1, 0x4A, 0xFC, 0x9E, + 0xFA, 0xBC, 0xEC, 0xA0, 0xA3, 0xE7, 0xFA, 0x07, 0xFB, 0xAD, 0x72, 0x78, 0x1B, 0x18, 0xCF, 0x7F, + 0x5F, 0x7D, 0xD8, 0x26, 0x20, 0x79, 0xCC, 0xE2, 0x78, 0x79, 0x5B, 0x58, 0x28, 0x7F, 0x20, 0xD8, + 0x8C, 0xC1, 0x1C, 0xEB, 0x6B, 0xA7, 0x7C, 0x3E, 0x3F, 0xE4, 0x30, 0x77, 0x22, 0xB3, 0xFF, 0xCA, + 0xFF, 0x22, 0xD6, 0x34, 0x4E, 0x68, 0x59, 0xF4, 0x15, 0x82, 0x5A, 0x12, 0x0A, 0xDA, 0x35, 0x07, + 0x85, 0xCD, 0xC8, 0x60, 0x7E, 0xD5, 0x2F, 0x5A, 0x5A, 0x89, 0x87, 0xED, 0x02, 0xEE, 0x99, 0xA6, + 0x76, 0xB4, 0x42, 0x89, 0xDD, 0xB8, 0x8A, 0xB8, 0xBB, 0x57, 0xE0, 0x65, 0x21, 0x73, 0x48, 0x2F, + 0xD4, 0x90, 0x6A, 0x68, 0xAC, 0x67, 0x55, 0x9E, 0x1A, 0xC2, 0x99, 0xBB, 0x44, 0x30, 0x59, 0xA2, + 0x48, 0x5F, 0xAC, 0x8C, 0x3E, 0xDD, 0x33, 0x21, 0x68, 0x9E, 0xB8, 0x09, 0x64, 0x75, 0x84, 0x7F, + 0x52, 0x74, 0x2F, 0x6F, 0x70, 0x88, 0x2E, 0xBF, 0x92, 0xAD, 0xBA, 0xB1, 0xEA, 0x77, 0x4D, 0xB4, + 0xCC, 0x50, 0xDA, 0x3E, 0x77, 0x50, 0x00, 0x8A, 0x21, 0x5D, 0x72, 0x94, 0x00, 0x12, 0xB9, 0xE2, + 0x70, 0x05, 0x62, 0x58, 0x06, 0x70, 0x80, 0xD2, 0x5B, 0xE3, 0x57, 0x3C, 0x52, 0x14, 0x32, 0x38, + 0x01, 0x12, 0x15, 0x34, 0x87, 0x8D, 0xFE, 0x51, 0x6D, 0xB5, 0xD6, 0xC2, 0xB8, 0x32, 0x4E, 0xD2, + 0x51, 0x55, 0x92, 0xBE, 0x32, 0xA6, 0x1A, 0xFA, 0xD1, 0x67, 0xF5, 0x1A, 0xE8, 0xBD, 0x70, 0x01, + 0xB1, 0x6B, 0xFB, 0xB1, 0x18, 0x35, 0xDA, 0x99, 0xBE, 0x27, 0x36, 0x20, 0xE0, 0xD8, 0xDA, 0x2B, + 0x7E, 0x7F, 0x26, 0x49, 0x47, 0xFB, 0xC6, 0x14, 0x04, 0xF0, 0xA9, 0xD6, 0x34, 0x09, 0x6D, 0x6F, + 0x85, 0x54, 0xD3, 0xFC, 0x81, 0xD1, 0x5D, 0x26, 0x01, 0x02, 0xD9, 0x36, 0xBD, 0x9D, 0xDC, 0x72, + 0x3D, 0x8B, 0x18, 0x1B, 0xBF, 0x48, 0xB7, 0xF4, 0xDE, 0xAC, 0x14, 0x10, 0x38, 0x47, 0xE6, 0x53, + 0x49, 0x98, 0x54, 0xB7, 0xAF, 0xCE, 0x9B, 0x97, 0x7A, 0x19, 0x85, 0x5C, 0xA4, 0x50, 0xE6, 0x17, + 0x8D, 0x42, 0x0B, 0xF6, 0x93, 0xBB, 0x9B, 0xE5, 0x09, 0x0B, 0xB1, 0x81, 0x43, 0x3C, 0x5D, 0x32, + 0xF8, 0x7A, 0xBF, 0xBF, 0x85, 0x80, 0x4A, 0x11, 0x8F, 0xF6, 0xA7, 0xDA, 0x40, 0x46, 0x18, 0x4C, + 0x24, 0xFC, 0x2B, 0x01, 0x96, 0x85, 0x05, 0x01, 0x06, 0x4B, 0x2A, 0x4E, 0x6A, 0x5F, 0x8E, 0x1B, + 0xB4, 0x4D, 0xE6, 0x95, 0x6C, 0x0F, 0x17, 0x79, 0x98, 0x52, 0x76, 0x8A, 0x36, 0xD9, 0x15, 0x80, + 0x39, 0x68, 0x7A, 0xBB, 0xA3, 0x23, 0xA0, 0x26, 0x17, 0x47, 0x89, 0x4C, 0xFB, 0x9A, 0x4B, 0x02, + 0x49, 0x5F, 0x3E, 0xB2, 0x43, 0x3E, 0xEF, 0xA9, 0x78, 0x4D, 0x33, 0x9E, 0x56, 0x32, 0xA4, 0xE8, + 0xBE, 0xD0, 0x6D, 0x15, 0xF5, 0x12, 0x71, 0x5F, 0x94, 0xEA, 0x28, 0x42, 0x01, 0x0A, 0x39, 0x01, + 0xB0, 0xC9, 0x07, 0x76, 0xA2, 0xC5, 0xB1, 0xA7, 0x38, 0xDB, 0x4E, 0xA7, 0x67, 0x98, 0x28, 0xE3, + 0xE0, 0x1A, 0xE2, 0x28, 0xEE, 0x70, 0x15, 0xE9, 0xDD, 0x64, 0x31, 0xB9, 0xE8, 0x51, 0x56, 0x8B, + 0xA4, 0xDA, 0x1E, 0x70, 0xAF, 0xFF, 0x1E, 0xF9, 0x20, 0x5B, 0x7A, 0xCB, 0x1A, 0x9D, 0xDD, 0x8F, + 0x9B, 0x55, 0xEF, 0x04, 0x00, 0x12, 0xCF, 0x42, 0x74, 0x62, 0x2C, 0x48, 0x0F, 0x13, 0xF6, 0x97, + 0x33, 0x27, 0x28, 0x94, 0xB7, 0xA3, 0xA3, 0x58, 0x01, 0x12, 0xC5, 0x00, 0xA8, 0x60, 0x76, 0x16, + 0x01, 0xC5, 0x1A, 0x40, 0x6A, 0x0F, 0xE6, 0x8C, 0x16, 0xD5, 0x71, 0x23, 0x7D, 0xBD, 0xE6, 0xEB, + 0x90, 0x2F, 0x1A, 0x5C, 0xB8, 0x7A, 0x88, 0xDB, 0x40, 0xA9, 0x25, 0x88, 0x12, 0x85, 0x34, 0xA2, + 0x90, 0x63, 0xF1, 0x17, 0xCD, 0xA6, 0xFA, 0x38, 0x30, 0x74, 0xB1, 0xC9, 0x4B, 0x36, 0x22, 0x4A, + 0xA9, 0x2F, 0x6C, 0x11, 0x7A, 0xD3, 0x92, 0x9D, 0xD5, 0x7E, 0x8A, 0x26, 0xCC, 0x70, 0xBA, 0x98, + 0xE5, 0xC0, 0x7A, 0x5E, 0x48, 0xCB, 0xEA, 0x4E, 0x36, 0xC6, 0x5D, 0x71, 0xF6, 0xC3, 0xAD, 0x94, + 0xBB, 0xDB, 0x34, 0x5C, 0x20, 0x3F, 0x85, 0xA2, 0xCC, 0x55, 0x22, 0xCD, 0x0C, 0x02, 0x1A, 0x31, + 0xE9, 0x48, 0xC3, 0xF2, 0xBE, 0x19, 0xA5, 0x22, 0xD8, 0xCC, 0x59, 0xD9, 0x26, 0xFC, 0x81, 0x5D, + 0x77, 0x72, 0x72, 0x92, 0x96, 0x26, 0x2B, 0x29, 0x6F, 0x45, 0x68, 0x73, 0x31, 0x1C, 0x76, 0x37, + 0x02, 0x4B, 0x9E, 0x8D, 0x6D, 0xF0, 0xCD, 0x36, 0xE6, 0x46, 0xC5, 0x98, 0x7F, 0x29, 0xE0, 0xC1, + 0x97, 0xE6, 0x72, 0x89, 0x29, 0xAE, 0x81, 0xC1, 0x2D, 0x16, 0x6C, 0x22, 0xBC, 0xA6, 0xA7, 0x62, + 0x63, 0x65, 0x38, 0x3C, 0x8D, 0x3D, 0x71, 0xA0, 0xB9, 0x2A, 0x87, 0x96, 0xF4, 0xD5, 0x9C, 0xA2, + 0x03, 0x52, 0xC3, 0x3D, 0x78, 0x93, 0xBC, 0xFB, 0xC3, 0x5C, 0x59, 0x6D, 0xC0, 0xA0, 0x3E, 0x7A, + 0x11, 0x5B, 0xB3, 0x51, 0x18, 0x8E, 0x5A, 0x87, 0x2D, 0xE9, 0x0E, 0x9F, 0x6F, 0xC9, 0xFA, 0x80, + 0xF9, 0xC3, 0xF2, 0xDA, 0x01, 0x41, 0x43, 0x0A, 0xEC, 0xFD, 0x7D, 0xD6, 0xDB, 0x9E, 0x2C, 0xAC, + 0x3C, 0xA6, 0xF2, 0xCB, 0xA8, 0x55, 0xCE, 0x6A, 0x81, 0x2D, 0xEC, 0x5A, 0x06, 0xCC, 0xFE, 0x97, + 0x09, 0x13, 0x8E, 0xF9, 0x0E, 0x3B, 0x03, 0x85, 0x51, 0xA8, 0x2F, 0x13, 0x96, 0xD9, 0x4E, 0x88, + 0x58, 0x50, 0x0E, 0xA5, 0xAC, 0xC1, 0x2D, 0x45, 0xD8, 0xD4, 0xA5, 0x83, 0x00, 0x12, 0x24, 0x7F, + 0xD5, 0xF0, 0xF5, 0xB3, 0x5C, 0xB5, 0x95, 0xB9, 0x52, 0x5C, 0x78, 0x82, 0xC1, 0x12, 0x36, 0xC1, + 0x01, 0x12, 0x64, 0x8E, 0xC6, 0x54, 0xD5, 0xFD, 0xA7, 0x44, 0x3E, 0xE1, 0x65, 0xAB, 0xF4, 0xC2, + 0x88, 0x83, 0xC1, 0xEE, 0xD9, 0x9E, 0xCF, 0x2B, 0x02, 0x16, 0x09, 0x4C, 0x32, 0x7E, 0xF0, 0x78, + 0x63, 0x97, 0xDD, 0x09, 0x6F, 0x73, 0xD7, 0x1B, 0x19, 0xC0, 0x70, 0xE1, 0x99, 0x0C, 0x25, 0xA1, + 0xD0, 0xAB, 0x3F, 0xAF, 0xFA, 0xA9, 0xB9, 0xE2, 0xD8, 0x8C, 0xCD, 0x2F, 0x2A, 0xB8, 0x83, 0xF2, + 0xF9, 0xA5, 0x61, 0x36, 0x67, 0x85, 0x08, 0xF1, 0x33, 0x65, 0xEE, 0x6C, 0xB4, 0x4D, 0xF2, 0xBC, + 0xDD, 0x3C, 0xCF, 0x7B, 0xFE, 0x26, 0x31, 0x62, 0xA6, 0x50, 0x6C, 0xC9, 0xF2, 0xB2, 0x18, 0x84, + 0xDD, 0x27, 0x01, 0x19, 0x9D, 0xE5, 0xE4, 0x82, 0x3E, 0x6C, 0x0D, 0x67, 0x5C, 0x66, 0xE3, 0x03, + 0x0A, 0x33, 0x17, 0xE0, 0x64, 0xD5, 0xA3, 0x69, 0x60, 0x68, 0xFB, 0x83, 0x8B, 0xE8, 0x49, 0x49, + 0x54, 0x4C, 0xE0, 0x20, 0xD9, 0xBD, 0xEF, 0xF1, 0xF9, 0x72, 0xEA, 0x25, 0xFE, 0x70, 0x35, 0x7E, + 0x2D, 0x4B, 0xDE, 0x56, 0x52, 0x12, 0x5B, 0x5D, 0xB9, 0xEE, 0xC6, 0x64, 0xE9, 0xAF, 0xFC, 0xBD, + 0x83, 0xB6, 0x28, 0x48, 0x79, 0x96, 0x05, 0xDF, 0x3C, 0xD8, 0x11, 0x3C, 0xEC, 0x5B, 0xE5, 0x01, + 0x9A, 0x80, 0x97, 0x51, 0x79, 0x9F, 0xA5, 0xBD, 0x36, 0x21, 0x48, 0xBC, 0x4C, 0xB1, 0x9C, 0xD5, + 0x7E, 0xB8, 0x30, 0x64, 0x69, 0xA9, 0x3A, 0xE0, 0x2C, 0x3C, 0x30, 0x51, 0x85, 0x51, 0x57, 0xB8, + 0xF9, 0x8A, 0x96, 0x6D, 0xD8, 0x46, 0x88, 0x28, 0x8E, 0xFF, 0x06, 0x60, 0xBD, 0x53, 0xFF, 0x57, + 0x4B, 0x3C, 0x0C, 0x01, 0x33, 0xCD, 0x15, 0x3B, 0x62, 0xDF, 0x24, 0x5E, 0xAA, 0xB2, 0x8D, 0xAB, + 0x67, 0x4A, 0xD1, 0xCB, 0xD8, 0x29, 0xEE, 0xF3, 0xF5, 0xAE, 0x02, 0x30, 0x75, 0xBE, 0x0E, 0xA4, + 0xDF, 0xD8, 0x2B, 0xA9, 0xA9, 0x1B, 0xD3, 0xB5, 0x94, 0xD1, 0x60, 0x20, 0xDD, 0x7B, 0x1C, 0x93, + 0xE1, 0x1C, 0x5E, 0x14, 0x00, 0x12, 0x03, 0x1B, 0x64, 0x53, 0x0D, 0x94, 0xDA, 0x1D, 0xBB, 0x69, + 0xFD, 0x99, 0xBF, 0x33, 0x97, 0x12, 0xCB, 0x30, 0x01, 0x12, 0xF0, 0xA9, 0xC7, 0x34, 0x35, 0x4C, + 0x9E, 0x92, 0x6C, 0x63, 0x83, 0xF4, 0x4E, 0xAA, 0x87, 0x59, 0x73, 0x78, 0x97, 0xF0, 0x09, 0xB6, + 0x1B, 0x20, 0xC9, 0x44, 0x22, 0xB9, 0xB0, 0xDC, 0x4C, 0xE8, 0x1D, 0x70, 0x3D, 0xD9, 0xAF, 0x02, + 0x84, 0x07, 0x38, 0xFA, 0x3F, 0x98, 0x42, 0xAC, 0x10, 0x6D, 0x2C, 0x0C, 0xC7, 0x55, 0x09, 0x5E, + 0x49, 0x68, 0x33, 0x5A, 0xA3, 0x8E, 0x64, 0xC5, 0xF5, 0x61, 0x18, 0x03, 0x31, 0x36, 0xB1, 0xC3, + 0xA1, 0x79, 0x32, 0xEE, 0x06, 0x99, 0xD9, 0x29, 0x46, 0x3A, 0x15, 0x30, 0xDF, 0x89, 0xCF, 0xAB, + 0x4D, 0x02, 0x25, 0x97, 0xB7, 0x8C, 0x8B, 0xF0, 0xBA, 0xD3, 0x48, 0xBB, 0x27, 0x4C, 0x0C, 0x7D, + 0x47, 0x21, 0x01, 0xBA, 0xEE, 0xD9, 0xFC, 0xB0, 0x15, 0x87, 0x11, 0xBE, 0xCF, 0xE2, 0x47, 0x07, + 0x23, 0xEC, 0xE3, 0x6A, 0x90, 0x18, 0xCC, 0x00, 0xB2, 0xC0, 0x87, 0xEE, 0x0E, 0x26, 0xF7, 0x37, + 0xEE, 0xB5, 0xA3, 0x26, 0xD2, 0x99, 0xA0, 0x8A, 0x39, 0x3A, 0xDE, 0x12, 0xE0, 0x3E, 0x0A, 0xE5, + 0xF6, 0x3D, 0xF1, 0xFD, 0x0A, 0xC6, 0x6A, 0x1F, 0x92, 0x9A, 0x7D, 0xCA, 0x3A, 0x2E, 0xA3, 0xB4, + 0x05, 0x35, 0x07, 0xEB, 0x2A, 0x44, 0xA9, 0xB8, 0x5F, 0x94, 0x32, 0x5A, 0x3E, 0x79, 0xC3, 0xB3, + 0x71, 0xC5, 0x16, 0xD9, 0x7F, 0xB4, 0x60, 0x82, 0xB6, 0x97, 0x69, 0x60, 0x52, 0x6B, 0x0C, 0xEA, + 0xCE, 0xAD, 0x4F, 0xEB, 0xE3, 0x6D, 0x5D, 0xDB, 0x4C, 0x3F, 0xB2, 0x48, 0xC6, 0xE4, 0x35, 0x1D, + 0x2B, 0xCC, 0x92, 0x4D, 0x9D, 0x84, 0x4F, 0x07, 0x02, 0x22, 0xB3, 0x7D, 0xDB, 0xA5, 0x95, 0x42, + 0x9E, 0x9D, 0xD1, 0xB2, 0x74, 0x4A, 0xAF, 0xB9, 0xBF, 0x20, 0x61, 0x16, 0x77, 0x89, 0x2E, 0x8F, + 0x52, 0x6D, 0x48, 0x22, 0x14, 0xA8, 0x90, 0x20, 0xF2, 0xB3, 0xCB, 0xDF, 0x19, 0x41, 0xF3, 0x32, + 0x5C, 0x59, 0xCD, 0x36, 0xEC, 0x5B, 0x10, 0x1D, 0x84, 0xD3, 0x26, 0x15, 0x00, 0x12, 0x24, 0x5B, + 0x3A, 0x72, 0xA3, 0xBA, 0x5D, 0x2B, 0x1F, 0x79, 0xDA, 0xE1, 0x16, 0xB1, 0x66, 0x1D, 0xE4, 0xE0, + 0x01, 0x12, 0x55, 0x28, 0xA3, 0xAD, 0x08, 0x4F, 0x34, 0xB4, 0xC1, 0x43, 0x1E, 0x9F, 0x49, 0x90, + 0x89, 0xE2, 0x6C, 0x10, 0xBE, 0x69, 0x0E, 0x7D, 0x39, 0x07, 0x5B, 0x26, 0x2F, 0xA0, 0xCD, 0xFC, + 0x95, 0x95, 0x2A, 0xC9, 0xDB, 0x47, 0x25, 0x76, 0xCF, 0x85, 0xE5, 0x8C, 0xB7, 0x29, 0xAB, 0x60, + 0x5F, 0x2A, 0xCA, 0xAA, 0x07, 0xA0, 0x81, 0x81, 0x6C, 0x74, 0xE7, 0xE7, 0x3C, 0xE7, 0xC9, 0x43, + 0xD8, 0xB0, 0xB0, 0x6F, 0xD1, 0x10, 0x13, 0xEA, 0x5F, 0xD2, 0x20, 0xA5, 0xA4, 0x44, 0x3E, 0x43, + 0xDB, 0xC8, 0xF3, 0x0C, 0xE6, 0x8D, 0x5B, 0x21, 0xCC, 0xB8, 0x29, 0x30, 0xBA, 0xF9, 0xBE, 0xAE, + 0x45, 0xF2, 0xC8, 0x8A, 0x16, 0x88, 0x5C, 0x26, 0xA9, 0x6E, 0xFF, 0xA6, 0x45, 0x86, 0xBF, 0x30, + 0x5C, 0x6B, 0x09, 0xE4, 0xC7, 0x51, 0x50, 0x2B, 0xB2, 0x34, 0xC9, 0x53, 0x44, 0xF1, 0x25, 0x65, + 0x4D, 0x68, 0xFF, 0x40, 0xAB, 0x07, 0xD2, 0xBB, 0xA9, 0x38, 0xC9, 0xC2, 0xD6, 0xE3, 0xA4, 0x00, + 0x99, 0xEA, 0x93, 0xD7, 0x47, 0xA1, 0x4B, 0x6E, 0x7C, 0x9D, 0xD0, 0xC4, 0xC1, 0xA7, 0xDE, 0x22, + 0xD0, 0xE7, 0x41, 0xB3, 0x24, 0x8E, 0x20, 0xB0, 0xF0, 0xE0, 0x1E, 0xCF, 0x8F, 0xE8, 0x23, 0x10, + 0x98, 0x86, 0xED, 0x88, 0xE9, 0xBB, 0x63, 0x08, 0x6A, 0xF0, 0xD8, 0x25, 0x35, 0x22, 0x54, 0x98, + 0xC5, 0x31, 0xFB, 0xF5, 0x16, 0xEB, 0x2A, 0xC2, 0x11, 0x1E, 0x4B, 0x84, 0x18, 0x0E, 0x9C, 0xB5, + 0x7C, 0x89, 0x7B, 0xB1, 0x2E, 0x11, 0xF0, 0x74, 0x95, 0x2C, 0x12, 0x35, 0x6D, 0x57, 0xD1, 0x8A, + 0x50, 0x30, 0x76, 0x56, 0x41, 0x57, 0xBB, 0x2C, 0x66, 0x20, 0x9C, 0xBF, 0xF8, 0x4A, 0xD4, 0xF0, + 0xC9, 0x85, 0x6D, 0x8A, 0xA6, 0x2B, 0x38, 0x0A, 0x80, 0x82, 0x52, 0x4E, 0xFC, 0xC3, 0xCB, 0xB8, + 0x4C, 0x5A, 0x5B, 0xBB, 0x10, 0x81, 0x17, 0x83, 0xB8, 0x68, 0xA5, 0x96, 0xA1, 0x28, 0xED, 0xC7, + 0x71, 0x70, 0x26, 0x14, 0x00, 0x12, 0x21, 0xD2, 0x72, 0x3A, 0xB2, 0xA8, 0x05, 0x1C, 0x1D, 0x13, + 0x21, 0x94, 0x87, 0xB7, 0x07, 0x0E, 0xA1, 0x29, 0x01, 0x12, 0xB9, 0xD9, 0x19, 0x06, 0x6C, 0x71, + 0x22, 0xB3, 0xB7, 0xD2, 0xBC, 0xDE, 0xEE, 0xE3, 0x4E, 0xDF, 0x02, 0xD1, 0xFE, 0xCD, 0x30, 0x00, + 0x1B, 0xB5, 0x72, 0x5C, 0xF8, 0xEB, 0xBE, 0x99, 0xA2, 0xD7, 0xAE, 0x8B, 0x6A, 0x5C, 0xE5, 0xC8, + 0xD6, 0x04, 0x24, 0x2B, 0x69, 0xF4, 0x69, 0x9F, 0x4B, 0x4F, 0xA7, 0x14, 0x9D, 0x52, 0x0B, 0x17, + 0x22, 0x6C, 0xD4, 0x68, 0x60, 0xD0, 0xA3, 0x4C, 0x00, 0x75, 0x34, 0x62, 0x94, 0x24, 0x20, 0x87, + 0x0E, 0xC3, 0x6F, 0x36, 0x7F, 0x41, 0x26, 0xFC, 0xDA, 0xFE, 0x32, 0x94, 0x39, 0xCB, 0x8E, 0x35, + 0x26, 0x83, 0x2E, 0x6C, 0xD3, 0xEB, 0x3A, 0x38, 0x13, 0x04, 0xB1, 0x24, 0x7F, 0xDC, 0xD2, 0x48, + 0x18, 0x4F, 0xC7, 0x33, 0xBA, 0x2B, 0xF2, 0xB1, 0x3F, 0x4B, 0xB3, 0x10, 0x68, 0xF3, 0xA1, 0x3A, + 0xB8, 0x35, 0x4C, 0xAD, 0x29, 0x5A, 0xE3, 0xAE, 0x9A, 0x32, 0x12, 0x50, 0x28, 0xCD, 0x08, 0x75, + 0xEC, 0xC9, 0x44, 0xD7, 0xC1, 0x14, 0xAE, 0x0D, 0xAD, 0x42, 0x55, 0x53, 0x26, 0x5D, 0xC8, 0x26, + 0xB9, 0x5A, 0x58, 0x93, 0x3F, 0xE8, 0x5D, 0x96, 0x1A, 0x75, 0x9C, 0x9A, 0x99, 0x23, 0x46, 0x92, + 0xE7, 0x0F, 0x59, 0x28, 0x4B, 0x93, 0xEE, 0xF0, 0x79, 0xDE, 0x05, 0x28, 0xE4, 0x9D, 0x65, 0xCC, + 0x56, 0x84, 0xC0, 0x71, 0x96, 0x0B, 0x8E, 0x1B, 0x7A, 0x8A, 0x99, 0xD3, 0x2E, 0x10, 0x31, 0x1B, + 0xB8, 0xB9, 0x81, 0x74, 0x9F, 0xD1, 0xC8, 0xA0, 0xC9, 0x91, 0x57, 0x74, 0xA2, 0xB1, 0xD5, 0x5D, + 0x6A, 0x7A, 0xA9, 0x85, 0x27, 0x3B, 0xAB, 0x4F, 0x2F, 0x52, 0xCC, 0x6F, 0x27, 0xF9, 0xDD, 0xFF, + 0xD4, 0x0F, 0x02, 0xCA, 0xDF, 0x81, 0xF6, 0x28, 0x7A, 0x46, 0x48, 0x7B, 0xF6, 0xC0, 0x2D, 0xBC, + 0x76, 0x57, 0xF2, 0xDF, 0x05, 0x1F, 0x1E, 0x44, 0xDD, 0x42, 0xA2, 0x2E, 0xF6, 0x0C, 0x04, 0x07, + 0x1B, 0xAE, 0xBF, 0x8D, 0xB2, 0xF2, 0x7D, 0xBB, 0x86, 0x4D, 0xF9, 0x07, 0x00, 0x12, 0x7E, 0xA4, + 0xB3, 0x2C, 0x75, 0x64, 0x8B, 0x0B, 0x20, 0x9C, 0x0A, 0x95, 0x05, 0xE4, 0xA0, 0xD9, 0x1F, 0xBA, + 0x01, 0x12, 0x00, 0xAB, 0xE3, 0xD6, 0x6D, 0x2D, 0xD7, 0xA3, 0xCF, 0x7F, 0x26, 0x8B, 0xEE, 0x60, + 0x07, 0x7D, 0x06, 0x39, 0x2B, 0x1D, 0x0C, 0xA4, 0x87, 0x5D, 0xA2, 0x9B, 0xA7, 0xA5, 0xAB, 0x2B, + 0xB2, 0xC2, 0x9D, 0x62, 0xD9, 0x97, 0x40, 0xE8, 0x1A, 0xDD, 0x14, 0xA8, 0xA3, 0xAF, 0x15, 0x10, + 0x03, 0x74, 0xDE, 0x11, 0xD0, 0x00, 0x66, 0x5F, 0xC0, 0x85, 0x90, 0xED, 0xE3, 0xC1, 0x82, 0xB8, + 0x66, 0x6E, 0x6D, 0xBF, 0xF5, 0x2F, 0xE4, 0xB4, 0x8A, 0xD4, 0x2C, 0xEC, 0xA1, 0x7B, 0xA0, 0x31, + 0x79, 0xD7, 0x78, 0x4E, 0xF9, 0x2B, 0x91, 0x3D, 0xBC, 0x5C, 0xEC, 0x7C, 0x8F, 0xA5, 0x7D, 0x99, + 0x0A, 0x8D, 0x31, 0x25, 0xB5, 0xEB, 0x7C, 0xBA, 0x5D, 0x01, 0x23, 0x84, 0x23, 0x50, 0xC9, 0xEF, + 0xD4, 0x34, 0x53, 0xB4, 0xBC, 0xFF, 0x0A, 0xEF, 0x86, 0xFA, 0xE7, 0x4A, 0x76, 0xFA, 0x23, 0xF1, + 0x6E, 0xDE, 0xF6, 0x37, 0x8F, 0xB1, 0x97, 0x77, 0x32, 0x7D, 0xC8, 0xFA, 0xA1, 0x0F, 0xC8, 0x55, + 0xF2, 0x8E, 0xD2, 0x1C, 0x51, 0xC7, 0x38, 0x44, 0x01, 0x43, 0xD3, 0xBF, 0xFF, 0x65, 0xF4, 0xE0, + 0xC3, 0x1C, 0x90, 0xF8, 0x9B, 0xB1, 0x18, 0xB8, 0x6F, 0xCF, 0xB5, 0x6A, 0xA4, 0x0D, 0xE9, 0x61, + 0x8C, 0xA5, 0x27, 0x18, 0x0F, 0x9D, 0x79, 0x3F, 0x5A, 0x04, 0x30, 0x31, 0xA5, 0x02, 0xE7, 0xDF, + 0xE3, 0xD1, 0x8F, 0xDF, 0x7D, 0xA8, 0x50, 0xA0, 0x77, 0x17, 0x8F, 0x57, 0xFB, 0x77, 0x8F, 0x4F, + 0x80, 0x8A, 0x92, 0x22, 0x51, 0x51, 0x0C, 0x37, 0xE0, 0xE4, 0x59, 0xAD, 0xF1, 0x02, 0x5F, 0x1D, + 0xC9, 0x0A, 0xAE, 0xB7, 0xFA, 0x66, 0xFE, 0x56, 0x04, 0x08, 0x89, 0x05, 0xF5, 0x6E, 0x01, 0x02, + 0x8A, 0x9C, 0x99, 0x38, 0xFA, 0x27, 0x60, 0xD8, 0xD9, 0x05, 0x79, 0x2E, 0x04, 0x86, 0x28, 0xD8, + 0x51, 0x61, 0xAB, 0x2B, 0xEA, 0xCE, 0x13, 0x68, 0x54, 0xF1, 0xDF, 0x58, 0x4D, 0x45, 0x7B, 0xC0, + 0x81, 0x2E, 0x2E, 0x59, 0x00, 0x12, 0x11, 0xD8, 0xA1, 0xC5, 0x7D, 0x8E, 0xD8, 0x48, 0xC4, 0x1B, + 0x97, 0xD9, 0xB4, 0x61, 0x73, 0x90, 0x11, 0x11, 0x01, 0x12, 0xD9, 0x9D, 0x2A, 0x2D, 0x66, 0xE1, + 0x19, 0x93, 0x84, 0xFA, 0x61, 0x8D, 0x1F, 0xD9, 0xD2, 0xC0, 0x81, 0x1B, 0xE6, 0x34, 0xC9, 0x1D, + 0x4A, 0x64, 0xE1, 0x9C, 0xBA, 0xBC, 0xDC, 0x41, 0x0D, 0x8B, 0x0E, 0x37, 0xBC, 0x89, 0x15, 0x57, + 0x49, 0x06, 0x79, 0xE4, 0xA9, 0x44, 0x78, 0xA3, 0x43, 0xAD, 0x2B, 0xEC, 0xC7, 0x35, 0xA3, 0xAF, + 0x5D, 0xC3, 0x4D, 0x47, 0xA5, 0xB7, 0x9A, 0xE3, 0xA9, 0x11, 0x68, 0xDE, 0xC8, 0x20, 0xB6, 0x8A, + 0x2B, 0xF4, 0xBB, 0x84, 0x95, 0x72, 0x9E, 0x9B, 0x87, 0x50, 0x7F, 0xD4, 0x03, 0x2B, 0x07, 0x6D, + 0xB7, 0x45, 0xD8, 0x39, 0x69, 0x97, 0x4F, 0xB1, 0xDE, 0x4F, 0xA8, 0xF9, 0x47, 0x18, 0x61, 0xD2, + 0xC5, 0x1D, 0xFC, 0x33, 0x13, 0x9A, 0x70, 0x35, 0x29, 0x7F, 0x15, 0xF3, 0x84, 0x10, 0x3B, 0x3E, + 0xB2, 0x40, 0xEC, 0x49, 0x96, 0x6F, 0xF5, 0xAE, 0xD8, 0xD5, 0xC9, 0x9E, 0x17, 0x6B, 0x41, 0x12, + 0xB4, 0x20, 0xBF, 0x4A, 0xFE, 0xF4, 0x12, 0xBE, 0x8F, 0x3A, 0xCC, 0x5B, 0x72, 0x58, 0xE7, 0xF4, + 0xA8, 0xB2, 0xA4, 0x0F, 0x4E, 0x70, 0xCC, 0x40, 0x7D, 0x89, 0x00, 0xE7, 0x8C, 0x13, 0x5A, 0xF1, + 0x55, 0x63, 0x26, 0x4C, 0xCE, 0xAB, 0x32, 0x72, 0x36, 0xDE, 0x43, 0x3B, 0x8C, 0xC8, 0x10, 0x23, + 0x3F, 0x0E, 0x19, 0x64, 0x8E, 0xAA, 0x37, 0x91, 0x36, 0x07, 0xD1, 0x99, 0x16, 0xB2, 0x27, 0x8F, + 0x8C, 0x74, 0xE6, 0x01, 0x68, 0x46, 0x76, 0x67, 0xB5, 0xF9, 0xB3, 0xF9, 0xBB, 0x6C, 0x7E, 0x93, + 0xE0, 0xD1, 0x23, 0xE6, 0xE1, 0xB1, 0x24, 0x82, 0x06, 0x45, 0xCE, 0x6B, 0x85, 0xE0, 0xDB, 0xC8, + 0x89, 0x99, 0xE6, 0x39, 0x7E, 0x75, 0x72, 0xB8, 0x42, 0x97, 0x28, 0x23, 0xFE, 0x2D, 0x9D, 0x44, + 0x3E, 0x0D, 0x8A, 0xD2, 0x68, 0xAA, 0xB4, 0xE5, 0xE2, 0x46, 0xE8, 0x1E, 0xE7, 0xB4, 0x89, 0x4E, + 0x40, 0x03, 0xCE, 0x01, 0x2A, 0xD5, 0x28, 0x00, 0xA8, 0xD3, 0x58, 0xB0, 0x00, 0x12, 0x98, 0x1C, + 0xD6, 0xA7, 0xA6, 0x14, 0x7B, 0xF4, 0x3C, 0x2E, 0x2C, 0xAC, 0xA2, 0xD0, 0x51, 0xAE, 0x64, 0x9E, + 0x01, 0x12, 0x19, 0x3D, 0x00, 0x61, 0x5E, 0x1A, 0xED, 0x39, 0x34, 0xA0, 0x02, 0x3E, 0xCF, 0x04, + 0x3D, 0x30, 0x02, 0x3C, 0x4B, 0xCF, 0x39, 0x35, 0x13, 0x69, 0x6D, 0x15, 0xAC, 0xC8, 0xB1, 0xC5, + 0x92, 0x08, 0x15, 0x5A, 0x5D, 0x78, 0x80, 0x24, 0x02, 0x2C, 0xEC, 0x9C, 0xC5, 0xEF, 0xF0, 0x4A, + 0x88, 0xCA, 0x71, 0x1B, 0xAB, 0xCA, 0x55, 0x54, 0x8B, 0x4E, 0x72, 0x54, 0x00, 0x28, 0x33, 0x13, + 0x57, 0x83, 0x22, 0x0F, 0xCD, 0xB1, 0x75, 0x49, 0xA5, 0x20, 0x23, 0x46, 0x15, 0xA8, 0xA1, 0x22, + 0xFC, 0x4F, 0x86, 0xFE, 0x45, 0x40, 0x46, 0xF9, 0x05, 0xBA, 0xE7, 0x73, 0x16, 0x3F, 0x4F, 0x93, + 0x53, 0x25, 0x33, 0xF1, 0xCE, 0x13, 0xD3, 0x59, 0x61, 0xEA, 0xD2, 0x51, 0x14, 0x72, 0x0B, 0xD5, + 0x68, 0x4C, 0xDA, 0xF2, 0x61, 0x29, 0x41, 0x60, 0xAC, 0x4A, 0x7C, 0x6A, 0x12, 0xF3, 0x4E, 0x66, + 0x5C, 0x5D, 0xA4, 0x35, 0x02, 0xF2, 0xDC, 0x56, 0xDC, 0xAC, 0x66, 0xE0, 0xC3, 0x98, 0x01, 0xDD, + 0x53, 0x5D, 0x28, 0x0E, 0x3C, 0x5F, 0x81, 0x0A, 0x0B, 0x0E, 0x58, 0x0F, 0xC0, 0xE4, 0x19, 0xDF, + 0x6C, 0xD8, 0xEB, 0xD2, 0xE9, 0x6B, 0xFD, 0x45, 0xE3, 0x1E, 0xA0, 0xC1, 0xF9, 0x60, 0x7A, 0x04, + 0x91, 0xDE, 0xC8, 0x99, 0xBD, 0x01, 0x03, 0x8F, 0x11, 0x18, 0xA0, 0xC0, 0x0E, 0x7C, 0x4C, 0xE8, + 0x9D, 0x08, 0xFF, 0x41, 0x78, 0x7B, 0x6F, 0x2C, 0xC4, 0xFF, 0x88, 0xA5, 0x2D, 0x98, 0x36, 0x54, + 0x27, 0x9F, 0x9E, 0xC2, 0xEC, 0x9B, 0x56, 0x88, 0x5E, 0xC2, 0xFD, 0x4B, 0x5F, 0x27, 0x4B, 0x5F, + 0xFE, 0x18, 0x2E, 0x0B, 0xC3, 0x47, 0x82, 0x1E, 0x2F, 0xF2, 0x77, 0x30, 0x93, 0x34, 0x7F, 0xC9, + 0x39, 0xAB, 0xB8, 0xA1, 0xC1, 0x43, 0x53, 0x73, 0x73, 0x42, 0xE0, 0xCE, 0xA2, 0x3A, 0xFC, 0x0F, + 0xAF, 0x40, 0x22, 0xBC, 0x65, 0x80, 0x8F, 0xF7, 0x4F, 0x46, 0x48, 0x07, 0xE6, 0xF0, 0xCB, 0xE3, + 0x32, 0xE2, 0x59, 0x4C, 0x00, 0x12, 0x09, 0x55, 0xC7, 0x53, 0x4E, 0xCD, 0x4F, 0x3F, 0x4E, 0x67, + 0xA2, 0xE5, 0x44, 0x46, 0xBC, 0x31, 0x94, 0x27, 0x01, 0x12, 0x44, 0x73, 0x6E, 0x68, 0xA0, 0xBC, + 0xAC, 0x08, 0xC2, 0x68, 0x9F, 0x21, 0xB7, 0x31, 0xC6, 0xCE, 0xC0, 0x7E, 0x8F, 0x3A, 0x66, 0x9D, + 0x93, 0x8C, 0x40, 0x3B, 0xB0, 0x09, 0xA9, 0xC2, 0xD1, 0x2E, 0xB1, 0x4F, 0xBF, 0xFE, 0xA6, 0x3E, + 0x97, 0x5D, 0x38, 0xEE, 0xAD, 0x34, 0x54, 0x02, 0xAF, 0xD5, 0x80, 0xE2, 0xF9, 0xB9, 0xA9, 0x7C, + 0x87, 0x14, 0x84, 0x7D, 0x25, 0x9E, 0x86, 0x49, 0xD7, 0x4A, 0x82, 0x5F, 0x1D, 0xB8, 0x1D, 0xD0, + 0x8A, 0x47, 0x50, 0x22, 0x41, 0xA1, 0xEA, 0x5A, 0x32, 0x89, 0x9E, 0x06, 0xBF, 0xD6, 0xF4, 0x49, + 0x12, 0x4A, 0x41, 0xB7, 0x93, 0x1A, 0x1D, 0xDC, 0xA3, 0x44, 0x3E, 0x3B, 0x20, 0xFE, 0xBE, 0xA4, + 0x67, 0xE1, 0x8B, 0x41, 0xF6, 0x61, 0xA8, 0xA1, 0x99, 0x13, 0x09, 0x7F, 0x83, 0x80, 0x01, 0xFC, + 0xA5, 0x32, 0x72, 0x58, 0x59, 0xC8, 0xFA, 0xE0, 0x1C, 0x85, 0x0F, 0xBB, 0xE5, 0x2E, 0x5C, 0x1A, + 0x75, 0x36, 0x1B, 0x6C, 0xF4, 0xE1, 0x11, 0x74, 0x77, 0x23, 0xA7, 0x11, 0x97, 0xA7, 0x52, 0x86, + 0x10, 0x23, 0x42, 0x53, 0x73, 0x16, 0x5A, 0xE9, 0xEA, 0xA6, 0x19, 0x61, 0x25, 0x3A, 0xED, 0x66, + 0xE4, 0xED, 0xBC, 0xA5, 0x02, 0x44, 0x9D, 0x65, 0x17, 0x72, 0x98, 0x71, 0x3D, 0x18, 0x45, 0x78, + 0x70, 0x8E, 0x85, 0x6A, 0x08, 0xFF, 0x8F, 0x16, 0x21, 0xAB, 0xDB, 0x7D, 0x15, 0x2B, 0x68, 0x86, + 0x2E, 0x99, 0x31, 0x9A, 0xD1, 0xB1, 0x46, 0x34, 0xAD, 0xD5, 0xDE, 0x67, 0x6B, 0x80, 0xA2, 0xA9, + 0xF5, 0x2B, 0x65, 0x2D, 0xAA, 0xB0, 0x06, 0x9D, 0xEA, 0xDF, 0x58, 0x14, 0x85, 0xED, 0x53, 0x3F, + 0xB8, 0xF9, 0x32, 0xE3, 0x74, 0xA7, 0xDD, 0x67, 0xE9, 0x29, 0xA6, 0x12, 0x54, 0x5E, 0xE8, 0x7D, + 0x23, 0xF5, 0x3A, 0xE2, 0x75, 0x0E, 0x2D, 0x16, 0xC2, 0xBA, 0x05, 0x9B, 0x7F, 0x78, 0xFB, 0x2A, + 0xB1, 0x95, 0x5A, 0x5F, 0x84, 0x54, 0x80, 0xE8, 0x0A, 0xED, 0x67, 0x24, 0x00, 0x12, 0xBD, 0xF1, + 0xAE, 0x56, 0x66, 0xC7, 0x2E, 0x2C, 0xA2, 0xC1, 0x3E, 0x62, 0xFC, 0x30, 0x7A, 0x0F, 0x66, 0xB5, + 0x01, 0x12, 0x48, 0xCA, 0xD9, 0x12, 0xB8, 0x3D, 0x88, 0x4E, 0x92, 0x53, 0x0D, 0x20, 0x99, 0xE9, + 0xC6, 0x78, 0x88, 0x6E, 0x33, 0xFD, 0x01, 0x3D, 0xB7, 0xF0, 0x6A, 0x5A, 0x1A, 0xCC, 0xEE, 0x3C, + 0xB4, 0x30, 0x4B, 0xCF, 0x5B, 0xC7, 0xFC, 0xF3, 0x9C, 0xBC, 0x5E, 0x14, 0x40, 0x39, 0x06, 0x41, + 0x10, 0xBB, 0x01, 0x2F, 0xEB, 0x34, 0x17, 0xA2, 0x1D, 0x52, 0xA3, 0xA8, 0xFF, 0x06, 0xFE, 0x42, + 0x17, 0x3C, 0x0A, 0x07, 0xC7, 0x7C, 0xB2, 0x7F, 0x58, 0xF5, 0x07, 0xCC, 0x2D, 0x5E, 0x31, 0x13, + 0xB8, 0x14, 0xC4, 0xF9, 0x45, 0x22, 0xC9, 0xE4, 0xE5, 0x8D, 0xE8, 0x39, 0xFF, 0xE6, 0xA5, 0x07, + 0xB5, 0x0A, 0x9D, 0xFC, 0x2D, 0xBA, 0x68, 0x12, 0x3F, 0x8D, 0x58, 0xCA, 0xE2, 0xB9, 0x69, 0xFD, + 0xE9, 0x0C, 0xFB, 0x6A, 0x0C, 0xEE, 0x76, 0xA5, 0x94, 0xF1, 0x8B, 0xD3, 0x27, 0xD5, 0x71, 0xDA, + 0x14, 0xE2, 0xB5, 0x48, 0x29, 0x8E, 0xDC, 0x1C, 0x7F, 0xEC, 0xD3, 0x37, 0x33, 0x42, 0xDC, 0x53, + 0xD9, 0x1B, 0xC5, 0x82, 0xA5, 0x23, 0x91, 0x1B, 0x4D, 0xE1, 0xDF, 0x4C, 0x81, 0x32, 0x5A, 0x9C, + 0x4E, 0x81, 0xDF, 0x38, 0xD3, 0x5D, 0xDE, 0xD3, 0xA9, 0x4E, 0xEF, 0x08, 0x6A, 0x56, 0xAD, 0x4E, + 0x61, 0xB0, 0x31, 0x73, 0xCF, 0xEF, 0x1D, 0xB6, 0x72, 0xAC, 0x04, 0x24, 0x3B, 0x4C, 0x3F, 0xBB, + 0x8C, 0x57, 0x2F, 0xD2, 0x59, 0x3F, 0xD2, 0xAE, 0xC7, 0x13, 0xA0, 0x40, 0xD5, 0x52, 0x52, 0x51, + 0x8E, 0xB7, 0x3C, 0xEB, 0x94, 0x7F, 0xFD, 0xFF, 0x92, 0x96, 0x9D, 0xD7, 0xEB, 0x8F, 0xB4, 0x26, + 0xAE, 0xE2, 0x7E, 0x51, 0xC9, 0x18, 0x43, 0x17, 0x3C, 0x81, 0x8A, 0x09, 0xDE, 0x6F, 0x87, 0xB6, + 0x7F, 0x7D, 0xAD, 0xC7, 0x67, 0x10, 0x51, 0xAF, 0xBE, 0xCA, 0x24, 0xD6, 0x9D, 0x7B, 0xC3, 0x51, + 0x6E, 0x28, 0x7E, 0xB5, 0xC4, 0x37, 0x21, 0xD2, 0xFB, 0xE4, 0x28, 0x26, 0x6F, 0x9A, 0x9B, 0x7D, + 0x4D, 0x41, 0xF9, 0x5C, 0x00, 0x12, 0xD8, 0x3A, 0x27, 0x7A, 0x09, 0x25, 0x75, 0x05, 0x5D, 0x1D, + 0x2E, 0x53, 0x07, 0x40, 0x00, 0xCF, 0x19, 0x5B, 0x01, 0x12, 0x0F, 0x84, 0x07, 0xBE, 0x30, 0xE7, + 0x02, 0x47, 0x37, 0x7A, 0xDD, 0x54, 0xFA, 0xA3, 0x2E, 0xA1, 0x49, 0x39, 0x13, 0xDB, 0x41, 0xD4, + 0x20, 0x06, 0x83, 0x6F, 0x64, 0x2A, 0x9C, 0x14, 0x8D, 0x2D, 0x53, 0xBF, 0x8C, 0x32, 0xC1, 0x3D, + 0xB5, 0xB7, 0x2E, 0x15, 0xB1, 0xB3, 0x7B, 0x24, 0xD1, 0x09, 0xBB, 0x66, 0x4B, 0xB3, 0x67, 0xF1, + 0xC7, 0xCA, 0x52, 0x0F, 0x56, 0x18, 0xE0, 0xC8, 0xAF, 0x05, 0xBE, 0xDA, 0xD1, 0x64, 0xA6, 0x46, + 0xC9, 0xBD, 0xFE, 0xD2, 0x54, 0xE1, 0x95, 0x77, 0xE7, 0x3B, 0x2C, 0xF9, 0x11, 0x24, 0x71, 0x84, + 0x14, 0x53, 0xDF, 0x4D, 0x4E, 0x49, 0xFF, 0xB1, 0x10, 0x57, 0xD3, 0x22, 0x95, 0xE1, 0xD5, 0x90, + 0x42, 0xF2, 0x43, 0xF6, 0xEE, 0x51, 0xB5, 0xF8, 0x4C, 0xA6, 0x64, 0x1D, 0x32, 0x8A, 0x18, 0x5A, + 0x4A, 0xE6, 0xEC, 0x4F, 0x07, 0xF9, 0x65, 0x91, 0xA5, 0xA1, 0x8D, 0xD8, 0x7D, 0x68, 0x80, 0x3F, + 0xC0, 0xD8, 0xD5, 0x16, 0x78, 0x8C, 0xEB, 0x5F, 0x89, 0x71, 0x12, 0xF4, 0x2F, 0xFB, 0x65, 0x37, + 0xCA, 0x05, 0xE6, 0xC3, 0x66, 0x91, 0x1E, 0xDA, 0x7A, 0x38, 0x91, 0x11, 0x96, 0xCD, 0x33, 0x72, + 0x1D, 0xFE, 0x19, 0xD9, 0x0F, 0x88, 0xF6, 0xBA, 0x10, 0xE3, 0xAB, 0xDE, 0x8F, 0xBD, 0x2D, 0x0F, + 0x33, 0xAC, 0xF3, 0x4E, 0xCE, 0xE2, 0xFE, 0xCE, 0x2E, 0x4B, 0xC1, 0x90, 0x31, 0xFE, 0x4D, 0x68, + 0xE2, 0x13, 0x3A, 0x0B, 0xA8, 0x09, 0xE1, 0xDA, 0xD2, 0xDB, 0x14, 0xFE, 0xCA, 0xBF, 0x7C, 0xE0, + 0x9F, 0xEE, 0xB3, 0xA9, 0x46, 0xA2, 0x2D, 0x45, 0xD1, 0x58, 0x0A, 0xB9, 0x9A, 0x29, 0xA2, 0xA7, + 0x2D, 0xBC, 0xD9, 0xDB, 0x84, 0xCE, 0x12, 0x92, 0xB4, 0x34, 0x2C, 0x75, 0x72, 0x0E, 0xB8, 0x6A, + 0xEE, 0x95, 0xD8, 0x34, 0xCC, 0x92, 0x29, 0x0E, 0x00, 0xBB, 0x0F, 0x80, 0x5A, 0xA9, 0x36, 0x55, + 0xA4, 0xDC, 0x1F, 0xAB, 0xDD, 0x39, 0xB5, 0x6B, 0x39, 0x4E, 0x2B, 0xC6, 0x00, 0x12, 0x6A, 0xA9, + 0xD4, 0x83, 0x8A, 0xBE, 0x2E, 0x06, 0xC0, 0xFE, 0x9E, 0xB8, 0xF9, 0x06, 0x7D, 0xA5, 0xCC, 0x06, + 0x01, 0x12, 0x6E, 0xC6, 0x00, 0x6D, 0xBD, 0x04, 0x4F, 0xD7, 0x7D, 0x8D, 0xA5, 0xA5, 0x43, 0xCA, + 0xA8, 0x52, 0x34, 0xF1, 0xCE, 0x7A, 0x9E, 0xC4, 0xF7, 0x7D, 0x8C, 0xBF, 0xDD, 0x5E, 0xC9, 0x7C, + 0x01, 0x21, 0xDC, 0x38, 0xAB, 0xAB, 0xA4, 0xEC, 0x40, 0xC1, 0x44, 0x8F, 0x8B, 0xDD, 0x7F, 0x1D, + 0xA4, 0x5C, 0x75, 0x90, 0x6C, 0x29, 0x53, 0xAB, 0xDB, 0xE6, 0x90, 0xD7, 0xA0, 0xB9, 0x38, 0x4B, + 0xE0, 0x79, 0x29, 0x61, 0x55, 0xC0, 0xD3, 0xFC, 0xAA, 0xA2, 0x21, 0x47, 0xF1, 0x15, 0x40, 0xEB, + 0x5A, 0xBC, 0x35, 0x9F, 0x0B, 0x0D, 0x4C, 0x09, 0x50, 0x00, 0xF3, 0xF8, 0xF2, 0x69, 0x7D, 0x03, + 0xBA, 0x4B, 0x7A, 0xF3, 0xFD, 0x0A, 0xD6, 0x51, 0xDA, 0xF4, 0xD6, 0x4B, 0xD1, 0x58, 0x7F, 0x8D, + 0xAD, 0x9D, 0x6A, 0xA6, 0x3D, 0xEE, 0x22, 0x1A, 0xD3, 0x5D, 0x6A, 0x12, 0x87, 0xEE, 0x59, 0xD7, + 0xE3, 0xB9, 0x3F, 0x70, 0x48, 0x24, 0x9F, 0x04, 0xAF, 0x5B, 0x04, 0x71, 0x06, 0xED, 0xE0, 0x84, + 0x48, 0x9B, 0x1C, 0x98, 0xF7, 0x55, 0x20, 0x43, 0xF9, 0x29, 0x99, 0x9F, 0xAA, 0x18, 0xF1, 0x30, + 0x5F, 0xAE, 0x69, 0xD3, 0x98, 0x47, 0x75, 0x18, 0x9D, 0x12, 0x3B, 0x58, 0xA9, 0xA5, 0x80, 0xE7, + 0x53, 0x80, 0x5B, 0x0F, 0x5F, 0x80, 0x51, 0x91, 0x00, 0x1C, 0x85, 0x85, 0x9B, 0x5B, 0x87, 0x7D, + 0x40, 0x48, 0xA4, 0x27, 0xFD, 0x2D, 0x9D, 0x1F, 0x40, 0x39, 0x27, 0x5D, 0x4C, 0x2C, 0xC3, 0x71, + 0xE4, 0xE5, 0x9C, 0x61, 0x3B, 0x25, 0x38, 0x42, 0x53, 0xAE, 0x0F, 0x03, 0x2D, 0x19, 0x23, 0x08, + 0xFD, 0x71, 0x0A, 0x58, 0x9B, 0x17, 0x51, 0x44, 0x8A, 0x2B, 0x3F, 0x9D, 0x75, 0x2E, 0x3F, 0x40, + 0xB8, 0x8D, 0xE1, 0xB2, 0xA7, 0xF7, 0x11, 0xD1, 0xD9, 0x48, 0x81, 0xDF, 0xCA, 0xED, 0xCA, 0x75, + 0xD3, 0x3B, 0x66, 0x77, 0x42, 0x5E, 0x27, 0xAF, 0x4A, 0xBC, 0xA9, 0x64, 0x15, 0xCF, 0xF5, 0x3A, + 0x1B, 0xB9, 0xFB, 0x4D, 0x00, 0x12, 0x7C, 0x79, 0x04, 0x88, 0x3C, 0x9A, 0x82, 0x19, 0xEB, 0xA5, + 0xD1, 0x16, 0x7B, 0x65, 0x77, 0x9C, 0xA7, 0x11, 0x01, 0x12, 0x35, 0x7B, 0x24, 0x0F, 0x97, 0x8B, + 0x3E, 0xB0, 0xBD, 0x0C, 0x94, 0x65, 0x53, 0xC9, 0xF7, 0x0D, 0x39, 0x45, 0x9B, 0x83, 0x93, 0x18, + 0x81, 0x87, 0x44, 0xE2, 0x42, 0x1B, 0xC0, 0x7C, 0x06, 0x7D, 0x66, 0x8E, 0x13, 0x68, 0xCE, 0xDE, + 0x75, 0x68, 0xA5, 0xA6, 0x81, 0x99, 0x4D, 0xBC, 0x88, 0xD7, 0x8C, 0xF9, 0xF9, 0xDA, 0x39, 0xDB, + 0xC8, 0x2B, 0xC0, 0xB1, 0xA0, 0xCF, 0xD9, 0x95, 0x0C, 0x57, 0xAA, 0xDD, 0xC1, 0xFB, 0xC4, 0x8C, + 0xD6, 0x17, 0x20, 0x81, 0x33, 0x6E, 0x9E, 0x7D, 0x36, 0x65, 0x84, 0x25, 0x79, 0x1A, 0x58, 0xD8, + 0x76, 0xBC, 0x03, 0x99, 0x2F, 0x7F, 0xE5, 0xDB, 0xF7, 0x26, 0x93, 0xCF, 0xF1, 0xA2, 0x58, 0xB8, + 0x59, 0xC1, 0xAB, 0x11, 0x0D, 0x88, 0x57, 0x5E, 0x45, 0xF7, 0xA7, 0xD8, 0x97, 0x74, 0xFD, 0xA0, + 0xB4, 0x15, 0xBF, 0x0F, 0xD1, 0xA8, 0x64, 0xA3, 0xFA, 0x86, 0x8B, 0x5B, 0x5E, 0xF6, 0x77, 0xC6, + 0x97, 0x82, 0x92, 0xEF, 0x60, 0x1E, 0x03, 0x27, 0x4C, 0x0B, 0x46, 0xAA, 0x16, 0x11, 0x34, 0x63, + 0x9A, 0x4F, 0xC6, 0x27, 0xB3, 0xFD, 0x3F, 0x7C, 0x66, 0x5F, 0xD9, 0xE3, 0xC0, 0x37, 0x86, 0x8C, + 0x4F, 0x1A, 0x34, 0xBC, 0xA6, 0x7F, 0x09, 0x5E, 0xBA, 0x6B, 0xEA, 0x88, 0x78, 0xB9, 0xE5, 0x52, + 0x21, 0x71, 0x50, 0xF2, 0xC4, 0x2F, 0x28, 0xB3, 0x6C, 0xE7, 0x65, 0x6B, 0x41, 0x83, 0x90, 0xFD, + 0xC0, 0xA3, 0x58, 0xE3, 0x6F, 0xF2, 0x04, 0x21, 0x5B, 0xD9, 0xC0, 0x8A, 0xBF, 0x22, 0xAC, 0x1C, + 0xF1, 0x71, 0xE3, 0xA9, 0xB4, 0x31, 0x7B, 0x99, 0x4B, 0x33, 0x80, 0x9D, 0x9C, 0xF5, 0xD4, 0xC8, + 0xCD, 0x60, 0xF1, 0x25, 0x87, 0x43, 0xED, 0xCB, 0xEC, 0x26, 0x51, 0x67, 0x48, 0x48, 0x08, 0x78, + 0x43, 0x3C, 0x5A, 0x39, 0x66, 0xC4, 0xD5, 0xD0, 0xE5, 0xCF, 0xE8, 0xCF, 0x5A, 0x41, 0xCF, 0xCF, + 0x3A, 0xF3, 0x74, 0xDE, 0xF2, 0x4A, 0xC4, 0x94, 0x66, 0x50, 0x72, 0xE7, 0x00, 0x12, 0xAF, 0xA3, + 0xB4, 0x8F, 0x15, 0x9E, 0x9F, 0x18, 0xDC, 0x2C, 0x9E, 0x85, 0x36, 0xE3, 0xB3, 0xE9, 0x32, 0x8C, + 0x01, 0x12, 0x32, 0xEB, 0xF5, 0xE6, 0xB7, 0xA0, 0x2E, 0xCE, 0x57, 0xFE, 0x63, 0x59, 0x20, 0x92, + 0x9D, 0xEC, 0x32, 0xE4, 0xA8, 0x77, 0xC7, 0x8D, 0xA8, 0x51, 0x91, 0xE4, 0x12, 0xE2, 0x01, 0xE3, + 0xD0, 0xE6, 0x9B, 0x16, 0xF8, 0x47, 0xF7, 0x46, 0x01, 0x95, 0xFD, 0x2A, 0x67, 0xEA, 0x82, 0x6C, + 0xE8, 0x63, 0x20, 0x83, 0x8C, 0xA7, 0x67, 0xC7, 0x89, 0x66, 0xA5, 0xD0, 0xFA, 0x65, 0xD3, 0x83, + 0x1E, 0x7C, 0x55, 0x12, 0xCD, 0xF5, 0x63, 0xB6, 0xE7, 0x54, 0x5A, 0xEC, 0xB5, 0xD6, 0xF1, 0x96, + 0x54, 0x9D, 0x05, 0x5F, 0x71, 0x49, 0x86, 0x8D, 0x99, 0xBF, 0x21, 0xBD, 0x3D, 0x4F, 0xFF, 0x56, + 0xD8, 0x47, 0x80, 0xF7, 0x07, 0x61, 0x42, 0x0D, 0x46, 0x9A, 0x1B, 0xCE, 0xC6, 0x86, 0xF0, 0x60, + 0x23, 0xE3, 0xF2, 0x1F, 0x3C, 0xE8, 0xDB, 0x14, 0x18, 0x79, 0xA7, 0x91, 0x28, 0x54, 0x14, 0x8D, + 0xA5, 0xB6, 0x90, 0x28, 0x62, 0x1F, 0xF0, 0x3B, 0xED, 0x63, 0x4B, 0xB0, 0x89, 0x2B, 0x6E, 0x42, + 0xB1, 0xC1, 0xB9, 0x10, 0x6A, 0x88, 0x40, 0x9E, 0x21, 0x12, 0x78, 0x5E, 0x3D, 0x38, 0x9D, 0xCB, + 0x88, 0x32, 0x91, 0x80, 0xF5, 0x7B, 0x2C, 0x52, 0x47, 0xC3, 0x42, 0xA7, 0x5B, 0xDD, 0xA4, 0xC3, + 0xB0, 0x0A, 0xF6, 0x18, 0xD3, 0xE9, 0x31, 0x80, 0x43, 0xC8, 0xFE, 0x84, 0x5F, 0x50, 0x77, 0xF8, + 0x81, 0x6B, 0xEA, 0x17, 0x17, 0x23, 0x95, 0xCC, 0xF4, 0xB3, 0xD9, 0x82, 0x53, 0xB7, 0x40, 0x1C, + 0xB9, 0x6D, 0xA3, 0x03, 0xDC, 0x45, 0x15, 0xFD, 0x79, 0x01, 0x01, 0xAA, 0xB9, 0xC9, 0xC2, 0x9B, + 0x2F, 0x2F, 0x2E, 0x69, 0x8F, 0x98, 0x6E, 0xF8, 0x96, 0x22, 0x9E, 0x37, 0x6B, 0x1D, 0x91, 0xDC, + 0xC0, 0xB6, 0x2F, 0xE3, 0x10, 0x62, 0x40, 0xCC, 0xD9, 0x9E, 0xD2, 0xA3, 0xA0, 0xE9, 0xCC, 0xE5, + 0x7D, 0xEA, 0x8A, 0xBC, 0x3C, 0x8E, 0x27, 0x66, 0x27, 0xF8, 0x62, 0xFF, 0x5E, 0x67, 0xD9, 0x14, + 0xDC, 0x6A, 0x94, 0xE6, 0x00, 0x12, 0x36, 0x3D, 0x7F, 0x27, 0x34, 0xF7, 0x49, 0x77, 0xF8, 0xDC, + 0x43, 0xFD, 0x68, 0x72, 0xD3, 0x2F, 0x6C, 0x4D, 0x01, 0x12, 0x30, 0xD1, 0x6F, 0x4A, 0xDD, 0x56, + 0x63, 0x5B, 0xC7, 0x79, 0x01, 0xF6, 0x32, 0xA2, 0x39, 0x8E, 0xB9, 0xE6, 0xE1, 0xB0, 0xAF, 0xCD, + 0xB3, 0x62, 0xED, 0x0C, 0xC2, 0x73, 0x31, 0x0E, 0x69, 0x6D, 0x8F, 0x40, 0x52, 0x79, 0xEC, 0x64, + 0x26, 0x5B, 0xFA, 0xAB, 0x52, 0x09, 0x63, 0xF0, 0x17, 0xD1, 0xB9, 0xDC, 0xE1, 0x69, 0x70, 0x61, + 0x9E, 0x73, 0x40, 0xEA, 0x2D, 0xF2, 0xD1, 0x19, 0xD6, 0x71, 0x3B, 0x86, 0x42, 0x41, 0x18, 0xA1, + 0x8F, 0x60, 0xCF, 0xB4, 0xF6, 0xFE, 0x66, 0xF9, 0x37, 0xF3, 0x91, 0x31, 0x81, 0x65, 0x8F, 0x49, + 0x0E, 0x79, 0x9D, 0xB3, 0x7C, 0xBC, 0x17, 0x6B, 0x4C, 0x67, 0x9A, 0x80, 0x8B, 0x79, 0xD6, 0xFA, + 0x40, 0x66, 0xEB, 0xB0, 0x5F, 0xAC, 0x37, 0x84, 0x19, 0x18, 0x2B, 0xE0, 0x06, 0x86, 0xBB, 0x15, + 0x31, 0x77, 0x44, 0x86, 0xA2, 0xFC, 0x57, 0xB4, 0x27, 0x9D, 0x62, 0xF0, 0x01, 0x37, 0xC2, 0x83, + 0xCA, 0x54, 0xF5, 0x8D, 0x5C, 0x32, 0xC3, 0x26, 0xA4, 0xE4, 0x12, 0x69, 0xDB, 0xCB, 0xDA, 0x07, + 0x22, 0x1C, 0x57, 0xDC, 0x93, 0x6F, 0x71, 0x7C, 0x9D, 0xD2, 0x14, 0xD1, 0x0F, 0xAF, 0xC8, 0x9E, + 0xDC, 0x25, 0xBD, 0xD4, 0xB9, 0x61, 0x83, 0xAA, 0xDD, 0x56, 0x44, 0xC6, 0xCF, 0x43, 0x5B, 0xAD, + 0x81, 0x00, 0x29, 0x09, 0x10, 0xDB, 0x37, 0x8C, 0x49, 0x2E, 0x4C, 0xAE, 0xC7, 0x83, 0x81, 0x65, + 0x6B, 0x20, 0x9A, 0x73, 0x39, 0x57, 0x7D, 0x07, 0x81, 0x2A, 0xAE, 0xFA, 0x57, 0x90, 0x32, 0xC0, + 0x4B, 0xF0, 0x04, 0xDC, 0x5E, 0x3E, 0x53, 0xBF, 0x8B, 0xBF, 0xEF, 0x80, 0xDA, 0x31, 0x8D, 0x6E, + 0x69, 0x11, 0xC7, 0xD9, 0x18, 0xED, 0x67, 0xB0, 0xBC, 0xB5, 0xCE, 0x73, 0x72, 0xD0, 0x08, 0x8B, + 0x28, 0x09, 0xEC, 0xEE, 0xFE, 0x28, 0x7B, 0x12, 0xAA, 0xDD, 0x07, 0xE3, 0x85, 0x13, 0xF8, 0x9E, + 0xD7, 0x32, 0xB0, 0x50, 0xB8, 0x39, 0xBF, 0x41, 0x12, 0xCB, 0xBA, 0x27, 0x00, 0x12, 0xBF, 0x39, + 0xAD, 0x23, 0x29, 0x46, 0x02, 0x00, 0xEB, 0xE5, 0x76, 0xB1, 0xD2, 0x22, 0x11, 0x11, 0xB7, 0xB8, + 0x01, 0x12, 0xB9, 0xD6, 0xA8, 0xC5, 0xC7, 0x64, 0xC3, 0x3E, 0x2C, 0xBD, 0x78, 0x33, 0xF0, 0x7C, + 0x31, 0x87, 0x46, 0x33, 0xF4, 0x66, 0x1A, 0x8C, 0x67, 0x73, 0x27, 0x07, 0x71, 0x9D, 0x51, 0xA6, + 0x39, 0xC5, 0x7A, 0xC4, 0x06, 0x36, 0x21, 0x41, 0xDF, 0x90, 0x44, 0x81, 0x38, 0xBD, 0x2E, 0xFE, + 0x96, 0x91, 0xCF, 0xBF, 0xC0, 0x3D, 0xE8, 0xF3, 0x22, 0x7F, 0x36, 0x51, 0x91, 0xA2, 0x14, 0xAB, + 0x69, 0x56, 0x0D, 0xCF, 0xE7, 0x58, 0xE9, 0xF8, 0xD5, 0x1C, 0x5A, 0xC1, 0x37, 0x41, 0x44, 0x5F, + 0x2F, 0xD9, 0x92, 0x9F, 0xE6, 0x96, 0x60, 0x46, 0x10, 0x53, 0xE8, 0xE9, 0x42, 0xEE, 0x4D, 0x62, + 0x55, 0xB2, 0x62, 0xB9, 0x47, 0xF0, 0xE7, 0x18, 0xB2, 0x71, 0x67, 0x89, 0x06, 0x0C, 0x98, 0xA2, + 0x2B, 0xE0, 0x7B, 0x4C, 0x54, 0x85, 0xC5, 0x5D, 0xCF, 0x4A, 0xBD, 0x39, 0x92, 0x84, 0x38, 0x5D, + 0xA6, 0xBA, 0x58, 0x28, 0x4A, 0x40, 0x87, 0xCB, 0x9A, 0x82, 0x00, 0x40, 0xD6, 0xA0, 0x49, 0x2B, + 0xA0, 0x61, 0xFD, 0x9A, 0x23, 0x92, 0xBD, 0xD0, 0x04, 0xBF, 0xB1, 0x4D, 0x7B, 0x01, 0x63, 0xD0, + 0x52, 0xA8, 0x99, 0xD0, 0xC1, 0x84, 0x79, 0x57, 0xBE, 0xC9, 0xCF, 0xE5, 0xB9, 0x64, 0xAF, 0xEE, + 0x6D, 0xE5, 0x47, 0x3D, 0x80, 0x6B, 0x6A, 0xEC, 0xB1, 0xEB, 0xFC, 0x3F, 0x1D, 0x2C, 0x76, 0x7D, + 0xB2, 0x2E, 0xF9, 0x48, 0xB1, 0xAA, 0x78, 0x92, 0xBD, 0x3B, 0x9B, 0x68, 0xEA, 0xA1, 0x4A, 0x15, + 0x07, 0x66, 0xF7, 0xDE, 0xC0, 0x5A, 0x00, 0xDD, 0x67, 0x62, 0x20, 0x84, 0xCA, 0xF4, 0xC2, 0x08, + 0xA7, 0xB6, 0x37, 0x89, 0xF8, 0x15, 0xC6, 0x2F, 0xF4, 0x2D, 0xE1, 0x33, 0xAB, 0xA8, 0x07, 0xD0, + 0xED, 0x05, 0x52, 0x65, 0x57, 0x11, 0x03, 0xBC, 0x75, 0xD7, 0x4B, 0x64, 0x49, 0xF1, 0x78, 0x03, + 0x82, 0x24, 0xB5, 0xD1, 0x59, 0x37, 0x10, 0x01, 0x4A, 0xC1, 0xF9, 0x5B, 0x1A, 0x82, 0x69, 0xED, + 0xCE, 0x86, 0x99, 0xF1, 0x00, 0x12, 0x9E, 0xF3, 0x76, 0x9F, 0x57, 0x91, 0x9A, 0x37, 0x52, 0x56, + 0x44, 0xB4, 0xC8, 0x7B, 0x33, 0x37, 0x1B, 0x39, 0x01, 0x12, 0x39, 0x1D, 0x29, 0x13, 0xE9, 0xB0, + 0x85, 0xA9, 0xB6, 0x33, 0x28, 0x98, 0x72, 0x23, 0x97, 0x86, 0x47, 0x99, 0x2C, 0x5C, 0x16, 0x57, + 0xA9, 0x68, 0x17, 0x3D, 0xD5, 0xD5, 0x22, 0xAF, 0xE3, 0x59, 0xFF, 0xD0, 0x93, 0x69, 0x9F, 0xC1, + 0xE3, 0xBE, 0xA0, 0xE4, 0xE6, 0x33, 0x63, 0x7A, 0xE1, 0xF5, 0x93, 0xBC, 0xF1, 0xF6, 0x21, 0x2F, + 0x9C, 0x0C, 0xD3, 0x1A, 0x22, 0x84, 0x9F, 0x47, 0x60, 0x2A, 0x3A, 0xB8, 0xDC, 0xBA, 0x3F, 0x83, + 0xE0, 0xCE, 0x6A, 0x23, 0x73, 0x82, 0xF3, 0x98, 0x0E, 0x88, 0x42, 0x5A, 0x9C, 0x59, 0x1A, 0x37, + 0x39, 0x3F, 0x1C, 0x39, 0x51, 0x7E, 0x65, 0x15, 0xDD, 0xBA, 0x21, 0xA9, 0x33, 0x5C, 0x4D, 0xC4, + 0x55, 0x91, 0xDA, 0x91, 0xE7, 0xBE, 0x90, 0x3D, 0x27, 0xDD, 0x42, 0x0F, 0x9F, 0x69, 0x0B, 0x53, + 0x00, 0xA8, 0x38, 0x48, 0xF3, 0xD3, 0x5E, 0x4F, 0x82, 0xCF, 0x03, 0x19, 0x93, 0x0A, 0x5F, 0x6E, + 0xC7, 0x47, 0x5B, 0x52, 0x50, 0xF9, 0xE0, 0x37, 0x88, 0xA2, 0xBE, 0xA5, 0x66, 0xD7, 0xB3, 0x33, + 0x69, 0x69, 0xE4, 0x95, 0x63, 0xFF, 0xED, 0x97, 0x7F, 0xF5, 0xD8, 0x31, 0x40, 0x35, 0xCD, 0x2A, + 0xD5, 0xC6, 0x14, 0x07, 0x6B, 0xCC, 0xFD, 0x65, 0xBE, 0x26, 0x6C, 0x3F, 0x3D, 0xD3, 0xA2, 0x89, + 0x31, 0xEB, 0x4F, 0xF0, 0x25, 0xA3, 0x4A, 0xBC, 0xEF, 0x76, 0xD4, 0x14, 0xB3, 0x33, 0x5B, 0xC5, + 0x63, 0x3F, 0x2C, 0xD1, 0xF1, 0x5A, 0x54, 0xA9, 0xA5, 0xA2, 0x9E, 0x42, 0x12, 0x67, 0x5D, 0x4F, + 0xF5, 0xA1, 0x1C, 0x39, 0x72, 0x56, 0x8F, 0x87, 0x0A, 0xF4, 0x50, 0x52, 0xBD, 0xC8, 0x96, 0xB0, + 0xD5, 0x37, 0xB8, 0xDF, 0xD2, 0x6D, 0x76, 0x22, 0xCB, 0xC7, 0x20, 0x0A, 0xF5, 0x05, 0x80, 0x54, + 0xE6, 0xA8, 0x10, 0x02, 0x41, 0xCA, 0x50, 0xD2, 0xBA, 0xF8, 0x9B, 0xB9, 0x18, 0xAF, 0xEF, 0xEF, + 0x7C, 0xA1, 0x83, 0x85, 0x23, 0xF8, 0x38, 0x3D, 0x04, 0x46, 0x0B, 0x71, 0x00, 0x12, 0xBC, 0x7F, + 0x1E, 0x64, 0x38, 0xC8, 0xEB, 0x69, 0x43, 0xEE, 0x7A, 0xF9, 0xEF, 0x61, 0x28, 0x20, 0x6B, 0xC8, + 0x01, 0x12, 0xDC, 0x2F, 0x3A, 0xE0, 0x6A, 0x7E, 0xD9, 0xAA, 0x27, 0x14, 0x97, 0x00, 0xA4, 0xEE, + 0x8B, 0xD5, 0x85, 0x2F, 0xE4, 0x97, 0xEB, 0xC9, 0xD3, 0x29, 0xAE, 0x1C, 0xB3, 0xA5, 0x14, 0xAF, + 0x98, 0x00, 0x95, 0xED, 0x03, 0x9F, 0x37, 0x4C, 0xD7, 0x6D, 0xBF, 0x2A, 0x73, 0xFF, 0x4B, 0xB2, + 0xD0, 0x5A, 0x5C, 0xA7, 0x41, 0x67, 0x27, 0xF7, 0x9B, 0xE0, 0xFE, 0xFC, 0x69, 0xA4, 0x4D, 0xD8, + 0x41, 0xEC, 0x0F, 0xF5, 0x4D, 0xE2, 0xD5, 0x3A, 0x28, 0xF8, 0x40, 0xFC, 0x51, 0x58, 0xB1, 0x00, + 0xE4, 0x92, 0xBC, 0x81, 0xC2, 0xA1, 0x58, 0x85, 0xC6, 0x08, 0x98, 0xFF, 0x8F, 0xEA, 0x44, 0xCB, + 0x7C, 0xFC, 0x40, 0x9D, 0x80, 0x87, 0xD7, 0x1F, 0x01, 0x2D, 0x52, 0x6F, 0xBD, 0x98, 0xD8, 0xC6, + 0x2E, 0x76, 0xD4, 0x50, 0x86, 0x45, 0xE0, 0x80, 0xF8, 0xA6, 0xC1, 0x3A, 0x97, 0xEC, 0xDB, 0x6B, + 0x16, 0xC1, 0xB9, 0x53, 0x7C, 0xB3, 0xCF, 0x93, 0x30, 0xDF, 0xAB, 0x06, 0xAA, 0xAC, 0x6B, 0x8D, + 0x38, 0x82, 0xA0, 0x74, 0xA6, 0xED, 0x42, 0xA0, 0xF8, 0x42, 0x53, 0x21, 0xB5, 0xDD, 0x44, 0x24, + 0xD5, 0xCB, 0xDE, 0xC3, 0xEE, 0x87, 0xE5, 0xAF, 0x3C, 0xD8, 0x07, 0x7B, 0x26, 0xE1, 0x63, 0x70, + 0x90, 0xD7, 0x63, 0xCF, 0x5F, 0x44, 0x10, 0x48, 0x77, 0x2C, 0x90, 0x14, 0x61, 0xE3, 0x1A, 0x30, + 0x8D, 0x5E, 0x63, 0x98, 0x9A, 0x2A, 0x02, 0xC4, 0x29, 0x92, 0xA2, 0x02, 0x06, 0x3A, 0xDF, 0x6C, + 0xEF, 0x16, 0x13, 0x77, 0x5D, 0xD0, 0x8A, 0xDC, 0xB0, 0x74, 0xF2, 0x45, 0xE7, 0x30, 0xDF, 0x09, + 0xEE, 0xB1, 0x02, 0xDE, 0x34, 0xDD, 0x77, 0xD4, 0x86, 0x3F, 0x7C, 0x04, 0x34, 0x02, 0xC8, 0x78, + 0xC6, 0x14, 0xB5, 0xCF, 0x49, 0x99, 0x0C, 0x3D, 0x31, 0x3C, 0xBF, 0x21, 0x93, 0x23, 0x16, 0x65, + 0x1B, 0xD2, 0x10, 0x9A, 0x2C, 0xCE, 0x2F, 0x61, 0x04, 0x8E, 0x4A, 0xF0, 0x04, 0xA1, 0x7C, 0x27, + 0x40, 0x87, 0x86, 0xAE, 0x00, 0x12, 0xAD, 0xE1, 0x1A, 0x73, 0xEF, 0xC9, 0x18, 0x17, 0xF4, 0x88, + 0xCB, 0x83, 0xEF, 0x5C, 0xB9, 0x56, 0x43, 0x11, 0x01, 0x12, 0x07, 0x0B, 0x57, 0x40, 0x7C, 0x3D, + 0x0C, 0x52, 0xE4, 0x97, 0x76, 0x6E, 0x41, 0xB8, 0x1E, 0x02, 0x5B, 0x4A, 0x7C, 0x4F, 0x57, 0xCE, + 0x37, 0x91, 0xA8, 0x97, 0x2D, 0xC8, 0x8A, 0xFF, 0xBA, 0xB6, 0x32, 0x0E, 0xE0, 0xBC, 0x3F, 0x6E, + 0x56, 0x93, 0x7D, 0x11, 0x01, 0x2B, 0x53, 0x69, 0x45, 0xF5, 0xA7, 0xAC, 0x87, 0x3E, 0x8D, 0x8B, + 0xFC, 0x14, 0xCD, 0xD0, 0x66, 0x52, 0xC4, 0x43, 0xEF, 0xEB, 0x4F, 0xC3, 0x52, 0xD8, 0xB4, 0x30, + 0xB7, 0x97, 0xDF, 0xB8, 0x13, 0xAB, 0x97, 0x04, 0x41, 0xD9, 0x5E, 0xBB, 0xD8, 0x52, 0x25, 0x64, + 0x8C, 0x90, 0x69, 0xBA, 0xAC, 0x7B, 0x16, 0xA4, 0xC5, 0x9A, 0x68, 0x98, 0x2C, 0x25, 0xA6, 0x2A, + 0x50, 0xE2, 0x72, 0xB6, 0x2B, 0x39, 0x1F, 0xFF, 0xAB, 0x23, 0xE2, 0x13, 0x80, 0xEC, 0xB4, 0xD1, + 0xF5, 0xB6, 0x98, 0xB7, 0xAE, 0x9F, 0xB3, 0x2A, 0x74, 0xA3, 0x60, 0x88, 0x6C, 0x28, 0xCC, 0x7B, + 0xB4, 0xBD, 0x97, 0x10, 0x17, 0x8F, 0x69, 0x2A, 0x33, 0xE6, 0x10, 0x08, 0xED, 0x08, 0xC4, 0x6D, + 0xCB, 0xE3, 0x35, 0x3D, 0x4C, 0xDB, 0x70, 0x6A, 0x94, 0xCC, 0x5E, 0xC9, 0xF9, 0xFC, 0x05, 0xD1, + 0x08, 0xFE, 0x29, 0x2C, 0xE2, 0xCE, 0xDD, 0x50, 0x31, 0xEF, 0x98, 0xD8, 0xDC, 0x1A, 0xDA, 0xF8, + 0x98, 0xA7, 0xD2, 0xDE, 0x11, 0x0B, 0x63, 0x44, 0x3F, 0xCD, 0xB7, 0x5B, 0xE0, 0xEC, 0xA3, 0xCB, + 0x98, 0x95, 0xE1, 0x9B, 0x0F, 0xE2, 0x0E, 0x07, 0x9E, 0x3E, 0xD6, 0xEB, 0x77, 0x2E, 0x74, 0x32, + 0x2B, 0x1E, 0x57, 0xF0, 0xE6, 0x14, 0x52, 0xCA, 0x83, 0x8D, 0x0D, 0x1A, 0x5C, 0xAE, 0xCF, 0x9F, + 0x64, 0xDD, 0xCC, 0x40, 0xEF, 0x95, 0xE4, 0xF7, 0xA7, 0xDB, 0x9E, 0xDF, 0xB0, 0xA6, 0x99, 0xDC, + 0x56, 0xC4, 0xE2, 0x3D, 0x06, 0x08, 0xE5, 0x72, 0x37, 0x38, 0x94, 0x2D, 0x98, 0x66, 0x37, 0xDD, + 0x3C, 0xF6, 0xB1, 0xB0, 0x6B, 0x1A, 0xA4, 0xCF, 0x35, 0x9E, 0xA9, 0x1A, 0x00, 0x12, 0xCD, 0xCF, + 0xEC, 0x79, 0x02, 0x70, 0x9B, 0x26, 0x34, 0x0E, 0xC5, 0x9A, 0xF2, 0x04, 0x8D, 0x32, 0x90, 0x28, + 0x01, 0x12, 0x12, 0xD7, 0x29, 0xFC, 0x4F, 0x61, 0x31, 0xFA, 0x62, 0x6B, 0xFE, 0xFE, 0x09, 0x97, + 0xEA, 0xE6, 0x4E, 0xA6, 0x85, 0x22, 0xFF, 0xA8, 0x3D, 0x21, 0x7B, 0x53, 0x86, 0xD6, 0xBA, 0x5E, + 0x23, 0x4E, 0x57, 0xA7, 0x6B, 0xC6, 0x5D, 0xFE, 0x22, 0x25, 0x0C, 0x9E, 0x33, 0x48, 0x20, 0x23, + 0x7F, 0xC1, 0x15, 0x7B, 0x5E, 0x93, 0x2E, 0x33, 0xB4, 0x46, 0xF7, 0x11, 0xC4, 0x8B, 0xC8, 0x5D, + 0x1D, 0x85, 0x7E, 0x15, 0x75, 0x52, 0xB9, 0x06, 0x42, 0xC5, 0xE7, 0xB1, 0x21, 0x55, 0xF3, 0x9C, + 0x02, 0x44, 0x1C, 0x68, 0x80, 0x83, 0x12, 0xFB, 0x4B, 0x37, 0x19, 0x1D, 0x7A, 0x29, 0xEE, 0x3A, + 0x35, 0x15, 0x21, 0x26, 0x1C, 0x21, 0x28, 0xCC, 0x57, 0x82, 0x7D, 0x91, 0xC6, 0xB1, 0x36, 0xEF, + 0xCE, 0x7B, 0xEB, 0xED, 0x78, 0xD3, 0x7C, 0xD6, 0xFF, 0xD0, 0x1F, 0x22, 0x42, 0x47, 0x88, 0x4F, + 0xB5, 0x8C, 0xD8, 0x49, 0xE8, 0x22, 0xB5, 0x95, 0xA3, 0x7B, 0x02, 0xD0, 0xB1, 0x67, 0x6A, 0x53, + 0x99, 0xC1, 0x88, 0x2F, 0x3C, 0xA7, 0x4A, 0xF6, 0x23, 0x78, 0xB2, 0x1F, 0xB3, 0xE8, 0x92, 0x39, + 0x90, 0xA3, 0x00, 0x00, 0xBE, 0x35, 0x1D, 0xCA, 0xF4, 0xEE, 0x89, 0xD0, 0xE9, 0x86, 0x1B, 0x9A, + 0x97, 0x8F, 0xD3, 0xBB, 0x19, 0x13, 0xD1, 0x2D, 0xFE, 0x30, 0xF1, 0x0C, 0xDC, 0x47, 0xA4, 0xCB, + 0xF2, 0xBD, 0x66, 0x7C, 0x27, 0xDF, 0x6D, 0xB6, 0x5D, 0xD8, 0x71, 0x28, 0x81, 0x07, 0xA1, 0xBD, + 0x2F, 0x03, 0x14, 0xEA, 0x88, 0x4A, 0x4E, 0xBB, 0xCC, 0x95, 0x8E, 0xA5, 0xFD, 0x84, 0xFD, 0xEE, + 0x20, 0xE0, 0x64, 0x08, 0x53, 0x8E, 0x97, 0x24, 0x67, 0x27, 0xA3, 0xBC, 0xA2, 0xE9, 0x09, 0xCB, + 0x18, 0x94, 0x03, 0xC9, 0x37, 0xE0, 0x17, 0x7D, 0x2C, 0x8E, 0x28, 0x15, 0xEA, 0x72, 0x22, 0x58, + 0x2C, 0x9C, 0x8B, 0xE2, 0xB3, 0xFE, 0x8B, 0xBD, 0x9A, 0x57, 0xE9, 0x37, 0xD3, 0xDA, 0x4C, 0xE8, + 0x26, 0x4D, 0x9A, 0x67, 0x00, 0x12, 0x07, 0x91, 0x30, 0x8A, 0x79, 0x03, 0x74, 0x38, 0xF1, 0xEF, + 0x00, 0xC6, 0x67, 0x7A, 0xB7, 0x0C, 0x8F, 0x00, 0x01, 0x12, 0x6F, 0x58, 0x53, 0x64, 0xAA, 0x4D, + 0xC2, 0x4C, 0xD2, 0xE0, 0xB1, 0x38, 0x57, 0xE9, 0x6D, 0xB9, 0x11, 0xCE, 0xBA, 0xF9, 0xCD, 0x31, + 0x12, 0x33, 0x18, 0xFE, 0xF6, 0xD9, 0x66, 0xAF, 0x7C, 0xB7, 0x0E, 0x6B, 0x73, 0xEC, 0x2E, 0x3F, + 0xB2, 0x82, 0xDB, 0xDF, 0x59, 0x45, 0xAD, 0xAD, 0x3A, 0x23, 0x8C, 0xBA, 0x20, 0x69, 0xF1, 0xD7, + 0xAF, 0x99, 0xF5, 0x1D, 0x30, 0x1D, 0x3E, 0x3B, 0x42, 0xE2, 0xE3, 0x18, 0x40, 0x9A, 0x66, 0x29, + 0x81, 0xB4, 0x85, 0xC5, 0x9F, 0x67, 0xFC, 0x4F, 0xAB, 0x41, 0xD6, 0x2E, 0x6A, 0x55, 0xAB, 0xF4, + 0xF2, 0xCB, 0xA6, 0xD5, 0xB6, 0x11, 0x7B, 0x3E, 0xFB, 0xE4, 0x9B, 0x10, 0xB3, 0x40, 0x7E, 0x3D, + 0xE3, 0xA6, 0xAD, 0x8C, 0x5C, 0x24, 0x9E, 0xDC, 0xFF, 0x71, 0xC2, 0x99, 0x55, 0x26, 0x3A, 0xAF, + 0x21, 0x81, 0x7F, 0x5F, 0x19, 0xAB, 0xED, 0x47, 0x12, 0x38, 0xDE, 0x74, 0xBB, 0xB7, 0xFC, 0x4E, + 0x2D, 0xF8, 0xBF, 0x5A, 0x7B, 0xAA, 0xAA, 0x95, 0xB0, 0x75, 0x04, 0xE9, 0xB5, 0x10, 0x82, 0x35, + 0x87, 0xC8, 0xE6, 0x8A, 0xFA, 0xF3, 0xF1, 0xCB, 0xB7, 0xB2, 0x06, 0x46, 0xBC, 0xF7, 0xAD, 0x17, + 0xD8, 0x60, 0xA6, 0xC9, 0xC0, 0x5B, 0x39, 0x49, 0x44, 0x60, 0x80, 0x2D, 0x3B, 0x23, 0x72, 0x8B, + 0xEA, 0x79, 0xE0, 0x72, 0xD6, 0x8A, 0xEA, 0xF8, 0xB1, 0x1D, 0x69, 0x63, 0x14, 0x1C, 0xC4, 0xA1, + 0x1B, 0x34, 0x5C, 0xF0, 0x94, 0x13, 0xA1, 0xA6, 0x76, 0xCD, 0x88, 0x22, 0xAD, 0xBE, 0x7C, 0xE3, + 0x34, 0x4B, 0xE6, 0xD9, 0x2C, 0x5A, 0xDD, 0xBB, 0xF4, 0xBA, 0x84, 0x44, 0x68, 0x22, 0xA9, 0x9E, + 0xD4, 0x07, 0x6D, 0x20, 0xA6, 0xE5, 0x07, 0x1B, 0x3C, 0x4F, 0xC5, 0xFE, 0xC3, 0x05, 0xA0, 0xB8, + 0x48, 0x32, 0xCF, 0x2B, 0x16, 0x89, 0x13, 0x25, 0xCF, 0x79, 0x28, 0xA4, 0x30, 0x02, 0xA0, 0xDF, + 0x2D, 0x9E, 0xF4, 0x21, 0x95, 0x13, 0x79, 0xF2, 0x1F, 0x10, 0x26, 0xAB, 0x00, 0x12, 0x1F, 0xD1, + 0x4E, 0xC4, 0x5E, 0x0E, 0x73, 0x6C, 0xE1, 0xAC, 0x47, 0x06, 0xB1, 0x04, 0xB3, 0x38, 0x35, 0x50, + 0x01, 0x12, 0x38, 0x2B, 0xF0, 0x16, 0xD8, 0x5E, 0x8E, 0x4B, 0x97, 0xCB, 0x57, 0x68, 0x94, 0xFE, + 0x50, 0xA9, 0x52, 0x6C, 0x45, 0x47, 0xEC, 0xC8, 0xCE, 0x34, 0xD4, 0x1C, 0x89, 0x11, 0xD3, 0x72, + 0xD3, 0x27, 0x59, 0x30, 0x22, 0xAA, 0x58, 0x36, 0x6E, 0xB7, 0xAD, 0x28, 0x14, 0x30, 0x35, 0xE2, + 0x7D, 0x1A, 0xB6, 0x8F, 0x5D, 0x5E, 0x9A, 0x87, 0x42, 0xD5, 0x5B, 0xDD, 0x5F, 0x9E, 0x1C, 0xD0, + 0xBE, 0xFB, 0x72, 0xD6, 0x12, 0x48, 0xD2, 0x23, 0x16, 0x55, 0x0E, 0x35, 0x8A, 0x85, 0x9F, 0xC4, + 0x47, 0x3E, 0xC3, 0x42, 0xC4, 0x38, 0xCA, 0xE9, 0x5B, 0xF7, 0x36, 0xA3, 0x29, 0xC4, 0x54, 0x15, + 0xAF, 0x51, 0x1D, 0x66, 0x6A, 0xC9, 0xB9, 0x26, 0x97, 0x3E, 0xF0, 0xCF, 0x46, 0xF7, 0x71, 0x75, + 0xCE, 0x0D, 0x82, 0xAD, 0xED, 0xCA, 0x9D, 0xAE, 0xBE, 0x49, 0x4C, 0x86, 0x26, 0x78, 0xEA, 0xA6, + 0x8B, 0xEC, 0x57, 0xC2, 0xC7, 0xC1, 0x7F, 0x5E, 0x3E, 0xFE, 0xEE, 0x8F, 0x57, 0x9C, 0x54, 0x66, + 0xBC, 0x9D, 0x2F, 0x64, 0x7F, 0x2D, 0x6B, 0x8F, 0xA6, 0x2E, 0x5D, 0x1F, 0xA6, 0xF6, 0x9C, 0x94, + 0xDA, 0x90, 0x3D, 0x71, 0x92, 0xE8, 0x3E, 0x55, 0xB4, 0x80, 0x7D, 0x67, 0x63, 0xB3, 0xFF, 0xEE, + 0x10, 0x81, 0x20, 0xCE, 0xCB, 0xEA, 0x9E, 0xB6, 0xF6, 0xFF, 0x89, 0x69, 0x15, 0x31, 0xC2, 0x09, + 0xFD, 0x2F, 0xF7, 0xAE, 0xB0, 0x4E, 0x11, 0xCD, 0x7C, 0x9E, 0xFC, 0x7A, 0x1E, 0xA3, 0x84, 0xD4, + 0xA4, 0xC5, 0x35, 0x9A, 0xD3, 0x09, 0x1B, 0xD8, 0x78, 0x97, 0x28, 0x11, 0xDD, 0xDB, 0x21, 0x26, + 0x91, 0x2C, 0x31, 0x4B, 0x45, 0xF2, 0xFC, 0x86, 0xE3, 0x43, 0x62, 0xFB, 0x1C, 0xFB, 0x01, 0xD5, + 0x58, 0x6D, 0x9D, 0x17, 0x1B, 0x55, 0xB5, 0x02, 0x17, 0x5B, 0xFF, 0xEC, 0xCD, 0x05, 0xD2, 0xB2, + 0x19, 0xF3, 0x32, 0x72, 0xEE, 0x56, 0x40, 0x7B, 0x75, 0x13, 0xD3, 0xC5, 0x2B, 0xDE, 0x79, 0xEB, + 0x69, 0x4C, 0x49, 0x1E, 0x00, 0x12, 0xD6, 0xDF, 0xAC, 0x3A, 0x97, 0x82, 0x1E, 0x4E, 0xCF, 0x71, + 0xFA, 0x88, 0x3B, 0xC7, 0xDF, 0xD5, 0x98, 0xAA, 0x01, 0x12, 0x11, 0x77, 0x09, 0x23, 0x46, 0x61, + 0x86, 0x7E, 0xFF, 0xE3, 0xD8, 0xEC, 0xA8, 0x24, 0xF8, 0x24, 0xD5, 0x0F, 0x3B, 0x73, 0xAC, 0xF4, + 0xFD, 0x80, 0xEB, 0x1D, 0xB7, 0xB6, 0x07, 0x76, 0x0D, 0x24, 0x95, 0xA7, 0x14, 0x7C, 0x3C, 0x5B, + 0x4D, 0x17, 0xFA, 0x5F, 0xBC, 0x79, 0xD5, 0xA6, 0x8B, 0x0D, 0xA0, 0x5A, 0xA6, 0x5E, 0x4B, 0xFB, + 0x09, 0xFE, 0xC6, 0x4A, 0xB0, 0xAB, 0xD0, 0xD5, 0x96, 0x14, 0xCA, 0x92, 0x72, 0x83, 0x58, 0xED, + 0x1C, 0x21, 0xAD, 0xDE, 0x56, 0xB4, 0xF4, 0x76, 0xFD, 0x88, 0x91, 0x54, 0x5B, 0xF1, 0x8B, 0xDF, + 0xA7, 0x1C, 0x81, 0xC2, 0x82, 0xDB, 0x19, 0x42, 0x09, 0xF9, 0x45, 0x95, 0x10, 0xB2, 0xEC, 0x0A, + 0x8B, 0x7E, 0xC1, 0xC3, 0x87, 0x9D, 0x1C, 0x8B, 0x5C, 0x1B, 0x9F, 0x33, 0x90, 0xB0, 0x90, 0x8A, + 0xCD, 0xE2, 0x6C, 0x5E, 0x82, 0x95, 0x33, 0x56, 0x6D, 0x51, 0x1B, 0x89, 0xAD, 0xBB, 0x69, 0xEB, + 0xDC, 0x1A, 0xFA, 0x9D, 0x76, 0xB0, 0xD1, 0x11, 0xCA, 0x20, 0x6D, 0xFE, 0x6B, 0x90, 0xF1, 0xCB, + 0xB7, 0x7D, 0x44, 0xF8, 0x2A, 0x1D, 0x76, 0x4F, 0x15, 0xC7, 0x79, 0x82, 0xE9, 0xE3, 0x5F, 0x10, + 0x88, 0x3A, 0x51, 0xF0, 0xAE, 0xEA, 0x96, 0x7E, 0xB3, 0x00, 0xB0, 0x22, 0xD3, 0x96, 0x0B, 0xE8, + 0xC5, 0x6A, 0xDD, 0x07, 0xA8, 0x3D, 0x7F, 0x64, 0x49, 0xC8, 0xB1, 0xF1, 0x13, 0xAF, 0x21, 0x77, + 0x13, 0x6A, 0x6B, 0xD2, 0xF3, 0xBC, 0x36, 0x76, 0x15, 0xD6, 0x09, 0x27, 0x2C, 0x6E, 0xE3, 0x0D, + 0x02, 0x4F, 0x46, 0xB3, 0x7B, 0xE8, 0x7F, 0xF6, 0xA0, 0xC0, 0x68, 0x18, 0xC6, 0x8A, 0x13, 0xCF, + 0xF5, 0x99, 0x96, 0xDC, 0x3F, 0x9B, 0x33, 0x43, 0x5D, 0x21, 0xE4, 0x93, 0x27, 0xDF, 0xBD, 0x38, + 0xFD, 0xAA, 0x85, 0xA0, 0xE2, 0x70, 0x4A, 0x72, 0x9D, 0x06, 0x32, 0xFE, 0x5D, 0x4F, 0x86, 0x34, + 0x88, 0x1C, 0xFE, 0x9C, 0x6C, 0x3E, 0x50, 0xF0, 0x63, 0x57, 0xEB, 0x93, 0x00, 0x12, 0x11, 0x22, + 0xB6, 0x43, 0x64, 0xE5, 0xA3, 0x30, 0x23, 0x13, 0x89, 0xD3, 0x82, 0x4F, 0x42, 0x26, 0x07, 0x37, + 0x01, 0x12, 0x0D, 0x59, 0x0B, 0x66, 0x1B, 0x7F, 0xA3, 0x0A, 0x00, 0x05, 0x06, 0x33, 0x14, 0x14, + 0x8C, 0xA1, 0xAE, 0x1E, 0x2A, 0x6C, 0x73, 0x81, 0x98, 0x57, 0x3B, 0x4E, 0xB8, 0x00, 0x3F, 0x81, + 0xEA, 0xC4, 0x01, 0xCD, 0x6E, 0xBB, 0xD8, 0x9D, 0x73, 0xFB, 0xCE, 0x2C, 0x2F, 0x02, 0x63, 0xF4, + 0x22, 0x0A, 0x68, 0x1C, 0x14, 0xE5, 0x52, 0x0B, 0xBD, 0xBE, 0xA1, 0x54, 0xC8, 0x9D, 0xBD, 0xCD, + 0x6D, 0x4C, 0x88, 0x3B, 0x0C, 0xF0, 0x41, 0xC8, 0x20, 0xA2, 0x9A, 0x1D, 0x6D, 0x5E, 0x69, 0x29, + 0x3F, 0xCD, 0x2F, 0x4D, 0x60, 0x57, 0x6B, 0x41, 0x8D, 0xDC, 0xA3, 0xED, 0x77, 0xFF, 0x8A, 0x8C, + 0x0B, 0x8D, 0xA0, 0x4C, 0x65, 0x1B, 0x7E, 0xE5, 0xEF, 0xF5, 0xCB, 0xA0, 0xEC, 0xA8, 0x6C, 0x86, + 0xE1, 0xC1, 0xC9, 0x4E, 0x4E, 0x82, 0x1D, 0x02, 0xFC, 0xD1, 0x01, 0x19, 0x21, 0x11, 0xEE, 0xA7, + 0x4D, 0x46, 0x44, 0x77, 0xDA, 0x06, 0xE9, 0x4A, 0x8E, 0xE5, 0x2C, 0xD6, 0xDB, 0xE6, 0x77, 0xD6, + 0x05, 0x86, 0x31, 0x2E, 0x48, 0x57, 0xE3, 0xD2, 0x83, 0x50, 0x28, 0x8B, 0x32, 0x14, 0xC3, 0x14, + 0xE6, 0xF9, 0x28, 0x51, 0x8A, 0x64, 0x58, 0xE5, 0x03, 0xCD, 0x73, 0xB6, 0xFB, 0x1B, 0xCF, 0x93, + 0xA9, 0xB0, 0xA3, 0x33, 0x1A, 0x97, 0x14, 0xE4, 0x58, 0x85, 0xCA, 0x2C, 0xF2, 0x70, 0x1D, 0xFF, + 0x95, 0xA6, 0x08, 0xB1, 0x86, 0x1E, 0x0C, 0xC5, 0xFD, 0x41, 0xB6, 0x18, 0x1E, 0x33, 0x93, 0x88, + 0x8F, 0xF4, 0x77, 0xD8, 0x17, 0x47, 0xBD, 0x12, 0x5B, 0xAA, 0x56, 0x2C, 0xB1, 0xA5, 0x5D, 0x10, + 0xC5, 0xD5, 0xE5, 0xEF, 0x26, 0xCE, 0x10, 0x9A, 0x3D, 0xA8, 0xAE, 0x25, 0x79, 0x06, 0xDD, 0x9F, + 0x31, 0x7D, 0xF0, 0xF0, 0x6A, 0x4E, 0x39, 0x20, 0x77, 0x6D, 0x48, 0x23, 0x8F, 0xFA, 0x4C, 0xDE, + 0x54, 0xAE, 0x55, 0x66, 0xAA, 0x3E, 0x3F, 0xBA, 0xA1, 0x3D, 0x51, 0xB9, 0x6F, 0x33, 0x4C, 0x8D, + 0x14, 0x98, 0x06, 0xD9, 0x00, 0x12, 0x8D, 0x52, 0x68, 0x0E, 0xEB, 0x1E, 0x79, 0xA0, 0x32, 0xCB, + 0xC1, 0x4A, 0xDB, 0x9F, 0xF4, 0x9D, 0x72, 0x9C, 0x01, 0x12, 0x80, 0x72, 0x13, 0xF2, 0x5E, 0x9D, + 0x8A, 0x18, 0x75, 0x8C, 0xC6, 0x8F, 0x78, 0x78, 0xC5, 0x5E, 0xF9, 0x6B, 0xFB, 0x2B, 0x42, 0xC9, + 0x4C, 0x34, 0x0D, 0x5B, 0xA6, 0xF1, 0xEA, 0x44, 0xBE, 0xB0, 0x3D, 0x63, 0xC8, 0x2F, 0xA8, 0xE5, + 0x1D, 0x9E, 0x01, 0x8A, 0xF9, 0x16, 0xC4, 0xDB, 0x22, 0x45, 0x0D, 0x03, 0xD2, 0xFE, 0x57, 0xE2, + 0x41, 0x50, 0x76, 0xB6, 0x9B, 0xFC, 0xE7, 0xFC, 0x86, 0x6A, 0xC6, 0x35, 0x54, 0x1D, 0xA0, 0xF7, + 0x71, 0x0D, 0x4A, 0x6A, 0xC8, 0x90, 0x5F, 0x86, 0x41, 0xBC, 0xDC, 0x2A, 0xF5, 0x6F, 0x07, 0x2D, + 0xAE, 0x4E, 0x16, 0x2C, 0x80, 0xA0, 0xE8, 0x10, 0x8A, 0x0C, 0xE8, 0x35, 0x31, 0xAE, 0xC6, 0xB8, + 0x95, 0x58, 0x2C, 0xC4, 0x2E, 0xED, 0xC1, 0xB3, 0x2B, 0xE0, 0xFE, 0x29, 0xAB, 0xA8, 0xA2, 0x8B, + 0xB9, 0xEA, 0xB2, 0xBF, 0x93, 0x52, 0xED, 0xAE, 0xAA, 0xBD, 0xF8, 0x8A, 0xCE, 0xF0, 0x87, 0x5F, + 0xF9, 0x93, 0x1E, 0x82, 0x21, 0x8E, 0x9D, 0x45, 0x5C, 0xD6, 0x1A, 0xAA, 0xE9, 0xB6, 0xF2, 0x72, + 0x39, 0x59, 0x89, 0xCA, 0x58, 0x71, 0x83, 0x42, 0x7B, 0x13, 0x13, 0x1B, 0x0B, 0x8C, 0xD8, 0x3B, + 0xFF, 0x2A, 0x80, 0x49, 0x26, 0x4B, 0x05, 0x07, 0x55, 0x23, 0x9D, 0x11, 0x1F, 0x9D, 0x05, 0x98, + 0x05, 0x38, 0x89, 0x71, 0xDA, 0x19, 0xB1, 0x5D, 0x89, 0xEB, 0x53, 0x4A, 0x4E, 0xAD, 0x2F, 0x63, + 0xEE, 0x94, 0xEE, 0x23, 0x83, 0x95, 0xFC, 0x83, 0x1A, 0x14, 0x6B, 0x5A, 0x4A, 0xF1, 0xBF, 0x90, + 0xBF, 0xBD, 0x06, 0x9F, 0xE8, 0x88, 0x33, 0x5C, 0x1E, 0x38, 0xE5, 0xA8, 0x86, 0x41, 0x24, 0xEE, + 0x52, 0x16, 0x40, 0xF5, 0x74, 0x34, 0xEB, 0x55, 0x92, 0x20, 0xEB, 0x9A, 0xFF, 0x9C, 0xE8, 0xED, + 0xA8, 0x8A, 0xFA, 0x8E, 0x3C, 0x5F, 0x6E, 0x11, 0xDA, 0x43, 0x11, 0x63, 0xAB, 0x1D, 0x9E, 0xAA, + 0xF9, 0x87, 0xB0, 0x3C, 0x84, 0xC6, 0xAA, 0xD8, 0x83, 0x5A, 0xC9, 0xB9, 0x00, 0x12, 0x2A, 0xAA, + 0x67, 0x65, 0x2F, 0xBD, 0x00, 0x7F, 0xF0, 0x0D, 0x1A, 0xD9, 0x65, 0x66, 0x6B, 0x7A, 0x6B, 0xA0, + 0x01, 0x12, 0xEE, 0x25, 0x21, 0x1F, 0x4A, 0x7C, 0xF0, 0x83, 0x43, 0x47, 0xB3, 0x29, 0x37, 0xCE, + 0x6F, 0x87, 0xA5, 0x11, 0xFC, 0xF1, 0x94, 0x7C, 0x4C, 0x4F, 0x92, 0xC0, 0xA0, 0x59, 0x6F, 0x24, + 0x17, 0xEE, 0x48, 0xF9, 0x27, 0xE5, 0xD1, 0xEE, 0x33, 0x66, 0xB0, 0x79, 0x0A, 0xDA, 0x63, 0xF9, + 0xCE, 0xAD, 0xD0, 0xFF, 0x73, 0x8A, 0xCD, 0x92, 0x3A, 0x57, 0xD7, 0x42, 0x72, 0xA9, 0x4C, 0x1B, + 0xCA, 0x7B, 0x0B, 0xDD, 0x0F, 0xEB, 0x0D, 0xAF, 0x1E, 0x5F, 0x4A, 0x63, 0x24, 0xB0, 0xE6, 0x5D, + 0xF9, 0x58, 0x2F, 0xC2, 0x69, 0xAD, 0x5D, 0x7E, 0xE4, 0x2E, 0x18, 0x8F, 0xF8, 0x89, 0x30, 0xF7, + 0x35, 0xD6, 0x64, 0xF2, 0xD2, 0xB5, 0xF9, 0xC7, 0x43, 0x6A, 0x43, 0xC5, 0xF2, 0x8F, 0x7F, 0x1E, + 0x78, 0x47, 0x42, 0xBB, 0xEE, 0xD7, 0xA7, 0xEB, 0x32, 0x3C, 0xFA, 0x42, 0xE8, 0xC6, 0xAE, 0xF5, + 0x2B, 0x58, 0x20, 0x57, 0x54, 0xA9, 0xC6, 0xDD, 0x32, 0x91, 0xF5, 0xA5, 0xA3, 0x1F, 0x6F, 0x57, + 0x70, 0x76, 0x53, 0x41, 0x99, 0xED, 0x1F, 0xD9, 0x12, 0x20, 0xA6, 0xFC, 0xAB, 0xA6, 0x0A, 0x6A, + 0xBE, 0x59, 0x4E, 0x0C, 0x8F, 0x7F, 0x37, 0x35, 0xB8, 0x33, 0x8D, 0xA8, 0xC8, 0x66, 0x7D, 0xCA, + 0xAF, 0xE4, 0x68, 0xC2, 0xE9, 0x60, 0x5C, 0xD6, 0xD6, 0x3E, 0x9F, 0x74, 0x6F, 0xD3, 0x9C, 0xCE, + 0x75, 0xED, 0xA3, 0xDE, 0x1B, 0x7F, 0x3B, 0x45, 0x1A, 0xBA, 0xE1, 0xAD, 0x32, 0x8D, 0x56, 0x71, + 0x65, 0x7A, 0xB7, 0xB9, 0xB3, 0x89, 0xE0, 0xAB, 0x11, 0xC3, 0x8F, 0xF3, 0x82, 0x40, 0x03, 0x15, + 0x1C, 0x97, 0x7A, 0x0A, 0x8B, 0x65, 0x13, 0xB9, 0xFC, 0x75, 0x00, 0x57, 0xC8, 0xC1, 0x63, 0x1B, + 0x33, 0x4E, 0x1E, 0xF2, 0x51, 0xD1, 0x85, 0x16, 0x48, 0x6F, 0xEE, 0x29, 0x1D, 0x29, 0x02, 0xEE, + 0x58, 0x5B, 0xFD, 0x63, 0x22, 0x95, 0x7F, 0xD8, 0xFE, 0x92, 0xB6, 0xC5, 0x64, 0x60, 0x7E, 0xD0, + 0x5C, 0x9C, 0x57, 0xF4, 0x00, 0x12, 0x82, 0x51, 0x30, 0x1E, 0xEE, 0x12, 0xE4, 0xD4, 0x9B, 0x63, + 0x37, 0x19, 0x06, 0x11, 0xCA, 0x7F, 0x1D, 0xEC, 0x01, 0x12, 0x97, 0xD2, 0x6F, 0xEC, 0xF6, 0x51, + 0x0F, 0xE2, 0xB1, 0x97, 0x30, 0xE1, 0x42, 0x16, 0xDF, 0xB1, 0x9A, 0x4C, 0x9D, 0xC3, 0x52, 0xA5, + 0xDE, 0x30, 0xCC, 0x48, 0x68, 0x3B, 0xB9, 0x4F, 0x01, 0xEB, 0xC6, 0x72, 0xE4, 0xC6, 0xE7, 0x50, + 0xD1, 0x37, 0x6E, 0xCE, 0x9B, 0x79, 0x2D, 0xCD, 0xCB, 0x42, 0x29, 0x67, 0xB4, 0x72, 0x0C, 0x94, + 0x16, 0x6E, 0x1E, 0x0E, 0x3F, 0x6E, 0xFD, 0xD8, 0x58, 0x60, 0xAA, 0x8B, 0x56, 0x38, 0x50, 0x32, + 0x70, 0x75, 0x3C, 0xD9, 0xCB, 0x66, 0xD7, 0xDE, 0xC9, 0xB5, 0x74, 0x8F, 0x0B, 0x5C, 0xF7, 0xEE, + 0x43, 0x6B, 0x91, 0x16, 0xCB, 0xAB, 0x52, 0xBD, 0xA6, 0xBC, 0x58, 0xC1, 0xBD, 0xD0, 0xCE, 0xA5, + 0xFC, 0xA5, 0x55, 0x96, 0xDF, 0x5B, 0x2D, 0x99, 0x3F, 0xDB, 0xE1, 0xD5, 0x3B, 0xCA, 0x9B, 0xBF, + 0xB9, 0xD4, 0xBF, 0xA9, 0x50, 0x67, 0x2E, 0x90, 0x07, 0xD2, 0x4B, 0x29, 0x82, 0x30, 0x0D, 0xFA, + 0x48, 0x0D, 0xA5, 0x47, 0x1C, 0x5D, 0x17, 0x27, 0xA6, 0x2A, 0x24, 0x87, 0x30, 0x7A, 0xFD, 0xB1, + 0x03, 0xDF, 0x01, 0x5A, 0x97, 0x00, 0xD9, 0x5E, 0xDD, 0x5A, 0x57, 0x55, 0xA5, 0x2E, 0xAE, 0x58, + 0x4D, 0xDD, 0x38, 0x84, 0xE3, 0xC6, 0xFA, 0xEA, 0x38, 0xBF, 0x84, 0xC7, 0x7B, 0x75, 0x17, 0x3C, + 0xD5, 0xAA, 0xDA, 0x7A, 0x9B, 0x0D, 0x38, 0x8E, 0x10, 0x25, 0xAA, 0xD3, 0x40, 0xB5, 0x76, 0x41, + 0x8E, 0x62, 0xEA, 0x1A, 0x30, 0xE6, 0x70, 0x37, 0x3A, 0x16, 0x1D, 0x71, 0x78, 0x86, 0x07, 0xA0, + 0xA7, 0xC3, 0x98, 0xC3, 0xDD, 0x6D, 0xB0, 0x13, 0x9D, 0xBC, 0x75, 0x4A, 0xD4, 0xA5, 0x65, 0x45, + 0x8E, 0x33, 0x05, 0x50, 0x74, 0x75, 0x03, 0x75, 0xBA, 0x3D, 0x8E, 0xBE, 0xDE, 0x5C, 0x55, 0xF2, + 0x1D, 0x65, 0xEC, 0x10, 0x62, 0x45, 0x05, 0x23, 0x6C, 0xC2, 0x0F, 0x4B, 0xFD, 0x5B, 0x3E, 0x84, + 0x97, 0x12, 0xE4, 0x0A, 0x17, 0x98, 0x0A, 0xDF, 0x90, 0x02, 0xE8, 0xC0, 0x00, 0x12, 0x56, 0x62, + 0x08, 0xC2, 0x0E, 0xA8, 0x34, 0xE5, 0x80, 0xB8, 0x51, 0xB1, 0x51, 0xA1, 0x20, 0x90, 0xFA, 0x0F, + 0x01, 0x12, 0x8C, 0xE1, 0x75, 0x8A, 0xA9, 0x5E, 0xDC, 0x0D, 0xFB, 0x72, 0x74, 0xEA, 0xAE, 0x10, + 0x36, 0xA4, 0x31, 0xA7, 0x8C, 0xD9, 0x4C, 0x22, 0x0C, 0x64, 0x6A, 0xBC, 0x9C, 0x68, 0x5F, 0xB2, + 0xEF, 0x6E, 0xA4, 0x38, 0xF7, 0x55, 0x9D, 0xCE, 0x76, 0x95, 0xD5, 0x93, 0xF6, 0xE9, 0x56, 0xB0, + 0xC1, 0x72, 0x0C, 0x91, 0xE6, 0x91, 0xA9, 0xB2, 0x6D, 0xA9, 0xA5, 0x6D, 0xED, 0x69, 0x12, 0x88, + 0xCD, 0xBC, 0x96, 0x0C, 0x1D, 0xE0, 0x5C, 0x0C, 0xAA, 0xA2, 0xFA, 0x62, 0x6D, 0xBF, 0x46, 0xE7, + 0x17, 0x18, 0x44, 0xD3, 0x04, 0x1A, 0x1B, 0x18, 0xE6, 0x86, 0x8A, 0x75, 0xC6, 0xD0, 0x9F, 0xD3, + 0x73, 0x01, 0xB3, 0xE6, 0xD9, 0x40, 0x2D, 0x9F, 0xD3, 0x1D, 0x2C, 0x40, 0x65, 0x6B, 0xFB, 0x23, + 0xC7, 0xA5, 0xDA, 0xFB, 0xFF, 0x10, 0x99, 0xBB, 0x47, 0xD2, 0x3D, 0x3F, 0x11, 0x32, 0x79, 0xC9, + 0x84, 0xCA, 0xE2, 0x62, 0x56, 0xD4, 0x57, 0x3C, 0xE9, 0xD2, 0xC8, 0xF2, 0x75, 0xFB, 0x05, 0x4C, + 0x4F, 0x79, 0x92, 0x07, 0x0B, 0xD4, 0x4F, 0x68, 0xDC, 0x20, 0x49, 0xE0, 0x6B, 0x36, 0x4E, 0xA2, + 0x68, 0x5E, 0x84, 0xCA, 0x7A, 0x0E, 0x2F, 0xB9, 0x1A, 0x98, 0xFE, 0x8D, 0x3B, 0xCA, 0x27, 0xED, + 0x04, 0x0B, 0x7B, 0x45, 0x14, 0x47, 0x48, 0x4D, 0x2D, 0x14, 0xD5, 0x84, 0x85, 0x22, 0xF5, 0x70, + 0xFF, 0x81, 0x14, 0xAA, 0xB6, 0x48, 0xF4, 0xC7, 0x4E, 0xF8, 0x09, 0xA8, 0xF7, 0x91, 0xA7, 0x36, + 0x82, 0x8A, 0x25, 0x88, 0x66, 0xDB, 0x96, 0xF2, 0x59, 0xA5, 0x4A, 0x7A, 0x16, 0x0F, 0xF8, 0x83, + 0xA1, 0x30, 0x10, 0x77, 0xEA, 0x07, 0x16, 0x10, 0x38, 0xB5, 0x66, 0x2B, 0x71, 0x43, 0x83, 0x7B, + 0x1E, 0x71, 0xB2, 0x67, 0x63, 0xC0, 0x7D, 0xC1, 0xD6, 0x2C, 0xEB, 0xE6, 0xC8, 0x62, 0xC3, 0x62, + 0xB2, 0xDF, 0x33, 0xA7, 0x10, 0x82, 0xFA, 0x7C, 0x6B, 0xA6, 0x4D, 0xDB, 0x73, 0x81, 0x4F, 0xE6, + 0xF0, 0x3A, 0x67, 0x84, 0x00, 0x12, 0x30, 0xA6, 0x08, 0x28, 0xD3, 0x57, 0xF9, 0x71, 0x17, 0x2F, + 0x33, 0xBC, 0x16, 0x5B, 0x5B, 0x24, 0x55, 0x12, 0x01, 0x12, 0x40, 0x85, 0x2F, 0x44, 0xB1, 0x66, + 0xD4, 0x46, 0x91, 0x29, 0x32, 0x4F, 0x14, 0x14, 0x58, 0x38, 0x41, 0x9A, 0x70, 0x47, 0xD1, 0x32, + 0xAA, 0x1C, 0x38, 0x9C, 0x3B, 0xA1, 0x15, 0x29, 0xDF, 0xC4, 0xCB, 0x41, 0xA7, 0xB6, 0x0F, 0x6D, + 0x43, 0x02, 0x0E, 0xA5, 0x41, 0xCD, 0x61, 0xEA, 0x65, 0x2B, 0x38, 0x08, 0x4F, 0x9D, 0xD0, 0xD6, + 0xC0, 0xA0, 0x1C, 0xBB, 0x19, 0xB6, 0x98, 0x4A, 0xDA, 0xA6, 0x61, 0x47, 0x84, 0xC3, 0x53, 0xFF, + 0x62, 0x69, 0xD1, 0xF6, 0x10, 0xD4, 0x1C, 0x85, 0x17, 0x67, 0xF4, 0xB9, 0x7F, 0x3D, 0xA2, 0x3B, + 0xED, 0x4B, 0x02, 0x71, 0xA5, 0x11, 0x28, 0x20, 0xDF, 0x59, 0x3E, 0xAE, 0x4F, 0x23, 0x93, 0x5B, + 0x3C, 0x1C, 0xDE, 0x88, 0xD3, 0x0D, 0xCB, 0x09, 0x22, 0x5E, 0x3D, 0x6E, 0x9B, 0x2E, 0x5D, 0x68, + 0xD1, 0xEA, 0xB9, 0x77, 0xF6, 0x40, 0xBF, 0x01, 0x4B, 0xAA, 0x3E, 0x97, 0xBE, 0xDB, 0xF5, 0xD4, + 0x4A, 0xCF, 0xEA, 0xD7, 0x27, 0xED, 0xA8, 0x5E, 0xCC, 0x59, 0x2E, 0x9F, 0xA2, 0xC3, 0x1F, 0xD6, + 0x5D, 0x2C, 0x64, 0x50, 0xC0, 0x6D, 0xE8, 0xFD, 0x5C, 0x03, 0xE4, 0x60, 0xA7, 0xDB, 0x11, 0x9B, + 0x27, 0x50, 0xC8, 0x28, 0x4B, 0xF1, 0x68, 0xCA, 0xD3, 0xF0, 0xBC, 0x11, 0xD1, 0x3B, 0x49, 0xBB, + 0x09, 0x08, 0x3E, 0x62, 0xED, 0x0A, 0x27, 0x7B, 0x66, 0xD3, 0xFC, 0xDB, 0x7D, 0x8E, 0x01, 0xEF, + 0xB2, 0xFC, 0x37, 0x9D, 0x3D, 0x49, 0x8B, 0x14, 0x1A, 0x9B, 0x17, 0x05, 0xB1, 0x6E, 0x51, 0xD1, + 0x69, 0xB7, 0x1E, 0x78, 0xCD, 0x0B, 0x76, 0x55, 0x17, 0x69, 0x9F, 0x00, 0xBF, 0x25, 0x16, 0x7A, + 0x5F, 0x7F, 0x00, 0x0E, 0xD9, 0x3E, 0x4F, 0xFF, 0x7D, 0xC8, 0xD6, 0x88, 0x24, 0x4D, 0x83, 0x15, + 0xFD, 0x13, 0x5C, 0xDE, 0x36, 0x5B, 0x86, 0x1F, 0xC7, 0x0C, 0xAB, 0x37, 0x7E, 0xF0, 0x66, 0x2A, + 0x96, 0xE4, 0xEB, 0xD3, 0xA4, 0x2F, 0xF4, 0x48, 0xD1, 0x91, 0x81, 0x3C, 0x00, 0x12, 0x15, 0x9D, + 0x5A, 0x22, 0xB2, 0x4C, 0xDA, 0x84, 0x72, 0xAC, 0x84, 0x9F, 0x97, 0x2C, 0xB8, 0x7A, 0xAB, 0xCA, + 0x01, 0x12, 0x21, 0xCC, 0x7F, 0x34, 0xBD, 0x54, 0x9F, 0xF2, 0x0A, 0x3F, 0xF3, 0xF2, 0x99, 0x78, + 0x0C, 0x9B, 0x76, 0x14, 0x7A, 0xB4, 0x99, 0x34, 0xD0, 0x69, 0x60, 0x34, 0x3E, 0xD1, 0x90, 0xEA, + 0x47, 0x3F, 0xD5, 0xD1, 0xDE, 0x01, 0xA7, 0xFB, 0xD4, 0x51, 0x65, 0xBE, 0xDF, 0x56, 0xD1, 0x13, + 0x5B, 0x30, 0xAD, 0x95, 0x5D, 0x46, 0x4C, 0x9E, 0xB8, 0xEC, 0x61, 0x01, 0xBD, 0xA6, 0xAA, 0x50, + 0x05, 0xEE, 0xCD, 0xA0, 0xB5, 0x20, 0xDE, 0x0A, 0x4A, 0x2D, 0x14, 0x9D, 0xAF, 0xFB, 0x18, 0x96, + 0xDE, 0x68, 0x56, 0x80, 0x48, 0xFF, 0xDF, 0xEB, 0x27, 0x48, 0x77, 0xC0, 0x89, 0x9C, 0x81, 0x21, + 0x3C, 0x90, 0xF7, 0xB4, 0xA7, 0xC5, 0xF7, 0x3B, 0xD5, 0xAE, 0xBC, 0xB8, 0xE4, 0xEA, 0x3C, 0x66, + 0x1B, 0x38, 0x9B, 0x8C, 0x28, 0xB9, 0xFB, 0xE2, 0xFA, 0xD0, 0x8E, 0x03, 0x8F, 0x29, 0x49, 0x66, + 0x8A, 0x99, 0xB2, 0xF9, 0x43, 0xA2, 0x21, 0xA5, 0xAB, 0x31, 0x7F, 0x37, 0xC2, 0xCD, 0x0F, 0xB7, + 0xBD, 0x3F, 0xD5, 0x03, 0x8B, 0x7B, 0xAB, 0xD1, 0x88, 0x0C, 0x17, 0x93, 0xD4, 0xD2, 0x21, 0x35, + 0xCD, 0x9C, 0x95, 0x91, 0x41, 0xC6, 0xF0, 0xDE, 0x06, 0x3E, 0x11, 0xE5, 0x28, 0xAD, 0x92, 0x40, + 0x90, 0x8D, 0x24, 0x2E, 0x6C, 0x71, 0xAB, 0xD7, 0xEC, 0x79, 0x1D, 0x36, 0xB3, 0x19, 0x95, 0x78, + 0x5B, 0x4B, 0x5A, 0x4D, 0x70, 0xBE, 0xBA, 0x41, 0xAB, 0x84, 0x29, 0x12, 0x98, 0x21, 0x4A, 0xAE, + 0xD3, 0xD0, 0x0F, 0x08, 0x11, 0x23, 0x86, 0xD6, 0x4E, 0xF5, 0xAD, 0xCF, 0x8C, 0x48, 0x35, 0x1F, + 0x48, 0x1C, 0xA5, 0x19, 0x4D, 0xF7, 0x41, 0x98, 0xD8, 0xDE, 0x2B, 0x93, 0xCC, 0x1D, 0x00, 0x30, + 0x40, 0x3B, 0xA2, 0xB5, 0xCA, 0x6E, 0x12, 0xB8, 0x55, 0xDC, 0xDF, 0x34, 0x73, 0xFA, 0x63, 0xBD, + 0x76, 0xF6, 0xA6, 0x50, 0x4C, 0x51, 0xC7, 0xC1, 0xFA, 0x84, 0x45, 0xB5, 0x44, 0x77, 0xB9, 0x1E, + 0xDB, 0xCA, 0x01, 0xFC, 0x00, 0x12, 0xF5, 0xD7, 0xBB, 0x8E, 0xA1, 0x1E, 0x37, 0x14, 0x72, 0xF2, + 0x6F, 0x15, 0x09, 0x6A, 0x04, 0xD1, 0x19, 0xA9, 0x01, 0x12, 0xFD, 0x4A, 0xBF, 0x25, 0x48, 0x0F, + 0x21, 0x5A, 0x3E, 0x97, 0x46, 0x4F, 0x23, 0x68, 0x65, 0x62, 0x62, 0x43, 0x24, 0x22, 0xE1, 0x0D, + 0xBB, 0x94, 0xEC, 0x22, 0x28, 0x76, 0x91, 0x2E, 0x06, 0xFA, 0x2F, 0xE0, 0xC3, 0xEB, 0x36, 0x9C, + 0xCC, 0x78, 0xD5, 0x4B, 0xD6, 0x72, 0x6B, 0x16, 0x9E, 0x4D, 0x90, 0xF9, 0x1F, 0x2D, 0xD8, 0x2F, + 0xB2, 0xC4, 0xB0, 0x55, 0x4F, 0x3F, 0x61, 0x77, 0x2A, 0x21, 0x5C, 0xCE, 0x25, 0x63, 0x24, 0xD7, + 0x5F, 0xC4, 0x60, 0xC9, 0x07, 0x8F, 0xF1, 0x0A, 0x22, 0x86, 0x79, 0xB4, 0x87, 0x7E, 0x13, 0xFE, + 0xF4, 0x02, 0x3E, 0x00, 0x25, 0x48, 0x71, 0x37, 0xEA, 0xC9, 0x4A, 0x02, 0x95, 0x69, 0x1D, 0x50, + 0x11, 0x40, 0xDD, 0x69, 0x6C, 0x28, 0xB7, 0x88, 0xBD, 0x25, 0xA9, 0xF7, 0x56, 0x88, 0x98, 0x37, + 0x4C, 0xC0, 0xA3, 0xD7, 0x3A, 0x2D, 0xAC, 0x36, 0x65, 0x10, 0x6C, 0x4A, 0xC5, 0x65, 0xC5, 0xD6, + 0x88, 0xFE, 0x47, 0xB8, 0x88, 0xBF, 0x7A, 0x9B, 0x39, 0xEA, 0xAB, 0xC6, 0x38, 0x8F, 0x02, 0x94, + 0x54, 0xE0, 0xD4, 0x6F, 0xB6, 0x58, 0x78, 0x1F, 0x5E, 0x6B, 0x65, 0x29, 0xFD, 0x71, 0x9D, 0x03, + 0x18, 0x58, 0xDB, 0x5B, 0x20, 0x2F, 0xB3, 0xB6, 0xEC, 0x22, 0xA8, 0xB1, 0x7F, 0x46, 0xC2, 0x5C, + 0x87, 0x5E, 0x0A, 0xC3, 0xAA, 0xEA, 0x14, 0x7A, 0x54, 0x67, 0x3B, 0x98, 0x61, 0xD3, 0x1E, 0xCC, + 0x43, 0x12, 0x24, 0xE2, 0x24, 0x79, 0xD1, 0x93, 0xA2, 0x94, 0xF5, 0xCE, 0x91, 0xF6, 0xE3, 0x8B, + 0x62, 0x9E, 0xE2, 0x9C, 0xEB, 0xF9, 0x4E, 0xB8, 0x49, 0x7E, 0x9F, 0x2A, 0x29, 0xFF, 0x16, 0x2D, + 0xED, 0x4F, 0xEE, 0x7B, 0xCC, 0xC7, 0xD9, 0x78, 0x0F, 0x9B, 0x6D, 0x03, 0x2F, 0x07, 0x95, 0x0E, + 0x9E, 0xE5, 0xC1, 0x64, 0x48, 0xA2, 0x19, 0xDC, 0x86, 0xF0, 0xD2, 0x63, 0xB6, 0x0B, 0x3C, 0x26, + 0x55, 0xB2, 0xC2, 0xC2, 0x92, 0x9F, 0x66, 0xDC, 0x44, 0x1F, 0x36, 0x1E, 0x00, 0x12, 0xD0, 0x61, + 0xBC, 0xA6, 0xEE, 0x44, 0x23, 0x9C, 0x8D, 0x49, 0x7E, 0xA1, 0x2B, 0xD3, 0x86, 0x30, 0x82, 0xCA, + 0x01, 0x12, 0x76, 0x93, 0x6F, 0x89, 0x6E, 0x2B, 0xDA, 0x69, 0x3C, 0x6C, 0xE3, 0xD9, 0x53, 0xC0, + 0xE2, 0x60, 0xE1, 0x63, 0x5C, 0x59, 0x51, 0x4B, 0x4E, 0x92, 0x8B, 0xC7, 0x54, 0x50, 0x7E, 0x19, + 0x65, 0x42, 0xB7, 0x78, 0xE4, 0x21, 0x33, 0x6C, 0xC2, 0x18, 0x00, 0xF9, 0xF1, 0xE1, 0xAE, 0xA9, + 0x15, 0x50, 0xA9, 0x67, 0x60, 0x41, 0x82, 0x10, 0x03, 0xCB, 0xB8, 0xAB, 0x7D, 0x26, 0x6A, 0x36, + 0xCE, 0xD1, 0x02, 0xD6, 0x91, 0xDA, 0x6F, 0xDC, 0x9C, 0x26, 0xD6, 0x7B, 0x8D, 0x41, 0xA7, 0xB0, + 0xA8, 0x0B, 0x64, 0x0E, 0x40, 0xB9, 0x83, 0x92, 0x82, 0x74, 0x56, 0x31, 0xD4, 0x76, 0x02, 0xE6, + 0xA8, 0xC8, 0xB7, 0x19, 0x01, 0x3A, 0x35, 0xE2, 0xC3, 0xDC, 0x50, 0xDB, 0x28, 0x86, 0x9F, 0x01, + 0x1E, 0x80, 0xEB, 0xFE, 0x5D, 0x61, 0x8E, 0x29, 0xF7, 0x40, 0x55, 0x7B, 0xC3, 0xC1, 0xEE, 0x10, + 0x9B, 0x0D, 0x98, 0x12, 0xE3, 0x33, 0xC2, 0x80, 0x8B, 0x96, 0x74, 0x51, 0x04, 0xDB, 0x13, 0x06, + 0x44, 0x82, 0x16, 0x86, 0x68, 0x2A, 0x03, 0x74, 0x83, 0xF4, 0xDB, 0xA7, 0x12, 0x7F, 0xD0, 0x5A, + 0x9F, 0x63, 0x3C, 0xFF, 0x81, 0xCA, 0x68, 0xDA, 0x2C, 0x27, 0x38, 0x8B, 0x00, 0x9E, 0x27, 0x33, + 0xCD, 0x84, 0xFE, 0x84, 0xE4, 0x2D, 0x09, 0xE5, 0xB4, 0x9B, 0x7C, 0xBA, 0x86, 0xD5, 0x16, 0xE8, + 0x51, 0x7C, 0x75, 0x23, 0x5C, 0x4F, 0x0D, 0x12, 0x73, 0x37, 0xEE, 0x7B, 0x59, 0xF1, 0x02, 0x24, + 0x56, 0xB0, 0x0D, 0x1F, 0xA8, 0xFC, 0x22, 0x11, 0xC8, 0x9C, 0x77, 0xAA, 0x3D, 0x84, 0x62, 0x0B, + 0x84, 0x82, 0x56, 0x94, 0xD2, 0xBF, 0x7A, 0x91, 0xB5, 0xD4, 0x5E, 0x92, 0xAC, 0x13, 0x76, 0x53, + 0x81, 0x4F, 0x81, 0x32, 0x48, 0x0B, 0x54, 0x05, 0x26, 0x82, 0x1B, 0x0E, 0xE6, 0x50, 0xF4, 0x09, + 0x58, 0x90, 0x1D, 0x04, 0x99, 0x1F, 0x40, 0xBD, 0x25, 0xEE, 0x5F, 0xDC, 0x1D, 0xA6, 0x7C, 0x2D, + 0x6C, 0x50, 0x87, 0x48, 0x00, 0x12, 0x4C, 0xCE, 0x19, 0xC1, 0x67, 0x59, 0x78, 0xBC, 0xE2, 0x4C, + 0x34, 0x0F, 0x4D, 0x4E, 0x3E, 0x87, 0x91, 0x09, 0x01, 0x12, 0x3F, 0xFE, 0x35, 0xD5, 0x79, 0xEB, + 0x9E, 0x41, 0xAF, 0x66, 0x03, 0x6D, 0x8F, 0xE2, 0xCA, 0x1C, 0x2F, 0xBB, 0x32, 0x81, 0xD3, 0x26, + 0x19, 0x2C, 0x34, 0xCD, 0xE9, 0xBE, 0x01, 0x1B, 0xEC, 0xFF, 0x96, 0x75, 0x85, 0xD5, 0xE8, 0x5D, + 0x39, 0xB7, 0x9F, 0x11, 0xE5, 0x67, 0x89, 0xB6, 0xB0, 0xC9, 0xDD, 0xA6, 0x2D, 0xC9, 0x12, 0xCB, + 0x69, 0xD6, 0x9E, 0xB1, 0xA3, 0xC5, 0x96, 0x47, 0x28, 0x60, 0x74, 0x35, 0xA2, 0x53, 0x49, 0x13, + 0xBA, 0x39, 0x3B, 0x17, 0x33, 0x38, 0xBD, 0xBF, 0x66, 0xF6, 0x05, 0x56, 0x22, 0xDB, 0x2A, 0x3C, + 0x66, 0xDF, 0x35, 0x51, 0x60, 0xCF, 0xF0, 0x93, 0xF3, 0xF9, 0xEC, 0x55, 0x79, 0xD0, 0x3F, 0x27, + 0x93, 0x24, 0x76, 0x33, 0x78, 0xA6, 0xD5, 0x54, 0xE6, 0x3D, 0xDE, 0xE3, 0x83, 0x28, 0x29, 0xC0, + 0xD2, 0x76, 0xC9, 0xB4, 0xD4, 0x4B, 0x0A, 0xB7, 0x58, 0xB7, 0x5B, 0x5A, 0x7E, 0x4C, 0x39, 0x2C, + 0x12, 0xD6, 0x4B, 0xF8, 0x3F, 0xC0, 0x80, 0x70, 0x95, 0x27, 0x8D, 0x44, 0x79, 0x16, 0x14, 0x7C, + 0x33, 0xD4, 0x64, 0xF4, 0x62, 0x2B, 0x42, 0x12, 0x00, 0xB6, 0xA2, 0x77, 0xF2, 0x07, 0x4A, 0x75, + 0x89, 0xCC, 0x9B, 0x7D, 0x6B, 0x8F, 0x83, 0x5F, 0x24, 0x11, 0x24, 0x02, 0x47, 0x70, 0x2F, 0x50, + 0x6D, 0xD3, 0xBF, 0x35, 0xAD, 0xB2, 0x3C, 0x98, 0xA9, 0x02, 0x56, 0xD6, 0x92, 0x68, 0x8A, 0xDF, + 0x56, 0x1E, 0xA3, 0x38, 0x75, 0x8A, 0x70, 0x21, 0x6F, 0xF1, 0x84, 0x37, 0xA5, 0xEE, 0xD2, 0xEB, + 0xB7, 0xE9, 0x43, 0xC1, 0xD1, 0xB3, 0x9D, 0x54, 0x91, 0x53, 0x69, 0x2A, 0xAA, 0x87, 0x11, 0x0C, + 0x4D, 0xEB, 0x69, 0x69, 0xD9, 0x01, 0xCC, 0xF6, 0x2E, 0xF2, 0x04, 0x38, 0x1F, 0xBB, 0x39, 0x6C, + 0x13, 0x80, 0x37, 0xBA, 0xE4, 0x2D, 0xC2, 0xFC, 0xD2, 0xB8, 0x21, 0xC0, 0x3D, 0xD6, 0xBB, 0xE1, + 0x5E, 0x2F, 0x51, 0xAC, 0x55, 0xDB, 0x14, 0x1D, 0x7E, 0x19, 0x07, 0x2A, 0x00, 0x12, 0xA6, 0x5A, + 0x02, 0x59, 0x36, 0x4B, 0x08, 0x4F, 0xB1, 0x88, 0xAE, 0x02, 0x6F, 0x81, 0x53, 0x9C, 0x8D, 0x83, + 0x01, 0x12, 0x7E, 0x83, 0x8F, 0xBB, 0xF3, 0xF1, 0x67, 0xB0, 0xCC, 0x2F, 0x92, 0xD4, 0x8F, 0xD0, + 0xC3, 0xA9, 0xB3, 0x77, 0x6D, 0xAD, 0xF0, 0x7A, 0x5A, 0x6D, 0x90, 0x17, 0xAB, 0xBE, 0x9F, 0x93, + 0x9C, 0x59, 0x10, 0xFD, 0x41, 0xF5, 0xDA, 0xD9, 0x83, 0x72, 0xD0, 0x56, 0xB8, 0x73, 0x47, 0x0C, + 0x01, 0xF8, 0xFF, 0xA0, 0x75, 0x97, 0xF6, 0x88, 0xA2, 0xC7, 0x13, 0x18, 0x3E, 0x7B, 0x55, 0x2D, + 0x11, 0xEA, 0xFA, 0x9B, 0xFA, 0xEA, 0xE1, 0x80, 0x19, 0xC9, 0xAA, 0x6B, 0x58, 0xCD, 0x36, 0xD9, + 0xBF, 0xCB, 0x68, 0x9B, 0xE2, 0xFD, 0x6E, 0x8E, 0x77, 0x3D, 0x96, 0x1A, 0xE7, 0xCD, 0x7F, 0xC6, + 0x4A, 0xD0, 0xFB, 0x47, 0xD6, 0xF5, 0xE8, 0x82, 0xC8, 0xF2, 0x13, 0xBB, 0x71, 0x94, 0x8D, 0x40, + 0xBF, 0x71, 0xC2, 0x55, 0x71, 0xDF, 0x5C, 0xD6, 0x85, 0x81, 0x11, 0x5F, 0x0B, 0x70, 0xDD, 0xFE, + 0xC0, 0x60, 0xF3, 0x18, 0x3D, 0xD0, 0xDC, 0x0D, 0xFF, 0x01, 0x4A, 0x32, 0x89, 0x9C, 0x4E, 0x2B, + 0xFF, 0x64, 0x44, 0x7D, 0xFD, 0x14, 0x04, 0x4F, 0x60, 0xBD, 0xEC, 0xFE, 0xE1, 0x98, 0xD0, 0x13, + 0xDF, 0xA6, 0xF5, 0x16, 0x9F, 0x7A, 0xE8, 0xC6, 0x99, 0x4B, 0xEB, 0x4D, 0x15, 0xF1, 0x1C, 0x43, + 0x37, 0xED, 0xB6, 0xFD, 0x3E, 0xFE, 0xA8, 0xD8, 0x74, 0xEF, 0x61, 0xAA, 0xE5, 0x9B, 0x42, 0x55, + 0xA8, 0xDA, 0xBB, 0x94, 0xCA, 0xE6, 0x4F, 0xCE, 0xD0, 0x50, 0x96, 0x93, 0x18, 0x7D, 0xF4, 0x82, + 0x5D, 0xBE, 0x38, 0x79, 0xED, 0x47, 0xF9, 0xE8, 0x5F, 0x9D, 0x97, 0x63, 0x61, 0xB2, 0xFC, 0xE5, + 0xC7, 0x1F, 0x0B, 0x0F, 0x2E, 0x34, 0x81, 0xA3, 0x6A, 0xFC, 0xA6, 0x2F, 0xB1, 0x94, 0xF8, 0x39, + 0xC4, 0x5B, 0x81, 0xA3, 0xD0, 0x3C, 0x41, 0x23, 0xEC, 0xEE, 0x9F, 0x1B, 0xBC, 0xE7, 0x74, 0x40, + 0x79, 0x1A, 0xBA, 0x85, 0xB9, 0xD6, 0xDC, 0x24, 0xB4, 0xD4, 0x92, 0x51, 0xC1, 0x75, 0xD6, 0x46, + 0xC7, 0xE3, 0x5B, 0xA2, 0x00, 0x12, 0xD5, 0x85, 0x4D, 0x02, 0x7B, 0x26, 0xB6, 0x1E, 0x0C, 0xED, + 0x97, 0xCB, 0x2F, 0xE2, 0xB8, 0x97, 0xFA, 0x29, 0x01, 0x12, 0xB8, 0xA9, 0x7E, 0x11, 0x95, 0x4A, + 0x4D, 0x21, 0x71, 0x78, 0x76, 0x21, 0x8C, 0x4B, 0xE3, 0x4F, 0x7B, 0xF3, 0x3A, 0xE9, 0xC0, 0x81, + 0x77, 0x72, 0xF2, 0x77, 0x7F, 0x40, 0x02, 0x5D, 0x28, 0x30, 0xA8, 0xF2, 0x25, 0x0B, 0x87, 0x86, + 0x77, 0x00, 0x03, 0x35, 0x59, 0x7D, 0x3B, 0xFA, 0x44, 0x41, 0x8A, 0xBD, 0x67, 0xDC, 0xDF, 0x9B, + 0xD2, 0x50, 0x02, 0xF4, 0xEC, 0x51, 0x89, 0x4A, 0x62, 0x60, 0x6E, 0x8B, 0x9A, 0xC4, 0x08, 0xED, + 0xF1, 0x34, 0xAB, 0x10, 0x62, 0x5B, 0xDF, 0x45, 0x7A, 0x4A, 0xBE, 0x61, 0xA5, 0xB1, 0xB4, 0xF5, + 0xA7, 0x71, 0xA2, 0xE3, 0x0F, 0x5E, 0xFF, 0x4F, 0xAC, 0x83, 0xED, 0x96, 0x21, 0x07, 0x0E, 0xE4, + 0xE4, 0x01, 0x8B, 0xF6, 0x4A, 0xE3, 0x0B, 0x65, 0x08, 0x23, 0x70, 0x2F, 0xC7, 0x28, 0x66, 0xF2, + 0xE1, 0xC8, 0x4F, 0x50, 0x9E, 0x01, 0x95, 0xAA, 0xE6, 0x80, 0xC8, 0x96, 0x23, 0xAE, 0xF4, 0x30, + 0x41, 0xF7, 0xBD, 0x28, 0x6B, 0xB4, 0xEA, 0xD1, 0x41, 0xC7, 0x9D, 0xDF, 0xE2, 0x54, 0x96, 0xA0, + 0x5A, 0x89, 0x3F, 0xAF, 0xC3, 0x6F, 0x32, 0x7B, 0xF9, 0xF6, 0x8F, 0xF1, 0x66, 0xE5, 0x72, 0xE4, + 0x18, 0x4E, 0x54, 0x60, 0x9B, 0xAA, 0x42, 0x3F, 0xFF, 0xD0, 0xF9, 0xF3, 0x1D, 0xC3, 0x87, 0x49, + 0x5F, 0xD8, 0xAD, 0xE2, 0xF7, 0xFA, 0x3E, 0xF4, 0x16, 0x6A, 0x8C, 0xFD, 0x97, 0xEA, 0x01, 0xEE, + 0x1D, 0x44, 0x8B, 0x1B, 0x38, 0x8A, 0x0A, 0x2D, 0xF3, 0xD6, 0xDB, 0x73, 0xDF, 0x7F, 0x05, 0x31, + 0x1D, 0xDE, 0x2E, 0xC2, 0x92, 0x0B, 0xDA, 0xAD, 0xBD, 0xCB, 0x2C, 0x57, 0x77, 0x48, 0x6C, 0xA1, + 0x98, 0xCE, 0x73, 0x49, 0xE5, 0x86, 0x40, 0x4C, 0xA4, 0x01, 0xAA, 0x37, 0xC7, 0x55, 0x80, 0x20, + 0x1F, 0x0C, 0xDF, 0x86, 0xFA, 0xBC, 0xF3, 0xEF, 0x0F, 0x7F, 0xBD, 0xB4, 0x90, 0x4B, 0x8A, 0xD3, + 0xB6, 0xB9, 0xB2, 0x97, 0xF2, 0xBB, 0x52, 0xF7, 0x4A, 0xFD, 0xA1, 0xEE, 0x00, 0x12, 0x2E, 0x90, + 0x29, 0xFC, 0xB9, 0x9B, 0x51, 0xA6, 0xC6, 0xDF, 0x63, 0x65, 0x59, 0xFF, 0x02, 0x9C, 0x33, 0x55, + 0x01, 0x12, 0x26, 0x7C, 0xC2, 0x8B, 0x0C, 0xC6, 0x96, 0xD2, 0xAA, 0xF8, 0xAB, 0x3D, 0x37, 0xC6, + 0xED, 0x5E, 0xA5, 0x9D, 0x9A, 0xAF, 0x67, 0x53, 0xD9, 0xEE, 0x77, 0xC2, 0xB8, 0x1A, 0x44, 0x22, + 0x78, 0x25, 0x6B, 0xD9, 0x6B, 0xED, 0x40, 0xB2, 0xC9, 0x9E, 0x16, 0x42, 0xEA, 0x90, 0xA8, 0x5D, + 0x88, 0x4B, 0x31, 0x32, 0xB4, 0x3C, 0x42, 0xD6, 0x63, 0x55, 0x6B, 0xBB, 0x47, 0x69, 0x7C, 0x49, + 0x80, 0x72, 0x1F, 0xDE, 0x1D, 0x48, 0xE5, 0xE6, 0xE2, 0x37, 0xC6, 0x4F, 0x30, 0xB8, 0x23, 0x15, + 0x22, 0x87, 0x56, 0x00, 0x95, 0x9C, 0x71, 0xFF, 0x04, 0xC8, 0x67, 0x7E, 0xD2, 0x8C, 0x48, 0x71, + 0x4E, 0x9F, 0xCA, 0x62, 0x33, 0x26, 0x3B, 0x37, 0x22, 0xDC, 0xEE, 0x8B, 0x6E, 0x3E, 0xDE, 0x2D, + 0x88, 0x40, 0xF1, 0x12, 0xE9, 0xC2, 0x65, 0x00, 0x2D, 0xBF, 0x84, 0x7F, 0x58, 0x4D, 0x14, 0x42, + 0xAE, 0xC9, 0xCA, 0xEA, 0x37, 0x47, 0x4B, 0x68, 0x3E, 0x55, 0x38, 0xC7, 0x6A, 0x92, 0x8E, 0x5E, + 0x0E, 0xB3, 0x0E, 0xB1, 0x8C, 0xBA, 0xC1, 0x79, 0x81, 0x78, 0xC1, 0x34, 0xD8, 0xD4, 0x9A, 0x14, + 0x8A, 0x4E, 0x87, 0xEC, 0xD4, 0xE0, 0x9C, 0x7C, 0xDC, 0x39, 0xA6, 0x90, 0xC9, 0xAA, 0x77, 0xAF, + 0x41, 0xA8, 0x97, 0x57, 0xD9, 0xF8, 0xA6, 0x41, 0xB0, 0xAA, 0x3B, 0x91, 0x78, 0x2D, 0xFA, 0x3C, + 0x0D, 0x8C, 0xD7, 0x3C, 0x3D, 0x1C, 0x1D, 0x17, 0x18, 0xBE, 0x2B, 0x68, 0x05, 0x6B, 0xC9, 0x17, + 0xD2, 0x6A, 0x23, 0xD6, 0xA4, 0xB4, 0x7D, 0xFC, 0x32, 0x47, 0x33, 0x52, 0x44, 0x80, 0x67, 0x34, + 0xBB, 0x87, 0x61, 0xCE, 0x32, 0x4D, 0x19, 0xB7, 0xB7, 0x72, 0x14, 0xD9, 0x00, 0x5D, 0x69, 0xA6, + 0x39, 0x03, 0xFD, 0xE8, 0x7D, 0x94, 0x82, 0xD0, 0x72, 0x10, 0x0F, 0xB8, 0x22, 0x9C, 0x68, 0xF5, + 0xD8, 0xC1, 0x0B, 0x04, 0x50, 0x0E, 0x4D, 0xFF, 0x3B, 0x69, 0x0F, 0x46, 0x34, 0xC4, 0x18, 0x9D, + 0xF6, 0xF0, 0x2C, 0xB0, 0x00, 0x12, 0x52, 0xE6, 0x1C, 0xF4, 0xA0, 0x42, 0xE8, 0xA6, 0xF2, 0x1C, + 0x91, 0x66, 0x47, 0xB3, 0xF4, 0xC5, 0x65, 0x75, 0x01, 0x12, 0x9B, 0x57, 0x70, 0xB1, 0x61, 0x11, + 0x0E, 0xF2, 0xE4, 0xD5, 0xD8, 0x8D, 0xAC, 0x29, 0xEE, 0x37, 0x0A, 0x38, 0x76, 0x0F, 0xCD, 0x19, + 0xAF, 0x37, 0x0A, 0x65, 0x4D, 0xE6, 0x1E, 0x5C, 0x2B, 0x80, 0x53, 0x19, 0xF6, 0x61, 0x96, 0xEB, + 0xD4, 0x48, 0xDA, 0x47, 0xDE, 0x64, 0x7A, 0x7D, 0xC2, 0xF4, 0x92, 0xB5, 0xFE, 0x48, 0x81, 0x04, + 0x22, 0xE3, 0xDE, 0x27, 0xCE, 0xFD, 0xE3, 0x3A, 0x94, 0xC4, 0xF1, 0x3D, 0x58, 0xFC, 0x46, 0x36, + 0x10, 0xA3, 0xB1, 0x7D, 0x30, 0xA5, 0x1D, 0x32, 0xF5, 0x62, 0xD6, 0x16, 0x6E, 0x6C, 0x83, 0x1A, + 0x8B, 0x3E, 0x32, 0xA1, 0x19, 0xCD, 0x9A, 0x1F, 0xB9, 0xA7, 0xF0, 0x99, 0x75, 0x84, 0xCF, 0x9B, + 0xF8, 0x1D, 0x3B, 0x79, 0xA0, 0x96, 0xA7, 0xA7, 0xA9, 0x0C, 0x24, 0xBB, 0x93, 0xB8, 0xAB, 0x84, + 0xA5, 0x11, 0xB5, 0x80, 0x29, 0xEB, 0xEC, 0x65, 0xAC, 0x9B, 0xC1, 0x0D, 0x8C, 0x01, 0x5E, 0x09, + 0xA5, 0x7D, 0xFA, 0x4B, 0x16, 0x63, 0x98, 0x31, 0x3B, 0xC4, 0x03, 0x10, 0x9C, 0xEC, 0x8B, 0x81, + 0x6F, 0x9B, 0x8D, 0x36, 0x5E, 0xEF, 0x9C, 0x1C, 0xC6, 0xE5, 0x10, 0xDD, 0x78, 0x89, 0x38, 0x5F, + 0xA3, 0x41, 0x2D, 0x52, 0x70, 0xDF, 0x6C, 0x65, 0x15, 0x10, 0x6D, 0xFB, 0x9E, 0x0B, 0xE6, 0x5F, + 0x07, 0xBE, 0x62, 0xD9, 0x6F, 0x7F, 0x56, 0x7E, 0x59, 0x6C, 0x4E, 0xBC, 0x56, 0xC7, 0x94, 0xE9, + 0x2A, 0x3D, 0x58, 0xB7, 0x85, 0x71, 0x6B, 0x09, 0x24, 0x8B, 0xF9, 0xF7, 0x87, 0x45, 0x93, 0xE4, + 0xC6, 0x5B, 0xBD, 0x8D, 0xAF, 0xA5, 0x0A, 0xC3, 0x3A, 0xE4, 0xA4, 0x29, 0xA8, 0x4F, 0xBF, 0x22, + 0xD4, 0x18, 0x0F, 0x5C, 0x1A, 0x0B, 0x11, 0x54, 0xF6, 0x60, 0x29, 0x31, 0x06, 0xEF, 0x17, 0xA6, + 0x1E, 0x7A, 0x4C, 0x26, 0xA2, 0x24, 0xF1, 0xA7, 0x1C, 0x63, 0x89, 0x50, 0x47, 0x15, 0x91, 0xA8, + 0xFD, 0x66, 0x8A, 0xA7, 0xD3, 0xB9, 0x03, 0x73, 0xB4, 0x12, 0x18, 0xAF, 0x00, 0x12, 0x0E, 0xA8, + 0xEF, 0x63, 0x0B, 0x62, 0x02, 0x0A, 0xA0, 0xE7, 0xB4, 0xD9, 0x1B, 0xDC, 0x6E, 0x3E, 0x84, 0xE2, + 0x01, 0x12, 0x9E, 0x98, 0xAC, 0xD6, 0x89, 0x99, 0x84, 0x28, 0xCB, 0xBD, 0x12, 0x14, 0x8A, 0xF5, + 0x99, 0x6D, 0x69, 0xF9, 0x0A, 0x8C, 0x0C, 0xFF, 0x00, 0xAC, 0x4F, 0x1C, 0xC2, 0xB5, 0x92, 0xBA, + 0x66, 0x41, 0x67, 0x0C, 0xBE, 0xCF, 0x9D, 0x83, 0x5E, 0x49, 0x2C, 0x40, 0xC5, 0x3D, 0x73, 0x05, + 0xC3, 0xD4, 0x16, 0xF9, 0x76, 0x59, 0x65, 0xA6, 0x60, 0x9C, 0xE4, 0xF6, 0xEE, 0x4A, 0x1E, 0xFB, + 0x71, 0x6E, 0xFD, 0x6B, 0xA7, 0xA4, 0xFF, 0x2E, 0xE0, 0xCE, 0xD5, 0xD8, 0x0E, 0xC3, 0x60, 0x1A, + 0x8C, 0x32, 0x6B, 0x03, 0x99, 0xAB, 0x87, 0x0F, 0xFC, 0xD3, 0xB7, 0x30, 0x86, 0xC8, 0xB1, 0x5F, + 0x61, 0x1C, 0x9E, 0x40, 0xB2, 0x31, 0xB7, 0x3C, 0x6B, 0xFE, 0x8C, 0x06, 0x5B, 0x0A, 0xFA, 0x9C, + 0x67, 0xCC, 0xAD, 0x6E, 0x4C, 0x02, 0x92, 0xF2, 0x35, 0xBB, 0xAD, 0xCF, 0x90, 0x3D, 0xD2, 0xD3, + 0xC7, 0x2F, 0x5C, 0x23, 0x51, 0x39, 0x74, 0xE3, 0x49, 0x07, 0xEB, 0xEE, 0xFE, 0xB2, 0xDF, 0x3B, + 0x26, 0xF9, 0xB0, 0xB2, 0xD2, 0x67, 0xE3, 0x2E, 0x2F, 0x36, 0x10, 0x9C, 0x45, 0xF6, 0xC4, 0xCE, + 0xED, 0x66, 0x47, 0x95, 0xCD, 0x1D, 0xEB, 0x34, 0x55, 0x54, 0x3C, 0x57, 0x14, 0x41, 0x20, 0xB9, + 0xEE, 0x7C, 0xF1, 0x95, 0xAE, 0xFA, 0x12, 0xD7, 0x1D, 0xF5, 0x70, 0xC4, 0xE0, 0x1A, 0xEC, 0x9D, + 0xD8, 0xB2, 0xD6, 0x06, 0x61, 0x90, 0x71, 0x87, 0xE8, 0x57, 0x04, 0x99, 0x23, 0x7F, 0x7D, 0xFB, + 0xFA, 0xFA, 0xC8, 0xCC, 0xEF, 0x2F, 0xAF, 0x98, 0xA3, 0x0B, 0xF5, 0xC5, 0x1D, 0x6B, 0xB4, 0x3D, + 0x63, 0xFA, 0x30, 0x8A, 0x87, 0xB2, 0xEE, 0xE8, 0xEA, 0x37, 0x9E, 0xFB, 0xC9, 0x44, 0x10, 0x50, + 0xD4, 0x3A, 0xC1, 0xDF, 0x75, 0x33, 0x2E, 0x7B, 0x6C, 0xE0, 0x0D, 0x1A, 0xF1, 0x66, 0x24, 0x16, + 0xC8, 0x2D, 0xCD, 0xE4, 0xAB, 0x99, 0x38, 0xD4, 0x6D, 0x0E, 0xE3, 0x6D, 0xD5, 0x58, 0xBE, 0xA3, + 0x4B, 0x2C, 0xFA, 0x4E, 0x00, 0x12, 0xFA, 0x5C, 0xD1, 0x76, 0x7B, 0x94, 0x23, 0x2D, 0x9C, 0x90, + 0xD0, 0xE2, 0xFC, 0x65, 0x22, 0x8E, 0x43, 0x3D, 0x01, 0x12, 0x09, 0x25, 0x67, 0xBE, 0x67, 0x6A, + 0x78, 0xEC, 0x65, 0x6F, 0x4C, 0xEE, 0x7C, 0x12, 0x63, 0xD9, 0xA0, 0xB2, 0x23, 0xC8, 0x5C, 0x86, + 0x9B, 0x44, 0xE7, 0x2B, 0x7D, 0xD8, 0xFB, 0x14, 0x85, 0xF1, 0xA2, 0x83, 0x11, 0x5D, 0x8F, 0x24, + 0x92, 0x67, 0xD3, 0xA5, 0xB5, 0xCA, 0x20, 0x25, 0x97, 0x27, 0x05, 0x88, 0xBD, 0xC7, 0x15, 0x54, + 0x5C, 0x6B, 0x13, 0x36, 0xBD, 0x2C, 0x62, 0x83, 0x2E, 0xB1, 0x54, 0x2D, 0x5A, 0xC0, 0x12, 0xB1, + 0x3F, 0x3B, 0x40, 0x59, 0xFD, 0x93, 0x20, 0x49, 0x1D, 0x1D, 0x9E, 0x49, 0x1E, 0xC5, 0x4A, 0x4A, + 0xD2, 0x75, 0x35, 0x79, 0xD1, 0x1E, 0xF6, 0x9C, 0x91, 0x2D, 0xFF, 0x5C, 0x25, 0x31, 0x7A, 0xA0, + 0xCD, 0xF2, 0x4D, 0xAC, 0xB4, 0x4C, 0x8E, 0x89, 0x7B, 0x2D, 0xEB, 0x82, 0x54, 0x46, 0x4F, 0x1F, + 0xAA, 0xCA, 0x96, 0xC2, 0xCF, 0x65, 0xDC, 0x7E, 0xC1, 0x1C, 0x75, 0xDB, 0xDA, 0x16, 0xEF, 0x29, + 0x17, 0x8A, 0x79, 0x72, 0xF4, 0x81, 0x7D, 0xD5, 0x15, 0xDD, 0xBF, 0xF8, 0x77, 0x61, 0x7C, 0x4A, + 0x87, 0x9D, 0x55, 0xB2, 0x86, 0xD8, 0x77, 0xFD, 0x82, 0xE4, 0xB5, 0xE3, 0xD5, 0xBF, 0x97, 0xB9, + 0x1C, 0xD1, 0x27, 0x98, 0xFD, 0x48, 0x5B, 0x80, 0xDC, 0x43, 0xBF, 0x20, 0x74, 0x64, 0x96, 0x16, + 0x14, 0x9D, 0x33, 0x2F, 0xB3, 0xE0, 0xA1, 0x2C, 0x31, 0x19, 0xE0, 0xBD, 0x20, 0x45, 0xC2, 0x38, + 0xA0, 0x70, 0x17, 0x91, 0xEB, 0x1E, 0x5A, 0x47, 0x9F, 0x97, 0x7D, 0xF9, 0x4E, 0x5E, 0x80, 0x66, + 0xC0, 0xCB, 0x5F, 0x6C, 0x82, 0x64, 0xF8, 0xB1, 0xBF, 0xC7, 0x0D, 0x61, 0x10, 0x55, 0x39, 0xCF, + 0x6A, 0x4C, 0xC6, 0xB3, 0xC2, 0x3D, 0xC5, 0x81, 0xA6, 0xBB, 0xCB, 0xBD, 0x93, 0x10, 0x50, 0xC3, + 0x54, 0x84, 0xEA, 0x14, 0x4E, 0xB1, 0x04, 0x35, 0xE1, 0x78, 0xEE, 0x12, 0x2F, 0xFA, 0x9B, 0x01, + 0x9A, 0xF3, 0x29, 0xDC, 0x45, 0x21, 0xE1, 0xA7, 0x38, 0xB4, 0x1D, 0xA4, 0x00, 0x12, 0x08, 0x35, + 0x6A, 0x2F, 0xF1, 0x8B, 0xD7, 0xD5, 0xDC, 0x8F, 0xB4, 0x50, 0x39, 0x4E, 0x2A, 0xDB, 0x8C, 0xE1, + 0x01, 0x12, 0x57, 0x2C, 0xAD, 0x83, 0x9F, 0x10, 0xB7, 0x98, 0xAA, 0x7E, 0xB1, 0x9E, 0xBD, 0xCB, + 0x4A, 0xA2, 0xEF, 0x97, 0x94, 0x97, 0x8A, 0x6F, 0x02, 0xF8, 0xB7, 0x35, 0xD2, 0xA6, 0xD2, 0x35, + 0xC4, 0x05, 0x43, 0xA8, 0xB4, 0x24, 0x53, 0x77, 0xC9, 0x5A, 0x8F, 0x50, 0x60, 0x5F, 0x31, 0x4F, + 0x71, 0x2D, 0x14, 0x41, 0x54, 0xD2, 0x8E, 0xB9, 0x18, 0x85, 0x96, 0xB1, 0x89, 0x3E, 0x73, 0x22, + 0xD5, 0x1E, 0x76, 0xF3, 0x29, 0x9E, 0x46, 0xE3, 0xDC, 0x32, 0x9C, 0x44, 0xE1, 0x1B, 0x43, 0xED, + 0x75, 0x1C, 0xAC, 0x7A, 0xAA, 0xB4, 0xA2, 0x89, 0xBA, 0x75, 0x95, 0xDD, 0xD2, 0x70, 0xB3, 0xCF, + 0xA0, 0xD6, 0xF2, 0x5F, 0xDF, 0x12, 0x69, 0x18, 0x77, 0x28, 0xBA, 0xDC, 0x03, 0xB7, 0xAD, 0xBE, + 0x00, 0xAF, 0x62, 0x4F, 0x33, 0xCA, 0x56, 0x53, 0x7C, 0xC9, 0xAB, 0x9D, 0xAD, 0xEA, 0x0C, 0x77, + 0x9F, 0x8E, 0xE2, 0xE4, 0xDC, 0x64, 0x79, 0x24, 0xFF, 0x62, 0xFB, 0x7C, 0x77, 0x96, 0xA9, 0x01, + 0x3E, 0xCF, 0x25, 0x8E, 0x9E, 0xFE, 0xA5, 0x75, 0xEE, 0x0A, 0x20, 0x0F, 0x77, 0x30, 0xE2, 0xD4, + 0x9F, 0xED, 0xA5, 0x52, 0x1C, 0x22, 0x18, 0x8E, 0x04, 0x3E, 0x66, 0x97, 0x6B, 0x59, 0xA9, 0x39, + 0xCC, 0xC3, 0x40, 0xDE, 0xA0, 0xD8, 0x78, 0x1D, 0x39, 0xAD, 0x1F, 0xD5, 0x65, 0x37, 0xA0, 0x01, + 0x47, 0xC6, 0xDA, 0x8F, 0x4F, 0x3F, 0x63, 0xD0, 0x99, 0x53, 0x7F, 0xF1, 0x33, 0x36, 0x2E, 0x0B, + 0x44, 0xB5, 0xDD, 0x06, 0x8A, 0xFF, 0x9A, 0xA9, 0x3E, 0x4B, 0x1E, 0xE1, 0xA5, 0xAF, 0x80, 0x24, + 0xCE, 0x3C, 0x76, 0xC4, 0x7D, 0x9C, 0xE1, 0xFA, 0xCB, 0x38, 0x12, 0xC3, 0x40, 0xA7, 0x19, 0x95, + 0x9A, 0xDE, 0x55, 0x30, 0xD3, 0x67, 0xA1, 0xF4, 0x9D, 0x3A, 0xC4, 0x6C, 0x63, 0xE1, 0xF7, 0x77, + 0x04, 0xDF, 0x11, 0x4D, 0xAB, 0x12, 0xF8, 0x12, 0x2B, 0x1D, 0xA9, 0xF9, 0x80, 0x49, 0x88, 0x90, + 0x57, 0x9B, 0x1E, 0x83, 0x00, 0x12, 0x29, 0xFA, 0x5F, 0x41, 0xBA, 0x58, 0x20, 0x64, 0xD4, 0x0D, + 0xBD, 0x23, 0x37, 0x6D, 0xE6, 0x87, 0xFF, 0xC3, 0x01, 0x12, 0xA6, 0xB8, 0x41, 0xB8, 0xA1, 0x7C, + 0xB7, 0xFC, 0x4A, 0xFC, 0x5C, 0x76, 0x03, 0xB0, 0x4D, 0x52, 0x3F, 0xB2, 0x4C, 0xD8, 0xD5, 0xAC, + 0x48, 0x88, 0x7B, 0x71, 0xAA, 0xD6, 0xC2, 0xA1, 0x32, 0xBB, 0xD8, 0x67, 0x98, 0x85, 0x68, 0x93, + 0x4E, 0x7D, 0xC9, 0x06, 0xC7, 0x4D, 0x28, 0xE5, 0xD2, 0x57, 0xA6, 0x77, 0x54, 0xFF, 0xE4, 0x32, + 0x4B, 0x4A, 0xF3, 0x9D, 0xC5, 0x79, 0x31, 0x5F, 0x42, 0x0C, 0x8F, 0x34, 0x69, 0x3A, 0xAD, 0xDA, + 0x1D, 0x10, 0x90, 0x0E, 0x60, 0x1D, 0xA5, 0xCF, 0xED, 0x33, 0x9A, 0x89, 0x59, 0xE7, 0xDD, 0x7A, + 0x9F, 0x36, 0xC1, 0xBB, 0x8E, 0x6C, 0x4F, 0xDF, 0x62, 0x78, 0xF9, 0xD8, 0x83, 0x91, 0xDF, 0xE8, + 0x9D, 0x90, 0xC7, 0x4D, 0xC3, 0xF8, 0x33, 0xB3, 0x26, 0x4E, 0x29, 0xC7, 0xD5, 0x6F, 0x46, 0x7F, + 0x48, 0x57, 0x42, 0x0C, 0xC3, 0xBC, 0xA0, 0x0B, 0x7C, 0x7F, 0x32, 0x71, 0xFF, 0x75, 0xFD, 0xCB, + 0x0D, 0xD4, 0x4F, 0x1E, 0x54, 0x06, 0x62, 0x46, 0x24, 0x3E, 0x3F, 0xA3, 0xA4, 0xC5, 0x41, 0x80, + 0x95, 0x63, 0xF5, 0x3E, 0xC0, 0x42, 0x1C, 0x34, 0xB2, 0x35, 0x5C, 0x76, 0x20, 0x8C, 0x87, 0x65, + 0xB0, 0x18, 0x3C, 0x01, 0xD3, 0x6E, 0x08, 0x24, 0x61, 0x3C, 0x45, 0x67, 0x14, 0x50, 0x07, 0xA0, + 0x30, 0xB0, 0xBC, 0xD1, 0xAB, 0x32, 0xCD, 0xB5, 0x14, 0xA7, 0x96, 0x1C, 0x5E, 0xF8, 0xC7, 0x57, + 0x27, 0x86, 0x53, 0x34, 0xD7, 0x04, 0xAA, 0x57, 0xA5, 0x74, 0xD6, 0xA4, 0x60, 0x42, 0x96, 0xDD, + 0xA2, 0xAA, 0x67, 0xCB, 0xC4, 0x96, 0x87, 0x7B, 0x68, 0x37, 0xD8, 0xB6, 0x0C, 0x76, 0xA8, 0xD5, + 0xA4, 0x3E, 0x83, 0x32, 0xBF, 0x92, 0x14, 0xC8, 0xBA, 0xCB, 0xE8, 0xCC, 0xD7, 0x9A, 0xCD, 0xA1, + 0x38, 0x3A, 0xC1, 0xEB, 0x2A, 0x14, 0x44, 0xC7, 0xF8, 0xEB, 0x51, 0x9A, 0xB7, 0xD7, 0x3C, 0xCD, + 0x77, 0xAA, 0x4B, 0xF0, 0x4A, 0xE4, 0xF2, 0x4D, 0x81, 0xC0, 0x62, 0x75, 0x00, 0x12, 0xB0, 0xC2, + 0x28, 0xF4, 0x7C, 0xA2, 0x32, 0x24, 0x11, 0x9C, 0x04, 0xC0, 0x98, 0x13, 0x39, 0xE6, 0x8E, 0x42, + 0x01, 0x12, 0x87, 0x51, 0xA6, 0xE8, 0xFA, 0x94, 0x18, 0xF9, 0x62, 0xB7, 0xEF, 0x04, 0x66, 0xFD, + 0x88, 0xC2, 0xA8, 0xB3, 0x38, 0x9C, 0xFA, 0x1B, 0xF9, 0x3B, 0xEF, 0xCD, 0xCE, 0xE6, 0xD0, 0xB4, + 0x7C, 0xB6, 0xA6, 0x98, 0xB8, 0xA7, 0xE3, 0xBF, 0x26, 0x5B, 0x77, 0x42, 0x05, 0x2D, 0x03, 0x46, + 0xD7, 0x25, 0x59, 0x81, 0x68, 0x6B, 0xCD, 0x0D, 0x19, 0x94, 0x2F, 0x4F, 0x96, 0x88, 0x44, 0x0F, + 0xD7, 0x19, 0x13, 0x05, 0xDA, 0xAB, 0x9A, 0x1D, 0xFF, 0x5D, 0x61, 0x42, 0xE9, 0x0A, 0x56, 0xFA, + 0xB7, 0x6F, 0x57, 0xE1, 0x7B, 0x61, 0x5D, 0xD7, 0x60, 0x7E, 0x40, 0x35, 0x3B, 0x1D, 0xE3, 0xEB, + 0xF3, 0x36, 0x85, 0x5E, 0xB5, 0x9D, 0x26, 0xD4, 0x64, 0x7A, 0x1E, 0x54, 0x71, 0xBE, 0x15, 0x4F, + 0xD2, 0x13, 0x12, 0x9A, 0xB7, 0xD9, 0xDB, 0xEB, 0x2E, 0x03, 0x66, 0x3C, 0x10, 0xFD, 0xB3, 0x40, + 0x71, 0x51, 0xE8, 0xCF, 0x79, 0x75, 0xDB, 0xE8, 0x1D, 0xF3, 0x4C, 0xB0, 0xEF, 0x7F, 0x07, 0x51, + 0x75, 0x52, 0x80, 0x27, 0xD4, 0xB0, 0x4C, 0x0D, 0x14, 0xF5, 0x45, 0x6E, 0x0A, 0xED, 0x33, 0xBA, + 0xA4, 0xC4, 0xFE, 0xDD, 0xE0, 0xBE, 0x56, 0xCA, 0xAD, 0xDD, 0x8D, 0xAC, 0x2D, 0x33, 0xAC, 0xF3, + 0x6D, 0x39, 0xB2, 0xA8, 0x7A, 0x8D, 0xD9, 0xE0, 0xD6, 0xBA, 0xCD, 0x97, 0x99, 0x5E, 0xB0, 0x15, + 0xE3, 0x5F, 0x41, 0x61, 0xBB, 0x3C, 0xF1, 0xB9, 0x6D, 0x0F, 0x39, 0x5D, 0xC3, 0x4B, 0x74, 0x6D, + 0xE0, 0xC5, 0x70, 0x77, 0x78, 0xD9, 0x38, 0x85, 0xC9, 0x9F, 0xD6, 0xAE, 0x28, 0x68, 0x32, 0xA2, + 0x84, 0x3D, 0xD9, 0xCE, 0x1C, 0x24, 0x36, 0xDE, 0x10, 0x5B, 0xD2, 0xF2, 0xA5, 0x97, 0x95, 0xC0, + 0x64, 0x46, 0xAF, 0x93, 0x8B, 0xD6, 0xBA, 0xBD, 0xF3, 0x48, 0xDE, 0x63, 0x10, 0x5D, 0x47, 0x3A, + 0x9B, 0x2F, 0x23, 0xE1, 0x5E, 0x39, 0x84, 0xDE, 0x5A, 0x2B, 0x71, 0xC0, 0x2B, 0x76, 0x44, 0xB4, + 0x87, 0xBA, 0x2D, 0x62, 0x00, 0x12, 0xCA, 0x30, 0x58, 0xB0, 0x7C, 0x0F, 0xB5, 0xA9, 0x5E, 0x54, + 0xAB, 0x8C, 0xFF, 0x85, 0x75, 0xB8, 0x96, 0x47, 0x01, 0x12, 0xAB, 0x07, 0x8F, 0x59, 0xE5, 0xF6, + 0xE2, 0x18, 0x3B, 0xC6, 0xF0, 0x92, 0xB8, 0x82, 0xCA, 0xEE, 0x35, 0x05, 0xD9, 0x94, 0x9C, 0xA4, + 0x23, 0x76, 0x1E, 0x83, 0x79, 0xA7, 0x39, 0x27, 0x8E, 0x2D, 0x12, 0x8A, 0x6F, 0xDD, 0xFC, 0x06, + 0xBD, 0xB5, 0xE3, 0x27, 0x7F, 0x05, 0xEE, 0x8B, 0x84, 0xAA, 0x62, 0x7B, 0x1D, 0x8A, 0x49, 0x29, + 0xE0, 0xFA, 0xF5, 0x05, 0x7B, 0x8D, 0x43, 0x79, 0xD4, 0x71, 0x88, 0x28, 0x49, 0xD7, 0x96, 0x89, + 0xA0, 0xCD, 0xCE, 0x15, 0x3F, 0x66, 0x57, 0x18, 0x77, 0x2D, 0x38, 0xAF, 0x26, 0x96, 0x44, 0xFB, + 0x12, 0x2E, 0xC0, 0x28, 0xAD, 0xC9, 0x77, 0x38, 0x31, 0xDC, 0xD4, 0xE0, 0x05, 0x39, 0x49, 0xD5, + 0x23, 0xDC, 0xF3, 0x84, 0x83, 0x07, 0xD4, 0x86, 0xF6, 0x4A, 0x9C, 0x99, 0x8F, 0xC2, 0x14, 0x1E, + 0xFC, 0x3D, 0xC7, 0xE7, 0x0F, 0xC9, 0x30, 0x3D, 0x67, 0x99, 0xBE, 0x68, 0xB9, 0xEA, 0xD9, 0x98, + 0xF9, 0x6D, 0xE4, 0x7E, 0xD0, 0xC0, 0x76, 0x2E, 0x76, 0x70, 0x8D, 0x03, 0x63, 0x0F, 0x23, 0x2D, + 0xFC, 0x3F, 0x4C, 0xDC, 0xA5, 0xE7, 0xD3, 0xE0, 0x21, 0xA8, 0xAE, 0xE3, 0x9E, 0xCF, 0xC4, 0x3F, + 0x9B, 0xE3, 0x1D, 0x4C, 0x27, 0x99, 0xB2, 0x47, 0x4E, 0x30, 0x99, 0xC1, 0x36, 0x07, 0xCC, 0x11, + 0xFF, 0xAC, 0xB6, 0xEA, 0x37, 0xAE, 0x2B, 0x14, 0x75, 0x95, 0x54, 0x94, 0x8E, 0x1D, 0xA4, 0x33, + 0xA8, 0x78, 0x0D, 0xB2, 0x1B, 0x03, 0xC8, 0x13, 0xBC, 0xEC, 0x66, 0x9A, 0xA3, 0xEA, 0xEC, 0xC2, + 0x42, 0xC1, 0xC1, 0x59, 0xF3, 0xA8, 0x4A, 0x19, 0x3E, 0xE1, 0x0E, 0x82, 0xFF, 0x1E, 0xE8, 0xF1, + 0x6B, 0xBC, 0x7B, 0x8F, 0x1A, 0xA8, 0x9A, 0x4D, 0x8E, 0xAD, 0x75, 0xCA, 0x4A, 0xFB, 0xCB, 0xA4, + 0x2A, 0xBE, 0xA9, 0xF2, 0xD1, 0x30, 0xCB, 0xFE, 0x4A, 0x61, 0x3F, 0x64, 0xA9, 0x71, 0x68, 0xA2, + 0x70, 0xD8, 0x25, 0xA7, 0xAE, 0x92, 0x98, 0x04, 0x07, 0x74, 0xA7, 0xEB, 0x00, 0x12, 0x08, 0x7B, + 0x7E, 0x03, 0xDB, 0x24, 0x93, 0x82, 0xB8, 0x1D, 0xC4, 0x39, 0xEF, 0xC2, 0x7F, 0x98, 0x8C, 0xA7, + 0x01, 0x12, 0xE6, 0x5E, 0x87, 0x8D, 0x99, 0xA4, 0xEE, 0x78, 0xF2, 0x9A, 0x76, 0xD9, 0x7A, 0x86, + 0xCA, 0x1C, 0xF1, 0x84, 0x77, 0xA8, 0x61, 0xA7, 0xD4, 0x3B, 0x80, 0x98, 0x64, 0x35, 0x4D, 0x48, + 0x49, 0x57, 0x7B, 0x4F, 0x52, 0x8F, 0x99, 0x61, 0x6F, 0x98, 0x66, 0xAE, 0x21, 0x42, 0xF8, 0x81, + 0xFE, 0xA6, 0x2B, 0x7E, 0xC1, 0x1C, 0xE8, 0xDA, 0x9E, 0xFC, 0xE0, 0x9D, 0xA8, 0xAF, 0x3F, 0x11, + 0x24, 0xF3, 0x89, 0x04, 0x81, 0xEB, 0x38, 0x82, 0x03, 0x68, 0xA0, 0x7A, 0xAB, 0x22, 0xC5, 0x3A, + 0xA3, 0xB4, 0x5A, 0xFB, 0x90, 0x6A, 0x6E, 0x36, 0x87, 0x62, 0xBC, 0x57, 0x13, 0x38, 0x8D, 0x28, + 0x8F, 0xC9, 0x3A, 0x60, 0x60, 0xFB, 0xC9, 0x77, 0x55, 0x7B, 0x90, 0xFC, 0xCC, 0xF3, 0xC2, 0x88, + 0x02, 0x8C, 0x5E, 0x20, 0x30, 0xB6, 0x03, 0x0E, 0xE9, 0x18, 0xE4, 0xB4, 0x82, 0xA8, 0x50, 0x8E, + 0xC8, 0x08, 0x6D, 0x23, 0x1A, 0xDF, 0xA2, 0xD1, 0x49, 0xD9, 0xB1, 0x35, 0xCD, 0x8D, 0xB0, 0x22, + 0xA5, 0xA2, 0xDC, 0x86, 0x3B, 0xA6, 0x45, 0x0B, 0x34, 0xA3, 0x11, 0xB2, 0xA3, 0xD3, 0xB4, 0xD2, + 0xE2, 0x13, 0xD4, 0xCC, 0xC1, 0x71, 0x89, 0x44, 0x45, 0xA4, 0x91, 0xB6, 0xED, 0x69, 0xC8, 0x92, + 0x40, 0xB9, 0xA0, 0x8D, 0x96, 0x50, 0xBD, 0x0F, 0x51, 0x3B, 0x4B, 0xE2, 0xC1, 0xEA, 0x7B, 0xAB, + 0x2A, 0x59, 0x9E, 0x02, 0xEB, 0x81, 0xC1, 0x7E, 0x6A, 0xE7, 0x7E, 0x2A, 0xF7, 0xD3, 0x3F, 0x6A, + 0x1E, 0xE3, 0xAA, 0xDF, 0xB2, 0x57, 0x42, 0x39, 0x7B, 0x9C, 0xB1, 0x35, 0xF6, 0xAA, 0x72, 0xF0, + 0x81, 0xEA, 0x75, 0x8B, 0xD7, 0x92, 0x3B, 0x01, 0x43, 0x0B, 0x4B, 0xA6, 0x1B, 0x67, 0xD2, 0x4F, + 0xF7, 0xDB, 0x38, 0xD3, 0x3A, 0x3D, 0x2D, 0x81, 0x0D, 0x52, 0x8D, 0x4E, 0x68, 0x71, 0xC7, 0x27, + 0xAF, 0x8B, 0x0C, 0x60, 0x75, 0x51, 0x68, 0x90, 0xA1, 0x61, 0x57, 0x6A, 0x51, 0xA7, 0xEF, 0xB8, + 0x04, 0x78, 0xC1, 0x45, 0x01, 0x12, 0x08, 0xD8, 0x75, 0xFC, 0xF8, 0x23, 0xEC, 0x4A, 0x46, 0x85, + 0xD2, 0x29, 0x9B, 0x7F, 0xC6, 0x6E, 0x6E, 0x6A, 0x8F, 0x68, 0x47, 0x20, 0xC8, 0x67, 0x1B, 0x0E, + 0x0A, 0xD2, 0xE0, 0x98, 0xE5, 0xC6, 0x26, 0x8C, 0xC6, 0x7D, 0x05, 0x5D, 0x30, 0x26, 0xC8, 0xCF, + 0x8F, 0x42, 0xCF, 0x18, 0x56, 0x3B, 0x03, 0xE5, 0x78, 0x6F, 0x70, 0x20, 0x68, 0x50, 0x9D, 0x36, + 0x9D, 0x48, 0x87, 0xD0, 0x55, 0xD9, 0xFA, 0xE8, 0xF7, 0x9A, 0xAE, 0x02, 0x85, 0x3F, 0x12, 0x20, + 0xCA, 0x81, 0xBE, 0x88, 0xE9, 0xF9, 0xBB, 0x66, 0xA3, 0xED, 0x8A, 0xDC, 0x5C, 0x35, 0x06, 0x2B, + 0x57, 0x67, 0x0C, 0x37, 0x00, 0x45, 0x52, 0x3B, 0x9C, 0x02, 0x3D, 0xF4, 0x75, 0x30, 0x68, 0x9F, + 0x9E, 0x81, 0x88, 0xBB, 0x87, 0x39, 0xFF, 0x0B, 0xD7, 0x8C, 0x26, 0xAF, 0x64, 0x71, 0x1C, 0xB4, + 0x62, 0xBC, 0x08, 0x73, 0xC2, 0xBC, 0x93, 0xBC, 0x36, 0x60, 0x31, 0xDC, 0x6A, 0xED, 0x5C, 0x58, + 0x36, 0x6A, 0x4B, 0xEB, 0xA7, 0xF8, 0x29, 0xA1, 0xBF, 0xAE, 0x50, 0x15, 0x82, 0xCA, 0x9A, 0xEE, + 0x4F, 0x98, 0x09, 0xCC, 0x4E, 0x0F, 0xD3, 0xFD, 0x39, 0x53, 0xE2, 0xBA, 0x75, 0x5C, 0xE6, 0x5E, + 0xEE, 0x47, 0x87, 0x45, 0x94, 0xB3, 0x0B, 0xFD, 0x6E, 0x88, 0xA2, 0x82, 0xAA, 0x24, 0x1E, 0xD9, + 0x7B, 0x8B, 0x49, 0x68, 0x2C, 0xC3, 0x11, 0xFB, 0x49, 0x4D, 0x82, 0x0E, 0x12, 0x85, 0x54, 0x5F, + 0xB3, 0xB6, 0x3D, 0xA9, 0x2D, 0xD0, 0xB3, 0x6B, 0xF1, 0x5B, 0x00, 0x6E, 0x2E, 0x36, 0xFC, 0x85, + 0x99, 0x75, 0xE5, 0x48, 0x24, 0x67, 0xE4, 0x74, 0x0A, 0x44, 0x95, 0xC9, 0xBC, 0xE0, 0x48, 0x63, + 0x3E, 0xFD, 0x27, 0xCD, 0x17, 0x2F, 0xA0, 0x05, 0x35, 0x53, 0xDD, 0x22, 0x3D, 0x68, 0xAA, 0x19, + 0xB2, 0xF2, 0x8C, 0xA3, 0x10, 0x97, 0x32, 0xC1, 0x84, 0x8E, 0xB0, 0x11, 0x14, 0xF0, 0xF2, 0x69, + 0xC0, 0x65, 0x72, 0xA7, 0x53, 0x5D, 0xF9, 0x16, 0x00, 0x32, 0x92, 0x05, 0xE4, 0x22, 0xEB, 0x9A, + 0x04, 0xE0, 0xB7, 0x78, 0x24, 0x7C, 0x8D, 0xFE, 0x6D, 0x2C, 0xCD, 0xAE, 0x9A, 0x72, 0x78, 0xFE, + 0xA1, 0x2D, 0x16, 0xAB, 0x0D, 0x6A, 0xBE, 0x5C, 0x52, 0x73, 0x6B, 0x1E, 0x3B, 0xC5, 0x96, 0xC4, + 0xC4, 0xA5, 0xF7, 0xCF, 0x50, 0xF5, 0x1A, 0x20, 0x1B, 0x27, 0x29, 0xED,
\ No newline at end of file diff --git a/drivers/input/touchscreen/mxt224s_grande.c b/drivers/input/touchscreen/mxt224s_grande.c new file mode 100644 index 0000000..05ca22f --- /dev/null +++ b/drivers/input/touchscreen/mxt224s_grande.c @@ -0,0 +1,4110 @@ +/* + * Copyright (C) 2010, Samsung Electronics Co. Ltd. All Rights Reserved. + * + * 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. + * + */ + +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/input.h> +#include <linux/input/mt.h> +#include <linux/interrupt.h> +#include <linux/i2c.h> +#include <linux/delay.h> +#include <linux/earlysuspend.h> +#include <linux/slab.h> +#include <linux/gpio.h> +#include <linux/i2c/mxt224s_grande.h> +#include <asm/unaligned.h> +#include <linux/firmware.h> +#include <linux/string.h> + +/* #define CONFIG_READ_FROM_FILE */ +#ifdef CONFIG_READ_FROM_FILE +#define CONFIG_READ_FROM_SDCARD +#define MXT_CFG_MAGIC "OBP_RAW V1" +#define MXT_BATT_CFG_NAME "/sdcard/mxt224s_batt_config.raw" +#define MXT_TA_CFG_NAME "/sdcard/mxt224s_ta_config.raw" + +struct mxt_info { + u8 family_id; + u8 variant_id; + u8 version; + u8 build; + u8 matrix_xsize; + u8 matrix_ysize; + u8 object_num; +}; +#endif + + +#define OBJECT_TABLE_START_ADDRESS 7 +#define OBJECT_TABLE_ELEMENT_SIZE 6 + +#define CMD_RESET_OFFSET 0 +#define CMD_BACKUP_OFFSET 1 +#define CMD_CALIBRATE_OFFSET 2 +#define CMD_REPORTATLL_OFFSET 3 +#define CMD_DEBUG_CTRL_OFFSET 4 +#define CMD_DIAGNOSTIC_OFFSET 5 + + +#define DETECT_MSG_MASK 0x80 +#define PRESS_MSG_MASK 0x40 +#define RELEASE_MSG_MASK 0x20 +#define MOVE_MSG_MASK 0x10 +#define AMPLITUDE_MSG_MASK 0x04 +#define SUPPRESS_MSG_MASK 0x02 + +/* Slave addresses */ +#define MXT_APP_LOW 0x4a +#define MXT_APP_HIGH 0x4b +#define MXT_BOOT_LOW 0x24 +#define MXT_BOOT_HIGH 0x25 + +/* FIRMWARE NAME */ +#define MXT_FW_NAME "tsp_atmel/mxt224s.fw" +#define MXT_BOOT_VALUE 0xa5 +#define MXT_BACKUP_VALUE 0x55 + +#if CHECK_ANTITOUCH +#define MXT_T61_TIMER_ONESHOT 0 +#define MXT_T61_TIMER_REPEAT 1 +#define MXT_T61_TIMER_CMD_START 1 +#define MXT_T61_TIMER_CMD_STOP 2 +#endif + +/* Bootloader mode status */ +#define MXT_WAITING_BOOTLOAD_CMD 0xc0 /* valid 7 6 bit only */ +#define MXT_WAITING_FRAME_DATA 0x80 /* valid 7 6 bit only */ +#define MXT_FRAME_CRC_CHECK 0x02 +#define MXT_FRAME_CRC_FAIL 0x03 +#define MXT_FRAME_CRC_PASS 0x04 +#define MXT_APP_CRC_FAIL 0x40 /* valid 7 8 bit only */ +#define MXT_BOOT_STATUS_MASK 0x3f + +/* Command to unlock bootloader */ +#define MXT_UNLOCK_CMD_MSB 0xaa +#define MXT_UNLOCK_CMD_LSB 0xdc + +#define ID_BLOCK_SIZE 7 + +#define MXT_STATE_INACTIVE -1 +#define MXT_STATE_RELEASE 0 +#define MXT_STATE_PRESS 1 +#define MXT_STATE_MOVE 2 + +#define MAX_USING_FINGER_NUM 10 + +#define MXT_SW_RESET_TIME 300 + +/* Feature */ +/*#######################################*/ +#define TOUCH_BOOSTER 1 +#define SYSFS 1 +#define FOR_BRINGUP 1 +#define UPDATE_ON_PROBE 1 +#define READ_FW_FROM_HEADER 1 +#define FOR_DEBUGGING_TEST_DOWNLOADFW_BIN 0 +#define ITDEV 1 +#define SHOW_COORDINATE 1 +#define DEBUG_INFO 0 +#define HIGH_RESOLUTION 0 +#define TREAT_ERR 0 +#define FORCE_RELEASE 0 +#define DOWNLOAD_CONFIG 0 +/*#######################################*/ + + +/* touch booster */ +#if TOUCH_BOOSTER +#include <mach/cpufreq.h> +#define TOUCH_BOOSTER_TIME 3000 +#define TOUCH_BOOSTER_LIMIT_CLK 500000 + +static bool tsp_press_status; +static bool touch_cpu_lock_status; +static int cpu_lv = -1; +#endif + +/* Firmware */ +#if READ_FW_FROM_HEADER +static u8 firmware_mXT[] = { + #include "mxt224s_V1.1.AA_.h" +}; +#endif + +#if ITDEV +static int driver_paused; +static int debug_enabled; +#endif + +#define DUAL_TSP 1 +#if DUAL_TSP +#define FLIP_NOTINIT -1 +#define FLIP_OPEN 1 +#define FLIP_CLOSE 0 +/* Slave addresses */ +#define MXT224S_ADDR_MAIN 0x4b +#define MXT224S_ADDR_SUB 0x4a +/* TSP_SEL value : GPIO to switch Main tsp or Sub tsp */ +#define TSP_SEL_toMAIN 0 +#define TSP_SEL_toSUB 1 + +static int Flip_status_tsp; +static int Tsp_current_addr; + +static int Tsp_main_initialized; +static int Tsp_sub_initialized; +static int Tsp_probe_passed; +#endif + +/* add for protection code */ +/*#######################################*/ +/*#######################################*/ + +/* variable related protection code */ +/*#######################################*/ +static int treat_median_error_status; +/*#######################################*/ + +struct object_t { + u8 object_type; + u16 i2c_address; + u8 size; + u8 instances; + u8 num_report_ids; +} __packed; + +struct finger_info { + s16 x; + s16 y; + s16 z; + u16 w; + s8 state; + int16_t component; + u16 mcount; /*add for debug*/ +}; + +struct report_id_map_t { + u8 object_type; /*!< Object type. */ + u8 instance; /*!< Instance number. */ +}; + +struct mxt_data { + struct i2c_client *client; + struct input_dev *input_dev; + struct mxt224s_platform_data *pdata; + struct early_suspend early_suspend; + u8 family_id; + u32 finger_mask; + int gpio_read_done; + struct object_t *objects; + u8 objects_len; + u8 tsp_version; + u8 tsp_build; + u8 tsp_variant; +#if DUAL_TSP + const u8 *power_cfg; +#endif + u8 finger_type; + u16 msg_proc; + u16 cmd_proc; + u16 msg_object_size; + u32 x_dropbits:2; + u32 y_dropbits:2; + u8 tchthr_batt; + u8 tchthr_charging; + u8 calcfg_batt; + u8 calcfg_charging; + u8 disable_config_write; + unsigned char Report_touch_number; + u16 distance[10]; +#if TOUCH_BOOSTER + struct delayed_work dvfs_dwork; +#endif + void (*power_on)(void); + void (*power_off)(void); + void (*register_cb)(void *); + void (*read_ta_status)(void *); + int num_fingers; +#if ITDEV + u16 last_read_addr; + u16 msg_proc_addr; +#endif +#ifdef CONFIG_READ_FROM_FILE + struct mxt_info info; +#endif + u8 max_report_id; + struct report_id_map_t *rid_map; + bool rid_map_alloc; + unsigned int touch_area_cnt; + int tcount[10]; + struct finger_info fingers[]; +}; + +static struct mxt_data *copy_data; + +int touch_is_pressed; +EXPORT_SYMBOL(touch_is_pressed); +static int mxt_enabled; +static bool g_debug_switch; +static u8 threshold; +static int firm_status_data; + +static u16 pre_x[][4] = {{0}, }; +static u16 pre_y[][4] = {{0}, }; + +static u8 firmware_latest[] = {0x11, 0xaa}; /* version, build_version */ + +#if DEBUG_INFO +static u8 *object_type_name[63] = { + [5] = "GEN_MESSAGEPROCESSOR_T5", + [6] = "GEN_COMMANDPROCESSOR_T6", + [7] = "GEN_POWERCONFIG_T7", + [8] = "GEN_ACQUIRECONFIG_T8", + [9] = "TOUCH_MULTITOUCHSCREEN_T9", + [15] = "TOUCH_KEYARRAY_T15", + [18] = "SPT_COMCONFIG_T18", + [23] = "TOUCH_PROXIMITY_T23", + [25] = "SPT_SELFTEST_T25", + [37] = "DEBUG_DIAGNOSTICS_T37", + [38] = "USER_DATA_T38", + [40] = "PROCI_GRIPSUPPRESSION_T40", + [42] = "PROCI_TOUCHSUPPRESSION_T42", + [44] = "MESSAGECOUNT_T44", + [46] = "SPT_CTECONFIG_T46", + [47] = "PROCI_STYLUS_T47", + [55] = "PROCI_ADAPTIVETHRESHOLD_T55", + [56] = "PROCI_SHIELDLESS_T56", + [57] = "SPT_GENERICDATA_T57", + [61] = "SPT_TIMER_T61", + [62] = "PROCG_NOISESUPPRESSION_T62", +}; +#endif + +#if TOUCH_BOOSTER +static void mxt_set_dvfs_off(struct work_struct *work) +{ + struct mxt_data *data = + container_of(work, struct mxt_data, dvfs_dwork.work); + + if (mxt_enabled) { + disable_irq(data->client->irq); + if (touch_cpu_lock_status + && !tsp_press_status){ + exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); + touch_cpu_lock_status = 0; + } + enable_irq(data->client->irq); + } +} + +static void mxt_set_dvfs_on(struct mxt_data *data) +{ + cancel_delayed_work(&data->dvfs_dwork); + if (cpu_lv < 0) + exynos_cpufreq_get_level(TOUCH_BOOSTER_LIMIT_CLK, &cpu_lv); + exynos_cpufreq_lock(DVFS_LOCK_ID_TSP, cpu_lv); + touch_cpu_lock_status = 1; +} +#endif + +extern struct class *sec_class; + +#ifdef CONFIG_READ_FROM_FILE +int mxt_download_config(struct mxt_data *data, const char *fn); +#endif + +/* declare function proto type */ +/* +static void mxt_ta_probe(int ta_status); +static void report_input_data(struct mxt_data *data); +*/ +static int read_mem(struct mxt_data *data, u16 reg, u8 len, u8 *buf) +{ + int ret; + u16 le_reg = cpu_to_le16(reg); + struct i2c_msg msg[2] = { + { + .addr = data->client->addr, + .flags = 0, + .len = 2, + .buf = (u8 *)&le_reg, + }, + { + .addr = data->client->addr, + .flags = I2C_M_RD, + .len = len, + .buf = buf, + }, + }; +#if DUAL_TSP + msg[0].addr=Tsp_current_addr; + msg[1].addr=Tsp_current_addr; +#endif + + ret = i2c_transfer(data->client->adapter, msg, 2); + if (ret < 0) { + pr_err("i2c failed ret = %d, %d %d\n", ret, Tsp_current_addr, data->client->addr); + return ret; + } + return ret == 2 ? 0 : -EIO; +} + +static int write_mem(struct mxt_data *data, u16 reg, u8 len, const u8 *buf) +{ + int ret; + u8 tmp[len + 2]; + + put_unaligned_le16(cpu_to_le16(reg), tmp); + memcpy(tmp + 2, buf, len); + +#if DUAL_TSP + data->client->addr =Tsp_current_addr; +#endif + ret = i2c_master_send(data->client, tmp, sizeof(tmp)); + if (ret < 0){ + pr_err("i2c write failed ret = %d, %d\n", ret, data->client->addr); + return ret; + } + + return ret == sizeof(tmp) ? 0 : -EIO; +} + +static int __devinit mxt_reset(struct mxt_data *data) +{ + u8 buf = 1u; + return write_mem(data, data->cmd_proc + CMD_RESET_OFFSET, 1, &buf); +} + +static int __devinit mxt_backup(struct mxt_data *data) +{ + u8 buf = 0x55u; + return write_mem(data, data->cmd_proc + CMD_BACKUP_OFFSET, 1, &buf); +} + +static int get_object_info(struct mxt_data *data, u8 object_type, u16 *size, + u16 *address) +{ + int i; + + for (i = 0; i < data->objects_len; i++) { + if (data->objects[i].object_type == object_type) { + *size = data->objects[i].size + 1; + *address = data->objects[i].i2c_address; + return 0; + } + } + + return -ENODEV; +} + +#if CHECK_ANTITOUCH +void mxt_t61_timer_set(struct mxt_data *data, u8 mode, u8 cmd, u16 msPeriod) +{ + int ret = 0; + u8 buf[5] = {3, 0, 0, 0, 0}; + u16 size = 0; + u16 obj_address = 0; + + get_object_info(data, SPT_TIMER_T61, + &size, &obj_address); + + buf[1] = cmd; + buf[2] = mode; + buf[3] = msPeriod & 0xFF; + buf[4] = (msPeriod >> 8) & 0xFF; + + ret = write_mem(data, obj_address, 5, buf); + if (ret) + pr_err("%s write error T%d address[0x%x]\n", + __func__, SPT_TIMER_T61, obj_address); + + pr_info("T61 Timer Enabled %d\n", msPeriod); +} + +void mxt_t8_cal_set(struct mxt_data *data, u8 mstime) +{ + int ret = 0; + u16 size = 0; + u16 obj_address = 0; + + if (mstime) { + data->pdata->check_autocal = 1; + pr_info("T8 Autocal Enabled %d\n", mstime); + } else { + data->pdata->check_autocal = 0; + pr_info("T8 Autocal Disabled %d\n", mstime); + } + + get_object_info(data, GEN_ACQUISITIONCONFIG_T8, + &size, &obj_address); + + + ret = write_mem(data, obj_address + 4, 1, &mstime); + if (ret) + pr_err("%s write error T%d address[0x%x]\n", + __func__, SPT_TIMER_T61, obj_address); +} + +/* +static void mxt_check_coordinate(struct mxt_data *data,bool detect, u8 id,u16 *px, u16 *py) +{ + if (detect) { + data->tcount[id] = 0; + data->distance[id] = 0; + } + if (data->tcount[id] >= 1) { // 2rd + data->distance[id] = abs(pre_x[id][0] - *px) + abs(pre_y[id][0] - *py); + pr_info("[TSP]Check Distance ID:%d, %d\n",id, data->distance[id]); + } + pre_x[id][0] = *px; + pre_y[id][0] = *py; + + data->tcount[id]++; +} +*/ +#endif /* CHECK_ANTITOUCH */ + +static int write_config(struct mxt_data *data, u8 type, const u8 *cfg) +{ + int ret; + u16 address = 0; + u16 size = 0; + + ret = get_object_info(data, type, &size, &address); + + if (size == 0 && address == 0) + return 0; + else + return write_mem(data, address, size, cfg); +} + +static int check_instance(struct mxt_data *data, u8 object_type) +{ + int i; + + for (i = 0; i < data->objects_len; i++) { + if (data->objects[i].object_type == object_type) + return data->objects[i].instances; + } + return 0; +} + +static int init_write_config(struct mxt_data *data, u8 type, const u8 *cfg) +{ + int ret; + u16 address = 0; + u16 size = 0; + u8 *temp; + + ret = get_object_info(data, type, &size, &address); + + if ((size == 0) || (address == 0)) { + pr_err("%s error object_type(%d)\n", __func__, type); + return -ENODEV; + } + + ret = write_mem(data, address, size, cfg); + + if (check_instance(data, type)) { +#if DEBUG_INFO + pr_info("exist instance1 object (%d)\n", type); +#endif + temp = kmalloc(size * sizeof(u8), GFP_KERNEL); + memset(temp, 0, size); + ret |= write_mem(data, address+size, size, temp); + kfree(temp); + } + + return ret; +} + +#if TREAT_ERR +static int change_config(struct mxt_data *data, + u16 reg, u8 offeset, u8 change_value) +{ + u8 value = 0; + + value = change_value; + return write_mem(data, reg+offeset, 1, &value); +} +#endif + +static u32 __devinit crc24(u32 crc, u8 byte1, u8 byte2) +{ + static const u32 crcpoly = 0x80001B; + u32 res; + u16 data_word; + + data_word = (((u16)byte2) << 8) | byte1; + res = (crc << 1) ^ (u32)data_word; + + if (res & 0x1000000) + res ^= crcpoly; + + return res; +} + +static int __devinit calculate_infoblock_crc(struct mxt_data *data, + u32 *crc_pointer) +{ + u32 crc = 0; + u8 mem[7 + data->objects_len * 6]; + int status; + int i; + + status = read_mem(data, 0, sizeof(mem), mem); + + if (status) + return status; + + for (i = 0; i < sizeof(mem) - 1; i += 2) + crc = crc24(crc, mem[i], mem[i + 1]); + + *crc_pointer = crc24(crc, mem[i], 0) & 0x00FFFFFF; + + return 0; +} + +static uint8_t calibrate_chip_e(void) +{ + u8 cal_data = 1; + int ret = 0; + /* send calibration command to the chip */ + ret = write_mem(copy_data, + copy_data->cmd_proc + CMD_CALIBRATE_OFFSET, + 1, &cal_data); + /* set flag for calibration lockup + recovery if cal command was successful */ + if (!ret) + pr_info("calibration success!!!\n"); + return ret; +} + +#if TREAT_ERR +static void treat_error_status(void) +{ + bool ta_status = 0; + u16 size; + u16 obj_address = 0; + int error = 0; + struct mxt_data *data = copy_data; + + data->read_ta_status(&ta_status); + + if (treat_median_error_status) { + pr_err("Error status already treated\n"); + return; + } else + treat_median_error_status = 1; + + pr_info("Error status TA is[%d]\n", ta_status); + + if (ta_status) { +#if !(FOR_BRINGUP) + get_object_info(data, + GEN_POWERCONFIG_T7, &size, &obj_address); + /* 1:ACTVACQINT */ + error = change_config(data, obj_address, 1, 255); + + get_object_info(data, + GEN_ACQUISITIONCONFIG_T8, &size, &obj_address); + /* 0:CHRGTIME */ + error |= change_config(data, obj_address, 0, 64); + + /* 8:ATCHFRCCALTHR*/ + error |= change_config(data, obj_address, 8, 50); + /* 9:ATCHFRCCALRATIO*/ + error |= change_config(data, obj_address, 9, 0); + + get_object_info(data, + PROCI_TOUCHSUPPRESSION_T42, &size, &obj_address); + /* 0:CTRL */ + error |= change_config(data, obj_address, 0, 3); + + get_object_info(data, + SPT_CTECONFIG_T46, &size, &obj_address); + /* 2:IDLESYNCSPERX */ + error |= change_config(data, obj_address, 2, 48); + /* 3:ACTVSYNCSPERX */ + error |= change_config(data, obj_address, 3, 48); + + get_object_info(data, + PROCG_NOISESUPPRESSION_T48, &size, &obj_address); + /* 2:CALCFG */ + error |= change_config(data, obj_address, 2, 114); + /* 3:BASEFREQ */ + error |= change_config(data, obj_address, 3, 15); + /* 8:MFFREQ[0] */ + error |= change_config(data, obj_address, 8, 3); + /* 9:MFFREQ[1] */ + error |= change_config(data, obj_address, 9, 5); + /* 10:NLGAIN*/ + error |= change_config(data, obj_address, 10, 96); + /* 11:NLTHR*/ + error |= change_config(data, obj_address, 11, 30); + /* 17:GCMAXADCSPERX */ + error |= change_config(data, obj_address, 17, 100); + /* 34:BLEN[0] */ + error |= change_config(data, obj_address, 34, 80); + /* 35:TCHTHR[0] */ + error |= change_config(data, obj_address, 35, 40); + /* 36:TCHDI[0] */ + error |= change_config(data, obj_address, 36, 2); + /* 39:MOVFILTER[0] */ + error |= change_config(data, obj_address, 39, 65); + /* 41:MRGHYST[0] */ + error |= change_config(data, obj_address, 41, 40); + /* 42:MRGTHR[0] */ + error |= change_config(data, obj_address, 42, 50); + /* 43:XLOCLIP[0] */ + error |= change_config(data, obj_address, 43, 5); + /* 44:XHICLIP[0] */ + error |= change_config(data, obj_address, 44, 5); + /* 51:JUMPLIMIT[0] */ + error |= change_config(data, obj_address, 51, 25); + /* 52:TCHHYST[0] */ + error |= change_config(data, obj_address, 52, 15); +#endif + if (error < 0) + pr_err("failed to write error status\n"); + } else { +#if !(FOR_BRINGUP) + get_object_info(data, + GEN_POWERCONFIG_T7, &size, &obj_address); + /* 1:ACTVACQINT */ + error = change_config(data, obj_address, 1, 255); + + get_object_info(data, + GEN_ACQUISITIONCONFIG_T8, &size, &obj_address); + /* 0:CHRGTIME */ + error |= change_config(data, obj_address, 0, 64); + + /* 8:ATCHFRCCALTHR*/ + error |= change_config(data, obj_address, 8, 50); + /* 9:ATCHFRCCALRATIO*/ + error |= change_config(data, obj_address, 9, 0); + + get_object_info(data, + TOUCH_MULTITOUCHSCREEN_T9, &size, &obj_address); + /* 31:TCHHYST */ + error |= change_config(data, obj_address, 31, 15); + + get_object_info(data, + PROCI_TOUCHSUPPRESSION_T42, &size, &obj_address); + /* 0:CTRL */ + error |= change_config(data, obj_address, 0, 3); + + get_object_info(data, + SPT_CTECONFIG_T46, &size, &obj_address); + /* 2:IDLESYNCSPERX */ + error |= change_config(data, obj_address, 2, 48); + /* 3:ACTVSYNCSPERX */ + error |= change_config(data, obj_address, 3, 48); + + get_object_info(data, + PROCG_NOISESUPPRESSION_T48, &size, &obj_address); + /* 2:CALCFG */ + error |= change_config(data, obj_address, 2, 242); + /* 3:BASEFREQ */ + error |= change_config(data, obj_address, 3, 15); + /* 8:MFFREQ[0] */ + error |= change_config(data, obj_address, 8, 3); + /* 9:MFFREQ[1] */ + error |= change_config(data, obj_address, 9, 5); + /* 10:NLGAIN*/ + error |= change_config(data, obj_address, 10, 112); + /* 11:NLTHR*/ + error |= change_config(data, obj_address, 11, 25); + /* 17:GCMAXADCSPERX */ + error |= change_config(data, obj_address, 17, 100); + /* 34:BLEN[0] */ + error |= change_config(data, obj_address, 34, 112); + /* 35:TCHTHR[0] */ + error |= change_config(data, obj_address, 35, 40); + /* 41:MRGHYST[0] */ + error |= change_config(data, obj_address, 41, 40); + /* 42:MRGTHR[0] */ + error |= change_config(data, obj_address, 42, 50); + /* 51:JUMPLIMIT[0] */ + error |= change_config(data, obj_address, 51, 25); + /* 52:TCHHYST[0] */ + error |= change_config(data, obj_address, 52, 15); +#endif + if (error < 0) + pr_err("failed to write error status\n"); + } +} +#endif + +static void mxt_ta_probe(int ta_status) +{ +#ifdef CONFIG_READ_FROM_FILE + struct mxt_data *data = copy_data; + if (ta_status) + mxt_download_config(data, MXT_TA_CFG_NAME); + else + mxt_download_config(data, MXT_BATT_CFG_NAME); +#else +#if 1//!(FOR_BRINGUP) + u16 obj_address = 0; + u16 size; + int error = 0; + u8 value = 0; + + struct mxt_data *data = copy_data; + + if (!mxt_enabled) { + pr_err("%s mxt_enabled is 0\n", __func__); + return; + } + + if (ta_status) { + write_config(copy_data, copy_data->pdata->t9_config_chrg[0], copy_data->pdata->t9_config_chrg + 1); + write_config(copy_data, copy_data->pdata->t56_config_chrg[0], copy_data->pdata->t56_config_chrg + 1); + write_config(copy_data, copy_data->pdata->t62_config_chrg[0], copy_data->pdata->t62_config_chrg + 1); +#ifdef CONFIG_READ_FROM_FILE + mxt_download_config(data, MXT_TA_CFG_NAME); +#endif + } else { + write_config(copy_data, copy_data->pdata->t9_config_batt[0], copy_data->pdata->t9_config_batt + 1); + write_config(copy_data, copy_data->pdata->t56_config_batt[0], copy_data->pdata->t56_config_batt + 1); + write_config(copy_data, copy_data->pdata->t62_config_batt[0], copy_data->pdata->t62_config_batt + 1); +#ifdef CONFIG_READ_FROM_FILE + mxt_download_config(data, MXT_BATT_CFG_NAME); +#endif + } +#endif + get_object_info(data, PROCG_NOISESUPPRESSION_T62, + &size, &obj_address); + + //Read CALCFG1 for Setting CHRGON + read_mem(data, obj_address+1, 1, &value); + + + value &= 0xFE; + error = write_mem(data, obj_address+1, 1, &value); + + + value |= 0x01; + error = write_mem(data, obj_address+1, 1, &value); +#endif + pr_info("%s : threshold[%d]\n", __func__, threshold); +}; + +static uint8_t reportid_to_type(struct mxt_data *data, u8 report_id, u8 *instance) +{ + struct report_id_map_t *report_id_map; + report_id_map = data->rid_map; + + if (report_id <= data->max_report_id) { + *instance = report_id_map[report_id].instance; + return report_id_map[report_id].object_type; + } else + return 0; +} + +static int __devinit mxt_init_touch_driver(struct mxt_data *data) +{ + struct object_t *object_table; + struct report_id_map_t *report_id_map_t; + u32 read_crc = 0; + u32 calc_crc; + u16 crc_address; + u16 dummy; + int i, j; + u8 id[ID_BLOCK_SIZE]; + int ret; + u8 type_count = 0; + u8 tmp; + int cur_rep_id, start_report_id; + + ret = read_mem(data, 0, sizeof(id), id); + if (ret) + return ret; + + pr_info("family = %#02x, variant = %#02x, version " + "= %#02x, build = %#02x, " + "matrix X,Y size = %d,%d\n" + , id[0], id[1], id[2], id[3], id[4], id[5]); + + data->family_id = id[0]; + data->tsp_variant = id[1]; + data->tsp_version = id[2]; + data->tsp_build = id[3]; + data->objects_len = id[6]; + + object_table = kmalloc(data->objects_len * sizeof(*object_table), + GFP_KERNEL); + if (!object_table) + return -ENOMEM; + + ret = read_mem(data, OBJECT_TABLE_START_ADDRESS, + data->objects_len * sizeof(*object_table), + (u8 *)object_table); + if (ret) + goto err; + + data->max_report_id = 0; + + for (i = 0; i < data->objects_len; i++) { + object_table[i].i2c_address = + le16_to_cpu(object_table[i].i2c_address); + data->max_report_id += object_table[i].num_report_ids * + (object_table[i].instances + 1); + tmp = 0; + if (object_table[i].num_report_ids) { + tmp = type_count + 1; + type_count += object_table[i].num_report_ids * + (object_table[i].instances + 1); + } + switch (object_table[i].object_type) { + case TOUCH_MULTITOUCHSCREEN_T9: + data->finger_type = tmp; + pr_info("Finger type = %d\n", + data->finger_type); + break; + case GEN_MESSAGEPROCESSOR_T5: +#if ITDEV + data->msg_proc_addr = object_table[i].i2c_address; +#endif + data->msg_object_size = object_table[i].size + 1; + break; + } + } + if (data->rid_map_alloc) { + data->rid_map_alloc = false; + kfree(data->rid_map); + } + data->rid_map = kmalloc((sizeof(report_id_map_t) * data->max_report_id + 1), GFP_KERNEL); + + if (!data->rid_map) { + kfree(object_table); + return -ENOMEM; + } + data->rid_map_alloc = true; + data->rid_map[0].instance = 0; + data->rid_map[0].object_type = 0; + cur_rep_id = 1; + + for (i = 0; i < data->objects_len; i++) { + if (object_table[i].num_report_ids != 0) { + for (j = 0; j <= object_table[i].instances; j++) { + for (start_report_id = cur_rep_id; + cur_rep_id < + (start_report_id + + object_table[i].num_report_ids); + cur_rep_id++) { + data->rid_map[cur_rep_id].instance = j; + data->rid_map[cur_rep_id].object_type = + object_table[i].object_type; + } + } + } + } + data->objects = object_table; + + /* Verify CRC */ + crc_address = OBJECT_TABLE_START_ADDRESS + + data->objects_len * OBJECT_TABLE_ELEMENT_SIZE; + +#ifdef __BIG_ENDIAN +#error The following code will likely break on a big endian machine +#endif + ret = read_mem(data, crc_address, 3, (u8 *)&read_crc); + if (ret) + goto err; + + read_crc = le32_to_cpu(read_crc); + + ret = calculate_infoblock_crc(data, &calc_crc); + if (ret) + goto err; + + if (read_crc != calc_crc) { + pr_err("CRC error\n"); + ret = -EFAULT; + goto err; + } + + ret = get_object_info(data, GEN_MESSAGEPROCESSOR_T5, &dummy, + &data->msg_proc); + if (ret) + goto err; + + ret = get_object_info(data, GEN_COMMANDPROCESSOR_T6, &dummy, + &data->cmd_proc); + if (ret) + goto err; + +#if DEBUG_INFO + pr_info("maXTouch: %d Objects\n", + data->objects_len); + + for (i = 0; i < data->objects_len; i++) { + pr_info("Type:\t\t\t[%d]: %s\n", + object_table[i].object_type, + object_type_name[object_table[i].object_type]); + pr_info("\tAddress:\t0x%04X\n", + object_table[i].i2c_address); + pr_info("\tSize:\t\t%d Bytes\n", + object_table[i].size); + pr_info("\tInstances:\t%d\n", + object_table[i].instances); + pr_info("\tReport Id's:\t%d\n", + object_table[i].num_report_ids); + } +#endif + + return 0; + +err: + kfree(object_table); + return ret; +} + + +static void report_input_data(struct mxt_data *data) +{ + int i; + int count = 0; + int report_count = 0; + + for (i = 0; i < data->num_fingers; i++) { + if (data->fingers[i].state == MXT_STATE_INACTIVE) + continue; + + if (data->fingers[i].state == MXT_STATE_RELEASE) { + input_mt_slot(data->input_dev, i); + input_mt_report_slot_state(data->input_dev, + MT_TOOL_FINGER, false); + } else { + input_mt_slot(data->input_dev, i); + input_mt_report_slot_state(data->input_dev, + MT_TOOL_FINGER, true); + input_report_abs(data->input_dev, ABS_MT_POSITION_X, + data->fingers[i].x); + input_report_abs(data->input_dev, ABS_MT_POSITION_Y, + data->fingers[i].y); + input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, + data->fingers[i].z); + input_report_abs(data->input_dev, ABS_MT_PRESSURE, + data->fingers[i].w); + } + #ifdef _SUPPORT_SHAPE_TOUCH_ + input_report_abs(data->input_dev, ABS_MT_COMPONENT, + data->fingers[i].component); + #endif + + report_count++; + +#if SHOW_COORDINATE + switch (data->fingers[i].state) { + case MXT_STATE_PRESS: + pr_info("P: " + "id[%d],x=%d,y=%d,w=%d, z=%d\n", + i, data->fingers[i].x, data->fingers[i].y + , data->fingers[i].w, data->fingers[i].z); + break; +/* + case MXT_STATE_MOVE: + pr_info("M: " + "id[%d],x=%d,y=%d,w=%d,mc=%d\n", + i, data->fingers[i].x, data->fingers[i].y + , data->fingers[i].w, data->fingers[i].mcount); + break; +*/ + case MXT_STATE_RELEASE: + pr_info("R: " + "id[%d],mc=%d\n", + i, data->fingers[i].mcount); + break; + default: + break; + } +#else + if (data->fingers[i].state == MXT_STATE_PRESS) + pr_info("P: id[%d],w=%d\n" + , i, data->fingers[i].w); + else if (data->fingers[i].state == MXT_STATE_RELEASE) + pr_info("R: id[%d],mc=%d\n" + , i, data->fingers[i].mcount); +#endif + if (data->fingers[i].state == MXT_STATE_RELEASE) { + data->fingers[i].state = MXT_STATE_INACTIVE; + data->fingers[i].mcount = 0; + } else { + data->fingers[i].state = MXT_STATE_MOVE; + count++; + } + } + if (report_count > 0) { +#if ITDEV + if (!driver_paused) +#endif + input_sync(data->input_dev); + } + + if (count) + touch_is_pressed = 1; + else + touch_is_pressed = 0; + +#if TOUCH_BOOSTER + if (count == 0) { + if (touch_cpu_lock_status) { + cancel_delayed_work(&data->dvfs_dwork); + schedule_delayed_work(&data->dvfs_dwork, + msecs_to_jiffies(TOUCH_BOOSTER_TIME)); + } + tsp_press_status = 0; + } else + tsp_press_status = 1; +#endif + data->finger_mask = 0; +} + +#if CHECK_ANTITOUCH +static u16 mxt_dist_check(struct mxt_data *data, unsigned char touch_num) +{ + int count; + u16 dist_sum = 0; + + for (count = 0; count < touch_num; count++) { + if (data->distance[count] < 4) { /* touch_num==2À̸é,, data->distance[0],data->distance[1] À» ü’Ú */ + dist_sum++; + } else { + dist_sum = 0; + } + } + pr_info("[TSP] dis0 = %d, dis1 = %d, dis2 = %d, dis3 = %d, dis4 = %d, dis5 = %d\n", data->distance[0], data->distance[1], data->distance[2], data->distance[3], data->distance[4], data->distance[5]); + return dist_sum; +} +#endif + +static irqreturn_t mxt_irq_thread(int irq, void *ptr) +{ + struct mxt_data *data = ptr; + int id; + u8 msg[data->msg_object_size]; + u8 touch_message_flag = 0; + u8 object_type, instance; +#if CHECK_ANTITOUCH + u16 tch_area = 0, atch_area = 0; +#endif + +#if DEBUG_INFO + pr_info("[TSP] mxt_irq_thread()\n"); +#endif + do { + touch_message_flag = 0; + if (read_mem(data, data->msg_proc, sizeof(msg), msg)) { +#if TOUCH_BOOSTER + if (touch_cpu_lock_status) { + exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); + touch_cpu_lock_status = 0; + } +#endif + return IRQ_HANDLED; + } +#if ITDEV + if (debug_enabled) + print_hex_dump(KERN_INFO, "MXT MSG:", + DUMP_PREFIX_NONE, 16, 1, msg, sizeof(msg), false); +#endif + object_type = reportid_to_type(data, msg[0] , &instance); + + if (object_type == GEN_COMMANDPROCESSOR_T6) { + if (msg[1] == 0x00) /* normal mode */ + pr_info("normal mode\n"); + if ((msg[1]&0x04) == 0x04) /* I2C checksum error */ + pr_info("I2C checksum error\n"); + if ((msg[1]&0x08) == 0x08) /* config error */ + pr_info("config error\n"); + if ((msg[1]&0x10) == 0x10) { + /* calibration */ + pr_info("calibration is" + " on going !!\n"); + +#if CHECK_ANTITOUCH + /* After Calibration */ + pr_info("[TSP] mxt_check_coordinate Disable autocal = 0\n"); + mxt_t8_cal_set(data, 0); + data->pdata->check_antitouch = 1; + mxt_t61_timer_set(data, + MXT_T61_TIMER_ONESHOT, + MXT_T61_TIMER_CMD_STOP, 0); + data->pdata->check_timer = 0; + data->pdata->check_calgood = 0; +#endif + } + if ((msg[1]&0x20) == 0x20) /* signal error */ + pr_info("signal error\n"); + if ((msg[1]&0x40) == 0x40) /* overflow */ + pr_info("overflow detected\n"); + if ((msg[1]&0x80) == 0x80) /* reset */ + pr_info("[TSP] reset is ongoing\n"); + } + + if (object_type == PROCI_TOUCHSUPPRESSION_T42) { + if ((msg[1] & 0x01) == 0x00) { + /* Palm release */ + pr_info("palm touch released\n"); + touch_is_pressed = 0; + + } else if ((msg[1] & 0x01) == 0x01) { + /* Palm Press */ + pr_info("palm touch detected\n"); + touch_is_pressed = 1; + touch_message_flag = 1; + } + } + if (object_type == PROCI_EXTRATOUCHSCREENDATA_T57) { +#if CHECK_ANTITOUCH + tch_area = msg[3] | (msg[4] << 8); + atch_area = msg[5] | (msg[6] << 8); + + data->Report_touch_number = 0; + + if (data->pdata->check_antitouch) { + if (tch_area) { + pr_info("TCHAREA=%d\n", tch_area); + + /* First Touch After Calibration */ + if (data->pdata->check_timer == 0) { + mxt_t61_timer_set(data, + MXT_T61_TIMER_ONESHOT, + MXT_T61_TIMER_CMD_START, 3000); + data->pdata->check_timer = 1; + } + + if (tch_area <= 2) + mxt_t8_cal_set(data, 5); + } + + if (atch_area >= 3) { + pr_info("ATCHAREA=%d\n", atch_area); + calibrate_chip_e(); + } + } + + if (data->pdata->check_calgood == 1) { + if ((atch_area - tch_area) > 8) { + if (tch_area < 35) { + pr_info("Cal Not Good %d %d\n", atch_area, tch_area); + calibrate_chip_e(); + } + } + if ((tch_area - atch_area) >= 40) { + pr_info("Cal Not Good 2 - %d %d\n", + atch_area, tch_area); + calibrate_chip_e(); + } + } +#endif /* CHECK_ANTITOUCH */ + } + +#if CHECK_ANTITOUCH + if (object_type == SPT_TIMER_T61) { + if ((msg[1] & 0xa0) == 0xa0) { + + if (data->pdata->check_calgood == 1) + data->pdata->check_calgood = 0; + + if (data->pdata->check_antitouch) { + pr_info("SPT_TIMER_T61 Stop\n"); + data->pdata->check_antitouch = 0; + data->pdata->check_timer = 0; + mxt_t8_cal_set(data, 0); + data->pdata->check_calgood = 1; + mxt_t61_timer_set(data, MXT_T61_TIMER_ONESHOT, MXT_T61_TIMER_CMD_START, 10000); + } + } + } +#endif /* CHECK_ANTITOUCH */ + if (object_type == TOUCH_MULTITOUCHSCREEN_T9) { + id = msg[0] - data->finger_type; + + /* If not a touch event, then keep going */ + if (id < 0 || id >= data->num_fingers) + continue; + + if (data->finger_mask & (1U << id)) + report_input_data(data); + + if (msg[1] & RELEASE_MSG_MASK) { + data->fingers[id].z = 0; + data->fingers[id].w = msg[5]; + data->finger_mask |= 1U << id; + data->fingers[id].state = MXT_STATE_RELEASE; + } else if ((msg[1] & DETECT_MSG_MASK) && (msg[1] & + (PRESS_MSG_MASK | MOVE_MSG_MASK))) { +#if TOUCH_BOOSTER + if (!touch_cpu_lock_status) + mxt_set_dvfs_on(data); +#endif + touch_message_flag = 1; + data->fingers[id].z = msg[6]; + data->fingers[id].w = msg[5]; + if (data->fingers[id].w == 0) + data->fingers[id].w = 1; + + data->fingers[id].x = + (((msg[2] << 4) | (msg[4] >> 4)) + >> data->x_dropbits); + + data->fingers[id].y = + (((msg[3] << 4) | (msg[4] & 0xF)) + >> data->y_dropbits); +#if HIGH_RESOLUTION + /* high X resolution version*/ + data->fingers[id].x = (u16)((data->fingers[id].x * 480) / 4096); /* 800 -> 480 */ + data->fingers[id].y = (u16)((data->fingers[id].y * 800) / 4096); /* 480 -> 800 */ +#endif + + data->finger_mask |= 1U << id; + + if (msg[1] & PRESS_MSG_MASK) { + data->fingers[id].state = MXT_STATE_PRESS; + data->fingers[id].mcount = 0; +#if CHECK_ANTITOUCH + /* mxt_check_coordinate(data, 1, id, &data->fingers[id].x, &data->fingers[id].y);*/ +#endif + + } else if (msg[1] & MOVE_MSG_MASK) { + data->fingers[id].mcount += 1; +#if CHECK_ANTITOUCH + /* mxt_check_coordinate(data, 0, id, &data->fingers[id].x, &data->fingers[id].y);*/ +#endif + } + +#ifdef _SUPPORT_SHAPE_TOUCH_ + data->fingers[id].component = msg[7]; +#endif + + } else if ((msg[1] & SUPPRESS_MSG_MASK) + && (data->fingers[id].state != MXT_STATE_INACTIVE)) { + data->fingers[id].z = 0; + data->fingers[id].w = msg[5]; + data->fingers[id].state = MXT_STATE_RELEASE; + data->finger_mask |= 1U << id; + } else { + /* ignore changed amplitude message */ + if (!((msg[1] & DETECT_MSG_MASK) + && (msg[1] & AMPLITUDE_MSG_MASK))) + pr_err("Unknown state %#02x %#02x\n", + msg[0], msg[1]); + continue; + } + } + } while (!gpio_get_value(data->gpio_read_done)); + + if (data->finger_mask) + report_input_data(data); + + + return IRQ_HANDLED; +} + +static int mxt_internal_suspend(struct mxt_data *data) +{ + int i; + int count = 0; + + for (i = 0; i < data->num_fingers; i++) { + if (data->fingers[i].state == MXT_STATE_INACTIVE) + continue; + data->fingers[i].z = 0; + data->fingers[i].state = MXT_STATE_RELEASE; + count++; + } + if (count) + report_input_data(data); + +#if TOUCH_BOOSTER + cancel_delayed_work(&data->dvfs_dwork); + tsp_press_status = 0; + if (touch_cpu_lock_status) { + exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); + touch_cpu_lock_status = 0; + } +#endif + data->power_off(); + + return 0; +} + +static int mxt_internal_resume(struct mxt_data *data) +{ + data->power_on(); + + return 0; +} + +#if DUAL_TSP +void samsung_switching_tsp_suspend(void) +{ + static const u8 sleep_power_cfg[3]={0,0,0}; + int ret; + int i=0; + + /******************************************************/ + /* One TSP has to enter suspend mode */ + /******************************************************/ + printk("[TSP] ++++samsung_switching_tsp_suspend()\n"); + if (Flip_status_tsp == FLIP_OPEN) {/* Sub_TSP need to enter suspend-mode*/ + Tsp_current_addr = MXT224S_ADDR_SUB; + gpio_set_value(GPIO_TSP_SEL, TSP_SEL_toSUB); + } else {/* Main_TSP need to enter suspend-mode*/ + Tsp_current_addr = MXT224S_ADDR_MAIN; + gpio_set_value(GPIO_TSP_SEL, TSP_SEL_toMAIN); + } + + do { + ret = write_config(copy_data, GEN_POWERCONFIG_T7, sleep_power_cfg); + msleep(20); + printk(KERN_ERR "[TSP] %s, i=%d, ret=%d \n", __func__, i, ret); + i++; + } while (ret && i < 10); + + + if (Flip_status_tsp == FLIP_OPEN) { /* return to Main_TSP*/ + Tsp_current_addr = MXT224S_ADDR_MAIN; + gpio_set_value(GPIO_TSP_SEL, TSP_SEL_toMAIN); + } else {/* return to Sub_TSP*/ + Tsp_current_addr = MXT224S_ADDR_SUB; + gpio_set_value(GPIO_TSP_SEL, TSP_SEL_toSUB); + } + copy_data->client->addr =Tsp_current_addr; + + return; + +} + +void samsung_switching_tsp_resume(void) +{ + bool ta_status = 0; + int ret; + int i=0; + struct mxt_data *data = copy_data; + + printk("[TSP]%s : addr:%02x, tspsel :%d\n", __FUNCTION__, Tsp_current_addr, gpio_get_value(GPIO_TSP_SEL)); + + if (Tsp_main_initialized == 0) { + /******************************************************/ + /* Main TSP or Sub TSP ini */ + /******************************************************/ + Tsp_main_initialized = 1; + + printk("[TSP] samsung_switching_tsp_resume() : Main TSP init #############\n"); + if (data->read_ta_status) { + data->read_ta_status(&ta_status); + pr_info("ta_status is %d\n", ta_status); + mxt_ta_probe(ta_status); + } + #ifdef CONFIG_READ_FROM_FILE + else{ + mxt_download_config(data, MXT_BATT_CFG_NAME); + } + #endif + calibrate_chip_e(); + } + + if (Tsp_sub_initialized == 0) { + /******************************************************/ + /* Sub TSP init */ + /******************************************************/ + Tsp_sub_initialized = 1; + + printk("[TSP] samsung_switching_tsp_resume() :Sub TSP init #############\n"); + if (data->read_ta_status) { + data->read_ta_status(&ta_status); + pr_info("ta_status is %d\n", ta_status); + mxt_ta_probe(ta_status); + } + #ifdef CONFIG_READ_FROM_FILE + else{ + mxt_download_config(data, MXT_BATT_CFG_NAME); + } + #endif + calibrate_chip_e(); + } + + + do { + ret = write_config(copy_data, GEN_POWERCONFIG_T7, copy_data->power_cfg); + msleep(20); + printk(KERN_ERR "[TSP] %s, i=%d,r=%d \n",__func__, i, ret); + i++; + } while (ret && i < 10); + + + return; +} + +void samsung_switching_tsp(int flip) +{ + if (Tsp_probe_passed == 0) + return; + + printk("[TSP]%s\n", __FUNCTION__); + printk("[TSP] Flip_status_tsp:%s, flip:%d(hallSW:%d)\n", Flip_status_tsp ? "FLIP OPEN" : "FLIP OPEN", flip, gpio_get_value(GPIO_HALL_SW)); + printk( "[TSP] tspsel:%d, addr:%02x, current addr:%02x\n", gpio_get_value(GPIO_TSP_SEL), copy_data->client->addr, Tsp_current_addr); + + if (Flip_status_tsp == FLIP_NOTINIT) { + Flip_status_tsp = flip; + samsung_switching_tsp_suspend(); + return; + } + + disable_irq(copy_data->client->irq); /* do not accept tsp irq before folder open/close complete */ + if (mxt_enabled == 0) { + Flip_status_tsp = flip; + } else { + if (Flip_status_tsp != flip) { + Flip_status_tsp = flip; + samsung_switching_tsp_suspend(); + samsung_switching_tsp_resume(); + } + } + enable_irq(copy_data->client->irq); /* enable tsp irq again */ + + return; +} +EXPORT_SYMBOL(samsung_switching_tsp); + +#endif // DUAL_TSP + +#ifdef CONFIG_HAS_EARLYSUSPEND +#define mxt_suspend NULL +#define mxt_resume NULL + +static void mxt_early_suspend(struct early_suspend *h) +{ + struct mxt_data *data = container_of(h, struct mxt_data, + early_suspend); + + if (mxt_enabled == 1) { + pr_info("%s\n", __func__); + mxt_enabled = 0; + touch_is_pressed = 0; + disable_irq(data->client->irq); + mxt_internal_suspend(data); + Tsp_main_initialized = 0; + Tsp_sub_initialized = 0; + } else + pr_err("%s. but touch already off\n", __func__); +} + +static void mxt_late_resume(struct early_suspend *h) +{ + bool ta_status = 0; + struct mxt_data *data = container_of(h, struct mxt_data, + early_suspend); + + if (mxt_enabled == 0) { + pr_info("[TSP] +%s\n", __func__); + mxt_internal_resume(data); + + mxt_enabled = 1; + +#if DUAL_TSP + if (Flip_status_tsp == FLIP_OPEN) { + /******************************************************/ + /* Main TSP or Sub TSP init */ + /******************************************************/ + Tsp_main_initialized = 1; + + Tsp_current_addr = MXT224S_ADDR_MAIN; + gpio_set_value(GPIO_TSP_SEL, TSP_SEL_toMAIN); + printk("[TSP] mxt_late_resume() : Main TSP init #############\n"); + if (data->read_ta_status) { + data->read_ta_status(&ta_status); + pr_info("ta_status is %d\n", ta_status); + mxt_ta_probe(ta_status); + } + #ifdef CONFIG_READ_FROM_FILE + else{ + mxt_download_config(data, MXT_BATT_CFG_NAME); + } + #endif + calibrate_chip_e(); + } else { + /******************************************************/ + /* Sub TSP init */ + /******************************************************/ + Tsp_sub_initialized = 1; + + Tsp_current_addr = MXT224S_ADDR_SUB; + gpio_set_value(GPIO_TSP_SEL, TSP_SEL_toSUB); + printk("[TSP] mxt_late_resume() :Sub TSP init #############\n"); + if (data->read_ta_status) { + data->read_ta_status(&ta_status); + pr_info("ta_status is %d\n", ta_status); + mxt_ta_probe(ta_status); + } + #ifdef CONFIG_READ_FROM_FILE + else{ + mxt_download_config(data, MXT_BATT_CFG_NAME); + } + #endif + calibrate_chip_e(); + } + +/******************************************************/ +/* One TSP has to enter suspend mode */ +/******************************************************/ + samsung_switching_tsp_suspend(); + +/******************************************************/ + treat_median_error_status = 0; + +#else + if (data->read_ta_status) { + data->read_ta_status(&ta_status); + pr_info("ta_status is %d\n", ta_status); + mxt_ta_probe(ta_status); + } +#ifdef CONFIG_READ_FROM_FILE + else{ + mxt_download_config(data, MXT_BATT_CFG_NAME); + } +#endif + treat_median_error_status = 0; + calibrate_chip_e(); +#endif + enable_irq(data->client->irq); + pr_info("[TSP] +%s\n", __func__); + } else + pr_err("%s. but touch already on\n", __func__); +} + +#else +static int mxt_suspend(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mxt_data *data = i2c_get_clientdata(client); + + mxt_enabled = 0; + touch_is_pressed = 0; +#if TOUCH_BOOSTER + tsp_press_status = 0; +#endif + return mxt_internal_suspend(data); +} + +static int mxt_resume(struct device *dev) +{ + int ret = 0; + bool ta_status = 0; + struct i2c_client *client = to_i2c_client(dev); + struct mxt_data *data = i2c_get_clientdata(client); + + ret = mxt_internal_resume(data); + + mxt_enabled = 1; + + if (data->read_ta_status) { + data->read_ta_status(&ta_status); + pr_info("ta_status is %d\n", ta_status); + mxt_ta_probe(ta_status); + } +#ifdef CONFIG_READ_FROM_FILE + else{ + mxt_download_config(data, MXT_BATT_CFG_NAME); + } +#endif + return ret; +} +#endif + +#if FORCE_RELEASE +static void Mxt_force_released(void) +{ + struct mxt_data *data = copy_data; + int i; + + if (!mxt_enabled) { + pr_err("mxt_enabled is 0\n"); + return; + } + + for (i = 0; i < data->num_fingers; i++) { + if (data->fingers[i].state == MXT_STATE_INACTIVE) + continue; + data->fingers[i].z = 0; + data->fingers[i].state = MXT_STATE_RELEASE; + } + report_input_data(data); + + calibrate_chip_e(); +}; +#endif + +#if SYSFS +static ssize_t mxt_debug_setting(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + g_debug_switch = !g_debug_switch; + return 0; +} + +static ssize_t mxt_object_setting(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + unsigned int object_type; + unsigned int object_register; + unsigned int register_value; + u8 value; + u8 val; + int ret; + u16 address; + u16 size; + sscanf(buf, "%u%u%u", &object_type, &object_register, ®ister_value); + pr_info("object type T%d", object_type); + pr_info("object register ->Byte%d\n", object_register); + pr_info("register value %d\n", register_value); + ret = get_object_info(data, (u8)object_type, &size, &address); + if (ret) { + pr_err("fail to get object_info\n"); + return count; + } + + size = 1; + value = (u8)register_value; + write_mem(data, address+(u16)object_register, size, &value); + read_mem(data, address+(u16)object_register, (u8)size, &val); + + pr_info("T%d Byte%d is %d\n", + object_type, object_register, val); + return count; +} + +static ssize_t mxt_object_show(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + unsigned int object_type; + u8 val; + int ret; + u16 address; + u16 size; + u16 i; + sscanf(buf, "%u", &object_type); + pr_info("object type T%d\n", object_type); + ret = get_object_info(data, (u8)object_type, &size, &address); + if (ret) { + pr_err("fail to get object_info\n"); + return count; + } + for (i = 0; i < size; i++) { + read_mem(data, address+i, 1, &val); + pr_info("Byte %u --> %u\n", i, val); + } + return count; +} + +static struct device *sec_touchscreen; +static struct device *mxt_noise_test; +/* + top_left, top_right, center, bottom_left, bottom_right +*/ +static unsigned char test_node[5] = {15, 23, 145, 239, 247}; +uint16_t mxt_delta_node[384] = { 0 }; +uint16_t mxt_refer_node[384] = { 0 }; +static int index_reference; +static int index_delta; + +static void diagnostic_chip(u8 mode) +{ + int error; + u16 t6_address = 0; + u16 size_one; + int ret; + u8 value; + u16 t37_address = 0; + + ret = get_object_info(copy_data, + GEN_COMMANDPROCESSOR_T6, &size_one, &t6_address); + + size_one = 1; + error = write_mem(copy_data, t6_address+5, (u8)size_one, &mode); + /* QT602240_COMMAND_DIAGNOSTIC, mode); */ + if (error < 0) { + pr_err("error %s: write_object\n", __func__); + } else { + get_object_info(copy_data, + DEBUG_DIAGNOSTIC_T37, &size_one, &t37_address); + size_one = 1; + /* pr_info("diagnostic_chip setting success\n"); */ + read_mem(copy_data, t37_address, (u8)size_one, &value); + /* pr_info("dianostic_chip mode is %d\n",value); */ + } +} + +static uint8_t read_uint16_t(struct mxt_data *data, uint16_t address, uint16_t *buf) +{ + uint8_t status; + uint8_t temp[2]; + + status = read_mem(data, address, 2, temp); + *buf = ((uint16_t)temp[1]<<8) + (uint16_t)temp[0]; + + return status; +} + +static void read_dbg_data(uint8_t dbg_mode , uint16_t node, uint16_t *dbg_data) +{ + u8 read_page, read_point; + uint8_t mode, page; + u16 size; + u16 diagnostic_addr = 0; + + if (!mxt_enabled) { + pr_err("read_dbg_data. mxt_enabled is 0\n"); + return; + } + + get_object_info(copy_data, + DEBUG_DIAGNOSTIC_T37, &size, &diagnostic_addr); + + read_page = node / 64; + node %= 64; + read_point = (node * 2) + 2; + + /* Page Num Clear */ + diagnostic_chip(MXT_CTE_MODE); + msleep(20); + + do { + if (read_mem(copy_data, diagnostic_addr, 1, &mode)) { + pr_info("READ_MEM_FAILED\n"); + return; + } + } while (mode != MXT_CTE_MODE); + + diagnostic_chip(dbg_mode); + msleep(20); + + do { + if (read_mem(copy_data, diagnostic_addr, 1, &mode)) { + pr_info("READ_MEM_FAILED\n"); + return; + } + } while (mode != dbg_mode); + + for (page = 1; page <= read_page; page++) { + diagnostic_chip(MXT_PAGE_UP); + msleep(20); + do { + if (read_mem(copy_data, + diagnostic_addr + 1, 1, &mode)) { + pr_info("READ_MEM_FAILED\n"); + return; + } + } while (mode != page); + } + + if (read_uint16_t(copy_data, diagnostic_addr + read_point, dbg_data)) { + pr_info("READ_MEM_FAILED\n"); + return; + } +} + +#define MIN_VALUE 19744 +#define MAX_VALUE 28884 +static u16 max_ref, min_ref; + +static int read_all_data(uint16_t dbg_mode) +{ + u8 read_page, read_point; + u16 max_value = MIN_VALUE, min_value = MAX_VALUE; + u16 object_address = 0; + u8 data_buffer[2] = { 0 }; + u8 node = 0; + int state = 0; + int num = 0; + int ret; + u16 size; + u8 val; + bool dual_x_mode = 0; + + ret = get_object_info(copy_data, PROCG_NOISESUPPRESSION_T62, &size, &object_address); + read_mem(copy_data, object_address + 3, 1, &val); + if (val & 0x01) + dual_x_mode = 1; + + /* Page Num Clear */ + diagnostic_chip(MXT_CTE_MODE); + msleep(30);/* msleep(20); */ + + diagnostic_chip(dbg_mode); + msleep(30);/* msleep(20); */ + + ret = get_object_info(copy_data, + DEBUG_DIAGNOSTIC_T37, &size, &object_address); + /*jerry no need to leave it */ + msleep(50); /* msleep(20); */ + + for (read_page = 0 ; read_page < 4; read_page++) { + for (node = 0; node < 64; node++) { + read_point = (node * 2) + 2; + read_mem(copy_data, object_address + (u16)read_point, 2, data_buffer); + mxt_refer_node[num] = ((u16)data_buffer[1]<<8) + (u16)data_buffer[0]; + + if ((mxt_refer_node[num] > MIN_VALUE) || (mxt_refer_node[num] < MAX_VALUE)) { + state = 1; + printk(KERN_ERR + "[TSP] mxt_refer_node[%3d] = %5d\n", + num, mxt_refer_node[num]); + } + + if (data_buffer[0] != 0) { + if (mxt_refer_node[num] != 0) { + if (mxt_refer_node[num] > max_value) + max_value = mxt_refer_node[num]; + if (mxt_refer_node[num] < min_value) + min_value = mxt_refer_node[num]; + } + } + num++; + /* all node => 19 * 11 = 209 => (3page * 64) + 17 */ + if ((read_page == 3) && (node == 16)) + break; + } + diagnostic_chip(MXT_PAGE_UP); + msleep(20); + } + + if ((max_value - min_value) > 4000) { + printk(KERN_ERR + "[TSP] diff = %d, max_value = %d, min_value = %d\n", + (max_value - min_value), max_value, min_value); + state = 1; + } + + max_ref = max_value; + min_ref = min_value; + + return state; +} + +static int read_all_delta_data(uint16_t dbg_mode) +{ + u8 read_page, read_point; + u16 object_address = 0; + u8 data_buffer[2] = { 0 }; + u8 node = 0; + int state = 0; + int num = 0; + int ret; + u16 size; + + if (!mxt_enabled) { + pr_err("%s : mxt_enabled is 0\n", __func__); + return 1; + } + + /* Page Num Clear */ + diagnostic_chip(MXT_CTE_MODE); + msleep(30);/* msleep(20); */ + + diagnostic_chip(dbg_mode); + msleep(30);/* msleep(20); */ + + ret = get_object_info(copy_data, + DEBUG_DIAGNOSTIC_T37, &size, &object_address); +/*jerry no need to leave it */ +/* + for (i = 0; i < 5; i++) { + if (data_buffer[0] == dbg_mode) + break; + + msleep(20); + } +*/ + msleep(50); /* msleep(20); */ + + + /* 768/64 */ + for (read_page = 0 ; read_page < 6; read_page++) { + for (node = 0; node < 64; node++) { + read_point = (node * 2) + 2; + read_mem(copy_data, + object_address+(u16)read_point, 2, data_buffer); + mxt_delta_node[num] = + ((uint16_t)data_buffer[1]<<8) + + (uint16_t)data_buffer[0]; + + printk(KERN_ERR + "[TSP] mxt_delta_node[%3d] = %5d\n", + num, mxt_delta_node[num]); + + num++; + + /* all node => 24 * 32 = 768 => (12page * 64) */ + /*if ((read_page == 11) && (node == 64)) + break;*/ + } + diagnostic_chip(MXT_PAGE_UP); + msleep(35); + } + + return state; +} + +int find_channel(uint16_t dbg_mode) +{ + u8 read_page, read_point; + u16 object_address = 0; + u8 data_buffer[2] = { 0 }; + u8 node = 0; + int state = 0; + int num = 0; + int ret; + u16 size; + u16 delta_val = 0; + u16 max_val = 0; + + if (!mxt_enabled) { + pr_err("%s : mxt_enabled is 0\n", __func__); + return 1; + } + + /* Page Num Clear */ + diagnostic_chip(MXT_CTE_MODE); + msleep(30);/* msleep(20); */ + + diagnostic_chip(dbg_mode); + msleep(30);/* msleep(20); */ + + ret = get_object_info(copy_data, + DEBUG_DIAGNOSTIC_T37, &size, &object_address); +/*jerry no need to leave it */ +/* + for (i = 0; i < 5; i++) { + if (data_buffer[0] == dbg_mode) + break; + + msleep(20); + } +*/ + msleep(50); /* msleep(20); */ + + + /* 768/64 */ + for (read_page = 0 ; read_page < 12; read_page++) { + for (node = 0; node < 64; node++) { + read_point = (node * 2) + 2; + read_mem(copy_data, + object_address+(u16)read_point, 2, data_buffer); + delta_val = ((uint16_t)data_buffer[1]<<8) + + (uint16_t)data_buffer[0]; + + if (delta_val > 32767) + delta_val = 65535 - delta_val; + if (delta_val > max_val) { + max_val = delta_val; + state = (read_point - 2)/2 + + (read_page * 64); + } + + num++; + + /* all node => 24 * 32 = 768 => (12page * 64) */ + /*if ((read_page == 11) && (node == 64)) + break;*/ + } + diagnostic_chip(MXT_PAGE_UP); + msleep(35); + } + + return state; +} + +static ssize_t find_channel_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + int status = 0; + + status = find_channel(MXT_DELTA_MODE); + + return sprintf(buf, "%u\n", status); +} +#endif + +static int mxt_check_bootloader(struct i2c_client *client, + unsigned int state) +{ + u8 val; + u8 temp; + +recheck: + if (i2c_master_recv(client, &val, 1) != 1) + return -EIO; + + if (val & 0x20) { + if (i2c_master_recv(client, &temp, 1) != 1) + return -EIO; + + if (i2c_master_recv(client, &temp, 1) != 1) + return -EIO; + val &= ~0x20; + } + + if ((val & 0xF0) == MXT_APP_CRC_FAIL) { + pr_info("MXT_APP_CRC_FAIL\n"); + if (i2c_master_recv(client, &val, 1) != 1) + return -EIO; + + if (val & 0x20) { + if (i2c_master_recv(client, &temp, 1) != 1) + return -EIO; + + if (i2c_master_recv(client, &temp, 1) != 1) + return -EIO; + val &= ~0x20; + } + } + + switch (state) { + case MXT_WAITING_BOOTLOAD_CMD: + case MXT_WAITING_FRAME_DATA: + val &= ~MXT_BOOT_STATUS_MASK; + break; + case MXT_FRAME_CRC_PASS: + if (val == MXT_FRAME_CRC_CHECK) + goto recheck; + break; + default: + return -EINVAL; + } + + if (val != state) { + pr_err("Unvalid bootloader mode state\n"); + return -EINVAL; + } + + return 0; +} + +static int mxt_unlock_bootloader(struct i2c_client *client) +{ + u8 buf[2]; + + buf[0] = MXT_UNLOCK_CMD_LSB; + buf[1] = MXT_UNLOCK_CMD_MSB; + + if (i2c_master_send(client, buf, 2) != 2) { + pr_err("%s: i2c send failed\n", + __func__); + + return -EIO; + } + + return 0; +} + +static int mxt_fw_write(struct i2c_client *client, + const u8 *data, unsigned int frame_size) +{ + if (i2c_master_send(client, data, frame_size) != frame_size) { + pr_err("%s: i2c send failed\n", __func__); + return -EIO; + } + + return 0; +} + +static int mxt_load_fw(struct device *dev, const char *fn) +{ + struct mxt_data *data = copy_data; + struct i2c_client *client = copy_data->client; + unsigned int frame_size; + unsigned int pos = 0; + int ret; + u16 obj_address = 0; + u16 size_one; + u8 value; + unsigned int object_register; + int check_frame_crc_error = 0; + int check_wating_frame_data_error = 0; + +#if READ_FW_FROM_HEADER + struct firmware *fw = NULL; + + pr_info("mxt_load_fw start from header!!!\n"); + fw = kzalloc(sizeof(struct firmware), GFP_KERNEL); + + fw->data = firmware_mXT; + fw->size = sizeof(firmware_mXT); +#else + const struct firmware *fw = NULL; + + pr_info("mxt_load_fw startl!!!\n"); + ret = request_firmware(&fw, fn, &client->dev); + if (ret) { + pr_err("Unable to open firmware %s\n", fn); + return ret; + } +#endif + /* Change to the bootloader mode */ + object_register = 0; + value = (u8)MXT_BOOT_VALUE; + ret = get_object_info(data, + GEN_COMMANDPROCESSOR_T6, &size_one, &obj_address); + if (ret) { + pr_err("fail to get object_info\n"); + release_firmware(fw); + return ret; + } + size_one = 1; + write_mem(data, obj_address+(u16)object_register, (u8)size_one, &value); + msleep(MXT_SW_RESET_TIME); + + /* Change to slave address of bootloader */ + if (client->addr == MXT_APP_LOW) + client->addr = MXT_BOOT_LOW; + else + client->addr = MXT_BOOT_HIGH; + + ret = mxt_check_bootloader(client, MXT_WAITING_BOOTLOAD_CMD); + if (ret) + goto out; + + /* Unlock bootloader */ + mxt_unlock_bootloader(client); + + while (pos < fw->size) { + ret = mxt_check_bootloader(client, + MXT_WAITING_FRAME_DATA); + if (ret) { + check_wating_frame_data_error++; + if (check_wating_frame_data_error > 10) { + pr_err("firm update fail. wating_frame_data err\n"); + goto out; + } else { + pr_err("check_wating_frame_data_error = %d, retry\n", + check_wating_frame_data_error); + continue; + } + } + + frame_size = ((*(fw->data + pos) << 8) | *(fw->data + pos + 1)); + + /* We should add 2 at frame size as the the firmware data is not + * included the CRC bytes. + */ + frame_size += 2; + + /* Write one frame to device */ + mxt_fw_write(client, fw->data + pos, frame_size); + + ret = mxt_check_bootloader(client, + MXT_FRAME_CRC_PASS); + if (ret) { + check_frame_crc_error++; + if (check_frame_crc_error > 10) { + pr_err("firm update fail. frame_crc err\n"); + goto out; + } else { + pr_err("check_frame_crc_error = %d, retry\n", + check_frame_crc_error); + continue; + } + } + + pos += frame_size; + + pr_info("Updated %d bytes / %zd bytes\n", + pos, fw->size); + + msleep(20); + } + +out: +#if READ_FW_FROM_HEADER + kfree(fw); +#else + release_firmware(fw); +#endif + /* Change to slave address of application */ + if (client->addr == MXT_BOOT_LOW) + client->addr = MXT_APP_LOW; + else + client->addr = MXT_APP_HIGH; + return ret; +} + +static int mxt_load_fw_bootmode(struct device *dev, const char *fn) +{ + struct i2c_client *client = copy_data->client; + unsigned int frame_size; + unsigned int pos = 0; + int ret; + + int check_frame_crc_error = 0; + int check_wating_frame_data_error = 0; + +#if READ_FW_FROM_HEADER + struct firmware *fw = NULL; + pr_info("mxt_load_fw start from header!!!\n"); + fw = kzalloc(sizeof(struct firmware), GFP_KERNEL); + + fw->data = firmware_mXT; + fw->size = sizeof(firmware_mXT); +#else + const struct firmware *fw = NULL; + pr_info("mxt_load_fw start!!!\n"); + + ret = request_firmware(&fw, fn, &client->dev); + if (ret) { + pr_err("Unable to open firmware %s\n", fn); + return ret; + } +#endif + /* Unlock bootloader */ + mxt_unlock_bootloader(client); + + while (pos < fw->size) { + ret = mxt_check_bootloader(client, + MXT_WAITING_FRAME_DATA); + if (ret) { + check_wating_frame_data_error++; + if (check_wating_frame_data_error > 10) { + pr_err("firm update fail. wating_frame_data err\n"); + goto out; + } else { + pr_err("check_wating_frame_data_error = %d, retry\n", + check_wating_frame_data_error); + continue; + } + } + + frame_size = ((*(fw->data + pos) << 8) | *(fw->data + pos + 1)); + + /* We should add 2 at frame size as the the firmware data is not + * included the CRC bytes. + */ + frame_size += 2; + + /* Write one frame to device */ + mxt_fw_write(client, fw->data + pos, frame_size); + + ret = mxt_check_bootloader(client, + MXT_FRAME_CRC_PASS); + if (ret) { + check_frame_crc_error++; + if (check_frame_crc_error > 10) { + pr_err("firm update fail. frame_crc err\n"); + goto out; + } else { + pr_err("check_frame_crc_error = %d, retry\n", + check_frame_crc_error); + continue; + } + } + + pos += frame_size; + + pr_info("Updated %d bytes / %zd bytes\n", + pos, fw->size); + + msleep(20); + } + +out: +#if READ_FW_FROM_HEADER + kfree(fw); +#else + release_firmware(fw); +#endif + /* Change to slave address of application */ + if (client->addr == MXT_BOOT_LOW) + client->addr = MXT_APP_LOW; + else + client->addr = MXT_APP_HIGH; + return ret; +} + +#if SYSFS +static ssize_t set_refer0_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_reference = 0; + read_dbg_data(MXT_REFERENCE_MODE, test_node[0], &mxt_reference); + return sprintf(buf, "%u\n", mxt_reference); +} + +static ssize_t set_refer1_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_reference = 0; + read_dbg_data(MXT_REFERENCE_MODE, test_node[1], &mxt_reference); + return sprintf(buf, "%u\n", mxt_reference); +} + +static ssize_t set_refer2_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_reference = 0; + read_dbg_data(MXT_REFERENCE_MODE, test_node[2], &mxt_reference); + return sprintf(buf, "%u\n", mxt_reference); +} + +static ssize_t set_refer3_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_reference = 0; + read_dbg_data(MXT_REFERENCE_MODE, test_node[3], &mxt_reference); + return sprintf(buf, "%u\n", mxt_reference); +} + +static ssize_t set_refer4_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_reference = 0; + read_dbg_data(MXT_REFERENCE_MODE, test_node[4], &mxt_reference); + return sprintf(buf, "%u\n", mxt_reference); +} + +static ssize_t set_delta0_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_delta = 0; + read_dbg_data(MXT_DELTA_MODE, test_node[0], &mxt_delta); + if (mxt_delta < 32767) + return sprintf(buf, "%u\n", mxt_delta); + else + mxt_delta = 65535 - mxt_delta; + + if (mxt_delta) + return sprintf(buf, "-%u\n", mxt_delta); + else + return sprintf(buf, "%u\n", mxt_delta); +} + +static ssize_t set_delta1_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_delta = 0; + read_dbg_data(MXT_DELTA_MODE, test_node[1], &mxt_delta); + if (mxt_delta < 32767) + return sprintf(buf, "%u\n", mxt_delta); + else + mxt_delta = 65535 - mxt_delta; + + if (mxt_delta) + return sprintf(buf, "-%u\n", mxt_delta); + else + return sprintf(buf, "%u\n", mxt_delta); +} + +static ssize_t set_delta2_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_delta = 0; + read_dbg_data(MXT_DELTA_MODE, test_node[2], &mxt_delta); + if (mxt_delta < 32767) + return sprintf(buf, "%u\n", mxt_delta); + else + mxt_delta = 65535 - mxt_delta; + + if (mxt_delta) + return sprintf(buf, "-%u\n", mxt_delta); + else + return sprintf(buf, "%u\n", mxt_delta); +} + +static ssize_t set_delta3_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_delta = 0; + read_dbg_data(MXT_DELTA_MODE, test_node[3], &mxt_delta); + if (mxt_delta < 32767) + return sprintf(buf, "%u\n", mxt_delta); + else + mxt_delta = 65535 - mxt_delta; + + if (mxt_delta) + return sprintf(buf, "-%u\n", mxt_delta); + else + return sprintf(buf, "%u\n", mxt_delta); +} + +static ssize_t set_delta4_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + uint16_t mxt_delta = 0; + read_dbg_data(MXT_DELTA_MODE, test_node[4], &mxt_delta); + if (mxt_delta < 32767) + return sprintf(buf, "%u\n", mxt_delta); + else + mxt_delta = 65535 - mxt_delta; + + if (mxt_delta) + return sprintf(buf, "-%u\n", mxt_delta); + else + return sprintf(buf, "%u\n", mxt_delta); +} + +static ssize_t set_threshold_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + return sprintf(buf, "%u\n", threshold); +} + +static ssize_t set_all_refer_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int status = 0; + + status = read_all_data(MXT_REFERENCE_MODE); + + return snprintf(buf, 20, + "%u, %u, %u\n", status, max_ref, min_ref); +} + +static int atoi(const char *str) +{ + int result = 0; + int count = 0; + if (str == NULL) + return -1; + while (str[count] && str[count] >= '0' && str[count] <= '9') { + result = result * 10 + str[count] - '0'; + ++count; + } + return result; +} + +static ssize_t disp_all_refdata_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + return sprintf(buf, "%u\n", mxt_refer_node[index_reference]); +} + +static ssize_t disp_all_refdata_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + index_reference = atoi(buf); + return size; +} + +static ssize_t set_all_delta_mode_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int status = 0; + + status = read_all_delta_data(MXT_DELTA_MODE); + + return sprintf(buf, "%u\n", status); +} + +static ssize_t disp_all_deltadata_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + if (mxt_delta_node[index_delta] < 32767) + return sprintf(buf, "%u\n", mxt_delta_node[index_delta]); + else + mxt_delta_node[index_delta] = 65535 - mxt_delta_node[index_delta]; + + return sprintf(buf, "-%u\n", mxt_delta_node[index_delta]); +} + +static ssize_t disp_all_deltadata_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + index_delta = atoi(buf); + return size; +} + +static ssize_t set_firm_version_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mxt_data *data = copy_data; + + u8 id[ID_BLOCK_SIZE]; + u8 value; + int ret; + u8 i; + + if (mxt_enabled == 1) { + disable_irq(data->client->irq); + for (i = 0; i < 4; i++) { + ret = read_mem(copy_data, 0, sizeof(id), id); + if (!ret) + break; + } + enable_irq(data->client->irq); + if (ret < 0) { + pr_err("TSP read fail : %s", __func__); + value = 0; + return sprintf(buf, "%d\n", value); + } else { + pr_info("%s : %#02x\n", + __func__, id[2]); + return sprintf(buf, "%#02x\n", id[2]); + } + } else { + pr_err("TSP power off : %s", __func__); + value = 0; + return sprintf(buf, "%d\n", value); + } +} + +static ssize_t set_module_off_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + struct mxt_data *data = copy_data; + pr_info("%s!!\n", __func__); + + if (*buf != 'S' && *buf != 'F') { + pr_err("Invalid values\n"); + return -EINVAL; + } + if (mxt_enabled == 1) { + mxt_enabled = 0; + touch_is_pressed = 0; +#if TOUCH_BOOSTER + tsp_press_status = 0; +#endif + disable_irq(data->client->irq); + mxt_internal_suspend(data); + } + return size; +} + +static ssize_t set_module_on_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + struct mxt_data *data = copy_data; + bool ta_status = 0; + + pr_info("%s!!\n", __func__); + + if (*buf != 'S' && *buf != 'F') { + pr_err("Invalid values\n"); + return -EINVAL; + } + + if (mxt_enabled == 0) { + mxt_internal_resume(data); + enable_irq(data->client->irq); + + mxt_enabled = 1; + + if (data->read_ta_status) { + data->read_ta_status(&ta_status); + pr_info("ta_status is %d\n", ta_status); + mxt_ta_probe(ta_status); + } +#ifdef CONFIG_READ_FROM_FILE + else{ + mxt_download_config(data, MXT_BATT_CFG_NAME); + } +#endif + calibrate_chip_e(); + } + + return size; +} + +#if FOR_DEBUGGING_TEST_DOWNLOADFW_BIN +#include <linux/uaccess.h> + +#define MXT_FW_BIN_NAME "/sdcard/mxt.bin" + +static int mxt_download(const u8 *pBianry, const u32 unLength) +{ + struct mxt_data *data = copy_data; + struct i2c_client *client = copy_data->client; + unsigned int frame_size; + unsigned int pos = 0; + int ret; + u16 obj_address = 0; + u16 size_one; + u8 value; + unsigned int object_register; + int check_frame_crc_error = 0; + int check_wating_frame_data_error = 0; + + pr_info("mxt_download start!!!\n"); + + /* Change to the bootloader mode */ + object_register = 0; + value = (u8)MXT_BOOT_VALUE; + ret = get_object_info(data, + GEN_COMMANDPROCESSOR_T6, &size_one, &obj_address); + if (ret) { + pr_err("fail to get object_info\n"); + return ret; + } + size_one = 1; + + write_mem(data, obj_address+(u16)object_register, (u8)size_one, &value); + msleep(MXT_SW_RESET_TIME); + + /* Change to slave address of bootloader */ + if (client->addr == MXT_APP_LOW) + client->addr = MXT_BOOT_LOW; + else + client->addr = MXT_BOOT_HIGH; + ret = mxt_check_bootloader(client, MXT_WAITING_BOOTLOAD_CMD); + + if (ret) + goto out; + + /* Unlock bootloader */ + mxt_unlock_bootloader(client); + + while (pos < unLength) { + ret = mxt_check_bootloader(client, + MXT_WAITING_FRAME_DATA); + if (ret) { + check_wating_frame_data_error++; + if (check_wating_frame_data_error > 10) { + pr_err("firm update fail. wating_frame_data err\n"); + goto out; + } else { + pr_info("check_wating_frame_data_error=%d, retry\n", + check_wating_frame_data_error); + continue; + } + } + + frame_size = ((*(pBianry + pos) << 8) | *(pBianry + pos + 1)); + + /* We should add 2 at frame size as the the firmware data is not + * included the CRC bytes. + */ + frame_size += 2; + + /* Write one frame to device */ + mxt_fw_write(client, pBianry + pos, frame_size); + + ret = mxt_check_bootloader(client, + MXT_FRAME_CRC_PASS); + if (ret) { + check_frame_crc_error++; + if (check_frame_crc_error > 10) { + pr_err("firm update fail. frame_crc err\n"); + goto out; + } else { + pr_info("check_frame_crc_error = %d, retry\n", + check_frame_crc_error); + continue; + } + } + + pos += frame_size; + + pr_info("Updated %d bytes / %zd bytes\n", pos, unLength); + + msleep(20); + } + +out: + /* Change to slave address of application */ + if (client->addr == MXT_BOOT_LOW) + client->addr = MXT_APP_LOW; + else + client->addr = MXT_APP_HIGH; + return ret; +} + +int mxt_binfile_download(void) +{ + int nRet = 0; + int retry_cnt = 0; + long fw1_size = 0; + unsigned char *fw_data1; + struct file *filp; + loff_t pos; + int ret = 0; + mm_segment_t oldfs; + spinlock_t lock; + + oldfs = get_fs(); + set_fs(get_ds()); + + filp = filp_open(MXT_FW_BIN_NAME, O_RDONLY, 0); + if (IS_ERR(filp)) { + pr_err("file open error:%d\n", (s32)filp); + return -1; + } + + fw1_size = filp->f_path.dentry->d_inode->i_size; + pr_info("Size of the file : %ld(bytes)\n", fw1_size); + + fw_data1 = kmalloc(fw1_size, GFP_KERNEL); + memset(fw_data1, 0, fw1_size); + + pos = 0; + memset(fw_data1, 0, fw1_size); + ret = vfs_read(filp, (char __user *)fw_data1, fw1_size, &pos); + + if (ret != fw1_size) { + pr_err("Failed to read file %s (ret = %d)\n", + MXT_FW_BIN_NAME, ret); + kfree(fw_data1); + filp_close(filp, current->files); + return -1; + } + + filp_close(filp, current->files); + + set_fs(oldfs); + + for (retry_cnt = 0; retry_cnt < 3; retry_cnt++) { + pr_info("ADB - MASTER CHIP Firmware update! try : %d", + retry_cnt+1); + nRet = mxt_download((const u8 *)fw_data1, (const u32)fw1_size); + if (nRet) + continue; + break; + } + + kfree(fw_data1); + return nRet; +} +#endif + +static ssize_t set_mxt_firm_update_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + struct mxt_data *data = dev_get_drvdata(dev); + u8 **tsp_config = (u8 **)data->pdata->config; + int i = 0; + int error = 0; + + pr_info("set_mxt_update_show start!!\n"); + if (*buf != 'S' && *buf != 'F') { + pr_err("Invalid values\n"); + return -EINVAL; + } + + disable_irq(data->client->irq); + firm_status_data = 1; +#if FOR_DEBUGGING_TEST_DOWNLOADFW_BIN + error = mxt_binfile_download(); +#else + if (*buf != 'F' && data->tsp_version >= firmware_latest[0] + && data->tsp_build >= firmware_latest[1]) { + pr_err("latest firmware\n"); + firm_status_data = 2; + enable_irq(data->client->irq); + return size; + } + pr_info("fm_update\n"); + error = mxt_load_fw(dev, MXT_FW_NAME); +#endif + + if (error) { + firm_status_data = 3; + pr_err("The firmware update failed(%d)\n", error); + return error; + } else { + firm_status_data = 2; + pr_info("The firmware update succeeded\n"); + + /* Wait for reset */ + msleep(MXT_SW_RESET_TIME); + + mxt_init_touch_driver(data); + /* mxt224_initialize(data); */ + } + + for (i = 0; tsp_config[i][0] != RESERVED_T255; i++) { + error = init_write_config(data, tsp_config[i][0], + tsp_config[i] + 1); + if (error) { + pr_err("init_write_config error\n"); + firm_status_data = 3; + return error; + } + } + + error = mxt_backup(data); + if (error) { + pr_err("mxt_backup fail!!!\n"); + return error; + } + + /* reset the touch IC. */ + error = mxt_reset(data); + if (error) { + pr_err("mxt_reset fail!!!\n"); + return error; + } + + msleep(MXT_SW_RESET_TIME); + enable_irq(data->client->irq); + + return size; +} + +static ssize_t set_mxt_firm_status_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + + int count; + pr_info("Enter firmware_status_show by Factory command\n"); + + if (firm_status_data == 1) + count = sprintf(buf, "DOWNLOADING\n"); + else if (firm_status_data == 2) + count = sprintf(buf, "PASS\n"); + else if (firm_status_data == 3) + count = sprintf(buf, "FAIL\n"); + else + count = sprintf(buf, "PASS\n"); + + return count; +} + +static ssize_t key_threshold_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + return sprintf(buf, "%u\n", threshold); +} + +static ssize_t key_threshold_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t size) +{ + /*TO DO IT*/ + unsigned int object_register = 7; + u8 value; + u8 val; + int ret; + u16 address = 0; + u16 size_one; + int num; + if (sscanf(buf, "%d", &num) == 1) { + threshold = num; + pr_info("threshold value %d\n", threshold); + ret = get_object_info(copy_data, + TOUCH_MULTITOUCHSCREEN_T9, &size_one, &address); + size_one = 1; + value = (u8)threshold; + write_mem(copy_data, + address+(u16)object_register, size_one, &value); + read_mem(copy_data, + address+(u16)object_register, (u8)size_one, &val); + pr_err("T9 Byte%d is %d\n", object_register, val); + } + return size; +} + +static ssize_t set_mxt_firm_version_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + pr_info("phone's version : %#02x,%#02x\n" + , firmware_latest[0], firmware_latest[1]); + return sprintf(buf, "%#02x\n", firmware_latest[0]); +} + +static ssize_t set_mxt_firm_version_read_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mxt_data *data = dev_get_drvdata(dev); + pr_info("phone's version : %#02x,%#02x\n" + , data->tsp_version, data->tsp_build); + return sprintf(buf, "%#02x\n", data->tsp_version); +} + +static ssize_t set_mxt_config_version_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mxt_data *data = dev_get_drvdata(dev); + + return snprintf(buf, 20, + "%s\n", data->pdata->config_fw_version); +} + +static ssize_t mxt_touchtype_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + char temp[15]; + + sprintf(temp, "ATMEL,MXT224S\n"); + strcat(buf, temp); + + return strlen(buf); +} + +static ssize_t x_line_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + u8 data = 24; + return sprintf(buf, "%d\n", data); +} + +static ssize_t y_line_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + u8 data = 32; + return sprintf(buf, "%d\n", data); +} + +#if ITDEV +/* Functions for mem_access interface */ +struct bin_attribute mem_access_attr; + +static int mxt_read_block(struct i2c_client *client, + u16 addr, + u16 length, + u8 *value) +{ + struct i2c_adapter *adapter = client->adapter; + struct i2c_msg msg[2]; + __le16 le_addr; + struct mxt_data *mxt; + + mxt = i2c_get_clientdata(client); + + if (mxt != NULL) { + if ((mxt->last_read_addr == addr) && + (addr == mxt->msg_proc_addr)) { + if (i2c_master_recv(client, value, length) == length) { +#if ITDEV + if (debug_enabled) + print_hex_dump(KERN_INFO, "MXT RX:", + DUMP_PREFIX_NONE, 16, 1, + value, length, false); +#endif + return 0; + } else + return -EIO; + } else { + mxt->last_read_addr = addr; + } + } + + le_addr = cpu_to_le16(addr); + msg[0].addr = client->addr; + msg[0].flags = 0x00; + msg[0].len = 2; + msg[0].buf = (u8 *) &le_addr; + + msg[1].addr = client->addr; + msg[1].flags = I2C_M_RD; + msg[1].len = length; + msg[1].buf = (u8 *) value; + if (i2c_transfer(adapter, msg, 2) == 2) { +#if ITDEV + if (debug_enabled) { + print_hex_dump(KERN_INFO, "MXT TX:", DUMP_PREFIX_NONE, + 16, 1, msg[0].buf, msg[0].len, false); + print_hex_dump(KERN_INFO, "MXT RX:", DUMP_PREFIX_NONE, + 16, 1, msg[1].buf, msg[1].len, false); + } +#endif + return 0; + } else + return -EIO; +} + +/* Writes a block of bytes (max 256) to given address in mXT chip. */ + +int mxt_write_block(struct i2c_client *client, + u16 addr, + u16 length, + u8 *value) +{ + int i; + struct { + __le16 le_addr; + u8 data[256]; + + } i2c_block_transfer; + + struct mxt_data *mxt; + + if (length > 256) + return -EINVAL; + + mxt = i2c_get_clientdata(client); + if (mxt != NULL) + mxt->last_read_addr = -1; + + for (i = 0; i < length; i++) + i2c_block_transfer.data[i] = *value++; + + i2c_block_transfer.le_addr = cpu_to_le16(addr); + + i = i2c_master_send(client, (u8 *) &i2c_block_transfer, length + 2); + + if (i == (length + 2)) { +#if ITDEV + if (debug_enabled) + print_hex_dump(KERN_INFO, "MXT TX:", DUMP_PREFIX_NONE, + 16, 1, &i2c_block_transfer, length+2, false); +#endif + return length; + } else + return -EIO; +} + +static ssize_t mem_access_read(struct file *filp, struct kobject *kobj, + struct bin_attribute *bin_attr, char *buf, loff_t off, size_t count) +{ + int ret = 0; + struct i2c_client *client; + + pr_info("mem_access_read p=%p off=%lli c=%zi\n", buf, off, count); + + if (off >= 32768) + return -EIO; + + if (off + count > 32768) + count = 32768 - off; + + if (count > 256) + count = 256; + + if (count > 0) { + client = to_i2c_client(container_of(kobj, struct device, kobj)); + ret = mxt_read_block(client, off, count, buf); + } + + return ret >= 0 ? count : ret; +} + +static ssize_t mem_access_write(struct file *filp, struct kobject *kobj, + struct bin_attribute *bin_attr, char *buf, loff_t off, size_t count) +{ + int ret = 0; + struct i2c_client *client; + + pr_info("mem_access_write p=%p off=%lli c=%zi\n", buf, off, count); + + if (off >= 32768) + return -EIO; + + if (off + count > 32768) + count = 32768 - off; + + if (count > 256) + count = 256; + + if (count > 0) { + client = to_i2c_client(container_of(kobj, struct device, kobj)); + ret = mxt_write_block(client, off, count, buf); + } + + return ret >= 0 ? count : 0; +} + +static ssize_t pause_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int count = 0; + + count += sprintf(buf + count, "%d", driver_paused); + count += sprintf(buf + count, "\n"); + + return count; +} + +static ssize_t pause_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + int i; + if (sscanf(buf, "%u", &i) == 1 && i < 2) { + driver_paused = i; + + pr_info("%s\n", i ? "paused" : "unpaused"); + } else { + pr_info("pause_driver write error\n"); + } + + return count; +} + +static ssize_t debug_enable_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + int count = 0; + + count += sprintf(buf + count, "%d", debug_enabled); + count += sprintf(buf + count, "\n"); + + return count; +} + +static ssize_t debug_enable_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + int i; + if (sscanf(buf, "%u", &i) == 1 && i < 2) { + debug_enabled = i; + + pr_info("%s\n", + i ? "debug enabled" : "debug disabled"); + } else { + pr_info("debug_enabled write error\n"); + } + + return count; +} + +static ssize_t command_calibrate_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + int ret; + + ret = calibrate_chip_e(); + + return (ret < 0) ? ret : count; +} + +static ssize_t command_reset_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + struct i2c_client *client; + struct mxt_data *mxt; + int ret; + + client = to_i2c_client(dev); + mxt = i2c_get_clientdata(client); + + ret = mxt_reset(mxt); + + return (ret < 0) ? ret : count; +} + +static ssize_t command_backup_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + struct i2c_client *client; + struct mxt_data *mxt; + int ret; + + client = to_i2c_client(dev); + mxt = i2c_get_clientdata(client); + + ret = mxt_backup(mxt); + + return (ret < 0) ? ret : count; +} +#endif + +static DEVICE_ATTR(set_refer0, S_IRUGO, + set_refer0_mode_show, NULL); +static DEVICE_ATTR(set_delta0, S_IRUGO, + set_delta0_mode_show, NULL); +static DEVICE_ATTR(set_refer1, S_IRUGO, + set_refer1_mode_show, NULL); +static DEVICE_ATTR(set_delta1, S_IRUGO, + set_delta1_mode_show, NULL); +static DEVICE_ATTR(set_refer2, S_IRUGO, + set_refer2_mode_show, NULL); +static DEVICE_ATTR(set_delta2, S_IRUGO, + set_delta2_mode_show, NULL); +static DEVICE_ATTR(set_refer3, S_IRUGO, + set_refer3_mode_show, NULL); +static DEVICE_ATTR(set_delta3, S_IRUGO, + set_delta3_mode_show, NULL); +static DEVICE_ATTR(set_refer4, S_IRUGO, + set_refer4_mode_show, NULL); +static DEVICE_ATTR(set_delta4, S_IRUGO, + set_delta4_mode_show, NULL); +static DEVICE_ATTR(set_all_refer, S_IRUGO, + set_all_refer_mode_show, NULL); +static DEVICE_ATTR(disp_all_refdata, S_IRUGO | S_IWUSR | S_IWGRP, + disp_all_refdata_show, disp_all_refdata_store); +static DEVICE_ATTR(set_all_delta, S_IRUGO, + set_all_delta_mode_show, NULL); +static DEVICE_ATTR(disp_all_deltadata, S_IRUGO | S_IWUSR | S_IWGRP, + disp_all_deltadata_show, disp_all_deltadata_store); +static DEVICE_ATTR(set_firm_version, S_IRUGO | S_IWUSR | S_IWGRP, + set_firm_version_show, NULL); +static DEVICE_ATTR(set_module_off, S_IRUGO | S_IWUSR | S_IWGRP, + NULL, set_module_off_store); +static DEVICE_ATTR(set_module_on, S_IRUGO | S_IWUSR | S_IWGRP, + NULL, set_module_on_store); +static DEVICE_ATTR(mxt_touchtype, S_IRUGO | S_IWUSR | S_IWGRP, + mxt_touchtype_show, NULL); +static DEVICE_ATTR(set_threshold, S_IRUGO, + set_threshold_mode_show, NULL); +/* firmware update */ +static DEVICE_ATTR(tsp_firm_update, S_IWUSR | S_IWGRP, + NULL, set_mxt_firm_update_store); +/* firmware update status return */ +static DEVICE_ATTR(tsp_firm_update_status, S_IRUGO, + set_mxt_firm_status_show, NULL); +/* touch threshold return, store */ +static DEVICE_ATTR(tsp_threshold, S_IRUGO | S_IWUSR | S_IWGRP, + key_threshold_show, key_threshold_store); +/* PHONE*/ /* firmware version resturn in phone driver version */ +static DEVICE_ATTR(tsp_firm_version_phone, S_IRUGO, + set_mxt_firm_version_show, NULL); +/*PART*/ /* firmware version resturn in TSP panel version */ +static DEVICE_ATTR(tsp_firm_version_panel, S_IRUGO, + set_mxt_firm_version_read_show, NULL); +static DEVICE_ATTR(tsp_firm_version_config, S_IRUGO, + set_mxt_config_version_show, NULL); +static DEVICE_ATTR(object_show, S_IWUSR | S_IWGRP, NULL, + mxt_object_show); +static DEVICE_ATTR(object_write, S_IWUSR | S_IWGRP, NULL, + mxt_object_setting); +static DEVICE_ATTR(dbg_switch, S_IWUSR | S_IWGRP, NULL, + mxt_debug_setting); +static DEVICE_ATTR(find_delta_channel, S_IRUGO, + find_channel_show, NULL); +static DEVICE_ATTR(x_line, S_IRUGO, + x_line_show, NULL); +static DEVICE_ATTR(y_line, S_IRUGO, + y_line_show, NULL); +static DEVICE_ATTR(set_tsp_name, S_IRUGO, + mxt_touchtype_show, NULL); + +#if ITDEV +/* Sysfs files for libmaxtouch interface */ +static DEVICE_ATTR(pause_driver, 0666, + pause_show, pause_store); +static DEVICE_ATTR(debug_enable, 0666, + debug_enable_show, debug_enable_store); +static DEVICE_ATTR(command_calibrate, 0666, + NULL, command_calibrate_store); +static DEVICE_ATTR(command_reset, 0666, + NULL, command_reset_store); +static DEVICE_ATTR(command_backup, 0666, + NULL, command_backup_store); + +static struct attribute *libmaxtouch_attributes[] = { + &dev_attr_pause_driver.attr, + &dev_attr_debug_enable.attr, + &dev_attr_command_calibrate.attr, + &dev_attr_command_reset.attr, + &dev_attr_command_backup.attr, + NULL, +}; + +static struct attribute_group libmaxtouch_attr_group = { + .attrs = libmaxtouch_attributes, +}; +#endif + +static struct attribute *mxt_attrs[] = { + &dev_attr_object_show.attr, + &dev_attr_object_write.attr, + &dev_attr_dbg_switch.attr, + NULL +}; + +static const struct attribute_group mxt_attr_group = { + .attrs = mxt_attrs, +}; + +#endif +static int __devinit mxt_init_config(struct mxt_data *data) +{ + struct i2c_client *client = data->client; + int ret; + int i; + bool ta_status = 0; + u16 size; + u16 obj_address = 0; + + u8 **tsp_config; +/* + if (client->addr == MXT_APP_LOW) + client->addr = MXT_BOOT_LOW; + else + client->addr = MXT_BOOT_HIGH; + + ret = mxt_check_bootloader(client, MXT_WAITING_BOOTLOAD_CMD); + if (ret >= 0) { + pr_info("boot mode. firm update excute\n"); + mxt_load_fw_bootmode(NULL, MXT_FW_NAME); + msleep(MXT_SW_RESET_TIME); + } else { + if (client->addr == MXT_BOOT_LOW) + client->addr = MXT_APP_LOW; + else + client->addr = MXT_APP_HIGH; + } +*/ + ret = mxt_init_touch_driver(data); + + if (ret) { + pr_err("chip initialization failed\n"); + goto err_init_drv; + } + + /* tsp_family_id - 0x82 : MXT224S series */ + if (data->family_id == 0x82) { + tsp_config = (u8 **)data->pdata->config; + +#if DUAL_TSP + for (i = 0; tsp_config[i][0] != RESERVED_T255; i++) { + if (tsp_config[i][0] == GEN_POWERCONFIG_T7) + data->power_cfg = tsp_config[i] + 1; +} +#endif +#if !(FOR_BRINGUP) + data->t48_config_batt = pdata->t48_config_batt; + data->t48_config_chrg = pdata->t48_config_chrg; + data->tchthr_batt = pdata->tchthr_batt; + data->tchthr_charging = pdata->tchthr_charging; + data->calcfg_batt = pdata->calcfg_batt; + data->calcfg_charging = pdata->calcfg_charging; +#endif +#if UPDATE_ON_PROBE +#if !(FOR_DEBUGGING_TEST_DOWNLOADFW_BIN) + if (data->tsp_version < firmware_latest[0] + || (data->tsp_version == firmware_latest[0] + && data->tsp_build != firmware_latest[1])) { + pr_info("force firmware update\n"); + if (mxt_load_fw(NULL, MXT_FW_NAME)) + goto err_config; + else { + msleep(MXT_SW_RESET_TIME); + mxt_init_touch_driver(data); + } + } +#endif +#endif + } else { + pr_err("ERROR : There is no valid TSP ID\n"); + goto err_config; + } + + // Read USER DATA[0] for Enable&Disable to write configuration + get_object_info(data, SPT_USERDATA_T38, &size, &obj_address); + read_mem(data, obj_address + 0, 1, &data->disable_config_write); + + + for (i = 0; tsp_config[i][0] != RESERVED_T255; i++) { +#if FOR_DEBUGGING_TEST_DOWNLOADFW_BIN + if (data->disable_config_write == 0) + ret = init_write_config(data, tsp_config[i][0], + tsp_config[i] + 1); + else + ret = 0; +#else + ret = init_write_config(data, tsp_config[i][0], + tsp_config[i] + 1); +#endif + /*12/03/29 Temporary set as comment*/ + /*if (ret) + goto err_config;*/ + + if (tsp_config[i][0] == TOUCH_MULTITOUCHSCREEN_T9) { + /* Are x and y inverted? */ + if (tsp_config[i][10] & 0x1) { + data->x_dropbits = + (!(tsp_config[i][22] & 0xC)) << 1; + data->y_dropbits = + (!(tsp_config[i][20] & 0xC)) << 1; + } else { + data->x_dropbits = + (!(tsp_config[i][20] & 0xC)) << 1; + data->y_dropbits = + (!(tsp_config[i][22] & 0xC)) << 1; + } + } + } + ret = mxt_backup(data); + if (ret) + goto err_backup; + + /* reset the touch IC. */ + ret = mxt_reset(data); + if (ret) + goto err_reset; + + msleep(MXT_SW_RESET_TIME); + + if (data->read_ta_status) { + data->read_ta_status(&ta_status); + pr_info("ta_status is %d\n", ta_status); + mxt_ta_probe(ta_status); + } +#ifdef CONFIG_READ_FROM_FILE + else{ + mxt_download_config(data, MXT_BATT_CFG_NAME); + } +#endif + calibrate_chip_e(); + + return 0; + + err_reset: + pr_info("mxt ierr_reset \n"); + err_backup: + pr_info("mxt err_reset \n"); + err_config: + kfree(data->objects); + pr_info("mxt err_config \n"); + err_init_drv: + gpio_free(data->gpio_read_done); + pr_info("mxt err_init_drv \n"); + + return ret; + +} + +static int __devinit mxt_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + struct mxt224s_platform_data *pdata = client->dev.platform_data; + struct mxt_data *data; + struct input_dev *input_dev; + int ret; + int i=0; + + + pr_info("%s +++\n", __func__); + + touch_is_pressed = 0; +#if TOUCH_BOOSTER + tsp_press_status = 0; +#endif +#if DUAL_TSP + Flip_status_tsp = FLIP_NOTINIT; + Tsp_current_addr = MXT224S_ADDR_MAIN; +#endif + + if (!pdata) { + pr_err("missing platform data\n"); + return -ENODEV; + } + + if (pdata->max_finger_touches <= 0) + return -EINVAL; + + data = kzalloc(sizeof(*data) + pdata->max_finger_touches * + sizeof(*data->fingers), GFP_KERNEL); + if (!data) + return -ENOMEM; + + data->pdata = pdata; + data->num_fingers = pdata->max_finger_touches; + data->power_on = pdata->power_on; + data->power_off = pdata->power_off; +#if 1 //!(FOR_BRINGUP) + data->register_cb = pdata->register_cb; +#endif + data->read_ta_status = pdata->read_ta_status; + + data->client = client; + i2c_set_clientdata(client, data); + + input_dev = input_allocate_device(); + if (!input_dev) { + ret = -ENOMEM; + pr_err("input device allocation failed\n"); + goto err_alloc_dev; + } + data->input_dev = input_dev; + input_set_drvdata(input_dev, data); + input_dev->name = "sec_touchscreen"; + + set_bit(EV_SYN, input_dev->evbit); + set_bit(EV_ABS, input_dev->evbit); + set_bit(EV_KEY, input_dev->evbit); + set_bit(MT_TOOL_FINGER, input_dev->keybit); + set_bit(INPUT_PROP_DIRECT, input_dev->propbit); + + input_mt_init_slots(input_dev, MAX_USING_FINGER_NUM); + + input_set_abs_params(input_dev, ABS_MT_POSITION_X, pdata->min_x, + pdata->max_x, 0, 0); + input_set_abs_params(input_dev, ABS_MT_POSITION_Y, pdata->min_y, + pdata->max_y, 0, 0); + input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, pdata->min_z, + pdata->max_z, 0, 0); + input_set_abs_params(input_dev, ABS_MT_PRESSURE, pdata->min_w, + pdata->max_w, 0, 0); + +#ifdef _SUPPORT_SHAPE_TOUCH_ + input_set_abs_params(input_dev, ABS_MT_COMPONENT, 0, 255, 0, 0); +#endif + ret = input_register_device(input_dev); + if (ret) { + input_free_device(input_dev); + goto err_reg_dev; + } + + data->gpio_read_done = pdata->gpio_read_done; + + data->power_on(); + + copy_data = data; +#if 1//!(FOR_BRINGUP) + data->register_cb(mxt_ta_probe); +#endif + +#if DUAL_TSP + Tsp_main_initialized = 0; + Tsp_sub_initialized = 0; + mxt_enabled = 0; + Tsp_probe_passed = 0; +/******************************************************/ +/* Main TSP init */ +/******************************************************/ + Tsp_current_addr = MXT224S_ADDR_MAIN; + gpio_set_value(GPIO_TSP_SEL, TSP_SEL_toMAIN); + copy_data->client->addr = Tsp_current_addr; + printk("[TSP]mxt_probe() : Main TSP init ############# \n"); + ret = mxt_init_config(data); + if (ret) { + pr_err("[TSP] chip config initialization failed\n"); + return ret; + } + Tsp_main_initialized = 1; +/******************************************************/ +/* Sub TSP init */ +/******************************************************/ + Tsp_current_addr = MXT224S_ADDR_SUB; + gpio_set_value(GPIO_TSP_SEL, TSP_SEL_toSUB); + copy_data->client->addr = Tsp_current_addr; + printk("[TSP]mxt_probe() : Sub TSP init ############# \n"); + ret = mxt_init_config(data); + if (ret) { + pr_err("[TSP] chip config initialization failed\n"); + return ret; + } + Tsp_sub_initialized = 1; +/******************************************************/ +/* One TSP has to enter suspend mode */ +/******************************************************/ + /* In flip module, 1st flip-value-scan will be executed precisely.*/ + /* Then, samsung_switching_tsp() will be called... */ + +/******************************************************/ + +#else + ret = mxt_init_config(data); + if (ret) { + pr_err("[TSP] chip config initialization failed\n"); + return ret; + } +#endif + + for (i = 0; i < data->num_fingers; i++) + data->fingers[i].state = MXT_STATE_INACTIVE; + + ret = request_threaded_irq(client->irq, NULL, mxt_irq_thread, + IRQF_TRIGGER_LOW | IRQF_ONESHOT, "mxt_ts", data); + + if (ret < 0) + goto err_irq; + +#if SYSFS + ret = sysfs_create_group(&client->dev.kobj, &mxt_attr_group); + if (ret) + pr_err("sysfs_create_group()is falled\n"); + + +#if ITDEV + ret = sysfs_create_group(&client->dev.kobj, &libmaxtouch_attr_group); + if (ret) { + pr_err("Failed to create libmaxtouch sysfs group\n"); + goto err_irq; + } + + sysfs_bin_attr_init(&mem_access_attr); + mem_access_attr.attr.name = "mem_access"; + mem_access_attr.attr.mode = S_IRUGO | S_IWUGO; + mem_access_attr.read = mem_access_read; + mem_access_attr.write = mem_access_write; + mem_access_attr.size = 65535; + + if (sysfs_create_bin_file(&client->dev.kobj, &mem_access_attr) < 0) { + pr_err("Failed to create device file(%s)!\n", + mem_access_attr.attr.name); + goto err_irq; + } +#endif + pr_info("mxt file sys call!!!\n"); + + sec_touchscreen = device_create(sec_class, + NULL, 0, NULL, "sec_touchscreen"); + dev_set_drvdata(sec_touchscreen, data); + if (IS_ERR(sec_touchscreen)) + pr_err("Failed to create device(sec_touchscreen)!\n"); + + if (device_create_file(sec_touchscreen, + &dev_attr_tsp_firm_update) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_tsp_firm_update.attr.name); + + if (device_create_file(sec_touchscreen, + &dev_attr_tsp_firm_update_status) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_tsp_firm_update_status.attr.name); + + if (device_create_file(sec_touchscreen, + &dev_attr_tsp_threshold) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_tsp_threshold.attr.name); + + if (device_create_file(sec_touchscreen, + &dev_attr_tsp_firm_version_phone) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_tsp_firm_version_phone.attr.name); + + if (device_create_file(sec_touchscreen, + &dev_attr_tsp_firm_version_panel) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_tsp_firm_version_panel.attr.name); + + if (device_create_file(sec_touchscreen, + &dev_attr_tsp_firm_version_config) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_tsp_firm_version_config.attr.name); + + if (device_create_file(sec_touchscreen, + &dev_attr_mxt_touchtype) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_mxt_touchtype.attr.name); + + mxt_noise_test = device_create(sec_class, + NULL, 0, NULL, "tsp_noise_test"); + + if (IS_ERR(mxt_noise_test)) + pr_err("Failed to create device(mxt_noise_test)!\n"); + + if (device_create_file(mxt_noise_test, &dev_attr_set_refer0) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_refer0.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_delta0) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_delta0.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_refer1) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_refer1.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_delta1) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_delta1.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_refer2) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_refer2.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_delta2) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_delta2.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_refer3) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_refer3.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_delta3) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_delta3.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_refer4) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_refer4.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_delta4) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_delta4.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_all_refer) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_all_refer.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_disp_all_refdata) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_disp_all_refdata.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_all_delta) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_all_delta.attr.name); + + if (device_create_file(mxt_noise_test, + &dev_attr_disp_all_deltadata) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_disp_all_deltadata.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_threshold) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_threshold.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_firm_version) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_firm_version.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_module_off) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_module_off.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_set_module_on) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_module_on.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_x_line) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_x_line.attr.name); + + if (device_create_file(mxt_noise_test, &dev_attr_y_line) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_y_line.attr.name); + + if (device_create_file(mxt_noise_test, + &dev_attr_find_delta_channel) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_find_delta_channel.attr.name); + + if (device_create_file(mxt_noise_test, + &dev_attr_set_tsp_name) < 0) + pr_err("Failed to create device file(%s)!\n", + dev_attr_set_tsp_name.attr.name); +#endif +#ifdef CONFIG_HAS_EARLYSUSPEND + data->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; + data->early_suspend.suspend = mxt_early_suspend; + data->early_suspend.resume = mxt_late_resume; + register_early_suspend(&data->early_suspend); +#endif + mxt_enabled = 1; + Tsp_probe_passed = 1; +#if TOUCH_BOOSTER + INIT_DELAYED_WORK(&data->dvfs_dwork, + mxt_set_dvfs_off); +#endif + + + return 0; + +err_irq: + pr_info("mxt err_irq \n"); +err_init_drv: + gpio_free(data->gpio_read_done); + pr_info("mxt err_init_drv \n"); +/* err_gpio_req: + data->power_off(); + input_unregister_device(input_dev); */ +err_reg_dev: + pr_info("mxt err_reg_dev \n"); + +err_alloc_dev: + pr_info("mxt err_alloc_dev \n"); + kfree(data); + return ret; +} + +#ifdef CONFIG_READ_FROM_FILE +#if DOWNLOAD_CONFIG +static struct object_t *mxt_get_object(struct mxt_data *data, u8 type) +{ + struct object_t *object; + int i; + + for (i = 0; i < data->objects_len; i++) { + object = data->objects + i; + if (object->object_type == type) + return object; + } + + dev_err(&data->client->dev, "Invalid object type T%u\n", type); + return NULL; +} + +static int mxt_write_reg(struct i2c_client *client, u16 reg, u8 val) +{ + u8 buf[3]; + + buf[0] = reg & 0xff; + buf[1] = (reg >> 8) & 0xff; + buf[2] = val; + + printk("[TSP] mxt_write_reg %d %d\n", reg, val); + + if (i2c_master_send(client, buf, 3) != 3) { + dev_err(&client->dev, "%s: i2c send failed\n", __func__); + return -EIO; + } + + return 0; +} + +int mxt_download_config(struct mxt_data *data, const char *fn) +{ + struct device *dev = &data->client->dev; + struct mxt_info cfg_info; + struct object_t *object; +#ifdef CONFIG_READ_FROM_SDCARD + struct firmware *cfg = NULL; +#else + const struct firmware *cfg = NULL; +#endif + int ret; + int offset; + loff_t pos; + int i; + unsigned long info_crc, config_crc; + unsigned int type, instance, size, object_size, instance_size; + u8 val; + u16 reg; + +#ifdef CONFIG_READ_FROM_SDCARD + struct file *filp; + long cfg_size = 0; + unsigned char *cfg_data; + mm_segment_t oldfs; + + oldfs = get_fs(); + set_fs(get_ds()); + + printk("[TSP] mxt_download_config %s\n", fn); + + filp = filp_open(fn, O_RDONLY, 0); + if (IS_ERR(filp)) { + pr_err("file open error:%d\n", (s32)filp); + return -1; + } + + cfg_size = filp->f_path.dentry->d_inode->i_size; + pr_info("Size of the Cfg file : %ld(bytes)\n", cfg_size); + + cfg_data = kmalloc(cfg_size, GFP_KERNEL); + memset(cfg_data, 0, cfg_size); + + pos = 0; + ret = vfs_read(filp, (char __user *)cfg_data, cfg_size, &pos); + + if (ret != cfg_size) { + pr_err("Failed to read Cfg file %s (ret = %d)\n", + fn, ret); + kfree(cfg_data); + filp_close(filp, current->files); + return -1; + } + + filp_close(filp, current->files); + + set_fs(oldfs); + + //firmware struct + cfg = kzalloc(sizeof(struct firmware), GFP_KERNEL); + cfg->data = cfg_data; + cfg->size = cfg_size; +#else + ret = request_firmware(&cfg, fn, dev); + if (ret < 0) { + dev_err(dev, "Failure to request config file %s\n", fn); + return 0; + } +#endif + + if (strncmp(cfg->data, MXT_CFG_MAGIC, strlen(MXT_CFG_MAGIC))) { + dev_err(dev, "Unrecognised config file\n"); + ret = -EINVAL; + goto release; + } + + pos = strlen(MXT_CFG_MAGIC); + + /* Load information block and check */ + for (i = 0; i < sizeof(struct mxt_info); i++) { + ret = sscanf(cfg->data + pos, "%hhx%n", + (unsigned char *)&cfg_info + i, + &offset); + if (ret != 1) { + dev_err(dev, "Bad format\n"); + ret = -EINVAL; + } + + pos += offset; + } + + if (cfg_info.family_id != data->family_id) { + dev_err(dev, "Family ID mismatch! %x %x\n", cfg_info.family_id, data->family_id); + ret = -EINVAL; + } + + if (cfg_info.variant_id != data->tsp_variant) { + dev_err(dev, "Variant ID mismatch! %x %x\n", cfg_info.variant_id, data->tsp_variant); + ret = -EINVAL; + } + + if (cfg_info.version != data->tsp_version) + dev_err(dev, "Warning: version mismatch! %x %x\n", cfg_info.version, data->tsp_version); + + if (cfg_info.build != data->tsp_build) + dev_err(dev, "Warning: build num mismatch! %x %x\n", cfg_info.build, data->tsp_build); + + ret = sscanf(cfg->data + pos, "%lx%n", &info_crc, &offset); + if (ret != 1) { + dev_err(dev, "Bad format\n"); + ret = -EINVAL; + } + pos += offset; + + /* Check config CRC */ + ret = sscanf(cfg->data + pos, "%lx%n", &config_crc, &offset); + if (ret != 1) { + dev_err(dev, "Bad format\n"); + ret = -EINVAL; + } + pos += offset; + + while (pos < cfg->size) { + /* Read type, instance, length */ + ret = sscanf(cfg->data + pos, "%x %x %x%n", + &type, &instance, &size, &offset); + if (ret == 0) { + /* EOF */ + ret = 1; + goto release; + } else if (ret < 0) { + dev_err(dev, "Bad format\n"); + ret = -EINVAL; + goto release; + } + pos += offset; + + object = mxt_get_object(data, type); + if (!object) { + ret = -EINVAL; + goto release; + } + + object_size = object->size+1; + instance_size = object->instances+1; + + if (size > object_size) { + dev_err(dev, "Object length exceeded!\n"); + ret = -EINVAL; + goto release; + } + + if (instance >= instance_size) { + dev_err(dev, "Object instances exceeded!\n"); + ret = -EINVAL; + goto release; + } + + reg = object->i2c_address + object_size * instance; + + for (i = 0; i < size; i++) { + ret = sscanf(cfg->data + pos, "%hhx%n", + &val, + &offset); + if (ret != 1) { + dev_err(dev, "Bad format\n"); + ret = -EINVAL; + goto release; + } + + ret = mxt_write_reg(data->client, reg + i, val); + if (ret) + goto release; + + pos += offset; + } + + /* If firmware is upgraded, new bytes may be added to end of + * objects. It is generally forward compatible to zero these + * bytes - previous behaviour will be retained. However + * this does invalidate the CRC and will force a config + * download every time until the configuration is updated */ + if (size < object_size) { + dev_info(dev, "Warning: zeroing %d byte(s) in T%d\n", + object->size - size, type); + + for (i = size + 1; i < object_size; i++) { + ret = mxt_write_reg(data->client, reg + i, 0); + if (ret) + goto release; + } + } + } + +release: + +#ifdef CONFIG_READ_FROM_SDCARD + kfree(cfg); + kfree(cfg_data); +#else + release_firmware(cfg); +#endif + return ret; +} + +#endif +#endif + +static int __devexit mxt_remove(struct i2c_client *client) +{ + struct mxt_data *data = i2c_get_clientdata(client); + +#ifdef CONFIG_HAS_EARLYSUSPEND + unregister_early_suspend(&data->early_suspend); +#endif + free_irq(client->irq, data); + kfree(data->objects); + gpio_free(data->gpio_read_done); + data->power_off(); + input_unregister_device(data->input_dev); + kfree(data); + + return 0; +} + +static struct i2c_device_id mxt_idtable[] = { + {MXT_DEV_NAME, 0}, + {}, +}; + +MODULE_DEVICE_TABLE(i2c, mxt_idtable); + +static const struct dev_pm_ops mxt_pm_ops = { + .suspend = mxt_suspend, + .resume = mxt_resume, +}; + +static struct i2c_driver mxt_i2c_driver = { + .id_table = mxt_idtable, + .probe = mxt_probe, + .remove = __devexit_p(mxt_remove), + .driver = { + .owner = THIS_MODULE, + .name = MXT_DEV_NAME, + .pm = &mxt_pm_ops, + }, +}; + +static int __init mxt_init(void) +{ + return i2c_add_driver(&mxt_i2c_driver); +} + +static void __exit mxt_exit(void) +{ + i2c_del_driver(&mxt_i2c_driver); +} +module_init(mxt_init); +module_exit(mxt_exit); + +MODULE_DESCRIPTION("Atmel MaXTouch driver"); +MODULE_AUTHOR("ki_won.kim<ki_won.kim@samsung.com>"); +MODULE_LICENSE("GPL"); diff --git a/drivers/input/touchscreen/mxt540s.c b/drivers/input/touchscreen/mxt540s.c new file mode 100644 index 0000000..6c66adb --- /dev/null +++ b/drivers/input/touchscreen/mxt540s.c @@ -0,0 +1,2131 @@ +/* + * Copyright (C) 2012, Samsung Electronics Co. Ltd. All Rights Reserved. + * + * 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. + * + */ + +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/input.h> +#include <linux/input/mt.h> +#include <linux/interrupt.h> +#include <linux/i2c.h> +#include <linux/delay.h> +#include <linux/slab.h> +#include <linux/gpio.h> +#include <linux/i2c/mxt540s.h> +#include <asm/unaligned.h> +#include <linux/firmware.h> +#include <linux/string.h> +#ifdef CONFIG_HAS_EARLYSUSPEND +#include <linux/earlysuspend.h> +#endif + +#include "mxt540s_dev.h" + +int mxt_read_mem(struct mxt_data *data, u16 reg, u8 len, u8 *buf) +{ + int ret = 0, i = 0; + u16 le_reg = cpu_to_le16(reg); + struct i2c_msg msg[2] = { + { + .addr = data->client->addr, + .flags = 0, + .len = 2, + .buf = (u8 *)&le_reg, + }, + { + .addr = data->client->addr, + .flags = I2C_M_RD, + .len = len, + .buf = buf, + }, + }; + + for (i = 0; i < 3 ; i++) { + ret = i2c_transfer(data->client->adapter, msg, 2); + if (ret < 0) + dev_err(&data->client->dev, "%s fail[%d] address[0x%x]\n", + __func__, ret, le_reg); + else + break; + } + return ret == 2 ? 0 : -EIO; +} + +int mxt_write_mem(struct mxt_data *data, + u16 reg, u8 len, const u8 *buf) +{ + int ret = 0, i = 0; + u8 tmp[len + 2]; + + put_unaligned_le16(cpu_to_le16(reg), tmp); + memcpy(tmp + 2, buf, len); + + for (i = 0; i < 3 ; i++) { + ret = i2c_master_send(data->client, tmp, sizeof(tmp)); + if (ret < 0) + dev_err(&data->client->dev, + "%s %d times write error on address[0x%x,0x%x]\n", + __func__, i, tmp[1], tmp[0]); + else + break; + } + + return ret == sizeof(tmp) ? 0 : -EIO; +} + +struct mxt_object * + mxt_get_object(struct mxt_data *data, u8 object_type) +{ + struct mxt_object *object; + int i; + + if (!data->objects) + return NULL; + + for (i = 0; i < data->info.object_num; i++) { + object = data->objects + i; + if (object->object_type == object_type) + return object; + } + + dev_err(&data->client->dev, "Invalid object type T%d\n", + object_type); + + return NULL; +} + +int mxt_read_object(struct mxt_data *data, + u8 type, u8 offset, u8 *val) +{ + struct mxt_object *object; + u16 reg; + + object = mxt_get_object(data, type); + if (!object) + return -EINVAL; + + reg = object->start_address; + + return mxt_read_mem(data, reg + offset, 1, val); +} + +int mxt_write_object(struct mxt_data *data, + u8 type, u8 offset, u8 val) +{ + struct mxt_object *object; + u16 reg; + + object = mxt_get_object(data, type); + if (!object) + return -EINVAL; + + if (offset >= object->size * object->instances) { + dev_err(&data->client->dev, + "Tried to write outside object T%d offset:%d, size:%d\n", + type, offset, object->size); + return -EINVAL; + } + reg = object->start_address; + return mxt_write_mem(data, reg + offset, 1, &val); +} + +static int mxt_reset(struct mxt_data *data) +{ + u8 buf = 1u; + return mxt_write_mem(data, data->cmd_proc + CMD_RESET_OFFSET, 1, &buf); +} + +static int mxt_backup(struct mxt_data *data) +{ + u8 buf = 0x55u; + return mxt_write_mem(data, data->cmd_proc + CMD_BACKUP_OFFSET, 1, &buf); +} + +static int mxt_start(struct mxt_data *data) +{ + int error; + + /* Touch report enable */ + error = mxt_write_object(data, TOUCH_MULTITOUCHSCREEN_T9, + MXT_T9_CTRL, data->tsp_ctrl); + + if (error) + dev_err(&data->client->dev, "Fail to start touch\n"); + + return error; +} + +static void mxt_stop(struct mxt_data *data) +{ + /* Touch report disable */ + mxt_write_object(data, TOUCH_MULTITOUCHSCREEN_T9, MXT_T9_CTRL, 0); +} + +static int mxt_check_instance(struct mxt_data *data, u8 object_type) +{ + int i; + + for (i = 0; i < data->info.object_num; i++) { + if (data->objects[i].object_type == object_type) + return data->objects[i].instances; + } + return 0; +} + +static u32 crc24(u32 crc, u8 byte1, u8 byte2) +{ + static const u32 crcpoly = 0x80001B; + u32 res; + u16 data_word; + + data_word = (((u16)byte2) << 8) | byte1; + res = (crc << 1) ^ (u32)data_word; + + if (res & 0x1000000) + res ^= crcpoly; + + return res; +} + +static int mxt_calculate_infoblock_crc(struct mxt_data *data, + u32 *crc_pointer) +{ + u32 crc = 0; + u8 mem[7 + data->info.object_num * 6]; + int ret; + int i; + + ret = mxt_read_mem(data, 0, sizeof(mem), mem); + + if (ret) + return ret; + + for (i = 0; i < sizeof(mem) - 1; i += 2) + crc = crc24(crc, mem[i], mem[i + 1]); + + *crc_pointer = crc24(crc, mem[i], 0) & 0x00FFFFFF; + + return 0; +} + +static int mxt_read_info_crc(struct mxt_data *data, u32 *crc_pointer) +{ + u16 crc_address; + u8 msg[3]; + int ret; + + /* Read Info block CRC address */ + crc_address = OBJECT_TABLE_START_ADDRESS + + data->info.object_num * OBJECT_TABLE_ELEMENT_SIZE; + + ret = mxt_read_mem(data, crc_address, 3, msg); + if (ret) + return ret; + + *crc_pointer = msg[0] | (msg[1] << 8) | (msg[2] << 16); + + return 0; +} + +static int mxt_reportid_to_type(struct mxt_data *data, + u8 report_id, u8 *instance) +{ + if (report_id <= data->max_report_id) { + *instance = data->rid_map[report_id].instance; + return data->rid_map[report_id].object_type; + } else + return 0; +} + +static int mxt_read_config_crc(struct mxt_data *data, u32 *crc_pointer) +{ + struct device *dev = &data->client->dev; + struct mxt_object *object; + u8 msg[data->msg_object_size]; + int error, try = 0; + int fail_count = data->max_report_id * 2; + u8 object_type, instance; + + object = mxt_get_object(data, GEN_COMMANDPROCESSOR_T6); + if (!object) + return -EIO; + + /* Try to read the config checksum of the existing cfg */ + mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_REPORTATLL_OFFSET, 1); + + /* Read message from command processor, which only has one report ID */ + while (++try < fail_count) { + error = mxt_read_mem(data, data->msg_proc, sizeof(msg), msg); + if (error) + return error; + + object_type = mxt_reportid_to_type(data, msg[0] , &instance); + if (object_type == RESERVED_T0) + return -EINVAL; + + if (object_type == GEN_COMMANDPROCESSOR_T6) + break; + } + + if (error) { + dev_err(dev, "Failed to retrieve CRC\n"); + return error; + } + + /* Bytes 1-3 are the checksum. */ + *crc_pointer = msg[2] | (msg[3] << 8) | (msg[4] << 16); + + return 0; +} + +static int mxt_get_id_info(struct mxt_data *data) +{ + int ret = 0; + u8 id[ID_BLOCK_SIZE]; + + /* Read IC information */ + ret = mxt_read_mem(data, 0, sizeof(id), id); + if (ret) { + dev_err(&data->client->dev, "Read fail. IC information\n"); + goto out; + } else { + dev_info(&data->client->dev, + "family: 0x%x variant: 0x%x version: 0x%x" + " build: 0x%x matrix X,Y size: %d,%d" + " number of obect: %d\n" + , id[0], id[1], id[2], id[3], id[4], id[5], id[6]); + data->info.family_id = id[0]; + data->info.variant_id = id[1]; + data->info.version = id[2]; + data->info.build = id[3]; + data->info.matrix_xsize = id[4]; + data->info.matrix_ysize = id[5]; + data->info.object_num = id[6]; + } + +out: + return ret; +} + +static int mxt_get_object_table(struct mxt_data *data) +{ + int ret = 0; + int i; + u8 type_count = 0; + + ret = mxt_read_mem(data, OBJECT_TABLE_START_ADDRESS, + data->info.object_num * sizeof(*data->objects), + (u8 *)data->objects); + + if (ret) + goto out; + + data->max_report_id = 0; + + for (i = 0; i < data->info.object_num; i++) { + data->objects[i].start_address = + le16_to_cpu(data->objects[i].start_address); + /* size and instance values are smaller than atual value */ + data->objects[i].size += 1; + data->objects[i].instances += 1; + data->max_report_id += data->objects[i].num_report_ids * + (data->objects[i].instances); + + switch (data->objects[i].object_type) { + case GEN_MESSAGEPROCESSOR_T5: + data->msg_object_size = data->objects[i].size; + data->msg_proc = data->objects[i].start_address; + dev_dbg(&data->client->dev, + "mesage object size: %d message address: 0x%x\n", + data->msg_object_size, data->msg_proc); + break; + case GEN_COMMANDPROCESSOR_T6: + data->cmd_proc = data->objects[i].start_address; + break; + case TOUCH_MULTITOUCHSCREEN_T9: + data->finger_report_id = type_count + 1; + dev_dbg(&data->client->dev, "Finger report id: %d\n", + data->finger_report_id); + break; + } + + if (data->objects[i].num_report_ids) { + type_count += data->objects[i].num_report_ids * + (data->objects[i].instances); + } + } + + dev_info(&data->client->dev, "maXTouch: %d Objects\n", + data->info.object_num); +#ifdef DEBUG + for (i = 0; i < data->info.object_num; i++) { + dev_dbg(&data->client->dev, + "Object:T%d\t\t\t Address:0x%x\tSize:%d\tInstance:%d\tReport Id's:%d\n", + data->objects[i].object_type, + data->objects[i].start_address, + data->objects[i].size, + data->objects[i].instances, + data->objects[i].num_report_ids); + } +#endif + +out: + return ret; +} + +static void __devinit mxt_make_reportid_table(struct mxt_data *data) +{ + struct mxt_object *objects = data->objects; + int i, j; + int cur_id, sta_id; + + data->rid_map[0].instance = 0; + data->rid_map[0].object_type = 0; + cur_id = 1; + + for (i = 0; i < data->info.object_num; i++) { + if (objects[i].num_report_ids == 0) + continue; + for (j = 1; j <= objects[i].instances; j++) { + for (sta_id = cur_id; + cur_id < (sta_id + objects[i].num_report_ids); + cur_id++) { + + data->rid_map[cur_id].instance = j; + data->rid_map[cur_id].object_type = + objects[i].object_type; + } + } + } + + dev_info(&data->client->dev, "maXTouch: %d report ID\n", + data->max_report_id); + +#ifdef DEBUG + for (i = 0; i < data->max_report_id; i++) { + dev_dbg(&data->client->dev, "Report_id[%d]:\tT%d\n", + i, data->rid_map[i].object_type); + } +#endif +} + +static int mxt_init_write_config(struct mxt_data *data, + u8 type, const u8 *cfg) +{ + struct mxt_object *object; + u8 *temp; + int ret; + + object = mxt_get_object(data, type); + if (!object) + return -EINVAL; + + if ((object->size == 0) || (object->start_address == 0)) { + dev_err(&data->client->dev, + "%s error object_type T%d\n", __func__, type); + return -ENODEV; + } + + ret = mxt_write_mem(data, object->start_address, + object->size, cfg); + if (ret) { + dev_err(&data->client->dev, + "%s write error T%d address[0x%x]\n", + __func__, type, object->start_address); + return ret; + } + + if (mxt_check_instance(data, type)) { + temp = kzalloc(object->size, GFP_KERNEL); + + if (temp == NULL) + return -ENOMEM; + + ret |= mxt_write_mem(data, object->start_address + object->size, + object->size, temp); + kfree(temp); + } + + return ret; +} + +static int mxt_write_config_from_pdata(struct mxt_data *data) +{ + struct device *dev = &data->client->dev; + u8 **tsp_config = (u8 **)data->pdata->config; + u8 i; + int ret; + + if (!tsp_config) { + dev_info(dev, "No cfg data in pdata\n"); + return 0; + } + + for (i = 0; tsp_config[i][0] != RESERVED_T255; i++) { + ret = mxt_init_write_config(data, tsp_config[i][0], + tsp_config[i] + 1); + if (ret) + return ret; + + if (tsp_config[i][0] == TOUCH_MULTITOUCHSCREEN_T9) { + /* Are x and y inverted? */ + if (tsp_config[i][10] & 0x1) { + data->x_dropbits = + (!(tsp_config[i][22] & 0xC)) << 1; + data->y_dropbits = + (!(tsp_config[i][20] & 0xC)) << 1; + } else { + data->x_dropbits = + (!(tsp_config[i][20] & 0xC)) << 1; + data->y_dropbits = + (!(tsp_config[i][22] & 0xC)) << 1; + } + } + } + return ret; +} + +#if DUAL_CFG +static int mxt_write_config(struct mxt_fw_info *fw_info) +{ + struct mxt_data *data = fw_info->data; + struct device *dev = &data->client->dev; + struct mxt_object *object; + struct mxt_cfg_data *cfg_data; + u32 current_crc; + u8 i, val = 0; + u16 reg, index; + int ret; + u32 cfg_length = data->cfg_len = fw_info->cfg_len / 2 ; + + if (!fw_info->ta_cfg_raw_data && !fw_info->batt_cfg_raw_data) { + dev_info(dev, "No cfg data in file\n"); + ret = mxt_write_config_from_pdata(data); + return ret; + } + + /* Get config CRC from device */ + ret = mxt_read_config_crc(data, ¤t_crc); + if (ret) + return ret; + + /* Check Version information */ + if (fw_info->fw_ver != data->info.version) { + dev_err(dev, "Warning: version mismatch! %s\n", __func__); + return 0; + } + if (fw_info->build_ver != data->info.build) { + dev_err(dev, "Warning: build num mismatch! %s\n", __func__); + return 0; + } + + /* Check config CRC */ + if (current_crc == fw_info->cfg_crc) { + dev_info(dev, "Skip writing Config:[CRC 0x%06X]\n", + current_crc); + return 0; + } + + dev_info(dev, "Writing Config:[CRC 0x%06X!=0x%06X]\n", + current_crc, fw_info->cfg_crc); + + /* Get the address of configuration data */ + data->batt_cfg_raw_data = fw_info->batt_cfg_raw_data; + data->ta_cfg_raw_data = fw_info->ta_cfg_raw_data = + fw_info->batt_cfg_raw_data + cfg_length; + + /* Write config info */ + for (index = 0; index < cfg_length;) { + if (index + sizeof(struct mxt_cfg_data) >= cfg_length) { + dev_err(dev, "index(%d) of cfg_data exceeded total size(%d)!!\n", + index + sizeof(struct mxt_cfg_data), + cfg_length); + return -EINVAL; + } + + /* Get the info about each object */ + if (data->charging_mode) + cfg_data = (struct mxt_cfg_data *) + (&fw_info->ta_cfg_raw_data[index]); + else + cfg_data = (struct mxt_cfg_data *) + (&fw_info->batt_cfg_raw_data[index]); + + index += sizeof(struct mxt_cfg_data) + cfg_data->size; + if (index > cfg_length) { + dev_err(dev, "index(%d) of cfg_data exceeded total size(%d) in T%d object!!\n", + index, cfg_length, cfg_data->type); + return -EINVAL; + } + + object = mxt_get_object(data, cfg_data->type); + if (!object) { + dev_err(dev, "T%d is Invalid object type\n", + cfg_data->type); + return -EINVAL; + } + + /* Check and compare the size, instance of each object */ + if (cfg_data->size > object->size) { + dev_err(dev, "T%d Object length exceeded!\n", + cfg_data->type); + return -EINVAL; + } + if (cfg_data->instance >= object->instances) { + dev_err(dev, "T%d Object instances exceeded!\n", + cfg_data->type); + return -EINVAL; + } + + dev_dbg(dev, "Writing config for obj %d len %d instance %d (%d/%d)\n", + cfg_data->type, object->size, + cfg_data->instance, index, cfg_length); + + reg = object->start_address + object->size * cfg_data->instance; + + /* Write register values of each object */ + ret = mxt_write_mem(data, reg, cfg_data->size, + cfg_data->register_val); + if (ret) { + dev_err(dev, "Write T%d Object failed\n", + object->object_type); + return ret; + } + + /* + * If firmware is upgraded, new bytes may be added to end of + * objects. It is generally forward compatible to zero these + * bytes - previous behaviour will be retained. However + * this does invalidate the CRC and will force a config + * download every time until the configuration is updated. + */ + if (cfg_data->size < object->size) { + dev_err(dev, "Warning: zeroing %d byte(s) in T%d\n", + object->size - cfg_data->size, cfg_data->type); + + for (i = cfg_data->size + 1; i < object->size; i++) { + ret = mxt_write_mem(data, reg + i, 1, &val); + if (ret) + return ret; + } + } + } + dev_info(dev, "Updated configuration\n"); + + return ret; +} +#else +static int mxt_write_config(struct mxt_fw_info *fw_info) +{ + struct mxt_data *data = fw_info->data; + struct device *dev = &data->client->dev; + struct mxt_object *object; + struct mxt_cfg_data *cfg_data; + u32 current_crc; + u8 i, val = 0; + u16 reg, index; + int ret; + + if (!fw_info->cfg_raw_data) { + dev_info(dev, "No cfg data in file\n"); + ret = mxt_write_config_from_pdata(data); + return ret; + } + + /* Get config CRC from device */ + ret = mxt_read_config_crc(data, ¤t_crc); + if (ret) + return ret; + + /* Check Version information */ + if (fw_info->fw_ver != data->info.version) { + dev_err(dev, "Warning: version mismatch! %s\n", __func__); + return 0; + } + if (fw_info->build_ver != data->info.build) { + dev_err(dev, "Warning: build num mismatch! %s\n", __func__); + return 0; + } + + /* Check config CRC */ + if (current_crc == fw_info->cfg_crc) { + dev_info(dev, "Skip writing Config:[CRC 0x%06X]\n", + current_crc); + return 0; + } + + dev_info(dev, "Writing Config:[CRC 0x%06X!=0x%06X]\n", + current_crc, fw_info->cfg_crc); + + /* Write config info */ + for (index = 0; index < fw_info->cfg_len;) { + + if (index + sizeof(struct mxt_cfg_data) >= fw_info->cfg_len) { + dev_err(dev, "index(%d) of cfg_data exceeded total size(%d)!!\n", + index + sizeof(struct mxt_cfg_data), + fw_info->cfg_len); + return -EINVAL; + } + + /* Get the info about each object */ + cfg_data = (struct mxt_cfg_data *) + (&fw_info->cfg_raw_data[index]); + + index += sizeof(struct mxt_cfg_data) + cfg_data->size; + if (index > fw_info->cfg_len) { + dev_err(dev, "index(%d) of cfg_data exceeded total size(%d) in T%d object!!\n", + index, fw_info->cfg_len, cfg_data->type); + return -EINVAL; + } + + object = mxt_get_object(data, cfg_data->type); + if (!object) { + dev_err(dev, "T%d is Invalid object type\n", + cfg_data->type); + return -EINVAL; + } + + /* Check and compare the size, instance of each object */ + if (cfg_data->size > object->size) { + dev_err(dev, "T%d Object length exceeded!\n", + cfg_data->type); + return -EINVAL; + } + if (cfg_data->instance >= object->instances) { + dev_err(dev, "T%d Object instances exceeded!\n", + cfg_data->type); + return -EINVAL; + } + + dev_dbg(dev, "Writing config for obj %d len %d instance %d (%d/%d)\n", + cfg_data->type, object->size, + cfg_data->instance, index, fw_info->cfg_len); + + reg = object->start_address + object->size * cfg_data->instance; + + /* Write register values of each object */ + ret = mxt_write_mem(data, reg, cfg_data->size, + cfg_data->register_val); + if (ret) { + dev_err(dev, "Write T%d Object failed\n", + object->object_type); + return ret; + } + + /* + * If firmware is upgraded, new bytes may be added to end of + * objects. It is generally forward compatible to zero these + * bytes - previous behaviour will be retained. However + * this does invalidate the CRC and will force a config + * download every time until the configuration is updated. + */ + if (cfg_data->size < object->size) { + dev_err(dev, "Warning: zeroing %d byte(s) in T%d\n", + object->size - cfg_data->size, cfg_data->type); + + for (i = cfg_data->size + 1; i < object->size; i++) { + ret = mxt_write_mem(data, reg + i, 1, &val); + if (ret) + return ret; + } + } + } + dev_info(dev, "Updated configuration\n"); + + return ret; +} +#endif + + +static int mxt_calibrate_chip(struct mxt_data *data) +{ + u8 cal_data = 1; + int ret = 0; + /* send calibration command to the chip */ + ret = mxt_write_mem(data, + data->cmd_proc + CMD_CALIBRATE_OFFSET, + 1, &cal_data); + if (!ret) + dev_info(&data->client->dev, "success sending calibration cmd!!!\n"); + return ret; +} + +#if TSP_INFORM_CHARGER +static int set_charger_config(struct mxt_data *data) +{ + struct device *dev = &data->client->dev; + struct mxt_object *object; + struct mxt_cfg_data *cfg_data; + u8 i, val = 0; + u16 reg, index; + int ret; + + dev_dbg(dev, "set_charger_config data->cfg_len = %d\n", data->cfg_len); + + for (index = 0; index < data->cfg_len;) { + if (index + sizeof(struct mxt_cfg_data) >= data->cfg_len) { + dev_err(dev, "index(%d) of cfg_data exceeded total size(%d)!!\n", + index + sizeof(struct mxt_cfg_data), + data->cfg_len); + return -EINVAL; + } + + /* Get the info about each object */ + if (data->charging_mode) + cfg_data = (struct mxt_cfg_data *) + (&data->ta_cfg_raw_data[index]); + else + cfg_data = (struct mxt_cfg_data *) + (&data->batt_cfg_raw_data[index]); + + index += sizeof(struct mxt_cfg_data) + cfg_data->size; + if (index > data->cfg_len) { + dev_err(dev, "index(%d) of cfg_data exceeded total size(%d) in T%d object!!\n", + index, data->cfg_len, cfg_data->type); + return -EINVAL; + } + + object = mxt_get_object(data, cfg_data->type); + if (!object) { + dev_err(dev, "T%d is Invalid object type\n", + cfg_data->type); + return -EINVAL; + } + + /* Check and compare the size, instance of each object */ + if (cfg_data->size > object->size) { + dev_err(dev, "T%d Object length exceeded!\n", + cfg_data->type); + return -EINVAL; + } + if (cfg_data->instance >= object->instances) { + dev_err(dev, "T%d Object instances exceeded!\n", + cfg_data->type); + return -EINVAL; + } + + dev_dbg(dev, "Writing config for obj %d len %d instance %d (%d/%d)\n", + cfg_data->type, object->size, + cfg_data->instance, index, data->cfg_len); + + reg = object->start_address + object->size * cfg_data->instance; + + /* Write register values of each object */ + ret = mxt_write_mem(data, reg, cfg_data->size, + cfg_data->register_val); + if (ret) { + dev_err(dev, "Write T%d Object failed\n", + object->object_type); + return ret; + } + + /* + * If firmware is upgraded, new bytes may be added to end of + * objects. It is generally forward compatible to zero these + * bytes - previous behaviour will be retained. However + * this does invalidate the CRC and will force a config + * download every time until the configuration is updated. + */ + if (cfg_data->size < object->size) { + dev_err(dev, "Warning: zeroing %d byte(s) in T%d\n", + object->size - cfg_data->size, cfg_data->type); + + for (i = cfg_data->size + 1; i < object->size; i++) { + ret = mxt_write_mem(data, reg + i, 1, &val); + if (ret) + return ret; + } + } + } + + return ret; +} + +static void inform_charger(struct mxt_callbacks *cb, + bool en) +{ + struct mxt_data *data = container_of(cb, + struct mxt_data, callbacks); + + cancel_delayed_work_sync(&data->noti_dwork); + data->charging_mode = en; + schedule_delayed_work(&data->noti_dwork, HZ / 5); +} + +static void charger_noti_dwork(struct work_struct *work) +{ + struct mxt_data *data = + container_of(work, struct mxt_data, + noti_dwork.work); + + if (!data->mxt_enabled) { + schedule_delayed_work(&data->noti_dwork, HZ / 5); + return ; + } + + dev_info(&data->client->dev, + "%s mode\n", + data->charging_mode ? "charging" : "battery"); + + set_charger_config(data); +} + +static void inform_charger_init(struct mxt_data *data) +{ + INIT_DELAYED_WORK(&data->noti_dwork, charger_noti_dwork); +} +#endif + +static void mxt_report_input_data(struct mxt_data *data) +{ + int i; + int count = 0; + int report_count = 0; + + for (i = 0; i < data->num_fingers; i++) { + if (data->fingers[i].state == MXT_STATE_INACTIVE) + continue; + + if (data->fingers[i].state == MXT_STATE_RELEASE) { + input_mt_slot(data->input_dev, i); + input_mt_report_slot_state(data->input_dev, + MT_TOOL_FINGER, false); + } else { + input_mt_slot(data->input_dev, i); + input_mt_report_slot_state(data->input_dev, + MT_TOOL_FINGER, true); + input_report_abs(data->input_dev, ABS_MT_POSITION_X, + data->fingers[i].x); + input_report_abs(data->input_dev, ABS_MT_POSITION_Y, + data->fingers[i].y); + input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, + data->fingers[i].w); + input_report_abs(data->input_dev, ABS_MT_PRESSURE, + data->fingers[i].z); +#if TSP_USE_SHAPETOUCH + input_report_abs(data->input_dev, ABS_MT_COMPONENT, + data->fingers[i].component); + input_report_abs(data->input_dev, ABS_MT_SUMSIZE, + data->sumsize); +#endif + } + report_count++; + +#if TSP_DEBUG_INFO + if (data->fingers[i].state == MXT_STATE_PRESS) + dev_info(&data->client->dev, "P: id[%d] X[%d],Y[%d]\n", + i, data->fingers[i].x, data->fingers[i].y); +#else + if (data->fingers[i].state == MXT_STATE_PRESS) + dev_info(&data->client->dev, "P: id[%d]\n", i); +#endif + else if (data->fingers[i].state == MXT_STATE_RELEASE) + dev_info(&data->client->dev, "R: id[%d] M[%d]\n", + i, data->fingers[i].mcount); + + if (data->fingers[i].state == MXT_STATE_RELEASE) { + data->fingers[i].state = MXT_STATE_INACTIVE; + data->fingers[i].mcount = 0; + } else { + data->fingers[i].state = MXT_STATE_MOVE; + count++; + } + } + + if (report_count > 0) { +#if TSP_ITDEV + if (!data->driver_paused) +#endif + input_sync(data->input_dev); + } + +#if (TSP_USE_SHAPETOUCH || TSP_BOOSTER) + /* all fingers are released */ + if (count == 0) { +#if TSP_USE_SHAPETOUCH + data->sumsize = 0; +#endif +#if TSP_BOOSTER + mxt_set_dvfs_on(data, false); +#endif + } +#endif + + data->finger_mask = 0; +} + +static void mxt_treat_T6_object(struct mxt_data *data, u8 *msg) +{ + /* normal mode */ + if (msg[1] == 0x00) + dev_info(&data->client->dev, "normal mode\n"); + /* I2C checksum error */ + if (msg[1] & 0x04) + dev_err(&data->client->dev, "I2C checksum error\n"); + /* config error */ + if (msg[1] & 0x08) + dev_err(&data->client->dev, "config error\n"); + /* calibration */ + if (msg[1] & 0x10) + dev_info(&data->client->dev, "calibration is on going !!\n"); + /* signal error */ + if (msg[1] & 0x20) + dev_err(&data->client->dev, "signal error\n"); + /* overflow */ + if (msg[1] & 0x40) + dev_err(&data->client->dev, "overflow detected\n"); + /* reset */ + if (msg[1] & 0x80) { + dev_info(&data->client->dev, "reset is ongoing\n"); +#if TSP_INFORM_CHARGER + if (data->charging_mode) + set_charger_config(data); +#endif +#if TSP_SEC_SYSFS + data->sysfs_data->current_crc = msg[2] + | (msg[3] << 8) | (msg[4] << 16); + dev_dbg(&data->client->dev, "CRC [0x%06X]\n", + data->sysfs_data->current_crc); +#endif + } +} + +static void mxt_treat_T9_object(struct mxt_data *data, u8 *msg) +{ + int id; + + id = msg[0] - data->finger_report_id; + + /* If not a touch event, return */ + if (id < 0 || id >= data->num_fingers) + return; + + if (msg[1] & RELEASE_MSG_MASK) { + data->fingers[id].z = 0; + data->fingers[id].w = msg[5]; + data->fingers[id].state = MXT_STATE_RELEASE; + mxt_report_input_data(data); + } else if ((msg[1] & DETECT_MSG_MASK) + && (msg[1] & (PRESS_MSG_MASK | MOVE_MSG_MASK))) { + data->fingers[id].z = msg[6]; + data->fingers[id].w = msg[5]; + data->fingers[id].x = (((msg[2] << 4) | (msg[4] >> 4)) + >> data->x_dropbits); + data->fingers[id].y = (((msg[3] << 4) | (msg[4] & 0xF)) + >> data->y_dropbits); + +#if TSP_USE_SHAPETOUCH + data->fingers[id].component = msg[7]; +#endif + data->finger_mask |= 1U << id; + + if (msg[1] & PRESS_MSG_MASK) { + data->fingers[id].state = MXT_STATE_PRESS; + data->fingers[id].mcount = 0; + } else if (msg[1] & MOVE_MSG_MASK) { + data->fingers[id].mcount += 1; + } + +#if TSP_BOOSTER + mxt_set_dvfs_on(data, true); +#endif + } else if ((msg[1] & SUPPRESS_MSG_MASK) + && (data->fingers[id].state != MXT_STATE_INACTIVE)) { + data->fingers[id].z = 0; + data->fingers[id].w = msg[5]; + data->fingers[id].state = MXT_STATE_RELEASE; + data->finger_mask |= 1U << id; + } else { + /* ignore changed amplitude and vector messsage */ + if (!((msg[1] & DETECT_MSG_MASK) + && (msg[1] & AMPLITUDE_MSG_MASK + || msg[1] & VECTOR_MSG_MASK))) + dev_err(&data->client->dev, "Unknown state %#02x %#02x\n", + msg[0], msg[1]); + } +} + +static void mxt_treat_T42_object(struct mxt_data *data, u8 *msg) +{ + if (msg[1] & 0x01) + /* Palm Press */ + dev_info(&data->client->dev, "palm touch detected\n"); + else + /* Palm release */ + dev_info(&data->client->dev, "palm touch released\n"); +} + +static void mxt_treat_T57_object(struct mxt_data *data, u8 *msg) +{ +#if TSP_USE_SHAPETOUCH + data->sumsize = msg[1] + (msg[2] << 8); +#endif /* TSP_USE_SHAPETOUCH */ + +} +static irqreturn_t mxt_irq_thread(int irq, void *ptr) +{ + struct mxt_data *data = ptr; + u8 msg[data->msg_object_size]; + u8 object_type, instance; + + do { + if (mxt_read_mem(data, data->msg_proc, sizeof(msg), msg)) + return IRQ_HANDLED; + +#if TSP_ITDEV + if (data->debug_enabled) + print_hex_dump(KERN_INFO, "MXT MSG:", + DUMP_PREFIX_NONE, 16, 1, + msg, sizeof(msg), false); +#endif /* TSP_ITDEV */ + object_type = mxt_reportid_to_type(data, msg[0] , &instance); + + if (object_type == RESERVED_T0) + continue; + + switch (object_type) { + case GEN_COMMANDPROCESSOR_T6: + mxt_treat_T6_object(data, msg); + break; + case TOUCH_MULTITOUCHSCREEN_T9: + mxt_treat_T9_object(data, msg); + break; + case PROCI_TOUCHSUPPRESSION_T42: + mxt_treat_T42_object(data, msg); + break; + + case PROCI_EXTRATOUCHSCREENDATA_T57: + mxt_treat_T57_object(data, msg); + break; + default: + dev_err(&data->client->dev, + "Untreated Object type[%d]\tmessage[0x%x,0x%x,0x%x,0x%x,0x%x,0x%x,0x%x,0x%x,0x%x]\n", + object_type, msg[0], msg[1], msg[2], + msg[3], msg[4], msg[5], msg[6], msg[7], msg[8]); + break; + } + } while (!gpio_get_value(data->pdata->gpio_read_done)); + + if (data->finger_mask) + mxt_report_input_data(data); + + return IRQ_HANDLED; +} + +/* This API should be deleted later */ +/* dummy API for cypress touchkey */ +int get_tsp_status(void) +{ + return 0; +} +EXPORT_SYMBOL(get_tsp_status); + +static int mxt_internal_suspend(struct mxt_data *data) +{ + int i; + int count = 0; + + for (i = 0; i < data->num_fingers; i++) { + if (data->fingers[i].state == MXT_STATE_INACTIVE) + continue; + data->fingers[i].z = 0; + data->fingers[i].state = MXT_STATE_RELEASE; + count++; + } + if (count) + mxt_report_input_data(data); + +#if TSP_BOOSTER + mxt_set_dvfs_on(data, false); +#endif + + data->pdata->power_off(); + + return 0; +} + +static int mxt_internal_resume(struct mxt_data *data) +{ + struct device *dev = &data->client->dev; + int ret; + + data->pdata->power_on(); + + /* Soft reset */ + ret = mxt_reset(data); + if (ret) { + dev_err(dev, "Failed Reset IC\n"); + goto out; + } + msleep(MXT_540S_SW_RESET_TIME); + +out: + return ret; +} + +static int mxt_get_bootloader_version(struct i2c_client *client, u8 val) +{ + u8 buf[3]; + + if (val & MXT_BOOT_EXTENDED_ID) { + if (i2c_master_recv(client, buf, sizeof(buf)) != sizeof(buf)) { + dev_err(&client->dev, "%s: i2c recv failed\n", + __func__); + return -EIO; + } + dev_info(&client->dev, "Bootloader ID:%d Version:%d", + buf[1], buf[2]); + } else { + dev_info(&client->dev, "Bootloader ID:%d", + val & MXT_BOOT_ID_MASK); + } + return 0; +} + +static int mxt_check_bootloader(struct i2c_client *client, + unsigned int state) +{ + u8 val; + +recheck: + if (i2c_master_recv(client, &val, 1) != 1) { + dev_err(&client->dev, "%s: i2c recv failed\n", __func__); + return -EIO; + } + + switch (state) { + case MXT_WAITING_BOOTLOAD_CMD: + if (mxt_get_bootloader_version(client, val)) + return -EIO; + val &= ~MXT_BOOT_STATUS_MASK; + break; + case MXT_WAITING_FRAME_DATA: + case MXT_APP_CRC_FAIL: + val &= ~MXT_BOOT_STATUS_MASK; + break; + case MXT_FRAME_CRC_PASS: + if (val == MXT_FRAME_CRC_CHECK) + goto recheck; + if (val == MXT_FRAME_CRC_FAIL) { + dev_err(&client->dev, "Bootloader CRC fail\n"); + return -EINVAL; + } + break; + default: + return -EINVAL; + } + + if (val != state) { + dev_err(&client->dev, + "Invalid bootloader mode state 0x%X\n", val); + return -EINVAL; + } + + return 0; +} + +static int mxt_unlock_bootloader(struct i2c_client *client) +{ + u8 buf[2] = {MXT_UNLOCK_CMD_LSB, MXT_UNLOCK_CMD_MSB}; + + if (i2c_master_send(client, buf, 2) != 2) { + dev_err(&client->dev, "%s: i2c send failed\n", __func__); + + return -EIO; + } + + return 0; +} + +static int mxt_probe_bootloader(struct i2c_client *client) +{ + u8 val; + + if (i2c_master_recv(client, &val, 1) != 1) { + dev_err(&client->dev, "%s: i2c recv failed\n", __func__); + return -EIO; + } + + if (val & (~MXT_BOOT_STATUS_MASK)) { + if (val & MXT_APP_CRC_FAIL) + dev_err(&client->dev, "Application CRC failure\n"); + else + dev_err(&client->dev, "Device in bootloader mode\n"); + } else { + dev_err(&client->dev, "%s: Unknow status\n", __func__); + return -EIO; + } + return 0; +} + +static int mxt_fw_write(struct i2c_client *client, + const u8 *frame_data, unsigned int frame_size) +{ + if (i2c_master_send(client, frame_data, frame_size) != frame_size) { + dev_err(&client->dev, "%s: i2c send failed\n", __func__); + return -EIO; + } + + return 0; +} + +#if DUAL_CFG +int mxt_verify_fw(struct mxt_fw_info *fw_info, const struct firmware *fw) +{ + struct mxt_data *data = fw_info->data; + struct device *dev = &data->client->dev; + struct mxt_fw_image *fw_img; + + if (!fw) { + dev_err(dev, "could not find firmware file\n"); + return -ENOENT; + } + + fw_img = (struct mxt_fw_image *)fw->data; + + if (le32_to_cpu(fw_img->magic_code) != MXT_FW_MAGIC) { + /* In case, firmware file only consist of firmware */ + dev_info(dev, "Firmware file only consist of raw firmware\n"); + fw_info->fw_len = fw->size; + fw_info->fw_raw_data = fw->data; + } else { + /* + * In case, firmware file consist of header, + * configuration, firmware. + */ + dev_info(dev, "Firmware file consist of header, configuration, firmware\n"); + fw_info->fw_ver = fw_img->fw_ver; + fw_info->build_ver = fw_img->build_ver; + fw_info->hdr_len = le32_to_cpu(fw_img->hdr_len); + fw_info->cfg_len = le32_to_cpu(fw_img->cfg_len); + fw_info->fw_len = le32_to_cpu(fw_img->fw_len); + fw_info->cfg_crc = le32_to_cpu(fw_img->cfg_crc); + + /* Check the firmware file with header */ + if (fw_info->hdr_len != sizeof(struct mxt_fw_image) + || fw_info->hdr_len + fw_info->cfg_len + + fw_info->fw_len != fw->size) { + dev_err(dev, "Firmware file is invaild !!hdr size[%d] cfg,fw size[%d,%d] filesize[%d]\n", + fw_info->hdr_len, fw_info->cfg_len, + fw_info->fw_len, fw->size); + return -EINVAL; + } + + if (!fw_info->cfg_len) { + dev_err(dev, "Firmware file dose not include configuration data\n"); + return -EINVAL; + } + if (!fw_info->fw_len) { + dev_err(dev, "Firmware file dose not include raw firmware data\n"); + return -EINVAL; + } + + /* Get the address of configuration data */ + data->cfg_len = fw_info->cfg_len / 2; + data->batt_cfg_raw_data = fw_info->batt_cfg_raw_data + = fw_img->data; + data->ta_cfg_raw_data = fw_info->ta_cfg_raw_data + = fw_img->data + (fw_info->cfg_len / 2) ; + + /* Get the address of firmware data */ + fw_info->fw_raw_data = fw_img->data + fw_info->cfg_len; + +#if TSP_SEC_SYSFS + data->sysfs_data->fw_ver = fw_info->fw_ver; + data->sysfs_data->build_ver = fw_info->build_ver; +#endif + } + + return 0; +} +#else +int mxt_verify_fw(struct mxt_fw_info *fw_info, const struct firmware *fw) +{ + struct mxt_data *data = fw_info->data; + struct device *dev = &data->client->dev; + struct mxt_fw_image *fw_img; + + if (!fw) { + dev_err(dev, "could not find firmware file\n"); + return -ENOENT; + } + + fw_img = (struct mxt_fw_image *)fw->data; + + if (le32_to_cpu(fw_img->magic_code) != MXT_FW_MAGIC) { + /* In case, firmware file only consist of firmware */ + dev_dbg(dev, "Firmware file only consist of raw firmware\n"); + fw_info->fw_len = fw->size; + fw_info->fw_raw_data = fw->data; + } else { + /* + * In case, firmware file consist of header, + * configuration, firmware. + */ + dev_dbg(dev, "Firmware file consist of header, configuration, firmware\n"); + fw_info->fw_ver = fw_img->fw_ver; + fw_info->build_ver = fw_img->build_ver; + fw_info->hdr_len = le32_to_cpu(fw_img->hdr_len); + fw_info->cfg_len = le32_to_cpu(fw_img->cfg_len); + fw_info->fw_len = le32_to_cpu(fw_img->fw_len); + fw_info->cfg_crc = le32_to_cpu(fw_img->cfg_crc); + + /* Check the firmware file with header */ + if (fw_info->hdr_len != sizeof(struct mxt_fw_image) + || fw_info->hdr_len + fw_info->cfg_len + + fw_info->fw_len != fw->size) { + dev_err(dev, "Firmware file is invaild !!hdr size[%d] cfg,fw size[%d,%d] filesize[%d]\n", + fw_info->hdr_len, fw_info->cfg_len, + fw_info->fw_len, fw->size); + return -EINVAL; + } + + if (!fw_info->cfg_len) { + dev_err(dev, "Firmware file dose not include configuration data\n"); + return -EINVAL; + } + if (!fw_info->fw_len) { + dev_err(dev, "Firmware file dose not include raw firmware data\n"); + return -EINVAL; + } + + /* Get the address of configuration data */ + fw_info->cfg_raw_data = fw_img->data; + + /* Get the address of firmware data */ + fw_info->fw_raw_data = fw_img->data + fw_info->cfg_len; + +#if TSP_SEC_SYSFS + data->sysfs_data->fw_ver = fw_info->fw_ver; + data->sysfs_data->build_ver = fw_info->build_ver; +#endif + } + + return 0; +} +#endif + +static int mxt_flash_fw(struct mxt_fw_info *fw_info) +{ + struct mxt_data *data = fw_info->data; + struct i2c_client *client = data->client_boot; + struct device *dev = &data->client->dev; + const u8 *fw_data = fw_info->fw_raw_data; + size_t fw_size = fw_info->fw_len; + unsigned int frame_size; + unsigned int pos = 0; + int ret; + + if (!fw_data) { + dev_err(dev, "firmware data is Null\n"); + return -ENOMEM; + } + + ret = mxt_check_bootloader(client, MXT_WAITING_BOOTLOAD_CMD); + if (ret) { + /*may still be unlocked from previous update attempt */ + ret = mxt_check_bootloader(client, MXT_WAITING_FRAME_DATA); + if (ret) + goto out; + } else { + dev_info(dev, "Unlocking bootloader\n"); + /* Unlock bootloader */ + mxt_unlock_bootloader(client); + } + while (pos < fw_size) { + ret = mxt_check_bootloader(client, + MXT_WAITING_FRAME_DATA); + if (ret) { + dev_err(dev, "Fail updating firmware. wating_frame_data err\n"); + goto out; + } + + frame_size = ((*(fw_data + pos) << 8) | *(fw_data + pos + 1)); + + /* + * We should add 2 at frame size as the the firmware data is not + * included the CRC bytes. + */ + + frame_size += 2; + + /* Write one frame to device */ + mxt_fw_write(client, fw_data + pos, frame_size); + + ret = mxt_check_bootloader(client, + MXT_FRAME_CRC_PASS); + if (ret) { + dev_err(dev, "Fail updating firmware. frame_crc err\n"); + goto out; + } + + pos += frame_size; + + dev_dbg(dev, "Updated %d bytes / %zd bytes\n", + pos, fw_size); + + msleep(20); + } + dev_info(dev, "success updating firmware\n"); + + msleep(MXT_540S_FW_RESET_TIME); +out: + return ret; +} + +int mxt_initialize(struct mxt_data *data) +{ + struct i2c_client *client = data->client; + + u32 read_info_crc, calc_info_crc; + int ret; + + ret = mxt_get_id_info(data); + if (ret) + return ret; + + data->objects = kcalloc(data->info.object_num, + sizeof(*data->objects), + GFP_KERNEL); + if (!data->objects) { + dev_err(&client->dev, "Failed to allocate memory\n"); + ret = -ENOMEM; + goto out; + } + + /* Get object table */ + ret = mxt_get_object_table(data); + if (ret) + goto out; + + data->rid_map = kcalloc(data->max_report_id + 1, + sizeof(*data->rid_map), + GFP_KERNEL); + + if (!data->rid_map) { + dev_err(&client->dev, "Failed to allocate memory\n"); + ret = -ENOMEM; + goto out; + } + + /* Make report id table */ + mxt_make_reportid_table(data); + + /* Verify the info CRC */ + ret = mxt_read_info_crc(data, &read_info_crc); + if (ret) + goto out; + + ret = mxt_calculate_infoblock_crc(data, &calc_info_crc); + if (ret) + goto out; + + if (read_info_crc != calc_info_crc) { + dev_err(&data->client->dev, "CRC error :[CRC 0x%06X!=0x%06X]\n", + read_info_crc, calc_info_crc); + ret = -EFAULT; + goto out; + } + return 0; + +out: + return ret; +} + +static void mxt_handle_init_data(struct mxt_data *data) +{ + const struct mxt_platform_data *pdata = data->pdata; + int ret; + u8 val; + + /* Set touchscreen resolution */ + mxt_write_object(data, TOUCH_MULTITOUCHSCREEN_T9, + MXT_T9_XRANGE_LSB, (pdata->max_x) & 0xff); + mxt_write_object(data, TOUCH_MULTITOUCHSCREEN_T9, + MXT_T9_XRANGE_MSB, (pdata->max_x) >> 8); + mxt_write_object(data, TOUCH_MULTITOUCHSCREEN_T9, + MXT_T9_YRANGE_LSB, (pdata->max_y) & 0xff); + mxt_write_object(data, TOUCH_MULTITOUCHSCREEN_T9, + MXT_T9_YRANGE_MSB, (pdata->max_y) >> 8); + + /* Get acquistion time */ + ret = mxt_read_object(data, TOUCH_MULTITOUCHSCREEN_T9, + MXT_T9_CTRL, &val); + + if (ret) + data->tsp_ctrl = 0x83; + else + data->tsp_ctrl = (val > 0) ? val : 0x83; + + dev_info(&data->client->dev, "T9 CTRL : %d", data->tsp_ctrl); +} + +int mxt_rest_initialize(struct mxt_fw_info *fw_info) +{ + struct mxt_data *data = fw_info->data; + struct device *dev = &data->client->dev; + int ret; + + /* Write config */ + ret = mxt_write_config(fw_info); + if (ret) { + dev_err(dev, "Failed to write config from file\n"); + goto out; + } + + /* Handle data for init */ + mxt_handle_init_data(data); + + /* Backup to memory */ + ret = mxt_backup(data); + if (ret) { + dev_err(dev, "Failed backup NV data\n"); + goto out; + } + + /* Soft reset */ + ret = mxt_reset(data); + if (ret) { + dev_err(dev, "Failed Reset IC\n"); + goto out; + } + msleep(MXT_540S_SW_RESET_TIME); + +out: + return ret; +} + +static int mxt_enter_bootloader(struct mxt_data *data) +{ + struct device *dev = &data->client->dev; + int error; + + data->objects = kcalloc(data->info.object_num, + sizeof(struct mxt_object), + GFP_KERNEL); + if (!data->objects) { + dev_err(dev, "%s Failed to allocate memory\n", + __func__); + error = -ENOMEM; + goto out; + } + + /* Get object table information*/ + error = mxt_get_object_table(data); + if (error) + goto err_free_mem; + + /* Change to the bootloader mode */ + mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_RESET_OFFSET, MXT_BOOT_VALUE); + + msleep(MXT_540S_SW_RESET_TIME); + +err_free_mem: + kfree(data->objects); + data->objects = NULL; + +out: + return error; +} + +static int mxt_flash_fw_on_probe(struct mxt_fw_info *fw_info) +{ + struct mxt_data *data = fw_info->data; + struct device *dev = &data->client->dev; + int error; + + error = mxt_get_id_info(data); + if (error) { + /* need to check IC is in boot mode */ + error = mxt_probe_bootloader(data->client_boot); + if (error) { + dev_err(dev, "Failed to verify bootloader's status\n"); + goto out; + } + + dev_info(dev, "Updating firmware from boot-mode\n"); + goto load_fw; + } + + /* compare the version to verify necessity of firmware updating */ + if (data->info.version == fw_info->fw_ver + && data->info.build == fw_info->build_ver) { + dev_dbg(dev, "Firmware version is same with in IC\n"); + goto out; + } + + dev_info(dev, "Updating firmware from app-mode : IC:0x%x,0x%x =! FW:0x%x,0x%x\n", + data->info.version, data->info.build, + fw_info->fw_ver, fw_info->build_ver); + + error = mxt_enter_bootloader(data); + if (error) { + dev_err(dev, "Failed updating firmware\n"); + goto out; + } + +load_fw: + error = mxt_flash_fw(fw_info); + if (error) + dev_err(dev, "Failed updating firmware\n"); + else + dev_info(dev, "succeeded updating firmware\n"); +out: + return error; +} + +static int mxt_touch_finish_init(struct mxt_data *data) +{ + struct i2c_client *client = data->client; + int error; + + error = request_threaded_irq(client->irq, NULL, mxt_irq_thread, + IRQF_TRIGGER_LOW | IRQF_ONESHOT, "mxt_ts", data); + + if (error) { + dev_err(&client->dev, "Failed to register interrupt\n"); + goto err_req_irq; + } + +#if TSP_BOOSTER + error = mxt_init_dvfs(data); + if (error < 0) { + dev_err(&client->dev, "Fail get dvfs level for touch booster\n"); + goto err_req_irq; + } +#endif + + /* + * to prevent unnecessary report of touch event + * it will be enabled in open function + */ + mxt_stop(data); + + dev_info(&client->dev, "Mxt touch controller initialized\n"); + + /* for blocking to be excuted open function untile finishing ts init */ + complete_all(&data->init_done); + return 0; + +err_req_irq: + return error; +} + +static int mxt_touch_rest_init(struct mxt_fw_info *fw_info) +{ + struct mxt_data *data = fw_info->data; + struct device *dev = &data->client->dev; + int error; + + error = mxt_initialize(data); + if (error) { + dev_err(dev, "Failed to initialize\n"); + goto err_free_mem; + } + + error = mxt_rest_initialize(fw_info); + if (error) { + dev_err(dev, "Failed to rest initialize\n"); + goto err_free_mem; + } + + error = mxt_touch_finish_init(data); + if (error) + goto err_free_mem; + + return 0; + +err_free_mem: + kfree(data->objects); + data->objects = NULL; + kfree(data->rid_map); + data->rid_map = NULL; + return error; +} + + +static void mxt_request_firmware_work(const struct firmware *fw, + void *context) +{ + struct mxt_data *data = context; + struct mxt_fw_info fw_info; + int error; + + memset(&fw_info, 0, sizeof(struct mxt_fw_info)); + fw_info.data = data; + + error = mxt_verify_fw(&fw_info, fw); + if (error) + goto ts_rest_init; + + /* Skip update on boot up if firmware file does not have a header */ + if (!fw_info.hdr_len) + goto ts_rest_init; + + error = mxt_flash_fw_on_probe(&fw_info); + if (error) + goto out; + +ts_rest_init: + error = mxt_touch_rest_init(&fw_info); +out: + if (error) + /* complete anyway, so open() doesn't get blocked */ + complete_all(&data->init_done); + + release_firmware(fw); +} + +static int __devinit mxt_touch_init(struct mxt_data *data, bool nowait) +{ + struct i2c_client *client = data->client; + const char *firmware_name = data->pdata->firmware_name ?: MXT_FW_NAME; + int ret = 0; + + data->pdata->power_on(); + + if (nowait) { + const struct firmware *fw; + ret = request_firmware(&fw, firmware_name, &client->dev); + if (ret) { + dev_err(&client->dev, + "error requesting built-in firmware\n"); + goto out; + } + mxt_request_firmware_work(fw, data); + } else { + ret = request_firmware_nowait(THIS_MODULE, true, firmware_name, + &client->dev, GFP_KERNEL, + data, mxt_request_firmware_work); + if (ret) + dev_err(&client->dev, + "cannot schedule firmware update (%d)\n", ret); + } + +out: + return ret; +} + +static int mxt_input_open(struct input_dev *dev) +{ + struct mxt_data *data = input_get_drvdata(dev); + int ret; + + ret = wait_for_completion_interruptible_timeout(&data->init_done, + msecs_to_jiffies(90 * MSEC_PER_SEC)); + + if (ret < 0) { + dev_err(&dev->dev, + "error while waiting for device to init (%d)\n", ret); + ret = -ENXIO; + goto err_open; + } + if (ret == 0) { + dev_err(&dev->dev, + "timedout while waiting for device to init\n"); + ret = -ENXIO; + goto err_open; + } + data->pdata->power_reset(); + + ret = mxt_start(data); + if (ret) + goto err_open; + + return 0; + +err_open: + return ret; +} + +static void mxt_input_close(struct input_dev *dev) +{ + struct mxt_data *data = input_get_drvdata(dev); + + mxt_stop(data); +} + +#ifdef CONFIG_HAS_EARLYSUSPEND +#define mxt_suspend NULL +#define mxt_resume NULL + +static void mxt_early_suspend(struct early_suspend *h) +{ + struct mxt_data *data = container_of(h, struct mxt_data, + early_suspend); +#if TSP_INFORM_CHARGER + cancel_delayed_work_sync(&data->noti_dwork); +#endif + + mutex_lock(&data->lock); + + if (data->mxt_enabled) { + disable_irq(data->client->irq); + data->mxt_enabled = false; + mxt_internal_suspend(data); + } else { + dev_err(&data->client->dev, + "%s. but touch already off\n", __func__); + } + + mutex_unlock(&data->lock); +} + +static void mxt_late_resume(struct early_suspend *h) +{ + struct mxt_data *data = container_of(h, struct mxt_data, + early_suspend); + mutex_lock(&data->lock); + + if (data->mxt_enabled) { + dev_err(&data->client->dev, + "%s. but touch already on\n", __func__); + } else { + mxt_internal_resume(data); + data->mxt_enabled = true; + enable_irq(data->client->irq); + } + + mutex_unlock(&data->lock); +} +#else +static int mxt_suspend(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mxt_data *data = i2c_get_clientdata(client); + + mutex_lock(&data->lock); + + disable_irq(data->client->irq); + mxt_internal_suspend(data); + data->mxt_enabled = false; + + mutex_unlock(&data->lock); + return 0; +} + +static int mxt_resume(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mxt_data *data = i2c_get_clientdata(client); + + mutex_lock(&data->lock); + + mxt_internal_resume(data); + data->mxt_enabled = true; + enable_irq(data->client->irq); + + mutex_unlock(&data->lock); + return 0; +} +#endif + +/* Added for samsung dependency codes such as Factory test, + * Touch booster, Related debug sysfs. + */ +#include "mxt540s_sec.c" + +static int __devinit mxt_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + const struct mxt_platform_data *pdata = client->dev.platform_data; + struct mxt_data *data; + struct input_dev *input_dev; + u16 boot_address; + int i, ret = 0; + + if (!pdata) { + dev_err(&client->dev, "missing platform data\n"); + return -ENODEV; + } + + if (pdata->max_finger_touches <= 0) + return -EINVAL; + + data = kzalloc(sizeof(*data) + pdata->max_finger_touches * + sizeof(*data->fingers), GFP_KERNEL); + input_dev = input_allocate_device(); + if (!data || !input_dev) { + ret = -ENOMEM; + dev_err(&client->dev, "input device allocation failed\n"); + goto err_alloc_dev; + } + + data->client = client; + data->input_dev = input_dev; + data->pdata = pdata; + data->num_fingers = pdata->max_finger_touches; + data->mxt_enabled = true; + mutex_init(&data->lock); + init_completion(&data->init_done); + + input_dev->name = "sec_touchscreen"; + input_dev->id.bustype = BUS_I2C; + input_dev->dev.parent = &client->dev; + input_dev->open = mxt_input_open; + input_dev->close = mxt_input_close; + + set_bit(EV_ABS, input_dev->evbit); + set_bit(EV_KEY, input_dev->evbit); + set_bit(MT_TOOL_FINGER, input_dev->keybit); + set_bit(INPUT_PROP_DIRECT, input_dev->propbit); + + input_mt_init_slots(input_dev, data->num_fingers); + + input_set_abs_params(input_dev, ABS_MT_POSITION_X, pdata->min_x, + pdata->max_x, 0, 0); + input_set_abs_params(input_dev, ABS_MT_POSITION_Y, pdata->min_y, + pdata->max_y, 0, 0); + input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, pdata->min_w, + pdata->max_w, 0, 0); + input_set_abs_params(input_dev, ABS_MT_PRESSURE, pdata->min_z, + pdata->max_z, 0, 0); + +#if TSP_USE_SHAPETOUCH + input_set_abs_params(input_dev, ABS_MT_COMPONENT, 0, 255, 0, 0); + input_set_abs_params(input_dev, ABS_MT_SUMSIZE, 0, 16 * 26, 0, 0); +#endif + for (i = 0; i < data->num_fingers; i++) + data->fingers[i].state = MXT_STATE_INACTIVE; + + input_set_drvdata(input_dev, data); + i2c_set_clientdata(client, data); + + /* regist dummy device for boot_address */ + if (data->pdata->boot_address) { + boot_address = data->pdata->boot_address; + } else { + if (client->addr == MXT_APP_LOW) + boot_address = MXT_BOOT_LOW; + else + boot_address = MXT_BOOT_HIGH; + } + data->client_boot = i2c_new_dummy(client->adapter, boot_address); + if (!data->client_boot) { + dev_err(&client->dev, "Fail to register sub client[0x%x]\n", + boot_address); + goto err_alloc_dev; + } + + /* regist input device */ + ret = input_register_device(input_dev); + if (ret) + goto err_reg_dev; + +#if TSP_INFORM_CHARGER + /* Register callbacks */ + /* To inform tsp , charger connection status*/ + data->callbacks.inform_charger = inform_charger; + if (pdata->register_cb) { + pdata->register_cb(&data->callbacks); + inform_charger_init(data); + } +#endif + + ret = mxt_sysfs_init(client); + if (ret < 0) { + dev_err(&client->dev, "Failed to creat sysfs\n"); + goto err_init_drv; + } + + ret = mxt_touch_init(data, false); + if (ret) { + dev_err(&client->dev, "Failed to init driver\n"); + goto err_init_drv; + } + +#ifdef CONFIG_HAS_EARLYSUSPEND + data->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; + data->early_suspend.suspend = mxt_early_suspend; + data->early_suspend.resume = mxt_late_resume; + register_early_suspend(&data->early_suspend); +#endif + + return 0; + +err_init_drv: + input_unregister_device(input_dev); + input_dev = NULL; + gpio_free(data->pdata->gpio_read_done); + data->pdata->power_off(); +err_reg_dev: + input_free_device(input_dev); + i2c_unregister_device(data->client_boot); +err_alloc_dev: + kfree(data); + + return ret; +} + +static int __devexit mxt_remove(struct i2c_client *client) +{ + struct mxt_data *data = i2c_get_clientdata(client); + +#ifdef CONFIG_HAS_EARLYSUSPEND + unregister_early_suspend(&data->early_suspend); +#endif + free_irq(client->irq, data); + kfree(data->objects); + kfree(data->rid_map); + gpio_free(data->pdata->gpio_read_done); + data->pdata->power_off(); + input_unregister_device(data->input_dev); + i2c_unregister_device(data->client_boot); + kfree(data); + + return 0; +} + +static struct i2c_device_id mxt_idtable[] = { + {MXT_DEV_NAME, 0}, + {}, +}; + +MODULE_DEVICE_TABLE(i2c, mxt_idtable); + +static const struct dev_pm_ops mxt_pm_ops = { + .suspend = mxt_suspend, + .resume = mxt_resume, +}; + +static struct i2c_driver mxt_i2c_driver = { + .id_table = mxt_idtable, + .probe = mxt_probe, + .remove = __devexit_p(mxt_remove), + .driver = { + .owner = THIS_MODULE, + .name = MXT_DEV_NAME, +#ifdef CONFIG_PM + .pm = &mxt_pm_ops, +#endif + }, +}; + +static int __init mxt_init(void) +{ + return i2c_add_driver(&mxt_i2c_driver); +} + +static void __exit mxt_exit(void) +{ + i2c_del_driver(&mxt_i2c_driver); +} +module_init(mxt_init); +module_exit(mxt_exit); + +MODULE_DESCRIPTION("Atmel MaXTouch driver"); +MODULE_AUTHOR("bumwoo.lee<bw365.lee@samsung.com>"); +MODULE_LICENSE("GPL"); diff --git a/drivers/input/touchscreen/mxt540s_dev.h b/drivers/input/touchscreen/mxt540s_dev.h new file mode 100644 index 0000000..5400c83 --- /dev/null +++ b/drivers/input/touchscreen/mxt540s_dev.h @@ -0,0 +1,329 @@ +/* + * Copyright (C) 2010, Samsung Electronics Co. Ltd. All Rights Reserved. + * + * 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. + * + */ + +#ifndef __MXT_540S_DEV_H +#define __MXT_540S_DEV_H + +#ifdef CONFIG_HAS_EARLYSUSPEND +#include <linux/earlysuspend.h> +#endif + +#define OBJECT_TABLE_ELEMENT_SIZE 6 +#define OBJECT_TABLE_START_ADDRESS 7 + +#define CMD_RESET_OFFSET 0 +#define CMD_BACKUP_OFFSET 1 +#define CMD_CALIBRATE_OFFSET 2 +#define CMD_REPORTATLL_OFFSET 3 +#define CMD_DEBUG_CTRL_OFFSET 4 +#define CMD_DIAGNOSTIC_OFFSET 5 + +#define MXT_T7_IDLE_ACQ_INT 0 +#define MXT_T7_ACT_ACQ_INT 1 + +#define MXT_T9_CTRL 0 +#define MXT_T9_ORIENT 9 +#define MXT_T9_XRANGE_LSB 18 +#define MXT_T9_XRANGE_MSB 19 +#define MXT_T9_YRANGE_LSB 20 +#define MXT_T9_YRANGE_MSB 21 + +#define DETECT_MSG_MASK 0x80 +#define PRESS_MSG_MASK 0x40 +#define RELEASE_MSG_MASK 0x20 +#define MOVE_MSG_MASK 0x10 +#define VECTOR_MSG_MASK 0x08 +#define AMPLITUDE_MSG_MASK 0x04 +#define SUPPRESS_MSG_MASK 0x02 + +/* Slave addresses */ +#define MXT_APP_LOW 0x4a +#define MXT_APP_HIGH 0x4b +#define MXT_BOOT_LOW 0x26 +#define MXT_BOOT_HIGH 0x27 + +#define MXT_BOOT_VALUE 0xa5 +#define MXT_BACKUP_VALUE 0x55 + +/* Bootloader mode status */ +#define MXT_WAITING_BOOTLOAD_CMD 0xc0 +#define MXT_WAITING_FRAME_DATA 0x80 +#define MXT_FRAME_CRC_CHECK 0x02 +#define MXT_FRAME_CRC_FAIL 0x03 +#define MXT_FRAME_CRC_PASS 0x04 +#define MXT_APP_CRC_FAIL 0x40 +#define MXT_BOOT_STATUS_MASK 0x3f + +/* Bootloader ID */ +#define MXT_BOOT_EXTENDED_ID 0x20 +#define MXT_BOOT_ID_MASK 0x1f + +/* Command to unlock bootloader */ +#define MXT_UNLOCK_CMD_MSB 0xaa +#define MXT_UNLOCK_CMD_LSB 0xdc + +#define ID_BLOCK_SIZE 7 + +#define MXT_STATE_INACTIVE -1 +#define MXT_STATE_RELEASE 0 +#define MXT_STATE_PRESS 1 +#define MXT_STATE_MOVE 2 + +/* Diagnostic cmds */ +#define MXT_DIAG_PAGE_UP 0x01 +#define MXT_DIAG_PAGE_DOWN 0x02 +#define MXT_DIAG_DELTA_MODE 0x10 +#define MXT_DIAG_REFERENCE_MODE 0x11 +#define MXT_DIAG_CTE_MODE 0x31 +#define MXT_DIAG_IDENTIFICATION_MODE 0x80 +#define MXT_DIAG_TOCH_THRESHOLD_MODE 0xF4 + +#define MXT_DIAG_MODE_MASK 0xFC +#define MXT_DIAGNOSTIC_MODE 0 +#define MXT_DIAGNOSTIC_PAGE 1 + +/* Firmware name */ +#define MXT_FW_NAME "mXT540S.fw" +#define MXT_MAX_FW_PATH 255 +#define MXT_CONFIG_VERSION_LENGTH 30 + +/* Firmware version */ +#define MXT_FIRM_VERSION 0x10 +#define MXT_FIRM_BUILD 0xAA + +/* Touchscreen configuration infomation */ +#define MXT_FW_MAGIC 0x4D3C2B1A +#define DUAL_CFG 1 + +/* Feature */ +#define TSP_FIRMUP_ON_PROBE 1 +#define TSP_BOOSTER 0 +#define TSP_DEBUG_INFO 1 +#define TSP_SEC_SYSFS 1 +#if DUAL_CFG +#define TSP_INFORM_CHARGER 1 +#else +#define TSP_INFORM_CHARGER 0 +#endif +/* TSP_ITDEV feature just for atmel tunning app +* so it should be disabled after finishing tunning +* because it use other write permission. it will be cause +* failure of CTS +*/ +#define TSP_ITDEV 1 +#define TSP_USE_SHAPETOUCH 0 + +#if TSP_SEC_SYSFS +#define TSP_BUF_SIZE 1024 + +#define NODE_NUM 540 + +#define NODE_PER_PAGE 64 +#define DATA_PER_NODE 2 + +#define REF_MIN_VALUE 19744 +#define REF_MAX_VALUE 28884 + +#define TSP_CMD_STR_LEN 32 +#define TSP_CMD_RESULT_STR_LEN 512 +#define TSP_CMD_PARAM_NUM 8 + +enum CMD_STATUS { + CMD_STATUS_WAITING = 0, + CMD_STATUS_RUNNING, + CMD_STATUS_OK, + CMD_STATUS_FAIL, + CMD_STATUS_NOT_APPLICABLE, +}; + +enum { + MXT_FW_FROM_BUILT_IN = 0, + MXT_FW_FROM_UMS, + MXT_FW_FROM_REQ_FW, +}; +#endif + +#if TSP_BOOSTER +#include <mach/cpufreq.h> +#include <mach/dev.h> +#define SEC_DVFS_LOCK_TIMEOUT 200 +#define SEC_DVFS_LOCK_FREQ 800000 +#define SEC_BUS_LOCK_FREQ 267160 +#define SEC_BUS_LOCK_FREQ2 400200 +#endif + +struct mxt_object { + u8 object_type; + u16 start_address; + u8 size; + u8 instances; + u8 num_report_ids; +} __packed; + +struct mxt_info_block { + u8 family_id; + u8 variant_id; + u8 version; + u8 build; + u8 matrix_xsize; + u8 matrix_ysize; + u8 object_num; +}; + +struct mxt_finger_info { + s16 x; + s16 y; + s16 z; + u16 w; + s8 state; +#if TSP_USE_SHAPETOUCH + int16_t component; +#endif + u16 mcount; +}; + +struct mxt_report_id_map { + u8 object_type; + u8 instance; +}; + +#if TSP_BOOSTER +struct touch_booster { + bool touch_cpu_lock_status; + int cpu_lv; + struct delayed_work dvfs_dwork; + struct device *bus_dev; + struct device *dev; +}; +#endif + +#if TSP_SEC_SYSFS +struct mxt_data_sysfs { + struct list_head cmd_list_head; + u8 cmd_state; + char cmd[TSP_CMD_STR_LEN]; + int cmd_param[TSP_CMD_PARAM_NUM]; + char cmd_result[TSP_CMD_RESULT_STR_LEN]; + struct mutex cmd_lock; + bool cmd_is_running; + + u16 reference[NODE_NUM]; + s16 delta[NODE_NUM]; + + u32 ref_max_data; + u32 ref_min_data; + s16 delta_max_data; + u16 delta_max_node; + u8 fw_ver; + u8 build_ver; + u32 current_crc; +}; +#endif + +struct mxt_data { + struct i2c_client *client; + struct i2c_client *client_boot; + struct input_dev *input_dev; + const struct mxt_platform_data *pdata; + struct mxt_info_block info; + struct mxt_object *objects; + struct mxt_report_id_map *rid_map; +#ifdef CONFIG_HAS_EARLYSUSPEND + struct early_suspend early_suspend; +#endif +#if TSP_SEC_SYSFS + struct mxt_data_sysfs *sysfs_data; +#endif +#if TSP_BOOSTER + struct touch_booster booster; +#endif +#if DUAL_CFG + const u8 *batt_cfg_raw_data; + const u8 *ta_cfg_raw_data; + u32 cfg_len; +#endif +#if TSP_INFORM_CHARGER + struct mxt_callbacks callbacks; + struct delayed_work noti_dwork; + bool charging_mode; +#endif +#ifdef TSP_ITDEV + int driver_paused; + int debug_enabled; + u16 last_read_addr; +#endif + u8 tsp_ctrl; + u8 max_report_id; + u8 finger_report_id; + u16 msg_proc; + u16 cmd_proc; + u16 msg_object_size; + u32 x_dropbits:2; + u32 y_dropbits:2; + u32 finger_mask; + int num_fingers; + bool mxt_enabled; + struct completion init_done; +#if TSP_USE_SHAPETOUCH + int16_t sumsize; +#endif + struct mutex lock; + struct mxt_finger_info fingers[]; +}; + +struct mxt_fw_image { + __le32 magic_code; + __le32 hdr_len; + __le32 cfg_len; + __le32 fw_len; + __le32 cfg_crc; + u8 fw_ver; + u8 build_ver; + u8 data[0]; +} __packed; + +struct mxt_cfg_data { + u8 type; + u8 instance; + u8 size; + u8 register_val[0]; +} __packed; + +struct mxt_fw_info { + u8 fw_ver; + u8 build_ver; + u32 hdr_len; + u32 cfg_len; + u32 fw_len; + u32 cfg_crc; +#if DUAL_CFG + const u8 *batt_cfg_raw_data; + const u8 *ta_cfg_raw_data; +#else + const u8 *cfg_raw_data; +#endif + const u8 *fw_raw_data; /* start address of firmware data */ + struct mxt_data *data; +}; + +#if TSP_SEC_SYSFS +extern struct class *sec_class; +#endif + +#if TSP_BOOSTER +void mxt_set_dvfs_on(struct mxt_data *data, bool en); +int mxt_init_dvfs(struct mxt_data *data); +#endif /* TSP_BOOSTER */ +#endif /* __MXT_540S_DEV_H */ diff --git a/drivers/input/touchscreen/mxt540s_sec.c b/drivers/input/touchscreen/mxt540s_sec.c new file mode 100644 index 0000000..d986e3a --- /dev/null +++ b/drivers/input/touchscreen/mxt540s_sec.c @@ -0,0 +1,1516 @@ +#if TSP_SEC_SYSFS +#include <linux/uaccess.h> + +static void set_default_result(struct mxt_data_sysfs *data) +{ + char delim = ':'; + + memset(data->cmd_result, 0x00, ARRAY_SIZE(data->cmd_result)); + memcpy(data->cmd_result, data->cmd, strlen(data->cmd)); + strncat(data->cmd_result, &delim, 1); +} + +static void set_cmd_result(struct mxt_data_sysfs *data, char *buff, int len) +{ + strncat(data->cmd_result, buff, len); +} + +static void not_support_cmd(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[16] = {0}; + + set_default_result(sysfs_data); + sprintf(buff, "%s", "NA"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_NOT_APPLICABLE; + dev_info(&client->dev, "%s: \"%s(%d)\"\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +/* + Vendor specific helper functions */ +static int mxt_xy_to_node(struct mxt_data *data) +{ + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[16] = {0}; + int node; + + /* cmd_param[0][1] : [x][y] */ + if (sysfs_data->cmd_param[0] < 0 + || sysfs_data->cmd_param[0] >= data->info.matrix_xsize + || sysfs_data->cmd_param[1] < 0 + || sysfs_data->cmd_param[1] >= data->info.matrix_ysize) { + snprintf(buff, sizeof(buff) , "%s", "NG"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_FAIL; + + dev_info(&client->dev, "%s: parameter error: %u,%u\n", + __func__, sysfs_data->cmd_param[0], + sysfs_data->cmd_param[1]); + return -EINVAL; + } + + /* + * maybe need to consider orient. + * --> y number + * |(0,0) (0,1) + * |(1,0) (1,1) + * v + * x number + */ + node = sysfs_data->cmd_param[0] * data->info.matrix_ysize + + sysfs_data->cmd_param[1]; + + dev_info(&client->dev, "%s: node = %d\n", __func__, node); + return node; +} + +static void mxt_node_to_xy(struct mxt_data *data, u16 *x, u16 *y) +{ + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + *x = sysfs_data->delta_max_node / data->info.matrix_ysize; + *y = sysfs_data->delta_max_node % data->info.matrix_ysize; + + dev_info(&client->dev, "%s: node[%d] is X,Y=%d,%d\n", __func__, + sysfs_data->delta_max_node, *x, *y); +} + +static int mxt_set_diagnostic_mode(struct mxt_data *data, u8 dbg_mode) +{ + struct i2c_client *client = data->client; + u8 cur_mode; + int ret; + + ret = mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_DIAGNOSTIC_OFFSET, dbg_mode); + + if (ret) { + dev_err(&client->dev, + "Failed change diagnositc mode to %d\n", dbg_mode); + goto out; + } + + if (dbg_mode & MXT_DIAG_MODE_MASK) { + do { + ret = mxt_read_object(data, DEBUG_DIAGNOSTIC_T37, + MXT_DIAGNOSTIC_MODE, &cur_mode); + if (ret) { + dev_err(&client->dev, "Failed getting diagnositc mode\n"); + goto out; + } + msleep(20); + + } while (cur_mode != dbg_mode); + dev_dbg(&client->dev, + "current dianostic chip mode is %d\n", cur_mode); + } +out: + return ret; +} + +static int mxt_read_diagnostic_data(struct mxt_data *data, + u8 dbg_mode, u16 node, u16 *dbg_data) +{ + struct i2c_client *client = data->client; + struct mxt_object *dbg_object; + u8 read_page, read_point; + u8 cur_page, cnt_page; + u8 data_buf[DATA_PER_NODE] = { 0 }; + int ret = 0; + + /* calculate the read page and point */ + read_page = node / NODE_PER_PAGE; + node %= NODE_PER_PAGE; + read_point = (node * DATA_PER_NODE) + 2; + + /* to make the Page Num to 0 */ + ret = mxt_set_diagnostic_mode(data, MXT_DIAG_CTE_MODE); + if (ret) + goto out; + + /* change the debug mode */ + ret = mxt_set_diagnostic_mode(data, dbg_mode); + if (ret) + goto out; + + /* get object info for diagnostic */ + dbg_object = mxt_get_object(data, DEBUG_DIAGNOSTIC_T37); + if (!dbg_object) { + dev_err(&client->dev, "fail to get object_info\n"); + ret = -EINVAL; + goto out; + } + + /* move to the proper page */ + for (cnt_page = 1; cnt_page <= read_page; cnt_page++) { + ret = mxt_set_diagnostic_mode(data, MXT_DIAG_PAGE_UP); + if (ret) + goto out; + do { + msleep(20); + ret = mxt_read_mem(data, + dbg_object->start_address + MXT_DIAGNOSTIC_PAGE, + 1, &cur_page); + if (ret) { + dev_err(&client->dev, + "%s Read fail page\n", __func__); + goto out; + } + } while (cur_page != cnt_page); + } + + /* read the dbg data */ + ret = mxt_read_mem(data, dbg_object->start_address + read_point, + DATA_PER_NODE, data_buf); + if (ret) + goto out; + + *dbg_data = ((u16)data_buf[1] << 8) + (u16)data_buf[0]; + + dev_info(&client->dev, "dbg_mode[%d]: dbg data[%d] = %d\n", + dbg_mode, (read_page * NODE_PER_PAGE) + node, + dbg_mode == MXT_DIAG_DELTA_MODE ? (s16)(*dbg_data) : *dbg_data); +out: + return ret; +} + +static void mxt_treat_dbg_data(struct mxt_data *data, + struct mxt_object *dbg_object, u8 dbg_mode, u8 read_point, u16 num) +{ + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + u8 data_buffer[DATA_PER_NODE] = { 0 }; + + if (dbg_mode == MXT_DIAG_DELTA_MODE) { + /* read delta data */ + mxt_read_mem(data, dbg_object->start_address + read_point, + DATA_PER_NODE, data_buffer); + + sysfs_data->delta[num] = + ((u16)data_buffer[1]<<8) + (u16)data_buffer[0]; + + dev_dbg(&client->dev, "delta[%d] = %d\n", + num, sysfs_data->delta[num]); + + if (abs(sysfs_data->delta[num]) + > abs(sysfs_data->delta_max_data)) { + sysfs_data->delta_max_node = num; + sysfs_data->delta_max_data = sysfs_data->delta[num]; + } + } else if (dbg_mode == MXT_DIAG_REFERENCE_MODE) { + /* read reference data */ + mxt_read_mem(data, dbg_object->start_address + read_point, + DATA_PER_NODE, data_buffer); + + sysfs_data->reference[num] = + ((u16)data_buffer[1]<<8) + (u16)data_buffer[0]; + + /* check that reference is in spec or not */ + if (sysfs_data->reference[num] < REF_MIN_VALUE + || sysfs_data->reference[num] > REF_MAX_VALUE) { + dev_err(&client->dev, + "reference[%d] is out of range = %d\n", + num, sysfs_data->reference[num]); + } + + if (sysfs_data->reference[num] > sysfs_data->ref_max_data) + sysfs_data->ref_max_data = + sysfs_data->reference[num]; + if (sysfs_data->reference[num] < sysfs_data->ref_min_data) + sysfs_data->ref_min_data = + sysfs_data->reference[num]; + + dev_dbg(&client->dev, "reference[%d] = %d\n", + num, sysfs_data->reference[num]); + } +} + +static int mxt_read_all_diagnostic_data(struct mxt_data *data, u8 dbg_mode) +{ + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + struct mxt_object *dbg_object; + u8 read_page, cur_page, end_page, read_point; + u16 node, num = 0; + int ret = 0; + + /* to make the Page Num to 0 */ + ret = mxt_set_diagnostic_mode(data, MXT_DIAG_CTE_MODE); + if (ret) + goto out; + + /* change the debug mode */ + ret = mxt_set_diagnostic_mode(data, dbg_mode); + if (ret) + goto out; + + /* get object info for diagnostic */ + dbg_object = mxt_get_object(data, DEBUG_DIAGNOSTIC_T37); + if (!dbg_object) { + dev_err(&client->dev, "fail to get object_info\n"); + ret = -EINVAL; + goto out; + } + + /* calculate end page of IC */ + sysfs_data->ref_min_data = REF_MAX_VALUE; + sysfs_data->ref_max_data = REF_MIN_VALUE; + sysfs_data->delta_max_data = 0; + sysfs_data->delta_max_node = 0; + end_page = (data->info.matrix_xsize * data->info.matrix_ysize) + / NODE_PER_PAGE; + + /* read the dbg data */ + for (read_page = 0 ; read_page < end_page; read_page++) { + for (node = 0; node < NODE_PER_PAGE; node++) { + read_point = (node * DATA_PER_NODE) + 2; + + mxt_treat_dbg_data(data, dbg_object, dbg_mode, + read_point, num); + num++; + } + ret = mxt_set_diagnostic_mode(data, MXT_DIAG_PAGE_UP); + if (ret) + goto out; + do { + msleep(20); + ret = mxt_read_mem(data, + dbg_object->start_address + MXT_DIAGNOSTIC_PAGE, + 1, &cur_page); + if (ret) { + dev_err(&client->dev, + "%s Read fail page\n", __func__); + goto out; + } + } while (cur_page != read_page + 1); + } + + if (dbg_mode == MXT_DIAG_REFERENCE_MODE) { + dev_info(&client->dev, "min/max reference is [%d/%d]\n", + sysfs_data->ref_min_data, sysfs_data->ref_max_data); + } else if (dbg_mode == MXT_DIAG_DELTA_MODE) { + dev_info(&client->dev, "max delta node %d=[%d]\n", + sysfs_data->delta_max_node, sysfs_data->delta_max_data); + } +out: + return ret; +} + +/* + * find the x,y position to use maximum delta. + * it is diffult to map the orientation and caculate the node number + * because layout is always different according to device + */ +static void find_delta_node(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + char buff[16] = {0}; + u16 x, y; + int ret; + + set_default_result(sysfs_data); + + /* read all delta to get the maximum delta value */ + ret = mxt_read_all_diagnostic_data(data, + MXT_DIAG_DELTA_MODE); + if (ret) { + sysfs_data->cmd_state = CMD_STATUS_FAIL; + } else { + mxt_node_to_xy(data, &x, &y); + snprintf(buff, sizeof(buff), "%d,%d", x, y); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + + sysfs_data->cmd_state = CMD_STATUS_OK; + } +} + +/* - Vendor specific helper functions */ + +/* + function realted samsung factory test */ +static int mxt_load_fw_from_ums(struct mxt_fw_info *fw_info, + const u8 *fw_data) +{ + struct mxt_data *data = fw_info->data; + struct device *dev = &data->client->dev; + struct file *filp = NULL; + struct firmware fw; + mm_segment_t old_fs = {0}; + const char *firmware_name = MXT_FW_NAME; + char *fw_path; + int ret = 0; + + memset(&fw, 0, sizeof(struct firmware)); + + fw_path = kzalloc(MXT_MAX_FW_PATH, GFP_KERNEL); + if (fw_path == NULL) { + dev_err(dev, "Failed to allocate firmware path.\n"); + return -ENOMEM; + } + + snprintf(fw_path, MXT_MAX_FW_PATH, "/sdcard/%s", firmware_name); + + old_fs = get_fs(); + set_fs(get_ds()); + + filp = filp_open(fw_path, O_RDONLY, 0); + if (IS_ERR(filp)) { + dev_err(dev, "Could not open firmware: %s,%d\n", + fw_path, (s32)filp); + ret = -ENOENT; + goto err_open; + } + + fw.size = filp->f_path.dentry->d_inode->i_size; + + fw_data = kzalloc(fw.size, GFP_KERNEL); + if (!fw_data) { + dev_err(dev, "Failed to alloc buffer for fw\n"); + ret = -ENOMEM; + goto err_alloc; + } + ret = vfs_read(filp, (char __user *)fw_data, fw.size, &filp->f_pos); + if (ret != fw.size) { + dev_err(dev, "Failed to read file %s (ret = %d)\n", + fw_path, ret); + ret = -EINVAL; + goto err_alloc; + } + fw.data = fw_data; + + ret = mxt_verify_fw(fw_info, &fw); + +err_alloc: + filp_close(filp, current->files); +err_open: + set_fs(old_fs); + kfree(fw_path); + + return ret; +} + +static int mxt_load_fw_from_req_fw(struct mxt_fw_info *fw_info, + const struct firmware *fw) +{ + struct mxt_data *data = fw_info->data; + struct device *dev = &data->client->dev; + const char *firmware_name = data->pdata->firmware_name ?: MXT_FW_NAME; + int ret = 0; + + ret = request_firmware(&fw, firmware_name, dev); + if (ret) { + dev_err(dev, "Could not request firmware %s\n", firmware_name); + goto out; + } + + ret = mxt_verify_fw(fw_info, fw); +out: + return ret; +} + +static void fw_update(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct device *dev = &data->client->dev; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + struct mxt_fw_info fw_info; + const u8 *fw_data = NULL; + const struct firmware *fw = NULL; + int ret = 0; + + memset(&fw_info, 0, sizeof(struct mxt_fw_info)); + fw_info.data = data; + + set_default_result(sysfs_data); + switch (sysfs_data->cmd_param[0]) { + + case MXT_FW_FROM_UMS: + ret = mxt_load_fw_from_ums(&fw_info, fw_data); + if (ret) + goto out; + break; + + case MXT_FW_FROM_BUILT_IN: + case MXT_FW_FROM_REQ_FW: + ret = mxt_load_fw_from_req_fw(&fw_info, fw); + if (ret) + goto out; + break; + + default: + dev_err(dev, "invalid fw file type!!\n"); + ret = -EINVAL; + goto out; + } + + disable_irq(data->client->irq); + + /* Change to the bootloader mode */ + ret = mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_RESET_OFFSET, MXT_BOOT_VALUE); + if (ret) + goto irq_enable; + + msleep(MXT_540S_SW_RESET_TIME); + + ret = mxt_flash_fw(&fw_info); + if (ret) { + dev_err(dev, "The firmware update failed(%d)\n", ret); + } else { + dev_info(dev, "The firmware update succeeded\n"); + kfree(data->objects); + data->objects = NULL; + + ret = mxt_initialize(data); + if (ret) { + dev_err(dev, "Failed to initialize\n"); + goto irq_enable; + } + + ret = mxt_rest_initialize(&fw_info); + if (ret) { + dev_err(dev, "Failed to rest init\n"); + goto irq_enable; + } + } + +irq_enable: + enable_irq(data->client->irq); +out: + release_firmware(fw); + kfree(fw_data); + + if (ret) + sysfs_data->cmd_state = CMD_STATUS_FAIL; + else + sysfs_data->cmd_state = CMD_STATUS_OK; + + return; +} + +static void get_fw_ver_bin(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct device *dev = &data->client->dev; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[40] = {0}; + + set_default_result(sysfs_data); + + if (!sysfs_data->fw_ver && !sysfs_data->build_ver) { + snprintf(buff, sizeof(buff), "NG"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_FAIL; + } else { + snprintf(buff, sizeof(buff), "%02x%02x", + sysfs_data->fw_ver, sysfs_data->build_ver); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + } + dev_info(dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_fw_ver_ic(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[40] = {0}; + int ver, build; + + set_default_result(sysfs_data); + + ver = data->info.version; + build = data->info.build; + snprintf(buff, sizeof(buff), "%02x%02x", ver, build); + + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + dev_info(&client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_config_ver(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + struct mxt_object *user_object; + + char buff[40] = {0}; + char val[30] = {0}; + + set_default_result(sysfs_data); + + /* Get the config version from userdata */ + user_object = mxt_get_object(data, SPT_USERDATA_T38); + if (!user_object) { + dev_err(&client->dev, "fail to get object_info\n"); + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_FAIL; + return; + } + + mxt_read_mem(data, user_object->start_address, + MXT_CONFIG_VERSION_LENGTH, val); + snprintf(buff, sizeof(buff), "%s-0x%06X", val, sysfs_data->current_crc); + + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + dev_info(&client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_threshold(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + int error; + + char buff[16] = {0}; + u8 threshold; + + set_default_result(sysfs_data); + + error = mxt_read_object(data, + TOUCH_MULTITOUCHSCREEN_T9, 7, &threshold); + if (error) { + dev_err(&client->dev, "Failed get the threshold\n"); + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_FAIL; + return; + } + if (threshold < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_FAIL; + return; + } + snprintf(buff, sizeof(buff), "%d", threshold); + + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + dev_info(&client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void module_off_master(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[3] = {0}; + + mutex_lock(&data->lock); + if (data->mxt_enabled) { + disable_irq(client->irq); + + if (data->pdata->power_off()) + snprintf(buff, sizeof(buff), "%s", "NG"); + else + snprintf(buff, sizeof(buff), "%s", "OK"); + + data->mxt_enabled = false; + } else { + snprintf(buff, sizeof(buff), "%s", "OK"); + } + mutex_unlock(&data->lock); + + set_default_result(sysfs_data); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + + if (strncmp(buff, "OK", 2) == 0) + sysfs_data->cmd_state = CMD_STATUS_OK; + else + sysfs_data->cmd_state = CMD_STATUS_FAIL; + + dev_info(&client->dev, "%s: %s\n", __func__, buff); +} + +static void module_on_master(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[3] = {0}; + + mutex_lock(&data->lock); + if (!data->mxt_enabled) { + if (data->pdata->power_on()) + snprintf(buff, sizeof(buff), "%s", "NG"); + else + snprintf(buff, sizeof(buff), "%s", "OK"); + + enable_irq(client->irq); + data->mxt_enabled = true; + } else { + snprintf(buff, sizeof(buff), "%s", "OK"); + } + mutex_unlock(&data->lock); + + set_default_result(sysfs_data); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + + if (strncmp(buff, "OK", 2) == 0) + sysfs_data->cmd_state = CMD_STATUS_OK; + else + sysfs_data->cmd_state = CMD_STATUS_FAIL; + + dev_info(&client->dev, "%s: %s\n", __func__, buff); + +} + +static void get_chip_vendor(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[16] = {0}; + + set_default_result(sysfs_data); + + snprintf(buff, sizeof(buff), "%s", "ATMEL"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + dev_info(&client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_chip_name(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[16] = {0}; + + set_default_result(sysfs_data); + + snprintf(buff, sizeof(buff), "%s", "MXT540S"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + dev_info(&client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_x_num(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[16] = {0}; + int val; + + set_default_result(sysfs_data); + val = data->info.matrix_xsize; + if (val < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_FAIL; + + dev_info(&client->dev, + "%s: fail to read num of x (%d).\n", __func__, val); + + return; + } + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + + dev_info(&client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_y_num(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[16] = {0}; + int val; + + set_default_result(sysfs_data); + val = data->info.matrix_ysize; + if (val < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_FAIL; + + dev_info(&client->dev, + "%s: fail to read num of y (%d).\n", __func__, val); + + return; + } + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + + dev_info(&client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void run_reference_read(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + int ret; + char buff[16] = {0}; + + set_default_result(sysfs_data); + + ret = mxt_read_all_diagnostic_data(data, + MXT_DIAG_REFERENCE_MODE); + if (ret) + sysfs_data->cmd_state = CMD_STATUS_FAIL; + else { + snprintf(buff, sizeof(buff), "%d,%d", + sysfs_data->ref_min_data, sysfs_data->ref_max_data); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + + sysfs_data->cmd_state = CMD_STATUS_OK; + } +} + +static void get_reference(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + char buff[16] = {0}; + int node; + + set_default_result(sysfs_data); + /* add read function */ + + node = mxt_xy_to_node(data); + if (node < 0) { + sysfs_data->cmd_state = CMD_STATUS_FAIL; + return; + } + snprintf(buff, sizeof(buff), "%u", sysfs_data->reference[node]); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + + dev_info(&client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void run_delta_read(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + int ret; + + set_default_result(sysfs_data); + + ret = mxt_read_all_diagnostic_data(data, + MXT_DIAG_DELTA_MODE); + if (ret) + sysfs_data->cmd_state = CMD_STATUS_FAIL; + else + sysfs_data->cmd_state = CMD_STATUS_OK; +} + +static void get_delta(void *device_data) +{ + struct mxt_data *data = (struct mxt_data *)device_data; + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + char buff[16] = {0}; + int node; + + set_default_result(sysfs_data); + /* add read function */ + + node = mxt_xy_to_node(data); + if (node < 0) { + sysfs_data->cmd_state = CMD_STATUS_FAIL; + return; + } + snprintf(buff, sizeof(buff), "%d", sysfs_data->delta[node]); + set_cmd_result(sysfs_data, buff, strnlen(buff, sizeof(buff))); + sysfs_data->cmd_state = CMD_STATUS_OK; + + dev_info(&client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} +/* - function realted samsung factory test */ + +#define TSP_CMD(name, func) .cmd_name = name, .cmd_func = func + +struct tsp_cmd { + struct list_head list; + const char *cmd_name; + void (*cmd_func)(void *device_data); +}; + +static struct tsp_cmd tsp_cmds[] = { + {TSP_CMD("fw_update", fw_update),}, + {TSP_CMD("get_fw_ver_bin", get_fw_ver_bin),}, + {TSP_CMD("get_fw_ver_ic", get_fw_ver_ic),}, + {TSP_CMD("get_config_ver", get_config_ver),}, + {TSP_CMD("get_threshold", get_threshold),}, + {TSP_CMD("module_off_master", module_off_master),}, + {TSP_CMD("module_on_master", module_on_master),}, + {TSP_CMD("module_off_slave", not_support_cmd),}, + {TSP_CMD("module_on_slave", not_support_cmd),}, + {TSP_CMD("get_chip_vendor", get_chip_vendor),}, + {TSP_CMD("get_chip_name", get_chip_name),}, + {TSP_CMD("get_x_num", get_x_num),}, + {TSP_CMD("get_y_num", get_y_num),}, + {TSP_CMD("run_reference_read", run_reference_read),}, + {TSP_CMD("get_reference", get_reference),}, + {TSP_CMD("run_delta_read", run_delta_read),}, + {TSP_CMD("get_delta", get_delta),}, + {TSP_CMD("find_delta", find_delta_node),}, + {TSP_CMD("not_support_cmd", not_support_cmd),}, +}; + +/* Functions related to basic interface */ +static ssize_t store_cmd(struct device *dev, struct device_attribute + *devattr, const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + struct i2c_client *client = data->client; + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char *cur, *start, *end; + char buff[TSP_CMD_STR_LEN] = {0}; + int len, i; + struct tsp_cmd *tsp_cmd_ptr = NULL; + char delim = ','; + bool cmd_found = false; + int param_cnt = 0; + int ret; + + if (sysfs_data->cmd_is_running == true) { + dev_err(&client->dev, "tsp_cmd: other cmd is running.\n"); + goto err_out; + } + + /* check lock */ + mutex_lock(&sysfs_data->cmd_lock); + sysfs_data->cmd_is_running = true; + mutex_unlock(&sysfs_data->cmd_lock); + + sysfs_data->cmd_state = CMD_STATUS_RUNNING; + + for (i = 0; i < ARRAY_SIZE(sysfs_data->cmd_param); i++) + sysfs_data->cmd_param[i] = 0; + + len = (int)count; + if (*(buf + len - 1) == '\n') + len--; + memset(sysfs_data->cmd, 0x00, ARRAY_SIZE(sysfs_data->cmd)); + memcpy(sysfs_data->cmd, buf, len); + + cur = strchr(buf, (int)delim); + if (cur) + memcpy(buff, buf, cur - buf); + else + memcpy(buff, buf, len); + + /* find command */ + list_for_each_entry(tsp_cmd_ptr, &sysfs_data->cmd_list_head, list) { + if (!strcmp(buff, tsp_cmd_ptr->cmd_name)) { + cmd_found = true; + break; + } + } + + /* set not_support_cmd */ + if (!cmd_found) { + list_for_each_entry(tsp_cmd_ptr, + &sysfs_data->cmd_list_head, list) { + if (!strcmp("not_support_cmd", tsp_cmd_ptr->cmd_name)) + break; + } + } + + /* parsing parameters */ + if (cur && cmd_found) { + cur++; + start = cur; + memset(buff, 0x00, ARRAY_SIZE(buff)); + do { + if (*cur == delim || cur - buf == len) { + end = cur; + memcpy(buff, start, end - start); + *(buff + strlen(buff)) = '\0'; + ret = kstrtoint(buff, 10,\ + sysfs_data->cmd_param + param_cnt); + start = cur + 1; + memset(buff, 0x00, ARRAY_SIZE(buff)); + param_cnt++; + } + cur++; + } while (cur - buf <= len); + } + + dev_info(&client->dev, "cmd = %s\n", tsp_cmd_ptr->cmd_name); + for (i = 0; i < param_cnt; i++) + dev_info(&client->dev, "cmd param %d= %d\n", i, + sysfs_data->cmd_param[i]); + + tsp_cmd_ptr->cmd_func(data); +err_out: + return count; +} + +static ssize_t show_cmd_status(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mxt_data *data = dev_get_drvdata(dev); + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + char buff[16] = {0}; + + dev_info(&data->client->dev, "tsp cmd: status:%d\n", + sysfs_data->cmd_state); + + if (sysfs_data->cmd_state == CMD_STATUS_WAITING) + snprintf(buff, sizeof(buff), "WAITING"); + + else if (sysfs_data->cmd_state == CMD_STATUS_RUNNING) + snprintf(buff, sizeof(buff), "RUNNING"); + + else if (sysfs_data->cmd_state == CMD_STATUS_OK) + snprintf(buff, sizeof(buff), "OK"); + + else if (sysfs_data->cmd_state == CMD_STATUS_FAIL) + snprintf(buff, sizeof(buff), "FAIL"); + + else if (sysfs_data->cmd_state == CMD_STATUS_NOT_APPLICABLE) + snprintf(buff, sizeof(buff), "NOT_APPLICABLE"); + + return snprintf(buf, TSP_BUF_SIZE, "%s\n", buff); +} + +static ssize_t show_cmd_result(struct device *dev, struct device_attribute + *devattr, char *buf) +{ + struct mxt_data *data = dev_get_drvdata(dev); + struct mxt_data_sysfs *sysfs_data = data->sysfs_data; + + dev_info(&data->client->dev, + "tsp cmd: result: %s\n", sysfs_data->cmd_result); + + mutex_lock(&sysfs_data->cmd_lock); + sysfs_data->cmd_is_running = false; + mutex_unlock(&sysfs_data->cmd_lock); + + sysfs_data->cmd_state = CMD_STATUS_WAITING; + + return snprintf(buf, TSP_BUF_SIZE, "%s\n", sysfs_data->cmd_result); +} + +static DEVICE_ATTR(cmd, S_IWUSR | S_IWGRP, NULL, store_cmd); +static DEVICE_ATTR(cmd_status, S_IRUGO, show_cmd_status, NULL); +static DEVICE_ATTR(cmd_result, S_IRUGO, show_cmd_result, NULL); + +static struct attribute *touchscreen_attributes[] = { + &dev_attr_cmd.attr, + &dev_attr_cmd_status.attr, + &dev_attr_cmd_result.attr, + NULL, +}; + +static struct attribute_group touchscreen_attr_group = { + .attrs = touchscreen_attributes, +}; + +#endif /* TSP_SEC_SYSFS*/ + +#if TSP_ITDEV +static int mxt_read_block(struct i2c_client *client, + u16 addr, + u16 length, + u8 *value) +{ + struct i2c_adapter *adapter = client->adapter; + struct i2c_msg msg[2]; + __le16 le_addr; + struct mxt_data *data = i2c_get_clientdata(client); + + if (data != NULL) { + if ((data->last_read_addr == addr) && + (addr == data->msg_proc)) { + if (i2c_master_recv(client, value, length) == length) { + if (data->debug_enabled) + print_hex_dump(KERN_INFO, "MXT RX:", + DUMP_PREFIX_NONE, 16, 1, + value, length, false); + return 0; + } else + return -EIO; + } else { + data->last_read_addr = addr; + } + } + + le_addr = cpu_to_le16(addr); + msg[0].addr = client->addr; + msg[0].flags = 0x00; + msg[0].len = 2; + msg[0].buf = (u8 *) &le_addr; + + msg[1].addr = client->addr; + msg[1].flags = I2C_M_RD; + msg[1].len = length; + msg[1].buf = (u8 *) value; + if (i2c_transfer(adapter, msg, 2) == 2) { + if (data->debug_enabled) { + print_hex_dump(KERN_INFO, "MXT TX:", DUMP_PREFIX_NONE, + 16, 1, msg[0].buf, msg[0].len, false); + print_hex_dump(KERN_INFO, "MXT RX:", DUMP_PREFIX_NONE, + 16, 1, msg[1].buf, msg[1].len, false); + } + return 0; + } else + return -EIO; +} + +/* Writes a block of bytes (max 256) to given address in mXT chip. */ + +int mxt_write_block(struct i2c_client *client, + u16 addr, + u16 length, + u8 *value) +{ + int i; + struct { + __le16 le_addr; + u8 data[256]; + + } i2c_block_transfer; + + struct mxt_data *data = i2c_get_clientdata(client); + + if (length > 256) + return -EINVAL; + + if (data != NULL) + data->last_read_addr = -1; + + for (i = 0; i < length; i++) + i2c_block_transfer.data[i] = *value++; + + i2c_block_transfer.le_addr = cpu_to_le16(addr); + + i = i2c_master_send(client, (u8 *) &i2c_block_transfer, length + 2); + + if (i == (length + 2)) { + if (data->debug_enabled) + print_hex_dump(KERN_INFO, "MXT TX:", DUMP_PREFIX_NONE, + 16, 1, &i2c_block_transfer, length+2, false); + return length; + } else + return -EIO; +} + +static ssize_t mem_access_read(struct file *filp, struct kobject *kobj, + struct bin_attribute *bin_attr, char *buf, loff_t off, size_t count) +{ + int ret = 0; + struct i2c_client *client = + to_i2c_client(container_of(kobj, struct device, kobj)); + + dev_info(&client->dev, "mem_access_read p=%p off=%lli c=%zi\n", + buf, off, count); + + if (off >= 32768) + return -EIO; + + if (off + count > 32768) + count = 32768 - off; + + if (count > 256) + count = 256; + + if (count > 0) + ret = mxt_read_block(client, off, count, buf); + + return ret >= 0 ? count : ret; +} + +static ssize_t mem_access_write(struct file *filp, struct kobject *kobj, + struct bin_attribute *bin_attr, char *buf, loff_t off, size_t count) +{ + int ret = 0; + struct i2c_client *client = + to_i2c_client(container_of(kobj, struct device, kobj)); + + dev_info(&client->dev, "mem_access_write p=%p off=%lli c=%zi\n", + buf, off, count); + + if (off >= 32768) + return -EIO; + + if (off + count > 32768) + count = 32768 - off; + + if (count > 256) + count = 256; + + if (count > 0) + ret = mxt_write_block(client, off, count, buf); + + return ret >= 0 ? count : 0; +} + +static ssize_t pause_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mxt_data *data = dev_get_drvdata(dev); + int count = 0; + + count += sprintf(buf + count, "%d", data->driver_paused); + count += sprintf(buf + count, "\n"); + + return count; +} + +static ssize_t pause_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + struct i2c_client *client = data->client; + int i; + + if (sscanf(buf, "%u", &i) == 1 && i < 2) { + data->driver_paused = i; + + dev_info(&client->dev, "%s\n", i ? "paused" : "unpaused"); + } else { + dev_info(&client->dev, "pause_driver write error\n"); + } + + return count; +} + +static ssize_t debug_enable_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mxt_data *data = dev_get_drvdata(dev); + int count = 0; + + count += sprintf(buf + count, "%d", data->debug_enabled); + count += sprintf(buf + count, "\n"); + + return count; +} + +static ssize_t debug_enable_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + struct i2c_client *client = data->client; + + int i; + if (sscanf(buf, "%u", &i) == 1 && i < 2) { + data->debug_enabled = i; + + dev_info(&client->dev, "%s\n", + i ? "debug enabled" : "debug disabled"); + } else { + dev_info(&client->dev, "debug_enabled write error\n"); + } + + return count; +} + +static ssize_t command_calibrate_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + int ret; + + /* send calibration command to the chip */ + ret = mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_CALIBRATE_OFFSET, 1); + + return (ret < 0) ? ret : count; +} + +static ssize_t command_reset_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + int ret; + + /* send reset command to the chip */ + ret = mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_RESET_OFFSET, 1); + + return (ret < 0) ? ret : count; +} + +static ssize_t command_backup_store(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + int ret; + + /* send backup command to the chip */ + ret = mxt_write_object(data, GEN_COMMANDPROCESSOR_T6, + CMD_BACKUP_OFFSET, 0x55); + + return (ret < 0) ? ret : count; +} +#endif /* TSP_ITDEV */ + +static ssize_t mxt_debug_setting(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + return 0; +} + +static ssize_t mxt_object_setting(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + struct i2c_client *client = data->client; + + unsigned int object_type; + unsigned int object_register; + unsigned int register_value; + u8 val; + int ret; + sscanf(buf, "%u%u%u", &object_type, &object_register, ®ister_value); + dev_info(&client->dev, "object type T%d", object_type); + dev_info(&client->dev, "object register ->Byte%d\n", object_register); + dev_info(&client->dev, "register value %d\n", register_value); + + ret = mxt_write_object(data, + (u8)object_type, (u8)object_register, (u8)register_value); + + if (ret) { + dev_err(&client->dev, "fail to write T%d index:%d, value:%d\n", + object_type, object_register, register_value); + goto out; + } else { + ret = mxt_read_object(data, + (u8)object_type, (u8)object_register, &val); + + if (ret) { + dev_err(&client->dev, "fail to read T%d\n", + object_type); + goto out; + } else + dev_info(&client->dev, "T%d Byte%d is %d\n", + object_type, object_register, val); + } +out: + return count; +} + +static ssize_t mxt_object_show(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct mxt_data *data = dev_get_drvdata(dev); + struct i2c_client *client = data->client; + struct mxt_object *object; + unsigned int object_type; + u8 val; + u16 i; + + sscanf(buf, "%u", &object_type); + dev_info(&client->dev, "object type T%d\n", object_type); + + object = mxt_get_object(data, object_type); + if (!object) { + dev_err(&client->dev, "fail to get object_info\n"); + return -EINVAL; + } else { + for (i = 0; i < object->size; i++) { + mxt_read_mem(data, object->start_address + i, + 1, &val); + dev_info(&client->dev, "Byte %u --> %u\n", i, val); + } + } + + return count; +} + +#if TSP_ITDEV +/* Functions for mem_access interface */ +struct bin_attribute mem_access_attr; + +/* Sysfs files for libmaxtouch interface */ +static DEVICE_ATTR(pause_driver, S_IRUGO | S_IWUSR | S_IWGRP, + pause_show, pause_store); +static DEVICE_ATTR(debug_enable, S_IRUGO | S_IWUSR | S_IWGRP, + debug_enable_show, debug_enable_store); +static DEVICE_ATTR(command_calibrate, S_IRUGO | S_IWUSR | S_IWGRP, + NULL, command_calibrate_store); +static DEVICE_ATTR(command_reset, S_IRUGO | S_IWUSR | S_IWGRP, + NULL, command_reset_store); +static DEVICE_ATTR(command_backup, S_IRUGO | S_IWUSR | S_IWGRP, + NULL, command_backup_store); +#endif +static DEVICE_ATTR(object_show, S_IWUSR | S_IWGRP, NULL, + mxt_object_show); +static DEVICE_ATTR(object_write, S_IWUSR | S_IWGRP, NULL, + mxt_object_setting); +static DEVICE_ATTR(dbg_switch, S_IWUSR | S_IWGRP, NULL, + mxt_debug_setting); + +static struct attribute *libmaxtouch_attributes[] = { +#if TSP_ITDEV + &dev_attr_pause_driver.attr, + &dev_attr_debug_enable.attr, + &dev_attr_command_calibrate.attr, + &dev_attr_command_reset.attr, + &dev_attr_command_backup.attr, +#endif + &dev_attr_object_show.attr, + &dev_attr_object_write.attr, + &dev_attr_dbg_switch.attr, + NULL, +}; + +static struct attribute_group libmaxtouch_attr_group = { + .attrs = libmaxtouch_attributes, +}; + +int __devinit mxt_sysfs_init(struct i2c_client *client) +{ + struct mxt_data *data = i2c_get_clientdata(client); + int i; + int ret; +#if TSP_SEC_SYSFS + struct mxt_data_sysfs *sysfs_data = NULL; + struct device *fac_dev_ts; + + sysfs_data = kzalloc(sizeof(struct mxt_data_sysfs), GFP_KERNEL); + if (sysfs_data == NULL) { + dev_err(&client->dev, "failed to allocate sysfs data.\n"); + return -ENOMEM; + } + + INIT_LIST_HEAD(&sysfs_data->cmd_list_head); + for (i = 0; i < ARRAY_SIZE(tsp_cmds); i++) + list_add_tail(&tsp_cmds[i].list, &sysfs_data->cmd_list_head); + + mutex_init(&sysfs_data->cmd_lock); + sysfs_data->cmd_is_running = false; + + data->sysfs_data = sysfs_data; + + fac_dev_ts = device_create(sec_class, + NULL, 0, data, "tsp"); + if (IS_ERR(fac_dev_ts)) { + dev_err(&client->dev, "Failed to create device for the sysfs\n"); + ret = IS_ERR(fac_dev_ts); + goto free_mem; + } + ret = sysfs_create_group(&fac_dev_ts->kobj, &touchscreen_attr_group); + if (ret) { + dev_err(&client->dev, "Failed to create touchscreen sysfs group\n"); + goto free_mem; + } +#endif + + ret = sysfs_create_group(&client->dev.kobj, &libmaxtouch_attr_group); + if (ret) { + dev_err(&client->dev, "Failed to create libmaxtouch sysfs group\n"); + goto free_mem; + } + +#if TSP_ITDEV + sysfs_bin_attr_init(&mem_access_attr); + mem_access_attr.attr.name = "mem_access"; + mem_access_attr.attr.mode = S_IRUGO | S_IWUGO; + mem_access_attr.read = mem_access_read; + mem_access_attr.write = mem_access_write; + mem_access_attr.size = 65535; + data->debug_enabled = 1; + + if (sysfs_create_bin_file(&client->dev.kobj, &mem_access_attr) < 0) { + dev_err(&client->dev, "Failed to create device file(%s)!\n", + mem_access_attr.attr.name); + goto free_mem; + } +#endif + + return 0; + +free_mem: +#if TSP_SEC_SYSFS + kfree(sysfs_data); +#endif + return ret; +} + +#if TSP_BOOSTER +static void mxt_set_dvfs_off(struct work_struct *work) +{ + struct mxt_data *data = + container_of(work, struct mxt_data, booster.dvfs_dwork.work); + + if (data->booster.touch_cpu_lock_status) + dev_lock(data->booster.bus_dev, + data->booster.dev, SEC_BUS_LOCK_FREQ); + else { + dev_unlock(data->booster.bus_dev, data->booster.dev); + exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); + } +} + +static void mxt_set_dvfs_on(struct mxt_data *data) +{ + if (0 == data->booster.cpu_lv) + exynos_cpufreq_get_level(SEC_DVFS_LOCK_FREQ, + &data->booster.cpu_lv); + + if (en) { + if (!data->booster.touch_cpu_lock_status) { + cancel_delayed_work(&data->booster.dvfs_dwork); + dev_lock(data->booster.bus_dev, + data->booster.dev, SEC_BUS_LOCK_FREQ2); + exynos_cpufreq_lock(DVFS_LOCK_ID_TSP, + data->booster.cpu_lv); + data->booster.touch_cpu_lock_status = true; + schedule_delayed_work(&data->booster.dvfs_dwork, + msecs_to_jiffies(SEC_DVFS_LOCK_TIMEOUT)); + } + } else { + if (data->booster.touch_cpu_lock_status) { + schedule_delayed_work(&data->booster.dvfs_dwork, + msecs_to_jiffies(SEC_DVFS_LOCK_TIMEOUT)); + data->booster.touch_cpu_lock_status = false; + } + } +} + +static int mxt_init_dvfs(struct mxt_data *data) +{ + INIT_DELAYED_WORK(&data->booster.dvfs_dwork, + mxt_set_dvfs_off); + data->booster.bus_dev = dev_get("exynos-busfreq"); + exynos_cpufreq_get_level(SEC_DVFS_LOCK_FREQ, + &data->booster.cpu_lv); + return 0; +} +#endif /* - TOUCH_BOOSTER */ diff --git a/drivers/input/touchscreen/mxt768e.c b/drivers/input/touchscreen/mxt768e.c index f1c5fff..5df86a5 100644 --- a/drivers/input/touchscreen/mxt768e.c +++ b/drivers/input/touchscreen/mxt768e.c @@ -566,14 +566,7 @@ static void treat_error_status(void) if (ta_status) { get_object_info(data, - GEN_POWERCONFIG_T7, &size, &obj_address); - /* 1:ACTVACQINT */ - error = change_config(data, obj_address, 1, 255); - - get_object_info(data, GEN_ACQUISITIONCONFIG_T8, &size, &obj_address); - /* 0:CHRGTIME */ - error |= change_config(data, obj_address, 0, 64); #if !(USE_ADJUST_FRCCALRATIO) /* 8:ATCHFRCCALTHR*/ error |= change_config(data, obj_address, 8, 50); @@ -595,36 +588,18 @@ static void treat_error_status(void) get_object_info(data, PROCG_NOISESUPPRESSION_T48, &size, &obj_address); - /* 2:CALCFG */ - error |= change_config(data, obj_address, 2, 114); - /* 3:BASEFREQ */ - error |= change_config(data, obj_address, 3, 15); - /* 8:MFFREQ[0] */ - error |= change_config(data, obj_address, 8, 3); - /* 9:MFFREQ[1] */ - error |= change_config(data, obj_address, 9, 5); - /* 10:NLGAIN*/ - error |= change_config(data, obj_address, 10, 96); - /* 11:NLTHR*/ - error |= change_config(data, obj_address, 11, 30); /* 17:GCMAXADCSPERX */ error |= change_config(data, obj_address, 17, 100); - /* 34:BLEN[0] */ - error |= change_config(data, obj_address, 34, 80); + /* 22:MFINVLDDIFFTHR */ + error |= change_config(data, obj_address, 22, 30); /* 35:TCHTHR[0] */ - error |= change_config(data, obj_address, 35, 40); - /* 36:TCHDI[0] */ - error |= change_config(data, obj_address, 36, 2); + error |= change_config(data, obj_address, 35, 50); /* 39:MOVFILTER[0] */ error |= change_config(data, obj_address, 39, 65); /* 41:MRGHYST[0] */ error |= change_config(data, obj_address, 41, 40); /* 42:MRGTHR[0] */ error |= change_config(data, obj_address, 42, 50); - /* 43:XLOCLIP[0] */ - error |= change_config(data, obj_address, 43, 5); - /* 44:XHICLIP[0] */ - error |= change_config(data, obj_address, 44, 5); /* 51:JUMPLIMIT[0] */ error |= change_config(data, obj_address, 51, 25); /* 52:TCHHYST[0] */ @@ -634,14 +609,7 @@ static void treat_error_status(void) pr_err("failed to write error status\n"); } else { get_object_info(data, - GEN_POWERCONFIG_T7, &size, &obj_address); - /* 1:ACTVACQINT */ - error = change_config(data, obj_address, 1, 255); - - get_object_info(data, GEN_ACQUISITIONCONFIG_T8, &size, &obj_address); - /* 0:CHRGTIME */ - error |= change_config(data, obj_address, 0, 64); #if !(USE_ADJUST_FRCCALRATIO) /* 8:ATCHFRCCALTHR*/ error |= change_config(data, obj_address, 8, 50); @@ -661,30 +629,18 @@ static void treat_error_status(void) get_object_info(data, SPT_CTECONFIG_T46, &size, &obj_address); /* 2:IDLESYNCSPERX */ - error |= change_config(data, obj_address, 2, 48); + error |= change_config(data, obj_address, 2, 32); /* 3:ACTVSYNCSPERX */ - error |= change_config(data, obj_address, 3, 48); + error |= change_config(data, obj_address, 3, 32); get_object_info(data, PROCG_NOISESUPPRESSION_T48, &size, &obj_address); - /* 2:CALCFG */ - error |= change_config(data, obj_address, 2, 242); - /* 3:BASEFREQ */ - error |= change_config(data, obj_address, 3, 15); - /* 8:MFFREQ[0] */ - error |= change_config(data, obj_address, 8, 3); - /* 9:MFFREQ[1] */ - error |= change_config(data, obj_address, 9, 5); - /* 10:NLGAIN*/ - error |= change_config(data, obj_address, 10, 112); - /* 11:NLTHR*/ - error |= change_config(data, obj_address, 11, 25); /* 17:GCMAXADCSPERX */ - error |= change_config(data, obj_address, 17, 100); - /* 34:BLEN[0] */ - error |= change_config(data, obj_address, 34, 112); + error |= change_config(data, obj_address, 17, 64); + /* 22:MFINVLDDIFFTHR */ + error |= change_config(data, obj_address, 22, 100); /* 35:TCHTHR[0] */ - error |= change_config(data, obj_address, 35, 40); + error |= change_config(data, obj_address, 35, 45); /* 41:MRGHYST[0] */ error |= change_config(data, obj_address, 41, 40); /* 42:MRGTHR[0] */ @@ -692,7 +648,7 @@ static void treat_error_status(void) /* 51:JUMPLIMIT[0] */ error |= change_config(data, obj_address, 51, 25); /* 52:TCHHYST[0] */ - error |= change_config(data, obj_address, 52, 15); + error |= change_config(data, obj_address, 52, 12); if (error < 0) pr_err("failed to write error status\n"); @@ -779,7 +735,7 @@ static void mxt_check_medianfilter_error(struct work_struct *work) if (tchcount_aft_median_error >= CNTLMTTCH_AFT_MEDIAN_ERROR) { - calibrate_chip_e(); + /*calibrate_chip_e();*/ } tchcount_aft_median_error = 0; } diff --git a/drivers/input/touchscreen/synaptics_fw.h b/drivers/input/touchscreen/synaptics_fw.h deleted file mode 100644 index a163029..0000000 --- a/drivers/input/touchscreen/synaptics_fw.h +++ /dev/null @@ -1,2921 +0,0 @@ -#ifndef __RMI_FW_H -#define __RMI_FW_H - -const char *rmi_config_ver = "N80XX_SY_0430"; - -const u8 rmi_fw[] = { - /*0000:*/ 0x80, 0x61, 0x6f, 0x10, 0x00, 0x00, 0x00, 0x05, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, - /*0010:*/ 0x53, 0x37, 0x33, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*0020:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*0030:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*0040:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*0050:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*0060:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*0070:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*0080:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*0090:*/ 0x49, 0x32, 0x43, 0x00, 0x04, 0x00, 0xff, 0x00, 0x0c, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - /*00a0:*/ 0x49, 0x32, 0x43, 0x00, 0x04, 0x00, 0xff, 0x00, 0x0c, 0x0d, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, - /*00b0:*/ 0x25, 0xb6, 0x3a, 0x9b, 0x46, 0x79, 0x28, 0x3e, 0xee, 0x45, 0x8f, 0x0f, 0x5a, 0xc4, 0xb6, 0x37, - /*00c0:*/ 0x57, 0x05, 0x48, 0x7c, 0xd7, 0x03, 0xb0, 0x50, 0xe0, 0x77, 0x3c, 0x8b, 0x79, 0xf6, 0x71, 0x75, - /*00d0:*/ 0xca, 0xec, 0xb0, 0x31, 0x53, 0xaa, 0x37, 0xe9, 0x19, 0x47, 0x46, 0x84, 0xba, 0x28, 0x18, 0xe9, - /*00e0:*/ 0x51, 0x89, 0xe7, 0xce, 0x3e, 0x64, 0x26, 0xa6, 0x25, 0x31, 0xc5, 0x0d, 0x9a, 0xa9, 0x93, 0xfa, - /*00f0:*/ 0x73, 0x5e, 0x86, 0x88, 0x1a, 0x33, 0x51, 0x6c, 0xe3, 0xbe, 0x10, 0x31, 0x5e, 0xdc, 0x48, 0x89, - /*0100:*/ 0x1e, 0xd0, 0x6d, 0x60, 0x6f, 0x09, 0x9a, 0x7e, 0x95, 0x1e, 0x4c, 0x6c, 0xa1, 0xe1, 0x93, 0xbd, - /*0110:*/ 0x43, 0xaf, 0xf8, 0x65, 0xe7, 0x4e, 0xe5, 0xe7, 0xe8, 0xd9, 0xd9, 0x10, 0x93, 0xde, 0x34, 0x2e, - /*0120:*/ 0x5b, 0x3d, 0x52, 0x5f, 0xdb, 0xd8, 0xbd, 0x15, 0x4a, 0x5f, 0x4e, 0x7b, 0x9b, 0xff, 0xda, 0x7e, - /*0130:*/ 0x8a, 0xfe, 0xb7, 0x6d, 0x31, 0xd6, 0x28, 0x53, 0x3e, 0xeb, 0xff, 0xde, 0x73, 0x63, 0x99, 0x45, - /*0140:*/ 0xae, 0x1e, 0x1a, 0xe7, 0x7f, 0x48, 0x79, 0x34, 0x1b, 0x2d, 0xfd, 0xf6, 0xbd, 0x22, 0xb4, 0x31, - /*0150:*/ 0xc6, 0x61, 0x3e, 0x4a, 0x2d, 0x6f, 0x8c, 0x2a, 0x85, 0x50, 0x67, 0x74, 0x91, 0xd7, 0x9e, 0x9d, - /*0160:*/ 0xae, 0xc5, 0x0d, 0x01, 0xd5, 0x8a, 0x2f, 0x31, 0x50, 0x55, 0x46, 0x27, 0xa9, 0x1b, 0xab, 0x0e, - /*0170:*/ 0x52, 0x01, 0xdc, 0xf8, 0xcd, 0x32, 0x4c, 0x79, 0xf7, 0x1b, 0x09, 0x9c, 0x0c, 0xec, 0xb5, 0x89, - /*0180:*/ 0x5e, 0xa8, 0xc7, 0x9c, 0x6f, 0x02, 0x5a, 0x71, 0x1b, 0x6d, 0xd5, 0x2b, 0x9b, 0xef, 0x2f, 0x7e, - /*0190:*/ 0x80, 0x8a, 0x1f, 0x39, 0xec, 0x40, 0x89, 0xde, 0x84, 0x1b, 0x88, 0x81, 0x45, 0x70, 0xef, 0x2b, - /*01a0:*/ 0xb0, 0xc9, 0xa9, 0x7d, 0xa0, 0xf9, 0x04, 0x38, 0x7a, 0xa6, 0x08, 0x7b, 0x0a, 0x55, 0x35, 0x99, - /*01b0:*/ 0x44, 0xe4, 0x87, 0xfb, 0xe2, 0xb0, 0xc9, 0x92, 0xc9, 0x98, 0x30, 0x96, 0x21, 0xbd, 0xcc, 0xf7, - /*01c0:*/ 0xae, 0x28, 0x52, 0x87, 0x40, 0x67, 0x9e, 0x34, 0x30, 0x3f, 0x47, 0x14, 0xc3, 0x13, 0x35, 0xed, - /*01d0:*/ 0x60, 0x6f, 0x8b, 0x0e, 0x55, 0xbf, 0xc2, 0x3c, 0x8a, 0x13, 0x8f, 0x2e, 0xce, 0x33, 0xfa, 0xee, - /*01e0:*/ 0x95, 0xe3, 0x86, 0xcc, 0x3b, 0xce, 0x67, 0x08, 0xf5, 0xd6, 0xd4, 0x5d, 0x9b, 0x6f, 0x79, 0x18, - /*01f0:*/ 0x0d, 0x6f, 0x6f, 0xe1, 0xec, 0x31, 0x6f, 0x4a, 0xfb, 0xc6, 0x0a, 0x50, 0x18, 0x5d, 0xcf, 0x6f, - /*0200:*/ 0x8a, 0xed, 0x74, 0xac, 0x6d, 0xe0, 0x85, 0x8e, 0x0e, 0x9e, 0x5d, 0x0a, 0x9a, 0xbf, 0xde, 0xb3, - /*0210:*/ 0x15, 0xea, 0x8b, 0x92, 0x1b, 0xd7, 0xb0, 0x6f, 0x7f, 0x0c, 0x74, 0xe4, 0x8d, 0x96, 0x30, 0x0b, - /*0220:*/ 0x66, 0x4b, 0x0a, 0x41, 0xe9, 0xf2, 0xcb, 0x76, 0xc8, 0x60, 0x73, 0x3f, 0x10, 0x04, 0xe5, 0xce, - /*0230:*/ 0x67, 0xee, 0x10, 0x6d, 0x2f, 0xf3, 0x4c, 0x1a, 0xa7, 0x99, 0xb0, 0xd3, 0xf0, 0x2a, 0x4c, 0x10, - /*0240:*/ 0xba, 0x87, 0xe7, 0x9a, 0x57, 0x8c, 0xce, 0xa1, 0x7c, 0xca, 0x62, 0xef, 0x47, 0x3e, 0x13, 0x08, - /*0250:*/ 0x60, 0xf8, 0xcd, 0x78, 0x26, 0x5e, 0x77, 0x0d, 0x2e, 0xe7, 0x67, 0x6b, 0x51, 0x22, 0xb1, 0x59, - /*0260:*/ 0xc2, 0x46, 0xc4, 0x05, 0x04, 0xd5, 0xe0, 0x98, 0x83, 0xfd, 0x8e, 0x8c, 0x6f, 0xbf, 0xf2, 0x49, - /*0270:*/ 0x78, 0xa7, 0xd3, 0x01, 0x4f, 0xb8, 0x1e, 0xa6, 0xc1, 0x06, 0x42, 0x4f, 0xc0, 0xcb, 0xf2, 0x8b, - /*0280:*/ 0x8b, 0xc6, 0x93, 0xd8, 0xd6, 0xf7, 0x4b, 0x7e, 0xc2, 0x2d, 0x09, 0xce, 0x92, 0xf8, 0x83, 0xdf, - /*0290:*/ 0x1c, 0xaa, 0x53, 0xec, 0xd6, 0x2c, 0x7c, 0x37, 0x72, 0xd8, 0x6f, 0x4f, 0xac, 0x39, 0x9b, 0x7a, - /*02a0:*/ 0x5a, 0x79, 0x08, 0xa8, 0xdb, 0x3c, 0xb6, 0x0a, 0x11, 0x2b, 0xec, 0x3f, 0x79, 0x3d, 0x05, 0xa7, - /*02b0:*/ 0xf6, 0xd7, 0x5e, 0x9c, 0x11, 0x07, 0xd3, 0x38, 0x0a, 0x7b, 0xf4, 0x8c, 0x21, 0x0a, 0x07, 0xb0, - /*02c0:*/ 0xef, 0xc1, 0x16, 0x54, 0xa0, 0x58, 0x2f, 0x14, 0xdb, 0x5c, 0x99, 0xb0, 0xf4, 0x96, 0x43, 0xcb, - /*02d0:*/ 0x1d, 0xa4, 0xe9, 0xb4, 0xa2, 0x43, 0x35, 0xb1, 0x93, 0xb6, 0xee, 0x7b, 0x14, 0xb0, 0x5c, 0xdd, - /*02e0:*/ 0x39, 0x47, 0x06, 0x9c, 0x84, 0x7d, 0xb1, 0x15, 0xee, 0xae, 0x7f, 0xc4, 0xde, 0x5c, 0x7c, 0x16, - /*02f0:*/ 0x1e, 0x8d, 0xb0, 0xa8, 0x97, 0xd9, 0x86, 0x12, 0x61, 0x16, 0xcd, 0x3c, 0x57, 0x23, 0xb2, 0x86, - /*0300:*/ 0xd5, 0x24, 0x58, 0x24, 0xae, 0x5a, 0xef, 0x0b, 0x79, 0x61, 0xe8, 0xf1, 0xb2, 0xaa, 0x96, 0x17, - /*0310:*/ 0xb3, 0xa8, 0x22, 0xf2, 0x39, 0x53, 0x0f, 0x09, 0x44, 0x0d, 0x08, 0x1f, 0xc3, 0x44, 0x25, 0x65, - /*0320:*/ 0x69, 0x36, 0x0d, 0x86, 0x08, 0x66, 0xac, 0xa4, 0x80, 0x68, 0x03, 0x26, 0x7a, 0xe2, 0xd3, 0x53, - /*0330:*/ 0xf3, 0xad, 0xa3, 0x6b, 0x8e, 0x8e, 0xd0, 0xca, 0xfe, 0xee, 0xe0, 0x0e, 0x4c, 0x17, 0x7e, 0x15, - /*0340:*/ 0xa1, 0x5f, 0xe8, 0x46, 0x4e, 0x59, 0x87, 0xf1, 0x6d, 0xd6, 0x5a, 0x41, 0x2a, 0x5c, 0x45, 0xbe, - /*0350:*/ 0x72, 0x42, 0xbf, 0xc0, 0x27, 0x1b, 0xe9, 0xc5, 0xab, 0x8e, 0xca, 0x01, 0xd4, 0x87, 0x21, 0x32, - /*0360:*/ 0xae, 0x23, 0xfa, 0x07, 0xc7, 0xdc, 0x14, 0x7f, 0x52, 0xe4, 0x61, 0xc7, 0xc4, 0xa7, 0x36, 0xb6, - /*0370:*/ 0x31, 0xf6, 0x25, 0xc6, 0x57, 0x46, 0x5d, 0x08, 0x20, 0x14, 0x3d, 0x33, 0x88, 0x5b, 0xfc, 0xe0, - /*0380:*/ 0xf4, 0x77, 0xc6, 0x6e, 0x3d, 0xd2, 0xde, 0xad, 0xe3, 0x1c, 0xf8, 0xb7, 0x4a, 0x5a, 0x45, 0x3d, - /*0390:*/ 0x1c, 0x9e, 0x2a, 0xd8, 0x3b, 0x0f, 0xda, 0x46, 0x14, 0x4c, 0x5e, 0x25, 0xac, 0xda, 0xa2, 0xa1, - /*03a0:*/ 0xfa, 0xd3, 0x6e, 0xf0, 0x17, 0x33, 0x19, 0x60, 0xf2, 0x9c, 0x56, 0xc8, 0xef, 0xc5, 0x61, 0x1e, - /*03b0:*/ 0xdb, 0x0a, 0x70, 0x31, 0xab, 0xb7, 0x94, 0xb2, 0x10, 0x66, 0x4b, 0x54, 0xc4, 0xd8, 0x68, 0x71, - /*03c0:*/ 0xd2, 0xe1, 0x35, 0xb0, 0xf2, 0xc7, 0xc1, 0x9f, 0x95, 0xb9, 0x5a, 0x5a, 0xc4, 0xbf, 0x90, 0xc6, - /*03d0:*/ 0xd6, 0x37, 0x7e, 0x9b, 0xf8, 0x57, 0x9e, 0x74, 0xee, 0x7b, 0xc6, 0xd0, 0x72, 0x0a, 0xec, 0xa4, - /*03e0:*/ 0xc0, 0x10, 0x15, 0x89, 0x33, 0x9a, 0x52, 0x30, 0x42, 0x53, 0x6d, 0x5d, 0xa9, 0x5d, 0xff, 0xf7, - /*03f0:*/ 0xa3, 0x68, 0xda, 0xc8, 0x7e, 0x5e, 0x98, 0xf1, 0xa8, 0x0b, 0x26, 0xd8, 0x88, 0x74, 0x17, 0xfd, - /*0400:*/ 0x8f, 0x6d, 0x62, 0x0c, 0xe4, 0x14, 0x9e, 0xa0, 0xea, 0x4d, 0xc5, 0xb4, 0x41, 0x42, 0xdf, 0x2b, - /*0410:*/ 0x3a, 0x8e, 0x6b, 0xac, 0x0c, 0xec, 0x79, 0xee, 0x1a, 0xdb, 0x96, 0x38, 0xfd, 0x4b, 0xdf, 0x8d, - /*0420:*/ 0x86, 0xed, 0x2b, 0x7e, 0xc0, 0x6e, 0x2f, 0x15, 0x74, 0x18, 0x4c, 0x37, 0xd9, 0xf7, 0x9c, 0xdb, - /*0430:*/ 0xc9, 0x5e, 0x42, 0xff, 0xf9, 0xb4, 0x79, 0x91, 0x7d, 0x69, 0x58, 0xfd, 0x27, 0xf1, 0x35, 0x00, - /*0440:*/ 0xd6, 0x69, 0xe2, 0x94, 0x0f, 0x04, 0x2f, 0x45, 0x30, 0xd2, 0xcb, 0x85, 0xdb, 0xb8, 0xb5, 0x9d, - /*0450:*/ 0xd5, 0x6e, 0x4a, 0x65, 0x7c, 0x63, 0xce, 0x82, 0xb0, 0xcb, 0x10, 0x5d, 0x0d, 0xac, 0xda, 0x91, - /*0460:*/ 0xc2, 0xd5, 0x7e, 0xbb, 0x9f, 0xbf, 0xf2, 0xf9, 0x56, 0x63, 0x0f, 0x6c, 0xbf, 0x11, 0x34, 0x63, - /*0470:*/ 0xf8, 0x82, 0xb8, 0x3f, 0x56, 0x7e, 0xb2, 0x12, 0x56, 0x20, 0xa8, 0x57, 0x4e, 0x57, 0x1a, 0x8f, - /*0480:*/ 0x33, 0x25, 0x1c, 0x81, 0xaf, 0xdd, 0x3e, 0xe0, 0xb4, 0x29, 0x77, 0x85, 0xe8, 0xd8, 0xa9, 0xa6, - /*0490:*/ 0xfe, 0x5c, 0xa1, 0x2b, 0xd1, 0xbf, 0x79, 0xfc, 0xac, 0xb8, 0xcd, 0x5a, 0x68, 0x5e, 0x3b, 0x9a, - /*04a0:*/ 0x76, 0xfd, 0xc5, 0x05, 0xc5, 0x2b, 0xd8, 0x75, 0xa6, 0x68, 0xc8, 0x95, 0xf0, 0x83, 0x77, 0x68, - /*04b0:*/ 0xdc, 0x42, 0xd9, 0x75, 0x47, 0xab, 0x03, 0xb6, 0x87, 0x4c, 0xd3, 0x16, 0x82, 0x6d, 0xdc, 0x5a, - /*04c0:*/ 0x3b, 0x6c, 0x92, 0x67, 0xdb, 0x4e, 0x74, 0x2c, 0x6f, 0x29, 0xec, 0x93, 0xad, 0xc7, 0x91, 0x37, - /*04d0:*/ 0x44, 0xe1, 0x2b, 0xe7, 0xa7, 0xe8, 0x0f, 0x8a, 0x4f, 0x5a, 0xcf, 0x71, 0x83, 0x2f, 0x60, 0x2a, - /*04e0:*/ 0x77, 0x7a, 0xf1, 0x90, 0x2e, 0xeb, 0x6d, 0xca, 0x25, 0xf2, 0x5a, 0x85, 0xf7, 0xff, 0xa4, 0x78, - /*04f0:*/ 0x8f, 0x71, 0xe7, 0x58, 0xc3, 0xa9, 0x2a, 0xd4, 0x54, 0xc1, 0xba, 0x2f, 0x2b, 0xf3, 0x3f, 0xfc, - /*0500:*/ 0x46, 0x39, 0xb7, 0xac, 0x8c, 0xf4, 0xcf, 0x0b, 0x23, 0xc2, 0x20, 0x86, 0x1e, 0x70, 0x50, 0xef, - /*0510:*/ 0xa1, 0xdb, 0x95, 0x85, 0xf2, 0xae, 0x79, 0xa5, 0x5b, 0x7c, 0xf0, 0xc5, 0x21, 0x09, 0xa6, 0x75, - /*0520:*/ 0x3b, 0x98, 0x85, 0x48, 0x2c, 0xc6, 0x06, 0x55, 0xd5, 0x99, 0x47, 0xba, 0x3b, 0x18, 0x64, 0x44, - /*0530:*/ 0x59, 0xde, 0x85, 0x86, 0xf0, 0x85, 0xdb, 0x80, 0x3a, 0x79, 0xcd, 0x75, 0x7f, 0xc2, 0x3a, 0x5c, - /*0540:*/ 0xb8, 0x26, 0x46, 0xf6, 0xbe, 0x9d, 0xa6, 0xb9, 0xd9, 0xf8, 0xa0, 0x2e, 0x8b, 0x58, 0x54, 0xe7, - /*0550:*/ 0x2a, 0xb4, 0x39, 0x2f, 0x54, 0xb7, 0xb3, 0x6b, 0x42, 0x7e, 0xfb, 0xa9, 0x33, 0xc1, 0x08, 0x9d, - /*0560:*/ 0x24, 0xa2, 0x06, 0xa6, 0xf5, 0x14, 0x0e, 0x23, 0xc2, 0x00, 0x29, 0x84, 0xf4, 0xcc, 0x8b, 0x3b, - /*0570:*/ 0x73, 0x45, 0xbd, 0x0d, 0x78, 0x0a, 0x68, 0xf8, 0xb4, 0x18, 0x24, 0xdf, 0x1e, 0x7b, 0x76, 0x36, - /*0580:*/ 0xbf, 0x54, 0xe8, 0xcd, 0x90, 0xb4, 0x6f, 0x4e, 0x9b, 0xf5, 0x39, 0x98, 0x7d, 0x5f, 0x79, 0xee, - /*0590:*/ 0xf4, 0x3c, 0x83, 0x8c, 0x05, 0x33, 0x5a, 0x6e, 0x23, 0x4c, 0xeb, 0x27, 0x09, 0x00, 0x23, 0x0a, - /*05a0:*/ 0x82, 0x4f, 0x10, 0x80, 0x61, 0x73, 0x49, 0xbb, 0x6b, 0xd1, 0x90, 0x40, 0x4f, 0x55, 0xdd, 0x43, - /*05b0:*/ 0x2a, 0xd3, 0x23, 0xdc, 0x6b, 0xf0, 0x43, 0x8d, 0xfe, 0x89, 0x6b, 0xd5, 0x79, 0xcc, 0x27, 0x28, - /*05c0:*/ 0xdb, 0xef, 0xf6, 0x37, 0xfb, 0x6d, 0xf7, 0xec, 0x31, 0x8f, 0xdf, 0x88, 0xa7, 0xde, 0x84, 0x35, - /*05d0:*/ 0xa4, 0x93, 0x12, 0xe5, 0xe7, 0xa7, 0x2a, 0xe2, 0x0c, 0xf8, 0x36, 0xed, 0xff, 0x4b, 0x14, 0x5d, - /*05e0:*/ 0x44, 0x30, 0xb0, 0x4f, 0x4f, 0x5a, 0x6f, 0xcb, 0x7d, 0xb1, 0x73, 0x2e, 0xf4, 0x3f, 0x2c, 0x59, - /*05f0:*/ 0xb8, 0x55, 0x89, 0x32, 0x13, 0x3f, 0x89, 0x0f, 0x2e, 0xc3, 0x0a, 0x03, 0x9c, 0x63, 0x7e, 0x56, - /*0600:*/ 0xe3, 0x27, 0xd1, 0xbe, 0xc3, 0x46, 0x8d, 0xac, 0xef, 0x20, 0xd2, 0xff, 0xc9, 0x2a, 0x67, 0x18, - /*0610:*/ 0xf4, 0x3d, 0xc4, 0xf7, 0xde, 0x94, 0x38, 0xdc, 0x41, 0x1f, 0x8d, 0x75, 0x50, 0xae, 0x75, 0x60, - /*0620:*/ 0xb5, 0x95, 0xab, 0x1e, 0xb5, 0x46, 0x17, 0xea, 0x05, 0xb8, 0xc4, 0xc6, 0x61, 0x4c, 0xe2, 0x5e, - /*0630:*/ 0xb8, 0xdd, 0xaf, 0x12, 0xc2, 0x1e, 0x4e, 0x1e, 0xcd, 0xb8, 0xc5, 0x2e, 0xe0, 0x40, 0xd6, 0xe3, - /*0640:*/ 0xd3, 0xab, 0x3d, 0x38, 0xe2, 0x4a, 0xe7, 0xed, 0x9f, 0xf1, 0xd7, 0xb5, 0xee, 0xda, 0xcd, 0xf9, - /*0650:*/ 0x81, 0x59, 0x3e, 0x84, 0xef, 0x42, 0x96, 0x4f, 0x32, 0xfd, 0x06, 0xee, 0x21, 0x46, 0x26, 0x93, - /*0660:*/ 0xe8, 0x11, 0x26, 0xe9, 0xa5, 0xaf, 0xec, 0x5c, 0xf5, 0x63, 0x0f, 0x00, 0xfe, 0x20, 0x1d, 0x92, - /*0670:*/ 0x63, 0x82, 0xa9, 0xbc, 0x3b, 0xe2, 0x5f, 0x6c, 0x61, 0xbf, 0x06, 0x35, 0xc8, 0xdc, 0x91, 0x92, - /*0680:*/ 0x08, 0x2c, 0xee, 0x30, 0x52, 0xff, 0x6e, 0xb5, 0xf4, 0x3c, 0x45, 0xe6, 0x6d, 0x9d, 0x59, 0x5d, - /*0690:*/ 0x5f, 0x02, 0xfc, 0x54, 0x67, 0xd8, 0xf3, 0x71, 0xcd, 0xcd, 0x4c, 0x4d, 0x5d, 0xd9, 0x39, 0x1a, - /*06a0:*/ 0x04, 0xba, 0x10, 0x85, 0xb3, 0x34, 0x97, 0x80, 0x32, 0x66, 0x2a, 0x96, 0x9a, 0x41, 0x24, 0x77, - /*06b0:*/ 0x17, 0x32, 0x89, 0x51, 0x39, 0x42, 0x5b, 0x9c, 0xae, 0xc2, 0x55, 0xfa, 0x67, 0xc0, 0x7a, 0xa2, - /*06c0:*/ 0x8f, 0x23, 0x83, 0xfe, 0x0d, 0xae, 0x09, 0xd5, 0x2a, 0x0c, 0xe6, 0x84, 0x97, 0x8a, 0xbd, 0x27, - /*06d0:*/ 0x13, 0xb8, 0xad, 0x22, 0x60, 0xac, 0xea, 0xdd, 0xe3, 0xab, 0x9f, 0x57, 0x14, 0xf0, 0xdd, 0xfb, - /*06e0:*/ 0x07, 0xa4, 0x24, 0x0d, 0xb8, 0x97, 0x68, 0xc5, 0xc0, 0x5d, 0x06, 0x6a, 0xd9, 0x17, 0xcb, 0x74, - /*06f0:*/ 0x36, 0x34, 0x45, 0x19, 0x1f, 0x3a, 0x3c, 0x9e, 0xea, 0xaa, 0x19, 0x68, 0x41, 0xb0, 0x88, 0x45, - /*0700:*/ 0x16, 0x46, 0x12, 0x52, 0x3e, 0x3b, 0xce, 0x8c, 0x74, 0x0f, 0x6b, 0xdf, 0xca, 0xec, 0x33, 0xca, - /*0710:*/ 0xbd, 0xf7, 0x07, 0x34, 0x13, 0xd9, 0xaf, 0x8d, 0x2a, 0x94, 0x1a, 0xa5, 0xed, 0x3d, 0xff, 0x45, - /*0720:*/ 0xde, 0x0a, 0x7a, 0x2b, 0xab, 0xea, 0x28, 0x88, 0xbe, 0xb9, 0x10, 0xa0, 0x7f, 0xa5, 0x1d, 0x62, - /*0730:*/ 0x1f, 0x3a, 0xbd, 0xdd, 0xf4, 0x76, 0xaf, 0xab, 0xbb, 0x70, 0x0e, 0xb0, 0xe2, 0x33, 0xdc, 0x4f, - /*0740:*/ 0x2f, 0xd0, 0xc6, 0x67, 0xb2, 0x3d, 0xb3, 0x94, 0x6d, 0xe5, 0xdd, 0xbd, 0xf8, 0xdf, 0x5c, 0x65, - /*0750:*/ 0xeb, 0x84, 0x97, 0x85, 0xc7, 0x8b, 0xad, 0xa3, 0x93, 0xea, 0x7d, 0x7c, 0x76, 0x77, 0x32, 0x4d, - /*0760:*/ 0xaa, 0xb0, 0xbd, 0xa2, 0x4b, 0xdc, 0xa9, 0x2f, 0x87, 0x16, 0x37, 0x49, 0xb9, 0xf5, 0x55, 0x00, - /*0770:*/ 0xf7, 0x53, 0x0f, 0xc9, 0x8c, 0xc8, 0x30, 0x1f, 0x76, 0x33, 0xc6, 0x76, 0xd1, 0x50, 0x14, 0xe7, - /*0780:*/ 0x71, 0x86, 0x6b, 0x6a, 0xca, 0xbf, 0x57, 0x74, 0xfb, 0xde, 0x3f, 0xb1, 0x28, 0xd8, 0x0c, 0xb8, - /*0790:*/ 0xda, 0x1b, 0x23, 0x02, 0x9b, 0xbf, 0x9f, 0x5b, 0x96, 0xec, 0xee, 0xcb, 0x03, 0x67, 0x0d, 0x35, - /*07a0:*/ 0x78, 0x22, 0xb0, 0x31, 0x3d, 0x88, 0xc3, 0x08, 0xcf, 0x9a, 0x38, 0x53, 0x45, 0xcc, 0xa2, 0x61, - /*07b0:*/ 0xd5, 0x4d, 0x18, 0x69, 0x3a, 0xe3, 0x5f, 0xbb, 0x36, 0xb3, 0x60, 0xf2, 0x9f, 0x9a, 0x9a, 0x0d, - /*07c0:*/ 0xec, 0xbd, 0x27, 0x25, 0x92, 0x2c, 0x52, 0x03, 0x1e, 0x04, 0x94, 0xc4, 0xa9, 0x2a, 0x3e, 0xd8, - /*07d0:*/ 0xad, 0x64, 0xaa, 0x70, 0x16, 0x42, 0x64, 0xa1, 0xdd, 0xb5, 0xe4, 0xbf, 0x57, 0x92, 0x83, 0x30, - /*07e0:*/ 0xd0, 0x94, 0x23, 0x04, 0x9a, 0xaf, 0x19, 0x5f, 0x12, 0xb2, 0x7a, 0xe5, 0x10, 0xe2, 0x78, 0xa8, - /*07f0:*/ 0xd5, 0x38, 0xb2, 0x0d, 0x11, 0x70, 0x72, 0x7a, 0xfa, 0x9a, 0x20, 0x41, 0x42, 0xed, 0x0c, 0xff, - /*0800:*/ 0x66, 0x38, 0x6b, 0xc6, 0x62, 0x45, 0x91, 0x54, 0x55, 0x26, 0x0b, 0x97, 0x82, 0xae, 0x25, 0x1c, - /*0810:*/ 0xff, 0x5c, 0x02, 0xcd, 0xf4, 0x0d, 0x0b, 0x2e, 0x3e, 0x15, 0x71, 0xb3, 0x0d, 0xdb, 0x2f, 0x34, - /*0820:*/ 0x06, 0x5b, 0x3e, 0x4f, 0x63, 0x93, 0x82, 0xa7, 0xe4, 0xfe, 0xa8, 0x17, 0x4f, 0x44, 0x17, 0xfb, - /*0830:*/ 0x76, 0x4c, 0x34, 0x29, 0x1b, 0xf0, 0xfb, 0xae, 0xbf, 0x77, 0x93, 0xc1, 0xe5, 0xf3, 0x0d, 0x64, - /*0840:*/ 0xa4, 0xf7, 0x3e, 0x59, 0xc2, 0xd2, 0xe0, 0x7b, 0xa5, 0x50, 0x36, 0xa5, 0xe4, 0x66, 0x71, 0xc2, - /*0850:*/ 0x8f, 0x6a, 0x9f, 0x41, 0x24, 0xd4, 0xfe, 0xfa, 0xae, 0x5d, 0x57, 0x34, 0x57, 0xdd, 0x13, 0x25, - /*0860:*/ 0xf4, 0x53, 0xa0, 0xf7, 0x7b, 0xcd, 0x10, 0x4e, 0x7b, 0x7a, 0x26, 0x33, 0xdd, 0xbf, 0x7c, 0x85, - /*0870:*/ 0x9b, 0x35, 0xaa, 0xa4, 0x63, 0xcd, 0xd0, 0xe3, 0xdb, 0xd4, 0x24, 0x43, 0x1d, 0x24, 0xc1, 0xa6, - /*0880:*/ 0xa3, 0xb3, 0x7f, 0xf5, 0xde, 0x46, 0x34, 0x6a, 0xd4, 0xc2, 0x1a, 0xb5, 0xaf, 0xdf, 0x60, 0xbc, - /*0890:*/ 0x54, 0xd6, 0xac, 0x98, 0x64, 0x21, 0x63, 0x98, 0x9d, 0x71, 0x5a, 0xc0, 0x17, 0xc1, 0xc3, 0xf4, - /*08a0:*/ 0x00, 0x06, 0x7a, 0x9a, 0xdd, 0xdf, 0xbb, 0x06, 0xe0, 0xec, 0x73, 0x50, 0xcc, 0x6b, 0x3e, 0xdc, - /*08b0:*/ 0xf9, 0x49, 0xb0, 0xba, 0x59, 0x3e, 0x01, 0xa1, 0x75, 0x65, 0x3d, 0xed, 0xe1, 0x24, 0xc7, 0x69, - /*08c0:*/ 0x9b, 0xcb, 0xb4, 0x22, 0xaf, 0xbf, 0x7e, 0xdc, 0xa3, 0x9a, 0x41, 0x51, 0x1c, 0xe8, 0x29, 0xd3, - /*08d0:*/ 0x48, 0x7d, 0x41, 0xb8, 0x78, 0x42, 0xb7, 0xec, 0x00, 0x24, 0x9c, 0x2c, 0xca, 0x9d, 0xe7, 0x7c, - /*08e0:*/ 0xa9, 0x20, 0x96, 0xf0, 0xeb, 0x41, 0x45, 0x62, 0x2b, 0xaf, 0xce, 0x32, 0x4f, 0x18, 0x63, 0xfe, - /*08f0:*/ 0x80, 0x8f, 0xd4, 0xfe, 0x2e, 0xb8, 0x44, 0x14, 0x8a, 0x05, 0xcf, 0xe6, 0x63, 0x66, 0xfa, 0x80, - /*0900:*/ 0x2a, 0x53, 0x5e, 0x45, 0x4d, 0xba, 0x6a, 0xe5, 0xc9, 0xdb, 0xe2, 0x75, 0xb3, 0x70, 0x22, 0xd7, - /*0910:*/ 0x98, 0xf2, 0x4d, 0x95, 0xf4, 0xe8, 0x24, 0xe8, 0xe1, 0x14, 0xcb, 0x47, 0x33, 0x92, 0xfe, 0x21, - /*0920:*/ 0x21, 0x2e, 0x16, 0xc3, 0xe0, 0x88, 0x86, 0x0b, 0xd0, 0x49, 0xc4, 0xae, 0x62, 0x2c, 0x95, 0x23, - /*0930:*/ 0x02, 0xf9, 0xac, 0x7c, 0x67, 0x81, 0x8b, 0x8a, 0x64, 0xbd, 0x49, 0x60, 0x64, 0xc1, 0xac, 0x0a, - /*0940:*/ 0x3d, 0xbc, 0x35, 0x8c, 0x21, 0xa0, 0xb8, 0x64, 0x37, 0x25, 0xee, 0x13, 0x69, 0xb7, 0xba, 0xb1, - /*0950:*/ 0xf5, 0xd1, 0xb2, 0xb2, 0x30, 0xfe, 0x08, 0x7d, 0x28, 0x63, 0xa4, 0xdf, 0x53, 0x9a, 0x6b, 0x2f, - /*0960:*/ 0xb6, 0xed, 0x1f, 0x01, 0xdc, 0x95, 0xbf, 0xb9, 0x72, 0xf8, 0x20, 0x17, 0x61, 0xb1, 0x52, 0xbb, - /*0970:*/ 0x1c, 0xb6, 0x57, 0xab, 0x3f, 0xd8, 0x26, 0x3f, 0xda, 0x23, 0x84, 0x60, 0xb7, 0x40, 0xa1, 0x9b, - /*0980:*/ 0x5e, 0x4b, 0xcb, 0x54, 0xa7, 0x87, 0x48, 0xfb, 0xa4, 0x4d, 0x27, 0x02, 0x44, 0xde, 0xb0, 0xb7, - /*0990:*/ 0x03, 0x3a, 0x4b, 0x00, 0xd1, 0xc2, 0x32, 0x08, 0xa6, 0x55, 0xe9, 0x44, 0xe6, 0xf4, 0x5a, 0x0c, - /*09a0:*/ 0x77, 0x71, 0xc1, 0x45, 0xbc, 0xf6, 0x76, 0x45, 0xab, 0xbc, 0x93, 0xe2, 0x3d, 0xd0, 0xb0, 0x2d, - /*09b0:*/ 0x14, 0xad, 0x9d, 0x51, 0x7b, 0x9a, 0xe0, 0x1e, 0x8f, 0x6d, 0x7c, 0x19, 0x72, 0x1b, 0xac, 0xc2, - /*09c0:*/ 0xd8, 0x46, 0x17, 0x26, 0x9c, 0xa6, 0x8f, 0xe2, 0xb7, 0x10, 0x01, 0xc3, 0x0f, 0x86, 0x4a, 0x78, - /*09d0:*/ 0x4d, 0x48, 0x50, 0x2e, 0x77, 0x72, 0xda, 0xa0, 0x99, 0x25, 0x82, 0x65, 0xdb, 0x34, 0xaf, 0xf5, - /*09e0:*/ 0x09, 0xa7, 0xed, 0xf0, 0x58, 0x68, 0x91, 0x45, 0x52, 0x0d, 0xf4, 0xf9, 0xfb, 0x37, 0x82, 0x90, - /*09f0:*/ 0x2c, 0x70, 0x8a, 0xc0, 0x5c, 0xe6, 0xa4, 0xdc, 0xb0, 0x9f, 0x15, 0xa0, 0xc7, 0xdf, 0xfe, 0xcc, - /*0a00:*/ 0xd9, 0x85, 0x81, 0x3c, 0x82, 0x98, 0x6e, 0x47, 0xca, 0xc0, 0x4d, 0xb5, 0x83, 0x83, 0xaf, 0x86, - /*0a10:*/ 0x0a, 0x9b, 0xf2, 0xce, 0x43, 0x25, 0x18, 0x9d, 0x7e, 0xf7, 0xf7, 0x4e, 0x00, 0x8d, 0xdb, 0x50, - /*0a20:*/ 0xdf, 0x14, 0x40, 0x40, 0xef, 0x6a, 0xfd, 0xe1, 0x6a, 0xaf, 0x00, 0x31, 0x5f, 0xb6, 0xb2, 0xed, - /*0a30:*/ 0x39, 0x12, 0x07, 0xdd, 0xb2, 0x70, 0x51, 0xad, 0x08, 0xa7, 0x69, 0x91, 0xff, 0x11, 0xdc, 0xb5, - /*0a40:*/ 0x2d, 0x38, 0x90, 0xe5, 0xc9, 0xb6, 0x1c, 0x3b, 0x65, 0x56, 0x6e, 0x5a, 0xf7, 0xd9, 0x36, 0x6d, - /*0a50:*/ 0xbf, 0x76, 0xa8, 0xac, 0xe3, 0x53, 0xaa, 0x67, 0x20, 0x41, 0x37, 0x0b, 0x55, 0x18, 0x93, 0x79, - /*0a60:*/ 0x88, 0x15, 0x8e, 0x00, 0xd0, 0x28, 0x58, 0xcb, 0x63, 0x56, 0xee, 0x39, 0x3d, 0xb4, 0x40, 0x00, - /*0a70:*/ 0x7f, 0x12, 0x3b, 0x5a, 0x25, 0x9e, 0x4d, 0x06, 0x21, 0xa8, 0xc3, 0xae, 0x25, 0xf7, 0x17, 0x35, - /*0a80:*/ 0x3f, 0x34, 0x63, 0xf6, 0x7c, 0x1a, 0xf0, 0x09, 0xd6, 0xde, 0xf9, 0x0b, 0x67, 0x4b, 0x67, 0xf9, - /*0a90:*/ 0xa2, 0x1b, 0x80, 0x71, 0xa3, 0x76, 0xf4, 0x46, 0x5d, 0x94, 0x1e, 0xd5, 0xa0, 0xd9, 0xb8, 0xb0, - /*0aa0:*/ 0xa2, 0x2c, 0x51, 0xe8, 0xea, 0x66, 0x81, 0x06, 0xf9, 0x36, 0x55, 0xa0, 0xcb, 0xaf, 0x44, 0xc7, - /*0ab0:*/ 0x5a, 0x7a, 0x82, 0x28, 0x4b, 0x7a, 0x33, 0x46, 0x4a, 0xca, 0x30, 0x94, 0x9e, 0xe1, 0x0a, 0x1c, - /*0ac0:*/ 0x45, 0x91, 0xf1, 0x4d, 0x33, 0xd2, 0x8d, 0xd9, 0xd6, 0x0e, 0xcf, 0x69, 0x97, 0x2c, 0x78, 0x12, - /*0ad0:*/ 0x99, 0xea, 0x5f, 0xc2, 0x4c, 0x59, 0xb2, 0x0a, 0x0d, 0xea, 0xc8, 0x38, 0xb7, 0xb4, 0x94, 0x40, - /*0ae0:*/ 0x5a, 0x61, 0xa5, 0xc0, 0x1a, 0xe7, 0xe4, 0xb7, 0xc3, 0x4b, 0x5a, 0x54, 0xe2, 0xd2, 0x0d, 0x4b, - /*0af0:*/ 0x5e, 0xf7, 0x55, 0x3b, 0x2f, 0x74, 0x99, 0xea, 0x80, 0xb9, 0x4e, 0x3f, 0xc1, 0x8d, 0x86, 0xa4, - /*0b00:*/ 0xa7, 0xe0, 0xaa, 0xa5, 0x72, 0xd0, 0x5c, 0x81, 0x1a, 0xf9, 0x27, 0x37, 0x8e, 0x0c, 0x40, 0x7c, - /*0b10:*/ 0x0b, 0x85, 0x8b, 0x56, 0x5d, 0xe1, 0xca, 0xf1, 0xca, 0x4a, 0x1f, 0x70, 0x06, 0xe1, 0x25, 0xdb, - /*0b20:*/ 0x6a, 0xa1, 0x06, 0xcc, 0xb7, 0x13, 0x3f, 0xac, 0xaf, 0x44, 0xec, 0x06, 0x13, 0x3e, 0x88, 0xb5, - /*0b30:*/ 0x47, 0x8a, 0x07, 0x76, 0x08, 0xf0, 0x6d, 0x72, 0x15, 0x8f, 0x84, 0xa3, 0xca, 0xc2, 0xd1, 0xa8, - /*0b40:*/ 0xd0, 0xaa, 0x04, 0x43, 0x96, 0x1c, 0x70, 0x70, 0x7d, 0x0c, 0x6f, 0x77, 0x09, 0x5a, 0xd0, 0x69, - /*0b50:*/ 0x46, 0x01, 0x2d, 0xed, 0x3c, 0x01, 0x4d, 0x0c, 0x5c, 0x96, 0x35, 0x3b, 0x74, 0xec, 0x5f, 0xce, - /*0b60:*/ 0xbd, 0x6e, 0x62, 0x6b, 0xbe, 0xc0, 0x05, 0xca, 0x4d, 0xc2, 0xf6, 0x84, 0x31, 0x52, 0x40, 0x89, - /*0b70:*/ 0x90, 0x6a, 0xe4, 0x48, 0x6b, 0x2f, 0xfd, 0x45, 0x2c, 0x87, 0x28, 0xf2, 0x0e, 0x64, 0x40, 0xa4, - /*0b80:*/ 0x04, 0x16, 0xae, 0x16, 0x87, 0x84, 0x13, 0x9b, 0x77, 0x3d, 0x00, 0x9d, 0x57, 0x2f, 0x40, 0x10, - /*0b90:*/ 0xd2, 0x34, 0xc8, 0xe7, 0x58, 0xfd, 0x68, 0x9f, 0xeb, 0x4e, 0xc6, 0x5e, 0x1d, 0xf5, 0x3a, 0x09, - /*0ba0:*/ 0x5b, 0xdb, 0x7a, 0x1f, 0x2c, 0x2c, 0x7e, 0xa2, 0x4e, 0x2d, 0xc4, 0xde, 0xb5, 0x24, 0x39, 0x23, - /*0bb0:*/ 0x64, 0x2f, 0x6a, 0x0a, 0x57, 0xbd, 0x30, 0xed, 0x29, 0x2f, 0x5f, 0x97, 0x32, 0xe0, 0x57, 0x30, - /*0bc0:*/ 0x0b, 0xdf, 0xad, 0x7a, 0x53, 0xec, 0x45, 0x18, 0x26, 0x9d, 0x7f, 0x9c, 0xc4, 0xe4, 0xbc, 0x00, - /*0bd0:*/ 0xd1, 0x32, 0x02, 0x60, 0x85, 0x5e, 0x53, 0xc1, 0x86, 0x70, 0x6c, 0x1b, 0x4d, 0x74, 0x9a, 0xac, - /*0be0:*/ 0x63, 0x3b, 0xcb, 0xa4, 0xca, 0x57, 0x21, 0xca, 0xf7, 0xbd, 0xb4, 0x94, 0x83, 0x6b, 0xe3, 0x18, - /*0bf0:*/ 0x12, 0xac, 0x33, 0xe7, 0xc1, 0xf0, 0x60, 0x5a, 0xfd, 0x14, 0x83, 0x68, 0x6d, 0xa7, 0x9d, 0x88, - /*0c00:*/ 0x5b, 0x04, 0x4e, 0x01, 0x44, 0x44, 0xe1, 0x06, 0x4b, 0x6a, 0x84, 0x7b, 0xaa, 0x52, 0xde, 0x27, - /*0c10:*/ 0x61, 0x07, 0x65, 0x10, 0x7f, 0x10, 0x72, 0xc6, 0x19, 0x99, 0x50, 0xdf, 0x41, 0x72, 0x59, 0xd0, - /*0c20:*/ 0x30, 0xae, 0x32, 0x1a, 0xf2, 0x8d, 0xbf, 0x44, 0x71, 0x0b, 0x6d, 0x63, 0xe0, 0xda, 0x60, 0x1d, - /*0c30:*/ 0xb0, 0x17, 0x93, 0xb6, 0x9c, 0xb4, 0x45, 0xe4, 0xc0, 0xe8, 0x7d, 0xb1, 0xdf, 0x40, 0xfa, 0xb7, - /*0c40:*/ 0xda, 0x27, 0x10, 0xf3, 0x9d, 0x86, 0x36, 0xa5, 0xf8, 0x20, 0x05, 0xcc, 0x42, 0x58, 0xfa, 0x5f, - /*0c50:*/ 0xc8, 0x4f, 0xab, 0x98, 0x34, 0x9e, 0x31, 0xb5, 0x15, 0xa0, 0xb1, 0xdc, 0x4b, 0x5f, 0xe2, 0xcf, - /*0c60:*/ 0x18, 0x59, 0xec, 0x8a, 0x8d, 0x21, 0x12, 0x59, 0xa9, 0x09, 0x7d, 0xd6, 0xae, 0x4a, 0x6f, 0x0d, - /*0c70:*/ 0x88, 0x04, 0x97, 0x02, 0xbf, 0xad, 0x1a, 0x42, 0xb0, 0x32, 0x10, 0xab, 0x08, 0xef, 0x2b, 0x57, - /*0c80:*/ 0x16, 0xe4, 0x95, 0x75, 0x70, 0x0d, 0xf9, 0x46, 0x44, 0x7e, 0x86, 0x9e, 0xef, 0x94, 0x08, 0x57, - /*0c90:*/ 0xe8, 0xb6, 0x14, 0x9f, 0x65, 0xd2, 0xa5, 0xa9, 0x75, 0x3a, 0x28, 0xe1, 0x74, 0x6d, 0x8e, 0x83, - /*0ca0:*/ 0xe2, 0xc7, 0xb1, 0x9d, 0xaf, 0xbc, 0xda, 0xb6, 0x80, 0x21, 0x65, 0xb8, 0x38, 0x0b, 0x03, 0x03, - /*0cb0:*/ 0x16, 0x54, 0x68, 0x72, 0x60, 0xdd, 0x5b, 0x0d, 0x22, 0x33, 0x52, 0xe1, 0xd5, 0x51, 0xe8, 0x3f, - /*0cc0:*/ 0xe1, 0x89, 0x31, 0xcc, 0x8c, 0xc1, 0xb9, 0x28, 0x39, 0x40, 0x50, 0x7a, 0xeb, 0x21, 0xc0, 0x50, - /*0cd0:*/ 0x53, 0xd4, 0x51, 0x3e, 0x8a, 0x20, 0x89, 0x48, 0x18, 0xee, 0xbe, 0x9c, 0x46, 0xac, 0x87, 0xe2, - /*0ce0:*/ 0xc6, 0xb5, 0x4f, 0x19, 0xfc, 0xab, 0xbc, 0x89, 0x81, 0xeb, 0x0c, 0x24, 0xe1, 0xeb, 0x64, 0xb3, - /*0cf0:*/ 0x3d, 0xca, 0x2c, 0x6f, 0xe1, 0xdf, 0x57, 0x59, 0xcd, 0xe4, 0x4e, 0x27, 0x7c, 0xe6, 0x0c, 0x23, - /*0d00:*/ 0x4a, 0x72, 0xb9, 0x89, 0x3a, 0x12, 0xce, 0x16, 0xf6, 0x85, 0xd8, 0x4c, 0x5f, 0xdb, 0xca, 0x3e, - /*0d10:*/ 0x0f, 0x0b, 0xe0, 0x8d, 0xd5, 0xf2, 0xe1, 0xe3, 0xc0, 0x67, 0x78, 0x43, 0xa6, 0xd2, 0xb0, 0xad, - /*0d20:*/ 0xb8, 0xb6, 0x04, 0x23, 0xc6, 0x21, 0x8b, 0x72, 0x8b, 0x17, 0x2d, 0x0e, 0x18, 0x36, 0x48, 0xa9, - /*0d30:*/ 0x4e, 0x1f, 0xa4, 0x33, 0x18, 0xbf, 0x27, 0xa7, 0x68, 0x38, 0xed, 0x50, 0xe6, 0x7d, 0x3f, 0xa0, - /*0d40:*/ 0xdf, 0xe1, 0x16, 0x6b, 0x98, 0xe5, 0x88, 0x46, 0xd8, 0x7f, 0xc5, 0x30, 0xc6, 0x5b, 0x8f, 0xa1, - /*0d50:*/ 0xd1, 0x24, 0x0d, 0xaf, 0x81, 0xa1, 0xc6, 0xbf, 0xf8, 0xdc, 0xf7, 0x5e, 0x42, 0xc0, 0xd8, 0x5c, - /*0d60:*/ 0x54, 0xfd, 0x2e, 0xa5, 0x7d, 0x56, 0x1b, 0x0f, 0x12, 0xa3, 0xda, 0x88, 0x8e, 0xab, 0x9a, 0xa5, - /*0d70:*/ 0x29, 0xdd, 0x8e, 0x47, 0x62, 0x93, 0xf7, 0x5d, 0xff, 0x75, 0xde, 0x68, 0x2a, 0xa1, 0x9c, 0x78, - /*0d80:*/ 0xbb, 0x85, 0x8b, 0xab, 0x3a, 0x06, 0xea, 0x80, 0x96, 0x0e, 0xa1, 0x29, 0xf5, 0x1d, 0xc4, 0x05, - /*0d90:*/ 0x1b, 0xd1, 0xbe, 0x72, 0x5d, 0x3b, 0x9f, 0x37, 0xec, 0x14, 0xfe, 0x28, 0xf9, 0x54, 0xca, 0x6c, - /*0da0:*/ 0x9d, 0x4b, 0x34, 0x9d, 0xb8, 0xcb, 0x4d, 0x78, 0x82, 0xea, 0xe7, 0xef, 0xb6, 0xd4, 0x72, 0x3e, - /*0db0:*/ 0xac, 0xef, 0x03, 0xbf, 0x7c, 0xeb, 0x6a, 0x61, 0xaf, 0x1b, 0x9d, 0x8d, 0xae, 0x2d, 0xe5, 0xda, - /*0dc0:*/ 0x15, 0x8f, 0x88, 0x25, 0x24, 0x5e, 0xaa, 0xeb, 0x62, 0xcb, 0x77, 0x5a, 0x72, 0x5e, 0x3e, 0x91, - /*0dd0:*/ 0xc4, 0xfb, 0x89, 0x4b, 0x37, 0xf9, 0x39, 0xff, 0x3f, 0xf7, 0x89, 0x93, 0xb9, 0xe8, 0xd7, 0x58, - /*0de0:*/ 0x94, 0xd9, 0xd6, 0x3c, 0x80, 0x89, 0x1f, 0xef, 0x5c, 0x89, 0x6b, 0x9f, 0x94, 0x06, 0x68, 0x3b, - /*0df0:*/ 0x47, 0xee, 0x92, 0x0a, 0x13, 0x53, 0xc6, 0x55, 0xe1, 0x1c, 0xec, 0x45, 0x11, 0x1e, 0xb7, 0xc9, - /*0e00:*/ 0xef, 0x3f, 0x47, 0xd5, 0x0e, 0xe5, 0x76, 0x51, 0x9c, 0x9e, 0xbb, 0x37, 0x29, 0xdd, 0xee, 0xf6, - /*0e10:*/ 0x9d, 0x09, 0x79, 0x97, 0xda, 0xe1, 0xd3, 0x6b, 0x57, 0xb7, 0x86, 0x3f, 0x59, 0xc6, 0x42, 0xce, - /*0e20:*/ 0x38, 0x22, 0x98, 0x7c, 0x31, 0x97, 0x0b, 0x35, 0x73, 0xc9, 0xdb, 0xda, 0x58, 0x23, 0xff, 0x64, - /*0e30:*/ 0xc2, 0xa8, 0x9e, 0x33, 0xeb, 0x6f, 0xc9, 0x4c, 0xce, 0x43, 0xb4, 0x2b, 0xe3, 0x43, 0xe5, 0xd9, - /*0e40:*/ 0x46, 0x33, 0x12, 0x00, 0xb8, 0xa3, 0x10, 0x43, 0x70, 0xc6, 0x19, 0x37, 0x6c, 0x90, 0x74, 0xb7, - /*0e50:*/ 0x5f, 0x44, 0x2d, 0x6d, 0x8b, 0x0f, 0x5d, 0xee, 0x34, 0x4d, 0x76, 0x7a, 0x04, 0x79, 0x39, 0xfb, - /*0e60:*/ 0x7f, 0xaa, 0x88, 0xf2, 0xc9, 0x92, 0x37, 0x24, 0xaf, 0xb7, 0x4a, 0x21, 0x52, 0x60, 0xaa, 0x01, - /*0e70:*/ 0x8d, 0x28, 0x99, 0xe9, 0xe5, 0x06, 0x9f, 0xe6, 0x35, 0x9b, 0x76, 0xef, 0x82, 0x07, 0xf0, 0x5b, - /*0e80:*/ 0x03, 0x7b, 0xb9, 0xbc, 0x31, 0x8e, 0xc2, 0xec, 0x66, 0x98, 0xab, 0x67, 0x32, 0x31, 0x9d, 0xdb, - /*0e90:*/ 0x71, 0x0b, 0xf2, 0x6f, 0x39, 0xa6, 0xcb, 0xed, 0x4b, 0x42, 0x90, 0xd9, 0xb0, 0x97, 0xf1, 0x98, - /*0ea0:*/ 0x86, 0x4d, 0x12, 0xfa, 0x3f, 0xb0, 0x8d, 0x43, 0x15, 0xb6, 0x4e, 0xf4, 0xeb, 0x00, 0x66, 0xf4, - /*0eb0:*/ 0xb4, 0xc0, 0x37, 0x24, 0x16, 0x6e, 0x76, 0x3e, 0x00, 0xb9, 0xb3, 0x11, 0x6b, 0x44, 0x70, 0xdd, - /*0ec0:*/ 0x69, 0x81, 0xa5, 0xe2, 0xec, 0x7c, 0x37, 0x46, 0xa3, 0x24, 0x07, 0x82, 0xe6, 0x7b, 0x4d, 0xcc, - /*0ed0:*/ 0x2f, 0xba, 0xe5, 0xb8, 0x12, 0x6f, 0x29, 0xe5, 0xa4, 0x61, 0x3d, 0x91, 0xcf, 0xef, 0xf2, 0x08, - /*0ee0:*/ 0x27, 0xaa, 0xac, 0x0a, 0x15, 0xd6, 0x00, 0xdd, 0x54, 0xbc, 0x6d, 0x0b, 0x3b, 0x56, 0x71, 0x15, - /*0ef0:*/ 0x1a, 0xe4, 0x63, 0xfa, 0x97, 0xb1, 0x59, 0x8d, 0x86, 0x03, 0x40, 0x8f, 0x60, 0x97, 0x16, 0xfc, - /*0f00:*/ 0x7e, 0xdd, 0xd2, 0xe7, 0x64, 0xd2, 0x03, 0xf7, 0xc6, 0x36, 0xe4, 0x45, 0x54, 0xec, 0xac, 0x71, - /*0f10:*/ 0x73, 0x25, 0xaa, 0xfe, 0x74, 0x90, 0x11, 0x2a, 0x68, 0x53, 0xb9, 0x1b, 0xa4, 0xd2, 0x36, 0x12, - /*0f20:*/ 0x7e, 0x34, 0x7a, 0xba, 0xf5, 0xa9, 0x26, 0x0c, 0x3d, 0x20, 0xdf, 0x0f, 0x0b, 0xbd, 0xb2, 0xb4, - /*0f30:*/ 0x5e, 0x54, 0x1f, 0x98, 0x25, 0xb7, 0x93, 0x75, 0xa8, 0x76, 0x5d, 0x95, 0xa0, 0xcc, 0x76, 0x50, - /*0f40:*/ 0xeb, 0x6b, 0xf2, 0xe9, 0x42, 0x0a, 0x8d, 0xe8, 0x7d, 0xef, 0xcb, 0x46, 0xa7, 0xf9, 0x33, 0x8e, - /*0f50:*/ 0xf7, 0x36, 0x49, 0x25, 0xf4, 0xf5, 0x45, 0xb3, 0x46, 0x5b, 0x6c, 0x45, 0x23, 0x83, 0xdf, 0x4f, - /*0f60:*/ 0x45, 0x40, 0x85, 0x53, 0x2f, 0x71, 0xb9, 0xdc, 0x70, 0x77, 0x1a, 0x0a, 0x6d, 0x54, 0x17, 0x50, - /*0f70:*/ 0x09, 0xcc, 0x17, 0xfe, 0x23, 0x20, 0xe1, 0xa3, 0x1d, 0xba, 0x3b, 0x64, 0x8d, 0x8a, 0xeb, 0x72, - /*0f80:*/ 0x5d, 0x3f, 0x0c, 0x68, 0x4d, 0xb7, 0x9b, 0xf9, 0xe0, 0xc5, 0x25, 0x1e, 0x53, 0x08, 0x9c, 0xb1, - /*0f90:*/ 0xd0, 0x1b, 0x74, 0x44, 0xbf, 0x3c, 0x1d, 0x14, 0x56, 0x2e, 0x12, 0xac, 0x24, 0xdc, 0x42, 0xe1, - /*0fa0:*/ 0x88, 0x70, 0xde, 0xc0, 0xf9, 0xa8, 0xf1, 0x71, 0x53, 0x18, 0x30, 0x0f, 0x03, 0x44, 0xc5, 0xb7, - /*0fb0:*/ 0x7b, 0x46, 0xf0, 0x07, 0x7d, 0xd7, 0x39, 0xd9, 0x26, 0x07, 0x74, 0xbb, 0xee, 0x88, 0xa0, 0x26, - /*0fc0:*/ 0xf6, 0xc5, 0x7d, 0x52, 0x62, 0x59, 0x8f, 0x28, 0x5d, 0x81, 0x6b, 0xfb, 0xa5, 0x7b, 0x24, 0xd3, - /*0fd0:*/ 0x93, 0xf1, 0x08, 0x7d, 0xbe, 0xfe, 0x9c, 0x3a, 0xa8, 0x2e, 0xbc, 0x84, 0x39, 0xe3, 0x4b, 0x31, - /*0fe0:*/ 0x8f, 0x0a, 0x61, 0xf7, 0x71, 0x24, 0x1c, 0xf0, 0x2b, 0x00, 0x38, 0x8c, 0x4d, 0x17, 0x09, 0xb9, - /*0ff0:*/ 0x20, 0x13, 0xc0, 0xe7, 0x0a, 0x13, 0x8c, 0x00, 0x75, 0x26, 0x70, 0x4d, 0xe3, 0xbe, 0xd4, 0xfa, - /*1000:*/ 0xbc, 0x31, 0xbf, 0x31, 0x1b, 0xf7, 0x03, 0x3a, 0x49, 0xa4, 0xbf, 0x36, 0x8b, 0xb5, 0x59, 0xbd, - /*1010:*/ 0x4b, 0x0c, 0x2f, 0xbb, 0x13, 0x52, 0xb5, 0x0b, 0x05, 0x85, 0x04, 0x7b, 0xb4, 0xf3, 0x06, 0x84, - /*1020:*/ 0x33, 0x2a, 0xd4, 0x1f, 0x03, 0x8a, 0x9c, 0xec, 0x14, 0xf1, 0x61, 0x65, 0x5a, 0x78, 0x8c, 0xd1, - /*1030:*/ 0x03, 0xf4, 0xde, 0x3a, 0x6a, 0x38, 0x79, 0x66, 0x7b, 0x8d, 0x0c, 0xba, 0xd3, 0x27, 0xc6, 0xae, - /*1040:*/ 0xdb, 0x7b, 0xec, 0x3c, 0x2a, 0x48, 0x26, 0xa5, 0xd6, 0x48, 0xdf, 0x41, 0x95, 0xfe, 0x77, 0xf1, - /*1050:*/ 0x1f, 0xce, 0x7f, 0x1b, 0x27, 0x2b, 0x92, 0xb1, 0x28, 0x64, 0xef, 0x7d, 0x7a, 0x1d, 0x38, 0xbf, - /*1060:*/ 0x81, 0x7f, 0xd7, 0xb7, 0x00, 0xe5, 0x18, 0x1d, 0x42, 0xd9, 0x20, 0xb1, 0x30, 0x34, 0x3b, 0x4e, - /*1070:*/ 0xda, 0x51, 0x59, 0xf1, 0x66, 0xc8, 0xb1, 0xc1, 0xcd, 0x93, 0xc0, 0xf9, 0xdf, 0x27, 0x9c, 0x36, - /*1080:*/ 0x8f, 0x34, 0xd5, 0x7b, 0x81, 0xcd, 0x25, 0x54, 0x98, 0xac, 0x71, 0xab, 0x7e, 0x9e, 0x90, 0x9c, - /*1090:*/ 0x1a, 0x81, 0x15, 0x7a, 0xdd, 0xce, 0xdc, 0x8b, 0x59, 0xd5, 0xcb, 0x64, 0x1b, 0x5b, 0xe8, 0xee, - /*10a0:*/ 0xb4, 0x77, 0x86, 0x8c, 0x83, 0x84, 0x28, 0x5d, 0x09, 0x93, 0x9e, 0x6c, 0xb3, 0xd5, 0x35, 0x87, - /*10b0:*/ 0x7a, 0x0a, 0xab, 0xf3, 0x20, 0x0c, 0x57, 0x55, 0x00, 0xd1, 0x1b, 0x7e, 0x6f, 0x15, 0x0b, 0x87, - /*10c0:*/ 0x17, 0x0c, 0x4e, 0x94, 0x33, 0x3e, 0x79, 0x51, 0xff, 0x02, 0x72, 0xb0, 0x94, 0xee, 0x1d, 0x20, - /*10d0:*/ 0x8a, 0x9a, 0x5b, 0xb1, 0x7d, 0x8a, 0xb9, 0x06, 0xa3, 0x92, 0x34, 0x66, 0x8c, 0xc2, 0x26, 0x74, - /*10e0:*/ 0x02, 0x17, 0xb7, 0x73, 0x4e, 0x99, 0x4c, 0x70, 0xab, 0xab, 0xd3, 0x7b, 0xff, 0x67, 0x93, 0x69, - /*10f0:*/ 0x8e, 0x79, 0xc0, 0x63, 0x44, 0x87, 0xde, 0x20, 0x33, 0x44, 0x0c, 0xb6, 0x7a, 0x43, 0xa0, 0x76, - /*1100:*/ 0x56, 0x60, 0xc8, 0x58, 0x1f, 0x4d, 0x84, 0xef, 0xcc, 0x20, 0x4e, 0xda, 0x9d, 0x7e, 0xd7, 0xb1, - /*1110:*/ 0x22, 0x10, 0x6b, 0x45, 0x86, 0x73, 0x36, 0xb0, 0x9e, 0x7a, 0xfd, 0xeb, 0x3d, 0x81, 0xd8, 0xe8, - /*1120:*/ 0xfa, 0x96, 0xa7, 0x2c, 0x1b, 0x60, 0x02, 0xd8, 0x94, 0x53, 0xe7, 0x98, 0xcf, 0x33, 0x73, 0x3b, - /*1130:*/ 0x88, 0xc9, 0x5c, 0x27, 0x0c, 0x39, 0xbd, 0x86, 0xae, 0x71, 0x28, 0xc4, 0xfb, 0xe4, 0xe9, 0x01, - /*1140:*/ 0x9f, 0x43, 0x7b, 0x0e, 0x0e, 0x80, 0x05, 0xf3, 0xa2, 0x93, 0x54, 0x10, 0x3f, 0x15, 0x23, 0xcb, - /*1150:*/ 0x65, 0x84, 0x4f, 0xb0, 0xa1, 0x96, 0x61, 0x97, 0x98, 0xb8, 0x3d, 0x8a, 0x22, 0x7a, 0xe0, 0xf5, - /*1160:*/ 0x3c, 0xb6, 0x3e, 0xdc, 0x53, 0xa3, 0x11, 0x5b, 0xf7, 0x0f, 0xa3, 0x89, 0xd3, 0xb6, 0x46, 0x49, - /*1170:*/ 0xed, 0xa8, 0x44, 0x49, 0x06, 0xb4, 0x26, 0x49, 0x61, 0x30, 0xbb, 0xee, 0x86, 0x91, 0x6a, 0xf5, - /*1180:*/ 0xc3, 0xa4, 0x40, 0x62, 0x0e, 0x6a, 0xae, 0x10, 0xfb, 0x5a, 0xc9, 0x6d, 0x7a, 0xa3, 0x1f, 0x76, - /*1190:*/ 0x93, 0x31, 0x27, 0x2f, 0xc3, 0x35, 0x1c, 0x12, 0x1c, 0x57, 0x0a, 0x88, 0x61, 0xb2, 0xe5, 0x31, - /*11a0:*/ 0xec, 0x56, 0xfe, 0x9d, 0x9b, 0xdc, 0x1a, 0xf3, 0xd2, 0xdf, 0xbd, 0xa0, 0x56, 0xef, 0x7f, 0x7f, - /*11b0:*/ 0xc8, 0x85, 0x15, 0xcf, 0x18, 0x2f, 0x99, 0x70, 0x3d, 0x4f, 0xc0, 0xef, 0x5b, 0xa5, 0xf9, 0x7b, - /*11c0:*/ 0xaa, 0xc6, 0x43, 0xa2, 0x6e, 0xd3, 0x65, 0x42, 0xe0, 0x16, 0x7b, 0x08, 0x84, 0x7f, 0x56, 0x58, - /*11d0:*/ 0xa4, 0x9c, 0x4c, 0x8a, 0x71, 0x73, 0x96, 0x9d, 0x1f, 0x08, 0x46, 0x5d, 0x1e, 0x74, 0xe8, 0x24, - /*11e0:*/ 0x7b, 0x40, 0x9c, 0x38, 0x16, 0x4c, 0x00, 0x34, 0xb1, 0xf9, 0xfb, 0xaf, 0x29, 0xf3, 0xb4, 0x6e, - /*11f0:*/ 0xd8, 0x68, 0xd4, 0xa3, 0x77, 0xc9, 0x4d, 0x35, 0x77, 0x55, 0x4f, 0xe2, 0xd8, 0xec, 0x1f, 0xe5, - /*1200:*/ 0x4a, 0x91, 0xbd, 0x54, 0x72, 0x6d, 0x9e, 0x03, 0xaf, 0x02, 0x97, 0xec, 0xca, 0xab, 0xa7, 0x9e, - /*1210:*/ 0x60, 0x21, 0xa5, 0x86, 0x13, 0xe4, 0x14, 0xfc, 0x15, 0xcb, 0xd8, 0xc3, 0x94, 0xd0, 0x5a, 0x54, - /*1220:*/ 0x25, 0xa7, 0xf4, 0x55, 0x3b, 0x0d, 0x95, 0xdd, 0xd5, 0x47, 0x51, 0x9b, 0x0a, 0xe6, 0xf0, 0xd2, - /*1230:*/ 0x35, 0xde, 0x63, 0x0d, 0xa5, 0xaf, 0x47, 0xa2, 0xbf, 0xbb, 0xe2, 0xff, 0xd5, 0xb7, 0x20, 0x10, - /*1240:*/ 0xac, 0xa0, 0x69, 0x21, 0x9c, 0xe9, 0x9a, 0x5f, 0x31, 0x64, 0x21, 0x84, 0xbf, 0xa5, 0x03, 0xf9, - /*1250:*/ 0x89, 0xf9, 0xd8, 0x2d, 0xd9, 0x55, 0x13, 0x1f, 0x12, 0xbe, 0x15, 0x59, 0x52, 0xfb, 0x72, 0x3a, - /*1260:*/ 0xf1, 0x7a, 0xc5, 0x15, 0x98, 0xec, 0x21, 0x7d, 0x98, 0xe3, 0xb4, 0xeb, 0x1b, 0x6d, 0x1b, 0x36, - /*1270:*/ 0xb3, 0x1e, 0x22, 0x6e, 0x81, 0xc0, 0xff, 0xc6, 0xd5, 0x84, 0xc9, 0x97, 0xe1, 0x48, 0x07, 0x17, - /*1280:*/ 0x27, 0xed, 0x0c, 0x7a, 0x88, 0x77, 0xba, 0x16, 0xbf, 0xbc, 0x40, 0x7e, 0xde, 0x9a, 0x6f, 0x97, - /*1290:*/ 0x83, 0xd3, 0xc7, 0xef, 0x05, 0x36, 0x6b, 0x2a, 0x8e, 0xe0, 0xa8, 0xb1, 0x61, 0x33, 0xa1, 0xb9, - /*12a0:*/ 0x4c, 0x7a, 0xa1, 0xfd, 0x7c, 0x49, 0x92, 0x45, 0x11, 0x08, 0x05, 0xcd, 0x91, 0xbe, 0x0e, 0x53, - /*12b0:*/ 0x08, 0x7a, 0xeb, 0xf9, 0x96, 0xc1, 0x3d, 0xea, 0x61, 0x5c, 0x60, 0x67, 0xd6, 0x96, 0x5e, 0xc9, - /*12c0:*/ 0xd0, 0x91, 0x09, 0x82, 0x68, 0x01, 0x45, 0x9e, 0x8d, 0xf8, 0x90, 0x06, 0xa8, 0xf3, 0x8c, 0x83, - /*12d0:*/ 0xaf, 0xa7, 0x67, 0xfc, 0xd9, 0x0b, 0x22, 0xdd, 0xc7, 0x23, 0x5a, 0x58, 0x90, 0xc3, 0x02, 0x7b, - /*12e0:*/ 0xd9, 0x82, 0x40, 0x4b, 0x66, 0x4f, 0x0c, 0xfc, 0x46, 0xbc, 0x54, 0x12, 0xc3, 0x2c, 0x4f, 0x75, - /*12f0:*/ 0x82, 0xad, 0xb9, 0xdc, 0x47, 0x42, 0xae, 0x34, 0xc0, 0x2c, 0x70, 0xe0, 0x07, 0x96, 0xcd, 0xa9, - /*1300:*/ 0x4d, 0xc6, 0xef, 0x2c, 0xbe, 0xfb, 0xf4, 0x22, 0x35, 0x19, 0xf5, 0xdc, 0x18, 0x53, 0x3f, 0x7a, - /*1310:*/ 0x68, 0x7f, 0x7a, 0xd1, 0xe7, 0x58, 0xdf, 0x48, 0xda, 0x8f, 0xea, 0x09, 0x0c, 0x21, 0xb6, 0x83, - /*1320:*/ 0xa3, 0x79, 0xdb, 0xfe, 0xd4, 0x48, 0xc3, 0xe5, 0x91, 0xe2, 0x69, 0x2d, 0x37, 0xe7, 0x8c, 0x81, - /*1330:*/ 0x7b, 0x04, 0x60, 0x59, 0xc7, 0xd3, 0x3a, 0x4f, 0x09, 0x9d, 0x2a, 0x24, 0x02, 0x73, 0x25, 0x6a, - /*1340:*/ 0x5a, 0xc7, 0x7c, 0x7e, 0xcb, 0x41, 0x39, 0x8b, 0xb2, 0xa1, 0x45, 0xb4, 0x8d, 0xed, 0x46, 0x51, - /*1350:*/ 0x7a, 0xc3, 0x48, 0x43, 0x4c, 0x72, 0x85, 0xc1, 0x47, 0x98, 0xe9, 0x08, 0xa2, 0x00, 0xa3, 0xa9, - /*1360:*/ 0x51, 0x69, 0x1c, 0x9a, 0xe6, 0xe4, 0x51, 0xa3, 0x59, 0x5f, 0xb3, 0xef, 0x00, 0x7a, 0x70, 0x78, - /*1370:*/ 0xc7, 0xa2, 0xa9, 0x59, 0x03, 0x13, 0x83, 0xdd, 0x4e, 0x0e, 0x1a, 0xe4, 0x5b, 0xe4, 0x8e, 0x40, - /*1380:*/ 0xfa, 0xbe, 0x6a, 0xeb, 0xe3, 0x32, 0xe0, 0xd7, 0x1f, 0x0f, 0x95, 0xc8, 0xe6, 0x0d, 0x13, 0x8a, - /*1390:*/ 0xe8, 0x56, 0x18, 0x0c, 0xb3, 0xee, 0x91, 0x98, 0x20, 0xa7, 0xbf, 0x17, 0xac, 0xf6, 0xf7, 0x4c, - /*13a0:*/ 0x53, 0xe9, 0xe2, 0xf6, 0x1d, 0xc5, 0x6c, 0x4c, 0xfb, 0xf2, 0x95, 0xc8, 0x15, 0xe6, 0xbd, 0xc0, - /*13b0:*/ 0x40, 0x4f, 0xb6, 0x6a, 0xa1, 0x80, 0x3e, 0xb3, 0x61, 0x16, 0x9c, 0x8c, 0x3d, 0xef, 0xd4, 0x3e, - /*13c0:*/ 0x66, 0x7e, 0x1e, 0x74, 0x6c, 0xb3, 0x27, 0xb5, 0x1e, 0x4a, 0xff, 0xdf, 0x54, 0x70, 0xbd, 0x50, - /*13d0:*/ 0xbc, 0xac, 0x6e, 0x80, 0x48, 0xe5, 0x48, 0xa3, 0x26, 0x80, 0x9f, 0x94, 0xad, 0xa2, 0x0e, 0x09, - /*13e0:*/ 0x52, 0x67, 0xb5, 0xf1, 0xb9, 0x8e, 0x95, 0x39, 0xbe, 0xb9, 0xfa, 0xe6, 0x7b, 0xd3, 0x6f, 0x32, - /*13f0:*/ 0x75, 0x0b, 0x32, 0x40, 0xa3, 0x63, 0x29, 0xeb, 0xc7, 0xd7, 0xf3, 0x6a, 0x14, 0x45, 0x43, 0xce, - /*1400:*/ 0x56, 0x49, 0x8c, 0xc3, 0x29, 0x06, 0x8b, 0x2f, 0x5c, 0x79, 0x50, 0x1f, 0x52, 0xc8, 0xe7, 0xe8, - /*1410:*/ 0x1f, 0x9d, 0xdc, 0x76, 0x4d, 0xad, 0x8c, 0xb7, 0x0d, 0x97, 0x7c, 0x47, 0xb7, 0x4d, 0x87, 0x54, - /*1420:*/ 0x68, 0x54, 0x9b, 0xd6, 0x11, 0xcd, 0xf5, 0xf6, 0x31, 0xd8, 0x1e, 0xfa, 0x40, 0xa1, 0x3e, 0xab, - /*1430:*/ 0x69, 0xc5, 0xb7, 0x42, 0x8a, 0x09, 0x1d, 0x4c, 0x82, 0x44, 0x7f, 0x41, 0xd9, 0xab, 0x1a, 0x3e, - /*1440:*/ 0x3e, 0xcf, 0x8b, 0xcc, 0x19, 0xa4, 0x6d, 0x0c, 0x6c, 0xfe, 0xca, 0x2d, 0xc7, 0x73, 0xbe, 0xd9, - /*1450:*/ 0xda, 0xa9, 0x00, 0xab, 0x19, 0x83, 0x33, 0x65, 0x94, 0x89, 0xa7, 0x40, 0xaf, 0xce, 0x92, 0x0c, - /*1460:*/ 0x79, 0xdf, 0xca, 0x7d, 0x02, 0x63, 0x06, 0x0c, 0xc4, 0xf1, 0xf0, 0x8e, 0x09, 0x92, 0x21, 0xe0, - /*1470:*/ 0x37, 0xe8, 0x5c, 0x90, 0x79, 0xd7, 0xce, 0x28, 0xac, 0xa8, 0xfd, 0xb7, 0x94, 0xa2, 0x2e, 0xe4, - /*1480:*/ 0x72, 0xae, 0xa9, 0xf8, 0xf4, 0xb4, 0xf0, 0x23, 0xeb, 0xe5, 0x79, 0x34, 0x0d, 0x81, 0x0e, 0x4f, - /*1490:*/ 0x64, 0x60, 0xbb, 0x7f, 0x5a, 0x17, 0xdf, 0x0c, 0x19, 0x10, 0x39, 0x56, 0xa8, 0xbf, 0xdb, 0x68, - /*14a0:*/ 0x50, 0x2b, 0x64, 0x2c, 0xc9, 0xd4, 0x61, 0xdb, 0x8a, 0x25, 0x8f, 0xbb, 0x79, 0x89, 0xb5, 0x8f, - /*14b0:*/ 0x8e, 0x6e, 0xa1, 0xb6, 0x48, 0x96, 0xad, 0xef, 0xe5, 0x4c, 0xaa, 0x84, 0xfa, 0xbc, 0xe1, 0xe7, - /*14c0:*/ 0x93, 0xc5, 0xbc, 0x64, 0x00, 0xb9, 0x78, 0x8b, 0x6a, 0x9e, 0x26, 0x64, 0x94, 0x9c, 0x84, 0xb4, - /*14d0:*/ 0xc0, 0x66, 0xf2, 0xb7, 0x05, 0x27, 0x75, 0xc8, 0x95, 0xc1, 0xe5, 0xf6, 0x16, 0x5e, 0x81, 0x45, - /*14e0:*/ 0x17, 0x2d, 0x19, 0xfe, 0xe2, 0x5a, 0x03, 0x38, 0x37, 0x44, 0x83, 0x7f, 0x52, 0x17, 0x1d, 0x48, - /*14f0:*/ 0xe1, 0x18, 0x67, 0x89, 0x5b, 0xb2, 0x42, 0x4e, 0x16, 0x20, 0xee, 0xd3, 0x97, 0xe0, 0xe3, 0x0e, - /*1500:*/ 0x11, 0x1a, 0x35, 0xc0, 0x76, 0xad, 0xc3, 0x93, 0x1b, 0xa0, 0x13, 0x5e, 0xdb, 0x6e, 0xa3, 0x09, - /*1510:*/ 0xa3, 0x26, 0xbc, 0x10, 0xf6, 0x81, 0x39, 0x07, 0xae, 0xf2, 0x94, 0x63, 0x9b, 0x55, 0x84, 0x41, - /*1520:*/ 0xa1, 0x26, 0x84, 0x29, 0xe3, 0xeb, 0x2e, 0x07, 0xd9, 0x89, 0xc1, 0x13, 0x9c, 0x9c, 0x77, 0x1b, - /*1530:*/ 0xed, 0x4b, 0x9f, 0x07, 0x81, 0xc5, 0x40, 0x64, 0xdf, 0x8a, 0xe6, 0x99, 0xc4, 0xe2, 0x6c, 0xc2, - /*1540:*/ 0x84, 0x2b, 0xac, 0x0e, 0x53, 0xf5, 0x8d, 0x8f, 0x7f, 0x05, 0x27, 0xf0, 0x40, 0x9e, 0x49, 0x12, - /*1550:*/ 0xe6, 0x4b, 0xeb, 0xec, 0xe3, 0x01, 0xda, 0x98, 0x7b, 0x73, 0x1c, 0xcc, 0x62, 0xe1, 0x88, 0x3a, - /*1560:*/ 0x77, 0x48, 0x03, 0xcb, 0x66, 0x8f, 0xb7, 0x54, 0x58, 0xb9, 0x64, 0x26, 0x85, 0x4a, 0xe7, 0xcb, - /*1570:*/ 0x34, 0xc5, 0xf6, 0x7c, 0x72, 0x4d, 0x96, 0xcd, 0xe4, 0x80, 0x5b, 0x17, 0x76, 0x22, 0xc8, 0xb4, - /*1580:*/ 0x31, 0x8e, 0x46, 0xb2, 0xf6, 0xe7, 0x20, 0xa5, 0x94, 0x0d, 0xc3, 0x0d, 0x29, 0x62, 0x56, 0x14, - /*1590:*/ 0x7e, 0x7d, 0xfc, 0x77, 0xf8, 0xd9, 0x35, 0xe9, 0x4e, 0x78, 0xc0, 0xd5, 0x50, 0xe2, 0x03, 0x43, - /*15a0:*/ 0x89, 0x5b, 0x0a, 0xa1, 0x3c, 0x74, 0xcd, 0x50, 0x5e, 0xc9, 0xd7, 0x39, 0xe7, 0x1d, 0xf4, 0xd2, - /*15b0:*/ 0xa9, 0x99, 0x5a, 0xa8, 0x95, 0x47, 0xc7, 0xe4, 0x72, 0x24, 0x25, 0x94, 0xec, 0x5f, 0x86, 0x11, - /*15c0:*/ 0xca, 0xd2, 0xee, 0x4c, 0xb2, 0x52, 0xa0, 0x42, 0xdb, 0x3b, 0x36, 0x40, 0xe5, 0xec, 0xc7, 0x34, - /*15d0:*/ 0xe7, 0x0a, 0xd0, 0xbb, 0x55, 0x6b, 0x3d, 0x4c, 0x9f, 0x78, 0x28, 0xcd, 0xa9, 0x53, 0x89, 0x30, - /*15e0:*/ 0x0e, 0xfa, 0x20, 0x3c, 0xc7, 0xd6, 0x75, 0xe7, 0xb9, 0x8d, 0xdc, 0xdf, 0xd5, 0xa7, 0xfe, 0xe1, - /*15f0:*/ 0xe9, 0xec, 0x0c, 0x0b, 0xae, 0x8b, 0x63, 0xd5, 0x66, 0x5f, 0xbb, 0x99, 0xb1, 0x62, 0x2c, 0x18, - /*1600:*/ 0x81, 0x93, 0xc6, 0xda, 0xd4, 0x0a, 0xd0, 0x33, 0xc1, 0xc3, 0xc3, 0x0a, 0xe8, 0xef, 0x56, 0xb9, - /*1610:*/ 0xe2, 0x15, 0xd6, 0xa2, 0x39, 0x72, 0xb3, 0x03, 0x8b, 0x27, 0x1b, 0xff, 0x77, 0x4b, 0xbe, 0x7e, - /*1620:*/ 0x68, 0xd6, 0x2e, 0xb8, 0xf5, 0x5d, 0xc8, 0x11, 0xbc, 0x0c, 0x02, 0x88, 0xac, 0x3a, 0x3a, 0x80, - /*1630:*/ 0x6b, 0x15, 0x6f, 0xa9, 0x75, 0xc4, 0x07, 0xe2, 0x57, 0x3d, 0xda, 0xe6, 0x7e, 0x99, 0xda, 0x7e, - /*1640:*/ 0x2e, 0xe3, 0x96, 0xf3, 0xda, 0x4a, 0xda, 0x15, 0xe9, 0xee, 0x2a, 0xa2, 0xa9, 0x52, 0xd2, 0xa1, - /*1650:*/ 0x98, 0x33, 0x1f, 0x4e, 0x02, 0x1a, 0xcb, 0xaf, 0x45, 0x1c, 0x9f, 0x9f, 0xbe, 0x68, 0x6d, 0xb2, - /*1660:*/ 0x0b, 0x3d, 0x86, 0x3d, 0xf1, 0x16, 0x94, 0xf6, 0x58, 0xf4, 0x8e, 0xe2, 0x4d, 0x59, 0x9b, 0xaf, - /*1670:*/ 0x47, 0x19, 0x0c, 0xce, 0xb8, 0xeb, 0xc0, 0xe7, 0xad, 0x2d, 0xb7, 0x7f, 0x38, 0x13, 0x14, 0xd8, - /*1680:*/ 0xf1, 0x15, 0x66, 0x2e, 0xcd, 0x12, 0xda, 0x94, 0xe8, 0x59, 0x93, 0xe7, 0x9a, 0x07, 0x08, 0x1c, - /*1690:*/ 0xde, 0x3a, 0xb2, 0x64, 0xfc, 0xab, 0x04, 0xbb, 0x14, 0x25, 0x31, 0xb5, 0x24, 0x1d, 0xd8, 0x91, - /*16a0:*/ 0x00, 0x17, 0x83, 0xa7, 0x66, 0x6e, 0x38, 0x63, 0x5c, 0x04, 0x09, 0xc3, 0x1a, 0xab, 0xfa, 0x5f, - /*16b0:*/ 0x8c, 0x22, 0xcb, 0xb9, 0x0c, 0x7b, 0xdd, 0xb2, 0xc8, 0x34, 0x53, 0x6c, 0x58, 0xbb, 0x54, 0x16, - /*16c0:*/ 0x14, 0x55, 0x4f, 0x1f, 0x95, 0xba, 0x61, 0xaa, 0xb8, 0x13, 0x9f, 0xce, 0x3a, 0x9c, 0x33, 0xa8, - /*16d0:*/ 0x43, 0x52, 0xd0, 0xb3, 0xda, 0x53, 0xd8, 0x10, 0x14, 0x55, 0x01, 0xe6, 0xf6, 0x9d, 0x50, 0xe0, - /*16e0:*/ 0xca, 0x73, 0x72, 0x9c, 0xb2, 0xb0, 0xce, 0x82, 0x2d, 0x0e, 0xfb, 0x92, 0xb7, 0x8e, 0x26, 0x8c, - /*16f0:*/ 0xfb, 0xc7, 0x7f, 0x37, 0x33, 0xc5, 0xfc, 0x5c, 0x09, 0xf6, 0x9f, 0xed, 0x59, 0x7a, 0xda, 0x0a, - /*1700:*/ 0x49, 0x7f, 0xae, 0x09, 0x03, 0x88, 0x37, 0xd2, 0x28, 0x58, 0x1e, 0x55, 0x17, 0x3a, 0x19, 0xbb, - /*1710:*/ 0x12, 0x67, 0x9b, 0x27, 0x62, 0x90, 0xb5, 0x2d, 0xb8, 0x7e, 0xeb, 0x21, 0xd5, 0x9c, 0x2f, 0x1d, - /*1720:*/ 0xf1, 0x7c, 0x4e, 0x93, 0x43, 0xf9, 0x7f, 0x01, 0xea, 0xbd, 0x73, 0x52, 0x8c, 0xd8, 0x4f, 0xda, - /*1730:*/ 0x40, 0xcb, 0x04, 0x35, 0x5b, 0x28, 0x33, 0x4e, 0x98, 0x24, 0x2b, 0xb5, 0xee, 0xbf, 0x5a, 0x3b, - /*1740:*/ 0x61, 0xd9, 0x89, 0xba, 0x07, 0x22, 0x83, 0x1a, 0x6a, 0x3e, 0x09, 0x4e, 0x9a, 0x3b, 0xf1, 0x99, - /*1750:*/ 0x76, 0xa7, 0x9c, 0x1c, 0x86, 0xb8, 0x3e, 0xd1, 0x5b, 0xb9, 0x4a, 0x15, 0x57, 0x6a, 0xae, 0x87, - /*1760:*/ 0x27, 0x25, 0xff, 0x65, 0x13, 0x00, 0xb5, 0xa4, 0x0e, 0x9e, 0x4f, 0x82, 0xf6, 0x90, 0xc2, 0x9c, - /*1770:*/ 0x18, 0x62, 0x10, 0x44, 0x4b, 0xc1, 0xa2, 0x3f, 0x10, 0x47, 0x8e, 0x91, 0x1f, 0xd8, 0x9c, 0x33, - /*1780:*/ 0xfb, 0x36, 0xf8, 0x92, 0x33, 0xda, 0x31, 0xd7, 0xd7, 0x60, 0xdd, 0x81, 0x0f, 0x6e, 0x46, 0x74, - /*1790:*/ 0xae, 0x0e, 0x87, 0x64, 0x63, 0x69, 0x74, 0xef, 0x79, 0xaa, 0x5a, 0xc4, 0xeb, 0x8d, 0xa8, 0x4a, - /*17a0:*/ 0xb8, 0x27, 0x4a, 0x6a, 0x38, 0x2d, 0x03, 0xbc, 0x4e, 0xa6, 0x69, 0x7d, 0x74, 0xc2, 0xda, 0x69, - /*17b0:*/ 0x1a, 0x36, 0x61, 0x53, 0xf4, 0x86, 0x64, 0xb2, 0x54, 0x07, 0x44, 0xc2, 0xfd, 0xef, 0x77, 0xdc, - /*17c0:*/ 0xf1, 0x30, 0xc7, 0x17, 0x83, 0xfc, 0xf8, 0x08, 0x1b, 0x5d, 0x85, 0x3b, 0xba, 0x1f, 0x7e, 0x06, - /*17d0:*/ 0x0c, 0x1c, 0xa1, 0xa2, 0x4e, 0xdb, 0x64, 0x70, 0xd5, 0xac, 0x2a, 0x3b, 0xca, 0x7c, 0x49, 0xf0, - /*17e0:*/ 0x96, 0x0d, 0x47, 0x72, 0x29, 0x5b, 0xd3, 0xf0, 0x3f, 0xbc, 0x3e, 0xad, 0xa7, 0xe5, 0x2e, 0x9d, - /*17f0:*/ 0x5b, 0x35, 0x92, 0x39, 0xaf, 0xab, 0x7d, 0xdc, 0xb7, 0xaf, 0xd5, 0xcf, 0xf5, 0x91, 0x8c, 0x82, - /*1800:*/ 0x3c, 0x64, 0x1e, 0xfd, 0x95, 0x60, 0xd9, 0x36, 0x94, 0x6a, 0x1a, 0x4e, 0x90, 0x28, 0xe5, 0xb9, - /*1810:*/ 0xf6, 0x45, 0x4b, 0x6c, 0x95, 0xf7, 0xec, 0xa3, 0x4b, 0x79, 0x61, 0x6f, 0xc2, 0xa2, 0x8e, 0x62, - /*1820:*/ 0x46, 0x59, 0x52, 0xb9, 0x49, 0xd6, 0x8d, 0xbe, 0xbb, 0x49, 0x89, 0x03, 0xa8, 0xe6, 0xa2, 0xa2, - /*1830:*/ 0xd0, 0xbc, 0xd8, 0xfe, 0x4d, 0x5e, 0x7b, 0x68, 0x95, 0x51, 0x08, 0x1a, 0xb2, 0x81, 0x04, 0xcc, - /*1840:*/ 0x6a, 0xf8, 0xe8, 0xe7, 0x39, 0x54, 0x3b, 0x23, 0x2a, 0x41, 0xd0, 0x4f, 0x84, 0x49, 0xdd, 0x41, - /*1850:*/ 0xb7, 0xbe, 0x8c, 0xb1, 0xe7, 0x99, 0x47, 0xce, 0x37, 0xf6, 0x8f, 0x86, 0x88, 0x3e, 0xb0, 0xdc, - /*1860:*/ 0x46, 0x39, 0x66, 0x74, 0x1a, 0xb7, 0xc1, 0x5a, 0x42, 0x1f, 0x5f, 0x2c, 0x95, 0x8c, 0xb9, 0x4c, - /*1870:*/ 0xd3, 0x1b, 0xce, 0x11, 0x42, 0x11, 0xc7, 0x95, 0x27, 0x2c, 0x69, 0x67, 0x98, 0x54, 0x5d, 0x81, - /*1880:*/ 0xaf, 0xdb, 0xcb, 0xc6, 0x57, 0x0b, 0x96, 0xbf, 0x16, 0xfb, 0x9a, 0x8e, 0x1e, 0x4a, 0xfe, 0xcc, - /*1890:*/ 0x20, 0xfb, 0xd4, 0x5c, 0x03, 0xd8, 0x2c, 0xd7, 0xa4, 0xef, 0x03, 0x68, 0x60, 0xf4, 0xbe, 0x8f, - /*18a0:*/ 0x2a, 0x4c, 0xf8, 0x01, 0x17, 0x34, 0x40, 0xbb, 0x94, 0x5e, 0x05, 0x24, 0x48, 0x1d, 0x54, 0x7b, - /*18b0:*/ 0xc7, 0x7c, 0x89, 0xac, 0x4c, 0x8a, 0x35, 0xf9, 0xff, 0x67, 0x7a, 0x2d, 0x69, 0x57, 0x26, 0x18, - /*18c0:*/ 0x6e, 0xe2, 0x6e, 0xa7, 0x11, 0x24, 0xf0, 0xdf, 0xc7, 0x7e, 0x7f, 0x1c, 0x4c, 0x36, 0xf2, 0xb9, - /*18d0:*/ 0x8a, 0xd5, 0x6a, 0x9d, 0xae, 0xb2, 0x71, 0xcb, 0x01, 0x87, 0xc8, 0x37, 0x82, 0xab, 0x14, 0x05, - /*18e0:*/ 0x35, 0x43, 0x06, 0xb4, 0xcf, 0xda, 0x95, 0xcd, 0x3e, 0xbe, 0xb7, 0x1b, 0x81, 0x1c, 0x14, 0x98, - /*18f0:*/ 0x68, 0x56, 0xa5, 0x7d, 0xc4, 0x12, 0xb3, 0x59, 0x5a, 0x9e, 0xc3, 0x89, 0x43, 0xe7, 0x7c, 0x49, - /*1900:*/ 0x73, 0xc8, 0x70, 0x86, 0xdf, 0x28, 0x1b, 0x99, 0xc4, 0x23, 0x6d, 0xb3, 0xcb, 0x7c, 0x4f, 0xa6, - /*1910:*/ 0xbb, 0x1d, 0x18, 0x3b, 0x4b, 0x0d, 0xc8, 0x4c, 0x0c, 0x0d, 0x04, 0x0a, 0x65, 0x7e, 0x99, 0xf3, - /*1920:*/ 0x93, 0x00, 0x37, 0x55, 0x4b, 0xd3, 0xbe, 0x78, 0x7e, 0x80, 0x3e, 0xb7, 0xde, 0x0b, 0xb2, 0x79, - /*1930:*/ 0x99, 0x51, 0xa6, 0x77, 0xbb, 0xd4, 0xf0, 0x3a, 0xb6, 0xce, 0x21, 0xfb, 0xc9, 0xd5, 0x01, 0xd6, - /*1940:*/ 0x93, 0xab, 0x73, 0x5d, 0xa0, 0x5b, 0x94, 0x44, 0x75, 0x31, 0xf5, 0xcc, 0x48, 0xce, 0x9f, 0x93, - /*1950:*/ 0x2a, 0xb6, 0x5f, 0x70, 0xd4, 0x55, 0xb1, 0xc4, 0x70, 0xff, 0xe6, 0xc8, 0xb5, 0x39, 0x70, 0xf4, - /*1960:*/ 0xf5, 0xa3, 0xf0, 0x48, 0x7b, 0xe9, 0x39, 0x4c, 0x04, 0x9a, 0x27, 0xb1, 0x67, 0x70, 0x20, 0x25, - /*1970:*/ 0xb7, 0xb4, 0x0c, 0xf3, 0xfd, 0xbd, 0x35, 0x37, 0x10, 0x98, 0xe1, 0x78, 0xa0, 0x2c, 0x59, 0x17, - /*1980:*/ 0xe3, 0xaa, 0x02, 0xfd, 0xa2, 0xdf, 0xc4, 0x1a, 0xa8, 0x03, 0x2f, 0xe7, 0xf7, 0x67, 0x97, 0x9f, - /*1990:*/ 0x06, 0x6c, 0x51, 0xca, 0xb6, 0x47, 0x87, 0xb3, 0x24, 0xbb, 0x63, 0xee, 0xce, 0xbc, 0xf0, 0xbc, - /*19a0:*/ 0x52, 0x37, 0x47, 0x60, 0xfa, 0x75, 0xcb, 0x66, 0x92, 0xc0, 0x3c, 0xb6, 0xfc, 0xb5, 0x0d, 0x42, - /*19b0:*/ 0x1e, 0x29, 0x7d, 0x13, 0x9d, 0x85, 0x6c, 0x97, 0x30, 0xc3, 0x6a, 0xff, 0x50, 0x4e, 0x28, 0xf9, - /*19c0:*/ 0xc9, 0x37, 0xc2, 0x2e, 0x18, 0x41, 0xa3, 0xf7, 0x3e, 0xf5, 0x0b, 0x8f, 0xd9, 0x8a, 0xd2, 0x13, - /*19d0:*/ 0x64, 0x46, 0xdf, 0xe0, 0xae, 0x96, 0xd3, 0x54, 0xca, 0x51, 0x5e, 0xba, 0x9e, 0x27, 0xad, 0x61, - /*19e0:*/ 0x6b, 0xfd, 0x54, 0xfa, 0x56, 0x4e, 0x6a, 0x03, 0x26, 0x51, 0xe0, 0x6d, 0xea, 0x51, 0xe7, 0xb6, - /*19f0:*/ 0xe3, 0xa0, 0x03, 0x79, 0x96, 0xba, 0xf2, 0xdd, 0x95, 0xe3, 0x12, 0x65, 0xe5, 0xb1, 0x05, 0x0e, - /*1a00:*/ 0x1a, 0x2e, 0x68, 0x63, 0x60, 0x69, 0x38, 0xa9, 0xa3, 0x33, 0x60, 0x10, 0xbc, 0xd4, 0x09, 0xf8, - /*1a10:*/ 0x74, 0x9d, 0x64, 0x0b, 0x0b, 0x79, 0x12, 0x11, 0xde, 0xd5, 0x31, 0x83, 0x5d, 0xe4, 0x33, 0x9e, - /*1a20:*/ 0xa4, 0x29, 0x9e, 0x03, 0xa4, 0xd9, 0xda, 0x56, 0x86, 0x83, 0x1d, 0xd2, 0x77, 0x3f, 0xa8, 0xf8, - /*1a30:*/ 0xaf, 0x1b, 0xbd, 0xf4, 0xb6, 0xd6, 0x51, 0xfc, 0x5a, 0xe3, 0x35, 0xcb, 0xf4, 0x4e, 0x47, 0xe3, - /*1a40:*/ 0x7f, 0xb0, 0x26, 0x68, 0x71, 0xb1, 0xb2, 0x26, 0xad, 0x53, 0xb7, 0x16, 0x47, 0x03, 0xcb, 0xb7, - /*1a50:*/ 0x3b, 0x66, 0xe3, 0x9e, 0x64, 0x38, 0x26, 0xfd, 0xac, 0x07, 0x91, 0x5a, 0xf3, 0x93, 0x32, 0x40, - /*1a60:*/ 0xae, 0x2e, 0x51, 0x13, 0xfa, 0xc0, 0xa5, 0xf2, 0x2e, 0x01, 0x5b, 0xcc, 0x0f, 0x03, 0x61, 0x57, - /*1a70:*/ 0x3f, 0xbb, 0xab, 0x01, 0x05, 0x6f, 0x5b, 0xe3, 0x55, 0x8f, 0xfd, 0x78, 0x52, 0x6f, 0x7b, 0x58, - /*1a80:*/ 0x2c, 0x97, 0x7f, 0xc6, 0x47, 0xc5, 0xf3, 0x94, 0x7c, 0x9a, 0x84, 0x6d, 0x5b, 0xc4, 0x52, 0x05, - /*1a90:*/ 0x21, 0xd2, 0xcc, 0x9c, 0x55, 0x1b, 0x78, 0xbb, 0xb3, 0x0e, 0x0d, 0xe6, 0xa2, 0x19, 0x52, 0x1e, - /*1aa0:*/ 0xb6, 0xf5, 0x79, 0x0e, 0xdd, 0x02, 0x95, 0x6b, 0xfc, 0x2b, 0x7d, 0xa2, 0xca, 0x95, 0xfb, 0xeb, - /*1ab0:*/ 0xc2, 0xa8, 0x8b, 0xab, 0xa3, 0xac, 0x02, 0xbd, 0x94, 0xeb, 0x57, 0x55, 0xc6, 0x39, 0x31, 0x9f, - /*1ac0:*/ 0x32, 0xcc, 0x6f, 0xf1, 0x4d, 0xde, 0xe4, 0x7c, 0xc2, 0x8e, 0x20, 0x1e, 0x65, 0x49, 0x24, 0x2e, - /*1ad0:*/ 0x59, 0x2f, 0x90, 0x91, 0xe3, 0x04, 0xef, 0xe8, 0x88, 0x78, 0x89, 0x6d, 0xb9, 0x22, 0x3b, 0x8d, - /*1ae0:*/ 0x78, 0xee, 0xf3, 0xe0, 0x2a, 0xd2, 0x15, 0xb6, 0xdf, 0xd6, 0x7a, 0xf8, 0x6c, 0x09, 0xc1, 0x62, - /*1af0:*/ 0x45, 0x75, 0x15, 0x4e, 0xb0, 0x2c, 0xfa, 0x3a, 0x65, 0xac, 0xa9, 0xb5, 0x88, 0xf4, 0x4f, 0x71, - /*1b00:*/ 0xa6, 0xab, 0xcb, 0x1a, 0x31, 0xcc, 0x12, 0x20, 0x13, 0x71, 0x74, 0x33, 0xd6, 0x4e, 0x15, 0x97, - /*1b10:*/ 0x50, 0x49, 0xcd, 0xcc, 0xf7, 0x89, 0x10, 0xa9, 0xc9, 0x4d, 0xb8, 0xd1, 0xae, 0x66, 0x93, 0x2d, - /*1b20:*/ 0x4a, 0x3d, 0x44, 0xb1, 0xf3, 0xdf, 0xc6, 0x88, 0xee, 0x8c, 0x6f, 0x51, 0x58, 0xc8, 0x82, 0x36, - /*1b30:*/ 0xf8, 0x2b, 0xc2, 0x68, 0x85, 0x50, 0x4f, 0xba, 0xc3, 0x7b, 0xab, 0x67, 0x81, 0x54, 0x0d, 0x19, - /*1b40:*/ 0x6e, 0x4f, 0x46, 0x74, 0x81, 0x47, 0xd1, 0x31, 0xb8, 0xb3, 0xa1, 0x65, 0x3b, 0x9d, 0xcc, 0xa7, - /*1b50:*/ 0x9c, 0x30, 0x63, 0x71, 0x7c, 0xf6, 0xbe, 0x24, 0x95, 0x04, 0x99, 0x21, 0xc0, 0x03, 0xba, 0x2d, - /*1b60:*/ 0x2d, 0xfc, 0xd9, 0xcc, 0x33, 0x78, 0xa3, 0xe0, 0x58, 0xa3, 0xc2, 0x0b, 0x9b, 0xf2, 0x25, 0xb0, - /*1b70:*/ 0x41, 0x58, 0x32, 0x87, 0x3a, 0x65, 0x1e, 0xfc, 0x25, 0x23, 0x47, 0x8b, 0x75, 0x60, 0xd9, 0x33, - /*1b80:*/ 0x37, 0xcf, 0x9a, 0x65, 0x59, 0xa3, 0xa8, 0xd6, 0x90, 0x61, 0x37, 0xff, 0xcd, 0xeb, 0xbe, 0x80, - /*1b90:*/ 0xdf, 0xa7, 0x49, 0xe3, 0xb0, 0x3a, 0x14, 0x5e, 0xec, 0x26, 0xe8, 0x7a, 0x71, 0xa0, 0xf5, 0x3b, - /*1ba0:*/ 0x9f, 0xcf, 0x66, 0x53, 0x06, 0x0e, 0xb2, 0x01, 0x2f, 0x66, 0x2b, 0x9c, 0x3f, 0x04, 0x18, 0xc3, - /*1bb0:*/ 0xdf, 0x86, 0x12, 0xff, 0xc4, 0xb9, 0x72, 0x5f, 0xd7, 0xa0, 0x2f, 0x1f, 0xd4, 0x3e, 0x4d, 0x8a, - /*1bc0:*/ 0x8c, 0xfa, 0x73, 0xac, 0x1d, 0xc7, 0x8c, 0x0f, 0x2a, 0x2f, 0x22, 0xfa, 0x10, 0x6e, 0xdb, 0x7c, - /*1bd0:*/ 0xe0, 0x1c, 0x7b, 0x21, 0x05, 0xf5, 0xff, 0x91, 0xcd, 0xc4, 0xac, 0x79, 0xa8, 0x60, 0x08, 0x8c, - /*1be0:*/ 0x2f, 0x21, 0x5e, 0x5d, 0xbd, 0x2d, 0x8b, 0xa7, 0x7a, 0x8f, 0xf6, 0x06, 0x29, 0x12, 0x33, 0xb6, - /*1bf0:*/ 0xef, 0x21, 0xe4, 0x6d, 0x14, 0xc9, 0x7e, 0x68, 0xd9, 0xfb, 0x8e, 0x8d, 0x41, 0x71, 0xc9, 0x66, - /*1c00:*/ 0x37, 0xe4, 0xc4, 0x65, 0x45, 0x93, 0x82, 0x93, 0xae, 0x52, 0xb9, 0xe0, 0xba, 0x2b, 0xc7, 0xfe, - /*1c10:*/ 0x56, 0xd3, 0x2e, 0x71, 0x4b, 0xd0, 0x40, 0x68, 0x9f, 0xd2, 0xf4, 0xb3, 0x55, 0x88, 0xb2, 0x92, - /*1c20:*/ 0xe0, 0xcb, 0x9e, 0xee, 0x93, 0x22, 0x01, 0xeb, 0xf2, 0x46, 0xca, 0xef, 0xcd, 0x91, 0xd0, 0x75, - /*1c30:*/ 0x14, 0xd7, 0x7c, 0x25, 0x07, 0x9c, 0x5e, 0xa9, 0xe1, 0x0f, 0xbc, 0xfe, 0xed, 0x47, 0xf6, 0x5c, - /*1c40:*/ 0xfa, 0x56, 0x6d, 0xdd, 0x2c, 0x2b, 0x76, 0x7d, 0x93, 0x1f, 0x6f, 0x19, 0x76, 0x3a, 0x3a, 0x34, - /*1c50:*/ 0xcf, 0xac, 0x64, 0x53, 0x8f, 0xcc, 0x89, 0x43, 0x90, 0xe6, 0xf0, 0x3a, 0x82, 0x5a, 0x9f, 0x76, - /*1c60:*/ 0xb0, 0x65, 0x16, 0xee, 0xf4, 0x3b, 0x36, 0x20, 0xc7, 0xec, 0xc0, 0x49, 0xf2, 0x53, 0x0e, 0xc5, - /*1c70:*/ 0x3b, 0x8d, 0x0f, 0xbe, 0x2a, 0xda, 0xf0, 0xb6, 0x43, 0x1b, 0x30, 0xf4, 0x56, 0xe4, 0x42, 0x29, - /*1c80:*/ 0x2b, 0x1d, 0xb0, 0x8f, 0x8c, 0x00, 0x28, 0x3a, 0x68, 0xc0, 0xf2, 0x86, 0x5a, 0xe6, 0x82, 0x81, - /*1c90:*/ 0xfa, 0x6b, 0x45, 0xa2, 0x25, 0x47, 0xb1, 0x62, 0x78, 0xa4, 0x33, 0x2a, 0x56, 0x23, 0xd3, 0x33, - /*1ca0:*/ 0x70, 0x07, 0xe8, 0x9a, 0xb2, 0x56, 0x06, 0xef, 0xe3, 0x2c, 0x0c, 0xac, 0xe6, 0xdc, 0x95, 0x58, - /*1cb0:*/ 0x14, 0xeb, 0x34, 0x3f, 0xd7, 0x45, 0xbc, 0x5f, 0xae, 0x99, 0x17, 0xc8, 0x16, 0x38, 0x3d, 0xbc, - /*1cc0:*/ 0x73, 0x2b, 0x71, 0x1e, 0xbc, 0xce, 0xe2, 0xd9, 0x63, 0xf1, 0x24, 0xc1, 0x61, 0xa8, 0xd9, 0xf7, - /*1cd0:*/ 0xd3, 0x26, 0x00, 0x48, 0x7a, 0x5b, 0xd8, 0xf6, 0xd9, 0x3f, 0xa8, 0x07, 0xb5, 0xb7, 0xd0, 0x88, - /*1ce0:*/ 0x50, 0x1d, 0x8d, 0xe2, 0xd6, 0x2a, 0x6d, 0xa9, 0x0b, 0x6a, 0xd2, 0xc8, 0x16, 0x17, 0xe7, 0xe6, - /*1cf0:*/ 0xc0, 0x78, 0x2a, 0x21, 0x39, 0x96, 0x0b, 0x3e, 0xd4, 0x2a, 0x90, 0x13, 0x71, 0xa9, 0x2f, 0x1e, - /*1d00:*/ 0xba, 0x66, 0x42, 0xf5, 0x88, 0x95, 0x5c, 0x03, 0x2d, 0x90, 0x4e, 0x6a, 0x51, 0x37, 0x8b, 0xf7, - /*1d10:*/ 0xc1, 0xaa, 0x23, 0x6a, 0xb7, 0xa8, 0x04, 0x78, 0xa9, 0xae, 0x69, 0xcb, 0xc5, 0xf5, 0x90, 0x63, - /*1d20:*/ 0xc3, 0x95, 0x7c, 0x70, 0xff, 0x39, 0xd6, 0x52, 0x26, 0xd4, 0x69, 0x9b, 0xfe, 0x88, 0xad, 0x07, - /*1d30:*/ 0xdb, 0x76, 0xfe, 0x06, 0x48, 0x36, 0x14, 0xa9, 0x5f, 0xb5, 0xfe, 0xf0, 0x71, 0x0a, 0x81, 0x88, - /*1d40:*/ 0x3a, 0x6e, 0x56, 0xe6, 0x11, 0xbc, 0xf1, 0x3b, 0xf3, 0xa6, 0x5a, 0x71, 0x80, 0xbc, 0xee, 0x87, - /*1d50:*/ 0x88, 0x41, 0x03, 0x5e, 0x57, 0x26, 0x4f, 0xde, 0x92, 0xc5, 0xf8, 0xc1, 0x1f, 0x87, 0x7f, 0xd0, - /*1d60:*/ 0x4c, 0xe1, 0x4d, 0xcd, 0x74, 0xd0, 0x39, 0x5e, 0x01, 0xf4, 0x9f, 0xc4, 0x87, 0x33, 0x93, 0x99, - /*1d70:*/ 0xb9, 0x78, 0x81, 0x50, 0xa6, 0x11, 0xe1, 0x9b, 0x70, 0x8e, 0x89, 0x63, 0x7b, 0xba, 0xe7, 0x45, - /*1d80:*/ 0xdf, 0xf2, 0xdd, 0x79, 0x9b, 0x1b, 0x57, 0x21, 0x94, 0x94, 0x9e, 0x8a, 0x16, 0x37, 0x91, 0x68, - /*1d90:*/ 0xc0, 0xb1, 0x75, 0x7a, 0xa4, 0xc1, 0x34, 0x58, 0xe4, 0xa4, 0x68, 0xf4, 0xb4, 0xc0, 0xc8, 0xec, - /*1da0:*/ 0x56, 0x07, 0x3a, 0xe3, 0xbc, 0xe8, 0x5c, 0x81, 0x6b, 0x9a, 0xd8, 0xa9, 0x95, 0x90, 0x0d, 0xfd, - /*1db0:*/ 0x11, 0xfc, 0x73, 0x51, 0x3e, 0x16, 0xfc, 0x53, 0x47, 0xf5, 0xec, 0x7a, 0xa9, 0xea, 0x85, 0x5f, - /*1dc0:*/ 0x4d, 0x39, 0xd6, 0xa5, 0xbb, 0x68, 0x4d, 0x21, 0x99, 0x80, 0x65, 0xa1, 0xcd, 0x05, 0xd1, 0x6b, - /*1dd0:*/ 0x20, 0x5d, 0x96, 0x8b, 0x93, 0xd5, 0x1b, 0x10, 0x46, 0x57, 0xc4, 0xad, 0xce, 0xed, 0x82, 0x0c, - /*1de0:*/ 0xc9, 0x8c, 0xc8, 0x16, 0xc4, 0x23, 0x5c, 0x6c, 0x43, 0x5c, 0xb2, 0x29, 0x8b, 0xa0, 0x27, 0x79, - /*1df0:*/ 0xd9, 0x5e, 0x9b, 0x19, 0x08, 0x81, 0x76, 0xaf, 0x0c, 0xc3, 0x54, 0x20, 0x31, 0x74, 0x5a, 0x04, - /*1e00:*/ 0x26, 0xfd, 0xa4, 0x2d, 0x1e, 0x86, 0xd1, 0x14, 0xd4, 0x26, 0x0e, 0xc5, 0x6d, 0x7c, 0x3c, 0x10, - /*1e10:*/ 0x19, 0x70, 0xef, 0xc4, 0x28, 0x54, 0x54, 0xe0, 0x19, 0xfe, 0x27, 0x02, 0x5c, 0xa5, 0x08, 0xe7, - /*1e20:*/ 0xc0, 0xc8, 0x9f, 0x3e, 0x0d, 0x40, 0x8b, 0x04, 0x4e, 0xe5, 0xf5, 0x8d, 0xb3, 0x61, 0x46, 0x5a, - /*1e30:*/ 0xb0, 0x27, 0x52, 0xc8, 0xe1, 0x0e, 0xe1, 0x2b, 0x69, 0x03, 0x7b, 0xc1, 0x1e, 0x9b, 0x8a, 0x25, - /*1e40:*/ 0x33, 0x0c, 0x76, 0x0e, 0x42, 0x3c, 0xdd, 0x39, 0x4b, 0x97, 0xde, 0x69, 0x30, 0x50, 0xb0, 0x93, - /*1e50:*/ 0x41, 0x08, 0x91, 0x92, 0x0f, 0xfc, 0x4f, 0xfa, 0xc7, 0xd0, 0xcb, 0x9a, 0x06, 0x4f, 0xa3, 0xf1, - /*1e60:*/ 0x04, 0x98, 0x40, 0x92, 0x22, 0x43, 0xd5, 0x9a, 0x96, 0x75, 0xab, 0x63, 0x55, 0xc9, 0x42, 0xff, - /*1e70:*/ 0x36, 0x13, 0x75, 0xd3, 0xd9, 0x76, 0x1d, 0x94, 0x32, 0xd1, 0x6c, 0xce, 0xaf, 0xd5, 0xcf, 0x2d, - /*1e80:*/ 0x58, 0x14, 0x0c, 0xe5, 0x85, 0xc2, 0xb1, 0xd2, 0x1b, 0xcf, 0xae, 0xd9, 0xab, 0xfd, 0x40, 0x06, - /*1e90:*/ 0xf6, 0x8f, 0x5e, 0x58, 0x7d, 0xe5, 0x0e, 0x4d, 0x70, 0x39, 0xd6, 0x28, 0x77, 0x50, 0x93, 0xec, - /*1ea0:*/ 0x07, 0x87, 0x98, 0x2c, 0x89, 0xec, 0x79, 0xfb, 0x32, 0x01, 0x59, 0xc6, 0xa3, 0x65, 0x68, 0x93, - /*1eb0:*/ 0xe4, 0x2e, 0x3d, 0xeb, 0x95, 0xd0, 0xa6, 0xe9, 0x92, 0x3c, 0x9a, 0xcd, 0x87, 0x5b, 0xe6, 0xe6, - /*1ec0:*/ 0xf9, 0x0e, 0x7b, 0x93, 0xa4, 0xc5, 0xe5, 0xa4, 0x51, 0x5b, 0x78, 0x42, 0xd3, 0x0f, 0xd4, 0xf0, - /*1ed0:*/ 0xb7, 0xbb, 0x82, 0x65, 0x41, 0xf6, 0x30, 0xe4, 0xc9, 0x63, 0xb9, 0x6f, 0xc9, 0xb1, 0xce, 0x42, - /*1ee0:*/ 0x72, 0x08, 0xf2, 0x09, 0x3a, 0x37, 0xee, 0x74, 0xd7, 0xb7, 0xc5, 0xb2, 0xe2, 0x9d, 0x5a, 0xc1, - /*1ef0:*/ 0x6f, 0xaf, 0x83, 0xda, 0x90, 0xa6, 0x6c, 0x5c, 0x2e, 0x2c, 0x23, 0x23, 0xba, 0xc3, 0xc5, 0x5b, - /*1f00:*/ 0x29, 0x4c, 0x93, 0xb3, 0xf4, 0xe2, 0xe5, 0xfa, 0xda, 0x2a, 0x08, 0xe2, 0xef, 0x1f, 0x0b, 0x21, - /*1f10:*/ 0xc8, 0xf0, 0x6e, 0xd0, 0xf8, 0x65, 0x74, 0x4e, 0x02, 0x1c, 0xf8, 0x45, 0x52, 0xfc, 0x17, 0x99, - /*1f20:*/ 0x9e, 0x2d, 0x45, 0x0a, 0xc1, 0x10, 0xdc, 0xed, 0x6d, 0x02, 0x1d, 0xcc, 0xc7, 0x6c, 0xee, 0x81, - /*1f30:*/ 0xf3, 0x5d, 0xb7, 0xd3, 0x45, 0x9e, 0x76, 0x34, 0xe8, 0x4a, 0x14, 0x69, 0x23, 0xe3, 0x95, 0x32, - /*1f40:*/ 0xb2, 0x17, 0x4f, 0xd4, 0x6a, 0x7f, 0x74, 0x31, 0xcd, 0x8f, 0xce, 0x74, 0xc3, 0xf2, 0xc9, 0x93, - /*1f50:*/ 0x09, 0xe7, 0x0c, 0x54, 0xd8, 0xc1, 0x21, 0xae, 0xb9, 0x85, 0x85, 0xc3, 0x0f, 0x40, 0x55, 0xb1, - /*1f60:*/ 0xf3, 0x5c, 0x68, 0x6a, 0xdd, 0x77, 0xef, 0x5c, 0xac, 0x96, 0x1a, 0xed, 0xea, 0xd1, 0xa5, 0x3e, - /*1f70:*/ 0x1a, 0xbf, 0xa4, 0x9e, 0xd0, 0x3c, 0x14, 0x27, 0xc5, 0x00, 0x99, 0x64, 0x8d, 0xf8, 0xda, 0x46, - /*1f80:*/ 0x3e, 0x21, 0x27, 0x57, 0x22, 0xb8, 0x34, 0xb5, 0x9a, 0x7f, 0x6d, 0x91, 0x57, 0xa2, 0x30, 0xa2, - /*1f90:*/ 0x3e, 0x09, 0xd7, 0x96, 0x5d, 0xad, 0x51, 0x87, 0x88, 0x5a, 0x83, 0x92, 0x45, 0xd0, 0x48, 0x1c, - /*1fa0:*/ 0xe5, 0x14, 0xd8, 0x7e, 0x5b, 0x85, 0xc5, 0xb9, 0x0a, 0x64, 0x9c, 0x5e, 0x99, 0x63, 0xcb, 0x75, - /*1fb0:*/ 0x07, 0xa2, 0xbe, 0x59, 0x9f, 0xa7, 0x61, 0xe6, 0xea, 0x77, 0xc0, 0x71, 0xc0, 0xab, 0xda, 0x71, - /*1fc0:*/ 0xa5, 0x55, 0xa0, 0x46, 0x12, 0xf8, 0x80, 0xed, 0x54, 0xd6, 0x62, 0xff, 0xcf, 0xe2, 0x3d, 0xcc, - /*1fd0:*/ 0x4f, 0xec, 0xcd, 0xb7, 0x77, 0xc8, 0xf4, 0x49, 0x2a, 0xa6, 0x08, 0xb3, 0x25, 0x40, 0xf3, 0x01, - /*1fe0:*/ 0xaa, 0x7b, 0x4f, 0x60, 0x18, 0x02, 0x52, 0xc3, 0xdf, 0x84, 0xbb, 0xc7, 0xe1, 0x9d, 0x79, 0x3e, - /*1ff0:*/ 0x26, 0xd7, 0x05, 0x0a, 0x13, 0xa8, 0x4a, 0x8a, 0x4b, 0xa4, 0xcb, 0x5d, 0x12, 0x1d, 0x11, 0x2b, - /*2000:*/ 0xbf, 0xa5, 0xd4, 0x8b, 0xf5, 0x96, 0xbf, 0x7d, 0xdf, 0xc2, 0x43, 0xa1, 0xe1, 0x3a, 0xc5, 0x3f, - /*2010:*/ 0x89, 0xe0, 0xf9, 0x3c, 0x97, 0x1f, 0x9e, 0xae, 0x7e, 0xa1, 0x93, 0x0e, 0x06, 0x88, 0x27, 0xcd, - /*2020:*/ 0x32, 0x2c, 0x95, 0x7e, 0x48, 0x23, 0xdd, 0x83, 0xf6, 0x5c, 0x64, 0xab, 0x2a, 0x7f, 0xce, 0xa4, - /*2030:*/ 0xd9, 0xe9, 0x6f, 0x08, 0x1f, 0x0d, 0xd4, 0xa7, 0xa5, 0xc9, 0x05, 0x0c, 0x73, 0x27, 0x34, 0x44, - /*2040:*/ 0x4b, 0x94, 0x4a, 0x2a, 0xae, 0xbd, 0x39, 0x29, 0xa7, 0xe9, 0x0d, 0xea, 0xb5, 0x7a, 0xa2, 0x10, - /*2050:*/ 0x5d, 0xde, 0x80, 0xe6, 0xd3, 0x3a, 0x33, 0xd1, 0x41, 0x45, 0x52, 0x05, 0xcd, 0x0b, 0x91, 0xb7, - /*2060:*/ 0x0a, 0xa6, 0x9b, 0xb7, 0xef, 0xea, 0x14, 0x28, 0x6a, 0x2a, 0x3d, 0x10, 0x98, 0xa5, 0x7e, 0x63, - /*2070:*/ 0xea, 0x90, 0x16, 0x86, 0x24, 0x60, 0xfe, 0x99, 0x4c, 0x1f, 0x9d, 0xd2, 0x15, 0xb8, 0x0a, 0xa5, - /*2080:*/ 0x9c, 0x7b, 0x13, 0x82, 0x80, 0x33, 0x71, 0xcf, 0x7f, 0x10, 0x1b, 0x4f, 0xd4, 0xb3, 0xb1, 0x56, - /*2090:*/ 0x5f, 0x2a, 0xc6, 0x79, 0x02, 0x34, 0xe2, 0x14, 0x95, 0x29, 0x70, 0xf1, 0xb4, 0x2a, 0x8f, 0xa6, - /*20a0:*/ 0x86, 0xdb, 0x73, 0xd5, 0xdc, 0x73, 0x53, 0x4a, 0x79, 0xb4, 0xc8, 0x95, 0xc6, 0x96, 0xf3, 0xbd, - /*20b0:*/ 0xda, 0xac, 0x50, 0x94, 0xd9, 0x81, 0x3b, 0x10, 0xbb, 0xc0, 0x5a, 0x16, 0x23, 0x5e, 0xaf, 0x13, - /*20c0:*/ 0xca, 0x02, 0xb0, 0xfb, 0x47, 0x54, 0x53, 0x93, 0x8b, 0x1f, 0xe6, 0x73, 0x28, 0x80, 0xdc, 0x97, - /*20d0:*/ 0x5f, 0xf2, 0x7e, 0x99, 0xa5, 0x9e, 0x10, 0x13, 0x98, 0x02, 0x4b, 0x68, 0x3e, 0xae, 0x03, 0x5a, - /*20e0:*/ 0xfb, 0x33, 0xec, 0x61, 0xdc, 0x04, 0x06, 0xff, 0x36, 0x8a, 0x47, 0xe0, 0xad, 0xf9, 0x5a, 0xca, - /*20f0:*/ 0x59, 0xac, 0xcc, 0x0c, 0x4f, 0x20, 0x8e, 0xa6, 0x58, 0x17, 0xc0, 0x46, 0x5c, 0xce, 0xc5, 0x4c, - /*2100:*/ 0xb4, 0xe3, 0x36, 0x5f, 0x5a, 0x0e, 0x89, 0x64, 0xd7, 0x30, 0x7c, 0x76, 0x78, 0xf1, 0x9b, 0x55, - /*2110:*/ 0x74, 0xcb, 0xcd, 0x67, 0xf1, 0x65, 0x45, 0x20, 0xb3, 0x3b, 0xf3, 0xda, 0x8d, 0x6b, 0x85, 0x45, - /*2120:*/ 0xe4, 0x2e, 0xf7, 0xac, 0x82, 0xde, 0x37, 0x67, 0x5e, 0xca, 0x40, 0x0d, 0xfe, 0x3f, 0x92, 0x4d, - /*2130:*/ 0xd8, 0x8f, 0x2e, 0xb3, 0x8e, 0x55, 0xde, 0x15, 0x2c, 0x97, 0x7a, 0x64, 0x0d, 0x9c, 0x9a, 0x12, - /*2140:*/ 0x6e, 0x86, 0xc6, 0x55, 0x05, 0x31, 0x22, 0x99, 0xc1, 0x5b, 0x69, 0xe9, 0xb8, 0x20, 0x16, 0x8d, - /*2150:*/ 0x46, 0x50, 0x7b, 0xdc, 0x49, 0xf2, 0x1c, 0x63, 0x7b, 0x9c, 0x2c, 0x81, 0x79, 0x47, 0xba, 0x12, - /*2160:*/ 0x30, 0x03, 0x96, 0x03, 0x07, 0xca, 0x58, 0xf3, 0x95, 0x91, 0x5d, 0x21, 0x65, 0x6d, 0x96, 0x3f, - /*2170:*/ 0x55, 0xee, 0x0a, 0xbc, 0xc9, 0xbb, 0x7d, 0x04, 0x22, 0x7f, 0x89, 0xb1, 0xc3, 0x4f, 0xbf, 0xc7, - /*2180:*/ 0xf0, 0xa0, 0x3b, 0x89, 0x93, 0xbe, 0x4b, 0xc4, 0x47, 0x96, 0x17, 0x2c, 0xd1, 0x42, 0xf1, 0xbb, - /*2190:*/ 0xd1, 0xc9, 0xb0, 0x6d, 0xe6, 0xda, 0x55, 0x7c, 0x9c, 0x33, 0x54, 0xc4, 0x40, 0x08, 0xa1, 0x35, - /*21a0:*/ 0xa2, 0xf6, 0xe2, 0xa4, 0xba, 0xfc, 0x7d, 0x12, 0xec, 0x38, 0xd6, 0x19, 0x5c, 0x15, 0xaa, 0x99, - /*21b0:*/ 0x22, 0xc1, 0x7c, 0xaa, 0xb2, 0xe7, 0x69, 0x09, 0xde, 0x2a, 0xf7, 0x28, 0x52, 0x7a, 0x2a, 0x60, - /*21c0:*/ 0xda, 0xc7, 0xfc, 0xe4, 0x1f, 0x59, 0xf5, 0x8e, 0x79, 0x06, 0xb2, 0xff, 0x96, 0xa6, 0x66, 0x4a, - /*21d0:*/ 0x9f, 0x3b, 0x31, 0x69, 0xc5, 0x04, 0x0a, 0x4c, 0xb4, 0x86, 0xf6, 0x24, 0x60, 0xee, 0x8d, 0x68, - /*21e0:*/ 0xae, 0x4f, 0xfc, 0x09, 0xa2, 0x0a, 0xce, 0x97, 0x0c, 0xe2, 0xc5, 0xff, 0x40, 0x17, 0x0c, 0x9e, - /*21f0:*/ 0x47, 0xef, 0x21, 0xc4, 0x53, 0x07, 0xa6, 0xf6, 0x94, 0x30, 0x93, 0x46, 0x43, 0xd1, 0x7e, 0xa9, - /*2200:*/ 0x46, 0x88, 0xbb, 0x82, 0xb2, 0x73, 0x08, 0xf6, 0xd2, 0x82, 0xe8, 0xb2, 0xab, 0xbe, 0x01, 0x3a, - /*2210:*/ 0x6c, 0xf5, 0x9c, 0x50, 0x07, 0x43, 0xcc, 0x4e, 0x0d, 0xc4, 0xce, 0x6c, 0xfe, 0xf5, 0x1f, 0xef, - /*2220:*/ 0x00, 0x2b, 0xd3, 0x49, 0xee, 0x27, 0xfb, 0xd0, 0xcf, 0xeb, 0x12, 0x59, 0x81, 0x52, 0xdc, 0x4d, - /*2230:*/ 0xf2, 0xd3, 0xfa, 0x1f, 0xce, 0x6b, 0xe6, 0xa6, 0xe3, 0xaf, 0x40, 0x06, 0xe5, 0x0c, 0x6d, 0xc6, - /*2240:*/ 0xb8, 0x85, 0x92, 0xed, 0xcd, 0x82, 0xda, 0x2f, 0x37, 0x5f, 0x01, 0x13, 0x44, 0xad, 0x76, 0x67, - /*2250:*/ 0x82, 0xc7, 0x20, 0xe9, 0x81, 0x22, 0xe9, 0x56, 0xd7, 0x9d, 0x33, 0xd3, 0x86, 0xb4, 0x61, 0xb6, - /*2260:*/ 0xdf, 0x45, 0x1c, 0x3a, 0xbf, 0x0b, 0xec, 0x21, 0x13, 0xce, 0xaf, 0xdf, 0x6d, 0xf2, 0x6c, 0xef, - /*2270:*/ 0x71, 0x35, 0x6d, 0xbd, 0xfa, 0x96, 0x63, 0xa6, 0x15, 0xe6, 0xa3, 0x77, 0xc0, 0x5b, 0xfb, 0xf5, - /*2280:*/ 0x5d, 0x48, 0xd0, 0xc5, 0x1d, 0x32, 0x18, 0x46, 0x8b, 0x96, 0xfd, 0x86, 0x3b, 0xe2, 0x00, 0x15, - /*2290:*/ 0xc7, 0x7b, 0x55, 0x5f, 0xe9, 0x8f, 0x56, 0x8d, 0x65, 0xbf, 0xef, 0x9c, 0x3b, 0x09, 0x5a, 0xb8, - /*22a0:*/ 0xba, 0x1d, 0x38, 0x43, 0x12, 0x70, 0x4e, 0xd5, 0x55, 0x6b, 0xa1, 0x62, 0x3c, 0x99, 0xbc, 0x55, - /*22b0:*/ 0xd0, 0x03, 0x69, 0xae, 0xa9, 0x3f, 0x82, 0x10, 0x2b, 0xf0, 0x06, 0xc5, 0x7a, 0xd6, 0xe8, 0x3f, - /*22c0:*/ 0xb9, 0xe6, 0x9e, 0x35, 0xd2, 0x20, 0x16, 0x36, 0x54, 0x8b, 0x73, 0x50, 0xcd, 0x78, 0x22, 0xd6, - /*22d0:*/ 0x17, 0xd0, 0x0c, 0xb6, 0x2a, 0xcb, 0xc5, 0x2a, 0xd5, 0xe2, 0x20, 0x02, 0x96, 0x13, 0xd3, 0x26, - /*22e0:*/ 0x92, 0x73, 0xca, 0x5f, 0xa9, 0x54, 0xd3, 0xfb, 0xad, 0xa9, 0x80, 0x91, 0x17, 0xdd, 0x2c, 0x6b, - /*22f0:*/ 0x45, 0x45, 0x13, 0x11, 0xaf, 0x7d, 0xe5, 0xa3, 0x25, 0x0d, 0xd4, 0x3c, 0xdf, 0x32, 0xcb, 0xb0, - /*2300:*/ 0xc9, 0xc7, 0xd8, 0x43, 0xaf, 0x21, 0x28, 0xb3, 0x72, 0xb1, 0xaf, 0x38, 0x5a, 0x3b, 0xb5, 0x64, - /*2310:*/ 0x00, 0x5e, 0x9d, 0x87, 0x35, 0x7f, 0x50, 0x05, 0x50, 0xdc, 0x94, 0xc2, 0xf1, 0x43, 0x10, 0xb4, - /*2320:*/ 0x88, 0x98, 0x66, 0xf9, 0x58, 0xe5, 0xeb, 0x65, 0xee, 0x21, 0x9f, 0x3c, 0xe3, 0x77, 0x2c, 0xe0, - /*2330:*/ 0x90, 0xc7, 0x79, 0xd2, 0x13, 0x4e, 0x12, 0x67, 0x3c, 0xe6, 0xb5, 0x38, 0x04, 0xac, 0xdb, 0xf5, - /*2340:*/ 0xa6, 0x48, 0x04, 0xe1, 0x8b, 0x99, 0x40, 0xb6, 0x79, 0x19, 0xa8, 0xb1, 0xe4, 0xb2, 0xff, 0xb7, - /*2350:*/ 0x25, 0x35, 0xe9, 0x96, 0x06, 0xa2, 0xec, 0xbb, 0x46, 0x17, 0xd0, 0x06, 0xec, 0x90, 0xfb, 0xb3, - /*2360:*/ 0x47, 0xe4, 0xe6, 0x95, 0x12, 0xd7, 0xa6, 0x70, 0xcb, 0x83, 0x5e, 0x52, 0x17, 0xcf, 0xd3, 0xaf, - /*2370:*/ 0x9a, 0xfa, 0xe1, 0xaa, 0x1d, 0xb5, 0x59, 0xb3, 0x2c, 0x7a, 0xa1, 0x69, 0xe0, 0x7d, 0x3f, 0x6b, - /*2380:*/ 0xfc, 0x17, 0x03, 0xb1, 0x6d, 0x10, 0x14, 0x5e, 0xc6, 0x96, 0x56, 0x0d, 0xa3, 0x1a, 0x80, 0xe6, - /*2390:*/ 0x4e, 0x9b, 0xbc, 0x2a, 0x36, 0x5b, 0x14, 0xcf, 0xc1, 0xe5, 0xc5, 0x60, 0xcf, 0xb0, 0x93, 0xe4, - /*23a0:*/ 0x9c, 0xa3, 0xf5, 0x40, 0xfe, 0x70, 0xf7, 0xe7, 0x56, 0x1c, 0x39, 0xbf, 0xb8, 0x2c, 0x94, 0x37, - /*23b0:*/ 0x2c, 0x5a, 0x98, 0xd4, 0x4a, 0xf8, 0x87, 0x9d, 0xb0, 0x70, 0x5f, 0xa9, 0xf8, 0x0a, 0x4b, 0x17, - /*23c0:*/ 0x61, 0x6d, 0x09, 0xb8, 0xe7, 0x4b, 0x96, 0x6d, 0xef, 0x04, 0x76, 0x3c, 0x77, 0x5d, 0xe7, 0xfa, - /*23d0:*/ 0xb3, 0xb8, 0x46, 0x59, 0x1a, 0xce, 0x27, 0xfe, 0x3a, 0xcf, 0x80, 0x82, 0xe8, 0xe5, 0xa9, 0x3e, - /*23e0:*/ 0xdb, 0x75, 0xb7, 0x00, 0x3b, 0xe6, 0x48, 0xa9, 0xa8, 0xf6, 0xcf, 0x96, 0xda, 0x40, 0x90, 0xd6, - /*23f0:*/ 0x96, 0x76, 0xc4, 0x0b, 0x5d, 0x39, 0x11, 0xd4, 0x0a, 0x97, 0x03, 0x38, 0x75, 0x4f, 0xa3, 0x8f, - /*2400:*/ 0x9d, 0x21, 0xca, 0xba, 0xa9, 0xa8, 0xbc, 0x50, 0xf8, 0xa6, 0x54, 0xd7, 0xa3, 0x3c, 0xc2, 0x31, - /*2410:*/ 0x6c, 0x41, 0xeb, 0xa4, 0xe9, 0x7a, 0x82, 0xd9, 0xcc, 0x78, 0xdc, 0xaf, 0x2d, 0x8f, 0xca, 0xa4, - /*2420:*/ 0x9e, 0x5c, 0x5f, 0x13, 0xe5, 0x53, 0xe3, 0x6f, 0x7a, 0x81, 0x58, 0x39, 0x0b, 0x00, 0x60, 0x6b, - /*2430:*/ 0x7a, 0x7c, 0x4a, 0xe3, 0x09, 0xf2, 0xc2, 0xe2, 0x8a, 0x02, 0x08, 0x5b, 0xfc, 0x9f, 0xc1, 0xb2, - /*2440:*/ 0x6c, 0x0c, 0x6d, 0x4f, 0x94, 0x15, 0xe5, 0x90, 0x8b, 0x26, 0x42, 0x37, 0x42, 0x9b, 0x00, 0xc2, - /*2450:*/ 0x01, 0x4a, 0xe0, 0x12, 0xa0, 0x83, 0xd0, 0x6f, 0xfa, 0x3e, 0x31, 0x0d, 0x86, 0xea, 0xf0, 0x62, - /*2460:*/ 0x58, 0xc9, 0x6e, 0x80, 0x3c, 0x25, 0xe5, 0x35, 0x5b, 0x88, 0xa9, 0x98, 0xfe, 0x37, 0x79, 0x81, - /*2470:*/ 0xe4, 0x76, 0x64, 0x0f, 0xf1, 0x20, 0x05, 0x13, 0x80, 0x19, 0x58, 0x6d, 0xe8, 0xe6, 0xaa, 0x87, - /*2480:*/ 0xc7, 0x41, 0x9b, 0xaa, 0x98, 0x3d, 0xf8, 0xb2, 0x20, 0xe4, 0xf5, 0xa4, 0x12, 0xbd, 0xf4, 0xa3, - /*2490:*/ 0xc8, 0x15, 0xd9, 0xc4, 0x23, 0x32, 0x0a, 0x46, 0x73, 0x5c, 0x70, 0xef, 0x5e, 0xcb, 0x0b, 0x1d, - /*24a0:*/ 0x41, 0x9d, 0x12, 0xad, 0x1e, 0x2d, 0xb5, 0x8a, 0x27, 0x91, 0x0a, 0xd8, 0x9a, 0xab, 0x14, 0x3d, - /*24b0:*/ 0xc6, 0x95, 0x88, 0x76, 0x8c, 0xef, 0x34, 0xde, 0xf1, 0xb8, 0x23, 0x57, 0x0a, 0x1c, 0x12, 0x43, - /*24c0:*/ 0x71, 0xc4, 0xdf, 0x52, 0xed, 0x7f, 0xe9, 0x79, 0x08, 0x7c, 0x6c, 0x20, 0x24, 0x80, 0x36, 0xd6, - /*24d0:*/ 0x5b, 0xac, 0x04, 0xad, 0x73, 0x53, 0xb4, 0x38, 0x77, 0xd8, 0x80, 0xc9, 0xe6, 0x27, 0x94, 0x7c, - /*24e0:*/ 0x49, 0x74, 0xc1, 0xa5, 0x04, 0xaa, 0x0e, 0x9f, 0xe0, 0xbd, 0x09, 0x41, 0x79, 0x9e, 0x32, 0x87, - /*24f0:*/ 0x19, 0xb3, 0x88, 0xeb, 0xc4, 0x24, 0x4b, 0x6d, 0xdc, 0x41, 0x8b, 0x58, 0x2c, 0x0e, 0xc3, 0xbe, - /*2500:*/ 0x7e, 0x2e, 0xbc, 0xb7, 0xc2, 0x44, 0xa5, 0xb5, 0x9e, 0xe9, 0xc0, 0x43, 0x1c, 0xc8, 0xc6, 0x78, - /*2510:*/ 0xfc, 0xfe, 0x83, 0x1a, 0x5b, 0x29, 0x2f, 0x6f, 0xba, 0x66, 0xf4, 0x75, 0x26, 0x8a, 0x03, 0x2f, - /*2520:*/ 0x5b, 0xca, 0x95, 0x79, 0x02, 0xc3, 0xd7, 0x95, 0x31, 0xd9, 0x47, 0x04, 0x4c, 0x19, 0x20, 0x75, - /*2530:*/ 0x35, 0x93, 0x49, 0xb7, 0x76, 0x85, 0x03, 0x6a, 0xc8, 0x47, 0x0a, 0x16, 0x6a, 0x20, 0x50, 0xf0, - /*2540:*/ 0xc2, 0xd3, 0xa7, 0x24, 0xed, 0x97, 0x4c, 0x5d, 0x30, 0x8b, 0x04, 0x6e, 0xc5, 0xf7, 0xde, 0x05, - /*2550:*/ 0x46, 0x62, 0x8f, 0x8f, 0xeb, 0x8c, 0xcd, 0x15, 0xd0, 0xf4, 0x9f, 0x3b, 0x08, 0xcf, 0x0c, 0x11, - /*2560:*/ 0x01, 0xbd, 0xb6, 0x5b, 0x60, 0x46, 0xf8, 0xdb, 0x78, 0x4d, 0x6e, 0xeb, 0xc5, 0x50, 0x4a, 0x28, - /*2570:*/ 0x0b, 0xd0, 0x54, 0x56, 0xe4, 0x5d, 0x21, 0x06, 0x43, 0x55, 0x05, 0x1a, 0xa7, 0x0f, 0x2f, 0xa8, - /*2580:*/ 0x76, 0x17, 0x90, 0x85, 0xe7, 0x9a, 0x34, 0xed, 0x1b, 0x16, 0xd1, 0x14, 0x4a, 0x2b, 0xc9, 0x0b, - /*2590:*/ 0x78, 0x80, 0xb1, 0x37, 0xea, 0x38, 0x59, 0x40, 0x42, 0x97, 0x57, 0x1f, 0xc0, 0x33, 0x74, 0xc0, - /*25a0:*/ 0x0c, 0xa0, 0x75, 0xc9, 0x31, 0x7c, 0xed, 0xca, 0x11, 0x9a, 0x8e, 0x7d, 0x98, 0x83, 0xaa, 0x31, - /*25b0:*/ 0x87, 0x86, 0x3e, 0x32, 0x2f, 0x8a, 0x93, 0xb4, 0x90, 0x2c, 0xd9, 0x16, 0xab, 0xaa, 0x3e, 0x2f, - /*25c0:*/ 0xb7, 0xa7, 0x9c, 0xea, 0x27, 0x84, 0xc8, 0xb2, 0xa7, 0x1f, 0xbe, 0xfa, 0x24, 0x13, 0xd0, 0xfe, - /*25d0:*/ 0x3e, 0x1a, 0xe5, 0x39, 0x11, 0x47, 0xc7, 0xbb, 0x8c, 0x5f, 0xa0, 0x6b, 0x0c, 0x85, 0x7b, 0x06, - /*25e0:*/ 0xce, 0x86, 0x19, 0x61, 0x81, 0xa3, 0xa2, 0x0f, 0xe6, 0x23, 0xe8, 0x19, 0x36, 0xb7, 0xd8, 0x74, - /*25f0:*/ 0xd3, 0xaf, 0x53, 0x08, 0x9d, 0x1a, 0xd1, 0xb2, 0x63, 0xa8, 0xaa, 0x49, 0x6c, 0xfe, 0x16, 0x33, - /*2600:*/ 0x3f, 0xde, 0x1c, 0xd0, 0x53, 0x29, 0x3e, 0x54, 0xa5, 0x74, 0x8b, 0xe8, 0x35, 0x6a, 0x97, 0x92, - /*2610:*/ 0x76, 0x54, 0xf6, 0x76, 0x65, 0x83, 0xab, 0x67, 0x9a, 0x0e, 0xaa, 0x89, 0xe9, 0x6b, 0xfb, 0xe6, - /*2620:*/ 0xae, 0x20, 0xa6, 0x2d, 0xf4, 0x13, 0x4a, 0x63, 0xa0, 0xd0, 0x31, 0xfd, 0xd6, 0x79, 0x72, 0x64, - /*2630:*/ 0x24, 0xec, 0x11, 0x14, 0x55, 0x6b, 0x16, 0xe0, 0x73, 0x22, 0xf0, 0x2e, 0xaf, 0xd1, 0xd0, 0x21, - /*2640:*/ 0xf6, 0xd3, 0x81, 0x1f, 0xf4, 0x18, 0x3e, 0x05, 0xb0, 0x29, 0x07, 0x7a, 0xcc, 0xde, 0x53, 0xc0, - /*2650:*/ 0x29, 0xf5, 0xc3, 0x85, 0xcd, 0x50, 0x5f, 0xff, 0xa8, 0x6a, 0x2e, 0xb6, 0x5f, 0xa2, 0xd0, 0x6f, - /*2660:*/ 0x4b, 0xd5, 0x90, 0xe5, 0x3e, 0x3c, 0x31, 0x2e, 0x50, 0x43, 0x9c, 0x65, 0x0e, 0x5e, 0xe8, 0x31, - /*2670:*/ 0xb7, 0x8a, 0x82, 0xc4, 0x31, 0xd2, 0x63, 0x57, 0x70, 0x8e, 0x14, 0x83, 0x15, 0x36, 0xa8, 0xcb, - /*2680:*/ 0xad, 0x22, 0x22, 0x3a, 0x58, 0x20, 0xf6, 0x36, 0xf8, 0x10, 0xaf, 0x03, 0x5d, 0xb9, 0x5b, 0xfa, - /*2690:*/ 0xd3, 0x86, 0x61, 0xae, 0x4c, 0x30, 0x93, 0xd7, 0x3a, 0x2a, 0xe9, 0x4a, 0xc2, 0xa9, 0x49, 0x50, - /*26a0:*/ 0x08, 0xbb, 0x5b, 0xaa, 0xbd, 0xae, 0x74, 0x0b, 0x0e, 0x7d, 0x5a, 0x67, 0x5c, 0x61, 0xa3, 0x77, - /*26b0:*/ 0xd9, 0xa5, 0x1d, 0x60, 0xd3, 0x14, 0xd2, 0xdf, 0x24, 0xe9, 0x0f, 0xe3, 0x3c, 0xa3, 0x48, 0xd4, - /*26c0:*/ 0xec, 0xd4, 0xb4, 0x7f, 0x18, 0x30, 0xf5, 0xa0, 0x8b, 0xcb, 0xb7, 0x93, 0xdf, 0x5a, 0xf7, 0x66, - /*26d0:*/ 0x66, 0xd2, 0x06, 0x1a, 0x24, 0x40, 0xd8, 0x01, 0x07, 0x0b, 0x2d, 0xb1, 0xa6, 0x03, 0x76, 0x5c, - /*26e0:*/ 0x61, 0x27, 0xa4, 0x55, 0xc6, 0xfd, 0x36, 0x67, 0xdf, 0xca, 0x76, 0x4c, 0xe6, 0xa8, 0x6e, 0x8d, - /*26f0:*/ 0x33, 0x06, 0x65, 0xb3, 0x0c, 0x00, 0xe2, 0x30, 0x47, 0x6f, 0x8b, 0x1e, 0xc2, 0x75, 0xb2, 0x46, - /*2700:*/ 0xd6, 0x94, 0xd4, 0xb2, 0x46, 0x5e, 0xab, 0x90, 0xec, 0xf2, 0x82, 0x86, 0x13, 0x96, 0xd6, 0xad, - /*2710:*/ 0xc1, 0xfa, 0xa8, 0xb0, 0xb7, 0xce, 0x1d, 0xd3, 0x5c, 0xf3, 0x53, 0xea, 0xc4, 0xc8, 0xa4, 0xda, - /*2720:*/ 0x40, 0x11, 0xcd, 0x71, 0x9c, 0x17, 0xc0, 0x73, 0x1f, 0xf9, 0xdc, 0xce, 0x3c, 0xe1, 0x3a, 0x81, - /*2730:*/ 0xae, 0xb4, 0x16, 0xc6, 0x04, 0xfa, 0xa8, 0x52, 0x6b, 0xaf, 0x5b, 0x77, 0x04, 0x45, 0x9c, 0xda, - /*2740:*/ 0x36, 0xb5, 0xc0, 0x75, 0x6d, 0x91, 0x38, 0xc9, 0xdd, 0x75, 0x52, 0xca, 0x60, 0xb1, 0x73, 0x0e, - /*2750:*/ 0xf4, 0xe8, 0x80, 0x33, 0x82, 0xc3, 0xf4, 0x36, 0x7e, 0xcc, 0x09, 0x50, 0x0f, 0x85, 0xf4, 0x60, - /*2760:*/ 0xce, 0xa7, 0x12, 0x89, 0xea, 0x02, 0x05, 0xc0, 0xc2, 0xdc, 0xb3, 0x8f, 0xcf, 0x93, 0xea, 0x59, - /*2770:*/ 0xa7, 0x7f, 0x54, 0x3d, 0xf8, 0xe4, 0x33, 0x3a, 0xea, 0x56, 0x7a, 0x0a, 0xf6, 0x50, 0x27, 0xa9, - /*2780:*/ 0x15, 0x8a, 0x06, 0x59, 0x27, 0x13, 0x6b, 0x64, 0x50, 0xc1, 0xe5, 0xb5, 0x2b, 0x9a, 0x9b, 0xa7, - /*2790:*/ 0xfe, 0xd7, 0x1f, 0x0b, 0xb7, 0x71, 0x6d, 0x96, 0x17, 0x55, 0x7c, 0x71, 0x92, 0x52, 0xf7, 0x6d, - /*27a0:*/ 0x44, 0x03, 0x67, 0x2f, 0x5d, 0xa8, 0xf1, 0x4c, 0x2a, 0x97, 0xc0, 0x0c, 0x90, 0xe7, 0x92, 0xe9, - /*27b0:*/ 0xa9, 0x63, 0xc3, 0x51, 0x4f, 0xce, 0xc0, 0xcc, 0xff, 0x05, 0x33, 0x90, 0xec, 0x94, 0x7a, 0x2b, - /*27c0:*/ 0xf2, 0xbc, 0xb7, 0x6c, 0xb4, 0x05, 0xb2, 0x73, 0x39, 0xc6, 0x69, 0x12, 0xd4, 0x61, 0x6a, 0x52, - /*27d0:*/ 0x87, 0xa7, 0x96, 0x1d, 0x30, 0x9d, 0xc2, 0x1e, 0x01, 0xe4, 0x92, 0xda, 0x5b, 0x12, 0xb9, 0x2a, - /*27e0:*/ 0xc3, 0x90, 0x04, 0x87, 0x1d, 0x37, 0x91, 0xe5, 0x14, 0x53, 0x52, 0xb3, 0x26, 0x92, 0x7f, 0x93, - /*27f0:*/ 0xe5, 0x20, 0xb4, 0x6e, 0x2a, 0xe0, 0x90, 0xea, 0x69, 0xa0, 0x9e, 0x86, 0xd5, 0x1c, 0xff, 0x93, - /*2800:*/ 0xea, 0x67, 0x64, 0x54, 0x80, 0xc9, 0x12, 0x4a, 0xd3, 0xfb, 0xee, 0x61, 0xfe, 0x9c, 0x28, 0x32, - /*2810:*/ 0x34, 0x01, 0xf0, 0x6e, 0xf9, 0xf3, 0xf7, 0xf1, 0x13, 0x56, 0xe0, 0x8b, 0x80, 0xd4, 0xc9, 0x67, - /*2820:*/ 0x30, 0x67, 0x31, 0x89, 0xdf, 0x9d, 0x43, 0x9f, 0xfb, 0x9f, 0x50, 0x83, 0xb4, 0xf2, 0xd2, 0x56, - /*2830:*/ 0xcf, 0xd9, 0x25, 0x24, 0xe8, 0x1c, 0x8f, 0x1c, 0x3c, 0x92, 0x95, 0x03, 0xf1, 0xef, 0xc3, 0x5a, - /*2840:*/ 0x49, 0x90, 0x4f, 0x0e, 0x70, 0x5d, 0x31, 0xce, 0x34, 0xa9, 0xc1, 0xfb, 0x2f, 0x96, 0x43, 0xcf, - /*2850:*/ 0xaa, 0x90, 0x53, 0x84, 0xa3, 0x30, 0xd8, 0x41, 0x3c, 0xaf, 0xf2, 0x3c, 0xa8, 0x7a, 0x2e, 0xdd, - /*2860:*/ 0x48, 0x80, 0x4e, 0xc8, 0x17, 0x81, 0xc0, 0x12, 0x15, 0x5b, 0x25, 0x9a, 0xba, 0xdb, 0xba, 0xe4, - /*2870:*/ 0xf6, 0x74, 0xbd, 0xcb, 0x64, 0xeb, 0xd1, 0x91, 0xa4, 0xa1, 0x17, 0xf9, 0x91, 0xa0, 0x48, 0x7a, - /*2880:*/ 0x25, 0x38, 0xbd, 0x57, 0xd9, 0xb5, 0x24, 0x57, 0x50, 0x9c, 0xe2, 0xbb, 0x47, 0x98, 0xd5, 0xce, - /*2890:*/ 0x13, 0x7b, 0x2d, 0xf9, 0x45, 0x70, 0x9d, 0xa5, 0x4c, 0x4a, 0xc4, 0x66, 0x3b, 0x72, 0xec, 0xd5, - /*28a0:*/ 0x43, 0x09, 0xe9, 0x83, 0x3b, 0x46, 0xcb, 0x4c, 0x25, 0x00, 0x4f, 0xa4, 0x89, 0x95, 0xee, 0xa0, - /*28b0:*/ 0xce, 0x94, 0xc9, 0xdf, 0xab, 0x9c, 0x1f, 0xf1, 0x12, 0x74, 0xc9, 0xb1, 0xa1, 0xa7, 0x76, 0xfe, - /*28c0:*/ 0x78, 0x4a, 0x39, 0x53, 0xe1, 0x0e, 0x78, 0xd5, 0xb5, 0x5e, 0x07, 0x18, 0x1b, 0xcf, 0xfb, 0xa5, - /*28d0:*/ 0x86, 0xb8, 0xc8, 0xb8, 0xc6, 0xaf, 0x13, 0x16, 0xc9, 0x20, 0x1b, 0x08, 0x75, 0x16, 0x06, 0x0f, - /*28e0:*/ 0x04, 0xc8, 0xa4, 0x39, 0x43, 0x7c, 0x8f, 0xd5, 0x2b, 0x11, 0x52, 0xaf, 0x24, 0x4f, 0x6f, 0xc7, - /*28f0:*/ 0xbf, 0x94, 0xb5, 0xd6, 0xd8, 0x77, 0xca, 0x1b, 0xb7, 0x2c, 0x8b, 0x80, 0x62, 0x79, 0xf6, 0x25, - /*2900:*/ 0x9a, 0xec, 0x2c, 0x02, 0x90, 0x12, 0xab, 0xd1, 0x29, 0x97, 0x08, 0x84, 0x5b, 0x9e, 0xe5, 0x22, - /*2910:*/ 0x65, 0x45, 0x65, 0x18, 0xa1, 0x2e, 0xa6, 0x05, 0x23, 0x32, 0x4e, 0x46, 0x05, 0x39, 0xa0, 0xbf, - /*2920:*/ 0x43, 0x58, 0x50, 0xac, 0x21, 0xfd, 0x92, 0x3a, 0xd6, 0xf9, 0x90, 0xae, 0x33, 0xac, 0x8c, 0xdd, - /*2930:*/ 0x81, 0x79, 0x96, 0x2c, 0x04, 0xc8, 0x75, 0x91, 0x6c, 0x2b, 0x81, 0x1c, 0x9a, 0x70, 0xf8, 0x83, - /*2940:*/ 0x4a, 0xd6, 0x1a, 0x70, 0x56, 0x04, 0xcf, 0xc5, 0x51, 0x98, 0x6f, 0x05, 0xe6, 0x3b, 0xe9, 0xca, - /*2950:*/ 0xd1, 0xb6, 0xbd, 0xc4, 0xff, 0xc5, 0x88, 0xea, 0xf6, 0xdf, 0xc1, 0xb6, 0x88, 0x97, 0x5c, 0x37, - /*2960:*/ 0xf1, 0xfe, 0xeb, 0x7b, 0xbe, 0x02, 0x2f, 0xbb, 0xba, 0x3c, 0xdc, 0x82, 0xd3, 0xe5, 0x4f, 0x3b, - /*2970:*/ 0x7a, 0xef, 0x1a, 0x68, 0x1a, 0x6d, 0x48, 0xc4, 0xac, 0x55, 0x68, 0x01, 0xc4, 0x18, 0x0a, 0x8b, - /*2980:*/ 0xce, 0x7e, 0xf6, 0xbe, 0xba, 0xbc, 0xb8, 0xa7, 0xdb, 0x4a, 0x1f, 0x5b, 0x9b, 0x40, 0x43, 0x52, - /*2990:*/ 0xcc, 0x22, 0xc0, 0xa7, 0xde, 0x89, 0xc3, 0x09, 0xef, 0x02, 0xe4, 0x27, 0x24, 0x2d, 0x7b, 0x51, - /*29a0:*/ 0x8e, 0xe2, 0x3d, 0x5e, 0xe3, 0xb5, 0x42, 0x6c, 0xf7, 0x21, 0x5d, 0xa2, 0x92, 0x3a, 0x90, 0xd9, - /*29b0:*/ 0x2e, 0xda, 0x52, 0x05, 0xe1, 0x8a, 0xdc, 0x79, 0x69, 0x4b, 0xa2, 0x17, 0x60, 0x2b, 0x19, 0xc5, - /*29c0:*/ 0x3d, 0xd1, 0x66, 0xad, 0x67, 0x2e, 0x9b, 0xb3, 0x75, 0xed, 0x94, 0xad, 0x80, 0x36, 0x1f, 0x28, - /*29d0:*/ 0x5e, 0x1a, 0xef, 0x59, 0x6d, 0xea, 0xef, 0xe6, 0xcc, 0x83, 0xbb, 0x3a, 0x18, 0xc4, 0x05, 0x4d, - /*29e0:*/ 0x0e, 0x80, 0xcc, 0x8f, 0xc0, 0x97, 0x63, 0xed, 0xb5, 0xde, 0xb3, 0xe1, 0xf9, 0x6d, 0x19, 0x0c, - /*29f0:*/ 0xc1, 0x83, 0x5a, 0xe7, 0x90, 0xf7, 0x4a, 0x2a, 0xb9, 0xc3, 0xac, 0x2d, 0xdc, 0x4f, 0x5a, 0x16, - /*2a00:*/ 0xaf, 0xbc, 0xdf, 0x9b, 0x2d, 0x1c, 0x4f, 0x95, 0x8b, 0xcd, 0x16, 0x5f, 0x6a, 0x9b, 0xa9, 0xab, - /*2a10:*/ 0x39, 0xdb, 0x06, 0x9a, 0x1e, 0x48, 0x36, 0x31, 0x11, 0xde, 0x2f, 0xf8, 0x0c, 0x6e, 0xaf, 0xac, - /*2a20:*/ 0x9c, 0x5b, 0x01, 0x21, 0xf4, 0xff, 0xa0, 0x31, 0x49, 0xf7, 0xf2, 0x55, 0x99, 0xba, 0x44, 0x7b, - /*2a30:*/ 0xb5, 0x6d, 0x01, 0x7a, 0xef, 0xbd, 0xce, 0xdb, 0x1a, 0xe8, 0xb9, 0x49, 0x21, 0x24, 0x82, 0x9c, - /*2a40:*/ 0xeb, 0x3a, 0x65, 0xd8, 0xd8, 0x74, 0xcb, 0x3a, 0x4a, 0x54, 0x98, 0xb4, 0x78, 0x63, 0xba, 0x9f, - /*2a50:*/ 0x2a, 0xfc, 0x35, 0x37, 0xb5, 0x7e, 0x96, 0xf7, 0xc6, 0xfa, 0x18, 0xf0, 0x79, 0x06, 0x5f, 0x56, - /*2a60:*/ 0xd4, 0x71, 0xb6, 0x69, 0x9c, 0x7b, 0x14, 0x4c, 0x73, 0xfe, 0x00, 0xd4, 0xae, 0x8a, 0x6d, 0x42, - /*2a70:*/ 0x51, 0x55, 0x68, 0x1f, 0xeb, 0x88, 0x0a, 0x98, 0x95, 0xcd, 0x20, 0x30, 0x22, 0x6d, 0x29, 0x25, - /*2a80:*/ 0x85, 0xf5, 0x61, 0xfb, 0x82, 0xa2, 0x6f, 0x27, 0x6e, 0x8a, 0x21, 0x51, 0xff, 0xac, 0xb4, 0x09, - /*2a90:*/ 0x17, 0xd7, 0x64, 0xb2, 0x1b, 0xef, 0x00, 0x67, 0x69, 0xfb, 0x86, 0xaa, 0x10, 0x6a, 0x4f, 0x86, - /*2aa0:*/ 0x09, 0x45, 0x21, 0xa0, 0x81, 0x5f, 0x2c, 0x03, 0x5d, 0xc4, 0xd2, 0x64, 0xf6, 0xf1, 0x2c, 0xc1, - /*2ab0:*/ 0xf7, 0x14, 0x8e, 0x70, 0x18, 0xee, 0xd8, 0xea, 0x79, 0x9b, 0x95, 0x88, 0xbf, 0x7d, 0xc0, 0x38, - /*2ac0:*/ 0x4a, 0x6f, 0x7c, 0x0f, 0xc3, 0x6c, 0x05, 0xb0, 0x02, 0x7b, 0x6e, 0xf8, 0x7d, 0xf6, 0xed, 0xa1, - /*2ad0:*/ 0x0b, 0xc1, 0xc4, 0xa6, 0x9e, 0xd6, 0xf0, 0x9d, 0x71, 0x23, 0xc4, 0xb4, 0x84, 0xc4, 0x2a, 0x78, - /*2ae0:*/ 0x98, 0x1a, 0xb0, 0x36, 0xf3, 0x97, 0x0c, 0xc6, 0xa5, 0x03, 0x11, 0xb7, 0x27, 0x3d, 0x48, 0x74, - /*2af0:*/ 0x56, 0x50, 0x58, 0xac, 0x3a, 0x16, 0xfe, 0xec, 0xbb, 0xc3, 0xa3, 0x8b, 0xf3, 0x9c, 0x92, 0x0f, - /*2b00:*/ 0xf7, 0x8b, 0x47, 0x9b, 0xc2, 0xdb, 0x41, 0x45, 0xd5, 0x40, 0x7c, 0xfa, 0x8a, 0x41, 0xdf, 0x2a, - /*2b10:*/ 0x91, 0xb1, 0xaf, 0x36, 0x9a, 0xcd, 0x83, 0xaa, 0x70, 0xb3, 0x0f, 0x7f, 0x54, 0xd1, 0xc7, 0x27, - /*2b20:*/ 0x54, 0xd5, 0xc4, 0x53, 0x56, 0xa3, 0x7c, 0x37, 0x19, 0xeb, 0xba, 0x83, 0x04, 0x43, 0xba, 0x88, - /*2b30:*/ 0xc9, 0x7d, 0xf1, 0x9a, 0x9f, 0x2e, 0x21, 0x9c, 0x05, 0xad, 0xaf, 0x48, 0xb8, 0x84, 0xf2, 0x04, - /*2b40:*/ 0xeb, 0x28, 0x90, 0x6e, 0x00, 0xce, 0xd0, 0x8f, 0x52, 0xd3, 0x3e, 0xb0, 0xa7, 0xfd, 0x18, 0x3e, - /*2b50:*/ 0x84, 0x1b, 0x3b, 0x61, 0xe3, 0xe7, 0x19, 0x90, 0x6c, 0x14, 0x62, 0x35, 0x07, 0xb8, 0x6f, 0x18, - /*2b60:*/ 0x0d, 0x9b, 0x22, 0x93, 0x39, 0x18, 0x8a, 0x2e, 0xfd, 0x5f, 0x51, 0x9a, 0x44, 0x4e, 0x42, 0x6f, - /*2b70:*/ 0xb1, 0xd9, 0x6b, 0x17, 0x28, 0xfa, 0xd8, 0x61, 0x70, 0x58, 0x88, 0x90, 0xb3, 0xc8, 0x7e, 0x33, - /*2b80:*/ 0xe7, 0x28, 0x98, 0x3d, 0xb0, 0x85, 0xaa, 0xe2, 0xbb, 0x79, 0xbf, 0x13, 0x64, 0xbc, 0x3c, 0x3f, - /*2b90:*/ 0xa8, 0x42, 0x20, 0xa4, 0x22, 0x5d, 0x76, 0x5f, 0x9f, 0x7b, 0x13, 0x71, 0xef, 0xde, 0x3a, 0x37, - /*2ba0:*/ 0xe9, 0xc4, 0xb8, 0xf0, 0xca, 0xd1, 0xa7, 0x77, 0xec, 0xaf, 0x14, 0x41, 0x77, 0x00, 0x6e, 0x02, - /*2bb0:*/ 0xef, 0xc2, 0xd8, 0xe3, 0x32, 0x5b, 0x17, 0x9d, 0x7a, 0x5c, 0xa6, 0x8e, 0x44, 0x23, 0x9c, 0x3f, - /*2bc0:*/ 0x68, 0x09, 0xf3, 0xba, 0x8a, 0xf6, 0x6f, 0x73, 0x76, 0xa1, 0x02, 0x1b, 0x8b, 0xbc, 0x34, 0xf6, - /*2bd0:*/ 0x18, 0x58, 0xf2, 0xed, 0x6b, 0xaf, 0x67, 0xe2, 0x5c, 0x2f, 0x0e, 0xb4, 0xcf, 0x41, 0x82, 0x75, - /*2be0:*/ 0x62, 0xbb, 0x0a, 0x2d, 0x9f, 0xe8, 0xbe, 0xcd, 0x4f, 0x43, 0xb1, 0xd7, 0x0c, 0x15, 0xe0, 0x7c, - /*2bf0:*/ 0x14, 0x93, 0x79, 0x4f, 0x0e, 0x42, 0x91, 0x0c, 0x9f, 0x82, 0x17, 0xa6, 0x5c, 0x03, 0x32, 0x35, - /*2c00:*/ 0xa1, 0xa9, 0x81, 0x63, 0xbd, 0x4d, 0xce, 0x93, 0xcc, 0xe7, 0x50, 0xbc, 0x31, 0x5d, 0xa2, 0xb0, - /*2c10:*/ 0x0b, 0xa1, 0xef, 0x72, 0xa6, 0x41, 0x58, 0xbf, 0x81, 0x4b, 0x5f, 0xb6, 0x0f, 0xc9, 0x15, 0xae, - /*2c20:*/ 0x54, 0xb5, 0xa4, 0x35, 0x0b, 0x9c, 0x04, 0xe6, 0x02, 0xb2, 0x81, 0x68, 0x7e, 0x6e, 0xc4, 0x9a, - /*2c30:*/ 0x40, 0xb3, 0x66, 0x5e, 0x11, 0x65, 0x87, 0x16, 0xa3, 0xa7, 0x59, 0xc6, 0xab, 0x39, 0x62, 0xf5, - /*2c40:*/ 0x60, 0x18, 0x7a, 0x68, 0x18, 0x12, 0xf3, 0x73, 0x86, 0x57, 0xcc, 0xb4, 0x9d, 0x6b, 0x4a, 0xb3, - /*2c50:*/ 0xbf, 0xd5, 0x6a, 0x4b, 0x51, 0x9e, 0xbc, 0xd3, 0xe3, 0x36, 0x4f, 0xd1, 0x8e, 0xd7, 0xfd, 0x95, - /*2c60:*/ 0x4f, 0x5b, 0x78, 0x89, 0xda, 0x08, 0x8f, 0x9e, 0x65, 0x8f, 0xaf, 0xc2, 0x24, 0x31, 0x6f, 0x5b, - /*2c70:*/ 0xb3, 0x95, 0xad, 0x14, 0x23, 0xb9, 0x53, 0x89, 0xac, 0x6a, 0xc1, 0xfe, 0xe4, 0x11, 0x92, 0xb3, - /*2c80:*/ 0x0a, 0xf6, 0x04, 0xb8, 0xea, 0xb0, 0xb9, 0x3f, 0xc0, 0x68, 0x3c, 0xea, 0x87, 0x68, 0xcd, 0xcd, - /*2c90:*/ 0x66, 0xdd, 0x89, 0x78, 0x16, 0xb6, 0x9c, 0xe1, 0xda, 0x9f, 0x3d, 0xa3, 0x09, 0x61, 0x69, 0x3a, - /*2ca0:*/ 0x89, 0x89, 0xca, 0xfd, 0x2a, 0xa8, 0x92, 0x22, 0x26, 0x29, 0xde, 0x6a, 0x24, 0xc1, 0xa8, 0xaa, - /*2cb0:*/ 0xca, 0x5a, 0x33, 0x7e, 0x11, 0x5a, 0x24, 0xd8, 0xaa, 0xd0, 0xb6, 0x2e, 0x99, 0x49, 0x25, 0x5b, - /*2cc0:*/ 0x5d, 0xfa, 0x2d, 0x7b, 0xda, 0xef, 0x7b, 0xd6, 0xe6, 0x5c, 0x4f, 0x7b, 0x17, 0xa9, 0x72, 0x6b, - /*2cd0:*/ 0x43, 0xbb, 0x05, 0x09, 0x92, 0x21, 0x88, 0xa6, 0x3f, 0xf3, 0x9b, 0x6e, 0xc7, 0x65, 0xec, 0x4d, - /*2ce0:*/ 0x3d, 0xf2, 0x84, 0x1c, 0x09, 0x2f, 0x54, 0xb8, 0x31, 0x51, 0xee, 0xcf, 0xe7, 0x04, 0xa6, 0xe7, - /*2cf0:*/ 0x0b, 0x5d, 0xfa, 0xc4, 0xde, 0xe2, 0xe9, 0xba, 0x07, 0xa4, 0xb1, 0x8c, 0x03, 0xee, 0x66, 0x6d, - /*2d00:*/ 0xc3, 0x73, 0xfb, 0x04, 0xe9, 0x30, 0x8e, 0x35, 0xe4, 0x67, 0x2f, 0x81, 0xba, 0x1e, 0xea, 0x12, - /*2d10:*/ 0x48, 0x40, 0xf5, 0x60, 0xef, 0x47, 0x1d, 0x73, 0xcd, 0xc1, 0xcc, 0xc4, 0x37, 0xfb, 0xdf, 0x32, - /*2d20:*/ 0xc5, 0xc0, 0xce, 0xce, 0xf9, 0x21, 0x11, 0xf5, 0x37, 0xe5, 0x64, 0xa2, 0xe2, 0x06, 0x87, 0xaf, - /*2d30:*/ 0xf7, 0x1a, 0x3a, 0x58, 0x75, 0x98, 0xbb, 0x6e, 0xed, 0x7e, 0xb9, 0x79, 0xc8, 0xcb, 0x99, 0xb2, - /*2d40:*/ 0xbb, 0xc7, 0xe3, 0x50, 0x1c, 0x71, 0x9e, 0xba, 0x81, 0x1f, 0xbd, 0xde, 0x12, 0x70, 0xcb, 0xf8, - /*2d50:*/ 0x9c, 0x3b, 0x26, 0x2e, 0x79, 0xfe, 0x61, 0x55, 0xe1, 0xfa, 0xd4, 0x92, 0x89, 0xe0, 0xb5, 0xdb, - /*2d60:*/ 0x11, 0xad, 0xb2, 0x37, 0x62, 0x18, 0x0f, 0x4c, 0xce, 0x1e, 0x1a, 0x6c, 0x18, 0x8b, 0x06, 0x12, - /*2d70:*/ 0xf2, 0x06, 0x34, 0x01, 0x05, 0x6a, 0x48, 0x99, 0x34, 0xad, 0xfa, 0xb4, 0xed, 0xb8, 0x42, 0xff, - /*2d80:*/ 0xa6, 0xef, 0x9b, 0x70, 0x74, 0x56, 0xb1, 0x3e, 0xa7, 0x0c, 0xad, 0x76, 0x55, 0xcb, 0xbd, 0x15, - /*2d90:*/ 0x9a, 0x83, 0xca, 0x58, 0x42, 0x4e, 0x8a, 0x02, 0x5d, 0x76, 0xf2, 0xff, 0xff, 0x9a, 0x98, 0xf0, - /*2da0:*/ 0xb4, 0xac, 0x44, 0x86, 0x85, 0x9c, 0xfd, 0x85, 0xb7, 0x10, 0x6c, 0xce, 0xc4, 0xd2, 0x9f, 0xe9, - /*2db0:*/ 0xcc, 0x0c, 0xa6, 0x15, 0xf8, 0xf8, 0x4a, 0x26, 0x89, 0x1e, 0x2a, 0x8e, 0x56, 0x19, 0x6a, 0x17, - /*2dc0:*/ 0x93, 0xd1, 0x83, 0x74, 0xee, 0x5c, 0x86, 0x7a, 0xac, 0xf4, 0xe1, 0x56, 0x47, 0xcb, 0xb6, 0x7b, - /*2dd0:*/ 0xa1, 0x50, 0xa0, 0x9e, 0xf0, 0xa6, 0xc9, 0xbc, 0x97, 0x5a, 0x81, 0x07, 0x75, 0xb0, 0x03, 0x65, - /*2de0:*/ 0xc7, 0xe3, 0x72, 0x9c, 0x57, 0xdd, 0x7e, 0x5d, 0x9d, 0xe4, 0x8c, 0xec, 0x19, 0x5e, 0x78, 0x06, - /*2df0:*/ 0x1c, 0x0a, 0x64, 0x57, 0xe1, 0x92, 0xd1, 0x20, 0x34, 0x51, 0xb5, 0xdd, 0xa0, 0x58, 0xfd, 0xf6, - /*2e00:*/ 0x61, 0x36, 0x34, 0x27, 0x60, 0x60, 0xfe, 0x48, 0x3b, 0x85, 0x01, 0x00, 0x41, 0x21, 0xdc, 0xed, - /*2e10:*/ 0xd9, 0x04, 0x92, 0xbc, 0xa8, 0x1f, 0xe9, 0x57, 0x48, 0x41, 0xce, 0x77, 0xdf, 0x99, 0x3f, 0xb9, - /*2e20:*/ 0x41, 0x2c, 0xea, 0xae, 0x69, 0x8b, 0x1b, 0x26, 0x68, 0xcc, 0x25, 0x4a, 0x8b, 0x56, 0x87, 0xda, - /*2e30:*/ 0x39, 0x02, 0xe7, 0x01, 0x2a, 0x04, 0x99, 0x9e, 0x88, 0x6f, 0x7b, 0x14, 0x0b, 0xe3, 0x18, 0xe3, - /*2e40:*/ 0xdb, 0x82, 0xa1, 0x36, 0x97, 0x0b, 0x41, 0x56, 0x92, 0xa9, 0xdb, 0x8d, 0xdf, 0x88, 0xdf, 0xd5, - /*2e50:*/ 0x0b, 0x7d, 0x19, 0x3c, 0x87, 0x91, 0xe4, 0x9d, 0xfb, 0x0c, 0x23, 0xb3, 0x79, 0x82, 0x26, 0x13, - /*2e60:*/ 0x4e, 0xbd, 0x0a, 0xf5, 0x56, 0xf1, 0x21, 0xf1, 0xdc, 0x25, 0x8b, 0xa5, 0x66, 0x46, 0xf1, 0x8e, - /*2e70:*/ 0xf0, 0xe9, 0xf6, 0x9d, 0xf9, 0xf4, 0xad, 0xf5, 0xb4, 0x8a, 0x27, 0xfa, 0xec, 0xa1, 0x31, 0xcd, - /*2e80:*/ 0x97, 0x2d, 0x4b, 0x67, 0x6c, 0x40, 0xee, 0xce, 0x8e, 0x65, 0x95, 0x97, 0x34, 0xb5, 0x72, 0x09, - /*2e90:*/ 0xd8, 0x54, 0x81, 0x9f, 0x86, 0x0a, 0x33, 0x28, 0xd5, 0xef, 0x6d, 0x4d, 0x55, 0xae, 0xca, 0x4c, - /*2ea0:*/ 0x6e, 0x4f, 0xd9, 0xbf, 0xb4, 0xbc, 0x37, 0x9f, 0x8f, 0x50, 0x80, 0x39, 0xe3, 0x49, 0x5d, 0xf0, - /*2eb0:*/ 0x60, 0x0e, 0xf4, 0xc3, 0xf2, 0xf0, 0x8e, 0x37, 0xeb, 0x98, 0x59, 0xcd, 0x97, 0x61, 0x1c, 0x1f, - /*2ec0:*/ 0x94, 0xfe, 0x38, 0x48, 0xe4, 0xf1, 0xee, 0x1f, 0x0c, 0xf5, 0x10, 0x80, 0x6a, 0x30, 0x1e, 0x80, - /*2ed0:*/ 0x87, 0xfd, 0xd9, 0x43, 0xdc, 0x96, 0xf1, 0x1c, 0x11, 0xaa, 0x67, 0x56, 0xa1, 0x19, 0xba, 0xe7, - /*2ee0:*/ 0x09, 0x3c, 0xbc, 0xeb, 0x91, 0x2d, 0x85, 0x66, 0x7c, 0xc1, 0x66, 0xf2, 0x35, 0x28, 0x3d, 0xd6, - /*2ef0:*/ 0x4b, 0x15, 0x95, 0xcd, 0x04, 0xa6, 0x0b, 0xa6, 0xd9, 0x11, 0x57, 0xb8, 0xd6, 0x40, 0xbd, 0xd0, - /*2f00:*/ 0x4c, 0x2b, 0x90, 0x33, 0x7e, 0x26, 0x93, 0x2a, 0x81, 0x83, 0x77, 0x2b, 0xeb, 0x73, 0xcf, 0xa1, - /*2f10:*/ 0xfe, 0x7a, 0xdd, 0xc9, 0x38, 0x28, 0x64, 0xa2, 0xbd, 0x64, 0x3c, 0x95, 0x7c, 0x8a, 0xf4, 0xe1, - /*2f20:*/ 0x73, 0x1b, 0xf1, 0xd0, 0x1b, 0x66, 0x66, 0x2a, 0x3e, 0x1a, 0x95, 0x8a, 0x06, 0x7e, 0x02, 0x68, - /*2f30:*/ 0xb4, 0xe6, 0x40, 0x81, 0x87, 0xbd, 0xdc, 0xd0, 0x4a, 0x97, 0x96, 0x3d, 0xd6, 0xc9, 0xf8, 0x12, - /*2f40:*/ 0x15, 0xab, 0x81, 0x33, 0xc6, 0xb4, 0xbc, 0xe0, 0x30, 0x2e, 0xe8, 0x38, 0xe3, 0xca, 0xd1, 0xdb, - /*2f50:*/ 0x47, 0x6f, 0x5d, 0xcf, 0x7b, 0x24, 0xcf, 0xce, 0x77, 0x31, 0xd3, 0x23, 0x46, 0xc9, 0x74, 0x29, - /*2f60:*/ 0xf1, 0x6f, 0x1f, 0x94, 0x06, 0xf2, 0x91, 0x98, 0x9e, 0x4d, 0x22, 0x53, 0x31, 0xd8, 0x4d, 0xef, - /*2f70:*/ 0x39, 0xc4, 0xee, 0x48, 0xcc, 0x89, 0xa5, 0x58, 0x7b, 0x77, 0x07, 0xb3, 0x56, 0x43, 0xf1, 0x50, - /*2f80:*/ 0xc3, 0x20, 0x81, 0xd8, 0xa8, 0x44, 0xc6, 0x1b, 0x84, 0xa0, 0x30, 0x6e, 0xf2, 0xc2, 0xdb, 0xe4, - /*2f90:*/ 0x17, 0x49, 0x5b, 0xce, 0xaa, 0x10, 0x87, 0x2a, 0xed, 0x6a, 0xb9, 0x91, 0xb7, 0x21, 0xbd, 0x7b, - /*2fa0:*/ 0x86, 0x9d, 0xb9, 0x36, 0xf3, 0x37, 0xab, 0x9b, 0x84, 0x1c, 0xa5, 0x75, 0xa3, 0xf0, 0xe9, 0x59, - /*2fb0:*/ 0xd3, 0x93, 0xb0, 0x4a, 0xd2, 0x98, 0xde, 0xb1, 0x3b, 0x11, 0xd9, 0xba, 0x65, 0x89, 0x73, 0xd8, - /*2fc0:*/ 0xb2, 0x08, 0x44, 0x0d, 0xa3, 0x71, 0x96, 0x96, 0x03, 0xfc, 0x55, 0xb3, 0xbd, 0x01, 0xd0, 0x54, - /*2fd0:*/ 0xbb, 0x64, 0x18, 0x88, 0xcc, 0x19, 0x64, 0x17, 0x0d, 0x3f, 0xb1, 0xbc, 0x31, 0xfb, 0xf6, 0xf7, - /*2fe0:*/ 0x7b, 0xd9, 0x82, 0xe6, 0x3e, 0xe0, 0xae, 0x32, 0x4f, 0x1c, 0x26, 0xca, 0x95, 0x63, 0x1f, 0x61, - /*2ff0:*/ 0xc3, 0xeb, 0x38, 0xc1, 0x6e, 0xbc, 0x73, 0xb6, 0x94, 0xc8, 0x05, 0x07, 0x14, 0x02, 0x63, 0xc0, - /*3000:*/ 0xbe, 0x47, 0xda, 0x50, 0xf5, 0x49, 0xf3, 0x01, 0x84, 0xa5, 0x8c, 0xe4, 0x64, 0x56, 0x42, 0xfa, - /*3010:*/ 0xf8, 0x49, 0xc3, 0xc9, 0x3f, 0x87, 0x84, 0x7a, 0x63, 0x4f, 0x15, 0x92, 0x47, 0x4d, 0xe9, 0xb4, - /*3020:*/ 0x6c, 0xeb, 0x1e, 0x0c, 0x93, 0x56, 0x6f, 0xc9, 0x18, 0x2b, 0x97, 0x99, 0x80, 0x67, 0xff, 0x87, - /*3030:*/ 0xdd, 0xdf, 0xa4, 0x7c, 0xb8, 0x07, 0x7e, 0x76, 0x55, 0x12, 0xf8, 0x57, 0x82, 0xa3, 0x18, 0x28, - /*3040:*/ 0x2a, 0x77, 0xb9, 0xd9, 0xb5, 0x61, 0x9d, 0x94, 0x00, 0x35, 0x9a, 0x57, 0x6f, 0x3c, 0xd1, 0x2b, - /*3050:*/ 0x81, 0xe7, 0xc9, 0x46, 0x60, 0x78, 0xc5, 0x8a, 0x97, 0x9a, 0xf0, 0xee, 0xc4, 0xfd, 0x51, 0xcb, - /*3060:*/ 0xae, 0x2e, 0xdf, 0x7c, 0xbe, 0x56, 0xb4, 0x1d, 0x28, 0x7f, 0xfe, 0x99, 0xca, 0xfb, 0xc1, 0x8c, - /*3070:*/ 0xda, 0xa6, 0x9f, 0xe8, 0x7e, 0x2b, 0x11, 0xb7, 0xf8, 0xed, 0x93, 0x16, 0xa4, 0x23, 0x83, 0x0a, - /*3080:*/ 0x61, 0xe7, 0x8e, 0x2a, 0x4e, 0x93, 0xfd, 0x28, 0x9f, 0xb0, 0x5f, 0x69, 0x66, 0xb8, 0x23, 0xe5, - /*3090:*/ 0xa6, 0x71, 0xb3, 0x5e, 0xd6, 0x9f, 0x1d, 0x7e, 0xd7, 0x37, 0x4a, 0x45, 0xe1, 0x72, 0x4e, 0x34, - /*30a0:*/ 0xf9, 0x9d, 0xab, 0xa3, 0x3a, 0x76, 0xd9, 0x2d, 0xe1, 0x43, 0x94, 0x2c, 0x11, 0x84, 0xd6, 0xe2, - /*30b0:*/ 0xe6, 0xed, 0xa1, 0xab, 0x74, 0x30, 0x98, 0x46, 0x9e, 0xf6, 0xee, 0xdb, 0x5c, 0x07, 0x0c, 0xe9, - /*30c0:*/ 0xf3, 0x27, 0x94, 0xe0, 0x18, 0x39, 0x7f, 0x93, 0x4d, 0xcf, 0xb2, 0xdd, 0x7f, 0x72, 0x2f, 0x30, - /*30d0:*/ 0xc3, 0x34, 0xe7, 0x5e, 0xc1, 0x4a, 0x2c, 0xf2, 0x7c, 0x11, 0xf8, 0x32, 0x6f, 0xc7, 0x34, 0xa1, - /*30e0:*/ 0xdd, 0xe4, 0xde, 0x44, 0xe0, 0x2f, 0xfd, 0x82, 0x3b, 0xbd, 0xd0, 0xeb, 0x73, 0xde, 0x85, 0x2c, - /*30f0:*/ 0x50, 0xe6, 0x55, 0xe7, 0x1e, 0xe0, 0x8b, 0x5d, 0x4f, 0x05, 0xbe, 0x94, 0x2d, 0x30, 0x6b, 0xed, - /*3100:*/ 0x51, 0x80, 0x59, 0xfd, 0x1a, 0x78, 0x64, 0xc3, 0xb9, 0xb2, 0xbf, 0xb1, 0x33, 0x01, 0xa3, 0xa2, - /*3110:*/ 0xf1, 0x7f, 0x8c, 0x36, 0x91, 0xc2, 0x07, 0xa8, 0x57, 0xac, 0xab, 0xd6, 0x36, 0x68, 0x31, 0xff, - /*3120:*/ 0xc5, 0x4b, 0x7c, 0x4c, 0xa6, 0xe3, 0xe1, 0x05, 0x23, 0xcc, 0x57, 0xc5, 0xfd, 0xf4, 0xe6, 0x0a, - /*3130:*/ 0x72, 0x84, 0x21, 0xc7, 0xe1, 0x37, 0x39, 0x97, 0x8c, 0xc6, 0xa3, 0xb6, 0x36, 0x8a, 0xd3, 0x7f, - /*3140:*/ 0x64, 0x31, 0x5e, 0x02, 0x9a, 0x83, 0x45, 0xc0, 0x19, 0x59, 0x14, 0xe8, 0x47, 0x7a, 0x2c, 0x34, - /*3150:*/ 0xd3, 0xa2, 0xd0, 0xe0, 0x36, 0x04, 0x1d, 0xc4, 0x7e, 0x9e, 0x49, 0xa8, 0x9a, 0x32, 0xa5, 0x41, - /*3160:*/ 0x49, 0xa4, 0x13, 0x4e, 0xe5, 0x90, 0x6d, 0x25, 0x82, 0x1e, 0xde, 0x94, 0x04, 0x22, 0xeb, 0x26, - /*3170:*/ 0x8d, 0xdc, 0xd5, 0xf3, 0x93, 0xb2, 0xcf, 0xa3, 0x8d, 0x31, 0x17, 0xe3, 0xde, 0xf8, 0x1e, 0x56, - /*3180:*/ 0xe9, 0x50, 0x4b, 0x05, 0x39, 0xc6, 0xd6, 0x24, 0x3d, 0xe0, 0xf1, 0x8a, 0x42, 0xd4, 0x35, 0xe0, - /*3190:*/ 0x72, 0xa4, 0x19, 0xf8, 0x68, 0xeb, 0x81, 0x6e, 0xe8, 0x3f, 0xd5, 0xec, 0xed, 0x05, 0xc5, 0x4a, - /*31a0:*/ 0xce, 0xf8, 0x0e, 0xed, 0xc3, 0xbd, 0xd3, 0xaa, 0xb2, 0x52, 0x02, 0xf5, 0x8d, 0x2f, 0x8f, 0x0c, - /*31b0:*/ 0x9e, 0x77, 0x98, 0x6a, 0xd7, 0xbd, 0xcf, 0x80, 0x1c, 0x20, 0x2f, 0x6b, 0x6e, 0xf3, 0x14, 0x05, - /*31c0:*/ 0xd6, 0x24, 0x83, 0x5a, 0xdb, 0x21, 0x3f, 0xa9, 0x05, 0x40, 0x4e, 0x5a, 0x3a, 0x44, 0x50, 0x6d, - /*31d0:*/ 0x0e, 0x72, 0x6f, 0xd4, 0x39, 0x18, 0x2e, 0xd7, 0x15, 0x38, 0x68, 0xe0, 0x2a, 0x24, 0xd0, 0x51, - /*31e0:*/ 0x28, 0xb6, 0x8b, 0x07, 0x41, 0xc4, 0x77, 0x39, 0x1c, 0x4c, 0xc9, 0xd7, 0x23, 0x1c, 0x23, 0xef, - /*31f0:*/ 0xed, 0xc9, 0xcb, 0xec, 0x93, 0xd4, 0xd4, 0x6b, 0xee, 0x04, 0x50, 0x14, 0xf3, 0x14, 0x48, 0x1d, - /*3200:*/ 0x68, 0x20, 0xb1, 0x3d, 0x73, 0x3f, 0x2f, 0x11, 0x75, 0xce, 0x97, 0x71, 0x65, 0x2d, 0x41, 0xe3, - /*3210:*/ 0xd6, 0x78, 0xab, 0x2c, 0x19, 0x5f, 0x08, 0xe9, 0x09, 0xaf, 0x98, 0x1d, 0xa6, 0xa2, 0xa1, 0xb7, - /*3220:*/ 0xd4, 0xd9, 0xa8, 0xf0, 0xfe, 0x9e, 0x29, 0xda, 0x84, 0x73, 0x38, 0xc2, 0x62, 0x1c, 0x33, 0x14, - /*3230:*/ 0x81, 0x0b, 0xf9, 0xd0, 0xae, 0x8e, 0x8c, 0x66, 0xe6, 0x34, 0xf1, 0x24, 0x43, 0x3a, 0x9c, 0x94, - /*3240:*/ 0x14, 0x70, 0x6c, 0x64, 0xd4, 0x56, 0xa6, 0x9c, 0xfe, 0x7b, 0x5f, 0xa7, 0x58, 0xbc, 0x4e, 0x8f, - /*3250:*/ 0xd7, 0xfc, 0xcd, 0xb9, 0xd0, 0xf3, 0xcf, 0xe6, 0xbb, 0x60, 0xb1, 0x9e, 0x01, 0xae, 0x37, 0x64, - /*3260:*/ 0x05, 0x98, 0xec, 0xad, 0xd0, 0xb7, 0xfa, 0x21, 0x77, 0x35, 0xf2, 0x19, 0x9d, 0x20, 0xc5, 0xc5, - /*3270:*/ 0x32, 0x02, 0xc5, 0x4e, 0x39, 0x2c, 0x72, 0x79, 0x24, 0xa1, 0xc4, 0xf0, 0x4e, 0x16, 0xf7, 0xe5, - /*3280:*/ 0xea, 0xf9, 0x26, 0xa5, 0x55, 0x96, 0xff, 0x46, 0x72, 0x7e, 0x09, 0x4b, 0x0a, 0x4f, 0x22, 0x19, - /*3290:*/ 0x05, 0x2a, 0x44, 0xbb, 0xd8, 0x92, 0xb4, 0x8a, 0xa2, 0xce, 0x7e, 0x2d, 0xf6, 0x15, 0x58, 0x4a, - /*32a0:*/ 0xde, 0xf9, 0xfc, 0xbf, 0x3a, 0x55, 0xcf, 0x61, 0xf1, 0x94, 0x9f, 0xff, 0xa4, 0x5f, 0xa9, 0x48, - /*32b0:*/ 0xb3, 0xa8, 0x41, 0xfc, 0xce, 0xee, 0x2c, 0x6b, 0x58, 0x8b, 0xd3, 0x81, 0xcb, 0x30, 0x8e, 0x95, - /*32c0:*/ 0x0b, 0xe9, 0xd5, 0x77, 0xe6, 0xc9, 0x4f, 0xa5, 0xf0, 0x43, 0x4f, 0x8c, 0x61, 0xa7, 0xe5, 0x07, - /*32d0:*/ 0xcc, 0x3a, 0x6b, 0x40, 0x32, 0x8b, 0xf6, 0x99, 0xca, 0xf1, 0x3c, 0xf1, 0xb4, 0x97, 0x85, 0xf2, - /*32e0:*/ 0xed, 0xe0, 0x2f, 0x4e, 0xd1, 0xb8, 0x81, 0x21, 0x3c, 0xd6, 0x2d, 0x90, 0x3c, 0x61, 0x27, 0x93, - /*32f0:*/ 0x7f, 0x61, 0x10, 0x2a, 0xbc, 0x26, 0x0c, 0x7e, 0xb4, 0x6f, 0x57, 0x9f, 0xa8, 0xb1, 0x49, 0x99, - /*3300:*/ 0x99, 0x95, 0xa1, 0xaa, 0xec, 0xd0, 0xd8, 0xbf, 0x2e, 0xc5, 0x43, 0xd3, 0xcc, 0xc2, 0x77, 0xd2, - /*3310:*/ 0x3d, 0xb7, 0xc8, 0x85, 0x49, 0x25, 0x0d, 0x9b, 0x4f, 0x49, 0x7d, 0xe5, 0x8e, 0x3c, 0xb4, 0xe4, - /*3320:*/ 0xb6, 0x22, 0xcf, 0x97, 0xa5, 0xff, 0x8f, 0xe3, 0x42, 0x74, 0xcf, 0xe1, 0x3b, 0xce, 0xd7, 0x24, - /*3330:*/ 0x81, 0xf3, 0x31, 0xe5, 0xb6, 0x3d, 0x97, 0x2f, 0xe5, 0x5b, 0xa6, 0x5a, 0x78, 0x24, 0x06, 0x1c, - /*3340:*/ 0x5b, 0x33, 0x41, 0xe8, 0x2b, 0xdc, 0xc4, 0x6b, 0xb2, 0x56, 0x82, 0x2b, 0x75, 0xc7, 0xcf, 0x8d, - /*3350:*/ 0xd1, 0x07, 0xcb, 0x63, 0xd0, 0x0d, 0xed, 0x72, 0xc6, 0x86, 0x23, 0x74, 0xf0, 0x0a, 0x30, 0x96, - /*3360:*/ 0x89, 0x35, 0x85, 0x2f, 0x58, 0x75, 0xb8, 0x74, 0x2f, 0x37, 0xd1, 0xb5, 0x79, 0xee, 0xe6, 0xf1, - /*3370:*/ 0x8a, 0x63, 0x13, 0xfe, 0xa8, 0x50, 0x1d, 0xcf, 0xc4, 0x49, 0xa0, 0xea, 0x77, 0x88, 0x95, 0x2c, - /*3380:*/ 0x20, 0x98, 0xb6, 0x35, 0x9e, 0x15, 0x7b, 0x27, 0x3c, 0xe9, 0x0b, 0x41, 0x38, 0xdd, 0x4c, 0x77, - /*3390:*/ 0xff, 0x1c, 0x2d, 0x90, 0x83, 0x30, 0x49, 0xef, 0x98, 0x92, 0xe0, 0x14, 0x00, 0xaf, 0x0e, 0x64, - /*33a0:*/ 0x51, 0xa0, 0x45, 0x81, 0xba, 0x39, 0xc1, 0xab, 0x14, 0x33, 0xeb, 0xde, 0xe0, 0x32, 0x5c, 0x29, - /*33b0:*/ 0x1d, 0xe5, 0xab, 0x12, 0x77, 0x43, 0x5d, 0x32, 0x46, 0xd5, 0x6b, 0x8b, 0x12, 0x30, 0x14, 0x8e, - /*33c0:*/ 0x04, 0x18, 0x7f, 0xa2, 0xb0, 0x8a, 0x77, 0xf4, 0x5b, 0xfa, 0xab, 0x93, 0xfc, 0xa5, 0xc7, 0x91, - /*33d0:*/ 0x50, 0x51, 0x75, 0xe7, 0xfc, 0x4f, 0x3f, 0xb3, 0xc7, 0x72, 0x24, 0xa9, 0xe3, 0x1f, 0x60, 0x7d, - /*33e0:*/ 0x91, 0x78, 0x48, 0x34, 0x05, 0x82, 0xcd, 0x2e, 0x8c, 0x8f, 0x37, 0x97, 0x0b, 0x95, 0x2a, 0x1f, - /*33f0:*/ 0x28, 0x12, 0x5f, 0xde, 0x76, 0xcb, 0xab, 0x44, 0x3d, 0x2c, 0x1d, 0xf1, 0xbe, 0x10, 0x81, 0x1f, - /*3400:*/ 0x67, 0x7d, 0x08, 0x29, 0xf4, 0x99, 0x58, 0x80, 0x64, 0x85, 0x49, 0x44, 0xf3, 0xba, 0xc7, 0x0d, - /*3410:*/ 0x60, 0x18, 0x3e, 0x9f, 0x05, 0x7d, 0xd0, 0x76, 0x41, 0xc4, 0xc1, 0x42, 0xd9, 0xe5, 0x33, 0xa6, - /*3420:*/ 0xae, 0x7f, 0x4f, 0x99, 0x48, 0xfb, 0x3b, 0x9d, 0xd6, 0x50, 0x73, 0x95, 0x99, 0x6f, 0x34, 0xda, - /*3430:*/ 0xbf, 0x10, 0xfa, 0xce, 0x61, 0x53, 0x5b, 0x36, 0xde, 0x00, 0xfd, 0x95, 0xf2, 0x25, 0x85, 0xe1, - /*3440:*/ 0x99, 0x85, 0xbd, 0x17, 0x52, 0x5f, 0x08, 0x1a, 0xff, 0x6b, 0x6b, 0xce, 0x01, 0x69, 0x25, 0x6b, - /*3450:*/ 0x99, 0x96, 0xd5, 0x97, 0xc7, 0x5f, 0x3c, 0xa8, 0x43, 0xca, 0x86, 0x73, 0x80, 0x9e, 0xcb, 0xad, - /*3460:*/ 0x61, 0x93, 0x70, 0x8f, 0x1c, 0x38, 0x6c, 0x04, 0xf4, 0x2c, 0x2f, 0x8e, 0x1f, 0xa9, 0xe2, 0x68, - /*3470:*/ 0xfa, 0xe0, 0x38, 0x28, 0x8e, 0x86, 0xde, 0xb9, 0xf4, 0x39, 0x04, 0xb6, 0xf4, 0xea, 0xe5, 0x65, - /*3480:*/ 0x58, 0xbc, 0x8d, 0x21, 0x4d, 0x3e, 0xe9, 0xe4, 0xb3, 0x22, 0x88, 0xd2, 0xcc, 0x0b, 0x7e, 0xcd, - /*3490:*/ 0xa2, 0x90, 0x53, 0x10, 0x09, 0x82, 0x52, 0x15, 0xb0, 0xaf, 0xd4, 0x98, 0xb9, 0x88, 0x52, 0x8f, - /*34a0:*/ 0x07, 0xfb, 0xb2, 0xe8, 0x38, 0x1f, 0x71, 0x11, 0x85, 0xb1, 0xc9, 0x3e, 0x57, 0x6b, 0xb9, 0xfd, - /*34b0:*/ 0x40, 0xc9, 0xdb, 0x22, 0x82, 0xfe, 0xc2, 0xc1, 0x74, 0x14, 0x49, 0xeb, 0x02, 0x13, 0x65, 0x5d, - /*34c0:*/ 0x83, 0x7d, 0xc3, 0x0e, 0xd9, 0x74, 0xdb, 0x3f, 0x36, 0x76, 0x67, 0x48, 0x5d, 0xd9, 0xe6, 0x6a, - /*34d0:*/ 0x68, 0x36, 0xce, 0xa2, 0x29, 0x38, 0xa2, 0x51, 0x8e, 0xa6, 0x8f, 0xa6, 0xfa, 0x5f, 0xb5, 0x81, - /*34e0:*/ 0x98, 0xcc, 0x2b, 0x4d, 0x2e, 0x69, 0x59, 0x78, 0xad, 0xbf, 0x37, 0x57, 0x63, 0x9c, 0x02, 0xe2, - /*34f0:*/ 0x47, 0xc9, 0x57, 0xb9, 0xd5, 0x42, 0x4c, 0x2a, 0x7d, 0x26, 0x88, 0x4f, 0x2b, 0x9d, 0xa2, 0xcc, - /*3500:*/ 0x1a, 0x50, 0x81, 0xc6, 0x54, 0x79, 0x72, 0x87, 0x2b, 0x5a, 0x70, 0x33, 0x8a, 0x5d, 0x9a, 0xd6, - /*3510:*/ 0x46, 0x01, 0xd4, 0x70, 0xe2, 0x7d, 0xb5, 0x62, 0x51, 0x8f, 0x23, 0x08, 0xe4, 0x4a, 0x81, 0x9f, - /*3520:*/ 0xf3, 0xfb, 0x05, 0xda, 0xa3, 0x1b, 0x90, 0x78, 0x82, 0x1b, 0xef, 0x96, 0xef, 0x77, 0xb2, 0x47, - /*3530:*/ 0x24, 0xc4, 0x77, 0x0c, 0x13, 0xf0, 0x83, 0xcc, 0x34, 0x7a, 0x61, 0xb2, 0x09, 0xbb, 0xda, 0xd4, - /*3540:*/ 0x6e, 0x76, 0xe3, 0x1e, 0x04, 0x79, 0x64, 0x3f, 0x36, 0x82, 0xc2, 0x56, 0xd0, 0x2f, 0x2d, 0xdd, - /*3550:*/ 0xa3, 0x02, 0x01, 0x16, 0x00, 0x9e, 0x10, 0x81, 0x7a, 0x95, 0x9b, 0x6a, 0xf7, 0x3d, 0xce, 0xc7, - /*3560:*/ 0x6a, 0x08, 0x3f, 0x77, 0xd8, 0x55, 0xa1, 0x94, 0xcc, 0x8e, 0x77, 0x2b, 0xa3, 0x6c, 0x4c, 0xda, - /*3570:*/ 0x6e, 0xf2, 0x01, 0x1e, 0x77, 0x65, 0xa5, 0xcb, 0x5c, 0xe8, 0x1c, 0xb0, 0xa4, 0x22, 0xff, 0x09, - /*3580:*/ 0xa9, 0x58, 0x8d, 0x5a, 0x6d, 0x54, 0x94, 0xf5, 0xd8, 0xb6, 0x9c, 0xb7, 0xae, 0xbc, 0x48, 0x45, - /*3590:*/ 0x41, 0xc3, 0x92, 0x8d, 0x7b, 0xe2, 0xcf, 0x38, 0xba, 0xbf, 0x83, 0xe6, 0x43, 0x99, 0xc8, 0x4c, - /*35a0:*/ 0xd5, 0x66, 0x14, 0x1b, 0x45, 0xe5, 0x72, 0x5f, 0xea, 0x1c, 0x22, 0xce, 0xf2, 0xb9, 0xae, 0x41, - /*35b0:*/ 0xeb, 0x2c, 0xb1, 0xb5, 0x47, 0x6a, 0xa4, 0x50, 0x41, 0x0f, 0x91, 0x0c, 0x1a, 0xa5, 0x77, 0x9d, - /*35c0:*/ 0x28, 0xa7, 0xa0, 0xab, 0x06, 0x83, 0x45, 0x47, 0xa2, 0xd1, 0x44, 0xde, 0xde, 0x1c, 0xa4, 0x6e, - /*35d0:*/ 0x7d, 0xcf, 0x1c, 0x7b, 0x20, 0xd1, 0x6c, 0x6e, 0xd1, 0x52, 0x46, 0xcf, 0x97, 0x43, 0xd3, 0x46, - /*35e0:*/ 0x32, 0xc1, 0xde, 0x10, 0xdd, 0xc3, 0xcc, 0xd8, 0xbc, 0x86, 0x50, 0x2c, 0xcb, 0x14, 0xab, 0x5c, - /*35f0:*/ 0xe9, 0x3b, 0x60, 0x14, 0x38, 0xab, 0x66, 0xb9, 0xc4, 0x3d, 0x3d, 0x1c, 0xfb, 0xc8, 0x3c, 0x32, - /*3600:*/ 0x22, 0x27, 0x9c, 0xf7, 0xd9, 0x32, 0x5c, 0xfd, 0xf9, 0x0c, 0x91, 0xe3, 0x49, 0xb8, 0xf9, 0x60, - /*3610:*/ 0x3f, 0x28, 0xe3, 0xf6, 0xdc, 0x8b, 0x33, 0x87, 0xc4, 0x24, 0xa7, 0xd6, 0xca, 0xe5, 0x68, 0xfa, - /*3620:*/ 0xce, 0x6f, 0x39, 0xd8, 0x8c, 0xec, 0xc5, 0xc5, 0x31, 0x7b, 0x11, 0xd2, 0x45, 0x8f, 0xec, 0xf4, - /*3630:*/ 0x9f, 0x5f, 0xd8, 0x6b, 0xb6, 0xe2, 0x09, 0xb1, 0x49, 0xfa, 0x1b, 0x6b, 0xdd, 0x5c, 0xec, 0xb7, - /*3640:*/ 0xe8, 0xa1, 0xcb, 0x92, 0x98, 0xac, 0x28, 0x2c, 0xd0, 0x08, 0x45, 0x02, 0x25, 0xe9, 0xfc, 0x9f, - /*3650:*/ 0x75, 0x9e, 0x57, 0x09, 0x31, 0xa5, 0x55, 0x89, 0x36, 0x88, 0xee, 0x5c, 0x42, 0x70, 0xc2, 0xfb, - /*3660:*/ 0x9f, 0x51, 0x05, 0x9c, 0x18, 0x78, 0x4f, 0xb5, 0xc8, 0x7d, 0x6d, 0x74, 0x1d, 0x34, 0x3d, 0xfa, - /*3670:*/ 0x49, 0xd7, 0xf9, 0xd4, 0x67, 0x19, 0xb5, 0x43, 0xb5, 0x20, 0x5a, 0xa1, 0x35, 0x0a, 0x78, 0x80, - /*3680:*/ 0x5f, 0x42, 0x21, 0x12, 0xd3, 0x0b, 0x20, 0xc9, 0xba, 0xdb, 0x33, 0xbc, 0x14, 0x5e, 0x2c, 0x5f, - /*3690:*/ 0xc3, 0x25, 0x22, 0x59, 0xd8, 0x30, 0x37, 0x91, 0x3d, 0x6c, 0xa8, 0xa0, 0x30, 0xe8, 0x93, 0xdb, - /*36a0:*/ 0xae, 0xab, 0x4e, 0x28, 0x13, 0x0e, 0xe8, 0xad, 0x25, 0x02, 0x2a, 0xf4, 0x21, 0xec, 0xe3, 0xb7, - /*36b0:*/ 0x4d, 0x88, 0xd1, 0xd1, 0x0e, 0x0b, 0xd6, 0x9c, 0x37, 0xa0, 0xa2, 0x82, 0x4b, 0x9e, 0x2c, 0xc4, - /*36c0:*/ 0x90, 0x84, 0x50, 0x45, 0x70, 0xf4, 0x77, 0x09, 0x79, 0xc6, 0x5c, 0x34, 0x1a, 0xb4, 0x6e, 0x89, - /*36d0:*/ 0xcc, 0xeb, 0xb7, 0x8e, 0x3b, 0xe5, 0x04, 0x00, 0xe6, 0x1e, 0xea, 0xd7, 0x69, 0x1e, 0xd9, 0xd5, - /*36e0:*/ 0x48, 0xdd, 0xb5, 0xac, 0x2a, 0xf0, 0x7f, 0x6f, 0x55, 0xdd, 0x33, 0x92, 0x58, 0x33, 0x34, 0xe9, - /*36f0:*/ 0xd1, 0x11, 0x6f, 0x4b, 0x81, 0x0c, 0xc6, 0x4e, 0xed, 0x0b, 0x3e, 0x53, 0x80, 0x51, 0xdd, 0x55, - /*3700:*/ 0x96, 0x48, 0x64, 0xe4, 0x69, 0xb0, 0x6f, 0xf6, 0x53, 0x62, 0xd5, 0xd6, 0x54, 0x6a, 0xe1, 0x5d, - /*3710:*/ 0xdd, 0x27, 0x01, 0xf9, 0x1a, 0xb3, 0xd4, 0xb3, 0x05, 0x02, 0x51, 0x7d, 0x00, 0xc5, 0xc1, 0x64, - /*3720:*/ 0xc7, 0x4d, 0xa6, 0x62, 0xb9, 0x1e, 0x89, 0x90, 0xf1, 0xa5, 0x3e, 0x7d, 0x47, 0xf9, 0xf2, 0xd8, - /*3730:*/ 0x76, 0xbe, 0xdd, 0x81, 0xde, 0xe6, 0x86, 0xd0, 0x30, 0x17, 0x02, 0xd3, 0xad, 0x59, 0x92, 0x4d, - /*3740:*/ 0x4c, 0xdc, 0x71, 0xd8, 0xd5, 0xcb, 0xf4, 0xf6, 0x6b, 0x37, 0x67, 0xe1, 0x9e, 0x31, 0x55, 0x8a, - /*3750:*/ 0xda, 0x07, 0x94, 0xd8, 0x61, 0xb3, 0x35, 0x67, 0xc0, 0xae, 0x08, 0xb2, 0xba, 0xe2, 0x1d, 0x14, - /*3760:*/ 0xb2, 0x9c, 0xcb, 0x1b, 0x54, 0x2e, 0xbc, 0x82, 0x49, 0xd7, 0x14, 0x83, 0x92, 0xb1, 0xfa, 0xf3, - /*3770:*/ 0x2e, 0xbc, 0x11, 0xd3, 0x49, 0xc9, 0xee, 0xf3, 0x35, 0x9f, 0xce, 0xc2, 0x34, 0x60, 0x97, 0x71, - /*3780:*/ 0x6f, 0xef, 0x5b, 0x03, 0x5b, 0x15, 0x63, 0x0c, 0xbe, 0x73, 0x85, 0x93, 0xbd, 0xd7, 0xc0, 0x3c, - /*3790:*/ 0x19, 0x7c, 0xb1, 0x77, 0xba, 0xf7, 0xd2, 0xa0, 0x81, 0x2e, 0x72, 0x4c, 0x2b, 0x6d, 0xcd, 0x96, - /*37a0:*/ 0x97, 0x77, 0xf4, 0x80, 0xb1, 0xaa, 0xc0, 0x96, 0xb9, 0x21, 0xf7, 0x38, 0x3f, 0x37, 0x55, 0x02, - /*37b0:*/ 0xa2, 0x67, 0x4f, 0x5d, 0x0a, 0x40, 0x9e, 0x92, 0x75, 0x90, 0xae, 0xa9, 0x80, 0xf3, 0xe3, 0x4b, - /*37c0:*/ 0x71, 0x6d, 0xdc, 0x4b, 0xe5, 0x03, 0x15, 0x90, 0x06, 0x5a, 0xd0, 0xa5, 0xd9, 0x7b, 0x36, 0x17, - /*37d0:*/ 0xf7, 0x95, 0xf2, 0xe9, 0xd2, 0x12, 0xb1, 0x02, 0x09, 0xdc, 0x34, 0xc9, 0x6e, 0x1d, 0x7b, 0x80, - /*37e0:*/ 0x45, 0x6c, 0x2c, 0xf0, 0x93, 0xc2, 0x53, 0x31, 0x2b, 0xf5, 0x9c, 0xe8, 0x74, 0x0b, 0xa1, 0xa3, - /*37f0:*/ 0x59, 0xb0, 0xb9, 0xe5, 0x9d, 0xd6, 0x2e, 0x76, 0x00, 0xb9, 0xd9, 0xf8, 0x1f, 0xca, 0x41, 0x02, - /*3800:*/ 0x50, 0x5b, 0x04, 0x6f, 0xf5, 0x47, 0x27, 0x3a, 0xb0, 0xeb, 0x5f, 0xcc, 0xdc, 0xa6, 0x00, 0xca, - /*3810:*/ 0x1b, 0x72, 0x5f, 0xe0, 0x7d, 0x23, 0xd8, 0x7c, 0xc9, 0xbf, 0x9f, 0x65, 0xf0, 0x92, 0x9b, 0xb5, - /*3820:*/ 0x70, 0x18, 0x43, 0x84, 0x3e, 0x98, 0x4a, 0xd5, 0x23, 0xb2, 0x03, 0x92, 0xc1, 0x5e, 0x02, 0x7b, - /*3830:*/ 0xba, 0x3f, 0x89, 0x54, 0xa6, 0x6a, 0xc8, 0x70, 0x22, 0x52, 0x0e, 0xef, 0xbe, 0xd3, 0x53, 0x2d, - /*3840:*/ 0xb1, 0x04, 0x36, 0x61, 0xde, 0xa6, 0x48, 0x10, 0xe0, 0x66, 0x46, 0xbf, 0x07, 0x03, 0xa9, 0xc6, - /*3850:*/ 0x93, 0x48, 0xca, 0xd1, 0xef, 0x03, 0x1e, 0x99, 0x64, 0x3d, 0x44, 0xd6, 0xcf, 0x9e, 0xff, 0xb3, - /*3860:*/ 0xa9, 0xe6, 0x3f, 0xe5, 0x74, 0x46, 0xb0, 0xcd, 0xc0, 0x3a, 0xbc, 0x97, 0xd5, 0x84, 0x81, 0x97, - /*3870:*/ 0x3e, 0x95, 0xc9, 0xcd, 0x6b, 0xaf, 0xd0, 0xc8, 0x7d, 0x7b, 0x59, 0x91, 0x32, 0xfa, 0x15, 0xb8, - /*3880:*/ 0x3b, 0x31, 0xc8, 0x0a, 0x14, 0x3a, 0x62, 0x6e, 0x0b, 0x83, 0xd5, 0x12, 0x37, 0xbf, 0x52, 0x8d, - /*3890:*/ 0x74, 0x0d, 0x0c, 0x7a, 0x3f, 0xdf, 0xa3, 0xdf, 0x1b, 0x9c, 0x36, 0xb0, 0xf9, 0xc2, 0xd3, 0x25, - /*38a0:*/ 0x7b, 0x84, 0x2c, 0x87, 0x86, 0x04, 0xa6, 0x56, 0x7a, 0x75, 0xa7, 0x4f, 0x36, 0x64, 0x64, 0x31, - /*38b0:*/ 0xb4, 0x6c, 0xc7, 0x93, 0xc6, 0x71, 0x81, 0x26, 0x8f, 0x98, 0xab, 0xf2, 0x60, 0x83, 0x6e, 0x10, - /*38c0:*/ 0x20, 0x99, 0xf5, 0x21, 0x81, 0x94, 0x50, 0xdc, 0xe4, 0x86, 0xd0, 0xa1, 0xf6, 0x0e, 0xd6, 0x98, - /*38d0:*/ 0x4b, 0x00, 0xb0, 0x1d, 0x0c, 0x01, 0xbe, 0x28, 0xdb, 0xad, 0xdc, 0xb2, 0x9f, 0xf2, 0xee, 0xa0, - /*38e0:*/ 0x84, 0x58, 0x19, 0x88, 0x76, 0x4a, 0x5f, 0x6d, 0x23, 0x0e, 0x2f, 0xc7, 0x58, 0xfc, 0x38, 0xf9, - /*38f0:*/ 0x85, 0x3a, 0xa2, 0xf0, 0x59, 0x2b, 0x93, 0x9f, 0xcf, 0xfb, 0x9e, 0x56, 0xee, 0xc8, 0xab, 0x79, - /*3900:*/ 0xd3, 0x69, 0x84, 0xcb, 0xd2, 0x63, 0x27, 0x6a, 0x0a, 0xa0, 0x89, 0xe5, 0x43, 0x2e, 0x47, 0x15, - /*3910:*/ 0x70, 0x36, 0xa9, 0x6d, 0x1d, 0x66, 0x90, 0xea, 0xbf, 0x69, 0x67, 0x18, 0x47, 0xfb, 0x63, 0x03, - /*3920:*/ 0xa6, 0xd7, 0x43, 0x64, 0xa6, 0xe6, 0x2f, 0xba, 0xf0, 0x12, 0x1c, 0x88, 0x98, 0x97, 0xb1, 0x63, - /*3930:*/ 0x5a, 0xcb, 0xa6, 0xf1, 0xe5, 0x98, 0x0d, 0x82, 0xc2, 0x36, 0x2a, 0x45, 0x3e, 0xdb, 0xf3, 0x3a, - /*3940:*/ 0x13, 0x1f, 0x88, 0xbe, 0x3d, 0xe0, 0xc3, 0x45, 0x9c, 0xe7, 0x97, 0x79, 0x4c, 0x5f, 0x70, 0x29, - /*3950:*/ 0x07, 0x66, 0xf2, 0xdc, 0x11, 0x1e, 0xe8, 0xab, 0x0f, 0x41, 0x60, 0x94, 0x26, 0x13, 0x0c, 0x94, - /*3960:*/ 0x79, 0x52, 0x09, 0x7a, 0x1d, 0xc3, 0x27, 0xb0, 0xd8, 0x87, 0xbd, 0x20, 0x7a, 0xb0, 0x93, 0xb2, - /*3970:*/ 0x62, 0xf2, 0xb3, 0x76, 0x07, 0x08, 0xea, 0x47, 0xda, 0x23, 0x59, 0x67, 0x72, 0x17, 0xae, 0x9a, - /*3980:*/ 0x93, 0xf3, 0xc3, 0x5b, 0x36, 0xd8, 0xb0, 0xd5, 0x5b, 0x90, 0x16, 0x70, 0xac, 0x25, 0x82, 0x01, - /*3990:*/ 0x3d, 0x7c, 0xc9, 0xfa, 0x40, 0xa5, 0x5c, 0xde, 0xaa, 0x41, 0x18, 0xbb, 0x31, 0x2d, 0xd6, 0xe0, - /*39a0:*/ 0x3f, 0x03, 0x66, 0xde, 0x7b, 0xa8, 0xe1, 0x70, 0x54, 0x22, 0x7b, 0x6d, 0x67, 0xaa, 0x48, 0xb0, - /*39b0:*/ 0x8e, 0x50, 0xc0, 0xf0, 0x3c, 0x11, 0x82, 0x25, 0xde, 0xa3, 0x84, 0x76, 0x82, 0x42, 0x7c, 0x66, - /*39c0:*/ 0xc6, 0x55, 0x14, 0xc7, 0xc9, 0x42, 0x91, 0x47, 0x0e, 0xf6, 0xd3, 0x7c, 0x6c, 0x07, 0xe0, 0xb8, - /*39d0:*/ 0x4b, 0xde, 0x28, 0x28, 0xb4, 0x6d, 0x3c, 0xbd, 0x40, 0x21, 0x90, 0x46, 0xe6, 0x27, 0x58, 0xeb, - /*39e0:*/ 0xaf, 0xa7, 0xf8, 0x71, 0xf2, 0xdc, 0xbe, 0x1b, 0x1b, 0xe3, 0x40, 0xcf, 0x84, 0x24, 0xd8, 0x9c, - /*39f0:*/ 0xfb, 0x31, 0xca, 0x70, 0x96, 0x46, 0xe8, 0xc4, 0x5b, 0x12, 0x99, 0xb1, 0xef, 0x37, 0xac, 0x4d, - /*3a00:*/ 0xf9, 0x9f, 0xe0, 0xcf, 0x0b, 0xca, 0xd9, 0x06, 0xb6, 0x0b, 0x07, 0x8e, 0x95, 0xba, 0x63, 0x95, - /*3a10:*/ 0x6d, 0x3e, 0x5a, 0xd9, 0xa7, 0x74, 0x95, 0x1a, 0xe9, 0xc6, 0x77, 0x75, 0xa5, 0x70, 0xca, 0x4a, - /*3a20:*/ 0x3f, 0xba, 0xad, 0xae, 0xf4, 0x31, 0xfd, 0x79, 0xff, 0xc1, 0xb7, 0xfd, 0x0d, 0xd4, 0x79, 0x8d, - /*3a30:*/ 0x3d, 0x4e, 0xea, 0xe9, 0x1e, 0x56, 0x46, 0xde, 0x0e, 0xff, 0x69, 0x65, 0xdc, 0x78, 0x1f, 0x9b, - /*3a40:*/ 0x0f, 0x9f, 0xfa, 0x08, 0x44, 0xd5, 0xf6, 0xea, 0xac, 0xdf, 0xdf, 0xd6, 0x93, 0xc0, 0x86, 0x26, - /*3a50:*/ 0x38, 0xa7, 0x9d, 0xab, 0xe2, 0xf7, 0xc2, 0xed, 0x3e, 0xb3, 0x20, 0x2a, 0x02, 0x53, 0x3b, 0xa9, - /*3a60:*/ 0x4c, 0xa8, 0xef, 0x6c, 0x11, 0xac, 0x2f, 0x81, 0x4a, 0xf7, 0x8b, 0xba, 0x9a, 0x28, 0xc2, 0x9d, - /*3a70:*/ 0xf5, 0x33, 0x59, 0x05, 0x65, 0x84, 0x2e, 0xf0, 0x4b, 0xce, 0x5c, 0x93, 0x62, 0x4a, 0x79, 0x9d, - /*3a80:*/ 0x35, 0x07, 0xb0, 0x2a, 0x62, 0x52, 0x2e, 0xea, 0xe3, 0xff, 0xaa, 0xac, 0x62, 0x05, 0x5f, 0x08, - /*3a90:*/ 0x1d, 0x36, 0xcb, 0x8e, 0xdf, 0xf2, 0xc2, 0xb9, 0xa3, 0xd7, 0xea, 0x17, 0x40, 0xcb, 0x4c, 0xf2, - /*3aa0:*/ 0xb2, 0xe7, 0xf0, 0x02, 0x36, 0xb7, 0xb5, 0x42, 0x09, 0xa7, 0x24, 0x47, 0x6a, 0x5d, 0xf6, 0x60, - /*3ab0:*/ 0x62, 0x5c, 0x0b, 0xac, 0x39, 0xf8, 0x29, 0xed, 0x49, 0xc3, 0x57, 0x22, 0x7c, 0xa3, 0xf8, 0x83, - /*3ac0:*/ 0x6d, 0xa3, 0x84, 0xa4, 0x60, 0xb9, 0x45, 0x6e, 0x52, 0x0f, 0x19, 0xe4, 0x3a, 0x57, 0x78, 0xed, - /*3ad0:*/ 0xe4, 0xea, 0x28, 0xcc, 0x9a, 0x00, 0x4f, 0xaf, 0x3a, 0x2d, 0x07, 0xc0, 0x3d, 0xc8, 0x9b, 0xda, - /*3ae0:*/ 0x25, 0x40, 0x10, 0x8f, 0xdb, 0x58, 0x65, 0x53, 0x18, 0x06, 0xb0, 0xf3, 0x95, 0x8a, 0x3a, 0x7e, - /*3af0:*/ 0x14, 0xc4, 0x17, 0xc5, 0x8d, 0xc5, 0x12, 0x67, 0x63, 0x0e, 0x11, 0x43, 0xb5, 0x15, 0x76, 0x07, - /*3b00:*/ 0x7c, 0x17, 0x18, 0x97, 0x76, 0xa4, 0xdd, 0x54, 0x0c, 0x4a, 0x04, 0x2f, 0x5c, 0x50, 0x5a, 0x2a, - /*3b10:*/ 0xa6, 0xe1, 0x92, 0xc7, 0x85, 0xb3, 0x73, 0x84, 0x2f, 0x72, 0xb6, 0xd7, 0x66, 0xe8, 0xb3, 0x8c, - /*3b20:*/ 0x2c, 0x4a, 0xf8, 0x76, 0x3c, 0x9b, 0x9a, 0x39, 0xfe, 0x94, 0xf2, 0x3b, 0xf7, 0x3e, 0x93, 0xe9, - /*3b30:*/ 0xf1, 0x21, 0x47, 0xa0, 0x8f, 0xad, 0xa9, 0xab, 0xec, 0x4e, 0x22, 0xfa, 0x0c, 0x4d, 0x22, 0xd6, - /*3b40:*/ 0xca, 0x0b, 0xf9, 0x13, 0x3a, 0x45, 0x3e, 0x0a, 0x96, 0x72, 0x45, 0x71, 0xc3, 0x80, 0xba, 0x78, - /*3b50:*/ 0x84, 0xeb, 0x61, 0xae, 0x3b, 0xf8, 0x8a, 0x30, 0xc1, 0x83, 0xf0, 0xed, 0x6b, 0x7d, 0xd1, 0x54, - /*3b60:*/ 0x97, 0x77, 0x5a, 0x12, 0xcb, 0x3c, 0x75, 0x36, 0x86, 0xad, 0xe6, 0xd5, 0x20, 0xb5, 0x7d, 0x98, - /*3b70:*/ 0xfd, 0xed, 0x34, 0xf5, 0x84, 0x06, 0xdb, 0xad, 0x61, 0x40, 0xc1, 0xbc, 0x13, 0x6c, 0x02, 0xfa, - /*3b80:*/ 0x0f, 0xd2, 0xd3, 0x00, 0x13, 0x40, 0x8c, 0x2f, 0x82, 0x9a, 0x0c, 0xc6, 0x90, 0x52, 0xc1, 0x82, - /*3b90:*/ 0xe3, 0xc5, 0x6d, 0xcf, 0x00, 0x24, 0x61, 0x17, 0x18, 0xf7, 0xb4, 0xce, 0x1f, 0x16, 0x60, 0xa4, - /*3ba0:*/ 0x87, 0x4f, 0xa1, 0x8d, 0xc3, 0x4d, 0xd9, 0x83, 0x6c, 0x48, 0x17, 0x8d, 0xce, 0x42, 0xad, 0x49, - /*3bb0:*/ 0x41, 0xbb, 0xec, 0x6f, 0x6b, 0xb0, 0x69, 0x58, 0x86, 0x9c, 0xd9, 0x3f, 0x2e, 0xcf, 0x43, 0xfb, - /*3bc0:*/ 0x19, 0xc4, 0xfc, 0xd4, 0x61, 0x5f, 0x9a, 0xd4, 0xb2, 0x55, 0x4a, 0x71, 0x00, 0xf6, 0xb5, 0xe4, - /*3bd0:*/ 0xe6, 0x49, 0x26, 0x6a, 0xe7, 0x51, 0x38, 0xca, 0x94, 0x33, 0x1b, 0xb1, 0x04, 0x36, 0x93, 0xfe, - /*3be0:*/ 0xdb, 0xb1, 0xb3, 0xaa, 0x09, 0x88, 0x9f, 0x2e, 0xf4, 0xbc, 0xb7, 0xbd, 0x35, 0x11, 0xa8, 0xa3, - /*3bf0:*/ 0xdb, 0xc7, 0x32, 0x50, 0x14, 0x0b, 0xe1, 0xd3, 0x5b, 0xfe, 0x94, 0xa9, 0x13, 0xa2, 0xa1, 0xc7, - /*3c00:*/ 0xf0, 0xad, 0xac, 0xed, 0x3b, 0xc7, 0x51, 0x20, 0xc6, 0x7b, 0xf6, 0xcf, 0xb6, 0xaf, 0x2f, 0xf0, - /*3c10:*/ 0x36, 0xc7, 0xf9, 0xdb, 0x86, 0x20, 0x2d, 0xe6, 0xb9, 0x75, 0x01, 0xcf, 0x0b, 0x4c, 0x27, 0x17, - /*3c20:*/ 0x30, 0x90, 0x76, 0x76, 0x1f, 0x39, 0x5f, 0x8d, 0xbd, 0xb4, 0x1a, 0xf9, 0x1a, 0xde, 0x2e, 0x98, - /*3c30:*/ 0xb5, 0x45, 0xc5, 0x55, 0xcf, 0x58, 0x5d, 0xf2, 0x2b, 0xb7, 0x0e, 0xfe, 0xc5, 0xf2, 0x8a, 0xa6, - /*3c40:*/ 0x53, 0xcb, 0x44, 0xc5, 0x0a, 0x4b, 0x9a, 0x7f, 0x4b, 0x0e, 0x9c, 0x48, 0xa3, 0x6a, 0xdb, 0x47, - /*3c50:*/ 0x8e, 0x1b, 0x76, 0xb0, 0x3d, 0xdc, 0x88, 0xda, 0x45, 0xf4, 0x0d, 0x91, 0x90, 0x4f, 0xc0, 0xff, - /*3c60:*/ 0xaf, 0xc3, 0x98, 0x34, 0xea, 0x41, 0xd6, 0x37, 0x93, 0x4a, 0x40, 0x85, 0xb0, 0xe6, 0xfc, 0xe1, - /*3c70:*/ 0x79, 0x9b, 0x61, 0x72, 0x7b, 0x70, 0xde, 0xd3, 0x6d, 0x1b, 0x18, 0xfd, 0x29, 0x01, 0xa9, 0xe8, - /*3c80:*/ 0xc2, 0x0f, 0x05, 0xaf, 0xf2, 0x31, 0xd0, 0x63, 0x9d, 0xd3, 0xee, 0xd9, 0xdf, 0x50, 0x1e, 0xa9, - /*3c90:*/ 0x2f, 0x47, 0x50, 0x6b, 0xda, 0x1c, 0x6e, 0x8e, 0x7e, 0x45, 0x1f, 0xb7, 0xd1, 0xdb, 0xc6, 0xa1, - /*3ca0:*/ 0xbd, 0x50, 0xdb, 0xa0, 0xfd, 0xf5, 0xa5, 0x46, 0xb9, 0x0f, 0x70, 0xf1, 0xea, 0x23, 0xb6, 0x44, - /*3cb0:*/ 0x92, 0x76, 0x90, 0x34, 0x97, 0x72, 0x26, 0xbb, 0xdd, 0xb6, 0x5f, 0xbf, 0xa6, 0x83, 0x25, 0x68, - /*3cc0:*/ 0x33, 0x32, 0x42, 0xe5, 0x3e, 0xa0, 0x34, 0xf7, 0x65, 0xef, 0xf8, 0x41, 0x16, 0xf3, 0x17, 0x59, - /*3cd0:*/ 0xc4, 0x74, 0x50, 0xa5, 0xdb, 0xbc, 0x23, 0xe9, 0x70, 0x60, 0xe2, 0x80, 0xc8, 0x87, 0x87, 0xee, - /*3ce0:*/ 0x32, 0x3e, 0xa6, 0x90, 0xa1, 0x58, 0xad, 0x77, 0xca, 0x10, 0xfb, 0xaf, 0xc3, 0x5f, 0xbe, 0x13, - /*3cf0:*/ 0x66, 0x35, 0xea, 0x65, 0x34, 0xcc, 0xb6, 0x5c, 0x8e, 0x0c, 0x8d, 0x1d, 0xf3, 0xe7, 0x1b, 0x9c, - /*3d00:*/ 0x02, 0x76, 0xde, 0xd4, 0xa0, 0x19, 0x30, 0x0b, 0xba, 0x73, 0x26, 0x46, 0xad, 0x0d, 0x4c, 0x4a, - /*3d10:*/ 0xce, 0xff, 0xb2, 0x43, 0x4f, 0xed, 0x7b, 0x42, 0x71, 0x1e, 0x6f, 0x61, 0x48, 0x8f, 0x90, 0x29, - /*3d20:*/ 0xe5, 0xf4, 0xbb, 0x70, 0xac, 0x5e, 0xb5, 0x16, 0x44, 0xdf, 0xd7, 0x83, 0xc4, 0x38, 0x05, 0x35, - /*3d30:*/ 0xa8, 0xc3, 0x33, 0x65, 0x45, 0x2e, 0x77, 0xe5, 0x8c, 0xe7, 0x3e, 0x5f, 0x56, 0xa2, 0x1a, 0x86, - /*3d40:*/ 0x9a, 0xce, 0xf1, 0x55, 0xc0, 0x32, 0x22, 0xb7, 0x60, 0x24, 0x7a, 0x3f, 0x79, 0x8b, 0xd5, 0xef, - /*3d50:*/ 0xc3, 0x1a, 0xd7, 0xfa, 0x86, 0x76, 0x57, 0xd4, 0x91, 0xdc, 0xcc, 0x94, 0x0c, 0x51, 0x70, 0x4c, - /*3d60:*/ 0xdd, 0xde, 0xce, 0xe9, 0x95, 0xcb, 0x57, 0x6c, 0x46, 0x8a, 0xda, 0xd7, 0xd0, 0xa6, 0x84, 0x7f, - /*3d70:*/ 0xbc, 0xbc, 0x5c, 0xc1, 0x00, 0xe1, 0xf3, 0xb2, 0xa7, 0x66, 0x8b, 0xe3, 0x7f, 0x7d, 0x26, 0xd3, - /*3d80:*/ 0x7c, 0xa9, 0x09, 0xb7, 0x77, 0x9a, 0x09, 0xe4, 0x5c, 0x40, 0x31, 0x22, 0x80, 0x29, 0x78, 0x4a, - /*3d90:*/ 0xa4, 0xef, 0x96, 0x57, 0x86, 0x87, 0xe0, 0x05, 0xf8, 0x53, 0xbf, 0xa5, 0x8b, 0x8d, 0xa8, 0x9c, - /*3da0:*/ 0x24, 0x45, 0x89, 0xd3, 0x3e, 0x05, 0xf3, 0xb5, 0x10, 0x0d, 0xeb, 0xe8, 0x07, 0x5d, 0x35, 0x97, - /*3db0:*/ 0x58, 0xc1, 0x3c, 0xc4, 0xcf, 0xf4, 0xff, 0xd6, 0xf7, 0xa5, 0x00, 0x26, 0xc0, 0x2d, 0xdd, 0x14, - /*3dc0:*/ 0xc2, 0x25, 0xe2, 0x99, 0xbc, 0xce, 0x26, 0x85, 0x6d, 0x42, 0x7b, 0x78, 0xba, 0x20, 0x6d, 0x35, - /*3dd0:*/ 0xac, 0xd6, 0x53, 0x10, 0x36, 0xb5, 0xe7, 0x15, 0xe1, 0x69, 0x97, 0xc1, 0xab, 0x88, 0x25, 0x1d, - /*3de0:*/ 0xac, 0xf9, 0x1c, 0xc9, 0xa8, 0xc8, 0x1e, 0xc7, 0x06, 0x5d, 0x3c, 0x95, 0x55, 0xa3, 0xd1, 0xa8, - /*3df0:*/ 0x6e, 0xe3, 0x27, 0x9c, 0x11, 0x9a, 0xac, 0x64, 0x1a, 0xe2, 0xde, 0xb7, 0x10, 0x01, 0x9d, 0xe1, - /*3e00:*/ 0xcc, 0xdf, 0xfc, 0x8c, 0x99, 0x6e, 0x7b, 0x92, 0x57, 0x5b, 0x53, 0x43, 0x71, 0xab, 0x5c, 0xf6, - /*3e10:*/ 0x4c, 0xe6, 0xdf, 0x5e, 0x91, 0xfd, 0xe4, 0x32, 0x51, 0x23, 0x35, 0xff, 0x33, 0xa3, 0xaa, 0x77, - /*3e20:*/ 0xd3, 0xf2, 0xdd, 0x60, 0x71, 0x1c, 0xb0, 0x90, 0xb5, 0x46, 0x8e, 0x47, 0xd5, 0x3e, 0x1c, 0xfd, - /*3e30:*/ 0x72, 0xe8, 0xeb, 0x4d, 0xf4, 0x5e, 0xe3, 0x03, 0xfa, 0x8b, 0x73, 0x9b, 0x9a, 0xba, 0xc9, 0x78, - /*3e40:*/ 0xf0, 0xa2, 0x5f, 0xdb, 0xd1, 0x71, 0x26, 0xae, 0xf4, 0x0c, 0x31, 0xcd, 0x40, 0xe5, 0xfc, 0xcd, - /*3e50:*/ 0xf9, 0x14, 0xde, 0xc8, 0x21, 0xc2, 0x6b, 0xf8, 0xbb, 0x3d, 0xcf, 0x70, 0xd3, 0xa7, 0x17, 0x9c, - /*3e60:*/ 0xbf, 0xde, 0xce, 0x8f, 0xa3, 0xc8, 0xbc, 0xcb, 0xbc, 0xa8, 0x68, 0x8f, 0xd8, 0xe3, 0xbc, 0x16, - /*3e70:*/ 0x3a, 0x8c, 0x42, 0x7d, 0x0d, 0x8f, 0xad, 0xe9, 0x03, 0x10, 0x3a, 0x4f, 0x31, 0x7c, 0x0a, 0x09, - /*3e80:*/ 0xe0, 0x6c, 0x42, 0xdf, 0x8e, 0x4e, 0xb2, 0xa1, 0xc5, 0x61, 0x7f, 0x49, 0xd7, 0xc0, 0x5c, 0x66, - /*3e90:*/ 0x7d, 0x13, 0x0a, 0xe6, 0x90, 0x08, 0xad, 0x8f, 0x28, 0x3b, 0x13, 0xef, 0x62, 0x8e, 0x35, 0xe2, - /*3ea0:*/ 0x26, 0x8d, 0xa1, 0x6a, 0x49, 0xcc, 0xba, 0x5a, 0x40, 0xcf, 0x80, 0xb1, 0xac, 0x65, 0xf9, 0xeb, - /*3eb0:*/ 0x5e, 0xd3, 0xa1, 0xda, 0x8b, 0x2d, 0x99, 0x7b, 0x55, 0x21, 0x1a, 0x32, 0x0c, 0x9b, 0x5b, 0x68, - /*3ec0:*/ 0x44, 0x26, 0x78, 0x14, 0x1d, 0xbe, 0xd8, 0x75, 0x17, 0x64, 0x98, 0x91, 0x19, 0xfb, 0x11, 0xba, - /*3ed0:*/ 0xfc, 0xa2, 0x77, 0x27, 0xd3, 0x00, 0xd0, 0xb1, 0x9d, 0x03, 0x24, 0x0a, 0xac, 0x3f, 0x1e, 0xb4, - /*3ee0:*/ 0x81, 0xd4, 0xd5, 0xef, 0x2b, 0xd0, 0x24, 0x38, 0x34, 0xd3, 0xa3, 0x54, 0x06, 0x22, 0xd5, 0xf2, - /*3ef0:*/ 0x11, 0x28, 0xb5, 0xaf, 0x28, 0x09, 0x3a, 0xea, 0xd8, 0x2e, 0xb7, 0x13, 0xe3, 0xdc, 0x80, 0x57, - /*3f00:*/ 0x91, 0xfa, 0x5a, 0xab, 0x6d, 0x01, 0x9b, 0x1b, 0x42, 0x37, 0x9c, 0xf0, 0xb1, 0xfb, 0xcc, 0x2c, - /*3f10:*/ 0xc6, 0xe8, 0xe7, 0xd6, 0xad, 0x44, 0xd9, 0xab, 0xaf, 0x99, 0x5e, 0xd9, 0x4b, 0x39, 0x2b, 0x08, - /*3f20:*/ 0x4c, 0x52, 0xdb, 0x54, 0x2d, 0x3c, 0x22, 0x4e, 0x59, 0x6f, 0x69, 0xb9, 0xd6, 0xea, 0x56, 0x7d, - /*3f30:*/ 0x8c, 0x21, 0x3f, 0x92, 0x73, 0x4c, 0xb7, 0xd0, 0x00, 0xfe, 0x52, 0x00, 0xed, 0x82, 0xb4, 0x4b, - /*3f40:*/ 0x37, 0x35, 0x40, 0x96, 0xd6, 0x25, 0xcf, 0xdc, 0x16, 0x1d, 0x27, 0xd4, 0xb3, 0xb3, 0x67, 0x95, - /*3f50:*/ 0x79, 0xbb, 0xbc, 0xd3, 0x57, 0xe0, 0xea, 0x55, 0xaf, 0x92, 0x12, 0x6b, 0x72, 0x0b, 0xcc, 0x13, - /*3f60:*/ 0xbd, 0xc1, 0xb2, 0x21, 0xce, 0xd0, 0x0d, 0x39, 0x65, 0x69, 0x2a, 0x62, 0x90, 0x90, 0xcf, 0x95, - /*3f70:*/ 0x42, 0xe0, 0x92, 0x1e, 0xb9, 0x15, 0x98, 0x80, 0x2a, 0xda, 0x24, 0xb3, 0x1a, 0xe2, 0xb0, 0x1d, - /*3f80:*/ 0xa0, 0x34, 0x78, 0xbc, 0x05, 0x33, 0x3d, 0xac, 0xfc, 0x5b, 0x47, 0xac, 0x13, 0x25, 0x66, 0x36, - /*3f90:*/ 0x42, 0xa8, 0xbc, 0x25, 0xba, 0x71, 0xf9, 0x84, 0xf1, 0x96, 0xd6, 0x1e, 0xf6, 0x4e, 0x6c, 0x21, - /*3fa0:*/ 0x65, 0x45, 0x20, 0x17, 0xa0, 0x02, 0x1e, 0xdf, 0xe7, 0xb9, 0xd6, 0xb8, 0x73, 0xd3, 0xc9, 0xa2, - /*3fb0:*/ 0x94, 0xa6, 0x32, 0xe3, 0x87, 0x7f, 0x21, 0x26, 0x6d, 0xf1, 0xf5, 0x78, 0x31, 0x70, 0x54, 0x7f, - /*3fc0:*/ 0x76, 0xc7, 0x99, 0xef, 0x77, 0x39, 0x1a, 0xf5, 0xa5, 0x3a, 0x5b, 0x5c, 0xf8, 0x07, 0xef, 0x67, - /*3fd0:*/ 0x61, 0x54, 0xe8, 0x97, 0x0f, 0xc6, 0x5f, 0x1d, 0x83, 0x6f, 0x65, 0x14, 0x42, 0x90, 0x1d, 0x21, - /*3fe0:*/ 0x98, 0x8d, 0x1c, 0x8e, 0xc6, 0x84, 0xd6, 0xc0, 0x92, 0xb4, 0x8c, 0xb0, 0xcb, 0xd9, 0xf4, 0x90, - /*3ff0:*/ 0xa6, 0x25, 0x07, 0x97, 0x1d, 0x13, 0x2c, 0xaf, 0xf2, 0xc7, 0xc3, 0xa9, 0x1e, 0x4a, 0xd9, 0x26, - /*4000:*/ 0x30, 0x3c, 0x44, 0x2a, 0x20, 0xf0, 0xa7, 0x96, 0x06, 0xb9, 0x4d, 0x09, 0xa5, 0x86, 0xbf, 0x95, - /*4010:*/ 0x91, 0x17, 0x3f, 0x20, 0x2b, 0xca, 0xa1, 0xfb, 0x61, 0xba, 0x27, 0x0d, 0x28, 0x74, 0xb9, 0xf6, - /*4020:*/ 0xb3, 0x26, 0xb0, 0x49, 0x73, 0x3c, 0xf0, 0x67, 0xc4, 0xc5, 0xa3, 0x94, 0x6b, 0x26, 0xcd, 0x8d, - /*4030:*/ 0x26, 0x8a, 0x6b, 0x90, 0x74, 0xab, 0x01, 0xc6, 0x63, 0x62, 0x44, 0x59, 0x41, 0x41, 0xd4, 0x10, - /*4040:*/ 0x0c, 0xdc, 0x1a, 0x20, 0xe7, 0xb3, 0x3f, 0x98, 0xc5, 0xb9, 0x56, 0x7b, 0x4a, 0xc1, 0x7e, 0x32, - /*4050:*/ 0x22, 0x5f, 0xf3, 0x85, 0x47, 0x38, 0xf7, 0xf5, 0xab, 0xc6, 0xcd, 0x8e, 0x10, 0x25, 0xa6, 0x35, - /*4060:*/ 0xd4, 0x80, 0xad, 0xd5, 0xc8, 0xcb, 0x85, 0xdf, 0x64, 0x8f, 0x55, 0x0e, 0x56, 0x76, 0x0d, 0x8f, - /*4070:*/ 0x6c, 0x62, 0xbf, 0x61, 0x01, 0xc5, 0x17, 0xf7, 0x8e, 0xa5, 0x2d, 0xe6, 0x5a, 0x9d, 0xc1, 0x71, - /*4080:*/ 0x4c, 0x18, 0x2c, 0x8d, 0x07, 0x34, 0xf2, 0x77, 0x5f, 0xc9, 0x24, 0x6c, 0x43, 0x34, 0xa1, 0x50, - /*4090:*/ 0xe3, 0xb5, 0xde, 0x0d, 0x0f, 0xd8, 0xae, 0x34, 0xf0, 0xb8, 0x56, 0xb4, 0x75, 0xc7, 0xc1, 0x85, - /*40a0:*/ 0xd8, 0x3e, 0x99, 0x54, 0x21, 0xbd, 0x53, 0x9b, 0x03, 0xab, 0xa2, 0x31, 0x32, 0x1c, 0xf4, 0xc6, - /*40b0:*/ 0x05, 0xa7, 0x80, 0x6d, 0x66, 0xf4, 0x94, 0x7c, 0xe5, 0xd6, 0xa4, 0x48, 0x30, 0x79, 0xd6, 0xbf, - /*40c0:*/ 0x8e, 0x84, 0x09, 0xea, 0x17, 0xeb, 0x17, 0x7e, 0x09, 0xaa, 0xd9, 0x69, 0x98, 0xd6, 0xf2, 0xa7, - /*40d0:*/ 0x36, 0xd1, 0x90, 0xed, 0xd4, 0xde, 0x5f, 0xe1, 0xa1, 0xa2, 0x19, 0x9d, 0x26, 0x73, 0x14, 0xd0, - /*40e0:*/ 0x63, 0x2f, 0xc7, 0xf7, 0x65, 0x06, 0x5d, 0x3b, 0x97, 0xbd, 0x18, 0x03, 0xa6, 0x0b, 0xa4, 0x85, - /*40f0:*/ 0xa5, 0x97, 0x6c, 0x2f, 0x04, 0x42, 0x68, 0xcf, 0x9a, 0x9b, 0x64, 0xa6, 0xec, 0x56, 0x6b, 0x00, - /*4100:*/ 0xbc, 0x6f, 0x73, 0x4a, 0xa9, 0xf9, 0xa3, 0x72, 0x3b, 0x81, 0xb4, 0xcd, 0x27, 0xbf, 0xad, 0x3c, - /*4110:*/ 0x8f, 0x87, 0xb7, 0x63, 0x3d, 0x90, 0x20, 0xde, 0xf5, 0x48, 0xc9, 0x3a, 0x53, 0xed, 0x9d, 0x9a, - /*4120:*/ 0xe6, 0xa4, 0xcd, 0xec, 0x02, 0x37, 0x91, 0xef, 0x4e, 0x61, 0x07, 0x7d, 0x3c, 0x15, 0x98, 0xbd, - /*4130:*/ 0xfc, 0x15, 0xc1, 0xc0, 0xc4, 0x3e, 0xe5, 0x90, 0x6f, 0x33, 0x2b, 0xcb, 0xeb, 0x19, 0x50, 0x9e, - /*4140:*/ 0xe1, 0x07, 0x99, 0x76, 0x16, 0x96, 0x04, 0x7a, 0xb1, 0xd2, 0xb6, 0x70, 0xd9, 0x89, 0x66, 0x3e, - /*4150:*/ 0x55, 0x2b, 0xa7, 0xb8, 0xd1, 0xac, 0xb5, 0x04, 0xc8, 0x71, 0x4e, 0xbf, 0x7c, 0x0e, 0x80, 0x98, - /*4160:*/ 0xa9, 0xe0, 0x4e, 0x2e, 0x4c, 0x24, 0xa0, 0x98, 0x32, 0xf8, 0xce, 0xf0, 0x8d, 0x1e, 0xc2, 0xce, - /*4170:*/ 0xa7, 0xd6, 0xf5, 0xa2, 0x1a, 0x71, 0xae, 0x97, 0xcb, 0xe5, 0x37, 0xe8, 0x09, 0xbd, 0xa2, 0x72, - /*4180:*/ 0x00, 0xf5, 0x18, 0x6a, 0x70, 0x4a, 0x07, 0xfc, 0x94, 0x0e, 0x80, 0xf9, 0x7e, 0x86, 0x60, 0x07, - /*4190:*/ 0x93, 0xa5, 0x06, 0xda, 0xd8, 0xb2, 0x36, 0x55, 0xaa, 0x31, 0x7c, 0x93, 0x89, 0x0f, 0xfa, 0x9c, - /*41a0:*/ 0xb7, 0x58, 0x0a, 0x2d, 0x92, 0xfa, 0xb1, 0x3a, 0xde, 0x7e, 0x9a, 0x2f, 0xdc, 0xd5, 0x5d, 0x4c, - /*41b0:*/ 0xb6, 0x15, 0x90, 0x91, 0xe7, 0xe8, 0x40, 0xc8, 0x7e, 0x3a, 0x97, 0xb9, 0xa3, 0xce, 0x27, 0x17, - /*41c0:*/ 0x11, 0xc8, 0x68, 0x5e, 0x09, 0x69, 0x59, 0xce, 0x59, 0x0b, 0x3f, 0x00, 0x61, 0x58, 0xcd, 0xed, - /*41d0:*/ 0x0d, 0x25, 0x3b, 0x67, 0x9e, 0xe8, 0xdd, 0x80, 0x64, 0xad, 0x7b, 0xe0, 0xdc, 0x8d, 0x0d, 0xa8, - /*41e0:*/ 0x3a, 0x5f, 0x91, 0xd2, 0x28, 0x8e, 0x94, 0x3f, 0x44, 0x76, 0x36, 0xa8, 0x89, 0xaa, 0xce, 0x88, - /*41f0:*/ 0x18, 0x0f, 0x66, 0x1a, 0xce, 0x53, 0x8a, 0xea, 0x18, 0xdb, 0x4c, 0xae, 0x2c, 0x2a, 0x1e, 0xfc, - /*4200:*/ 0xe2, 0x92, 0xbe, 0x45, 0x8f, 0x2e, 0x07, 0xf8, 0x14, 0xba, 0x07, 0xaa, 0x95, 0xf5, 0xaf, 0xe2, - /*4210:*/ 0x8c, 0x87, 0x8d, 0xbf, 0xce, 0x2d, 0x3f, 0x83, 0xc8, 0x24, 0x3e, 0xda, 0x9e, 0xf2, 0x24, 0xbe, - /*4220:*/ 0xef, 0x4d, 0x6d, 0x89, 0xb4, 0x06, 0x2e, 0x8e, 0xf8, 0xdc, 0x12, 0xc2, 0x84, 0xed, 0x03, 0x1f, - /*4230:*/ 0x17, 0x5b, 0x00, 0xcc, 0x12, 0x40, 0xf1, 0x19, 0xe1, 0xd2, 0x92, 0x65, 0x29, 0x36, 0xac, 0xa8, - /*4240:*/ 0x8d, 0x34, 0x2b, 0xa8, 0xd5, 0xf6, 0x78, 0x1c, 0x06, 0xf2, 0xfe, 0xf9, 0x2f, 0x0c, 0x13, 0x1a, - /*4250:*/ 0x02, 0xe9, 0x58, 0x85, 0xb1, 0x6f, 0x5f, 0x5c, 0xd7, 0x2f, 0x38, 0xe0, 0x5e, 0xd6, 0x26, 0x71, - /*4260:*/ 0x5e, 0xcd, 0xda, 0xf2, 0x82, 0x1b, 0x9b, 0xf9, 0xf5, 0xb3, 0x13, 0x1c, 0x7d, 0xec, 0xab, 0x84, - /*4270:*/ 0x4d, 0x07, 0x71, 0x59, 0x63, 0x96, 0x3e, 0x15, 0xc9, 0x74, 0x89, 0x5b, 0x64, 0xaf, 0xc2, 0xc3, - /*4280:*/ 0xef, 0x6f, 0x2b, 0xd1, 0x26, 0x5a, 0x0e, 0xf0, 0x49, 0x08, 0xf7, 0x56, 0xd3, 0x15, 0xb7, 0x69, - /*4290:*/ 0x5b, 0x0b, 0x41, 0x07, 0x9f, 0x29, 0x66, 0x9b, 0x90, 0x56, 0xb6, 0xc0, 0x12, 0xfe, 0x65, 0x2b, - /*42a0:*/ 0x0e, 0xe4, 0xf8, 0xc5, 0xa4, 0xbf, 0xd5, 0xb1, 0x71, 0x22, 0x94, 0x49, 0x2c, 0x70, 0x03, 0xe3, - /*42b0:*/ 0xfa, 0x1e, 0xb6, 0x06, 0x5a, 0xeb, 0x3f, 0xc7, 0x0a, 0x24, 0x8c, 0x03, 0xa4, 0xe4, 0x10, 0x80, - /*42c0:*/ 0x57, 0x60, 0xca, 0xb6, 0xfb, 0x0a, 0x74, 0xe9, 0x0f, 0xc5, 0x93, 0x34, 0xb7, 0x7f, 0x25, 0x2c, - /*42d0:*/ 0x26, 0xb3, 0x36, 0x95, 0x42, 0xab, 0xc5, 0xb8, 0x3c, 0x23, 0xb2, 0xd4, 0xcd, 0xe3, 0x09, 0xe6, - /*42e0:*/ 0xb3, 0x6b, 0x77, 0x4a, 0x3f, 0xf7, 0xb0, 0x33, 0x13, 0xbe, 0x95, 0xa8, 0x5d, 0xa9, 0x10, 0x1b, - /*42f0:*/ 0x02, 0x53, 0xb4, 0x98, 0x0d, 0x02, 0x1b, 0xc2, 0xef, 0x1d, 0x3a, 0x22, 0x85, 0x74, 0xd5, 0xd5, - /*4300:*/ 0x3c, 0xd8, 0x12, 0x0b, 0xaf, 0x35, 0xac, 0x15, 0x3f, 0x90, 0x20, 0x33, 0x96, 0xb1, 0xf5, 0x6a, - /*4310:*/ 0x60, 0x0a, 0xaf, 0x85, 0x11, 0xe4, 0xeb, 0xae, 0x75, 0x47, 0xa8, 0x93, 0xef, 0xc6, 0x27, 0x1f, - /*4320:*/ 0xa9, 0xe3, 0x13, 0xbd, 0xab, 0x70, 0x3c, 0x3e, 0x08, 0xa7, 0x24, 0x97, 0xf8, 0xca, 0xf6, 0x2f, - /*4330:*/ 0x16, 0x29, 0xe0, 0x4c, 0xd3, 0x8c, 0x0f, 0xd7, 0x9b, 0x7b, 0x2b, 0xde, 0xba, 0x0f, 0xcf, 0xba, - /*4340:*/ 0x69, 0xa9, 0xde, 0x2e, 0xa4, 0x85, 0xa5, 0x9e, 0x29, 0x95, 0xdc, 0xc7, 0x25, 0x00, 0xc9, 0x5a, - /*4350:*/ 0x96, 0xa3, 0x90, 0x06, 0x4f, 0x82, 0x6c, 0x87, 0x98, 0x86, 0x77, 0xc3, 0x71, 0xbb, 0xec, 0x98, - /*4360:*/ 0x60, 0x36, 0x80, 0x02, 0x00, 0xbc, 0x26, 0xaa, 0x4a, 0x91, 0xed, 0x66, 0x9f, 0x8f, 0x0a, 0x8a, - /*4370:*/ 0xf7, 0xdc, 0x68, 0x9d, 0x4e, 0xa3, 0x00, 0x52, 0x6d, 0x00, 0x04, 0xae, 0x65, 0xd5, 0x9d, 0x09, - /*4380:*/ 0x59, 0xee, 0x06, 0x5e, 0x3c, 0x1f, 0xb9, 0xca, 0xff, 0xa9, 0x6b, 0xe0, 0x41, 0x31, 0x09, 0x21, - /*4390:*/ 0xb4, 0x62, 0xd2, 0xf4, 0x6e, 0x2f, 0xcc, 0x84, 0xdd, 0xd4, 0x67, 0x76, 0x5f, 0x7e, 0xfb, 0x1a, - /*43a0:*/ 0xf9, 0xbc, 0xb0, 0xb6, 0x6b, 0x1a, 0x36, 0x3c, 0xb0, 0x67, 0x1f, 0x70, 0x54, 0x71, 0x1f, 0xa2, - /*43b0:*/ 0x28, 0x3d, 0x2f, 0x50, 0xcc, 0xdd, 0x36, 0x69, 0xbd, 0x39, 0xf5, 0x86, 0x1a, 0x46, 0x54, 0xdf, - /*43c0:*/ 0x5a, 0x8a, 0x24, 0x8d, 0xe5, 0x87, 0x9f, 0x79, 0x9b, 0xe0, 0x3d, 0x31, 0xc0, 0xe0, 0xd9, 0xd1, - /*43d0:*/ 0xb0, 0x8a, 0x6b, 0xa3, 0xa9, 0x4d, 0xcd, 0xf7, 0x34, 0x29, 0xb9, 0x08, 0x80, 0x79, 0xa7, 0xdd, - /*43e0:*/ 0x21, 0x55, 0xe2, 0x9c, 0x49, 0x8e, 0xca, 0x9d, 0x47, 0xc7, 0x4b, 0x85, 0x26, 0x90, 0x80, 0xd6, - /*43f0:*/ 0x19, 0x5b, 0x65, 0xf8, 0xd1, 0xad, 0xb0, 0x48, 0x2a, 0xed, 0xed, 0x8a, 0xfd, 0x4d, 0xca, 0xea, - /*4400:*/ 0x9d, 0x8b, 0xd9, 0xda, 0x95, 0x30, 0x07, 0x9d, 0x65, 0x11, 0x2d, 0xff, 0x3b, 0x51, 0x82, 0xdd, - /*4410:*/ 0xcd, 0x4e, 0x73, 0x21, 0xce, 0x6f, 0xf1, 0x9d, 0x67, 0xbc, 0xaa, 0x9b, 0x51, 0x5f, 0xc4, 0x76, - /*4420:*/ 0xdf, 0x5d, 0x85, 0x89, 0xde, 0x4d, 0x7a, 0x49, 0x5b, 0x99, 0xf3, 0x22, 0x3d, 0x52, 0xcf, 0x83, - /*4430:*/ 0x57, 0x3e, 0x0f, 0x1f, 0xd0, 0x82, 0xd4, 0x0f, 0x6e, 0xac, 0xe1, 0x73, 0x52, 0xe9, 0xa4, 0x83, - /*4440:*/ 0xb0, 0x93, 0x6f, 0xf7, 0xb0, 0x36, 0x6a, 0xd4, 0x1d, 0xbc, 0xea, 0xb2, 0x30, 0x8b, 0x5a, 0x67, - /*4450:*/ 0x96, 0xd7, 0x23, 0x8d, 0xe9, 0x7d, 0x30, 0x12, 0x80, 0xb3, 0x6b, 0x32, 0x1e, 0x3d, 0x1e, 0x47, - /*4460:*/ 0xcb, 0xaf, 0x95, 0xa8, 0xf1, 0x32, 0x54, 0x18, 0x43, 0xcd, 0x57, 0xb3, 0x3c, 0x8f, 0x2b, 0x30, - /*4470:*/ 0x16, 0x73, 0x5b, 0x82, 0x9f, 0x16, 0x7f, 0xc3, 0x58, 0x0a, 0xc7, 0xc7, 0x67, 0x47, 0x70, 0xa6, - /*4480:*/ 0x54, 0xc0, 0xee, 0x54, 0xc7, 0x96, 0x04, 0xe5, 0x4e, 0xd2, 0x2a, 0xac, 0x3f, 0x13, 0x38, 0xa0, - /*4490:*/ 0xe1, 0x55, 0x80, 0x91, 0xd2, 0xf9, 0xcc, 0x4a, 0xc9, 0x2d, 0x99, 0x21, 0xf7, 0xce, 0xc7, 0xbd, - /*44a0:*/ 0xca, 0xe5, 0x27, 0x2d, 0x2a, 0x3a, 0xbe, 0xa7, 0xfc, 0x29, 0xbc, 0x29, 0x7a, 0x20, 0xb3, 0x97, - /*44b0:*/ 0x06, 0x7b, 0x22, 0x50, 0xe2, 0xaf, 0x88, 0x8b, 0x11, 0x1d, 0x01, 0xb6, 0xa4, 0x3e, 0xe7, 0x99, - /*44c0:*/ 0x41, 0x99, 0x69, 0x83, 0xcc, 0x56, 0xdc, 0xd5, 0xfe, 0x8b, 0xa7, 0xb9, 0x18, 0xa4, 0xef, 0x44, - /*44d0:*/ 0xa1, 0x26, 0x26, 0xf7, 0xfb, 0xc2, 0xbc, 0x1e, 0xff, 0x02, 0x95, 0x08, 0x1f, 0x78, 0x5f, 0xb6, - /*44e0:*/ 0xac, 0x06, 0x19, 0x77, 0x40, 0x0d, 0x80, 0x2a, 0x6e, 0x39, 0x0c, 0x97, 0xfc, 0x67, 0x95, 0x20, - /*44f0:*/ 0x1d, 0x0f, 0x3d, 0xee, 0xed, 0xab, 0xd5, 0x07, 0x91, 0xc4, 0x7f, 0xec, 0xd6, 0xcf, 0xf7, 0x4a, - /*4500:*/ 0xdc, 0x15, 0x27, 0xdc, 0x63, 0x5c, 0x56, 0x3b, 0xd1, 0x47, 0xc9, 0x4a, 0x35, 0xe2, 0x89, 0x98, - /*4510:*/ 0x83, 0xcb, 0xba, 0x53, 0xc7, 0xc1, 0x04, 0x38, 0x0b, 0xd4, 0xfd, 0xf9, 0x99, 0xbd, 0xb7, 0x92, - /*4520:*/ 0x00, 0x73, 0x63, 0x63, 0xd8, 0xcf, 0xe8, 0x81, 0xe7, 0x1e, 0xba, 0x08, 0x50, 0x2c, 0x03, 0x45, - /*4530:*/ 0xfa, 0x46, 0x48, 0x2e, 0x9e, 0xba, 0xf3, 0xc2, 0x5d, 0x2e, 0xd2, 0xf0, 0xa7, 0x88, 0x5f, 0xf0, - /*4540:*/ 0x11, 0x11, 0xb1, 0xd3, 0x13, 0x53, 0x40, 0x11, 0x24, 0xd8, 0x4f, 0x62, 0x0a, 0x15, 0x4f, 0xf0, - /*4550:*/ 0x8f, 0x6e, 0xe8, 0xeb, 0xfd, 0xcb, 0x28, 0xd6, 0x9a, 0xf3, 0x28, 0xb3, 0x2f, 0x40, 0xb7, 0xa0, - /*4560:*/ 0x54, 0x9a, 0xb4, 0x18, 0xf3, 0x80, 0x1d, 0xc4, 0xdf, 0x1e, 0x41, 0x0d, 0x0b, 0xec, 0x62, 0x20, - /*4570:*/ 0x9a, 0x1b, 0x26, 0x83, 0xff, 0xe1, 0x8d, 0xd1, 0x2e, 0xc5, 0xe7, 0xce, 0x11, 0x2e, 0xcd, 0x6a, - /*4580:*/ 0x76, 0x54, 0x0f, 0x40, 0xa0, 0x12, 0x90, 0xe0, 0x0c, 0x96, 0xba, 0x9d, 0xce, 0x67, 0xf7, 0xfd, - /*4590:*/ 0x27, 0x4b, 0xdc, 0xc5, 0x98, 0xc8, 0x70, 0x6c, 0xff, 0xa9, 0x1f, 0x87, 0x9f, 0x4e, 0x71, 0xc8, - /*45a0:*/ 0xfa, 0x9b, 0xe2, 0x9b, 0xde, 0x1b, 0x73, 0x0d, 0x60, 0x9c, 0x54, 0x8c, 0x90, 0x03, 0x2f, 0x0d, - /*45b0:*/ 0x3b, 0xef, 0x0b, 0xc5, 0x7b, 0x96, 0xa9, 0xa0, 0x46, 0xa7, 0x91, 0x0f, 0x90, 0xa6, 0x53, 0xee, - /*45c0:*/ 0x6b, 0xc4, 0x1b, 0x58, 0xd6, 0xba, 0x4e, 0x33, 0xcf, 0x26, 0xb9, 0x2d, 0xcb, 0xff, 0x92, 0x9b, - /*45d0:*/ 0x3c, 0x5d, 0x03, 0x40, 0x26, 0xd2, 0x8c, 0x6b, 0xd0, 0x57, 0x99, 0x3c, 0x9d, 0xc8, 0x8e, 0xbb, - /*45e0:*/ 0x68, 0xd2, 0x07, 0xf7, 0x35, 0x12, 0x5a, 0x91, 0xf9, 0x97, 0x11, 0x39, 0xc2, 0xc7, 0x7a, 0xf3, - /*45f0:*/ 0xba, 0x75, 0x42, 0x36, 0x9f, 0x09, 0x74, 0x14, 0x4e, 0x49, 0x40, 0x4c, 0xc0, 0xe4, 0x4a, 0x79, - /*4600:*/ 0xe7, 0xd7, 0xaa, 0x77, 0x09, 0x07, 0xf5, 0xc6, 0x31, 0x2b, 0x63, 0xec, 0xd1, 0x92, 0xc0, 0x46, - /*4610:*/ 0x31, 0xe8, 0x62, 0x5b, 0x87, 0xb3, 0xb9, 0x11, 0x65, 0x29, 0x34, 0x52, 0xcc, 0xb2, 0x15, 0xeb, - /*4620:*/ 0x13, 0x25, 0xeb, 0x84, 0xa5, 0x28, 0xda, 0xb5, 0x77, 0x2a, 0x7b, 0x28, 0x9e, 0x45, 0xaa, 0x45, - /*4630:*/ 0x24, 0x56, 0xe9, 0xe1, 0x5f, 0x08, 0x01, 0x10, 0xff, 0x92, 0x61, 0x1f, 0x53, 0x56, 0x43, 0x4c, - /*4640:*/ 0xff, 0xa1, 0xb0, 0x4a, 0x14, 0xc8, 0x6d, 0x86, 0xa9, 0x33, 0xae, 0x4f, 0xdf, 0xbb, 0x82, 0xfb, - /*4650:*/ 0xd9, 0x97, 0x7f, 0x02, 0xf5, 0x0c, 0xe7, 0xf5, 0x73, 0x6e, 0xb7, 0xc7, 0xb6, 0xc0, 0xd0, 0x32, - /*4660:*/ 0x26, 0x6b, 0xc1, 0xd8, 0x0a, 0xac, 0x96, 0x6a, 0xfb, 0x46, 0x65, 0xb6, 0x05, 0x73, 0x30, 0xd0, - /*4670:*/ 0xc4, 0xab, 0xd8, 0x1a, 0x21, 0x41, 0x17, 0x9a, 0xdb, 0x6c, 0x52, 0x67, 0x25, 0xd6, 0x7d, 0x36, - /*4680:*/ 0xe1, 0x5b, 0xa3, 0x7f, 0x3a, 0xd3, 0xe9, 0xdd, 0xfd, 0xd1, 0x06, 0xc3, 0xda, 0x52, 0x58, 0x8a, - /*4690:*/ 0x20, 0x73, 0x32, 0xa0, 0x78, 0x98, 0x4d, 0x9c, 0x36, 0xec, 0x50, 0x3a, 0x47, 0x6c, 0x0a, 0x70, - /*46a0:*/ 0x43, 0x7e, 0x5f, 0xeb, 0x69, 0xbc, 0x2a, 0x2a, 0x72, 0x81, 0x17, 0x09, 0xf5, 0x22, 0x3c, 0x2c, - /*46b0:*/ 0x5d, 0xfe, 0xc0, 0xa6, 0x9a, 0xca, 0xe4, 0xba, 0x1e, 0x05, 0x7d, 0x04, 0xdf, 0x8c, 0x77, 0x0d, - /*46c0:*/ 0xea, 0x23, 0x75, 0xef, 0x29, 0x2d, 0xbc, 0xaa, 0x70, 0xce, 0xdb, 0x1a, 0x1d, 0x26, 0xea, 0x4c, - /*46d0:*/ 0xc4, 0x04, 0x1b, 0x0d, 0x31, 0x16, 0xf5, 0xd1, 0x3c, 0x04, 0xd7, 0x99, 0x80, 0x19, 0x2c, 0x3c, - /*46e0:*/ 0xfd, 0xec, 0xb1, 0x5a, 0xa9, 0x50, 0x41, 0x58, 0x27, 0xdd, 0xb6, 0xeb, 0x05, 0x1f, 0xd5, 0xfa, - /*46f0:*/ 0x43, 0xee, 0x44, 0x03, 0xd5, 0x84, 0x1f, 0xc6, 0x8f, 0x90, 0xf8, 0xe5, 0xe7, 0x19, 0x74, 0x3c, - /*4700:*/ 0x87, 0xd1, 0x3f, 0xc2, 0x25, 0xc3, 0x3c, 0xd5, 0x82, 0xf9, 0xe0, 0x4d, 0x48, 0x0b, 0xa9, 0x45, - /*4710:*/ 0xe7, 0xbf, 0xd5, 0x79, 0x89, 0x59, 0x92, 0xd3, 0x49, 0x3e, 0x9e, 0x43, 0x95, 0x1b, 0xf9, 0x0d, - /*4720:*/ 0xb2, 0x45, 0x5e, 0x65, 0x56, 0xc1, 0x87, 0x00, 0x69, 0xbc, 0x04, 0xa3, 0xc8, 0xca, 0x01, 0xfa, - /*4730:*/ 0x70, 0x29, 0xee, 0x27, 0xb8, 0x60, 0x8a, 0xca, 0xea, 0x54, 0x5b, 0x11, 0x55, 0x6a, 0x77, 0xd6, - /*4740:*/ 0x58, 0xdc, 0xd9, 0x70, 0x0a, 0xad, 0xe9, 0xf9, 0x01, 0xab, 0x4e, 0x06, 0xec, 0xfe, 0x21, 0xdb, - /*4750:*/ 0x42, 0x87, 0x94, 0x1b, 0x49, 0x44, 0xcd, 0x3c, 0x51, 0xbf, 0xb8, 0x4c, 0x0a, 0xe4, 0x47, 0xae, - /*4760:*/ 0xfc, 0xc3, 0x94, 0x1b, 0x4d, 0x60, 0x2a, 0xec, 0x22, 0xbe, 0x48, 0x10, 0x72, 0x9c, 0x99, 0xa3, - /*4770:*/ 0x8f, 0xc1, 0x70, 0xc3, 0xe1, 0x9b, 0x80, 0x81, 0x10, 0x06, 0xc8, 0x7f, 0xf8, 0xcb, 0x62, 0x3a, - /*4780:*/ 0x65, 0xa6, 0x3d, 0x5c, 0x80, 0x97, 0xc9, 0x1b, 0x06, 0x8a, 0x90, 0xf7, 0xfa, 0x99, 0xd9, 0x19, - /*4790:*/ 0xcc, 0x47, 0x91, 0x95, 0x29, 0x55, 0xb2, 0xb6, 0x7a, 0xcc, 0xfb, 0x3a, 0xa1, 0x26, 0xbe, 0x3b, - /*47a0:*/ 0x70, 0x91, 0xed, 0x21, 0xdd, 0x59, 0x1c, 0x8c, 0x19, 0x2f, 0x33, 0x3e, 0x8f, 0xab, 0x5b, 0x80, - /*47b0:*/ 0xff, 0xac, 0x9a, 0x0e, 0xab, 0x22, 0x4e, 0x80, 0x67, 0x90, 0x5f, 0x68, 0xc1, 0x47, 0x6b, 0x35, - /*47c0:*/ 0xd8, 0x65, 0x6d, 0xd3, 0x50, 0x0d, 0x3e, 0x01, 0xda, 0x7e, 0x56, 0x10, 0xd5, 0x75, 0x7d, 0x6b, - /*47d0:*/ 0xa4, 0xef, 0xe8, 0x35, 0x01, 0xda, 0xde, 0x53, 0x9e, 0xe8, 0x31, 0x80, 0x6a, 0xf1, 0x46, 0x63, - /*47e0:*/ 0xac, 0x7b, 0x06, 0xe0, 0xcc, 0x34, 0x22, 0x55, 0x99, 0x2a, 0x17, 0x4c, 0x0a, 0x6d, 0x32, 0x57, - /*47f0:*/ 0xd4, 0x6f, 0xe7, 0x95, 0x9b, 0x71, 0x01, 0x1d, 0x94, 0x4b, 0xa2, 0x87, 0x66, 0xd0, 0xe9, 0x46, - /*4800:*/ 0x45, 0x5f, 0xc4, 0x60, 0x8f, 0x7c, 0xed, 0xb9, 0x1d, 0x66, 0x2d, 0x56, 0x43, 0xbb, 0xbe, 0x32, - /*4810:*/ 0x46, 0x89, 0xd7, 0xd4, 0xb0, 0x7f, 0x2c, 0x76, 0x0a, 0xa1, 0x10, 0x0e, 0xbb, 0xf1, 0x29, 0x7c, - /*4820:*/ 0x86, 0x98, 0x4e, 0xe3, 0x0a, 0x2f, 0xe7, 0x24, 0xc8, 0x4c, 0x37, 0xa0, 0x14, 0xc8, 0x7f, 0xae, - /*4830:*/ 0x12, 0x59, 0x9e, 0x53, 0xc0, 0x00, 0x54, 0xdd, 0xdc, 0xc6, 0x37, 0xe4, 0xb6, 0x04, 0xfa, 0x44, - /*4840:*/ 0x74, 0x94, 0xed, 0x31, 0x0a, 0xa6, 0x37, 0xf9, 0xf7, 0x34, 0x82, 0x92, 0x80, 0x2f, 0xcb, 0xc9, - /*4850:*/ 0xe7, 0x7c, 0x9a, 0x7d, 0xc1, 0x6e, 0xaf, 0x14, 0x32, 0x0c, 0x6a, 0xb9, 0x0c, 0x38, 0x18, 0xfa, - /*4860:*/ 0xc8, 0x6d, 0x25, 0xed, 0x6a, 0x78, 0x45, 0x30, 0xa3, 0x9f, 0xa3, 0x24, 0x3b, 0x3d, 0xd2, 0x98, - /*4870:*/ 0x80, 0x5e, 0x33, 0x17, 0x21, 0xa2, 0x4f, 0x20, 0x92, 0x8f, 0x1c, 0xd7, 0x5b, 0xa3, 0x19, 0x1e, - /*4880:*/ 0x2b, 0xe8, 0xc4, 0x67, 0xad, 0x62, 0xff, 0xf2, 0x68, 0xd0, 0x23, 0x70, 0x4e, 0x15, 0xf9, 0xf0, - /*4890:*/ 0xf5, 0x0a, 0x30, 0x12, 0xc3, 0x1d, 0xd4, 0xa9, 0x20, 0xd8, 0xe0, 0x20, 0x14, 0x52, 0x7b, 0x02, - /*48a0:*/ 0x5c, 0x78, 0xcb, 0x27, 0x1b, 0xd5, 0x80, 0xf9, 0x74, 0x56, 0x8c, 0x4c, 0xd1, 0x22, 0x92, 0x97, - /*48b0:*/ 0x1b, 0x05, 0x97, 0xbf, 0x17, 0xe3, 0x17, 0xfd, 0x04, 0xba, 0x64, 0xd0, 0x33, 0x18, 0xa4, 0x2d, - /*48c0:*/ 0x64, 0xbf, 0x63, 0x3c, 0x31, 0x73, 0xa3, 0x47, 0xeb, 0x93, 0xda, 0xea, 0xd8, 0xfc, 0x20, 0x66, - /*48d0:*/ 0xae, 0xc3, 0x95, 0x53, 0xd0, 0x2d, 0xd4, 0xd2, 0x8c, 0x39, 0x35, 0xcf, 0xd4, 0x5b, 0x5e, 0xc0, - /*48e0:*/ 0xaa, 0x14, 0xfc, 0x4c, 0xff, 0xd0, 0x43, 0x82, 0x87, 0x95, 0xab, 0x9f, 0x2e, 0x04, 0x4d, 0x44, - /*48f0:*/ 0x00, 0x0a, 0xc7, 0x64, 0xb0, 0xe3, 0x09, 0x33, 0x22, 0xd6, 0x58, 0x97, 0xc2, 0x9f, 0xe5, 0x6b, - /*4900:*/ 0xb2, 0x96, 0xbe, 0x26, 0x10, 0xd7, 0xb0, 0xbb, 0x41, 0xd0, 0x51, 0x95, 0x02, 0x29, 0xdd, 0x47, - /*4910:*/ 0x54, 0xd5, 0xfb, 0x2c, 0xb6, 0xcb, 0x67, 0x67, 0x66, 0xb2, 0x4e, 0xc1, 0x6b, 0x2f, 0x26, 0xe9, - /*4920:*/ 0x5b, 0x64, 0x5b, 0x9f, 0x90, 0xf0, 0x5c, 0x17, 0xc0, 0xb2, 0xc9, 0x24, 0x19, 0x9c, 0x54, 0x0a, - /*4930:*/ 0x32, 0x3b, 0x75, 0x0e, 0x80, 0xd7, 0xb2, 0x02, 0x28, 0x4d, 0x00, 0x90, 0x4d, 0x02, 0x81, 0xac, - /*4940:*/ 0xf0, 0xba, 0xdd, 0x64, 0x3f, 0xfa, 0xeb, 0x0a, 0x30, 0x32, 0x50, 0x50, 0x14, 0x6a, 0x7b, 0x55, - /*4950:*/ 0xef, 0x73, 0x67, 0x74, 0xea, 0x8e, 0xa9, 0xd5, 0x51, 0x4f, 0xc7, 0x10, 0xe6, 0xd9, 0x2e, 0x32, - /*4960:*/ 0x3d, 0x75, 0xa5, 0xb1, 0x2b, 0x7e, 0x1c, 0x3c, 0xbb, 0x00, 0x1e, 0x84, 0xfb, 0x26, 0xcb, 0x4d, - /*4970:*/ 0xd2, 0xd9, 0xc6, 0x09, 0x68, 0x29, 0x73, 0x23, 0x5b, 0x73, 0x24, 0x54, 0xa6, 0x15, 0x38, 0x5d, - /*4980:*/ 0x57, 0xae, 0xa3, 0xd0, 0x6a, 0xb6, 0x2f, 0xd6, 0xb4, 0xcb, 0xd8, 0x62, 0xd8, 0x8a, 0x7a, 0x1f, - /*4990:*/ 0xb2, 0xcd, 0xd9, 0x7c, 0xb5, 0xa8, 0xc8, 0xb9, 0x68, 0x6e, 0x44, 0xaa, 0xc6, 0x20, 0x8d, 0x9b, - /*49a0:*/ 0xc9, 0xce, 0xe9, 0xc9, 0x84, 0x1b, 0x6c, 0x4e, 0xbf, 0x85, 0xc3, 0x69, 0xc5, 0xab, 0x7e, 0x3e, - /*49b0:*/ 0x06, 0xb4, 0xe8, 0xb5, 0x1a, 0x79, 0x6c, 0x0b, 0x0c, 0x95, 0x84, 0x0c, 0x78, 0x6b, 0xea, 0x70, - /*49c0:*/ 0x01, 0xa6, 0x82, 0x9c, 0x89, 0x67, 0x17, 0x54, 0x04, 0x8a, 0xf2, 0x5b, 0x23, 0xea, 0x9f, 0x60, - /*49d0:*/ 0x1b, 0x76, 0xfb, 0x6b, 0x1c, 0xd4, 0xab, 0xf7, 0xdb, 0x37, 0x57, 0x32, 0x5a, 0x17, 0x11, 0xe5, - /*49e0:*/ 0xb6, 0x3c, 0x9a, 0x46, 0x4c, 0x63, 0x0b, 0xd4, 0xb6, 0xf1, 0xee, 0xfc, 0x7d, 0x09, 0x91, 0x72, - /*49f0:*/ 0x68, 0xf9, 0x54, 0x58, 0xcc, 0x3f, 0xf1, 0x32, 0x41, 0xe1, 0x04, 0x39, 0x20, 0xb6, 0xef, 0xe4, - /*4a00:*/ 0x0d, 0xd1, 0x5b, 0x98, 0x0f, 0x94, 0xdc, 0x7f, 0x2e, 0x9d, 0x89, 0x2a, 0xc2, 0x07, 0x4a, 0xc6, - /*4a10:*/ 0xf4, 0xb4, 0xd9, 0xc3, 0xe4, 0xc6, 0x80, 0xb1, 0x9d, 0xec, 0x40, 0xf4, 0x60, 0xde, 0x13, 0xa6, - /*4a20:*/ 0xb4, 0x31, 0x70, 0x54, 0x7b, 0x59, 0x87, 0xfb, 0x9a, 0xb3, 0x72, 0xbf, 0x71, 0x55, 0x7b, 0x8c, - /*4a30:*/ 0x28, 0xf9, 0xe1, 0x6a, 0x14, 0xb4, 0x64, 0x5d, 0xb7, 0x8a, 0x64, 0xd3, 0xb4, 0xb0, 0x90, 0xbd, - /*4a40:*/ 0x4c, 0xc3, 0xc7, 0x84, 0xe2, 0x19, 0xba, 0xf0, 0xa8, 0x5e, 0x2c, 0xb2, 0x8a, 0x54, 0xe8, 0x4d, - /*4a50:*/ 0x19, 0xc6, 0xa5, 0xd2, 0xe2, 0x01, 0xb9, 0x3d, 0x89, 0xd8, 0x47, 0x30, 0xf4, 0xa9, 0xec, 0xcb, - /*4a60:*/ 0xfc, 0x6a, 0x57, 0x8a, 0xd3, 0xd5, 0x2a, 0xdc, 0xb0, 0x2e, 0xd1, 0xd1, 0x4c, 0x15, 0x96, 0xd2, - /*4a70:*/ 0xfa, 0x8f, 0x6a, 0xf7, 0x5e, 0xf3, 0xa6, 0x1e, 0x8d, 0x0e, 0xc7, 0x82, 0x8f, 0x19, 0xbd, 0x1c, - /*4a80:*/ 0x19, 0x73, 0x57, 0xd9, 0xc0, 0xc7, 0x2b, 0x48, 0x96, 0xc4, 0xd4, 0xff, 0xf6, 0xa2, 0x89, 0xc8, - /*4a90:*/ 0xf1, 0xb5, 0xce, 0x32, 0x48, 0xc0, 0x7c, 0xe8, 0x32, 0x7f, 0x0e, 0x5c, 0xa9, 0x22, 0xbc, 0x72, - /*4aa0:*/ 0x97, 0xe4, 0x40, 0x1f, 0x31, 0xc0, 0x07, 0x22, 0x3b, 0xc2, 0xdf, 0x65, 0x68, 0x4a, 0x33, 0x26, - /*4ab0:*/ 0xc5, 0xc4, 0x38, 0x08, 0xb3, 0xbe, 0xed, 0x8a, 0x37, 0x2b, 0x0c, 0x28, 0xc5, 0xf1, 0xf8, 0x39, - /*4ac0:*/ 0x0e, 0x24, 0xf9, 0xe2, 0x0f, 0x90, 0x6b, 0x5a, 0xf1, 0xed, 0x9f, 0x83, 0x0a, 0xda, 0xa5, 0xfb, - /*4ad0:*/ 0x53, 0x70, 0xc1, 0x59, 0xf7, 0x8b, 0x06, 0x8e, 0x18, 0x92, 0x19, 0xf6, 0x4f, 0xe5, 0xc8, 0xa6, - /*4ae0:*/ 0xa3, 0x99, 0xcc, 0xc3, 0xf4, 0xca, 0xbf, 0x34, 0xfd, 0x50, 0x0b, 0x22, 0x71, 0x73, 0x04, 0x2f, - /*4af0:*/ 0x9b, 0xa0, 0x42, 0x6e, 0x40, 0x80, 0x48, 0x8b, 0xf1, 0xfc, 0x3f, 0x70, 0x49, 0xf2, 0x77, 0xc2, - /*4b00:*/ 0xec, 0x04, 0xb5, 0x4a, 0x29, 0x28, 0x66, 0xd2, 0x84, 0xa0, 0x68, 0x52, 0xa8, 0x03, 0xd0, 0x58, - /*4b10:*/ 0x2d, 0xcc, 0x31, 0x1a, 0x63, 0x31, 0x56, 0xd7, 0x2f, 0x31, 0x1e, 0x14, 0x6b, 0x7c, 0x1b, 0x7a, - /*4b20:*/ 0xa0, 0x16, 0x2a, 0xd4, 0x81, 0xca, 0xe4, 0xfa, 0xe9, 0xae, 0x07, 0x51, 0xea, 0xdb, 0x38, 0x55, - /*4b30:*/ 0x36, 0xd4, 0x14, 0x8a, 0xc1, 0x13, 0x45, 0x79, 0xf0, 0x57, 0xb6, 0x40, 0x02, 0xde, 0x22, 0xc4, - /*4b40:*/ 0x57, 0x58, 0xb7, 0xd6, 0x24, 0x25, 0x3c, 0xe8, 0x36, 0xcc, 0x5d, 0x19, 0x42, 0x3a, 0x8b, 0x1e, - /*4b50:*/ 0x1c, 0x35, 0xfd, 0xe5, 0x57, 0x2f, 0xcb, 0x25, 0xbc, 0x1d, 0xf2, 0x86, 0xdf, 0x2e, 0xdd, 0x6e, - /*4b60:*/ 0xe9, 0xbb, 0x8f, 0xae, 0x1c, 0xb8, 0x6e, 0x19, 0xe1, 0x77, 0x1a, 0x21, 0x5b, 0xee, 0xbc, 0xfd, - /*4b70:*/ 0xec, 0x91, 0xc0, 0x49, 0x57, 0xeb, 0x44, 0x71, 0xd9, 0xeb, 0x21, 0xf6, 0x8d, 0x47, 0xee, 0x18, - /*4b80:*/ 0x94, 0x8a, 0x0e, 0x2d, 0x74, 0x39, 0xda, 0xe9, 0x96, 0xef, 0xc2, 0xb9, 0x08, 0xda, 0x7b, 0x06, - /*4b90:*/ 0x34, 0x96, 0xd8, 0x23, 0x40, 0xfd, 0xb5, 0xea, 0x3d, 0x8d, 0xd3, 0xce, 0x75, 0x44, 0x4b, 0x8f, - /*4ba0:*/ 0x23, 0x6b, 0x92, 0xc7, 0x28, 0x8a, 0x15, 0x8c, 0xdb, 0x43, 0x41, 0xeb, 0x46, 0x9e, 0xa2, 0x6d, - /*4bb0:*/ 0x3b, 0x54, 0xc9, 0x0c, 0x10, 0xbd, 0x91, 0xea, 0x1f, 0xc8, 0xce, 0xfa, 0x4f, 0x72, 0xca, 0x89, - /*4bc0:*/ 0xbe, 0x09, 0x02, 0x53, 0xed, 0xf0, 0xa7, 0xfd, 0x4e, 0x01, 0x17, 0x5f, 0xc0, 0x92, 0xbf, 0x33, - /*4bd0:*/ 0x51, 0x92, 0x02, 0x34, 0x76, 0x99, 0x94, 0xf9, 0x3e, 0x39, 0xf3, 0xe9, 0x67, 0x0f, 0x8e, 0x6f, - /*4be0:*/ 0xe4, 0x14, 0xcd, 0xa0, 0x5a, 0x72, 0x1e, 0xb1, 0x2a, 0x64, 0x1b, 0x40, 0xd0, 0xa9, 0x1c, 0xe1, - /*4bf0:*/ 0x6b, 0x07, 0x83, 0x88, 0x72, 0xef, 0x24, 0x2d, 0x34, 0xa4, 0xf7, 0xf8, 0xd8, 0x82, 0x7b, 0x11, - /*4c00:*/ 0x9a, 0x36, 0x7c, 0x23, 0xab, 0x7b, 0x25, 0x5e, 0xa0, 0x83, 0x08, 0x5b, 0xd8, 0x3b, 0xaf, 0x88, - /*4c10:*/ 0xef, 0x76, 0xb6, 0x81, 0x3e, 0x0b, 0x7f, 0x72, 0x17, 0xa4, 0x5f, 0xcb, 0xc5, 0x00, 0x65, 0x13, - /*4c20:*/ 0x21, 0xa2, 0xad, 0x1f, 0x5f, 0xd3, 0xf9, 0x0a, 0x1b, 0xaf, 0x61, 0xd2, 0xa2, 0x18, 0x05, 0x04, - /*4c30:*/ 0xee, 0xd2, 0x00, 0x77, 0x1e, 0xd1, 0xfa, 0x89, 0x29, 0x8f, 0x2d, 0xd4, 0xcb, 0xa3, 0xe7, 0xec, - /*4c40:*/ 0x73, 0xb8, 0xfc, 0x03, 0x50, 0xf5, 0x4b, 0xf9, 0x12, 0x39, 0x7c, 0x26, 0x55, 0x4f, 0x51, 0xd7, - /*4c50:*/ 0xfe, 0x93, 0x34, 0xd0, 0x90, 0xc5, 0xf3, 0xe0, 0x23, 0xc3, 0x9b, 0x8b, 0x08, 0x36, 0x92, 0x9e, - /*4c60:*/ 0x40, 0x23, 0xd3, 0x8a, 0x1a, 0x0c, 0xb0, 0x23, 0xba, 0xdf, 0x66, 0x3a, 0x70, 0x1e, 0xd4, 0x93, - /*4c70:*/ 0x30, 0x48, 0x48, 0x0d, 0xc5, 0x4a, 0x06, 0xdf, 0x26, 0xcf, 0xe3, 0x62, 0x95, 0x3c, 0x1d, 0xf9, - /*4c80:*/ 0xf9, 0x92, 0x4e, 0xe5, 0x46, 0xe8, 0x97, 0x8d, 0xa6, 0xcd, 0x79, 0xb0, 0xcb, 0x99, 0x40, 0xa9, - /*4c90:*/ 0x2b, 0x95, 0x2f, 0x82, 0xb4, 0xdd, 0xfa, 0xd8, 0x74, 0x3b, 0xc5, 0x70, 0x11, 0x79, 0xf1, 0x60, - /*4ca0:*/ 0x00, 0x2a, 0x46, 0x96, 0x4a, 0x9e, 0xea, 0x69, 0x02, 0x87, 0x3f, 0x1b, 0xf5, 0x00, 0xf1, 0xe4, - /*4cb0:*/ 0x82, 0xbc, 0xf6, 0x64, 0x60, 0x2a, 0xe3, 0x92, 0x52, 0x52, 0xaa, 0x0e, 0xd8, 0xf1, 0x9a, 0xfc, - /*4cc0:*/ 0x7d, 0xb9, 0x8d, 0x6d, 0xe6, 0xac, 0xc2, 0xa0, 0x83, 0xb2, 0xde, 0xd9, 0xb9, 0x1f, 0x56, 0xc9, - /*4cd0:*/ 0x4f, 0xa7, 0x0d, 0xfd, 0xe6, 0xa6, 0x55, 0x14, 0x03, 0x81, 0xda, 0xc1, 0x8e, 0x6d, 0x75, 0xdd, - /*4ce0:*/ 0x70, 0x16, 0xd3, 0x14, 0x99, 0x4b, 0x3d, 0x57, 0xb7, 0x6d, 0x27, 0x4d, 0xd7, 0x54, 0xd8, 0xc0, - /*4cf0:*/ 0xda, 0x8d, 0x04, 0x49, 0x8c, 0x88, 0xe2, 0xcc, 0xa9, 0x1b, 0x7c, 0x56, 0x06, 0x1e, 0x34, 0xe8, - /*4d00:*/ 0x06, 0x71, 0x0b, 0xb8, 0x1f, 0xaa, 0x68, 0x87, 0xce, 0xf7, 0xb1, 0xd5, 0x8d, 0x41, 0xc4, 0x7c, - /*4d10:*/ 0x81, 0x69, 0x5c, 0xd8, 0x39, 0x6a, 0x9f, 0x22, 0x60, 0x89, 0x8c, 0x0a, 0x97, 0x88, 0xcf, 0xdc, - /*4d20:*/ 0x55, 0xd0, 0xfe, 0x42, 0x30, 0xc5, 0xa3, 0xf7, 0xeb, 0x2f, 0x27, 0x7f, 0x3c, 0xad, 0x80, 0x8d, - /*4d30:*/ 0x23, 0xb3, 0x32, 0x24, 0xa5, 0x67, 0xef, 0xcf, 0x95, 0xf3, 0x22, 0xe1, 0xf9, 0x69, 0xe5, 0x21, - /*4d40:*/ 0xfc, 0xab, 0x15, 0x73, 0xb3, 0xf1, 0xe0, 0xb1, 0x05, 0x5f, 0x78, 0x50, 0x5b, 0x3f, 0x93, 0x40, - /*4d50:*/ 0x55, 0x1e, 0xfc, 0xb2, 0x7d, 0x3c, 0x5c, 0xf9, 0x67, 0x7f, 0xad, 0xe6, 0xa7, 0x84, 0xa3, 0xba, - /*4d60:*/ 0xe6, 0xec, 0xbc, 0x25, 0xab, 0x40, 0x90, 0xbc, 0x09, 0x6d, 0xab, 0xee, 0xcb, 0x76, 0xa4, 0x21, - /*4d70:*/ 0x95, 0xa5, 0xe0, 0xd8, 0xa2, 0x91, 0x69, 0xc1, 0xd9, 0x2c, 0x92, 0xb5, 0xcd, 0x3b, 0x8a, 0xd4, - /*4d80:*/ 0x2d, 0x29, 0xb1, 0x44, 0xe6, 0xde, 0x70, 0x23, 0x4c, 0xfb, 0x19, 0xba, 0x53, 0x41, 0x21, 0xeb, - /*4d90:*/ 0xce, 0x41, 0x31, 0x42, 0x72, 0x97, 0x94, 0x53, 0x27, 0x2a, 0x68, 0xd0, 0xe9, 0x45, 0x3b, 0x61, - /*4da0:*/ 0x23, 0x40, 0x00, 0x78, 0xfd, 0x3d, 0x28, 0x6b, 0xcf, 0x39, 0x75, 0xb3, 0x1e, 0x7d, 0x3d, 0x00, - /*4db0:*/ 0x34, 0xf3, 0x40, 0x90, 0x5a, 0x57, 0xe2, 0x2e, 0x0d, 0x14, 0x65, 0xeb, 0xfb, 0x64, 0x04, 0x26, - /*4dc0:*/ 0x63, 0x8a, 0x36, 0xdc, 0x28, 0xaf, 0x4f, 0x11, 0x82, 0xc5, 0x69, 0x9d, 0x69, 0x8c, 0xbd, 0xc0, - /*4dd0:*/ 0x4a, 0xb9, 0x5e, 0xf2, 0xbd, 0x8e, 0x7e, 0xbf, 0xa1, 0xfd, 0xd1, 0xcc, 0x0b, 0xd8, 0x2d, 0x61, - /*4de0:*/ 0xb1, 0x88, 0x62, 0xae, 0x47, 0xa8, 0x1c, 0xbb, 0xdb, 0xd2, 0x2e, 0xe4, 0x4f, 0x0b, 0xfe, 0xcc, - /*4df0:*/ 0x7c, 0x15, 0xf0, 0x00, 0xff, 0xdc, 0x81, 0x28, 0xf8, 0xdc, 0x00, 0x4a, 0x1d, 0x25, 0x1f, 0xaf, - /*4e00:*/ 0x9d, 0x93, 0xd9, 0xbe, 0x9b, 0xed, 0x44, 0xde, 0xc6, 0x39, 0x8a, 0xe5, 0x81, 0x69, 0x9f, 0x07, - /*4e10:*/ 0xf2, 0x67, 0xd2, 0x09, 0x4b, 0x8b, 0xbd, 0xac, 0x56, 0xdb, 0x1b, 0x89, 0x68, 0xc4, 0x4e, 0x92, - /*4e20:*/ 0x15, 0x84, 0x4b, 0xc9, 0x54, 0xa3, 0x34, 0x30, 0xc1, 0x29, 0x9a, 0x4b, 0xca, 0x3c, 0xc3, 0x3a, - /*4e30:*/ 0xaa, 0x13, 0xa6, 0x96, 0x57, 0x94, 0x82, 0x53, 0x3e, 0x71, 0xe3, 0x9c, 0xde, 0x31, 0x7e, 0xe1, - /*4e40:*/ 0x7d, 0xbb, 0x14, 0x62, 0x22, 0xeb, 0xef, 0x37, 0x83, 0x9b, 0xb5, 0xe0, 0x06, 0x72, 0xe5, 0x5a, - /*4e50:*/ 0x21, 0xd2, 0x48, 0x38, 0x78, 0x36, 0xf2, 0xdc, 0xd9, 0x82, 0x33, 0x81, 0x6e, 0x33, 0x84, 0x58, - /*4e60:*/ 0xc3, 0x6e, 0x18, 0x53, 0x0d, 0x99, 0x7d, 0x88, 0x44, 0x38, 0x39, 0x1e, 0x19, 0xdd, 0x54, 0x06, - /*4e70:*/ 0x41, 0x9a, 0x05, 0x49, 0x62, 0x5f, 0x16, 0xda, 0x1e, 0x3c, 0x47, 0xb0, 0xa4, 0x47, 0x62, 0x46, - /*4e80:*/ 0x35, 0xd4, 0x9b, 0x59, 0xf0, 0x5a, 0x6f, 0xe5, 0x3e, 0xe4, 0x3c, 0xd3, 0x5e, 0xe7, 0xd3, 0x5d, - /*4e90:*/ 0xbd, 0x95, 0xdc, 0x17, 0xac, 0x60, 0xc8, 0x02, 0xf6, 0x2d, 0x0d, 0xad, 0x5d, 0xb4, 0xe3, 0x9d, - /*4ea0:*/ 0x91, 0x89, 0xb3, 0x9f, 0x6f, 0xa8, 0x5d, 0x66, 0x8c, 0x14, 0x6b, 0x33, 0x26, 0x09, 0x9b, 0xbc, - /*4eb0:*/ 0xd2, 0xfd, 0x7a, 0xdd, 0x3a, 0xbc, 0xd4, 0xda, 0x1c, 0xed, 0x8b, 0x77, 0xf4, 0xb4, 0xee, 0xac, - /*4ec0:*/ 0xe0, 0x29, 0xd6, 0xe4, 0x06, 0x78, 0x59, 0xd4, 0x4b, 0x15, 0x5d, 0x51, 0x11, 0xea, 0x42, 0x5d, - /*4ed0:*/ 0x1d, 0x87, 0x90, 0x60, 0xad, 0x48, 0x28, 0x85, 0xab, 0xdf, 0x3a, 0x39, 0x46, 0x99, 0x1d, 0x1e, - /*4ee0:*/ 0xd6, 0xc9, 0xda, 0x14, 0xbd, 0x67, 0x8f, 0xba, 0x76, 0x11, 0x2f, 0x38, 0x44, 0xcd, 0x98, 0xfe, - /*4ef0:*/ 0x68, 0xf7, 0x07, 0x24, 0xc0, 0x30, 0x5f, 0x9e, 0x66, 0x9c, 0x83, 0xff, 0xa6, 0xba, 0xc5, 0xb0, - /*4f00:*/ 0x32, 0x64, 0x87, 0x5e, 0x7e, 0x63, 0xd7, 0x8a, 0xe4, 0x7b, 0x81, 0x04, 0x46, 0xd5, 0x93, 0x4b, - /*4f10:*/ 0x21, 0xac, 0x8f, 0xbd, 0xd0, 0x59, 0xa1, 0xae, 0x9e, 0x18, 0x61, 0x15, 0xa1, 0x35, 0x30, 0xc1, - /*4f20:*/ 0x88, 0x8e, 0x1c, 0x1a, 0xce, 0xb9, 0x89, 0x62, 0x18, 0x4e, 0x3d, 0x4a, 0x7e, 0x74, 0xb9, 0x98, - /*4f30:*/ 0x7a, 0x3f, 0x7f, 0xcb, 0x03, 0xab, 0x56, 0x12, 0x3f, 0x10, 0x33, 0x90, 0xe9, 0x2f, 0xc8, 0xe1, - /*4f40:*/ 0x7f, 0xf4, 0xa4, 0xbe, 0x4d, 0xc5, 0x58, 0x4a, 0x83, 0x4a, 0x2b, 0x7f, 0xd6, 0x30, 0x00, 0x8e, - /*4f50:*/ 0x32, 0x12, 0x87, 0xb1, 0x7a, 0x6d, 0xc4, 0x08, 0x8f, 0x93, 0x77, 0x3a, 0x3b, 0x81, 0x56, 0x4a, - /*4f60:*/ 0x8c, 0xdf, 0xcf, 0xba, 0x39, 0x6f, 0x48, 0x26, 0xd5, 0x54, 0xd5, 0x0c, 0x8e, 0x09, 0xd2, 0x74, - /*4f70:*/ 0x74, 0x68, 0x49, 0x08, 0xc7, 0x13, 0xff, 0x16, 0x27, 0x27, 0x80, 0x7d, 0xda, 0x54, 0x11, 0x1d, - /*4f80:*/ 0x88, 0x96, 0x2b, 0x16, 0x7e, 0x6b, 0x3c, 0xc9, 0x25, 0x92, 0xc9, 0x99, 0x78, 0x45, 0xa9, 0x07, - /*4f90:*/ 0xd0, 0x02, 0x44, 0x86, 0xef, 0x7c, 0x44, 0x50, 0x1c, 0xc2, 0xe2, 0x3a, 0x3c, 0x1f, 0xd3, 0x80, - /*4fa0:*/ 0x9e, 0xf4, 0x7f, 0xfb, 0xaa, 0x2c, 0x71, 0x22, 0x51, 0x0f, 0xf5, 0x4d, 0x6a, 0x86, 0x64, 0xac, - /*4fb0:*/ 0x8b, 0x31, 0x1c, 0x05, 0x9d, 0xca, 0x6a, 0x90, 0xc0, 0x2c, 0x29, 0x16, 0x0f, 0x94, 0xf8, 0x6b, - /*4fc0:*/ 0x4d, 0xba, 0x90, 0x14, 0x80, 0xb6, 0x56, 0x0f, 0xc5, 0x78, 0xd4, 0xdc, 0xbb, 0x14, 0xbf, 0xb1, - /*4fd0:*/ 0x97, 0xe3, 0x14, 0x6b, 0x5e, 0x92, 0xf1, 0x4b, 0x50, 0x72, 0x54, 0xaa, 0xfc, 0x4f, 0xcd, 0x5f, - /*4fe0:*/ 0xde, 0xbc, 0x3d, 0x03, 0xfe, 0xfd, 0x6b, 0x8f, 0x38, 0xdc, 0x6f, 0x8c, 0xaa, 0x0c, 0xe2, 0xad, - /*4ff0:*/ 0x67, 0xb5, 0xf8, 0x5a, 0xf5, 0xaf, 0x0a, 0xc7, 0x33, 0x9b, 0x04, 0xdb, 0x95, 0xfe, 0x9c, 0xb1, - /*5000:*/ 0xe1, 0xcc, 0x3d, 0xce, 0x26, 0xad, 0x51, 0x02, 0x48, 0x63, 0x2e, 0x0f, 0x4f, 0xf3, 0x62, 0x8d, - /*5010:*/ 0x70, 0x3e, 0x51, 0x09, 0xab, 0x8f, 0xd7, 0x5d, 0x3e, 0xa8, 0x3c, 0xe2, 0x5f, 0x9f, 0x8a, 0x31, - /*5020:*/ 0xcd, 0x41, 0x9c, 0x46, 0x39, 0x31, 0xf4, 0xb9, 0xb7, 0xc4, 0x3c, 0x80, 0x05, 0x0b, 0x94, 0x2a, - /*5030:*/ 0x4d, 0x4b, 0x92, 0x9e, 0x6c, 0xae, 0x50, 0xff, 0x0b, 0x65, 0xa7, 0x01, 0xc0, 0x27, 0x67, 0xc2, - /*5040:*/ 0x25, 0xde, 0xed, 0xaa, 0x79, 0x04, 0x98, 0x84, 0x52, 0xc6, 0xf9, 0x45, 0x8d, 0x5d, 0x09, 0xba, - /*5050:*/ 0x10, 0xc4, 0x11, 0x26, 0xea, 0xab, 0x2c, 0x99, 0xa3, 0x28, 0xab, 0x51, 0x3a, 0x3f, 0xd4, 0x73, - /*5060:*/ 0xe0, 0xb0, 0x2a, 0x47, 0x2a, 0x8c, 0x94, 0x46, 0xbb, 0x1a, 0xf2, 0x8b, 0x53, 0xf3, 0x67, 0x35, - /*5070:*/ 0x78, 0xc1, 0xbf, 0x5f, 0x56, 0x88, 0xf3, 0xc8, 0x30, 0xd5, 0x92, 0x6c, 0x92, 0x26, 0x68, 0x5b, - /*5080:*/ 0xc7, 0x0a, 0x03, 0x84, 0xc3, 0xe0, 0x80, 0xe2, 0xbf, 0x0c, 0xae, 0xbf, 0x6c, 0xb9, 0xb9, 0x81, - /*5090:*/ 0xcd, 0x25, 0x7d, 0x04, 0xfc, 0x80, 0x3e, 0xe7, 0xd7, 0x78, 0xc8, 0xe3, 0x80, 0xc6, 0xe7, 0x2b, - /*50a0:*/ 0x68, 0x7c, 0xf3, 0x50, 0xd8, 0x76, 0x40, 0x38, 0x61, 0x84, 0xf6, 0xc9, 0xcd, 0x2c, 0xc6, 0x91, - /*50b0:*/ 0xfb, 0x79, 0x37, 0x31, 0xd6, 0xc6, 0x10, 0xa6, 0x4f, 0x65, 0xfa, 0xdc, 0x4b, 0xc9, 0xfd, 0xa4, - /*50c0:*/ 0x08, 0xbf, 0x86, 0xe6, 0x71, 0x10, 0xe3, 0xb5, 0xb8, 0xb9, 0x52, 0x03, 0xa8, 0x21, 0x1e, 0x13, - /*50d0:*/ 0x3e, 0xc9, 0xd3, 0xa7, 0xbf, 0x5b, 0x2f, 0x5a, 0x7b, 0xf6, 0xf9, 0x3e, 0x95, 0x8e, 0x8e, 0xcc, - /*50e0:*/ 0xb4, 0x00, 0x05, 0xd6, 0x32, 0x11, 0x37, 0xd2, 0xfa, 0xe2, 0x0d, 0xea, 0xa6, 0x2c, 0x5f, 0x4f, - /*50f0:*/ 0x10, 0x8d, 0xda, 0x87, 0x0a, 0x1d, 0xe7, 0x16, 0x1a, 0x29, 0x2b, 0x80, 0x07, 0xd8, 0x8f, 0x82, - /*5100:*/ 0xf7, 0x77, 0xe3, 0x6c, 0x05, 0x6b, 0x6e, 0x21, 0xa9, 0x91, 0x2e, 0x5c, 0xf7, 0x4a, 0xd8, 0x49, - /*5110:*/ 0x6e, 0x24, 0x0b, 0xb4, 0xab, 0xf5, 0x57, 0xd5, 0xc0, 0xb5, 0xc2, 0xd8, 0xf5, 0xef, 0xec, 0xd3, - /*5120:*/ 0x1a, 0xb5, 0x72, 0xbb, 0x3d, 0x6a, 0x7d, 0x3b, 0x09, 0xdf, 0x78, 0xd0, 0xd1, 0x34, 0x82, 0xfb, - /*5130:*/ 0x75, 0xf7, 0xb3, 0x40, 0xc8, 0xe5, 0xbd, 0x76, 0x49, 0xf4, 0x6f, 0xc0, 0xd3, 0x8c, 0xe1, 0x60, - /*5140:*/ 0x92, 0x0c, 0x51, 0x65, 0x28, 0xf7, 0x90, 0xd1, 0xed, 0x79, 0x40, 0xa9, 0xcc, 0xc6, 0xa5, 0xa5, - /*5150:*/ 0x49, 0x7f, 0xfb, 0xdb, 0x6d, 0x93, 0x45, 0xaa, 0x5c, 0x17, 0x15, 0xb7, 0x0e, 0x9e, 0x30, 0x0d, - /*5160:*/ 0x2c, 0x6a, 0x53, 0x6f, 0xa4, 0xe9, 0x37, 0x19, 0xe4, 0xed, 0xac, 0x46, 0xdd, 0x75, 0x09, 0x2a, - /*5170:*/ 0x90, 0xe4, 0x5c, 0x95, 0x38, 0x6f, 0xff, 0xa3, 0x32, 0x4d, 0xe4, 0x7b, 0x5b, 0xa4, 0xce, 0xa2, - /*5180:*/ 0xc1, 0x31, 0xea, 0xd4, 0x31, 0xc3, 0x1f, 0x27, 0x0d, 0x2c, 0x28, 0x39, 0x3b, 0x50, 0xfa, 0x33, - /*5190:*/ 0x06, 0x74, 0xfa, 0xe0, 0xe2, 0x9e, 0xe3, 0xe2, 0xbd, 0x66, 0xf3, 0x3c, 0xb7, 0xc9, 0x6f, 0x92, - /*51a0:*/ 0xf2, 0xcf, 0xe0, 0x7e, 0x7c, 0xed, 0x02, 0xa7, 0xbb, 0x17, 0xef, 0x25, 0x69, 0xea, 0x48, 0xb7, - /*51b0:*/ 0xd6, 0xac, 0x1e, 0x9f, 0xb0, 0x30, 0x7a, 0x1a, 0xd1, 0x7f, 0x97, 0x25, 0x69, 0xe5, 0x28, 0xad, - /*51c0:*/ 0x61, 0xd3, 0x2f, 0xda, 0x32, 0x7a, 0x8a, 0x9d, 0x2a, 0xcc, 0x27, 0x8d, 0x3f, 0xaa, 0xf7, 0x3e, - /*51d0:*/ 0x0e, 0xd7, 0xae, 0xa5, 0x2a, 0x32, 0x1b, 0x35, 0x4f, 0xc4, 0xf8, 0xeb, 0x76, 0x39, 0x9b, 0x8a, - /*51e0:*/ 0x00, 0x21, 0x5c, 0x82, 0x33, 0x19, 0x04, 0x90, 0xcc, 0xc5, 0x90, 0x39, 0x6c, 0xfa, 0xc2, 0xd0, - /*51f0:*/ 0xea, 0x08, 0x8b, 0x77, 0x7e, 0x95, 0xf4, 0x7c, 0xf5, 0xf1, 0x9e, 0xda, 0x7c, 0x13, 0xc4, 0x5e, - /*5200:*/ 0x32, 0xd6, 0x73, 0x40, 0x17, 0xcc, 0xd4, 0xe9, 0x93, 0xc9, 0x68, 0xa0, 0x82, 0x6a, 0x32, 0x14, - /*5210:*/ 0xf8, 0xfb, 0xc8, 0x2c, 0x7a, 0x9e, 0x30, 0x37, 0xf3, 0xd1, 0x9f, 0xaa, 0xd1, 0x89, 0x7d, 0xa3, - /*5220:*/ 0xeb, 0x34, 0xd5, 0xed, 0x0b, 0xd2, 0xfc, 0xa0, 0x39, 0xae, 0x70, 0xd2, 0xd4, 0x2c, 0x66, 0x4b, - /*5230:*/ 0x36, 0x79, 0x52, 0x21, 0xe7, 0x19, 0x58, 0x9a, 0x7a, 0x36, 0x47, 0xee, 0x94, 0xaf, 0x54, 0x9d, - /*5240:*/ 0x51, 0x11, 0xe5, 0xa7, 0xb9, 0xf6, 0xf7, 0x43, 0x30, 0x6b, 0xf8, 0x1b, 0xef, 0x5e, 0x67, 0x40, - /*5250:*/ 0xa6, 0x60, 0x7e, 0x28, 0xb7, 0xf0, 0x08, 0x13, 0x3d, 0x56, 0xef, 0xd2, 0xdb, 0x60, 0xe8, 0xf6, - /*5260:*/ 0x00, 0x8f, 0xe8, 0xb5, 0x5f, 0xc5, 0xa3, 0x44, 0x82, 0xc0, 0xcb, 0x31, 0xd2, 0x4b, 0xf6, 0x86, - /*5270:*/ 0x87, 0x5a, 0x57, 0xfc, 0x80, 0x80, 0xfa, 0xf9, 0x11, 0xa2, 0x74, 0xca, 0x1f, 0xb9, 0x87, 0xca, - /*5280:*/ 0x6b, 0x0a, 0xae, 0x52, 0x19, 0xba, 0xa2, 0xbf, 0xe7, 0x88, 0xb9, 0x73, 0x24, 0x22, 0x0a, 0xc1, - /*5290:*/ 0xcb, 0x60, 0x26, 0x0c, 0xbf, 0x5c, 0x40, 0x9f, 0xb6, 0xe9, 0x26, 0x19, 0xa4, 0x80, 0xa8, 0xc9, - /*52a0:*/ 0x66, 0xe2, 0xc0, 0xe3, 0xcc, 0x80, 0xd4, 0xfe, 0xb3, 0xe9, 0xd4, 0x25, 0x06, 0xc9, 0xcb, 0xef, - /*52b0:*/ 0xc7, 0x49, 0x95, 0xc6, 0x8b, 0x2e, 0xd6, 0x0b, 0xf0, 0x1f, 0x0f, 0xb8, 0x8e, 0xa9, 0x3a, 0xa5, - /*52c0:*/ 0x4a, 0x50, 0x11, 0xa9, 0x55, 0xf4, 0x1d, 0x3b, 0x23, 0x20, 0x6e, 0x51, 0x00, 0x7a, 0xf2, 0xd3, - /*52d0:*/ 0xe1, 0xfe, 0x40, 0x88, 0xf5, 0x65, 0x82, 0xc8, 0xe9, 0x6b, 0xe8, 0xf5, 0x11, 0xda, 0x74, 0xa7, - /*52e0:*/ 0x3b, 0xb7, 0x84, 0xdc, 0x3e, 0x89, 0x1e, 0xde, 0xaa, 0x6b, 0x12, 0x90, 0x71, 0x8a, 0xfb, 0x11, - /*52f0:*/ 0x92, 0x97, 0x74, 0x0b, 0x07, 0x37, 0x25, 0xe5, 0xbf, 0xe4, 0xc7, 0x62, 0xf7, 0xd5, 0xd9, 0xb1, - /*5300:*/ 0x1a, 0xd1, 0x7c, 0x23, 0x06, 0xa7, 0xf5, 0xb3, 0xfb, 0xe4, 0x03, 0x33, 0xd9, 0xc2, 0xac, 0x5a, - /*5310:*/ 0x1b, 0x3e, 0x25, 0x32, 0x06, 0xcd, 0xd9, 0x0a, 0x6b, 0x0a, 0xce, 0x04, 0x07, 0x48, 0x28, 0x9b, - /*5320:*/ 0x05, 0xaa, 0x0c, 0x7c, 0xda, 0xea, 0xb3, 0x09, 0x0a, 0x74, 0xf2, 0xf9, 0x32, 0x28, 0x01, 0x5c, - /*5330:*/ 0xd3, 0x74, 0x45, 0x27, 0xc8, 0xd5, 0xb0, 0xd6, 0xd1, 0x5e, 0xed, 0xc6, 0x9b, 0x7b, 0xfc, 0xa1, - /*5340:*/ 0xf3, 0x36, 0xc6, 0x38, 0x89, 0x36, 0x11, 0x65, 0x88, 0x4b, 0xc3, 0x5d, 0x44, 0x2c, 0x8d, 0x56, - /*5350:*/ 0x55, 0x3b, 0xcd, 0x38, 0x15, 0xe6, 0xa3, 0x6e, 0xd2, 0xc8, 0xa7, 0x0f, 0x33, 0x80, 0x6a, 0x65, - /*5360:*/ 0x86, 0x68, 0xf5, 0xa8, 0x5e, 0x54, 0xfa, 0x1d, 0x76, 0x3a, 0x60, 0x8a, 0x5c, 0xc6, 0x2e, 0xbe, - /*5370:*/ 0x7a, 0xe3, 0xa8, 0x8d, 0x01, 0xdf, 0xe9, 0x66, 0x02, 0xbf, 0xb2, 0xea, 0x88, 0xdd, 0xd2, 0x2f, - /*5380:*/ 0xb0, 0xcf, 0xcd, 0xaf, 0xaa, 0xe1, 0xc3, 0x77, 0x39, 0x76, 0x9b, 0x20, 0xa1, 0xed, 0xe9, 0xbb, - /*5390:*/ 0xe9, 0x62, 0x7e, 0xe2, 0xf7, 0x58, 0xd3, 0xaa, 0xe8, 0xef, 0x3e, 0x22, 0x38, 0xa5, 0x80, 0xb6, - /*53a0:*/ 0x63, 0xd6, 0xfb, 0xa5, 0x62, 0x00, 0xbb, 0xed, 0x1d, 0x9a, 0x67, 0xc1, 0x37, 0xec, 0x8b, 0xbd, - /*53b0:*/ 0x67, 0xb4, 0x4a, 0xc5, 0xf0, 0x9a, 0x58, 0x62, 0x6f, 0x22, 0xba, 0x1c, 0x3a, 0xfd, 0x65, 0x79, - /*53c0:*/ 0x91, 0x71, 0x36, 0xd6, 0x25, 0xb5, 0xb3, 0x66, 0x9a, 0xf0, 0xbe, 0x5b, 0xa9, 0x49, 0x8b, 0x97, - /*53d0:*/ 0xf8, 0xbc, 0x49, 0x08, 0x55, 0x06, 0xe1, 0x7e, 0xf2, 0x84, 0xb3, 0x0f, 0xe8, 0x13, 0x38, 0x7a, - /*53e0:*/ 0x89, 0xb1, 0x96, 0xb8, 0xa6, 0x58, 0x4a, 0x3c, 0x1d, 0xa7, 0xc6, 0x36, 0x22, 0x94, 0x71, 0x43, - /*53f0:*/ 0x35, 0x98, 0xcb, 0xf8, 0x32, 0x0b, 0xfc, 0x98, 0x9e, 0x5a, 0x84, 0x76, 0xa2, 0x26, 0x9b, 0xf5, - /*5400:*/ 0xbc, 0xae, 0x92, 0xb4, 0x07, 0xce, 0xba, 0x4e, 0xcb, 0x1b, 0x35, 0x89, 0xe6, 0xf7, 0x39, 0x23, - /*5410:*/ 0x58, 0x58, 0x2b, 0x8d, 0x4b, 0xd9, 0x63, 0xc3, 0xbf, 0x9e, 0x87, 0xc9, 0x06, 0x6f, 0xa5, 0xf8, - /*5420:*/ 0xdd, 0xee, 0x26, 0x17, 0x2d, 0xcb, 0x1c, 0x56, 0xad, 0xb9, 0xa0, 0xa4, 0xd0, 0xb7, 0xb9, 0xd6, - /*5430:*/ 0xa6, 0x11, 0x23, 0x55, 0xb0, 0xfe, 0x54, 0x77, 0x9d, 0xc9, 0xef, 0x5c, 0x2e, 0x4c, 0x02, 0x2f, - /*5440:*/ 0xdc, 0xd4, 0x3b, 0x21, 0x81, 0xc5, 0xfe, 0xd9, 0x94, 0xd6, 0x33, 0x63, 0x22, 0x03, 0x7d, 0xb3, - /*5450:*/ 0x43, 0xae, 0x7f, 0xd9, 0x22, 0xba, 0xb5, 0x2b, 0x47, 0xdd, 0x94, 0x28, 0x28, 0x4f, 0xf6, 0x75, - /*5460:*/ 0xde, 0x05, 0x90, 0x55, 0xa4, 0x7c, 0x98, 0xb2, 0xf4, 0xc2, 0x9b, 0x75, 0x9a, 0xe1, 0x73, 0x2b, - /*5470:*/ 0xb2, 0x39, 0xa8, 0x9c, 0xcf, 0x0d, 0x82, 0xb7, 0xbd, 0xe1, 0xf2, 0x8c, 0xe0, 0x1c, 0xfc, 0xc9, - /*5480:*/ 0x74, 0x7f, 0xc2, 0xb1, 0x82, 0xeb, 0x1e, 0xf3, 0x15, 0x7c, 0x94, 0xb2, 0xd4, 0x01, 0xe0, 0x2b, - /*5490:*/ 0xb3, 0xfb, 0xcf, 0x12, 0x84, 0x83, 0xaf, 0x79, 0x4d, 0xbc, 0x1d, 0x60, 0xb6, 0x54, 0x7f, 0xe4, - /*54a0:*/ 0x66, 0x06, 0x12, 0x35, 0xc1, 0x84, 0x0a, 0x48, 0xfe, 0xf6, 0x73, 0xb7, 0x41, 0x92, 0xb4, 0xe9, - /*54b0:*/ 0x39, 0xdb, 0xbd, 0x1e, 0x99, 0x04, 0x9f, 0x2f, 0x6d, 0xce, 0xc4, 0x14, 0x56, 0x38, 0xbb, 0xe8, - /*54c0:*/ 0x68, 0x8f, 0x68, 0x65, 0x20, 0xd5, 0x9d, 0xc0, 0x15, 0x77, 0x10, 0x16, 0x63, 0x15, 0x6e, 0x55, - /*54d0:*/ 0x57, 0x5c, 0x1f, 0x62, 0x6e, 0xc2, 0x93, 0xb4, 0x3f, 0x10, 0xbc, 0x6b, 0x62, 0xc9, 0x0b, 0xf2, - /*54e0:*/ 0x41, 0xd7, 0xbd, 0xfb, 0x74, 0x3d, 0xa1, 0x6b, 0xd8, 0x17, 0xb2, 0x00, 0xd3, 0xcd, 0xd7, 0xfe, - /*54f0:*/ 0xcd, 0xf0, 0x25, 0x6f, 0xb6, 0x25, 0xed, 0x62, 0x32, 0x1c, 0xe5, 0xa6, 0xb7, 0x01, 0x4f, 0x45, - /*5500:*/ 0x92, 0xc0, 0x0a, 0x8a, 0x25, 0x16, 0xa0, 0x2a, 0x69, 0x3e, 0x42, 0xe3, 0x49, 0xe1, 0x75, 0x9f, - /*5510:*/ 0xe1, 0x4e, 0x49, 0x62, 0x84, 0xb9, 0x5f, 0xe9, 0x5a, 0x32, 0x0e, 0x5d, 0x8a, 0x04, 0x9d, 0x7f, - /*5520:*/ 0x96, 0x5e, 0x61, 0x53, 0x39, 0x14, 0xd9, 0x1a, 0x93, 0x9c, 0x53, 0x7e, 0x7e, 0xd9, 0x7f, 0xfe, - /*5530:*/ 0x93, 0x5b, 0xe3, 0xa6, 0xbe, 0xe4, 0xc3, 0x85, 0xbd, 0x7c, 0x9b, 0xf7, 0x3a, 0x24, 0xad, 0x00, - /*5540:*/ 0x17, 0x38, 0x84, 0x6e, 0xe1, 0x3f, 0x14, 0xfe, 0xa9, 0x8e, 0x73, 0xe9, 0xc3, 0xc3, 0xc4, 0xb2, - /*5550:*/ 0x5e, 0xee, 0x55, 0xb1, 0x1f, 0x99, 0x03, 0x49, 0xa5, 0xb0, 0xd3, 0x9c, 0x38, 0x68, 0x91, 0x64, - /*5560:*/ 0x32, 0x94, 0xf3, 0x28, 0xd5, 0x65, 0xa0, 0x85, 0x80, 0x75, 0x64, 0x3b, 0xe3, 0x53, 0xcd, 0x68, - /*5570:*/ 0x0c, 0xdd, 0xc0, 0x70, 0x4b, 0xf1, 0xa1, 0x76, 0x51, 0x6c, 0x5e, 0xde, 0x0e, 0xd0, 0x66, 0xe4, - /*5580:*/ 0x7b, 0x1f, 0xd9, 0x00, 0x30, 0xa0, 0x9d, 0x81, 0xf8, 0x8d, 0x4a, 0x01, 0x82, 0x50, 0x8d, 0xd9, - /*5590:*/ 0x64, 0x48, 0xeb, 0x72, 0xf0, 0xda, 0x1a, 0x3d, 0x32, 0x1a, 0xf1, 0x68, 0x36, 0x9b, 0x0b, 0x34, - /*55a0:*/ 0x87, 0xca, 0x75, 0xa2, 0xbd, 0x18, 0x6a, 0xc4, 0xd8, 0xd9, 0x5d, 0xd2, 0x01, 0xd7, 0x2d, 0x18, - /*55b0:*/ 0xa5, 0xbd, 0x37, 0xc5, 0x3d, 0x1d, 0xe5, 0x03, 0x73, 0xc1, 0xbd, 0x5e, 0x2f, 0x99, 0x0b, 0x5c, - /*55c0:*/ 0xa2, 0x90, 0x98, 0xcb, 0xcd, 0xea, 0x6a, 0xad, 0xa0, 0x23, 0x19, 0xbe, 0x20, 0x69, 0x8e, 0x5e, - /*55d0:*/ 0x68, 0xdb, 0xfe, 0x75, 0xc8, 0xa6, 0xc0, 0x4e, 0x7c, 0x25, 0xd1, 0x83, 0xa9, 0xf1, 0x22, 0x17, - /*55e0:*/ 0x60, 0x97, 0x8d, 0xc1, 0x69, 0x34, 0xab, 0x9b, 0x1d, 0xb7, 0xd5, 0xe9, 0x67, 0xc8, 0xdd, 0x3a, - /*55f0:*/ 0x31, 0xe4, 0xf3, 0x77, 0xd2, 0xb3, 0x41, 0x1c, 0x7c, 0xe9, 0x0f, 0xdb, 0x62, 0x36, 0x04, 0xb0, - /*5600:*/ 0x5c, 0x41, 0x37, 0x71, 0xa9, 0x9d, 0xb6, 0xe0, 0x00, 0x6e, 0x8c, 0x6d, 0xbd, 0xd9, 0x1a, 0xae, - /*5610:*/ 0x96, 0x0a, 0x09, 0x31, 0xa3, 0x49, 0x7a, 0xe5, 0xf0, 0xf4, 0x63, 0x31, 0x3f, 0xba, 0x17, 0x98, - /*5620:*/ 0x0e, 0x79, 0x8e, 0xe2, 0xa1, 0xfc, 0x73, 0xd7, 0xbb, 0x45, 0xa2, 0x4c, 0x81, 0x8f, 0x67, 0x12, - /*5630:*/ 0xdf, 0x4c, 0xe0, 0x08, 0x6a, 0x10, 0xf2, 0x0f, 0xd9, 0x79, 0xb1, 0x5f, 0x2d, 0x3f, 0xf3, 0xd3, - /*5640:*/ 0x62, 0xea, 0x0f, 0x18, 0xed, 0x7a, 0x6e, 0x6a, 0x8f, 0x1c, 0xea, 0xb4, 0x9b, 0xc5, 0x37, 0x7a, - /*5650:*/ 0x33, 0x66, 0xce, 0xb0, 0x6d, 0xa5, 0x64, 0xb5, 0xcd, 0xfe, 0xb7, 0xff, 0x5f, 0x6a, 0x64, 0xf9, - /*5660:*/ 0xd3, 0xac, 0x6b, 0xe7, 0x60, 0xbf, 0x18, 0xb3, 0x90, 0xfa, 0xae, 0xea, 0x3a, 0xe8, 0x0f, 0x30, - /*5670:*/ 0x2f, 0x1b, 0x29, 0x33, 0xb9, 0x95, 0x27, 0x17, 0x4e, 0xab, 0x34, 0x71, 0xc8, 0xcf, 0x52, 0x65, - /*5680:*/ 0x83, 0x84, 0xa6, 0xe3, 0x83, 0x33, 0x6e, 0x89, 0x4b, 0x4a, 0xef, 0x1a, 0x37, 0x14, 0x20, 0xba, - /*5690:*/ 0xe0, 0xcd, 0xf9, 0x6a, 0x65, 0x4c, 0x86, 0x2e, 0x1a, 0x11, 0x99, 0xd4, 0x1b, 0x58, 0x67, 0xcc, - /*56a0:*/ 0x8a, 0x17, 0xdb, 0x14, 0x82, 0x23, 0xca, 0xbf, 0xb6, 0x5d, 0x7d, 0x82, 0xed, 0xde, 0x62, 0x0b, - /*56b0:*/ 0x9f, 0xfe, 0xe3, 0xbc, 0x1b, 0xf1, 0xd9, 0x78, 0x6c, 0xda, 0x4d, 0xb4, 0x46, 0xcd, 0x2c, 0x4c, - /*56c0:*/ 0x7e, 0x3e, 0x68, 0x01, 0xa7, 0xb9, 0xf1, 0xa4, 0x5a, 0xad, 0x19, 0xc8, 0xc5, 0x69, 0x09, 0x40, - /*56d0:*/ 0xfb, 0xdb, 0x0d, 0x63, 0x04, 0x33, 0xbe, 0x00, 0xf5, 0x3a, 0xe6, 0x99, 0x23, 0x65, 0xa6, 0xd9, - /*56e0:*/ 0x01, 0xe9, 0x47, 0x56, 0xee, 0x68, 0xa0, 0x19, 0xdd, 0xde, 0xc3, 0x63, 0x39, 0xd6, 0x00, 0x9e, - /*56f0:*/ 0x7e, 0x8f, 0x23, 0x18, 0xb0, 0x0f, 0xae, 0x7d, 0x8c, 0xc3, 0x4a, 0x5d, 0xf9, 0xfe, 0x51, 0xb2, - /*5700:*/ 0xb6, 0x02, 0x17, 0xf6, 0xa0, 0x1f, 0x34, 0x04, 0x80, 0xfc, 0x3c, 0x6d, 0xec, 0x1e, 0x68, 0x72, - /*5710:*/ 0x93, 0x09, 0x44, 0xe1, 0x65, 0x5d, 0x76, 0x05, 0xbd, 0x08, 0x1b, 0x08, 0x04, 0x06, 0x95, 0x62, - /*5720:*/ 0x58, 0x7b, 0xaa, 0x56, 0x4e, 0xe9, 0x84, 0x7c, 0x17, 0x6f, 0x93, 0x2d, 0xd8, 0x84, 0x73, 0xc1, - /*5730:*/ 0xde, 0xee, 0x8d, 0x73, 0xbe, 0x14, 0xa7, 0x7f, 0x8b, 0xa1, 0xe1, 0x9e, 0xda, 0xf9, 0x40, 0xbf, - /*5740:*/ 0x55, 0x8b, 0x5a, 0xe7, 0x06, 0x36, 0xc0, 0x16, 0x90, 0x8f, 0x47, 0xbb, 0x44, 0xa2, 0x7b, 0xc4, - /*5750:*/ 0x1a, 0x5b, 0x2c, 0xd8, 0xaa, 0x10, 0x90, 0x33, 0x71, 0xe7, 0xdb, 0xcd, 0x1c, 0x8e, 0x89, 0x26, - /*5760:*/ 0xe7, 0x95, 0x09, 0x10, 0x3a, 0x01, 0xde, 0x57, 0x81, 0xfa, 0xe5, 0xa3, 0x9b, 0xb2, 0x5e, 0x49, - /*5770:*/ 0x0e, 0x7a, 0xef, 0x8d, 0xe7, 0x23, 0x1a, 0x1c, 0xa0, 0xc1, 0x70, 0x99, 0xbc, 0xaf, 0x9a, 0x16, - /*5780:*/ 0x00, 0xb4, 0x6e, 0x35, 0xb0, 0x80, 0x46, 0x40, 0x3c, 0x53, 0xbb, 0x42, 0x17, 0xe1, 0xb7, 0xb8, - /*5790:*/ 0xf9, 0x07, 0x8b, 0xcd, 0x9b, 0x86, 0xd3, 0xec, 0x59, 0x7a, 0x03, 0x4e, 0x57, 0x09, 0x6c, 0x38, - /*57a0:*/ 0x68, 0x10, 0x1c, 0x18, 0x86, 0x47, 0xf0, 0x17, 0xba, 0xcd, 0x44, 0x87, 0x53, 0x2d, 0x03, 0x20, - /*57b0:*/ 0x8d, 0xbe, 0x14, 0x42, 0x18, 0x88, 0x80, 0x5d, 0x0b, 0x63, 0xc3, 0xf8, 0xab, 0xbd, 0x0f, 0xe5, - /*57c0:*/ 0xa6, 0x13, 0xe2, 0x00, 0xaa, 0x4b, 0xa6, 0x3f, 0x47, 0x7a, 0xe0, 0x5a, 0x62, 0x49, 0x96, 0x17, - /*57d0:*/ 0x80, 0x59, 0x51, 0x3a, 0x72, 0xd1, 0x20, 0x75, 0xdd, 0xba, 0x4f, 0x0a, 0x2b, 0x10, 0xe5, 0xfb, - /*57e0:*/ 0x78, 0x61, 0x39, 0x37, 0xf7, 0xa9, 0x78, 0xbf, 0x35, 0x96, 0x32, 0x62, 0xb6, 0xf6, 0x9a, 0x8d, - /*57f0:*/ 0x27, 0x4d, 0x58, 0x7c, 0xb3, 0x48, 0xbb, 0x9a, 0x2f, 0x62, 0x62, 0xa6, 0x40, 0x6f, 0x20, 0x54, - /*5800:*/ 0x3b, 0x11, 0x37, 0x50, 0xdf, 0x12, 0x5f, 0xdd, 0x49, 0xb5, 0x26, 0xa3, 0x2e, 0x7b, 0x17, 0x29, - /*5810:*/ 0x21, 0xac, 0x39, 0xaa, 0xd3, 0x1d, 0x1b, 0x07, 0x6a, 0xfe, 0x8c, 0x5b, 0x57, 0x54, 0x2e, 0x56, - /*5820:*/ 0xe7, 0x38, 0xd7, 0xb2, 0xcf, 0xa0, 0x49, 0x10, 0x8f, 0x25, 0x17, 0xda, 0x45, 0x2d, 0x5e, 0x05, - /*5830:*/ 0x9b, 0x1b, 0xdc, 0x3a, 0x6b, 0xa8, 0xa9, 0x3b, 0xb1, 0xbc, 0xe0, 0xd4, 0xa7, 0x65, 0x05, 0x90, - /*5840:*/ 0xfa, 0x59, 0xa4, 0x1a, 0xd6, 0xe4, 0x88, 0x59, 0x55, 0xb5, 0x9e, 0xcc, 0x51, 0xaa, 0xc3, 0x07, - /*5850:*/ 0x51, 0x3a, 0x78, 0x00, 0x0c, 0xa9, 0x08, 0x5e, 0x8a, 0x0b, 0x04, 0x62, 0xe3, 0x28, 0x27, 0x92, - /*5860:*/ 0x4f, 0xe8, 0x41, 0xfa, 0xa6, 0xa4, 0xf4, 0xbf, 0x08, 0x6e, 0x84, 0xc7, 0x0b, 0x70, 0x1f, 0x47, - /*5870:*/ 0x9c, 0xab, 0x72, 0xbb, 0x17, 0x78, 0xec, 0xdf, 0x30, 0x64, 0xb6, 0xd2, 0x51, 0xaa, 0x67, 0xce, - /*5880:*/ 0xf3, 0x23, 0x80, 0x24, 0x59, 0xfc, 0xd1, 0xb7, 0x84, 0xa2, 0x3c, 0x5e, 0x49, 0x07, 0x49, 0xda, - /*5890:*/ 0xb9, 0xa0, 0x90, 0x1a, 0x3c, 0xce, 0x9a, 0x9a, 0x17, 0x57, 0xb6, 0x88, 0xd0, 0x89, 0x6a, 0x5b, - /*58a0:*/ 0x88, 0x1d, 0x54, 0xdd, 0x9f, 0x33, 0x74, 0x24, 0x80, 0x1b, 0xd6, 0x28, 0xb4, 0x18, 0x26, 0x9f, - /*58b0:*/ 0x38, 0x94, 0x67, 0x4a, 0x6e, 0x2a, 0x19, 0xc7, 0x1f, 0x9f, 0x78, 0x95, 0xd0, 0xe4, 0x95, 0x8d, - /*58c0:*/ 0xca, 0xa8, 0xb0, 0x38, 0x59, 0x3a, 0x87, 0xf6, 0xf8, 0x01, 0x4e, 0xf0, 0xf0, 0xc5, 0x95, 0x98, - /*58d0:*/ 0xc0, 0x22, 0xb1, 0x74, 0x52, 0xc6, 0xfb, 0x55, 0xe3, 0x0f, 0x30, 0xff, 0x25, 0xad, 0x55, 0xad, - /*58e0:*/ 0x9b, 0xa5, 0xee, 0x31, 0x8c, 0x29, 0x2e, 0x2a, 0x80, 0x10, 0x04, 0x67, 0xfe, 0x62, 0x0a, 0x66, - /*58f0:*/ 0xfe, 0x7c, 0x84, 0xaf, 0xd5, 0xb6, 0x22, 0xf6, 0x4b, 0x62, 0xa0, 0xe6, 0x0c, 0xc4, 0xb1, 0xbd, - /*5900:*/ 0x43, 0x36, 0x40, 0x61, 0x74, 0x0a, 0x1a, 0x26, 0xcc, 0xa6, 0xd6, 0xb7, 0x04, 0x62, 0x2e, 0xd2, - /*5910:*/ 0xaa, 0x0f, 0xa0, 0x1d, 0x95, 0x27, 0x80, 0x46, 0x46, 0xe0, 0x15, 0x8b, 0x65, 0x6b, 0x5d, 0x9f, - /*5920:*/ 0xed, 0xd8, 0x4c, 0x77, 0x95, 0xde, 0xc4, 0x9c, 0x14, 0x9a, 0x3d, 0x81, 0xa2, 0xae, 0x59, 0x47, - /*5930:*/ 0x16, 0xba, 0xbd, 0xe0, 0x0c, 0xa7, 0x8a, 0x7d, 0xc9, 0xe3, 0x97, 0x73, 0x6b, 0x76, 0xa6, 0x47, - /*5940:*/ 0x74, 0x05, 0x20, 0x8c, 0x50, 0x60, 0xd9, 0x0a, 0xf5, 0xbf, 0xc0, 0xba, 0x19, 0x96, 0xfd, 0x33, - /*5950:*/ 0xa4, 0xd4, 0xdd, 0x42, 0x88, 0xe7, 0x54, 0x77, 0xd7, 0xfa, 0x26, 0x44, 0xf5, 0x43, 0xb9, 0x08, - /*5960:*/ 0x6c, 0xb3, 0xbd, 0x0f, 0x5a, 0xa5, 0xef, 0xf0, 0x9a, 0xdb, 0x94, 0xe1, 0x8f, 0x0b, 0xb1, 0xa7, - /*5970:*/ 0x20, 0xe3, 0xaa, 0x73, 0x63, 0xba, 0x50, 0x1d, 0xe6, 0x3d, 0x5d, 0xff, 0xc9, 0x2a, 0x70, 0xb7, - /*5980:*/ 0x70, 0xc8, 0x03, 0xe7, 0xb4, 0x99, 0xc4, 0xf6, 0xd1, 0x4e, 0xff, 0x35, 0xe7, 0x5e, 0x7c, 0x7f, - /*5990:*/ 0x3b, 0x68, 0x91, 0x0a, 0x8d, 0xa4, 0x5f, 0x1e, 0x15, 0x97, 0x94, 0x0a, 0x46, 0x79, 0x22, 0x21, - /*59a0:*/ 0x26, 0x26, 0x41, 0x92, 0xc7, 0x82, 0x8e, 0x7a, 0xf4, 0xcc, 0x56, 0x29, 0xd4, 0x5e, 0xa6, 0x9e, - /*59b0:*/ 0xf6, 0x14, 0x97, 0xc8, 0x63, 0xd5, 0x20, 0x05, 0xba, 0x03, 0xc9, 0x76, 0x5e, 0x64, 0x41, 0x9b, - /*59c0:*/ 0xbb, 0x7d, 0x7d, 0x7c, 0xdc, 0x26, 0x6c, 0x36, 0xef, 0x6e, 0x28, 0x4e, 0xe9, 0x22, 0xb4, 0xb2, - /*59d0:*/ 0x75, 0x87, 0xe8, 0x90, 0x21, 0xaf, 0x8b, 0x73, 0x99, 0x78, 0x14, 0x9c, 0xb4, 0x05, 0x50, 0xd3, - /*59e0:*/ 0xf0, 0x4a, 0xab, 0xdb, 0xee, 0x2d, 0xe5, 0x13, 0x2a, 0x65, 0x4d, 0x1e, 0x67, 0xf6, 0x64, 0x4c, - /*59f0:*/ 0xfc, 0x83, 0xd5, 0x97, 0x93, 0xff, 0x54, 0xde, 0x8e, 0xfd, 0x40, 0x42, 0xa7, 0x04, 0xfa, 0xf8, - /*5a00:*/ 0x5c, 0xea, 0x4f, 0xf6, 0x84, 0x6c, 0x06, 0x82, 0x4b, 0xcd, 0x5b, 0xb8, 0xca, 0xc0, 0xf2, 0x82, - /*5a10:*/ 0xd9, 0x2e, 0xca, 0x99, 0xff, 0xc5, 0x16, 0xc9, 0xf2, 0xeb, 0x52, 0xf7, 0x39, 0xdb, 0x6b, 0xc4, - /*5a20:*/ 0x16, 0x1e, 0x24, 0xed, 0x32, 0xf6, 0x8a, 0xe8, 0x58, 0xf1, 0x6c, 0xe3, 0xff, 0x93, 0xd7, 0xf8, - /*5a30:*/ 0x6e, 0x8c, 0xb4, 0x8b, 0xd4, 0x3b, 0xd6, 0xfd, 0x13, 0x23, 0xf3, 0xd2, 0xa5, 0x19, 0x0d, 0x8b, - /*5a40:*/ 0x3d, 0x8d, 0x47, 0x46, 0x30, 0x24, 0xdb, 0x57, 0xb6, 0xea, 0x75, 0x53, 0x2c, 0x0a, 0xe8, 0xd9, - /*5a50:*/ 0xfc, 0xee, 0x12, 0xca, 0x24, 0x4e, 0x8a, 0x2c, 0xbe, 0x07, 0x79, 0xf0, 0x72, 0xe2, 0x47, 0x20, - /*5a60:*/ 0x60, 0x55, 0xc2, 0xa1, 0xc1, 0x42, 0x80, 0xa8, 0xf9, 0x68, 0xaa, 0xe9, 0x90, 0x2e, 0x50, 0x25, - /*5a70:*/ 0xc5, 0x70, 0x5c, 0x1e, 0x1b, 0xfc, 0x30, 0xca, 0xec, 0xee, 0x2c, 0x0a, 0xff, 0xad, 0x56, 0x5a, - /*5a80:*/ 0x92, 0xdf, 0x4f, 0x00, 0xbb, 0x93, 0x06, 0x2d, 0x57, 0xdd, 0x98, 0x71, 0x04, 0xdf, 0x8b, 0x94, - /*5a90:*/ 0xa1, 0x08, 0xb5, 0x3c, 0x08, 0x58, 0xe6, 0xd8, 0x24, 0x10, 0x9d, 0xc8, 0xcd, 0x52, 0x66, 0x6a, - /*5aa0:*/ 0xe4, 0xe0, 0x01, 0x7a, 0xad, 0xff, 0x76, 0x59, 0x66, 0xde, 0xf8, 0xbf, 0xd2, 0x00, 0x10, 0x4f, - /*5ab0:*/ 0x41, 0x32, 0xfb, 0xd9, 0xdf, 0xd7, 0x37, 0x85, 0x90, 0xb5, 0x27, 0xc6, 0xab, 0xd6, 0xa4, 0xea, - /*5ac0:*/ 0x1a, 0x07, 0x44, 0x45, 0xc1, 0xe5, 0x31, 0x08, 0xfe, 0x86, 0x6f, 0x3e, 0x87, 0xaf, 0x49, 0x8e, - /*5ad0:*/ 0x9b, 0xea, 0x6a, 0x36, 0x3b, 0x78, 0xc3, 0x55, 0x72, 0x25, 0x35, 0xbb, 0x7a, 0xdc, 0x0d, 0xeb, - /*5ae0:*/ 0xc1, 0xba, 0xc9, 0x1e, 0xa3, 0xa0, 0xcc, 0x59, 0x4b, 0x8a, 0xf0, 0xad, 0x8e, 0x41, 0x8e, 0xdd, - /*5af0:*/ 0x75, 0x18, 0xe6, 0x1f, 0x0c, 0x85, 0x76, 0x14, 0x81, 0x71, 0x2d, 0xa1, 0xdf, 0x0c, 0xb3, 0x27, - /*5b00:*/ 0x19, 0x96, 0xe4, 0x16, 0xdd, 0x4d, 0xdf, 0xed, 0x52, 0x97, 0xb1, 0x78, 0x32, 0x5b, 0x59, 0x99, - /*5b10:*/ 0xdc, 0x73, 0x59, 0x71, 0xf5, 0x5e, 0x5e, 0x15, 0x7f, 0xb4, 0xdd, 0x06, 0xf2, 0x61, 0x66, 0x10, - /*5b20:*/ 0x11, 0x82, 0xbb, 0xe2, 0x50, 0xa4, 0x60, 0xfc, 0x24, 0xdf, 0x33, 0x10, 0xc3, 0xfe, 0xcd, 0x4e, - /*5b30:*/ 0x40, 0xf3, 0xd0, 0x68, 0x00, 0xeb, 0xd3, 0x95, 0x4f, 0x37, 0x3b, 0xed, 0xa6, 0xa7, 0x40, 0x5e, - /*5b40:*/ 0x73, 0x36, 0xcc, 0x39, 0xad, 0xca, 0x0f, 0xbf, 0x4f, 0x08, 0xd3, 0x7a, 0x0d, 0x00, 0xe1, 0x4e, - /*5b50:*/ 0x7b, 0x2d, 0x4d, 0x4d, 0xf0, 0x2f, 0x84, 0x22, 0x41, 0xfa, 0xbd, 0xd0, 0x0c, 0x8d, 0x42, 0xbd, - /*5b60:*/ 0xbc, 0x31, 0x63, 0x04, 0x4b, 0x16, 0xd2, 0x96, 0x0e, 0x4b, 0xcf, 0x86, 0x09, 0x85, 0xd0, 0x55, - /*5b70:*/ 0xd4, 0xb8, 0x17, 0xe8, 0xe7, 0x93, 0xfb, 0xf2, 0x5f, 0x8e, 0x8c, 0xef, 0xc6, 0x5b, 0x53, 0x12, - /*5b80:*/ 0x41, 0x82, 0x2d, 0xa1, 0xef, 0x52, 0x23, 0x02, 0xb4, 0xc2, 0xf0, 0x6d, 0x08, 0x78, 0x05, 0x7a, - /*5b90:*/ 0x50, 0xf7, 0x48, 0x6f, 0x96, 0xe1, 0x0f, 0x38, 0x05, 0x44, 0x56, 0x2b, 0xb9, 0x24, 0x28, 0x64, - /*5ba0:*/ 0x6d, 0x41, 0x78, 0x9d, 0x32, 0x50, 0xcd, 0x5e, 0x28, 0x93, 0x4c, 0xbe, 0x5e, 0xe2, 0x83, 0x97, - /*5bb0:*/ 0x4e, 0x9a, 0x77, 0xcb, 0x48, 0xa9, 0x67, 0xe1, 0xe9, 0x26, 0xd8, 0xf7, 0xaa, 0x12, 0x44, 0xf9, - /*5bc0:*/ 0xbd, 0xde, 0xf5, 0xc7, 0xae, 0x94, 0x96, 0xd6, 0x00, 0xdc, 0xef, 0x29, 0xcc, 0x11, 0xe2, 0x61, - /*5bd0:*/ 0xd7, 0xd0, 0x7a, 0x97, 0xab, 0xe3, 0x3d, 0x52, 0x7e, 0x54, 0xd6, 0x8a, 0x9c, 0x6c, 0x1b, 0x96, - /*5be0:*/ 0x97, 0xfd, 0x3b, 0x4e, 0xa1, 0x74, 0x14, 0x7d, 0x05, 0x52, 0x9d, 0x0d, 0xd9, 0x37, 0xd0, 0x10, - /*5bf0:*/ 0x42, 0x53, 0x55, 0xd0, 0xb9, 0x38, 0xd2, 0x76, 0xf7, 0xa7, 0xb0, 0x6f, 0x61, 0x36, 0x6d, 0x1f, - /*5c00:*/ 0x4c, 0x2c, 0xf1, 0xcd, 0x77, 0x35, 0x83, 0xef, 0x47, 0x75, 0x29, 0x24, 0xf0, 0x2b, 0x15, 0x48, - /*5c10:*/ 0x54, 0x28, 0x92, 0xd9, 0xc7, 0xca, 0x93, 0xb8, 0x92, 0xeb, 0x74, 0xaf, 0x50, 0x83, 0x9b, 0xc1, - /*5c20:*/ 0x45, 0x00, 0x19, 0xf0, 0x67, 0x77, 0x35, 0x75, 0x1d, 0xe6, 0x6e, 0x41, 0x17, 0x2e, 0xe1, 0x2d, - /*5c30:*/ 0xfe, 0x16, 0x42, 0x3a, 0x98, 0x0e, 0x83, 0xff, 0x40, 0x47, 0xcf, 0x5c, 0x6c, 0x10, 0x54, 0x34, - /*5c40:*/ 0x31, 0x11, 0xa1, 0x87, 0x50, 0xfd, 0x0c, 0xdf, 0xe7, 0xe6, 0xdd, 0x58, 0x73, 0x1b, 0x29, 0x8d, - /*5c50:*/ 0xbf, 0x83, 0x5d, 0xa4, 0x8b, 0xdf, 0x5c, 0x1b, 0x57, 0x71, 0x8a, 0x1a, 0xf3, 0xf0, 0x73, 0xcd, - /*5c60:*/ 0x52, 0x85, 0x72, 0x75, 0x33, 0xdf, 0xfe, 0x9d, 0x4b, 0x67, 0xea, 0xee, 0xd1, 0x18, 0x0b, 0x02, - /*5c70:*/ 0x15, 0x50, 0xee, 0x8e, 0xd9, 0xf1, 0x38, 0x8d, 0x6b, 0x83, 0xe3, 0x1c, 0x51, 0xf0, 0x81, 0x53, - /*5c80:*/ 0x13, 0x78, 0xfd, 0x42, 0xf1, 0x14, 0xd6, 0xa3, 0xed, 0xf7, 0x5e, 0x9a, 0x21, 0x31, 0x6e, 0xa7, - /*5c90:*/ 0xed, 0xe2, 0x9c, 0x64, 0x2f, 0x22, 0xb3, 0xdc, 0xd5, 0xd8, 0x61, 0x09, 0xd7, 0x7d, 0xc0, 0x4b, - /*5ca0:*/ 0x37, 0xef, 0x4a, 0x77, 0xea, 0xd6, 0xbd, 0xd4, 0x7a, 0xfc, 0x4a, 0x61, 0xdb, 0x8d, 0xcd, 0x02, - /*5cb0:*/ 0x38, 0x28, 0xe2, 0xe8, 0x47, 0xcb, 0xe4, 0xd2, 0x56, 0x96, 0x66, 0x60, 0x61, 0xb5, 0x05, 0x61, - /*5cc0:*/ 0x5c, 0x94, 0xe3, 0xc3, 0x77, 0x66, 0xfe, 0xcf, 0xe1, 0x2e, 0x3c, 0x1c, 0x74, 0x74, 0x0b, 0x24, - /*5cd0:*/ 0x35, 0x5c, 0xe9, 0x8e, 0xad, 0x8b, 0xb8, 0x40, 0x2a, 0x4f, 0x5d, 0xb7, 0x34, 0x26, 0xd1, 0x3b, - /*5ce0:*/ 0x5f, 0xd8, 0xf2, 0xed, 0x93, 0xc6, 0xcf, 0xba, 0xee, 0xc1, 0xaf, 0x0e, 0x46, 0x6e, 0xa4, 0x10, - /*5cf0:*/ 0xd1, 0x0e, 0x81, 0x91, 0x1a, 0x23, 0x8f, 0x72, 0x15, 0x83, 0x86, 0xb0, 0x32, 0x8c, 0x58, 0x33, - /*5d00:*/ 0x28, 0x8f, 0xa6, 0x4b, 0x33, 0xfd, 0xad, 0xdc, 0xe9, 0x48, 0x2f, 0xd9, 0x47, 0x56, 0xd1, 0xe8, - /*5d10:*/ 0xa0, 0xbb, 0x1c, 0xc1, 0x68, 0xc2, 0xe1, 0xc0, 0x9a, 0xef, 0xd5, 0xbd, 0xbe, 0x15, 0x7b, 0xee, - /*5d20:*/ 0x6c, 0x83, 0xd1, 0xb5, 0xbe, 0x6d, 0x13, 0x30, 0x72, 0x7b, 0xa1, 0xc4, 0x95, 0x1c, 0x3f, 0x8b, - /*5d30:*/ 0xcb, 0x10, 0xef, 0xfe, 0x2e, 0x69, 0x9c, 0x29, 0xa7, 0x3b, 0xc9, 0x94, 0xdc, 0x69, 0x7a, 0xf7, - /*5d40:*/ 0x30, 0x2f, 0xb1, 0xb5, 0x1c, 0x1b, 0x98, 0x83, 0xbc, 0xbe, 0x2c, 0x5d, 0xbd, 0x24, 0x43, 0xa9, - /*5d50:*/ 0xd0, 0x86, 0x57, 0x9a, 0x82, 0xb8, 0x39, 0xde, 0x6b, 0xb3, 0x03, 0xad, 0x48, 0xdd, 0x30, 0x54, - /*5d60:*/ 0xb5, 0xe8, 0xc2, 0xc8, 0x92, 0xbc, 0x25, 0x1d, 0x84, 0x70, 0x60, 0xfd, 0x20, 0x33, 0x1c, 0x06, - /*5d70:*/ 0x58, 0x5f, 0xa1, 0x5b, 0xcd, 0xa5, 0x56, 0x28, 0x25, 0x3b, 0x72, 0x11, 0xf4, 0xb0, 0xbb, 0x60, - /*5d80:*/ 0x17, 0xfd, 0x3f, 0x3a, 0xc9, 0x39, 0xf8, 0xd6, 0x28, 0xf8, 0xff, 0xdc, 0x5f, 0x78, 0xd0, 0x4c, - /*5d90:*/ 0x8d, 0x5c, 0xe2, 0x60, 0x0b, 0x08, 0xfa, 0x89, 0x1e, 0x18, 0xd4, 0x47, 0x8d, 0x4d, 0xed, 0x6a, - /*5da0:*/ 0x70, 0xb5, 0x50, 0xf4, 0x6f, 0x75, 0x4c, 0xf1, 0xb7, 0xb6, 0x34, 0x72, 0x18, 0x81, 0x1d, 0xfd, - /*5db0:*/ 0x57, 0xb4, 0xc9, 0x17, 0x4f, 0x6a, 0x97, 0x3c, 0xc0, 0xa6, 0x3d, 0xf0, 0xc8, 0xd4, 0x0a, 0xb5, - /*5dc0:*/ 0xf8, 0x81, 0xd9, 0xf1, 0x99, 0x31, 0x62, 0x7c, 0x7c, 0x3b, 0xa2, 0x5a, 0xc3, 0x3f, 0x88, 0xc6, - /*5dd0:*/ 0xe8, 0xf2, 0x1e, 0x5d, 0xda, 0xba, 0xe8, 0x7d, 0xa2, 0x72, 0x73, 0x03, 0xa1, 0x35, 0x47, 0xf8, - /*5de0:*/ 0xcd, 0x78, 0x6b, 0x06, 0x6b, 0x25, 0x2f, 0x74, 0xf8, 0xad, 0xd1, 0xb3, 0x5a, 0x95, 0xc2, 0x73, - /*5df0:*/ 0xfa, 0x8d, 0xfd, 0x20, 0x09, 0x69, 0x08, 0xfe, 0x3f, 0x6b, 0x72, 0x3c, 0x59, 0x41, 0x28, 0x29, - /*5e00:*/ 0x87, 0x0d, 0xb7, 0x96, 0x7f, 0xaf, 0x29, 0x11, 0x27, 0xe3, 0x53, 0x0e, 0xd2, 0x1c, 0x11, 0xac, - /*5e10:*/ 0x1f, 0xfb, 0x6f, 0x38, 0xb6, 0xf8, 0x19, 0x11, 0xa2, 0x44, 0xb4, 0xa9, 0xf3, 0x05, 0xd0, 0xec, - /*5e20:*/ 0x59, 0x8a, 0xa6, 0x23, 0x26, 0xaf, 0xa6, 0xda, 0x3a, 0xcc, 0xe3, 0x83, 0x51, 0xae, 0xaa, 0xf5, - /*5e30:*/ 0xb9, 0x5e, 0xae, 0xec, 0xbf, 0x99, 0x27, 0x0d, 0x30, 0xfe, 0xae, 0x4d, 0x59, 0xf7, 0xd5, 0x56, - /*5e40:*/ 0x12, 0x12, 0x61, 0x8f, 0x4c, 0xaa, 0xb7, 0x00, 0x82, 0x07, 0xad, 0x6a, 0xfa, 0xf3, 0xe0, 0xd6, - /*5e50:*/ 0x32, 0x5e, 0xf1, 0x16, 0x33, 0x07, 0xf1, 0x83, 0x42, 0x05, 0x0b, 0x98, 0xa0, 0x47, 0xe8, 0xf2, - /*5e60:*/ 0x9f, 0x72, 0xb2, 0x51, 0x98, 0xcc, 0xe7, 0xd7, 0xc3, 0x34, 0x2d, 0x26, 0x44, 0x26, 0x2e, 0xe1, - /*5e70:*/ 0x6c, 0x36, 0x08, 0x10, 0x9d, 0x7c, 0x2e, 0xc6, 0x61, 0xa2, 0x7f, 0xa7, 0xef, 0x3e, 0x4f, 0xfd, - /*5e80:*/ 0x9b, 0xde, 0x3f, 0x4f, 0x61, 0xa1, 0x0a, 0x0d, 0x36, 0x8f, 0x65, 0x98, 0x7e, 0x40, 0x9a, 0x19, - /*5e90:*/ 0xdf, 0x27, 0x7b, 0xc5, 0x18, 0x24, 0xb5, 0x78, 0x2a, 0xe1, 0x00, 0x6c, 0x4d, 0x7e, 0xdf, 0x83, - /*5ea0:*/ 0xe1, 0xcd, 0x7b, 0xb5, 0x91, 0x4b, 0x73, 0xd2, 0xbc, 0xc7, 0xe2, 0x7e, 0x2c, 0xe6, 0x52, 0x66, - /*5eb0:*/ 0xb2, 0xf7, 0x02, 0x66, 0x5b, 0xf5, 0xae, 0xbe, 0x6d, 0xf6, 0xc6, 0x9b, 0x05, 0xd8, 0xc8, 0xba, - /*5ec0:*/ 0xda, 0x59, 0x61, 0x79, 0xe1, 0x30, 0x96, 0x5a, 0x04, 0xd8, 0xf0, 0x8e, 0x19, 0xf9, 0x8e, 0xcb, - /*5ed0:*/ 0x59, 0xdf, 0xb0, 0x3b, 0x2a, 0xcc, 0xda, 0xbd, 0x09, 0x13, 0x1c, 0xf2, 0xdc, 0x87, 0xed, 0x75, - /*5ee0:*/ 0xa9, 0xa3, 0x3f, 0x35, 0x36, 0xaa, 0x43, 0x4c, 0x6a, 0xd7, 0x6d, 0x74, 0x76, 0x8d, 0xb0, 0xd1, - /*5ef0:*/ 0xed, 0x59, 0xa2, 0x99, 0xda, 0xbb, 0xc4, 0x8b, 0xf0, 0x99, 0x4a, 0xf0, 0xd2, 0x0c, 0x96, 0x51, - /*5f00:*/ 0x07, 0xf8, 0xf3, 0x5b, 0xc4, 0xfa, 0x42, 0x45, 0xa3, 0x7d, 0xd8, 0xb5, 0xce, 0x68, 0xdc, 0xc4, - /*5f10:*/ 0x5e, 0xff, 0x7f, 0x5b, 0x49, 0xc3, 0xb8, 0xf2, 0xb6, 0xc1, 0xf0, 0x12, 0xc9, 0x3e, 0xfd, 0x3f, - /*5f20:*/ 0xc9, 0xf4, 0x44, 0x3e, 0x06, 0x0a, 0x6a, 0x12, 0x84, 0x75, 0x31, 0xa3, 0x73, 0x46, 0x21, 0xfd, - /*5f30:*/ 0xca, 0xfe, 0xf4, 0x54, 0x16, 0xc6, 0x6f, 0x3b, 0xac, 0xa0, 0xbe, 0x59, 0xa2, 0x0e, 0x3c, 0x4e, - /*5f40:*/ 0xfc, 0xc3, 0x08, 0xa7, 0xdd, 0x51, 0xc1, 0xc8, 0xbf, 0x55, 0x24, 0x2a, 0x27, 0x81, 0xc1, 0xee, - /*5f50:*/ 0x82, 0x0c, 0x6b, 0xfd, 0x8b, 0xbc, 0xbe, 0x69, 0x30, 0xdc, 0x5a, 0xfb, 0xfb, 0xd0, 0xda, 0x08, - /*5f60:*/ 0x6a, 0xd7, 0x3a, 0x42, 0x0e, 0x48, 0x27, 0xa1, 0x9c, 0x66, 0x43, 0xa3, 0xe4, 0x19, 0x1f, 0x81, - /*5f70:*/ 0xc1, 0xab, 0x3f, 0xdf, 0xaa, 0xa8, 0x40, 0x28, 0x51, 0xb2, 0x30, 0xff, 0x78, 0x06, 0x9a, 0x06, - /*5f80:*/ 0x29, 0xbe, 0x03, 0xf0, 0x6e, 0x7d, 0x69, 0xac, 0x19, 0x30, 0x18, 0xd2, 0x86, 0xed, 0x10, 0x9f, - /*5f90:*/ 0x8d, 0xbc, 0x96, 0x79, 0x45, 0x49, 0x73, 0x94, 0xfa, 0xfa, 0x1d, 0x4f, 0x82, 0xff, 0xf2, 0xdc, - /*5fa0:*/ 0x4c, 0xe1, 0xb4, 0xa6, 0x0a, 0x51, 0x87, 0x66, 0x50, 0x18, 0x23, 0x84, 0x35, 0xa9, 0x12, 0xa8, - /*5fb0:*/ 0xee, 0x40, 0x9a, 0x44, 0x2d, 0x9b, 0xec, 0xa6, 0x4a, 0xf1, 0x18, 0x67, 0x76, 0x14, 0x24, 0x7a, - /*5fc0:*/ 0xa0, 0xc5, 0x42, 0x41, 0xe9, 0xa9, 0x51, 0x5a, 0xa9, 0x5b, 0xa5, 0x61, 0xd6, 0xb8, 0x31, 0x4b, - /*5fd0:*/ 0x39, 0xd6, 0x59, 0xcc, 0x2f, 0x6b, 0x2f, 0x73, 0xf8, 0x5c, 0xb2, 0x66, 0x85, 0x2b, 0x64, 0xa3, - /*5fe0:*/ 0x22, 0x90, 0x6e, 0xcc, 0x9e, 0xf4, 0x51, 0x41, 0xd8, 0x44, 0x63, 0x0d, 0x3f, 0xe6, 0x0f, 0xe0, - /*5ff0:*/ 0x5f, 0x8e, 0xba, 0x3f, 0x07, 0xb0, 0x0b, 0x06, 0x65, 0x24, 0x39, 0xca, 0x9f, 0xaf, 0x65, 0x10, - /*6000:*/ 0xfc, 0x62, 0x9d, 0x3c, 0xe1, 0xde, 0x76, 0x91, 0x2a, 0xc6, 0x38, 0xd8, 0x53, 0x76, 0xe1, 0x50, - /*6010:*/ 0xf1, 0xe8, 0x66, 0xf7, 0x75, 0x11, 0x5f, 0x52, 0x42, 0x7c, 0xc8, 0xd3, 0xf4, 0x2d, 0x10, 0xc4, - /*6020:*/ 0xed, 0x6f, 0x0c, 0xa2, 0x7c, 0x2e, 0x49, 0x01, 0x03, 0x87, 0xda, 0x5b, 0x2c, 0xc3, 0xaa, 0x17, - /*6030:*/ 0xad, 0x95, 0x9a, 0x57, 0xe0, 0xa0, 0x7e, 0x8d, 0x3a, 0xec, 0x1f, 0xbf, 0x79, 0xc8, 0x3a, 0xaf, - /*6040:*/ 0x54, 0xc4, 0x3c, 0xe4, 0x10, 0x04, 0xac, 0xa8, 0x9a, 0x4a, 0xc0, 0xcf, 0x97, 0x6c, 0x2f, 0x0f, - /*6050:*/ 0x44, 0xa1, 0x5f, 0xf3, 0x71, 0xbf, 0xc5, 0x2e, 0x30, 0xc9, 0xf0, 0x41, 0xa1, 0x2a, 0x74, 0xb8, - /*6060:*/ 0xc3, 0xc7, 0x66, 0x0a, 0x00, 0x7b, 0x4d, 0x19, 0xef, 0x46, 0x74, 0xdd, 0x47, 0x61, 0x82, 0x22, - /*6070:*/ 0x14, 0x9c, 0x31, 0x08, 0x6a, 0xa4, 0x22, 0x1e, 0x11, 0x25, 0x49, 0x2f, 0x7d, 0x4d, 0x54, 0x99, - /*6080:*/ 0xc2, 0xc8, 0x90, 0xd6, 0x7f, 0x8c, 0x73, 0x07, 0xb9, 0xcd, 0x70, 0x78, 0xc5, 0xb5, 0x39, 0xfd, - /*6090:*/ 0xf2, 0xe5, 0xd3, 0x3f, 0xc9, 0x4c, 0x4a, 0xc4, 0xfe, 0x5a, 0x2c, 0xd2, 0x0c, 0x21, 0xe6, 0x6e, - /*60a0:*/ 0x84, 0xfe, 0xa7, 0x9b, 0x8b, 0xc3, 0x27, 0xe1, 0xa4, 0x60, 0xd6, 0xee, 0x82, 0x1a, 0x4d, 0x70, - /*60b0:*/ 0xfd, 0x25, 0x4b, 0x23, 0x6a, 0x81, 0x05, 0x05, 0x2d, 0x0b, 0xac, 0x9d, 0x34, 0x5b, 0xd0, 0x11, - /*60c0:*/ 0x1a, 0x71, 0xff, 0x8e, 0x02, 0x62, 0x74, 0xd2, 0xcc, 0x01, 0x65, 0x4b, 0xdc, 0xfd, 0x71, 0x38, - /*60d0:*/ 0x5a, 0x75, 0x9d, 0x71, 0xc9, 0x5c, 0x6c, 0xde, 0x7d, 0x15, 0x57, 0x13, 0x8b, 0x87, 0x20, 0xc2, - /*60e0:*/ 0x96, 0xf3, 0xff, 0x83, 0x6c, 0xbb, 0x48, 0x46, 0x16, 0xf3, 0x16, 0x1e, 0x62, 0xfa, 0x22, 0x11, - /*60f0:*/ 0xa7, 0xc0, 0x6f, 0x6b, 0x0f, 0x3d, 0xdb, 0x71, 0x72, 0x53, 0x88, 0x31, 0x91, 0x86, 0x4f, 0x61, - /*6100:*/ 0xd1, 0x3a, 0x9a, 0x66, 0x74, 0xcb, 0xd6, 0x10, 0xf5, 0xdb, 0x08, 0x61, 0x03, 0x96, 0xe2, 0xe0, - /*6110:*/ 0x1b, 0xde, 0x20, 0x08, 0xa1, 0x04, 0x30, 0x1e, 0x09, 0x28, 0xb3, 0x98, 0x3d, 0xea, 0x89, 0x97, - /*6120:*/ 0xc5, 0x23, 0x0b, 0x81, 0x16, 0xfd, 0xd0, 0x15, 0x32, 0xc1, 0x26, 0x2c, 0xfb, 0xaf, 0x7e, 0x5a, - /*6130:*/ 0x44, 0x2f, 0x7c, 0xc0, 0xcb, 0xd1, 0x98, 0xc9, 0x2a, 0xaf, 0x61, 0x85, 0x06, 0xbb, 0x39, 0x0c, - /*6140:*/ 0xa2, 0xf3, 0xba, 0x9b, 0xb2, 0x6d, 0xb2, 0x57, 0xed, 0x9f, 0x3b, 0x0f, 0x0a, 0x31, 0x47, 0xc0, - /*6150:*/ 0xa1, 0xff, 0xad, 0x50, 0xbf, 0xd9, 0x55, 0x8d, 0xb5, 0x3a, 0x4c, 0xa0, 0xf6, 0x49, 0xa8, 0x44, - /*6160:*/ 0x9c, 0x88, 0x4f, 0x60, 0xaa, 0x5b, 0x9d, 0x3f, 0x72, 0x02, 0xf6, 0x0a, 0xb3, 0x2a, 0x2d, 0xd6, - /*6170:*/ 0x11, 0xe3, 0x5c, 0xdf, 0x47, 0x10, 0xf4, 0x0c, 0x18, 0x20, 0x61, 0x8f, 0x5b, 0xae, 0x2b, 0x47, - /*6180:*/ 0x5e, 0x0b, 0xd3, 0x61, 0xab, 0x61, 0x5c, 0x29, 0xd2, 0x8b, 0xfe, 0x50, 0xc0, 0x43, 0xf7, 0x7a, - /*6190:*/ 0x8c, 0xec, 0x66, 0xae, 0xe6, 0xf6, 0xfd, 0xce, 0x9d, 0x33, 0xdd, 0xd9, 0xc3, 0x4a, 0x62, 0xc0, - /*61a0:*/ 0x0b, 0x0d, 0x3e, 0x1a, 0xc9, 0x01, 0x5f, 0xd9, 0xcb, 0xbd, 0x34, 0x43, 0x2f, 0xf5, 0xd9, 0xe0, - /*61b0:*/ 0x2a, 0x60, 0xf0, 0xaf, 0x56, 0xeb, 0x86, 0x80, 0x3e, 0x57, 0x7b, 0x67, 0xe6, 0xf3, 0x0e, 0x52, - /*61c0:*/ 0x56, 0x56, 0x39, 0xb6, 0xa0, 0x0b, 0x42, 0x97, 0xe8, 0x6e, 0x52, 0x8b, 0x28, 0x7a, 0x98, 0xfb, - /*61d0:*/ 0x2a, 0x7b, 0x7a, 0x79, 0xd8, 0xc7, 0x31, 0x87, 0x9d, 0xd7, 0x2c, 0x1f, 0xc6, 0x07, 0x92, 0x69, - /*61e0:*/ 0x34, 0xb8, 0x9b, 0xf3, 0x34, 0xfa, 0xe1, 0x3c, 0xb4, 0x43, 0x17, 0x43, 0x27, 0xaa, 0x31, 0x3f, - /*61f0:*/ 0xa9, 0x2c, 0xa0, 0xbd, 0x56, 0x96, 0x0d, 0xbc, 0xe0, 0x26, 0x55, 0x15, 0xc2, 0x34, 0x4c, 0x90, - /*6200:*/ 0x5c, 0xa8, 0x11, 0xca, 0xfc, 0xd6, 0xa9, 0xa0, 0x26, 0xf9, 0x18, 0x72, 0x21, 0x43, 0x8f, 0x9d, - /*6210:*/ 0xa2, 0xce, 0xef, 0xfb, 0x67, 0xce, 0x7e, 0xab, 0x54, 0x66, 0x0e, 0x1a, 0xbc, 0xab, 0x6c, 0xb4, - /*6220:*/ 0x64, 0x7f, 0x35, 0xd9, 0x81, 0xd5, 0xf4, 0x6b, 0xe1, 0x0e, 0xf9, 0x9b, 0x9f, 0xf0, 0x7f, 0x0b, - /*6230:*/ 0xa1, 0x49, 0x63, 0xf5, 0x8f, 0x99, 0x75, 0x91, 0x98, 0x1c, 0xe0, 0x91, 0xcd, 0xee, 0x28, 0x58, - /*6240:*/ 0x9a, 0x19, 0x14, 0x31, 0x1a, 0xc2, 0x59, 0xaf, 0x0a, 0xce, 0x1d, 0x31, 0x3f, 0x3f, 0xbb, 0xbf, - /*6250:*/ 0x59, 0x95, 0x78, 0xc3, 0xd7, 0xe1, 0x35, 0x44, 0x91, 0x42, 0x2e, 0x29, 0x4a, 0x84, 0xd0, 0x2d, - /*6260:*/ 0xaa, 0xd0, 0xa5, 0xe2, 0x5c, 0x39, 0x15, 0xb8, 0x85, 0x53, 0x84, 0x6c, 0x1e, 0xdb, 0x1c, 0x87, - /*6270:*/ 0x8b, 0x6e, 0xf4, 0x9f, 0x03, 0xd2, 0xad, 0xa9, 0xf8, 0xc9, 0xa7, 0x28, 0x2a, 0xb7, 0x55, 0x2b, - /*6280:*/ 0x6a, 0x34, 0xb1, 0xd6, 0xd0, 0xae, 0x01, 0x09, 0x08, 0x73, 0xd6, 0xee, 0xd0, 0xe1, 0x43, 0xf5, - /*6290:*/ 0xda, 0xe7, 0x0e, 0xc3, 0x3a, 0xcf, 0x3e, 0xe6, 0xc6, 0x95, 0xe5, 0xd5, 0xe7, 0xcd, 0xfb, 0x7f, - /*62a0:*/ 0xfb, 0x0d, 0x37, 0xfd, 0xf5, 0x1c, 0x45, 0x9e, 0xaa, 0xb4, 0x9c, 0x36, 0xe1, 0x28, 0x38, 0xeb, - /*62b0:*/ 0x28, 0x49, 0xbe, 0x96, 0xb8, 0x4c, 0x16, 0x5e, 0xc3, 0x8a, 0x34, 0x44, 0x90, 0x3d, 0xa9, 0xe7, - /*62c0:*/ 0x11, 0xd5, 0x80, 0x28, 0xac, 0x80, 0x13, 0x6f, 0xdb, 0xd2, 0x41, 0xa6, 0x0b, 0x6c, 0x9e, 0xca, - /*62d0:*/ 0xee, 0xae, 0x60, 0xd1, 0xb0, 0x77, 0x8d, 0xbe, 0x41, 0xd8, 0x2f, 0xeb, 0xea, 0x6a, 0x39, 0xae, - /*62e0:*/ 0x50, 0xb9, 0x68, 0x56, 0xfc, 0x89, 0x79, 0x42, 0x07, 0x4e, 0xa4, 0x42, 0x2b, 0x3e, 0xb7, 0xfe, - /*62f0:*/ 0x5f, 0x4f, 0x4d, 0xca, 0x30, 0x30, 0x9d, 0x20, 0x51, 0xba, 0xd2, 0x4b, 0x33, 0x89, 0xee, 0x16, - /*6300:*/ 0x97, 0xbe, 0x3d, 0x3b, 0x41, 0x7a, 0xca, 0xdb, 0xcf, 0x77, 0x5d, 0x01, 0x0e, 0xbe, 0x82, 0xe3, - /*6310:*/ 0x44, 0x78, 0xd4, 0x5c, 0x51, 0xf4, 0x3d, 0x15, 0x41, 0xe5, 0xcb, 0x63, 0xb8, 0x8e, 0x43, 0x68, - /*6320:*/ 0xc6, 0x06, 0x3b, 0xfb, 0xab, 0x45, 0x44, 0x21, 0x78, 0xfb, 0xdd, 0x10, 0x58, 0x94, 0x2c, 0xb1, - /*6330:*/ 0xe0, 0x4d, 0xa3, 0x10, 0x9e, 0xad, 0xcf, 0x1c, 0x12, 0x4a, 0x9d, 0xe1, 0xcb, 0x75, 0x93, 0x67, - /*6340:*/ 0x34, 0xa9, 0x47, 0xa7, 0x8b, 0xca, 0x34, 0x9b, 0x77, 0x72, 0xf2, 0xba, 0xce, 0xb9, 0x90, 0x6b, - /*6350:*/ 0xe4, 0xa0, 0x49, 0xe4, 0xb4, 0xb5, 0x7a, 0x09, 0xee, 0x18, 0x97, 0x5b, 0xdb, 0x80, 0xb1, 0x6c, - /*6360:*/ 0x20, 0x25, 0x60, 0xd7, 0xd0, 0x6f, 0xbb, 0xa1, 0xdb, 0xf5, 0xf0, 0xad, 0x4c, 0xa8, 0xf6, 0xf1, - /*6370:*/ 0xf0, 0xed, 0x6a, 0xb3, 0xf9, 0x00, 0x30, 0xc5, 0x4e, 0x15, 0x40, 0x8a, 0x4a, 0x54, 0x8f, 0xd2, - /*6380:*/ 0x93, 0x71, 0x2f, 0xc5, 0x65, 0x06, 0x8d, 0x7a, 0xf7, 0x69, 0xbe, 0x9f, 0x1b, 0xa6, 0x5b, 0xd7, - /*6390:*/ 0x58, 0x4e, 0x87, 0xb1, 0x6c, 0x6c, 0x27, 0x00, 0xcb, 0x82, 0x4a, 0x39, 0x79, 0x40, 0x05, 0x40, - /*63a0:*/ 0x4c, 0xf0, 0x5e, 0x63, 0x98, 0xbc, 0x69, 0x55, 0x3c, 0xec, 0x8f, 0xb0, 0xc2, 0x61, 0xcb, 0xea, - /*63b0:*/ 0xc6, 0x36, 0xd3, 0x06, 0xbe, 0xe4, 0x55, 0xfd, 0x12, 0x57, 0xfb, 0x3c, 0xfe, 0x23, 0x76, 0xa6, - /*63c0:*/ 0xff, 0x87, 0x8e, 0x3d, 0x6f, 0xa7, 0xc6, 0x91, 0x2f, 0x99, 0xeb, 0x5d, 0xb3, 0x6f, 0x6e, 0xba, - /*63d0:*/ 0x4b, 0xdb, 0x4d, 0x7f, 0x52, 0x70, 0xc3, 0xdc, 0xe1, 0x37, 0x3e, 0x51, 0xfc, 0xda, 0x6c, 0x70, - /*63e0:*/ 0x41, 0x19, 0xc9, 0x00, 0xb8, 0x93, 0x78, 0xb0, 0x93, 0xc0, 0x3e, 0x21, 0x97, 0x0c, 0x49, 0xf7, - /*63f0:*/ 0x37, 0x53, 0xa0, 0xc5, 0xd2, 0x06, 0x4e, 0x05, 0x0a, 0x00, 0x19, 0x32, 0xd0, 0x26, 0x32, 0x25, - /*6400:*/ 0x92, 0x5d, 0xef, 0x5b, 0xd9, 0x74, 0x19, 0x18, 0xcc, 0x33, 0xb6, 0x0f, 0xb9, 0x89, 0x61, 0x69, - /*6410:*/ 0xc1, 0xa3, 0xee, 0xbf, 0xf2, 0x29, 0x0b, 0x86, 0x8e, 0xaf, 0x2d, 0x0b, 0x26, 0xfe, 0x13, 0xed, - /*6420:*/ 0xbb, 0x5b, 0x4d, 0x43, 0x8c, 0x6f, 0xe5, 0x3d, 0x89, 0x6a, 0x1c, 0x9c, 0xa6, 0xf7, 0x74, 0x14, - /*6430:*/ 0x54, 0xd0, 0x66, 0xea, 0xf0, 0xbe, 0xfc, 0x3d, 0x29, 0x86, 0x1e, 0xed, 0xcb, 0xea, 0x0d, 0xd6, - /*6440:*/ 0x17, 0x7a, 0x9a, 0x0a, 0x93, 0xbb, 0x67, 0xe8, 0x72, 0x4f, 0xcb, 0xa8, 0x6b, 0xaf, 0x6a, 0x89, - /*6450:*/ 0xc0, 0xb6, 0x81, 0x4e, 0x77, 0x44, 0x64, 0xa7, 0x98, 0x72, 0x5c, 0x7d, 0x17, 0x8b, 0xec, 0xcd, - /*6460:*/ 0x0f, 0x39, 0x12, 0xe3, 0xdc, 0x8e, 0x07, 0x74, 0x6e, 0x10, 0x83, 0x83, 0x64, 0x34, 0x15, 0x5c, - /*6470:*/ 0x03, 0x93, 0x75, 0x91, 0xe1, 0xb0, 0xc7, 0x74, 0x35, 0xca, 0x99, 0x72, 0x77, 0xe5, 0xce, 0xe4, - /*6480:*/ 0xf2, 0xe5, 0x5e, 0x21, 0xd9, 0x4c, 0x5b, 0x1e, 0xb7, 0xf0, 0x10, 0x25, 0x2d, 0xe6, 0x77, 0xaf, - /*6490:*/ 0x7b, 0x0e, 0x7f, 0x3e, 0x65, 0x1b, 0xca, 0x67, 0x57, 0x36, 0x71, 0xa5, 0xec, 0x30, 0xe9, 0x61, - /*64a0:*/ 0x6d, 0x0d, 0x66, 0x40, 0x82, 0xe0, 0xc3, 0x3b, 0x6e, 0x8e, 0x41, 0x84, 0xeb, 0xc4, 0xfe, 0x4f, - /*64b0:*/ 0xe7, 0xc2, 0xd4, 0xea, 0x1d, 0x5d, 0x9c, 0x55, 0x5c, 0x50, 0x19, 0x5c, 0x59, 0xe0, 0xf0, 0xfb, - /*64c0:*/ 0xed, 0x23, 0xe8, 0xc5, 0x9a, 0x4c, 0x9c, 0xea, 0x58, 0xfd, 0x21, 0xab, 0x49, 0x83, 0x60, 0xa7, - /*64d0:*/ 0x23, 0x19, 0x94, 0x09, 0xdc, 0x76, 0x2e, 0x5b, 0xc7, 0x0f, 0x18, 0x82, 0x0e, 0x00, 0x36, 0x1a, - /*64e0:*/ 0xf9, 0x80, 0x8f, 0x33, 0xcd, 0x48, 0xa8, 0x6a, 0x9c, 0x51, 0x3b, 0x67, 0xe5, 0x59, 0x08, 0x0c, - /*64f0:*/ 0x55, 0xaa, 0xef, 0xce, 0x39, 0xde, 0x62, 0xbf, 0xcb, 0x06, 0xba, 0xac, 0xa2, 0x81, 0xc6, 0xc9, - /*6500:*/ 0xb2, 0x65, 0xdf, 0x82, 0x0f, 0x48, 0x5b, 0xdf, 0x69, 0x2b, 0x9e, 0xf6, 0xdd, 0xda, 0x52, 0x32, - /*6510:*/ 0x31, 0xb6, 0xb8, 0x92, 0x80, 0x82, 0xd0, 0xe8, 0x53, 0xd8, 0xe8, 0x49, 0xb4, 0x53, 0xbd, 0xd4, - /*6520:*/ 0x5a, 0x17, 0xfe, 0xb1, 0x2b, 0x6a, 0x42, 0x41, 0x97, 0x0e, 0x71, 0x36, 0x1f, 0x23, 0x88, 0x7a, - /*6530:*/ 0x59, 0x2d, 0xc1, 0xa7, 0xaf, 0x5a, 0x2a, 0xc9, 0xbd, 0x83, 0x62, 0x61, 0x2e, 0x47, 0xd6, 0x4c, - /*6540:*/ 0xfc, 0x9e, 0xe2, 0x16, 0xaa, 0x8f, 0x93, 0x75, 0x48, 0x08, 0x92, 0x97, 0x46, 0x0c, 0x05, 0x17, - /*6550:*/ 0x3a, 0x06, 0xda, 0x23, 0x36, 0x79, 0xf7, 0x94, 0x20, 0xc5, 0x1a, 0xe4, 0xaf, 0xfc, 0x37, 0x64, - /*6560:*/ 0xdf, 0x95, 0xbc, 0x5d, 0x19, 0xf6, 0x65, 0xe7, 0xe0, 0x77, 0x23, 0x14, 0x93, 0x78, 0x66, 0x9f, - /*6570:*/ 0x74, 0xfb, 0xab, 0xfe, 0x11, 0x0d, 0x6d, 0xcd, 0xee, 0xba, 0xa1, 0xb0, 0xf1, 0x60, 0x68, 0xb9, - /*6580:*/ 0x5e, 0x63, 0x9f, 0x94, 0x5a, 0xdf, 0x92, 0xa3, 0xd9, 0x26, 0x16, 0x29, 0x0d, 0xec, 0x9a, 0x98, - /*6590:*/ 0xb6, 0xc7, 0x10, 0xd0, 0xb6, 0x7d, 0x5b, 0xf0, 0x51, 0xc8, 0xe5, 0xac, 0x8d, 0x24, 0xcd, 0x38, - /*65a0:*/ 0x1d, 0xc6, 0x77, 0x06, 0x6b, 0x03, 0x5f, 0xe7, 0xc6, 0xf8, 0x46, 0xf5, 0xdc, 0x34, 0x47, 0x4a, - /*65b0:*/ 0xc3, 0xfe, 0xd1, 0xd8, 0xd9, 0x70, 0xcb, 0x9c, 0x70, 0xb1, 0x17, 0x37, 0x9b, 0x92, 0x98, 0x4c, - /*65c0:*/ 0x5d, 0x1e, 0x24, 0x24, 0x5e, 0x6b, 0x82, 0x21, 0xd4, 0xe7, 0x79, 0xea, 0xd1, 0x37, 0x98, 0x2d, - /*65d0:*/ 0x42, 0x5a, 0xb5, 0xde, 0x7b, 0x57, 0xf9, 0xe8, 0xa0, 0x63, 0x28, 0x20, 0x90, 0xc8, 0x85, 0xdf, - /*65e0:*/ 0xc2, 0xc1, 0x33, 0x92, 0x4f, 0xfd, 0x8d, 0xa0, 0x20, 0xfd, 0xb8, 0x34, 0x7f, 0x73, 0x4e, 0xb1, - /*65f0:*/ 0x62, 0xa5, 0xd3, 0xb2, 0xd6, 0x42, 0x9d, 0xc5, 0x4e, 0xc7, 0x0f, 0xce, 0xa4, 0x31, 0x4a, 0x75, - /*6600:*/ 0x6b, 0xef, 0x1c, 0x45, 0xbe, 0xc8, 0x31, 0x2e, 0xd4, 0x58, 0x28, 0xea, 0xe5, 0xac, 0xd2, 0xb5, - /*6610:*/ 0x30, 0x10, 0x37, 0x53, 0x1d, 0x26, 0x3f, 0x3c, 0xbc, 0x33, 0x4c, 0x8b, 0x11, 0x07, 0xfc, 0x1e, - /*6620:*/ 0x52, 0xb9, 0xbc, 0xe1, 0xf5, 0xae, 0xec, 0x9f, 0x9a, 0x8b, 0x02, 0x10, 0x62, 0xef, 0x10, 0x92, - /*6630:*/ 0xcc, 0x65, 0x64, 0x44, 0x06, 0x24, 0xca, 0xe2, 0x6f, 0x5a, 0xff, 0x01, 0x6e, 0xa4, 0x23, 0xa0, - /*6640:*/ 0x0b, 0xf4, 0x13, 0xa2, 0x0f, 0x11, 0x4a, 0x32, 0x54, 0xac, 0x7d, 0x5c, 0x6a, 0x2a, 0x8f, 0x45, - /*6650:*/ 0x2d, 0x5a, 0xb3, 0x1e, 0x6e, 0x2c, 0x0a, 0x31, 0x73, 0xd3, 0x12, 0x81, 0x4b, 0xc9, 0xdd, 0xe2, - /*6660:*/ 0x3e, 0x82, 0x27, 0x86, 0x8d, 0x84, 0x99, 0x22, 0x2e, 0xb0, 0x44, 0xdb, 0xe0, 0x8a, 0x94, 0x2d, - /*6670:*/ 0xda, 0x52, 0x42, 0x09, 0x62, 0xd8, 0x55, 0xf3, 0xdf, 0xee, 0x29, 0x1d, 0x70, 0x66, 0x4c, 0x0e, - /*6680:*/ 0x24, 0xf9, 0x8a, 0x6c, 0xda, 0xc2, 0x2e, 0xea, 0xa4, 0x44, 0x3d, 0x48, 0xc7, 0x84, 0xf8, 0x32, - /*6690:*/ 0x0c, 0x21, 0xae, 0xe1, 0xb2, 0x71, 0x33, 0x3f, 0xd8, 0x92, 0xdd, 0xaf, 0x50, 0xa4, 0x73, 0x31, - /*66a0:*/ 0x5a, 0xd9, 0xe3, 0x4a, 0xae, 0x06, 0x40, 0x15, 0xfb, 0xa4, 0xfd, 0xee, 0x72, 0x7e, 0xaf, 0x3d, - /*66b0:*/ 0x37, 0xb5, 0xc5, 0xd9, 0xe3, 0x2d, 0x1a, 0x41, 0xdf, 0xdc, 0x0d, 0x16, 0x97, 0x3a, 0x89, 0x50, - /*66c0:*/ 0x44, 0x15, 0xbd, 0xb9, 0x90, 0x66, 0x39, 0x14, 0xfd, 0xab, 0x83, 0xcb, 0xfb, 0x7a, 0xaa, 0xb9, - /*66d0:*/ 0xd3, 0x3b, 0x6f, 0x4a, 0xeb, 0x64, 0xa7, 0xc0, 0x66, 0xf7, 0x0c, 0x1f, 0xbc, 0x1d, 0x22, 0xb1, - /*66e0:*/ 0x7d, 0x49, 0x35, 0xb1, 0x09, 0x45, 0x46, 0xdc, 0x35, 0xaa, 0xc0, 0xad, 0x85, 0x1b, 0x75, 0x00, - /*66f0:*/ 0xa1, 0x6e, 0x71, 0x29, 0xa2, 0x55, 0x71, 0x83, 0x24, 0x53, 0x17, 0x1f, 0x5f, 0xf0, 0xac, 0x69, - /*6700:*/ 0xc5, 0xa2, 0xb5, 0x6f, 0xed, 0x59, 0xa8, 0x04, 0x69, 0x7f, 0xc3, 0x9b, 0x0a, 0x1a, 0xc2, 0xc4, - /*6710:*/ 0xad, 0xff, 0x91, 0xf1, 0x08, 0x95, 0xec, 0x4c, 0xe2, 0x0c, 0xb6, 0xc6, 0x10, 0xc3, 0xd3, 0xc6, - /*6720:*/ 0xed, 0xfb, 0x76, 0xf0, 0xff, 0xe6, 0x2c, 0x6e, 0x7e, 0x74, 0xa5, 0xe1, 0x49, 0x67, 0x04, 0x58, - /*6730:*/ 0x11, 0x37, 0x73, 0x8a, 0x74, 0x4c, 0xef, 0x42, 0xda, 0x7c, 0x26, 0x4d, 0x1d, 0x82, 0x1c, 0x2f, - /*6740:*/ 0xde, 0x78, 0x24, 0x17, 0xc8, 0xf9, 0x70, 0xd9, 0x7d, 0x3b, 0x84, 0x29, 0x4a, 0x01, 0xed, 0xd9, - /*6750:*/ 0xa9, 0xdc, 0x79, 0xdc, 0xab, 0xd8, 0xc1, 0xba, 0x19, 0x6e, 0x12, 0xc4, 0xfa, 0x46, 0x5a, 0xee, - /*6760:*/ 0x7b, 0xd2, 0xbd, 0x95, 0x1e, 0x83, 0x39, 0xc0, 0x72, 0x6c, 0x7a, 0xfa, 0xfc, 0x1d, 0x37, 0xba, - /*6770:*/ 0x41, 0x33, 0xe5, 0x01, 0xd0, 0x5d, 0x76, 0x4b, 0xc3, 0x76, 0x00, 0xb4, 0xcf, 0xf4, 0xdc, 0x6b, - /*6780:*/ 0x63, 0x3c, 0x4c, 0x54, 0xb8, 0x3c, 0xeb, 0x60, 0xd4, 0x15, 0x62, 0xa0, 0x8d, 0x60, 0xcf, 0x9a, - /*6790:*/ 0xca, 0xb8, 0x42, 0xe5, 0x23, 0xf7, 0xf8, 0x4b, 0x5a, 0xfe, 0xdb, 0x11, 0x15, 0xdf, 0x1c, 0xdb, - /*67a0:*/ 0xfb, 0xd7, 0x46, 0xb1, 0xb4, 0x4b, 0x56, 0x10, 0xc4, 0x6e, 0xa0, 0xae, 0x41, 0xc1, 0x4d, 0xc7, - /*67b0:*/ 0xa4, 0x9f, 0xe7, 0x9f, 0x45, 0x11, 0xbe, 0x4c, 0x29, 0xe6, 0xdb, 0x69, 0x50, 0xfe, 0x96, 0xb1, - /*67c0:*/ 0x58, 0xb1, 0xe8, 0x93, 0x2c, 0x0a, 0x98, 0x91, 0x33, 0xb6, 0x3c, 0x5d, 0x8d, 0x3a, 0xa4, 0x16, - /*67d0:*/ 0x84, 0x06, 0xaf, 0x79, 0x1e, 0x5b, 0x1a, 0xc8, 0xde, 0x3a, 0x6f, 0x0c, 0x0a, 0x9e, 0x0b, 0x0f, - /*67e0:*/ 0xab, 0x08, 0x13, 0x32, 0x36, 0xb4, 0xa2, 0x52, 0x4a, 0x31, 0x95, 0x95, 0xaf, 0x61, 0x39, 0xeb, - /*67f0:*/ 0x32, 0x8f, 0x01, 0x5f, 0xb4, 0x7e, 0xc4, 0xd0, 0xb5, 0x27, 0x53, 0xf5, 0x79, 0x8a, 0x3e, 0x35, - /*6800:*/ 0x24, 0xc2, 0x63, 0x8a, 0x44, 0x82, 0x18, 0x83, 0xbd, 0x7d, 0xaa, 0xe7, 0x0f, 0x48, 0xf4, 0x59, - /*6810:*/ 0xcb, 0xcc, 0xa4, 0xd9, 0x33, 0x71, 0x30, 0x31, 0x10, 0x42, 0x37, 0xf9, 0xfb, 0xcb, 0x28, 0xd5, - /*6820:*/ 0x1e, 0x6d, 0x20, 0x32, 0x92, 0xc6, 0x93, 0x76, 0x47, 0x25, 0x1a, 0xaa, 0x26, 0x9a, 0xaf, 0x40, - /*6830:*/ 0x54, 0x00, 0xed, 0xe7, 0x68, 0x82, 0xe8, 0x02, 0x26, 0xd6, 0xde, 0xcb, 0x53, 0xdd, 0x8c, 0x81, - /*6840:*/ 0x45, 0xd9, 0xc2, 0xda, 0xdb, 0xb2, 0x5e, 0x13, 0xd2, 0x02, 0x14, 0xea, 0x5d, 0x00, 0x04, 0x67, - /*6850:*/ 0xc4, 0x58, 0x74, 0xc3, 0x98, 0x58, 0x87, 0xab, 0x48, 0xd5, 0xe8, 0xa8, 0xaa, 0x68, 0x52, 0x84, - /*6860:*/ 0x63, 0x11, 0x33, 0xd9, 0x45, 0xcb, 0xbf, 0x71, 0x12, 0x78, 0xb8, 0x1e, 0x78, 0x6a, 0x69, 0xca, - /*6870:*/ 0x86, 0xb8, 0xb9, 0x2e, 0x84, 0x75, 0xbd, 0x9e, 0x1d, 0x58, 0x3d, 0xcb, 0x72, 0xd5, 0xd4, 0x01, - /*6880:*/ 0x39, 0xbd, 0xfe, 0x0a, 0x01, 0x57, 0xde, 0x2e, 0xd7, 0x0b, 0x7a, 0xc5, 0x20, 0x05, 0x19, 0x7e, - /*6890:*/ 0xab, 0x35, 0x88, 0xdc, 0xc3, 0x01, 0xa1, 0xe2, 0x2c, 0x9c, 0xce, 0x2f, 0xc0, 0x62, 0xc8, 0x8f, - /*68a0:*/ 0x6e, 0x0d, 0xd0, 0xbe, 0xf8, 0x17, 0xf2, 0x18, 0x36, 0x86, 0x80, 0x40, 0x37, 0xeb, 0x5f, 0x45, - /*68b0:*/ 0x04, 0x93, 0x05, 0xfd, 0xec, 0x37, 0xa4, 0x12, 0x75, 0x03, 0x26, 0x1b, 0x67, 0x03, 0xd9, 0x9e, - /*68c0:*/ 0xa9, 0xa6, 0xb0, 0x8a, 0x41, 0xb9, 0x0a, 0x99, 0x69, 0xee, 0x96, 0x84, 0x57, 0x0a, 0x8f, 0xb7, - /*68d0:*/ 0xae, 0xab, 0x41, 0x3a, 0x2c, 0x5b, 0x6a, 0xbf, 0xfd, 0x6b, 0x4f, 0x3e, 0x2a, 0x6f, 0xc4, 0xef, - /*68e0:*/ 0x6f, 0xe2, 0x51, 0xb6, 0x6a, 0xba, 0xc0, 0xf0, 0xd0, 0x60, 0xaf, 0x65, 0xf3, 0xab, 0xb8, 0xe1, - /*68f0:*/ 0x56, 0xc4, 0x30, 0x00, 0x60, 0x0d, 0x9f, 0x4c, 0xd2, 0xfa, 0x5b, 0x9a, 0x2d, 0x88, 0xca, 0x0d, - /*6900:*/ 0x69, 0x53, 0x99, 0x95, 0x8d, 0x20, 0x33, 0x92, 0xfb, 0xa8, 0x2d, 0x2b, 0x34, 0x83, 0xb6, 0x05, - /*6910:*/ 0xdb, 0xb8, 0x04, 0x7c, 0x43, 0xb9, 0x45, 0xa2, 0x86, 0x6b, 0x80, 0x42, 0x07, 0x75, 0xaf, 0x7e, - /*6920:*/ 0xa7, 0x94, 0x7e, 0x91, 0x2d, 0x8e, 0x9a, 0xf4, 0xce, 0xaa, 0x56, 0x43, 0xc1, 0x50, 0xa2, 0xa5, - /*6930:*/ 0x34, 0x53, 0xe0, 0x07, 0x2b, 0x9d, 0x4d, 0x6f, 0xdb, 0xed, 0xcd, 0x3a, 0x19, 0x50, 0xb6, 0x2d, - /*6940:*/ 0x3d, 0xdb, 0xa4, 0x3c, 0x35, 0xa4, 0x0b, 0xe8, 0xd0, 0x80, 0x59, 0x21, 0x8f, 0xd4, 0x11, 0xd6, - /*6950:*/ 0xd7, 0xc5, 0x90, 0x57, 0x5e, 0x06, 0xbf, 0xa0, 0xea, 0xb7, 0x97, 0x9c, 0x7a, 0xd7, 0x04, 0x72, - /*6960:*/ 0x27, 0x07, 0xe9, 0x1e, 0xa1, 0x29, 0xaf, 0x9e, 0x81, 0x69, 0xbc, 0xd3, 0xda, 0x9e, 0x33, 0xd9, - /*6970:*/ 0x3d, 0x79, 0xe2, 0x4f, 0x9d, 0xb6, 0xd2, 0x81, 0x48, 0x63, 0x08, 0x44, 0xec, 0xcf, 0x76, 0x9a, - /*6980:*/ 0x0e, 0xd4, 0xc2, 0xdf, 0x9b, 0x0e, 0xf6, 0x18, 0x04, 0xb2, 0x7d, 0x09, 0x69, 0xda, 0xf2, 0x20, - /*6990:*/ 0x50, 0xd2, 0xf0, 0xd3, 0x6c, 0x85, 0x49, 0x04, 0x38, 0x6b, 0x87, 0x0f, 0xd2, 0x2f, 0x2d, 0xfd, - /*69a0:*/ 0x6c, 0xbe, 0x75, 0xdd, 0x29, 0x88, 0xca, 0xaf, 0xbb, 0x5f, 0x82, 0xa5, 0x64, 0x7f, 0xe1, 0x6c, - /*69b0:*/ 0x80, 0x5c, 0x1e, 0x3f, 0xac, 0xdf, 0x71, 0x6e, 0x23, 0x16, 0x05, 0x45, 0xa2, 0x79, 0xaf, 0x5d, - /*69c0:*/ 0x57, 0xae, 0x08, 0x34, 0xb9, 0x01, 0x6c, 0x26, 0xae, 0xb8, 0x21, 0x8e, 0x9d, 0xcf, 0x51, 0x3f, - /*69d0:*/ 0xfa, 0x27, 0x24, 0x11, 0x6e, 0x43, 0xcf, 0x24, 0xd4, 0x90, 0x0d, 0x6f, 0xe5, 0x7d, 0x8a, 0x4b, - /*69e0:*/ 0x14, 0x78, 0x41, 0xea, 0xff, 0xde, 0x30, 0x70, 0xde, 0x39, 0xa0, 0x51, 0xcb, 0xa1, 0x99, 0xa1, - /*69f0:*/ 0x46, 0xd3, 0xb4, 0x13, 0x2f, 0x7a, 0x79, 0x86, 0xa3, 0x58, 0xd0, 0xd2, 0xcd, 0xae, 0xe1, 0x4f, - /*6a00:*/ 0xb0, 0x61, 0x08, 0x7f, 0xe5, 0xf6, 0x12, 0x2a, 0x60, 0x81, 0xb7, 0xc3, 0x8f, 0x1d, 0x27, 0x99, - /*6a10:*/ 0x7e, 0xaf, 0xdb, 0x9b, 0xbd, 0xe4, 0xfb, 0xb5, 0x5e, 0x4d, 0x5b, 0x51, 0xe9, 0x28, 0x9c, 0x92, - /*6a20:*/ 0x51, 0x56, 0x3d, 0xc5, 0xf6, 0xd5, 0x36, 0x21, 0xe9, 0x8b, 0xd2, 0x0f, 0x97, 0xd3, 0x63, 0xad, - /*6a30:*/ 0x22, 0x84, 0xba, 0xeb, 0x84, 0xbb, 0xe2, 0x86, 0x84, 0xfd, 0xf0, 0x4b, 0x99, 0x49, 0x2f, 0x69, - /*6a40:*/ 0xd6, 0x66, 0x69, 0xbb, 0xaf, 0x9b, 0xd5, 0x70, 0xef, 0x3a, 0x50, 0x0d, 0xaa, 0x44, 0xa3, 0x19, - /*6a50:*/ 0x50, 0xa1, 0xc2, 0xf4, 0x7b, 0xfb, 0x6d, 0x5c, 0x5c, 0x9a, 0xe0, 0x61, 0x23, 0xd3, 0xbb, 0xdd, - /*6a60:*/ 0x68, 0x54, 0x5a, 0x11, 0xf9, 0x9a, 0x07, 0x0c, 0xc4, 0x86, 0xb4, 0x85, 0x4a, 0x7e, 0x6f, 0x98, - /*6a70:*/ 0x9d, 0x39, 0xd2, 0x05, 0x73, 0x97, 0x40, 0xf2, 0x9d, 0xf8, 0x66, 0x4d, 0x56, 0xfd, 0x7b, 0x4b, - /*6a80:*/ 0xd5, 0xba, 0x8d, 0xa2, 0x24, 0x31, 0x52, 0x76, 0xd0, 0xa4, 0x72, 0xf1, 0x42, 0x18, 0xf8, 0xd7, - /*6a90:*/ 0xd4, 0x25, 0x03, 0xea, 0xbe, 0xf2, 0xb9, 0xd0, 0xaa, 0x3c, 0xf6, 0x68, 0x50, 0x18, 0x9b, 0xd3, - /*6aa0:*/ 0x9a, 0x41, 0x79, 0x38, 0x5e, 0x6f, 0x76, 0x7a, 0x7e, 0xba, 0xbf, 0x88, 0x84, 0x10, 0x64, 0xb0, - /*6ab0:*/ 0x96, 0xb9, 0xc9, 0x8a, 0x5a, 0x97, 0x22, 0xc1, 0x8f, 0x7a, 0xc8, 0xa5, 0xce, 0xde, 0x12, 0x2c, - /*6ac0:*/ 0xc0, 0x1b, 0xda, 0x7e, 0x57, 0x14, 0xb0, 0x9c, 0x28, 0xe8, 0x59, 0x30, 0x66, 0xd8, 0xd2, 0x3c, - /*6ad0:*/ 0xb9, 0xb0, 0x19, 0x83, 0x1c, 0xed, 0x04, 0xf1, 0x32, 0x70, 0x90, 0xae, 0x59, 0xba, 0xdc, 0xa2, - /*6ae0:*/ 0x56, 0xed, 0x10, 0x80, 0x0f, 0x41, 0x32, 0x52, 0x64, 0x83, 0x78, 0x36, 0x36, 0x82, 0x00, 0x71, - /*6af0:*/ 0x57, 0x96, 0xd1, 0xbe, 0xd6, 0xe1, 0x1e, 0x29, 0x14, 0x46, 0x04, 0x5d, 0x75, 0x78, 0xa4, 0x8d, - /*6b00:*/ 0xb4, 0x21, 0xc0, 0x7d, 0x0d, 0x95, 0x22, 0xf7, 0x47, 0x31, 0xfe, 0xfe, 0x40, 0xdb, 0x50, 0x05, - /*6b10:*/ 0x2e, 0x9a, 0x4c, 0x90, 0xdb, 0x2a, 0x9a, 0x2b, 0x80, 0x32, 0xc4, 0x3e, 0x8c, 0xaf, 0x00, 0x34, - /*6b20:*/ 0xda, 0x63, 0xd5, 0x66, 0x15, 0x2f, 0xce, 0x71, 0x16, 0xee, 0x6d, 0x80, 0x64, 0xa1, 0x29, 0x4a, - /*6b30:*/ 0x39, 0x33, 0x24, 0x11, 0xfd, 0x47, 0xf3, 0x7b, 0x7d, 0x65, 0x06, 0x77, 0x2c, 0xf1, 0x73, 0x77, - /*6b40:*/ 0xa5, 0xa7, 0xeb, 0x58, 0xc1, 0x33, 0x39, 0xc3, 0xe8, 0xb5, 0x0f, 0xd4, 0x78, 0x4d, 0x83, 0x95, - /*6b50:*/ 0xbd, 0xe2, 0x0a, 0x6c, 0xf3, 0xbf, 0x53, 0x2e, 0x5b, 0x08, 0x50, 0x07, 0x77, 0x82, 0xe5, 0x24, - /*6b60:*/ 0x5e, 0x16, 0x1e, 0x91, 0x70, 0x14, 0x96, 0x8a, 0xaa, 0x48, 0x70, 0x57, 0x2b, 0xcf, 0x3a, 0xba, - /*6b70:*/ 0x1c, 0x79, 0x4a, 0x9e, 0x14, 0x3a, 0x2c, 0xa1, 0xc6, 0x04, 0xa0, 0x9a, 0xd1, 0x11, 0x91, 0xb8, - /*6b80:*/ 0x2a, 0xec, 0x71, 0xb1, 0xc0, 0x83, 0xe9, 0x2a, 0x4b, 0x7f, 0x42, 0x82, 0xdc, 0x96, 0x1f, 0x39, - /*6b90:*/ 0xe5, 0x85, 0x93, 0x88, 0x60, 0xff, 0x9a, 0x47, 0xa6, 0x4a, 0xb4, 0x55, 0x3e, 0xbc, 0x2f, 0x19, - /*6ba0:*/ 0xbb, 0x41, 0xd9, 0x84, 0x09, 0x50, 0x31, 0xdb, 0x55, 0xfa, 0xa5, 0xcb, 0x22, 0x8b, 0xf0, 0x13, - /*6bb0:*/ 0x6a, 0x68, 0x78, 0xee, 0xea, 0xc8, 0x09, 0xab, 0xbe, 0x91, 0x16, 0x07, 0x6b, 0x95, 0x51, 0xe7, - /*6bc0:*/ 0x2d, 0xcb, 0x67, 0xe5, 0xb5, 0xbe, 0x39, 0xe6, 0x03, 0x0e, 0x28, 0x18, 0x1d, 0xa2, 0xde, 0x30, - /*6bd0:*/ 0x01, 0x00, 0xd7, 0xbf, 0x19, 0x80, 0xe5, 0xfb, 0xd6, 0x1a, 0x23, 0x25, 0x49, 0x6b, 0x9e, 0x81, - /*6be0:*/ 0x11, 0x8c, 0x3b, 0x18, 0xf7, 0xe1, 0x30, 0x0b, 0xa8, 0xf9, 0xaa, 0xe4, 0xbc, 0xdc, 0xc8, 0x11, - /*6bf0:*/ 0x2e, 0xaa, 0x6b, 0x1b, 0x7d, 0xdb, 0xed, 0x20, 0x9f, 0xf4, 0x07, 0x0f, 0x82, 0x7d, 0xfd, 0xc7, - /*6c00:*/ 0x17, 0xec, 0x79, 0xe3, 0x95, 0x8f, 0x1a, 0x1f, 0x22, 0xec, 0xa6, 0x7e, 0xd2, 0x88, 0xec, 0x4d, - /*6c10:*/ 0x63, 0xa7, 0x17, 0x6e, 0x79, 0x98, 0x23, 0x1b, 0x20, 0x79, 0x49, 0x27, 0x2f, 0x3f, 0x00, 0x21, - /*6c20:*/ 0xfb, 0xcd, 0x94, 0xa6, 0x78, 0xac, 0x19, 0xe1, 0x71, 0xad, 0xf1, 0x7e, 0x0e, 0x75, 0x56, 0xe5, - /*6c30:*/ 0x85, 0x7a, 0xea, 0x03, 0xa5, 0x01, 0x9a, 0x64, 0x68, 0x1e, 0x23, 0x65, 0x39, 0x61, 0x11, 0x0c, - /*6c40:*/ 0x34, 0xf6, 0x71, 0x0e, 0x2e, 0x8a, 0x46, 0xca, 0x32, 0xe9, 0x56, 0xd2, 0x92, 0x6e, 0xdb, 0x49, - /*6c50:*/ 0x16, 0xf4, 0xee, 0x83, 0xed, 0x9f, 0xef, 0xdb, 0xf7, 0x7d, 0xa0, 0xe3, 0xd6, 0x0d, 0xc3, 0x31, - /*6c60:*/ 0x40, 0x25, 0xd6, 0xd0, 0x0a, 0x53, 0x7e, 0x81, 0x15, 0xfb, 0x65, 0x4f, 0x4e, 0xfe, 0x29, 0xf2, - /*6c70:*/ 0x17, 0x05, 0xf4, 0x39, 0x0c, 0xc8, 0x54, 0x54, 0x56, 0x0c, 0xa1, 0x66, 0xa1, 0x9f, 0x7d, 0x7d, - /*6c80:*/ 0xd5, 0x81, 0x39, 0xd5, 0x60, 0x2a, 0x92, 0x14, 0xe8, 0x7f, 0x2e, 0x0b, 0xe1, 0x85, 0xbd, 0x6d, - /*6c90:*/ 0x20, 0x7c, 0x37, 0x82, 0x95, 0x0c, 0xa1, 0xa3, 0x6a, 0x5f, 0x28, 0x45, 0x3a, 0x85, 0xd8, 0x3a, - /*6ca0:*/ 0x6d, 0x9c, 0x26, 0xd3, 0x46, 0x30, 0x46, 0x8d, 0xc7, 0xe2, 0x6d, 0x17, 0xe8, 0x98, 0xad, 0x9b, - /*6cb0:*/ 0x18, 0x39, 0x5f, 0x78, 0x2e, 0x9c, 0x82, 0x06, 0x55, 0xcf, 0x15, 0xea, 0x32, 0xf2, 0x4c, 0x80, - /*6cc0:*/ 0x97, 0xdf, 0xc4, 0xd4, 0xcb, 0x4b, 0x4d, 0x7c, 0x38, 0xa3, 0x65, 0x84, 0xaa, 0x01, 0x2d, 0x79, - /*6cd0:*/ 0x63, 0x10, 0x29, 0x67, 0xca, 0xa5, 0xf0, 0xbc, 0x06, 0x3c, 0x24, 0x7a, 0x6c, 0x97, 0x4e, 0x1d, - /*6ce0:*/ 0x56, 0x8a, 0x3e, 0x0e, 0x34, 0x58, 0x69, 0xd0, 0x07, 0x36, 0x71, 0x14, 0xc7, 0xeb, 0xdc, 0x33, - /*6cf0:*/ 0x76, 0x84, 0x76, 0xf9, 0x78, 0x21, 0xfb, 0x2d, 0xc6, 0x5b, 0xdc, 0x4f, 0x62, 0x86, 0x47, 0x28, - /*6d00:*/ 0x98, 0xb7, 0xb0, 0x5e, 0x0f, 0xe2, 0xda, 0xfa, 0x63, 0xe3, 0xe8, 0x0b, 0x40, 0xf2, 0x5a, 0xa0, - /*6d10:*/ 0x35, 0xda, 0x73, 0x98, 0x23, 0x64, 0x57, 0x74, 0xdc, 0xfe, 0xb8, 0xf4, 0x27, 0x5c, 0x4b, 0x29, - /*6d20:*/ 0x9d, 0x52, 0x46, 0xd7, 0x5a, 0xca, 0xe4, 0x09, 0x9f, 0xdb, 0x8a, 0xda, 0x15, 0xb4, 0x91, 0xcd, - /*6d30:*/ 0xb2, 0x6d, 0xa3, 0x0a, 0x77, 0x32, 0x5e, 0xa9, 0x28, 0x4a, 0xcc, 0x06, 0xee, 0x47, 0x79, 0x3c, - /*6d40:*/ 0xa3, 0x94, 0xf6, 0x96, 0xa4, 0x1c, 0x7f, 0xcb, 0xb0, 0xe0, 0xc3, 0xe1, 0xbd, 0xca, 0x4d, 0xcd, - /*6d50:*/ 0xa7, 0xd6, 0x59, 0xa1, 0xe2, 0x4d, 0x2b, 0x6f, 0x8c, 0xcb, 0x4e, 0xb3, 0xc2, 0xec, 0x55, 0x84, - /*6d60:*/ 0x1f, 0x79, 0x76, 0x2d, 0xa7, 0x28, 0xd4, 0xc0, 0x3a, 0x57, 0x1e, 0xad, 0xbc, 0x0f, 0x1f, 0x2d, - /*6d70:*/ 0xb0, 0x31, 0x11, 0x23, 0x37, 0xa4, 0x26, 0x59, 0x97, 0xcb, 0x2e, 0x8c, 0xc0, 0xd0, 0xbf, 0x10, - /*6d80:*/ 0x44, 0x29, 0xf9, 0x1c, 0xea, 0x63, 0x63, 0x7c, 0xc9, 0x28, 0x12, 0x50, 0x62, 0x82, 0x3d, 0x5f, - /*6d90:*/ 0xb4, 0xc6, 0x8d, 0x14, 0x9c, 0xc0, 0xd9, 0x59, 0x1e, 0xe8, 0x95, 0x3d, 0x56, 0x9e, 0x6e, 0x42, - /*6da0:*/ 0x97, 0x13, 0x8b, 0xfe, 0x93, 0x10, 0x2e, 0xfc, 0x8b, 0x8d, 0xa6, 0xf6, 0x53, 0xbd, 0x1c, 0x92, - /*6db0:*/ 0xbb, 0xd1, 0x1d, 0x8b, 0x39, 0x4a, 0xfd, 0x8b, 0xc4, 0xbe, 0xe1, 0x31, 0x8c, 0xf2, 0x17, 0x68, - /*6dc0:*/ 0x15, 0x5c, 0xb8, 0x83, 0x30, 0x50, 0x2f, 0xe6, 0xb8, 0x02, 0x6e, 0x72, 0x21, 0x65, 0x8c, 0x13, - /*6dd0:*/ 0x65, 0xd9, 0xb4, 0x25, 0xec, 0xe5, 0x7e, 0xc7, 0x3e, 0x65, 0xd4, 0xd6, 0x02, 0xf3, 0xfa, 0x4d, - /*6de0:*/ 0x40, 0xdf, 0x88, 0x66, 0x18, 0xee, 0x3b, 0x44, 0x02, 0x84, 0x49, 0x7d, 0x2a, 0x5e, 0x53, 0xb1, - /*6df0:*/ 0x00, 0x4c, 0x25, 0x29, 0x9f, 0xa0, 0x15, 0x38, 0x54, 0x27, 0x2a, 0xdb, 0xe9, 0x8d, 0x38, 0xbe, - /*6e00:*/ 0xc6, 0xfa, 0x25, 0x5c, 0x93, 0x9a, 0x6e, 0xc2, 0x99, 0x09, 0xb7, 0x58, 0xbe, 0x76, 0xd1, 0x85, - /*6e10:*/ 0xd2, 0xcf, 0x45, 0x3a, 0x0d, 0xaf, 0x4e, 0xb3, 0x8f, 0x06, 0x0b, 0x94, 0x15, 0xe4, 0x89, 0xf1, - /*6e20:*/ 0x0b, 0xbd, 0x9e, 0xa8, 0xa1, 0x4d, 0x8e, 0xf2, 0x23, 0x24, 0x76, 0x6e, 0x1e, 0x43, 0x8d, 0xb5, - /*6e30:*/ 0x02, 0x23, 0x35, 0x69, 0x86, 0x44, 0x55, 0xd9, 0x0a, 0x67, 0x78, 0x6a, 0xf1, 0x3e, 0x42, 0xc4, - /*6e40:*/ 0x1b, 0x59, 0x7b, 0x7f, 0x0f, 0x34, 0xe6, 0x3c, 0xee, 0x63, 0x04, 0x02, 0x0e, 0x6e, 0xc8, 0x51, - /*6e50:*/ 0x0c, 0xc4, 0xc0, 0x09, 0xf5, 0x01, 0xe7, 0xd1, 0x09, 0xbe, 0x49, 0x93, 0xb4, 0x22, 0x94, 0xea, - /*6e60:*/ 0xec, 0x50, 0x31, 0xfe, 0xb5, 0x5f, 0x0d, 0x2b, 0x59, 0xeb, 0x6c, 0xd8, 0xa1, 0x09, 0xff, 0x60, - /*6e70:*/ 0x8d, 0x00, 0x3a, 0x0f, 0x76, 0xb9, 0xba, 0x7d, 0x9e, 0x5f, 0xa0, 0xb6, 0xb0, 0x91, 0xb4, 0x84, - /*6e80:*/ 0xf4, 0x16, 0x32, 0xc7, 0x71, 0x54, 0xf7, 0x34, 0x83, 0xf6, 0x82, 0x10, 0x7c, 0xba, 0xa2, 0x0f, - /*6e90:*/ 0xeb, 0x0a, 0x77, 0xda, 0x87, 0x91, 0x4b, 0xcf, 0x76, 0x36, 0x94, 0x5f, 0xe1, 0x42, 0x61, 0xf0, - /*6ea0:*/ 0x50, 0x70, 0xdb, 0xe1, 0x3d, 0xc1, 0x26, 0x2f, 0x1e, 0x03, 0x65, 0x2d, 0x71, 0xaf, 0x01, 0x96, - /*6eb0:*/ 0x69, 0x0d, 0xad, 0x51, 0xb8, 0xc6, 0xf7, 0x89, 0x3f, 0x7f, 0xf8, 0x24, 0x67, 0xc6, 0x24, 0xd2, - /*6ec0:*/ 0xe4, 0x10, 0x3c, 0xfc, 0xbb, 0x5a, 0x05, 0xb4, 0x5c, 0xba, 0x25, 0x21, 0xa8, 0xeb, 0xa2, 0xd5, - /*6ed0:*/ 0xac, 0xa5, 0x99, 0x84, 0x9d, 0xe0, 0x0b, 0xc5, 0x5a, 0xad, 0x94, 0x74, 0x6d, 0xdb, 0xc6, 0x4b, - /*6ee0:*/ 0x05, 0xc5, 0xbf, 0x94, 0x70, 0x1f, 0x70, 0xdf, 0x56, 0x4e, 0xd6, 0x11, 0x93, 0xb3, 0x66, 0x2d, - /*6ef0:*/ 0xc9, 0x90, 0xd7, 0x3d, 0x45, 0x22, 0xed, 0x19, 0x3c, 0x98, 0xbe, 0x48, 0xfd, 0xf1, 0x7c, 0x43, - /*6f00:*/ 0x7e, 0x80, 0x1a, 0x88, 0x0e, 0x4d, 0x32, 0x55, 0x89, 0x50, 0x80, 0x27, 0xf6, 0x01, 0xc4, 0xe5, - /*6f10:*/ 0x48, 0x8c, 0xa9, 0xc4, 0xc5, 0xeb, 0xa3, 0xb9, 0x78, 0x56, 0xa4, 0x44, 0x62, 0x0c, 0x17, 0xb8, - /*6f20:*/ 0x60, 0x42, 0xe7, 0xa0, 0x30, 0x1d, 0xe5, 0x0b, 0xd7, 0x64, 0x67, 0x75, 0x94, 0xea, 0x32, 0x87, - /*6f30:*/ 0xd4, 0x74, 0x6c, 0xbb, 0xb1, 0x87, 0xb6, 0x17, 0xd9, 0x12, 0xd3, 0xa0, 0x02, 0xec, 0x29, 0x4f, - /*6f40:*/ 0xd0, 0x3b, 0x43, 0x77, 0xa2, 0x92, 0x70, 0x54, 0x99, 0x6f, 0x9e, 0x6d, 0x4e, 0x55, 0x7d, 0x84, - /*6f50:*/ 0xea, 0x30, 0xcf, 0x02, 0x45, 0x6d, 0xd0, 0xf0, 0x9f, 0x0e, 0xc0, 0x27, 0xc2, 0xef, 0x06, 0x57, - /*6f60:*/ 0x44, 0x2b, 0x34, 0xc7, 0x9f, 0xde, 0x47, 0x8f, 0x91, 0x52, 0xfb, 0xf3, 0xbd, 0x59, 0xb4, 0x15, - /*6f70:*/ 0xab, 0xf3, 0xff, 0x08, 0x74, 0xc5, 0xa2, 0xb3, 0x6f, 0xcf, 0x74, 0xb4, 0x89, 0xfc, 0xc0, 0xfd, - /*6f80:*/ 0x7a, 0xd3, 0x64, 0x31, 0xad, 0x30, 0x2b, 0xf4, 0xd3, 0x90, 0xb4, 0xda, 0x34, 0xa6, 0x4b, 0x00, - /*6f90:*/ 0x88, 0x1f, 0x1b, 0x6f, 0xd8, 0xb2, 0x65, 0xca, 0xcb, 0x88, 0xc9, 0x00, 0xa8, 0x17, 0x55, 0xbe, - /*6fa0:*/ 0x6e, 0x23, 0xa1, 0xfe, 0xcc, 0x60, 0x9f, 0x0a, 0x8a, 0xbe, 0x45, 0xbe, 0x17, 0x47, 0x0a, 0x27, - /*6fb0:*/ 0x0e, 0x10, 0xfc, 0x62, 0xb3, 0xe2, 0xae, 0xe2, 0x2a, 0x3c, 0xeb, 0x99, 0xf6, 0xdd, 0xf2, 0xe1, - /*6fc0:*/ 0xcd, 0x79, 0x7e, 0x1d, 0xa6, 0x7a, 0x7e, 0xbd, 0x6e, 0x31, 0x3a, 0x75, 0x97, 0x3c, 0x41, 0x8f, - /*6fd0:*/ 0x63, 0xae, 0x6a, 0x13, 0x43, 0x7f, 0x08, 0x55, 0x81, 0x52, 0xd6, 0x01, 0x1d, 0x86, 0xf9, 0x41, - /*6fe0:*/ 0xc8, 0xc1, 0xee, 0x30, 0xee, 0xdd, 0x2f, 0x60, 0x54, 0x50, 0x10, 0x5f, 0x67, 0xfe, 0x53, 0xde, - /*6ff0:*/ 0x41, 0xbf, 0x71, 0xd6, 0x6e, 0x36, 0xd4, 0x75, 0x14, 0xc2, 0x0f, 0xaa, 0x29, 0xa5, 0x88, 0x08, - /*7000:*/ 0x14, 0x66, 0xf4, 0x27, 0x11, 0x1a, 0x49, 0xf8, 0xd2, 0x90, 0x87, 0x57, 0xc8, 0xbb, 0x47, 0xd9, - /*7010:*/ 0x2e, 0x52, 0x68, 0xc8, 0x80, 0x74, 0x52, 0xde, 0x05, 0x3f, 0xea, 0x5e, 0xe9, 0x34, 0x79, 0xd0, - /*7020:*/ 0x2f, 0x48, 0x48, 0xf5, 0xca, 0x50, 0x31, 0xd1, 0x39, 0x93, 0xbe, 0xcf, 0x40, 0x3d, 0xf4, 0xd9, - /*7030:*/ 0xdb, 0xf4, 0xdf, 0x51, 0x5b, 0x2a, 0xb8, 0xaf, 0x02, 0xb8, 0x4f, 0x07, 0x2c, 0xd1, 0x41, 0x8a, - /*7040:*/ 0x50, 0x4b, 0xba, 0x9e, 0x3d, 0x97, 0x50, 0x29, 0xf8, 0x07, 0x1b, 0x5f, 0x0a, 0xfe, 0x52, 0x4d, - /*7050:*/ 0x16, 0xdd, 0x3a, 0x2b, 0xaa, 0xd4, 0x85, 0xd4, 0x9c, 0x22, 0xab, 0x78, 0x81, 0x51, 0x38, 0x58, - /*7060:*/ 0x3e, 0x50, 0xbc, 0xb9, 0x77, 0x0c, 0x60, 0xdc, 0xe3, 0x99, 0xfd, 0x9d, 0x3c, 0x36, 0xc5, 0x75, - /*7070:*/ 0xcb, 0xd3, 0xb5, 0x50, 0x52, 0x40, 0xa5, 0xc2, 0x79, 0xa7, 0x84, 0xe9, 0x09, 0x8f, 0x14, 0x38, - /*7080:*/ 0x64, 0xe5, 0x27, 0x79, 0x26, 0xb5, 0xca, 0x29, 0x43, 0x68, 0xc6, 0xf2, 0x66, 0x81, 0x8f, 0x62, - /*7090:*/ 0x08, 0x02, 0x90, 0x8f, 0x09, 0x47, 0xfe, 0xe6, 0x73, 0x6a, 0x9b, 0xfb, 0xb1, 0xff, 0x55, 0x27, - /*70a0:*/ 0x8d, 0xcb, 0xca, 0xa7, 0x54, 0x40, 0x6d, 0x5a, 0x26, 0x4f, 0x37, 0x91, 0x86, 0x4a, 0xca, 0xa2, - /*70b0:*/ 0x8d, 0x28, 0xe7, 0x23, 0xca, 0x04, 0x2a, 0x91, 0x93, 0x84, 0x36, 0xae, 0xe0, 0x42, 0xa5, 0x16, - /*70c0:*/ 0x25, 0x97, 0x56, 0xa4, 0x64, 0xd4, 0x72, 0xab, 0x53, 0x4d, 0x61, 0xad, 0xc3, 0xfe, 0x85, 0xf9, - /*70d0:*/ 0x2b, 0xe4, 0xb2, 0x9e, 0x0c, 0x3c, 0xd4, 0x53, 0xfa, 0xfb, 0x76, 0x25, 0x2f, 0x7d, 0x39, 0x24, - /*70e0:*/ 0x4e, 0xa4, 0x53, 0x92, 0xbd, 0x77, 0x2c, 0xb7, 0xf5, 0x1a, 0x00, 0xf0, 0x85, 0xcd, 0xd4, 0x53, - /*70f0:*/ 0x42, 0x1f, 0xa0, 0xda, 0xdc, 0xc2, 0x38, 0x39, 0x23, 0x78, 0x41, 0x00, 0xf7, 0x11, 0x0f, 0x8b, - /*7100:*/ 0x67, 0xe3, 0xad, 0xe8, 0x24, 0x13, 0x86, 0xbc, 0x9a, 0xb3, 0x23, 0xb3, 0x88, 0x96, 0xdb, 0x82, - /*7110:*/ 0x72, 0xc7, 0x44, 0xe0, 0xe4, 0x9e, 0x05, 0x11, 0xe9, 0xbe, 0x4c, 0x79, 0x91, 0x1e, 0xc2, 0x6b, - /*7120:*/ 0xa0, 0xd5, 0xea, 0xbe, 0x78, 0x04, 0xe2, 0x64, 0x78, 0xbe, 0xf1, 0x4f, 0xb2, 0xf0, 0x68, 0x11, - /*7130:*/ 0x6c, 0x34, 0x3a, 0x7c, 0xc7, 0x15, 0x8b, 0x16, 0x3c, 0x56, 0x16, 0xc1, 0x80, 0x1b, 0xd9, 0xbc, - /*7140:*/ 0xe0, 0x52, 0x16, 0x41, 0xdf, 0xe0, 0x3e, 0x8b, 0x65, 0xca, 0x0e, 0x0b, 0xeb, 0xbf, 0xc1, 0xde, - /*7150:*/ 0xb0, 0xe1, 0xb1, 0x41, 0x59, 0x49, 0xb8, 0x3e, 0xf9, 0xe8, 0xe9, 0x55, 0xd1, 0x46, 0x53, 0xe5, - /*7160:*/ 0xa6, 0xc1, 0xf9, 0xf3, 0xe6, 0xb2, 0x6f, 0x80, 0xee, 0x2d, 0x27, 0xc5, 0x44, 0x21, 0xdb, 0x7a, - /*7170:*/ 0x4a, 0xfc, 0x96, 0x81, 0xce, 0xa7, 0x9e, 0x08, 0x5b, 0x8d, 0xf2, 0xa3, 0x39, 0x5a, 0xed, 0xdd, - /*7180:*/ 0xa0, 0x70, 0xa8, 0x03, 0x76, 0x22, 0x1f, 0x32, 0xc0, 0xdf, 0x37, 0x88, 0x58, 0xb5, 0xf2, 0x6e, - /*7190:*/ 0xc4, 0x94, 0x0a, 0x68, 0x28, 0x22, 0x31, 0xe2, 0xdd, 0x1a, 0x09, 0x5a, 0x79, 0x67, 0xc0, 0x67, - /*71a0:*/ 0x03, 0x54, 0xac, 0xb8, 0x82, 0x67, 0x29, 0xb1, 0x95, 0x41, 0x8e, 0xa3, 0x10, 0xf7, 0x1d, 0x82, - /*71b0:*/ 0x20, 0x1b, 0x56, 0xe0, 0xe0, 0x4e, 0x3c, 0x02, 0x90, 0xed, 0xeb, 0x4a, 0x3f, 0x66, 0x38, 0x43, - /*71c0:*/ 0xab, 0xf2, 0xdb, 0xaf, 0x2d, 0x7f, 0x66, 0x5c, 0x92, 0x12, 0x24, 0x46, 0x46, 0x0d, 0xbf, 0xbd, - /*71d0:*/ 0xc3, 0x25, 0xa1, 0x6d, 0xb8, 0xfb, 0x9f, 0xa9, 0xb2, 0x63, 0xf5, 0xbb, 0x6b, 0x13, 0x87, 0x5e, - /*71e0:*/ 0xf7, 0x09, 0xf7, 0x32, 0x19, 0x3c, 0xde, 0x2b, 0xd3, 0x95, 0x59, 0xef, 0xcc, 0xdb, 0x2c, 0x2a, - /*71f0:*/ 0xef, 0xb2, 0xf5, 0xb3, 0x9c, 0x42, 0xc3, 0x99, 0xba, 0xbe, 0x22, 0xe7, 0xd0, 0xa7, 0x9a, 0x88, - /*7200:*/ 0xf0, 0x1d, 0xa6, 0x9b, 0x30, 0xc8, 0x40, 0x5e, 0x13, 0x37, 0x81, 0x8a, 0xde, 0x74, 0xb9, 0xef, - /*7210:*/ 0x5f, 0x77, 0x53, 0x74, 0x14, 0x9d, 0xbc, 0x2a, 0x92, 0x5a, 0x48, 0x01, 0xc8, 0x7a, 0x53, 0x1f, - /*7220:*/ 0xf0, 0xa7, 0xfe, 0xce, 0xe6, 0x01, 0x36, 0x79, 0x1d, 0x74, 0xe3, 0xf4, 0x7c, 0x97, 0xe6, 0xbf, - /*7230:*/ 0xb8, 0x16, 0xca, 0x78, 0x11, 0x97, 0x24, 0x87, 0x1a, 0x47, 0xc5, 0x66, 0x60, 0xc1, 0x0e, 0xf3, - /*7240:*/ 0xc2, 0xab, 0x6d, 0xf3, 0x20, 0x4d, 0x7b, 0x9a, 0x12, 0x0c, 0x6c, 0x90, 0xd4, 0x74, 0x56, 0x1c, - /*7250:*/ 0xa2, 0xe8, 0xef, 0xa7, 0x90, 0x9f, 0x0d, 0x82, 0x11, 0x2d, 0x45, 0x68, 0xa4, 0x5d, 0xc7, 0xe0, - /*7260:*/ 0xa0, 0xf2, 0xd6, 0x55, 0x8b, 0x23, 0x40, 0x5f, 0xc1, 0x4a, 0x68, 0x09, 0xc1, 0x28, 0xc5, 0x66, - /*7270:*/ 0x07, 0xba, 0x35, 0xf2, 0xf2, 0xf4, 0x0d, 0x9d, 0x78, 0x96, 0x89, 0xe1, 0xe5, 0x29, 0xb4, 0xc9, - /*7280:*/ 0x15, 0x33, 0xee, 0x42, 0x9e, 0x29, 0x5f, 0xa8, 0x54, 0x91, 0x72, 0xd4, 0x32, 0xae, 0x49, 0x1b, - /*7290:*/ 0x8b, 0x24, 0xbb, 0x46, 0x22, 0x04, 0x1c, 0x2f, 0xca, 0x0a, 0xcf, 0xad, 0x1b, 0x54, 0x99, 0xe4, - /*72a0:*/ 0x21, 0x27, 0x53, 0xb6, 0xff, 0xfc, 0x26, 0xcc, 0xad, 0xc9, 0x37, 0x94, 0x30, 0x25, 0x0a, 0x7e, - /*72b0:*/ 0x66, 0xfa, 0xf2, 0x5b, 0x05, 0xdd, 0xf5, 0x72, 0xa4, 0xea, 0x5b, 0x0d, 0x8f, 0xfb, 0x08, 0x38, - /*72c0:*/ 0x1a, 0xdb, 0x46, 0x8f, 0xc9, 0x48, 0xc2, 0xbc, 0xbd, 0xd7, 0x7c, 0x95, 0x82, 0xa4, 0xfe, 0x12, - /*72d0:*/ 0xe8, 0x46, 0xc8, 0xe1, 0x7e, 0x65, 0x5d, 0xc7, 0xcf, 0xfa, 0x1a, 0x7b, 0x92, 0x3c, 0xa5, 0x6e, - /*72e0:*/ 0xe9, 0x71, 0x34, 0xcc, 0x49, 0x64, 0xad, 0xaa, 0xf4, 0x92, 0x3f, 0x4b, 0x4f, 0xca, 0x03, 0xf1, - /*72f0:*/ 0x83, 0x83, 0x62, 0x98, 0xd2, 0x48, 0xf5, 0xbd, 0x00, 0xa7, 0xd8, 0xf4, 0xa0, 0x3e, 0xca, 0xf4, - /*7300:*/ 0xed, 0xac, 0xb7, 0x20, 0x2d, 0x1e, 0x4e, 0x8a, 0xca, 0x3b, 0xc2, 0x92, 0x85, 0x24, 0x5d, 0xe1, - /*7310:*/ 0xf4, 0xa1, 0x66, 0x01, 0x79, 0x40, 0x1d, 0xa1, 0xb6, 0xe6, 0x83, 0x32, 0x7c, 0x12, 0x06, 0xeb, - /*7320:*/ 0x74, 0x67, 0x48, 0x08, 0x56, 0x42, 0xb6, 0xb3, 0x87, 0xd9, 0xc5, 0x9d, 0x30, 0x4b, 0x33, 0x7b, - /*7330:*/ 0x8c, 0x46, 0xe1, 0xc9, 0x1d, 0x88, 0x11, 0xeb, 0x98, 0x1f, 0x5a, 0x61, 0x5f, 0xe9, 0xdc, 0x6f, - /*7340:*/ 0x03, 0xea, 0x7d, 0xf6, 0xc5, 0x87, 0x27, 0xfa, 0xd1, 0xcb, 0x5e, 0x44, 0xe5, 0x92, 0x9f, 0x66, - /*7350:*/ 0x84, 0x53, 0x46, 0x0c, 0x50, 0x9d, 0xbc, 0xf8, 0x8e, 0xb5, 0x4d, 0x02, 0x4b, 0x3d, 0x46, 0xcd, - /*7360:*/ 0x85, 0x13, 0x61, 0xb4, 0x17, 0x2e, 0xe4, 0xee, 0x62, 0xfe, 0x24, 0x38, 0xb3, 0x33, 0xe2, 0xbe, - /*7370:*/ 0x36, 0x4c, 0xa7, 0xe2, 0x04, 0x04, 0x9f, 0x79, 0x6f, 0x74, 0x7f, 0x4d, 0x3a, 0x4f, 0xd6, 0xa0, - /*7380:*/ 0x7f, 0x7a, 0x52, 0xa8, 0x2f, 0x6f, 0x3f, 0x92, 0xdb, 0xff, 0x02, 0xb2, 0x31, 0xf4, 0x5f, 0x28, - /*7390:*/ 0x9e, 0xa2, 0xf2, 0x75, 0x08, 0x71, 0xd3, 0xda, 0x54, 0xdf, 0x32, 0x9b, 0xb0, 0x9b, 0xdf, 0x6b, - /*73a0:*/ 0x91, 0x1d, 0x91, 0x86, 0xef, 0xb4, 0x13, 0x31, 0x84, 0xcf, 0x5e, 0xe5, 0x65, 0x0b, 0xbd, 0x1d, - /*73b0:*/ 0xfe, 0x25, 0x66, 0x06, 0xe1, 0x95, 0x72, 0xe6, 0xd9, 0x66, 0xbe, 0xf9, 0xaa, 0xde, 0x4f, 0x44, - /*73c0:*/ 0xdb, 0x33, 0x6f, 0x09, 0x4b, 0xd4, 0x0d, 0xe5, 0xac, 0x33, 0x6e, 0x18, 0x14, 0x18, 0x5d, 0xc7, - /*73d0:*/ 0xdc, 0x17, 0x2a, 0xd6, 0x0d, 0x3c, 0xff, 0xea, 0xfa, 0xc1, 0x52, 0x36, 0x64, 0x3d, 0xfe, 0xa9, - /*73e0:*/ 0x3a, 0xa3, 0x60, 0x8c, 0xfd, 0xaa, 0x7d, 0xfb, 0xf9, 0xb8, 0xa2, 0xdd, 0x7f, 0xb2, 0xee, 0x0c, - /*73f0:*/ 0xdc, 0x88, 0x82, 0xd6, 0xc6, 0x11, 0x58, 0x8e, 0xd0, 0x15, 0x82, 0x9f, 0x32, 0x28, 0x8d, 0x75, - /*7400:*/ 0xc0, 0x07, 0x19, 0x58, 0xf0, 0x34, 0xa8, 0xd2, 0x83, 0x24, 0x5f, 0x6c, 0x11, 0x9e, 0x44, 0xea, - /*7410:*/ 0x3e, 0x06, 0x63, 0x92, 0x0e, 0x32, 0xee, 0x16, 0x72, 0xc3, 0xb9, 0x42, 0x06, 0xab, 0x6e, 0xae, - /*7420:*/ 0x9f, 0x6b, 0xa5, 0xdd, 0x53, 0x46, 0x9f, 0x4a, 0xb1, 0x4b, 0xac, 0xda, 0x1f, 0x4d, 0xd3, 0xc6, - /*7430:*/ 0x40, 0x12, 0xd1, 0x0e, 0x0e, 0x47, 0x00, 0x91, 0x5e, 0x32, 0x30, 0xb4, 0xcb, 0x15, 0x09, 0xae, - /*7440:*/ 0xea, 0x7c, 0xd3, 0x9a, 0x31, 0xdc, 0xba, 0x99, 0x18, 0xd4, 0xe9, 0xf6, 0x8f, 0x3a, 0x03, 0xfa, - /*7450:*/ 0x28, 0xf7, 0xcb, 0x8b, 0x73, 0x25, 0xa3, 0x4d, 0xde, 0x98, 0xdb, 0x8d, 0xd7, 0xbe, 0x75, 0x31, - /*7460:*/ 0x31, 0x05, 0x3b, 0x59, 0xa3, 0xcf, 0x00, 0x36, 0x91, 0x15, 0x30, 0x12, 0xed, 0x2f, 0x0b, 0x19, - /*7470:*/ 0x9c, 0xc1, 0x55, 0x46, 0xec, 0x66, 0xc8, 0x4a, 0x16, 0x00, 0xf1, 0x30, 0x4c, 0xa7, 0x00, 0xa0, - /*7480:*/ 0xbc, 0x28, 0x7f, 0xb7, 0x6e, 0x29, 0xd0, 0xea, 0x09, 0xd1, 0xa4, 0x2b, 0x16, 0xc6, 0xd8, 0xb6, - /*7490:*/ 0x9b, 0xf6, 0x9a, 0xd1, 0xb5, 0xfb, 0x90, 0xa1, 0xa7, 0x1c, 0xba, 0xdc, 0x0a, 0x3b, 0x8e, 0x6c, - /*74a0:*/ 0xc6, 0x99, 0x85, 0xa2, 0x08, 0x53, 0xb3, 0x2e, 0xd0, 0x11, 0x19, 0x69, 0x4e, 0x9b, 0x3b, 0x54, - /*74b0:*/ 0x75, 0xc8, 0x9a, 0xcc, 0xef, 0xdf, 0x73, 0xe7, 0x1f, 0x66, 0x29, 0x4f, 0x95, 0x9c, 0x6d, 0x00, - /*74c0:*/ 0x1e, 0xdc, 0x8d, 0xd7, 0xa7, 0x3c, 0x04, 0x20, 0x24, 0xe4, 0xd3, 0xf6, 0x83, 0x8c, 0x19, 0x50, - /*74d0:*/ 0xb3, 0xbe, 0x91, 0x1c, 0x60, 0x40, 0xd3, 0x24, 0xbf, 0x9b, 0xba, 0x5e, 0xe0, 0x36, 0xcf, 0x09, - /*74e0:*/ 0xca, 0x54, 0x61, 0x1b, 0x9d, 0x60, 0x12, 0xfb, 0x64, 0x05, 0x9e, 0x5b, 0x35, 0x35, 0x0f, 0xfc, - /*74f0:*/ 0x9c, 0xd4, 0xf8, 0xda, 0xaa, 0x0e, 0x1f, 0x15, 0xf0, 0xf2, 0xe3, 0x61, 0x97, 0xb4, 0x16, 0xc5, - /*7500:*/ 0xce, 0xa1, 0x14, 0x21, 0xf3, 0xf3, 0x81, 0x66, 0x94, 0x5e, 0x60, 0x67, 0x1d, 0x3e, 0x22, 0xa3, - /*7510:*/ 0xb3, 0x53, 0x49, 0xae, 0x2b, 0x73, 0xfe, 0x67, 0xfd, 0x75, 0x89, 0x4a, 0x31, 0xa5, 0xb4, 0xbc, - /*7520:*/ 0xc8, 0x67, 0x5e, 0x70, 0x41, 0x9e, 0xe8, 0xf5, 0x76, 0xfe, 0x3f, 0x76, 0x6b, 0x87, 0xce, 0x3e, - /*7530:*/ 0xf7, 0x26, 0x59, 0x63, 0xee, 0x1b, 0x9a, 0xde, 0xc5, 0xde, 0x8e, 0x0b, 0xbe, 0x0b, 0x32, 0x0e, - /*7540:*/ 0x1c, 0x37, 0x35, 0x36, 0xe5, 0xdb, 0x46, 0xf9, 0x2c, 0x1f, 0xb1, 0xe3, 0x40, 0x83, 0xc8, 0xae, - /*7550:*/ 0x6e, 0x35, 0x2b, 0x3f, 0x89, 0x5d, 0xa9, 0x2d, 0x18, 0xd9, 0xf2, 0x33, 0xa6, 0xea, 0x61, 0xb0, - /*7560:*/ 0xc6, 0x08, 0x9b, 0x30, 0x6f, 0xf1, 0x56, 0xc4, 0x04, 0x63, 0xfc, 0x67, 0x33, 0x66, 0xf3, 0x77, - /*7570:*/ 0x7b, 0xa7, 0xad, 0x83, 0x04, 0x3f, 0xec, 0xde, 0x35, 0xfa, 0x8f, 0x8e, 0x4c, 0xf7, 0xcd, 0xc8, - /*7580:*/ 0x1b, 0xe9, 0x44, 0xef, 0x94, 0x9f, 0x99, 0x71, 0x22, 0x1f, 0x58, 0x8f, 0xb0, 0xcd, 0xfe, 0x98, - /*7590:*/ 0xb2, 0xde, 0x6c, 0x5e, 0x4e, 0x4a, 0xd4, 0x6b, 0x7f, 0xbc, 0x9a, 0x97, 0x4f, 0xae, 0x94, 0x4f, - /*75a0:*/ 0x30, 0xdd, 0x02, 0x36, 0xc8, 0x08, 0x4c, 0xbf, 0xce, 0x1e, 0x77, 0x26, 0x86, 0x4a, 0xce, 0x5e, - /*75b0:*/ 0x08, 0x7e, 0x22, 0xaf, 0x84, 0x1b, 0x0b, 0xf8, 0x1a, 0xe9, 0xfd, 0x26, 0x94, 0xe2, 0xb5, 0x2b, - /*75c0:*/ 0xd1, 0xd1, 0x2f, 0xdb, 0xc3, 0x4f, 0xe6, 0x7c, 0xd7, 0x6c, 0xdf, 0xa8, 0x93, 0x3d, 0xef, 0x1a, - /*75d0:*/ 0x2b, 0x18, 0x92, 0xc0, 0x99, 0x65, 0x2f, 0x97, 0x2c, 0x53, 0xe0, 0xb8, 0x4c, 0xaa, 0xc2, 0xc4, - /*75e0:*/ 0xea, 0x54, 0x91, 0x12, 0x6d, 0xd8, 0x62, 0x0d, 0x7d, 0xf4, 0xef, 0x1e, 0x62, 0xdf, 0xab, 0xc2, - /*75f0:*/ 0x69, 0x85, 0xc5, 0x11, 0xb1, 0xd3, 0xc6, 0xdc, 0x2d, 0x8d, 0xd1, 0xba, 0xab, 0x13, 0xbc, 0x38, - /*7600:*/ 0x9a, 0x20, 0xf5, 0xbf, 0x74, 0x92, 0x0b, 0x98, 0x85, 0x29, 0x82, 0x63, 0x33, 0x71, 0x0f, 0xb7, - /*7610:*/ 0xb8, 0x4c, 0x50, 0xe4, 0x66, 0x6e, 0xb0, 0x69, 0x4a, 0x32, 0x66, 0x8c, 0x13, 0xdd, 0xe7, 0x3b, - /*7620:*/ 0xc5, 0xa5, 0x7a, 0x3c, 0x2c, 0x42, 0xf9, 0x88, 0xa0, 0xe7, 0x94, 0x7a, 0x99, 0x4f, 0xd4, 0x04, - /*7630:*/ 0xff, 0x9c, 0xa6, 0xae, 0xfa, 0xb9, 0xe3, 0xf6, 0x7e, 0x3e, 0x14, 0xc1, 0xf1, 0xc9, 0xd7, 0xa4, - /*7640:*/ 0x70, 0xf7, 0x9e, 0xc9, 0xb1, 0x2f, 0xbb, 0xa4, 0xac, 0x2c, 0xd5, 0x66, 0x38, 0x2b, 0x87, 0xb6, - /*7650:*/ 0x7c, 0x7f, 0x23, 0x24, 0x62, 0x70, 0x07, 0xb5, 0xc1, 0xfd, 0xab, 0xb9, 0x72, 0xbb, 0xe1, 0xc5, - /*7660:*/ 0x01, 0x1c, 0x34, 0xf2, 0x19, 0xba, 0x5b, 0xc9, 0x4b, 0x80, 0xb5, 0x49, 0xb6, 0x64, 0xa0, 0x37, - /*7670:*/ 0x51, 0x7d, 0x3a, 0x60, 0x2c, 0x40, 0x23, 0xfe, 0x7e, 0x4a, 0xf5, 0xe8, 0xc1, 0xdb, 0x45, 0x4c, - /*7680:*/ 0x2b, 0xd8, 0x1a, 0x2c, 0xc2, 0x88, 0xd9, 0x8f, 0xa4, 0x21, 0x6c, 0xc0, 0x1f, 0x01, 0x2c, 0x27, - /*7690:*/ 0xab, 0x78, 0x73, 0x6b, 0xb5, 0xe7, 0x97, 0xf6, 0x68, 0xc5, 0x39, 0x3b, 0xcb, 0xb0, 0xb1, 0x15, - /*76a0:*/ 0x8b, 0x88, 0x70, 0x6d, 0x1c, 0xce, 0x26, 0x37, 0x44, 0x0b, 0xb3, 0xfb, 0x40, 0x17, 0x0b, 0xdf, - /*76b0:*/ 0x41, 0x46, 0x99, 0xdd, 0xb4, 0xfe, 0x64, 0x7e, 0x2a, 0x7e, 0x70, 0x06, 0x95, 0x0e, 0x7a, 0x8a, - /*76c0:*/ 0x20, 0x82, 0xf1, 0xfc, 0x5a, 0xdc, 0x91, 0xd2, 0x32, 0x25, 0x65, 0xf6, 0xd0, 0xd3, 0x93, 0x55, - /*76d0:*/ 0x2b, 0xd4, 0xad, 0xfd, 0x0e, 0x97, 0x50, 0x9f, 0xbc, 0x0b, 0x7c, 0x6d, 0x12, 0xcf, 0x08, 0x59, - /*76e0:*/ 0x04, 0x26, 0x64, 0x27, 0x23, 0x4f, 0xc4, 0x07, 0x5b, 0x49, 0xc0, 0x7b, 0xc2, 0x86, 0x3a, 0xb0, - /*76f0:*/ 0x46, 0x7a, 0x54, 0xb6, 0xa9, 0xcd, 0xed, 0x34, 0x50, 0xe6, 0x07, 0xc8, 0xbc, 0xc3, 0x9b, 0x42, - /*7700:*/ 0xb7, 0xb3, 0x04, 0x35, 0x5d, 0x8f, 0xa6, 0x24, 0x7e, 0x1a, 0xa6, 0xa4, 0x1b, 0xc2, 0xea, 0xb0, - /*7710:*/ 0xca, 0xbc, 0x54, 0x14, 0x63, 0x37, 0x05, 0x7d, 0x23, 0x8c, 0xe8, 0xa7, 0x12, 0x1b, 0x68, 0xae, - /*7720:*/ 0x31, 0x37, 0x26, 0xfc, 0x63, 0x94, 0xfe, 0xa7, 0xc4, 0xaa, 0xc7, 0x65, 0xd3, 0x63, 0xdc, 0x00, - /*7730:*/ 0x3c, 0x34, 0xae, 0xf4, 0x48, 0x21, 0x25, 0x5b, 0x3d, 0x78, 0x63, 0xa5, 0x24, 0xa0, 0x85, 0x5a, - /*7740:*/ 0x16, 0xb6, 0x30, 0xfc, 0xdf, 0x95, 0xe5, 0x21, 0x35, 0x56, 0x1a, 0x6c, 0x8a, 0x51, 0x9b, 0x58, - /*7750:*/ 0x13, 0xc8, 0xd2, 0x18, 0xcb, 0x28, 0xf9, 0xd4, 0xc3, 0xad, 0x94, 0xeb, 0x6d, 0x96, 0xf0, 0x24, - /*7760:*/ 0x44, 0x21, 0x7c, 0xd4, 0xae, 0xfe, 0xcf, 0x9e, 0x35, 0x54, 0x81, 0xd8, 0xb9, 0x0c, 0xd9, 0x3a, - /*7770:*/ 0x02, 0xe8, 0x74, 0x49, 0x12, 0x0b, 0xb6, 0x98, 0xb6, 0xfa, 0x46, 0xc1, 0xce, 0x8a, 0x08, 0x92, - /*7780:*/ 0x2f, 0xa2, 0x66, 0x94, 0x28, 0xbc, 0x29, 0x28, 0xc8, 0x02, 0xfe, 0xf6, 0x50, 0x62, 0x22, 0x9c, - /*7790:*/ 0xcf, 0xd7, 0xa0, 0x2c, 0x6e, 0x8c, 0xb1, 0xae, 0x32, 0x65, 0xa1, 0xf5, 0x80, 0x8d, 0x48, 0xae, - /*77a0:*/ 0xa9, 0x79, 0x41, 0x67, 0xe1, 0xcf, 0xcf, 0x7c, 0xbc, 0xe2, 0x1e, 0xe6, 0xd7, 0x05, 0x32, 0xa1, - /*77b0:*/ 0x49, 0x6b, 0x6c, 0x22, 0x74, 0xce, 0xb2, 0x28, 0x4c, 0xae, 0xc7, 0x98, 0xe6, 0x57, 0xa0, 0x5b, - /*77c0:*/ 0xfb, 0x0f, 0x09, 0x11, 0xe7, 0xb2, 0x31, 0xb2, 0x50, 0x3c, 0xc2, 0xa0, 0xda, 0xd6, 0x23, 0x55, - /*77d0:*/ 0x9b, 0xd0, 0x48, 0xea, 0x33, 0x4a, 0x4e, 0x23, 0xd9, 0x20, 0x8f, 0xc6, 0xad, 0x96, 0x38, 0xcb, - /*77e0:*/ 0xdb, 0x12, 0xd1, 0x7d, 0xf8, 0x1d, 0xa0, 0x5c, 0x99, 0x51, 0x46, 0xeb, 0x59, 0x24, 0xc4, 0xc1, - /*77f0:*/ 0x7e, 0x00, 0xf7, 0xaa, 0x5c, 0x8e, 0xe5, 0xf0, 0xf8, 0x73, 0xd5, 0x94, 0xc8, 0xf3, 0xf9, 0x88, - /*7800:*/ 0x99, 0xed, 0x0f, 0x38, 0x38, 0x42, 0x51, 0x66, 0x17, 0x5a, 0x72, 0xfe, 0x98, 0x5c, 0xaf, 0xf5, - /*7810:*/ 0xf6, 0x47, 0x73, 0xef, 0xb4, 0x24, 0x27, 0xb4, 0x71, 0x77, 0xd5, 0xce, 0xb4, 0x4f, 0x9c, 0xe8, - /*7820:*/ 0xbd, 0x69, 0x27, 0xf6, 0x05, 0x48, 0x4c, 0x30, 0x8c, 0xbe, 0xab, 0xd7, 0x9c, 0xff, 0xde, 0x0d, - /*7830:*/ 0x50, 0xa6, 0xaa, 0xb0, 0xac, 0x92, 0xfc, 0x71, 0x6f, 0x60, 0x99, 0xd6, 0x25, 0xf4, 0x05, 0xdb, - /*7840:*/ 0xea, 0x2b, 0x3f, 0xf9, 0xc8, 0x8c, 0x5b, 0x5d, 0x35, 0xc9, 0xc5, 0x6b, 0x8b, 0xd2, 0x3a, 0xa9, - /*7850:*/ 0x56, 0x4d, 0x2e, 0x52, 0x31, 0xbc, 0x1c, 0xcd, 0xba, 0x9c, 0xe8, 0x48, 0x57, 0xd3, 0x67, 0x35, - /*7860:*/ 0x83, 0xf9, 0xd0, 0xa7, 0xf8, 0xd6, 0x07, 0x91, 0xcf, 0x87, 0x08, 0xdb, 0x28, 0xa0, 0xc7, 0x5c, - /*7870:*/ 0x90, 0x42, 0x0f, 0xd7, 0x97, 0x67, 0xa3, 0x5a, 0x73, 0xf6, 0xcb, 0xbd, 0xc7, 0xd0, 0xd3, 0xa5, - /*7880:*/ 0x34, 0xb1, 0x32, 0xc3, 0xc8, 0x8b, 0x48, 0x43, 0x9c, 0xe4, 0x39, 0x20, 0x45, 0xe5, 0xaa, 0x7b, - /*7890:*/ 0xea, 0x4c, 0xb9, 0x4c, 0xc9, 0x82, 0x65, 0x57, 0x29, 0x25, 0x59, 0x9d, 0x4c, 0x91, 0xfa, 0x79, - /*78a0:*/ 0x0b, 0x1c, 0x1f, 0x0a, 0xcf, 0xdc, 0xce, 0x19, 0x07, 0x7f, 0x39, 0xe8, 0xfa, 0xa6, 0x07, 0xbe, - /*78b0:*/ 0xd7, 0x76, 0xbb, 0xec, 0xae, 0x40, 0x03, 0xdb, 0x05, 0x91, 0xcf, 0xd1, 0x76, 0x50, 0xc5, 0x92, - /*78c0:*/ 0x98, 0xf7, 0x42, 0x9e, 0x1a, 0x75, 0xb3, 0xe5, 0x66, 0x06, 0x00, 0xb1, 0xae, 0xdc, 0x42, 0xc9, - /*78d0:*/ 0x1f, 0x3f, 0x3f, 0xde, 0x59, 0xdc, 0xb5, 0x8d, 0xb0, 0x67, 0xb0, 0x69, 0x51, 0x28, 0x51, 0xf2, - /*78e0:*/ 0xcf, 0x4e, 0xa4, 0xf4, 0xbd, 0x4a, 0xbe, 0xaf, 0x15, 0xe5, 0x6f, 0x85, 0x7a, 0xb2, 0x86, 0xec, - /*78f0:*/ 0xcb, 0xac, 0xef, 0x9a, 0x65, 0x09, 0x96, 0x5e, 0x25, 0x8b, 0xcf, 0xe1, 0x29, 0xf4, 0x3e, 0x75, - /*7900:*/ 0x36, 0x81, 0x57, 0xdc, 0xc7, 0x54, 0x15, 0xab, 0x5f, 0xb5, 0xaf, 0x22, 0xde, 0xc8, 0x52, 0x60, - /*7910:*/ 0x5b, 0x3a, 0xa5, 0x63, 0x7e, 0x98, 0xd3, 0x57, 0x3e, 0x98, 0x4a, 0x89, 0x0b, 0x3b, 0x74, 0x83, - /*7920:*/ 0x61, 0x30, 0xe3, 0x7f, 0xce, 0x18, 0xce, 0x48, 0x0d, 0x06, 0xc0, 0xe3, 0x9f, 0x06, 0xc1, 0x37, - /*7930:*/ 0xf1, 0x6d, 0x56, 0x1f, 0xd8, 0xd7, 0x93, 0xfd, 0x08, 0x37, 0x75, 0x79, 0x87, 0x19, 0xd6, 0xde, - /*7940:*/ 0xb8, 0x45, 0xc0, 0x79, 0x00, 0xdc, 0x94, 0x1b, 0xff, 0xf6, 0x4e, 0xf8, 0xb2, 0x89, 0xb2, 0x9e, - /*7950:*/ 0xf3, 0x5c, 0xd2, 0x84, 0x87, 0x2e, 0xd0, 0x5e, 0x0b, 0x40, 0x68, 0x19, 0x83, 0x6c, 0x0a, 0x3b, - /*7960:*/ 0x7e, 0xc1, 0xc5, 0x5d, 0xa6, 0x2d, 0xe6, 0x4c, 0x93, 0x5c, 0xc1, 0xa0, 0xd0, 0x47, 0xfc, 0x85, - /*7970:*/ 0x18, 0xd4, 0x90, 0x2c, 0x46, 0x1d, 0xfb, 0x01, 0xb3, 0x6f, 0xff, 0x0a, 0xce, 0xa0, 0xa9, 0xa2, - /*7980:*/ 0x5c, 0x25, 0xae, 0x29, 0x3e, 0x9d, 0xe7, 0x74, 0x21, 0x9d, 0xa9, 0x23, 0x23, 0x46, 0x5d, 0x06, - /*7990:*/ 0x26, 0xa6, 0x7c, 0x52, 0x9b, 0x8f, 0xe2, 0xb0, 0x65, 0x2c, 0x83, 0xed, 0x5d, 0xa3, 0x20, 0x4b, - /*79a0:*/ 0x80, 0x88, 0x01, 0x31, 0xbb, 0xda, 0xad, 0xb6, 0x20, 0xf0, 0x19, 0x97, 0xd8, 0x91, 0x78, 0xb4, - /*79b0:*/ 0x5b, 0x74, 0xcf, 0x5c, 0x19, 0x5f, 0x17, 0x36, 0xe2, 0x94, 0x9f, 0x0b, 0xc5, 0x88, 0x89, 0x9a, - /*79c0:*/ 0x81, 0xde, 0xaa, 0x50, 0x2e, 0xe9, 0x4c, 0xbd, 0x16, 0x0f, 0x04, 0x99, 0x8a, 0x14, 0x85, 0xb5, - /*79d0:*/ 0x6e, 0x99, 0x60, 0x23, 0x26, 0x2f, 0x65, 0x17, 0x4d, 0x57, 0x68, 0x8b, 0x97, 0xa8, 0x8c, 0xe6, - /*79e0:*/ 0x6b, 0x36, 0xc2, 0x0e, 0x2b, 0x9a, 0x03, 0x7f, 0x5c, 0xec, 0xdf, 0xf5, 0xa5, 0x9b, 0xa5, 0xd8, - /*79f0:*/ 0xfa, 0x22, 0x0f, 0x01, 0xee, 0x2d, 0x59, 0xfc, 0x57, 0x08, 0x34, 0x88, 0x61, 0x16, 0x85, 0xdd, - /*7a00:*/ 0xb1, 0xf2, 0xd4, 0x08, 0xfa, 0x92, 0xf7, 0xc9, 0x12, 0xc0, 0x29, 0xa6, 0x3b, 0xc2, 0x58, 0x0e, - /*7a10:*/ 0x08, 0x34, 0xef, 0x79, 0x91, 0x7f, 0x23, 0x05, 0x3e, 0x44, 0x56, 0x94, 0x59, 0x0f, 0x2d, 0xd9, - /*7a20:*/ 0xd0, 0x41, 0xe9, 0x22, 0xc0, 0x52, 0xd1, 0x49, 0x27, 0x67, 0x0f, 0xaa, 0x3c, 0xb1, 0x1d, 0xe9, - /*7a30:*/ 0x3d, 0x65, 0xdb, 0x6b, 0x37, 0xa1, 0x88, 0x98, 0xee, 0x5a, 0xc6, 0x59, 0xfa, 0xd9, 0x59, 0x9c, - /*7a40:*/ 0x63, 0x1f, 0xbf, 0x7d, 0x34, 0x44, 0x11, 0x42, 0x60, 0xb2, 0xd1, 0x47, 0x7e, 0xa8, 0xde, 0x44, - /*7a50:*/ 0x44, 0xe6, 0xfa, 0x4e, 0x9c, 0xbc, 0xbf, 0x2c, 0x27, 0x07, 0x80, 0xe3, 0x40, 0x8c, 0x6e, 0x59, - /*7a60:*/ 0x91, 0x33, 0x43, 0x7b, 0xa4, 0xed, 0xef, 0xa1, 0x38, 0x71, 0x15, 0xcc, 0xe9, 0xff, 0xff, 0x00, - /*7a70:*/ 0xac, 0x56, 0x0d, 0x0b, 0x54, 0xd5, 0xcc, 0xe3, 0x3f, 0xf6, 0xba, 0xe1, 0x86, 0x86, 0xf4, 0xa7, - /*7a80:*/ 0x62, 0x98, 0xab, 0x89, 0xb7, 0x95, 0x95, 0x9c, 0x11, 0x49, 0x8a, 0x63, 0xce, 0x85, 0x04, 0xb1, - /*7a90:*/ 0xe1, 0x83, 0x3b, 0x65, 0xfe, 0x89, 0x71, 0xdb, 0x38, 0x9a, 0xeb, 0x5b, 0x53, 0x9a, 0xdd, 0x65, - /*7aa0:*/ 0xf3, 0x2e, 0xbf, 0xf3, 0x30, 0x0d, 0x53, 0x02, 0x53, 0xac, 0x83, 0x23, 0x63, 0x12, 0x78, 0x62, - /*7ab0:*/ 0x09, 0x12, 0x85, 0xbd, 0xa6, 0x5d, 0x11, 0x7f, 0x2f, 0x7c, 0x39, 0x26, 0x5d, 0x67, 0x74, 0x09, - /*7ac0:*/ 0x92, 0xa9, 0x18, 0xc7, 0xca, 0xb2, 0xd8, 0xb9, 0x02, 0xbd, 0xad, 0x99, 0x03, 0x41, 0x82, 0xc4, - /*7ad0:*/ 0xdd, 0x4b, 0x4d, 0xa7, 0xf2, 0xee, 0xdc, 0x29, 0x50, 0x15, 0xc4, 0xea, 0x16, 0x1b, 0x77, 0xb4, - /*7ae0:*/ 0xaf, 0xab, 0x9a, 0x09, 0x7b, 0x1c, 0xc7, 0xcc, 0x9c, 0xe8, 0x6e, 0x35, 0xe5, 0x59, 0x32, 0x44, - /*7af0:*/ 0x4c, 0x2d, 0x17, 0x9c, 0xe4, 0x31, 0x37, 0xe9, 0x87, 0xa7, 0x2d, 0xd2, 0x56, 0xa7, 0x86, 0x55, - /*7b00:*/ 0x7e, 0xec, 0xf0, 0xff, 0x9a, 0xb9, 0x15, 0xbd, 0x79, 0x16, 0xef, 0x1a, 0x4d, 0x12, 0x31, 0xe9, - /*7b10:*/ 0x9c, 0xea, 0xe6, 0x0e, 0xb3, 0x91, 0xba, 0xb2, 0x4f, 0x7d, 0x0f, 0x2e, 0xab, 0x72, 0x9b, 0x9e, - /*7b20:*/ 0x97, 0x75, 0xe5, 0xd1, 0x6c, 0xc1, 0x39, 0x4b, 0xc0, 0x1f, 0x13, 0x6b, 0x2e, 0x3b, 0x73, 0xae, - /*7b30:*/ 0x8f, 0x8c, 0x9f, 0x83, 0x76, 0xd4, 0x41, 0x48, 0x65, 0x0b, 0xc5, 0xa3, 0xc1, 0x6a, 0x47, 0xb8, - /*7b40:*/ 0x92, 0x26, 0xe1, 0x1f, 0x19, 0x29, 0xb3, 0x57, 0xd3, 0xa4, 0x7f, 0xda, 0x57, 0x4a, 0x02, 0x89, - /*7b50:*/ 0x9f, 0x1a, 0x0e, 0x65, 0x02, 0xc7, 0xa6, 0xf8, 0x21, 0x60, 0x8a, 0x95, 0xd8, 0x7e, 0x0a, 0xf0, - /*7b60:*/ 0x8a, 0x02, 0x34, 0xf0, 0x85, 0xed, 0xb9, 0x7d, 0x52, 0x6f, 0x99, 0x2b, 0x28, 0x75, 0x1f, 0xca, - /*7b70:*/ 0x39, 0xee, 0x0b, 0x94, 0x54, 0x05, 0x19, 0x28, 0x03, 0x13, 0xd7, 0x37, 0xb7, 0xf0, 0xbd, 0x29, - /*7b80:*/ 0x1c, 0x43, 0x35, 0xe1, 0x56, 0x81, 0x3b, 0x15, 0x93, 0x7b, 0xf1, 0xb0, 0x24, 0x94, 0xe1, 0xad, - /*7b90:*/ 0x2d, 0x4f, 0x17, 0xbb, 0x65, 0x59, 0xe0, 0xa0, 0xde, 0x5b, 0x9a, 0x9c, 0x85, 0x12, 0x5c, 0x02, - /*7ba0:*/ 0xcb, 0x8a, 0x9d, 0x7e, 0x39, 0x9a, 0x7d, 0xaf, 0x7b, 0x1f, 0x69, 0x7d, 0xd3, 0x19, 0x7d, 0x26, - /*7bb0:*/ 0xb4, 0x5e, 0xc2, 0xc7, 0x40, 0x7a, 0xc1, 0x6e, 0xa0, 0x7f, 0x8f, 0x8f, 0x83, 0xca, 0x4b, 0x62, - /*7bc0:*/ 0x7b, 0x18, 0xff, 0x85, 0xd5, 0xb4, 0xd2, 0x2f, 0xc8, 0xb8, 0x0f, 0x2e, 0x26, 0x1f, 0x9f, 0xa1, - /*7bd0:*/ 0x86, 0xe2, 0x1b, 0x1e, 0x29, 0xcf, 0x3b, 0x1c, 0x0b, 0x7b, 0x74, 0x22, 0xd4, 0x00, 0x10, 0xb9, - /*7be0:*/ 0x9f, 0xb5, 0xbe, 0x87, 0xe8, 0x3f, 0x33, 0xe6, 0xc6, 0x4f, 0xc7, 0x77, 0x32, 0x3a, 0x22, 0x2c, - /*7bf0:*/ 0xab, 0x3d, 0xa8, 0xc7, 0x57, 0xf4, 0x18, 0xf4, 0x73, 0xe3, 0x00, 0xcb, 0x4d, 0x77, 0x26, 0x9b, - /*7c00:*/ 0x26, 0x2a, 0xdd, 0xd7, 0x4d, 0x38, 0x0b, 0x23, 0x4c, 0x55, 0xc9, 0x7c, 0x70, 0x02, 0x82, 0x84, - /*7c10:*/ 0xa3, 0x2a, 0x13, 0x0f, 0xb5, 0xb3, 0x11, 0x00, 0x0a, 0x4c, 0x2f, 0x90, 0xc8, 0x2f, 0xac, 0xe3, - /*7c20:*/ 0x8e, 0x15, 0x22, 0xf9, 0xc1, 0xda, 0xee, 0xf6, 0x65, 0x33, 0x53, 0x67, 0x7d, 0xfc, 0xbd, 0xf5, - /*7c30:*/ 0x72, 0xe6, 0x29, 0xf6, 0x14, 0xc3, 0xe6, 0x8c, 0x34, 0x26, 0xaf, 0x3c, 0xc0, 0x56, 0x5b, 0x00, - /*7c40:*/ 0xe1, 0xde, 0x4d, 0x1c, 0x45, 0x11, 0x71, 0x65, 0xd9, 0x42, 0x02, 0xed, 0x44, 0x11, 0x95, 0x2e, - /*7c50:*/ 0xda, 0x42, 0xcc, 0x8a, 0x5f, 0x50, 0x80, 0x63, 0xe6, 0xa6, 0x3f, 0x4a, 0x65, 0xbb, 0x4d, 0xe1, - /*7c60:*/ 0xad, 0xf9, 0xa7, 0x1d, 0xb0, 0x71, 0x29, 0x05, 0xe7, 0xcc, 0xad, 0x70, 0x72, 0x16, 0x2a, 0xdf, - /*7c70:*/ 0xdf, 0xd4, 0x69, 0x5e, 0x73, 0x85, 0xc4, 0x17, 0x1a, 0xcc, 0xe4, 0x91, 0xba, 0x32, 0xbc, 0xfa, - /*7c80:*/ 0x07, 0x5e, 0xc7, 0x55, 0xe0, 0x0c, 0xd6, 0x27, 0x9d, 0xa0, 0x4d, 0x6b, 0x54, 0xc8, 0x1a, 0x76, - /*7c90:*/ 0xd9, 0xd3, 0xfd, 0xa9, 0xf1, 0x2e, 0x40, 0x50, 0x46, 0x04, 0x71, 0x6a, 0xfd, 0x3f, 0x20, 0xcb, - /*7ca0:*/ 0x98, 0x40, 0x8c, 0x22, 0xb7, 0x9a, 0x46, 0xf2, 0x01, 0x87, 0x61, 0x5b, 0xe1, 0x87, 0x4f, 0x55, - /*7cb0:*/ 0x11, 0x01, 0x9b, 0x89, 0x9d, 0x8a, 0xe1, 0x52, 0x7d, 0x62, 0xf4, 0xba, 0x70, 0xde, 0xc3, 0x20, - /*7cc0:*/ 0x5c, 0xb7, 0x43, 0x11, 0xea, 0xfe, 0x6c, 0x03, 0x81, 0x33, 0xb9, 0x4f, 0x6f, 0xd1, 0xed, 0xef, - /*7cd0:*/ 0xd3, 0x45, 0x9c, 0x8e, 0xff, 0x96, 0x46, 0x30, 0x8b, 0x76, 0x06, 0x8c, 0x62, 0xb5, 0xac, 0x65, - /*7ce0:*/ 0xf3, 0xfa, 0x12, 0x1c, 0xa3, 0x9b, 0x7b, 0xc9, 0xf4, 0xd8, 0x30, 0x7f, 0xc7, 0x48, 0xc5, 0xfe, - /*7cf0:*/ 0x02, 0x4d, 0xf1, 0x5a, 0x2c, 0xd9, 0x4f, 0x5e, 0x5e, 0x8e, 0xa0, 0xb2, 0xad, 0x84, 0xa9, 0x59, - /*7d00:*/ 0x10, 0x8f, 0x63, 0xde, 0xee, 0xf4, 0x29, 0xc9, 0xae, 0x7e, 0xd5, 0x47, 0xad, 0xb1, 0x75, 0x2c, - /*7d10:*/ 0xc2, 0xcf, 0xdf, 0xbd, 0x58, 0xf0, 0x30, 0x16, 0xa8, 0xa6, 0x77, 0x17, 0x7f, 0x6a, 0x21, 0xa2, - /*7d20:*/ 0x26, 0x74, 0x8d, 0x9c, 0x68, 0xea, 0x5d, 0xf4, 0x34, 0xad, 0x9e, 0xd2, 0x70, 0xb6, 0x41, 0x51, - /*7d30:*/ 0x1b, 0xdf, 0x1b, 0x61, 0xe7, 0xe1, 0x61, 0xc0, 0xcc, 0x0f, 0x41, 0x2d, 0xe7, 0x40, 0x95, 0x90, - /*7d40:*/ 0x13, 0x56, 0xec, 0x02, 0x06, 0x72, 0xa1, 0x65, 0x0d, 0x3d, 0x7a, 0x79, 0xf5, 0xcd, 0x3d, 0xa1, - /*7d50:*/ 0x71, 0x4e, 0xd5, 0xaa, 0x0c, 0x94, 0xe1, 0xce, 0x2d, 0x7e, 0x23, 0xaf, 0x01, 0xc1, 0x27, 0x2d, - /*7d60:*/ 0x1d, 0xe6, 0xbb, 0x25, 0x76, 0xbe, 0x28, 0x36, 0xac, 0xa5, 0x02, 0x1a, 0xa2, 0x38, 0x54, 0xf3, - /*7d70:*/ 0x13, 0xc3, 0xbc, 0xb1, 0x95, 0xf0, 0x83, 0xd0, 0x31, 0x64, 0x2d, 0x4c, 0x7c, 0x00, 0x66, 0x1e, - /*7d80:*/ 0x0b, 0x57, 0x1a, 0x34, 0x2d, 0xac, 0x5c, 0xe8, 0xa6, 0xfb, 0xcb, 0x1b, 0x0d, 0xd7, 0xdc, 0xec, - /*7d90:*/ 0x0a, 0x2a, 0x6c, 0x03, 0x1f, 0x2b, 0xec, 0x75, 0xb8, 0xe7, 0x9c, 0xe6, 0x74, 0x11, 0xaa, 0x60, - /*7da0:*/ 0x11, 0x16, 0x5f, 0x1a, 0x7a, 0x1f, 0xad, 0xfb, 0x56, 0xcd, 0x81, 0x47, 0xe8, 0xf9, 0x03, 0x2d, - /*7db0:*/ 0xfc, 0xd7, 0x76, 0xa9, 0x80, 0x67, 0xfa, 0x1f, 0xb9, 0xef, 0xcf, 0x8b, 0x52, 0x57, 0x6a, 0x0a, - /*7dc0:*/ 0x02, 0xfa, 0xcb, 0x9f, 0x57, 0xbc, 0x5b, 0x57, 0x99, 0x71, 0xb8, 0x97, 0xc5, 0x6d, 0xb2, 0x7e, - /*7dd0:*/ 0x78, 0xa9, 0x2f, 0x2d, 0xb1, 0xd7, 0x42, 0xcb, 0x63, 0x09, 0xf7, 0xc7, 0xf3, 0x8b, 0x3d, 0x18, - /*7de0:*/ 0x8a, 0xa3, 0x5c, 0xcc, 0x6a, 0x5a, 0xb9, 0x1d, 0x58, 0x6b, 0x00, 0x50, 0x78, 0xec, 0xef, 0xff, - /*7df0:*/ 0x3f, 0x98, 0x6d, 0xd1, 0xe7, 0x80, 0x72, 0x0e, 0x1e, 0x99, 0xce, 0xb8, 0xf2, 0x10, 0xdf, 0x15, - /*7e00:*/ 0x8e, 0x59, 0x03, 0xeb, 0xb0, 0x38, 0x02, 0x72, 0x79, 0x07, 0xcb, 0x8f, 0xa1, 0xe3, 0x8c, 0x2a, - /*7e10:*/ 0xdc, 0x90, 0xca, 0x12, 0x10, 0xa3, 0xe7, 0x65, 0x9b, 0xb0, 0x52, 0x88, 0xdb, 0xb8, 0x05, 0xc2, - /*7e20:*/ 0x06, 0xbd, 0xb8, 0xaf, 0xf6, 0xd8, 0x2d, 0xb8, 0x6d, 0xe3, 0xb7, 0xd1, 0x7b, 0xa2, 0x97, 0x4b, - /*7e30:*/ 0xba, 0x67, 0x32, 0x45, 0xfe, 0xd4, 0xc9, 0xf7, 0x52, 0xb4, 0x81, 0xbe, 0x23, 0xcd, 0x5e, 0xc7, - /*7e40:*/ 0xeb, 0x5b, 0x0b, 0x22, 0x4c, 0x01, 0xcf, 0x6e, 0xb7, 0x33, 0x72, 0x01, 0xfb, 0xef, 0xd5, 0xa3, - /*7e50:*/ 0xb7, 0xe3, 0xd6, 0x53, 0x81, 0x2c, 0x81, 0xed, 0xd1, 0xfd, 0xc0, 0x89, 0x17, 0x04, 0xd9, 0x81, - /*7e60:*/ 0xc6, 0xcc, 0x2c, 0x00, 0x51, 0x16, 0x32, 0xbb, 0x6d, 0xac, 0xff, 0x92, 0xe6, 0x41, 0xbd, 0x70, - /*7e70:*/ 0x34, 0x5b, 0x3d, 0x64, 0xcb, 0x7f, 0x06, 0x40, 0x66, 0xcb, 0xd2, 0xc9, 0x57, 0x7a, 0xea, 0x9d, - /*7e80:*/ 0x34, 0x01, 0xdf, 0xa0, 0xaa, 0x85, 0xd3, 0x3b, 0x35, 0x2b, 0x31, 0x22, 0xf1, 0x96, 0xda, 0xe6, - /*7e90:*/ 0x72, 0xa8, 0x44, 0xa6, 0x19, 0xe2, 0x4a, 0x3a, 0x09, 0xa3, 0x5f, 0x5a, 0x69, 0xf9, 0x8a, 0x35, - /*7ea0:*/ 0x8b, 0xb4, 0xd1, 0x96, 0x03, 0x1e, 0xc3, 0x95, 0x3d, 0xf3, 0xf3, 0xdc, 0x59, 0x1f, 0xb4, 0x8a, - /*7eb0:*/ 0x63, 0x8a, 0x04, 0x79, 0x56, 0xcb, 0x7d, 0x9b, 0x92, 0x7a, 0xd6, 0xad, 0xd7, 0x0d, 0xa0, 0xda, - /*7ec0:*/ 0x09, 0x10, 0xf5, 0x5b, 0x0e, 0xa7, 0xe9, 0x95, 0x95, 0xe1, 0x80, 0xad, 0x86, 0x8b, 0xf2, 0x81, - /*7ed0:*/ 0xa8, 0xc2, 0xb2, 0x67, 0x36, 0x44, 0x34, 0xed, 0xba, 0x91, 0xf0, 0x7f, 0x90, 0x4b, 0x88, 0x7a, - /*7ee0:*/ 0xfb, 0xd2, 0x1a, 0x4b, 0xbe, 0xa5, 0xde, 0xaa, 0x08, 0x07, 0x57, 0x7a, 0xd9, 0x50, 0xda, 0x2b, - /*7ef0:*/ 0xb1, 0x99, 0xcf, 0xb8, 0xc2, 0x16, 0x2b, 0xe6, 0x0f, 0x36, 0x9e, 0xc0, 0xd8, 0xea, 0x87, 0xb2, - /*7f00:*/ 0x9c, 0x23, 0x05, 0x59, 0xce, 0xb9, 0xcb, 0xcb, 0xe4, 0xca, 0x59, 0x3c, 0xb6, 0x89, 0x4f, 0xea, - /*7f10:*/ 0xef, 0x85, 0x73, 0x4e, 0x14, 0xa1, 0x05, 0x5c, 0xc1, 0xc8, 0xc6, 0x7a, 0x95, 0x76, 0x22, 0xa3, - /*7f20:*/ 0xc4, 0x4e, 0x84, 0x3d, 0xb4, 0x1b, 0x1f, 0x26, 0x20, 0x40, 0x07, 0x55, 0xb0, 0xd8, 0xfa, 0x33, - /*7f30:*/ 0xea, 0x97, 0x5c, 0x96, 0x27, 0xa1, 0x60, 0xdf, 0x28, 0x56, 0xa7, 0x62, 0xb0, 0xc4, 0x6b, 0xa9, - /*7f40:*/ 0xe3, 0xaf, 0x84, 0x46, 0x0d, 0x5f, 0x14, 0x61, 0x50, 0xd7, 0xee, 0x4d, 0x73, 0xda, 0x09, 0x96, - /*7f50:*/ 0x09, 0xe3, 0x5c, 0x83, 0x67, 0x51, 0xcc, 0x2f, 0x2e, 0x3d, 0xd0, 0x5b, 0xae, 0xbe, 0xb5, 0x6f, - /*7f60:*/ 0xc0, 0xc7, 0xc9, 0x92, 0x1e, 0xd0, 0x88, 0x22, 0x37, 0x89, 0x3f, 0xff, 0x7b, 0x41, 0x93, 0x42, - /*7f70:*/ 0xbd, 0x15, 0x5f, 0xde, 0xa8, 0x16, 0x1f, 0xeb, 0x33, 0x8d, 0xc9, 0xb0, 0x76, 0xa4, 0xe0, 0x28, - /*7f80:*/ 0xee, 0x40, 0xd5, 0xbc, 0x7f, 0xe7, 0x97, 0x05, 0xd8, 0x2a, 0xc5, 0xa4, 0xc9, 0xc8, 0xa7, 0x25, - /*7f90:*/ 0x54, 0x62, 0x1e, 0x36, 0x8e, 0x13, 0x46, 0xb2, 0x31, 0x4c, 0x15, 0xb3, 0x0e, 0x7d, 0x5b, 0x31, - /*7fa0:*/ 0xa5, 0x74, 0xa1, 0x0b, 0x1c, 0xf4, 0x1a, 0x46, 0x1b, 0x2b, 0x4f, 0x85, 0xd0, 0x01, 0x7b, 0x93, - /*7fb0:*/ 0xfc, 0xfc, 0x77, 0x60, 0x0e, 0xd7, 0x02, 0x28, 0x58, 0x7b, 0x73, 0x3e, 0x61, 0xa5, 0x4d, 0xf0, - /*7fc0:*/ 0x54, 0xa2, 0x28, 0x9e, 0x84, 0xe7, 0x4e, 0x16, 0xa8, 0xc8, 0xad, 0x71, 0xe0, 0x15, 0x68, 0xc6, - /*7fd0:*/ 0xf7, 0xc5, 0x7e, 0x31, 0x45, 0x92, 0xf2, 0x4f, 0xfd, 0x65, 0x16, 0xad, 0x64, 0x6d, 0xa3, 0x0d, - /*7fe0:*/ 0x9b, 0xaa, 0xf0, 0x6c, 0x46, 0xd6, 0x4b, 0x39, 0xcf, 0x9c, 0xc7, 0xef, 0x96, 0xf3, 0x3b, 0x02, - /*7ff0:*/ 0x89, 0x05, 0x43, 0xc4, 0xf7, 0x0e, 0xc3, 0x85, 0x8e, 0x3e, 0xc9, 0x04, 0x8b, 0x26, 0x4c, 0xbf, - /*8000:*/ 0xb9, 0xd5, 0xaa, 0x9d, 0x3d, 0xfc, 0x65, 0x1b, 0x7c, 0x39, 0x7c, 0x2d, 0x16, 0x27, 0xf9, 0x5d, - /*8010:*/ 0xba, 0x5a, 0x15, 0xbd, 0xfd, 0x9c, 0x2b, 0x89, 0xe6, 0x86, 0xef, 0xde, 0xb8, 0x29, 0x75, 0x2e, - /*8020:*/ 0xa1, 0x37, 0xc5, 0xba, 0xa5, 0xb3, 0xf2, 0x01, 0x81, 0x17, 0x79, 0xa7, 0x22, 0x9d, 0x04, 0x05, - /*8030:*/ 0x8f, 0xf6, 0xc1, 0x74, 0x42, 0xb5, 0xa3, 0x4d, 0x41, 0x5e, 0x98, 0x5e, 0xa7, 0xd3, 0xb0, 0xb5, - /*8040:*/ 0x8d, 0xf9, 0xc8, 0x20, 0x47, 0x50, 0x32, 0x4a, 0x9c, 0x10, 0xe7, 0x8d, 0x1b, 0xcf, 0xd8, 0x75, - /*8050:*/ 0x9d, 0x3d, 0x56, 0x88, 0xe6, 0x9b, 0xa1, 0xf1, 0xd0, 0x74, 0x26, 0x87, 0xfa, 0xab, 0xea, 0x8f, - /*8060:*/ 0xaf, 0x3c, 0x38, 0xd5, 0xe2, 0xe6, 0x05, 0xbd, 0x57, 0x0c, 0x05, 0x80, 0xc3, 0xd7, 0xde, 0x66, - /*8070:*/ 0x14, 0x67, 0x4a, 0x3e, 0x4a, 0xe6, 0xe0, 0x54, 0xfa, 0xce, 0x09, 0x8a, 0x75, 0xd0, 0x87, 0x39, - /*8080:*/ 0xb1, 0xfb, 0x0c, 0x54, 0xed, 0x69, 0x96, 0x68, 0x5c, 0x1b, 0xcf, 0xa3, 0x56, 0xdd, 0x0b, 0x78, - /*8090:*/ 0x9c, 0x5d, 0x7d, 0x9d, 0x05, 0x79, 0x72, 0xb9, 0xa9, 0x6e, 0xd1, 0xfb, 0x0c, 0x28, 0x2b, 0xa9, - /*80a0:*/ 0xf4, 0xb3, 0x41, 0xb1, 0x12, 0xe0, 0xe3, 0xf4, 0xf0, 0x6c, 0x86, 0x50, 0xf0, 0xaf, 0x23, 0x87, - /*80b0:*/ 0x67, 0x91, 0xe2, 0x07, 0x6c, 0x77, 0x16, 0xf9, 0x5f, 0x83, 0x8a, 0x46, 0xb6, 0xe3, 0x02, 0x59, - /*80c0:*/ 0x77, 0xaf, 0x3e, 0x98, 0x33, 0x3f, 0xb6, 0xf4, 0x02, 0x23, 0x50, 0xd8, 0x4b, 0xc9, 0x4e, 0xd9, - /*80d0:*/ 0x00, 0xe9, 0x68, 0x13, 0x44, 0xed, 0x2c, 0x4d, 0xd7, 0x60, 0xb4, 0x69, 0xc6, 0xd4, 0xe7, 0xc6, - /*80e0:*/ 0x57, 0xe4, 0xb0, 0x5d, 0x74, 0x51, 0xb5, 0x09, 0x54, 0x11, 0x58, 0x1b, 0xab, 0xf6, 0x54, 0xfb, - /*80f0:*/ 0xe4, 0xaa, 0x99, 0xb0, 0xc2, 0xa8, 0xc3, 0x2d, 0x52, 0x95, 0x39, 0x51, 0x4b, 0x18, 0x83, 0xe6, - /*8100:*/ 0xfc, 0x55, 0xd5, 0x0a, 0xae, 0x93, 0x70, 0x97, 0x60, 0x65, 0x63, 0x61, 0x72, 0x65, 0x9a, 0xe8, - /*8110:*/ 0x13, 0x86, 0x99, 0x14, 0x75, 0xca, 0xe2, 0x9b, 0x40, 0xaf, 0x63, 0x49, 0x50, 0xfc, 0x1d, 0x9b, - /*8120:*/ 0x2a, 0x26, 0xee, 0xbc, 0x88, 0x78, 0x1d, 0xd8, 0xd6, 0x51, 0x8b, 0x8f, 0x45, 0xf9, 0xe0, 0x4b, - /*8130:*/ 0x6c, 0xa9, 0xc1, 0xbd, 0x63, 0x83, 0xe4, 0x4e, 0x02, 0x97, 0xa8, 0x59, 0xc9, 0x96, 0x7e, 0xeb, - /*8140:*/ 0xdd, 0x54, 0x4a, 0x76, 0xff, 0xce, 0xbb, 0xc0, 0x44, 0xe4, 0x61, 0xd9, 0x48, 0xd6, 0x95, 0xc6, - /*8150:*/ 0xe1, 0x1f, 0xdd, 0x0f, 0x93, 0x60, 0xd4, 0xe2, 0x1c, 0x29, 0x5b, 0xf4, 0xd0, 0x95, 0xff, 0x12, - /*8160:*/ 0x95, 0x35, 0x82, 0x24, 0xf0, 0xd9, 0xf5, 0x52, 0x30, 0x1c, 0xb7, 0x7c, 0xa2, 0xa7, 0x95, 0xd6, - /*8170:*/ 0x1e, 0xc0, 0x63, 0x5c, 0xc8, 0xa1, 0xd2, 0x82, 0xb1, 0x5c, 0x54, 0x49, 0xed, 0xd6, 0x78, 0xb3, - /*8180:*/ 0x0f, 0x3e, 0x41, 0x6a, 0x31, 0x6b, 0xb2, 0x21, 0x56, 0xd8, 0x6e, 0xbd, 0x53, 0x67, 0x3e, 0x54, - /*8190:*/ 0x83, 0x64, 0x5c, 0xd3, 0xd3, 0xb3, 0x4b, 0xbf, 0x83, 0xcf, 0x68, 0xdd, 0xd4, 0x51, 0x93, 0xea, - /*81a0:*/ 0xf0, 0xe9, 0x64, 0xeb, 0xc9, 0x44, 0xc4, 0xdf, 0x49, 0x45, 0xc2, 0x96, 0x43, 0x2c, 0xed, 0x83, - /*81b0:*/ 0x96, 0x47, 0xa4, 0x93, 0x33, 0x23, 0xf6, 0xcd, 0x49, 0x3c, 0x23, 0x76, 0xee, 0x0c, 0xac, 0x5b, - /*81c0:*/ 0x1b, 0xe6, 0x06, 0xcd, 0x36, 0x7a, 0x2e, 0xef, 0x5d, 0x88, 0x40, 0xed, 0xbb, 0x93, 0x70, 0x11, - /*81d0:*/ 0xea, 0x4e, 0x0b, 0xe9, 0x84, 0xed, 0x08, 0x91, 0xd3, 0xdb, 0xf9, 0x42, 0xce, 0x2b, 0x9b, 0x34, - /*81e0:*/ 0x34, 0xd7, 0x30, 0x12, 0x6b, 0x1d, 0x25, 0xc7, 0xa7, 0x4c, 0xf9, 0x55, 0x7c, 0x88, 0x0f, 0xc8, - /*81f0:*/ 0x2d, 0x23, 0x32, 0x86, 0xe6, 0x11, 0x82, 0x45, 0x2f, 0xac, 0xc8, 0xfd, 0xb6, 0xe1, 0x67, 0x76, - /*8200:*/ 0x25, 0x8f, 0x57, 0xb9, 0x67, 0xf2, 0x46, 0xd3, 0xd8, 0xf6, 0xe0, 0xd8, 0x57, 0x9e, 0x73, 0xf6, - /*8210:*/ 0xca, 0xc0, 0xba, 0x1a, 0xde, 0x66, 0x39, 0xdb, 0xfb, 0x7d, 0x11, 0x5f, 0xde, 0x3c, 0xce, 0xb4, - /*8220:*/ 0x7d, 0xac, 0x82, 0x9f, 0x25, 0xdb, 0x35, 0x2d, 0x8c, 0x31, 0x87, 0xdd, 0x9f, 0x45, 0x30, 0x07, - /*8230:*/ 0x29, 0x0e, 0x4f, 0x78, 0x58, 0x4b, 0xae, 0xc7, 0xfa, 0xef, 0xe0, 0x7d, 0x1e, 0x21, 0xb6, 0x34, - /*8240:*/ 0x16, 0xaa, 0xf0, 0xb1, 0x80, 0x88, 0x1f, 0x5b, 0xaa, 0xcd, 0x03, 0xa9, 0x86, 0xa9, 0xea, 0x6a, - /*8250:*/ 0xe8, 0xca, 0x67, 0x34, 0x4d, 0x0b, 0x2b, 0x8c, 0x13, 0x92, 0x82, 0xf1, 0xb7, 0xc5, 0x16, 0xe4, - /*8260:*/ 0xe0, 0x94, 0xd5, 0x0f, 0x61, 0x39, 0x6e, 0x9c, 0x23, 0x46, 0x50, 0x42, 0x84, 0x26, 0x5b, 0x61, - /*8270:*/ 0x5c, 0xb6, 0xd2, 0x4f, 0x32, 0x01, 0xa3, 0x21, 0x44, 0x6b, 0xc8, 0xf1, 0x95, 0x7f, 0x16, 0xfe, - /*8280:*/ 0x07, 0x76, 0xd0, 0x95, 0x43, 0x29, 0x63, 0xc2, 0xb7, 0x4a, 0xf5, 0xaf, 0x03, 0x84, 0x98, 0x05, - /*8290:*/ 0xd4, 0xea, 0x9a, 0x43, 0xac, 0xb3, 0x27, 0x93, 0x33, 0xa1, 0xb3, 0xb5, 0xe3, 0x64, 0x19, 0x3a, - /*82a0:*/ 0x4b, 0x83, 0x12, 0x66, 0xd6, 0xd9, 0xc0, 0x6b, 0xa9, 0x88, 0x72, 0xcb, 0x04, 0x0a, 0xba, 0xde, - /*82b0:*/ 0xfe, 0xf4, 0xf3, 0xcc, 0x36, 0x4d, 0x09, 0x9e, 0x3a, 0x41, 0xdf, 0x42, 0x08, 0x09, 0xdb, 0xed, - /*82c0:*/ 0xc7, 0x85, 0xbb, 0xb2, 0xc5, 0x36, 0x99, 0x9e, 0x3f, 0x3e, 0xf0, 0x66, 0x37, 0x03, 0x9a, 0xba, - /*82d0:*/ 0xb4, 0xd8, 0x20, 0x03, 0x46, 0x11, 0x13, 0x06, 0x43, 0x01, 0x0e, 0xfb, 0x74, 0x03, 0xf0, 0x14, - /*82e0:*/ 0x0b, 0x06, 0xe1, 0x4a, 0x4c, 0x19, 0x52, 0xb3, 0x9d, 0x14, 0x14, 0x14, 0xae, 0x5c, 0x05, 0x46, - /*82f0:*/ 0x42, 0x5b, 0xa0, 0xdc, 0xcb, 0xcc, 0x18, 0x4a, 0x87, 0x5f, 0x29, 0xcf, 0x80, 0x5c, 0x1a, 0xaf, - /*8300:*/ 0x36, 0x59, 0x9e, 0xa4, 0x18, 0x0d, 0x9f, 0xeb, 0x42, 0x3d, 0x39, 0xb2, 0x90, 0xf2, 0xc0, 0x2f, - /*8310:*/ 0x5f, 0xd4, 0xc6, 0xa9, 0xa1, 0x8c, 0xb9, 0x42, 0x38, 0x48, 0x0d, 0xa5, 0xaf, 0xd3, 0xc8, 0x5a, - /*8320:*/ 0xbe, 0x74, 0x23, 0xa8, 0xeb, 0xde, 0xc3, 0xd5, 0x46, 0x10, 0xe1, 0x1e, 0xc9, 0xe6, 0x4f, 0xc5, - /*8330:*/ 0x91, 0xcc, 0x38, 0x9c, 0xb2, 0x2f, 0x03, 0x36, 0xb6, 0xb0, 0xb1, 0x7d, 0xed, 0x61, 0x37, 0xc6, - /*8340:*/ 0xfb, 0xf5, 0x76, 0x44, 0xf3, 0xbe, 0xa5, 0x4d, 0xa3, 0x51, 0x44, 0x6b, 0x18, 0x8b, 0x49, 0x6f, - /*8350:*/ 0x8e, 0x45, 0xf0, 0xe1, 0xfc, 0x32, 0xd4, 0x82, 0xc7, 0x57, 0x8e, 0x74, 0x08, 0x28, 0x62, 0xfd, - /*8360:*/ 0xd7, 0x3e, 0xde, 0xc8, 0xa2, 0x4a, 0xbe, 0x9d, 0x19, 0x4a, 0x18, 0x9b, 0x49, 0x8c, 0x33, 0xa1, - /*8370:*/ 0x15, 0x99, 0x4c, 0x97, 0xe2, 0xa1, 0x8d, 0x42, 0x4c, 0xda, 0x86, 0x15, 0x9a, 0xbd, 0x43, 0x7d, - /*8380:*/ 0xdb, 0x87, 0xd9, 0x43, 0x8c, 0x97, 0x5e, 0x0e, 0xbb, 0xf6, 0x76, 0x2a, 0x74, 0x53, 0x52, 0xa8, - /*8390:*/ 0x09, 0xae, 0x2b, 0x3b, 0xd9, 0x04, 0x81, 0x24, 0x6a, 0xea, 0xa9, 0xe2, 0xb4, 0xac, 0xcd, 0xbb, - /*83a0:*/ 0x5f, 0xbd, 0xe2, 0x0d, 0xfe, 0x17, 0xe5, 0xc7, 0x15, 0x3e, 0x86, 0xe4, 0x4b, 0xab, 0xe4, 0xa3, - /*83b0:*/ 0xb1, 0x0f, 0x28, 0xe5, 0xe8, 0x28, 0xd0, 0x13, 0x04, 0xb5, 0xbc, 0xaa, 0x0b, 0x06, 0x0e, 0x4e, - /*83c0:*/ 0x09, 0x70, 0xab, 0x01, 0xe8, 0x53, 0x00, 0xf7, 0x27, 0x3c, 0x07, 0xcd, 0xaf, 0xab, 0x6b, 0x69, - /*83d0:*/ 0xac, 0x7d, 0x77, 0x32, 0x4c, 0xec, 0xcf, 0xbf, 0xfd, 0xba, 0x36, 0xad, 0xf4, 0x74, 0x8b, 0xe5, - /*83e0:*/ 0xc2, 0xe7, 0x27, 0x0e, 0x34, 0x3c, 0x82, 0x63, 0x03, 0x65, 0xe7, 0x36, 0x5f, 0x8c, 0x87, 0x06, - /*83f0:*/ 0x4e, 0x54, 0xa7, 0xe1, 0xd7, 0xc3, 0x5d, 0x99, 0xb9, 0x66, 0xa4, 0x21, 0xc0, 0xa9, 0x67, 0xb6, - /*8400:*/ 0xd0, 0xc3, 0x7a, 0xb5, 0xd5, 0x2b, 0x84, 0x01, 0xb8, 0x0f, 0x0e, 0xb2, 0x3d, 0xdc, 0xe9, 0xf9, - /*8410:*/ 0xff, 0x3e, 0xad, 0xb4, 0x27, 0x11, 0x1d, 0x25, 0x54, 0x49, 0xcb, 0xcb, 0xb6, 0x5a, 0x19, 0x30, - /*8420:*/ 0x22, 0xb4, 0x9a, 0xc7, 0xa0, 0x38, 0xc6, 0xb9, 0xcb, 0xcc, 0xd2, 0x20, 0xc1, 0xb9, 0x0f, 0x98, - /*8430:*/ 0x5b, 0x66, 0xbd, 0x36, 0x01, 0x36, 0xbf, 0xcc, 0x03, 0x40, 0x4b, 0xa8, 0xb3, 0xf1, 0x2a, 0x2f, - /*8440:*/ 0x25, 0xeb, 0x7e, 0x2b, 0xf1, 0x9f, 0xb1, 0xd2, 0xe8, 0x56, 0xab, 0xb3, 0x31, 0x6e, 0xbe, 0x39, - /*8450:*/ 0x2b, 0xe4, 0xfa, 0x54, 0x49, 0x7f, 0x1f, 0xb2, 0x1b, 0x93, 0x60, 0x60, 0xfe, 0xb2, 0x74, 0xba, - /*8460:*/ 0x14, 0xdb, 0xea, 0x32, 0xa0, 0x31, 0xd7, 0x5e, 0x69, 0x4b, 0xb9, 0x17, 0xaf, 0xd9, 0x80, 0x1a, - /*8470:*/ 0xa7, 0x1f, 0x28, 0x5a, 0x23, 0x8e, 0xd2, 0x59, 0x05, 0x90, 0x44, 0xc7, 0x44, 0x56, 0x02, 0x5e, - /*8480:*/ 0x29, 0x26, 0xcd, 0xea, 0x76, 0x38, 0x85, 0xa7, 0xe8, 0xde, 0x6e, 0x78, 0x09, 0x14, 0x68, 0xe0, - /*8490:*/ 0xba, 0xd4, 0xcb, 0x85, 0x25, 0x60, 0x38, 0x37, 0x62, 0x4c, 0x37, 0x0b, 0xbb, 0x68, 0xc0, 0x84, - /*84a0:*/ 0x83, 0x13, 0x6a, 0xa1, 0xa0, 0xa4, 0x4f, 0xa4, 0xaf, 0x03, 0x3d, 0xdc, 0x3f, 0x0a, 0x5b, 0xdb, - /*84b0:*/ 0x35, 0xfd, 0x2e, 0x1b, 0x7f, 0xe2, 0xa5, 0x6f, 0xe2, 0xa0, 0xa0, 0x99, 0x34, 0xe6, 0x66, 0xd7, - /*84c0:*/ 0x96, 0x7b, 0x20, 0xf4, 0xfd, 0xbd, 0xaa, 0xf0, 0x9b, 0x09, 0xf9, 0x12, 0xea, 0xe0, 0x6d, 0xe8, - /*84d0:*/ 0x50, 0x15, 0x5d, 0x53, 0x0a, 0x4a, 0x52, 0xfb, 0x6e, 0xb3, 0xc6, 0x83, 0x4c, 0x3e, 0x40, 0x90, - /*84e0:*/ 0x9a, 0xa4, 0x05, 0xfe, 0xd2, 0x63, 0x39, 0x1e, 0x3d, 0x20, 0xe1, 0x81, 0xf1, 0xa5, 0xd1, 0x75, - /*84f0:*/ 0x88, 0x7a, 0x96, 0xbe, 0xb2, 0x8c, 0xd7, 0x70, 0x9d, 0x81, 0x80, 0x78, 0x2d, 0x71, 0x90, 0x96, - /*8500:*/ 0x7e, 0x2e, 0x76, 0x86, 0xbc, 0xd1, 0x5a, 0xa1, 0xce, 0xc4, 0x5e, 0xd7, 0xf2, 0xde, 0x2b, 0xc9, - /*8510:*/ 0xf6, 0xc0, 0x7d, 0x67, 0xc8, 0xa1, 0x23, 0xc3, 0xa1, 0xdc, 0x01, 0x5b, 0x0e, 0x73, 0xc8, 0xf7, - /*8520:*/ 0x4d, 0x29, 0x77, 0x03, 0xb6, 0x6b, 0x7b, 0xa8, 0x68, 0x05, 0xee, 0x07, 0x38, 0xbe, 0xd9, 0xe7, - /*8530:*/ 0x78, 0xcd, 0x5d, 0xb7, 0x52, 0x20, 0x0e, 0x19, 0x0a, 0x61, 0x29, 0xbb, 0xa6, 0x79, 0xbe, 0xa0, - /*8540:*/ 0x62, 0xc3, 0xd3, 0x70, 0xc1, 0x65, 0x7a, 0x02, 0x5f, 0x2c, 0x66, 0x4f, 0x69, 0x6b, 0xab, 0x7e, - /*8550:*/ 0xe5, 0xa2, 0xb5, 0x99, 0x75, 0x3f, 0x0b, 0xf5, 0x7d, 0x43, 0xd6, 0x71, 0x14, 0xa1, 0x5c, 0xf2, - /*8560:*/ 0x62, 0x58, 0x81, 0x5e, 0xe4, 0x3f, 0xe8, 0xdb, 0xb5, 0x1d, 0xde, 0x58, 0xf4, 0x87, 0x4e, 0x21, - /*8570:*/ 0x74, 0x95, 0x37, 0xc9, 0xf0, 0x2c, 0x6d, 0x25, 0xe5, 0x78, 0xab, 0x1e, 0xbe, 0x0e, 0x86, 0xcf, - /*8580:*/ 0x45, 0xb8, 0x95, 0x8d, 0xce, 0x78, 0x57, 0x33, 0xb7, 0x4e, 0x63, 0x64, 0xa2, 0xcc, 0x25, 0x0f, - /*8590:*/ 0x36, 0xc2, 0x9f, 0x5e, 0xef, 0xbb, 0x6e, 0x69, 0x5a, 0x1b, 0x64, 0x8c, 0x38, 0x88, 0x31, 0xeb, - /*85a0:*/ 0xde, 0xb2, 0x12, 0xda, 0xf1, 0x97, 0xe4, 0x2d, 0xe2, 0x00, 0x0d, 0xed, 0xf0, 0x60, 0xbb, 0x36, - /*85b0:*/ 0x60, 0x92, 0xe6, 0x17, 0x2a, 0xf8, 0x95, 0xec, 0x29, 0x5f, 0xec, 0xbe, 0x47, 0x3c, 0xab, 0x36, - /*85c0:*/ 0x1c, 0x32, 0xa0, 0x60, 0xf5, 0x57, 0x10, 0xb8, 0x6e, 0xff, 0x5e, 0xd4, 0x95, 0xdc, 0x7f, 0xe4, - /*85d0:*/ 0xc3, 0x1b, 0xe4, 0x62, 0xe4, 0x6a, 0xc3, 0x0c, 0x9c, 0x83, 0x9a, 0x94, 0xc4, 0xff, 0xb0, 0x29, - /*85e0:*/ 0x60, 0x0b, 0xcc, 0x0f, 0xc5, 0x8a, 0xb8, 0xde, 0x16, 0x0e, 0x17, 0x76, 0x9a, 0x21, 0x14, 0x7b, - /*85f0:*/ 0xdc, 0x7c, 0x14, 0xdb, 0x9e, 0x8d, 0x81, 0xda, 0xd6, 0x6b, 0x0e, 0x9c, 0x51, 0xd3, 0xdd, 0x60, - /*8600:*/ 0xf9, 0xcc, 0xad, 0xed, 0xf1, 0x60, 0x92, 0x15, 0xae, 0x23, 0x32, 0x0f, 0x96, 0xe7, 0x62, 0x8c, - /*8610:*/ 0xa5, 0x18, 0x43, 0x66, 0x46, 0xff, 0xba, 0x2a, 0xae, 0xdc, 0xb0, 0x14, 0x2c, 0xc7, 0xce, 0x5f, - /*8620:*/ 0x9a, 0x2b, 0x56, 0xc3, 0x54, 0xf8, 0xf8, 0x59, 0x70, 0x51, 0x2f, 0xd0, 0x34, 0x0e, 0x7a, 0xe5, - /*8630:*/ 0xc2, 0xa2, 0x02, 0x82, 0xdd, 0x03, 0x6e, 0x37, 0x91, 0x1d, 0x68, 0x34, 0x2c, 0x66, 0x22, 0x71, - /*8640:*/ 0x15, 0x01, 0x09, 0x25, 0x38, 0x28, 0xe2, 0xd4, 0x6f, 0xb0, 0x5e, 0x20, 0xf4, 0x8c, 0x41, 0x83, - /*8650:*/ 0xe0, 0x3f, 0xf1, 0x01, 0x25, 0x07, 0x0e, 0x35, 0x08, 0xde, 0x13, 0x05, 0x87, 0x9e, 0xef, 0xb1, - /*8660:*/ 0x3e, 0x4d, 0xa5, 0x31, 0x85, 0xee, 0x90, 0x79, 0x15, 0x2c, 0x5a, 0x5b, 0xe7, 0x3c, 0xbd, 0xf2, - /*8670:*/ 0x5d, 0x69, 0xa5, 0x48, 0x4d, 0x7d, 0xa5, 0x82, 0x15, 0x14, 0x4a, 0x09, 0xa2, 0x2a, 0x20, 0xe3, - /*8680:*/ 0x89, 0xbf, 0x95, 0x31, 0xd9, 0x5f, 0xaf, 0x22, 0x70, 0xe0, 0x41, 0x56, 0xad, 0xfc, 0xab, 0xd3, - /*8690:*/ 0x4e, 0x7a, 0x72, 0x75, 0xd3, 0xcf, 0x8d, 0x81, 0xc5, 0x70, 0x58, 0x6f, 0xec, 0x5b, 0x0f, 0x5c, - /*86a0:*/ 0xc8, 0xbd, 0x08, 0x1f, 0x04, 0x3d, 0xf2, 0xc3, 0xbc, 0x08, 0xd1, 0x33, 0x95, 0x30, 0x5a, 0x83, - /*86b0:*/ 0x43, 0x09, 0x8d, 0x99, 0xbd, 0x12, 0xdb, 0x6c, 0x52, 0x7e, 0x84, 0xf7, 0x26, 0x20, 0x0f, 0xca, - /*86c0:*/ 0xf8, 0x3d, 0x07, 0x5e, 0xfe, 0x02, 0xdb, 0x94, 0xec, 0xb5, 0xdc, 0xce, 0xaf, 0xc9, 0x1d, 0xc9, - /*86d0:*/ 0xb6, 0x0a, 0x71, 0x9f, 0x06, 0xbb, 0xfa, 0x70, 0x88, 0xbb, 0xbd, 0x84, 0x12, 0x9f, 0xe4, 0x3a, - /*86e0:*/ 0x90, 0x24, 0x6b, 0xa8, 0xc4, 0x9a, 0x51, 0x66, 0x48, 0x7c, 0x99, 0x4e, 0x56, 0xd9, 0xc7, 0x47, - /*86f0:*/ 0x67, 0xe4, 0xf3, 0x56, 0x0f, 0xf9, 0x5a, 0xa0, 0x42, 0x16, 0x6e, 0x68, 0x3d, 0x27, 0xb8, 0xed, - /*8700:*/ 0xfc, 0x51, 0x93, 0x0d, 0x69, 0x63, 0x62, 0x9e, 0x0b, 0x1e, 0xdd, 0xc8, 0x16, 0x49, 0xac, 0x56, - /*8710:*/ 0xf6, 0x15, 0xee, 0x81, 0x76, 0x7c, 0xbe, 0xe9, 0x56, 0xd7, 0x57, 0x84, 0xde, 0xd1, 0xfa, 0x07, - /*8720:*/ 0xd2, 0x3f, 0x75, 0x4f, 0x6c, 0x29, 0x3e, 0xe8, 0x92, 0xc4, 0xe8, 0x54, 0xa1, 0x4c, 0x8e, 0x5f, - /*8730:*/ 0x33, 0x5f, 0x72, 0x08, 0xdc, 0x9c, 0xb0, 0xc6, 0x4a, 0x99, 0x3e, 0x9a, 0x29, 0xe7, 0xc3, 0x1b, - /*8740:*/ 0x9b, 0xdd, 0x5a, 0x1a, 0xcf, 0xb3, 0xe5, 0x93, 0x84, 0x53, 0xfc, 0xf6, 0x04, 0x5e, 0xc6, 0x18, - /*8750:*/ 0x1e, 0xd2, 0xe0, 0x08, 0xc4, 0x0e, 0x09, 0xc4, 0x1e, 0x7d, 0x6d, 0xd9, 0xae, 0xc1, 0x45, 0x42, - /*8760:*/ 0xb6, 0xeb, 0x4a, 0x37, 0x95, 0xdb, 0x37, 0x10, 0xd7, 0x7c, 0x41, 0x04, 0x68, 0x6e, 0xf7, 0xdb, - /*8770:*/ 0x94, 0xce, 0x56, 0x26, 0x80, 0x34, 0x06, 0xc3, 0x13, 0x6b, 0x6d, 0x05, 0x92, 0x19, 0x7a, 0xc8, - /*8780:*/ 0x7c, 0x1d, 0x8a, 0x54, 0xe7, 0x71, 0x2c, 0x11, 0xd1, 0x58, 0x46, 0xb0, 0xd4, 0x89, 0xa9, 0x8e, - /*8790:*/ 0x23, 0xd1, 0xf2, 0x72, 0xc5, 0x4c, 0xb8, 0xcb, 0xb1, 0xfc, 0xb9, 0x0a, 0x68, 0x96, 0x32, 0xcd, - /*87a0:*/ 0xd3, 0x11, 0xe9, 0x5d, 0x83, 0xfa, 0x26, 0x00, 0x0d, 0xff, 0xb6, 0x0c, 0x16, 0xde, 0x45, 0x95, - /*87b0:*/ 0x86, 0x7f, 0xc0, 0xba, 0x38, 0x3a, 0x4a, 0x56, 0x6e, 0x79, 0x3d, 0x67, 0x7f, 0xb6, 0xfa, 0x38, - /*87c0:*/ 0xe3, 0x43, 0x10, 0x40, 0x40, 0x8e, 0xc3, 0x29, 0x0a, 0x08, 0x30, 0x81, 0x21, 0xcc, 0xdb, 0xd2, - /*87d0:*/ 0x40, 0xd2, 0x30, 0x2c, 0xd2, 0xdc, 0xdd, 0x2a, 0x46, 0xea, 0x04, 0xa8, 0x6c, 0xf0, 0xeb, 0xf7, - /*87e0:*/ 0x47, 0x27, 0xef, 0xa6, 0x15, 0xa0, 0x11, 0xed, 0x66, 0xe0, 0xf5, 0xf9, 0xe5, 0x54, 0x07, 0x65, - /*87f0:*/ 0xff, 0xd9, 0x45, 0xa0, 0x7e, 0x29, 0x5d, 0x4c, 0x5a, 0xa6, 0xfe, 0x13, 0xa0, 0xce, 0x42, 0x19, - /*8800:*/ 0x40, 0x0f, 0x4a, 0x58, 0xd4, 0xb3, 0x95, 0x75, 0x43, 0xd7, 0x1b, 0xb3, 0x05, 0x8a, 0xbf, 0xed, - /*8810:*/ 0x97, 0x99, 0x60, 0x63, 0x07, 0x68, 0xf0, 0x57, 0x39, 0x65, 0x93, 0x19, 0x5a, 0x60, 0xa3, 0x0f, - /*8820:*/ 0xa7, 0xda, 0x86, 0x74, 0x6a, 0xf5, 0x36, 0x26, 0x28, 0xa7, 0xf0, 0x22, 0x06, 0x53, 0x60, 0x46, - /*8830:*/ 0x60, 0x3e, 0x20, 0x2f, 0x6e, 0xbf, 0x64, 0xa7, 0x2d, 0x15, 0x9f, 0x1a, 0xab, 0x65, 0x17, 0x67, - /*8840:*/ 0x23, 0x98, 0x82, 0xe3, 0xdd, 0xb0, 0xe7, 0xa0, 0x42, 0x8c, 0x72, 0xb2, 0x30, 0xfd, 0x3b, 0x5d, - /*8850:*/ 0x85, 0x78, 0x0f, 0xd3, 0x9e, 0x78, 0x03, 0x09, 0x3f, 0x99, 0x6f, 0x36, 0xf4, 0x22, 0x3c, 0x25, - /*8860:*/ 0x76, 0x2d, 0xb1, 0x1c, 0x62, 0xbf, 0x4c, 0x5d, 0x68, 0xa3, 0x27, 0x0a, 0x1a, 0x11, 0x82, 0x4b, - /*8870:*/ 0x19, 0x20, 0x05, 0xee, 0xd7, 0x5d, 0xfe, 0x11, 0x39, 0xb8, 0xd4, 0x1d, 0x10, 0x47, 0x45, 0x5c, - /*8880:*/ 0xe2, 0xbd, 0x7d, 0x46, 0x6a, 0x78, 0xfa, 0x54, 0xd1, 0xe0, 0xbe, 0xc3, 0x02, 0xf2, 0xd7, 0x2b, - /*8890:*/ 0x37, 0x5b, 0x01, 0x9b, 0x4d, 0xcf, 0xad, 0x32, 0xb7, 0xc0, 0x02, 0xc1, 0x9c, 0xd7, 0x02, 0x1a, - /*88a0:*/ 0x06, 0x1e, 0x9c, 0x9f, 0x57, 0xf0, 0x77, 0x62, 0xa0, 0x80, 0x41, 0x02, 0xf9, 0xf6, 0x57, 0x69, - /*88b0:*/ 0x2d, 0x46, 0xac, 0x68, 0x5f, 0xc1, 0x6c, 0x52, 0x5e, 0x40, 0x30, 0xb7, 0x4b, 0x84, 0xc1, 0xd1, - /*88c0:*/ 0xdd, 0x7e, 0x79, 0x56, 0xf5, 0x25, 0x33, 0xbc, 0xbe, 0x83, 0xa4, 0x92, 0x0f, 0x6d, 0x71, 0xfe, - /*88d0:*/ 0x98, 0x44, 0xd6, 0x15, 0xcd, 0x8f, 0x29, 0x7c, 0x89, 0x14, 0xb8, 0xab, 0x69, 0x04, 0x8a, 0xa9, - /*88e0:*/ 0x86, 0x8c, 0xb5, 0x00, 0x3e, 0x99, 0x3c, 0xc7, 0xd7, 0x8c, 0x69, 0xb5, 0xf4, 0x40, 0x8f, 0x0b, - /*88f0:*/ 0x85, 0xd3, 0x5b, 0x31, 0xc2, 0xc1, 0x85, 0xa7, 0x97, 0x61, 0x25, 0x97, 0x0e, 0xd1, 0xa9, 0x0f, - /*8900:*/ 0x5d, 0x30, 0xd6, 0xa3, 0x56, 0x94, 0x27, 0x8a, 0x83, 0xf6, 0x31, 0x10, 0xf2, 0xd2, 0x98, 0x41, - /*8910:*/ 0xdd, 0x62, 0x11, 0xd8, 0x05, 0x75, 0xf1, 0x66, 0xe3, 0xb3, 0x49, 0xb1, 0x22, 0xdb, 0x34, 0xbd, - /*8920:*/ 0x48, 0x29, 0x49, 0x42, 0x4b, 0x7e, 0x5f, 0x23, 0xab, 0xbb, 0xe6, 0xe7, 0xef, 0x26, 0x78, 0x46, - /*8930:*/ 0x30, 0x9a, 0xb5, 0x0b, 0xee, 0xaa, 0x6c, 0x22, 0x47, 0xad, 0x59, 0x7f, 0xa8, 0x03, 0x92, 0x12, - /*8940:*/ 0x66, 0xf8, 0x2c, 0x44, 0x1a, 0x0f, 0x88, 0x66, 0x57, 0xc6, 0x73, 0x6d, 0x3f, 0x7e, 0xe0, 0x62, - /*8950:*/ 0xc5, 0x4e, 0xb4, 0xb0, 0x80, 0xdc, 0x21, 0xf6, 0x9d, 0xf8, 0xe1, 0x27, 0x5a, 0x00, 0xe7, 0x6f, - /*8960:*/ 0xda, 0x8b, 0xf5, 0x53, 0x82, 0xe3, 0xbe, 0x3a, 0x7c, 0x46, 0x81, 0xa8, 0x5d, 0xa8, 0x87, 0x7c, - /*8970:*/ 0x5d, 0x82, 0x40, 0x94, 0x13, 0xc7, 0xd9, 0xc5, 0x47, 0xcc, 0x4b, 0xd2, 0xfc, 0x00, 0x8f, 0x6c, - /*8980:*/ 0xa7, 0x66, 0x89, 0xbf, 0x89, 0x9a, 0xfd, 0x60, 0x68, 0xff, 0xc3, 0xd3, 0x09, 0x3a, 0xb3, 0x4f, - /*8990:*/ 0xd5, 0xb0, 0x95, 0x41, 0x7a, 0x59, 0x06, 0x25, 0xf5, 0x8d, 0x17, 0x96, 0x3c, 0x37, 0x73, 0x24, - /*89a0:*/ 0xfd, 0x53, 0xb6, 0x2c, 0xf2, 0x87, 0x0a, 0xd1, 0xb3, 0x61, 0xa1, 0x57, 0x6f, 0x1d, 0x6b, 0xba, - /*89b0:*/ 0xcf, 0xd4, 0xde, 0x1c, 0x41, 0xc8, 0x34, 0xcb, 0x83, 0xa9, 0xb0, 0xfd, 0xe6, 0x3f, 0xcf, 0xba, - /*89c0:*/ 0x84, 0x8d, 0x9e, 0x82, 0x5f, 0xc8, 0x79, 0xe1, 0xc0, 0xdd, 0xd4, 0x98, 0x49, 0x90, 0x2e, 0xe4, - /*89d0:*/ 0xfd, 0xf0, 0xa8, 0x4d, 0x16, 0x08, 0xc2, 0x7a, 0x57, 0xd2, 0xcc, 0x2e, 0x74, 0x23, 0xc8, 0xdf, - /*89e0:*/ 0x34, 0x0e, 0x39, 0xb8, 0x64, 0x85, 0xeb, 0x14, 0x92, 0x0e, 0x04, 0x8d, 0xcb, 0x5c, 0x65, 0x6e, - /*89f0:*/ 0xd4, 0x4a, 0xb1, 0xe4, 0x43, 0x85, 0xfb, 0x55, 0xa9, 0x12, 0x5d, 0x29, 0xeb, 0x74, 0xd7, 0x86, - /*8a00:*/ 0x2c, 0xc8, 0x4a, 0x3c, 0xe4, 0xf4, 0xba, 0xc0, 0x31, 0x05, 0xa4, 0x4d, 0x84, 0x09, 0x02, 0xb5, - /*8a10:*/ 0x8b, 0xa2, 0x0b, 0x6c, 0xf9, 0xaa, 0xb0, 0xc5, 0xa6, 0x2b, 0xe5, 0x25, 0x4b, 0x31, 0x76, 0xc6, - /*8a20:*/ 0xa2, 0x44, 0x3c, 0xfe, 0xe7, 0x16, 0x30, 0x4c, 0xd8, 0x19, 0xb9, 0x8e, 0x4a, 0x38, 0xd5, 0x75, - /*8a30:*/ 0x20, 0x8b, 0x3e, 0x27, 0x88, 0x0c, 0xa2, 0xe0, 0xdc, 0xdb, 0x23, 0x3a, 0x87, 0xcf, 0xe0, 0x2d, - /*8a40:*/ 0x2a, 0x4b, 0x50, 0x71, 0x60, 0x62, 0x3b, 0xbd, 0x43, 0xc0, 0xd6, 0x30, 0x34, 0x28, 0x45, 0x2b, - /*8a50:*/ 0x80, 0xf8, 0xee, 0xe5, 0x2f, 0x16, 0xc6, 0xf3, 0xfc, 0xba, 0xc5, 0x88, 0xd6, 0x83, 0x49, 0x74, - /*8a60:*/ 0x38, 0x37, 0xd2, 0x1d, 0x4a, 0x0a, 0x71, 0x03, 0xd4, 0x7d, 0x1a, 0x75, 0x67, 0x37, 0xdf, 0x8f, - /*8a70:*/ 0xa7, 0x2c, 0x73, 0x2f, 0x51, 0x9e, 0xf2, 0xdc, 0x8a, 0xd0, 0x99, 0x4f, 0x4e, 0xbf, 0x22, 0x98, - /*8a80:*/ 0x7c, 0xb2, 0x95, 0xcb, 0x1a, 0x97, 0xda, 0xe0, 0xf2, 0xda, 0x7e, 0x7d, 0xc0, 0x0e, 0x6d, 0x86, - /*8a90:*/ 0xa4, 0xef, 0x27, 0x29, 0x5f, 0x5c, 0x9f, 0xd4, 0x08, 0xe7, 0x7f, 0x35, 0x59, 0xfd, 0x41, 0xcf, - /*8aa0:*/ 0xbc, 0xc9, 0xc0, 0x38, 0xe5, 0x42, 0x20, 0x39, 0xc5, 0x53, 0x56, 0xce, 0xf7, 0x2b, 0xd5, 0x1d, - /*8ab0:*/ 0x91, 0xc1, 0x01, 0x41, 0x1b, 0x3a, 0x7b, 0x82, 0x6b, 0xc0, 0x13, 0x60, 0x39, 0x4d, 0x8e, 0x52, - /*8ac0:*/ 0x9c, 0x3c, 0xc4, 0x55, 0xbe, 0x8d, 0xa8, 0x98, 0xfc, 0x23, 0x5a, 0xb7, 0x2e, 0x88, 0x85, 0xa9, - /*8ad0:*/ 0xfc, 0xd4, 0x5f, 0x75, 0x6d, 0xcb, 0x41, 0x20, 0xd6, 0x9a, 0x50, 0x7d, 0xbe, 0x11, 0xd9, 0x55, - /*8ae0:*/ 0xf4, 0xba, 0x05, 0xd1, 0x77, 0x03, 0xa0, 0xd2, 0x59, 0x2b, 0x67, 0x15, 0xff, 0x93, 0x70, 0xd6, - /*8af0:*/ 0x07, 0x2d, 0xb3, 0x9f, 0xd5, 0xee, 0x4c, 0x0f, 0xe9, 0xe5, 0xdc, 0x61, 0xf8, 0xa8, 0x36, 0x58, - /*8b00:*/ 0x73, 0x1a, 0x25, 0x6d, 0x35, 0xb6, 0x76, 0xaf, 0xd6, 0x9b, 0x4b, 0xab, 0xc1, 0x44, 0xb6, 0x0a, - /*8b10:*/ 0x47, 0x7f, 0xc5, 0x4a, 0x9c, 0xbb, 0x92, 0x27, 0x53, 0xeb, 0x92, 0xc1, 0x40, 0x9a, 0x6a, 0xca, - /*8b20:*/ 0x7e, 0x39, 0x0f, 0x71, 0x04, 0x4d, 0xc1, 0x6e, 0x41, 0x84, 0x5c, 0x0e, 0xe7, 0x41, 0x22, 0xf6, - /*8b30:*/ 0x22, 0xf6, 0x4e, 0x2c, 0x1b, 0xba, 0x6e, 0x52, 0x7c, 0x9a, 0x56, 0xfb, 0x30, 0x7f, 0x91, 0x67, - /*8b40:*/ 0xd4, 0x51, 0x09, 0x6f, 0x33, 0x1b, 0xcc, 0xd2, 0x6b, 0x94, 0x63, 0x9d, 0x23, 0xf1, 0xb0, 0xc9, - /*8b50:*/ 0x56, 0x4e, 0xf5, 0x0c, 0x2a, 0x92, 0x9f, 0xc8, 0x12, 0x99, 0x6c, 0xbe, 0xf7, 0x54, 0xfb, 0xf3, - /*8b60:*/ 0x5f, 0x3a, 0x4e, 0xb8, 0x1a, 0x75, 0x60, 0xa4, 0x44, 0x2d, 0x35, 0x7b, 0xf5, 0x84, 0x62, 0x24, - /*8b70:*/ 0x19, 0x1d, 0x54, 0xd1, 0x16, 0xd9, 0x5d, 0xe2, 0x3d, 0xb8, 0x36, 0x6c, 0x30, 0xbf, 0x5f, 0xd8, - /*8b80:*/ 0x63, 0x8f, 0x25, 0xc7, 0xcb, 0x4e, 0x78, 0xd1, 0x30, 0xc9, 0x20, 0xc5, 0x22, 0x89, 0x18, 0x41, - /*8b90:*/ 0xd5, 0x3c, 0xa7, 0xaf, 0xea, 0x41, 0x79, 0x85, 0x03, 0x9a, 0xf5, 0xb7, 0xcb, 0x71, 0x1d, 0x6e, - /*8ba0:*/ 0xcd, 0xf9, 0x91, 0xbf, 0x0b, 0x3b, 0xea, 0x83, 0x00, 0xed, 0xe5, 0x4f, 0x02, 0xa4, 0x8e, 0xf6, - /*8bb0:*/ 0x98, 0xdc, 0x52, 0x75, 0xab, 0x66, 0xb9, 0x2e, 0xc7, 0xb6, 0x8d, 0x3b, 0xf3, 0x2d, 0xda, 0x8e, - /*8bc0:*/ 0xbc, 0xcd, 0x34, 0x24, 0x87, 0xc3, 0xee, 0x4f, 0xb3, 0x06, 0x2a, 0x22, 0x4d, 0x5d, 0x14, 0x74, - /*8bd0:*/ 0x5a, 0x08, 0x99, 0x8b, 0x17, 0x4b, 0x0d, 0x0b, 0x2c, 0x29, 0xfe, 0x7d, 0x54, 0x8e, 0xcf, 0xc8, - /*8be0:*/ 0xa3, 0x88, 0xb1, 0x43, 0x4a, 0x82, 0x71, 0x30, 0x5a, 0x2c, 0xf0, 0xcc, 0x23, 0x48, 0x82, 0xb1, - /*8bf0:*/ 0xc6, 0x4c, 0x18, 0x12, 0xb9, 0x1c, 0x8e, 0xf3, 0x7d, 0x0e, 0x17, 0xb0, 0xd1, 0x61, 0x96, 0xda, - /*8c00:*/ 0xc8, 0xba, 0xb7, 0x2b, 0x0b, 0x93, 0xa7, 0xdd, 0xba, 0x5c, 0x37, 0x3a, 0xef, 0x2a, 0x16, 0x37, - /*8c10:*/ 0x9c, 0xc8, 0xb4, 0x82, 0xc3, 0xe7, 0xb8, 0x9e, 0x85, 0x94, 0x10, 0x62, 0x89, 0x62, 0xab, 0xf6, - /*8c20:*/ 0xd3, 0x87, 0x0f, 0x43, 0x1b, 0xe3, 0xf8, 0x60, 0x09, 0x17, 0x63, 0xca, 0x01, 0x7e, 0xb6, 0x9b, - /*8c30:*/ 0x48, 0x2d, 0x84, 0xd2, 0x47, 0xc6, 0xaf, 0xed, 0x36, 0xe9, 0xe2, 0xb9, 0xfd, 0x83, 0xd6, 0x8d, - /*8c40:*/ 0x26, 0x65, 0xd3, 0x0a, 0xcc, 0x09, 0x12, 0x88, 0xf7, 0x1e, 0x91, 0xc2, 0x24, 0xea, 0x6a, 0x64, - /*8c50:*/ 0xd8, 0xc4, 0x48, 0xea, 0x0f, 0xba, 0xd0, 0xfa, 0x5b, 0x48, 0x45, 0xcc, 0x4c, 0x37, 0x92, 0x43, - /*8c60:*/ 0x8e, 0x95, 0x16, 0x18, 0x2e, 0x68, 0x8e, 0x34, 0x45, 0x85, 0x8b, 0x0d, 0xcc, 0x75, 0x51, 0xf7, - /*8c70:*/ 0xd3, 0xd6, 0xda, 0x7c, 0x5d, 0x96, 0x7f, 0xae, 0xe0, 0x21, 0x65, 0xb7, 0x36, 0x10, 0x7f, 0x84, - /*8c80:*/ 0xa2, 0x2b, 0x9a, 0xea, 0xae, 0x82, 0x8e, 0x5e, 0xe6, 0x43, 0x2d, 0xe2, 0x6b, 0xbf, 0x89, 0xe5, - /*8c90:*/ 0x43, 0x55, 0xb4, 0xdc, 0x56, 0x15, 0xab, 0x3b, 0x43, 0xea, 0x4d, 0x16, 0x12, 0x75, 0x2a, 0x06, - /*8ca0:*/ 0x5b, 0xbf, 0xa4, 0x2f, 0x3b, 0x78, 0x9b, 0xc7, 0xf7, 0x9e, 0x9c, 0x8e, 0x87, 0x69, 0x1f, 0x6b, - /*8cb0:*/ 0xfc, 0xea, 0x5c, 0x81, 0xd2, 0xbe, 0xba, 0xcd, 0x9c, 0x73, 0x48, 0xa8, 0xfa, 0x27, 0x8f, 0x2a, - /*8cc0:*/ 0x23, 0xa8, 0x6e, 0xb9, 0x81, 0x85, 0x6b, 0xc9, 0xd4, 0x35, 0x44, 0x73, 0xa6, 0xce, 0x30, 0x21, - /*8cd0:*/ 0x89, 0xa2, 0xd6, 0x9c, 0x30, 0x94, 0xeb, 0x0b, 0x29, 0x87, 0x06, 0x5b, 0xae, 0xc4, 0xfc, 0x36, - /*8ce0:*/ 0x0d, 0x2a, 0xfa, 0xe6, 0x1d, 0xf5, 0x5f, 0x46, 0x8f, 0x36, 0xf4, 0x28, 0xf1, 0x17, 0x6e, 0xa6, - /*8cf0:*/ 0x9a, 0x71, 0x11, 0x61, 0xd9, 0x33, 0xe8, 0xba, 0xaa, 0x2e, 0x71, 0x15, 0x61, 0xfc, 0xbf, 0xdd, - /*8d00:*/ 0x10, 0xb1, 0x17, 0x63, 0x31, 0x60, 0x54, 0x0b, 0x1b, 0xe8, 0x9f, 0xd2, 0x06, 0x07, 0x40, 0x0a, - /*8d10:*/ 0xf1, 0xc5, 0xba, 0x8c, 0x0e, 0x6e, 0x4a, 0xbe, 0xb0, 0x01, 0x3e, 0x53, 0xee, 0x44, 0x7c, 0x3a, - /*8d20:*/ 0x77, 0x4b, 0xbc, 0x15, 0xfa, 0x06, 0x9f, 0x42, 0x85, 0x47, 0xd7, 0x11, 0x74, 0x3e, 0xa7, 0x96, - /*8d30:*/ 0x9f, 0x5a, 0xa8, 0x1a, 0x02, 0xe1, 0xd5, 0x10, 0x87, 0x7c, 0x19, 0x69, 0x2a, 0x94, 0x1d, 0xf1, - /*8d40:*/ 0xe2, 0xf3, 0x32, 0xf9, 0xd0, 0x07, 0xcf, 0xcf, 0x4c, 0x18, 0x98, 0xbe, 0xb2, 0x77, 0xeb, 0x1f, - /*8d50:*/ 0x5b, 0x69, 0x86, 0x26, 0x6c, 0x30, 0x46, 0x75, 0x3e, 0x9b, 0x86, 0xac, 0x89, 0x2f, 0xe1, 0x8a, - /*8d60:*/ 0x0c, 0xe9, 0x36, 0x20, 0x2e, 0x94, 0xcc, 0xed, 0x57, 0x67, 0x85, 0x87, 0x30, 0xc3, 0xc1, 0x50, - /*8d70:*/ 0x9d, 0x7a, 0xcc, 0xd0, 0xe5, 0x89, 0x0d, 0x06, 0xcd, 0x70, 0xf7, 0x04, 0x4c, 0x02, 0x44, 0x9a, - /*8d80:*/ 0xd7, 0x1e, 0xae, 0x81, 0x70, 0x8b, 0x71, 0x21, 0xe3, 0x81, 0xc2, 0xe4, 0x02, 0x81, 0xd8, 0xae, - /*8d90:*/ 0x1d, 0xe9, 0x6a, 0xb2, 0xc3, 0xbe, 0x1b, 0x95, 0x1d, 0xa9, 0xa0, 0x0c, 0xcc, 0x5e, 0xb5, 0x54, - /*8da0:*/ 0x4a, 0xad, 0x7a, 0x88, 0x71, 0xcf, 0xb2, 0xf4, 0x05, 0x42, 0xbc, 0x32, 0x43, 0x17, 0xec, 0x29, - /*8db0:*/ 0xeb, 0xa3, 0x5c, 0x15, 0x54, 0x8f, 0x51, 0x4b, 0x44, 0x63, 0xb8, 0x30, 0x9a, 0xe2, 0x50, 0xd3, - /*8dc0:*/ 0x1e, 0x0d, 0xe2, 0x91, 0xb2, 0xd9, 0x55, 0xaa, 0x91, 0x00, 0xa5, 0x86, 0x99, 0x84, 0xd5, 0x2c, - /*8dd0:*/ 0x04, 0xeb, 0x07, 0x05, 0x29, 0x32, 0xc1, 0xf1, 0x25, 0xa6, 0xcc, 0x7d, 0x59, 0xcd, 0x11, 0x1f, - /*8de0:*/ 0x87, 0x61, 0xf8, 0xb1, 0x8c, 0xd0, 0xfd, 0x08, 0x0f, 0xad, 0x6c, 0xd1, 0xa7, 0x6c, 0x37, 0x8e, - /*8df0:*/ 0xe4, 0xe6, 0x36, 0xc8, 0x2b, 0x3d, 0xa5, 0x13, 0x46, 0xba, 0x3c, 0x7c, 0xb2, 0x43, 0x2e, 0x6a, - /*8e00:*/ 0xcf, 0xc3, 0x9a, 0x18, 0x12, 0xc3, 0xb6, 0x9c, 0xbe, 0x14, 0x06, 0x03, 0xd6, 0x8f, 0x60, 0xef, - /*8e10:*/ 0x41, 0xa6, 0xdb, 0xec, 0x57, 0x0e, 0xdd, 0x63, 0x5d, 0x16, 0x9a, 0x70, 0x33, 0xb0, 0xfc, 0x52, - /*8e20:*/ 0x1a, 0xd3, 0x86, 0x5e, 0xd6, 0xea, 0x2a, 0x36, 0x64, 0x5c, 0x88, 0xa1, 0x78, 0x28, 0xab, 0xab, - /*8e30:*/ 0x1d, 0x69, 0x12, 0x89, 0x49, 0x2f, 0x80, 0xae, 0x36, 0x63, 0x6f, 0xa3, 0x96, 0x10, 0x2c, 0xb3, - /*8e40:*/ 0x1d, 0xfd, 0x34, 0xb2, 0x5a, 0x42, 0x0e, 0x10, 0x25, 0xf2, 0xf0, 0x44, 0xf3, 0xd6, 0xfe, 0x26, - /*8e50:*/ 0x90, 0x0e, 0xb4, 0xf1, 0x02, 0x09, 0x4a, 0xdc, 0x0a, 0xa7, 0x4e, 0xd0, 0x20, 0xab, 0xc6, 0x80, - /*8e60:*/ 0x70, 0x1c, 0xf8, 0x84, 0x97, 0xa3, 0x00, 0xc3, 0x5b, 0x58, 0xdc, 0x11, 0x48, 0x5e, 0x46, 0x8e, - /*8e70:*/ 0xda, 0xe6, 0x6f, 0x3c, 0xc7, 0x5e, 0x76, 0xd3, 0xc7, 0x7a, 0x22, 0x62, 0x33, 0x66, 0x7f, 0xcb, - /*8e80:*/ 0x6c, 0x4c, 0x89, 0x29, 0x34, 0x92, 0x78, 0x08, 0x01, 0x39, 0xc1, 0x2d, 0x5a, 0x08, 0x94, 0x24, - /*8e90:*/ 0x53, 0xd9, 0x75, 0xce, 0x28, 0xcb, 0xfa, 0xb3, 0x8c, 0x88, 0xc5, 0x26, 0x45, 0x1b, 0x96, 0x98, - /*8ea0:*/ 0xa7, 0xf5, 0x1f, 0x45, 0x86, 0xa5, 0xd5, 0x31, 0x26, 0x4d, 0x96, 0x02, 0xcd, 0x35, 0x77, 0x8e, - /*8eb0:*/ 0x83, 0x45, 0x35, 0x26, 0xd6, 0x1e, 0xdc, 0x4a, 0x3c, 0xe9, 0x08, 0x2e, 0x71, 0xaf, 0xc2, 0xfa, - /*8ec0:*/ 0x56, 0x96, 0x1c, 0x95, 0x75, 0xe2, 0x1a, 0x24, 0x5f, 0xad, 0x48, 0xe7, 0x3b, 0x31, 0xa9, 0xe0, - /*8ed0:*/ 0xc4, 0x0c, 0x7a, 0x00, 0x46, 0x7b, 0xcd, 0xd3, 0x92, 0x92, 0x16, 0xa6, 0x4b, 0x1e, 0xc8, 0x94, - /*8ee0:*/ 0x4b, 0x6b, 0x8b, 0x2c, 0xa0, 0xdf, 0x10, 0xb5, 0x10, 0xc0, 0x4b, 0xd3, 0xa6, 0xbd, 0xba, 0x8e, - /*8ef0:*/ 0xda, 0x08, 0x1c, 0x80, 0x3e, 0x1b, 0xdc, 0xf8, 0x3b, 0xcd, 0xf6, 0x9d, 0x9c, 0x1f, 0x3e, 0x79, - /*8f00:*/ 0x5d, 0x79, 0xc1, 0x5a, 0x2f, 0xb0, 0xce, 0xc6, 0x6c, 0x44, 0x33, 0xf8, 0x2e, 0x2e, 0x89, 0xbd, - /*8f10:*/ 0xcb, 0x68, 0xe7, 0x22, 0x26, 0xfd, 0x5c, 0xae, 0x3d, 0x68, 0x43, 0xa5, 0xa8, 0x68, 0xca, 0x6d, - /*8f20:*/ 0xbb, 0xf2, 0x94, 0xe9, 0xc1, 0x3c, 0x2f, 0x12, 0x4f, 0x37, 0x8c, 0xa8, 0x08, 0xda, 0x96, 0xdc, - /*8f30:*/ 0xf9, 0x18, 0xfd, 0x9d, 0x6d, 0x6b, 0x92, 0x98, 0x75, 0x32, 0x95, 0x4e, 0x3d, 0x72, 0xd7, 0x2e, - /*8f40:*/ 0xb9, 0x7a, 0x91, 0xff, 0x69, 0x6d, 0xe2, 0x36, 0x42, 0x9b, 0x16, 0xbc, 0x05, 0xe0, 0xd4, 0x9f, - /*8f50:*/ 0xa5, 0x90, 0x0f, 0x04, 0xbe, 0x0c, 0x22, 0xae, 0xa2, 0xbb, 0xbe, 0x8e, 0x3a, 0xb3, 0xad, 0xda, - /*8f60:*/ 0x9e, 0x53, 0xdf, 0xc9, 0xf4, 0xe8, 0x87, 0xf9, 0xe5, 0x94, 0x9a, 0xda, 0xf4, 0xa1, 0x4e, 0xfe, - /*8f70:*/ 0x80, 0xba, 0x26, 0xd2, 0x85, 0x6e, 0x26, 0x02, 0xe4, 0x08, 0x2c, 0x73, 0x28, 0xf7, 0x2e, 0x1e, - /*8f80:*/ 0xd5, 0x7d, 0xa6, 0xc5, 0xae, 0x4b, 0x9f, 0x83, 0x19, 0x7c, 0xa1, 0xb1, 0x5f, 0xa5, 0x44, 0x4c, - /*8f90:*/ 0x58, 0x5e, 0xe7, 0x59, 0xc7, 0xcc, 0xce, 0xdb, 0x57, 0xae, 0xc1, 0x41, 0xe4, 0xe2, 0xe5, 0x57, - /*8fa0:*/ 0xa6, 0x58, 0x2e, 0x40, 0x89, 0x44, 0xc0, 0xb4, 0x10, 0xdd, 0x03, 0x94, 0xb3, 0x01, 0x82, 0xe7, - /*8fb0:*/ 0xbb, 0x97, 0x50, 0xa3, 0xf8, 0x2d, 0x7f, 0x98, 0x7d, 0x5b, 0xdc, 0xa8, 0x32, 0xdf, 0x6e, 0x92, - /*8fc0:*/ 0x7f, 0x0b, 0x33, 0x91, 0xae, 0x4f, 0xdf, 0xcd, 0x4f, 0xf2, 0xb9, 0x30, 0x6d, 0x04, 0x40, 0xf1, - /*8fd0:*/ 0x85, 0x2d, 0x89, 0x9b, 0x15, 0xfa, 0x42, 0xcc, 0x56, 0x27, 0x4d, 0x5a, 0xd7, 0xdf, 0x3e, 0xcc, - /*8fe0:*/ 0x99, 0xe1, 0x79, 0x2c, 0x06, 0x69, 0x65, 0xb2, 0x8d, 0x9d, 0x4c, 0xb9, 0x9d, 0xd8, 0xa0, 0x4d, - /*8ff0:*/ 0x12, 0x5b, 0xf9, 0x7b, 0x67, 0xd8, 0xfb, 0x96, 0x74, 0x20, 0x70, 0x73, 0xf0, 0x95, 0x34, 0xdb, - /*9000:*/ 0xb2, 0x28, 0x7e, 0x6a, 0x8e, 0x90, 0x96, 0xc7, 0x35, 0x3d, 0x05, 0xdf, 0x32, 0x1f, 0x89, 0xfb, - /*9010:*/ 0x04, 0x0a, 0x52, 0x1b, 0xe3, 0x21, 0x2d, 0xd4, 0x1e, 0x28, 0x6c, 0xc3, 0xc0, 0x6b, 0x3c, 0x9e, - /*9020:*/ 0xef, 0x4c, 0x03, 0x0c, 0x3d, 0x0e, 0xe7, 0x3b, 0xea, 0xac, 0x6d, 0x23, 0x0c, 0xa0, 0x86, 0x46, - /*9030:*/ 0x74, 0x3e, 0x5c, 0xbf, 0x12, 0xb1, 0x2f, 0x89, 0x60, 0x40, 0xce, 0x43, 0x24, 0xbf, 0x9a, 0x1f, - /*9040:*/ 0x8a, 0x65, 0xc5, 0x21, 0x88, 0x12, 0xf8, 0xb8, 0xb0, 0x83, 0x41, 0xa7, 0x52, 0x13, 0x9c, 0x44, - /*9050:*/ 0xbc, 0x3c, 0x8e, 0x61, 0x8e, 0x70, 0xb4, 0xda, 0xd3, 0xf1, 0xfc, 0x92, 0x76, 0x41, 0xd0, 0x0d, - /*9060:*/ 0xd1, 0xc7, 0x2c, 0xfd, 0xca, 0x57, 0x08, 0x81, 0xe8, 0x23, 0x49, 0x3b, 0x79, 0xd7, 0x24, 0xe1, - /*9070:*/ 0xf3, 0x4d, 0x97, 0xef, 0xbd, 0xbd, 0xdc, 0x37, 0x7e, 0x37, 0x6f, 0x93, 0x7c, 0xf0, 0xcb, 0x77, - /*9080:*/ 0xaa, 0x05, 0x01, 0xe7, 0xaf, 0xd3, 0x51, 0x3b, 0x37, 0x93, 0xa5, 0x6d, 0x27, 0xfa, 0xed, 0x18, - /*9090:*/ 0x60, 0x8f, 0x49, 0xca, 0xd3, 0x54, 0x5e, 0x47, 0x3a, 0x8c, 0xb4, 0xe5, 0x0d, 0x8b, 0x09, 0xce, - /*90a0:*/ 0x23, 0x1b, 0x2a, 0x8d, 0xfd, 0x2d, 0x95, 0x8e, 0xac, 0x4d, 0x8f, 0x2f, 0xbe, 0xce, 0xdc, 0x15, - /*90b0:*/ 0x6e, 0x48, 0x2f, 0x67, 0x09, 0x48, 0x56, 0x3b, 0xcc, 0x9b, 0x6b, 0x9e, 0x58, 0xf1, 0xc6, 0x0f, - /*90c0:*/ 0x6b, 0x0b, 0xae, 0xde, 0x98, 0xb9, 0x21, 0x66, 0x69, 0x52, 0xf1, 0xc8, 0x56, 0xa9, 0xa6, 0x32, - /*90d0:*/ 0xf0, 0xe6, 0xb8, 0x2b, 0x19, 0xb7, 0xea, 0x2b, 0x72, 0xf4, 0x41, 0x2d, 0xdb, 0x24, 0x31, 0xd3, - /*90e0:*/ 0x5b, 0x02, 0x0e, 0x54, 0x66, 0x39, 0x6f, 0xea, 0x8c, 0x25, 0xc3, 0x13, 0x4f, 0xaf, 0x0f, 0xc5, - /*90f0:*/ 0x97, 0xf3, 0x99, 0xc4, 0x8b, 0x92, 0x17, 0xe1, 0x50, 0xb2, 0xa1, 0x9b, 0x68, 0x85, 0xf7, 0xba, - /*9100:*/ 0x46, 0xf5, 0x25, 0xb0, 0x6e, 0x62, 0x63, 0xda, 0x89, 0xcb, 0x35, 0x48, 0x11, 0xe4, 0x8c, 0x90, - /*9110:*/ 0xbc, 0xd5, 0xdb, 0x49, 0x95, 0x78, 0x6e, 0xc6, 0x0d, 0x33, 0x88, 0xd8, 0xba, 0xb8, 0x43, 0xfc, - /*9120:*/ 0xdf, 0x02, 0xba, 0x78, 0xed, 0x43, 0xe7, 0x04, 0xc9, 0x7e, 0xfd, 0xe2, 0xac, 0x2c, 0x49, 0xfa, - /*9130:*/ 0xc6, 0x61, 0xb9, 0x76, 0x55, 0x08, 0xd0, 0xfb, 0x16, 0x1d, 0x05, 0x2f, 0x12, 0xd4, 0xf8, 0x2f, - /*9140:*/ 0x97, 0xcc, 0x9b, 0x5d, 0x5b, 0x38, 0xbc, 0x56, 0x41, 0xbc, 0xb7, 0x43, 0xcd, 0x38, 0x58, 0x32, - /*9150:*/ 0xac, 0x97, 0xc3, 0xf2, 0x55, 0xd2, 0x67, 0xb3, 0x67, 0x97, 0x62, 0x6d, 0xb0, 0x9d, 0x73, 0xcb, - /*9160:*/ 0x57, 0xc0, 0xff, 0xd5, 0x0f, 0xb0, 0x22, 0x51, 0xeb, 0xd3, 0x4e, 0x0e, 0xf5, 0xc6, 0x36, 0xd9, - /*9170:*/ 0xab, 0xca, 0xf5, 0x67, 0xa7, 0xe8, 0xa2, 0xbd, 0xdf, 0xd8, 0x1d, 0xbe, 0xb9, 0x6f, 0x73, 0x80, - /*9180:*/ 0x56, 0xfc, 0xee, 0xf5, 0xcd, 0xb7, 0x29, 0xaf, 0x00, 0x34, 0xa8, 0xaf, 0xa8, 0x71, 0x53, 0x38, - /*9190:*/ 0x83, 0xa0, 0xd0, 0x71, 0xc9, 0x2d, 0x8d, 0xf7, 0x18, 0x08, 0x16, 0xba, 0x5d, 0x5a, 0x8e, 0x17, - /*91a0:*/ 0x99, 0x39, 0x4d, 0x53, 0xbc, 0xa2, 0x8e, 0xd0, 0x1d, 0xbe, 0x86, 0xcb, 0x45, 0xf3, 0xcc, 0x50, - /*91b0:*/ 0x0b, 0x80, 0x54, 0x8b, 0xd8, 0x78, 0x33, 0x0e, 0x6a, 0x03, 0xf6, 0xd6, 0x5c, 0x92, 0x6a, 0x20, - /*91c0:*/ 0xa7, 0x49, 0x8d, 0x25, 0xaa, 0xed, 0x4f, 0x3c, 0xc5, 0xd4, 0xb9, 0xe0, 0x7a, 0xa1, 0x48, 0xe2, - /*91d0:*/ 0x66, 0x6f, 0x07, 0xa4, 0xba, 0x03, 0xec, 0x92, 0x73, 0xf3, 0x2f, 0x36, 0x04, 0x8d, 0x91, 0x62, - /*91e0:*/ 0x95, 0x65, 0x6e, 0xee, 0x33, 0xb1, 0xf2, 0x92, 0x76, 0x4e, 0xe7, 0x96, 0x02, 0xba, 0x49, 0x4a, - /*91f0:*/ 0x69, 0x49, 0x79, 0x42, 0x32, 0xc5, 0xe0, 0xdb, 0xe4, 0x69, 0xf8, 0x29, 0xd9, 0x83, 0x12, 0x86, - /*9200:*/ 0x34, 0xc0, 0xac, 0x9a, 0x79, 0xc3, 0x4f, 0x5f, 0xd7, 0x70, 0xb8, 0x8d, 0xab, 0x0e, 0xac, 0x7a, - /*9210:*/ 0xf8, 0x3b, 0x1e, 0xdc, 0xc2, 0xcb, 0xde, 0x20, 0xb7, 0xb6, 0x9c, 0xb0, 0x4c, 0x89, 0x0d, 0x12, - /*9220:*/ 0x7e, 0x63, 0xaf, 0xa4, 0xa8, 0x77, 0x13, 0xc2, 0x1b, 0x99, 0x4b, 0x27, 0xee, 0x5c, 0x80, 0x20, - /*9230:*/ 0xa4, 0x11, 0xb3, 0x15, 0x75, 0x20, 0x61, 0xdb, 0xd0, 0x65, 0x62, 0x4c, 0x3e, 0x91, 0xd3, 0xa7, - /*9240:*/ 0x15, 0xf3, 0x0c, 0x7f, 0xf5, 0x41, 0xfd, 0x55, 0x70, 0x82, 0xa0, 0x1c, 0x13, 0xc4, 0x5a, 0x98, - /*9250:*/ 0x32, 0x6b, 0x62, 0x5c, 0x3a, 0xa6, 0x3b, 0xb8, 0xeb, 0xb3, 0xde, 0xab, 0x54, 0x9f, 0x1f, 0xd2, - /*9260:*/ 0xfe, 0x50, 0x2d, 0x8d, 0x07, 0xb1, 0xef, 0xa9, 0xfa, 0xdd, 0x86, 0x57, 0x3d, 0x51, 0x04, 0x97, - /*9270:*/ 0x15, 0x72, 0x1e, 0x40, 0x37, 0xab, 0x2d, 0x04, 0x17, 0xc9, 0x8f, 0xe6, 0xce, 0xcc, 0xb9, 0x65, - /*9280:*/ 0xd3, 0x7b, 0x52, 0xfd, 0x9c, 0x0c, 0x15, 0x4c, 0x4a, 0xa9, 0x8e, 0x4e, 0xd5, 0x1d, 0xe0, 0x66, - /*9290:*/ 0x49, 0x24, 0x6c, 0xf0, 0xc7, 0x37, 0x64, 0x11, 0x03, 0x02, 0x14, 0x71, 0xd8, 0x0f, 0xc0, 0x9d, - /*92a0:*/ 0x36, 0xe1, 0xb9, 0x3c, 0xd7, 0xb4, 0x02, 0xa2, 0xa9, 0x26, 0x6c, 0x3d, 0x2a, 0x3a, 0xa8, 0x13, - /*92b0:*/ 0x10, 0xc0, 0x6a, 0xfd, 0xda, 0xbc, 0x26, 0xdc, 0x32, 0xd3, 0x51, 0x58, 0x56, 0x1f, 0xea, 0xb1, - /*92c0:*/ 0xa6, 0xf1, 0x33, 0x22, 0x0e, 0xdd, 0xc5, 0xac, 0xdf, 0x12, 0x1f, 0xae, 0x36, 0x97, 0xd9, 0xbd, - /*92d0:*/ 0xc2, 0x9f, 0x94, 0x15, 0x43, 0xb3, 0x5f, 0x16, 0x6e, 0xd2, 0x5c, 0xea, 0x05, 0x7a, 0xd0, 0xc6, - /*92e0:*/ 0xc8, 0xb8, 0x65, 0x85, 0x71, 0x18, 0x7c, 0xb6, 0x02, 0x88, 0xcb, 0x9e, 0x57, 0xf9, 0xba, 0x40, - /*92f0:*/ 0x1e, 0xf8, 0x12, 0x3a, 0xfe, 0x2f, 0x4b, 0x0d, 0xb8, 0x6e, 0x15, 0x3a, 0x8a, 0x0c, 0x1c, 0x1b, - /*9300:*/ 0x44, 0xa6, 0xcd, 0xe5, 0xb5, 0x68, 0xc6, 0x90, 0x6e, 0x26, 0xf5, 0x10, 0x31, 0x85, 0xec, 0x90, - /*9310:*/ 0x11, 0x6d, 0x1f, 0x1c, 0x59, 0xed, 0x69, 0xa2, 0x94, 0x7f, 0xc6, 0xa8, 0xe6, 0x3c, 0x30, 0x12, - /*9320:*/ 0xf6, 0x37, 0x51, 0x18, 0xde, 0xaf, 0x40, 0xd1, 0x36, 0x16, 0x91, 0xa6, 0x4b, 0x2a, 0xda, 0x45, - /*9330:*/ 0xdf, 0xcf, 0xe2, 0x5f, 0x2c, 0x76, 0x34, 0x5d, 0xe9, 0x88, 0x13, 0xf0, 0x89, 0x56, 0x4c, 0x27, - /*9340:*/ 0x5b, 0x79, 0x85, 0x96, 0x75, 0xd5, 0xa4, 0x2b, 0x74, 0x53, 0xec, 0xe6, 0xc2, 0x39, 0xee, 0x02, - /*9350:*/ 0x78, 0x9f, 0x8a, 0xad, 0xc8, 0x6f, 0x2b, 0x62, 0xc3, 0x51, 0xe3, 0x0a, 0x40, 0x20, 0x78, 0xb6, - /*9360:*/ 0xc0, 0x7c, 0x5a, 0x90, 0x0c, 0x43, 0x2c, 0xd3, 0x23, 0x5b, 0xc4, 0x2c, 0x3e, 0xec, 0x24, 0x23, - /*9370:*/ 0x9a, 0x46, 0x80, 0x76, 0x64, 0x46, 0x62, 0x73, 0x32, 0x7c, 0x89, 0x98, 0xf5, 0x6b, 0xe4, 0xd4, - /*9380:*/ 0x61, 0x5c, 0xdc, 0x89, 0xd2, 0xf2, 0xeb, 0xfc, 0xec, 0x4a, 0xd2, 0xc0, 0xd7, 0x08, 0x51, 0xab, - /*9390:*/ 0xce, 0x74, 0xce, 0x2b, 0x0f, 0x1c, 0xc3, 0x36, 0x49, 0x08, 0x14, 0x30, 0xf4, 0x4a, 0x27, 0x07, - /*93a0:*/ 0xae, 0xf2, 0x41, 0xe2, 0x69, 0xdc, 0xb8, 0x0d, 0xe0, 0xc2, 0x0b, 0x03, 0xd9, 0xd4, 0x2d, 0x99, - /*93b0:*/ 0x83, 0x13, 0x58, 0xd4, 0x31, 0x34, 0x7f, 0x3e, 0xd3, 0x15, 0x82, 0x96, 0x20, 0x25, 0x45, 0x2b, - /*93c0:*/ 0x5c, 0xd8, 0x32, 0xbf, 0xa1, 0x95, 0x3f, 0xb6, 0xec, 0xe8, 0xf8, 0x4f, 0x84, 0x94, 0xef, 0x34, - /*93d0:*/ 0x0f, 0x90, 0x23, 0x66, 0xc4, 0x72, 0x20, 0xb3, 0xf1, 0x19, 0x06, 0xda, 0x38, 0xfe, 0x09, 0x99, - /*93e0:*/ 0xab, 0xa8, 0xf9, 0x71, 0x4d, 0x08, 0xac, 0x93, 0x06, 0xa7, 0x7f, 0x0f, 0x74, 0xad, 0x4a, 0x10, - /*93f0:*/ 0x9a, 0x76, 0x29, 0xb9, 0x17, 0xa1, 0x2e, 0x96, 0x4e, 0xf0, 0x9f, 0xb5, 0x49, 0xd1, 0xca, 0x93, - /*9400:*/ 0xf5, 0x7f, 0xaa, 0x59, 0xf0, 0x4c, 0x09, 0xe5, 0x12, 0x04, 0x08, 0xc4, 0x2f, 0x48, 0x50, 0x5c, - /*9410:*/ 0xff, 0x10, 0x84, 0xc1, 0xb1, 0xce, 0x83, 0xcc, 0x45, 0x0d, 0x19, 0x0c, 0x61, 0x2a, 0x38, 0xa3, - /*9420:*/ 0x67, 0x00, 0xbc, 0xbc, 0x41, 0xa3, 0x59, 0x3a, 0x87, 0x26, 0x1d, 0x1a, 0xc3, 0x4f, 0xff, 0x7e, - /*9430:*/ 0x7c, 0xd8, 0x41, 0xe5, 0x43, 0x35, 0x70, 0x11, 0xe4, 0x02, 0xb5, 0x60, 0xcf, 0x33, 0x5d, 0xd9, - /*9440:*/ 0x1e, 0x3b, 0xfa, 0x3b, 0x63, 0xae, 0xac, 0x64, 0x28, 0xb8, 0xaf, 0xa7, 0x43, 0xbe, 0xad, 0x0c, - /*9450:*/ 0xf0, 0x35, 0x67, 0xef, 0xb6, 0xfa, 0xb6, 0x3c, 0x02, 0x27, 0x07, 0x7a, 0x12, 0xe4, 0x0c, 0x88, - /*9460:*/ 0xe2, 0xb6, 0x62, 0x4c, 0xf3, 0xb3, 0xed, 0xd6, 0xc5, 0xff, 0x42, 0x1f, 0x45, 0xbf, 0x80, 0xe7, - /*9470:*/ 0x98, 0x18, 0x34, 0xe9, 0x5d, 0x6e, 0x70, 0xc2, 0x1b, 0x24, 0xc5, 0x2c, 0xd1, 0x9b, 0x90, 0x2c, - /*9480:*/ 0xb7, 0xaa, 0xd5, 0xc5, 0x4c, 0xc9, 0x24, 0x4b, 0x63, 0x39, 0x71, 0xbb, 0x67, 0x16, 0x2b, 0x1e, - /*9490:*/ 0x45, 0x39, 0x3c, 0x81, 0xb7, 0x84, 0x64, 0x82, 0x56, 0x72, 0x22, 0x01, 0x07, 0xe3, 0xd2, 0x45, - /*94a0:*/ 0x9b, 0xab, 0x32, 0xc0, 0x43, 0xe7, 0x3b, 0x4e, 0xfe, 0x08, 0xcd, 0xf7, 0x9d, 0xf0, 0xf0, 0xfb, - /*94b0:*/ 0xb1, 0x4c, 0x56, 0x15, 0xeb, 0xb9, 0x57, 0x29, 0xd4, 0x35, 0xce, 0x5f, 0x5a, 0x32, 0xb3, 0xf8, - /*94c0:*/ 0xc1, 0x67, 0xbf, 0x31, 0x5c, 0x3a, 0xd4, 0x70, 0x1e, 0x99, 0xd6, 0x70, 0x45, 0x83, 0x14, 0x1b, - /*94d0:*/ 0x8b, 0x43, 0x73, 0x54, 0x21, 0x90, 0xd6, 0x06, 0x82, 0x5a, 0xa4, 0xba, 0x49, 0x57, 0xa7, 0xe2, - /*94e0:*/ 0x5e, 0x64, 0x96, 0x10, 0xbb, 0xbb, 0xdc, 0xf2, 0x88, 0x0c, 0x08, 0x05, 0x00, 0x38, 0x53, 0x47, - /*94f0:*/ 0x5b, 0x98, 0x73, 0xd1, 0x72, 0x68, 0xf6, 0xf1, 0xee, 0x78, 0x7c, 0x4f, 0x5b, 0x65, 0xc3, 0x93, - /*9500:*/ 0x40, 0x20, 0x2c, 0xf0, 0x03, 0xf4, 0x68, 0xc2, 0x28, 0x0b, 0xec, 0xae, 0x81, 0x8c, 0xc5, 0xc6, - /*9510:*/ 0xfa, 0x6b, 0x54, 0x83, 0xcd, 0xcd, 0xf7, 0x96, 0x70, 0xca, 0xaf, 0x81, 0x80, 0xd9, 0x9d, 0xca, - /*9520:*/ 0xb0, 0x5d, 0x26, 0xf2, 0x35, 0x58, 0x53, 0x0b, 0x8d, 0x98, 0x89, 0x92, 0x53, 0x1d, 0xe4, 0x8f, - /*9530:*/ 0x1b, 0xb1, 0x67, 0x77, 0x5c, 0xeb, 0x6c, 0xa9, 0xf3, 0x1b, 0x83, 0x0d, 0xbd, 0xc7, 0x0c, 0x7f, - /*9540:*/ 0x48, 0x2e, 0x54, 0x72, 0x8b, 0x24, 0x87, 0xf3, 0x17, 0x2f, 0x55, 0xce, 0x48, 0xdc, 0x14, 0x62, - /*9550:*/ 0xfc, 0x05, 0xec, 0x49, 0xd9, 0x49, 0xa2, 0x31, 0x03, 0x74, 0xa2, 0x71, 0x81, 0x2d, 0x18, 0x7a, - /*9560:*/ 0x59, 0x2e, 0x16, 0x54, 0xc9, 0x65, 0xb6, 0x76, 0xcd, 0x60, 0x21, 0xf8, 0x04, 0x39, 0xb0, 0xdc, - /*9570:*/ 0x84, 0xc5, 0x6a, 0xd0, 0xff, 0x7f, 0xa8, 0x29, 0x80, 0x0a, 0xe2, 0xf7, 0x60, 0x97, 0x26, 0xba, - /*9580:*/ 0x5d, 0xb9, 0x75, 0x74, 0x65, 0x48, 0x5d, 0x14, 0x4b, 0x0b, 0x4f, 0xc6, 0xf0, 0xb8, 0x55, 0x9c, - /*9590:*/ 0xb7, 0xdd, 0xb9, 0x27, 0xa2, 0x8f, 0xce, 0x89, 0x9a, 0x9b, 0x80, 0xe5, 0x19, 0x29, 0x4b, 0xde, - /*95a0:*/ 0xb1, 0xc5, 0x31, 0xdc, 0x63, 0x78, 0xfa, 0xf8, 0x83, 0xa6, 0x6b, 0xbc, 0x12, 0x8f, 0x18, 0x9d, - /*95b0:*/ 0xb2, 0xe7, 0x88, 0xac, 0x77, 0x44, 0x8a, 0x58, 0xd5, 0x6a, 0x0d, 0xce, 0x37, 0xed, 0xc7, 0xb7, - /*95c0:*/ 0x90, 0x6d, 0x8f, 0xf9, 0x3e, 0x95, 0xb6, 0x64, 0x5a, 0xe6, 0x2f, 0x1f, 0x95, 0x6b, 0x15, 0x94, - /*95d0:*/ 0x0f, 0xf7, 0x67, 0x91, 0x4f, 0x81, 0x3d, 0x70, 0x6c, 0x91, 0xd8, 0x1f, 0x9a, 0x29, 0xbe, 0x52, - /*95e0:*/ 0x79, 0x21, 0xe6, 0xd1, 0xb8, 0x64, 0xea, 0x36, 0x6e, 0xc5, 0x47, 0xe3, 0x93, 0x0b, 0x2d, 0x29, - /*95f0:*/ 0x84, 0x51, 0x08, 0x96, 0x88, 0xdb, 0xd8, 0xf6, 0xca, 0x80, 0xb2, 0x2b, 0xb9, 0xcc, 0x98, 0xdc, - /*9600:*/ 0xdc, 0x5f, 0x74, 0xe5, 0xa1, 0x57, 0x1e, 0x25, 0x78, 0x97, 0x51, 0x0a, 0xe2, 0xe1, 0xd4, 0x19, - /*9610:*/ 0xa3, 0xfd, 0xcd, 0x03, 0x4a, 0x8f, 0x23, 0x8c, 0x97, 0x8f, 0x51, 0xbb, 0x01, 0x60, 0x6a, 0xaf, - /*9620:*/ 0x9f, 0xb7, 0x21, 0xea, 0x4a, 0x62, 0xb7, 0x39, 0xe9, 0x11, 0x28, 0x11, 0x93, 0x75, 0x37, 0x17, - /*9630:*/ 0x04, 0x93, 0x38, 0xab, 0x2c, 0xf9, 0x7a, 0x23, 0x29, 0x00, 0x7e, 0x48, 0xe5, 0xfb, 0x7b, 0x19, - /*9640:*/ 0x96, 0x05, 0xac, 0x18, 0xf3, 0x2b, 0x00, 0x47, 0x05, 0xa3, 0x0d, 0xf1, 0x64, 0xb2, 0xff, 0xc8, - /*9650:*/ 0x51, 0x0d, 0xbe, 0x52, 0x12, 0xb4, 0x5f, 0x54, 0xd8, 0x2f, 0xf9, 0x91, 0x5b, 0x2f, 0x69, 0x09, - /*9660:*/ 0x7b, 0x09, 0x62, 0x42, 0xd1, 0xdf, 0xe8, 0xb6, 0xf6, 0x5f, 0x0f, 0xc6, 0xd9, 0xbd, 0x90, 0x4f, - /*9670:*/ 0x32, 0x39, 0x0b, 0x60, 0x91, 0x66, 0x65, 0x3f, 0xd1, 0xa4, 0x5c, 0x20, 0x5a, 0x05, 0x7f, 0x22, - /*9680:*/ 0x6c, 0xf5, 0x03, 0x91, 0x09, 0x65, 0x8c, 0x2b, 0x84, 0x32, 0xa9, 0xbd, 0x95, 0x0c, 0xc1, 0x14, - /*9690:*/ 0x97, 0x9a, 0xa1, 0xb4, 0x9a, 0x37, 0xc7, 0xd4, 0x39, 0xd7, 0x48, 0x4a, 0xea, 0xdd, 0xa3, 0x5e, - /*96a0:*/ 0x5d, 0xb6, 0x02, 0x26, 0x98, 0x0e, 0x9c, 0x0c, 0xdd, 0x06, 0x55, 0x6e, 0x9b, 0xb0, 0xc3, 0xfa, - /*96b0:*/ 0xeb, 0x67, 0x98, 0xed, 0xef, 0x4a, 0x41, 0x62, 0x25, 0x26, 0xf6, 0x21, 0xcb, 0xe8, 0x6c, 0x34, - /*96c0:*/ 0x55, 0xc9, 0x67, 0x7d, 0xc7, 0x43, 0x13, 0x71, 0xb4, 0x03, 0xb8, 0x5d, 0x97, 0x47, 0x6b, 0xe0, - /*96d0:*/ 0xa2, 0x22, 0x60, 0x7f, 0x58, 0xd1, 0x50, 0x93, 0x91, 0xa8, 0x7a, 0x37, 0x37, 0xec, 0x28, 0xd2, - /*96e0:*/ 0x01, 0x99, 0xd5, 0x7e, 0x27, 0xb7, 0x35, 0x3d, 0x8c, 0x50, 0xd8, 0x36, 0x0a, 0xe3, 0xaa, 0x2e, - /*96f0:*/ 0xb9, 0x90, 0x28, 0x8b, 0x50, 0xe2, 0x8d, 0x9d, 0xe8, 0x07, 0xbc, 0x2c, 0xb2, 0x28, 0x0f, 0x1a, - /*9700:*/ 0xbd, 0x76, 0x39, 0xc0, 0xe0, 0x16, 0x1d, 0x37, 0xf1, 0xf9, 0xc2, 0xe0, 0x7b, 0x48, 0x9b, 0xea, - /*9710:*/ 0xe0, 0x5c, 0xe4, 0xd5, 0x91, 0xc0, 0xee, 0xd1, 0x55, 0x55, 0x9b, 0x06, 0x0f, 0xcb, 0x3d, 0xdc, - /*9720:*/ 0x57, 0xcc, 0x65, 0x5f, 0xdb, 0x49, 0xec, 0x54, 0xc8, 0x27, 0xe3, 0x77, 0x0a, 0xe3, 0x9c, 0xb1, - /*9730:*/ 0xc9, 0x21, 0x18, 0xdd, 0xec, 0x2c, 0xa0, 0xb7, 0x4a, 0x04, 0x88, 0xf0, 0xf9, 0x5b, 0xee, 0x3f, - /*9740:*/ 0xdb, 0x11, 0xd4, 0x7b, 0xcd, 0xa4, 0x7e, 0x1e, 0xbe, 0x60, 0x51, 0x47, 0xea, 0xaf, 0xa7, 0x74, - /*9750:*/ 0x4e, 0x26, 0x35, 0xd7, 0x5e, 0x78, 0xf8, 0x11, 0xa4, 0x72, 0x72, 0x36, 0xd2, 0x86, 0x77, 0x83, - /*9760:*/ 0xae, 0xc8, 0x1a, 0xca, 0x4d, 0x3c, 0x1d, 0xbb, 0xd3, 0x2c, 0x9c, 0x7c, 0x33, 0xbe, 0xa7, 0x41, - /*9770:*/ 0x37, 0x45, 0xac, 0x02, 0x66, 0x2f, 0x4a, 0x5a, 0x12, 0xa1, 0x59, 0x61, 0x5c, 0xc6, 0x01, 0x22, - /*9780:*/ 0x11, 0x08, 0x26, 0xae, 0x74, 0x41, 0x7c, 0x30, 0x3b, 0x98, 0xa0, 0x74, 0x4b, 0x84, 0xe7, 0x3c, - /*9790:*/ 0xb4, 0x7e, 0x6e, 0xf5, 0xac, 0xa4, 0x14, 0x93, 0xba, 0x95, 0xda, 0x33, 0xe9, 0x20, 0x6e, 0xf2, - /*97a0:*/ 0x1d, 0x04, 0x0b, 0x23, 0x75, 0x62, 0x98, 0x30, 0x17, 0x6c, 0xb4, 0x1e, 0x99, 0xd4, 0x9b, 0x2e, - /*97b0:*/ 0x3b, 0x5c, 0xab, 0x69, 0xc5, 0xfb, 0x83, 0x6d, 0xec, 0x67, 0x7e, 0x07, 0x08, 0xb9, 0xe5, 0x88, - /*97c0:*/ 0x44, 0x8c, 0xbc, 0x59, 0x3a, 0x0d, 0x3b, 0x91, 0xc1, 0xfc, 0x8e, 0x16, 0xef, 0x94, 0xb6, 0x88, - /*97d0:*/ 0x4a, 0xfa, 0x31, 0x53, 0x15, 0xe3, 0xb8, 0x6c, 0x27, 0xf9, 0x73, 0x9c, 0xb3, 0x12, 0x7d, 0xed, - /*97e0:*/ 0x90, 0x69, 0x48, 0x8e, 0x83, 0xc1, 0xa6, 0x49, 0x49, 0x5b, 0xb3, 0xf7, 0x8e, 0x72, 0x98, 0x2e, - /*97f0:*/ 0x07, 0xca, 0x94, 0x78, 0xed, 0x02, 0xc3, 0x87, 0x9d, 0xab, 0x85, 0xd8, 0x37, 0x35, 0xbd, 0xb2, - /*9800:*/ 0x2a, 0x3e, 0x81, 0x2c, 0x5c, 0xcc, 0x50, 0x95, 0x10, 0x97, 0x77, 0x50, 0x40, 0x56, 0x85, 0x7a, - /*9810:*/ 0xa5, 0xbf, 0x95, 0x0e, 0x93, 0x5b, 0x18, 0xe5, 0x01, 0x4f, 0xc0, 0x16, 0x44, 0x42, 0x47, 0x14, - /*9820:*/ 0x5e, 0x4d, 0x68, 0xd9, 0xaf, 0x40, 0xc1, 0x1b, 0xe9, 0xca, 0x30, 0xfc, 0x42, 0x70, 0x54, 0x08, - /*9830:*/ 0x9a, 0x9c, 0x6e, 0x83, 0xcd, 0xac, 0x96, 0xe9, 0x43, 0xe7, 0xba, 0x0f, 0xc0, 0x62, 0x71, 0x5a, - /*9840:*/ 0x8e, 0xe2, 0xf4, 0xc1, 0xd0, 0x10, 0x66, 0x7b, 0x04, 0x45, 0xd6, 0x54, 0xa0, 0x19, 0x8c, 0xbc, - /*9850:*/ 0x61, 0xff, 0xd0, 0x3f, 0xa3, 0xc6, 0xb2, 0x58, 0x2f, 0x0b, 0xa2, 0x5c, 0x40, 0xf4, 0xeb, 0x7a, - /*9860:*/ 0x11, 0x5c, 0xa2, 0x55, 0x7a, 0x55, 0x45, 0x07, 0xa0, 0x05, 0x6c, 0x39, 0xfa, 0x7b, 0xed, 0x96, - /*9870:*/ 0x2b, 0xd7, 0x5e, 0x71, 0xba, 0x36, 0x6e, 0xd2, 0x42, 0x6b, 0x4d, 0x11, 0x97, 0x0a, 0xbf, 0xdb, - /*9880:*/ 0x9e, 0x5e, 0x49, 0xb4, 0x6d, 0x8d, 0xc8, 0xd9, 0x1a, 0x50, 0x70, 0xd4, 0x64, 0x28, 0x24, 0xa9, - /*9890:*/ 0x45, 0x26, 0xae, 0x06, 0x02, 0xcf, 0xdf, 0xdb, 0x18, 0x13, 0x46, 0xe9, 0x1b, 0xa6, 0xbb, 0xfb, - /*98a0:*/ 0xb5, 0xd6, 0x63, 0x52, 0xc8, 0x5e, 0x05, 0xe1, 0x3d, 0x55, 0x65, 0x75, 0x00, 0xeb, 0x78, 0x23, - /*98b0:*/ 0xe3, 0x61, 0x4b, 0xb3, 0x2a, 0xfb, 0xa6, 0xfa, 0x6c, 0xdc, 0x56, 0xfc, 0x5a, 0xbc, 0x39, 0x1e, - /*98c0:*/ 0x84, 0xa9, 0x14, 0x11, 0xac, 0xb8, 0x12, 0x56, 0x83, 0x97, 0x1c, 0xe1, 0x7e, 0x2b, 0x6a, 0xc7, - /*98d0:*/ 0xa5, 0xb4, 0x42, 0xaa, 0x96, 0xec, 0xd0, 0x91, 0x5a, 0x2a, 0x99, 0x98, 0xa4, 0xa2, 0x88, 0x23, - /*98e0:*/ 0x1c, 0xef, 0x1f, 0x32, 0xa7, 0x63, 0xd2, 0x85, 0xc3, 0x36, 0x08, 0x9f, 0x97, 0x9a, 0xbf, 0x92, - /*98f0:*/ 0x60, 0x7f, 0xe0, 0x1a, 0x71, 0x06, 0x3c, 0x67, 0xa4, 0x47, 0xe7, 0xac, 0xf0, 0x9a, 0x7b, 0x2f, - /*9900:*/ 0xee, 0x6d, 0x67, 0x6e, 0xe8, 0x70, 0x64, 0x03, 0xe9, 0x51, 0xf2, 0x53, 0x08, 0xea, 0x6f, 0x8b, - /*9910:*/ 0x96, 0x4b, 0x6c, 0xb5, 0x02, 0x7c, 0x23, 0xe2, 0x46, 0x32, 0x91, 0x62, 0xda, 0xfd, 0x9b, 0x58, - /*9920:*/ 0x47, 0x5c, 0x2e, 0xa5, 0x8b, 0x01, 0x9e, 0x2e, 0x76, 0x2f, 0x48, 0x3f, 0xb5, 0x81, 0xed, 0x91, - /*9930:*/ 0x5a, 0x6c, 0xd0, 0x34, 0x85, 0x81, 0x69, 0x0c, 0x28, 0x53, 0x89, 0xdb, 0x80, 0x1c, 0xc7, 0xa6, - /*9940:*/ 0x4b, 0x7a, 0x32, 0xce, 0x8a, 0x6c, 0xd8, 0x93, 0xb4, 0x2c, 0xed, 0x7b, 0xd7, 0xee, 0x67, 0xbe, - /*9950:*/ 0x9b, 0x1f, 0xfb, 0x50, 0xca, 0x09, 0xf0, 0x37, 0x1b, 0x46, 0xdf, 0xf3, 0xc4, 0x96, 0x0b, 0xd7, - /*9960:*/ 0x7b, 0x14, 0x93, 0xf3, 0xab, 0x7e, 0x67, 0xa2, 0xef, 0xe4, 0x13, 0xe5, 0x0f, 0x7a, 0xdc, 0xb9, - /*9970:*/ 0xcc, 0x86, 0xd0, 0xbd, 0x7f, 0x7a, 0x78, 0x0d, 0x30, 0x33, 0x1a, 0x48, 0x04, 0x23, 0x6f, 0x6e, - /*9980:*/ 0xff, 0xda, 0xd8, 0xd4, 0xa6, 0x54, 0x68, 0x2d, 0x11, 0xa7, 0x3f, 0x15, 0x91, 0xbf, 0x02, 0x64, - /*9990:*/ 0x6c, 0x12, 0x7c, 0x05, 0xd9, 0xe3, 0x18, 0x66, 0xd5, 0xdd, 0xde, 0x93, 0xc1, 0x5f, 0x0e, 0x22, - /*99a0:*/ 0xaf, 0x24, 0x8c, 0xe3, 0x86, 0x16, 0x2f, 0x2f, 0x52, 0x65, 0xa3, 0xc6, 0x84, 0x8a, 0xce, 0x40, - /*99b0:*/ 0x84, 0x59, 0xb2, 0x00, 0x89, 0x12, 0x2a, 0xf3, 0xc8, 0x84, 0xc9, 0xd6, 0x57, 0x13, 0x2f, 0xc5, - /*99c0:*/ 0x35, 0x6e, 0x01, 0x2c, 0x12, 0x7c, 0x8c, 0xe6, 0x86, 0xca, 0x85, 0xb0, 0x81, 0xbf, 0xe6, 0x1f, - /*99d0:*/ 0x28, 0xc1, 0xdf, 0x9d, 0x16, 0xef, 0x61, 0x1c, 0xa2, 0xc8, 0x8f, 0x0f, 0xc5, 0x6b, 0x67, 0xda, - /*99e0:*/ 0x9d, 0xcb, 0x9a, 0xe4, 0x69, 0x8b, 0x3c, 0xac, 0x45, 0x99, 0x1c, 0xa3, 0x62, 0xc2, 0x19, 0x0d, - /*99f0:*/ 0xe8, 0x1d, 0x36, 0x97, 0x6b, 0xc6, 0xbc, 0xd8, 0xf1, 0xd2, 0x0e, 0xca, 0xf1, 0x66, 0xe7, 0x83, - /*9a00:*/ 0x7a, 0xe1, 0x05, 0x1a, 0x6f, 0x23, 0x07, 0x62, 0x3d, 0x5c, 0x9e, 0xa0, 0x40, 0x2f, 0xdc, 0x44, - /*9a10:*/ 0x59, 0xfb, 0x59, 0xe6, 0x1b, 0xee, 0x2d, 0xdf, 0x38, 0xef, 0xda, 0x51, 0xf0, 0x45, 0xcf, 0x08, - /*9a20:*/ 0x55, 0x81, 0x7b, 0xfe, 0xc7, 0xe9, 0x61, 0xda, 0xef, 0xed, 0x45, 0x2d, 0xf4, 0x27, 0x6b, 0x0b, - /*9a30:*/ 0xab, 0x1e, 0x83, 0x8d, 0x6f, 0x68, 0xcf, 0xba, 0x76, 0xc3, 0x39, 0xec, 0xd2, 0xee, 0xe7, 0x59, - /*9a40:*/ 0x73, 0x2d, 0xaf, 0xcd, 0x8e, 0xca, 0xa1, 0xad, 0xed, 0xb1, 0xe2, 0x55, 0x88, 0xe8, 0xec, 0x17, - /*9a50:*/ 0x59, 0x2a, 0x68, 0x53, 0xdb, 0x23, 0x15, 0x1a, 0x00, 0xe3, 0x13, 0x48, 0xc7, 0x2a, 0x1d, 0x51, - /*9a60:*/ 0x63, 0x91, 0x6a, 0x60, 0x53, 0x87, 0x43, 0x11, 0x0a, 0x2c, 0x44, 0xc3, 0xa7, 0x30, 0xd1, 0x1a, - /*9a70:*/ 0x65, 0x0b, 0x2a, 0x43, 0x08, 0x22, 0x14, 0xb3, 0x0c, 0x60, 0x56, 0x8e, 0xd8, 0xaf, 0xde, 0xdf, - /*9a80:*/ 0xa6, 0x04, 0x29, 0x53, 0x29, 0xca, 0x15, 0xa5, 0x09, 0x91, 0xda, 0x30, 0xa9, 0xd1, 0x83, 0x9f, - /*9a90:*/ 0x1b, 0x92, 0xa0, 0x72, 0x1c, 0x10, 0xad, 0xef, 0xca, 0xc2, 0x04, 0x1b, 0xe5, 0x53, 0x90, 0x7a, - /*9aa0:*/ 0x18, 0x91, 0x0f, 0xfd, 0x64, 0x95, 0xa3, 0xe8, 0x21, 0xe6, 0xe4, 0x30, 0x8a, 0x82, 0x59, 0x4b, - /*9ab0:*/ 0x23, 0x5e, 0x7f, 0xfd, 0x67, 0x67, 0x0f, 0x92, 0x18, 0xb3, 0xb0, 0x95, 0xaf, 0x65, 0xb1, 0x71, - /*9ac0:*/ 0x21, 0xa5, 0xad, 0xc2, 0x5c, 0x0c, 0x37, 0xc2, 0x00, 0x9a, 0x7d, 0x02, 0xff, 0xdc, 0x9d, 0xcd, - /*9ad0:*/ 0xde, 0xb5, 0xea, 0xf0, 0x67, 0x03, 0xb9, 0xcc, 0x5b, 0x1f, 0xe0, 0x1d, 0xdf, 0x61, 0xb6, 0x63, - /*9ae0:*/ 0xfb, 0x9f, 0xd3, 0x82, 0x75, 0x12, 0x49, 0x5b, 0x27, 0xa3, 0x3d, 0x72, 0x4d, 0xe8, 0x45, 0x09, - /*9af0:*/ 0x15, 0xc3, 0x10, 0x81, 0xa6, 0xcb, 0x2c, 0xf8, 0xb8, 0x2a, 0x1d, 0x86, 0x69, 0x34, 0x08, 0xd5, - /*9b00:*/ 0xf8, 0x9a, 0x7e, 0x17, 0xea, 0xc3, 0x03, 0x78, 0x48, 0x9d, 0x68, 0x54, 0x2e, 0xa1, 0x51, 0x3d, - /*9b10:*/ 0x4f, 0x78, 0x38, 0xad, 0x26, 0xe4, 0x49, 0xdd, 0x24, 0x9c, 0xcd, 0xe1, 0x34, 0xc2, 0xa2, 0x01, - /*9b20:*/ 0x8c, 0xc0, 0x8d, 0xc3, 0xf9, 0x9b, 0x58, 0x40, 0x5d, 0x2f, 0x90, 0x38, 0x43, 0xf1, 0x09, 0xbf, - /*9b30:*/ 0xe7, 0xaf, 0xb0, 0xf7, 0x9a, 0x7a, 0x40, 0x3d, 0x61, 0xc7, 0xd3, 0x4c, 0x07, 0xcd, 0xba, 0x4a, - /*9b40:*/ 0x93, 0x12, 0xf1, 0x17, 0xd0, 0xf8, 0x64, 0x12, 0x5b, 0xd6, 0x5a, 0x5f, 0x52, 0x72, 0xee, 0xea, - /*9b50:*/ 0x7c, 0x96, 0x3d, 0x3f, 0x28, 0x62, 0xab, 0x60, 0x14, 0x89, 0x21, 0x1a, 0xf2, 0x23, 0x8b, 0x68, - /*9b60:*/ 0x66, 0x95, 0x45, 0x5a, 0x2d, 0x7f, 0xf3, 0x4b, 0xeb, 0x51, 0x46, 0x41, 0xd1, 0x71, 0x97, 0x74, - /*9b70:*/ 0x30, 0x18, 0x7e, 0xd0, 0xbd, 0xd2, 0x7c, 0x19, 0x12, 0x21, 0xca, 0xc9, 0xd6, 0x8a, 0x40, 0x6c, - /*9b80:*/ 0xe7, 0xfa, 0x5b, 0xe3, 0x9b, 0xe9, 0x4e, 0x24, 0x9b, 0xe0, 0xa3, 0xad, 0xdb, 0xd1, 0x8a, 0x13, - /*9b90:*/ 0xce, 0x65, 0x9d, 0x98, 0xfa, 0x60, 0x44, 0x17, 0x3e, 0x79, 0x75, 0xe7, 0x8a, 0xf4, 0x6a, 0x54, - /*9ba0:*/ 0x82, 0xdb, 0xd2, 0xa4, 0x50, 0xdd, 0x1b, 0xe7, 0xcb, 0x8d, 0xd3, 0x57, 0x48, 0x6e, 0xa8, 0x28, - /*9bb0:*/ 0xd6, 0x72, 0xb6, 0x21, 0x3a, 0xf0, 0xef, 0xa8, 0x15, 0x93, 0xe8, 0x00, 0xc5, 0x6f, 0xf2, 0xe3, - /*9bc0:*/ 0xd3, 0x39, 0x89, 0x00, 0x23, 0xa0, 0xc3, 0x8a, 0xb2, 0x09, 0x24, 0xf3, 0x55, 0x7a, 0x9b, 0x5a, - /*9bd0:*/ 0x84, 0x79, 0xec, 0x8d, 0x35, 0xf7, 0xcd, 0x49, 0xbd, 0xec, 0x91, 0x47, 0x5d, 0x45, 0x33, 0x52, - /*9be0:*/ 0x99, 0xfe, 0xfe, 0x3c, 0x02, 0x0a, 0xb7, 0x13, 0xae, 0x97, 0x74, 0x09, 0x9e, 0x08, 0x25, 0xce, - /*9bf0:*/ 0x47, 0x20, 0xd1, 0xbc, 0xdf, 0xc7, 0xf0, 0x80, 0x76, 0x0c, 0xb7, 0xcf, 0x30, 0xe9, 0x67, 0x4a, - /*9c00:*/ 0xad, 0x8e, 0x62, 0x2b, 0x48, 0x03, 0xd0, 0x10, 0x41, 0x2d, 0x81, 0xbf, 0xd8, 0xbf, 0xdf, 0x6c, - /*9c10:*/ 0xab, 0x60, 0x77, 0x74, 0x27, 0x16, 0x08, 0x7f, 0x4e, 0xde, 0x5e, 0x93, 0xed, 0x7e, 0xa3, 0x6d, - /*9c20:*/ 0xb2, 0x66, 0xd7, 0x41, 0x90, 0xdd, 0x18, 0xdd, 0xab, 0xa3, 0x5d, 0x51, 0x01, 0x20, 0x96, 0xa3, - /*9c30:*/ 0x5d, 0xec, 0x6e, 0x59, 0xae, 0x0d, 0x5c, 0x5b, 0xd9, 0x3a, 0x2d, 0xfd, 0x7e, 0x38, 0x90, 0xc2, - /*9c40:*/ 0x07, 0xa7, 0x33, 0x59, 0xc2, 0x3e, 0x05, 0xec, 0x99, 0x42, 0x9e, 0x39, 0xba, 0x0b, 0x70, 0x45, - /*9c50:*/ 0x3d, 0x59, 0x3d, 0xf4, 0x12, 0x84, 0xbb, 0xf0, 0x23, 0x16, 0x48, 0x24, 0x57, 0x0f, 0xb8, 0xfe, - /*9c60:*/ 0x18, 0x48, 0xae, 0xdb, 0x9c, 0xea, 0xb6, 0x0d, 0x32, 0x4b, 0x9b, 0xec, 0x08, 0x1a, 0xaf, 0x4d, - /*9c70:*/ 0xbc, 0x7f, 0x84, 0xa2, 0xfd, 0x0e, 0x10, 0x07, 0x61, 0x4f, 0x93, 0x83, 0xea, 0x2f, 0x3a, 0x23, - /*9c80:*/ 0x5c, 0x53, 0xa4, 0xa5, 0xe7, 0x0f, 0x2d, 0xc8, 0x1d, 0x0c, 0xb7, 0xb3, 0x87, 0x92, 0x86, 0x27, - /*9c90:*/ 0x6e, 0xed, 0xf7, 0x7a, 0x93, 0xab, 0xcd, 0x88, 0x70, 0x3c, 0x9e, 0xd9, 0x42, 0x99, 0xbe, 0x62, - /*9ca0:*/ 0xef, 0x7a, 0x52, 0xf4, 0x5b, 0xc4, 0x29, 0xd8, 0x3b, 0x88, 0x19, 0x13, 0xb6, 0xde, 0x3d, 0xa3, - /*9cb0:*/ 0xe3, 0x29, 0xc7, 0x51, 0xc3, 0x53, 0x35, 0x91, 0x90, 0x16, 0x6f, 0x1d, 0x3e, 0x1f, 0xc3, 0x00, - /*9cc0:*/ 0xde, 0x8a, 0x3e, 0x75, 0x9b, 0x42, 0x53, 0x2f, 0x49, 0xae, 0x1b, 0x89, 0x15, 0x1f, 0xf4, 0xbe, - /*9cd0:*/ 0x14, 0x11, 0xfa, 0x2e, 0x0b, 0x71, 0x22, 0xd8, 0x15, 0x0d, 0x6b, 0xcd, 0x43, 0xcb, 0x04, 0x64, - /*9ce0:*/ 0x79, 0x23, 0x68, 0x73, 0xa8, 0x79, 0xa6, 0x16, 0x8b, 0x77, 0x03, 0x62, 0xd6, 0x1d, 0xae, 0xcc, - /*9cf0:*/ 0xea, 0x85, 0xf3, 0xd6, 0x81, 0x25, 0xec, 0x9b, 0x49, 0xd2, 0xe5, 0xdf, 0x37, 0xb0, 0x72, 0x63, - /*9d00:*/ 0x81, 0xf6, 0x1f, 0xa7, 0xd4, 0x65, 0x52, 0x77, 0xf0, 0x39, 0x81, 0x25, 0xf5, 0xda, 0xd6, 0x80, - /*9d10:*/ 0x45, 0xc2, 0x6b, 0x93, 0x5c, 0x13, 0x21, 0x41, 0x32, 0x5c, 0x68, 0x70, 0x8e, 0x95, 0x71, 0x45, - /*9d20:*/ 0xd9, 0x5f, 0xf8, 0x38, 0x82, 0x10, 0x4a, 0xa0, 0xd9, 0xd7, 0x2c, 0x13, 0xc2, 0x1c, 0x5f, 0x78, - /*9d30:*/ 0xc4, 0xae, 0x32, 0xe3, 0x9f, 0x07, 0xcd, 0x9b, 0x4f, 0xdb, 0x16, 0xb8, 0x66, 0xb9, 0x34, 0x6b, - /*9d40:*/ 0xad, 0x58, 0xa9, 0x56, 0x68, 0xe4, 0xba, 0x40, 0x7b, 0x01, 0x78, 0x0c, 0xe0, 0xd7, 0xe1, 0xae, - /*9d50:*/ 0xdd, 0x8a, 0x4f, 0xa7, 0x9f, 0x05, 0x00, 0x38, 0x92, 0x47, 0x9c, 0x64, 0xe8, 0x23, 0x90, 0xfa, - /*9d60:*/ 0xc1, 0x82, 0x7a, 0x8c, 0xda, 0x91, 0x62, 0x6f, 0x40, 0x61, 0x06, 0x1f, 0xfd, 0x14, 0x42, 0xdd, - /*9d70:*/ 0x5c, 0xac, 0x16, 0x0b, 0x76, 0x76, 0x9a, 0x82, 0x75, 0x9c, 0xa7, 0x17, 0x43, 0xde, 0xa5, 0x6a, - /*9d80:*/ 0xd9, 0x87, 0x51, 0xd2, 0xc2, 0xa6, 0x62, 0xee, 0xf4, 0x3c, 0xb6, 0x37, 0x6e, 0xfc, 0x50, 0x37, - /*9d90:*/ 0x29, 0x5f, 0xff, 0x2a, 0x60, 0xe1, 0x58, 0x4b, 0xc9, 0x97, 0xe7, 0xcb, 0x72, 0x54, 0x40, 0x51, - /*9da0:*/ 0x87, 0xd0, 0x2d, 0xbf, 0xc4, 0x53, 0x12, 0x52, 0xbd, 0x43, 0xdd, 0x6c, 0x84, 0x34, 0x73, 0x87, - /*9db0:*/ 0x81, 0xb2, 0xd2, 0x19, 0x3a, 0xc0, 0xcc, 0x70, 0x67, 0xc9, 0xfc, 0xfc, 0x46, 0x62, 0xa9, 0x09, - /*9dc0:*/ 0x46, 0x80, 0xcb, 0xd9, 0xdf, 0x62, 0x7c, 0xa8, 0x33, 0x15, 0x4d, 0xb0, 0x59, 0x4d, 0xc7, 0x21, - /*9dd0:*/ 0xb1, 0x84, 0xc2, 0x5c, 0x14, 0xfc, 0x17, 0xcc, 0xbf, 0xb0, 0x96, 0x0e, 0x3e, 0xf1, 0xab, 0xad, - /*9de0:*/ 0x8b, 0x6d, 0x5a, 0xf4, 0x17, 0x48, 0x72, 0x54, 0x0a, 0xc4, 0xd9, 0xfd, 0xec, 0x29, 0x9d, 0x07, - /*9df0:*/ 0xc2, 0x66, 0xcb, 0x26, 0xa2, 0xab, 0x16, 0xee, 0xe8, 0xad, 0x9c, 0x22, 0xf4, 0xf8, 0x9a, 0xca, - /*9e00:*/ 0x24, 0x71, 0x36, 0x8e, 0x70, 0xc6, 0x15, 0x87, 0x92, 0xec, 0x62, 0x84, 0xfe, 0xdf, 0x86, 0x3c, - /*9e10:*/ 0x88, 0xab, 0x07, 0xdb, 0x0c, 0xe8, 0xa5, 0x1d, 0x28, 0x05, 0x40, 0xc7, 0x21, 0x2b, 0x48, 0x50, - /*9e20:*/ 0x55, 0xcf, 0x23, 0xf9, 0x9c, 0x34, 0x7e, 0x45, 0xc6, 0x8a, 0x1e, 0x8c, 0x25, 0xdb, 0xb2, 0xee, - /*9e30:*/ 0x19, 0x2c, 0x01, 0x5e, 0x3a, 0x27, 0x52, 0x83, 0x0a, 0x73, 0x81, 0xd9, 0x85, 0xe2, 0xbf, 0xfd, - /*9e40:*/ 0xac, 0x36, 0x87, 0xfa, 0xd3, 0xd7, 0xfe, 0xf6, 0x0d, 0x2e, 0xa5, 0xef, 0x3a, 0x3b, 0xf2, 0x23, - /*9e50:*/ 0x3f, 0x1f, 0xdb, 0x47, 0x31, 0x0b, 0x29, 0x8a, 0xd9, 0x67, 0x34, 0xaf, 0x92, 0xf3, 0x92, 0x61, - /*9e60:*/ 0x6c, 0xcf, 0xfb, 0x7d, 0x54, 0xa7, 0xbe, 0x97, 0x90, 0x1e, 0x6a, 0xde, 0xa3, 0xd7, 0x07, 0xbf, - /*9e70:*/ 0x17, 0x10, 0x47, 0x3c, 0x16, 0x10, 0x3b, 0x93, 0xb5, 0xab, 0x15, 0xf2, 0x35, 0xd8, 0xfe, 0x9a, - /*9e80:*/ 0x2b, 0xe9, 0x8d, 0x84, 0x8f, 0x72, 0x76, 0xad, 0x68, 0xdc, 0x07, 0xbf, 0x77, 0x7c, 0xfd, 0xbc, - /*9e90:*/ 0x4f, 0x46, 0xe7, 0x97, 0x13, 0x33, 0x78, 0xda, 0x58, 0xca, 0x23, 0x12, 0xa1, 0xb8, 0xb9, 0xba, - /*9ea0:*/ 0xd5, 0xb7, 0xed, 0x9e, 0x54, 0x50, 0xfb, 0x0a, 0x56, 0xa6, 0x2b, 0x9e, 0xea, 0x46, 0xe9, 0x5f, - /*9eb0:*/ 0xf4, 0xb5, 0xf2, 0x30, 0x9d, 0x60, 0x9e, 0x34, 0x79, 0x70, 0x80, 0xfd, 0xf9, 0xa5, 0xda, 0x29, - /*9ec0:*/ 0xed, 0x3a, 0x53, 0xe5, 0x10, 0x45, 0xbd, 0xdb, 0x4d, 0x08, 0xdc, 0x51, 0x73, 0x18, 0x04, 0xcd, - /*9ed0:*/ 0xce, 0x5c, 0xc6, 0xc4, 0x4d, 0x0e, 0x31, 0x6b, 0x63, 0x2f, 0x6e, 0xc1, 0x37, 0xae, 0xf1, 0xd6, - /*9ee0:*/ 0xbf, 0xd2, 0x49, 0xb9, 0x55, 0x66, 0xf6, 0x20, 0xde, 0xd1, 0x80, 0xf2, 0x9c, 0x81, 0xa6, 0x5a, - /*9ef0:*/ 0xe2, 0x1c, 0xe2, 0x26, 0x21, 0x8c, 0x71, 0xa8, 0x02, 0x7a, 0xba, 0xbc, 0x3f, 0xa1, 0x0d, 0xe1, - /*9f00:*/ 0x4d, 0x80, 0x06, 0x4e, 0x3b, 0x6a, 0x4a, 0xe6, 0x83, 0xf3, 0x25, 0x08, 0x11, 0x3b, 0xaa, 0xa7, - /*9f10:*/ 0x9f, 0xbb, 0xc4, 0x94, 0x9a, 0x57, 0xfa, 0xf0, 0x13, 0x4b, 0x47, 0x10, 0x00, 0xa0, 0xd3, 0x73, - /*9f20:*/ 0x39, 0xb1, 0xf7, 0x69, 0x80, 0x82, 0x96, 0x44, 0x5a, 0xf4, 0xe0, 0x62, 0xdf, 0xd3, 0x29, 0x5b, - /*9f30:*/ 0x94, 0x22, 0x7a, 0x70, 0x95, 0x42, 0xb1, 0x5c, 0xcc, 0xe4, 0xeb, 0x69, 0x31, 0x96, 0xcf, 0x49, - /*9f40:*/ 0xd9, 0x33, 0xc5, 0x9d, 0xf1, 0x6e, 0xb7, 0x8f, 0xe0, 0x73, 0xb9, 0xfa, 0xe8, 0x05, 0x57, 0x4e, - /*9f50:*/ 0x84, 0xd7, 0x39, 0xdd, 0x1d, 0xc9, 0x1f, 0xe7, 0xb2, 0x36, 0x76, 0x78, 0x2a, 0x8c, 0x2f, 0x63, - /*9f60:*/ 0x73, 0x86, 0x69, 0x0a, 0xce, 0xb8, 0x27, 0x17, 0x7c, 0x0f, 0x6a, 0xcf, 0xfb, 0x05, 0x29, 0xdb, - /*9f70:*/ 0x03, 0xcf, 0x6f, 0xd3, 0xeb, 0xee, 0xcd, 0xe4, 0x0f, 0x71, 0x81, 0x1a, 0x46, 0x0d, 0xe6, 0x48, - /*9f80:*/ 0x35, 0xaa, 0xce, 0xf4, 0xce, 0x3c, 0x38, 0xe1, 0x4b, 0x2f, 0x45, 0x9c, 0x10, 0xde, 0x84, 0x3d, - /*9f90:*/ 0xda, 0x1d, 0x8a, 0xf1, 0x8b, 0x17, 0xe2, 0x26, 0x81, 0xf8, 0x89, 0xf6, 0x7a, 0x59, 0x1b, 0xc3, - /*9fa0:*/ 0x99, 0x3e, 0x24, 0xfe, 0xe0, 0xea, 0x96, 0x4d, 0x16, 0x6f, 0xe3, 0x0a, 0x7e, 0xc3, 0x50, 0xed, - /*9fb0:*/ 0xaa, 0x18, 0x9a, 0x71, 0x53, 0xca, 0x76, 0x9c, 0x31, 0x1d, 0xbb, 0xa5, 0x75, 0x42, 0x7c, 0xaa, - /*9fc0:*/ 0x7f, 0x78, 0x12, 0x08, 0x57, 0xd0, 0xf6, 0x47, 0x34, 0x96, 0xc8, 0x5b, 0xd4, 0x27, 0xfd, 0x56, - /*9fd0:*/ 0x30, 0x54, 0x5b, 0x3f, 0x62, 0xb7, 0x7c, 0x93, 0xa2, 0x06, 0x52, 0xbb, 0x17, 0x44, 0x5b, 0x42, - /*9fe0:*/ 0x97, 0x6a, 0xa8, 0x2e, 0x0a, 0x07, 0x89, 0x0a, 0x52, 0x70, 0xf0, 0x33, 0x81, 0xa8, 0x1c, 0x39, - /*9ff0:*/ 0xac, 0x18, 0x0e, 0xc6, 0x96, 0x4c, 0xdb, 0xd2, 0x86, 0x90, 0x2c, 0x4e, 0x82, 0x64, 0x08, 0xea, - /*a000:*/ 0x31, 0xcd, 0xf4, 0xfe, 0x4a, 0x26, 0x94, 0xa5, 0x3d, 0xe1, 0x23, 0xd9, 0xf4, 0xb7, 0xec, 0x0d, - /*a010:*/ 0xd3, 0x6e, 0x80, 0xa3, 0x61, 0xd7, 0xe6, 0xfb, 0x67, 0x60, 0x29, 0x1a, 0x7d, 0x28, 0x2f, 0xd0, - /*a020:*/ 0x95, 0x36, 0xca, 0x04, 0x62, 0xed, 0x81, 0xd9, 0x10, 0x0e, 0xcb, 0x4e, 0xff, 0xac, 0xd4, 0xc3, - /*a030:*/ 0x22, 0x7a, 0xab, 0xa2, 0xa2, 0xed, 0xde, 0x20, 0x18, 0xfa, 0x6e, 0x2c, 0x85, 0x71, 0xfb, 0x95, - /*a040:*/ 0xc1, 0x0f, 0xff, 0xef, 0xbc, 0x0a, 0xf8, 0xad, 0x07, 0x36, 0xfb, 0xb9, 0x96, 0x82, 0xa4, 0x23, - /*a050:*/ 0x0c, 0xc0, 0x2b, 0x51, 0x51, 0x27, 0x2f, 0x5d, 0xf6, 0x37, 0xdb, 0x65, 0x66, 0x0e, 0x53, 0x4f, - /*a060:*/ 0x4a, 0x3a, 0x9f, 0x5f, 0x4b, 0x46, 0x66, 0x10, 0x98, 0x3c, 0x79, 0x48, 0xab, 0xf1, 0xdb, 0x76, - /*a070:*/ 0x30, 0xeb, 0xc1, 0x12, 0xa2, 0xf2, 0x7f, 0xa0, 0x08, 0x62, 0x47, 0x9c, 0x3c, 0xb5, 0xa3, 0x79, - /*a080:*/ 0x2d, 0x56, 0xd4, 0xf0, 0xd4, 0xad, 0xe9, 0x16, 0x1e, 0xf9, 0x10, 0xe4, 0xf1, 0x99, 0x23, 0xcd, - /*a090:*/ 0x9c, 0xde, 0x07, 0x87, 0x53, 0x04, 0xaf, 0xd0, 0x5e, 0x04, 0x63, 0x85, 0x31, 0x70, 0x17, 0x9e, - /*a0a0:*/ 0x31, 0xb3, 0x92, 0xcf, 0xb4, 0x54, 0x12, 0xb8, 0xe7, 0x9e, 0xd8, 0xda, 0x4f, 0xd2, 0x1b, 0x97, - /*a0b0:*/ 0xc5, 0x3d, 0x8c, 0x11, 0xa3, 0x12, 0x5f, 0x50, 0xb6, 0xb6, 0x38, 0x92, 0x97, 0x1a, 0x12, 0xfc, - /*a0c0:*/ 0xa7, 0x20, 0xe5, 0x1f, 0xdd, 0xaa, 0x29, 0xd3, 0x5b, 0x5a, 0xa8, 0xd6, 0x43, 0xc6, 0xf2, 0x77, - /*a0d0:*/ 0x7b, 0xb7, 0x7d, 0xe5, 0xd7, 0x26, 0x73, 0xae, 0x85, 0x9a, 0x65, 0xcc, 0x42, 0xe2, 0xfe, 0x67, - /*a0e0:*/ 0xd4, 0x5b, 0x39, 0x3f, 0x7b, 0x67, 0xd8, 0xd8, 0x9d, 0xa3, 0xdd, 0x0b, 0xa6, 0x9c, 0x4a, 0xe6, - /*a0f0:*/ 0x2b, 0x13, 0x7e, 0x7b, 0xc6, 0x83, 0x51, 0xa7, 0x04, 0xf4, 0x61, 0xd9, 0x56, 0x89, 0x6d, 0x33, - /*a100:*/ 0x31, 0x23, 0xcb, 0xd3, 0xda, 0x89, 0xb7, 0x73, 0x04, 0x12, 0xf8, 0x29, 0x89, 0x14, 0x04, 0xfc, - /*a110:*/ 0xa6, 0x9d, 0x92, 0x6a, 0xf3, 0x3b, 0xdf, 0x31, 0xad, 0x53, 0xdd, 0xea, 0x46, 0xae, 0xc3, 0x0f, - /*a120:*/ 0x37, 0x6c, 0x35, 0x6e, 0x24, 0x28, 0xd6, 0xa1, 0x9f, 0x2c, 0xd8, 0x6f, 0xef, 0xd6, 0x27, 0x44, - /*a130:*/ 0x92, 0x1e, 0xe6, 0x8f, 0x88, 0xf3, 0xc1, 0x52, 0xe7, 0x73, 0xb6, 0x3f, 0xc5, 0xbd, 0xf6, 0x10, - /*a140:*/ 0x94, 0xf3, 0x11, 0x20, 0xa5, 0x15, 0x08, 0xfb, 0xfa, 0xf2, 0x05, 0x20, 0x84, 0xe8, 0x95, 0x2c, - /*a150:*/ 0x73, 0xf3, 0x3b, 0x71, 0x62, 0x61, 0x77, 0x3a, 0x5d, 0x8e, 0xb3, 0xeb, 0x33, 0x06, 0xfa, 0x91, - /*a160:*/ 0x7a, 0xed, 0xce, 0x93, 0x3c, 0xc3, 0x70, 0x58, 0x06, 0xc1, 0x46, 0x8d, 0xf5, 0x26, 0xc9, 0xf9, - /*a170:*/ 0xc5, 0xcc, 0x17, 0x52, 0xa2, 0xae, 0x41, 0xff, 0x02, 0x63, 0x29, 0xbe, 0xb4, 0xdd, 0x24, 0x0b, - /*a180:*/ 0xa8, 0x7c, 0x62, 0x00, 0x1b, 0x58, 0x26, 0x16, 0x75, 0xbd, 0x2e, 0x7b, 0x42, 0x2c, 0xef, 0xa7, - /*a190:*/ 0xb6, 0xfe, 0xdd, 0xc7, 0xad, 0x88, 0xa8, 0x08, 0xfb, 0xa2, 0x9c, 0x3c, 0x0d, 0xd9, 0x59, 0xea, - /*a1a0:*/ 0x4a, 0x55, 0x5d, 0x6c, 0x56, 0x0e, 0xdb, 0xc8, 0x21, 0x11, 0x91, 0x7c, 0xc6, 0x8b, 0x03, 0x2a, - /*a1b0:*/ 0xd2, 0x5f, 0x20, 0xde, 0xad, 0x81, 0xc4, 0x3e, 0x75, 0x3e, 0x64, 0xf3, 0x67, 0xc2, 0x03, 0xd4, - /*a1c0:*/ 0xc2, 0x19, 0x4c, 0x26, 0x18, 0xcf, 0x94, 0x11, 0x40, 0x25, 0x19, 0x36, 0xe6, 0xdc, 0x2c, 0xea, - /*a1d0:*/ 0x3c, 0x3e, 0x30, 0x58, 0x29, 0x0c, 0x0e, 0xbf, 0x60, 0x4c, 0x05, 0x03, 0x58, 0x33, 0x9c, 0xe0, - /*a1e0:*/ 0x8f, 0xba, 0xde, 0x83, 0xda, 0xa8, 0x9b, 0xde, 0xc7, 0xf7, 0x51, 0x15, 0xc0, 0x16, 0xc5, 0xee, - /*a1f0:*/ 0x3a, 0xaa, 0x90, 0xf6, 0x7c, 0x6e, 0x6f, 0xfb, 0x32, 0xa8, 0xba, 0xed, 0x24, 0x4e, 0x7f, 0xf2, - /*a200:*/ 0x70, 0x06, 0x7d, 0xab, 0xd5, 0x4a, 0x77, 0x31, 0xc8, 0x46, 0x10, 0xe4, 0x9e, 0x4e, 0x1c, 0x6b, - /*a210:*/ 0x09, 0x5e, 0x21, 0x9f, 0xb6, 0xe0, 0x24, 0xd6, 0xe2, 0x82, 0x2a, 0xbb, 0x9f, 0xe1, 0x08, 0x46, - /*a220:*/ 0xc3, 0x38, 0xb7, 0xfe, 0x80, 0x7e, 0x8b, 0x2d, 0xc8, 0x12, 0x14, 0x87, 0x91, 0x33, 0xb8, 0xdb, - /*a230:*/ 0x94, 0x48, 0x8e, 0xf4, 0x8e, 0xe0, 0xd6, 0x6a, 0x1d, 0xcc, 0xc9, 0x6b, 0x4a, 0x91, 0xdb, 0xeb, - /*a240:*/ 0x83, 0x2e, 0xd1, 0x5d, 0xf1, 0xea, 0xea, 0xce, 0x77, 0x53, 0x02, 0x0c, 0x61, 0x54, 0x14, 0xf8, - /*a250:*/ 0xa2, 0xfe, 0xd1, 0x92, 0x4a, 0x92, 0xee, 0xa7, 0xdf, 0x20, 0x78, 0x2e, 0xac, 0xc5, 0xba, 0xb9, - /*a260:*/ 0x33, 0x6f, 0xa3, 0x50, 0x81, 0x7f, 0xad, 0xe5, 0xc5, 0xb9, 0x25, 0x7f, 0x40, 0x1f, 0x62, 0x5e, - /*a270:*/ 0x1c, 0x1d, 0x9b, 0x7c, 0x4e, 0xdc, 0xcf, 0x17, 0x7d, 0xea, 0x25, 0x4e, 0x38, 0x69, 0x0c, 0x5a, - /*a280:*/ 0xa1, 0x03, 0x9d, 0x39, 0x5d, 0x22, 0x1d, 0x65, 0x8c, 0x87, 0xdc, 0xfb, 0xfd, 0x02, 0xbd, 0x86, - /*a290:*/ 0xc8, 0x99, 0xf4, 0x24, 0xdf, 0x12, 0x33, 0x95, 0x94, 0xd3, 0x29, 0xea, 0x19, 0x60, 0xe7, 0xbd, - /*a2a0:*/ 0x55, 0x2a, 0x64, 0x68, 0x9d, 0xcf, 0x56, 0x9f, 0x48, 0xb0, 0x06, 0x7b, 0xe3, 0x7b, 0x17, 0xdc, - /*a2b0:*/ 0x8a, 0x38, 0x8b, 0xec, 0xcc, 0x62, 0x12, 0xaa, 0x35, 0x12, 0x47, 0x37, 0xc6, 0x10, 0xf2, 0xb9, - /*a2c0:*/ 0xaf, 0xf9, 0x93, 0xd6, 0xa9, 0x59, 0xaa, 0xeb, 0xee, 0xfd, 0x5f, 0xc8, 0xe1, 0x2e, 0x91, 0xf7, - /*a2d0:*/ 0xad, 0x29, 0x77, 0x13, 0x3e, 0x7a, 0xa2, 0x5e, 0x18, 0xd9, 0x33, 0xe1, 0x68, 0xe2, 0x87, 0xfa, - /*a2e0:*/ 0x86, 0xe4, 0xe1, 0x0f, 0x2b, 0x99, 0x05, 0x62, 0x5b, 0x0a, 0x82, 0x51, 0xea, 0xbd, 0x9d, 0x04, - /*a2f0:*/ 0xd5, 0x42, 0x6b, 0x98, 0xa6, 0x76, 0x27, 0x00, 0x5d, 0x78, 0x74, 0xa7, 0xf3, 0x0e, 0x6e, 0x56, - /*a300:*/ 0x69, 0x61, 0x40, 0x52, 0xf4, 0xb5, 0x9c, 0x62, 0x4b, 0xf6, 0x05, 0x50, 0xad, 0xd4, 0xa3, 0x8b, - /*a310:*/ 0xd3, 0x11, 0xd1, 0x2a, 0x5a, 0xdf, 0x0e, 0xcd, 0x82, 0x9b, 0xcf, 0xd4, 0x28, 0x74, 0xad, 0x91, - /*a320:*/ 0x83, 0x5f, 0x06, 0x8f, 0xa7, 0x37, 0x46, 0x41, 0x28, 0x7e, 0xe4, 0x7f, 0xb8, 0x62, 0xf8, 0x07, - /*a330:*/ 0xfe, 0x7e, 0xb7, 0x1b, 0xd4, 0x7d, 0xb5, 0xa8, 0xfe, 0x9a, 0xfd, 0x77, 0xf0, 0xff, 0x0a, 0xa4, - /*a340:*/ 0xa3, 0x7c, 0xf1, 0x22, 0x7e, 0x47, 0x5a, 0xc8, 0xb5, 0xf0, 0x00, 0x70, 0x2a, 0x7e, 0xc7, 0xa2, - /*a350:*/ 0x22, 0x6f, 0x8c, 0xe9, 0x7b, 0x52, 0x25, 0xe4, 0xa4, 0x83, 0x1b, 0xc6, 0x39, 0xbc, 0x2b, 0xcc, - /*a360:*/ 0x92, 0xd3, 0xf0, 0x99, 0xc9, 0x76, 0x98, 0x97, 0x2e, 0x21, 0x1a, 0xf6, 0x1f, 0xa5, 0xd9, 0xe9, - /*a370:*/ 0xeb, 0xf0, 0x6f, 0x8a, 0xac, 0x8b, 0x04, 0x46, 0x11, 0x5f, 0xd1, 0x7b, 0x5b, 0x14, 0x6c, 0x77, - /*a380:*/ 0x46, 0x8c, 0xcb, 0x44, 0x4f, 0x58, 0xac, 0xad, 0x62, 0x93, 0x57, 0xcc, 0x76, 0x76, 0xf4, 0x8c, - /*a390:*/ 0x5e, 0xad, 0x96, 0x7b, 0x2c, 0x2d, 0x60, 0x9a, 0xc0, 0xe3, 0x9d, 0x30, 0x6b, 0x05, 0x09, 0xa5, - /*a3a0:*/ 0x38, 0x4b, 0xf0, 0xda, 0xd7, 0x54, 0x2c, 0xc0, 0x0b, 0xa6, 0x5b, 0x54, 0xb7, 0x06, 0x65, 0xb7, - /*a3b0:*/ 0x2c, 0xa5, 0x88, 0xfb, 0x76, 0xf2, 0x41, 0x75, 0x4a, 0xf2, 0x0c, 0x9d, 0x9c, 0x83, 0x4c, 0xa7, - /*a3c0:*/ 0x78, 0x0e, 0x29, 0x68, 0x2a, 0x30, 0x32, 0xd6, 0xd7, 0xb1, 0x30, 0xe4, 0xe3, 0xb0, 0x1a, 0x69, - /*a3d0:*/ 0x74, 0x9e, 0x20, 0x99, 0x85, 0x4c, 0xc5, 0x97, 0x24, 0x08, 0x4f, 0xcb, 0xd9, 0x79, 0x05, 0x3a, - /*a3e0:*/ 0xf1, 0x64, 0x27, 0xa2, 0xf6, 0xd9, 0xd4, 0x88, 0xbe, 0xec, 0x90, 0x0e, 0x67, 0x18, 0x59, 0xd1, - /*a3f0:*/ 0x1f, 0x73, 0x65, 0x76, 0x8b, 0x8e, 0x31, 0x65, 0x79, 0xf4, 0xaf, 0x55, 0x9a, 0x25, 0x22, 0xe2, - /*a400:*/ 0xa4, 0xbf, 0x63, 0x18, 0x7a, 0xe8, 0x79, 0x65, 0x35, 0xc3, 0x8c, 0x0d, 0x2a, 0x86, 0xe1, 0xc6, - /*a410:*/ 0x7e, 0x15, 0x42, 0x3d, 0x98, 0xb3, 0x60, 0x04, 0x6a, 0x2e, 0x02, 0x31, 0xd7, 0x94, 0x34, 0x65, - /*a420:*/ 0xd7, 0x57, 0x29, 0x98, 0xe5, 0x7e, 0x4d, 0x97, 0xf3, 0x86, 0x9d, 0x10, 0xbd, 0x38, 0x31, 0xe4, - /*a430:*/ 0x30, 0x35, 0x22, 0xb9, 0xc8, 0x3e, 0x5d, 0xd2, 0x76, 0xd2, 0x38, 0x34, 0x79, 0x7b, 0x51, 0xbf, - /*a440:*/ 0xb0, 0x1e, 0xc1, 0x90, 0xad, 0x5f, 0xeb, 0x1b, 0x2a, 0xa7, 0xd2, 0x0b, 0xd5, 0x0d, 0xd6, 0xed, - /*a450:*/ 0xc5, 0x5e, 0xcd, 0x75, 0xb8, 0xf8, 0x03, 0x9d, 0x02, 0x71, 0x2c, 0x62, 0x32, 0xfa, 0xac, 0x15, - /*a460:*/ 0x97, 0x9c, 0xe4, 0xbc, 0x24, 0x41, 0x11, 0x90, 0x9e, 0x1a, 0x5f, 0xe6, 0x90, 0x0b, 0x72, 0xe3, - /*a470:*/ 0xca, 0xdf, 0xce, 0x78, 0x70, 0x87, 0x58, 0x87, 0x3f, 0x00, 0xb1, 0x25, 0xe2, 0x87, 0xe0, 0x6e, - /*a480:*/ 0xa7, 0xf8, 0x22, 0x0f, 0xa0, 0x78, 0xb3, 0xaf, 0x21, 0xc9, 0x26, 0xc2, 0xac, 0x90, 0x48, 0x33, - /*a490:*/ 0xf8, 0x58, 0xee, 0xee, 0x04, 0x9d, 0x96, 0x3d, 0xe2, 0x35, 0xe4, 0x5a, 0x08, 0x8c, 0x9d, 0x43, - /*a4a0:*/ 0xdc, 0x4d, 0x74, 0xd2, 0x63, 0xef, 0x66, 0x90, 0xf1, 0x86, 0x0d, 0xe1, 0x05, 0x11, 0x82, 0xf3, - /*a4b0:*/ 0xc3, 0xce, 0x74, 0x20, 0x64, 0x12, 0x5d, 0x99, 0x37, 0x49, 0x28, 0x61, 0xab, 0x3a, 0x5c, 0xeb, - /*a4c0:*/ 0x9f, 0x23, 0x20, 0x38, 0x09, 0x66, 0xf6, 0xce, 0xb4, 0xb5, 0x9c, 0x79, 0x9a, 0x76, 0x4a, 0x1e, - /*a4d0:*/ 0x0c, 0x08, 0xe5, 0x63, 0xdf, 0x77, 0x42, 0xf1, 0x08, 0xec, 0x65, 0x9b, 0xe9, 0x29, 0x2b, 0x07, - /*a4e0:*/ 0xc0, 0x3a, 0x6a, 0x32, 0xbb, 0x1c, 0xad, 0xa7, 0x28, 0x34, 0xaa, 0x20, 0x8a, 0xb2, 0x4d, 0x34, - /*a4f0:*/ 0x92, 0x59, 0x31, 0xb4, 0x2e, 0xc5, 0x5d, 0xe2, 0x11, 0xe2, 0xd1, 0x1e, 0x8f, 0xfd, 0xbc, 0xf4, - /*a500:*/ 0x2c, 0x73, 0xe7, 0xb8, 0xff, 0xf0, 0x40, 0x60, 0xa4, 0x6c, 0x3f, 0xb1, 0xd0, 0xad, 0xf3, 0x9b, - /*a510:*/ 0x82, 0x14, 0x1c, 0x2a, 0xbd, 0x3a, 0xef, 0x36, 0xc9, 0x64, 0x55, 0x0f, 0x69, 0x70, 0xc3, 0x51, - /*a520:*/ 0x25, 0x91, 0xdc, 0x79, 0x08, 0x94, 0x1d, 0xf5, 0xfb, 0x94, 0x73, 0x51, 0x89, 0x7d, 0xf1, 0x6d, - /*a530:*/ 0xee, 0x47, 0xc5, 0x1c, 0xd2, 0x19, 0x19, 0x56, 0xa0, 0x71, 0xfa, 0xe7, 0xfe, 0xeb, 0xd2, 0x0b, - /*a540:*/ 0x1f, 0xac, 0xc8, 0x30, 0xa5, 0x7b, 0x68, 0xc4, 0x92, 0x18, 0x4d, 0x58, 0x66, 0xdf, 0x18, 0x58, - /*a550:*/ 0xd3, 0x56, 0x16, 0x45, 0xf0, 0xe9, 0xb0, 0x07, 0xcf, 0x30, 0x5c, 0x15, 0x43, 0x1a, 0x6c, 0x37, - /*a560:*/ 0x1f, 0x54, 0x3c, 0x78, 0x05, 0xbb, 0x06, 0x33, 0x3a, 0x35, 0xa1, 0xeb, 0x30, 0x07, 0xb8, 0x98, - /*a570:*/ 0x10, 0xf4, 0x2d, 0x31, 0x43, 0x26, 0x50, 0x01, 0xcd, 0x6b, 0x71, 0x9c, 0xe0, 0xdb, 0x3c, 0xab, - /*a580:*/ 0x7b, 0xc2, 0xc3, 0x11, 0x02, 0xd2, 0xe4, 0xda, 0x0f, 0x8f, 0x6a, 0x82, 0x97, 0xab, 0xcc, 0xa6, - /*a590:*/ 0x3e, 0x0d, 0x0d, 0x24, 0xcf, 0x19, 0x55, 0xcc, 0x09, 0xad, 0x0e, 0xb3, 0x14, 0x43, 0xb4, 0xe8, - /*a5a0:*/ 0x85, 0x1c, 0x3a, 0xbe, 0xfc, 0x3f, 0x38, 0x78, 0xaa, 0x27, 0xa2, 0x85, 0x96, 0xb8, 0xda, 0x1e, - /*a5b0:*/ 0xb9, 0x45, 0x85, 0x79, 0x1a, 0x5a, 0x70, 0xaa, 0x6e, 0x7e, 0x97, 0x80, 0x66, 0xec, 0x41, 0x6a, - /*a5c0:*/ 0x27, 0x53, 0x20, 0x40, 0x01, 0x9c, 0xc4, 0x88, 0x14, 0xb4, 0x68, 0x9c, 0xe5, 0x5a, 0x53, 0x1d, - /*a5d0:*/ 0xb8, 0x6e, 0xc3, 0x0c, 0xdc, 0xe8, 0x35, 0x39, 0x5b, 0x2b, 0xce, 0x56, 0x44, 0x60, 0xa4, 0x81, - /*a5e0:*/ 0x2f, 0x0e, 0x37, 0xe2, 0x9d, 0x91, 0xbd, 0xec, 0x4b, 0x29, 0x6e, 0xec, 0x1e, 0x24, 0x4a, 0x15, - /*a5f0:*/ 0xfc, 0xb7, 0xf2, 0xbe, 0x1d, 0x55, 0x48, 0x3b, 0xfb, 0xf6, 0x58, 0x31, 0x48, 0x90, 0xea, 0x2b, - /*a600:*/ 0x1c, 0xe1, 0x34, 0x01, 0x30, 0xf9, 0x10, 0x91, 0x6c, 0x39, 0x1e, 0xc1, 0x41, 0x52, 0xa2, 0xf0, - /*a610:*/ 0xcb, 0x5d, 0x2e, 0xef, 0xa9, 0x84, 0xc6, 0x9b, 0x5a, 0x80, 0xea, 0xef, 0xbf, 0x64, 0x56, 0x3e, - /*a620:*/ 0x84, 0x83, 0xfd, 0xeb, 0x50, 0x87, 0x55, 0x7c, 0x7b, 0x50, 0xdc, 0xc8, 0xbf, 0x5d, 0x83, 0x02, - /*a630:*/ 0x69, 0xfb, 0x3e, 0x0c, 0x7b, 0x41, 0x6e, 0x4c, 0xd1, 0xf1, 0x66, 0x3e, 0x64, 0x8a, 0x75, 0x5a, - /*a640:*/ 0x6f, 0x37, 0xc0, 0x10, 0xa0, 0x39, 0xe4, 0x7c, 0xd7, 0x61, 0xce, 0x1c, 0xe2, 0x60, 0xf9, 0xdb, - /*a650:*/ 0x71, 0x8a, 0xbd, 0x00, 0x4c, 0x81, 0x99, 0xb2, 0x69, 0x52, 0xbe, 0xa3, 0xb0, 0xa3, 0xb7, 0xe5, - /*a660:*/ 0xd2, 0x18, 0x88, 0x83, 0xa6, 0x3e, 0xa5, 0xe7, 0xd6, 0x4b, 0xb0, 0x7f, 0x0f, 0x1c, 0x15, 0x82, - /*a670:*/ 0x55, 0x5e, 0x5e, 0x4b, 0x83, 0x28, 0xc9, 0x1d, 0x1b, 0x2e, 0xaf, 0x4b, 0x6e, 0x25, 0x93, 0x54, - /*a680:*/ 0x8d, 0x99, 0xcf, 0xc9, 0x79, 0x5b, 0x17, 0x56, 0xb6, 0x8f, 0x5f, 0x88, 0xb1, 0x2b, 0x2d, 0xc7, - /*a690:*/ 0xd0, 0xac, 0x2a, 0xca, 0x3c, 0x31, 0x0a, 0x14, 0x5c, 0xf3, 0x4b, 0x89, 0x8d, 0xad, 0xf4, 0x8b, - /*a6a0:*/ 0xb7, 0x12, 0x09, 0xdf, 0x5f, 0xcf, 0xc3, 0xba, 0x95, 0x71, 0x25, 0xf3, 0x5c, 0xb4, 0xf7, 0xd9, - /*a6b0:*/ 0x53, 0x90, 0x04, 0x54, 0xeb, 0x9a, 0x72, 0x52, 0x48, 0xb1, 0xde, 0x0f, 0xed, 0x1e, 0xe7, 0x2d, - /*a6c0:*/ 0xc2, 0x3e, 0x03, 0x9a, 0x3e, 0x38, 0xf3, 0x83, 0xd2, 0x01, 0x09, 0x93, 0xed, 0x57, 0x5b, 0x96, - /*a6d0:*/ 0x2e, 0xd0, 0x44, 0x6f, 0xb3, 0x33, 0xb3, 0x2f, 0x20, 0x04, 0x28, 0x88, 0x76, 0xa5, 0xc4, 0x4a, - /*a6e0:*/ 0x2a, 0x9b, 0xea, 0x39, 0xbb, 0xb0, 0x28, 0x9b, 0xd3, 0x7f, 0xa5, 0xe0, 0x2a, 0xb9, 0x60, 0x19, - /*a6f0:*/ 0xd1, 0x5c, 0xbb, 0x17, 0x8a, 0xad, 0x75, 0xce, 0x19, 0xa1, 0x09, 0x7c, 0x1d, 0xe6, 0x87, 0x21, - /*a700:*/ 0x40, 0x33, 0x03, 0xbf, 0xc3, 0xe4, 0xd0, 0x75, 0x8a, 0x12, 0xc6, 0x97, 0xac, 0xdf, 0xdb, 0x4b, - /*a710:*/ 0xee, 0x88, 0x78, 0x46, 0xb4, 0x86, 0x4f, 0x97, 0x18, 0x2b, 0xd0, 0x22, 0x5c, 0x9d, 0xd5, 0x26, - /*a720:*/ 0xfa, 0x2d, 0x9e, 0xe0, 0x74, 0x5a, 0xb9, 0x62, 0x29, 0xda, 0x65, 0x03, 0xa2, 0x26, 0x71, 0x52, - /*a730:*/ 0xfb, 0x99, 0x1d, 0x9b, 0xa4, 0xca, 0xbc, 0x4c, 0xc9, 0xbe, 0xc0, 0x36, 0x43, 0x88, 0x1b, 0x41, - /*a740:*/ 0x22, 0xc1, 0xf8, 0x62, 0x10, 0x5d, 0xe1, 0xac, 0xcf, 0xd9, 0x46, 0x1b, 0x96, 0x4b, 0x2e, 0x74, - /*a750:*/ 0x33, 0xde, 0xf2, 0x34, 0xb1, 0x5b, 0x3d, 0xb1, 0x0c, 0x62, 0x89, 0xbe, 0x36, 0x19, 0xf9, 0x0a, - /*a760:*/ 0xdd, 0xd9, 0x14, 0xe3, 0x5d, 0x53, 0x9b, 0xff, 0x8a, 0x42, 0x3b, 0xa0, 0x9d, 0x06, 0xed, 0x9c, - /*a770:*/ 0x89, 0x36, 0xad, 0x2a, 0x8f, 0xa8, 0x3c, 0xa6, 0x88, 0x5a, 0x12, 0x30, 0xdf, 0x48, 0x6c, 0x89, - /*a780:*/ 0x0e, 0x74, 0x5e, 0x1b, 0x99, 0x52, 0x91, 0xe8, 0xab, 0xd4, 0x95, 0xbc, 0x7f, 0xd5, 0x3c, 0x31, - /*a790:*/ 0xbd, 0x54, 0x0b, 0x81, 0xe8, 0xfb, 0xa9, 0x52, 0xd8, 0xea, 0x28, 0xac, 0x20, 0x7f, 0xae, 0x4d, - /*a7a0:*/ 0x87, 0x51, 0x12, 0x65, 0x9a, 0x4d, 0x17, 0x6e, 0x57, 0xc3, 0x8c, 0x84, 0xa3, 0x1b, 0x8a, 0x60, - /*a7b0:*/ 0x59, 0x5f, 0x42, 0x3e, 0xa9, 0x6b, 0x7d, 0xe2, 0xe7, 0xd2, 0x02, 0x04, 0x1e, 0x29, 0x76, 0x86, - /*a7c0:*/ 0x9d, 0xd9, 0xf5, 0xd3, 0xae, 0x6b, 0x9d, 0xee, 0xa6, 0x6c, 0x39, 0x83, 0xb2, 0xf4, 0xc8, 0x90, - /*a7d0:*/ 0x20, 0x48, 0x47, 0x42, 0x9a, 0x88, 0x7e, 0x78, 0x8f, 0xd1, 0xa1, 0x1e, 0x07, 0xba, 0x0b, 0xc1, - /*a7e0:*/ 0xc2, 0xc9, 0x1b, 0xe8, 0xec, 0x65, 0x6d, 0xfd, 0xed, 0x4f, 0x95, 0xf5, 0x9b, 0x5e, 0x6f, 0x80, - /*a7f0:*/ 0xc3, 0x2a, 0x2f, 0x13, 0xcb, 0xc6, 0xbc, 0x13, 0xf5, 0x55, 0x8f, 0x1b, 0x8d, 0xdf, 0x82, 0x21, - /*a800:*/ 0xbf, 0xfd, 0x23, 0xf4, 0x22, 0xbc, 0x53, 0xa9, 0xba, 0xf2, 0x58, 0xcb, 0xa3, 0x83, 0x97, 0x23, - /*a810:*/ 0xa4, 0x71, 0x0f, 0xb5, 0x0d, 0xd2, 0xa4, 0xb5, 0xd3, 0x68, 0x0a, 0xd0, 0x3f, 0xc2, 0x9d, 0x3c, - /*a820:*/ 0x81, 0x4c, 0x22, 0xcd, 0xa9, 0x2f, 0x98, 0x67, 0xe8, 0x34, 0xea, 0x9a, 0xbf, 0x55, 0x6b, 0xa9, - /*a830:*/ 0xc7, 0x32, 0x7d, 0xd0, 0x3f, 0xf2, 0xa8, 0x8a, 0x61, 0x6f, 0x6f, 0xf8, 0x53, 0xf0, 0xa4, 0x00, - /*a840:*/ 0xe8, 0x27, 0xd0, 0xcd, 0x09, 0xa0, 0x16, 0x3a, 0xaf, 0x3b, 0xd9, 0x17, 0x35, 0xd4, 0xb4, 0x1e, - /*a850:*/ 0x87, 0xc1, 0xc3, 0x05, 0x8b, 0x0c, 0x7a, 0x3c, 0x76, 0x30, 0xe8, 0x21, 0x61, 0x57, 0xe6, 0xa5, - /*a860:*/ 0xac, 0xa4, 0xf4, 0x07, 0x29, 0x2b, 0x7a, 0xb8, 0xcd, 0xee, 0x7e, 0xc9, 0x9b, 0x13, 0x99, 0x76, - /*a870:*/ 0x64, 0xa5, 0x31, 0x54, 0x35, 0x95, 0xf6, 0xcc, 0xc8, 0xba, 0xe3, 0x1e, 0xcf, 0x82, 0xe9, 0x48, - /*a880:*/ 0x4c, 0x55, 0xb2, 0x1c, 0xf6, 0x44, 0xf1, 0x51, 0xef, 0xc6, 0x72, 0x0b, 0x91, 0x55, 0xaf, 0x52, - /*a890:*/ 0x99, 0xad, 0xe9, 0x42, 0xfd, 0x1f, 0x4f, 0x1a, 0x5e, 0x13, 0x9e, 0x68, 0x5b, 0xbf, 0x2b, 0x7a, - /*a8a0:*/ 0x2b, 0x7e, 0xf8, 0x9c, 0x39, 0x36, 0x9c, 0x9b, 0xd6, 0xab, 0x26, 0xdb, 0x6a, 0x2b, 0xc9, 0x64, - /*a8b0:*/ 0x30, 0xfb, 0x60, 0xe6, 0x0e, 0xd8, 0x88, 0x4c, 0x2d, 0xe1, 0x8f, 0xe0, 0x04, 0x23, 0x28, 0x5f, - /*a8c0:*/ 0x86, 0x10, 0x4c, 0xf0, 0xf6, 0xe8, 0xb1, 0x95, 0xe8, 0x26, 0x6e, 0x1b, 0xf1, 0x91, 0x9e, 0xa0, - /*a8d0:*/ 0xe1, 0xa7, 0x1d, 0x8d, 0x7b, 0xf8, 0xc9, 0xb6, 0x84, 0x64, 0xfb, 0x3b, 0xf9, 0x8d, 0x58, 0xfc, - /*a8e0:*/ 0x88, 0x0b, 0x05, 0xb6, 0xde, 0xe2, 0x5d, 0xab, 0xc1, 0xa2, 0x21, 0x33, 0xeb, 0xe6, 0x24, 0x44, - /*a8f0:*/ 0xad, 0x45, 0x7d, 0xc6, 0xba, 0xfb, 0x48, 0xdc, 0xeb, 0x7e, 0xc6, 0x6f, 0xa4, 0x2e, 0xb3, 0x47, - /*a900:*/ 0xc2, 0x9c, 0xd6, 0xe8, 0x1a, 0x70, 0x4b, 0x7d, 0x6c, 0x42, 0x81, 0x3d, 0x0b, 0xb3, 0xfc, 0x01, - /*a910:*/ 0x5a, 0x67, 0xb1, 0xb0, 0x90, 0x87, 0x61, 0xac, 0x71, 0x67, 0x45, 0xdd, 0x09, 0xbf, 0x32, 0x0b, - /*a920:*/ 0x8b, 0xd1, 0x0f, 0x65, 0xe0, 0xb3, 0x2b, 0xa8, 0x8d, 0x24, 0x3a, 0xdd, 0x6d, 0x4c, 0xf0, 0x00, - /*a930:*/ 0x14, 0x08, 0x32, 0xa0, 0xe0, 0xe8, 0x2a, 0x72, 0x76, 0x68, 0x0d, 0xb9, 0xf2, 0x7c, 0xbc, 0x0e, - /*a940:*/ 0x8b, 0x55, 0x51, 0x3d, 0x8c, 0x8c, 0x84, 0x92, 0xaa, 0x93, 0xac, 0xb7, 0xfc, 0xf9, 0x04, 0x14, - /*a950:*/ 0x9f, 0x54, 0x27, 0x8e, 0x9c, 0x08, 0xda, 0xa8, 0xdc, 0xf2, 0xa6, 0x33, 0x84, 0x10, 0xec, 0x3b, - /*a960:*/ 0x9d, 0x31, 0xdb, 0xfd, 0x87, 0xe9, 0x12, 0xe1, 0xfa, 0x45, 0x87, 0xef, 0xcb, 0xa3, 0x67, 0x04, - /*a970:*/ 0xc2, 0x71, 0x88, 0x5e, 0x95, 0xc0, 0x9e, 0xc9, 0x12, 0x62, 0xbb, 0x67, 0xec, 0x8d, 0xd6, 0x97, - /*a980:*/ 0xa9, 0xdc, 0x95, 0xf6, 0xaa, 0xe2, 0x42, 0x22, 0xa9, 0xc1, 0xbb, 0xcc, 0x1f, 0x1f, 0x52, 0xf1, - /*a990:*/ 0x5b, 0x9c, 0x61, 0x6e, 0xb7, 0xdc, 0xd1, 0x96, 0x9e, 0x3c, 0x88, 0x1e, 0x75, 0xc5, 0x16, 0x19, - /*a9a0:*/ 0xf6, 0x6d, 0xaa, 0x58, 0x4f, 0x97, 0xf8, 0x09, 0x54, 0x4b, 0xbd, 0x9b, 0xbc, 0x99, 0x80, 0x11, - /*a9b0:*/ 0x17, 0x42, 0x20, 0x7c, 0x09, 0x46, 0x21, 0x3c, 0x58, 0xb6, 0x26, 0xfa, 0xc8, 0x95, 0x09, 0x38, - /*a9c0:*/ 0xbd, 0xd4, 0x2d, 0xfe, 0x7f, 0xf0, 0xce, 0x65, 0xe9, 0x89, 0x74, 0x72, 0x16, 0xba, 0xd3, 0xff, - /*a9d0:*/ 0x06, 0x49, 0x57, 0x47, 0x53, 0x7f, 0xca, 0x70, 0x16, 0xf5, 0x7e, 0x5b, 0xc3, 0xf2, 0xc9, 0x25, - /*a9e0:*/ 0x0a, 0x71, 0xfc, 0xaa, 0x40, 0xf4, 0xef, 0xd3, 0xc1, 0x1f, 0x98, 0xa8, 0xab, 0xb9, 0x56, 0x9e, - /*a9f0:*/ 0x03, 0x24, 0xd1, 0x44, 0x5b, 0x6c, 0x2b, 0xc4, 0x63, 0xae, 0x99, 0xe1, 0xef, 0x80, 0x24, 0x03, - /*aa00:*/ 0x10, 0x82, 0xbb, 0xea, 0x04, 0xe3, 0x47, 0xdf, 0x6e, 0xc4, 0x9b, 0x66, 0x54, 0xe1, 0x41, 0xb1, - /*aa10:*/ 0x61, 0x8e, 0x28, 0xda, 0x19, 0x14, 0xad, 0xd6, 0x44, 0xce, 0x25, 0x2a, 0x92, 0xa1, 0x53, 0x05, - /*aa20:*/ 0x3a, 0xcb, 0xf3, 0x7c, 0x6e, 0x9e, 0x8c, 0xf3, 0xbe, 0x20, 0x10, 0xa4, 0x30, 0x1b, 0x6b, 0xcf, - /*aa30:*/ 0xd1, 0xb5, 0x11, 0xd4, 0xb5, 0x17, 0x95, 0xad, 0xdb, 0x02, 0x30, 0x9d, 0xd1, 0x23, 0xe5, 0x35, - /*aa40:*/ 0x72, 0x3d, 0x8c, 0x9e, 0xab, 0x6c, 0xda, 0xf9, 0xc4, 0xf1, 0xf6, 0xee, 0x33, 0x6c, 0xf1, 0x61, - /*aa50:*/ 0x0a, 0x82, 0x54, 0x5a, 0x47, 0x4e, 0x56, 0x9d, 0xda, 0xda, 0xfd, 0x97, 0x15, 0xfe, 0xa0, 0x71, - /*aa60:*/ 0x8e, 0x33, 0x1e, 0x80, 0x46, 0x0d, 0xaa, 0x83, 0x1d, 0x71, 0x14, 0xa7, 0xd4, 0xdb, 0x03, 0x31, - /*aa70:*/ 0x47, 0x73, 0x93, 0x34, 0x0b, 0xff, 0x52, 0x9a, 0x68, 0xf9, 0x5e, 0xd3, 0xa9, 0x98, 0x61, 0x8b, - /*aa80:*/ 0xb0, 0x8e, 0x7a, 0xd7, 0x6f, 0xe2, 0x3f, 0x80, 0xc9, 0x8f, 0xf0, 0x43, 0x1e, 0xa3, 0x2a, 0xfe, - /*aa90:*/ 0xad, 0xc7, 0x76, 0x1d, 0x9c, 0x9e, 0x73, 0xc8, 0xb5, 0x28, 0x5b, 0x82, 0xc6, 0x01, 0xe6, 0x41, - /*aaa0:*/ 0x2c, 0xa2, 0xcc, 0xb2, 0x03, 0x5b, 0xc6, 0xa9, 0x44, 0xe0, 0x69, 0x9f, 0x87, 0xf5, 0x94, 0x1f, - /*aab0:*/ 0x7b, 0xdb, 0xb4, 0xa9, 0x9f, 0xe7, 0xff, 0x9b, 0xdd, 0x84, 0x12, 0x2d, 0x72, 0xcb, 0x0c, 0x26, - /*aac0:*/ 0xf6, 0xb9, 0xfe, 0xd1, 0xd5, 0x76, 0x34, 0x85, 0xf5, 0x95, 0x2f, 0x4f, 0x20, 0xb6, 0x96, 0xec, - /*aad0:*/ 0xcf, 0x69, 0x02, 0x3e, 0x22, 0xcd, 0x1d, 0x33, 0xa7, 0xfa, 0xcd, 0xee, 0x40, 0x82, 0xe2, 0x96, - /*aae0:*/ 0x45, 0xce, 0xf5, 0xe1, 0x45, 0x5d, 0x99, 0x4a, 0xba, 0x8c, 0xd6, 0x66, 0xb3, 0x74, 0xe6, 0x62, - /*aaf0:*/ 0xc8, 0x21, 0xca, 0xeb, 0xe6, 0xef, 0xab, 0x75, 0x05, 0xf7, 0xfd, 0xab, 0x68, 0x62, 0x8f, 0x1d, - /*ab00:*/ 0xbf, 0xef, 0xda, 0xeb, 0xcf, 0x95, 0xed, 0x3f, 0xb0, 0xb0, 0xa3, 0xf0, 0x66, 0x4c, 0x8a, 0x9b, - /*ab10:*/ 0x36, 0xd9, 0xf2, 0xa0, 0xcf, 0xe2, 0xe9, 0xe0, 0xb1, 0x30, 0xdc, 0xae, 0xde, 0x7e, 0x48, 0xa6, - /*ab20:*/ 0xb1, 0x52, 0x5d, 0x41, 0x16, 0x34, 0x4d, 0x2b, 0x48, 0x54, 0x21, 0x74, 0xab, 0xde, 0x31, 0x71, - /*ab30:*/ 0x1d, 0x7d, 0xeb, 0xd1, 0x54, 0xfe, 0x49, 0x10, 0x8e, 0x05, 0xce, 0xd0, 0x11, 0x63, 0xfb, 0x57, - /*ab40:*/ 0xf5, 0x14, 0x69, 0xf5, 0xdb, 0x75, 0x90, 0xc9, 0xc6, 0x77, 0xa1, 0xaa, 0xd4, 0xc0, 0xd4, 0x8a, - /*ab50:*/ 0x90, 0x99, 0xf2, 0xb4, 0x85, 0x72, 0x7f, 0x50, 0x7c, 0x6b, 0x7c, 0xe7, 0xd3, 0x94, 0x3e, 0x40, - /*ab60:*/ 0x5e, 0x5e, 0xd7, 0x6e, 0x66, 0x59, 0x97, 0x16, 0x93, 0x7f, 0xe6, 0x1f, 0xa2, 0xd5, 0x77, 0xc0, - /*ab70:*/ 0x96, 0xc9, 0x6c, 0x2b, 0x20, 0x74, 0x7f, 0xf0, 0x60, 0x56, 0xf7, 0x5c, 0x35, 0x1e, 0xe8, 0xd7, - /*ab80:*/ 0xaf, 0x60, 0xe4, 0x4b, 0x58, 0xbc, 0xfb, 0x26, 0x25, 0x60, 0x07, 0x16, 0x8d, 0x42, 0x43, 0x54, - /*ab90:*/ 0x92, 0x4f, 0x04, 0x64, 0x08, 0xd0, 0xce, 0x2d, 0xbc, 0x19, 0x4d, 0x1b, 0x73, 0xff, 0xcb, 0x21, - /*aba0:*/ 0xb9, 0x5d, 0xb6, 0xd9, 0x80, 0x77, 0xdd, 0x12, 0x97, 0x3c, 0x76, 0x34, 0xe0, 0xd1, 0xb1, 0xab, - /*abb0:*/ 0xdf, 0x39, 0xef, 0xce, 0xe1, 0xdc, 0x0f, 0x20, 0x17, 0x64, 0x83, 0x6e, 0xc6, 0x15, 0x9a, 0xde, - /*abc0:*/ 0x08, 0x41, 0x67, 0x82, 0xd4, 0xb6, 0x6e, 0x19, 0x45, 0x85, 0xa9, 0x58, 0xde, 0xd5, 0xe1, 0xf2, - /*abd0:*/ 0xa4, 0xc4, 0x69, 0x5d, 0x6c, 0xbc, 0xef, 0xdd, 0xd5, 0xa6, 0xde, 0xc0, 0xc7, 0x45, 0x6c, 0x71, - /*abe0:*/ 0xb6, 0x6e, 0x18, 0x90, 0x7b, 0x7a, 0xb7, 0x06, 0xe1, 0xe4, 0x75, 0x27, 0x51, 0x40, 0x88, 0x4a, - /*abf0:*/ 0x6e, 0x15, 0x6c, 0x0c, 0xf8, 0x4b, 0xcc, 0x06, 0x3a, 0xa5, 0x83, 0x2a, 0xaa, 0x95, 0xec, 0x6b, - /*ac00:*/ 0x4e, 0x71, 0x6a, 0xb3, 0x06, 0xc5, 0x6b, 0x6c, 0xa3, 0xfb, 0xee, 0x95, 0x51, 0x06, 0xa2, 0x77, - /*ac10:*/ 0x89, 0x6e, 0xd1, 0xdb, 0x09, 0xc7, 0xee, 0xce, 0x56, 0xf6, 0xc9, 0x66, 0x41, 0xcc, 0x04, 0x25, - /*ac20:*/ 0xce, 0x93, 0x96, 0x9f, 0xf0, 0x25, 0xc1, 0xbc, 0x01, 0x43, 0x68, 0x33, 0xaf, 0xae, 0x25, 0x2f, - /*ac30:*/ 0x88, 0xc8, 0x26, 0xb3, 0x3d, 0x4d, 0x07, 0x46, 0x78, 0xce, 0xd4, 0x62, 0x05, 0xd3, 0xa8, 0xc2, - /*ac40:*/ 0xac, 0x2c, 0x87, 0x47, 0xba, 0xa6, 0x30, 0x50, 0x9d, 0x9d, 0xa7, 0x92, 0xdc, 0x3f, 0xc1, 0xc1, - /*ac50:*/ 0x9c, 0x05, 0x48, 0x65, 0x74, 0xb9, 0xdf, 0xae, 0xb4, 0x48, 0x22, 0xd1, 0x82, 0xfb, 0x0f, 0x6e, - /*ac60:*/ 0x2e, 0xfa, 0x16, 0x3f, 0x6f, 0x10, 0x30, 0x16, 0x92, 0x89, 0xaa, 0xd4, 0xb4, 0xdc, 0x2d, 0x66, - /*ac70:*/ 0x36, 0x80, 0xbe, 0x62, 0xad, 0xab, 0x78, 0x15, 0x8b, 0x18, 0xb7, 0x66, 0x70, 0xf9, 0xf7, 0xf4, - /*ac80:*/ 0x35, 0xf2, 0x0d, 0x2c, 0xa8, 0xa1, 0x94, 0xbf, 0x4a, 0x6f, 0xe5, 0x51, 0x1f, 0xa4, 0x34, 0x55, - /*ac90:*/ 0x1e, 0x56, 0xa8, 0xc3, 0x3a, 0x9d, 0x37, 0x80, 0x1a, 0x21, 0xc8, 0xc3, 0xe1, 0xb6, 0xa4, 0x90, - /*aca0:*/ 0x61, 0xac, 0xcc, 0x82, 0x63, 0xa8, 0x3e, 0x5f, 0x8f, 0xfe, 0xb7, 0xb5, 0x48, 0xcd, 0x18, 0xc8, - /*acb0:*/ 0xe7, 0x92, 0x9b, 0xc5, 0x00, 0x43, 0xa4, 0x39, 0x66, 0x67, 0xc7, 0x62, 0x75, 0xd3, 0x3b, 0xea, - /*acc0:*/ 0x07, 0x32, 0x9d, 0x99, 0x12, 0xf6, 0xb5, 0x67, 0xd6, 0x57, 0x50, 0x51, 0xd0, 0xd3, 0xe3, 0x3e, - /*acd0:*/ 0xec, 0x5b, 0x36, 0xea, 0xbb, 0x8b, 0x6d, 0x64, 0xd6, 0xf2, 0x78, 0xc4, 0x9c, 0xb0, 0x37, 0xd0, - /*ace0:*/ 0x4d, 0x77, 0x13, 0x45, 0x71, 0x87, 0x17, 0xc6, 0xaf, 0xba, 0xd1, 0x17, 0x0d, 0x4b, 0x87, 0x9f, - /*acf0:*/ 0x8f, 0x45, 0x0f, 0x5b, 0xbd, 0xe6, 0xcd, 0x18, 0x96, 0xf0, 0xe1, 0x58, 0xfb, 0xbb, 0x62, 0x78, - /*ad00:*/ 0x5b, 0x30, 0xeb, 0xed, 0x79, 0x4e, 0x62, 0x16, 0xc6, 0x9f, 0x26, 0x73, 0xeb, 0x5e, 0xa0, 0x04, - /*ad10:*/ 0xd9, 0xf3, 0x9d, 0xac, 0x6d, 0xb2, 0xbd, 0xcd, 0xc8, 0xc7, 0x75, 0x99, 0xca, 0xf3, 0x4f, 0x3d, - /*ad20:*/ 0xd6, 0x60, 0x2a, 0xf1, 0x35, 0x4a, 0xce, 0xd2, 0x84, 0xcc, 0x0e, 0x8e, 0xb7, 0x52, 0xf5, 0x06, - /*ad30:*/ 0x43, 0xa1, 0xae, 0xa5, 0x85, 0x45, 0x78, 0x23, 0xc1, 0x4a, 0x15, 0x1d, 0x17, 0xfd, 0xf5, 0xb0, - /*ad40:*/ 0x8f, 0x43, 0xc4, 0x37, 0xc3, 0x7c, 0xe8, 0xee, 0x31, 0x88, 0xcf, 0xef, 0x2d, 0x82, 0x0b, 0xd3, - /*ad50:*/ 0xf6, 0x68, 0x3d, 0x6f, 0x17, 0xac, 0x98, 0x4c, 0x81, 0x0c, 0x0f, 0xc0, 0xdf, 0xad, 0x2d, 0xd5, - /*ad60:*/ 0x20, 0x67, 0xba, 0xe5, 0xbc, 0xc3, 0x7b, 0x8c, 0x03, 0x23, 0xf2, 0x67, 0x81, 0x8c, 0xd3, 0xdc, - /*ad70:*/ 0xde, 0x21, 0x54, 0xb6, 0xaf, 0xb0, 0x14, 0xb1, 0x60, 0x25, 0x7b, 0x08, 0xe6, 0xec, 0x5b, 0x79, - /*ad80:*/ 0xc6, 0x2b, 0x5a, 0xdc, 0x85, 0x12, 0x20, 0x63, 0x79, 0x55, 0xf6, 0x61, 0x1c, 0x97, 0x06, 0x0c, - /*ad90:*/ 0xbe, 0xd2, 0x7f, 0xdf, 0x1f, 0xe9, 0x54, 0xeb, 0xfe, 0x41, 0x17, 0x5c, 0x01, 0x79, 0x49, 0x5d, - /*ada0:*/ 0x54, 0x8d, 0x61, 0x11, 0x2f, 0x6c, 0x17, 0x7f, 0x12, 0xab, 0xdf, 0xde, 0xb1, 0x7b, 0x0a, 0x4d, - /*adb0:*/ 0xa9, 0xe6, 0x79, 0xf5, 0xcc, 0xc4, 0x07, 0x34, 0xca, 0xf4, 0xdf, 0xdd, 0x1d, 0x21, 0xdb, 0xf4, - /*adc0:*/ 0x65, 0x7d, 0xe8, 0x96, 0xe9, 0xf5, 0x2b, 0x43, 0x53, 0xc7, 0x21, 0xc0, 0x3d, 0x40, 0xe6, 0x7e, - /*add0:*/ 0x66, 0x6f, 0x7d, 0xfa, 0xd0, 0xa0, 0x10, 0x70, 0x43, 0x6d, 0xce, 0x94, 0xbd, 0x3b, 0x36, 0xd1, - /*ade0:*/ 0x66, 0xaf, 0xca, 0x05, 0x28, 0x75, 0x81, 0xd7, 0x27, 0x34, 0xaa, 0x93, 0x85, 0xa2, 0x7a, 0x40, - /*adf0:*/ 0x4d, 0xdb, 0xdd, 0x4d, 0xb8, 0x99, 0xf8, 0xe6, 0x17, 0x9d, 0x9b, 0x02, 0xbe, 0xa4, 0xba, 0x73, - /*ae00:*/ 0x53, 0x40, 0x48, 0x25, 0x44, 0x36, 0x65, 0x01, 0xb5, 0xbf, 0x4f, 0xe0, 0xd2, 0x07, 0xdc, 0xf9, - /*ae10:*/ 0x0e, 0xc2, 0x5c, 0xbf, 0x3e, 0xaf, 0xbd, 0xae, 0x57, 0x92, 0xb6, 0xd5, 0x82, 0x19, 0x2f, 0x7f, - /*ae20:*/ 0x49, 0x79, 0x10, 0x6c, 0x8c, 0x60, 0x8d, 0xdc, 0x9d, 0x91, 0xfd, 0xcd, 0x0e, 0x02, 0x1e, 0x2b, - /*ae30:*/ 0x08, 0x4b, 0x91, 0x5f, 0x3e, 0x7d, 0xe5, 0xd4, 0x45, 0x5b, 0x8d, 0xe9, 0xb7, 0x02, 0x3f, 0xbb, - /*ae40:*/ 0xf6, 0x61, 0x19, 0xde, 0x28, 0x3f, 0xe9, 0x24, 0xb3, 0x99, 0xe0, 0x11, 0xd3, 0x51, 0xd7, 0x12, - /*ae50:*/ 0x7e, 0x98, 0x74, 0x60, 0x62, 0xb7, 0xd3, 0x42, 0x6b, 0x82, 0xda, 0xd3, 0x63, 0x15, 0x7b, 0x45, - /*ae60:*/ 0x16, 0x78, 0xca, 0x86, 0x86, 0xbd, 0xf1, 0x9b, 0x26, 0xe3, 0x02, 0x50, 0xd1, 0x0e, 0x78, 0x0e, - /*ae70:*/ 0x87, 0xd6, 0x32, 0x83, 0x9f, 0x85, 0xa2, 0x6d, 0x90, 0x7c, 0x87, 0x91, 0x12, 0x3e, 0xd3, 0x67, - /*ae80:*/ 0x48, 0x16, 0x1c, 0xd5, 0x14, 0x1b, 0xa4, 0x30, 0x68, 0x39, 0xcb, 0x26, 0xca, 0xc6, 0x54, 0x65, - /*ae90:*/ 0xa5, 0xe8, 0x9c, 0x42, 0xd9, 0x03, 0x58, 0x8d, 0x4b, 0xf7, 0x27, 0x16, 0x40, 0xc8, 0xcf, 0x9c, - /*aea0:*/ 0x79, 0x1a, 0x9c, 0x44, 0xd3, 0x3a, 0x99, 0xec, 0xf3, 0xca, 0xd3, 0xd1, 0x8e, 0xd5, 0x6c, 0x47, - /*aeb0:*/ 0xff, 0x77, 0xb7, 0x38, 0x0a, 0x11, 0x2f, 0xc2, 0xad, 0xb7, 0xed, 0x44, 0x0d, 0x77, 0x36, 0x61, - /*aec0:*/ 0xbd, 0x63, 0xad, 0xd1, 0xed, 0x67, 0xbd, 0x40, 0xdc, 0xbd, 0x31, 0x1c, 0xe5, 0xc0, 0x02, 0x38, - /*aed0:*/ 0x63, 0x30, 0xba, 0x8d, 0xe2, 0x53, 0x5e, 0x66, 0x14, 0x57, 0xed, 0x9b, 0xd2, 0x99, 0xff, 0x36, - /*aee0:*/ 0x24, 0x39, 0xf6, 0xc2, 0x18, 0x61, 0x3c, 0x6b, 0x5a, 0x78, 0x14, 0xac, 0x62, 0x2b, 0xb2, 0xa0, - /*aef0:*/ 0xd9, 0x25, 0x58, 0x30, 0xf4, 0xc7, 0x24, 0x92, 0x67, 0x8c, 0x34, 0x0d, 0x65, 0x5b, 0x83, 0xfa, - /*af00:*/ 0xf9, 0xb5, 0x13, 0x4f, 0x10, 0x8b, 0x17, 0x94, 0x5a, 0x76, 0x4c, 0xcf, 0xab, 0x54, 0x48, 0x73, - /*af10:*/ 0xf8, 0x3f, 0x81, 0x4c, 0x11, 0xb0, 0xba, 0x0f, 0x6f, 0x83, 0x33, 0x8b, 0x57, 0x99, 0x62, 0x56, - /*af20:*/ 0x4e, 0xcd, 0xf8, 0xc5, 0x61, 0xcf, 0xcd, 0x6d, 0xe4, 0x1c, 0xc1, 0xee, 0x95, 0x71, 0x41, 0xd0, - /*af30:*/ 0xd9, 0xff, 0xfc, 0x24, 0xc4, 0xe6, 0x71, 0x96, 0x62, 0xfc, 0xb2, 0x95, 0x53, 0xe8, 0x16, 0xb8, - /*af40:*/ 0x62, 0xb1, 0x53, 0x67, 0xa7, 0xfb, 0xd5, 0xbb, 0x93, 0x7b, 0x42, 0x6b, 0xcb, 0xe4, 0xbb, 0x7e, - /*af50:*/ 0xe7, 0xbf, 0x9c, 0x41, 0xdf, 0x36, 0xb9, 0x2a, 0xfa, 0x8e, 0x0d, 0x67, 0x65, 0x98, 0x2e, 0xd3, - /*af60:*/ 0x15, 0x46, 0xcf, 0x91, 0x37, 0x1e, 0xe0, 0x33, 0x0f, 0x94, 0x04, 0x9c, 0xaa, 0xcb, 0x73, 0xe2, - /*af70:*/ 0x24, 0xb3, 0x08, 0x38, 0xfd, 0x8f, 0x67, 0x16, 0x3e, 0xac, 0xbc, 0x2c, 0xfd, 0x97, 0x15, 0x90, - /*af80:*/ 0xa1, 0x9b, 0x4f, 0xb9, 0xbc, 0xb5, 0x41, 0xa9, 0xce, 0xeb, 0xe2, 0x78, 0x83, 0xa9, 0xd0, 0xf4, - /*af90:*/ 0x81, 0x4b, 0x29, 0x78, 0x58, 0xa7, 0x58, 0x1f, 0xeb, 0xc3, 0xd7, 0xae, 0x7a, 0xde, 0x4d, 0x73, - /*afa0:*/ 0xf0, 0x87, 0x1e, 0x84, 0x28, 0x6c, 0xb6, 0x2d, 0x18, 0x6f, 0x2e, 0x79, 0xa6, 0x79, 0x74, 0xc4, - /*afb0:*/ 0x43, 0xd2, 0x76, 0x11, 0x44, 0xf9, 0x32, 0xd3, 0x12, 0x4c, 0x4b, 0xfe, 0x3a, 0xc3, 0x2d, 0xf3, - /*afc0:*/ 0x81, 0x9f, 0xd7, 0xeb, 0xf0, 0x0d, 0x81, 0x8d, 0xbc, 0x07, 0x17, 0xc0, 0x3a, 0xdd, 0xee, 0x50, - /*afd0:*/ 0x09, 0xb5, 0xa1, 0x58, 0xd6, 0xf7, 0x3b, 0xfb, 0x87, 0xd7, 0x50, 0xb8, 0x0b, 0xf5, 0x7d, 0x81, - /*afe0:*/ 0x68, 0xf5, 0x36, 0x00, 0x62, 0x1f, 0xc7, 0xfc, 0xa0, 0xbd, 0xe8, 0x4d, 0x11, 0x61, 0x65, 0xbd, - /*aff0:*/ 0x59, 0xad, 0x16, 0xe2, 0x48, 0x50, 0x35, 0x17, 0x00, 0xb2, 0x62, 0xf9, 0x6f, 0x41, 0xfb, 0x9f, - /*b000:*/ 0x69, 0xb4, 0x9c, 0x87, 0xf5, 0x46, 0x21, 0xb6, 0x46, 0x87, 0xbd, 0x64, 0xc6, 0xb4, 0xa5, 0xd2, - /*b010:*/ 0x93, 0x9e, 0xef, 0x3b, 0xaa, 0x51, 0x44, 0x72, 0x4d, 0xfa, 0x88, 0xc9, 0x8c, 0x0e, 0xa9, 0xbb, - /*b020:*/ 0x2a, 0xe1, 0x22, 0xda, 0xed, 0x6b, 0x32, 0xe0, 0x9f, 0x8b, 0x66, 0x3c, 0x4e, 0x19, 0x16, 0x10, - /*b030:*/ 0x81, 0x31, 0x32, 0xfe, 0xa4, 0x23, 0x6c, 0x2c, 0xf5, 0xbf, 0x06, 0xa8, 0x4d, 0xe4, 0x90, 0x77, - /*b040:*/ 0xe2, 0x2f, 0x83, 0xbb, 0xcf, 0xaa, 0x3f, 0xff, 0xd0, 0x7f, 0x65, 0x06, 0x30, 0x62, 0x9c, 0xcb, - /*b050:*/ 0xb4, 0x72, 0xf1, 0xb9, 0xa0, 0x25, 0x12, 0xcc, 0xc8, 0x3a, 0xd7, 0xb8, 0x5e, 0x64, 0x2e, 0x8f, - /*b060:*/ 0x6e, 0xbf, 0x80, 0x19, 0xe4, 0x3f, 0x70, 0x2e, 0x4a, 0xc4, 0x49, 0x1d, 0x35, 0xd8, 0x3f, 0x76, - /*b070:*/ 0x8e, 0x3c, 0xaa, 0x12, 0x2e, 0x6c, 0x60, 0x6b, 0x11, 0x8f, 0xbf, 0xde, 0x19, 0xac, 0x40, 0xfb, - /*b080:*/ 0xda, 0x1e, 0xd9, 0x0a, 0xab, 0xd5, 0xd7, 0x11, 0xd9, 0x62, 0x58, 0x12, 0xf9, 0x98, 0x99, 0x6b, - /*b090:*/ 0xc8, 0x7a, 0xad, 0xc6, 0xa4, 0xf4, 0x6b, 0x1f, 0xa0, 0xf3, 0x35, 0x87, 0x04, 0xde, 0x3d, 0x78, - /*b0a0:*/ 0x27, 0x07, 0xcf, 0xdb, 0xc3, 0xa2, 0x16, 0xaf, 0xac, 0x1c, 0x8e, 0x69, 0xd0, 0x69, 0x0b, 0xc2, - /*b0b0:*/ 0x65, 0xb7, 0xed, 0x4b, 0xb4, 0xf9, 0x87, 0x52, 0x84, 0x01, 0x57, 0xd0, 0xf8, 0x9c, 0x12, 0x3a, - /*b0c0:*/ 0xed, 0x42, 0x2f, 0x28, 0x44, 0x9c, 0xa7, 0x34, 0x2b, 0xfc, 0xc3, 0x58, 0x8c, 0x2d, 0x8a, 0xf5, - /*b0d0:*/ 0x3c, 0x34, 0x02, 0x97, 0x63, 0x9e, 0x16, 0x90, 0xbd, 0x49, 0x1d, 0x90, 0x8d, 0xce, 0x70, 0xa9, - /*b0e0:*/ 0xe5, 0xa2, 0x39, 0xc3, 0xa1, 0xe6, 0x63, 0xcb, 0x99, 0x45, 0xc9, 0xee, 0x89, 0xce, 0xb6, 0x80, - /*b0f0:*/ 0xbb, 0xbf, 0x1e, 0xd5, 0x01, 0xfb, 0x25, 0xce, 0x4b, 0xd1, 0x2b, 0x38, 0xec, 0x3c, 0xb2, 0x38, - /*b100:*/ 0x45, 0x30, 0x35, 0x32, 0x00, 0x0f, 0x03, 0x1e, 0x32, 0x20, 0x41, 0x09, 0x00, 0x01, 0x01, 0xff, - /*b110:*/ 0x08, 0xff, 0x04, 0x1f, 0x03, 0x1e, 0x08, 0x2d, 0x00, 0x20, 0x76, 0x02, 0x01, 0x3f, 0xff, 0x37, - /*b120:*/ 0xff, 0x14, 0x52, 0x8f, 0x54, 0xc8, 0xaf, 0x80, 0xbb, 0x00, 0x28, 0x5a, 0x5a, 0x2f, 0x2f, 0x0a, - /*b130:*/ 0x04, 0xac, 0x00, 0x04, 0xa1, 0x01, 0x1e, 0x18, 0x18, 0x96, 0x00, 0x02, 0x68, 0x01, 0x40, 0x03, - /*b140:*/ 0x0e, 0x1f, 0x14, 0xd7, 0x00, 0x19, 0x04, 0x00, 0x00, 0xaa, 0x1e, 0x01, 0x00, 0x01, 0x02, 0x03, - /*b150:*/ 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, - /*b160:*/ 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x21, 0x22, 0x23, 0x24, - /*b170:*/ 0x25, 0x26, 0x27, 0x29, 0x2a, 0x2b, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, - /*b180:*/ 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x12, 0x14, 0x16, 0x17, 0x18, - /*b190:*/ 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0xff, 0xff, 0xff, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x00, - /*b1a0:*/ 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0x17, 0x15, 0x14, 0x01, 0x0e, 0x1a, 0x27, 0x34, 0x42, 0x57, 0x6c, - /*b1b0:*/ 0x00, 0x88, 0x13, 0xff, 0x64, 0x00, 0xe8, 0x03, 0x80, 0xb4, 0xda, 0x58, 0x1b, 0x00, 0xc0, 0x40, - /*b1c0:*/ 0xcd, 0x14, 0xcd, 0x14, 0x00, 0x10, 0x00, 0x10, 0x08, 0x05, 0x03, 0x05, 0x07, 0x07, 0x07, 0x04, - /*b1d0:*/ 0x30, 0x20, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, 0x60, 0x6c, 0x5e, 0x76, 0x58, 0x5c, 0x62, 0x5b, - /*b1e0:*/ 0x00, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b1f0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b200:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b210:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b220:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b230:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b240:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b250:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b260:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b270:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b280:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b290:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b2a0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b2b0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b2c0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b2d0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b2e0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b2f0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x92, 0x68, 0x7e, - /*b300:*/ 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b310:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b320:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b330:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b340:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b350:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b360:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b370:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b380:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b390:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b3a0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b3b0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b3c0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b3d0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b3e0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b3f0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b400:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b410:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b420:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b430:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b440:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - /*b450:*/ 0x0f, 0x03, 0x1e, 0x05, 0x20, 0x41, 0x08, 0x0b, 0x19, 0x19, 0x00, 0x00, 0xe2, 0x04, 0xb6, 0x08, - /*b460:*/ 0x1e, 0x05, 0x28, 0xf5, 0x28, 0x1e, 0x05, 0x01, 0x30, 0x00, 0x30, 0x00, 0x00, 0x50, 0x00, 0x50, - /*b470:*/ 0xf0, 0xd2, 0xf0, 0xd2, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x04, 0xc0, 0x00, 0x08, 0xa2, - /*b480:*/ 0x02, 0x32, 0x0a, 0x0a, 0x96, 0x00, 0x00, 0x56, 0x35, 0x05, 0x10, 0x00, 0x00, 0x0b, 0x20, 0x00, - /*b490:*/ 0x01, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x37, 0x33, 0x30, 0x31, - /*b4a0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0f, 0x05, 0x00, 0x10, 0x15, 0x1e, 0x2e, 0x4c, 0xc0, - /*b4b0:*/ 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b4c0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b4d0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x86, 0x56, - /*b4e0:*/ 0x15, 0x21, 0x11, 0x90, 0x85, 0x4f, 0x13, 0x01, 0x01, 0x87, 0x00, 0x4b, 0x00, 0x01, 0x34, 0x00, - /*b4f0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x00, - /*b500:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x5e, 0x01, 0x80, - /*b510:*/ 0x03, 0x0e, 0x1f, 0x00, 0x5a, 0x00, 0x19, 0x04, 0x1b, 0x00, 0x10, 0x0a, 0x00, 0x00, 0x02, 0x03, - /*b520:*/ 0x01, 0x04, 0x05, 0x06, 0x08, 0x07, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x0f, 0x11, 0x12, - /*b530:*/ 0x14, 0x13, 0x15, 0x17, 0x18, 0x16, 0x19, 0x1b, 0x1a, 0x1c, 0x1e, 0x1f, 0x1d, 0x21, 0x20, 0x23, - /*b540:*/ 0x25, 0x24, 0x22, 0x28, 0x26, 0x27, 0x29, 0x2b, 0x2a, 0x2c, 0x2d, 0x00, 0x01, 0x02, 0x04, 0x03, - /*b550:*/ 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0c, 0x0b, 0x0d, 0x0e, 0x0f, 0x11, 0x12, 0x10, 0x13, 0x14, - /*b560:*/ 0x16, 0x15, 0x18, 0x17, 0x1a, 0x1b, 0x19, 0x1c, 0x1d, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b570:*/ 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b580:*/ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xc0, - /*b590:*/ 0x80, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b5a0:*/ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b5b0:*/ 0x00, 0x00, 0xff, 0xff, 0x00, 0x2e, 0x1e, 0x44, 0x00, 0x19, 0x01, 0x01, 0xbf, 0x00, 0x7e, 0x0d, - /*b5c0:*/ 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b5d0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b5e0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, 0xb4, 0x0b, 0x00, 0x01, 0x54, 0x00, - /*b5f0:*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*b600:*/ 0xff}; -#endif /* __RMI_FW_H */ - diff --git a/drivers/input/touchscreen/synaptics_fw_updater.c b/drivers/input/touchscreen/synaptics_fw_updater.c deleted file mode 100644 index 1a15fdc..0000000 --- a/drivers/input/touchscreen/synaptics_fw_updater.c +++ /dev/null @@ -1,468 +0,0 @@ -/* drivers/input/touchscreen/synaptics_fw_updater.c - * - * Copyright (C) 2012 Samsung Electronics, Inc. - * - * This software is licensed under the terms of the GNU General Public - * License version 2, as published by the Free Software Foundation, and - * may be copied, distributed, and modified under those terms. - * - * 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. - * - */ - -#include <linux/synaptics_s7301.h> -#include "synaptics_fw.h" - -static void synaptics_setup(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - - fw->f34_database = data->f34.data_base_addr; - fw->f34_querybase = data->f34.query_base_addr; - fw->f01_database = data->f01.data_base_addr; - fw->f01_commandbase = data->f01.command_base_addr; - fw->f01_controlbase = data->f01.control_base_addr; - - fw->f34_reflash_blocknum - = fw->f34_database; - fw->f34_reflash_blockdata - = fw->f34_database + 2; - fw->f34_reflashquery_boot_id - = fw->f34_querybase; - fw->f34_reflashquery_flashpropertyquery - = fw->f34_querybase + 2; - fw->f34_reflashquery_fw_blocksize - = fw->f34_querybase + 3; - fw->f34_reflashquery_fw_blockcount - = fw->f34_querybase + 5; - fw->f34_reflashquery_config_blocksize - = fw->f34_querybase + 3; - fw->f34_reflashquery_config_blockcount - = fw->f34_querybase + 7; - - fw->fw_imgdata = (u8 *)((&fw->fw_data[0]) + 0x100); - fw->config_imgdata = (u8 *)(fw->fw_imgdata + fw->imagesize); - fw->fw_version = (u32)(fw->fw_data[7]); - - switch (fw->fw_version) { - case 2: - fw->lock_imgdata = (u8 *)((&fw->fw_data[0]) + 0xD0); - break; - case 3: - case 4: - fw->lock_imgdata = (u8 *)((&fw->fw_data[0]) + 0xC0); - break; - case 5: - fw->lock_imgdata = (u8 *)((&fw->fw_data[0]) + 0xB0); - break; - default: - break; - } -} - -/* synaptics_fw_initialize sets up the reflahs process - */ -static void synaptics_fw_initialize(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 buf[2]; - - buf[0] = 0x00; - synaptics_ts_write_data(data, 0xff, buf[0]); - - synaptics_setup(data); - - buf[0] = 0x0f; - synaptics_ts_write_data(data, - fw->f01_controlbase + 1, buf[0]); - - synaptics_ts_read_block(data, - fw->f34_reflashquery_fw_blocksize, buf, 2); - - fw->fw_blocksize = buf[0] | (buf[1] << 8); - printk(KERN_DEBUG "[TSP] %s - fw_blocksize : %u\n", - __func__, fw->fw_blocksize); -} - -/* synaptics_read_fw_info reads the F34 query registers and retrieves the block - * size and count of the firmware section of the image to be reflashed - */ -static void synaptics_read_fw_info(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 buf[2]; - - synaptics_ts_read_block(data, - fw->f34_reflashquery_fw_blockcount, - buf, 2); - fw->fw_blockcount = buf[0] | (buf[1] << 8); - fw->imagesize = (u32)(fw->fw_blockcount * fw->fw_blocksize); - printk(KERN_DEBUG "[TSP] %s - fw_blockcount : %u\n", - __func__, fw->fw_blockcount); - printk(KERN_DEBUG "[TSP] %s - imagesize : %u\n", - __func__, fw->imagesize); -} - -/* synaptics_read_config_info reads the F34 query registers - * and retrieves the block size and count of the configuration section - * of the image to be reflashed - */ -static void synaptics_read_config_info(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 buf[2]; - - synaptics_ts_read_block(data, - fw->f34_reflashquery_config_blocksize, - buf, 2); - fw->config_blocksize = (u16)(buf[0] | (buf[1] << 8)); - - printk(KERN_DEBUG "[TSP] config_blocksize : %u\n", - fw->config_blocksize); - - synaptics_ts_read_block(data, - fw->f34_reflashquery_config_blockcount, - buf, 2); - fw->config_blockcount = (u16)(buf[0] | (buf[1] << 8)); - fw->config_imagesize = - (u32)(fw->config_blockcount * fw->config_blocksize); - printk(KERN_DEBUG "[TSP] config_blockcount : %u\n", - fw->config_blockcount); - printk(KERN_DEBUG "[TSP] config_imagesize : %u\n", - fw->config_imagesize); -} - -/* synaptics_read_bootload_id reads the F34 query registers - * and retrieves the bootloader ID of the firmware - */ -static void synaptics_read_bootload_id(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 buf[2]; - synaptics_ts_read_block(data, - fw->f34_reflashquery_boot_id, buf, 2); - fw->boot_id = (u16)(buf[0] | buf[1] << 8); - printk(KERN_DEBUG "[TSP] read BootloadID : 0x%x\n", fw->boot_id); -} - -/* synaptics_write_bootload_id writes the bootloader ID - * to the F34 data register to unlock the reflash process - */ -static void synaptics_write_bootload_id(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 buf[2]; - - buf[0] = fw->boot_id & 0xff; - buf[1] = (fw->boot_id >> 8) & 0xff; - - synaptics_ts_write_block(data, - fw->f34_reflash_blockdata, buf, 2); -} - -/* synaptics_enable_flashing kicks off the reflash process - */ -static void synaptics_enable_flashing(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 buf; - u8 status; - int cnt = 0; - - printk(KERN_DEBUG "[TSP] %s\n", __func__); - - /* Reflash is enabled by first reading the bootloader ID from - the firmware and write it back */ - synaptics_read_bootload_id(data); - synaptics_write_bootload_id(data); - - /* Make sure Reflash is not already enabled */ - synaptics_ts_read_data(data, - fw->f34_flashcontrol, &buf); - while (((buf & 0x0f) != 0x00) && (cnt++ < 300)) { - usleep_range(500, 1000); - synaptics_ts_read_data(data, - fw->f34_flashcontrol, &buf); - } - - synaptics_ts_read_data(data, - fw->f01_database, &status); - - if ((status & 0x40) == 0) { - /* Write the "Enable Flash Programming command to - F34 Control register Wait for ATTN and then clear the ATTN. */ - buf = 0x0f; - synaptics_ts_write_data(data, - fw->f34_flashcontrol, buf); - mdelay(300); - synaptics_ts_read_data(data, - (fw->f01_database + 1), &status); - - /* Scan the PDT again to ensure all register offsets are - correct */ - synaptics_setup(data); - - /* Read the "Program Enabled" bit of the F34 Control register, - and proceed only if the bit is set.*/ - synaptics_ts_read_data(data, - fw->f34_flashcontrol, &buf); - - cnt = 0; - while (((buf & 0x0f) != 0x00) && (cnt++ < 300)) { - /* In practice, if buf!=0x80 happens for multiple - counts, it indicates reflash is failed to be enabled, - and program should quit */ - usleep_range(500, 1000); - synaptics_ts_read_data(data, - fw->f34_flashcontrol, &buf); - } - } -} - -/* synaptics_wait_attn waits for ATTN to be asserted - * within a certain time threshold. - * The function also checks for the F34 "Program Enabled" bit and clear ATTN - * accordingly. - */ -static void synaptics_wait_attn(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 buf; - u8 status; - int cnt = 0; - - while (gpio_get_value(data->gpio) && cnt++ < 300) - usleep_range(500, 1000); - - synaptics_ts_read_data(data, - fw->f34_flashcontrol, &buf); - while ((buf != 0x80) && (cnt++ < 300)) { - usleep_range(500, 1000); - synaptics_ts_read_data(data, - fw->f34_flashcontrol, &buf); - } - synaptics_ts_read_data(data, - (fw->f01_database + 1), &status); -} - -/* synaptics_program_config writes the configuration section of the image block - * by block - */ -static void synaptics_program_config(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 buf[2]; - u8 *pbuf; - unsigned short block; - - printk(KERN_DEBUG "[TSP] Program Configuration Section...\n"); - - pbuf = (u8 *) &fw->fw_data[0xb100]; - - for (block = 0; block < fw->config_blockcount; block++) { - buf[0] = block & 0xff; - buf[1] = (block & 0xff00) >> 8; - - /* Block by blcok, write the block number and data to - the corresponding F34 data registers */ - synaptics_ts_write_block(data, - fw->f34_reflash_blocknum, buf, 2); - synaptics_ts_write_block(data, - fw->f34_reflash_blockdata, - pbuf, fw->config_blocksize); - pbuf += fw->config_blocksize; - - /* Issue the "Write Configuration Block" command */ - buf[0] = 0x06; - synaptics_ts_write_data(data, - fw->f34_flashcontrol, buf[0]); - synaptics_wait_attn(data); - printk(KERN_DEBUG "."); - } -} - -/* synaptics_finalize_reflash finalizes the reflash process -*/ -static void synaptics_finalize_reflash(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 buf; - u8 status; - int cnt = 0; - - printk(KERN_DEBUG "[TSP] Finalizing Reflash..\n"); - - /* Issue the "Reset" command to F01 command register to reset the chip - This command will also test the new firmware image and check if its is - valid */ - buf = 1; - synaptics_ts_write_data(data, - fw->f01_commandbase, buf); - - mdelay(160); - synaptics_ts_read_data(data, - fw->f01_database, &buf); - - /* Sanity check that the reflash process is still enabled */ - synaptics_ts_read_data(data, - fw->f34_flashcontrol, &status); - while (((status & 0x0f) != 0x00) && (cnt++ < 300)) { - usleep_range(500, 1000); - synaptics_ts_read_data(data, - fw->f34_flashcontrol, &status); - } - synaptics_ts_read_data(data, - (fw->f01_database + 1), &status); - - synaptics_setup(data); - - buf = 0; - cnt = 0; - - /* Check if the "Program Enabled" bit in F01 data register is cleared - Reflash is completed, and the image passes testing when the bit is - cleared */ - synaptics_ts_read_data(data, fw->f01_database, &buf); - while (((buf & 0x40) != 0) && (cnt++ < 300)) { - usleep_range(500, 1000); - synaptics_ts_read_data(data, fw->f01_database, &buf); - } - - /* Rescan PDT the update any changed register offsets */ - synaptics_setup(data); - - printk(KERN_DEBUG "[TSP] Reflash Completed. Please reboot.\n"); -} - -/* synaptics_fw_write writes the firmware section of the image block by - * block - */ -static void synaptics_fw_write(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - u8 *fw_data; - u8 buf[2]; - unsigned short block; - - printk(KERN_DEBUG "[TSP] %s\n", __func__); - - fw_data = (u8 *) &fw->fw_data[0x100]; - - for (block = 0; block < fw->fw_blockcount; ++block) { - static unsigned long swtich_slot_time; - if (printk_timed_ratelimit(&swtich_slot_time, 5000)) - printk(KERN_DEBUG "[TSP] block : %u\n", block); - /* Block by blcok, write the block number and data to - the corresponding F34 data registers */ - buf[0] = block & 0xff; - buf[1] = (block & 0xff00) >> 8; - synaptics_ts_write_block(data, - fw->f34_reflash_blocknum, buf, 2); - - synaptics_ts_write_block(data, - fw->f34_reflash_blockdata, fw_data, - fw->fw_blocksize); - fw_data += fw->fw_blocksize; - - /* Issue the "Write Firmware Block" command */ - buf[0] = 2; - synaptics_ts_write_data(data, - fw->f34_flashcontrol, buf[0]); - - synaptics_wait_attn(data); - } -} - -/* synaptics_program_fw prepares the firmware writing process -*/ -static void synaptics_program_fw(struct synaptics_drv_data *data) -{ - struct synaptics_ts_fw_block *fw = data->fw; - - printk(KERN_DEBUG "[TSP] %s\n", __func__); - -#if 0 - synaptics_read_bootload_id(data); -#endif - synaptics_write_bootload_id(data); - - synaptics_ts_write_data(data, fw->f34_flashcontrol, 0x3); - - synaptics_wait_attn(data); - synaptics_fw_write(data); -} - -int synaptics_fw_updater(struct synaptics_drv_data *data, u8 *fw_data) -{ - struct synaptics_ts_fw_block *fw; - int irq = gpio_to_irq(data->gpio); - bool update = true; - - fw = kzalloc(sizeof(struct synaptics_ts_fw_block), GFP_KERNEL); - data->fw = fw; - - if (NULL == fw_data) { - u8 *buf, *fw_version; - buf = kzalloc(4, GFP_KERNEL); - fw_version = kzalloc(4, GFP_KERNEL); - fw->fw_data = (u8 *)rmi_fw; - strncpy(fw_version, &rmi_fw[0xb100], - sizeof(fw_version)); - strncpy(data->firm_version, fw_version, - sizeof(data->firm_version)); - strncpy(data->firm_config, rmi_config_ver, - sizeof(data->firm_config)); - synaptics_ts_read_block(data, - data->f34.control_base_addr, - buf, 4); - - printk(KERN_DEBUG "[TSP] IC FW. : [%s], new FW. : [%s]\n", - buf, fw_version); - - if (strncmp((char *)fw_version, (char *)buf, 4) == 0) - update = false; - - kfree(buf); - kfree(fw_version); - - } else - fw->fw_data = fw_data; - - if (update) { - disable_irq(irq); - wake_lock(&data->wakelock); - synaptics_fw_initialize(data); - synaptics_read_config_info(data); - synaptics_read_fw_info(data); - fw->f34_flashcontrol = fw->f34_database - + fw->fw_blocksize + 2; - printk(KERN_DEBUG - "[TSP] F34_FlashControl : %u\n", - fw->f34_flashcontrol); - - synaptics_enable_flashing(data); - synaptics_program_fw(data); - synaptics_program_config(data); - synaptics_finalize_reflash(data); - if (data->pdata->set_power(false)) - data->pdata->hw_reset(); - else { - msleep(100); - data->pdata->set_power(true); - msleep(100); - } - - wake_unlock(&data->wakelock); - enable_irq(irq); - } - return 0; -} - -void forced_fw_update(struct synaptics_drv_data *data) -{ - synaptics_fw_updater(data, (u8 *)rmi_fw); -} - diff --git a/drivers/input/touchscreen/synaptics_i2c_rmi.c b/drivers/input/touchscreen/synaptics_i2c_rmi.c deleted file mode 100644 index 5729602..0000000 --- a/drivers/input/touchscreen/synaptics_i2c_rmi.c +++ /dev/null @@ -1,675 +0,0 @@ -/* drivers/input/keyboard/synaptics_i2c_rmi.c - * - * Copyright (C) 2007 Google, Inc. - * - * This software is licensed under the terms of the GNU General Public - * License version 2, as published by the Free Software Foundation, and - * may be copied, distributed, and modified under those terms. - * - * 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. - * - */ - -#include <linux/module.h> -#include <linux/delay.h> -#include <linux/earlysuspend.h> -#include <linux/hrtimer.h> -#include <linux/i2c.h> -#include <linux/input.h> -#include <linux/interrupt.h> -#include <linux/io.h> -#include <linux/platform_device.h> -#include <linux/slab.h> -#include <linux/synaptics_i2c_rmi.h> - -static struct workqueue_struct *synaptics_wq; - -struct synaptics_ts_data { - uint16_t addr; - struct i2c_client *client; - struct input_dev *input_dev; - int use_irq; - bool has_relative_report; - struct hrtimer timer; - struct work_struct work; - uint16_t max[2]; - int snap_state[2][2]; - int snap_down_on[2]; - int snap_down_off[2]; - int snap_up_on[2]; - int snap_up_off[2]; - int snap_down[2]; - int snap_up[2]; - uint32_t flags; - int reported_finger_count; - int8_t sensitivity_adjust; - int (*power)(int on); - struct early_suspend early_suspend; -}; - -#ifdef CONFIG_HAS_EARLYSUSPEND -static void synaptics_ts_early_suspend(struct early_suspend *h); -static void synaptics_ts_late_resume(struct early_suspend *h); -#endif - -static int synaptics_init_panel(struct synaptics_ts_data *ts) -{ - int ret; - - ret = i2c_smbus_write_byte_data(ts->client, 0xff, 0x10); /* page select = 0x10 */ - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_write_byte_data failed for page select\n"); - goto err_page_select_failed; - } - ret = i2c_smbus_write_byte_data(ts->client, 0x41, 0x04); /* Set "No Clip Z" */ - if (ret < 0) - printk(KERN_ERR "i2c_smbus_write_byte_data failed for No Clip Z\n"); - - ret = i2c_smbus_write_byte_data(ts->client, 0x44, - ts->sensitivity_adjust); - if (ret < 0) - pr_err("synaptics_ts: failed to set Sensitivity Adjust\n"); - -err_page_select_failed: - ret = i2c_smbus_write_byte_data(ts->client, 0xff, 0x04); /* page select = 0x04 */ - if (ret < 0) - printk(KERN_ERR "i2c_smbus_write_byte_data failed for page select\n"); - ret = i2c_smbus_write_byte_data(ts->client, 0xf0, 0x81); /* normal operation, 80 reports per second */ - if (ret < 0) - printk(KERN_ERR "synaptics_ts_resume: i2c_smbus_write_byte_data failed\n"); - return ret; -} - -static void synaptics_ts_work_func(struct work_struct *work) -{ - int i; - int ret; - int bad_data = 0; - struct i2c_msg msg[2]; - uint8_t start_reg; - uint8_t buf[15]; - struct synaptics_ts_data *ts = container_of(work, struct synaptics_ts_data, work); - int buf_len = ts->has_relative_report ? 15 : 13; - - msg[0].addr = ts->client->addr; - msg[0].flags = 0; - msg[0].len = 1; - msg[0].buf = &start_reg; - start_reg = 0x00; - msg[1].addr = ts->client->addr; - msg[1].flags = I2C_M_RD; - msg[1].len = buf_len; - msg[1].buf = buf; - - /* printk("synaptics_ts_work_func\n"); */ - for (i = 0; i < ((ts->use_irq && !bad_data) ? 1 : 10); i++) { - ret = i2c_transfer(ts->client->adapter, msg, 2); - if (ret < 0) { - printk(KERN_ERR "synaptics_ts_work_func: i2c_transfer failed\n"); - bad_data = 1; - } else { - /* printk("synaptics_ts_work_func: %x %x %x %x %x %x" */ - /* " %x %x %x %x %x %x %x %x %x, ret %d\n", */ - /* buf[0], buf[1], buf[2], buf[3], */ - /* buf[4], buf[5], buf[6], buf[7], */ - /* buf[8], buf[9], buf[10], buf[11], */ - /* buf[12], buf[13], buf[14], ret); */ - if ((buf[buf_len - 1] & 0xc0) != 0x40) { - printk(KERN_WARNING "synaptics_ts_work_func:" - " bad read %x %x %x %x %x %x %x %x %x" - " %x %x %x %x %x %x, ret %d\n", - buf[0], buf[1], buf[2], buf[3], - buf[4], buf[5], buf[6], buf[7], - buf[8], buf[9], buf[10], buf[11], - buf[12], buf[13], buf[14], ret); - if (bad_data) - synaptics_init_panel(ts); - bad_data = 1; - continue; - } - bad_data = 0; - if ((buf[buf_len - 1] & 1) == 0) { - /* printk("read %d coordinates\n", i); */ - break; - } else { - int pos[2][2]; - int f, a; - int base; - /* int x = buf[3] | (uint16_t)(buf[2] & 0x1f) << 8; */ - /* int y = buf[5] | (uint16_t)(buf[4] & 0x1f) << 8; */ - int z = buf[1]; - int w = buf[0] >> 4; - int finger = buf[0] & 7; - - /* int x2 = buf[3+6] | (uint16_t)(buf[2+6] & 0x1f) << 8; */ - /* int y2 = buf[5+6] | (uint16_t)(buf[4+6] & 0x1f) << 8; */ - /* int z2 = buf[1+6]; */ - /* int w2 = buf[0+6] >> 4; */ - /* int finger2 = buf[0+6] & 7; */ - - /* int dx = (int8_t)buf[12]; */ - /* int dy = (int8_t)buf[13]; */ - int finger2_pressed; - - /* printk("x %4d, y %4d, z %3d, w %2d, F %d, 2nd: x %4d, y %4d, z %3d, w %2d, F %d, dx %4d, dy %4d\n", */ - /* x, y, z, w, finger, */ - /* x2, y2, z2, w2, finger2, */ - /* dx, dy); */ - - base = 2; - for (f = 0; f < 2; f++) { - uint32_t flip_flag = SYNAPTICS_FLIP_X; - for (a = 0; a < 2; a++) { - int p = buf[base + 1]; - p |= (uint16_t)(buf[base] & 0x1f) << 8; - if (ts->flags & flip_flag) - p = ts->max[a] - p; - if (ts->flags & SYNAPTICS_SNAP_TO_INACTIVE_EDGE) { - if (ts->snap_state[f][a]) { - if (p <= ts->snap_down_off[a]) - p = ts->snap_down[a]; - else if (p >= ts->snap_up_off[a]) - p = ts->snap_up[a]; - else - ts->snap_state[f][a] = 0; - } else { - if (p <= ts->snap_down_on[a]) { - p = ts->snap_down[a]; - ts->snap_state[f][a] = 1; - } else if (p >= ts->snap_up_on[a]) { - p = ts->snap_up[a]; - ts->snap_state[f][a] = 1; - } - } - } - pos[f][a] = p; - base += 2; - flip_flag <<= 1; - } - base += 2; - if (ts->flags & SYNAPTICS_SWAP_XY) - swap(pos[f][0], pos[f][1]); - } - if (z) { - input_report_abs(ts->input_dev, ABS_X, pos[0][0]); - input_report_abs(ts->input_dev, ABS_Y, pos[0][1]); - } - input_report_abs(ts->input_dev, ABS_PRESSURE, z); - input_report_abs(ts->input_dev, ABS_TOOL_WIDTH, w); - input_report_key(ts->input_dev, BTN_TOUCH, finger); - finger2_pressed = finger > 1 && finger != 7; - input_report_key(ts->input_dev, BTN_2, finger2_pressed); - if (finger2_pressed) { - input_report_abs(ts->input_dev, ABS_HAT0X, pos[1][0]); - input_report_abs(ts->input_dev, ABS_HAT0Y, pos[1][1]); - } - - if (!finger) - z = 0; - input_report_abs(ts->input_dev, ABS_MT_TOUCH_MAJOR, z); - input_report_abs(ts->input_dev, ABS_MT_WIDTH_MAJOR, w); - input_report_abs(ts->input_dev, ABS_MT_POSITION_X, pos[0][0]); - input_report_abs(ts->input_dev, ABS_MT_POSITION_Y, pos[0][1]); - input_mt_sync(ts->input_dev); - if (finger2_pressed) { - input_report_abs(ts->input_dev, ABS_MT_TOUCH_MAJOR, z); - input_report_abs(ts->input_dev, ABS_MT_WIDTH_MAJOR, w); - input_report_abs(ts->input_dev, ABS_MT_POSITION_X, pos[1][0]); - input_report_abs(ts->input_dev, ABS_MT_POSITION_Y, pos[1][1]); - input_mt_sync(ts->input_dev); - } else if (ts->reported_finger_count > 1) { - input_report_abs(ts->input_dev, ABS_MT_TOUCH_MAJOR, 0); - input_report_abs(ts->input_dev, ABS_MT_WIDTH_MAJOR, 0); - input_mt_sync(ts->input_dev); - } - ts->reported_finger_count = finger; - input_sync(ts->input_dev); - } - } - } - if (ts->use_irq) - enable_irq(ts->client->irq); -} - -static enum hrtimer_restart synaptics_ts_timer_func(struct hrtimer *timer) -{ - struct synaptics_ts_data *ts = container_of(timer, struct synaptics_ts_data, timer); - /* printk("synaptics_ts_timer_func\n"); */ - - queue_work(synaptics_wq, &ts->work); - - hrtimer_start(&ts->timer, ktime_set(0, 12500000), HRTIMER_MODE_REL); - return HRTIMER_NORESTART; -} - -static irqreturn_t synaptics_ts_irq_handler(int irq, void *dev_id) -{ - struct synaptics_ts_data *ts = dev_id; - - /* printk("synaptics_ts_irq_handler\n"); */ - disable_irq_nosync(ts->client->irq); - queue_work(synaptics_wq, &ts->work); - return IRQ_HANDLED; -} - -static int synaptics_ts_probe( - struct i2c_client *client, const struct i2c_device_id *id) -{ - struct synaptics_ts_data *ts; - uint8_t buf0[4]; - uint8_t buf1[8]; - struct i2c_msg msg[2]; - int ret = 0; - uint16_t max_x, max_y; - int fuzz_x, fuzz_y, fuzz_p, fuzz_w; - struct synaptics_i2c_rmi_platform_data *pdata; - unsigned long irqflags; - int inactive_area_left; - int inactive_area_right; - int inactive_area_top; - int inactive_area_bottom; - int snap_left_on; - int snap_left_off; - int snap_right_on; - int snap_right_off; - int snap_top_on; - int snap_top_off; - int snap_bottom_on; - int snap_bottom_off; - uint32_t panel_version; - - if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { - printk(KERN_ERR "synaptics_ts_probe: need I2C_FUNC_I2C\n"); - ret = -ENODEV; - goto err_check_functionality_failed; - } - - ts = kzalloc(sizeof(*ts), GFP_KERNEL); - if (ts == NULL) { - ret = -ENOMEM; - goto err_alloc_data_failed; - } - INIT_WORK(&ts->work, synaptics_ts_work_func); - ts->client = client; - i2c_set_clientdata(client, ts); - pdata = client->dev.platform_data; - if (pdata) - ts->power = pdata->power; - if (ts->power) { - ret = ts->power(1); - if (ret < 0) { - printk(KERN_ERR "synaptics_ts_probe power on failed\n"); - goto err_power_failed; - } - } - - ret = i2c_smbus_write_byte_data(ts->client, 0xf4, 0x01); /* device command = reset */ - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_write_byte_data failed\n"); - /* fail? */ - } - { - int retry = 10; - while (retry-- > 0) { - ret = i2c_smbus_read_byte_data(ts->client, 0xe4); - if (ret >= 0) - break; - msleep(100); - } - } - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_read_byte_data failed\n"); - goto err_detect_failed; - } - printk(KERN_INFO "synaptics_ts_probe: Product Major Version %x\n", ret); - panel_version = ret << 8; - ret = i2c_smbus_read_byte_data(ts->client, 0xe5); - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_read_byte_data failed\n"); - goto err_detect_failed; - } - printk(KERN_INFO "synaptics_ts_probe: Product Minor Version %x\n", ret); - panel_version |= ret; - - ret = i2c_smbus_read_byte_data(ts->client, 0xe3); - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_read_byte_data failed\n"); - goto err_detect_failed; - } - printk(KERN_INFO "synaptics_ts_probe: product property %x\n", ret); - - if (pdata) { - while (pdata->version > panel_version) - pdata++; - ts->flags = pdata->flags; - ts->sensitivity_adjust = pdata->sensitivity_adjust; - irqflags = pdata->irqflags; - inactive_area_left = pdata->inactive_left; - inactive_area_right = pdata->inactive_right; - inactive_area_top = pdata->inactive_top; - inactive_area_bottom = pdata->inactive_bottom; - snap_left_on = pdata->snap_left_on; - snap_left_off = pdata->snap_left_off; - snap_right_on = pdata->snap_right_on; - snap_right_off = pdata->snap_right_off; - snap_top_on = pdata->snap_top_on; - snap_top_off = pdata->snap_top_off; - snap_bottom_on = pdata->snap_bottom_on; - snap_bottom_off = pdata->snap_bottom_off; - fuzz_x = pdata->fuzz_x; - fuzz_y = pdata->fuzz_y; - fuzz_p = pdata->fuzz_p; - fuzz_w = pdata->fuzz_w; - } else { - irqflags = 0; - inactive_area_left = 0; - inactive_area_right = 0; - inactive_area_top = 0; - inactive_area_bottom = 0; - snap_left_on = 0; - snap_left_off = 0; - snap_right_on = 0; - snap_right_off = 0; - snap_top_on = 0; - snap_top_off = 0; - snap_bottom_on = 0; - snap_bottom_off = 0; - fuzz_x = 0; - fuzz_y = 0; - fuzz_p = 0; - fuzz_w = 0; - } - - ret = i2c_smbus_read_byte_data(ts->client, 0xf0); - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_read_byte_data failed\n"); - goto err_detect_failed; - } - printk(KERN_INFO "synaptics_ts_probe: device control %x\n", ret); - - ret = i2c_smbus_read_byte_data(ts->client, 0xf1); - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_read_byte_data failed\n"); - goto err_detect_failed; - } - printk(KERN_INFO "synaptics_ts_probe: interrupt enable %x\n", ret); - - ret = i2c_smbus_write_byte_data(ts->client, 0xf1, 0); /* disable interrupt */ - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_write_byte_data failed\n"); - goto err_detect_failed; - } - - msg[0].addr = ts->client->addr; - msg[0].flags = 0; - msg[0].len = 1; - msg[0].buf = buf0; - buf0[0] = 0xe0; - msg[1].addr = ts->client->addr; - msg[1].flags = I2C_M_RD; - msg[1].len = 8; - msg[1].buf = buf1; - ret = i2c_transfer(ts->client->adapter, msg, 2); - if (ret < 0) { - printk(KERN_ERR "i2c_transfer failed\n"); - goto err_detect_failed; - } - printk(KERN_INFO "synaptics_ts_probe: 0xe0: %x %x %x %x %x %x %x %x\n", - buf1[0], buf1[1], buf1[2], buf1[3], - buf1[4], buf1[5], buf1[6], buf1[7]); - - ret = i2c_smbus_write_byte_data(ts->client, 0xff, 0x10); /* page select = 0x10 */ - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_write_byte_data failed for page select\n"); - goto err_detect_failed; - } - ret = i2c_smbus_read_word_data(ts->client, 0x02); - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_read_word_data failed\n"); - goto err_detect_failed; - } - ts->has_relative_report = !(ret & 0x100); - printk(KERN_INFO "synaptics_ts_probe: Sensor properties %x\n", ret); - ret = i2c_smbus_read_word_data(ts->client, 0x04); - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_read_word_data failed\n"); - goto err_detect_failed; - } - ts->max[0] = max_x = (ret >> 8 & 0xff) | ((ret & 0x1f) << 8); - ret = i2c_smbus_read_word_data(ts->client, 0x06); - if (ret < 0) { - printk(KERN_ERR "i2c_smbus_read_word_data failed\n"); - goto err_detect_failed; - } - ts->max[1] = max_y = (ret >> 8 & 0xff) | ((ret & 0x1f) << 8); - if (ts->flags & SYNAPTICS_SWAP_XY) - swap(max_x, max_y); - - ret = synaptics_init_panel(ts); /* will also switch back to page 0x04 */ - if (ret < 0) { - printk(KERN_ERR "synaptics_init_panel failed\n"); - goto err_detect_failed; - } - - ts->input_dev = input_allocate_device(); - if (ts->input_dev == NULL) { - ret = -ENOMEM; - printk(KERN_ERR "synaptics_ts_probe: Failed to allocate input device\n"); - goto err_input_dev_alloc_failed; - } - ts->input_dev->name = "synaptics-rmi-touchscreen"; - set_bit(EV_SYN, ts->input_dev->evbit); - set_bit(EV_KEY, ts->input_dev->evbit); - set_bit(BTN_TOUCH, ts->input_dev->keybit); - set_bit(BTN_2, ts->input_dev->keybit); - set_bit(EV_ABS, ts->input_dev->evbit); - inactive_area_left = inactive_area_left * max_x / 0x10000; - inactive_area_right = inactive_area_right * max_x / 0x10000; - inactive_area_top = inactive_area_top * max_y / 0x10000; - inactive_area_bottom = inactive_area_bottom * max_y / 0x10000; - snap_left_on = snap_left_on * max_x / 0x10000; - snap_left_off = snap_left_off * max_x / 0x10000; - snap_right_on = snap_right_on * max_x / 0x10000; - snap_right_off = snap_right_off * max_x / 0x10000; - snap_top_on = snap_top_on * max_y / 0x10000; - snap_top_off = snap_top_off * max_y / 0x10000; - snap_bottom_on = snap_bottom_on * max_y / 0x10000; - snap_bottom_off = snap_bottom_off * max_y / 0x10000; - fuzz_x = fuzz_x * max_x / 0x10000; - fuzz_y = fuzz_y * max_y / 0x10000; - ts->snap_down[!!(ts->flags & SYNAPTICS_SWAP_XY)] = -inactive_area_left; - ts->snap_up[!!(ts->flags & SYNAPTICS_SWAP_XY)] = max_x + inactive_area_right; - ts->snap_down[!(ts->flags & SYNAPTICS_SWAP_XY)] = -inactive_area_top; - ts->snap_up[!(ts->flags & SYNAPTICS_SWAP_XY)] = max_y + inactive_area_bottom; - ts->snap_down_on[!!(ts->flags & SYNAPTICS_SWAP_XY)] = snap_left_on; - ts->snap_down_off[!!(ts->flags & SYNAPTICS_SWAP_XY)] = snap_left_off; - ts->snap_up_on[!!(ts->flags & SYNAPTICS_SWAP_XY)] = max_x - snap_right_on; - ts->snap_up_off[!!(ts->flags & SYNAPTICS_SWAP_XY)] = max_x - snap_right_off; - ts->snap_down_on[!(ts->flags & SYNAPTICS_SWAP_XY)] = snap_top_on; - ts->snap_down_off[!(ts->flags & SYNAPTICS_SWAP_XY)] = snap_top_off; - ts->snap_up_on[!(ts->flags & SYNAPTICS_SWAP_XY)] = max_y - snap_bottom_on; - ts->snap_up_off[!(ts->flags & SYNAPTICS_SWAP_XY)] = max_y - snap_bottom_off; - printk(KERN_INFO "synaptics_ts_probe: max_x %d, max_y %d\n", max_x, max_y); - printk(KERN_INFO "synaptics_ts_probe: inactive_x %d %d, inactive_y %d %d\n", - inactive_area_left, inactive_area_right, - inactive_area_top, inactive_area_bottom); - printk(KERN_INFO "synaptics_ts_probe: snap_x %d-%d %d-%d, snap_y %d-%d %d-%d\n", - snap_left_on, snap_left_off, snap_right_on, snap_right_off, - snap_top_on, snap_top_off, snap_bottom_on, snap_bottom_off); - input_set_abs_params(ts->input_dev, ABS_X, -inactive_area_left, max_x + inactive_area_right, fuzz_x, 0); - input_set_abs_params(ts->input_dev, ABS_Y, -inactive_area_top, max_y + inactive_area_bottom, fuzz_y, 0); - input_set_abs_params(ts->input_dev, ABS_PRESSURE, 0, 255, fuzz_p, 0); - input_set_abs_params(ts->input_dev, ABS_TOOL_WIDTH, 0, 15, fuzz_w, 0); - input_set_abs_params(ts->input_dev, ABS_HAT0X, -inactive_area_left, max_x + inactive_area_right, fuzz_x, 0); - input_set_abs_params(ts->input_dev, ABS_HAT0Y, -inactive_area_top, max_y + inactive_area_bottom, fuzz_y, 0); - input_set_abs_params(ts->input_dev, ABS_MT_POSITION_X, -inactive_area_left, max_x + inactive_area_right, fuzz_x, 0); - input_set_abs_params(ts->input_dev, ABS_MT_POSITION_Y, -inactive_area_top, max_y + inactive_area_bottom, fuzz_y, 0); - input_set_abs_params(ts->input_dev, ABS_MT_TOUCH_MAJOR, 0, 255, fuzz_p, 0); - input_set_abs_params(ts->input_dev, ABS_MT_WIDTH_MAJOR, 0, 15, fuzz_w, 0); - /* ts->input_dev->name = ts->keypad_info->name; */ - ret = input_register_device(ts->input_dev); - if (ret) { - printk(KERN_ERR "synaptics_ts_probe: Unable to register %s input device\n", ts->input_dev->name); - goto err_input_register_device_failed; - } - if (client->irq) { - ret = request_irq(client->irq, synaptics_ts_irq_handler, irqflags, client->name, ts); - if (ret == 0) { - ret = i2c_smbus_write_byte_data(ts->client, 0xf1, 0x01); /* enable abs int */ - if (ret) - free_irq(client->irq, ts); - } - if (ret == 0) - ts->use_irq = 1; - else - dev_err(&client->dev, "request_irq failed\n"); - } - if (!ts->use_irq) { - hrtimer_init(&ts->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); - ts->timer.function = synaptics_ts_timer_func; - hrtimer_start(&ts->timer, ktime_set(1, 0), HRTIMER_MODE_REL); - } -#ifdef CONFIG_HAS_EARLYSUSPEND - ts->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; - ts->early_suspend.suspend = synaptics_ts_early_suspend; - ts->early_suspend.resume = synaptics_ts_late_resume; - register_early_suspend(&ts->early_suspend); -#endif - - printk(KERN_INFO "synaptics_ts_probe: Start touchscreen %s in %s mode\n", ts->input_dev->name, ts->use_irq ? "interrupt" : "polling"); - - return 0; - -err_input_register_device_failed: - input_free_device(ts->input_dev); - -err_input_dev_alloc_failed: -err_detect_failed: -err_power_failed: - kfree(ts); -err_alloc_data_failed: -err_check_functionality_failed: - return ret; -} - -static int synaptics_ts_remove(struct i2c_client *client) -{ - struct synaptics_ts_data *ts = i2c_get_clientdata(client); - unregister_early_suspend(&ts->early_suspend); - if (ts->use_irq) - free_irq(client->irq, ts); - else - hrtimer_cancel(&ts->timer); - input_unregister_device(ts->input_dev); - kfree(ts); - return 0; -} - -static int synaptics_ts_suspend(struct i2c_client *client, pm_message_t mesg) -{ - int ret; - struct synaptics_ts_data *ts = i2c_get_clientdata(client); - - if (ts->use_irq) - disable_irq(client->irq); - else - hrtimer_cancel(&ts->timer); - ret = cancel_work_sync(&ts->work); - if (ret && ts->use_irq) /* if work was pending disable-count is now 2 */ - enable_irq(client->irq); - ret = i2c_smbus_write_byte_data(ts->client, 0xf1, 0); /* disable interrupt */ - if (ret < 0) - printk(KERN_ERR "synaptics_ts_suspend: i2c_smbus_write_byte_data failed\n"); - - ret = i2c_smbus_write_byte_data(client, 0xf0, 0x86); /* deep sleep */ - if (ret < 0) - printk(KERN_ERR "synaptics_ts_suspend: i2c_smbus_write_byte_data failed\n"); - if (ts->power) { - ret = ts->power(0); - if (ret < 0) - printk(KERN_ERR "synaptics_ts_resume power off failed\n"); - } - return 0; -} - -static int synaptics_ts_resume(struct i2c_client *client) -{ - int ret; - struct synaptics_ts_data *ts = i2c_get_clientdata(client); - - if (ts->power) { - ret = ts->power(1); - if (ret < 0) - printk(KERN_ERR "synaptics_ts_resume power on failed\n"); - } - - synaptics_init_panel(ts); - - if (ts->use_irq) - enable_irq(client->irq); - - if (!ts->use_irq) - hrtimer_start(&ts->timer, ktime_set(1, 0), HRTIMER_MODE_REL); - else - i2c_smbus_write_byte_data(ts->client, 0xf1, 0x01); /* enable abs int */ - - return 0; -} - -#ifdef CONFIG_HAS_EARLYSUSPEND -static void synaptics_ts_early_suspend(struct early_suspend *h) -{ - struct synaptics_ts_data *ts; - ts = container_of(h, struct synaptics_ts_data, early_suspend); - synaptics_ts_suspend(ts->client, PMSG_SUSPEND); -} - -static void synaptics_ts_late_resume(struct early_suspend *h) -{ - struct synaptics_ts_data *ts; - ts = container_of(h, struct synaptics_ts_data, early_suspend); - synaptics_ts_resume(ts->client); -} -#endif - -static const struct i2c_device_id synaptics_ts_id[] = { - { SYNAPTICS_I2C_RMI_NAME, 0 }, - { } -}; - -static struct i2c_driver synaptics_ts_driver = { - .probe = synaptics_ts_probe, - .remove = synaptics_ts_remove, -#ifndef CONFIG_HAS_EARLYSUSPEND - .suspend = synaptics_ts_suspend, - .resume = synaptics_ts_resume, -#endif - .id_table = synaptics_ts_id, - .driver = { - .name = SYNAPTICS_I2C_RMI_NAME, - }, -}; - -static int __devinit synaptics_ts_init(void) -{ - synaptics_wq = create_singlethread_workqueue("synaptics_wq"); - if (!synaptics_wq) - return -ENOMEM; - return i2c_add_driver(&synaptics_ts_driver); -} - -static void __exit synaptics_ts_exit(void) -{ - i2c_del_driver(&synaptics_ts_driver); - if (synaptics_wq) - destroy_workqueue(synaptics_wq); -} - -module_init(synaptics_ts_init); -module_exit(synaptics_ts_exit); - -MODULE_DESCRIPTION("Synaptics Touchscreen Driver"); -MODULE_LICENSE("GPL"); diff --git a/drivers/input/touchscreen/synaptics_reg.h b/drivers/input/touchscreen/synaptics_reg.h deleted file mode 100644 index af51862..0000000 --- a/drivers/input/touchscreen/synaptics_reg.h +++ /dev/null @@ -1,504 +0,0 @@ -/******************************************/ -/* Synaptics Design Studio 4 3.0.1.7 */ -/* 2012-01-09 오후 7:14:06 */ -/******************************************/ - -/**** Device Information ****/ -#define FW_REVISION "DS4 R3.0" /* F01 Firmware ProductID */ -#define TOUCH_CONTROLLER "S7301-I2C" /* F01 PackageID */ -#define CONFIG_ID "E002" /* F34 Configuration ID */ -#define FW_PACKRAT "1042884" /* Firmware Packrat */ - -/**** Register names ****/ -#define F34_FLASH_CTRL00_00 0x004B /* Customer Defined Config ID 0 */ -#define F34_FLASH_CTRL00_01 0x004C /* Customer Defined Config ID 1 */ -#define F34_FLASH_CTRL00_02 0x004D /* Customer Defined Config ID 2 */ -#define F34_FLASH_CTRL00_03 0x004E /* Customer Defined Config ID 3 */ -#define F01_RMI_CTRL00 0x004F /* Device Control */ -#define F01_RMI_CTRL01_00 0x0050 /* Interrupt Enable 0 */ -#define F01_RMI_CTRL02 0x0051 /* Doze Period */ -#define F01_RMI_CTRL03 0x0052 /* Doze Wakeup Threshold */ -#define F01_RMI_CTRL05 0x0053 /* Extended Wait Before Doze */ -#define F01_RMI_CTRL06 0x0054 /* I2C Control */ -#define F01_RMI_CTRL08 0x0055 /* Attention Control */ -#define F11_2D_CTRL00 0x0056 /* 2D Report Mode */ -#define F11_2D_CTRL01 0x0057 /* 2D Palm Detect */ -#define F11_2D_CTRL02 0x0058 /* 2D Delta-X Thresh */ -#define F11_2D_CTRL03 0x0059 /* 2D Delta-Y Thresh */ -#define F11_2D_CTRL04 0x005A /* 2D Velocity */ -#define F11_2D_CTRL05 0x005B /* 2D Acceleration */ -#define F11_2D_CTRL06 0x005C /* 2D Max X Position (7:0) */ -#define F11_2D_CTRL07 0x005D /* 2D Max X Position (11:8) */ -#define F11_2D_CTRL08 0x005E /* 2D Max Y Position (7:0) */ -#define F11_2D_CTRL09 0x005F /* 2D Max Y Position (11:8) */ -#define F11_2D_CTRL29 0x0060 /* Z Touch Threshold */ -#define F11_2D_CTRL30 0x0061 /* Z Touch Hysteresis */ -#define F11_2D_CTRL31 0x0062 /* Small Z Threshold */ -#define F11_2D_CTRL32_00 0x0063 /* Small Z Scale Factor */ -#define F11_2D_CTRL32_01 0x0064 /* Small Z Scale Factor */ -#define F11_2D_CTRL33_00 0x0065 /* Large Z Scale Factor */ -#define F11_2D_CTRL33_01 0x0066 /* Large Z Scale Factor */ -#define F11_2D_CTRL34 0x0067 /* Position Calculation & - Post Correction */ -#define F11_2D_CTRL36 0x0068 /* Wx Scale Factor */ -#define F11_2D_CTRL37 0x0069 /* Wx Offset */ -#define F11_2D_CTRL38 0x006A /* Wy Scale Factor */ -#define F11_2D_CTRL39 0x006B /* Wy Offset */ -#define F11_2D_CTRL40_00 0x006C /* X Pitch */ -#define F11_2D_CTRL40_01 0x006D /* X Pitch */ -#define F11_2D_CTRL41_00 0x006E /* Y Pitch */ -#define F11_2D_CTRL41_01 0x006F /* Y Pitch */ -#define F11_2D_CTRL42_00 0x0070 /* Default Finger Width Tx */ -#define F11_2D_CTRL42_01 0x0071 /* Default Finger Width Tx */ -#define F11_2D_CTRL43_00 0x0072 /* Default Finger Width Ty */ -#define F11_2D_CTRL43_01 0x0073 /* Default Finger Width Ty */ -#define F11_2D_CTRL44 0x0074 /* Report Finger Width */ -#define F11_2D_CTRL45 0x0075 /* Segmentation Aggressiveness */ -#define F11_2D_CTRL46 0x0076 /* Rx Clip Low */ -#define F11_2D_CTRL47 0x0077 /* Rx Clip High */ -#define F11_2D_CTRL48 0x0078 /* Tx Clip Low */ -#define F11_2D_CTRL49 0x0079 /* Tx Clip High */ -#define F11_2D_CTRL50 0x007A /* Minimum Finger Separation */ -#define F11_2D_CTRL51 0x007B /* Maximum Finger Movement */ -#define F11_2D_CTRL58 0x007C /* Large Object - Suppression Parameters */ -#define F11_2D_CTRL73 0x007D /* Jitter Control 1 */ -#define F11_2D_CTRL74 0x007E /* Jitter Control 2 */ -#define F11_2D_CTRL75_00 0x007F /* Jitter Control 3 */ -#define F11_2D_CTRL75_01 0x0080 /* Jitter Control 3 */ -#define F11_2D_CTRL75_02 0x0081 /* Jitter Control 3 */ -#define F11_2D_CTRL76_00 0x0082 /* Jitter Control 4 */ -#define F11_2D_CTRL76_01 0x0083 /* Jitter Control 4 */ -#define F11_2D_CTRL76_02 0x0084 /* Jitter Control 4 */ -#define F54_ANALOG_CTRL00 0x010B /* General Control */ -#define F54_ANALOG_CTRL01 0x010C /* General Control 1 */ -#define F54_ANALOG_CTRL02_00 0x010D /* Saturation Capacitance Low */ -#define F54_ANALOG_CTRL02_01 0x010E /* Saturation Capacitance High */ -#define F54_ANALOG_CTRL03 0x010F /* Pixel Touch Threshold */ -#define F54_ANALOG_CTRL04 0x0110 /* Misc Analog Control */ -#define F54_ANALOG_CTRL05 0x0111 /* RefCap RefLo Settings */ -#define F54_ANALOG_CTRL06 0x0112 /* RefCap RefHi Settings */ -#define F54_ANALOG_CTRL07 0x0113 /* CBC Cap Settings */ -#define F54_ANALOG_CTRL08_00 0x0114 /* Integration Duration Low */ -#define F54_ANALOG_CTRL08_01 0x0115 /* Integration Duration High */ -#define F54_ANALOG_CTRL09 0x0116 /* Reset Duration */ -#define F54_ANALOG_CTRL10 0x0117 /* Noise Measurement Control */ -#define F54_ANALOG_CTRL11_00 0x0118 /* Doze Wakeup Threshold Low */ -#define F54_ANALOG_CTRL11_01 0x0119 /* Doze Wakeup Threshold High */ -#define F54_ANALOG_CTRL12 0x011A /* Slow Relaxation Rate */ -#define F54_ANALOG_CTRL13 0x011B /* Fast Relaxation Rate */ -#define F54_ANALOG_CTRL14 0x011C /* Sensor Physical Properties */ -#define F54_ANALOG_CTRL15_00 0x011D /* Sensor Rx Mapping 0 */ -#define F54_ANALOG_CTRL15_01 0x011E /* Sensor Rx Mapping 1 */ -#define F54_ANALOG_CTRL15_02 0x011F /* Sensor Rx Mapping 2 */ -#define F54_ANALOG_CTRL15_03 0x0120 /* Sensor Rx Mapping 3 */ -#define F54_ANALOG_CTRL15_04 0x0121 /* Sensor Rx Mapping 4 */ -#define F54_ANALOG_CTRL15_05 0x0122 /* Sensor Rx Mapping 5 */ -#define F54_ANALOG_CTRL15_06 0x0123 /* Sensor Rx Mapping 6 */ -#define F54_ANALOG_CTRL15_07 0x0124 /* Sensor Rx Mapping 7 */ -#define F54_ANALOG_CTRL15_08 0x0125 /* Sensor Rx Mapping 8 */ -#define F54_ANALOG_CTRL15_09 0x0126 /* Sensor Rx Mapping 9 */ -#define F54_ANALOG_CTRL15_10 0x0127 /* Sensor Rx Mapping 10 */ -#define F54_ANALOG_CTRL15_11 0x0128 /* Sensor Rx Mapping 11 */ -#define F54_ANALOG_CTRL15_12 0x0129 /* Sensor Rx Mapping 12 */ -#define F54_ANALOG_CTRL15_13 0x012A /* Sensor Rx Mapping 13 */ -#define F54_ANALOG_CTRL15_14 0x012B /* Sensor Rx Mapping 14 */ -#define F54_ANALOG_CTRL15_15 0x012C /* Sensor Rx Mapping 15 */ -#define F54_ANALOG_CTRL15_16 0x012D /* Sensor Rx Mapping 16 */ -#define F54_ANALOG_CTRL15_17 0x012E /* Sensor Rx Mapping 17 */ -#define F54_ANALOG_CTRL15_18 0x012F /* Sensor Rx Mapping 18 */ -#define F54_ANALOG_CTRL15_19 0x0130 /* Sensor Rx Mapping 19 */ -#define F54_ANALOG_CTRL15_20 0x0131 /* Sensor Rx Mapping 20 */ -#define F54_ANALOG_CTRL15_21 0x0132 /* Sensor Rx Mapping 21 */ -#define F54_ANALOG_CTRL15_22 0x0133 /* Sensor Rx Mapping 22 */ -#define F54_ANALOG_CTRL15_23 0x0134 /* Sensor Rx Mapping 23 */ -#define F54_ANALOG_CTRL15_24 0x0135 /* Sensor Rx Mapping 24 */ -#define F54_ANALOG_CTRL15_25 0x0136 /* Sensor Rx Mapping 25 */ -#define F54_ANALOG_CTRL15_26 0x0137 /* Sensor Rx Mapping 26 */ -#define F54_ANALOG_CTRL15_27 0x0138 /* Sensor Rx Mapping 27 */ -#define F54_ANALOG_CTRL15_28 0x0139 /* Sensor Rx Mapping 28 */ -#define F54_ANALOG_CTRL15_29 0x013A /* Sensor Rx Mapping 29 */ -#define F54_ANALOG_CTRL15_30 0x013B /* Sensor Rx Mapping 30 */ -#define F54_ANALOG_CTRL15_31 0x013C /* Sensor Rx Mapping 31 */ -#define F54_ANALOG_CTRL15_32 0x013D /* Sensor Rx Mapping 32 */ -#define F54_ANALOG_CTRL15_33 0x013E /* Sensor Rx Mapping 33 */ -#define F54_ANALOG_CTRL15_34 0x013F /* Sensor Rx Mapping 34 */ -#define F54_ANALOG_CTRL15_35 0x0140 /* Sensor Rx Mapping 35 */ -#define F54_ANALOG_CTRL15_36 0x0141 /* Sensor Rx Mapping 36 */ -#define F54_ANALOG_CTRL15_37 0x0142 /* Sensor Rx Mapping 37 */ -#define F54_ANALOG_CTRL15_38 0x0143 /* Sensor Rx Mapping 38 */ -#define F54_ANALOG_CTRL15_39 0x0144 /* Sensor Rx Mapping 39 */ -#define F54_ANALOG_CTRL15_40 0x0145 /* Sensor Rx Mapping 40 */ -#define F54_ANALOG_CTRL15_41 0x0146 /* Sensor Rx Mapping 41 */ -#define F54_ANALOG_CTRL15_42 0x0147 /* Sensor Rx Mapping 42 */ -#define F54_ANALOG_CTRL15_43 0x0148 /* Sensor Rx Mapping 43 */ -#define F54_ANALOG_CTRL15_44 0x0149 /* Sensor Rx Mapping 44 */ -#define F54_ANALOG_CTRL15_45 0x014A /* Sensor Rx Mapping 45 */ -#define F54_ANALOG_CTRL16_00 0x014B /* Sensor Tx Mapping 0 */ -#define F54_ANALOG_CTRL16_01 0x014C /* Sensor Tx Mapping 1 */ -#define F54_ANALOG_CTRL16_02 0x014D /* Sensor Tx Mapping 2 */ -#define F54_ANALOG_CTRL16_03 0x014E /* Sensor Tx Mapping 3 */ -#define F54_ANALOG_CTRL16_04 0x014F /* Sensor Tx Mapping 4 */ -#define F54_ANALOG_CTRL16_05 0x0150 /* Sensor Tx Mapping 5 */ -#define F54_ANALOG_CTRL16_06 0x0151 /* Sensor Tx Mapping 6 */ -#define F54_ANALOG_CTRL16_07 0x0152 /* Sensor Tx Mapping 7 */ -#define F54_ANALOG_CTRL16_08 0x0153 /* Sensor Tx Mapping 8 */ -#define F54_ANALOG_CTRL16_09 0x0154 /* Sensor Tx Mapping 9 */ -#define F54_ANALOG_CTRL16_10 0x0155 /* Sensor Tx Mapping 10 */ -#define F54_ANALOG_CTRL16_11 0x0156 /* Sensor Tx Mapping 11 */ -#define F54_ANALOG_CTRL16_12 0x0157 /* Sensor Tx Mapping 12 */ -#define F54_ANALOG_CTRL16_13 0x0158 /* Sensor Tx Mapping 13 */ -#define F54_ANALOG_CTRL16_14 0x0159 /* Sensor Tx Mapping 14 */ -#define F54_ANALOG_CTRL16_15 0x015A /* Sensor Tx Mapping 15 */ -#define F54_ANALOG_CTRL16_16 0x015B /* Sensor Tx Mapping 16 */ -#define F54_ANALOG_CTRL16_17 0x015C /* Sensor Tx Mapping 17 */ -#define F54_ANALOG_CTRL16_18 0x015D /* Sensor Tx Mapping 18 */ -#define F54_ANALOG_CTRL16_19 0x015E /* Sensor Tx Mapping 19 */ -#define F54_ANALOG_CTRL16_20 0x015F /* Sensor Tx Mapping 20 */ -#define F54_ANALOG_CTRL16_21 0x0160 /* Sensor Tx Mapping 21 */ -#define F54_ANALOG_CTRL16_22 0x0161 /* Sensor Tx Mapping 22 */ -#define F54_ANALOG_CTRL16_23 0x0162 /* Sensor Tx Mapping 23 */ -#define F54_ANALOG_CTRL16_24 0x0163 /* Sensor Tx Mapping 24 */ -#define F54_ANALOG_CTRL16_25 0x0164 /* Sensor Tx Mapping 25 */ -#define F54_ANALOG_CTRL16_26 0x0165 /* Sensor Tx Mapping 26 */ -#define F54_ANALOG_CTRL16_27 0x0166 /* Sensor Tx Mapping 27 */ -#define F54_ANALOG_CTRL16_28 0x0167 /* Sensor Tx Mapping 28 */ -#define F54_ANALOG_CTRL16_29 0x0168 /* Sensor Tx Mapping 29 */ -#define F54_ANALOG_CTRL17_00 0x0169 /* Sense Frequency Control0 0 */ -#define F54_ANALOG_CTRL17_01 0x016A /* Sense Frequency Control0 1 */ -#define F54_ANALOG_CTRL17_02 0x016B /* Sense Frequency Control0 2 */ -#define F54_ANALOG_CTRL17_03 0x016C /* Sense Frequency Control0 3 */ -#define F54_ANALOG_CTRL17_04 0x016D /* Sense Frequency Control0 4 */ -#define F54_ANALOG_CTRL17_05 0x016E /* Sense Frequency Control0 5 */ -#define F54_ANALOG_CTRL17_06 0x016F /* Sense Frequency Control0 6 */ -#define F54_ANALOG_CTRL17_07 0x0170 /* Sense Frequency Control0 7 */ -#define F54_ANALOG_CTRL18_00 0x0171 /* Sense Frequency Control Low 0 */ -#define F54_ANALOG_CTRL18_01 0x0172 /* Sense Frequency Control Low 1 */ -#define F54_ANALOG_CTRL18_02 0x0173 /* Sense Frequency Control Low 2 */ -#define F54_ANALOG_CTRL18_03 0x0174 /* Sense Frequency Control Low 3 */ -#define F54_ANALOG_CTRL18_04 0x0175 /* Sense Frequency Control Low 4 */ -#define F54_ANALOG_CTRL18_05 0x0176 /* Sense Frequency Control Low 5 */ -#define F54_ANALOG_CTRL18_06 0x0177 /* Sense Frequency Control Low 6 */ -#define F54_ANALOG_CTRL18_07 0x0178 /* Sense Frequency Control Low 7 */ -#define F54_ANALOG_CTRL19_00 0x0179 /* Sense Frequency Control2 0 */ -#define F54_ANALOG_CTRL19_01 0x017A /* Sense Frequency Control2 1 */ -#define F54_ANALOG_CTRL19_02 0x017B /* Sense Frequency Control2 2 */ -#define F54_ANALOG_CTRL19_03 0x017C /* Sense Frequency Control2 3 */ -#define F54_ANALOG_CTRL19_04 0x017D /* Sense Frequency Control2 4 */ -#define F54_ANALOG_CTRL19_05 0x017E /* Sense Frequency Control2 5 */ -#define F54_ANALOG_CTRL19_06 0x017F /* Sense Frequency Control2 6 */ -#define F54_ANALOG_CTRL19_07 0x0180 /* Sense Frequency Control2 7 */ -#define F54_ANALOG_CTRL20 0x0181 /* Noise Mitigation General Control */ -#define F54_ANALOG_CTRL21_00 0x0182 /* HNM Frequency - Shift Noise Threshold Low */ -#define F54_ANALOG_CTRL21_01 0x0183 /* HNM Frequency - Shift Noise Threshold High */ -#define F54_ANALOG_CTRL22 0x0184 /* HNM Exit Density */ -#define F54_ANALOG_CTRL23_00 0x0185 /* Medium Noise Threshold Low */ -#define F54_ANALOG_CTRL23_01 0x0186 /* Medium Noise Threshold High */ -#define F54_ANALOG_CTRL24_00 0x0187 /* High Noise Threshold Low */ -#define F54_ANALOG_CTRL24_01 0x0188 /* High Noise Threshold High */ -#define F54_ANALOG_CTRL25 0x0189 /* FNM Frequency Shift Density */ -#define F54_ANALOG_CTRL26 0x018A /* FNM Exit Threshold */ -#define F54_ANALOG_CTRL27 0x018B /* IIR Filter Coefficient */ -#define F54_ANALOG_CTRL28_00 0x018C /* FNM Frequency - Shift Noise Threshold Low */ -#define F54_ANALOG_CTRL28_01 0x018D /* FNM Frequency - Shift Noise Threshold High */ -#define F54_ANALOG_CTRL29 0x018E /* Common-Mode Noise Control */ -#define F54_ANALOG_CTRL30 0x018F /* CMN Cap Scale Factor */ -#define F54_ANALOG_CTRL31 0x0190 /* Pixel Threshold Hysteresis */ -#define F54_ANALOG_CTRL32_00 0x0191 /* Rx LowEdge Compensation Low */ -#define F54_ANALOG_CTRL32_01 0x0192 /* Rx LowEdge Compensation High*/ -#define F54_ANALOG_CTRL33_00 0x0193 /* Rx HighEdge Compensation Low */ -#define F54_ANALOG_CTRL33_01 0x0194 /* Rx HighEdge Compensation High */ -#define F54_ANALOG_CTRL34_00 0x0195 /* Tx LowEdge Compensation Low */ -#define F54_ANALOG_CTRL34_01 0x0196 /* Tx LowEdge Compensation High */ -#define F54_ANALOG_CTRL35_00 0x0197 /* Tx HighEdge Compensation Low */ -#define F54_ANALOG_CTRL35_01 0x0198 /* Tx HighEdge Compensation High */ -#define F54_ANALOG_CTRL38_00 0x0199 /* Noise Control 1 0 */ -#define F54_ANALOG_CTRL38_01 0x019A /* Noise Control 1 1 */ -#define F54_ANALOG_CTRL38_02 0x019B /* Noise Control 1 2 */ -#define F54_ANALOG_CTRL38_03 0x019C /* Noise Control 1 3 */ -#define F54_ANALOG_CTRL38_04 0x019D /* Noise Control 1 4 */ -#define F54_ANALOG_CTRL38_05 0x019E /* Noise Control 1 5 */ -#define F54_ANALOG_CTRL38_06 0x019F /* Noise Control 1 6 */ -#define F54_ANALOG_CTRL38_07 0x01A0 /* Noise Control 1 7 */ -#define F54_ANALOG_CTRL39_00 0x01A1 /* Noise Control 2 0 */ -#define F54_ANALOG_CTRL39_01 0x01A2 /* Noise Control 2 1 */ -#define F54_ANALOG_CTRL39_02 0x01A3 /* Noise Control 2 2 */ -#define F54_ANALOG_CTRL39_03 0x01A4 /* Noise Control 2 3 */ -#define F54_ANALOG_CTRL39_04 0x01A5 /* Noise Control 2 4 */ -#define F54_ANALOG_CTRL39_05 0x01A6 /* Noise Control 2 5 */ -#define F54_ANALOG_CTRL39_06 0x01A7 /* Noise Control 2 6 */ -#define F54_ANALOG_CTRL39_07 0x01A8 /* Noise Control 2 7 */ -#define F54_ANALOG_CTRL40_00 0x01A9 /* Noise Control 3 0 */ -#define F54_ANALOG_CTRL40_01 0x01AA /* Noise Control 3 1 */ -#define F54_ANALOG_CTRL40_02 0x01AB /* Noise Control 3 2 */ -#define F54_ANALOG_CTRL40_03 0x01AC /* Noise Control 3 3 */ -#define F54_ANALOG_CTRL40_04 0x01AD /* Noise Control 3 4 */ -#define F54_ANALOG_CTRL40_05 0x01AE /* Noise Control 3 5 */ -#define F54_ANALOG_CTRL40_06 0x01AF /* Noise Control 3 6 */ -#define F54_ANALOG_CTRL40_07 0x01B0 /* Noise Control 3 7 */ -#define F54_ANALOG_CTRL41 0x01B1 /* Multi Metric Noise - Mitigation Control */ -#define F54_ANALOG_CTRL42_00 0x01B2 /* Burst Span Metric Threshold Low */ -#define F54_ANALOG_CTRL42_01 0x01B3 /* Burst Span Metric Threshold High */ - -/**** Register values ****/ -struct RegisterValue { - unsigned short Address; - unsigned char Value; -}; - -struct RegisterValue value[] = { - {F34_FLASH_CTRL00_00, 0x45}, /* Customer Defined Config ID 0 */ - {F34_FLASH_CTRL00_01, 0x30}, /* Customer Defined Config ID 1 */ - {F34_FLASH_CTRL00_02, 0x30}, /* Customer Defined Config ID 2 */ - {F34_FLASH_CTRL00_03, 0x32}, /* Customer Defined Config ID 3 */ - {F01_RMI_CTRL00, 0x04}, /* Device Control */ - {F01_RMI_CTRL01_00, 0x0F}, /* Interrupt Enable 0 */ - {F01_RMI_CTRL02, 0x03}, /* Doze Period */ - {F01_RMI_CTRL03, 0x1E}, /* Doze Wakeup Threshold */ - {F01_RMI_CTRL05, 0x05}, /* Extended Wait Before Doze */ - {F01_RMI_CTRL06, 0x20}, /* I2C Control */ - {F01_RMI_CTRL08, 0x41}, /* Attention Control */ - {F11_2D_CTRL00, 0x08}, /* 2D Report Mode */ - {F11_2D_CTRL01, 0x0B}, /* 2D Palm Detect */ - {F11_2D_CTRL02, 0x19}, /* 2D Delta-X Thresh */ - {F11_2D_CTRL03, 0x19}, /* 2D Delta-Y Thresh */ - {F11_2D_CTRL04, 0x00}, /* 2D Velocity */ - {F11_2D_CTRL05, 0x00}, /* 2D Acceleration */ - {F11_2D_CTRL06, 0x1F}, /* 2D Max X Position (7:0) */ - {F11_2D_CTRL07, 0x03}, /* 2D Max X Position (11:8) */ - {F11_2D_CTRL08, 0xFF}, /* 2D Max Y Position (7:0) */ - {F11_2D_CTRL09, 0x04}, /* 2D Max Y Position (11:8) */ - {F11_2D_CTRL29, 0x1E}, /* Z Touch Threshold */ - {F11_2D_CTRL30, 0x05}, /* Z Touch Hysteresis */ - {F11_2D_CTRL31, 0x2D}, /* Small Z Threshold */ - {F11_2D_CTRL32_00, 0x64}, /* Small Z Scale Factor */ - {F11_2D_CTRL32_01, 0x09}, /* Small Z Scale Factor */ - {F11_2D_CTRL33_00, 0x91}, /* Large Z Scale Factor */ - {F11_2D_CTRL33_01, 0x02}, /* Large Z Scale Factor */ - {F11_2D_CTRL34, 0x01}, /* Position Calculation & Post Correction */ - {F11_2D_CTRL36, 0x41}, /* Wx Scale Factor */ - {F11_2D_CTRL37, 0xFE}, /* Wx Offset */ - {F11_2D_CTRL38, 0x42}, /* Wy Scale Factor */ - {F11_2D_CTRL39, 0xFE}, /* Wy Offset */ - {F11_2D_CTRL40_00, 0x33}, /* X Pitch */ - {F11_2D_CTRL40_01, 0x53}, /* X Pitch */ - {F11_2D_CTRL41_00, 0x1F}, /* Y Pitch */ - {F11_2D_CTRL41_01, 0x51}, /* Y Pitch */ - {F11_2D_CTRL42_00, 0x39}, /* Default Finger Width Tx */ - {F11_2D_CTRL42_01, 0xB8}, /* Default Finger Width Tx */ - {F11_2D_CTRL43_00, 0xD7}, /* Default Finger Width Ty */ - {F11_2D_CTRL43_01, 0xC1}, /* Default Finger Width Ty */ - {F11_2D_CTRL44, 0x00}, /* Report Finger Width */ - {F11_2D_CTRL45, 0x70}, /* Segmentation Aggressiveness */ - {F11_2D_CTRL46, 0x10}, /* Rx Clip Low */ - {F11_2D_CTRL47, 0x10}, /* Rx Clip High */ - {F11_2D_CTRL48, 0x10}, /* Tx Clip Low */ - {F11_2D_CTRL49, 0x10}, /* Tx Clip High */ - {F11_2D_CTRL50, 0x0A}, /* Minimum Finger Separation */ - {F11_2D_CTRL51, 0x04}, /* Maximum Finger Movement */ - {F11_2D_CTRL58, 0xC0}, /* Large Object Suppression Parameters */ - {F11_2D_CTRL73, 0x00}, /* Jitter Control 1 */ - {F11_2D_CTRL74, 0x08}, /* Jitter Control 2 */ - {F11_2D_CTRL75_00, 0xA2}, /* Jitter Control 3 */ - {F11_2D_CTRL75_01, 0x09}, /* Jitter Control 3 */ - {F11_2D_CTRL75_02, 0x28}, /* Jitter Control 3 */ - {F11_2D_CTRL76_00, 0x06}, /* Jitter Control 4 */ - {F11_2D_CTRL76_01, 0x0B}, /* Jitter Control 4 */ - {F11_2D_CTRL76_02, 0x83}, /* Jitter Control 4 */ - {F54_ANALOG_CTRL00, 0x00}, /* General Control */ - {F54_ANALOG_CTRL01, 0x02}, /* General Control 1 */ - {F54_ANALOG_CTRL02_00, 0x2C}, /* Saturation Capacitance Low */ - {F54_ANALOG_CTRL02_01, 0x01}, /* Saturation Capacitance High */ - {F54_ANALOG_CTRL03, 0x80}, /* Pixel Touch Threshold */ - {F54_ANALOG_CTRL04, 0x01}, /* Misc Analog Control */ - {F54_ANALOG_CTRL05, 0x0E}, /* RefCap RefLo Settings */ - {F54_ANALOG_CTRL06, 0x1F}, /* RefCap RefHi Settings */ - {F54_ANALOG_CTRL07, 0x13}, /* CBC Cap Settings */ - {F54_ANALOG_CTRL08_00, 0x78}, /* Integration Duration Low */ - {F54_ANALOG_CTRL08_01, 0x00}, /* Integration Duration High */ - {F54_ANALOG_CTRL09, 0x19}, /* Reset Duration */ - {F54_ANALOG_CTRL10, 0x04}, /* Noise Measurement Control */ - {F54_ANALOG_CTRL11_00, 0x00}, /* Doze Wakeup Threshold Low */ - {F54_ANALOG_CTRL11_01, 0x00}, /* Doze Wakeup Threshold High */ - {F54_ANALOG_CTRL12, 0x10}, /* Slow Relaxation Rate */ - {F54_ANALOG_CTRL13, 0x0A}, /* Fast Relaxation Rate */ - {F54_ANALOG_CTRL14, 0x00}, /* Sensor Physical Properties */ - {F54_ANALOG_CTRL15_00, 0x2B}, /* Sensor Rx Mapping 0 */ - {F54_ANALOG_CTRL15_01, 0x2A}, /* Sensor Rx Mapping 1 */ - {F54_ANALOG_CTRL15_02, 0x29}, /* Sensor Rx Mapping 2 */ - {F54_ANALOG_CTRL15_03, 0x27}, /* Sensor Rx Mapping 3 */ - {F54_ANALOG_CTRL15_04, 0x26}, /* Sensor Rx Mapping 4 */ - {F54_ANALOG_CTRL15_05, 0x25}, /* Sensor Rx Mapping 5 */ - {F54_ANALOG_CTRL15_06, 0x24}, /* Sensor Rx Mapping 6 */ - {F54_ANALOG_CTRL15_07, 0x23}, /* Sensor Rx Mapping 7 */ - {F54_ANALOG_CTRL15_08, 0x22}, /* Sensor Rx Mapping 8 */ - {F54_ANALOG_CTRL15_09, 0x21}, /* Sensor Rx Mapping 9 */ - {F54_ANALOG_CTRL15_10, 0x1F}, /* Sensor Rx Mapping 10 */ - {F54_ANALOG_CTRL15_11, 0x1E}, /* Sensor Rx Mapping 11 */ - {F54_ANALOG_CTRL15_12, 0x1D}, /* Sensor Rx Mapping 12 */ - {F54_ANALOG_CTRL15_13, 0x1C}, /* Sensor Rx Mapping 13 */ - {F54_ANALOG_CTRL15_14, 0x1B}, /* Sensor Rx Mapping 14 */ - {F54_ANALOG_CTRL15_15, 0x1A}, /* Sensor Rx Mapping 15 */ - {F54_ANALOG_CTRL15_16, 0x19}, /* Sensor Rx Mapping 16 */ - {F54_ANALOG_CTRL15_17, 0x18}, /* Sensor Rx Mapping 17 */ - {F54_ANALOG_CTRL15_18, 0x17}, /* Sensor Rx Mapping 18 */ - {F54_ANALOG_CTRL15_19, 0x16}, /* Sensor Rx Mapping 19 */ - {F54_ANALOG_CTRL15_20, 0x15}, /* Sensor Rx Mapping 20 */ - {F54_ANALOG_CTRL15_21, 0x14}, /* Sensor Rx Mapping 21 */ - {F54_ANALOG_CTRL15_22, 0x13}, /* Sensor Rx Mapping 22 */ - {F54_ANALOG_CTRL15_23, 0x12}, /* Sensor Rx Mapping 23 */ - {F54_ANALOG_CTRL15_24, 0x11}, /* Sensor Rx Mapping 24 */ - {F54_ANALOG_CTRL15_25, 0x10}, /* Sensor Rx Mapping 25 */ - {F54_ANALOG_CTRL15_26, 0x0F}, /* Sensor Rx Mapping 26 */ - {F54_ANALOG_CTRL15_27, 0x0E}, /* Sensor Rx Mapping 27 */ - {F54_ANALOG_CTRL15_28, 0x0D}, /* Sensor Rx Mapping 28 */ - {F54_ANALOG_CTRL15_29, 0x0C}, /* Sensor Rx Mapping 29 */ - {F54_ANALOG_CTRL15_30, 0x0B}, /* Sensor Rx Mapping 30 */ - {F54_ANALOG_CTRL15_31, 0x0A}, /* Sensor Rx Mapping 31 */ - {F54_ANALOG_CTRL15_32, 0x09}, /* Sensor Rx Mapping 32 */ - {F54_ANALOG_CTRL15_33, 0x08}, /* Sensor Rx Mapping 33 */ - {F54_ANALOG_CTRL15_34, 0x07}, /* Sensor Rx Mapping 34 */ - {F54_ANALOG_CTRL15_35, 0x06}, /* Sensor Rx Mapping 35 */ - {F54_ANALOG_CTRL15_36, 0x05}, /* Sensor Rx Mapping 36 */ - {F54_ANALOG_CTRL15_37, 0x04}, /* Sensor Rx Mapping 37 */ - {F54_ANALOG_CTRL15_38, 0x03}, /* Sensor Rx Mapping 38 */ - {F54_ANALOG_CTRL15_39, 0x02}, /* Sensor Rx Mapping 39 */ - {F54_ANALOG_CTRL15_40, 0x01}, /* Sensor Rx Mapping 40 */ - {F54_ANALOG_CTRL15_41, 0x00}, /* Sensor Rx Mapping 41 */ - {F54_ANALOG_CTRL15_42, 0xFF}, /* Sensor Rx Mapping 42 */ - {F54_ANALOG_CTRL15_43, 0xFF}, /* Sensor Rx Mapping 43 */ - {F54_ANALOG_CTRL15_44, 0xFF}, /* Sensor Rx Mapping 44 */ - {F54_ANALOG_CTRL15_45, 0xFF}, /* Sensor Rx Mapping 45 */ - {F54_ANALOG_CTRL16_00, 0x1D}, /* Sensor Tx Mapping 0 */ - {F54_ANALOG_CTRL16_01, 0x1C}, /* Sensor Tx Mapping 1 */ - {F54_ANALOG_CTRL16_02, 0x1B}, /* Sensor Tx Mapping 2 */ - {F54_ANALOG_CTRL16_03, 0x1A}, /* Sensor Tx Mapping 3 */ - {F54_ANALOG_CTRL16_04, 0x19}, /* Sensor Tx Mapping 4 */ - {F54_ANALOG_CTRL16_05, 0x18}, /* Sensor Tx Mapping 5 */ - {F54_ANALOG_CTRL16_06, 0x17}, /* Sensor Tx Mapping 6 */ - {F54_ANALOG_CTRL16_07, 0x16}, /* Sensor Tx Mapping 7 */ - {F54_ANALOG_CTRL16_08, 0x14}, /* Sensor Tx Mapping 8 */ - {F54_ANALOG_CTRL16_09, 0x12}, /* Sensor Tx Mapping 9 */ - {F54_ANALOG_CTRL16_10, 0x10}, /* Sensor Tx Mapping 10 */ - {F54_ANALOG_CTRL16_11, 0x0F}, /* Sensor Tx Mapping 11 */ - {F54_ANALOG_CTRL16_12, 0x0E}, /* Sensor Tx Mapping 12 */ - {F54_ANALOG_CTRL16_13, 0x0D}, /* Sensor Tx Mapping 13 */ - {F54_ANALOG_CTRL16_14, 0x0C}, /* Sensor Tx Mapping 14 */ - {F54_ANALOG_CTRL16_15, 0x0B}, /* Sensor Tx Mapping 15 */ - {F54_ANALOG_CTRL16_16, 0x0A}, /* Sensor Tx Mapping 16 */ - {F54_ANALOG_CTRL16_17, 0x09}, /* Sensor Tx Mapping 17 */ - {F54_ANALOG_CTRL16_18, 0x08}, /* Sensor Tx Mapping 18 */ - {F54_ANALOG_CTRL16_19, 0x07}, /* Sensor Tx Mapping 19 */ - {F54_ANALOG_CTRL16_20, 0x06}, /* Sensor Tx Mapping 20 */ - {F54_ANALOG_CTRL16_21, 0x05}, /* Sensor Tx Mapping 21 */ - {F54_ANALOG_CTRL16_22, 0x04}, /* Sensor Tx Mapping 22 */ - {F54_ANALOG_CTRL16_23, 0x03}, /* Sensor Tx Mapping 23 */ - {F54_ANALOG_CTRL16_24, 0x02}, /* Sensor Tx Mapping 24 */ - {F54_ANALOG_CTRL16_25, 0x01}, /* Sensor Tx Mapping 25 */ - {F54_ANALOG_CTRL16_26, 0x00}, /* Sensor Tx Mapping 26 */ - {F54_ANALOG_CTRL16_27, 0xFF}, /* Sensor Tx Mapping 27 */ - {F54_ANALOG_CTRL16_28, 0xFF}, /* Sensor Tx Mapping 28 */ - {F54_ANALOG_CTRL16_29, 0xFF}, /* Sensor Tx Mapping 29 */ - {F54_ANALOG_CTRL17_00, 0x60}, /* Sense Frequency Control0 0 */ - {F54_ANALOG_CTRL17_01, 0x60}, /* Sense Frequency Control0 1 */ - {F54_ANALOG_CTRL17_02, 0x40}, /* Sense Frequency Control0 2 */ - {F54_ANALOG_CTRL17_03, 0x40}, /* Sense Frequency Control0 3 */ - {F54_ANALOG_CTRL17_04, 0x40}, /* Sense Frequency Control0 4 */ - {F54_ANALOG_CTRL17_05, 0x40}, /* Sense Frequency Control0 5 */ - {F54_ANALOG_CTRL17_06, 0x40}, /* Sense Frequency Control0 6 */ - {F54_ANALOG_CTRL17_07, 0x20}, /* Sense Frequency Control0 7 */ - {F54_ANALOG_CTRL18_00, 0x1E}, /* Sense Frequency Control Low 0 */ - {F54_ANALOG_CTRL18_01, 0x1D}, /* Sense Frequency Control Low 1 */ - {F54_ANALOG_CTRL18_02, 0x1C}, /* Sense Frequency Control Low 2 */ - {F54_ANALOG_CTRL18_03, 0x1B}, /* Sense Frequency Control Low 3 */ - {F54_ANALOG_CTRL18_04, 0x1A}, /* Sense Frequency Control Low 4 */ - {F54_ANALOG_CTRL18_05, 0x19}, /* Sense Frequency Control Low 5 */ - {F54_ANALOG_CTRL18_06, 0x18}, /* Sense Frequency Control Low 6 */ - {F54_ANALOG_CTRL18_07, 0x17}, /* Sense Frequency Control Low 7 */ - {F54_ANALOG_CTRL19_00, 0x01}, /* Sense Frequency Control2 0 */ - {F54_ANALOG_CTRL19_01, 0x07}, /* Sense Frequency Control2 1 */ - {F54_ANALOG_CTRL19_02, 0x0D}, /* Sense Frequency Control2 2 */ - {F54_ANALOG_CTRL19_03, 0x15}, /* Sense Frequency Control2 3 */ - {F54_ANALOG_CTRL19_04, 0x1C}, /* Sense Frequency Control2 4 */ - {F54_ANALOG_CTRL19_05, 0x25}, /* Sense Frequency Control2 5 */ - {F54_ANALOG_CTRL19_06, 0x2D}, /* Sense Frequency Control2 6 */ - {F54_ANALOG_CTRL19_07, 0x36}, /* Sense Frequency Control2 7 */ - {F54_ANALOG_CTRL20, 0x00}, /* Noise Mitigation General Control */ - {F54_ANALOG_CTRL21_00, 0xE8}, /* HNM Fequency - Shift Noise Threshold Low */ - {F54_ANALOG_CTRL21_01, 0x03}, /* HNM Frequency - Shift Noise Threshold High */ - {F54_ANALOG_CTRL22, 0xFF}, /* HNM Exit Density */ - {F54_ANALOG_CTRL23_00, 0xD0}, /* Medium Noise Threshold Low */ - {F54_ANALOG_CTRL23_01, 0x07}, /* Medium Noise Threshold High */ - {F54_ANALOG_CTRL24_00, 0xC8}, /* High Noise Threshold Low */ - {F54_ANALOG_CTRL24_01, 0x00}, /* High Noise Threshold High */ - {F54_ANALOG_CTRL25, 0xB3}, /* FNM Frequency Shift Density */ - {F54_ANALOG_CTRL26, 0x32}, /* FNM Exit Threshold */ - {F54_ANALOG_CTRL27, 0x80}, /* IIR Filter Coefficient */ - {F54_ANALOG_CTRL28_00, 0xB8}, /* FNM Frequency - Shift Noise Threshold Low */ - {F54_ANALOG_CTRL28_01, 0x0B}, /* FNM Frequency - Shift Noise Threshold High */ - {F54_ANALOG_CTRL29, 0x00}, /* Common-Mode Noise Control */ - {F54_ANALOG_CTRL30, 0xC0}, /* CMN Cap Scale Factor */ - {F54_ANALOG_CTRL31, 0x80}, /* Pixel Threshold Hysteresis */ - {F54_ANALOG_CTRL32_00, 0x00}, /* Rx LowEdge Compensation Low */ - {F54_ANALOG_CTRL32_01, 0x10}, /* Rx LowEdge Compensation High */ - {F54_ANALOG_CTRL33_00, 0x00}, /* Rx HighEdge Compensation Low */ - {F54_ANALOG_CTRL33_01, 0x10}, /* Rx HighEdge Compensation High */ - {F54_ANALOG_CTRL34_00, 0x00}, /* Tx LowEdge Compensation Low */ - {F54_ANALOG_CTRL34_01, 0x10}, /* Tx LowEdge Compensation High */ - {F54_ANALOG_CTRL35_00, 0x00}, /* Tx HighEdge Compensation Low */ - {F54_ANALOG_CTRL35_01, 0x10}, /* Tx HighEdge Compensation High */ - {F54_ANALOG_CTRL38_00, 0x07}, /* Noise Control 1 0 */ - {F54_ANALOG_CTRL38_01, 0x02}, /* Noise Control 1 1 */ - {F54_ANALOG_CTRL38_02, 0x02}, /* Noise Control 1 2 */ - {F54_ANALOG_CTRL38_03, 0x02}, /* Noise Control 1 3 */ - {F54_ANALOG_CTRL38_04, 0x07}, /* Noise Control 1 4 */ - {F54_ANALOG_CTRL38_05, 0x02}, /* Noise Control 1 5 */ - {F54_ANALOG_CTRL38_06, 0x02}, /* Noise Control 1 6 */ - {F54_ANALOG_CTRL38_07, 0x05}, /* Noise Control 1 7 */ - {F54_ANALOG_CTRL39_00, 0x40}, /* Noise Control 2 0 */ - {F54_ANALOG_CTRL39_01, 0x10}, /* Noise Control 2 1 */ - {F54_ANALOG_CTRL39_02, 0x10}, /* Noise Control 2 2 */ - {F54_ANALOG_CTRL39_03, 0x10}, /* Noise Control 2 3 */ - {F54_ANALOG_CTRL39_04, 0x40}, /* Noise Control 2 4 */ - {F54_ANALOG_CTRL39_05, 0x10}, /* Noise Control 2 5 */ - {F54_ANALOG_CTRL39_06, 0x10}, /* Noise Control 2 6 */ - {F54_ANALOG_CTRL39_07, 0x20}, /* Noise Control 2 7 */ - {F54_ANALOG_CTRL40_00, 0x5C}, /* Noise Control 3 0 */ - {F54_ANALOG_CTRL40_01, 0x54}, /* Noise Control 3 1 */ - {F54_ANALOG_CTRL40_02, 0x57}, /* Noise Control 3 2 */ - {F54_ANALOG_CTRL40_03, 0x5B}, /* Noise Control 3 3 */ - {F54_ANALOG_CTRL40_04, 0x6C}, /* Noise Control 3 4 */ - {F54_ANALOG_CTRL40_05, 0x63}, /* Noise Control 3 5 */ - {F54_ANALOG_CTRL40_06, 0x67}, /* Noise Control 3 6 */ - {F54_ANALOG_CTRL40_07, 0x56}, /* Noise Control 3 7 */ - {F54_ANALOG_CTRL41, 0x00}, /* Multi Metric Noise - Mitigation Control */ - {F54_ANALOG_CTRL42_00, 0x64}, /* Burst Span Metric Threshold Low */ - {F54_ANALOG_CTRL42_01, 0x00} /* Burst Span Metric Threshold High */ -}; - -/**** Lockdown data ****/ -unsigned char lockdown[] = { 0xD4, 0x62, 0x53, 0x0A, 0x12, 0x3F, 0x8F, 0x57, - 0x8C, 0x14, 0xA3, 0x0F, 0x89, 0xF1, 0x30, 0x51, 0x63, 0xF3, 0x31, 0x53, - 0xA7, 0x28, 0xD4, 0x67, 0x2E, 0xBF, 0xDC, 0x14, 0x24, 0xA0, 0x02, 0x8A, - 0x34, 0xA1, 0x22, 0xF9, 0x23, 0xD3, 0xD6, 0x28, 0xDC, 0x2B, 0xF2, 0x0B, - 0xE7, 0x02, 0xA1, 0x24, 0xA7, 0x70, 0x25, 0x29, 0x7C, 0x2E, 0x27, 0x08, - 0x51, 0x77, 0x9B, 0x84, 0x33, 0xE5, 0x9E, 0x0F, 0xA0, 0x01, 0x21, 0xAA, - 0x69, 0xA9, 0x43, 0x47, 0xD8, 0x6C, 0x58, 0x99, 0x75, 0x53, 0x39, 0x5E -}; - -/**** Protocol info ****/ -#define AE_LOW 0 -#define AE_HIGH 1 -#define ATTENTION AE_LOW -#define PROTOCOL_I2C 1 -#define PROTOCOL_I2C_SLAVE_ADDR 0x20 diff --git a/drivers/input/touchscreen/synaptics_s7301.c b/drivers/input/touchscreen/synaptics_s7301.c deleted file mode 100644 index 2a0c756..0000000 --- a/drivers/input/touchscreen/synaptics_s7301.c +++ /dev/null @@ -1,740 +0,0 @@ -/* drivers/input/touchscreen/synaptics_s7301.c - * - * Copyright (C) 2012 Samsung Electronics, Inc. - * - * This software is licensed under the terms of the GNU General Public - * License version 2, as published by the Free Software Foundation, and - * may be copied, distributed, and modified under those terms. - * - * 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. - * - */ - -#include <linux/synaptics_s7301.h> - -#define REPORT_MT(x, y, z, w_max, w_min) \ -do { \ - input_report_abs(data->input, ABS_MT_POSITION_X, x); \ - input_report_abs(data->input, ABS_MT_POSITION_Y, y); \ - input_report_abs(data->input, ABS_MT_PRESSURE, z); \ - input_report_abs(data->input, ABS_MT_TOUCH_MAJOR, w_max); \ - input_report_abs(data->input, ABS_MT_TOUCH_MINOR, w_min); \ -} while (0) - -#define SET_FUNC_ADDR(num, page) \ -do { \ - data->f##num.query_base_addr = buffer[0] + page; \ - data->f##num.command_base_addr = buffer[1] + page; \ - data->f##num.control_base_addr = buffer[2] + page; \ - data->f##num.data_base_addr = buffer[3] + page; \ - if (!test_bit(buffer[5], data->func_bit)) { \ - __set_bit(buffer[5], data->func_bit); \ - cnt++; \ - } \ -} while (0) - -#define CHECK_PAGE(addr) ((addr >> 8) & 0xff) - -static void synaptics_ts_set_page(struct synaptics_drv_data *data, - u16 addr) -{ - u8 page = CHECK_PAGE(addr); - if (page != data->page) { - u8 buf[2] = {0xff, page}; - i2c_master_send(data->client, buf, sizeof(buf)); - data->page = page; - } -} - -int synaptics_ts_write_data(struct synaptics_drv_data *data, - u16 addr, u8 cmd) -{ - struct i2c_msg msg; - u8 buf[2]; - - synaptics_ts_set_page(data, addr); - - buf[0] = addr & 0xff; - buf[1] = cmd; - - msg.addr = data->client->addr; - msg.flags = data->client->flags & I2C_M_TEN; - msg.len = 2; - msg.buf = buf; - - return i2c_transfer(data->client->adapter, &msg, 1); -} - -int synaptics_ts_read_data(struct synaptics_drv_data *data, - u16 addr, u8 *buf) -{ - struct i2c_msg msg[2]; - - synaptics_ts_set_page(data, addr); - - msg[0].addr = data->client->addr; - msg[0].flags = 0x00; - msg[0].len = 1; - msg[0].buf = (u8 *) &addr; - - msg[1].addr = data->client->addr; - msg[1].flags = I2C_M_RD; - msg[1].len = 1; - msg[1].buf = buf; - - return i2c_transfer(data->client->adapter, msg, 2); -} - -int synaptics_ts_write_block(struct synaptics_drv_data *data, - u16 addr, u8 *cmd, u16 count) -{ - struct i2c_msg msg; - int ret = 0, i = 0; - u8 buf[256]; - - synaptics_ts_set_page(data, addr); - - buf[0] = addr & 0xff; - - for (i = 1; i <= count; i++) - buf[i] = *cmd++; - - msg.addr = data->client->addr; - msg.flags = data->client->flags & I2C_M_TEN; - msg.len = count + 1; - msg.buf = buf; - - ret = i2c_transfer(data->client->adapter, &msg, 1); - - return (ret == 1) ? count : ret; -} - -int synaptics_ts_read_block(struct synaptics_drv_data *data, - u16 addr, u8 *buf, u16 count) -{ - struct i2c_msg msg[2]; - int ret = 0; - - synaptics_ts_set_page(data, addr); - - msg[0].addr = data->client->addr; - msg[0].flags = 0x00; - msg[0].len = 1; - msg[0].buf = (u8 *) &addr; - - msg[1].addr = data->client->addr; - msg[1].flags = I2C_M_RD; - msg[1].len = count; - msg[1].buf = buf; - - ret = i2c_transfer(data->client->adapter, msg, 2); - - return (ret == 1) ? count : ret; -} - -#if defined(CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK) -static void free_dvfs_lock(struct work_struct *work) -{ - struct synaptics_drv_data *data = - container_of(work, struct synaptics_drv_data, - dvfs_dwork.work); - - dev_unlock(data->bus_dev, data->dev); - exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); - data->dvfs_lock_status = false; -} -void set_dvfs_lock(struct synaptics_drv_data *data, bool en) -{ - if (0 == data->cpufreq_level) - exynos_cpufreq_get_level(SEC_DVFS_LOCK_FREQ, - &data->cpufreq_level); - - if (en) { - cancel_delayed_work(&data->dvfs_dwork); - if (!data->dvfs_lock_status) { - dev_lock(data->bus_dev, - data->dev, SEC_BUS_LOCK_FREQ); - exynos_cpufreq_lock(DVFS_LOCK_ID_TSP, - data->cpufreq_level); - data->dvfs_lock_status = true; - } - } else { - if (data->dvfs_lock_status) - schedule_delayed_work(&data->dvfs_dwork, - (SEC_DVFS_LOCK_TIMEOUT * HZ) / 1000); - } -} -#endif /* CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK */ - -static void forced_release_fingers(struct synaptics_drv_data *data) -{ - int i; -#if 0 - printk(KERN_DEBUG "[TSP] %s\n", __func__); -#endif - for (i = 0; i < MAX_TOUCH_NUM; ++i) { - input_mt_slot(data->input, i); - input_mt_report_slot_state(data->input, - MT_TOOL_FINGER, 0); - - data->finger[i].status = MT_STATUS_INACTIVE; - data->finger[i].z = 0; - } - input_sync(data->input); - set_dvfs_lock(data, false); - return ; -} - -static int synaptics_ts_set_func_info(struct synaptics_drv_data *data) -{ - int i = 0, cnt = 0; - u8 buffer[6]; - u16 addr = 0; - u16 base_addr = FUNC_ADDR_FIRST; - u16 last_addr = FUNC_ADDR_LAST; - - for (i = 0; i <= PAGE_MAX; i += PAGE_MAX) { - base_addr += i; - last_addr += i; - for (addr = base_addr; addr >= last_addr; - addr -= FUNC_ADDR_SIZE) { - synaptics_ts_read_block(data, - addr, buffer, 6); - if (data->debug) { - printk(KERN_DEBUG - "[TSP] function : 0x%x\n", - buffer[5]); - printk(KERN_DEBUG - "[TSP] query_base_addr : 0x%x\n", - buffer[0]); - printk(KERN_DEBUG - "[TSP] command_base_addr : 0x%x\n", - buffer[1]); - printk(KERN_DEBUG - "[TSP] control_base_addr : 0x%x\n", - buffer[2]); - printk(KERN_DEBUG - "[TSP] data_base_addr : 0x%x\n", - buffer[3]); - } - switch (buffer[5]) { - case 0x01: - SET_FUNC_ADDR(01, i); - break; - - case 0x11: - SET_FUNC_ADDR(11, i); - break; - - case 0x34: - SET_FUNC_ADDR(34, i); - break; - - case 0x54: - SET_FUNC_ADDR(54, i); - break; - - default: - break; - } - } - } - return cnt; -} - -static int synaptics_ts_read_dummy(struct synaptics_drv_data *data) -{ - u8 buf; - int ret = 0, cnt = 0; - while (cnt < 5) { - ret = synaptics_ts_read_data(data, - data->f01.data_base_addr, &buf); - if (ret < 0) { - pr_err("[TSP] read reg_data failed(%d) ret : %d\n", - cnt++, ret); - msleep(20); - } else - return 0; - } - return -EIO; -} - -static void set_charger_connection_bit(struct synaptics_drv_data *data) -{ - u8 buf = 0; - - if (data->suspend) { - schedule_delayed_work(&data->noti_dwork, HZ / 2); - return ; - } - - synaptics_ts_read_data(data, - data->f01.control_base_addr, &buf); - - if (data->charger_connection) - buf |= CHARGER_CONNECT_BIT; - else - buf &= ~(CHARGER_CONNECT_BIT); - - synaptics_ts_write_data(data, - data->f01.control_base_addr, buf); -} - -static void inform_charger_connection(struct charger_callbacks *cb, int mode) -{ - struct synaptics_drv_data *data = container_of(cb, - struct synaptics_drv_data, callbacks); - - if (!data->ready) { - printk(KERN_DEBUG - "[TSP] %s - driver is not ready\n", - __func__); - return ; - } - - data->charger_connection = !!mode; - set_charger_connection_bit(data); -} - -static int synaptics_ts_set_func(struct synaptics_drv_data *data) -{ - int i = 0; - - printk(KERN_DEBUG "[TSP] %s\n", __func__); - - if (synaptics_ts_set_func_info(data) != 4) { - pr_err("[TSP] failed to get function info.\n"); - forced_fw_update(data); - synaptics_ts_set_func_info(data); - } else - synaptics_fw_updater(data, NULL); - - for (i = 0; i < MAX_TOUCH_NUM; ++i) - data->finger[i].status = MT_STATUS_INACTIVE; - - return synaptics_ts_read_dummy(data); -} - -static int check_interrupt_status(struct synaptics_drv_data *data, - u32 *finger_status) -{ - int ret = 0; - u8 buf[3]; - u16 addr = 0; - - /* read the interrupt status */ - addr = data->f01.data_base_addr + 1; - ret = synaptics_ts_read_data(data, - addr, buf); - if (ret < 0) { - pr_err("[TSP] failed to read i2c data(%d)\n", __LINE__); - return -EIO; - } - - /* read the finger states */ - addr = data->f11.data_base_addr; - ret = synaptics_ts_read_block(data, - addr, buf, 3); - if (ret < 0) { - pr_err("[TSP] failed to read i2c data(%d)\n", __LINE__); - return -EIO; - } - - *finger_status = (u32) (buf[0] | (buf[1] << 8) | - ((buf[2] & 0xf) << 16)); - - if (data->debug) - printk(KERN_DEBUG - "[TSP] finger_status : 0x%x\n", - *finger_status); - - return 0; -} - -static void synaptics_ts_read_points(struct synaptics_drv_data *data, - u32 finger_status) -{ - struct finger_data buf; - bool finger_pressed = false; - int ret = 0; - int id = 0; - u16 addr = data->f11.data_base_addr + 3; - - for (id = 0; id < MAX_TOUCH_NUM; id++, - addr += sizeof(struct finger_data)) { - if (finger_status & (0x3 << (id * 2))) { - ret = synaptics_ts_read_block(data, - addr, (u8 *) &buf, 5); - if (ret < 0) { - pr_err("[TSP] failed to read finger[%u]\n", id); - return ; - } - - if (data->debug) - printk(KERN_DEBUG - "[TSP] ID: %d, x_msb: %d, y_msb: %d, z: %d\n", - id, - buf.x_msb, - buf.y_msb, - buf.z); - - data->finger[id].x = - (buf.x_msb << 4) + - (buf.xy_lsb & 0x0F); - data->finger[id].y = - (buf.y_msb << 4) + - (buf.xy_lsb >> 4); - - if ((buf.w >> 4) > - (buf.w & 0x0F)) { - data->finger[id].w_max = - ((buf.w & 0xF0) >> 4); - data->finger[id].w_min = - (buf.w & 0x0F); - } else { - data->finger[id].w_min = - ((buf.w & 0xF0) >> 4); - data->finger[id].w_max = - (buf.w & 0x0F); - } - - data->finger[id].z = buf.z; - if (data->finger[id].z) { - if (MT_STATUS_INACTIVE == - data->finger[id].status) { - data->finger[id].status = - MT_STATUS_PRESS; - if (data->debug) - printk(KERN_DEBUG - "[TSP] ID: %d, x: %d, y: %d, z: %d\n", - id, - data->finger[id].x, - data->finger[id].y, - data->finger[id].z); - else - printk(KERN_DEBUG - "s7301 %d P\n", id); - } else if (data->debug) - printk(KERN_DEBUG - "[TSP] ID: %d, x: %d, y: %d, z: %d\n", - id, - data->finger[id].x, - data->finger[id].y, - data->finger[id].z); - } - } else if (MT_STATUS_PRESS == data->finger[id].status) { - data->finger[id].status = MT_STATUS_RELEASE; - data->finger[id].z = 0; - if (data->debug) - printk(KERN_DEBUG "[TSP] ID: %d\n", id); - else - printk(KERN_DEBUG "s7301 %d R\n", id); - } - } - - for (id = 0; id < MAX_TOUCH_NUM; ++id) { - if (MT_STATUS_INACTIVE == data->finger[id].status) - continue; - - input_mt_slot(data->input, id); - input_mt_report_slot_state(data->input, - MT_TOOL_FINGER, - !!data->finger[id].z); - - switch (data->finger[id].status) { - case MT_STATUS_PRESS: - case MT_STATUS_MOVE: - finger_pressed = true; - REPORT_MT( - data->finger[id].x, - data->finger[id].y, - data->finger[id].z, - data->finger[id].w_max, - data->finger[id].w_min); - break; - - case MT_STATUS_RELEASE: - data->finger[id].status = MT_STATUS_INACTIVE; - break; - default: - break; - } - } - input_sync(data->input); - set_dvfs_lock(data, finger_pressed); -} - -static irqreturn_t synaptics_ts_irq_handler(int irq, void *_data) -{ - struct synaptics_drv_data *data = (struct synaptics_drv_data *)_data; - u32 finger_status = 0; - if (!check_interrupt_status(data, &finger_status)) - synaptics_ts_read_points(data, finger_status); - return IRQ_HANDLED; -} - -#if defined(CONFIG_HAS_EARLYSUSPEND) -static void synaptics_ts_early_suspend(struct early_suspend *h) -{ - struct synaptics_drv_data *data = - container_of(h, struct synaptics_drv_data, early_suspend); - printk(KERN_DEBUG "[TSP] %s\n", __func__); - cancel_delayed_work_sync(&data->resume_dwork); - mutex_lock(&data->mutex); - if (!data->suspend) { - disable_irq(data->client->irq); - forced_release_fingers(data); - if (!wake_lock_active(&data->wakelock)) { - data->ready = false; - data->pdata->set_power(0); - data->suspend = true; - } - } - mutex_unlock(&data->mutex); -} - -static void synaptics_ts_late_resume(struct early_suspend *h) -{ - struct synaptics_drv_data *data = - container_of(h, struct synaptics_drv_data, early_suspend); - - printk(KERN_DEBUG "[TSP] %s\n", __func__); - - if (data->suspend) { - if (data->pdata->set_power(1)) - data->pdata->hw_reset(); - } - schedule_delayed_work(&data->resume_dwork, HZ / 10); -} -#endif - -static void init_function_data_dwork(struct work_struct *work) -{ - struct synaptics_drv_data *data = - container_of(work, struct synaptics_drv_data, init_dwork.work); - int ret = 0; - - printk(KERN_DEBUG "[TSP] %s\n", __func__); - - ret = synaptics_ts_set_func(data); - if (ret) { - pr_err("[TSP] failed to initialize\n"); - return ; - } - -#if defined(CONFIG_HAS_EARLYSUSPEND) - data->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; - data->early_suspend.suspend = synaptics_ts_early_suspend; - data->early_suspend.resume = synaptics_ts_late_resume; - register_early_suspend(&data->early_suspend); -#endif - -#if defined(CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK) - INIT_DELAYED_WORK(&data->dvfs_dwork, - free_dvfs_lock); - data->bus_dev = dev_get("exynos-busfreq"); - data->dvfs_lock_status = false; - ret = exynos_cpufreq_get_level(SEC_DVFS_LOCK_FREQ, - &data->cpufreq_level); - if (ret < 0) - data->cpufreq_level = 0; -#endif - - data->ready = true; - set_charger_connection_bit(data); - - if (data->client->irq) { - ret = request_threaded_irq(data->client->irq, NULL, - synaptics_ts_irq_handler, - IRQF_TRIGGER_LOW | IRQF_ONESHOT, - data->client->name, data); - if (ret < 0) { - pr_err("[TSP] failed to request threaded irq %d, ret %d\n", - data->client->irq, ret); - return ; - } - } -} - -static void synaptics_ts_resume_dwork(struct work_struct *work) -{ - struct synaptics_drv_data *data = - container_of(work, struct synaptics_drv_data, - resume_dwork.work); - - mutex_lock(&data->mutex); - if (data->suspend) { - data->ready = true; - set_charger_connection_bit(data); - synaptics_ts_drawing_mode(data); - synaptics_ts_read_dummy(data); - enable_irq(data->client->irq); - data->suspend = false; - } - mutex_unlock(&data->mutex); -} - -static void synaptics_ts_noti_dwork(struct work_struct *work) -{ - struct synaptics_drv_data *data = - container_of(work, struct synaptics_drv_data, - noti_dwork.work); - - set_charger_connection_bit(data); -} - -static int __init synaptics_ts_probe(struct i2c_client *client, - const struct i2c_device_id *id) -{ - struct synaptics_drv_data *ddata; - struct synaptics_platform_data *pdata; - struct input_dev *input; - int ret = 0; - - if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { - pr_err("[TSP] failed to check i2c functionality!\n"); - ret = -ENODEV; - goto err_check_functionality_failed; - } - - ddata = kzalloc(sizeof(struct synaptics_drv_data), GFP_KERNEL); - if (unlikely(ddata == NULL)) { - pr_err("[TSP] failed to allocate the synaptics_drv_data.\n"); - ret = -ENOMEM; - goto err_alloc_data_failed; - } - - pdata = client->dev.platform_data; - if (pdata == NULL) { - pr_err("[TSP] failed to get platform data\n"); - goto err_pdata; - } - - ddata->client = client; - ddata->pdata = pdata; - ddata->gpio = pdata->gpio_attn; - ddata->x_line = pdata->x_line; - ddata->y_line = pdata->y_line; - - /* Register callbacks */ - /* To inform tsp , charger connection status*/ - ddata->callbacks.inform_charger = inform_charger_connection; - if (pdata->register_cb) - pdata->register_cb(&ddata->callbacks); - - i2c_set_clientdata(client, ddata); - - input = input_allocate_device(); - if (!input) { - pr_err("[TSP] failed to allocate input device\n"); - ret = -ENOMEM; - goto err_input_dev_alloc_failed; - } - - ddata->input = input; - input_set_drvdata(input, ddata); - -#if 0 - input->name = client->driver->driver.name; -#else - input->name = "sec_touchscreen"; -#endif - - __set_bit(EV_ABS, input->evbit); - __set_bit(EV_KEY, input->evbit); - __set_bit(MT_TOOL_FINGER, input->keybit); - __set_bit(INPUT_PROP_DIRECT, input->propbit); - - input_mt_init_slots(input, MAX_TOUCH_NUM); - input_set_abs_params(input, ABS_MT_POSITION_X, 0, - pdata->max_x, 0, 0); - input_set_abs_params(input, ABS_MT_POSITION_Y, 0, - pdata->max_y, 0, 0); - input_set_abs_params(input, ABS_MT_PRESSURE, 0, - pdata->max_pressure, 0, 0); - input_set_abs_params(input, ABS_MT_TOUCH_MAJOR, 0, - pdata->max_width, 0, 0); - input_set_abs_params(input, ABS_MT_TOUCH_MINOR, 0, - pdata->max_width, 0, 0); - - ret = input_register_device(input); - if (ret) { - pr_err("[TSP] failed to register input device\n"); - ret = -ENOMEM; - goto err_input_register_device_failed; - } - - mutex_init(&ddata->mutex); - wake_lock_init(&ddata->wakelock, WAKE_LOCK_SUSPEND, "touch"); - - INIT_DELAYED_WORK(&ddata->init_dwork, init_function_data_dwork); - INIT_DELAYED_WORK(&ddata->resume_dwork, synaptics_ts_resume_dwork); - INIT_DELAYED_WORK(&ddata->noti_dwork, synaptics_ts_noti_dwork); - schedule_delayed_work(&ddata->init_dwork, HZ); - - ret = set_tsp_sysfs(ddata); - if (ret) { - pr_err("[TSP] failed to register input device\n"); - ret = -ENODEV; - goto err_make_sysfs_failed; - } - - return 0; - -err_make_sysfs_failed: - input_unregister_device(input); -err_input_register_device_failed: - input_free_device(input); -err_input_dev_alloc_failed: -err_pdata: - kfree(ddata); -err_alloc_data_failed: -err_check_functionality_failed: - return ret; -} - -static int synaptics_ts_remove(struct i2c_client *client) -{ - struct synaptics_drv_data *data = i2c_get_clientdata(client); - - unregister_early_suspend(&data->early_suspend); - free_irq(client->irq, data); - input_unregister_device(data->input); - kfree(data); - return 0; -} - -static const struct i2c_device_id synaptics_ts_id[] = { - {SYNAPTICS_TS_NAME, 0}, - {} -}; - -static struct i2c_driver synaptics_ts_driver = { - .driver = { - .name = SYNAPTICS_TS_NAME, - }, - .id_table = synaptics_ts_id, - .probe = synaptics_ts_probe, - .remove = __devexit_p(synaptics_ts_remove), -}; - -static int __devinit synaptics_ts_init(void) -{ - return i2c_add_driver(&synaptics_ts_driver); -} - -static void __exit synaptics_ts_exit(void) -{ - i2c_del_driver(&synaptics_ts_driver); -} - -module_init(synaptics_ts_init); -module_exit(synaptics_ts_exit); - -MODULE_AUTHOR("junki671.min@samsung.com"); -MODULE_DESCRIPTION("Driver for Synaptics S7301 Touchscreen Controller"); -MODULE_LICENSE("GPL"); - diff --git a/drivers/input/touchscreen/synaptics_sysfs.c b/drivers/input/touchscreen/synaptics_sysfs.c deleted file mode 100644 index 8aa6b88..0000000 --- a/drivers/input/touchscreen/synaptics_sysfs.c +++ /dev/null @@ -1,866 +0,0 @@ -/* - * drivers/input/touchscreen/synaptics_sysfs.c - * - * Copyright (C) 2012 Samsung Electronics, Inc. - * - * This software is licensed under the terms of the GNU General Public - * License version 2, as published by the Free Software Foundation, and - * may be copied, distributed, and modified under those terms. - * - * 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. - */ - -#include <linux/uaccess.h> -#include <linux/fs.h> -#include <linux/synaptics_s7301.h> -#include "synaptics_sysfs.h" - -const char *sec_sysfs_cmd_list[] = { - "fw_update", - "get_fw_ver_bin", - "get_fw_ver_ic", - "get_config_ver", - "get_threshold", - "module_off_master", - "module_on_master", - "get_chip_vendor", - "get_chip_name", - "get_x_num", - "get_y_num", - "run_rawcap_read", - "run_rx_to_rx_read", - "run_tx_to_tx_read", - "run_tx_to_gnd_read", - "get_rawcap", - "get_rx_to_rx", - "get_tx_to_tx", - "get_tx_to_gnd" -}; - -static int synaptics_ts_load_fw(struct synaptics_drv_data *data) -{ - struct file *fp; - mm_segment_t old_fs; - u16 fw_size, nread; - int error = 0; - - old_fs = get_fs(); - set_fs(KERNEL_DS); - - fp = filp_open(SYNAPTICS_FW, O_RDONLY, S_IRUSR); - if (IS_ERR(fp)) { - printk(KERN_ERR "[TSP] failed to open %s.\n", SYNAPTICS_FW); - error = -ENOENT; - goto open_err; - } - - fw_size = fp->f_path.dentry->d_inode->i_size; - if (0 < fw_size) { - u8 *fw_data; - fw_data = kzalloc(fw_size, GFP_KERNEL); - nread = vfs_read(fp, (char __user *)fw_data, - fw_size, &fp->f_pos); - printk(KERN_DEBUG "[TSP] start, file path %s, size %u Bytes\n", - SYNAPTICS_FW, fw_size); - if (nread != fw_size) { - printk(KERN_ERR - "[TSP] failed to read firmware file, nread %u Bytes\n", - nread); - error = -EIO; - } else - synaptics_fw_updater(data, fw_data); - - kfree(fw_data); - } - - filp_close(fp, current->files); - open_err: - set_fs(old_fs); - return error; -} - -static int set_report_type(struct synaptics_drv_data *data, u8 command) -{ - return synaptics_ts_write_data(data, - data->f54.data_base_addr, - command); -} - -static int set_report_index(struct synaptics_drv_data *data, u16 index) -{ - u8 buf[2]; - buf[0] = index & 0xff; - buf[1] = (index & 0xff00) >> 8; - return synaptics_ts_write_block(data, - data->f54.data_base_addr + 1, - buf, 2); -} - -static void set_report_mode(struct synaptics_drv_data *data, - u8 command, u8 result) -{ - u8 buf, cnt = 0; - - synaptics_ts_write_data(data, - data->f54.command_base_addr, - command); - - /* Wait until the command is completed */ - do { - msleep(20); - synaptics_ts_read_data(data, - data->f54.command_base_addr, - &buf); - if (cnt++ > 150) { - printk(KERN_WARNING - "[TSP] Fail - cmd : %u, result : %u\n", - command, result); - break; - } - - } while (buf != result); -} - -static void soft_reset(struct synaptics_drv_data *data) -{ - u8 buf; - synaptics_ts_write_data(data, 0xff, 0x00); - synaptics_ts_write_data(data, - data->f01.command_base_addr, - 0x01); - - msleep(160); - - /* Read Interrupt status register to Interrupt line goes to high */ - synaptics_ts_read_data(data, - data->f01.data_base_addr + 1, - &buf); -} - -static void check_all_raw_cap(struct synaptics_drv_data *data) -{ - int i; - u8 *buff; - u16 temp = 0; - u16 length = data->x_line * data->y_line * 2; - - buff = kzalloc(length, GFP_KERNEL); - data->refer_min = 0xffff; - data->refer_max = 0x0; - - /* set the index */ - set_report_index(data, 0x0000); - - /* Set the GetReport bit to run the AutoScan */ - set_report_mode(data, 0x01, 0x00); - - /* read all report data */ - synaptics_ts_read_block(data, - data->f54.data_base_addr + 3, - buff, length); - - for (i = 0; i < length; i += 2) { - temp = (u16)(buff[i] | (buff[i+1] << 8)); - if (data->debug) { - if ((temp <= FULL_RAW_CAP_LOWER_LIMIT) - || (temp >= FULL_RAW_CAP_UPPER_LIMIT)) { - printk(KERN_DEBUG - "[TSP] raw cap[%d] : %u\n", - i, temp); - } - } - data->references[i / 2] = temp; - if (temp < data->refer_min) - data->refer_min = temp; - if (temp > data->refer_max) - data->refer_max = temp; - } - printk(KERN_DEBUG "[TSP] min : %u, max : %u\n", - data->refer_min, data->refer_max); - - kfree(buff); -} - -static void check_tx_to_tx(struct synaptics_drv_data *data) -{ - int i = 0; - u8 *buff; - u8 length = (data->x_line / 8) + 1; - - buff = kzalloc(length, GFP_KERNEL); - - /* set the index */ - set_report_index(data, 0x0000); - - /* Set the GetReport bit to run the AutoScan */ - set_report_mode(data, 0x01, 0x00); - - synaptics_ts_read_block(data, - data->f54.data_base_addr + 3, - buff, length); - - /* - * Byte-0 houses Tx responses Tx7:Tx0 - * Byte-1 houses Tx responses Tx15:Tx8 - * Byte-2 houses Tx responses Tx23:Tx16 - * Byte-3 houses Tx responses Tx31:Tx24 - */ - for (i = 0; i < data->x_line; i++) { - if (buff[i / 8] & (0x1 << i % 8)) { - data->tx_to_tx[i] = 0x1; - printk(KERN_WARNING - "[TSP] %s %d short\n", - __func__, i); - } else - data->tx_to_tx[i] = 0x0; - } - kfree(buff); -} - -static void check_tx_to_gnd(struct synaptics_drv_data *data) -{ - int i = 0; - u8 *buff; - u8 length = (data->x_line / 8) + 1; - - buff = kzalloc(length, GFP_KERNEL); - - /* set the index */ - set_report_index(data, 0x0000); - - /* Set the GetReport bit to run the AutoScan */ - set_report_mode(data, 0x01, 0x00); - - synaptics_ts_read_block(data, - data->f54.data_base_addr + 3, - buff, length); - - /* - * Byte-0 houses Tx responses Tx7:Tx0 - * Byte-1 houses Tx responses Tx15:Tx8 - * Byte-2 houses Tx responses Tx23:Tx16 - * Byte-3 houses Tx responses Tx31:Tx24 - */ - for (i = 0; i < data->x_line; i++) { - if (buff[i / 8] & (0x1 << i % 8)) { - data->tx_to_gnd[i] = 0x1; - printk(KERN_WARNING - "[TSP] %s %d short\n", - __func__, i); - } else - data->tx_to_gnd[i] = 0x0; - } - kfree(buff); -} - -static void check_rx_to_rx(struct synaptics_drv_data *data) -{ - int i = 0, j = 0, k = 0; - u8 *buff; - u16 length = data->y_line * data->y_line * 2; - u16 temp = 0; - - buff = kzalloc(length, GFP_KERNEL); - - /* disable the CBC setting */ - synaptics_ts_write_data(data, - data->f54.control_base_addr + 8, - 0x00); - - /* noCDM4 */ - synaptics_ts_write_data(data, - data->f54.control_base_addr + 0xa6, - 0x01); - - set_report_mode(data, 0x04, 0x00); - set_report_mode(data, 0x02, 0x00); - - /* set the index */ - set_report_index(data, 0x0000); - - /* Set the GetReport bit to run the AutoScan */ - set_report_mode(data, 0x01, 0x00); - - /* read 1st rx_to_rx data */ - length = data->x_line * data->y_line * 2; - - synaptics_ts_read_block(data, - data->f54.data_base_addr + 3, - buff, length); - - for (i = 0, k = 0; i < data->x_line; i++) { - for (j = 0; j < data->y_line; j++, k += 2) { - temp = buff[k] | (buff[k+1] << 8); - data->rx_to_rx[i][j] = temp; - } - } - - /* read 2nd rx_to_rx data */ - length = data->y_line * - (data->y_line - data->x_line) * 2; - - set_report_type(data, - REPORT_TYPE_RX_TO_RX2); - - /* set the index */ - set_report_index(data, 0x0000); - - set_report_mode(data, 0x01, 0x00); - - synaptics_ts_read_block(data, - data->f54.data_base_addr + 3, - buff, length); - - for (k = 0; i < data->y_line; i++) { - for (j = 0; j < data->y_line; j++, k += 2) { - temp = buff[k] | (buff[k+1] << 8); - data->rx_to_rx[i][j] = temp; - } - } - - if (data->debug) { - for (i = 0; i < data->y_line; i++) { - printk("[TSP] line %d :", i); - for (j = 0; j < data->y_line; j++) - printk(" %d", (s16)(data->rx_to_rx[j][i])); - printk("\n"); - } - } - - /* to the calibration */ - set_report_mode(data, 0x02, 0x00); - - kfree(buff); -} - -static void check_diagnostics_mode(struct synaptics_drv_data *data) -{ - /* Set report mode */ - set_report_type(data, data->cmd_report_type); - - switch (data->cmd_report_type) { - case REPORT_TYPE_RAW_CAP: - check_all_raw_cap(data); - break; - - case REPORT_TYPE_TX_TO_TX: - check_tx_to_tx(data); - break; - case REPORT_TYPE_TX_TO_GND: - check_tx_to_gnd(data); - break; - - case REPORT_TYPE_RX_TO_RX: - /* check the result */ - check_rx_to_rx(data); - break; - - default: - break; - } - - /* Reset */ - soft_reset(data); -} - -static u16 synaptics_get_threshold(struct synaptics_drv_data *data) -{ - u8 tmp = 0; - synaptics_ts_read_data(data, - data->f11.control_base_addr + 10, - &tmp); - printk(KERN_DEBUG "[TSP] threshold : %u\n", tmp); - return (u16)tmp; -} - -static void synaptics_fw_phone(struct synaptics_drv_data *data, - u8 *buf) -{ - strncpy(buf, data->firm_version, - sizeof(data->firm_version)); - printk(KERN_DEBUG "[TSP] firm phone : %s\n", - data->firm_version); -} - -static void synaptics_fw_panel(struct synaptics_drv_data *data, - u8 *buf) -{ - - synaptics_ts_read_block(data, - data->f34.control_base_addr, - buf, 4); - - printk(KERN_DEBUG "[TSP] firm panel : %s\n", buf); -} - -static void synaptics_fw_config(struct synaptics_drv_data *data, - u8 *buf) -{ - - strncpy(buf, data->firm_config, - sizeof(data->firm_config)); - printk(KERN_DEBUG "[TSP] config : %s\n", - data->firm_config); -} - -static int sec_fw_cmd(struct synaptics_drv_data *data, - u32 type) -{ - int ret = 0; - switch (type) { - case CMD_FW_CMD_BUILT_IN: - ret = synaptics_fw_updater(data, NULL); - break; - - case CMD_FW_CMD_UMS: - ret = synaptics_ts_load_fw(data); - break; - - default: - break; - } - - return ret; -} - -static u16 get_value(struct synaptics_drv_data *data, - u32 pos_x, u32 pos_y) -{ - u16 tmp = 0; - u16 position = (u16)(data->y_line * pos_x) + pos_y; - - switch (data->cmd_report_type) { - case REPORT_TYPE_RAW_CAP: - tmp = data->references[position]; - break; - - case REPORT_TYPE_TX_TO_TX: - tmp = data->tx_to_tx[pos_x]; - break; - case REPORT_TYPE_TX_TO_GND: - tmp = data->tx_to_gnd[pos_x]; - break; - - case REPORT_TYPE_RX_TO_RX: - tmp = data->rx_to_rx[pos_x][pos_y]; - break; - - default: - break; - } - - return tmp; -} - -static int sec_sysfs_check_cmd(u8 *buf, - u32 *param) -{ - int cmd = 0; - u8 cnt = 0, cnt2 = 0, start = 0; - u8 end = strlen(buf); - do { - if (!strncmp(sec_sysfs_cmd_list[cmd], - buf, strlen(sec_sysfs_cmd_list[cmd]))) - break; - cmd++; - } while (cmd < CMD_LIST_MAX); - - if (CMD_LIST_MAX == cmd) - return cmd; - - printk(KERN_DEBUG - "[TSP] mode : %s\n", - sec_sysfs_cmd_list[cmd]); - - cnt = start = strlen(sec_sysfs_cmd_list[cmd]) + 1; - - while (cnt < end) { - if ((buf[cnt] == ',') || cnt == end - 1) { - u8 *tmp; - int len = 0; - len = cnt - start; - if (cnt == end - 1) - len++; - tmp = kzalloc(len, GFP_KERNEL); - memcpy(tmp, &buf[start], len); - printk(KERN_DEBUG - "[TSP] param[%u] : %s\n", - cnt2, tmp); - if (!kstrtouint(tmp, 10, ¶m[cnt2])) - cnt2++; - kfree(tmp); - start = cnt + 1; - } - cnt++; - } - - return cmd; -} - -static void sec_sysfs_numstr(s16 data, u8 *str) -{ - sprintf(str, "%d", data); -} - -static void sec_sysfs_cmd(struct synaptics_drv_data *data, - const char *str) -{ - int cmd = 0, cnt = 0; - int buf_size = 0, i = 0; - int ret = 0; - int irq = gpio_to_irq(data->gpio); - u8 *buf, *buf2, *buf3; - u8 *tmp_str[7]; - u16 temp = 0; - u32 param[2] = {0,}; - - buf = kzalloc(strlen(str), GFP_KERNEL); - buf2 = kzalloc(8, GFP_KERNEL); - buf3 = kzalloc(8, GFP_KERNEL); - memset(data->cmd_result, 0x0, sizeof(data->cmd_result)); - - sscanf(str, "%s", buf); - cmd = sec_sysfs_check_cmd(buf, param); - - tmp_str[cnt++] = buf; - tmp_str[cnt++] = ":"; - - printk(KERN_DEBUG - "[TSP] %s : %u, %u\n", - __func__, - param[0], param[1]); - - if (CMD_STATUS_WAITING == data->cmd_status) - data->cmd_status = CMD_STATUS_RUNNING; - else - data->cmd_status = CMD_STATUS_WAITING; - - disable_irq(irq); - - switch (cmd) { - case CMD_LIST_FW_UPDATE: - ret = sec_fw_cmd(data, param[0]); - if (ret) - tmp_str[cnt++] = "FAIL"; - else - tmp_str[cnt++] = "PASS"; - break; - - case CMD_LIST_FW_VER_BIN: - synaptics_fw_phone(data, buf2); - tmp_str[cnt++] = buf2; - break; - - case CMD_LIST_FW_VER_IC: - synaptics_fw_panel(data, buf2); - tmp_str[cnt++] = buf2; - break; - - case CMD_LIST_CONFIG_VER: - synaptics_fw_config(data, buf2); - tmp_str[cnt++] = buf2; - break; - - case CMD_LIST_GET_THRESHOLD: - temp = synaptics_get_threshold(data); - sec_sysfs_numstr(temp, buf2); - tmp_str[cnt++] = buf2; - break; - - case CMD_LIST_POWER_OFF: - ret = data->pdata->set_power(false); - if (ret) - tmp_str[cnt++] = "FAIL"; - else - tmp_str[cnt++] = "PASS"; - break; - - case CMD_LIST_POWER_ON: - ret = data->pdata->set_power(true); - if (ret) - tmp_str[cnt++] = "FAIL"; - else - tmp_str[cnt++] = "PASS"; - break; - - case CMD_LIST_VENDOR: - tmp_str[cnt++] = "Synaptics"; - break; - - case CMD_LIST_IC_NAME: - tmp_str[cnt++] = "S7301"; - break; - - case CMD_LIST_X_SIZE: - sec_sysfs_numstr(data->x_line, buf2); - tmp_str[cnt++] = buf2; - break; - - case CMD_LIST_Y_SIZE: - sec_sysfs_numstr(data->y_line, buf2); - tmp_str[cnt++] = buf2; - break; - - case CMD_LIST_READ_REF: - data->cmd_report_type = REPORT_TYPE_RAW_CAP; - check_diagnostics_mode(data); - sec_sysfs_numstr(data->refer_min, buf2); - tmp_str[cnt++] = buf2; - tmp_str[cnt++] = ","; - sec_sysfs_numstr(data->refer_max, buf3); - tmp_str[cnt++] = buf3; - break; - - case CMD_LIST_READ_RX: - data->cmd_report_type = REPORT_TYPE_RX_TO_RX; - check_diagnostics_mode(data); - break; - - case CMD_LIST_READ_TX: - data->cmd_report_type = REPORT_TYPE_TX_TO_TX; - check_diagnostics_mode(data); - break; - - case CMD_LIST_READ_TXG: - data->cmd_report_type = REPORT_TYPE_TX_TO_GND; - check_diagnostics_mode(data); - break; - - case CMD_LIST_GET_REF: - data->cmd_report_type = REPORT_TYPE_RAW_CAP; - temp = get_value(data, param[0], param[1]); - sec_sysfs_numstr(temp, buf2); - tmp_str[cnt++] = buf2; - break; - - case CMD_LIST_GET_RX: - data->cmd_report_type = REPORT_TYPE_RX_TO_RX; - temp = get_value(data, param[0], param[1]); - sec_sysfs_numstr(temp, buf2); - tmp_str[cnt++] = buf2; - break; - - case CMD_LIST_GET_TX: - data->cmd_report_type = REPORT_TYPE_TX_TO_TX; - temp = get_value(data, param[0], param[1]); - sec_sysfs_numstr(temp, buf2); - tmp_str[cnt++] = buf2; - break; - - case CMD_LIST_GET_TXG: - data->cmd_report_type = REPORT_TYPE_TX_TO_GND; - temp = get_value(data, param[0], param[1]); - sec_sysfs_numstr(temp, buf2); - tmp_str[cnt++] = buf2; - break; - - default: - printk(KERN_DEBUG - "[TSP] unkown mode : %s\n", buf); - break; - } - - enable_irq(irq); - - for (i = 0; i < cnt; i++) { - if (buf_size < MAX_CMD_SIZE) { - memcpy(&data->cmd_result[buf_size], - tmp_str[i], strlen(tmp_str[i])); - buf_size += strlen(tmp_str[i]); - } else - break; - } - - if (cmd == CMD_LIST_MAX) - data->cmd_status = CMD_STATUS_FAIL; - else - data->cmd_status = CMD_STATUS_OK; - - kfree(buf); - kfree(buf2); - kfree(buf3); -} - -static void sec_sysfs_cmd_status(struct synaptics_drv_data *data) -{ - u8 buf[8] = {0, }; - switch (data->cmd_status) { - case CMD_STATUS_OK: - strcpy(buf, "OK"); - break; - - case CMD_STATUS_FAIL: - strcpy(buf, "FAIL"); - break; - - case CMD_STATUS_WAITING: - strcpy(buf, "WAITING"); - break; - - case CMD_STATUS_RUNNING: - strcpy(buf, "RUNNING"); - break; - - default: - break; - } - data->cmd_temp = buf; - printk(KERN_DEBUG - "[TSP] unkown mode : %s\n", buf); -} - -static ssize_t sec_sysfs_show_cmd_list(struct device *dev, - struct device_attribute *attr, char *buf) -{ - int i = 0, cnt = 0; - for (i = 0; i < CMD_LIST_MAX; i++) - cnt += sprintf(buf + cnt, - "%s\n", sec_sysfs_cmd_list[i]); - return cnt; -} -static void sec_sysfs_set_debug(struct synaptics_drv_data *data, - const char *str) -{ - u32 buf = 0; - sscanf(str, "%u", &buf); - data->debug = !!buf; -} - -void synaptics_ts_drawing_mode(struct synaptics_drv_data *data) -{ - u8 val = 0; -#if 0 - u8 threshold = 0; -#endif - u16 addr = 0; - - addr = data->f11.control_base_addr; - synaptics_ts_read_data(data, addr, &val); - - if (!data->drawing_mode) { - val |= ABS_POS_BIT; -#if 0 - threshold = 0x80; -#endif - printk(KERN_DEBUG - "[TSP] set normal mode\n"); - } else { - val &= ~(ABS_POS_BIT); -#if 0 - threshold = 0x4d; -#endif - printk(KERN_DEBUG - "[TSP] set drawing mode\n"); - } - /* set ads pos filter */ - synaptics_ts_write_data(data, addr, val); -#if 0 - /* set pixel threshold */ - addr = data->f54.control_base_addr + 4; - synaptics_ts_write_data(data, addr, threshold); -#endif -} - -static void set_abs_pos_filter(struct synaptics_drv_data *data, - const char *str) -{ - u32 buf = 0; - sscanf(str, "%u", &buf); - data->drawing_mode = !buf; - if (data->ready) - synaptics_ts_drawing_mode(data); -} - -#define SET_SHOW_FN(name, fn, format, ...) \ -static ssize_t sec_sysfs_show_##name(struct device *dev, \ - struct device_attribute *attr, \ - char *buf) \ -{ \ - struct synaptics_drv_data *data = dev_get_drvdata(dev); \ - fn; \ - return sprintf(buf, format "\n", ## __VA_ARGS__); \ -} - -#define SET_STORE_FN(name, fn) \ -static ssize_t sec_sysfs_store_##name(struct device *dev, \ - struct device_attribute *attr, \ - const char *buf, size_t size) \ -{ \ - struct synaptics_drv_data *data = dev_get_drvdata(dev); \ - fn(data, buf); \ - return size; \ -} - -SET_SHOW_FN(cmd_status, - sec_sysfs_cmd_status(data), - "%s", data->cmd_temp); -SET_SHOW_FN(cmd_result, - printk(KERN_DEBUG "[TSP] cmd result - %s\n", - data->cmd_result), - "%s", data->cmd_result); - -SET_STORE_FN(cmd, sec_sysfs_cmd); -SET_STORE_FN(set_debug, sec_sysfs_set_debug); -SET_STORE_FN(set_jitter, set_abs_pos_filter); - -static DEVICE_ATTR(cmd, S_IWUSR | S_IWGRP, - NULL, sec_sysfs_store_cmd); -static DEVICE_ATTR(cmd_status, S_IRUGO, - sec_sysfs_show_cmd_status, NULL); -static DEVICE_ATTR(cmd_result, S_IRUGO, - sec_sysfs_show_cmd_result, NULL); -static DEVICE_ATTR(cmd_list, S_IRUGO, - sec_sysfs_show_cmd_list, NULL); -static DEVICE_ATTR(set_debug, S_IWUSR, - NULL, sec_sysfs_store_set_debug); -static DEVICE_ATTR(set_jitter, S_IWUSR | S_IWGRP, - NULL, sec_sysfs_store_set_jitter); - -static struct attribute *sec_sysfs_attributes[] = { - &dev_attr_cmd.attr, - &dev_attr_cmd_status.attr, - &dev_attr_cmd_result.attr, - &dev_attr_cmd_list.attr, - &dev_attr_set_debug.attr, - &dev_attr_set_jitter.attr, - NULL, -}; - -static struct attribute_group sec_sysfs_attr_group = { - .attrs = sec_sysfs_attributes, -}; - -int set_tsp_sysfs(struct synaptics_drv_data *data) -{ - int ret = 0; - u16 tmp = 0; - tmp = data->x_line * data->y_line; - data->references = kzalloc(tmp * sizeof(u16), GFP_KERNEL); - data->tx_to_tx = kzalloc(data->x_line, GFP_KERNEL); - data->tx_to_gnd = kzalloc(data->x_line, GFP_KERNEL); - - data->dev = device_create(sec_class, NULL, 0, data, "tsp"); - if (IS_ERR(data->dev)) { - pr_err("[TSP] failed to create device for the sysfs\n"); - ret = -ENODEV; - goto err_device_create; - } - - ret = sysfs_create_group(&data->dev->kobj, &sec_sysfs_attr_group); - if (ret) { - pr_err("[TSP] failed to create sysfs group\n"); - goto err_device_create; - } - return 0; - -err_device_create: - return ret; -} - -MODULE_AUTHOR("junki671.min@samsung.com"); -MODULE_DESCRIPTION("sec sysfs for synaptics tsp"); -MODULE_LICENSE("GPL"); - diff --git a/drivers/input/touchscreen/synaptics_sysfs.h b/drivers/input/touchscreen/synaptics_sysfs.h deleted file mode 100644 index c5e610c..0000000 --- a/drivers/input/touchscreen/synaptics_sysfs.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * drivers/input/touchscreen/synaptics_sysfs.h - * - * Copyright (c) 2010 Samsung Electronics Co., LTD. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - */ - -#ifndef _SEC_TSP_SYSFS_H -#define _SEC_TSP_SYSFS_H - -#include <linux/wakelock.h> - -#define SYNAPTICS_FW "/data/firmware/synaptics_fw" -#define FULL_RAW_CAP_LOWER_LIMIT 1000 -#define FULL_RAW_CAP_UPPER_LIMIT 3000 -#define MAX_RX_SIZE 45 -#define MAX_TX_SIZE 29 -#define NOISEMITIGATION 0xb1 -#define ABS_POS_BIT (0x1 << 3) - -enum REPORT_TYPE { - REPORT_TYPE_RESERVED = 1, - REPORT_TYPE_DELTA_CAP, - REPORT_TYPE_RAW_CAP, - REPORT_TYPE_HIGH_REG, - REPORT_TYPE_TX_TO_TX, /* 5 */ - REPORT_TYPE_RX_TO_RX = 7, - REPORT_TYPE_TRUE_BASELINE = 9, - REPORT_TYPE_RAW_CAP2 = 13, - REPORT_TYPE_RX_OPEN, - REPORT_TYPE_TX_OPEN, /* 15 */ - REPORT_TYPE_TX_TO_GND, - REPORT_TYPE_RX_TO_RX2, - REPORT_TYPE_MAX, -}; - -enum CMD_STATUS { - CMD_STATUS_RESERVED = 0, - CMD_STATUS_WAITING, - CMD_STATUS_RUNNING, - CMD_STATUS_OK, - CMD_STATUS_FAIL, /* 5 */ -}; - -enum CMD_FW_CMD { - CMD_FW_CMD_BUILT_IN = 0, - CMD_FW_CMD_UMS, -}; - -enum CMD_LIST { - CMD_LIST_FW_UPDATE = 0, - CMD_LIST_FW_VER_BIN, - CMD_LIST_FW_VER_IC, - CMD_LIST_CONFIG_VER, - CMD_LIST_GET_THRESHOLD, - CMD_LIST_POWER_OFF, - CMD_LIST_POWER_ON, - CMD_LIST_VENDOR, - CMD_LIST_IC_NAME, - CMD_LIST_X_SIZE, - CMD_LIST_Y_SIZE, - CMD_LIST_READ_REF, - CMD_LIST_READ_RX, - CMD_LIST_READ_TX, - CMD_LIST_READ_TXG, - CMD_LIST_GET_REF, - CMD_LIST_GET_RX, - CMD_LIST_GET_TX, - CMD_LIST_GET_TXG, - CMD_LIST_MAX, -}; - -#endif /* _SEC_TSP_SYSFS_H */ - diff --git a/drivers/input/touchscreen/wacom/Kconfig b/drivers/input/touchscreen/wacom/Kconfig index 85dcb93..ee9f5e3 100644 --- a/drivers/input/touchscreen/wacom/Kconfig +++ b/drivers/input/touchscreen/wacom/Kconfig @@ -1,6 +1,19 @@ # # Wacom configuration # + +config INPUT_WACOM + tristate "Wacom penabled i2c touchscreen" + depends on I2C + help + Say Y here if you have an Wacom penabled i2c touchscreen + connected to your system. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called wacom_GXXX. + config EPEN_WACOM_G5SP tristate "Wacom G5SP penabled i2c touchscreen" depends on I2C @@ -11,4 +24,16 @@ config EPEN_WACOM_G5SP If unsure, say N. To compile this driver as a module, choose M here: the - module will be called wacom_G5SP.
\ No newline at end of file + module will be called wacom_G5SP. + +config EPEN_WACOM_G9PM + tristate "Wacom G9PM penabled i2c touchscreen" + depends on I2C + help + Say Y here if you have an Wacom G9PM penabled i2c touchscreen + connected to your system. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called wacom_G9PM.
\ No newline at end of file diff --git a/drivers/input/touchscreen/wacom/Makefile b/drivers/input/touchscreen/wacom/Makefile index 8428629..31285b3 100644 --- a/drivers/input/touchscreen/wacom/Makefile +++ b/drivers/input/touchscreen/wacom/Makefile @@ -1,2 +1,2 @@ -obj-$(CONFIG_EPEN_WACOM_G5SP) += wacom_i2c.o wacom_i2c_firm.o wacom_i2c_flash.o wacom_i2c_func.o +obj-$(CONFIG_INPUT_WACOM) += wacom_i2c.o wacom_i2c_firm.o wacom_i2c_flash.o wacom_i2c_func.o
\ No newline at end of file diff --git a/drivers/input/touchscreen/wacom/wacom_i2c.c b/drivers/input/touchscreen/wacom/wacom_i2c.c index a63072f..273db1b 100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c.c +++ b/drivers/input/touchscreen/wacom/wacom_i2c.c @@ -26,7 +26,7 @@ #include <linux/firmware.h> #include "wacom_i2c_func.h" #include "wacom_i2c_flash.h" -#ifdef COOR_WORK_AROUND +#ifdef WACOM_IMPORT_FW_ALGO #include "wacom_i2c_coord_tables.h" #endif @@ -36,7 +36,33 @@ unsigned char screen_rotate; unsigned char user_hand = 1; static bool epen_reset_result; -static bool epen_checksum_result; + +static void wacom_i2c_enable_irq(struct wacom_i2c *wac_i2c, bool enable) +{ + static int depth; + + if (enable) { + if (depth) { + --depth; + enable_irq(wac_i2c->irq); +#ifdef WACOM_PDCT_WORK_AROUND + enable_irq(wac_i2c->irq_pdct); +#endif + } + } else { + if (!depth) { + ++depth; + disable_irq(wac_i2c->irq); +#ifdef WACOM_PDCT_WORK_AROUND + disable_irq(wac_i2c->irq_pdct); +#endif + } + } + +#ifdef WACOM_IRQ_DEBUG + printk(KERN_DEBUG"[E-PEN] Enable %d, depth %d\n", (int)enable, depth); +#endif +} static void wacom_i2c_reset_hw(struct wacom_g5_platform_data *wac_pdata) { @@ -47,27 +73,61 @@ static void wacom_i2c_reset_hw(struct wacom_g5_platform_data *wac_pdata) msleep(200); } -int wacom_i2c_load_fw(struct i2c_client *client) +static void wacom_i2c_enable(struct wacom_i2c *wac_i2c) { - struct file *fp; - mm_segment_t old_fs; - long fsize, nread; - int ret; - struct wacom_i2c *wac_i2c = i2c_get_clientdata(client); - unsigned char *Binary_UMS = NULL; + bool en = true; +#ifdef BATTERY_SAVING_MODE + if (wac_i2c->battery_saving_mode + && wac_i2c->pen_insert) + en = false; +#endif + + if (en) { + wac_i2c->wac_pdata->late_resume_platform_hw(); + schedule_delayed_work(&wac_i2c->resume_work, HZ / 5); + } +} + +static void wacom_i2c_disable(struct wacom_i2c *wac_i2c) +{ + if (wac_i2c->power_enable) { + wacom_i2c_enable_irq(wac_i2c, false); + + /* release pen, if it is pressed */ #if defined(CONFIG_MACH_P4NOTE) - Binary_UMS = kmalloc(MAX_ADDR_514 + 1, GFP_KERNEL); +#ifdef WACOM_PDCT_WORK_AROUND + if (wac_i2c->pen_pdct == PDCT_DETECT_PEN) +#else + if (wac_i2c->pen_pressed || wac_i2c->side_pressed + || wac_i2c->pen_prox) +#endif #else - Binary_UMS = kmalloc(WACOM_FW_SIZE, GFP_KERNEL); + if (wac_i2c->pen_pressed || wac_i2c->side_pressed + || wac_i2c->pen_prox) #endif + forced_release(wac_i2c); - if (Binary_UMS == NULL) { - printk(KERN_DEBUG "[E-PEN] %s, kmalloc failed\n", __func__); - return -ENOENT; + if (!wake_lock_active(&wac_i2c->wakelock)) { + wac_i2c->power_enable = false; + wac_i2c->wac_pdata->early_suspend_platform_hw(); + } } +} + +int wacom_i2c_get_ums_data(struct wacom_i2c *wac_i2c, u8 **ums_data) +{ + struct file *fp; + mm_segment_t old_fs; + long fsize, nread; + int ret = 0; + unsigned int nSize; - wacom_i2c_set_firm_data(Binary_UMS); +#if defined(CONFIG_MACH_P4NOTE) + nSize = MAX_ADDR_514 + 1; +#else + nSize = WACOM_FW_SIZE; +#endif old_fs = get_fs(); set_fs(KERNEL_DS); @@ -76,56 +136,90 @@ int wacom_i2c_load_fw(struct i2c_client *client) if (IS_ERR(fp)) { printk(KERN_ERR "[E-PEN] failed to open %s.\n", WACOM_FW_PATH); - goto open_err; + ret = -ENOENT; + set_fs(old_fs); + return ret; } fsize = fp->f_path.dentry->d_inode->i_size; - printk(KERN_NOTICE "[E-PEN] start, file path %s, size %ld Bytes\n", - WACOM_FW_PATH, fsize); + printk(KERN_NOTICE + "[E-PEN] start, file path %s, size %ld Bytes\n", + WACOM_FW_PATH, fsize); + + if (fsize != nSize) { + printk(KERN_ERR "[E-PEN] UMS firmware size is different\n"); + ret = -EFBIG; + goto size_error; + } - nread = vfs_read(fp, (char __user *)Binary, fsize, &fp->f_pos); - printk(KERN_ERR "[E-PEN] nread %ld Bytes\n", nread); - if (nread != fsize) { + *ums_data = kmalloc(fsize, GFP_KERNEL); + if (IS_ERR(*ums_data)) { printk(KERN_ERR - "[E-PEN] failed to read firmware file, nread %ld Bytes\n", - nread); - goto read_err; + "[E-PEN] %s, kmalloc failed\n", __func__); + ret = -EFAULT; + goto malloc_error; } - ret = wacom_i2c_flash(wac_i2c); - if (ret < 0) { - printk(KERN_ERR "[E-PEN] failed to write firmware(%d)\n", ret); - goto fw_write_err; + nread = vfs_read(fp, (char __user *)*ums_data, + fsize, &fp->f_pos); + printk(KERN_NOTICE "[E-PEN] nread %ld Bytes\n", nread); + if (nread != fsize) { + printk(KERN_ERR + "[E-PEN] failed to read firmware file, nread %ld Bytes\n", + nread); + ret = -EIO; + kfree(*ums_data); + goto read_err; } - wacom_i2c_set_firm_data(NULL); - - kfree(Binary_UMS); - filp_close(fp, current->files); set_fs(old_fs); return 0; - open_err: - kfree(Binary_UMS); - set_fs(old_fs); - return -ENOENT; - read_err: - kfree(Binary_UMS); + malloc_error: + size_error: filp_close(fp, current->files); + open_err: set_fs(old_fs); - return -EIO; + return ret; +} - fw_write_err: - kfree(Binary_UMS); - filp_close(fp, current->files); - set_fs(old_fs); - return -1; +int wacom_i2c_fw_update_UMS(struct i2c_client *client) +{ + int ret = 0; + struct wacom_i2c *wac_i2c = i2c_get_clientdata(client); + u8 *ums_data = NULL; + + printk(KERN_ERR "[E-PEN] Start firmware flashing (UMS).\n"); + + /*read firmware data*/ + ret = wacom_i2c_get_ums_data(wac_i2c, &ums_data); + if (ret < 0) { + printk(KERN_DEBUG"[E-PEN] file op is failed\n"); + return 0; + } + + /*start firm update*/ + wacom_i2c_set_firm_data(ums_data); + + ret = wacom_i2c_flash(wac_i2c); + if (ret < 0) { + printk(KERN_ERR + "[E-PEN] failed to write firmware(%d)\n", ret); + kfree(ums_data); + wacom_i2c_set_firm_data(NULL); + return ret; + } + + wacom_i2c_set_firm_data(NULL); + kfree(ums_data); + + return 0; } -#if defined(CONFIG_MACH_Q1_BD) +#if defined(CONFIG_MACH_Q1_BD) || defined(CONFIG_MACH_T0) int wacom_i2c_firm_update(struct wacom_i2c *wac_i2c) { int ret; @@ -165,19 +259,81 @@ int wacom_i2c_firm_update(struct wacom_i2c *wac_i2c) } #endif -static void update_work_func(struct work_struct *work) +#if defined(CONFIG_MACH_P4NOTE) +static bool epen_check_factory_mode(void) { - int ret = 0; - int retry = 2; - struct wacom_i2c *wac_i2c = - container_of(work, struct wacom_i2c, update_work); + struct file *fp; + mm_segment_t old_fs; + long fsize; + int err = 0; + int nread = 0; + char *buf; + bool ret = false; - printk(KERN_DEBUG "[E-PEN] %s\n", __func__); + old_fs = get_fs(); + set_fs(KERNEL_DS); - disable_irq(wac_i2c->irq); -#ifdef WACOM_PDCT_WORK_AROUND - disable_irq(wac_i2c->irq_pdct); -#endif + fp = filp_open("/efs/FactoryApp/factorymode", + O_RDONLY, S_IRUSR); + + if (IS_ERR(fp)) { + err = PTR_ERR(fp); + if (err == -ENOENT) + pr_err("[E-PEN] There is no file\n"); + else + pr_err("[E-PEN] File open error(%d)\n", err); + + ret = false; + goto out; + } + + fsize = fp->f_path.dentry->d_inode->i_size; + + if (!fsize) { + pr_err("[E-PEN] File size os zero\n"); + ret = false; + goto err_filesize; + } + + buf = kzalloc(fsize, GFP_KERNEL); + if (!buf) { + pr_err("[E-PEN] Memory allocate failed\n"); + ret = false; + goto err_filesize; + } + + nread = vfs_read(fp, (char __user *)buf, fsize, &fp->f_pos); + if (nread != fsize) { + pr_err("[E-PEN] File size[%ld] not same with read one[%d]\n", + fsize, nread); + ret = false; + goto err_readfail; + } + + /* + * if the factory mode is disable, + * do not update the firmware. + * factory mode : ON -> disable + * factory mode : OFF -> enable + */ + if (strncmp("ON", buf, 2)) + ret = true; + + printk(KERN_DEBUG "[E-PEN] Factorymode is %s\n", ret ? "ENG" : "USER"); + +err_readfail: + kfree(buf); +err_filesize: + filp_close(fp, current->files); +out: + set_fs(old_fs); + return ret; +} + +static void update_fw_p4(struct wacom_i2c *wac_i2c) +{ + int ret = 0; + int retry = 2; while (retry--) { printk(KERN_DEBUG "[E-PEN] INIT_FIRMWARE_FLASH is enabled.\n"); @@ -191,16 +347,10 @@ static void update_work_func(struct work_struct *work) /* Reset IC */ wacom_i2c_reset_hw(wac_i2c->wac_pdata); } - msleep(800); - printk(KERN_DEBUG "[E-PEN] flashed.(%d)\n", ret); - wacom_i2c_query(wac_i2c); - - enable_irq(wac_i2c->irq); -#ifdef WACOM_PDCT_WORK_AROUND - enable_irq(wac_i2c->irq_pdct); -#endif + printk(KERN_DEBUG "[E-PEN] flashed.(%d)\n", ret); } +#endif static irqreturn_t wacom_interrupt(int irq, void *dev_id) { @@ -214,6 +364,9 @@ static irqreturn_t wacom_interrupt_pdct(int irq, void *dev_id) { struct wacom_i2c *wac_i2c = dev_id; + if (wac_i2c->query_status == false) + return IRQ_HANDLED; + wac_i2c->pen_pdct = gpio_get_value(wac_i2c->wac_pdata->gpio_pendct); printk(KERN_DEBUG "[E-PEN] pdct %d(%d)\n", @@ -230,6 +383,89 @@ static irqreturn_t wacom_interrupt_pdct(int irq, void *dev_id) } #endif +#ifdef WACOM_PEN_DETECT + +#ifdef CONFIG_MACH_T0 +bool wacom_i2c_invert_by_switch_type(void) +{ + if (system_rev < WACOM_DETECT_SWITCH_HWID) + return true; + + return false; +} +#endif + +static void pen_insert_work(struct work_struct *work) +{ + struct wacom_i2c *wac_i2c = + container_of(work, struct wacom_i2c, pen_insert_dwork.work); + + wac_i2c->pen_insert = !gpio_get_value(wac_i2c->gpio_pen_insert); + +#if defined(CONFIG_MACH_T0) + if (wac_i2c->invert_pen_insert) + wac_i2c->pen_insert = !wac_i2c->pen_insert; +#endif + + printk(KERN_DEBUG "[E-PEN] %s : %d\n", + __func__, wac_i2c->pen_insert); + + input_report_switch(wac_i2c->input_dev, + SW_PEN_INSERT, !wac_i2c->pen_insert); + input_sync(wac_i2c->input_dev); + +#ifdef BATTERY_SAVING_MODE + if (wac_i2c->pen_insert) { + if (wac_i2c->battery_saving_mode) + wacom_i2c_disable(wac_i2c); + } else + wacom_i2c_enable(wac_i2c); +#endif +} +static irqreturn_t wacom_pen_detect(int irq, void *dev_id) +{ + struct wacom_i2c *wac_i2c = dev_id; + + cancel_delayed_work_sync(&wac_i2c->pen_insert_dwork); + schedule_delayed_work(&wac_i2c->pen_insert_dwork, HZ / 20); + return IRQ_HANDLED; +} +static int wacom_i2c_input_open(struct input_dev *dev) +{ +#ifdef WACOM_PEN_DETECT + struct wacom_i2c *wac_i2c = input_get_drvdata(dev); + int ret = 0; + int irq = gpio_to_irq(wac_i2c->gpio_pen_insert); + + INIT_DELAYED_WORK(&wac_i2c->pen_insert_dwork, pen_insert_work); + + ret = + request_threaded_irq( + irq, NULL, + wacom_pen_detect, + IRQF_DISABLED | IRQF_TRIGGER_RISING | + IRQF_TRIGGER_FALLING | IRQF_ONESHOT, + "pen_insert", wac_i2c); + if (ret < 0) + printk(KERN_ERR + "[E-PEN]: failed to request pen insert irq\n"); + + enable_irq_wake(irq); + + /* update the current status */ + schedule_delayed_work(&wac_i2c->pen_insert_dwork, HZ / 2); +#endif + + return 0; +} + +static void wacom_i2c_input_close(struct input_dev *dev) +{ + /* TBD */ +} + +#endif + static void wacom_i2c_set_input_values(struct i2c_client *client, struct wacom_i2c *wac_i2c, struct input_dev *input_dev) @@ -241,6 +477,13 @@ static void wacom_i2c_set_input_values(struct i2c_client *client, input_dev->dev.parent = &client->dev; input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); + input_dev->evbit[0] |= BIT_MASK(EV_SW); + input_set_capability(input_dev, EV_SW, SW_PEN_INSERT); +#ifdef WACOM_PEN_DETECT + input_dev->open = wacom_i2c_input_open; + input_dev->close = wacom_i2c_input_close; +#endif + __set_bit(ABS_X, input_dev->absbit); __set_bit(ABS_Y, input_dev->absbit); __set_bit(ABS_PRESSURE, input_dev->absbit); @@ -249,6 +492,8 @@ static void wacom_i2c_set_input_values(struct i2c_client *client, __set_bit(BTN_TOOL_RUBBER, input_dev->keybit); __set_bit(BTN_STYLUS, input_dev->keybit); __set_bit(KEY_UNKNOWN, input_dev->keybit); + __set_bit(KEY_PEN_PDCT, input_dev->keybit); + /* __set_bit(BTN_STYLUS2, input_dev->keybit); */ /* __set_bit(ABS_MISC, input_dev->absbit); */ } @@ -275,24 +520,8 @@ static void wacom_i2c_early_suspend(struct early_suspend *h) { struct wacom_i2c *wac_i2c = container_of(h, struct wacom_i2c, early_suspend); - - disable_irq(wac_i2c->client->irq); -#ifdef WACOM_PDCT_WORK_AROUND - disable_irq(wac_i2c->irq_pdct); -#endif - - /* release pen, if it is pressed */ -#ifdef WACOM_PDCT_WORK_AROUND - if (wac_i2c->pen_pdct == PDCT_DETECT_PEN) -#else - if (wac_i2c->pen_pressed || wac_i2c->side_pressed - || wac_i2c->pen_prox) -#endif - forced_release(wac_i2c); - - if (!wake_lock_active(&wac_i2c->wakelock)) - wac_i2c->wac_pdata->early_suspend_platform_hw(); printk(KERN_DEBUG "[E-PEN] %s.\n", __func__); + wacom_i2c_disable(wac_i2c); } static void wacom_i2c_resume_work(struct work_struct *work) @@ -302,13 +531,14 @@ static void wacom_i2c_resume_work(struct work_struct *work) #if defined(WACOM_PDCT_WORK_AROUND) irq_set_irq_type(wac_i2c->irq_pdct, IRQ_TYPE_EDGE_BOTH); -#elif defined(CONFIG_MACH_P4NOTE) - irq_set_irq_type(wac_i2c->client->irq, IRQ_TYPE_EDGE_RISING); #endif - enable_irq(wac_i2c->client->irq); -#ifdef WACOM_PDCT_WORK_AROUND - enable_irq(wac_i2c->irq_pdct); + +#if defined(CONFIG_MACH_P4NOTE) + irq_set_irq_type(wac_i2c->client->irq, IRQ_TYPE_EDGE_RISING); #endif + + wac_i2c->power_enable = true; + wacom_i2c_enable_irq(wac_i2c, true); printk(KERN_DEBUG "[E-PEN] %s\n", __func__); } @@ -316,9 +546,9 @@ static void wacom_i2c_late_resume(struct early_suspend *h) { struct wacom_i2c *wac_i2c = container_of(h, struct wacom_i2c, early_suspend); - wac_i2c->wac_pdata->late_resume_platform_hw(); - schedule_delayed_work(&wac_i2c->resume_work, HZ / 5); /* 200ms */ + printk(KERN_DEBUG "[E-PEN] %s.\n", __func__); + wacom_i2c_enable(wac_i2c); } #ifdef CONFIG_HAS_EARLYSUSPEND @@ -367,78 +597,118 @@ static ssize_t epen_firm_version_show(struct device *dev, printk(KERN_DEBUG "[E-PEN] %s: 0x%x|0x%X\n", __func__, wac_i2c->wac_feature->fw_version, Firmware_version_of_file); -#if defined(CONFIG_MACH_P4NOTE) return sprintf(buf, "%04X\t%04X\n", -#else - return sprintf(buf, "0x%X\t0x%X\n", -#endif wac_i2c->wac_feature->fw_version, Firmware_version_of_file); } +#if defined(WACOM_IMPORT_FW_ALGO) +static ssize_t epen_tuning_version_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + printk(KERN_DEBUG "[E-PEN] %s: %s\n", __func__, + tuning_version); + + return sprintf(buf, "%s\n", + tuning_version); +} +#endif + +static bool check_update_condition(struct wacom_i2c *wac_i2c, const char buf) +{ + u32 fw_ic_ver = wac_i2c->wac_feature->fw_version; + bool bUpdate = false; + + switch (buf) { + case 'F': + case 'I': + case 'B': + case 'K': + bUpdate = true; + break; + case 'R': + case 'W': + if (fw_ic_ver < + Firmware_version_of_file) + bUpdate = true; +#ifdef CONFIG_MACH_Q1_BD + /* Q1 board rev 0.3 */ + if (system_rev < 6) + if (fw_ic_ver != + Firmware_version_of_file) + bUpdate = true; +#endif + break; + default: + printk(KERN_ERR "[E-PEN] wrong parameter\n"); + bUpdate = false; + break; + } + + return bUpdate; +} + static ssize_t epen_firmware_update_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { struct wacom_i2c *wac_i2c = dev_get_drvdata(dev); - u8 *data; - u8 buf_if; int ret = 1; + u32 fw_ic_ver = wac_i2c->wac_feature->fw_version; + bool need_update = false; - disable_irq(wac_i2c->irq); -#ifdef WACOM_PDCT_WORK_AROUND - disable_irq(wac_i2c->irq_pdct); -#endif + printk(KERN_DEBUG "[E-PEN] %s\n", __func__); - buf_if = COM_QUERY; - data = wac_i2c->wac_feature->data; - wac_i2c->wac_feature->firm_update_status = 1; + need_update = check_update_condition(wac_i2c, *buf); + if (need_update == false) { + printk(KERN_DEBUG"[E-PEN] Pass Update." + "Cmd %c, IC ver %04x, Ker ver %04x\n", + *buf, fw_ic_ver, Firmware_version_of_file); + return count; + } - printk(KERN_DEBUG "[E-PEN] %s:\n", __func__); + /*start firm update*/ + mutex_lock(&wac_i2c->lock); + wacom_i2c_enable_irq(wac_i2c, false); + wac_i2c->wac_feature->firm_update_status = 1; - /* F and B are used by Factory app, and R is used when boot */ switch (*buf) { -#ifdef WACOM_UMS_UPDATE - /* Block UMS update for MR */ + /*ums*/ case 'F': - printk(KERN_ERR "[E-PEN] Start firmware flashing (UMS).\n"); - ret = wacom_i2c_load_fw(wac_i2c->client); + case 'U': + ret = wacom_i2c_fw_update_UMS(wac_i2c->client); break; -#endif + /*kernel*/ case 'B': + case 'K': printk(KERN_ERR - "[E-PEN] Start firmware flashing (kernel image).\n"); -#ifdef CONFIG_MACH_Q1_BD + "[E-PEN] Start firmware flashing (kernel image).\n"); +#if defined(CONFIG_MACH_Q1_BD) || defined(CONFIG_MACH_T0) ret = wacom_i2c_firm_update(wac_i2c); #else ret = wacom_i2c_flash(wac_i2c); #endif break; -#ifdef CONFIG_MACH_Q1_BD + /*booting*/ +#if defined(CONFIG_MACH_Q1_BD) \ + || defined(CONFIG_MACH_T0) case 'R': - /* Q1 board rev 0.3 */ - if (system_rev >= 6) { - if (wac_i2c->wac_feature->fw_version < - Firmware_version_of_file) - ret = wacom_i2c_firm_update(wac_i2c); + ret = wacom_i2c_firm_update(wac_i2c); + break; +#elif defined(CONFIG_MACH_P4NOTE) + case 'R': + if (fw_ic_ver == 0x0 + || fw_ic_ver < Firmware_version_of_file) { + printk(KERN_INFO "[E-PEN] Enter firmware update by sysfs.\n"); + update_fw_p4(wac_i2c); } else { - if (wac_i2c->wac_feature->fw_version != - Firmware_version_of_file) - ret = wacom_i2c_firm_update(wac_i2c); - } - if (ret > 0) { - enable_irq(wac_i2c->irq); -#ifdef WACOM_PDCT_WORK_AROUND - enable_irq(wac_i2c->irq_pdct); -#endif - return count; + printk(KERN_INFO "[E-PEN] Skip the firmware update by Condition.\n"); } break; #endif default: - printk(KERN_ERR "[E-PEN] wrong parameter.\n"); - goto param_err; + /*There's no default case*/ break; } @@ -449,14 +719,11 @@ static ssize_t epen_firmware_update_store(struct device *dev, printk(KERN_ERR "[E-PEN] Finish firmware flashing.\n"); - msleep(800); wacom_i2c_query(wac_i2c); - wac_i2c->wac_feature->firm_update_status = 2; - enable_irq(wac_i2c->irq); -#ifdef WACOM_PDCT_WORK_AROUND - enable_irq(wac_i2c->irq_pdct); -#endif + wac_i2c->wac_feature->firm_update_status = 2; + wacom_i2c_enable_irq(wac_i2c, true); + mutex_unlock(&wac_i2c->lock); return count; @@ -464,10 +731,8 @@ static ssize_t epen_firmware_update_store(struct device *dev, failure: wac_i2c->wac_feature->firm_update_status = -1; - enable_irq(wac_i2c->irq); -#ifdef WACOM_PDCT_WORK_AROUND - enable_irq(wac_i2c->irq_pdct); -#endif + wacom_i2c_enable_irq(wac_i2c, true); + mutex_unlock(&wac_i2c->lock); return -1; } @@ -482,6 +747,9 @@ static ssize_t epen_sampling_rate_store(struct device *dev, if (sscanf(buf, "%d", &value) == 1) { switch (value) { + case 0: + mode = COM_SAMPLERATE_STOP; + break; case 40: mode = COM_SAMPLERATE_40; break; @@ -497,16 +765,16 @@ static ssize_t epen_sampling_rate_store(struct device *dev, goto fail; } - disable_irq(wac_i2c->irq); - if (1 == i2c_master_send(wac_i2c->client, &mode, 1)) { + wacom_i2c_enable_irq(wac_i2c, false); + if (1 == wacom_i2c_send(wac_i2c, &mode, 1, false)) { printk(KERN_DEBUG "[E-PEN] sampling rate %d\n", value); msleep(100); } else { pr_err("[E-PEN] I2C write error\n"); - enable_irq(wac_i2c->irq); + wacom_i2c_enable_irq(wac_i2c, true); count = -1; } - enable_irq(wac_i2c->irq); + wacom_i2c_enable_irq(wac_i2c, true); } else { pr_err("[E-PEN] can't get sampling rate data\n"); @@ -583,10 +851,7 @@ static ssize_t epen_reset_store(struct device *dev, sscanf(buf, "%d", &val); if (val == 1) { - disable_irq(wac_i2c->irq); -#ifdef WACOM_PDCT_WORK_AROUND - disable_irq(wac_i2c->irq_pdct); -#endif + wacom_i2c_enable_irq(wac_i2c, false); /* Reset IC */ wacom_i2c_reset_hw(wac_i2c->wac_pdata); @@ -594,10 +859,7 @@ static ssize_t epen_reset_store(struct device *dev, /* I2C Test */ ret = wacom_i2c_query(wac_i2c); - enable_irq(wac_i2c->irq); -#ifdef WACOM_PDCT_WORK_AROUND - enable_irq(wac_i2c->irq_pdct); -#endif + wacom_i2c_enable_irq(wac_i2c, true); if (ret < 0) epen_reset_result = false; @@ -623,84 +885,94 @@ static ssize_t epen_reset_result_show(struct device *dev, } } +#ifdef WACOM_USE_BOXFILTER +static ssize_t epen_box_store(struct device *dev, +struct device_attribute *attr, + const char *buf, size_t count) +{ + struct wacom_i2c *wac_i2c = dev_get_drvdata(dev); + bool check_version = false; + int v1, v2, v3, v4; + int height; + + sscanf(buf, "%d%d%d%d%d", &height, &v1, &v2, &v3, &v4); + + if (height < 0 || height > 2) { + printk(KERN_DEBUG"[E-PEN] Height err %d\n", height); + return count; + } + + g_boxThreshold_C[height] = v1; + g_boxThreshold_X[height] = v2; + g_boxThreshold_Y[height] = v3; + g_boxThreshold_Trs[height] = v4; + + printk(KERN_DEBUG "[E-PEN] %s, v1 %d v2 %d v3 %d v4 %d\n", __func__, + v1, v2, v3, v4); + + return count; +} + +static ssize_t epen_box_result_show(struct device *dev, +struct device_attribute *attr, + char *buf) +{ + struct wacom_i2c *wac_i2c = dev_get_drvdata(dev); + + printk(KERN_DEBUG "[E-PEN] %s\n%d %d %d %d\n" + "%d %d %d %d\n%d %d %d %d\n", + __func__, + g_boxThreshold_C[0], g_boxThreshold_X[0], + g_boxThreshold_Y[0], g_boxThreshold_Trs[0], + g_boxThreshold_C[1], g_boxThreshold_X[1], + g_boxThreshold_Y[1], g_boxThreshold_Trs[1], + g_boxThreshold_C[2], g_boxThreshold_X[2], + g_boxThreshold_Y[2], g_boxThreshold_Trs[2]); + return sprintf(buf, "%d %d %d %d\n%d %d %d %d\n%d %d %d %d\n", + g_boxThreshold_C[0], g_boxThreshold_X[0], + g_boxThreshold_Y[0], g_boxThreshold_Trs[0], + g_boxThreshold_C[1], g_boxThreshold_X[1], + g_boxThreshold_Y[1], g_boxThreshold_Trs[1], + g_boxThreshold_C[2], g_boxThreshold_X[2], + g_boxThreshold_Y[2], g_boxThreshold_Trs[2]); +} +#endif + static ssize_t epen_checksum_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { struct wacom_i2c *wac_i2c = dev_get_drvdata(dev); bool check_version = false; - int ret; int val; - int i; - int retry = 3; - unsigned char data[6] = { 0, }; sscanf(buf, "%d", &val); #if defined(CONFIG_MACH_P4NOTE) - check_version = true; -#else + if (wac_i2c->checksum_result) + return count; + else + check_version = true; +#elif defined(CONFIG_MACH_Q1_BD) if (wac_i2c->wac_feature->fw_version >= 0x31E) check_version = true; +#elif defined(CONFIG_MACH_T0) + if (wac_i2c->wac_feature->fw_version == 0x179) { + wac_i2c->checksum_result = 1; + check_version = false; + } else + check_version = true; #endif if (val == 1 && check_version) { - disable_irq(wac_i2c->client->irq); -#ifdef WACOM_PDCT_WORK_AROUND - disable_irq(wac_i2c->irq_pdct); -#endif - - - data[0] = COM_CHECKSUM; - - while (retry--) { - ret = i2c_master_send(wac_i2c->client, &data[0], 1); - if (ret < 0) { - printk(KERN_DEBUG - "[E-PEN] i2c fail, retry, %d\n", - __LINE__); - continue; - } - - msleep(200); - ret = i2c_master_recv(wac_i2c->client, data, 5); - if (ret < 0) { - printk(KERN_DEBUG - "[E-PEN] i2c fail, retry, %d\n", - __LINE__); - continue; - } else if (data[0] == 0x1f) - break; - printk(KERN_DEBUG "[E-PEN] checksum retry\n"); - } + wacom_i2c_enable_irq(wac_i2c, false); - if (ret >= 0) { - printk(KERN_DEBUG - "[E-PEN] received checksum %x, %x, %x, %x, %x\n", - data[0], data[1], data[2], data[3], data[4]); - } - - for (i = 0; i < 5; ++i) { - if (data[i] != Firmware_checksum[i]) { - printk(KERN_DEBUG - "[E-PEN] checksum fail %dth %x %x\n", i, - data[i], Firmware_checksum[i]); - break; - } - } - if (i == 5) - epen_checksum_result = true; - else - epen_checksum_result = false; - - enable_irq(wac_i2c->client->irq); -#ifdef WACOM_PDCT_WORK_AROUND - enable_irq(wac_i2c->irq_pdct); -#endif + wacom_checksum(wac_i2c); - printk(KERN_DEBUG "[E-PEN] %s, result %d\n", __func__, - epen_checksum_result); + wacom_i2c_enable_irq(wac_i2c, true); } + printk(KERN_DEBUG "[E-PEN] %s, check %d, result %d\n", + __func__, check_version, wac_i2c->checksum_result); return count; } @@ -709,7 +981,9 @@ static ssize_t epen_checksum_result_show(struct device *dev, struct device_attribute *attr, char *buf) { - if (epen_checksum_result) { + struct wacom_i2c *wac_i2c = dev_get_drvdata(dev); + + if (wac_i2c->checksum_result) { printk(KERN_DEBUG "[E-PEN] checksum, PASS\n"); return sprintf(buf, "PASS\n"); } else { @@ -718,6 +992,67 @@ static ssize_t epen_checksum_result_show(struct device *dev, } } +#ifdef WACOM_CONNECTION_CHECK +static ssize_t epen_connection_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + struct wacom_i2c *wac_i2c = dev_get_drvdata(dev); + + printk(KERN_DEBUG + "[E-PEN] connection_check : %d\n", + wac_i2c->connection_check); + return sprintf(buf, "%s\n", + wac_i2c->connection_check ? + "OK" : "NG"); +} +#endif + +#if defined(CONFIG_MACH_P4NOTE) +static ssize_t epen_type_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + struct wacom_i2c *wac_i2c = dev_get_drvdata(dev); + + return sprintf(buf, "%d\n", wac_i2c->pen_type); +} + +static ssize_t epen_type_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct wacom_i2c *wac_i2c = dev_get_drvdata(dev); + int val; + + sscanf(buf, "%d", &val); + + wac_i2c->pen_type = !!val; + + return count; +} +#endif + +#ifdef BATTERY_SAVING_MODE +static ssize_t epen_saving_mode_store(struct device *dev, + struct device_attribute *attr, const char *buf, + size_t count) +{ + struct wacom_i2c *wac_i2c = dev_get_drvdata(dev); + int val; + + if (sscanf(buf, "%u", &val) == 1) + wac_i2c->battery_saving_mode = !!val; + + if (wac_i2c->battery_saving_mode) { + if (wac_i2c->pen_insert) + wacom_i2c_disable(wac_i2c); + } else + wacom_i2c_enable(wac_i2c); + return count; +} +#endif + /* firmware update */ static DEVICE_ATTR(epen_firm_update, S_IWUSR | S_IWGRP, NULL, epen_firmware_update_store); @@ -726,10 +1061,17 @@ static DEVICE_ATTR(epen_firm_update_status, S_IRUGO, epen_firm_update_status_show, NULL); /* return firmware version */ static DEVICE_ATTR(epen_firm_version, S_IRUGO, epen_firm_version_show, NULL); +#if defined(WACOM_IMPORT_FW_ALGO) +/* return tuning data version */ +static DEVICE_ATTR(epen_tuning_version, S_IRUGO, + epen_tuning_version_show, NULL); +#endif #if defined(CONFIG_MACH_P4NOTE) static DEVICE_ATTR(epen_sampling_rate, S_IWUSR | S_IWGRP, NULL, epen_sampling_rate_store); +static DEVICE_ATTR(epen_type, + S_IRUGO | S_IWUSR | S_IWGRP, epen_type_show, epen_type_store); #else /* screen rotation */ static DEVICE_ATTR(epen_rotation, S_IWUSR | S_IWGRP, NULL, epen_rotation_store); @@ -746,12 +1088,32 @@ static DEVICE_ATTR(epen_checksum, S_IWUSR | S_IWGRP, NULL, epen_checksum_store); static DEVICE_ATTR(epen_checksum_result, S_IRUSR | S_IRGRP, epen_checksum_result_show, NULL); +#ifdef WACOM_USE_BOXFILTER +static DEVICE_ATTR(epen_box, S_IWUSR | S_IWGRP, NULL, epen_box_store); +static DEVICE_ATTR(epen_box_result, S_IRUSR | S_IRGRP, + epen_box_result_show, NULL); +#endif + +#ifdef WACOM_CONNECTION_CHECK +static DEVICE_ATTR(epen_connection, + S_IRUGO, epen_connection_show, NULL); +#endif + +#ifdef BATTERY_SAVING_MODE +static DEVICE_ATTR(epen_saving_mode, + S_IWUSR | S_IWGRP, NULL, epen_saving_mode_store); +#endif + static struct attribute *epen_attributes[] = { &dev_attr_epen_firm_update.attr, &dev_attr_epen_firm_update_status.attr, &dev_attr_epen_firm_version.attr, +#if defined(WACOM_IMPORT_FW_ALGO) + &dev_attr_epen_tuning_version.attr, +#endif #if defined(CONFIG_MACH_P4NOTE) &dev_attr_epen_sampling_rate.attr, + &dev_attr_epen_type.attr, #else &dev_attr_epen_rotation.attr, &dev_attr_epen_hand.attr, @@ -760,6 +1122,16 @@ static struct attribute *epen_attributes[] = { &dev_attr_epen_reset_result.attr, &dev_attr_epen_checksum.attr, &dev_attr_epen_checksum_result.attr, +#ifdef WACOM_USE_BOXFILTER + &dev_attr_epen_box.attr, + &dev_attr_epen_box_result.attr, +#endif +#ifdef WACOM_CONNECTION_CHECK + &dev_attr_epen_connection.attr, +#endif +#ifdef BATTERY_SAVING_MODE + &dev_attr_epen_saving_mode.attr, +#endif NULL, }; @@ -774,6 +1146,9 @@ static int wacom_i2c_probe(struct i2c_client *client, struct wacom_i2c *wac_i2c; struct input_dev *input; int ret = 0; +#if defined(CONFIG_MACH_T0) + int digitizer_type = 0; +#endif if (pdata == NULL) { printk(KERN_ERR "%s: no pdata\n", __func__); @@ -796,6 +1171,13 @@ static int wacom_i2c_probe(struct i2c_client *client, goto err_freemem; } + wac_i2c->client_boot = i2c_new_dummy(client->adapter, + WACOM_I2C_BOOT); + if (!wac_i2c->client_boot) { + dev_err(&client->dev, "Fail to register sub client[0x%x]\n", + WACOM_I2C_BOOT); + } + input = input_allocate_device(); if (NULL == input) { printk(KERN_ERR "[E-PEN] failed to allocate input device.\n"); @@ -813,6 +1195,10 @@ static int wacom_i2c_probe(struct i2c_client *client, wac_i2c->irq_pdct = gpio_to_irq(pdata->gpio_pendct); #endif +#ifdef WACOM_PEN_DETECT + wac_i2c->gpio_pen_insert = pdata->gpio_pen_insert; +#endif + /*Change below if irq is needed */ wac_i2c->irq_flag = 1; @@ -823,6 +1209,10 @@ static int wacom_i2c_probe(struct i2c_client *client, /* Firmware Feature */ wacom_i2c_init_firm_data(); +#ifdef WACOM_IMPORT_FW_ALGO + wac_i2c->use_offset_table = true; + wac_i2c->use_box_filter = false; +#endif #if defined(CONFIG_MACH_Q1_BD) /* Change Origin offset by rev */ @@ -830,10 +1220,49 @@ static int wacom_i2c_probe(struct i2c_client *client, origin_offset[0] = origin_offset_48[0]; origin_offset[1] = origin_offset_48[1]; } - /* Reset IC */ wacom_i2c_reset_hw(wac_i2c->wac_pdata); +#elif defined(CONFIG_MACH_T0) + wac_i2c->wac_pdata->late_resume_platform_hw(); + msleep(200); + + /*Set data by digitizer type*/ + digitizer_type = wacom_i2c_get_digitizer_type(); + + if (digitizer_type == EPEN_DTYPE_B746) { + printk(KERN_DEBUG"[E-PEN] Use Box filter\n"); + wac_i2c->use_box_filter = true; + } else if (digitizer_type == EPEN_DTYPE_B713) { + printk(KERN_DEBUG"[E-PEN] Reset tilt for B713\n"); + + /*Change tuning version for B713*/ + tuning_version = tuning_version_B713; + + memcpy(tilt_offsetX, tilt_offsetX_B713, sizeof(tilt_offsetX)); + memcpy(tilt_offsetY, tilt_offsetY_B713, sizeof(tilt_offsetY)); + } else if (digitizer_type == EPEN_DTYPE_B660) { + printk(KERN_DEBUG"[E-PEN] Reset tilt and origin for B660\n"); + + origin_offset[0] = EPEN_B660_ORG_X; + origin_offset[1] = EPEN_B660_ORG_Y; + memset(tilt_offsetX, 0, sizeof(tilt_offsetX)); + memset(tilt_offsetY, 0, sizeof(tilt_offsetY)); + wac_i2c->use_offset_table = false; + } + + /*Set switch type*/ + wac_i2c->invert_pen_insert = wacom_i2c_invert_by_switch_type(); +#ifdef WACOM_PDCT_WORK_AROUND + wac_i2c->pen_pdct = PDCT_NOSIGNAL; #endif +#endif + +#if defined(CONFIG_MACH_P4NOTE) + wac_i2c->wac_pdata->resume_platform_hw(); + msleep(200); +#endif + wac_i2c->power_enable = true; + ret = wacom_i2c_query(wac_i2c); if (ret < 0) @@ -841,22 +1270,13 @@ static int wacom_i2c_probe(struct i2c_client *client, else epen_reset_result = true; - INIT_WORK(&wac_i2c->update_work, update_work_func); - #if defined(CONFIG_MACH_P4NOTE) - if (pdata->xy_switch) { - input_set_abs_params(input, ABS_X, WACOM_POSY_OFFSET, - wac_i2c->wac_feature->y_max, 4, 0); - input_set_abs_params(input, ABS_Y, WACOM_POSX_OFFSET, - wac_i2c->wac_feature->x_max, 4, 0); - } else { - input_set_abs_params(input, ABS_X, WACOM_POSX_OFFSET, - wac_i2c->wac_feature->x_max, 4, 0); - input_set_abs_params(input, ABS_Y, WACOM_POSY_OFFSET, - wac_i2c->wac_feature->y_max, 4, 0); - } + input_set_abs_params(input, ABS_X, WACOM_POSX_OFFSET, + wac_i2c->wac_feature->x_max, 4, 0); + input_set_abs_params(input, ABS_Y, WACOM_POSY_OFFSET, + wac_i2c->wac_feature->y_max, 4, 0); input_set_abs_params(input, ABS_PRESSURE, 0, - wac_i2c->wac_feature->pressure_max, 0, 0); + WACOM_MAX_PRESSURE, 0, 0); #else input_set_abs_params(wac_i2c->input_dev, ABS_X, pdata->min_x, pdata->max_x, 4, 0); @@ -879,6 +1299,7 @@ static int wacom_i2c_probe(struct i2c_client *client, /*Set client data */ i2c_set_clientdata(client, wac_i2c); + i2c_set_clientdata(wac_i2c->client_boot, wac_i2c); /*Initializing for semaphor */ mutex_init(&wac_i2c->lock); @@ -888,34 +1309,6 @@ static int wacom_i2c_probe(struct i2c_client *client, INIT_DELAYED_WORK(&wac_i2c->pendct_dwork, wacom_i2c_pendct_work); #endif - /*Request IRQ */ - if (wac_i2c->irq_flag) { - ret = - request_threaded_irq(wac_i2c->irq, NULL, wacom_interrupt, - IRQF_DISABLED | IRQF_TRIGGER_RISING | - IRQF_ONESHOT, wac_i2c->name, wac_i2c); - if (ret < 0) { - printk(KERN_ERR - "[E-PEN]: failed to request irq(%d) - %d\n", - wac_i2c->irq, ret); - goto err_request_irq; - } - -#if defined(WACOM_PDCT_WORK_AROUND) - ret = - request_threaded_irq(wac_i2c->irq_pdct, NULL, - wacom_interrupt_pdct, - IRQF_DISABLED | IRQF_TRIGGER_RISING | - IRQF_TRIGGER_FALLING | IRQF_ONESHOT, - wac_i2c->name, wac_i2c); - if (ret < 0) { - printk(KERN_ERR - "[E-PEN]: failed to request irq(%d) - %d\n", - wac_i2c->irq_pdct, ret); - goto err_request_irq; - } -#endif - } #ifdef CONFIG_HAS_EARLYSUSPEND wac_i2c->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; wac_i2c->early_suspend.suspend = wacom_i2c_early_suspend; @@ -924,9 +1317,10 @@ static int wacom_i2c_probe(struct i2c_client *client, #endif wac_i2c->dev = device_create(sec_class, NULL, 0, NULL, "sec_epen"); - if (IS_ERR(wac_i2c->dev)) + if (IS_ERR(wac_i2c->dev)) { printk(KERN_ERR "Failed to create device(wac_i2c->dev)!\n"); - else { + goto err_sysfs_create_group; + } else { dev_set_drvdata(wac_i2c->dev, wac_i2c); ret = sysfs_create_group(&wac_i2c->dev->kobj, &epen_attr_group); if (ret) { @@ -935,18 +1329,15 @@ static int wacom_i2c_probe(struct i2c_client *client, goto err_sysfs_create_group; } } -#if defined(CONFIG_MACH_P4NOTE) - if (Firmware_version_of_file > wac_i2c->wac_feature->fw_version) - schedule_work(&wac_i2c->update_work); -#elif defined(CONFIG_MACH_Q1_BD) + /* firmware info */ printk(KERN_NOTICE "[E-PEN] wacom fw ver : 0x%x, new fw ver : 0x%x\n", wac_i2c->wac_feature->fw_version, Firmware_version_of_file); -#endif #ifdef CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK INIT_DELAYED_WORK(&wac_i2c->dvfs_work, free_dvfs_lock); - if (exynos_cpufreq_get_level(500000, &wac_i2c->cpufreq_level)) + if (exynos_cpufreq_get_level(WACOM_DVFS_LOCK_FREQ, + &wac_i2c->cpufreq_level)) printk(KERN_ERR "[E-PEN] exynos_cpufreq_get_level Error\n"); #ifdef SEC_BUS_LOCK wac_i2c->dvfs_lock_status = false; @@ -956,17 +1347,41 @@ static int wacom_i2c_probe(struct i2c_client *client, #endif /* SEC_BUS_LOCK */ #endif /* CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK */ - return 0; + /*Request IRQ */ + if (wac_i2c->irq_flag) { + ret = + request_threaded_irq(wac_i2c->irq, NULL, wacom_interrupt, + IRQF_DISABLED | IRQF_TRIGGER_RISING | + IRQF_ONESHOT, wac_i2c->name, wac_i2c); + if (ret < 0) { + printk(KERN_ERR + "[E-PEN] failed to request irq(%d) - %d\n", + wac_i2c->irq, ret); + goto err_request_irq; + } - err_sysfs_create_group: - free_irq(wac_i2c->irq, wac_i2c); -#ifdef WACOM_PDCT_WORK_AROUND - free_irq(wac_i2c->irq_pdct, wac_i2c); +#if defined(WACOM_PDCT_WORK_AROUND) + ret = + request_threaded_irq(wac_i2c->irq_pdct, NULL, + wacom_interrupt_pdct, + IRQF_DISABLED | IRQF_TRIGGER_RISING | + IRQF_TRIGGER_FALLING | IRQF_ONESHOT, + wac_i2c->name, wac_i2c); + if (ret < 0) { + printk(KERN_ERR + "[E-PEN] failed to request irq(%d) - %d\n", + wac_i2c->irq_pdct, ret); + goto err_request_irq; + } #endif + } + + return 0; + err_request_irq: + err_sysfs_create_group: err_register_device: input_unregister_device(input); - input = NULL; err_input_allocate_device: input_free_device(input); err_freemem: diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_coord_table.h b/drivers/input/touchscreen/wacom/wacom_i2c_coord_table.h index 40cf6b4..8d1110d 100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c_coord_table.h +++ b/drivers/input/touchscreen/wacom/wacom_i2c_coord_table.h @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - +#if defined(CONFIG_MACH_Q1_BD) short TblX_CCW_LLeft_44[] = { #include "wacom_i2c_coordX_CCW_LLeft_44.h" }; @@ -45,15 +45,6 @@ short TblY_PRight_44[] = { #include "wacom_i2c_coordY_PRight_44.h" }; -/* Distance Offset Table */ -short *tableX[MAX_HAND][MAX_ROTATION] = \ - {{TblX_PLeft_44, TblX_CCW_LLeft_44, TblX_CW_LRight_44, TblX_PRight_44}, - {TblX_PRight_44, TblX_PLeft_44, TblX_CCW_LLeft_44, TblX_CW_LRight_44} }; - -short *tableY[MAX_HAND][MAX_ROTATION] = \ - {{TblY_PLeft_44, TblY_CCW_LLeft_44, TblY_CW_LRight_44, TblY_PRight_44}, - {TblY_PRight_44, TblY_PLeft_44, TblY_CCW_LLeft_44, TblY_CW_LRight_44} }; - /* Tilt offset */ /* 0: Left, 1: Right */ /* 0: Portrait 0, 1: Landscape 90, 2: Portrait 180 3: Landscape 270*/ @@ -64,4 +55,65 @@ short tilt_offsetY[MAX_HAND][MAX_ROTATION] = \ /* Origin Shift */ short origin_offset[] = {600, 620}; -short origin_offset_48[] = {720, 760};
\ No newline at end of file +short origin_offset_48[] = {720, 760}; + +const char tuning_version[] = "0000"; + +#elif defined(CONFIG_MACH_T0) + +short TblX_CCW_LLeft_44[] = { +#include "wacom_i2c_tblX_CCW_LLeft_T0.h" +}; +short TblY_CCW_LLeft_44[] = { +#include "wacom_i2c_tblY_CCW_LLeft_T0.h" +}; + +short TblX_CW_LRight_44[] = { +#include "wacom_i2c_tblX_CW_LRight_T0.h" +}; +short TblY_CW_LRight_44[] = { +#include "wacom_i2c_tblY_CW_LRight_T0.h" +}; + +short TblX_PLeft_44[] = { +#include "wacom_i2c_tblX_PLeft_T0.h" +}; +short TblY_PLeft_44[] = { +#include "wacom_i2c_tblY_PLeft_T0.h" +}; + +short TblX_PRight_44[] = { +#include "wacom_i2c_tblX_PRight_T0.h" +}; +short TblY_PRight_44[] = { +#include "wacom_i2c_tblY_PRight_T0.h" +}; + +/* Tilt offset */ +/* 0: Left, 1: Right */ +/* 0: Portrait 0, 1: Landscape 90, 2: Portrait 180 3: Landscape 270*/ +short tilt_offsetX[MAX_HAND][MAX_ROTATION] = \ + {{-10, -40, -10, 30, }, {30, -10, -40, -10, } }; +short tilt_offsetY[MAX_HAND][MAX_ROTATION] = \ + {{50, 10, -40, 20, }, {20, 50, 10, -40, } }; + +short tilt_offsetX_B713[MAX_HAND][MAX_ROTATION] = \ + {{85, 100, -50, -85, }, {-85, 85, 100, -50, } }; +short tilt_offsetY_B713[MAX_HAND][MAX_ROTATION] = \ + {{-90, 120, 100, -80, }, {-80, -90, 120, 100, } }; + +/* Origin Shift */ +short origin_offset[] = {676, 724}; + +char *tuning_version = "0830"; +char *tuning_version_B713 = "0730"; +#endif + +/* Distance Offset Table */ +short *tableX[MAX_HAND][MAX_ROTATION] = \ + {{TblX_PLeft_44, TblX_CCW_LLeft_44, TblX_CW_LRight_44, TblX_PRight_44}, + {TblX_PRight_44, TblX_PLeft_44, TblX_CCW_LLeft_44, TblX_CW_LRight_44} }; + +short *tableY[MAX_HAND][MAX_ROTATION] = \ + {{TblY_PLeft_44, TblY_CCW_LLeft_44, TblY_CW_LRight_44, TblY_PRight_44}, + {TblY_PRight_44, TblY_PLeft_44, TblY_CCW_LLeft_44, TblY_CW_LRight_44} }; diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_coord_tables.h b/drivers/input/touchscreen/wacom/wacom_i2c_coord_tables.h index 8f34027..afcfa8b 100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c_coord_tables.h +++ b/drivers/input/touchscreen/wacom/wacom_i2c_coord_tables.h @@ -72,8 +72,16 @@ extern short *tableY_48[MAX_HAND][MAX_ROTATION]; extern short tilt_offsetX[MAX_HAND][MAX_ROTATION]; extern short tilt_offsetY[MAX_HAND][MAX_ROTATION]; +#if defined(CONFIG_MACH_T0) +extern short tilt_offsetX_B713[MAX_HAND][MAX_ROTATION]; +extern short tilt_offsetY_B713[MAX_HAND][MAX_ROTATION]; +#endif + extern short tilt_offsetX_48[MAX_HAND][MAX_ROTATION]; extern short tilt_offsetY_48[MAX_HAND][MAX_ROTATION]; extern short origin_offset[2]; extern short origin_offset_48[2]; + +extern char* tuning_version; +extern char* tuning_version_B713; diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_firm.c b/drivers/input/touchscreen/wacom/wacom_i2c_firm.c index 47eb062..58e9fd3 100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c_firm.c +++ b/drivers/input/touchscreen/wacom/wacom_i2c_firm.c @@ -17,14 +17,17 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <linux/kernel.h> +#include <linux/wacom_i2c.h> + unsigned char *Binary; +bool ums_binary; #if defined(CONFIG_MACH_P4NOTE) const unsigned int Binary_nLength = 0xBFFF; const unsigned char Mpu_type = 0x22; -const unsigned int Firmware_version_of_file = 0x200; +const unsigned int Firmware_version_of_file = 0x22F; unsigned char *firmware_name = ""; -const char Firmware_checksum[] = { 0x1F, 0x4d, 0x9d, 0x2f, 0x36, }; +const char Firmware_checksum[] = { 0x1F, 0xF1, 0x76, 0x81, 0x71, }; #include "wacom_i2c_firm_p4.h" #elif defined(CONFIG_MACH_Q1_BD) @@ -36,6 +39,18 @@ unsigned char *firmware_name = "epen/W8501.bin"; /* checksum for 0x340 */ const char Firmware_checksum[] = { 0x1F, 0xee, 0x06, 0x4b, 0xdd, }; +#elif defined(CONFIG_MACH_T0) +const unsigned int Binary_nLength = 0xEFFF; +const unsigned char Mpu_type = 0x28; +unsigned int Firmware_version_of_file = 0x24F; +unsigned char *firmware_name = "epen/W9001_B746.bin"; + +char Firmware_checksum[] = { 0x1F, 0xDD, 0x87, 0x97, 0xFF, }; +/*checksum for 0x13D*/ +const char B713X_checksum[] = { 0x1F, 0xB5, 0x84, 0x38, 0x34, }; +/*checksum for 0x16*/ +const char B660X_checksum[] = { 0x1F, 0x83, 0x88, 0xD4, 0x67, }; + #endif void wacom_i2c_set_firm_data(unsigned char *Binary_new) @@ -43,15 +58,30 @@ void wacom_i2c_set_firm_data(unsigned char *Binary_new) if (Binary_new == NULL) { #if defined(CONFIG_MACH_P4NOTE) Binary = (unsigned char *)Binary_48; -#elif defined(CONFIG_MACH_Q1_BD) + ums_binary = false; +#elif defined(CONFIG_MACH_Q1_BD) || defined(CONFIG_MACH_T0) Binary = NULL; #endif return; } Binary = (unsigned char *)Binary_new; + ums_binary = true; } +#ifdef CONFIG_MACH_T0 +/*Return digitizer type according to board rev*/ +int wacom_i2c_get_digitizer_type(void) +{ + if (system_rev >= WACOM_DTYPE_B746_HWID) + return EPEN_DTYPE_B746; + else if (system_rev >= WACOM_DTYPE_B713_HWID) + return EPEN_DTYPE_B713; + else + return EPEN_DTYPE_B660; +} +#endif + void wacom_i2c_init_firm_data(void) { #if defined(CONFIG_MACH_P4NOTE) @@ -68,5 +98,30 @@ void wacom_i2c_init_firm_data(void) } else printk(KERN_DEBUG "[E-PEN] Wacom driver is working for 4.4mm pitch pad.\n"); +#elif defined(CONFIG_MACH_T0) + int type; + int i; + + type = wacom_i2c_get_digitizer_type(); + + if (type == EPEN_DTYPE_B746) { + printk(KERN_DEBUG + "[E-PEN] Digitizer type is B746\n"); + } else if (type == EPEN_DTYPE_B713) { + printk(KERN_DEBUG + "[E-PEN] Digitizer type is B713\n"); + firmware_name = "epen/W9001_B713.bin"; + Firmware_version_of_file = 0x13D; + memcpy(Firmware_checksum, B713X_checksum, + sizeof(Firmware_checksum)); + } else { + printk(KERN_DEBUG + "[E-PEN] Digitizer type is B660\n"); + firmware_name = "epen/W9001_B660.bin"; + Firmware_version_of_file = 0x16; + memcpy(Firmware_checksum, B660X_checksum, + sizeof(Firmware_checksum)); + } + Binary = NULL; #endif } diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_firm.h b/drivers/input/touchscreen/wacom/wacom_i2c_firm.h index f5dbf99..76ecf51 100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c_firm.h +++ b/drivers/input/touchscreen/wacom/wacom_i2c_firm.h @@ -21,7 +21,10 @@ extern const unsigned int Binary_nLength; extern const unsigned char Mpu_type; extern unsigned int Firmware_version_of_file; extern unsigned char *Binary; +extern bool ums_binary; extern const char Firmware_checksum[]; extern unsigned char *firmware_name; void wacom_i2c_init_firm_data(void); void wacom_i2c_set_firm_data(unsigned char *Binary_new); +int wacom_i2c_get_digitizer_type(void); + diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_firm_g9.h b/drivers/input/touchscreen/wacom/wacom_i2c_firm_g9.h deleted file mode 100644 index c08a6b0..0000000 --- a/drivers/input/touchscreen/wacom/wacom_i2c_firm_g9.h +++ /dev/null @@ -1,4867 +0,0 @@ -const unsigned char Binary_48[] = { - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x86, 0x84, 0x00, 0x00, 0x38, 0xB1, 0x00, 0x00, 0x39, 0xB1, 0x00, 0x00, 0xB3, 0xB1, 0x00, 0x00, - 0xB4, 0xB1, 0x00, 0x00, 0xB5, 0xB1, 0x00, 0x00, 0xB6, 0xB1, 0x00, 0x00, 0xFE, 0xB1, 0x00, 0x00, - 0xFF, 0xB1, 0x00, 0x00, 0x41, 0xB2, 0x00, 0x00, 0x9E, 0xB2, 0x00, 0x00, 0xC9, 0xB2, 0x00, 0x00, - 0x69, 0xC5, 0x00, 0x00, 0x68, 0xC5, 0x00, 0x00, 0xCB, 0xB2, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, - 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, - 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, - 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, - 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, - 0x7C, 0xC7, 0x80, 0x00, 0x04, 0x89, 0x00, 0x00, 0xF6, 0xAE, 0x00, 0x00, 0xD9, 0xC1, 0x00, 0x00, - 0xF2, 0xAE, 0x00, 0x00, 0xBC, 0xC7, 0x80, 0x00, 0xE6, 0xC7, 0x00, 0x00, 0xCE, 0xC1, 0x00, 0x00, - 0xA0, 0xC7, 0x00, 0x00, 0x35, 0xC7, 0x80, 0x00, 0x0D, 0xC7, 0x00, 0x00, 0xC5, 0xC1, 0x00, 0x00, - 0xF3, 0xBE, 0x00, 0x00, 0xE0, 0xB0, 0x00, 0x00, 0x3E, 0xA2, 0x00, 0x00, 0xE6, 0xB0, 0x00, 0x00, - 0x66, 0x01, 0x54, 0x42, 0x36, 0x32, 0x30, 0x58, 0x00, 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, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xDF, 0x7F, 0x06, 0xED, 0xC9, 0x3F, 0x0A, 0x4B, 0x85, 0x83, 0x80, 0x8C, 0x86, 0x12, 0x8A, 0x58, - 0xCC, 0xFF, 0x00, 0xE8, 0xEF, 0x48, 0x85, 0x2A, 0x28, 0xA1, 0x88, 0xC5, 0xFC, 0x0F, 0x80, 0xFE, - 0xDE, 0x8E, 0x00, 0x24, 0x9E, 0x12, 0x62, 0x06, 0xDF, 0x01, 0xF1, 0xDF, 0x7F, 0x06, 0xED, 0xC9, - 0x3F, 0x0A, 0x4B, 0x85, 0x83, 0x80, 0x8C, 0x86, 0x12, 0x8A, 0x58, 0xCC, 0xFF, 0x00, 0xE8, 0xEF, - 0x48, 0x85, 0x2A, 0x28, 0xA1, 0x88, 0xC5, 0xFC, 0x0F, 0x80, 0xFE, 0xDE, 0xCE, 0x00, 0x24, 0x9E, - 0x12, 0x62, 0x06, 0xDF, 0x01, 0xF1, 0x02, 0x03, 0x01, 0x04, 0x00, 0x0E, 0x20, 0x32, 0x40, 0x05, - 0x17, 0x29, 0x3B, 0x21, 0x23, 0x22, 0x28, 0x25, 0x27, 0x26, 0x2D, 0x2A, 0x2C, 0x2B, 0x31, 0x2E, - 0x30, 0x2F, 0x36, 0x33, 0x35, 0x34, 0x3A, 0x37, 0x39, 0x38, 0x3F, 0x3C, 0x3E, 0x3D, 0x7F, 0x7F, - 0x06, 0x09, 0x07, 0x08, 0x0B, 0x0C, 0x0A, 0x0D, 0x10, 0x11, 0x0F, 0x12, 0x14, 0x15, 0x13, 0x16, - 0x19, 0x1A, 0x18, 0x1B, 0x1D, 0x1E, 0x1C, 0x1F, 0x24, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, - 0x02, 0x02, 0x03, 0x01, 0x04, 0x00, 0x0E, 0x20, 0x32, 0x40, 0x05, 0x17, 0x29, 0x3B, 0x21, 0x23, - 0x22, 0x28, 0x25, 0x27, 0x26, 0x2D, 0x2A, 0x2C, 0x2B, 0x31, 0x2E, 0x30, 0x2F, 0x36, 0x33, 0x35, - 0x34, 0x3A, 0x37, 0x39, 0x38, 0x3F, 0x3C, 0x3E, 0x3D, 0x3D, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x06, - 0x06, 0x09, 0x07, 0x08, 0x0B, 0x0C, 0x0A, 0x0D, 0x10, 0x11, 0x0F, 0x12, 0x14, 0x15, 0x13, 0x16, - 0x19, 0x1A, 0x18, 0x1B, 0x1D, 0x1E, 0x1C, 0x1F, 0x24, 0x24, 0x7F, 0x7F, 0x7F, 0x03, 0x02, 0x02, - 0x02, 0x03, 0x01, 0x3C, 0x3E, 0x3D, 0x3D, 0x3D, 0x3E, 0x09, 0x06, 0x06, 0x06, 0x09, 0x07, 0x1C, - 0x1F, 0x24, 0x24, 0x24, 0x1F, 0x07, 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x88, 0x74, 0x66, 0x6E, - 0x6F, 0x6F, 0x6B, 0x6A, 0x69, 0x6B, 0x75, 0x82, 0x93, 0xAA, 0xC5, 0xD0, 0xC7, 0xC0, 0xBA, 0xAF, - 0xAC, 0xAC, 0xA8, 0xA1, 0x99, 0x80, 0x6A, 0x68, 0x7F, 0x83, 0x67, 0x57, 0x58, 0x65, 0x6C, 0x71, - 0x77, 0x6D, 0x82, 0xAC, 0x00, 0x00, 0x00, 0x8C, 0x79, 0x6E, 0x7A, 0x7B, 0x7B, 0x78, 0x78, 0x79, - 0x7C, 0x85, 0x8C, 0x93, 0xA2, 0xB1, 0xB9, 0xAF, 0xA9, 0xA2, 0x99, 0x96, 0x96, 0x93, 0x90, 0x8A, - 0x7A, 0x67, 0x64, 0x72, 0x74, 0x62, 0x5B, 0x60, 0x6E, 0x75, 0x7B, 0x80, 0x71, 0x87, 0xB6, 0x00, - 0x00, 0x00, 0x8F, 0x79, 0x70, 0x80, 0x82, 0x83, 0x80, 0x7F, 0x82, 0x87, 0x8E, 0x8D, 0x91, 0x9C, - 0xA6, 0xAD, 0xA3, 0x9B, 0x90, 0x88, 0x85, 0x86, 0x86, 0x89, 0x86, 0x79, 0x69, 0x68, 0x70, 0x70, - 0x64, 0x62, 0x66, 0x71, 0x79, 0x7F, 0x82, 0x6E, 0x84, 0xBA, 0x00, 0x00, 0x00, 0x99, 0x7E, 0x73, - 0x82, 0x85, 0x88, 0x85, 0x83, 0x87, 0x8F, 0x94, 0x8D, 0x8E, 0x98, 0xA0, 0xA8, 0x9C, 0x8E, 0x7D, - 0x74, 0x71, 0x75, 0x79, 0x84, 0x85, 0x7A, 0x6D, 0x6E, 0x73, 0x70, 0x69, 0x69, 0x6C, 0x74, 0x7A, - 0x7F, 0x80, 0x6D, 0x87, 0xC7, 0x00, 0x00, 0x00, 0xAC, 0x8B, 0x7B, 0x84, 0x86, 0x89, 0x88, 0x85, - 0x89, 0x92, 0x95, 0x8C, 0x8C, 0x96, 0x9C, 0xA4, 0x95, 0x80, 0x6A, 0x5E, 0x5B, 0x63, 0x6E, 0x80, - 0x83, 0x7B, 0x70, 0x71, 0x73, 0x72, 0x6D, 0x6E, 0x71, 0x77, 0x7C, 0x81, 0x80, 0x71, 0x8F, 0xDA, - 0x00, 0x00, 0x00, 0xC8, 0x9F, 0x8A, 0x86, 0x85, 0x89, 0x8A, 0x88, 0x8B, 0x91, 0x93, 0x8C, 0x8B, - 0x94, 0x98, 0xA0, 0x8E, 0x75, 0x55, 0x46, 0x43, 0x4D, 0x5F, 0x77, 0x81, 0x7C, 0x73, 0x72, 0x73, - 0x74, 0x72, 0x74, 0x77, 0x7D, 0x81, 0x84, 0x84, 0x7E, 0xA1, 0xFB, 0x00, 0x00, 0x00, 0x99, 0x72, - 0x5B, 0x4D, 0x4A, 0x4D, 0x4F, 0x4F, 0x51, 0x55, 0x55, 0x51, 0x51, 0x57, 0x5E, 0x66, 0x57, 0x3E, - 0x25, 0x19, 0x19, 0x1F, 0x2B, 0x3E, 0x48, 0x45, 0x40, 0x3E, 0x3F, 0x41, 0x42, 0x44, 0x47, 0x4C, - 0x4E, 0x50, 0x50, 0x55, 0x75, 0xCF, 0x00, 0x00, 0x00, 0x7A, 0x52, 0x3C, 0x2A, 0x26, 0x28, 0x2B, - 0x2C, 0x2E, 0x30, 0x30, 0x2D, 0x2D, 0x31, 0x37, 0x3D, 0x30, 0x1B, 0x07, 0x01, 0x00, 0x02, 0x0E, - 0x1B, 0x23, 0x22, 0x1E, 0x1D, 0x1E, 0x20, 0x22, 0x25, 0x28, 0x2C, 0x2F, 0x30, 0x31, 0x3A, 0x56, - 0xAF, 0x00, 0x00, 0x00, 0x7A, 0x4E, 0x37, 0x29, 0x25, 0x26, 0x28, 0x29, 0x2A, 0x2C, 0x2C, 0x29, - 0x29, 0x2C, 0x2F, 0x33, 0x24, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x1B, 0x1A, 0x17, 0x16, - 0x17, 0x1A, 0x1D, 0x1F, 0x23, 0x27, 0x29, 0x2B, 0x2D, 0x37, 0x51, 0xAC, 0x00, 0x00, 0x00, 0x82, - 0x53, 0x3D, 0x2E, 0x2A, 0x2C, 0x2C, 0x2D, 0x2E, 0x2F, 0x2F, 0x2D, 0x2C, 0x2E, 0x30, 0x30, 0x1E, - 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1B, 0x1B, 0x19, 0x18, 0x18, 0x1B, 0x1E, 0x1F, 0x22, - 0x25, 0x28, 0x2A, 0x2D, 0x36, 0x4C, 0xA4, 0x00, 0x00, 0x00, 0x90, 0x5D, 0x47, 0x39, 0x37, 0x38, - 0x38, 0x38, 0x39, 0x3B, 0x3A, 0x38, 0x37, 0x39, 0x38, 0x37, 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x12, 0x20, 0x21, 0x1E, 0x1D, 0x1D, 0x20, 0x23, 0x26, 0x28, 0x2B, 0x2E, 0x30, 0x33, 0x3B, - 0x4E, 0xA4, 0x00, 0x00, 0x00, 0x98, 0x64, 0x50, 0x3F, 0x3E, 0x3F, 0x3F, 0x3F, 0x40, 0x42, 0x41, - 0x3F, 0x3E, 0x3E, 0x3D, 0x39, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x23, 0x25, 0x23, - 0x21, 0x20, 0x23, 0x26, 0x28, 0x2A, 0x2C, 0x2E, 0x30, 0x33, 0x3B, 0x4C, 0x9E, 0x00, 0x00, 0x00, - 0x9B, 0x67, 0x53, 0x47, 0x46, 0x48, 0x48, 0x49, 0x49, 0x4B, 0x4A, 0x48, 0x46, 0x46, 0x43, 0x3B, - 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x27, 0x28, 0x26, 0x25, 0x24, 0x25, 0x28, 0x2A, - 0x2B, 0x2B, 0x2D, 0x30, 0x32, 0x3A, 0x4A, 0x99, 0x00, 0x00, 0x00, 0x9F, 0x6A, 0x59, 0x4C, 0x4B, - 0x4D, 0x4E, 0x4F, 0x50, 0x52, 0x51, 0x4E, 0x4C, 0x4C, 0x48, 0x42, 0x21, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x17, 0x2D, 0x30, 0x2E, 0x2C, 0x2B, 0x2C, 0x2E, 0x2F, 0x2F, 0x2E, 0x2F, 0x31, 0x33, - 0x3C, 0x4A, 0x97, 0x00, 0x00, 0x00, 0xA1, 0x6D, 0x5A, 0x4D, 0x4B, 0x4D, 0x4F, 0x51, 0x52, 0x53, - 0x52, 0x50, 0x4D, 0x4D, 0x49, 0x42, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0x34, - 0x33, 0x32, 0x30, 0x31, 0x32, 0x32, 0x31, 0x2E, 0x2F, 0x30, 0x33, 0x3D, 0x4C, 0x9A, 0x00, 0x00, - 0x00, 0xA2, 0x6E, 0x5C, 0x4D, 0x4A, 0x4C, 0x4E, 0x51, 0x52, 0x54, 0x53, 0x51, 0x4F, 0x4E, 0x4B, - 0x43, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x34, 0x38, 0x38, 0x38, 0x37, 0x37, 0x37, - 0x36, 0x34, 0x31, 0x30, 0x30, 0x34, 0x3F, 0x4E, 0x9C, 0x00, 0x00, 0x00, 0xA6, 0x72, 0x5F, 0x4E, - 0x49, 0x4C, 0x4E, 0x51, 0x53, 0x55, 0x54, 0x52, 0x50, 0x50, 0x4C, 0x44, 0x22, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1D, 0x37, 0x3D, 0x3E, 0x3F, 0x3E, 0x3E, 0x3E, 0x3D, 0x3A, 0x36, 0x34, 0x33, - 0x37, 0x44, 0x55, 0xA4, 0x00, 0x00, 0x00, 0xA2, 0x70, 0x5E, 0x4C, 0x47, 0x49, 0x4C, 0x50, 0x52, - 0x53, 0x53, 0x51, 0x50, 0x4F, 0x4C, 0x40, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3A, - 0x40, 0x43, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x3A, 0x36, 0x35, 0x39, 0x46, 0x59, 0xAB, 0x00, - 0x00, 0x00, 0xA4, 0x73, 0x61, 0x4C, 0x47, 0x4A, 0x4F, 0x54, 0x57, 0x58, 0x58, 0x56, 0x55, 0x54, - 0x52, 0x4A, 0x30, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x2D, 0x46, 0x4D, 0x50, 0x53, 0x54, 0x54, - 0x54, 0x54, 0x50, 0x47, 0x40, 0x3C, 0x41, 0x4E, 0x64, 0xB8, 0x00, 0x00, 0x00, 0xA1, 0x72, 0x62, - 0x53, 0x50, 0x56, 0x60, 0x6A, 0x6D, 0x6F, 0x6F, 0x6D, 0x6D, 0x6D, 0x6B, 0x65, 0x4D, 0x2B, 0x13, - 0x08, 0x07, 0x12, 0x2A, 0x4B, 0x62, 0x69, 0x6C, 0x70, 0x71, 0x72, 0x73, 0x73, 0x6E, 0x5F, 0x51, - 0x48, 0x4B, 0x57, 0x6F, 0xC7, 0x00, 0x00, 0x00, 0xA2, 0x76, 0x65, 0x57, 0x59, 0x67, 0x7A, 0x89, - 0x8E, 0x91, 0x91, 0x90, 0x90, 0x90, 0x90, 0x8C, 0x79, 0x5D, 0x48, 0x3F, 0x3E, 0x48, 0x5E, 0x79, - 0x8C, 0x92, 0x94, 0x9D, 0x9F, 0xA1, 0xA2, 0xA2, 0x9C, 0x80, 0x68, 0x55, 0x53, 0x5E, 0x7A, 0xD4, - 0x00, 0x00, 0x00, 0x8B, 0x65, 0x55, 0x4A, 0x4F, 0x61, 0x77, 0x88, 0x8F, 0x97, 0x98, 0x97, 0x98, - 0x98, 0x99, 0x98, 0x8B, 0x74, 0x67, 0x61, 0x60, 0x67, 0x76, 0x88, 0x9A, 0x9D, 0x9F, 0xA2, 0xA4, - 0xA6, 0xA8, 0xA9, 0xA3, 0x89, 0x68, 0x51, 0x4B, 0x54, 0x6F, 0xC4, 0x00, 0x00, 0x00, 0x84, 0x61, - 0x53, 0x49, 0x4F, 0x5E, 0x71, 0x7E, 0x8A, 0x8E, 0x8F, 0x8E, 0x8E, 0x8F, 0x91, 0x91, 0x8A, 0x7F, - 0x78, 0x74, 0x73, 0x77, 0x81, 0x8C, 0x94, 0x95, 0x96, 0x99, 0x9C, 0x9F, 0xA2, 0xA2, 0x9E, 0x88, - 0x71, 0x58, 0x52, 0x58, 0x72, 0xC6, 0x00, 0x00, 0x00, 0x8E, 0x6B, 0x5D, 0x54, 0x59, 0x63, 0x70, - 0x7A, 0x80, 0x84, 0x85, 0x84, 0x84, 0x84, 0x86, 0x89, 0x85, 0x7F, 0x7B, 0x78, 0x77, 0x79, 0x7F, - 0x86, 0x8A, 0x8A, 0x8B, 0x8E, 0x92, 0x96, 0x94, 0x95, 0x93, 0x8A, 0x7A, 0x6B, 0x67, 0x6B, 0x82, - 0xD7, 0x00, 0x00, 0x00, 0x92, 0x70, 0x62, 0x5A, 0x5D, 0x63, 0x6C, 0x73, 0x7A, 0x7E, 0x7F, 0x7D, - 0x7D, 0x7D, 0x80, 0x84, 0x83, 0x80, 0x7D, 0x7B, 0x79, 0x78, 0x7C, 0x80, 0x82, 0x82, 0x83, 0x87, - 0x8C, 0x93, 0x92, 0x95, 0x94, 0x8A, 0x86, 0x7B, 0x78, 0x79, 0x8E, 0xE5, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x11, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x37, 0x47, 0x49, 0x47, 0x47, - 0x48, 0x48, 0x4A, 0x4C, 0x4B, 0x38, 0x23, 0x19, 0x33, 0x61, 0x99, 0x00, 0x00, 0x00, 0x18, 0x09, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x24, 0x40, 0x43, 0x42, 0x43, 0x44, 0x44, 0x44, 0x45, - 0x43, 0x28, 0x15, 0x10, 0x26, 0x4F, 0x86, 0x00, 0x00, 0x00, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x16, 0x33, 0x37, 0x38, 0x39, 0x3A, 0x38, 0x38, 0x38, 0x35, 0x1B, 0x09, 0x05, - 0x1C, 0x46, 0x7E, 0x00, 0x00, 0x00, 0x22, 0x11, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, - 0x2D, 0x32, 0x34, 0x35, 0x35, 0x33, 0x31, 0x30, 0x2B, 0x12, 0x03, 0x01, 0x19, 0x45, 0x83, 0x00, - 0x00, 0x00, 0x26, 0x15, 0x10, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x26, 0x2C, 0x2E, 0x2F, - 0x2F, 0x2C, 0x29, 0x26, 0x21, 0x0A, 0x00, 0x00, 0x18, 0x45, 0x84, 0x00, 0x00, 0x00, 0x22, 0x12, - 0x0F, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x21, 0x26, 0x29, 0x2A, 0x29, 0x26, 0x23, 0x1F, - 0x18, 0x05, 0x00, 0x04, 0x1D, 0x4C, 0x8B, 0x00, 0x00, 0x00, 0x22, 0x16, 0x11, 0x0E, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1E, 0x24, 0x26, 0x27, 0x27, 0x23, 0x1F, 0x1B, 0x14, 0x03, 0x01, 0x0B, - 0x28, 0x5A, 0x9B, 0x00, 0x00, 0x00, 0x1D, 0x16, 0x10, 0x0D, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x1E, 0x20, 0x20, 0x20, 0x1D, 0x19, 0x15, 0x0E, 0x00, 0x00, 0x0E, 0x2C, 0x60, 0xA1, 0x00, - 0x00, 0x00, 0x20, 0x15, 0x11, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x19, 0x1A, 0x1B, - 0x1B, 0x18, 0x14, 0x0F, 0x09, 0x00, 0x00, 0x11, 0x2D, 0x62, 0xA2, 0x00, 0x00, 0x00, 0x21, 0x11, - 0x10, 0x0E, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x14, 0x16, 0x16, 0x17, 0x14, 0x10, 0x0B, - 0x05, 0x00, 0x00, 0x12, 0x2B, 0x60, 0x9D, 0x00, 0x00, 0x00, 0x27, 0x14, 0x12, 0x0E, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0D, 0x11, 0x13, 0x13, 0x13, 0x11, 0x0D, 0x08, 0x03, 0x00, 0x00, 0x13, - 0x2D, 0x63, 0x9E, 0x00, 0x00, 0x00, 0x31, 0x1B, 0x15, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0A, 0x0F, 0x10, 0x10, 0x10, 0x0E, 0x0A, 0x06, 0x02, 0x00, 0x00, 0x15, 0x31, 0x68, 0xA0, 0x00, - 0x00, 0x00, 0x3C, 0x22, 0x19, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x0C, 0x0C, - 0x0C, 0x09, 0x06, 0x02, 0x00, 0x00, 0x00, 0x16, 0x33, 0x6B, 0xA2, 0x00, 0x00, 0x00, 0x46, 0x27, - 0x1A, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x05, 0x05, 0x05, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x16, 0x34, 0x6C, 0xA1, 0x00, 0x00, 0x00, 0x4D, 0x29, 0x18, 0x0A, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, - 0x33, 0x6C, 0xA2, 0x00, 0x00, 0x00, 0x4B, 0x24, 0x14, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x31, 0x6B, 0xA1, 0x00, - 0x00, 0x00, 0x4C, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x3E, 0x79, 0xBA, 0x00, 0x00, 0x00, 0x49, 0x1F, - 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x1D, 0x40, 0x7B, 0xBE, 0x00, 0x00, 0x00, 0x4B, 0x20, 0x0A, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x31, - 0x48, 0x87, 0xCB, 0x00, 0x00, 0x00, 0x49, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x39, 0x4F, 0x91, 0xD5, 0x00, - 0x00, 0x00, 0x46, 0x1E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x3B, 0x57, 0x9A, 0xF3, 0x00, 0x00, 0x00, 0x42, 0x1A, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x09, 0x0E, 0x33, 0x4D, 0x8E, 0xCF, 0x00, 0x00, 0x00, 0x41, 0x1A, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x27, - 0x3C, 0x76, 0xB3, 0x00, 0x00, 0x00, 0x3C, 0x15, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x35, 0x70, 0xA7, 0x00, - 0x00, 0x00, 0x3B, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x36, 0x70, 0xA5, 0x00, 0x00, 0x00, 0x3B, 0x14, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x17, 0x38, 0x73, 0xA8, 0x00, 0x00, 0x00, 0x3A, 0x14, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, - 0x36, 0x71, 0xA6, 0x00, 0x00, 0x00, 0x3A, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x34, 0x6F, 0xA7, 0x00, - 0x00, 0x00, 0x39, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x30, 0x69, 0xA3, 0x00, 0x00, 0x00, 0x36, 0x13, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x0D, 0x2A, 0x63, 0xA0, 0x00, 0x00, 0x00, 0x33, 0x13, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, - 0x25, 0x5C, 0x9B, 0x00, 0x00, 0x00, 0x29, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x20, 0x58, 0x99, 0x00, - 0x00, 0x00, 0x22, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1B, 0x52, 0x95, 0x00, 0x00, 0x00, 0x1C, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x16, 0x4E, 0x93, 0x00, 0x00, 0x00, 0x1A, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x11, 0x47, 0x8D, 0x00, 0x00, 0x00, 0x16, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x3F, 0x85, 0x00, - 0x00, 0x00, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, - 0x04, 0x03, 0x03, 0x05, 0x06, 0x00, 0x00, 0x00, 0x06, 0x36, 0x77, 0x00, 0x00, 0x00, 0x18, 0x08, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0E, 0x0D, 0x0D, 0x0E, 0x0D, 0x0E, 0x10, - 0x12, 0x03, 0x00, 0x00, 0x0C, 0x3A, 0x78, 0x00, 0x00, 0x00, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x09, 0x18, 0x1A, 0x19, 0x18, 0x19, 0x19, 0x1A, 0x1C, 0x1E, 0x0F, 0x01, 0x00, - 0x18, 0x46, 0x81, 0x00, 0x00, 0x00, 0x14, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x18, - 0x24, 0x25, 0x22, 0x21, 0x22, 0x21, 0x22, 0x24, 0x26, 0x1A, 0x0D, 0x0B, 0x24, 0x51, 0x85, 0x00, - 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xD0, 0xB9, 0xBA, 0xBC, 0xCA, 0xCF, 0xDB, 0xE5, - 0xAF, 0x7B, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, - 0x80, 0x80, 0x80, 0x80, 0x8B, 0xD0, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xEA, 0xCD, 0xBB, 0xAE, 0xAA, 0xA8, 0xAF, 0xB1, 0xBB, 0xC1, 0xB5, 0x8F, - 0x69, 0x4D, 0x45, 0x37, 0x34, 0x35, 0x32, 0x32, 0x32, 0x32, 0x36, 0x38, 0x3F, 0x48, 0x4D, 0x4E, - 0x58, 0x70, 0x9F, 0xCE, 0xE1, 0xE6, 0xE7, 0xE8, 0xED, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xEE, 0xCF, 0xB8, 0xA3, 0x96, 0x8F, 0x8D, 0x8E, 0x94, 0x9B, 0x9F, 0x96, 0x79, 0x5F, 0x4F, - 0x43, 0x3D, 0x3B, 0x3A, 0x37, 0x37, 0x36, 0x37, 0x3A, 0x3D, 0x43, 0x4C, 0x4F, 0x50, 0x57, 0x70, - 0x92, 0xAE, 0xBC, 0xC3, 0xC3, 0xC5, 0xD0, 0xDD, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xE0, - 0xC1, 0xA4, 0x8E, 0x82, 0x7A, 0x74, 0x72, 0x77, 0x7A, 0x7F, 0x78, 0x66, 0x54, 0x48, 0x3F, 0x3A, - 0x39, 0x38, 0x36, 0x35, 0x35, 0x36, 0x38, 0x3C, 0x42, 0x49, 0x4D, 0x4E, 0x55, 0x68, 0x7D, 0x8D, - 0x97, 0x9D, 0xA1, 0xA8, 0xB4, 0xCB, 0xE7, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xDB, 0xB4, 0x94, - 0x77, 0x65, 0x5B, 0x55, 0x53, 0x50, 0x50, 0x51, 0x4E, 0x49, 0x42, 0x3D, 0x3A, 0x39, 0x38, 0x38, - 0x38, 0x38, 0x38, 0x39, 0x3B, 0x3D, 0x42, 0x4A, 0x4F, 0x51, 0x54, 0x5B, 0x60, 0x63, 0x67, 0x6C, - 0x75, 0x82, 0x9A, 0xBB, 0xDA, 0xEC, 0xF2, 0xFF, 0xFF, 0xF1, 0xE4, 0xD2, 0xB0, 0x88, 0x6D, 0x53, - 0x4C, 0x4A, 0x4B, 0x4C, 0x4C, 0x4C, 0x44, 0x38, 0x32, 0x2F, 0x2C, 0x2A, 0x2C, 0x2C, 0x2C, 0x2C, - 0x2F, 0x2E, 0x2F, 0x32, 0x37, 0x3C, 0x45, 0x49, 0x4C, 0x4D, 0x52, 0x57, 0x59, 0x5B, 0x62, 0x73, - 0x93, 0xB3, 0xD1, 0xE0, 0xE4, 0xEF, 0xE0, 0xD7, 0xD3, 0xCB, 0xAD, 0x8B, 0x70, 0x5A, 0x4E, 0x47, - 0x43, 0x41, 0x3F, 0x3F, 0x3E, 0x3E, 0x3C, 0x3B, 0x3B, 0x3C, 0x3D, 0x3F, 0x3F, 0x40, 0x41, 0x3F, - 0x3F, 0x3D, 0x3F, 0x42, 0x44, 0x45, 0x47, 0x49, 0x49, 0x4A, 0x4E, 0x53, 0x5E, 0x73, 0x8F, 0xAE, - 0xCC, 0xD8, 0xD7, 0xE0, 0xCA, 0xC6, 0xC8, 0xC5, 0xAA, 0x8B, 0x74, 0x62, 0x54, 0x4E, 0x4A, 0x47, - 0x45, 0x45, 0x45, 0x45, 0x47, 0x45, 0x45, 0x48, 0x50, 0x57, 0x5B, 0x5B, 0x59, 0x54, 0x4F, 0x4B, - 0x4A, 0x4B, 0x4C, 0x4C, 0x4E, 0x50, 0x51, 0x53, 0x57, 0x5C, 0x68, 0x77, 0x8D, 0xAA, 0xC4, 0xCF, - 0xCF, 0xD6, 0xBB, 0xBB, 0xBC, 0xB8, 0xA3, 0x8B, 0x7A, 0x70, 0x69, 0x63, 0x60, 0x5F, 0x5E, 0x5E, - 0x5E, 0x5E, 0x5F, 0x60, 0x63, 0x67, 0x71, 0x7B, 0x80, 0x80, 0x79, 0x6E, 0x66, 0x62, 0x61, 0x62, - 0x63, 0x65, 0x66, 0x68, 0x69, 0x6A, 0x6C, 0x70, 0x77, 0x81, 0x8F, 0xA5, 0xBB, 0xC5, 0xC4, 0xCB, - 0x94, 0x9A, 0x9D, 0xA0, 0x98, 0x8E, 0x85, 0x7F, 0x79, 0x76, 0x74, 0x74, 0x73, 0x74, 0x74, 0x75, - 0x76, 0x78, 0x7B, 0x80, 0x8B, 0x95, 0x99, 0x99, 0x93, 0x86, 0x7C, 0x77, 0x75, 0x76, 0x78, 0x7A, - 0x7B, 0x7C, 0x7D, 0x7D, 0x7F, 0x82, 0x85, 0x8C, 0x92, 0x9C, 0xA7, 0xAA, 0xAA, 0xAE, 0x5E, 0x68, - 0x6B, 0x75, 0x7E, 0x7D, 0x7F, 0x7E, 0x7A, 0x79, 0x77, 0x77, 0x77, 0x77, 0x78, 0x7A, 0x7C, 0x7E, - 0x82, 0x87, 0x92, 0x9D, 0xA2, 0xA1, 0x99, 0x8D, 0x83, 0x7D, 0x7B, 0x7B, 0x7C, 0x7E, 0x7F, 0x7F, - 0x7F, 0x80, 0x80, 0x81, 0x82, 0x85, 0x86, 0x85, 0x86, 0x85, 0x81, 0x89, 0x34, 0x3D, 0x45, 0x4D, - 0x5B, 0x63, 0x67, 0x67, 0x66, 0x66, 0x66, 0x66, 0x68, 0x69, 0x6A, 0x6B, 0x6E, 0x71, 0x76, 0x7D, - 0x88, 0x93, 0x9A, 0x99, 0x8F, 0x82, 0x78, 0x71, 0x6F, 0x6D, 0x6D, 0x6E, 0x6E, 0x6F, 0x6E, 0x6D, - 0x6C, 0x6C, 0x6D, 0x6D, 0x6D, 0x69, 0x67, 0x62, 0x63, 0x6D, 0x36, 0x3B, 0x3C, 0x3F, 0x44, 0x43, - 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x49, 0x4B, 0x4D, 0x4D, 0x4E, 0x50, 0x54, 0x59, 0x69, 0x76, 0x84, - 0x8F, 0x8E, 0x82, 0x71, 0x67, 0x5F, 0x5B, 0x58, 0x57, 0x57, 0x56, 0x55, 0x54, 0x53, 0x53, 0x53, - 0x55, 0x55, 0x56, 0x58, 0x58, 0x58, 0x5E, 0x6B, 0x37, 0x3A, 0x37, 0x37, 0x39, 0x39, 0x3A, 0x3A, - 0x3A, 0x3A, 0x3B, 0x3B, 0x3C, 0x3D, 0x3E, 0x40, 0x42, 0x45, 0x4C, 0x5A, 0x69, 0x79, 0x85, 0x85, - 0x77, 0x66, 0x5B, 0x52, 0x4C, 0x47, 0x43, 0x41, 0x41, 0x41, 0x40, 0x3F, 0x3F, 0x3F, 0x3E, 0x3F, - 0x42, 0x47, 0x4C, 0x52, 0x5A, 0x6A, 0x35, 0x38, 0x35, 0x34, 0x36, 0x35, 0x36, 0x36, 0x36, 0x36, - 0x37, 0x37, 0x38, 0x38, 0x39, 0x3B, 0x3D, 0x41, 0x47, 0x56, 0x66, 0x74, 0x81, 0x81, 0x72, 0x61, - 0x55, 0x4D, 0x46, 0x3F, 0x3D, 0x3C, 0x3B, 0x3B, 0x3A, 0x39, 0x39, 0x39, 0x39, 0x3B, 0x3E, 0x43, - 0x48, 0x50, 0x5F, 0x68, 0x31, 0x34, 0x31, 0x30, 0x32, 0x32, 0x33, 0x33, 0x33, 0x33, 0x33, 0x34, - 0x35, 0x36, 0x37, 0x38, 0x3B, 0x3E, 0x45, 0x54, 0x63, 0x72, 0x80, 0x7F, 0x70, 0x5E, 0x53, 0x4A, - 0x41, 0x3B, 0x3A, 0x39, 0x38, 0x37, 0x37, 0x36, 0x36, 0x36, 0x37, 0x38, 0x3B, 0x3E, 0x44, 0x4B, - 0x5B, 0x66, 0x32, 0x34, 0x31, 0x30, 0x32, 0x31, 0x32, 0x32, 0x32, 0x32, 0x32, 0x33, 0x33, 0x34, - 0x36, 0x37, 0x3A, 0x3E, 0x44, 0x53, 0x61, 0x70, 0x7F, 0x7F, 0x6F, 0x5E, 0x53, 0x49, 0x3F, 0x3A, - 0x39, 0x38, 0x37, 0x37, 0x36, 0x36, 0x35, 0x36, 0x36, 0x38, 0x3A, 0x3E, 0x42, 0x49, 0x59, 0x63, - 0x33, 0x34, 0x32, 0x30, 0x32, 0x32, 0x32, 0x32, 0x31, 0x31, 0x32, 0x32, 0x33, 0x34, 0x35, 0x36, - 0x38, 0x3C, 0x42, 0x52, 0x60, 0x70, 0x7F, 0x7F, 0x70, 0x5F, 0x54, 0x4A, 0x3E, 0x3B, 0x39, 0x38, - 0x37, 0x37, 0x36, 0x36, 0x36, 0x36, 0x37, 0x38, 0x3B, 0x3E, 0x42, 0x49, 0x59, 0x62, 0x33, 0x35, - 0x32, 0x30, 0x32, 0x32, 0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x33, 0x33, 0x35, 0x37, 0x39, 0x3D, - 0x43, 0x53, 0x61, 0x70, 0x80, 0x80, 0x70, 0x60, 0x54, 0x4A, 0x3F, 0x3B, 0x39, 0x38, 0x37, 0x37, - 0x36, 0x36, 0x36, 0x37, 0x38, 0x39, 0x3B, 0x3E, 0x42, 0x49, 0x59, 0x63, 0x32, 0x34, 0x32, 0x30, - 0x32, 0x32, 0x33, 0x33, 0x33, 0x32, 0x32, 0x33, 0x33, 0x34, 0x36, 0x37, 0x39, 0x3D, 0x42, 0x53, - 0x60, 0x70, 0x80, 0x81, 0x71, 0x61, 0x55, 0x4A, 0x3E, 0x3A, 0x38, 0x37, 0x37, 0x37, 0x37, 0x37, - 0x37, 0x37, 0x38, 0x3A, 0x3C, 0x3E, 0x41, 0x47, 0x57, 0x61, 0x31, 0x34, 0x33, 0x32, 0x33, 0x33, - 0x35, 0x35, 0x34, 0x34, 0x34, 0x34, 0x35, 0x36, 0x37, 0x38, 0x3A, 0x3D, 0x44, 0x55, 0x62, 0x74, - 0x83, 0x83, 0x74, 0x64, 0x57, 0x4B, 0x3F, 0x3B, 0x39, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39, 0x3A, - 0x3B, 0x3D, 0x3E, 0x41, 0x43, 0x48, 0x57, 0x5F, 0x35, 0x39, 0x39, 0x37, 0x3A, 0x3A, 0x3C, 0x3B, - 0x3A, 0x3A, 0x39, 0x3B, 0x3B, 0x3A, 0x3B, 0x3C, 0x3F, 0x42, 0x47, 0x5A, 0x69, 0x79, 0x86, 0x86, - 0x79, 0x6A, 0x5D, 0x4F, 0x43, 0x41, 0x3F, 0x3C, 0x3C, 0x3B, 0x3B, 0x3D, 0x3D, 0x3D, 0x3F, 0x42, - 0x44, 0x46, 0x49, 0x4C, 0x53, 0x62, 0x4D, 0x51, 0x4E, 0x50, 0x54, 0x56, 0x5B, 0x5C, 0x59, 0x58, - 0x57, 0x59, 0x5A, 0x5A, 0x5A, 0x58, 0x59, 0x5A, 0x5E, 0x67, 0x76, 0x82, 0x89, 0x89, 0x82, 0x77, - 0x6B, 0x62, 0x5C, 0x5A, 0x5A, 0x59, 0x59, 0x5A, 0x5B, 0x59, 0x58, 0x58, 0x5B, 0x5D, 0x5E, 0x5C, - 0x5A, 0x5A, 0x5E, 0x68, 0x87, 0x7F, 0x79, 0x78, 0x7F, 0x88, 0x8C, 0x8F, 0x8B, 0x84, 0x82, 0x81, - 0x80, 0x7E, 0x7D, 0x7B, 0x7B, 0x7B, 0x7A, 0x7D, 0x81, 0x86, 0x8B, 0x8A, 0x86, 0x81, 0x7C, 0x79, - 0x78, 0x7B, 0x7B, 0x7A, 0x7B, 0x7C, 0x7C, 0x7D, 0x7D, 0x80, 0x83, 0x86, 0x84, 0x80, 0x7A, 0x72, - 0x76, 0x7D, 0xBE, 0xA9, 0x9E, 0x9B, 0xA4, 0xAC, 0xB0, 0xB1, 0xA9, 0xA4, 0xA1, 0x9F, 0x9E, 0x9D, - 0x9C, 0x9B, 0x9D, 0x9D, 0x9D, 0x9C, 0x9D, 0x9D, 0x9D, 0x9D, 0x9B, 0x9A, 0x99, 0x9A, 0x9B, 0x9C, - 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9C, 0x9D, 0x9E, 0xA0, 0x9E, 0x9A, 0x93, 0x8A, 0x8A, 0x93, - 0xE1, 0xB5, 0xAA, 0xA5, 0xA9, 0xAA, 0xB2, 0xB4, 0xB4, 0xB4, 0xB2, 0xB1, 0xB1, 0xB2, 0xB1, 0xB1, - 0xB2, 0xB4, 0xB4, 0xB2, 0xB0, 0xAF, 0xAE, 0xAD, 0xB0, 0xB0, 0xB0, 0xB1, 0xAE, 0xB0, 0xB0, 0xAF, - 0xAE, 0xAC, 0xAB, 0xAA, 0xAA, 0xAC, 0xAA, 0xA6, 0x97, 0x99, 0x90, 0x8B, 0x8D, 0x9B, 0xFF, 0xFB, - 0xCB, 0xB9, 0xC3, 0xD4, 0xD6, 0xDC, 0xDF, 0xE1, 0xE3, 0xE5, 0xE6, 0xE7, 0xE7, 0xE6, 0xE9, 0xEB, - 0xEB, 0xED, 0xEC, 0xEB, 0xE9, 0xE8, 0xE4, 0xE2, 0xE3, 0xE3, 0xE4, 0xE5, 0xE4, 0xE4, 0xE4, 0xE3, - 0xE2, 0xE1, 0xDD, 0xDC, 0xD7, 0xCF, 0xC4, 0xB7, 0xA7, 0xA5, 0xAF, 0xCE, 0xFF, 0xC6, 0xA9, 0x98, - 0x99, 0xAD, 0xAA, 0xB2, 0xB8, 0xC0, 0xC1, 0xC1, 0xC0, 0xBE, 0xBE, 0xC2, 0xC2, 0xC3, 0xC4, 0xC2, - 0xC2, 0xC2, 0xC2, 0xC1, 0xC1, 0xC3, 0xC1, 0xC0, 0xBE, 0xBB, 0xBB, 0xB7, 0xB7, 0xBB, 0xBE, 0xBD, - 0xB7, 0xB7, 0xB4, 0xAD, 0xA2, 0x92, 0x88, 0x83, 0x83, 0x9E, 0xFF, 0xC1, 0x9E, 0x8F, 0x8C, 0xC2, - 0x9B, 0xA3, 0xA9, 0xAF, 0xB2, 0xB4, 0xB6, 0xB5, 0xB3, 0xB3, 0xB4, 0xB5, 0xB6, 0xB9, 0xBA, 0xBA, - 0xB9, 0xB7, 0xB3, 0xB1, 0xAF, 0xAE, 0xAE, 0xA9, 0xA8, 0xA9, 0xAC, 0xAD, 0xAE, 0xAE, 0xAC, 0xA9, - 0xA4, 0x9D, 0x95, 0x8A, 0x7F, 0x7A, 0x7D, 0x91, 0xFF, 0x94, 0x83, 0x6F, 0x62, 0xF7, 0x80, 0x88, - 0xA3, 0xAF, 0xB2, 0xB4, 0xB4, 0xAC, 0xAE, 0xB0, 0xAF, 0xAE, 0xAF, 0xB3, 0xB5, 0xB4, 0xB5, 0xB5, - 0x9A, 0x96, 0xA1, 0x99, 0xA9, 0xA5, 0xA3, 0xA5, 0xA8, 0xA1, 0x97, 0x98, 0x97, 0x96, 0x92, 0x74, - 0x70, 0x6A, 0x64, 0x66, 0x66, 0x7E, 0x80, 0x63, 0x4C, 0xA3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x58, - 0x59, 0x71, 0x7F, 0x7E, 0x7A, 0x70, 0x6C, 0x6A, 0x6C, 0x73, 0x77, 0x81, 0x83, 0x83, 0x83, 0x80, - 0x7A, 0x78, 0x73, 0x6D, 0x64, 0x62, 0x5F, 0x69, 0x72, 0x74, 0x62, 0x55, 0x35, 0x09, 0x15, 0x0E, - 0x18, 0x18, 0x44, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0xB5, 0x04, 0xC8, 0x04, 0xE2, 0x04, 0x1E, 0x05, 0x1A, 0x05, - 0xD0, 0x04, 0x91, 0x04, 0x68, 0x04, 0x4B, 0x04, 0x37, 0x04, 0x2C, 0x04, 0x25, 0x04, 0x1F, 0x04, - 0x1E, 0x04, 0x1D, 0x04, 0x1F, 0x04, 0x22, 0x04, 0x27, 0x04, 0x36, 0x04, 0x48, 0x04, 0x64, 0x04, - 0x7B, 0x04, 0x85, 0x04, 0x7B, 0x04, 0x64, 0x04, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, - 0x00, 0x40, 0x00, 0x40, 0x6B, 0xF1, 0xB9, 0xF0, 0xFF, 0xEE, 0x20, 0xEE, 0x99, 0xEE, 0x35, 0xF2, - 0x81, 0xF5, 0x27, 0xF7, 0xF7, 0xF6, 0xF1, 0xF5, 0x44, 0xF6, 0xA3, 0xF6, 0x7C, 0xF7, 0xDA, 0xF8, - 0x8D, 0xF8, 0xAD, 0xF8, 0x5D, 0xF8, 0x8E, 0xF7, 0x23, 0xF7, 0xAA, 0xF6, 0xBB, 0xF6, 0x22, 0xF7, - 0xAC, 0xF7, 0x8D, 0xF7, 0xC6, 0xF6, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x05, 0x00, 0x05, - 0x00, 0x05, 0xCD, 0x04, 0xE5, 0x04, 0xFC, 0x04, 0x0C, 0x05, 0xF8, 0x04, 0xBF, 0x04, 0x8C, 0x04, - 0x67, 0x04, 0x51, 0x04, 0x47, 0x04, 0x41, 0x04, 0x3C, 0x04, 0x38, 0x04, 0x36, 0x04, 0x35, 0x04, - 0x34, 0x04, 0x36, 0x04, 0x3A, 0x04, 0x3F, 0x04, 0x4A, 0x04, 0x55, 0x04, 0x60, 0x04, 0x64, 0x04, - 0x61, 0x04, 0x54, 0x04, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, - 0x1A, 0xFC, 0x06, 0xFB, 0x9A, 0xF9, 0x6F, 0xF7, 0x0D, 0xF8, 0x8F, 0xFA, 0x1F, 0xFD, 0x8B, 0xFD, - 0xEE, 0xFC, 0xA5, 0xFC, 0x4E, 0xFC, 0x73, 0xFC, 0x42, 0xFD, 0xA8, 0xFD, 0xC9, 0xFE, 0xDC, 0xFE, - 0x4B, 0xFE, 0xFD, 0xFE, 0x2E, 0xFE, 0xC5, 0xFE, 0x6D, 0xFE, 0x3D, 0xFE, 0x01, 0xFE, 0x85, 0xFD, - 0x54, 0xFE, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0xEC, 0x04, - 0xE5, 0x04, 0xE7, 0x04, 0x8E, 0x04, 0x4C, 0x04, 0x3E, 0x04, 0x5A, 0x04, 0x2C, 0x04, 0x5B, 0x04, - 0x62, 0x04, 0x68, 0x04, 0x5F, 0x04, 0x69, 0x04, 0x69, 0x04, 0x51, 0x04, 0x3A, 0x04, 0x39, 0x04, - 0x42, 0x04, 0x4D, 0x04, 0x42, 0x04, 0x52, 0x04, 0x5C, 0x04, 0x4D, 0x04, 0x5B, 0x04, 0x4D, 0x04, - 0x4C, 0x04, 0x48, 0x04, 0x56, 0x04, 0x59, 0x04, 0x6D, 0x04, 0x63, 0x04, 0x3E, 0x04, 0x56, 0x04, - 0x64, 0x04, 0x8C, 0x04, 0x92, 0x04, 0x97, 0x04, 0xD9, 0x04, 0xF9, 0x04, 0x13, 0x05, 0x00, 0x05, - 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0xA0, 0xF3, 0x93, 0xFA, 0xF4, 0xF1, - 0x1B, 0xF6, 0x11, 0xF1, 0x02, 0xF2, 0xEA, 0xF6, 0x47, 0xF9, 0x88, 0xF9, 0x68, 0xF8, 0xB7, 0xFA, - 0x3A, 0xFC, 0xAD, 0xFB, 0x93, 0xFC, 0x0E, 0x00, 0x2E, 0x00, 0x2A, 0x00, 0x46, 0x00, 0x37, 0x00, - 0x0E, 0x00, 0x21, 0x00, 0xF1, 0x08, 0xA7, 0x06, 0x8F, 0x0B, 0x08, 0x05, 0x11, 0x03, 0x0C, 0x00, - 0xE0, 0x08, 0x18, 0x00, 0x49, 0x03, 0x75, 0xF9, 0x04, 0xF7, 0xC0, 0xF4, 0x3E, 0xF4, 0x71, 0xF5, - 0x0F, 0xF6, 0x69, 0xF8, 0xB0, 0xF6, 0x91, 0xFA, 0x0E, 0xFB, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, - 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0xBE, 0x04, 0xEC, 0x04, 0xE3, 0x04, 0xCA, 0x04, 0xB3, 0x04, - 0x9C, 0x04, 0x8C, 0x04, 0x81, 0x04, 0x7B, 0x04, 0x70, 0x04, 0x73, 0x04, 0x72, 0x04, 0x74, 0x04, - 0x70, 0x04, 0x71, 0x04, 0x72, 0x04, 0x77, 0x04, 0x79, 0x04, 0x71, 0x04, 0x70, 0x04, 0x74, 0x04, - 0x71, 0x04, 0x6E, 0x04, 0x6D, 0x04, 0x68, 0x04, 0x6C, 0x04, 0x6B, 0x04, 0x6D, 0x04, 0x6E, 0x04, - 0x71, 0x04, 0x73, 0x04, 0x76, 0x04, 0x7B, 0x04, 0x84, 0x04, 0x8F, 0x04, 0xA7, 0x04, 0xC7, 0x04, - 0xE3, 0x04, 0xFC, 0x04, 0xF4, 0x04, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x00, 0x40, - 0x00, 0x40, 0xCD, 0xFA, 0xC9, 0x00, 0x69, 0x04, 0x60, 0x06, 0x54, 0x07, 0xE1, 0x06, 0xC0, 0x06, - 0x78, 0x06, 0xAF, 0x06, 0x56, 0x06, 0x10, 0x08, 0xCE, 0x08, 0x76, 0x0A, 0x95, 0x0A, 0x3D, 0x0B, - 0xA2, 0x09, 0xB3, 0x0C, 0x3D, 0x0C, 0x3D, 0x0A, 0x12, 0x0A, 0x1B, 0x14, 0x67, 0x0C, 0x57, 0x0E, - 0xBC, 0x0D, 0xBF, 0x0D, 0x0A, 0x0F, 0x39, 0x0E, 0xD0, 0x0D, 0xBF, 0x0B, 0x63, 0x0A, 0xDE, 0x08, - 0x76, 0x07, 0x45, 0x06, 0x7B, 0x05, 0xFC, 0x03, 0x2C, 0x04, 0xDD, 0x03, 0x01, 0x03, 0x3C, 0x01, - 0x42, 0xFD, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x02, 0x7F, 0x7F, 0x6F, 0x43, 0x15, 0xD2, 0xCE, - 0xE9, 0x80, 0xC0, 0xBD, 0xAE, 0xC1, 0xBC, 0xCA, 0xC1, 0xCE, 0xC5, 0xD1, 0xC6, 0xD6, 0xD1, 0xD5, - 0xC9, 0xCC, 0xBE, 0xC6, 0xC0, 0xD7, 0xD7, 0xE1, 0xD9, 0xEB, 0xEF, 0xFE, 0xE9, 0xE6, 0xD1, 0xE0, - 0xD8, 0xE0, 0xDB, 0xDC, 0xDF, 0xF9, 0xF5, 0xFD, 0xEB, 0xF1, 0xE9, 0xEB, 0xE2, 0xEE, 0xE9, 0xF8, - 0xF0, 0xFD, 0xFE, 0x09, 0x08, 0x0A, 0xF8, 0xF3, 0xD6, 0xD7, 0xB3, 0xC6, 0xB0, 0xDA, 0xDD, 0xE9, - 0xDC, 0xDC, 0xD9, 0xE5, 0xE3, 0xF9, 0xF3, 0x01, 0x7F, 0xF0, 0xE0, 0xAE, 0x8A, 0x80, 0x80, 0x80, - 0x80, 0xF8, 0xB5, 0x44, 0x45, 0x30, 0x11, 0xEC, 0xCC, 0xD2, 0xE3, 0xD9, 0xC4, 0xC7, 0xC6, 0xD9, - 0xD8, 0xE4, 0xDF, 0xE4, 0xE1, 0xE2, 0xDD, 0xE9, 0xE2, 0xE4, 0xD8, 0xD7, 0xD0, 0xD1, 0xCC, 0xDE, - 0xDB, 0xE4, 0xDB, 0xED, 0xEC, 0xFF, 0xF2, 0xF3, 0xE2, 0xEB, 0xDB, 0xED, 0xE3, 0xEA, 0xED, 0xFE, - 0xFA, 0xFE, 0xF5, 0xF9, 0xEC, 0xF6, 0xEC, 0xF8, 0xF6, 0x01, 0xFD, 0x05, 0x05, 0x0A, 0x08, 0x11, - 0xFB, 0xF8, 0xE1, 0xE6, 0xD3, 0xE0, 0xDE, 0xF1, 0xEE, 0xF2, 0xE8, 0xF1, 0xEB, 0xF8, 0xF8, 0x0B, - 0x0A, 0x15, 0x01, 0x05, 0xE7, 0xCD, 0xBB, 0xB1, 0xA2, 0x96, 0x93, 0x05, 0xC5, 0x33, 0x38, 0x26, - 0x0A, 0xEB, 0xD0, 0xE3, 0xE9, 0xDE, 0xCE, 0xD1, 0xD1, 0xE3, 0xE3, 0xF0, 0xE9, 0xF0, 0xE6, 0xEC, - 0xE6, 0xF3, 0xEA, 0xEC, 0xE3, 0xE0, 0xD6, 0xD9, 0xD3, 0xE5, 0xE0, 0xE7, 0xDE, 0xEE, 0xEE, 0x01, - 0xF9, 0x00, 0xF1, 0xF9, 0xEE, 0xF7, 0xF1, 0xFA, 0xF7, 0x04, 0x01, 0x04, 0xF9, 0xFD, 0xF8, 0xFC, - 0xF8, 0x05, 0x04, 0x12, 0x0B, 0x11, 0x0F, 0x0E, 0x07, 0x0C, 0xFE, 0x04, 0xF1, 0xF6, 0xF1, 0xEB, - 0xEA, 0xF8, 0xF3, 0xFB, 0xEF, 0xF9, 0xF3, 0xFF, 0xFB, 0x11, 0x13, 0x1D, 0x08, 0x00, 0xEA, 0xD7, - 0xD0, 0xC9, 0xBC, 0xB2, 0xAF, 0x0A, 0xC2, 0x27, 0x2B, 0x1B, 0x0A, 0xF2, 0xDD, 0xEB, 0xF1, 0xEA, - 0xD8, 0xDC, 0xDD, 0xEF, 0xED, 0xFC, 0xF4, 0xFB, 0xF3, 0xF9, 0xF3, 0xFA, 0xF3, 0xF5, 0xEA, 0xE9, - 0xDE, 0xDF, 0xD9, 0xE8, 0xE1, 0xEA, 0xE4, 0xF4, 0xF2, 0x04, 0xFD, 0x06, 0xFB, 0x02, 0xF9, 0x03, - 0xFC, 0x03, 0x01, 0x0E, 0x07, 0x08, 0xFC, 0x05, 0x00, 0x04, 0xFC, 0x0E, 0x0F, 0x1D, 0x16, 0x1A, - 0x17, 0x10, 0x0A, 0x0E, 0x01, 0x0A, 0xFD, 0x07, 0x00, 0x00, 0xFC, 0x03, 0xFB, 0x01, 0xF6, 0x00, - 0xF9, 0x07, 0x03, 0x17, 0x1A, 0x22, 0x0D, 0x06, 0xEE, 0xE1, 0xE0, 0xD8, 0xCC, 0xC3, 0xC3, 0x1C, - 0xC0, 0x1F, 0x23, 0x16, 0x08, 0xF5, 0xE6, 0xF7, 0xF6, 0xF2, 0xE0, 0xE1, 0xE5, 0xF7, 0xF8, 0xFD, - 0xFF, 0x01, 0xFE, 0xFF, 0xFB, 0x06, 0xFB, 0xFF, 0xF3, 0xF0, 0xE8, 0xE7, 0xE0, 0xEB, 0xE3, 0xEC, - 0xE7, 0xF6, 0xF3, 0x07, 0x02, 0x0C, 0x00, 0x0A, 0x05, 0x09, 0x06, 0x0A, 0x08, 0x12, 0x0A, 0x0E, - 0x04, 0x0C, 0x06, 0x0C, 0x07, 0x13, 0x17, 0x26, 0x22, 0x21, 0x1D, 0x16, 0x0D, 0x0E, 0x09, 0x10, - 0x06, 0x15, 0x0E, 0x11, 0x09, 0x0B, 0x03, 0x07, 0xFE, 0x09, 0x02, 0x0A, 0x09, 0x1B, 0x21, 0x26, - 0x11, 0x09, 0xF1, 0xEA, 0xED, 0xE6, 0xDB, 0xD2, 0xD3, 0x25, 0xBD, 0x16, 0x1A, 0x12, 0x04, 0xF6, - 0xF3, 0x04, 0x04, 0xFC, 0xEE, 0xF0, 0xEF, 0x01, 0x00, 0x0B, 0x07, 0x0C, 0x08, 0x0A, 0x06, 0x0D, - 0x06, 0x06, 0xFB, 0xFB, 0xEF, 0xF0, 0xE6, 0xEE, 0xE7, 0xEF, 0xEA, 0xFA, 0xFB, 0x0A, 0x09, 0x15, - 0x0C, 0x15, 0x0F, 0x17, 0x0E, 0x15, 0x10, 0x1A, 0x12, 0x12, 0x0E, 0x15, 0x0F, 0x18, 0x14, 0x22, - 0x22, 0x33, 0x2B, 0x2C, 0x26, 0x17, 0x0E, 0x12, 0x0C, 0x1B, 0x14, 0x25, 0x1F, 0x1D, 0x17, 0x11, - 0x0B, 0x0B, 0x05, 0x0F, 0x0A, 0x10, 0x11, 0x25, 0x23, 0x28, 0x13, 0x0B, 0xF8, 0xF4, 0xFA, 0xF4, - 0xEB, 0xE3, 0xE4, 0x2F, 0xAF, 0x0D, 0x10, 0x0C, 0x03, 0xFB, 0x00, 0x15, 0x0F, 0x09, 0xFA, 0x00, - 0x00, 0x0F, 0x0D, 0x15, 0x10, 0x13, 0x0F, 0x15, 0x10, 0x17, 0x0E, 0x0F, 0x04, 0x06, 0xF7, 0xFB, - 0xE7, 0xF9, 0xE9, 0xFA, 0xEC, 0x01, 0xFD, 0x12, 0x0E, 0x1A, 0x15, 0x1D, 0x19, 0x1F, 0x18, 0x1F, - 0x18, 0x20, 0x18, 0x1D, 0x17, 0x1F, 0x1C, 0x22, 0x20, 0x30, 0x32, 0x3E, 0x37, 0x34, 0x2A, 0x1A, - 0x0E, 0x17, 0x0F, 0x25, 0x29, 0x32, 0x32, 0x2D, 0x1E, 0x1B, 0x13, 0x12, 0x0B, 0x15, 0x13, 0x18, - 0x17, 0x24, 0x22, 0x27, 0x12, 0x0B, 0x01, 0x02, 0x08, 0x03, 0xF9, 0xF5, 0xF6, 0x44, 0xC8, 0x13, - 0x16, 0x11, 0x07, 0xFF, 0xFE, 0x13, 0x10, 0x08, 0xF7, 0x06, 0x07, 0x15, 0x12, 0x17, 0x12, 0x14, - 0x0D, 0x15, 0x0F, 0x1A, 0x10, 0x15, 0x0C, 0x12, 0x03, 0x0C, 0xFB, 0x0A, 0xF7, 0x0C, 0xFA, 0x11, - 0x05, 0x1A, 0x14, 0x20, 0x18, 0x23, 0x1D, 0x26, 0x1D, 0x23, 0x1B, 0x22, 0x1A, 0x1F, 0x18, 0x21, - 0x19, 0x20, 0x1C, 0x2D, 0x25, 0x32, 0x2E, 0x35, 0x2D, 0x27, 0x1F, 0x1C, 0x19, 0x24, 0x1B, 0x2C, - 0x1D, 0x24, 0x14, 0x19, 0x0F, 0x16, 0x11, 0x1B, 0x13, 0x1A, 0x18, 0x29, 0x28, 0x28, 0x14, 0x0C, - 0xFC, 0xF9, 0xFD, 0xF7, 0xF0, 0xEA, 0xEB, 0x2D, 0xBC, 0x08, 0x07, 0x06, 0xFC, 0xF7, 0xFA, 0x0B, - 0x11, 0x0F, 0x05, 0x0B, 0x0D, 0x1E, 0x17, 0x19, 0x11, 0x18, 0x10, 0x1A, 0x14, 0x1B, 0x16, 0x19, - 0x11, 0x11, 0x05, 0x12, 0x07, 0x09, 0x06, 0x0E, 0x0B, 0x13, 0x0D, 0x1F, 0x15, 0x22, 0x19, 0x23, - 0x1C, 0x24, 0x20, 0x23, 0x1D, 0x25, 0x1B, 0x23, 0x1B, 0x22, 0x21, 0x27, 0x21, 0x2D, 0x26, 0x35, - 0x2D, 0x37, 0x2F, 0x26, 0x1B, 0x1F, 0x1B, 0x26, 0x22, 0x2C, 0x27, 0x22, 0x1A, 0x18, 0x10, 0x1B, - 0x12, 0x1F, 0x16, 0x1A, 0x16, 0x25, 0x23, 0x23, 0x12, 0x09, 0x02, 0x05, 0x04, 0x06, 0xFE, 0xF7, - 0xFA, 0x3E, 0xD7, 0x0F, 0x16, 0x11, 0x0B, 0x04, 0x06, 0x15, 0x0F, 0x0C, 0x00, 0x09, 0x0E, 0x1B, - 0x16, 0x1A, 0x10, 0x15, 0x10, 0x1A, 0x13, 0x1C, 0x14, 0x1D, 0x15, 0x17, 0x14, 0x1B, 0x08, 0x10, - 0x0D, 0x12, 0x0D, 0x1A, 0x12, 0x1D, 0x16, 0x22, 0x1C, 0x28, 0x22, 0x2A, 0x22, 0x25, 0x1B, 0x23, - 0x19, 0x1E, 0x15, 0x1E, 0x14, 0x20, 0x1B, 0x27, 0x21, 0x2F, 0x29, 0x2F, 0x26, 0x29, 0x1D, 0x27, - 0x1B, 0x25, 0x1E, 0x23, 0x18, 0x20, 0x18, 0x1E, 0x11, 0x1B, 0x13, 0x1D, 0x14, 0x1C, 0x17, 0x2B, - 0x22, 0x27, 0x10, 0x0A, 0xF9, 0xF9, 0xF9, 0xF7, 0xF1, 0xEB, 0xEB, 0x25, 0xC2, 0xEC, 0xF7, 0xF9, - 0xF4, 0xF1, 0xF6, 0x07, 0x0D, 0x0F, 0x03, 0x0F, 0x11, 0x1F, 0x17, 0x19, 0x0E, 0x1A, 0x12, 0x19, - 0x16, 0x20, 0x19, 0x21, 0x15, 0x1A, 0x0E, 0x14, 0x0B, 0x14, 0x0D, 0x15, 0x0F, 0x1D, 0x14, 0x1E, - 0x18, 0x21, 0x1A, 0x23, 0x25, 0x27, 0x20, 0x26, 0x1B, 0x22, 0x1A, 0x20, 0x16, 0x22, 0x17, 0x25, - 0x17, 0x28, 0x24, 0x30, 0x29, 0x32, 0x29, 0x27, 0x1B, 0x1E, 0x16, 0x25, 0x1C, 0x25, 0x1C, 0x22, - 0x16, 0x1B, 0x14, 0x1C, 0x13, 0x1F, 0x15, 0x1C, 0x14, 0x26, 0x1F, 0x20, 0x0E, 0x0A, 0x07, 0x03, - 0x0B, 0x08, 0x02, 0xFC, 0xFA, 0x38, 0xEE, 0x0E, 0x12, 0x0E, 0x09, 0x06, 0x07, 0x0F, 0x12, 0x10, - 0x08, 0x11, 0x0C, 0x1B, 0x13, 0x17, 0x0F, 0x19, 0x14, 0x1B, 0x14, 0x1E, 0x18, 0x1E, 0x16, 0x20, - 0x19, 0x20, 0x14, 0x1C, 0x11, 0x1A, 0x13, 0x1B, 0x14, 0x22, 0x1B, 0x2A, 0x24, 0x2A, 0x28, 0x33, - 0x2C, 0x28, 0x1D, 0x21, 0x16, 0x14, 0x0C, 0x12, 0x0D, 0x15, 0x13, 0x22, 0x1D, 0x2A, 0x24, 0x2A, - 0x20, 0x28, 0x1B, 0x26, 0x1C, 0x26, 0x18, 0x1E, 0x16, 0x21, 0x18, 0x22, 0x1A, 0x24, 0x1B, 0x24, - 0x1C, 0x23, 0x19, 0x24, 0x1F, 0x1A, 0x08, 0x06, 0xF3, 0xED, 0xF0, 0xF4, 0xEF, 0xEC, 0xEC, 0x22, - 0xDE, 0x02, 0xFF, 0xFD, 0xFA, 0xF8, 0xFC, 0x06, 0x0C, 0x0F, 0x07, 0x17, 0x10, 0x1B, 0x14, 0x1A, - 0x0E, 0x1D, 0x11, 0x1C, 0x15, 0x20, 0x17, 0x21, 0x16, 0x1E, 0x14, 0x1D, 0x13, 0x1B, 0x11, 0x19, - 0x10, 0x1C, 0x13, 0x21, 0x18, 0x29, 0x23, 0x30, 0x29, 0x32, 0x30, 0x2B, 0x1E, 0x22, 0x13, 0x16, - 0x05, 0x15, 0x0F, 0x19, 0x15, 0x25, 0x21, 0x2B, 0x25, 0x2F, 0x23, 0x23, 0x1C, 0x23, 0x1D, 0x24, - 0x1D, 0x23, 0x18, 0x22, 0x18, 0x1F, 0x19, 0x20, 0x19, 0x24, 0x19, 0x20, 0x17, 0x23, 0x1D, 0x1C, - 0x0A, 0x0C, 0x05, 0xFC, 0x00, 0x03, 0xFC, 0xF9, 0xF9, 0x2E, 0xE3, 0x05, 0x02, 0xFB, 0xF8, 0x01, - 0x05, 0x17, 0x14, 0x1C, 0x13, 0x1D, 0x18, 0x20, 0x16, 0x18, 0x0D, 0x18, 0x13, 0x1E, 0x15, 0x1F, - 0x16, 0x1E, 0x15, 0x20, 0x17, 0x1F, 0x12, 0x1F, 0x11, 0x1A, 0x14, 0x20, 0x17, 0x24, 0x1E, 0x32, - 0x32, 0x43, 0x3A, 0x3E, 0x34, 0x31, 0x23, 0x1B, 0x0B, 0x06, 0xF6, 0x01, 0xF9, 0x0C, 0x0D, 0x22, - 0x1C, 0x25, 0x20, 0x29, 0x22, 0x27, 0x1D, 0x25, 0x19, 0x22, 0x16, 0x20, 0x17, 0x1F, 0x17, 0x1F, - 0x1C, 0x24, 0x1B, 0x25, 0x1B, 0x24, 0x19, 0x21, 0x17, 0x11, 0x02, 0x08, 0xF5, 0xF1, 0xF9, 0x01, - 0xFE, 0xFD, 0xFD, 0x39, 0xF8, 0x1C, 0x1A, 0x14, 0x0B, 0x04, 0xFE, 0x07, 0x0B, 0x15, 0x0D, 0x19, - 0x14, 0x1F, 0x15, 0x1B, 0x0F, 0x1A, 0x15, 0x1E, 0x14, 0x1F, 0x18, 0x23, 0x17, 0x21, 0x19, 0x1D, - 0x19, 0x1B, 0x14, 0x19, 0x12, 0x21, 0x19, 0x27, 0x22, 0x34, 0x33, 0x41, 0x4A, 0x44, 0x35, 0x33, - 0x24, 0x1E, 0x0D, 0x06, 0xF9, 0x05, 0x00, 0x10, 0x11, 0x27, 0x1E, 0x2B, 0x23, 0x2B, 0x20, 0x26, - 0x1A, 0x23, 0x1C, 0x23, 0x1B, 0x20, 0x18, 0x23, 0x19, 0x21, 0x18, 0x25, 0x19, 0x25, 0x1D, 0x22, - 0x1B, 0x21, 0x1A, 0x18, 0x0C, 0x10, 0x04, 0xFC, 0xFC, 0xFC, 0xEB, 0xEB, 0xEB, 0x1F, 0xC4, 0x09, - 0x00, 0xFE, 0xF9, 0xEE, 0x04, 0x14, 0x11, 0x1C, 0x23, 0x2E, 0x21, 0x24, 0x16, 0x16, 0x0E, 0x16, - 0x11, 0x1E, 0x18, 0x25, 0x1B, 0x21, 0x17, 0x21, 0x16, 0x1F, 0x16, 0x20, 0x16, 0x1E, 0x16, 0x22, - 0x1C, 0x29, 0x26, 0x3C, 0x40, 0x58, 0x5B, 0x67, 0x56, 0x42, 0x2B, 0x17, 0xFF, 0xEF, 0xDF, 0xEF, - 0xE5, 0xFC, 0x01, 0x1B, 0x12, 0x25, 0x1F, 0x29, 0x22, 0x28, 0x1D, 0x24, 0x18, 0x1E, 0x14, 0x1D, - 0x15, 0x1E, 0x14, 0x22, 0x19, 0x23, 0x1D, 0x29, 0x21, 0x26, 0x19, 0x17, 0x0A, 0x0C, 0x00, 0x0C, - 0xFA, 0xF4, 0x01, 0x06, 0xFF, 0xFD, 0xFB, 0x49, 0xE1, 0x29, 0x27, 0x1B, 0x10, 0x07, 0xFF, 0x03, - 0x03, 0x11, 0x17, 0x26, 0x21, 0x21, 0x14, 0x16, 0x10, 0x1A, 0x16, 0x1E, 0x18, 0x21, 0x19, 0x1D, - 0x15, 0x20, 0x18, 0x23, 0x19, 0x20, 0x14, 0x1D, 0x16, 0x21, 0x1A, 0x29, 0x28, 0x3B, 0x3E, 0x5A, - 0x5C, 0x6A, 0x57, 0x47, 0x2B, 0x17, 0xFD, 0xED, 0xDE, 0xE9, 0xE6, 0xFE, 0x04, 0x1A, 0x19, 0x28, - 0x22, 0x29, 0x1F, 0x26, 0x1A, 0x20, 0x18, 0x21, 0x16, 0x1E, 0x17, 0x20, 0x15, 0x22, 0x15, 0x21, - 0x19, 0x26, 0x1E, 0x25, 0x18, 0x1E, 0x15, 0x18, 0x12, 0x19, 0x0D, 0x04, 0x02, 0xFA, 0xF0, 0xE7, - 0xE6, 0x2C, 0xAC, 0x12, 0x13, 0x06, 0xFF, 0xFA, 0xFF, 0x06, 0x0B, 0x1E, 0x2F, 0x3F, 0x33, 0x28, - 0x18, 0x17, 0x0F, 0x17, 0x0F, 0x1C, 0x14, 0x20, 0x17, 0x20, 0x18, 0x21, 0x18, 0x22, 0x18, 0x1E, - 0x15, 0x16, 0x10, 0x17, 0x12, 0x26, 0x28, 0x44, 0x4B, 0x67, 0x68, 0x71, 0x5C, 0x43, 0x27, 0x11, - 0xFB, 0xF2, 0xE2, 0xED, 0xE6, 0xFA, 0xFF, 0x14, 0x16, 0x24, 0x1F, 0x27, 0x1F, 0x25, 0x1A, 0x1E, - 0x14, 0x1C, 0x12, 0x1A, 0x14, 0x1C, 0x15, 0x1D, 0x15, 0x21, 0x1A, 0x28, 0x1F, 0x27, 0x19, 0x11, - 0x06, 0x06, 0x03, 0x10, 0xFE, 0xF3, 0xFD, 0xFE, 0xF6, 0xEF, 0xF2, 0x4A, 0xAF, 0x2E, 0x2C, 0x1E, - 0x0C, 0xFB, 0xF1, 0xF8, 0xFC, 0x12, 0x25, 0x36, 0x30, 0x28, 0x17, 0x18, 0x0F, 0x1A, 0x12, 0x1D, - 0x15, 0x1D, 0x15, 0x1D, 0x16, 0x22, 0x1A, 0x22, 0x1A, 0x20, 0x13, 0x16, 0x0F, 0x15, 0x12, 0x25, - 0x28, 0x43, 0x4A, 0x66, 0x67, 0x73, 0x5D, 0x45, 0x28, 0x0F, 0xF8, 0xF4, 0xE2, 0xEB, 0xE6, 0xFB, - 0xFF, 0x17, 0x18, 0x27, 0x21, 0x28, 0x1E, 0x22, 0x18, 0x1D, 0x16, 0x1E, 0x14, 0x1E, 0x14, 0x1D, - 0x15, 0x1D, 0x16, 0x22, 0x1B, 0x26, 0x1F, 0x26, 0x1B, 0x11, 0x0C, 0x0C, 0x0F, 0x1D, 0x10, 0x0A, - 0x0A, 0xFB, 0xEE, 0xDA, 0xDD, 0x3D, 0x87, 0x20, 0x1D, 0x14, 0x04, 0xF0, 0xFF, 0x03, 0x01, 0x1E, - 0x36, 0x48, 0x3A, 0x2D, 0x1C, 0x17, 0x0D, 0x12, 0x0D, 0x1A, 0x12, 0x1D, 0x17, 0x1E, 0x19, 0x21, - 0x18, 0x22, 0x19, 0x21, 0x14, 0x18, 0x0E, 0x16, 0x12, 0x26, 0x29, 0x41, 0x49, 0x65, 0x64, 0x6B, - 0x4B, 0x39, 0x22, 0x19, 0x05, 0xF7, 0xE4, 0xEE, 0xEC, 0x05, 0x06, 0x17, 0x13, 0x23, 0x1D, 0x26, - 0x1C, 0x20, 0x15, 0x1E, 0x13, 0x1D, 0x13, 0x18, 0x10, 0x18, 0x12, 0x1B, 0x15, 0x1D, 0x17, 0x24, - 0x1D, 0x24, 0x16, 0x0F, 0x03, 0x08, 0x07, 0x18, 0x05, 0xFD, 0x03, 0xFD, 0xF1, 0xE7, 0xE8, 0x5A, - 0x8A, 0x2B, 0x2B, 0x1A, 0x05, 0xF4, 0xF2, 0x00, 0xF8, 0x1C, 0x34, 0x45, 0x36, 0x2C, 0x1B, 0x19, - 0x0D, 0x13, 0x0D, 0x1A, 0x12, 0x1C, 0x15, 0x20, 0x17, 0x22, 0x1A, 0x24, 0x19, 0x20, 0x12, 0x15, - 0x0C, 0x11, 0x0E, 0x22, 0x24, 0x3C, 0x43, 0x5F, 0x5D, 0x60, 0x48, 0x36, 0x21, 0x19, 0x06, 0xFB, - 0xE9, 0xF7, 0xF7, 0x0A, 0x0B, 0x1B, 0x16, 0x25, 0x1F, 0x26, 0x1C, 0x20, 0x17, 0x1C, 0x13, 0x1E, - 0x12, 0x1A, 0x11, 0x19, 0x12, 0x1A, 0x13, 0x1C, 0x15, 0x22, 0x1A, 0x25, 0x17, 0x13, 0x06, 0x09, - 0x06, 0x19, 0x0C, 0x08, 0x08, 0xFA, 0xEC, 0xDE, 0xDE, 0x58, 0xA7, 0x21, 0x20, 0x15, 0x03, 0xF8, - 0xF9, 0x04, 0xFE, 0x1C, 0x28, 0x3A, 0x30, 0x2E, 0x1D, 0x1C, 0x10, 0x17, 0x11, 0x1C, 0x15, 0x20, - 0x17, 0x20, 0x16, 0x24, 0x1A, 0x23, 0x1A, 0x1F, 0x14, 0x1E, 0x15, 0x1C, 0x17, 0x28, 0x2F, 0x43, - 0x43, 0x54, 0x42, 0x36, 0x1F, 0x17, 0x0E, 0x1A, 0x16, 0x25, 0x20, 0x1D, 0x08, 0x07, 0xFF, 0x15, - 0x14, 0x24, 0x1F, 0x26, 0x1D, 0x1F, 0x14, 0x1A, 0x0F, 0x19, 0x11, 0x19, 0x11, 0x19, 0x10, 0x18, - 0x10, 0x1E, 0x17, 0x23, 0x19, 0x21, 0x12, 0x13, 0x02, 0x0A, 0x04, 0x14, 0x06, 0x04, 0x05, 0xFD, - 0xEF, 0xE4, 0xE7, 0x7A, 0xAA, 0x25, 0x26, 0x18, 0x05, 0xF4, 0xF3, 0x00, 0x00, 0x1B, 0x2B, 0x3C, - 0x32, 0x2E, 0x1E, 0x1C, 0x11, 0x19, 0x10, 0x1D, 0x16, 0x20, 0x15, 0x1E, 0x17, 0x22, 0x1B, 0x24, - 0x1B, 0x1F, 0x15, 0x1B, 0x11, 0x17, 0x13, 0x24, 0x22, 0x3A, 0x3A, 0x4B, 0x37, 0x2E, 0x19, 0x13, - 0x0C, 0x19, 0x18, 0x2B, 0x2A, 0x2B, 0x15, 0x10, 0x07, 0x1B, 0x16, 0x27, 0x20, 0x25, 0x1A, 0x22, - 0x14, 0x1A, 0x13, 0x1B, 0x11, 0x1C, 0x13, 0x17, 0x10, 0x16, 0x0E, 0x1C, 0x15, 0x22, 0x18, 0x20, - 0x15, 0x13, 0x07, 0x0A, 0x04, 0x13, 0x03, 0x03, 0x07, 0xFC, 0xED, 0xE1, 0xE4, 0x6B, 0xB2, 0x20, - 0x22, 0x17, 0x05, 0xF8, 0xFA, 0x03, 0x01, 0x17, 0x29, 0x37, 0x31, 0x2E, 0x1C, 0x1E, 0x15, 0x1C, - 0x12, 0x1D, 0x16, 0x21, 0x19, 0x21, 0x1A, 0x22, 0x18, 0x22, 0x1B, 0x24, 0x16, 0x1E, 0x15, 0x1C, - 0x1E, 0x2F, 0x30, 0x45, 0x3C, 0x34, 0x1D, 0x0A, 0xFE, 0x0B, 0x0B, 0x1A, 0x1C, 0x30, 0x36, 0x3E, - 0x2B, 0x1A, 0x0C, 0x19, 0x11, 0x23, 0x19, 0x24, 0x1B, 0x23, 0x1A, 0x1E, 0x14, 0x1B, 0x11, 0x1D, - 0x16, 0x1B, 0x15, 0x1A, 0x12, 0x1B, 0x13, 0x1E, 0x14, 0x20, 0x11, 0x16, 0x09, 0x10, 0x0D, 0x16, - 0x06, 0x05, 0x08, 0xFC, 0xF0, 0xE5, 0xE8, 0x7F, 0xCD, 0x2A, 0x2A, 0x1A, 0x05, 0xF7, 0xF1, 0x01, - 0x03, 0x1D, 0x2A, 0x3A, 0x31, 0x2A, 0x1C, 0x1E, 0x12, 0x1E, 0x13, 0x1F, 0x16, 0x23, 0x19, 0x23, - 0x19, 0x21, 0x19, 0x21, 0x19, 0x22, 0x14, 0x1C, 0x13, 0x1E, 0x1A, 0x29, 0x26, 0x3A, 0x32, 0x26, - 0x0B, 0xFF, 0xF7, 0x07, 0x0A, 0x1B, 0x20, 0x38, 0x3F, 0x4B, 0x34, 0x27, 0x18, 0x1E, 0x13, 0x25, - 0x1E, 0x24, 0x19, 0x22, 0x18, 0x20, 0x16, 0x1C, 0x14, 0x1F, 0x16, 0x1C, 0x14, 0x18, 0x10, 0x1A, - 0x13, 0x1E, 0x14, 0x1D, 0x12, 0x12, 0x09, 0x0D, 0x09, 0x11, 0x00, 0x01, 0x05, 0xFB, 0xEC, 0xE1, - 0xE3, 0x76, 0xC4, 0x29, 0x28, 0x19, 0x05, 0xF8, 0xFA, 0x04, 0x03, 0x1A, 0x24, 0x34, 0x27, 0x26, - 0x1A, 0x21, 0x16, 0x20, 0x16, 0x20, 0x16, 0x23, 0x17, 0x20, 0x17, 0x25, 0x18, 0x25, 0x16, 0x21, - 0x15, 0x20, 0x1B, 0x24, 0x1D, 0x2C, 0x31, 0x42, 0x35, 0x26, 0x02, 0xED, 0xEB, 0xFE, 0x09, 0x1B, - 0x22, 0x40, 0x49, 0x50, 0x3A, 0x24, 0x13, 0x1A, 0x14, 0x1F, 0x1C, 0x28, 0x1E, 0x22, 0x18, 0x20, - 0x16, 0x1E, 0x13, 0x19, 0x12, 0x1D, 0x12, 0x1A, 0x11, 0x1B, 0x11, 0x1E, 0x16, 0x1F, 0x12, 0x17, - 0x0E, 0x12, 0x10, 0x17, 0x05, 0x07, 0x08, 0xFB, 0xEF, 0xE2, 0xE4, 0x7F, 0xC5, 0x2F, 0x2E, 0x1D, - 0x06, 0xF5, 0xFA, 0x05, 0x07, 0x1B, 0x24, 0x36, 0x29, 0x27, 0x1A, 0x21, 0x16, 0x23, 0x18, 0x22, - 0x17, 0x20, 0x15, 0x23, 0x1A, 0x24, 0x1A, 0x21, 0x1B, 0x20, 0x18, 0x20, 0x16, 0x25, 0x19, 0x2A, - 0x25, 0x3B, 0x2F, 0x1A, 0xFA, 0xE6, 0xE0, 0xF9, 0x08, 0x1C, 0x24, 0x45, 0x56, 0x5D, 0x46, 0x30, - 0x1D, 0x1F, 0x15, 0x22, 0x1C, 0x26, 0x1E, 0x22, 0x18, 0x21, 0x16, 0x1D, 0x16, 0x1F, 0x12, 0x19, - 0x11, 0x18, 0x0F, 0x1A, 0x10, 0x1E, 0x13, 0x1D, 0x12, 0x17, 0x0D, 0x12, 0x0B, 0x12, 0x00, 0x02, - 0x06, 0xFA, 0xEA, 0xDE, 0xDF, 0x7F, 0xE6, 0x2F, 0x2D, 0x1B, 0x05, 0xF5, 0xF6, 0x03, 0x02, 0x19, - 0x26, 0x37, 0x2A, 0x28, 0x18, 0x21, 0x17, 0x22, 0x17, 0x24, 0x16, 0x24, 0x15, 0x22, 0x19, 0x23, - 0x1B, 0x23, 0x17, 0x23, 0x16, 0x24, 0x1B, 0x29, 0x21, 0x32, 0x32, 0x42, 0x2C, 0x11, 0xEF, 0xD4, - 0xD4, 0xF5, 0x07, 0x1C, 0x27, 0x4A, 0x5C, 0x67, 0x53, 0x34, 0x1A, 0x14, 0x0C, 0x1D, 0x18, 0x24, - 0x1D, 0x29, 0x1D, 0x23, 0x18, 0x20, 0x17, 0x1F, 0x15, 0x1B, 0x13, 0x19, 0x11, 0x1C, 0x13, 0x20, - 0x14, 0x1B, 0x10, 0x14, 0x0C, 0x13, 0x0D, 0x15, 0x02, 0x07, 0x08, 0xFC, 0xED, 0xE1, 0xE2, 0x52, - 0xE7, 0x35, 0x33, 0x20, 0x07, 0xF4, 0xF1, 0x03, 0x05, 0x1D, 0x2A, 0x3B, 0x2C, 0x28, 0x19, 0x24, - 0x18, 0x23, 0x18, 0x23, 0x18, 0x21, 0x18, 0x23, 0x1A, 0x25, 0x1A, 0x24, 0x17, 0x22, 0x19, 0x23, - 0x1C, 0x26, 0x1F, 0x30, 0x2C, 0x3C, 0x2C, 0x0B, 0xEA, 0xCD, 0xD0, 0xF3, 0x06, 0x1E, 0x2A, 0x4E, - 0x66, 0x6F, 0x58, 0x39, 0x21, 0x1A, 0x0F, 0x1F, 0x18, 0x27, 0x1E, 0x28, 0x1C, 0x24, 0x19, 0x20, - 0x16, 0x20, 0x16, 0x1A, 0x12, 0x18, 0x0F, 0x1B, 0x13, 0x1F, 0x15, 0x1B, 0x0F, 0x15, 0x0D, 0x0D, - 0x0A, 0x11, 0xFE, 0x01, 0x04, 0xFA, 0xE8, 0xDC, 0xDF, 0x51, 0xE2, 0x33, 0x30, 0x1C, 0x05, 0xF5, - 0xEE, 0x02, 0x05, 0x15, 0x1E, 0x2D, 0x26, 0x23, 0x16, 0x21, 0x15, 0x22, 0x18, 0x24, 0x18, 0x24, - 0x19, 0x24, 0x19, 0x24, 0x19, 0x24, 0x17, 0x25, 0x1B, 0x27, 0x1F, 0x2F, 0x29, 0x3C, 0x36, 0x41, - 0x27, 0x00, 0xDF, 0xC8, 0xCE, 0xF2, 0x06, 0x20, 0x2E, 0x53, 0x67, 0x72, 0x58, 0x39, 0x1A, 0x1A, - 0x12, 0x22, 0x1B, 0x23, 0x1C, 0x25, 0x1B, 0x28, 0x1E, 0x25, 0x17, 0x20, 0x17, 0x20, 0x15, 0x1B, - 0x14, 0x1D, 0x15, 0x1D, 0x12, 0x1B, 0x12, 0x18, 0x0E, 0x10, 0x0B, 0x11, 0x00, 0x06, 0x07, 0xFA, - 0xED, 0xE0, 0xE2, 0x69, 0xE2, 0x37, 0x35, 0x21, 0x07, 0xF4, 0xF7, 0x04, 0x06, 0x16, 0x22, 0x2C, - 0x24, 0x26, 0x18, 0x21, 0x18, 0x22, 0x17, 0x25, 0x1A, 0x24, 0x1B, 0x22, 0x1B, 0x22, 0x1A, 0x22, - 0x1B, 0x24, 0x19, 0x24, 0x1E, 0x2D, 0x26, 0x3A, 0x34, 0x3F, 0x23, 0xFF, 0xDB, 0xC7, 0xCB, 0xF2, - 0x07, 0x22, 0x31, 0x59, 0x6D, 0x7A, 0x5A, 0x3C, 0x1F, 0x1C, 0x12, 0x23, 0x1A, 0x25, 0x1C, 0x25, - 0x1B, 0x27, 0x1F, 0x26, 0x19, 0x22, 0x14, 0x20, 0x14, 0x19, 0x11, 0x1D, 0x12, 0x1A, 0x12, 0x1B, - 0x12, 0x16, 0x09, 0x0D, 0x05, 0x0F, 0xFC, 0x00, 0x06, 0xFA, 0xE9, 0xDC, 0xDE, 0x56, 0xE2, 0x37, - 0x34, 0x1F, 0x05, 0xF5, 0xF7, 0x05, 0xFF, 0x14, 0x1F, 0x2B, 0x21, 0x24, 0x18, 0x21, 0x15, 0x1F, - 0x17, 0x23, 0x18, 0x22, 0x19, 0x24, 0x18, 0x27, 0x1A, 0x26, 0x1A, 0x23, 0x1B, 0x25, 0x1D, 0x2B, - 0x22, 0x39, 0x38, 0x49, 0x23, 0x02, 0xDC, 0xC5, 0xCC, 0xF2, 0x08, 0x24, 0x34, 0x5B, 0x6D, 0x72, - 0x54, 0x33, 0x15, 0x17, 0x0C, 0x20, 0x18, 0x26, 0x1E, 0x28, 0x1C, 0x28, 0x1D, 0x26, 0x1D, 0x26, - 0x1B, 0x24, 0x16, 0x1F, 0x15, 0x1E, 0x16, 0x21, 0x14, 0x1F, 0x10, 0x14, 0x07, 0x0F, 0x0A, 0x14, - 0x03, 0x05, 0x07, 0xFC, 0xEB, 0xDE, 0xDF, 0x6B, 0xE2, 0x39, 0x37, 0x20, 0x06, 0xF2, 0xF9, 0x06, - 0xFE, 0x13, 0x1F, 0x2D, 0x26, 0x26, 0x18, 0x23, 0x16, 0x25, 0x19, 0x25, 0x1A, 0x22, 0x19, 0x24, - 0x19, 0x26, 0x1A, 0x27, 0x1A, 0x23, 0x1A, 0x24, 0x1C, 0x2B, 0x22, 0x38, 0x36, 0x47, 0x27, 0xFE, - 0xDA, 0xC7, 0xCC, 0xF3, 0x0A, 0x25, 0x36, 0x5D, 0x70, 0x75, 0x57, 0x36, 0x17, 0x17, 0x0F, 0x20, - 0x1A, 0x27, 0x20, 0x28, 0x1E, 0x29, 0x1F, 0x25, 0x1C, 0x24, 0x1C, 0x21, 0x14, 0x1E, 0x12, 0x1E, - 0x15, 0x20, 0x15, 0x1C, 0x12, 0x16, 0x08, 0x0F, 0x09, 0x13, 0x01, 0x02, 0x06, 0xFA, 0xE8, 0xDB, - 0xDD, 0x58, 0xE1, 0x3A, 0x37, 0x20, 0x06, 0xF5, 0xEF, 0x02, 0x04, 0x14, 0x21, 0x2F, 0x28, 0x28, - 0x1B, 0x22, 0x18, 0x20, 0x16, 0x21, 0x18, 0x24, 0x1A, 0x24, 0x1B, 0x24, 0x1A, 0x24, 0x1C, 0x26, - 0x1B, 0x26, 0x1C, 0x2B, 0x24, 0x39, 0x38, 0x46, 0x24, 0xFE, 0xD7, 0xC7, 0xCD, 0xF6, 0x0B, 0x28, - 0x38, 0x60, 0x74, 0x74, 0x55, 0x33, 0x11, 0x11, 0x0C, 0x1C, 0x14, 0x24, 0x1B, 0x27, 0x1F, 0x2A, - 0x22, 0x28, 0x1E, 0x27, 0x1E, 0x25, 0x17, 0x21, 0x16, 0x23, 0x17, 0x1D, 0x16, 0x1E, 0x10, 0x11, - 0x04, 0x0B, 0x06, 0x11, 0xFE, 0x03, 0x06, 0xFC, 0xEA, 0xDD, 0xDE, 0x5A, 0xC3, 0x39, 0x37, 0x21, - 0x06, 0xF5, 0xEF, 0x02, 0x05, 0x14, 0x21, 0x2E, 0x26, 0x29, 0x1B, 0x21, 0x17, 0x21, 0x17, 0x23, - 0x18, 0x25, 0x19, 0x25, 0x1A, 0x23, 0x19, 0x24, 0x1B, 0x25, 0x1A, 0x26, 0x1D, 0x2B, 0x24, 0x38, - 0x39, 0x4A, 0x23, 0xFC, 0xD7, 0xCA, 0xCF, 0xF6, 0x0C, 0x29, 0x40, 0x62, 0x75, 0x76, 0x58, 0x31, - 0x10, 0x11, 0x0D, 0x1D, 0x17, 0x24, 0x1E, 0x26, 0x21, 0x28, 0x1E, 0x29, 0x1E, 0x27, 0x1F, 0x25, - 0x19, 0x21, 0x17, 0x21, 0x16, 0x1E, 0x15, 0x1C, 0x10, 0x0E, 0x07, 0x0C, 0x0B, 0x12, 0xFF, 0x01, - 0x07, 0xFC, 0xE8, 0xDC, 0xDC, 0x5A, 0xE3, 0x38, 0x37, 0x21, 0x06, 0xF5, 0xF6, 0x03, 0x03, 0x16, - 0x22, 0x36, 0x2A, 0x2C, 0x1C, 0x23, 0x18, 0x21, 0x18, 0x23, 0x18, 0x24, 0x18, 0x25, 0x19, 0x27, - 0x18, 0x23, 0x1A, 0x26, 0x19, 0x27, 0x1C, 0x2A, 0x23, 0x3C, 0x3A, 0x49, 0x22, 0xFF, 0xDA, 0xCA, - 0xD2, 0xF8, 0x0E, 0x2A, 0x41, 0x6A, 0x73, 0x71, 0x4D, 0x27, 0x09, 0x0F, 0x0A, 0x1D, 0x17, 0x23, - 0x19, 0x24, 0x1C, 0x27, 0x20, 0x2D, 0x22, 0x2B, 0x23, 0x29, 0x1B, 0x24, 0x17, 0x25, 0x1A, 0x24, - 0x18, 0x1E, 0x0D, 0x0E, 0x02, 0x0E, 0x0B, 0x13, 0x00, 0x03, 0x06, 0xFC, 0xEA, 0xDC, 0xDD, 0x5B, - 0xE2, 0x36, 0x35, 0x20, 0x06, 0xF6, 0xF7, 0x04, 0x03, 0x15, 0x21, 0x31, 0x29, 0x2C, 0x1E, 0x24, - 0x1A, 0x20, 0x17, 0x23, 0x1A, 0x26, 0x18, 0x22, 0x1A, 0x23, 0x19, 0x23, 0x19, 0x27, 0x1D, 0x27, - 0x1C, 0x28, 0x25, 0x3A, 0x3B, 0x4A, 0x25, 0x04, 0xDF, 0xCF, 0xD6, 0xFB, 0x0F, 0x2B, 0x42, 0x6A, - 0x74, 0x6F, 0x4D, 0x28, 0x09, 0x0E, 0x0A, 0x1E, 0x19, 0x25, 0x19, 0x27, 0x1B, 0x2A, 0x20, 0x2B, - 0x20, 0x2B, 0x20, 0x29, 0x1B, 0x25, 0x17, 0x21, 0x1A, 0x21, 0x18, 0x1C, 0x10, 0x0D, 0x05, 0x0B, - 0x0D, 0x14, 0x00, 0x02, 0x07, 0xFC, 0xEA, 0xDD, 0xDD, 0x5A, 0xE4, 0x35, 0x35, 0x20, 0x06, 0xF6, - 0xF7, 0x03, 0x04, 0x16, 0x26, 0x3A, 0x33, 0x2F, 0x1F, 0x23, 0x1A, 0x25, 0x1A, 0x23, 0x17, 0x22, - 0x1B, 0x23, 0x19, 0x26, 0x1A, 0x24, 0x1B, 0x26, 0x1A, 0x27, 0x1F, 0x2B, 0x23, 0x3A, 0x3A, 0x4C, - 0x2A, 0x0D, 0xE9, 0xD5, 0xD8, 0xFD, 0x11, 0x2D, 0x44, 0x6B, 0x72, 0x66, 0x44, 0x1D, 0x00, 0x0B, - 0x07, 0x19, 0x15, 0x24, 0x18, 0x26, 0x1C, 0x27, 0x20, 0x29, 0x1F, 0x2A, 0x20, 0x29, 0x1A, 0x28, - 0x1A, 0x25, 0x19, 0x25, 0x1B, 0x1D, 0x0F, 0x0E, 0x02, 0x0A, 0x09, 0x13, 0x02, 0x07, 0x06, 0xFC, - 0xE9, 0xDC, 0xDD, 0x58, 0xE3, 0x32, 0x30, 0x1E, 0x06, 0xF7, 0xF8, 0x05, 0x04, 0x17, 0x27, 0x38, - 0x32, 0x2D, 0x1F, 0x25, 0x19, 0x25, 0x1A, 0x23, 0x19, 0x24, 0x19, 0x25, 0x1B, 0x26, 0x1B, 0x27, - 0x19, 0x26, 0x1A, 0x28, 0x1F, 0x2C, 0x25, 0x3D, 0x3D, 0x50, 0x31, 0x0E, 0xEE, 0xD9, 0xE3, 0xFE, - 0x13, 0x2D, 0x44, 0x69, 0x70, 0x5F, 0x40, 0x1E, 0xFF, 0x0D, 0x07, 0x1E, 0x14, 0x25, 0x1B, 0x29, - 0x20, 0x2B, 0x20, 0x29, 0x1E, 0x2C, 0x22, 0x28, 0x20, 0x26, 0x19, 0x24, 0x19, 0x24, 0x19, 0x1E, - 0x10, 0x10, 0x04, 0x0E, 0x0B, 0x15, 0x03, 0x05, 0x06, 0xFC, 0xEB, 0xDF, 0xE0, 0x6B, 0xE5, 0x31, - 0x31, 0x1E, 0x06, 0xF7, 0xF7, 0x02, 0x04, 0x15, 0x23, 0x3A, 0x34, 0x31, 0x22, 0x26, 0x1A, 0x23, - 0x1B, 0x23, 0x18, 0x24, 0x1C, 0x25, 0x1B, 0x24, 0x1C, 0x24, 0x1A, 0x27, 0x1B, 0x28, 0x1F, 0x30, - 0x30, 0x3F, 0x3B, 0x4E, 0x31, 0x14, 0xEF, 0xDF, 0xE6, 0x07, 0x14, 0x2F, 0x44, 0x67, 0x6A, 0x52, - 0x34, 0x14, 0xF7, 0x09, 0x08, 0x1B, 0x10, 0x22, 0x1A, 0x26, 0x1B, 0x2A, 0x1F, 0x29, 0x1E, 0x28, - 0x1E, 0x2A, 0x1E, 0x2A, 0x20, 0x26, 0x20, 0x29, 0x1C, 0x1E, 0x12, 0x10, 0x03, 0x0E, 0x07, 0x11, - 0xFE, 0x00, 0x06, 0xFC, 0xEC, 0xDD, 0xDE, 0x54, 0xA6, 0x29, 0x29, 0x19, 0x08, 0xF6, 0xF8, 0x04, - 0x03, 0x19, 0x26, 0x3A, 0x35, 0x2F, 0x24, 0x27, 0x1D, 0x24, 0x1A, 0x25, 0x1A, 0x26, 0x1B, 0x24, - 0x1C, 0x25, 0x1B, 0x26, 0x1C, 0x25, 0x1C, 0x27, 0x21, 0x31, 0x2F, 0x46, 0x40, 0x51, 0x3C, 0x1C, - 0x06, 0xE5, 0xE9, 0x0A, 0x16, 0x30, 0x43, 0x65, 0x66, 0x51, 0x26, 0x0B, 0xF4, 0x08, 0x06, 0x19, - 0x13, 0x22, 0x1B, 0x28, 0x1C, 0x28, 0x1D, 0x2A, 0x1E, 0x2B, 0x1D, 0x2B, 0x1F, 0x2A, 0x1D, 0x29, - 0x1C, 0x25, 0x18, 0x1C, 0x12, 0x10, 0x0A, 0x0D, 0x08, 0x12, 0xFD, 0xFF, 0x05, 0xFA, 0xED, 0xE0, - 0xE2, 0x66, 0xCB, 0x2E, 0x2C, 0x1C, 0x07, 0xF7, 0xF2, 0x03, 0x04, 0x1A, 0x2B, 0x42, 0x35, 0x34, - 0x22, 0x22, 0x1A, 0x24, 0x18, 0x25, 0x18, 0x23, 0x1A, 0x27, 0x1A, 0x26, 0x1C, 0x26, 0x1B, 0x28, - 0x1D, 0x29, 0x1D, 0x29, 0x24, 0x34, 0x35, 0x4E, 0x43, 0x42, 0x29, 0x12, 0x06, 0x12, 0x17, 0x2F, - 0x3B, 0x46, 0x39, 0x29, 0x05, 0x09, 0xF6, 0x08, 0x07, 0x1B, 0x11, 0x21, 0x16, 0x24, 0x19, 0x28, - 0x1C, 0x28, 0x1F, 0x2A, 0x20, 0x29, 0x1F, 0x2A, 0x21, 0x2C, 0x23, 0x2D, 0x21, 0x23, 0x12, 0x11, - 0x09, 0x10, 0x0A, 0x11, 0x00, 0x02, 0x06, 0xFC, 0xEC, 0xDE, 0xE1, 0x7F, 0xB2, 0x22, 0x23, 0x15, - 0x05, 0xF7, 0xFB, 0x04, 0x06, 0x1C, 0x2D, 0x41, 0x36, 0x31, 0x24, 0x25, 0x1D, 0x27, 0x1C, 0x22, - 0x1B, 0x25, 0x1D, 0x26, 0x1B, 0x26, 0x1B, 0x25, 0x1E, 0x27, 0x1C, 0x28, 0x1E, 0x2B, 0x23, 0x38, - 0x39, 0x52, 0x45, 0x4F, 0x2C, 0x19, 0x0A, 0x14, 0x27, 0x2F, 0x38, 0x43, 0x32, 0x14, 0xFC, 0xF6, - 0xED, 0x04, 0x04, 0x18, 0x14, 0x21, 0x16, 0x24, 0x19, 0x29, 0x1E, 0x2A, 0x1D, 0x2B, 0x1B, 0x2A, - 0x21, 0x2A, 0x1F, 0x27, 0x1E, 0x2A, 0x21, 0x1F, 0x14, 0x14, 0x0E, 0x12, 0x0D, 0x11, 0x00, 0x01, - 0x05, 0xFD, 0xEE, 0xE2, 0xE5, 0x7F, 0xAB, 0x25, 0x26, 0x19, 0x05, 0xF9, 0xFA, 0x03, 0xFB, 0x11, - 0x1F, 0x35, 0x29, 0x2E, 0x1A, 0x1D, 0x11, 0x1A, 0x10, 0x1D, 0x14, 0x24, 0x1B, 0x24, 0x1B, 0x25, - 0x1B, 0x25, 0x1B, 0x26, 0x1C, 0x26, 0x1C, 0x29, 0x1F, 0x2D, 0x2A, 0x3F, 0x3C, 0x54, 0x4E, 0x58, - 0x4D, 0x44, 0x33, 0x1D, 0x1B, 0x1A, 0xF1, 0xF6, 0xEF, 0x02, 0xFF, 0x0F, 0x0E, 0x1D, 0x15, 0x20, - 0x19, 0x24, 0x1B, 0x26, 0x1D, 0x28, 0x1E, 0x28, 0x20, 0x29, 0x22, 0x2F, 0x2B, 0x36, 0x29, 0x3C, - 0x30, 0x2E, 0x20, 0x1E, 0x11, 0x16, 0x0E, 0x12, 0x00, 0x00, 0x07, 0xFC, 0xEC, 0xE0, 0xE3, 0x73, - 0x94, 0x17, 0x1A, 0x10, 0x04, 0xFA, 0xFF, 0x08, 0xFF, 0x12, 0x1F, 0x35, 0x2B, 0x2D, 0x1E, 0x19, - 0x16, 0x1D, 0x10, 0x1F, 0x17, 0x26, 0x18, 0x25, 0x19, 0x26, 0x19, 0x25, 0x1D, 0x25, 0x1C, 0x27, - 0x1F, 0x2B, 0x23, 0x34, 0x2E, 0x4C, 0x4A, 0x5E, 0x4E, 0x5D, 0x52, 0x47, 0x30, 0x1F, 0x06, 0x04, - 0xEA, 0xED, 0xE6, 0xF9, 0xEF, 0x0A, 0x0B, 0x1B, 0x15, 0x20, 0x18, 0x24, 0x1B, 0x27, 0x1E, 0x29, - 0x1E, 0x27, 0x1F, 0x2D, 0x21, 0x31, 0x23, 0x31, 0x28, 0x38, 0x2B, 0x2A, 0x1D, 0x1C, 0x11, 0x19, - 0x10, 0x13, 0x00, 0xFF, 0x04, 0xFB, 0xF1, 0xE6, 0xE8, 0x7F, 0x8B, 0x1D, 0x1F, 0x14, 0x05, 0xF9, - 0xF6, 0x01, 0x00, 0x12, 0x1E, 0x2A, 0x1F, 0x1D, 0x0A, 0x11, 0xFC, 0x13, 0x0A, 0x17, 0x13, 0x22, - 0x19, 0x22, 0x1A, 0x23, 0x19, 0x25, 0x1B, 0x27, 0x1A, 0x27, 0x1B, 0x27, 0x1A, 0x2E, 0x21, 0x32, - 0x2B, 0x3C, 0x44, 0x4B, 0x36, 0x34, 0x28, 0x23, 0x18, 0x10, 0x09, 0x0E, 0x0A, 0x15, 0x11, 0x1B, - 0x14, 0x21, 0x17, 0x1E, 0x12, 0x1C, 0x19, 0x25, 0x1D, 0x27, 0x1D, 0x29, 0x21, 0x2C, 0x23, 0x33, - 0x32, 0x48, 0x3E, 0x4C, 0x44, 0x43, 0x35, 0x2C, 0x1D, 0x1B, 0x0E, 0x12, 0x01, 0x02, 0x05, 0xFD, - 0xEE, 0xE3, 0xE5, 0x6A, 0x80, 0x13, 0x16, 0x0E, 0x04, 0xFB, 0xFF, 0x09, 0x01, 0x14, 0x1D, 0x2D, - 0x21, 0x1A, 0x0D, 0x0A, 0x03, 0x0F, 0x09, 0x18, 0x14, 0x21, 0x1B, 0x23, 0x18, 0x23, 0x19, 0x24, - 0x1B, 0x26, 0x1B, 0x26, 0x1B, 0x29, 0x1E, 0x2E, 0x25, 0x32, 0x35, 0x3E, 0x3C, 0x45, 0x36, 0x37, - 0x27, 0x23, 0x16, 0x0F, 0x02, 0x0A, 0x02, 0x17, 0x09, 0x18, 0x0F, 0x21, 0x17, 0x1C, 0x15, 0x1C, - 0x16, 0x27, 0x1E, 0x29, 0x1F, 0x2B, 0x21, 0x2B, 0x23, 0x34, 0x33, 0x43, 0x38, 0x49, 0x3C, 0x3F, - 0x31, 0x26, 0x1C, 0x1C, 0x10, 0x12, 0x01, 0x00, 0x06, 0xFC, 0xF2, 0xE8, 0xEA, 0x7B, 0x84, 0x1C, - 0x1C, 0x12, 0x03, 0xF9, 0xF7, 0x03, 0x00, 0x11, 0x15, 0x23, 0x19, 0x0F, 0xFD, 0x04, 0xF9, 0x09, - 0x01, 0x11, 0x0E, 0x1A, 0x10, 0x1F, 0x13, 0x22, 0x18, 0x24, 0x19, 0x25, 0x1A, 0x24, 0x1C, 0x23, - 0x17, 0x25, 0x1C, 0x2D, 0x25, 0x32, 0x2A, 0x2F, 0x24, 0x2B, 0x22, 0x29, 0x1F, 0x24, 0x1A, 0x24, - 0x0C, 0x1F, 0x0D, 0x1B, 0x16, 0x23, 0x1A, 0x26, 0x1B, 0x29, 0x1C, 0x28, 0x1C, 0x29, 0x1E, 0x28, - 0x1E, 0x29, 0x20, 0x32, 0x31, 0x45, 0x43, 0x59, 0x4D, 0x4E, 0x3A, 0x35, 0x1F, 0x1C, 0x0F, 0x10, - 0x01, 0x00, 0x05, 0xFD, 0xEF, 0xE4, 0xE5, 0x63, 0x80, 0x17, 0x1A, 0x11, 0x04, 0xFB, 0xFC, 0x02, - 0x07, 0x14, 0x16, 0x25, 0x1B, 0x11, 0x06, 0x05, 0xF9, 0x09, 0x05, 0x12, 0x0E, 0x18, 0x0E, 0x1B, - 0x15, 0x22, 0x18, 0x24, 0x19, 0x23, 0x1B, 0x26, 0x1A, 0x26, 0x1B, 0x27, 0x21, 0x31, 0x30, 0x38, - 0x30, 0x2E, 0x26, 0x2F, 0x22, 0x28, 0x1C, 0x1F, 0x13, 0x1B, 0x0E, 0x17, 0x09, 0x16, 0x13, 0x24, - 0x18, 0x25, 0x1C, 0x26, 0x1F, 0x29, 0x1F, 0x2A, 0x1F, 0x27, 0x1D, 0x2A, 0x21, 0x32, 0x2C, 0x3E, - 0x41, 0x5A, 0x4B, 0x49, 0x38, 0x30, 0x20, 0x1C, 0x0D, 0x11, 0x00, 0xFF, 0x04, 0xFA, 0xF1, 0xE6, - 0xE7, 0x72, 0x93, 0x19, 0x1B, 0x10, 0x04, 0xF9, 0xF6, 0x01, 0x00, 0x10, 0x14, 0x21, 0x19, 0x15, - 0x0A, 0x0E, 0x04, 0x12, 0x0B, 0x15, 0x09, 0x15, 0x10, 0x1E, 0x19, 0x23, 0x19, 0x23, 0x19, 0x26, - 0x17, 0x24, 0x18, 0x23, 0x18, 0x23, 0x1A, 0x26, 0x18, 0x24, 0x17, 0x26, 0x1E, 0x2B, 0x1E, 0x29, - 0x1E, 0x2C, 0x20, 0x29, 0x1F, 0x29, 0x14, 0x28, 0x1D, 0x29, 0x1D, 0x26, 0x1B, 0x25, 0x1A, 0x25, - 0x1B, 0x26, 0x1D, 0x28, 0x1E, 0x29, 0x20, 0x2B, 0x24, 0x34, 0x31, 0x48, 0x45, 0x47, 0x3A, 0x32, - 0x24, 0x1F, 0x11, 0x12, 0x03, 0x02, 0x06, 0xFC, 0xF1, 0xE7, 0xE6, 0x61, 0x21, 0x1D, 0x1E, 0x13, - 0x05, 0xFA, 0xFD, 0x06, 0x06, 0x13, 0x18, 0x25, 0x1E, 0x18, 0x08, 0x0E, 0x00, 0x0F, 0x08, 0x16, - 0x09, 0x15, 0x12, 0x20, 0x18, 0x24, 0x17, 0x26, 0x18, 0x23, 0x18, 0x22, 0x18, 0x25, 0x1D, 0x26, - 0x1B, 0x2A, 0x21, 0x29, 0x1F, 0x2B, 0x20, 0x2C, 0x1F, 0x27, 0x1E, 0x25, 0x1B, 0x22, 0x19, 0x22, - 0x19, 0x25, 0x1B, 0x25, 0x1B, 0x26, 0x1C, 0x25, 0x1B, 0x26, 0x1D, 0x26, 0x1C, 0x27, 0x1E, 0x28, - 0x20, 0x2E, 0x28, 0x38, 0x2F, 0x4B, 0x3D, 0x3D, 0x32, 0x2F, 0x20, 0x1C, 0x0E, 0x0F, 0xFE, 0xFE, - 0x04, 0xFD, 0xF0, 0xE6, 0xE8, 0x62, 0x8B, 0x1C, 0x1B, 0x11, 0x04, 0xF9, 0xFB, 0x05, 0x04, 0x12, - 0x16, 0x27, 0x1D, 0x1F, 0x16, 0x16, 0x0B, 0x1C, 0x13, 0x18, 0x14, 0x1C, 0x11, 0x1F, 0x18, 0x23, - 0x1A, 0x24, 0x1A, 0x24, 0x1A, 0x23, 0x17, 0x21, 0x17, 0x22, 0x18, 0x23, 0x17, 0x22, 0x18, 0x25, - 0x1D, 0x28, 0x1E, 0x28, 0x1F, 0x29, 0x20, 0x2A, 0x1D, 0x27, 0x1F, 0x29, 0x1D, 0x25, 0x1A, 0x24, - 0x19, 0x24, 0x19, 0x22, 0x19, 0x28, 0x1F, 0x2E, 0x21, 0x27, 0x19, 0x22, 0x13, 0x28, 0x29, 0x2F, - 0x34, 0x2E, 0x2C, 0x27, 0x1D, 0x19, 0x13, 0x12, 0x03, 0x03, 0x07, 0xFD, 0xF1, 0xE6, 0xE9, 0x64, - 0x87, 0x26, 0x25, 0x17, 0x06, 0xF9, 0xFE, 0x0C, 0x08, 0x15, 0x1A, 0x28, 0x1F, 0x20, 0x16, 0x1A, - 0x11, 0x16, 0x0F, 0x1B, 0x11, 0x1F, 0x17, 0x21, 0x18, 0x22, 0x19, 0x24, 0x19, 0x24, 0x18, 0x23, - 0x17, 0x23, 0x17, 0x24, 0x1C, 0x26, 0x1E, 0x26, 0x1C, 0x27, 0x1E, 0x28, 0x1E, 0x28, 0x1D, 0x27, - 0x1B, 0x26, 0x19, 0x24, 0x1A, 0x26, 0x1C, 0x25, 0x19, 0x24, 0x19, 0x23, 0x17, 0x1F, 0x19, 0x28, - 0x1F, 0x2C, 0x1F, 0x27, 0x1A, 0x22, 0x17, 0x23, 0x25, 0x2E, 0x2D, 0x2C, 0x21, 0x25, 0x19, 0x1A, - 0x0E, 0x0E, 0xFC, 0xFF, 0x03, 0xFA, 0xEC, 0xE0, 0xE3, 0x64, 0xAC, 0x21, 0x21, 0x13, 0x05, 0xF7, - 0xF3, 0x05, 0x05, 0x15, 0x17, 0x28, 0x20, 0x27, 0x18, 0x1C, 0x16, 0x1D, 0x10, 0x1B, 0x10, 0x1B, - 0x15, 0x1E, 0x17, 0x24, 0x1A, 0x24, 0x1A, 0x23, 0x18, 0x1F, 0x15, 0x1F, 0x16, 0x20, 0x17, 0x22, - 0x18, 0x23, 0x1B, 0x26, 0x1D, 0x28, 0x1F, 0x2A, 0x21, 0x2B, 0x1F, 0x2A, 0x1E, 0x29, 0x1C, 0x27, - 0x1A, 0x23, 0x16, 0x21, 0x16, 0x1F, 0x15, 0x1B, 0x13, 0x22, 0x1C, 0x28, 0x1A, 0x21, 0x16, 0x24, - 0x17, 0x1D, 0x0E, 0x26, 0x18, 0x29, 0x21, 0x23, 0x19, 0x20, 0x12, 0x10, 0xFF, 0x04, 0x07, 0xFE, - 0xF3, 0xE5, 0xE8, 0x6F, 0xA9, 0x32, 0x32, 0x20, 0x0A, 0xF6, 0xF0, 0x00, 0x06, 0x13, 0x17, 0x26, - 0x1F, 0x22, 0x19, 0x1C, 0x11, 0x16, 0x0F, 0x19, 0x0F, 0x1B, 0x13, 0x1E, 0x16, 0x22, 0x18, 0x22, - 0x19, 0x22, 0x18, 0x1F, 0x14, 0x1F, 0x15, 0x20, 0x17, 0x24, 0x1C, 0x27, 0x1C, 0x28, 0x1D, 0x29, - 0x1E, 0x29, 0x1E, 0x26, 0x1D, 0x25, 0x1B, 0x25, 0x19, 0x23, 0x17, 0x20, 0x15, 0x1F, 0x14, 0x1C, - 0x13, 0x19, 0x11, 0x1F, 0x1A, 0x26, 0x17, 0x20, 0x16, 0x24, 0x19, 0x20, 0x12, 0x1F, 0x19, 0x24, - 0x1A, 0x22, 0x16, 0x19, 0x0E, 0x0F, 0x02, 0x07, 0x07, 0xFA, 0xE8, 0xDA, 0xDC, 0x71, 0xE0, 0x42, - 0x3B, 0x2B, 0x10, 0xF5, 0xE7, 0xF9, 0xFE, 0x10, 0x17, 0x25, 0x1C, 0x20, 0x15, 0x1B, 0x10, 0x14, - 0x0D, 0x17, 0x0E, 0x19, 0x12, 0x1D, 0x15, 0x22, 0x18, 0x21, 0x17, 0x20, 0x16, 0x1E, 0x14, 0x1D, - 0x14, 0x21, 0x1B, 0x27, 0x1D, 0x29, 0x1E, 0x2A, 0x1E, 0x27, 0x1E, 0x28, 0x1D, 0x27, 0x1C, 0x23, - 0x19, 0x24, 0x18, 0x21, 0x16, 0x1E, 0x15, 0x1D, 0x14, 0x1D, 0x11, 0x19, 0x0F, 0x20, 0x18, 0x25, - 0x15, 0x1F, 0x14, 0x24, 0x1A, 0x20, 0x14, 0x1F, 0x18, 0x24, 0x1A, 0x1F, 0x15, 0x17, 0x0B, 0x14, - 0x12, 0x11, 0x09, 0xF4, 0xDF, 0xCE, 0xCE, 0x6F, 0xDF, 0x4C, 0x4A, 0x32, 0x17, 0xF7, 0xDF, 0xF0, - 0xF8, 0x80, 0x12, 0x26, 0x1A, 0x1F, 0x15, 0x18, 0x0F, 0x14, 0x0C, 0x16, 0x0C, 0x18, 0x11, 0x1F, - 0x15, 0x21, 0x17, 0x20, 0x16, 0x20, 0x16, 0x1E, 0x13, 0x1D, 0x15, 0x23, 0x1A, 0x27, 0x1F, 0x2B, - 0x20, 0x2B, 0x1F, 0x27, 0x1D, 0x26, 0x1B, 0x24, 0x1A, 0x24, 0x19, 0x22, 0x18, 0x21, 0x16, 0x1E, - 0x13, 0x1D, 0x12, 0x1B, 0x11, 0x19, 0x10, 0x1F, 0x18, 0x25, 0x16, 0x22, 0x15, 0x24, 0x1A, 0x22, - 0x13, 0x20, 0x17, 0x24, 0x19, 0x21, 0x13, 0x16, 0x0F, 0x1B, 0x1D, 0x1D, 0x0C, 0xF2, 0xD6, 0xC6, - 0xC4, 0x73, 0x22, 0x67, 0x56, 0x40, 0x23, 0xF8, 0xD6, 0xD8, 0xEF, 0x80, 0x10, 0x21, 0x1A, 0x1F, - 0x14, 0x17, 0x0D, 0x16, 0x0B, 0x1A, 0x0D, 0x1C, 0x12, 0x23, 0x15, 0x21, 0x15, 0x22, 0x14, 0x22, - 0x15, 0x23, 0x14, 0x24, 0x18, 0x2A, 0x21, 0x36, 0x2F, 0x3A, 0x2F, 0x38, 0x26, 0x30, 0x1F, 0x27, - 0x17, 0x25, 0x1A, 0x25, 0x1A, 0x23, 0x17, 0x21, 0x15, 0x20, 0x0F, 0x1E, 0x0F, 0x1B, 0x0F, 0x1B, - 0x10, 0x22, 0x18, 0x26, 0x16, 0x21, 0x16, 0x25, 0x1A, 0x23, 0x14, 0x20, 0x18, 0x24, 0x17, 0x20, - 0x12, 0x19, 0x12, 0x26, 0x32, 0x2F, 0x13, 0xEE, 0xCC, 0xB7, 0x61, 0x2E, 0x27, 0x7E, 0x65, 0x4D, - 0x40, 0xFC, 0xBC, 0xC5, 0xE0, 0xF4, 0xFF, 0x1B, 0x14, 0x21, 0x15, 0x1E, 0x0E, 0x15, 0x0B, 0x17, - 0x0D, 0x1E, 0x11, 0x21, 0x15, 0x23, 0x15, 0x22, 0x16, 0x24, 0x17, 0x23, 0x14, 0x22, 0x16, 0x28, - 0x22, 0x34, 0x2D, 0x3C, 0x30, 0x3A, 0x2A, 0x2F, 0x1D, 0x28, 0x18, 0x26, 0x1C, 0x2A, 0x1C, 0x29, - 0x1A, 0x25, 0x15, 0x1F, 0x11, 0x1D, 0x10, 0x1D, 0x0F, 0x1B, 0x11, 0x22, 0x18, 0x26, 0x16, 0x24, - 0x15, 0x2A, 0x1D, 0x28, 0x17, 0x24, 0x17, 0x27, 0x16, 0x20, 0x13, 0x1A, 0x18, 0x32, 0x4C, 0x59, - 0x1F, 0xEF, 0xCC, 0xB0, 0x75, 0x2E, 0x69, 0x7F, 0x7F, 0x6F, 0x42, 0xF1, 0x89, 0x8E, 0xC2, 0xF2, - 0x00, 0x1C, 0x14, 0x1F, 0x13, 0x1A, 0x0F, 0x16, 0x0B, 0x17, 0x0D, 0x1B, 0x12, 0x20, 0x15, 0x22, - 0x15, 0x21, 0x16, 0x23, 0x16, 0x21, 0x15, 0x21, 0x19, 0x29, 0x1F, 0x32, 0x2B, 0x3A, 0x2E, 0x36, - 0x25, 0x2E, 0x1E, 0x25, 0x19, 0x24, 0x1B, 0x29, 0x1C, 0x25, 0x00, 0x25, 0x00, 0x1E, 0x11, 0x1D, - 0x0F, 0x1B, 0x10, 0x19, 0x10, 0x21, 0x19, 0x27, 0x17, 0x24, 0x16, 0x27, 0x1E, 0x27, 0x16, 0x23, - 0x16, 0x26, 0x17, 0x24, 0x15, 0x22, 0x7F, 0x51, 0x7F, 0x7F, 0x2F, 0xE8, 0xB9, 0x95, 0x23, 0x16, - 0x26, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x73, 0x7C, 0x5E, 0x3F, 0x0E, 0x10, 0x00, 0x1C, - 0x3A, 0x7F, 0x7F, 0x7F, 0x7F, 0x7D, 0x4D, 0x20, 0x0B, 0x31, 0x2B, 0x46, 0x3A, 0x50, 0x43, 0x54, - 0x42, 0x53, 0x47, 0x52, 0x44, 0x52, 0x47, 0x4D, 0x3D, 0x47, 0x33, 0x37, 0x38, 0x5D, 0x54, 0x5A, - 0x50, 0x72, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x2D, 0xDF, 0xA5, 0x80, 0x84, 0xF2, 0x44, 0x49, 0x44, - 0x41, 0x4C, 0x61, 0x4F, 0x3F, 0x4A, 0x43, 0x27, 0x0E, 0x0D, 0x02, 0x1A, 0x2E, 0x64, 0x7F, 0x7F, - 0x7C, 0x41, 0x10, 0x02, 0xFC, 0x1B, 0x1A, 0x32, 0x30, 0x3F, 0x39, 0x3F, 0x37, 0x3F, 0x36, 0x3F, - 0x33, 0x3E, 0x38, 0x3D, 0x31, 0x38, 0x2C, 0x36, 0x33, 0x4F, 0x45, 0x2D, 0x1E, 0x2C, 0x55, 0x7F, - 0x7F, 0x7F, 0x50, 0x11, 0xDE, 0xAB, 0x8C, 0xCA, 0xE7, 0x34, 0x3B, 0x34, 0x2F, 0x38, 0x4B, 0x44, - 0x39, 0x3E, 0x33, 0x24, 0x09, 0x0C, 0x01, 0x12, 0x27, 0x5C, 0x7C, 0x7F, 0x6B, 0x2A, 0x01, 0xF7, - 0xF5, 0x13, 0x14, 0x29, 0x27, 0x32, 0x2F, 0x36, 0x2C, 0x35, 0x2A, 0x33, 0x2C, 0x32, 0x2A, 0x32, - 0x28, 0x30, 0x29, 0x32, 0x30, 0x4C, 0x3A, 0x24, 0x11, 0x18, 0x36, 0x64, 0x72, 0x63, 0x36, 0x09, - 0xE9, 0xC7, 0xAF, 0xDB, 0xE1, 0x29, 0x2A, 0x23, 0x1B, 0x1F, 0x33, 0x33, 0x28, 0x32, 0x28, 0x1F, - 0x09, 0x07, 0xFC, 0x0D, 0x1B, 0x4C, 0x6B, 0x7B, 0x57, 0x1C, 0xEF, 0xEA, 0xEF, 0x0C, 0x0F, 0x21, - 0x1D, 0x2A, 0x21, 0x2A, 0x24, 0x28, 0x20, 0x26, 0x1E, 0x28, 0x1F, 0x23, 0x1C, 0x28, 0x1F, 0x2E, - 0x2D, 0x46, 0x33, 0x13, 0x05, 0x05, 0x1D, 0x42, 0x43, 0x3D, 0x25, 0x09, 0xEF, 0xCF, 0xC1, 0x1E, - 0xDF, 0x1F, 0x1E, 0x19, 0x11, 0x12, 0x24, 0x25, 0x22, 0x26, 0x1D, 0x1A, 0x07, 0x06, 0xF9, 0x09, - 0x15, 0x44, 0x5F, 0x66, 0x44, 0x0C, 0xE1, 0xE4, 0xE4, 0x02, 0x09, 0x1A, 0x17, 0x24, 0x1D, 0x22, - 0x1A, 0x21, 0x17, 0x1F, 0x16, 0x1D, 0x13, 0x1C, 0x17, 0x23, 0x1B, 0x28, 0x29, 0x41, 0x2E, 0x0B, - 0xF6, 0xF7, 0x07, 0x31, 0x29, 0x25, 0x16, 0x05, 0xF3, 0xDA, 0x78, 0x2D, 0xDC, 0x19, 0x17, 0x0F, - 0x06, 0x04, 0x0F, 0x0E, 0x13, 0x1C, 0x14, 0x14, 0x03, 0x02, 0xF5, 0x02, 0x0D, 0x3D, 0x51, 0x58, - 0x2C, 0xF8, 0xD4, 0xDD, 0xE2, 0xFE, 0x04, 0x15, 0x11, 0x1C, 0x13, 0x1C, 0x13, 0x1A, 0x10, 0x16, - 0x0E, 0x14, 0x0F, 0x14, 0x0F, 0x1C, 0x17, 0x24, 0x23, 0x3C, 0x25, 0x06, 0xF0, 0xE7, 0xF9, 0x23, - 0x12, 0x0D, 0x09, 0xFF, 0xF5, 0xE8, 0x77, 0x74, 0xE1, 0x18, 0x15, 0x08, 0xFE, 0xF4, 0xEE, 0xFC, - 0x06, 0x0D, 0x09, 0x10, 0x00, 0xFF, 0xEF, 0xFA, 0x07, 0x34, 0x42, 0x3D, 0x24, 0xED, 0xCD, 0xDD, - 0xE3, 0xFF, 0x01, 0x0F, 0x0B, 0x17, 0x0E, 0x14, 0x0B, 0x11, 0x0A, 0x0E, 0x05, 0x0C, 0x05, 0x0C, - 0x08, 0x15, 0x0D, 0x1E, 0x1C, 0x32, 0x21, 0xF8, 0xE6, 0xDA, 0xEA, 0x11, 0x09, 0xF8, 0xFC, 0xFB, - 0xF5, 0xEF, 0xFD, 0x7F, 0xDB, 0x07, 0x01, 0xF7, 0xEA, 0xE5, 0xFC, 0x11, 0x0C, 0x0F, 0x06, 0x0D, - 0xFB, 0xFA, 0xEB, 0xF4, 0x01, 0x2F, 0x43, 0x57, 0x3D, 0x18, 0xF1, 0xD5, 0xC5, 0xDC, 0xEC, 0x03, - 0x04, 0x0E, 0x05, 0x0D, 0x04, 0x0D, 0x05, 0x0C, 0x04, 0x0C, 0x04, 0x0B, 0x09, 0x1F, 0x21, 0x2E, - 0x21, 0x27, 0x10, 0xEE, 0xDA, 0xE0, 0xF6, 0x14, 0x00, 0xFC, 0x04, 0x00, 0xF8, 0xEC, 0xF4, 0x70, - 0xEC, 0x18, 0x0D, 0xFF, 0xF3, 0xE7, 0xEE, 0x04, 0x08, 0x0F, 0x02, 0x08, 0xF7, 0xF4, 0xE1, 0xEB, - 0xFB, 0x28, 0x3C, 0x4A, 0x36, 0x16, 0xEF, 0xDB, 0xD1, 0xE4, 0xEF, 0x03, 0x03, 0x11, 0x05, 0x0D, - 0x06, 0x0D, 0x04, 0x0B, 0x03, 0x0C, 0x02, 0x09, 0x07, 0x17, 0x19, 0x27, 0x1F, 0x24, 0x0D, 0xEC, - 0xDC, 0xE2, 0xF9, 0x1F, 0x09, 0xFF, 0xFF, 0xFC, 0xF2, 0xE8, 0xF3, 0x7C, 0x29, 0x4F, 0x45, 0x36, - 0x25, 0x13, 0x04, 0x06, 0x07, 0x0A, 0xFF, 0x04, 0xF8, 0xEC, 0xD7, 0xDF, 0xF2, 0x1E, 0x3B, 0x5A, - 0x54, 0x30, 0x12, 0xE9, 0xD1, 0xE1, 0xE3, 0xFD, 0x01, 0x0A, 0x04, 0x0C, 0x06, 0x11, 0x09, 0x10, - 0x05, 0x0A, 0x03, 0x0D, 0x08, 0x20, 0x1C, 0x2B, 0x20, 0x22, 0x0B, 0xE2, 0xCF, 0xD5, 0xEB, 0x16, - 0x07, 0xF9, 0x00, 0xFE, 0x12, 0xE0, 0x7B, 0x53, 0x12, 0x61, 0x51, 0x40, 0x32, 0x1A, 0x09, 0x06, - 0x0A, 0x0B, 0xFD, 0x04, 0xF4, 0xE3, 0xCB, 0xD7, 0xEA, 0x18, 0x36, 0x51, 0x4E, 0x35, 0x14, 0xF0, - 0xDB, 0xE9, 0xE8, 0x00, 0x00, 0x0C, 0x03, 0x0A, 0x05, 0x11, 0x08, 0x0E, 0x03, 0x09, 0x03, 0x0C, - 0x06, 0x1C, 0x19, 0x2B, 0x20, 0x26, 0x0C, 0xDF, 0xD5, 0xD8, 0xF8, 0x1D, 0x12, 0x06, 0x07, 0xFC, - 0xED, 0xE0, 0x7B, 0x50, 0xB5, 0x1E, 0x17, 0x08, 0xF7, 0xEC, 0xF0, 0x04, 0x02, 0x10, 0x0E, 0x1E, - 0x10, 0xF1, 0xD3, 0xD1, 0xE5, 0x18, 0x30, 0x4B, 0x4F, 0x4A, 0x2F, 0x0D, 0xEA, 0xE6, 0xE3, 0xFF, - 0xFE, 0x09, 0xFF, 0x0A, 0x05, 0x12, 0x08, 0x14, 0x08, 0x13, 0x05, 0x11, 0x0B, 0x22, 0x1E, 0x26, - 0x1B, 0x18, 0x04, 0xD9, 0xC8, 0xD4, 0xE9, 0x15, 0x01, 0xFC, 0x03, 0xFD, 0xF1, 0xE6, 0x7F, 0x62, - 0xED, 0x2F, 0x27, 0x12, 0x01, 0xF4, 0xF6, 0x08, 0x08, 0x11, 0x0D, 0x1C, 0x0B, 0xEA, 0xCC, 0xC9, - 0xDE, 0x12, 0x2D, 0x47, 0x4A, 0x48, 0x2D, 0x10, 0xEA, 0xED, 0xE5, 0x00, 0xFE, 0x0A, 0x04, 0x0F, - 0x06, 0x13, 0x07, 0x12, 0x04, 0x10, 0x04, 0x11, 0x0C, 0x1E, 0x1C, 0x27, 0x1F, 0x1D, 0x07, 0xE0, - 0xCE, 0xD5, 0xF3, 0x1A, 0x08, 0x01, 0x03, 0xF9, 0xE9, 0xDA, 0x7F, 0x5B, 0xB5, 0x13, 0x12, 0x08, - 0xFC, 0xF3, 0xF8, 0x08, 0x0D, 0x17, 0x15, 0x27, 0x16, 0xF2, 0xD0, 0xC6, 0xD5, 0x0F, 0x27, 0x3D, - 0x4B, 0x59, 0x44, 0x1E, 0xF9, 0xE7, 0xE2, 0xFE, 0xFF, 0x0B, 0x03, 0x0B, 0x05, 0x12, 0x09, 0x17, - 0x0C, 0x17, 0x0B, 0x17, 0x0C, 0x20, 0x1B, 0x1F, 0x0E, 0x0C, 0x01, 0xDC, 0xCA, 0xDA, 0xF7, 0x17, - 0x06, 0x00, 0x06, 0xFD, 0xEE, 0xE1, 0x7F, 0x3B, 0xDB, 0x1D, 0x1C, 0x11, 0x05, 0xFA, 0xFE, 0x0E, - 0x0D, 0x1A, 0x13, 0x28, 0x15, 0xF0, 0xC9, 0xBF, 0xD0, 0x09, 0x20, 0x3A, 0x49, 0x58, 0x44, 0x22, - 0x02, 0xF0, 0xE2, 0x01, 0x00, 0x09, 0x01, 0x0D, 0x06, 0x15, 0x07, 0x12, 0x0B, 0x18, 0x0A, 0x13, - 0x0D, 0x1F, 0x19, 0x20, 0x0F, 0x16, 0x00, 0xE2, 0xD6, 0xE1, 0xF6, 0x1D, 0x04, 0xFE, 0x02, 0xF8, - 0xE5, 0xD6, 0x7F, 0x32, 0xD1, 0x16, 0x13, 0x09, 0xFB, 0xF0, 0xF7, 0x06, 0x04, 0x0F, 0x0E, 0x22, - 0x0F, 0xE7, 0xC7, 0xB9, 0xC9, 0x06, 0x1C, 0x36, 0x48, 0x62, 0x5A, 0x38, 0x0D, 0xF0, 0xE7, 0x01, - 0xFC, 0x05, 0x02, 0x0D, 0x07, 0x14, 0x0A, 0x17, 0x0B, 0x17, 0x0D, 0x19, 0x10, 0x1E, 0x13, 0x13, - 0xFE, 0xFD, 0xF1, 0xDB, 0xCD, 0xE3, 0xF7, 0x19, 0x08, 0x03, 0x06, 0xFD, 0xEC, 0xDC, 0x7F, 0x41, - 0xD3, 0x22, 0x1F, 0x15, 0x08, 0xFF, 0x05, 0x11, 0x08, 0x0E, 0x0C, 0x21, 0x0D, 0xE9, 0xC0, 0xB6, - 0xCA, 0xFA, 0x17, 0x2F, 0x44, 0x61, 0x56, 0x3A, 0x0F, 0xF5, 0xE7, 0x02, 0xFD, 0x07, 0x03, 0x11, - 0x08, 0x15, 0x09, 0x15, 0x0C, 0x18, 0x0B, 0x19, 0x10, 0x1F, 0x19, 0x17, 0x06, 0x04, 0xF5, 0xE6, - 0xD3, 0xE8, 0xF7, 0x17, 0x04, 0xFE, 0x02, 0xF8, 0xE6, 0x7F, 0x7F, 0x3C, 0xEF, 0x33, 0x28, 0x11, - 0xFB, 0xED, 0xEF, 0x00, 0x07, 0x0E, 0x0C, 0x1E, 0x0F, 0xF1, 0xCB, 0xB9, 0xBE, 0xFA, 0x14, 0x2E, - 0x43, 0x62, 0x59, 0x3D, 0x1A, 0xFB, 0xEA, 0x02, 0x00, 0x0C, 0x00, 0x0E, 0x09, 0x16, 0x0B, 0x19, - 0x0D, 0x1A, 0x0E, 0x1A, 0x10, 0x20, 0x17, 0x0F, 0xF9, 0xF0, 0xE3, 0xD5, 0xC6, 0xE0, 0xF5, 0x1D, - 0x06, 0x02, 0x06, 0xFD, 0xEA, 0x7F, 0x6D, 0x1C, 0x15, 0x44, 0x37, 0x27, 0x14, 0x04, 0x09, 0x14, - 0x09, 0x10, 0x09, 0x21, 0x0D, 0xEC, 0xCA, 0xB6, 0xBA, 0xF6, 0x13, 0x2B, 0x41, 0x62, 0x5C, 0x42, - 0x18, 0xFE, 0xEB, 0x00, 0xFD, 0x0A, 0x03, 0x10, 0x08, 0x16, 0x0C, 0x18, 0x0E, 0x19, 0x0C, 0x1A, - 0x12, 0x1D, 0x16, 0x16, 0x03, 0xF9, 0xEF, 0xD9, 0xCA, 0xE3, 0xF8, 0x1A, 0x02, 0xFE, 0x03, 0xF9, - 0xE4, 0x7F, 0x6B, 0x17, 0xEA, 0x1D, 0x15, 0x07, 0xF3, 0xE4, 0xEC, 0xFF, 0x06, 0x12, 0x0C, 0x1C, - 0x0D, 0xE8, 0xC0, 0xAD, 0xB5, 0xF2, 0x10, 0x2A, 0x3E, 0x5A, 0x5D, 0x4B, 0x2C, 0x0E, 0xF4, 0x05, - 0xFC, 0x0B, 0x03, 0x12, 0x09, 0x14, 0x09, 0x18, 0x0E, 0x1A, 0x0E, 0x18, 0x12, 0x20, 0x11, 0x0B, - 0xF7, 0xF2, 0xDE, 0xD3, 0xC8, 0xE3, 0xF5, 0x15, 0x05, 0x00, 0x06, 0xFC, 0xE9, 0x7F, 0x76, 0x1D, - 0xEB, 0x26, 0x21, 0x0D, 0xFE, 0xED, 0xEF, 0xFF, 0x06, 0x14, 0x10, 0x20, 0x09, 0xE1, 0xB9, 0xA7, - 0xB4, 0xEF, 0x0D, 0x27, 0x3D, 0x5A, 0x5C, 0x4D, 0x2A, 0x11, 0xF6, 0x03, 0xFE, 0x0B, 0x04, 0x14, - 0x09, 0x17, 0x08, 0x17, 0x0D, 0x17, 0x0D, 0x1C, 0x12, 0x20, 0x18, 0x13, 0xFE, 0xF8, 0xE5, 0xD8, - 0xCA, 0xE3, 0xF8, 0x19, 0x02, 0xFE, 0x03, 0xF9, 0xE6, 0x7F, 0x70, 0x19, 0x25, 0x4A, 0x3F, 0x2E, - 0x14, 0x01, 0x02, 0x07, 0x08, 0x14, 0x13, 0x27, 0x12, 0xDC, 0xB3, 0x9F, 0xAB, 0xEE, 0x0B, 0x27, - 0x3A, 0x58, 0x5D, 0x54, 0x36, 0x1B, 0xFF, 0x07, 0xFF, 0x0B, 0x02, 0x0E, 0x07, 0x16, 0x0A, 0x18, - 0x0F, 0x1B, 0x11, 0x1A, 0x12, 0x18, 0x08, 0x07, 0xF8, 0xF3, 0xE0, 0xD4, 0xCC, 0xEB, 0xF9, 0x16, - 0x03, 0x00, 0x05, 0xFC, 0xEA, 0x7F, 0x74, 0x1E, 0x22, 0x46, 0x39, 0x25, 0x0A, 0xEF, 0xEC, 0xF8, - 0x07, 0x1B, 0x17, 0x28, 0x0F, 0xDD, 0xB2, 0x99, 0xAA, 0xEC, 0x0F, 0x27, 0x3D, 0x59, 0x5E, 0x55, - 0x32, 0x14, 0xFE, 0x07, 0xFF, 0x0E, 0x04, 0x10, 0x07, 0x16, 0x07, 0x16, 0x0D, 0x1D, 0x10, 0x1E, - 0x10, 0x19, 0x08, 0x08, 0xF9, 0xF7, 0xE6, 0xDA, 0xD3, 0xEA, 0xFA, 0x16, 0x01, 0xFD, 0x03, 0xF8, - 0xE7, 0x7F, 0x70, 0x19, 0x28, 0x4C, 0x42, 0x30, 0x19, 0x06, 0x03, 0x06, 0x04, 0x0E, 0x0C, 0x25, - 0x11, 0xDE, 0xB3, 0x97, 0xA1, 0xE9, 0x0B, 0x27, 0x38, 0x55, 0x5E, 0x5E, 0x3E, 0x24, 0x09, 0x0A, - 0x00, 0x0A, 0x01, 0x0F, 0x06, 0x10, 0x0B, 0x19, 0x0D, 0x1A, 0x12, 0x1D, 0x10, 0x15, 0x02, 0x01, - 0xF8, 0xF7, 0xE7, 0xDF, 0xE0, 0xF3, 0xFF, 0x18, 0x04, 0x01, 0x05, 0xFC, 0xEB, 0x7F, 0x78, 0x3D, - 0x27, 0x4D, 0x42, 0x30, 0x17, 0x03, 0xF6, 0xFE, 0x02, 0x0C, 0x0D, 0x24, 0x0D, 0xDA, 0xB5, 0x95, - 0xA5, 0xEA, 0x0A, 0x2B, 0x37, 0x53, 0x5E, 0x62, 0x40, 0x25, 0x07, 0x0B, 0xFE, 0x0B, 0x05, 0x0D, - 0x05, 0x14, 0x0A, 0x17, 0x0D, 0x1A, 0x13, 0x20, 0x11, 0x14, 0x05, 0x08, 0xFA, 0xFB, 0xE6, 0xE8, - 0xE3, 0xF4, 0xFF, 0x17, 0x00, 0xFD, 0x02, 0xF9, 0xE7, 0x7F, 0x75, 0x1F, 0x2D, 0x4D, 0x3F, 0x2D, - 0x13, 0x01, 0xFF, 0x0B, 0x06, 0x0F, 0x12, 0x28, 0x0B, 0xD3, 0xB1, 0x98, 0x9E, 0xE9, 0x0A, 0x26, - 0x37, 0x55, 0x59, 0x61, 0x41, 0x28, 0x0F, 0x0C, 0x00, 0x0D, 0x07, 0x12, 0x09, 0x13, 0x0B, 0x16, - 0x0D, 0x1C, 0x13, 0x1E, 0x10, 0x11, 0x01, 0x00, 0xFC, 0xFB, 0xEA, 0xE3, 0xE1, 0xF3, 0xFE, 0x17, - 0x04, 0x02, 0x06, 0xFC, 0xE9, 0x7F, 0x76, 0x1D, 0x2E, 0x51, 0x44, 0x31, 0x16, 0x03, 0xFF, 0x02, - 0xFF, 0x0C, 0x0B, 0x26, 0x0E, 0xD9, 0xB2, 0x94, 0xA1, 0xEA, 0x0A, 0x27, 0x37, 0x52, 0x58, 0x5A, - 0x3E, 0x27, 0x0C, 0x0E, 0xFE, 0x0B, 0x03, 0x11, 0x07, 0x14, 0x08, 0x13, 0x0B, 0x1B, 0x11, 0x22, - 0x0F, 0x11, 0x00, 0x05, 0xFB, 0xFD, 0xED, 0xE8, 0xE2, 0xFB, 0xF9, 0x17, 0x00, 0xFC, 0x02, 0xF9, - 0xE5, 0x7F, 0x73, 0x1A, 0x27, 0x4D, 0x3F, 0x2B, 0x0F, 0xFD, 0x00, 0x0E, 0x0A, 0x18, 0x13, 0x25, - 0x0F, 0xDB, 0xB1, 0x99, 0xA2, 0xE9, 0x0B, 0x26, 0x36, 0x52, 0x58, 0x60, 0x47, 0x2C, 0x0D, 0x0C, - 0x03, 0x10, 0x09, 0x14, 0x08, 0x12, 0x08, 0x15, 0x0A, 0x1A, 0x11, 0x1B, 0x0E, 0x10, 0x00, 0x05, - 0xFC, 0xFE, 0xEC, 0xE5, 0xDF, 0xF3, 0xFD, 0x18, 0x07, 0x04, 0x07, 0xFC, 0xE9, 0x7F, 0x73, 0x1D, - 0x2C, 0x55, 0x47, 0x2F, 0x13, 0xFD, 0xFD, 0x03, 0x02, 0x0B, 0x08, 0x22, 0x0E, 0xDB, 0xB6, 0x98, - 0xA4, 0xEB, 0x09, 0x26, 0x35, 0x50, 0x55, 0x5A, 0x3F, 0x25, 0x0E, 0x0D, 0x02, 0x0F, 0x09, 0x12, - 0x09, 0x14, 0x06, 0x15, 0x0B, 0x1A, 0x0F, 0x1E, 0x11, 0x12, 0x04, 0x09, 0x00, 0x02, 0xEE, 0xE7, - 0xDE, 0xF2, 0x00, 0x17, 0x02, 0xFF, 0x03, 0xF9, 0xE4, 0x7F, 0x71, 0x1C, 0x3B, 0x6C, 0x54, 0x39, - 0x22, 0x07, 0x04, 0x0B, 0x06, 0x10, 0x13, 0x28, 0x10, 0xDC, 0xB5, 0x9B, 0xA4, 0xE8, 0x09, 0x23, - 0x31, 0x4D, 0x50, 0x5C, 0x42, 0x30, 0x11, 0x0E, 0x05, 0x11, 0x06, 0x14, 0x0A, 0x13, 0x0A, 0x14, - 0x0A, 0x19, 0x11, 0x1C, 0x0B, 0x0D, 0xFB, 0x04, 0xFE, 0x01, 0xEF, 0xE6, 0xE0, 0xFA, 0xFF, 0x17, - 0x03, 0x02, 0x06, 0xFB, 0xE8, 0x7F, 0x71, 0x1A, 0x5D, 0x77, 0x5C, 0x3E, 0x25, 0x07, 0xFE, 0x00, - 0xFF, 0x0B, 0x0B, 0x23, 0x12, 0xE0, 0xB7, 0x9B, 0xA6, 0xEC, 0x08, 0x23, 0x30, 0x49, 0x4E, 0x54, - 0x3D, 0x28, 0x11, 0x0C, 0x03, 0x13, 0x08, 0x16, 0x0A, 0x12, 0x09, 0x14, 0x0C, 0x1A, 0x10, 0x1C, - 0x0C, 0x0E, 0xFE, 0x0A, 0x04, 0x05, 0xF3, 0xED, 0xE6, 0xF8, 0x00, 0x17, 0x01, 0xFF, 0x05, 0xF8, - 0xE6, 0x7F, 0x6B, 0x18, 0x7F, 0x7E, 0x64, 0x46, 0x28, 0x09, 0x06, 0x0C, 0x02, 0x10, 0x12, 0x25, - 0x0D, 0xDC, 0xB2, 0x9D, 0xAA, 0xEA, 0x07, 0x21, 0x2C, 0x46, 0x48, 0x5C, 0x46, 0x3B, 0x1C, 0x11, - 0x03, 0x12, 0x07, 0x13, 0x09, 0x13, 0x07, 0x14, 0x06, 0x0F, 0x02, 0x0D, 0x01, 0x09, 0xFF, 0x0B, - 0x09, 0x0B, 0xF8, 0xEF, 0xE3, 0xF9, 0x00, 0x1B, 0x05, 0x03, 0x06, 0xFC, 0xEA, 0x7F, 0x6E, 0x1C, - 0x7F, 0x7F, 0x6A, 0x4A, 0x2A, 0x08, 0xFC, 0xFE, 0xFF, 0x09, 0x0D, 0x20, 0x0C, 0xDE, 0xAF, 0x9F, - 0xAC, 0xEB, 0x06, 0x1F, 0x2B, 0x40, 0x45, 0x53, 0x45, 0x35, 0x17, 0x0B, 0x06, 0x13, 0x09, 0x15, - 0x07, 0x13, 0x08, 0x12, 0x05, 0x0F, 0x02, 0x0D, 0x02, 0x0C, 0x04, 0x12, 0x10, 0x0D, 0xFB, 0xF6, - 0xE9, 0xFD, 0x03, 0x1B, 0x05, 0x02, 0x08, 0xFA, 0xE9, 0x7F, 0x6E, 0x19, 0x4E, 0x79, 0x57, 0x34, - 0x16, 0xFA, 0xFE, 0x0A, 0x04, 0x15, 0x13, 0x1A, 0xFA, 0xD5, 0xAD, 0xA1, 0xAF, 0xEA, 0x07, 0x1E, - 0x25, 0x3C, 0x3B, 0x4A, 0x38, 0x35, 0x20, 0x16, 0x08, 0x16, 0x08, 0x14, 0x07, 0x0B, 0xFC, 0x06, - 0xFB, 0x07, 0x01, 0x0F, 0x06, 0x12, 0x0A, 0x1B, 0x17, 0x1F, 0x0E, 0x02, 0xEE, 0xF7, 0xFC, 0x15, - 0x03, 0x00, 0x05, 0xFB, 0xE8, 0x7F, 0x6A, 0x19, 0x7F, 0x7E, 0x5D, 0x37, 0x15, 0xF3, 0xF2, 0xFF, - 0xFE, 0x0F, 0x10, 0x16, 0xF7, 0xD9, 0xB1, 0xA6, 0xB3, 0xED, 0x07, 0x1C, 0x20, 0x35, 0x31, 0x41, - 0x2F, 0x32, 0x15, 0x12, 0x07, 0x14, 0x08, 0x11, 0x08, 0x0B, 0xFC, 0x05, 0xFD, 0x07, 0x02, 0x14, - 0x08, 0x16, 0x0E, 0x21, 0x1B, 0x26, 0x17, 0x06, 0xEE, 0xFB, 0xFF, 0x1A, 0x04, 0x02, 0x08, 0xFA, - 0xEA, 0x7F, 0x6B, 0x1B, 0x58, 0x70, 0x4F, 0x2D, 0x0F, 0xF3, 0xF9, 0x06, 0xFE, 0x0E, 0x09, 0x0C, - 0xEA, 0xC1, 0x9E, 0xA3, 0xB6, 0xEC, 0x03, 0x1A, 0x21, 0x2E, 0x25, 0x32, 0x22, 0x23, 0x13, 0x11, - 0x05, 0x10, 0x09, 0x15, 0x08, 0x0B, 0xFC, 0x05, 0xFB, 0x09, 0x05, 0x14, 0x0E, 0x1D, 0x19, 0x26, - 0x2C, 0x37, 0x2A, 0x14, 0xF9, 0xFF, 0xFC, 0x16, 0x04, 0x01, 0x04, 0xF9, 0xE4, 0x7F, 0x67, 0x3F, - 0x59, 0x74, 0x55, 0x2E, 0x0E, 0xEF, 0xED, 0xFD, 0xF5, 0x0B, 0x0A, 0x05, 0xE7, 0xBE, 0x9E, 0xA4, - 0xBB, 0xEB, 0x03, 0x1B, 0x1C, 0x27, 0x1D, 0x22, 0x15, 0x17, 0x06, 0x0D, 0x02, 0x10, 0x05, 0x11, - 0x04, 0x0A, 0xFE, 0x06, 0xFE, 0x0A, 0x06, 0x17, 0x10, 0x24, 0x21, 0x33, 0x35, 0x3E, 0x30, 0x1A, - 0x01, 0x03, 0xFD, 0x17, 0x07, 0x06, 0x08, 0xFB, 0xE9, 0x7F, 0x6B, 0x1B, 0x59, 0x76, 0x54, 0x2F, - 0x0F, 0xF2, 0xF8, 0x06, 0xFF, 0x13, 0x0A, 0xF3, 0xD1, 0xAD, 0x90, 0xA9, 0xBC, 0xEB, 0x02, 0x18, - 0x16, 0x1C, 0x09, 0x11, 0x03, 0x0E, 0xFE, 0x09, 0x02, 0x0D, 0x06, 0x0E, 0x06, 0x0C, 0x00, 0x08, - 0x00, 0x0C, 0x09, 0x1A, 0x15, 0x2C, 0x2E, 0x3D, 0x35, 0x22, 0x0E, 0x02, 0xF9, 0x13, 0x0E, 0x1B, - 0xFA, 0xF7, 0x02, 0xFA, 0xE8, 0x7F, 0x69, 0x19, 0x5A, 0x79, 0x55, 0x30, 0x0D, 0xF2, 0xF2, 0x01, - 0xF8, 0x0B, 0x04, 0xEE, 0xC9, 0xA7, 0x95, 0xAD, 0xC7, 0xEC, 0x02, 0x18, 0x13, 0x0F, 0xFA, 0xFB, - 0xEE, 0xFE, 0xF7, 0x05, 0x00, 0x0B, 0x02, 0x0E, 0x01, 0x0A, 0x00, 0x09, 0x02, 0x12, 0x0C, 0x1B, - 0x1C, 0x33, 0x3A, 0x47, 0x44, 0x37, 0x18, 0x0D, 0x03, 0x14, 0x14, 0x1E, 0xFE, 0xFC, 0x08, 0xFD, - 0xEB, 0x7F, 0x6C, 0x1A, 0x7F, 0x7E, 0x5B, 0x32, 0x0E, 0xEF, 0xF4, 0x01, 0xF9, 0x05, 0xEE, 0xD5, - 0xB2, 0x9C, 0x97, 0xBD, 0xD2, 0xF2, 0x03, 0x17, 0x0E, 0x09, 0xEF, 0xE7, 0xD9, 0xEF, 0xE8, 0xFE, - 0xFB, 0x07, 0x02, 0x0E, 0x02, 0x09, 0x01, 0x0B, 0x01, 0x14, 0x0D, 0x1E, 0x1C, 0x38, 0x44, 0x58, - 0x53, 0x4F, 0x33, 0x17, 0x02, 0x0E, 0x0C, 0x1E, 0xFD, 0xFA, 0x03, 0xFB, 0xE8, 0x7F, 0x67, 0x3E, - 0x7F, 0x7F, 0x5B, 0x31, 0x0E, 0xED, 0xF2, 0x01, 0xF6, 0xFE, 0xF0, 0xD1, 0xAD, 0x99, 0x9F, 0xCC, - 0xDE, 0xF6, 0x02, 0x18, 0x0A, 0x00, 0xDE, 0xD8, 0xCC, 0xE4, 0xE8, 0xFE, 0xFB, 0x06, 0xFF, 0x0C, - 0x02, 0x0B, 0x00, 0x09, 0x06, 0x14, 0x0F, 0x20, 0x29, 0x3C, 0x4C, 0x64, 0x61, 0x58, 0x3D, 0x23, - 0x0C, 0x10, 0x0F, 0x1E, 0xFE, 0xFC, 0x06, 0xFA, 0xE9, 0x7F, 0x69, 0x19, 0x7F, 0x7F, 0x61, 0x38, - 0x13, 0xF2, 0xF7, 0x06, 0xFA, 0x00, 0xE5, 0xC2, 0x99, 0x95, 0xA1, 0xD8, 0xE7, 0xFD, 0x05, 0x16, - 0x06, 0xF6, 0xD2, 0xCA, 0xBD, 0xD1, 0xDD, 0xFA, 0xFB, 0x05, 0xFF, 0x0B, 0x01, 0x0B, 0x03, 0x0F, - 0x08, 0x18, 0x10, 0x1F, 0x28, 0x49, 0x4B, 0x4D, 0x3C, 0x32, 0x27, 0x37, 0x2B, 0x34, 0x21, 0x21, - 0x03, 0x00, 0x06, 0xFB, 0xE8, 0x7F, 0x6D, 0x1C, 0x7F, 0x7F, 0x63, 0x3A, 0x15, 0xF2, 0xF8, 0x07, - 0xF9, 0xFB, 0xE1, 0xB8, 0x93, 0x8F, 0xA4, 0xE4, 0xF2, 0x01, 0x00, 0x16, 0x04, 0xED, 0xC6, 0xB5, - 0xA9, 0xC8, 0xD7, 0xF5, 0xF7, 0x02, 0xFE, 0x0A, 0x01, 0x0D, 0x06, 0x12, 0x0D, 0x1B, 0x13, 0x22, - 0x2C, 0x4C, 0x51, 0x52, 0x46, 0x3D, 0x30, 0x3D, 0x33, 0x34, 0x21, 0x20, 0x03, 0x00, 0x06, 0xF9, - 0xE7, 0x7F, 0x6B, 0x19, 0x62, 0x7B, 0x56, 0x2E, 0x0B, 0xF1, 0xF3, 0x05, 0xF7, 0xF4, 0xDA, 0xAA, - 0x82, 0x87, 0xA7, 0xE5, 0xF9, 0x04, 0x01, 0x17, 0x02, 0xE7, 0xBC, 0xA9, 0x9C, 0xBE, 0xD1, 0xF3, - 0xF4, 0x01, 0xFD, 0x09, 0x02, 0x0E, 0x09, 0x14, 0x0F, 0x1E, 0x16, 0x24, 0x2D, 0x50, 0x56, 0x4E, - 0x40, 0x36, 0x29, 0x39, 0x38, 0x3D, 0x26, 0x20, 0x07, 0x05, 0x07, 0xFB, 0xE6, 0x7F, 0x70, 0x1C, - 0x63, 0x7B, 0x57, 0x2F, 0x0C, 0xEF, 0xF6, 0x05, 0xF8, 0xF6, 0xD6, 0xA7, 0x80, 0x84, 0xA6, 0xEB, - 0xFD, 0x06, 0x01, 0x17, 0x01, 0xE2, 0xB7, 0xA2, 0x98, 0xBC, 0xCF, 0xF1, 0xF4, 0x02, 0xFD, 0x09, - 0x03, 0x0F, 0x09, 0x17, 0x11, 0x1F, 0x18, 0x25, 0x2E, 0x52, 0x5A, 0x54, 0x42, 0x3A, 0x2D, 0x40, - 0x37, 0x39, 0x24, 0x20, 0x07, 0x04, 0x07, 0xF8, 0xE3, 0x7F, 0x70, 0x1B, 0x7F, 0x7F, 0x5D, 0x35, - 0x0F, 0xED, 0xEC, 0x00, 0xF5, 0xF0, 0xD2, 0xA0, 0x80, 0x86, 0xA8, 0xEB, 0xFD, 0x05, 0x02, 0x17, - 0x01, 0xE3, 0xB8, 0xA2, 0x97, 0xBB, 0xCF, 0xF1, 0xF4, 0x02, 0xFE, 0x0C, 0x04, 0x11, 0x0B, 0x19, - 0x11, 0x20, 0x18, 0x25, 0x2E, 0x52, 0x57, 0x4D, 0x38, 0x31, 0x29, 0x3D, 0x2F, 0x31, 0x19, 0x18, - 0xE4, 0xE0, 0xFD, 0xFC, 0xEB, 0x7F, 0x78, 0x1C, 0x7F, 0x7F, 0x62, 0x37, 0x11, 0xEF, 0xF2, 0x01, - 0xF6, 0xEF, 0xD0, 0xA5, 0x80, 0x84, 0xA6, 0xE6, 0xFB, 0x05, 0x02, 0x17, 0x04, 0xE8, 0xBD, 0xA9, - 0x9D, 0xBE, 0xD0, 0xF3, 0xF6, 0x03, 0xFF, 0x0E, 0x07, 0x12, 0x0D, 0x19, 0x12, 0x21, 0x18, 0x25, - 0x2F, 0x51, 0x55, 0x4B, 0x35, 0x30, 0x2C, 0x3A, 0x2D, 0x2F, 0x1A, 0x18, 0xE1, 0xDE, 0xFB, 0xF7, - 0xE8, 0x7F, 0x7D, 0x1E, 0x7F, 0x7F, 0x62, 0x2E, 0x01, 0xDE, 0xEC, 0x05, 0xF5, 0xE7, 0xCE, 0xA4, - 0x80, 0x8B, 0xA8, 0xE2, 0xF4, 0x00, 0x06, 0x1A, 0x05, 0xF0, 0xC8, 0xB6, 0xA9, 0xC7, 0xD8, 0xF7, - 0xF8, 0x05, 0x02, 0x0F, 0x08, 0x14, 0x0E, 0x18, 0x11, 0x20, 0x17, 0x25, 0x23, 0x33, 0x35, 0x49, - 0x51, 0x55, 0x45, 0x3E, 0x2A, 0x2D, 0x1A, 0x1D, 0x05, 0x06, 0x07, 0xFC, 0xE4, 0xCF, 0x7A, 0x1D, - 0x7F, 0x7F, 0x57, 0x31, 0x04, 0xE0, 0xEB, 0x06, 0xF4, 0xED, 0xCE, 0xA9, 0x8A, 0x90, 0xA7, 0xDA, - 0xEA, 0xFC, 0x06, 0x1B, 0x09, 0xFA, 0xD9, 0xCB, 0xBB, 0xD1, 0xE2, 0xFA, 0xFF, 0x08, 0x02, 0x11, - 0x0A, 0x16, 0x0D, 0x17, 0x11, 0x1E, 0x15, 0x23, 0x20, 0x31, 0x30, 0x41, 0x4A, 0x50, 0x3B, 0x32, - 0x26, 0x2D, 0x16, 0x1B, 0x05, 0x04, 0x08, 0xF6, 0xE1, 0xCC, 0x7A, 0x1E, 0x7F, 0x7E, 0x60, 0x2D, - 0x00, 0xDE, 0xE1, 0x01, 0xF7, 0xEA, 0xD5, 0xB6, 0x95, 0x99, 0xA5, 0xCA, 0xDE, 0xF7, 0x05, 0x1A, - 0x0C, 0x06, 0xE9, 0xDA, 0xCF, 0xE7, 0xED, 0x01, 0xFF, 0x0D, 0x06, 0x13, 0x09, 0x15, 0x0C, 0x18, - 0x0F, 0x1D, 0x12, 0x22, 0x29, 0x3F, 0x4D, 0x5C, 0x54, 0x49, 0x31, 0x35, 0x2B, 0x2F, 0x1F, 0x1B, - 0x00, 0xFF, 0x06, 0xFB, 0xE5, 0xCF, 0x7F, 0x21, 0x7F, 0x7F, 0x53, 0x2F, 0x01, 0xDE, 0xE0, 0xFF, - 0xF8, 0xF1, 0xDA, 0xC0, 0xA0, 0x9C, 0x9E, 0xC4, 0xD7, 0xF4, 0x05, 0x1B, 0x10, 0x0C, 0xF3, 0xEE, - 0xDD, 0xEE, 0xF2, 0x06, 0x04, 0x0C, 0x05, 0x15, 0x0A, 0x18, 0x0A, 0x13, 0x0D, 0x1E, 0x14, 0x21, - 0x26, 0x3B, 0x45, 0x56, 0x48, 0x3F, 0x25, 0x2A, 0x23, 0x30, 0x1C, 0x1A, 0xFD, 0xFD, 0x05, 0xF9, - 0xE2, 0xCD, 0x7F, 0x20, 0x7F, 0x7F, 0x64, 0x2A, 0xF9, 0xD7, 0xE7, 0x04, 0xF5, 0xEB, 0xD6, 0xC2, - 0xA6, 0xA1, 0x9D, 0xBA, 0xCC, 0xF2, 0x03, 0x19, 0x15, 0x12, 0xFF, 0x00, 0xF3, 0x00, 0xFC, 0x0B, - 0x06, 0x0F, 0x0C, 0x15, 0x0D, 0x17, 0x0B, 0x16, 0x0E, 0x1A, 0x0F, 0x20, 0x1E, 0x35, 0x41, 0x57, - 0x52, 0x4D, 0x38, 0x28, 0x14, 0x17, 0x0D, 0x18, 0x03, 0x05, 0x0A, 0xFB, 0xE3, 0xCC, 0x7F, 0x00, - 0x7F, 0x7F, 0x54, 0x2D, 0xFB, 0xD6, 0xDF, 0x03, 0xF6, 0xF2, 0xDD, 0xCC, 0xB0, 0xA9, 0x9A, 0xB3, - 0xC4, 0xF0, 0x05, 0x1B, 0x1B, 0x1D, 0x0D, 0x11, 0x01, 0x0F, 0x00, 0x10, 0x08, 0x12, 0x0A, 0x17, - 0x0E, 0x17, 0x09, 0x15, 0x0D, 0x1A, 0x10, 0x1F, 0x1D, 0x33, 0x35, 0x47, 0x45, 0x40, 0x2B, 0x1B, - 0x11, 0x12, 0x09, 0x16, 0x01, 0x02, 0x06, 0xF8, 0xE1, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x59, 0x27, - 0x0B, 0xE7, 0xEE, 0x04, 0xF8, 0xF2, 0xE4, 0xCF, 0xB6, 0xAD, 0x9B, 0xAB, 0xC2, 0xED, 0x04, 0x19, - 0x1F, 0x27, 0x1D, 0x24, 0x13, 0x18, 0x0B, 0x12, 0x0B, 0x12, 0x0F, 0x19, 0x10, 0x16, 0x0B, 0x13, - 0x0B, 0x18, 0x11, 0x1F, 0x19, 0x2A, 0x2D, 0x3B, 0x3D, 0x41, 0x31, 0x18, 0x00, 0x05, 0x02, 0x19, - 0x05, 0x05, 0x07, 0xFB, 0xE3, 0xCF, 0x7F, 0x00, 0x7F, 0x7F, 0x5A, 0x29, 0x0E, 0xE7, 0xEF, 0x05, - 0xF5, 0xFA, 0xE3, 0xD8, 0xC0, 0xB4, 0x99, 0xA9, 0xBE, 0xEE, 0x04, 0x19, 0x1E, 0x2F, 0x24, 0x2F, - 0x1E, 0x22, 0x11, 0x15, 0x0A, 0x15, 0x0E, 0x18, 0x10, 0x19, 0x0C, 0x10, 0x0C, 0x18, 0x11, 0x1D, - 0x16, 0x27, 0x26, 0x35, 0x34, 0x3C, 0x23, 0x11, 0xF8, 0x05, 0x01, 0x18, 0x04, 0x03, 0x07, 0xF9, - 0xE3, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x5D, 0x2F, 0x0B, 0xEE, 0xF3, 0x05, 0xF9, 0xFB, 0xEC, 0xDC, - 0xC7, 0xB9, 0x9D, 0xA6, 0xBB, 0xEC, 0x06, 0x1A, 0x22, 0x34, 0x30, 0x3B, 0x30, 0x2A, 0x1A, 0x18, - 0x0D, 0x16, 0x0F, 0x1D, 0x0F, 0x16, 0x0A, 0x13, 0x09, 0x18, 0x0F, 0x1C, 0x13, 0x23, 0x21, 0x2D, - 0x29, 0x2D, 0x18, 0x06, 0xF2, 0x02, 0x01, 0x16, 0x04, 0x04, 0x07, 0xFA, 0xE3, 0x7F, 0x7F, 0x00, - 0x7F, 0x7F, 0x5E, 0x30, 0x0C, 0xEE, 0xF4, 0x07, 0xFA, 0xFF, 0xF1, 0xE7, 0xCB, 0xBC, 0x9F, 0xA8, - 0xB9, 0xEE, 0x05, 0x1B, 0x23, 0x38, 0x38, 0x46, 0x37, 0x33, 0x1B, 0x1A, 0x0E, 0x1B, 0x12, 0x1D, - 0x14, 0x18, 0x0C, 0x0F, 0x09, 0x17, 0x0F, 0x1B, 0x12, 0x1E, 0x1A, 0x27, 0x22, 0x24, 0x10, 0x04, - 0xEB, 0xFF, 0xFE, 0x19, 0x04, 0x05, 0x09, 0xFB, 0xE5, 0x7F, 0x7F, 0x20, 0x7F, 0x7F, 0x5F, 0x34, - 0x10, 0xEF, 0xF5, 0x05, 0xFB, 0x00, 0xF2, 0xEE, 0xD4, 0xBC, 0x9F, 0xA5, 0xB6, 0xEF, 0x05, 0x1A, - 0x24, 0x3D, 0x42, 0x4E, 0x3B, 0x38, 0x24, 0x1B, 0x0E, 0x19, 0x10, 0x1E, 0x12, 0x17, 0x0B, 0x12, - 0x0B, 0x1A, 0x0D, 0x1C, 0x10, 0x1C, 0x12, 0x20, 0x1C, 0x19, 0x09, 0xFD, 0xF1, 0xFF, 0x00, 0x16, - 0x04, 0x04, 0x07, 0xFA, 0xE3, 0x7F, 0x7E, 0x1F, 0x7F, 0x7F, 0x5E, 0x34, 0x10, 0xEF, 0xF4, 0x05, - 0xFC, 0x03, 0xF5, 0xED, 0xD6, 0xC2, 0x9C, 0xA6, 0xB7, 0xEC, 0x05, 0x1C, 0x27, 0x3E, 0x42, 0x53, - 0x44, 0x3E, 0x26, 0x1C, 0x0E, 0x1A, 0x13, 0x1E, 0x14, 0x1B, 0x0D, 0x13, 0x07, 0x17, 0x0F, 0x1C, - 0x0F, 0x18, 0x10, 0x1D, 0x18, 0x15, 0x03, 0xF8, 0xEB, 0x00, 0x03, 0x17, 0x06, 0x08, 0x09, 0xFB, - 0xE8, 0x7F, 0x7F, 0x1F, 0x7F, 0x7C, 0x5A, 0x26, 0xF9, 0xD5, 0xDE, 0x01, 0xFD, 0x06, 0xF8, 0xF7, - 0xD9, 0xC0, 0x9F, 0xA5, 0xB6, 0xEE, 0x06, 0x1B, 0x27, 0x43, 0x4C, 0x5A, 0x48, 0x41, 0x2C, 0x21, - 0x0F, 0x19, 0x12, 0x1E, 0x13, 0x18, 0x0A, 0x12, 0x0C, 0x18, 0x10, 0x18, 0x0E, 0x13, 0x0D, 0x16, - 0x13, 0x14, 0xFF, 0xF9, 0xEC, 0x00, 0x00, 0x16, 0x01, 0x00, 0x05, 0xF6, 0xE4, 0x7F, 0x7D, 0x3C, - 0x7F, 0x78, 0x58, 0x24, 0xF8, 0xD8, 0xE1, 0x01, 0xFC, 0x06, 0xFB, 0xF5, 0xDC, 0xBE, 0x9F, 0xA2, - 0xB6, 0xEE, 0x06, 0x1E, 0x29, 0x46, 0x4A, 0x61, 0x4E, 0x46, 0x2A, 0x1E, 0x0E, 0x17, 0x0E, 0x1C, - 0x0F, 0x1B, 0x0C, 0x14, 0x08, 0x17, 0x0F, 0x18, 0x0D, 0x12, 0x09, 0x15, 0x10, 0x10, 0xFE, 0xF7, - 0xEC, 0xFF, 0x03, 0x17, 0x04, 0x07, 0x0A, 0xFB, 0xEA, 0x7F, 0x7B, 0x3C, 0x7F, 0x7F, 0x5D, 0x32, - 0x0E, 0xEC, 0xF2, 0x03, 0xFA, 0x02, 0xF9, 0xFB, 0xDE, 0xC3, 0x9D, 0xA2, 0xB4, 0xEC, 0x06, 0x1D, - 0x2B, 0x49, 0x51, 0x60, 0x52, 0x4B, 0x30, 0x21, 0x0F, 0x1A, 0x0F, 0x1E, 0x13, 0x18, 0x0B, 0x11, - 0x0B, 0x17, 0x0D, 0x16, 0x0A, 0x0E, 0x04, 0x10, 0x0F, 0x15, 0x06, 0xFC, 0xEC, 0xFF, 0x02, 0x18, - 0x03, 0xFF, 0x02, 0xF6, 0xE3, 0x7F, 0x77, 0x1D, 0x7F, 0x7F, 0x5C, 0x30, 0x0E, 0xEE, 0xF6, 0x06, - 0xFB, 0x05, 0xF9, 0xF9, 0xE3, 0xC1, 0x9D, 0xA2, 0xB4, 0xED, 0x06, 0x1E, 0x2B, 0x4A, 0x56, 0x66, - 0x57, 0x4A, 0x30, 0x1D, 0x10, 0x1A, 0x0F, 0x1B, 0x11, 0x1C, 0x0B, 0x11, 0x08, 0x18, 0x0C, 0x16, - 0x08, 0x0F, 0x01, 0x0E, 0x0A, 0x11, 0x01, 0xFA, 0xEE, 0xFC, 0x03, 0x1C, 0x08, 0x09, 0x0A, 0xFC, - 0xEC, 0x7F, 0x76, 0x3B, 0x7F, 0x7F, 0x56, 0x28, 0x0D, 0xEA, 0xEE, 0x01, 0xF7, 0x01, 0xF8, 0xFC, - 0xDE, 0xC2, 0x9F, 0xA3, 0xB3, 0xEC, 0x04, 0x1D, 0x2C, 0x4D, 0x56, 0x6A, 0x5B, 0x4C, 0x2F, 0x21, - 0x10, 0x18, 0x0E, 0x1B, 0x0F, 0x15, 0x0B, 0x12, 0x0B, 0x16, 0x09, 0x14, 0x06, 0x0B, 0xFE, 0x09, - 0x0C, 0x1A, 0x0D, 0x0B, 0xF3, 0xFC, 0x00, 0x17, 0x01, 0xFE, 0x02, 0xF6, 0xE4, 0x7F, 0x6D, 0x1C, - 0x7F, 0x7E, 0x53, 0x25, 0x0C, 0xEE, 0xF7, 0x08, 0xFB, 0x02, 0xF7, 0xFB, 0xE0, 0xC2, 0x9E, 0xA2, - 0xB3, 0xEB, 0x06, 0x1F, 0x2B, 0x50, 0x60, 0x6B, 0x5B, 0x4C, 0x30, 0x20, 0x0F, 0x16, 0x0E, 0x1B, - 0x10, 0x18, 0x0A, 0x10, 0x09, 0x12, 0x08, 0x11, 0x06, 0x09, 0xFB, 0x08, 0x09, 0x15, 0x0C, 0x05, - 0xF2, 0xFC, 0x01, 0x1A, 0x08, 0x07, 0x0B, 0xFD, 0xED, 0x7F, 0x6E, 0x1C, 0x7F, 0x7D, 0x5F, 0x3D, - 0x1F, 0x00, 0xFC, 0x03, 0xFC, 0x05, 0xFA, 0xF8, 0xE0, 0xC1, 0x9E, 0xA3, 0xB4, 0xE8, 0x05, 0x1E, - 0x30, 0x50, 0x63, 0x6F, 0x63, 0x4E, 0x33, 0x1F, 0x0F, 0x17, 0x0C, 0x19, 0x0E, 0x14, 0x0A, 0x11, - 0x08, 0x12, 0x0A, 0x11, 0x05, 0x09, 0xF9, 0x03, 0x06, 0x1D, 0x15, 0x0D, 0xF7, 0x00, 0x01, 0x1C, - 0x04, 0xFE, 0x03, 0xF9, 0xE8, 0x7F, 0x7F, 0x3F, 0x60, 0x77, 0x5A, 0x38, 0x1F, 0x05, 0x07, 0x0D, - 0x03, 0x09, 0xF6, 0xF7, 0xDA, 0xC2, 0x9F, 0xA3, 0xB5, 0xED, 0x07, 0x21, 0x31, 0x54, 0x60, 0x71, - 0x61, 0x52, 0x32, 0x23, 0x10, 0x17, 0x0C, 0x17, 0x11, 0x15, 0x09, 0x11, 0x08, 0x10, 0x07, 0x10, - 0x02, 0x04, 0xF4, 0x01, 0x02, 0x19, 0x13, 0x0D, 0xF4, 0xFF, 0x03, 0x20, 0x0A, 0x07, 0x0A, 0xFF, - 0xEF, 0xDD, 0x7F, 0x40, 0x34, 0x4A, 0x3C, 0x26, 0x08, 0xF3, 0xF4, 0x02, 0xF8, 0xFC, 0xF4, 0xF4, - 0xD7, 0xBE, 0xA0, 0xA5, 0xB5, 0xED, 0x06, 0x21, 0x32, 0x56, 0x64, 0x75, 0x61, 0x4F, 0x32, 0x21, - 0x0D, 0x17, 0x0C, 0x19, 0x0C, 0x12, 0x08, 0x0F, 0x08, 0x0E, 0x04, 0x11, 0x02, 0x05, 0xF3, 0xFC, - 0x01, 0x1C, 0x19, 0x14, 0xFD, 0xFD, 0xF8, 0x19, 0x05, 0xFE, 0x03, 0xFA, 0xE9, 0xD9, 0x7F, 0x3F, - 0x00, 0x3C, 0x35, 0x20, 0x08, 0xF9, 0x02, 0x0D, 0xFF, 0x03, 0xF5, 0xF1, 0xD7, 0xC1, 0xA1, 0xA2, - 0xB5, 0xED, 0x09, 0x23, 0x35, 0x58, 0x67, 0x79, 0x63, 0x4F, 0x31, 0x24, 0x0F, 0x18, 0x0C, 0x17, - 0x0B, 0x0F, 0x08, 0x0E, 0x06, 0x0B, 0x03, 0x0D, 0x00, 0x01, 0xF0, 0xF8, 0xFB, 0x1B, 0x17, 0x0D, - 0xFC, 0xFF, 0x00, 0x1B, 0x0A, 0x06, 0x0A, 0xFE, 0xF1, 0xE0, 0x7F, 0x55, 0xFF, 0x40, 0x38, 0x25, - 0x0D, 0xFA, 0xFA, 0x00, 0xF9, 0xFE, 0xF2, 0xEF, 0xD6, 0xC0, 0x9F, 0xA8, 0xB8, 0xEE, 0x0A, 0x23, - 0x3B, 0x56, 0x66, 0x78, 0x62, 0x4F, 0x32, 0x21, 0x0D, 0x14, 0x0A, 0x18, 0x0D, 0x13, 0x08, 0x0E, - 0x08, 0x0E, 0x05, 0x0C, 0xFE, 0xFF, 0xEE, 0xF4, 0xF7, 0x16, 0x21, 0x14, 0x03, 0xFD, 0x00, 0x1A, - 0x04, 0xFB, 0x00, 0xF9, 0xE9, 0xDA, 0x7F, 0x39, 0xEA, 0x34, 0x30, 0x20, 0x0D, 0x00, 0x05, 0x0B, - 0x00, 0xFE, 0xF1, 0xEE, 0xD6, 0xC2, 0xA3, 0xA9, 0xB8, 0xF0, 0x0C, 0x26, 0x3E, 0x60, 0x68, 0x79, - 0x62, 0x4F, 0x32, 0x21, 0x0E, 0x15, 0x0C, 0x15, 0x0A, 0x13, 0x07, 0x0C, 0x04, 0x0C, 0x03, 0x0F, - 0xFD, 0xFB, 0xE8, 0xF0, 0xF0, 0x13, 0x1A, 0x10, 0xFD, 0xFD, 0x02, 0x20, 0x09, 0x05, 0x08, 0xFE, - 0xF0, 0xE2, 0x7F, 0x52, 0xF2, 0x2E, 0x2B, 0x1A, 0x06, 0xFA, 0xFA, 0x01, 0xFA, 0xFA, 0xEC, 0xED, - 0xD4, 0xC1, 0xA4, 0xAC, 0xBC, 0xF6, 0x0D, 0x29, 0x3E, 0x60, 0x68, 0x76, 0x62, 0x50, 0x2F, 0x20, - 0x0C, 0x14, 0x0C, 0x15, 0x0C, 0x14, 0x06, 0x0C, 0x04, 0x0D, 0x03, 0x0B, 0x00, 0xFA, 0xE7, 0xE7, - 0xE6, 0x0D, 0x17, 0x16, 0x07, 0x02, 0x00, 0x1B, 0x04, 0xFC, 0x01, 0xF8, 0xEA, 0xDC, 0x7F, 0x34, - 0xC9, 0x27, 0x25, 0x18, 0x09, 0x02, 0x06, 0x0A, 0xFE, 0xFB, 0xEF, 0xEE, 0xD5, 0xC2, 0xA4, 0xAE, - 0xC0, 0xF4, 0x0F, 0x2C, 0x42, 0x62, 0x69, 0x77, 0x65, 0x4E, 0x32, 0x1E, 0x0C, 0x16, 0x0A, 0x15, - 0x0A, 0x13, 0x06, 0x0F, 0x03, 0x0C, 0x03, 0x0C, 0xFD, 0xF9, 0xE0, 0xE1, 0xDF, 0x04, 0x0F, 0x0F, - 0xFF, 0x03, 0x05, 0x1D, 0x0B, 0x05, 0x09, 0x00, 0xF4, 0xE7, 0x7F, 0x4E, 0xEB, 0x37, 0x30, 0x1C, - 0x08, 0xFB, 0xFB, 0x04, 0xFF, 0xFF, 0xEF, 0xED, 0xD6, 0xC6, 0xAA, 0xB2, 0xC2, 0xF9, 0x13, 0x2C, - 0x44, 0x62, 0x68, 0x75, 0x5D, 0x4E, 0x2E, 0x1D, 0x0C, 0x15, 0x07, 0x16, 0x0A, 0x13, 0x04, 0x0A, - 0x03, 0x0D, 0x04, 0x0D, 0xFF, 0xF7, 0xE0, 0xD8, 0xDC, 0xFE, 0x0B, 0x11, 0x0B, 0x0D, 0x09, 0x21, - 0x08, 0xFB, 0xFF, 0xF6, 0xEB, 0xDF, 0x7F, 0x5C, 0xE9, 0x30, 0x2C, 0x1D, 0x0E, 0x02, 0x05, 0x0C, - 0x02, 0x01, 0xF1, 0xEF, 0xD6, 0xC8, 0xAA, 0xB8, 0xC7, 0xFB, 0x17, 0x32, 0x46, 0x64, 0x69, 0x75, - 0x5D, 0x4C, 0x2F, 0x1A, 0x0C, 0x14, 0x0B, 0x14, 0x0A, 0x15, 0x07, 0x0C, 0x05, 0x0D, 0x03, 0x0F, - 0xFE, 0xF0, 0xDD, 0xD8, 0xD3, 0xF6, 0x01, 0x08, 0x02, 0x0D, 0x0E, 0x24, 0x0C, 0x05, 0x08, 0x00, - 0xF6, 0xE9, 0x7F, 0x76, 0xBD, 0x26, 0x21, 0x11, 0x03, 0xF9, 0xF9, 0x01, 0xFB, 0xFB, 0xEC, 0xEC, - 0xD9, 0xCA, 0xAF, 0xB9, 0xD4, 0x00, 0x18, 0x35, 0x4A, 0x64, 0x65, 0x72, 0x5B, 0x49, 0x2B, 0x1D, - 0x0B, 0x14, 0x08, 0x16, 0x09, 0x12, 0x06, 0x0E, 0x02, 0x0E, 0x06, 0x12, 0x00, 0xF7, 0xDA, 0xCE, - 0xCE, 0xEF, 0xFC, 0x11, 0x0D, 0x16, 0x1B, 0x27, 0x09, 0xFA, 0xFF, 0xF8, 0xEC, 0xE0, 0x77, 0x51, - 0xBF, 0x1F, 0x1B, 0x0E, 0x03, 0xF9, 0xFD, 0x03, 0xFD, 0xFD, 0xEB, 0xF0, 0xDB, 0xCE, 0xB7, 0xC2, - 0xD5, 0x03, 0x20, 0x3C, 0x4C, 0x66, 0x67, 0x6F, 0x58, 0x45, 0x29, 0x1B, 0x09, 0x13, 0x09, 0x12, - 0x09, 0x13, 0x05, 0x0D, 0x06, 0x0F, 0x06, 0x12, 0x02, 0xF4, 0xDA, 0xD0, 0xCB, 0xE8, 0xFA, 0x07, - 0x0C, 0x16, 0x17, 0x26, 0x09, 0xFE, 0x04, 0x00, 0xF7, 0xED, 0x7B, 0x6A, 0xBC, 0x07, 0x05, 0xFB, - 0xF3, 0xEB, 0xF4, 0x05, 0x03, 0x05, 0xF5, 0xEF, 0xDB, 0xCE, 0xBA, 0xCA, 0xE1, 0x0E, 0x27, 0x40, - 0x52, 0x6A, 0x64, 0x6B, 0x4E, 0x3A, 0x1C, 0x0D, 0x01, 0x0F, 0x07, 0x13, 0x0B, 0x13, 0x08, 0x13, - 0x06, 0x0C, 0x01, 0x0A, 0xFC, 0x02, 0xED, 0xE0, 0xD4, 0xE8, 0xF4, 0x12, 0x1A, 0x25, 0x24, 0x28, - 0x0C, 0xFF, 0x02, 0xFA, 0xEE, 0xE1, 0xEE, 0x73, 0xAD, 0xF2, 0xF5, 0xF1, 0xE8, 0xE8, 0xF4, 0x04, - 0x03, 0x03, 0xF1, 0xF4, 0xDE, 0xD3, 0xC1, 0xCD, 0xE5, 0x14, 0x2F, 0x4B, 0x57, 0x69, 0x65, 0x68, - 0x48, 0x37, 0x16, 0x0E, 0x02, 0x10, 0x06, 0x14, 0x09, 0x14, 0x0C, 0x10, 0x07, 0x0C, 0xFF, 0x09, - 0x00, 0x04, 0xEE, 0xE1, 0xCE, 0xE4, 0xF0, 0x09, 0x19, 0x22, 0x19, 0x23, 0x05, 0xF9, 0x00, 0xFF, - 0xF7, 0xED, 0xFA, 0x7F, 0xE3, 0x18, 0x17, 0x0E, 0x04, 0xFF, 0xFD, 0x03, 0x01, 0x04, 0xF3, 0xF2, - 0xE1, 0xD7, 0xC8, 0xD7, 0xE8, 0x18, 0x2F, 0x53, 0x5B, 0x6D, 0x5D, 0x48, 0x24, 0x10, 0xFE, 0x07, - 0x04, 0x10, 0x0A, 0x10, 0x06, 0x0F, 0x07, 0x0D, 0x02, 0x09, 0x02, 0x0A, 0x03, 0x13, 0x0C, 0x07, - 0xF2, 0xF0, 0xEE, 0xF8, 0xFB, 0x0A, 0x12, 0x27, 0x0E, 0xFE, 0x01, 0xFD, 0xF1, 0xE6, 0xE9, 0x6A, - 0xBE, 0x07, 0x08, 0x04, 0x00, 0xFF, 0x02, 0x04, 0x02, 0x05, 0xF2, 0xF5, 0xE2, 0xDE, 0xCF, 0xD8, - 0xF0, 0x1D, 0x39, 0x58, 0x63, 0x6C, 0x58, 0x40, 0x23, 0x0B, 0xFA, 0x08, 0x03, 0x0F, 0x08, 0x0F, - 0x06, 0x0F, 0x07, 0x0F, 0x05, 0x0A, 0x01, 0x08, 0x06, 0x15, 0x0E, 0x09, 0xF0, 0xF1, 0xEA, 0xF6, - 0xF2, 0x02, 0x09, 0x1D, 0x02, 0xF3, 0xFB, 0x00, 0xF7, 0xF0, 0xFD, 0xE8, 0xCC, 0x04, 0xFC, 0xF8, - 0xF4, 0xF3, 0x01, 0x04, 0x02, 0x06, 0xF7, 0xF8, 0xE6, 0xE4, 0xD6, 0xE5, 0xF5, 0x21, 0x3D, 0x61, - 0x64, 0x56, 0x35, 0x16, 0xF6, 0xF9, 0xF6, 0x09, 0x05, 0x12, 0x0B, 0x12, 0x09, 0x0D, 0x04, 0x0B, - 0x02, 0x09, 0x03, 0x09, 0x08, 0x18, 0x13, 0x20, 0x17, 0x1C, 0x04, 0xDB, 0xC7, 0xD6, 0xF6, 0x1A, - 0x0B, 0xFD, 0x00, 0xFC, 0xF3, 0xE9, 0xEE, 0x5F, 0xB7, 0xE0, 0xE9, 0xEA, 0xEA, 0xF1, 0x06, 0x0D, - 0x0A, 0x08, 0xF9, 0xF9, 0xE7, 0xE8, 0xDB, 0xE8, 0xFA, 0x26, 0x44, 0x68, 0x6B, 0x52, 0x2F, 0x0F, - 0xEF, 0xF3, 0xF2, 0x06, 0x03, 0x10, 0x09, 0x12, 0x07, 0x0D, 0x03, 0x0B, 0x03, 0x0A, 0x03, 0x0D, - 0x08, 0x19, 0x17, 0x24, 0x19, 0x1E, 0x03, 0xDA, 0xC4, 0xD1, 0xE7, 0x10, 0xFA, 0xED, 0xF6, 0xF7, - 0xF4, 0xEE, 0xF9, 0x5D, 0xB8, 0xDF, 0xE4, 0xE5, 0xE4, 0xEB, 0xFF, 0x05, 0x06, 0x0A, 0xFA, 0xF9, - 0xE7, 0xEC, 0xDE, 0xEB, 0xFB, 0x28, 0x46, 0x63, 0x58, 0x2C, 0x07, 0xEE, 0xE0, 0xF3, 0xFA, 0x0D, - 0x09, 0x14, 0x0D, 0x12, 0x09, 0x0F, 0x08, 0x0F, 0x07, 0x0C, 0x06, 0x0D, 0x09, 0x17, 0x12, 0x1C, - 0x13, 0x1A, 0x05, 0xDD, 0xCC, 0xD9, 0xF6, 0x1F, 0x13, 0x00, 0x01, 0xFE, 0xF7, 0xEE, 0xF9, 0x58, - 0xAC, 0xD4, 0xDC, 0xDE, 0xDF, 0xEB, 0x03, 0x10, 0x11, 0x10, 0x00, 0xFB, 0xE7, 0xEE, 0xE2, 0xEE, - 0xFE, 0x2A, 0x4A, 0x6A, 0x5A, 0x27, 0x04, 0xE2, 0xD3, 0xED, 0xF5, 0x0B, 0x09, 0x14, 0x0C, 0x12, - 0x09, 0x11, 0x09, 0x0F, 0x06, 0x0E, 0x07, 0x0E, 0x0B, 0x1A, 0x16, 0x23, 0x1B, 0x21, 0x09, 0xE0, - 0xCC, 0xD8, 0xF2, 0x13, 0x06, 0xFB, 0x00, 0xFF, 0xF7, 0xEC, 0xEF, 0x51, 0xA5, 0xD0, 0xDA, 0xDD, - 0xDE, 0xEB, 0x05, 0x14, 0x17, 0x19, 0x06, 0xFE, 0xE6, 0xF0, 0xE6, 0xEE, 0xFE, 0x2C, 0x4E, 0x6F, - 0x5D, 0x29, 0x00, 0xDC, 0xCF, 0xE8, 0xF3, 0x0B, 0x08, 0x14, 0x0B, 0x12, 0x09, 0x13, 0x09, 0x10, - 0x07, 0x0E, 0x07, 0x0F, 0x0C, 0x1F, 0x19, 0x28, 0x1E, 0x24, 0x0C, 0xE1, 0xCD, 0xD9, 0xF4, 0x17, - 0x02, 0xFA, 0x00, 0xFD, 0xF2, 0xE5, 0xE2, 0x45, 0xA5, 0xCF, 0xDA, 0xDD, 0xE0, 0xEB, 0x05, 0x18, - 0x1B, 0x1F, 0x0A, 0xFF, 0xE6, 0xF1, 0xE6, 0xF2, 0xFF, 0x31, 0x52, 0x74, 0x62, 0x29, 0x00, 0xD8, - 0xC9, 0xE5, 0xF0, 0x09, 0x07, 0x13, 0x0A, 0x12, 0x08, 0x12, 0x08, 0x12, 0x08, 0x10, 0x09, 0x12, - 0x0D, 0x20, 0x1C, 0x2A, 0x22, 0x25, 0x0B, 0xE5, 0xD1, 0xDC, 0xF4, 0x17, 0x02, 0xFB, 0x00, 0xF9, - 0xEB, 0xD9, 0xD6, 0x43, 0xA6, 0xD3, 0xDC, 0xE0, 0xE1, 0xED, 0x06, 0x1A, 0x1F, 0x28, 0x0F, 0x02, - 0xE5, 0xF4, 0xE9, 0xF2, 0x02, 0x32, 0x5A, 0x7B, 0x5D, 0x2C, 0x00, 0xDB, 0xC5, 0xE3, 0xEF, 0x09, - 0x07, 0x11, 0x0A, 0x12, 0x08, 0x11, 0x0A, 0x12, 0x0A, 0x11, 0x08, 0x14, 0x11, 0x20, 0x1D, 0x2D, - 0x25, 0x28, 0x10, 0xE9, 0xD7, 0xE0, 0xFA, 0x1E, 0x06, 0x00, 0xFF, 0xF3, 0xE2, 0xCD, 0xC6, 0x30, - 0xA8, 0xD7, 0xE0, 0xE3, 0xE5, 0xEE, 0x06, 0x1A, 0x22, 0x2C, 0x14, 0x02, 0xE6, 0xF8, 0xEC, 0xF5, - 0x02, 0x35, 0x5C, 0x7F, 0x66, 0x31, 0x00, 0xDA, 0xBC, 0xD8, 0xED, 0x08, 0x05, 0x13, 0x08, 0x13, - 0x09, 0x14, 0x0A, 0x12, 0x09, 0x12, 0x0A, 0x15, 0x11, 0x24, 0x23, 0x34, 0x26, 0x27, 0x12, 0xEB, - 0xD3, 0xE4, 0x02, 0x26, 0x0D, 0x06, 0xFE, 0xEB, 0xD0, 0x89, 0x80, 0xE6, 0xC0, 0xEF, 0xF6, 0xF6, - 0xF4, 0xF6, 0x03, 0x1B, 0x33, 0x3E, 0x25, 0x07, 0xE6, 0xF8, 0xEF, 0xF6, 0x05, 0x3C, 0x68, 0x7F, - 0x7B, 0x38, 0x08, 0xD9, 0xB2, 0xD0, 0xE6, 0x06, 0x03, 0x0F, 0x07, 0x14, 0x0A, 0x16, 0x0B, 0x15, - 0x0A, 0x15, 0x0C, 0x18, 0x13, 0x26, 0x24, 0x2F, 0x21, 0x26, 0x11, 0xF0, 0xE7, 0x07, 0x35, 0x5A, - 0x40, 0x37, 0xE9, 0xC2, 0x9C, 0x80, 0x80, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x01, 0x10, 0x00, 0x10, 0x01, 0x10, 0x00, 0x20, 0x01, 0x10, 0x00, - 0x30, 0x01, 0x10, 0x00, 0x40, 0x01, 0x10, 0x00, 0x50, 0x01, 0x10, 0x00, 0x60, 0x01, 0x10, 0x00, - 0x70, 0x01, 0x10, 0x00, 0x80, 0x01, 0x10, 0x00, 0x90, 0x01, 0x10, 0x00, 0xA0, 0x01, 0x10, 0x00, - 0xB0, 0x01, 0x10, 0x00, 0xC0, 0x01, 0x10, 0x00, 0xD0, 0x01, 0x10, 0x00, 0xE0, 0x01, 0x10, 0x00, - 0xF0, 0x01, 0x10, 0x00, 0x00, 0x02, 0x20, 0x00, 0x20, 0x02, 0x20, 0x00, 0x40, 0x02, 0x20, 0x00, - 0x60, 0x02, 0x20, 0x00, 0x80, 0x02, 0x20, 0x00, 0xA0, 0x02, 0x20, 0x00, 0xC0, 0x02, 0x20, 0x00, - 0xE0, 0x02, 0x20, 0x00, 0x00, 0x03, 0x20, 0x00, 0x20, 0x03, 0x20, 0x00, 0x40, 0x03, 0x20, 0x00, - 0x60, 0x03, 0x20, 0x00, 0x80, 0x03, 0x20, 0x00, 0xA0, 0x03, 0x20, 0x00, 0xC0, 0x03, 0x20, 0x00, - 0xE0, 0x03, 0x20, 0x00, 0x00, 0x04, 0x40, 0x00, 0x40, 0x04, 0x40, 0x00, 0x80, 0x04, 0x40, 0x00, - 0xC0, 0x04, 0x40, 0x00, 0x00, 0x05, 0x40, 0x00, 0x40, 0x05, 0x40, 0x00, 0x80, 0x05, 0x40, 0x00, - 0xC0, 0x05, 0x40, 0x00, 0x00, 0x06, 0x40, 0x00, 0x40, 0x06, 0x40, 0x00, 0x80, 0x06, 0x40, 0x00, - 0xC0, 0x06, 0x40, 0x00, 0x00, 0x07, 0x40, 0x00, 0x40, 0x07, 0x40, 0x00, 0x80, 0x07, 0x40, 0x00, - 0xC0, 0x07, 0x40, 0x00, 0x00, 0x08, 0x80, 0x00, 0x80, 0x08, 0x80, 0x00, 0x00, 0x09, 0x80, 0x00, - 0x80, 0x09, 0x80, 0x00, 0x00, 0x0A, 0x80, 0x00, 0x80, 0x0A, 0x80, 0x00, 0x00, 0x0B, 0x80, 0x00, - 0x80, 0x0B, 0x80, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x80, 0x0C, 0x80, 0x00, 0x00, 0x0D, 0x80, 0x00, - 0x80, 0x0D, 0x80, 0x00, 0x00, 0x0E, 0x80, 0x00, 0x80, 0x0E, 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, - 0x80, 0x0F, 0x80, 0x00, 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, 0xE1, 0x19, 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, 0x02, 0x00, 0x22, 0x00, 0x02, 0x00, 0x24, 0x00, 0x02, - 0x00, 0x26, 0x00, 0x02, 0x00, 0x28, 0x00, 0x02, 0x00, 0x2A, 0x00, 0x02, 0x00, 0x2C, 0x00, 0x02, - 0x00, 0x2E, 0x00, 0x02, 0x00, 0x30, 0x00, 0x02, 0x00, 0x32, 0x00, 0x02, 0x00, 0x34, 0x00, 0x02, - 0x00, 0x36, 0x00, 0x02, 0x00, 0x38, 0x00, 0x02, 0x00, 0x3A, 0x00, 0x02, 0x00, 0x3C, 0x00, 0x02, - 0x00, 0x3E, 0x00, 0x02, 0x00, 0x40, 0x00, 0x04, 0x00, 0x44, 0x00, 0x04, 0x00, 0x48, 0x00, 0x04, - 0x1E, 0x4C, 0x00, 0x04, 0x00, 0x50, 0x00, 0x04, 0x00, 0x54, 0x00, 0x04, 0x00, 0x58, 0x00, 0x04, - 0x00, 0x5C, 0x00, 0x04, 0x00, 0x60, 0x00, 0x04, 0x00, 0x64, 0x00, 0x04, 0x00, 0x68, 0x00, 0x04, - 0x00, 0x6C, 0x00, 0x04, 0x00, 0x70, 0x00, 0x04, 0x00, 0x74, 0x00, 0x04, 0x00, 0x78, 0x00, 0x04, - 0x00, 0x7C, 0x00, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, - 0x05, 0x0D, 0x09, 0x02, 0xA1, 0x01, 0x85, 0x02, 0x09, 0x20, 0xA1, 0x00, 0x09, 0x42, 0x09, 0x44, - 0x09, 0x45, 0x09, 0x3C, 0x09, 0x00, 0x09, 0x32, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, - 0x81, 0x02, 0x95, 0x02, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x26, 0x88, 0x55, 0x46, 0x88, 0x55, - 0x65, 0x11, 0x55, 0x0D, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x26, 0xC0, 0x35, 0x46, - 0xC0, 0x35, 0x81, 0x02, 0x45, 0x00, 0x65, 0x00, 0x55, 0x00, 0x05, 0x0D, 0x09, 0x30, 0x26, 0xFF, - 0x00, 0x81, 0x02, 0xC0, 0x09, 0x00, 0x75, 0x08, 0xB1, 0x12, 0x85, 0x03, 0x09, 0x00, 0x95, 0x10, - 0x85, 0x04, 0x09, 0x00, 0xB1, 0x02, 0x85, 0x05, 0x09, 0x00, 0x95, 0x04, 0xB1, 0x02, 0x85, 0x06, - 0x09, 0x00, 0x95, 0x24, 0xB1, 0x02, 0x85, 0x07, 0x09, 0x00, 0x95, 0x49, 0xB1, 0x02, 0x85, 0x08, - 0x09, 0x00, 0x95, 0x03, 0xB1, 0x02, 0xC0, 0x1E, 0x00, 0x00, 0x01, 0x87, 0x00, 0x02, 0x00, 0x03, - 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x6A, 0x05, 0x04, 0x01, 0x54, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x30, 0xED, 0x00, 0x08, 0x02, 0x0A, 0x0E, 0x80, 0x54, 0xE8, 0x1C, - 0xCD, 0x95, 0x03, 0xE8, 0xF1, 0xED, 0x80, 0x40, 0xF0, 0x00, 0xCD, 0x80, 0x40, 0xA8, 0x14, 0x84, - 0xC5, 0xCE, 0xE1, 0x1D, 0xCD, 0x80, 0x40, 0xB8, 0xEC, 0xED, 0x80, 0x40, 0xF0, 0x00, 0xCD, 0x80, - 0x40, 0xA8, 0x14, 0x84, 0xC5, 0xCE, 0xE1, 0x1D, 0xCD, 0x80, 0x40, 0xB8, 0xEC, 0x42, 0x20, 0x18, - 0x42, 0x2C, 0xD4, 0x11, 0x01, 0xE0, 0xCE, 0xDF, 0xF9, 0x37, 0x5F, 0x15, 0xE3, 0x8B, 0x12, 0x03, - 0xA6, 0x42, 0xB0, 0x32, 0xD2, 0x08, 0x00, 0x64, 0xEF, 0xF4, 0x3E, 0xEF, 0xFB, 0x7E, 0x21, 0x24, - 0x2B, 0x03, 0x97, 0x70, 0x30, 0x71, 0x09, 0xF9, 0x0B, 0x02, 0x83, 0x21, 0x30, 0x24, 0x21, 0x04, - 0x3B, 0x05, 0x03, 0x5B, 0xF0, 0x30, 0x06, 0xD4, 0xD2, 0x08, 0x30, 0x30, 0x03, 0x40, 0x70, 0x30, - 0x01, 0x04, 0xF9, 0x68, 0x13, 0x78, 0x10, 0x0B, 0x42, 0x20, 0x6D, 0x02, 0x01, 0x0B, 0x07, 0x51, - 0xEE, 0x02, 0x2A, 0x5C, 0x04, 0x01, 0x5F, 0xA0, 0x80, 0xF0, 0x0E, 0x32, 0x18, 0xFC, 0x57, 0xF0, - 0x2E, 0x5F, 0xA0, 0x20, 0xF0, 0x0E, 0xC1, 0x7F, 0x05, 0xF0, 0x22, 0x7C, 0x06, 0x01, 0x7F, 0xA0, - 0x80, 0xF0, 0x0E, 0x32, 0x18, 0xFC, 0x57, 0x10, 0x2F, 0x7F, 0xA0, 0x20, 0xF0, 0x0E, 0xC1, 0x7F, - 0x05, 0xF2, 0x12, 0x35, 0x2F, 0x00, 0xC2, 0xAE, 0x11, 0x3D, 0x20, 0xC1, 0x33, 0xA5, 0x18, 0x3C, - 0x20, 0xA1, 0x33, 0x30, 0x16, 0x15, 0xF4, 0x12, 0x55, 0x2F, 0x00, 0x51, 0xF6, 0x02, 0xA0, 0x9A, - 0x30, 0xE1, 0x04, 0x0C, 0x21, 0x04, 0xD2, 0x26, 0x10, 0xB0, 0x46, 0xA0, 0x00, 0xD8, 0xEE, 0x2E, - 0x20, 0xA8, 0x85, 0x28, 0x21, 0x6C, 0x04, 0x01, 0x6F, 0xA0, 0x80, 0xF0, 0x0E, 0x32, 0x18, 0xFC, - 0xD7, 0xEE, 0x2E, 0x20, 0xA8, 0x85, 0x28, 0x21, 0x6C, 0x04, 0x01, 0x6F, 0xA0, 0x20, 0xF0, 0x0E, - 0xC1, 0x7F, 0xED, 0xEE, 0x02, 0x82, 0x5A, 0x88, 0x12, 0xC2, 0x65, 0x10, 0xF0, 0x05, 0x0A, 0x08, - 0xEF, 0x20, 0x83, 0xC1, 0x7F, 0xED, 0xEE, 0x02, 0x82, 0x5A, 0x88, 0x12, 0x5F, 0xA0, 0x20, 0xF0, - 0x0E, 0xC1, 0x7F, 0xED, 0xEE, 0x02, 0x82, 0x5A, 0x88, 0x12, 0x48, 0xED, 0xEE, 0x02, 0x82, 0x5A, - 0x88, 0x12, 0x14, 0x04, 0x11, 0x3D, 0x20, 0xC1, 0x33, 0x75, 0x25, 0xC2, 0x6E, 0x25, 0xC1, 0x03, - 0x12, 0x3A, 0x03, 0x63, 0xD1, 0xEE, 0x2E, 0x20, 0xA8, 0x95, 0x28, 0x81, 0xD4, 0xEE, 0x2E, 0x20, - 0xA8, 0x85, 0x28, 0xD1, 0xEE, 0x2E, 0x20, 0xA8, 0x85, 0x28, 0x51, 0x36, 0xC2, 0x0A, 0x60, 0x10, - 0xB3, 0xFB, 0x30, 0x00, 0x04, 0x07, 0x13, 0x40, 0x90, 0xFF, 0x3E, 0xEF, 0xFF, 0x2E, 0x11, 0x71, - 0x32, 0x98, 0xE5, 0x83, 0x69, 0x3E, 0xD8, 0x54, 0x06, 0x54, 0xC1, 0xFC, 0x81, 0x02, 0x0D, 0xFD, - 0x55, 0x3F, 0x06, 0x55, 0xC1, 0xCF, 0x81, 0x10, 0xC5, 0x20, 0x52, 0xEF, 0x20, 0x53, 0x07, 0x83, - 0x68, 0x6E, 0x60, 0x1E, 0xFC, 0x13, 0x08, 0xD4, 0x30, 0x18, 0xE6, 0xEF, 0x14, 0xD5, 0x33, 0x01, - 0xEF, 0x17, 0xC3, 0x8D, 0xF2, 0x3E, 0x83, 0x21, 0x40, 0xD0, 0x33, 0xD2, 0x08, 0xB0, 0xF7, 0xEF, - 0x32, 0xB8, 0x54, 0x83, 0x5B, 0x35, 0x98, 0xE5, 0x83, 0x69, 0x3E, 0xD8, 0x54, 0x06, 0x55, 0xC1, - 0xCF, 0x81, 0x10, 0xC5, 0x06, 0x54, 0xC1, 0xFC, 0x81, 0x01, 0x0D, 0x20, 0x56, 0x06, 0x6C, 0x47, - 0xC1, 0xFF, 0x58, 0x07, 0x52, 0x6C, 0x47, 0x48, 0xD1, 0xFF, 0x6F, 0xA0, 0x80, 0xF0, 0x0E, 0x07, - 0x53, 0xBB, 0x05, 0xEF, 0x1B, 0x00, 0x21, 0xEF, 0xF4, 0xDE, 0xEF, 0xB7, 0x20, 0x40, 0x50, 0x33, - 0xD2, 0x08, 0x80, 0x10, 0x03, 0x58, 0x00, 0x10, 0x06, 0xD4, 0xD2, 0x08, 0x40, 0x0F, 0xEF, 0xF3, - 0xFE, 0xEF, 0x12, 0xD0, 0x1D, 0x83, 0x59, 0x3E, 0x98, 0xE6, 0x83, 0x4D, 0x65, 0x40, 0x15, 0xCC, - 0x1F, 0x28, 0xD0, 0xD0, 0x5F, 0xF5, 0x63, 0x50, 0x15, 0xFC, 0x1C, 0x08, 0x51, 0x0C, 0x22, 0xF5, - 0x0E, 0x32, 0x75, 0x30, 0x88, 0xE6, 0x06, 0xE6, 0xC1, 0x3F, 0x81, 0x40, 0x0D, 0x83, 0x61, 0xFE, - 0x4E, 0x51, 0x3C, 0x13, 0xF0, 0x7E, 0x21, 0x48, 0x28, 0xEF, 0xF3, 0x2E, 0x83, 0x4B, 0x35, 0xB8, - 0x55, 0x83, 0x59, 0x3E, 0x98, 0xE6, 0x83, 0x4D, 0x65, 0x50, 0x15, 0xFC, 0x1C, 0x08, 0x51, 0x6C, - 0x40, 0x15, 0xCC, 0x1F, 0x18, 0xD0, 0x00, 0x62, 0x65, 0xC0, 0x76, 0x14, 0xFC, 0x8F, 0x75, 0x20, - 0xC5, 0x76, 0x84, 0x14, 0xFD, 0xFF, 0x06, 0x0A, 0x08, 0xEF, 0x70, 0x30, 0xF5, 0xBE, 0x11, 0x86, - 0xF1, 0x4E, 0xEF, 0xBD, 0x20, 0x30, 0x18, 0x02, 0x21, 0x5F, 0x25, 0x21, 0x83, 0x25, 0xE3, 0x60, - 0x29, 0x80, 0x31, 0x18, 0x02, 0xEF, 0xD2, 0x0E, 0x80, 0x20, 0xA0, 0x93, 0xE2, 0xAF, 0x33, 0x01, - 0x02, 0x0A, 0x44, 0x0B, 0x8C, 0x00, 0x7E, 0x8B, 0x02, 0xEF, 0x1D, 0x13, 0xA5, 0xC1, 0x0C, 0x00, - 0x80, 0xFA, 0xF5, 0x3E, 0x8B, 0x05, 0x21, 0xB9, 0x31, 0x21, 0xA1, 0x3A, 0x21, 0xB7, 0x3A, 0x13, - 0x51, 0xE0, 0x40, 0x60, 0x33, 0x0C, 0x0A, 0x22, 0xB3, 0x3E, 0x10, 0x05, 0x20, 0x21, 0x2B, 0x34, - 0xCC, 0x00, 0x00, 0xB8, 0x68, 0x21, 0xAD, 0x3A, 0x11, 0xA6, 0x90, 0xA9, 0xB1, 0x11, 0xA1, 0x90, - 0x09, 0xB1, 0xEF, 0x9F, 0x89, 0xB0, 0x21, 0x28, 0x25, 0x13, 0x79, 0xA0, 0xAF, 0x13, 0x48, 0x20, - 0xAF, 0xEF, 0x12, 0xD0, 0x0F, 0x83, 0x61, 0x3E, 0x18, 0xE9, 0x83, 0xA1, 0xFE, 0x4E, 0x21, 0x89, - 0x27, 0xEF, 0x12, 0x20, 0x10, 0xEF, 0x94, 0x29, 0xAC, 0xBB, 0x02, 0xC3, 0x50, 0x33, 0x10, 0x83, - 0x76, 0xB2, 0x55, 0x30, 0x18, 0x02, 0x21, 0xD1, 0x24, 0x03, 0x51, 0x30, 0x16, 0x93, 0x33, 0xC3, - 0x0C, 0x00, 0x90, 0x0B, 0x08, 0x03, 0x52, 0x10, 0x11, 0x80, 0x06, 0x21, 0xA1, 0x0B, 0x21, 0x73, - 0x39, 0x21, 0xDD, 0x24, 0x03, 0x23, 0x80, 0xB0, 0x2B, 0x80, 0x39, 0x35, 0x0E, 0x96, 0x02, 0x37, - 0x83, 0x21, 0xF0, 0x2E, 0xED, 0x00, 0x08, 0x02, 0x3A, 0x29, 0xFE, 0x3A, 0x98, 0x1B, 0x04, 0x36, - 0xC3, 0xA0, 0x20, 0x22, 0x20, 0x03, 0x71, 0x60, 0x10, 0x53, 0x4B, 0x32, 0x24, 0x21, 0x04, 0x3B, - 0x05, 0x03, 0x5B, 0xD0, 0xF5, 0x04, 0x35, 0x13, 0xEC, 0xDF, 0xD0, 0x08, 0x60, 0x10, 0xD3, 0x70, - 0xB2, 0x49, 0x10, 0xF3, 0xA0, 0x93, 0x39, 0x9C, 0x21, 0xF5, 0x3A, 0x7E, 0xE3, 0x55, 0xDF, 0x07, - 0xF1, 0xEF, 0xF3, 0xBE, 0xEF, 0x17, 0xC3, 0x7F, 0x32, 0x70, 0x09, 0x07, 0x13, 0x97, 0x90, 0xBF, - 0x20, 0x00, 0xF1, 0xDF, 0xFD, 0x17, 0x48, 0x47, 0x60, 0x04, 0x58, 0x82, 0x21, 0x35, 0xE0, 0xAA, - 0x52, 0xEA, 0x00, 0x2E, 0x29, 0xA5, 0x0F, 0xE0, 0xB6, 0x52, 0xEA, 0x00, 0xEE, 0x29, 0xA5, 0x0F, - 0x46, 0x80, 0x10, 0x0D, 0x46, 0xC0, 0x60, 0x80, 0xED, 0x4B, 0xD4, 0x51, 0x84, 0x41, 0xE4, 0x51, - 0x94, 0x41, 0xB4, 0x51, 0x64, 0x41, 0xC4, 0x51, 0x74, 0x41, 0xA4, 0x51, 0x54, 0xC1, 0x96, 0xD5, - 0x96, 0xC4, 0x16, 0xD6, 0x16, 0xC5, 0xB6, 0xD5, 0xB6, 0xC4, 0x36, 0xD6, 0x36, 0xC5, 0xD6, 0xD5, - 0xD6, 0xC4, 0x56, 0xD6, 0x56, 0xC5, 0xF6, 0xD5, 0xF6, 0xC4, 0x76, 0xD6, 0x76, 0xE5, 0x17, 0xDF, - 0x03, 0xF1, 0x83, 0x39, 0x3E, 0x98, 0xE4, 0x83, 0x59, 0x3E, 0x98, 0xE6, 0x83, 0x79, 0x3E, 0x98, - 0xE8, 0x83, 0x99, 0x3E, 0x98, 0xEA, 0x10, 0x83, 0x61, 0x3E, 0x18, 0xEE, 0x83, 0x91, 0x3E, 0x18, - 0xEA, 0x10, 0xCF, 0xCF, 0xF2, 0xD7, 0x22, 0x5F, 0x2F, 0x4F, 0xD0, 0x0F, 0x10, 0x24, 0x80, 0xCE, - 0xA2, 0xBA, 0xEE, 0xF2, 0xE0, 0x2D, 0xCE, 0x82, 0x12, 0x29, 0x48, 0x5C, 0x28, 0x80, 0xCE, 0x02, - 0xBD, 0x42, 0xE8, 0x05, 0xC5, 0xCE, 0xE1, 0x05, 0xDE, 0x91, 0x27, 0x54, 0x01, 0x00, 0xDC, 0x00, - 0x00, 0x88, 0xDD, 0xE2, 0xD7, 0x22, 0x5E, 0x2F, 0xCF, 0x31, 0x10, 0xCF, 0xCF, 0xF2, 0xD7, 0x22, - 0x5F, 0x2F, 0x4F, 0xD0, 0xBF, 0x12, 0x24, 0x80, 0xCE, 0xA2, 0xBA, 0xEE, 0xF2, 0xE0, 0x2D, 0xCE, - 0x82, 0x12, 0x29, 0x48, 0x5C, 0x28, 0x80, 0xCE, 0x02, 0xBD, 0x42, 0xE8, 0x05, 0xC5, 0xCE, 0xE1, - 0x05, 0xDE, 0x91, 0x27, 0x54, 0x01, 0x00, 0xDC, 0x00, 0x00, 0x88, 0xDD, 0xE2, 0xD7, 0x22, 0x5E, - 0x2F, 0xCF, 0x31, 0x10, 0x0B, 0x03, 0x41, 0x20, 0x00, 0x43, 0x07, 0x7A, 0x30, 0x75, 0xA0, 0xF9, - 0x44, 0x25, 0x07, 0xA2, 0x10, 0x07, 0xA2, 0x10, 0xCF, 0xEC, 0x7F, 0xFC, 0xE5, 0x0A, 0x03, 0x47, - 0x66, 0x64, 0x33, 0x70, 0x74, 0x46, 0x26, 0x09, 0x52, 0x20, 0xD4, 0x02, 0x22, 0x65, 0x12, 0x01, - 0x1E, 0x46, 0x27, 0x09, 0x52, 0xF0, 0x86, 0x4E, 0x28, 0x65, 0x12, 0x01, 0x1F, 0x71, 0x52, 0x27, - 0x11, 0x20, 0xAE, 0x70, 0x46, 0x87, 0x10, 0x92, 0x20, 0x18, 0x52, 0xF3, 0xA5, 0xFD, 0x12, 0x01, - 0x52, 0x2B, 0xAF, 0x5E, 0x2A, 0x20, 0x52, 0x26, 0x15, 0xE0, 0xE0, 0x84, 0x52, 0x26, 0x15, 0xF0, - 0x20, 0x75, 0x52, 0x01, 0x2E, 0xED, 0x52, 0x01, 0x52, 0xFA, 0x60, 0x64, 0x08, 0xDF, 0x60, 0x64, - 0x08, 0x90, 0x98, 0xF5, 0x6C, 0xF2, 0x6F, 0xC2, 0x46, 0xFF, 0x46, 0x0A, 0x01, 0x02, 0x28, 0xCE, - 0x10, 0xC2, 0xFD, 0x07, 0xEF, 0x29, 0x6E, 0x10, 0x6D, 0xF2, 0xE2, 0x26, 0xD1, 0x46, 0xCF, 0x66, - 0xFF, 0x26, 0x6C, 0xF8, 0x6F, 0xA4, 0x10, 0x20, 0x80, 0xE2, 0x0C, 0x21, 0xDC, 0x7F, 0xF0, 0x9E, - 0xE2, 0x06, 0xD1, 0x66, 0x2F, 0x6E, 0x12, 0x6D, 0xF8, 0x44, 0x44, 0x33, 0xD0, 0xE0, 0xC7, 0x5E, - 0xFE, 0x4C, 0x01, 0xF1, 0xCF, 0xE9, 0x7F, 0x2F, 0x5F, 0x11, 0x42, 0xD0, 0x26, 0xDF, 0x46, 0xDF, - 0x66, 0xDF, 0x86, 0x8F, 0x74, 0xA4, 0x46, 0x3A, 0x03, 0x92, 0x20, 0x05, 0x42, 0x2C, 0x10, 0x52, - 0x27, 0x11, 0xE0, 0x63, 0xA4, 0x92, 0x20, 0x05, 0x42, 0x1D, 0x27, 0x75, 0x12, 0x01, 0x3F, 0x70, - 0x52, 0x26, 0x15, 0xE0, 0x20, 0x20, 0x52, 0x26, 0x15, 0xF0, 0x20, 0x20, 0x52, 0x26, 0x11, 0xE0, - 0xF0, 0xB6, 0x42, 0xF0, 0xD6, 0x6C, 0xF2, 0x6F, 0xC2, 0x46, 0xFF, 0x46, 0x6E, 0xFB, 0x66, 0x6E, - 0xFD, 0x86, 0x02, 0x28, 0xCE, 0x13, 0xC2, 0xFC, 0x06, 0xEF, 0x25, 0x6E, 0x13, 0x6D, 0xF2, 0xE2, - 0x56, 0xD1, 0x46, 0x2F, 0x75, 0x52, 0x01, 0x2E, 0x6F, 0x2B, 0x04, 0x6F, 0xCD, 0x66, 0xFF, 0x26, - 0x6C, 0xF8, 0x6F, 0xE4, 0xB6, 0x6F, 0xE6, 0xD6, 0x6F, 0x28, 0x80, 0xE2, 0x3C, 0x21, 0xCC, 0x6F, - 0xF0, 0x5E, 0xE2, 0x36, 0xD1, 0x66, 0x2F, 0x6E, 0x15, 0x6D, 0xF8, 0x46, 0x8A, 0x10, 0x0D, 0x46, - 0xCA, 0x40, 0x90, 0x2E, 0xF0, 0x44, 0x44, 0x32, 0xDC, 0xE0, 0xF7, 0xE2, 0x15, 0xF1, 0x7C, 0x01, - 0xF1, 0xCF, 0xDB, 0xF2, 0xD7, 0x21, 0x5F, 0x1F, 0x03, 0x5D, 0x20, 0x11, 0x41, 0x44, 0x00, 0x44, - 0x00, 0xC1, 0xF3, 0x0D, 0x5A, 0x04, 0x57, 0xAB, 0x25, 0x70, 0xC5, 0xC1, 0x10, 0x09, 0xA7, 0x80, - 0x70, 0xB4, 0x0A, 0x03, 0x47, 0x8C, 0x74, 0xA4, 0x46, 0x8B, 0x00, 0x22, 0x13, 0x64, 0xA4, 0x58, - 0x82, 0x21, 0x35, 0x6C, 0xFE, 0xED, 0x12, 0x01, 0x52, 0xFA, 0x20, 0x6C, 0x00, 0x01, 0xED, 0x52, - 0x01, 0x52, 0xFA, 0x60, 0xA4, 0x08, 0xD1, 0x60, 0xA4, 0x56, 0x3B, 0x42, 0xD8, 0xBF, 0x5C, 0xFE, - 0xC2, 0xFE, 0xD6, 0x42, 0xF0, 0xF6, 0x6E, 0xFD, 0x26, 0x6E, 0xFF, 0x46, 0x46, 0x2C, 0x80, 0xE2, - 0x1C, 0x22, 0xDC, 0x7F, 0xF0, 0x9E, 0xE2, 0x16, 0xD2, 0x26, 0x2F, 0x6E, 0x23, 0x6D, 0xF4, 0xC2, - 0x07, 0x10, 0xF0, 0xD7, 0x42, 0xF0, 0xF6, 0x6E, 0xFD, 0x26, 0x6E, 0xFF, 0x46, 0x46, 0x2C, 0x80, - 0xE2, 0x1C, 0xF2, 0x04, 0xEF, 0x29, 0x6E, 0x21, 0x6D, 0xF6, 0xE2, 0x36, 0xD2, 0x86, 0xDF, 0xA5, - 0xDD, 0xC7, 0x9D, 0xE9, 0x21, 0x03, 0x03, 0x50, 0x10, 0xD0, 0xE2, 0x03, 0x02, 0x50, 0x10, 0x30, - 0xEC, 0x0A, 0x04, 0x47, 0xAB, 0x20, 0x70, 0xA4, 0x03, 0x04, 0xE0, 0xA0, 0x80, 0x70, 0xB4, 0x0A, - 0x03, 0x47, 0x4A, 0x44, 0x84, 0x25, 0x05, 0x42, 0x2D, 0x20, 0x52, 0x26, 0x11, 0xE0, 0xF0, 0xD6, - 0x42, 0xF0, 0xF6, 0x7C, 0xFE, 0xF2, 0x17, 0x21, 0x04, 0xF2, 0x36, 0xC1, 0x26, 0xFF, 0x26, 0x6C, - 0xF4, 0x6F, 0xE4, 0xD6, 0x6F, 0xE6, 0xF6, 0x6F, 0x28, 0x80, 0xE2, 0x1C, 0x22, 0xCC, 0x6F, 0xF0, - 0x8E, 0xE2, 0x16, 0xF2, 0x26, 0xE2, 0x36, 0xF2, 0x46, 0xE2, 0x16, 0xF1, 0x66, 0xE2, 0x36, 0xF1, - 0x86, 0x02, 0x28, 0xCE, 0x21, 0xC2, 0xFC, 0x06, 0xEF, 0x25, 0x6E, 0x21, 0x6D, 0xF2, 0xE2, 0x36, - 0xD2, 0x46, 0xCF, 0x26, 0xFF, 0x26, 0x6C, 0xF4, 0x6F, 0x64, 0xA4, 0x02, 0x28, 0xCE, 0x21, 0x4F, - 0x10, 0xF2, 0xB5, 0x23, 0x6E, 0x21, 0xF2, 0x56, 0x21, 0x6E, 0x23, 0xF2, 0x76, 0x21, 0x6E, 0x15, - 0x6D, 0xDA, 0x02, 0x22, 0x65, 0x12, 0x01, 0x1F, 0x02, 0x22, 0x65, 0x52, 0x01, 0x0E, 0x6F, 0x2D, - 0x04, 0x6F, 0x2F, 0x7C, 0x00, 0x01, 0xF2, 0x17, 0x21, 0x04, 0xF2, 0x36, 0xC1, 0x66, 0xFF, 0x26, - 0x6C, 0xF8, 0x6F, 0xE4, 0xD6, 0x6F, 0xE6, 0xF6, 0x6F, 0x28, 0x80, 0xE2, 0x1C, 0x22, 0xCC, 0x6F, - 0xF0, 0x8E, 0xE2, 0x16, 0xF2, 0x26, 0xE2, 0x36, 0xF2, 0x46, 0xE2, 0x16, 0xF1, 0x66, 0xE2, 0x36, - 0xF1, 0x86, 0x02, 0x28, 0xCE, 0x21, 0xC2, 0xFC, 0x06, 0xEF, 0x25, 0x6E, 0x21, 0x6D, 0xF6, 0xE2, - 0x36, 0xD2, 0x86, 0xCF, 0x66, 0xFF, 0x26, 0x6C, 0xF8, 0x6F, 0x64, 0xA4, 0x02, 0x28, 0xCE, 0x21, - 0x4F, 0x10, 0xE2, 0xAE, 0x23, 0x6E, 0x21, 0xF2, 0x96, 0x21, 0x6E, 0x23, 0xF2, 0xB6, 0x21, 0x6E, - 0x19, 0x6D, 0xDC, 0x52, 0x27, 0x15, 0xF0, 0x43, 0x44, 0x84, 0x10, 0x0D, 0x56, 0x3B, 0x42, 0xD8, - 0x06, 0x41, 0x44, 0x00, 0xE2, 0xD7, 0x21, 0x5E, 0x1F, 0xCF, 0x25, 0x10, 0xCF, 0xC8, 0xF2, 0x07, - 0x23, 0x5F, 0x32, 0x4C, 0xE2, 0x7C, 0xE0, 0xC2, 0x2C, 0x25, 0x5C, 0xE4, 0xF2, 0xE4, 0x22, 0xC4, - 0xC2, 0x2E, 0x84, 0xC2, 0xCC, 0x65, 0x2E, 0xC4, 0xC2, 0x2E, 0x84, 0xC2, 0x2C, 0x4E, 0x2E, 0x42, - 0x2D, 0xCC, 0x42, 0x21, 0x28, 0x7C, 0xE4, 0x42, 0xC2, 0x67, 0x2E, 0x25, 0x82, 0xE1, 0x0D, 0xE9, - 0x15, 0xC1, 0x0D, 0x00, 0x80, 0x9E, 0xF7, 0xA7, 0xEA, 0x92, 0x71, 0xC7, 0x77, 0x2D, 0xEC, 0xFC, - 0x04, 0x01, 0x20, 0x07, 0x02, 0x6F, 0x2E, 0x7F, 0x10, 0x6E, 0xFE, 0x26, 0xE2, 0x06, 0xF1, 0x46, - 0x6E, 0xFA, 0x66, 0x6E, 0xFC, 0x86, 0x02, 0x28, 0xCE, 0x34, 0xC2, 0xFC, 0x06, 0xEF, 0x26, 0x6E, - 0x34, 0xF2, 0x26, 0x21, 0x6E, 0x36, 0xF2, 0x46, 0x21, 0x6E, 0x12, 0x52, 0x44, 0x10, 0xD0, 0xC6, - 0x9E, 0x79, 0x1B, 0x82, 0x22, 0x82, 0x22, 0x29, 0x45, 0x01, 0x00, 0x6F, 0xAA, 0x24, 0x09, 0x57, - 0x7C, 0xD5, 0xC2, 0xCE, 0x4F, 0x10, 0x00, 0x72, 0x20, 0x20, 0x6F, 0x16, 0xF2, 0x87, 0x21, 0x6E, - 0x16, 0x6F, 0x22, 0x6E, 0x18, 0x6F, 0xE4, 0xA6, 0x6F, 0xE6, 0xC6, 0x6F, 0x28, 0x80, 0xE2, 0x4C, - 0x23, 0xCC, 0x6F, 0xF0, 0x6E, 0xE2, 0x46, 0x23, 0x6F, 0x1A, 0xE2, 0x66, 0x23, 0x6F, 0x1C, 0xE2, - 0xA6, 0xC1, 0x4F, 0x10, 0x20, 0x14, 0x82, 0xD2, 0xC6, 0x9E, 0x59, 0x12, 0xC2, 0x2E, 0x82, 0x22, - 0x09, 0x1E, 0x20, 0x85, 0xDC, 0x00, 0x00, 0xE9, 0x82, 0xF0, 0xA7, 0xEA, 0x92, 0x71, 0xC7, 0x77, - 0x2D, 0xCC, 0xFC, 0x04, 0x01, 0x20, 0x07, 0x02, 0xF2, 0xE6, 0x21, 0x7F, 0x20, 0xE2, 0xE6, 0xF1, - 0x26, 0xE2, 0x06, 0xF2, 0x46, 0x6E, 0xFA, 0x66, 0x6E, 0xFC, 0x86, 0x02, 0x28, 0xCE, 0x34, 0xC2, - 0xFC, 0x06, 0xEF, 0x26, 0x6E, 0x34, 0xF2, 0x26, 0x22, 0x6E, 0x36, 0xF2, 0x46, 0x22, 0x6E, 0x22, - 0xFC, 0x04, 0x01, 0x42, 0x21, 0x28, 0x6D, 0xEC, 0x99, 0x88, 0x20, 0x28, 0x22, 0x28, 0x92, 0x52, - 0x14, 0x00, 0xF0, 0xA6, 0x4A, 0x92, 0x70, 0xC5, 0x57, 0x2D, 0xCC, 0xFC, 0x04, 0x01, 0x20, 0x07, - 0x02, 0xF2, 0x66, 0x22, 0x7F, 0x28, 0xE2, 0x66, 0xF2, 0x26, 0xE2, 0x86, 0xF2, 0x46, 0x6E, 0xFA, - 0x66, 0x6E, 0xFC, 0x86, 0x02, 0x28, 0xCE, 0x34, 0xC2, 0xFC, 0x06, 0xEF, 0x26, 0x6E, 0x34, 0xF2, - 0xA6, 0x22, 0x6E, 0x36, 0xF2, 0xC6, 0x22, 0x6E, 0x2A, 0x52, 0x44, 0x10, 0xD0, 0xC6, 0x2E, 0x7E, - 0x30, 0xE2, 0x25, 0xF3, 0x8C, 0x03, 0xF1, 0xCF, 0xD8, 0xF2, 0x27, 0xC2, 0x46, 0xFE, 0xA6, 0x42, - 0xF0, 0xC6, 0x6C, 0xE0, 0x6F, 0x2E, 0x04, 0xF2, 0x06, 0xE1, 0xA6, 0x6F, 0xE2, 0xC6, 0x6F, 0xE4, - 0xE6, 0x6F, 0x26, 0x6E, 0x10, 0x6F, 0x28, 0x80, 0xE2, 0x4C, 0x22, 0xCC, 0x6F, 0xF0, 0x8E, 0xE2, - 0x46, 0x22, 0x6F, 0x12, 0xE2, 0x66, 0x22, 0x6F, 0x14, 0x6C, 0xE2, 0xF2, 0x66, 0x21, 0x04, 0xF2, - 0x86, 0x21, 0x6E, 0x16, 0x6F, 0x22, 0x6E, 0x18, 0x6F, 0xA4, 0x10, 0x20, 0x80, 0xE2, 0x4C, 0x22, - 0xDC, 0x7F, 0xF0, 0x9E, 0xE2, 0x46, 0xF2, 0x26, 0xE2, 0x66, 0xF2, 0x46, 0x6E, 0xFE, 0x66, 0xE2, - 0x06, 0xF1, 0x86, 0x02, 0x28, 0xCE, 0x24, 0xC2, 0xFC, 0x06, 0xEF, 0x28, 0x6E, 0x24, 0x6F, 0x22, - 0x6E, 0x26, 0x6F, 0xE4, 0xA6, 0x6F, 0xE6, 0xC6, 0x6F, 0x28, 0x80, 0xE2, 0x4C, 0x22, 0xCC, 0x6F, - 0xF0, 0x8E, 0xE2, 0x46, 0x22, 0x6F, 0x1A, 0xE2, 0x66, 0x22, 0x6F, 0x1C, 0xE2, 0x26, 0xF1, 0x26, - 0xE2, 0x46, 0xF1, 0x46, 0xEC, 0x04, 0x01, 0x6F, 0x26, 0x04, 0x6F, 0x28, 0x80, 0xE2, 0x4C, 0x22, - 0xCC, 0x6F, 0x10, 0xD2, 0xAE, 0x23, 0x6E, 0x24, 0x6F, 0x22, 0x6E, 0x26, 0x6F, 0x24, 0x6E, 0x1A, - 0x6F, 0x26, 0x6E, 0x1C, 0x6F, 0x28, 0x80, 0xE2, 0x4C, 0x22, 0xCC, 0x6F, 0xF0, 0x6E, 0xE2, 0x46, - 0xF2, 0x26, 0xE2, 0x66, 0xF2, 0x46, 0xEC, 0x08, 0x02, 0x6F, 0x26, 0x04, 0x6F, 0x28, 0x80, 0xE2, - 0x4C, 0x22, 0xCC, 0x6F, 0xF0, 0x5E, 0xE2, 0x46, 0x22, 0x6F, 0x1E, 0xE2, 0x66, 0x22, 0x6F, 0x20, - 0xE2, 0xE6, 0xD1, 0xC6, 0x2E, 0x7E, 0x22, 0xCF, 0x28, 0x10, 0xCF, 0xD0, 0xF2, 0xA7, 0xC2, 0x27, - 0xCE, 0x06, 0x2E, 0x24, 0x6F, 0x2A, 0x04, 0x6F, 0xCC, 0xE6, 0xFE, 0xE6, 0x42, 0x20, 0x6F, 0x10, - 0xF2, 0x27, 0x21, 0x34, 0xF2, 0x47, 0xC1, 0x06, 0x2F, 0x6F, 0x16, 0x4A, 0x92, 0x20, 0x57, 0x18, - 0x72, 0x95, 0xC1, 0x06, 0x2E, 0x6F, 0x1A, 0x42, 0x20, 0x6F, 0x1C, 0x6E, 0xFA, 0x26, 0x6E, 0xFC, - 0x46, 0x6E, 0xFE, 0x66, 0xE2, 0x06, 0xF1, 0x86, 0x02, 0x28, 0xCE, 0x2C, 0xC2, 0xFC, 0x06, 0x31, - 0x60, 0x3A, 0xE2, 0xC6, 0x22, 0x6F, 0x1E, 0xE2, 0xE6, 0x22, 0x6F, 0x20, 0xE2, 0x26, 0xF1, 0x26, - 0xE2, 0x46, 0xF1, 0x46, 0xE2, 0x66, 0xF1, 0x66, 0xE2, 0x86, 0xF1, 0x86, 0x02, 0x28, 0xCE, 0x2C, - 0xC2, 0xFC, 0x06, 0x31, 0x3C, 0x3A, 0xE2, 0xC6, 0xF2, 0x26, 0xE2, 0xE6, 0xF2, 0x46, 0xEC, 0x00, - 0x40, 0x6F, 0x26, 0x04, 0x6F, 0x28, 0x80, 0xE2, 0xCC, 0x22, 0xCC, 0x6F, 0xF0, 0x6E, 0xE2, 0xC6, - 0xF2, 0x26, 0xE2, 0xE6, 0xF2, 0x46, 0xE2, 0xA6, 0xF1, 0x66, 0xE2, 0xC6, 0xF1, 0x86, 0x02, 0x28, - 0xCE, 0x2C, 0xC2, 0xFC, 0x06, 0xEF, 0x25, 0x6E, 0x2C, 0xF2, 0x26, 0x22, 0x6E, 0x2E, 0xF2, 0x46, - 0x22, 0x6E, 0x1E, 0x6F, 0x22, 0x6E, 0x20, 0x6F, 0x24, 0x6E, 0x22, 0x6F, 0x26, 0x6E, 0x24, 0x6F, - 0x28, 0x80, 0xE2, 0xCC, 0x22, 0xCC, 0x6F, 0xF0, 0x6E, 0xE2, 0xC6, 0x22, 0x6F, 0x26, 0xE2, 0xE6, - 0x22, 0x6F, 0x28, 0xE2, 0x66, 0xD2, 0xC6, 0x2E, 0x7E, 0x2A, 0xCF, 0x30, 0x10, 0xDF, 0xFC, 0x07, - 0x5F, 0xC2, 0xB5, 0xC4, 0xD4, 0x24, 0x60, 0xC8, 0x7D, 0x64, 0x16, 0x2C, 0x03, 0x22, 0xE3, 0xC0, - 0x4E, 0x10, 0xD0, 0xC6, 0x8E, 0xE9, 0xD3, 0x0A, 0xC0, 0x00, 0x0C, 0xD0, 0xC6, 0x8E, 0xC9, 0xD2, - 0x04, 0xCE, 0x96, 0xD4, 0x26, 0xDE, 0x45, 0x8E, 0x22, 0x8A, 0x58, 0x52, 0x00, 0x2E, 0x29, 0x85, - 0x0E, 0x6D, 0xE6, 0x11, 0xB6, 0x4C, 0x84, 0x81, 0xC5, 0x8F, 0x20, 0x00, 0x72, 0x20, 0x20, 0x18, - 0x6C, 0xEC, 0x52, 0xD2, 0xE6, 0x8F, 0xB9, 0x47, 0x66, 0xD1, 0x5A, 0xC0, 0x00, 0x0C, 0xD0, 0xC6, - 0x8E, 0x29, 0xC4, 0x22, 0x80, 0xEC, 0xC0, 0x4E, 0x10, 0xD0, 0xC6, 0x8E, 0xC9, 0xD2, 0x05, 0xCE, - 0x96, 0xD4, 0x26, 0xDE, 0x44, 0x8E, 0xE2, 0x8A, 0x58, 0x52, 0x00, 0x2E, 0x29, 0x85, 0x0E, 0x6D, - 0xE6, 0x11, 0x78, 0x4C, 0x84, 0x81, 0xC5, 0x8F, 0x20, 0x00, 0x72, 0x20, 0x20, 0x18, 0x6C, 0xEC, - 0x42, 0x21, 0x28, 0x6D, 0xFE, 0x7E, 0xE0, 0x25, 0xDF, 0x04, 0xF1, 0xDF, 0xFC, 0x07, 0x5F, 0xC2, - 0x35, 0xC5, 0x54, 0x25, 0x60, 0xC9, 0x80, 0x40, 0x76, 0xC1, 0x32, 0x20, 0x32, 0x0E, 0xEC, 0x04, - 0x01, 0x6D, 0xEC, 0x98, 0x3E, 0xAD, 0x00, 0x0C, 0xC0, 0x00, 0x6D, 0xEC, 0x98, 0x2C, 0x4D, 0xE0, - 0x6C, 0x51, 0x6D, 0xE2, 0x5D, 0xE4, 0x28, 0xA2, 0x88, 0x25, 0x05, 0xE0, 0x9E, 0x52, 0xE8, 0xD0, - 0x66, 0x1E, 0x80, 0xC2, 0x44, 0x19, 0x58, 0xFC, 0x08, 0x02, 0x20, 0x07, 0x02, 0x82, 0xC1, 0xC6, - 0x2E, 0x25, 0xD2, 0x06, 0x10, 0x80, 0xE9, 0x47, 0x76, 0xD1, 0x5A, 0xC0, 0x00, 0x0C, 0xD0, 0xC6, - 0x8E, 0x29, 0xC4, 0x22, 0x80, 0xEC, 0xC0, 0x4E, 0x10, 0xD0, 0xC6, 0x8E, 0xC9, 0xD2, 0x05, 0xCE, - 0x16, 0xD5, 0x26, 0xDE, 0x44, 0x8E, 0xE2, 0x8A, 0x58, 0x52, 0x00, 0xEE, 0x29, 0x85, 0x0E, 0x6D, - 0xE6, 0x11, 0xE8, 0x4B, 0x94, 0x81, 0xC5, 0x8F, 0x20, 0x00, 0x72, 0x20, 0x20, 0x18, 0x6C, 0xEC, - 0x42, 0x21, 0x28, 0xD2, 0x06, 0x10, 0xE0, 0x07, 0x5E, 0xF2, 0x4D, 0x10, 0xDF, 0xFE, 0x07, 0x44, - 0x16, 0x8D, 0x05, 0x0C, 0xC0, 0x00, 0x6D, 0xEC, 0x98, 0x2F, 0x8D, 0x00, 0x0C, 0xC0, 0x00, 0x6D, - 0xEC, 0x98, 0x1D, 0x6C, 0x4D, 0x6D, 0xE0, 0x6C, 0x49, 0x6D, 0xE2, 0x6C, 0x4B, 0x6D, 0xE4, 0x11, - 0x05, 0x4D, 0x84, 0x81, 0xF0, 0x58, 0xFC, 0x08, 0x02, 0x20, 0x07, 0x02, 0x82, 0xC1, 0xC6, 0x2E, - 0x25, 0x6D, 0xFE, 0x7E, 0xF0, 0x2D, 0x10, 0xDF, 0xFE, 0x07, 0x44, 0x17, 0x8D, 0x05, 0x0C, 0xC0, - 0x00, 0x6D, 0xEC, 0x98, 0x2F, 0x8D, 0x00, 0x0C, 0xC0, 0x00, 0x6D, 0xEC, 0x98, 0x1D, 0x6C, 0x55, - 0x6D, 0xE0, 0x6C, 0x51, 0x6D, 0xE2, 0x6C, 0x53, 0x6D, 0xE4, 0x11, 0xCA, 0x4C, 0x94, 0x81, 0xF0, - 0x58, 0xFC, 0x08, 0x02, 0x20, 0x07, 0x02, 0x82, 0xC1, 0xC6, 0x2E, 0x25, 0xD2, 0x06, 0x10, 0xE0, - 0x07, 0xDF, 0x02, 0xF1, 0xDF, 0xFE, 0x07, 0x6C, 0x49, 0x6D, 0xE0, 0x44, 0x18, 0x8D, 0x03, 0x64, - 0x6C, 0x4B, 0x6D, 0xE2, 0x44, 0x19, 0x58, 0x52, 0xD0, 0x0E, 0x1D, 0x25, 0x85, 0x1E, 0x7D, 0xEE, - 0xED, 0x0E, 0x52, 0x52, 0xE8, 0xD0, 0x06, 0x1F, 0x00, 0xD7, 0x6C, 0xEC, 0xCC, 0x9C, 0x06, 0x88, - 0x14, 0xFC, 0x1C, 0x07, 0x42, 0x21, 0x28, 0x6D, 0xFE, 0x98, 0x68, 0xEC, 0x80, 0x00, 0x6D, 0xFE, - 0x98, 0x5A, 0x6C, 0x4D, 0x6D, 0xE2, 0x44, 0x19, 0x58, 0x52, 0xD0, 0xCE, 0x24, 0x25, 0x85, 0x1E, - 0x7D, 0xEE, 0xED, 0x8A, 0x52, 0x52, 0xE8, 0xD0, 0x06, 0x1F, 0xE0, 0xD3, 0x6C, 0xEC, 0xCC, 0x9C, - 0x06, 0x88, 0x0E, 0x52, 0xC4, 0x44, 0xD5, 0xE6, 0xEF, 0x5E, 0xEC, 0xE8, 0x5A, 0x6D, 0xFE, 0x7E, - 0xF0, 0x2D, 0x10, 0xDF, 0xFE, 0x07, 0x6C, 0x51, 0x6D, 0xE0, 0x44, 0x19, 0x8D, 0x03, 0x6A, 0x6C, - 0x53, 0x6D, 0xE2, 0x44, 0x18, 0x58, 0x52, 0xD0, 0x8E, 0x2C, 0x25, 0x85, 0x1E, 0x7D, 0xEE, 0xED, - 0x24, 0x53, 0x52, 0xE8, 0xD0, 0x06, 0x1F, 0x10, 0xD0, 0x6C, 0xEC, 0xCC, 0x9C, 0x06, 0x88, 0x17, - 0xFC, 0x1C, 0x07, 0x42, 0x21, 0x28, 0xD2, 0x06, 0x10, 0x80, 0x19, 0xC7, 0x0E, 0x08, 0x20, 0x6D, - 0x00, 0x01, 0x98, 0x60, 0x6C, 0x55, 0x6D, 0xE2, 0x44, 0x18, 0x58, 0x52, 0xD0, 0x0E, 0x38, 0x25, - 0x85, 0x1E, 0x7D, 0xEE, 0xED, 0xDC, 0x53, 0x52, 0xE8, 0xD0, 0x06, 0x1F, 0xC0, 0xCC, 0x6C, 0xEC, - 0xCC, 0x9C, 0x06, 0x88, 0x11, 0x52, 0x44, 0x5D, 0x23, 0x6D, 0x00, 0x01, 0xFE, 0xC6, 0x0E, 0xC7, - 0x23, 0x6D, 0x00, 0x01, 0x7E, 0xF0, 0x2D, 0x10, 0xDF, 0xFD, 0x17, 0xD2, 0x8F, 0x31, 0xA0, 0x09, - 0x6C, 0xDA, 0xCC, 0x18, 0x06, 0x22, 0xC3, 0x10, 0xC5, 0x32, 0x06, 0x99, 0x48, 0xC1, 0x4C, 0x51, - 0x20, 0x32, 0x0C, 0x51, 0x2C, 0x53, 0x90, 0x19, 0x13, 0xCC, 0x92, 0x04, 0x22, 0xC3, 0x10, 0xC5, - 0x32, 0x04, 0x99, 0x1A, 0xC1, 0x0C, 0x41, 0x20, 0x32, 0x0C, 0x51, 0x2C, 0x33, 0x90, 0x39, 0x10, - 0xCC, 0x8E, 0x03, 0x22, 0xC3, 0x10, 0xC5, 0x32, 0x02, 0x99, 0xEC, 0xC0, 0xCC, 0x30, 0x20, 0x32, - 0x0C, 0x51, 0x2C, 0x13, 0x90, 0x59, 0x0D, 0x51, 0x2C, 0x03, 0x90, 0x99, 0x0C, 0xD2, 0x8F, 0xA1, - 0xF2, 0x08, 0x6C, 0xDA, 0xCC, 0x50, 0x55, 0xC8, 0x0C, 0x51, 0x2C, 0x33, 0x95, 0x59, 0x0A, 0xCC, - 0x54, 0x56, 0xC8, 0x0C, 0x51, 0x2C, 0x43, 0x95, 0xF9, 0x08, 0xCC, 0xD6, 0x56, 0xC8, 0x0B, 0x51, - 0x2C, 0x53, 0x85, 0xA9, 0xC7, 0x8C, 0x75, 0x85, 0xBC, 0x10, 0xC5, 0x32, 0x56, 0x98, 0x65, 0xCC, - 0xDA, 0x57, 0xC8, 0x0B, 0x51, 0x2C, 0x73, 0x85, 0x09, 0xC5, 0xCC, 0x85, 0x85, 0xBC, 0x10, 0xC5, - 0x32, 0x58, 0x98, 0x3B, 0x51, 0x2C, 0x93, 0x85, 0x09, 0xC3, 0xD7, 0xC4, 0xB6, 0x24, 0x58, 0x22, - 0x43, 0x41, 0x84, 0x31, 0x03, 0xA2, 0x10, 0x50, 0xC0, 0x32, 0xEE, 0x46, 0x84, 0x31, 0x03, 0x05, - 0x2C, 0x23, 0xFD, 0x19, 0x03, 0xA8, 0xC0, 0xC6, 0xCD, 0x8C, 0x61, 0x20, 0x32, 0x0E, 0xAA, 0x06, - 0x25, 0x2D, 0x93, 0x39, 0x16, 0xCC, 0x14, 0x05, 0x22, 0xE3, 0xA0, 0x5A, 0x50, 0xD2, 0x32, 0x99, - 0x4A, 0xC1, 0x2C, 0x49, 0x20, 0x32, 0x0E, 0xAA, 0x04, 0x25, 0x2D, 0x93, 0x19, 0x13, 0xCC, 0x10, - 0x04, 0x22, 0xE3, 0xA0, 0x3A, 0x50, 0xD2, 0x32, 0x99, 0x18, 0xC1, 0xEC, 0x38, 0x20, 0x32, 0x0E, - 0xAA, 0x02, 0x25, 0x2D, 0x93, 0xF9, 0x0F, 0xCC, 0x0C, 0x03, 0x22, 0xE3, 0xA0, 0x1A, 0x50, 0xD2, - 0x32, 0x99, 0xE6, 0xA0, 0x0A, 0x50, 0xD2, 0x32, 0x99, 0xD8, 0x20, 0xFD, 0x19, 0x1B, 0x9E, 0xC0, - 0xC6, 0xCD, 0x8C, 0x6D, 0x83, 0xEC, 0xA0, 0x5A, 0x53, 0xD2, 0x32, 0x99, 0xB2, 0xC0, 0xCC, 0x7D, - 0x83, 0xEC, 0xA0, 0x6A, 0x53, 0xD2, 0x32, 0x99, 0x9A, 0xC0, 0xEC, 0x85, 0x83, 0xEC, 0xA0, 0x7A, - 0x53, 0xD2, 0x32, 0x99, 0x82, 0xC0, 0x0C, 0x8E, 0x83, 0xDC, 0xA0, 0x8A, 0x53, 0xD2, 0x32, 0x98, - 0x6B, 0xCC, 0x62, 0x39, 0xC8, 0x0D, 0xAA, 0x39, 0x25, 0x2D, 0x83, 0x49, 0xC5, 0x4C, 0x9E, 0x83, - 0xDC, 0xA0, 0xAA, 0x53, 0xD2, 0x32, 0x98, 0x3D, 0xAA, 0x3B, 0x25, 0x2D, 0x83, 0x09, 0xC3, 0x57, - 0xC5, 0x36, 0x25, 0x58, 0x22, 0x43, 0x41, 0x96, 0x31, 0xA3, 0xA2, 0x1A, 0x50, 0xD2, 0x32, 0xEE, - 0x46, 0x96, 0x31, 0xA3, 0x25, 0x2D, 0xC3, 0xE6, 0x2F, 0x6D, 0xD4, 0x02, 0xC2, 0x06, 0x10, 0x20, - 0x6D, 0xD6, 0x02, 0x8A, 0x5A, 0x5A, 0xF2, 0x2E, 0xC4, 0x04, 0x2C, 0x83, 0x25, 0x85, 0xC2, 0xDC, - 0x8E, 0x43, 0x75, 0x06, 0x52, 0x48, 0x2A, 0x19, 0x42, 0x6E, 0x06, 0x6C, 0xFE, 0x52, 0x28, 0xCC, - 0x49, 0x04, 0x2C, 0xA3, 0xC5, 0x23, 0xEF, 0x42, 0xAC, 0x88, 0x25, 0x85, 0xC2, 0xDC, 0x0E, 0x95, - 0x26, 0x85, 0xA4, 0x92, 0x21, 0x6C, 0x00, 0x01, 0x52, 0x92, 0xE4, 0x17, 0xDF, 0x03, 0xF1, 0xDF, - 0xFA, 0x27, 0x5F, 0x14, 0x64, 0x94, 0x40, 0x84, 0xD1, 0x38, 0x70, 0x11, 0x60, 0xD4, 0x44, 0x46, - 0x80, 0x1F, 0x0D, 0x0B, 0x00, 0x98, 0x7C, 0x8D, 0x04, 0x25, 0x8B, 0x00, 0x7C, 0x4D, 0x6C, 0x4B, - 0x82, 0x85, 0x9C, 0x10, 0x70, 0xB9, 0x98, 0x5A, 0x11, 0xB1, 0x8C, 0x19, 0xD5, 0x98, 0x62, 0xB2, - 0x08, 0xC0, 0xD7, 0xC4, 0xB6, 0x24, 0x58, 0x22, 0x93, 0x10, 0x10, 0xB8, 0x98, 0x2E, 0x11, 0x9B, - 0x8C, 0x59, 0xD2, 0xA8, 0x62, 0x11, 0xC0, 0xD0, 0x44, 0x46, 0x80, 0x1F, 0x0D, 0x0B, 0x00, 0xFE, - 0x14, 0xA0, 0xB6, 0x8B, 0x00, 0x44, 0x19, 0x8D, 0x03, 0x17, 0x11, 0x66, 0x4D, 0x64, 0x04, 0xF8, - 0xD1, 0xB0, 0x01, 0x80, 0xC9, 0xD7, 0x48, 0x50, 0xB2, 0x09, 0xC0, 0x57, 0xC5, 0x36, 0x25, 0x58, - 0xC8, 0x09, 0x11, 0xD6, 0x8B, 0xA9, 0x15, 0xE0, 0xC9, 0x98, 0x51, 0x8D, 0x1A, 0x26, 0x9B, 0x00, - 0x7C, 0x55, 0x6C, 0x53, 0x82, 0x25, 0x32, 0x09, 0x11, 0xC0, 0x8B, 0xE9, 0x12, 0x80, 0xC8, 0x98, - 0x25, 0x8D, 0x1B, 0x16, 0x11, 0x2C, 0x4D, 0x64, 0x04, 0xF8, 0xD1, 0xB0, 0x01, 0xE0, 0x4F, 0x11, - 0xA9, 0xBB, 0x09, 0x30, 0x61, 0x06, 0x05, 0x11, 0x8E, 0x3D, 0x00, 0x00, 0x0D, 0x03, 0x01, 0x60, - 0x10, 0x64, 0x84, 0x12, 0xA3, 0x64, 0xBF, 0x41, 0x30, 0x00, 0x00, 0x53, 0x03, 0x01, 0x60, 0x42, - 0x04, 0xC1, 0xE0, 0x20, 0x32, 0x04, 0x9B, 0x04, 0x44, 0x11, 0x0C, 0x0E, 0x22, 0xD3, 0xB7, 0x49, - 0x80, 0x59, 0x47, 0x04, 0xC1, 0xE0, 0x20, 0x32, 0x04, 0x9B, 0x04, 0x44, 0x11, 0x0C, 0x0E, 0x22, - 0x73, 0xB5, 0x49, 0x80, 0xF9, 0x34, 0x10, 0x00, 0x26, 0x44, 0x10, 0x0C, 0x0E, 0x22, 0x43, 0xB0, - 0x49, 0x40, 0x14, 0xC1, 0xE0, 0x20, 0x32, 0x2A, 0x9B, 0x04, 0x98, 0x22, 0x44, 0x10, 0x0C, 0x0E, - 0x22, 0x43, 0xB0, 0x49, 0x40, 0x14, 0xC1, 0xE0, 0x20, 0x32, 0x04, 0x9B, 0x04, 0xDB, 0x04, 0x6C, - 0xDA, 0xCC, 0xAA, 0x02, 0xC8, 0x17, 0xC0, 0x00, 0xD2, 0x86, 0x10, 0x20, 0x6D, 0x04, 0x01, 0x99, - 0x8F, 0x20, 0x44, 0xAA, 0x02, 0xD2, 0x86, 0x10, 0x20, 0x6C, 0x08, 0x01, 0xCC, 0x88, 0x55, 0x22, - 0x33, 0xC1, 0x8E, 0x58, 0x95, 0x24, 0x6D, 0x04, 0x01, 0x98, 0x5C, 0xC2, 0x47, 0x10, 0x20, 0x6C, - 0x08, 0x01, 0x82, 0x26, 0x32, 0x22, 0x44, 0x46, 0xC2, 0x84, 0x10, 0x20, 0xA4, 0xC2, 0x8D, 0x25, - 0x58, 0xD8, 0x2C, 0x5B, 0x04, 0x98, 0x24, 0x44, 0x46, 0xC2, 0x84, 0x10, 0x20, 0xF4, 0xC2, 0x2D, - 0xB4, 0xC2, 0x8F, 0x25, 0x58, 0xD8, 0x04, 0x5B, 0x04, 0x6C, 0xDC, 0xCC, 0xB2, 0x02, 0xC8, 0x17, - 0xC0, 0x00, 0xD2, 0xA6, 0x10, 0x20, 0x6D, 0x06, 0x01, 0x99, 0x8F, 0x20, 0x44, 0xB2, 0x02, 0xD2, - 0xA6, 0x10, 0x20, 0x6C, 0x0A, 0x01, 0xCC, 0xC0, 0x35, 0x22, 0x33, 0xC1, 0x0E, 0x5C, 0x93, 0x24, - 0x6D, 0x06, 0x01, 0x98, 0x5C, 0xC2, 0x67, 0x10, 0x20, 0x6C, 0x0A, 0x01, 0x82, 0x26, 0x32, 0x22, - 0x44, 0x46, 0xC2, 0xA4, 0x10, 0x20, 0xA4, 0xC2, 0x8D, 0x25, 0x58, 0xD8, 0x2C, 0x5B, 0x04, 0x98, - 0x24, 0x44, 0x46, 0xC2, 0xA4, 0x10, 0x20, 0xF4, 0xC2, 0x2D, 0xB4, 0xC2, 0x8F, 0x25, 0x58, 0xD8, - 0x04, 0x5B, 0x04, 0x03, 0x55, 0x30, 0x23, 0x7C, 0x08, 0x01, 0xD2, 0x47, 0x10, 0x20, 0x6C, 0x0A, - 0x01, 0xD2, 0x66, 0x10, 0x20, 0x7D, 0x0C, 0x01, 0xD2, 0xE6, 0x10, 0xB0, 0x3A, 0x90, 0xA9, 0x0E, - 0x44, 0x46, 0x0C, 0x32, 0xC8, 0x48, 0x03, 0x45, 0xC0, 0x21, 0x6C, 0x08, 0x01, 0xD2, 0x46, 0x10, - 0x20, 0x6C, 0x0A, 0x01, 0xD2, 0x66, 0x10, 0x20, 0x6C, 0x04, 0x01, 0xD2, 0xC6, 0x10, 0x20, 0x6C, - 0x06, 0x01, 0xD2, 0xE6, 0x10, 0xB0, 0x3A, 0x90, 0x69, 0x09, 0x03, 0x45, 0x80, 0x26, 0x6C, 0x04, - 0x01, 0xC2, 0x87, 0x10, 0x20, 0x25, 0x6F, 0xA0, 0x10, 0xF0, 0x0E, 0xD2, 0x46, 0x10, 0x20, 0x6C, - 0x06, 0x01, 0xC2, 0xA7, 0x10, 0x20, 0x25, 0x6F, 0xA0, 0x10, 0xF0, 0x0E, 0xD2, 0x66, 0x10, 0x20, - 0x6C, 0x08, 0x01, 0xD2, 0xC6, 0x10, 0x20, 0x6C, 0x0A, 0x01, 0xD2, 0xE6, 0x10, 0xB0, 0x32, 0x80, - 0x79, 0x32, 0x20, 0x03, 0x20, 0xC2, 0xC6, 0x10, 0x20, 0x6D, 0x04, 0x01, 0xC2, 0xE6, 0x10, 0x20, - 0x6D, 0x06, 0x01, 0xAB, 0x03, 0x7E, 0xE2, 0x45, 0xDF, 0x06, 0xF1, 0x07, 0x87, 0x10, 0x0B, 0x04, - 0x41, 0x24, 0x01, 0x04, 0xEE, 0x12, 0x30, 0xFF, 0x10, 0x10, 0x10, 0xDF, 0xFC, 0x07, 0x5F, 0x82, - 0xA6, 0x28, 0x09, 0x52, 0x00, 0x0E, 0xD0, 0x2F, 0x1C, 0x20, 0x95, 0xF2, 0xDA, 0x8F, 0x22, 0x20, - 0x95, 0xF2, 0x8A, 0x12, 0x2C, 0x28, 0xE8, 0xD1, 0x41, 0x25, 0x80, 0x41, 0x28, 0x7F, 0x44, 0x10, - 0x81, 0x30, 0x45, 0x29, 0x68, 0x9A, 0x33, 0x45, 0x74, 0xD1, 0x0E, 0x18, 0x24, 0x88, 0x84, 0xE0, - 0x2A, 0x92, 0x59, 0xD8, 0x6E, 0x15, 0x24, 0xA9, 0xB4, 0x18, 0xA1, 0x24, 0x09, 0xE0, 0x2A, 0x52, - 0x58, 0x8B, 0x12, 0x2C, 0x06, 0xE8, 0xBC, 0x41, 0x1F, 0x13, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, - 0x30, 0x90, 0x2F, 0x04, 0x6D, 0x49, 0x41, 0x09, 0x20, 0x41, 0x0E, 0x00, 0x41, 0x0A, 0x00, 0x4B, - 0x05, 0x83, 0x09, 0xEB, 0x07, 0x5E, 0xF2, 0x4D, 0x10, 0xDF, 0xFC, 0x07, 0x5F, 0x82, 0xA6, 0x28, - 0x09, 0x52, 0x00, 0x0E, 0xD0, 0x2F, 0x1C, 0x20, 0x95, 0xF2, 0x8A, 0x12, 0x2C, 0x19, 0xE8, 0xDD, - 0x41, 0x25, 0xC0, 0x44, 0x91, 0x45, 0x36, 0x41, 0x37, 0x00, 0x44, 0x13, 0x8C, 0x00, 0x10, 0x8C, - 0x01, 0x1A, 0x8C, 0x02, 0x23, 0x98, 0x2B, 0x41, 0x26, 0x24, 0x41, 0x27, 0x22, 0x98, 0x1B, 0x41, - 0x26, 0x22, 0x41, 0x27, 0x0B, 0xEE, 0x16, 0x64, 0x62, 0x12, 0x74, 0xF2, 0x14, 0x84, 0xF2, 0x47, - 0x14, 0x11, 0x08, 0x53, 0x94, 0x82, 0xA6, 0x38, 0x03, 0xC2, 0x71, 0x20, 0x04, 0xAE, 0x22, 0x89, - 0x95, 0xC2, 0x83, 0x20, 0x84, 0x10, 0x92, 0x00, 0xAE, 0x22, 0x85, 0xB5, 0x28, 0xC1, 0x62, 0x80, - 0xAE, 0x1C, 0xF4, 0x31, 0xF1, 0x1E, 0x03, 0x30, 0x70, 0x30, 0x01, 0x03, 0xF9, 0x42, 0xD0, 0x16, - 0x15, 0x94, 0x00, 0x11, 0xF4, 0x00, 0x10, 0xA4, 0x00, 0xB0, 0x54, 0x30, 0x98, 0xB0, 0x7E, 0xE0, - 0x25, 0xDF, 0x04, 0xF1, 0xDF, 0xFC, 0x07, 0x5F, 0x82, 0xA6, 0x28, 0x09, 0x52, 0x00, 0x0E, 0xD0, - 0x2F, 0x1C, 0x20, 0x95, 0xF2, 0xDA, 0x8F, 0x22, 0x20, 0x95, 0xF2, 0x8A, 0x12, 0x2C, 0x19, 0xE8, - 0xD1, 0x41, 0x25, 0x80, 0x41, 0x28, 0x7F, 0x44, 0x11, 0x81, 0x30, 0x45, 0x29, 0x68, 0x9A, 0x33, - 0x45, 0x64, 0xD1, 0x6E, 0x15, 0x24, 0x88, 0x84, 0xE0, 0x2A, 0x92, 0x59, 0xD8, 0x0E, 0x18, 0x24, - 0xA9, 0xB4, 0x18, 0xA1, 0x24, 0x09, 0xE0, 0x2A, 0x52, 0x58, 0x8B, 0x12, 0x2C, 0x06, 0xE8, 0xBC, - 0x41, 0x1F, 0x13, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0x2F, 0x04, 0x6D, 0x51, 0x41, - 0x09, 0x40, 0x41, 0x0F, 0x00, 0x41, 0x0A, 0x00, 0x4B, 0x05, 0x83, 0x09, 0xEB, 0x07, 0x5E, 0xF2, - 0x4D, 0x10, 0xCF, 0xF5, 0x7F, 0xF7, 0x95, 0x44, 0x0A, 0x8C, 0x00, 0x1D, 0xC2, 0x18, 0x70, 0x09, - 0xC2, 0x28, 0xF0, 0x1B, 0xC2, 0x38, 0x30, 0x28, 0x99, 0x4F, 0x83, 0xA6, 0x38, 0x03, 0x47, 0x40, - 0x74, 0xD1, 0x0E, 0x18, 0x24, 0x88, 0x84, 0xE0, 0x2A, 0x56, 0x20, 0x99, 0x85, 0x8A, 0x08, 0x26, - 0x09, 0xED, 0x56, 0x41, 0x52, 0x48, 0x6B, 0x04, 0x08, 0x21, 0x09, 0xE0, 0x2A, 0x52, 0x58, 0x8B, - 0x12, 0x2C, 0x06, 0xE8, 0xAD, 0x41, 0x1F, 0x11, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, - 0x1F, 0xC4, 0xC0, 0x10, 0xA4, 0x10, 0x30, 0x18, 0xB0, 0x99, 0xCD, 0x02, 0xC4, 0x20, 0x82, 0xAE, - 0x10, 0xA4, 0x20, 0xB0, 0x5F, 0x82, 0xA6, 0x38, 0x03, 0x47, 0x40, 0x74, 0xD1, 0x0E, 0x18, 0x24, - 0x88, 0x84, 0xE0, 0x2A, 0x56, 0x20, 0x99, 0x85, 0x44, 0x0C, 0x33, 0x28, 0x09, 0xED, 0x56, 0x41, - 0x52, 0x48, 0x6B, 0x04, 0x08, 0x21, 0x09, 0xE0, 0x2A, 0x52, 0x58, 0x8B, 0x12, 0x2C, 0x06, 0xE8, - 0xAB, 0x41, 0x1F, 0x1D, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0x8F, 0x74, 0x04, 0x46, - 0x20, 0x09, 0x52, 0x20, 0xC4, 0x61, 0xE2, 0x7C, 0x27, 0x9E, 0x60, 0x44, 0x0E, 0x56, 0x30, 0x43, - 0x92, 0x20, 0x18, 0x52, 0xF3, 0x14, 0xED, 0xC2, 0x01, 0x52, 0x2A, 0x9F, 0x4E, 0x21, 0x65, 0x83, - 0x00, 0x0E, 0xED, 0x28, 0x02, 0x52, 0xFA, 0x60, 0x04, 0x08, 0xD1, 0x60, 0x04, 0x0C, 0x06, 0xE8, - 0x9C, 0x7C, 0x73, 0x6C, 0x49, 0x82, 0x86, 0xFC, 0xC1, 0x36, 0xD7, 0x96, 0xC4, 0x56, 0xD7, 0x96, - 0x46, 0x25, 0x47, 0xE4, 0x30, 0x43, 0x45, 0x16, 0x44, 0x0C, 0x08, 0xD6, 0x40, 0xE4, 0x80, 0x60, - 0x0D, 0x99, 0x9D, 0xB1, 0x57, 0x12, 0x84, 0x02, 0x10, 0xF4, 0xD1, 0xF1, 0x1E, 0x03, 0x30, 0x70, - 0x30, 0x01, 0x03, 0xF9, 0x48, 0x47, 0x60, 0x04, 0x92, 0x20, 0x05, 0x42, 0x1C, 0x26, 0xCE, 0x77, - 0xE2, 0x09, 0x46, 0xE4, 0x60, 0x05, 0x33, 0x24, 0x09, 0x82, 0x21, 0x35, 0x4F, 0xD3, 0x2E, 0x1C, - 0x20, 0xA5, 0xF2, 0xE9, 0x34, 0x52, 0x36, 0x08, 0xE0, 0xD0, 0x8E, 0x22, 0x20, 0xA5, 0x0F, 0x46, - 0x80, 0x10, 0x0D, 0x46, 0xC0, 0x60, 0x80, 0xCE, 0xC9, 0x37, 0xC7, 0x96, 0x24, 0x68, 0xC8, 0x1F, - 0x6C, 0x73, 0x6D, 0x49, 0x6C, 0x75, 0x6D, 0x69, 0x54, 0x72, 0x44, 0x0E, 0x33, 0x54, 0x64, 0x41, - 0xE4, 0x80, 0x60, 0x0D, 0x41, 0x0A, 0x03, 0x99, 0xD1, 0x10, 0xF4, 0xD1, 0xF1, 0x1E, 0x03, 0x30, - 0x70, 0x30, 0x01, 0x03, 0xF9, 0x44, 0x0E, 0xED, 0x56, 0x41, 0x92, 0x18, 0x23, 0x96, 0x80, 0x74, - 0x04, 0x46, 0x20, 0x09, 0x52, 0x20, 0xC4, 0x61, 0xE2, 0x7C, 0x27, 0x9E, 0x60, 0x44, 0x0E, 0x56, - 0x30, 0x43, 0x92, 0x20, 0x18, 0x52, 0xF3, 0x54, 0xED, 0xC2, 0x01, 0x52, 0x2A, 0x9F, 0x4E, 0x25, - 0x65, 0x83, 0x00, 0x0E, 0xED, 0x28, 0x02, 0x52, 0xFA, 0x60, 0x04, 0x08, 0xD1, 0x60, 0x04, 0x0C, - 0x06, 0xE8, 0x9C, 0x7C, 0x73, 0x6C, 0x49, 0x82, 0x86, 0xFC, 0xC1, 0x36, 0xD7, 0x96, 0xC4, 0x56, - 0xD7, 0x96, 0x46, 0x25, 0x47, 0xE4, 0x30, 0x43, 0x45, 0x16, 0x41, 0x0A, 0x00, 0x41, 0x09, 0x00, - 0xCB, 0x05, 0x7E, 0xE7, 0x95, 0xCF, 0x0B, 0x10, 0xDF, 0xFC, 0x07, 0x5F, 0x42, 0xA4, 0xC0, 0x08, - 0x30, 0xC2, 0x18, 0x00, 0x26, 0x8C, 0x02, 0xBD, 0x20, 0x8C, 0x03, 0x70, 0x21, 0x8C, 0x04, 0xFB, - 0x91, 0x79, 0x28, 0x41, 0x25, 0x80, 0xEC, 0x80, 0x41, 0xD2, 0x16, 0x38, 0xF0, 0xCE, 0x41, 0x1F, - 0x11, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0x1F, 0xD4, 0x60, 0x10, 0xA4, 0x10, 0x30, - 0x18, 0xB0, 0x99, 0x44, 0x42, 0xD4, 0xC0, 0x0F, 0x18, 0x24, 0xE4, 0x92, 0x28, 0xDC, 0xD2, 0x17, - 0x38, 0xF0, 0xCE, 0x41, 0x1F, 0x13, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0x4F, 0x34, - 0xD1, 0x08, 0x30, 0xC1, 0x36, 0xD8, 0xD6, 0xC6, 0x76, 0x27, 0x6D, 0x26, 0x02, 0x44, 0x0D, 0x08, - 0xD6, 0x10, 0xA4, 0x20, 0x90, 0xF9, 0x1D, 0x44, 0x0D, 0x0C, 0x13, 0xE8, 0x0A, 0x41, 0x0A, 0x03, - 0xFB, 0x25, 0xFC, 0x80, 0x41, 0x42, 0x2E, 0x89, 0xC2, 0x2D, 0x7D, 0x81, 0x03, 0xEF, 0x1C, 0xF4, - 0x11, 0xF1, 0x1E, 0x03, 0x30, 0x70, 0x30, 0x01, 0x03, 0xF9, 0x68, 0x8A, 0x92, 0x20, 0x05, 0xE0, - 0x77, 0x52, 0x28, 0x8E, 0x44, 0x0F, 0x33, 0x28, 0x09, 0x52, 0xD0, 0x2F, 0x1C, 0x20, 0x95, 0xF2, - 0x8A, 0x12, 0x2C, 0x06, 0xE8, 0xCA, 0x7C, 0x73, 0x6C, 0x51, 0x82, 0x86, 0x7C, 0xC1, 0x36, 0xD7, - 0x16, 0x45, 0x25, 0x47, 0xF4, 0x30, 0x43, 0x45, 0x17, 0x44, 0x0D, 0x08, 0xD6, 0x40, 0xF4, 0x80, - 0x60, 0x0D, 0x99, 0x24, 0xB1, 0x57, 0x12, 0x84, 0x02, 0x10, 0xF4, 0x11, 0xF1, 0x1E, 0x03, 0x30, - 0x70, 0x30, 0x01, 0x03, 0xF9, 0x68, 0x8A, 0x92, 0x20, 0x05, 0xE0, 0x77, 0x52, 0x28, 0x8E, 0x44, - 0x0F, 0x33, 0x28, 0x09, 0x52, 0xD0, 0x2F, 0x1C, 0x20, 0x95, 0xF2, 0x8A, 0x12, 0x2C, 0x06, 0xE8, - 0xCA, 0x7C, 0x73, 0x6C, 0x51, 0x82, 0x86, 0x7C, 0xC1, 0x36, 0xD7, 0x16, 0x45, 0x25, 0x47, 0xF4, - 0x30, 0x43, 0x45, 0x17, 0x44, 0x0F, 0x08, 0xD6, 0x10, 0xA4, 0x40, 0x90, 0x19, 0x09, 0x41, 0x1F, - 0x1D, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0x4F, 0xF4, 0xD0, 0x0E, 0x18, 0x24, 0x89, - 0x11, 0xDE, 0x87, 0xA6, 0x28, 0x09, 0x52, 0x00, 0x7E, 0x27, 0x85, 0xE2, 0x48, 0xF4, 0x30, 0x83, - 0x92, 0x20, 0x05, 0xFD, 0xC2, 0x01, 0x52, 0x29, 0xAF, 0x28, 0xC1, 0x62, 0x80, 0xAE, 0xCC, 0x37, - 0xC7, 0x16, 0x25, 0x68, 0xC8, 0x17, 0x6C, 0x73, 0x6D, 0x51, 0x54, 0x72, 0x44, 0x0F, 0x33, 0x54, - 0x74, 0x11, 0x94, 0x00, 0xB0, 0x5C, 0xE0, 0x07, 0x5E, 0xF2, 0x4D, 0x10, 0xCF, 0xF5, 0x7F, 0xF7, - 0x95, 0x44, 0x0A, 0x8C, 0x00, 0x1D, 0xC2, 0x18, 0x70, 0x09, 0xC2, 0x28, 0xF0, 0x1B, 0xC2, 0x38, - 0x30, 0x28, 0x99, 0x48, 0x83, 0xA6, 0x38, 0x03, 0x47, 0x40, 0x64, 0xD1, 0x6E, 0x15, 0x24, 0x88, - 0x84, 0xE0, 0x2A, 0x56, 0x20, 0x99, 0x85, 0x8A, 0x08, 0x26, 0x09, 0xED, 0x80, 0x41, 0x52, 0x48, - 0x6B, 0x04, 0x08, 0x21, 0x09, 0xE0, 0x2A, 0x52, 0x58, 0x8B, 0x12, 0x2C, 0x06, 0xE8, 0xAD, 0x41, - 0x1F, 0x11, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0x1F, 0xD4, 0xC0, 0x10, 0xA4, 0x10, - 0x30, 0x18, 0xB0, 0x99, 0xC6, 0x02, 0xD4, 0x30, 0x81, 0xAE, 0x10, 0xA4, 0x20, 0xB0, 0x5F, 0x82, - 0xA6, 0x38, 0x03, 0x47, 0x40, 0x64, 0xD1, 0x6E, 0x15, 0x24, 0x88, 0x84, 0xE0, 0x2A, 0x56, 0x20, - 0x99, 0x85, 0x44, 0x0D, 0x33, 0x28, 0x09, 0xED, 0x80, 0x41, 0x52, 0x48, 0x6B, 0x04, 0x08, 0x21, - 0x09, 0xE0, 0x2A, 0x52, 0x58, 0x8B, 0x12, 0x2C, 0x06, 0xE8, 0xAB, 0x41, 0x1F, 0x1D, 0xEF, 0x31, - 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0x8F, 0x74, 0x04, 0x46, 0x20, 0x09, 0x52, 0x20, 0xC4, 0x61, - 0xE2, 0x7C, 0x27, 0x9E, 0x60, 0x44, 0x0F, 0x56, 0x30, 0x43, 0x92, 0x20, 0x18, 0x52, 0xF3, 0x14, - 0xED, 0xC2, 0x01, 0x52, 0x2A, 0x9F, 0x4E, 0x21, 0x65, 0x83, 0x00, 0x0E, 0xED, 0x28, 0x02, 0x52, - 0xFA, 0x60, 0x04, 0x08, 0xD1, 0x60, 0x04, 0x0C, 0x06, 0xE8, 0x9C, 0x7C, 0x73, 0x6C, 0x51, 0x82, - 0x86, 0xFC, 0xC1, 0x36, 0xD7, 0x16, 0xC5, 0x56, 0xD7, 0x96, 0x46, 0x25, 0x47, 0xF4, 0x30, 0x43, - 0x45, 0x17, 0x44, 0x0D, 0x08, 0xD6, 0x40, 0xF4, 0x80, 0x60, 0x0D, 0x99, 0x96, 0xB1, 0x57, 0x12, - 0x84, 0x02, 0x10, 0xF4, 0xD1, 0xF1, 0x1E, 0x03, 0x30, 0x70, 0x30, 0x01, 0x03, 0xF9, 0x48, 0x47, - 0x60, 0x04, 0x92, 0x20, 0x05, 0x42, 0x1C, 0x26, 0xCE, 0x77, 0xE2, 0x09, 0x46, 0xF4, 0x60, 0x05, - 0x33, 0x24, 0x09, 0x82, 0x21, 0x35, 0x4F, 0xD3, 0x2E, 0x1C, 0x20, 0xA5, 0xF2, 0xE9, 0x34, 0x52, - 0x36, 0x08, 0xE0, 0xD0, 0x8E, 0x22, 0x20, 0xA5, 0x0F, 0x46, 0x80, 0x10, 0x0D, 0x46, 0xC0, 0x60, - 0x80, 0xCE, 0xC9, 0x37, 0xC7, 0x16, 0x25, 0x68, 0xC8, 0x1F, 0x6C, 0x73, 0x6D, 0x51, 0x6C, 0x75, - 0x6D, 0x69, 0x54, 0x72, 0x44, 0x0F, 0x33, 0x54, 0x74, 0x41, 0xF4, 0x80, 0x60, 0x0D, 0x41, 0x0A, - 0x03, 0x99, 0xCA, 0x10, 0xF4, 0xD1, 0xF1, 0x1E, 0x03, 0x30, 0x70, 0x30, 0x01, 0x03, 0xF9, 0x44, - 0x0F, 0xED, 0x80, 0x41, 0x92, 0x18, 0x90, 0x63, 0x48, 0x47, 0x60, 0x04, 0x92, 0x20, 0x05, 0x42, - 0x1C, 0x26, 0xCE, 0x77, 0xE2, 0x09, 0x46, 0xF4, 0x60, 0x05, 0x33, 0x24, 0x09, 0x82, 0x21, 0x35, - 0x4F, 0xD5, 0x2E, 0x1C, 0x20, 0xA5, 0xF2, 0xE9, 0x54, 0x52, 0x36, 0x08, 0xE0, 0xD0, 0x8E, 0x22, - 0x20, 0xA5, 0x0F, 0x46, 0x80, 0x10, 0x0D, 0x46, 0xC0, 0x60, 0x80, 0xCE, 0xC9, 0x37, 0xC7, 0x16, - 0x25, 0x68, 0xC8, 0x1F, 0x6C, 0x73, 0x6D, 0x51, 0x6C, 0x75, 0x6D, 0x69, 0x54, 0x72, 0x44, 0x0F, - 0x33, 0x54, 0x74, 0x11, 0x94, 0x00, 0xB0, 0x5C, 0xE0, 0x77, 0x5E, 0xF9, 0xBC, 0x00, 0xF1, 0x6C, - 0x49, 0xCC, 0x28, 0x23, 0x22, 0x73, 0x41, 0x04, 0x81, 0xF0, 0x0D, 0x8D, 0x00, 0x2A, 0x41, 0x10, - 0x01, 0x10, 0xCC, 0x00, 0x19, 0xC8, 0x18, 0x44, 0x10, 0x08, 0xD1, 0xC0, 0xE0, 0x20, 0x32, 0x06, - 0x41, 0x10, 0x0E, 0x10, 0x6C, 0x51, 0xCC, 0x28, 0x23, 0x22, 0x73, 0x41, 0x14, 0x81, 0xF0, 0x0D, - 0x8D, 0x00, 0x2A, 0x41, 0x11, 0x01, 0x10, 0xCC, 0x00, 0x19, 0xC8, 0x18, 0x44, 0x11, 0x08, 0xD1, - 0xC0, 0xE0, 0x20, 0x32, 0x06, 0x41, 0x11, 0x0E, 0x10, 0x11, 0x5F, 0x39, 0x40, 0x05, 0x07, 0x13, - 0x54, 0x90, 0x1F, 0xA0, 0xFA, 0x6C, 0x49, 0xCC, 0xA0, 0x0F, 0x22, 0x63, 0x00, 0x0C, 0x00, 0xC1, - 0xCC, 0x5D, 0x20, 0x32, 0x04, 0x0B, 0x02, 0xC0, 0x01, 0x10, 0x44, 0x13, 0x0C, 0x03, 0xC8, 0x5D, - 0x11, 0xA6, 0x39, 0x40, 0x05, 0x07, 0x13, 0x54, 0x90, 0x1F, 0x80, 0xFA, 0x6C, 0x51, 0xCC, 0xA0, - 0x0F, 0x22, 0xC3, 0x10, 0xB4, 0x60, 0x09, 0x0C, 0x00, 0xC1, 0xCC, 0x5D, 0x20, 0x32, 0x0E, 0x0B, - 0x02, 0x41, 0x0B, 0x96, 0x98, 0x11, 0x44, 0x13, 0x08, 0xD1, 0xC0, 0x30, 0x80, 0x3D, 0x4A, 0xB4, - 0xC0, 0x08, 0xB0, 0x40, 0xB4, 0x20, 0x0A, 0x01, 0x0D, 0xC0, 0x01, 0x10, 0x11, 0xF5, 0x39, 0x40, - 0x05, 0x07, 0x13, 0x54, 0x90, 0x1F, 0xC0, 0xF6, 0x6C, 0x51, 0xCC, 0xA0, 0x0F, 0x22, 0x63, 0x00, - 0x0C, 0x00, 0xC1, 0x96, 0xC4, 0xCC, 0x5D, 0x20, 0x32, 0x04, 0x0B, 0x02, 0xC0, 0x01, 0x10, 0xDF, - 0xF9, 0x37, 0x5F, 0x45, 0x76, 0x81, 0x62, 0x2C, 0x18, 0xC8, 0x37, 0x44, 0x17, 0x58, 0x52, 0xD0, - 0x8E, 0x22, 0x20, 0x85, 0xE2, 0xA8, 0x88, 0x25, 0x05, 0xFD, 0x28, 0x02, 0x52, 0xE9, 0x22, 0xDC, - 0x42, 0x21, 0x7D, 0x8E, 0x02, 0xFE, 0xC6, 0x0F, 0x00, 0x28, 0x7D, 0x8E, 0x02, 0x40, 0x17, 0x06, - 0x22, 0xC3, 0x43, 0x74, 0x81, 0x25, 0x05, 0xED, 0x28, 0x02, 0x52, 0x28, 0x8E, 0x44, 0x17, 0x08, - 0x8A, 0x25, 0x05, 0xFD, 0x28, 0x02, 0x52, 0xE9, 0x22, 0x84, 0xC2, 0x2C, 0x6D, 0x92, 0x02, 0xFE, - 0xC6, 0x0E, 0x00, 0x28, 0x6D, 0x92, 0x02, 0xDC, 0x55, 0x95, 0x22, 0xB2, 0xC0, 0xBD, 0xAA, 0x96, - 0xFC, 0x1D, 0xCC, 0x55, 0x95, 0x22, 0xA2, 0xC0, 0xBC, 0xAA, 0x86, 0x9C, 0x00, 0x1C, 0x90, 0x09, - 0x3B, 0x40, 0x17, 0x02, 0xD9, 0xAD, 0x01, 0x0E, 0xD0, 0x14, 0x45, 0x74, 0x81, 0xE0, 0x47, 0x81, - 0x74, 0x04, 0x44, 0x17, 0x08, 0x7F, 0x24, 0x46, 0x82, 0x00, 0xD8, 0x49, 0x46, 0x80, 0x25, 0x18, - 0x52, 0xD3, 0x2F, 0x1C, 0x20, 0xB5, 0x2E, 0x52, 0x8C, 0x6C, 0xD1, 0x2E, 0x1C, 0x20, 0xA5, 0xE2, - 0xD8, 0x14, 0x65, 0x04, 0x47, 0x61, 0x04, 0x08, 0xD1, 0x60, 0x04, 0x56, 0x32, 0x42, 0x22, 0x73, - 0x6B, 0x14, 0x08, 0x81, 0x25, 0x05, 0xFD, 0xC2, 0x01, 0x52, 0xE9, 0x63, 0x14, 0x58, 0x52, 0xD0, - 0x2F, 0x1C, 0x20, 0x95, 0x2E, 0x82, 0x25, 0x32, 0x09, 0xC0, 0x01, 0x99, 0xF7, 0x62, 0x14, 0x45, - 0x17, 0xCD, 0xA0, 0x0F, 0x32, 0x33, 0x0E, 0x64, 0x17, 0x28, 0xC6, 0x82, 0x81, 0x7C, 0x43, 0x74, - 0x81, 0x25, 0x05, 0xED, 0x28, 0x02, 0x52, 0x28, 0x8E, 0x8A, 0x58, 0x52, 0xD0, 0x8F, 0x22, 0x20, - 0x95, 0x2E, 0xC2, 0x2D, 0x14, 0xD2, 0xE7, 0x28, 0xE0, 0x6F, 0xFC, 0x00, 0x80, 0xD2, 0xE7, 0x28, - 0x00, 0x74, 0x61, 0x20, 0x32, 0x3C, 0x44, 0x17, 0x58, 0x52, 0xD0, 0x8E, 0x22, 0x20, 0x85, 0xE2, - 0x48, 0x74, 0x81, 0xA0, 0x58, 0x52, 0xD0, 0x8F, 0x22, 0x20, 0x95, 0x2E, 0x42, 0x28, 0xCC, 0xD2, - 0x26, 0x29, 0xE0, 0x6F, 0xEC, 0x00, 0x80, 0xD2, 0x26, 0x29, 0xC0, 0x5D, 0x55, 0x29, 0x22, 0x0A, - 0xDC, 0xAB, 0x6A, 0xC8, 0x09, 0xC0, 0x01, 0x99, 0x1F, 0xC2, 0x5C, 0x55, 0x29, 0x22, 0x0A, 0xCC, - 0xAB, 0x6A, 0xC8, 0x1B, 0xC0, 0x01, 0x99, 0x01, 0x02, 0x1C, 0x90, 0x89, 0x1F, 0xC0, 0x01, 0x99, - 0xEF, 0xC1, 0x5C, 0x55, 0x29, 0x22, 0x0B, 0xCC, 0xAB, 0x6A, 0xC9, 0xD5, 0xC1, 0x5D, 0x55, 0x29, - 0x22, 0x0A, 0xDC, 0xAB, 0x6A, 0xC8, 0x09, 0xC0, 0x01, 0x99, 0xBB, 0x01, 0x74, 0x61, 0x21, 0x23, - 0xA4, 0x41, 0x74, 0x81, 0x20, 0x47, 0x01, 0x0E, 0xD0, 0x14, 0x45, 0x74, 0x81, 0x10, 0x47, 0x60, - 0x04, 0x0C, 0x18, 0x22, 0x72, 0x64, 0x04, 0x58, 0x82, 0x21, 0x35, 0xFD, 0xC2, 0x01, 0x52, 0xEB, - 0x22, 0xC5, 0xC8, 0x16, 0xED, 0xC2, 0x01, 0x52, 0x2A, 0x8E, 0x4D, 0x51, 0x46, 0x70, 0x14, 0x46, - 0x80, 0x10, 0x0D, 0x46, 0xC0, 0x80, 0x21, 0x32, 0xB9, 0x46, 0x81, 0xF0, 0x58, 0x52, 0xD0, 0x2F, - 0x1C, 0x20, 0x95, 0x3E, 0x46, 0x81, 0x25, 0x05, 0xFD, 0xC2, 0x01, 0x52, 0xE9, 0x22, 0x58, 0x22, - 0x93, 0x00, 0x1C, 0x90, 0x69, 0x10, 0x46, 0x51, 0x74, 0xD1, 0x0C, 0xFA, 0x20, 0x33, 0xE1, 0x40, - 0x76, 0x81, 0x62, 0x2C, 0x18, 0xC8, 0x37, 0x44, 0x17, 0x58, 0x52, 0xD0, 0x8E, 0x22, 0x20, 0x85, - 0xE2, 0xA8, 0x88, 0x25, 0x05, 0xFD, 0x28, 0x02, 0x52, 0xE9, 0x22, 0xDC, 0x42, 0x21, 0x7D, 0x8E, - 0x02, 0xFE, 0xC6, 0x0F, 0x00, 0x28, 0x7D, 0x8E, 0x02, 0x40, 0x17, 0x06, 0x22, 0xC3, 0x43, 0x74, - 0x81, 0x25, 0x05, 0xED, 0x28, 0x02, 0x52, 0x28, 0x8E, 0x44, 0x17, 0x08, 0x8A, 0x25, 0x05, 0xFD, - 0x28, 0x02, 0x52, 0xE9, 0x22, 0x84, 0xC2, 0x2C, 0x6D, 0x92, 0x02, 0xFE, 0xC6, 0x0E, 0x00, 0x28, - 0x6D, 0x92, 0x02, 0xDC, 0x55, 0x95, 0x22, 0xA2, 0xC0, 0xBD, 0xAA, 0x86, 0x8C, 0x00, 0x1C, 0x80, - 0xF9, 0xC2, 0x5C, 0x55, 0x29, 0x22, 0x0A, 0xCC, 0xAB, 0x6A, 0xC8, 0x16, 0xC0, 0x01, 0x98, 0x12, - 0xC0, 0x01, 0xFE, 0x05, 0x1C, 0xE0, 0x2E, 0xC0, 0x00, 0x7E, 0xE3, 0x55, 0xDF, 0x07, 0xF1, 0xDF, - 0xF9, 0x37, 0x5F, 0x45, 0x66, 0x81, 0x62, 0x2C, 0x27, 0xC8, 0x37, 0x44, 0x16, 0x58, 0x52, 0xD0, - 0x8E, 0x22, 0x20, 0x85, 0xE2, 0xA8, 0x88, 0x25, 0x05, 0xFD, 0x28, 0x02, 0x52, 0xE9, 0x22, 0xDC, - 0x42, 0x21, 0x7D, 0x8C, 0x02, 0xFE, 0xC6, 0x0F, 0x00, 0x28, 0x7D, 0x8C, 0x02, 0x40, 0x16, 0x06, - 0x22, 0xC3, 0x43, 0x64, 0x81, 0x25, 0x05, 0xED, 0x28, 0x02, 0x52, 0x28, 0x8E, 0x44, 0x16, 0x08, - 0x8A, 0x25, 0x05, 0xFD, 0x28, 0x02, 0x52, 0xE9, 0x22, 0x84, 0xC2, 0x2C, 0x6D, 0x90, 0x02, 0xFE, - 0xC6, 0x0E, 0x00, 0x28, 0x6D, 0x90, 0x02, 0xDC, 0x55, 0x95, 0x22, 0xB2, 0xC0, 0xBD, 0xAA, 0x96, - 0xFC, 0x1D, 0xCC, 0x55, 0x95, 0x22, 0xA2, 0xC0, 0xBC, 0xAA, 0x86, 0x9C, 0x00, 0x1C, 0x90, 0x09, - 0x3B, 0x40, 0x16, 0x02, 0xD9, 0xAD, 0x01, 0x0E, 0xD0, 0x94, 0x44, 0x64, 0x81, 0xE0, 0x47, 0x81, - 0x74, 0x04, 0x44, 0x16, 0x08, 0x7F, 0x24, 0x46, 0x82, 0x00, 0xD8, 0x49, 0x46, 0x80, 0x25, 0x18, - 0x52, 0xD3, 0x2F, 0x1C, 0x20, 0xB5, 0x2E, 0x52, 0x8C, 0x6C, 0xD1, 0x2E, 0x1C, 0x20, 0xA5, 0xE2, - 0xD8, 0x94, 0x64, 0x04, 0x47, 0x61, 0x04, 0x08, 0xD1, 0x60, 0x04, 0x56, 0x32, 0x42, 0x22, 0x73, - 0x6B, 0x14, 0x08, 0x81, 0x25, 0x05, 0xFD, 0xC2, 0x01, 0x52, 0xE9, 0x63, 0x14, 0x58, 0x52, 0xD0, - 0x2F, 0x1C, 0x20, 0x95, 0x2E, 0x82, 0x25, 0x32, 0x09, 0xC0, 0x01, 0x99, 0xF7, 0x62, 0x14, 0x45, - 0x16, 0xCD, 0xA0, 0x0F, 0x32, 0x33, 0x0E, 0x64, 0x16, 0x28, 0xC6, 0x72, 0x82, 0x7C, 0x43, 0x64, - 0x81, 0x25, 0x05, 0xED, 0x28, 0x02, 0x52, 0x28, 0x8E, 0x8A, 0x58, 0x52, 0xD0, 0x8F, 0x22, 0x20, - 0x95, 0x2E, 0xC2, 0x2D, 0x14, 0xD2, 0xC7, 0x28, 0xE0, 0x6F, 0xFC, 0x00, 0x80, 0xD2, 0xC7, 0x28, - 0x00, 0x64, 0x61, 0x20, 0x32, 0x3C, 0x44, 0x16, 0x58, 0x52, 0xD0, 0x8E, 0x22, 0x20, 0x85, 0xE2, - 0x48, 0x64, 0x81, 0xA0, 0x58, 0x52, 0xD0, 0x8F, 0x22, 0x20, 0x95, 0x2E, 0x42, 0x28, 0xCC, 0xD2, - 0x06, 0x29, 0xE0, 0x6F, 0xEC, 0x00, 0x80, 0xD2, 0x06, 0x29, 0xC0, 0x5D, 0x55, 0x29, 0x22, 0x0A, - 0xDC, 0xAB, 0x6A, 0xC8, 0x09, 0xC0, 0x01, 0x99, 0x1F, 0xC2, 0x5C, 0x55, 0x29, 0x22, 0x0A, 0xCC, - 0xAB, 0x6A, 0xC8, 0x1B, 0xC0, 0x01, 0x99, 0x01, 0x02, 0x1C, 0x90, 0x89, 0x1F, 0xC0, 0x01, 0x99, - 0xEF, 0xC1, 0x5C, 0x55, 0x29, 0x22, 0x0B, 0xCC, 0xAB, 0x6A, 0xC9, 0xD5, 0xC1, 0x5D, 0x55, 0x29, - 0x22, 0x0A, 0xDC, 0xAB, 0x6A, 0xC8, 0x09, 0xC0, 0x01, 0x99, 0xBB, 0x01, 0x64, 0x51, 0x22, 0x23, - 0xA4, 0x41, 0x64, 0x81, 0x20, 0x47, 0x01, 0x0E, 0xD0, 0x94, 0x44, 0x64, 0x81, 0x10, 0x47, 0x60, - 0x04, 0x0C, 0x27, 0x22, 0x72, 0x64, 0x04, 0x58, 0x82, 0x21, 0x35, 0xFD, 0xC2, 0x01, 0x52, 0xEB, - 0x22, 0xC5, 0xC8, 0x16, 0xED, 0xC2, 0x01, 0x52, 0x2A, 0x8E, 0x4D, 0x49, 0x46, 0x70, 0x14, 0x46, - 0x80, 0x10, 0x0D, 0x46, 0xC0, 0x70, 0x22, 0x32, 0xB9, 0x46, 0x81, 0xF0, 0x58, 0x52, 0xD0, 0x2F, - 0x1C, 0x20, 0x95, 0x3E, 0x46, 0x81, 0x25, 0x05, 0xFD, 0xC2, 0x01, 0x52, 0xE9, 0x22, 0x58, 0x22, - 0x93, 0x00, 0x1C, 0x90, 0x69, 0x10, 0x46, 0x51, 0x64, 0xD1, 0x0C, 0xFA, 0x20, 0x33, 0xE1, 0x40, - 0x66, 0x81, 0x62, 0x2C, 0x27, 0xC8, 0x37, 0x44, 0x16, 0x58, 0x52, 0xD0, 0x8E, 0x22, 0x20, 0x85, - 0xE2, 0xA8, 0x88, 0x25, 0x05, 0xFD, 0x28, 0x02, 0x52, 0xE9, 0x22, 0xDC, 0x42, 0x21, 0x7D, 0x8C, - 0x02, 0xFE, 0xC6, 0x0F, 0x00, 0x28, 0x7D, 0x8C, 0x02, 0x40, 0x16, 0x06, 0x22, 0xC3, 0x43, 0x64, - 0x81, 0x25, 0x05, 0xED, 0x28, 0x02, 0x52, 0x28, 0x8E, 0x44, 0x16, 0x08, 0x8A, 0x25, 0x05, 0xFD, - 0x28, 0x02, 0x52, 0xE9, 0x22, 0x84, 0xC2, 0x2C, 0x6D, 0x90, 0x02, 0xFE, 0xC6, 0x0E, 0x00, 0x28, - 0x6D, 0x90, 0x02, 0xDC, 0x55, 0x95, 0x22, 0xA2, 0xC0, 0xBD, 0xAA, 0x86, 0x8C, 0x00, 0x1C, 0x80, - 0xF9, 0xC2, 0x5C, 0x55, 0x29, 0x22, 0x0A, 0xCC, 0xAB, 0x6A, 0xC8, 0x16, 0xC0, 0x01, 0x98, 0x12, - 0xC0, 0x01, 0xFE, 0x05, 0x1C, 0xE0, 0x2E, 0xC0, 0x00, 0x7E, 0xE3, 0x55, 0xDF, 0x07, 0xF1, 0x04, - 0x77, 0xC3, 0x08, 0x10, 0x11, 0x70, 0x35, 0x41, 0x0B, 0x96, 0xC0, 0x00, 0x10, 0x41, 0x13, 0x00, - 0x51, 0x94, 0xF3, 0xBF, 0x6F, 0x10, 0x20, 0xAE, 0xCC, 0x00, 0x00, 0x09, 0x03, 0x0C, 0x00, 0x11, - 0xD3, 0xD9, 0xC1, 0x0C, 0x00, 0x90, 0x30, 0xC0, 0x00, 0x10, 0x11, 0xAC, 0xCA, 0x0C, 0x00, 0x90, - 0x30, 0xC0, 0x00, 0x10, 0x11, 0x78, 0xCD, 0x0C, 0x00, 0x90, 0x30, 0xC0, 0x00, 0x10, 0x21, 0x8C, - 0x1D, 0xCC, 0x00, 0x00, 0x09, 0x03, 0x0C, 0x00, 0x31, 0x70, 0x06, 0x06, 0xC0, 0x01, 0x10, 0x11, - 0xEA, 0xCA, 0x0C, 0x00, 0x90, 0x30, 0xC0, 0x00, 0x10, 0x11, 0x03, 0xCB, 0x0C, 0x00, 0x90, 0x30, - 0xC0, 0x00, 0x10, 0x21, 0x5A, 0x1D, 0xCC, 0x00, 0x00, 0x09, 0x03, 0x0C, 0x00, 0x01, 0x1C, 0x00, - 0xF1, 0xCF, 0xF6, 0x7F, 0xF6, 0x85, 0x4F, 0xC0, 0x75, 0x07, 0x1D, 0xA0, 0x88, 0x25, 0x05, 0x42, - 0x1C, 0x26, 0xCE, 0x77, 0x0E, 0x60, 0x67, 0x72, 0x37, 0xC2, 0x2F, 0x68, 0x76, 0x63, 0x26, 0x22, - 0x53, 0xF2, 0x44, 0x4E, 0x20, 0xA8, 0x94, 0x4E, 0x24, 0x0C, 0x08, 0x42, 0x23, 0x91, 0x50, 0xE2, - 0x7C, 0x27, 0x9E, 0xBA, 0x28, 0xC1, 0x62, 0x80, 0x4D, 0x5A, 0x27, 0xD7, 0x35, 0xA7, 0x8C, 0x25, - 0x05, 0xE0, 0x83, 0x52, 0xE8, 0xD0, 0x56, 0xE7, 0x67, 0x5E, 0xF8, 0xAC, 0x00, 0xF1, 0xDF, 0xFC, - 0x07, 0x5F, 0x82, 0xA6, 0x28, 0x09, 0x52, 0x00, 0x0E, 0xD0, 0x2F, 0x1C, 0x20, 0x95, 0xF2, 0xDA, - 0x8F, 0x22, 0x20, 0x95, 0xF2, 0x8A, 0x12, 0x2C, 0x19, 0xE8, 0xD1, 0x41, 0x25, 0xC0, 0x44, 0x13, - 0x8C, 0x00, 0x10, 0x8C, 0x01, 0x1A, 0x8C, 0x02, 0x23, 0x98, 0x2B, 0x41, 0x26, 0x24, 0x41, 0x27, - 0x22, 0x98, 0x1B, 0x41, 0x26, 0x22, 0x41, 0x27, 0x0B, 0xEE, 0x16, 0x64, 0x62, 0x12, 0x74, 0xF2, - 0x44, 0x30, 0x37, 0x45, 0x28, 0x04, 0x74, 0x53, 0x94, 0x82, 0xA6, 0x38, 0x03, 0xC2, 0x71, 0x20, - 0x04, 0xAE, 0x22, 0x89, 0x95, 0xC2, 0x83, 0x20, 0x84, 0x10, 0x92, 0x00, 0xAE, 0x22, 0x85, 0xB5, - 0x28, 0xC1, 0x62, 0x80, 0xAE, 0x1C, 0xF4, 0x11, 0xF1, 0x1E, 0x03, 0x30, 0x70, 0x30, 0x01, 0x03, - 0xF9, 0x41, 0x09, 0x60, 0x41, 0x0E, 0x00, 0x41, 0x0A, 0x00, 0x4B, 0x05, 0x83, 0x09, 0xEB, 0x07, - 0x5E, 0xF2, 0x4D, 0x10, 0xCF, 0xF5, 0x7F, 0xF7, 0x95, 0x44, 0x0A, 0x8C, 0x00, 0x25, 0xC2, 0x18, - 0x60, 0x0D, 0xC2, 0x28, 0x20, 0x18, 0xC2, 0x38, 0xE0, 0x2C, 0xC2, 0x48, 0x40, 0x36, 0x99, 0xEF, - 0x43, 0x20, 0x37, 0x81, 0x80, 0x45, 0x25, 0x04, 0x73, 0x53, 0x84, 0x42, 0x40, 0x37, 0x45, 0x29, - 0x78, 0xDA, 0x33, 0x45, 0x70, 0x37, 0x8C, 0x02, 0x06, 0x8D, 0x03, 0x12, 0x04, 0x7E, 0x03, 0xAE, - 0x22, 0x99, 0x85, 0x98, 0x15, 0xC2, 0xC4, 0x37, 0x20, 0xB9, 0x84, 0xE0, 0x2A, 0x92, 0x59, 0x28, - 0x4C, 0x7A, 0x03, 0x92, 0x4B, 0x8A, 0x11, 0x4A, 0x92, 0x00, 0xAE, 0x22, 0x85, 0xA5, 0x38, 0xC1, - 0x63, 0x80, 0xBE, 0x19, 0xF4, 0x11, 0xF1, 0x1E, 0x03, 0x30, 0x70, 0x30, 0x01, 0x03, 0xF9, 0x41, - 0x0C, 0x06, 0x41, 0x0E, 0x00, 0x41, 0x0A, 0x01, 0x83, 0x01, 0x9B, 0x69, 0x33, 0x78, 0xCA, 0x33, - 0x70, 0x04, 0x04, 0x77, 0xC3, 0x28, 0x60, 0xD0, 0x38, 0x50, 0x41, 0xE0, 0x37, 0xE0, 0x2A, 0x56, - 0x20, 0x99, 0x85, 0x98, 0x20, 0xC2, 0xC4, 0x37, 0xA0, 0x8C, 0x60, 0x92, 0x20, 0x85, 0x84, 0xE0, - 0x2A, 0x56, 0x20, 0x99, 0x85, 0xC2, 0xA4, 0x37, 0xA0, 0x8C, 0x60, 0x92, 0x20, 0x85, 0xA4, 0x46, - 0x80, 0x10, 0x92, 0x00, 0xAE, 0x22, 0x85, 0xA5, 0x38, 0xC1, 0x63, 0x80, 0x1E, 0x18, 0xF4, 0x11, - 0xF1, 0x1E, 0x03, 0x30, 0x70, 0x30, 0x01, 0x03, 0xF9, 0x6C, 0x83, 0x6D, 0x6D, 0x44, 0x0C, 0x08, - 0xD6, 0x10, 0xA4, 0x20, 0x90, 0x29, 0x28, 0x04, 0x79, 0xD3, 0x08, 0x80, 0x01, 0xC4, 0x20, 0x82, - 0x2E, 0x12, 0xA4, 0x30, 0xB0, 0x5F, 0x82, 0x49, 0x01, 0xC4, 0x30, 0x81, 0xAE, 0x10, 0xA4, 0x30, - 0xB0, 0x5F, 0x82, 0xA7, 0x3C, 0x03, 0x47, 0x40, 0x70, 0x37, 0x8C, 0x02, 0x06, 0x8D, 0x03, 0x15, - 0x04, 0x7E, 0x03, 0xAE, 0x62, 0x05, 0x92, 0x59, 0x88, 0x29, 0x22, 0x4C, 0x7C, 0x03, 0x44, 0x0C, - 0x33, 0x2C, 0x09, 0x52, 0x48, 0x08, 0xAE, 0x62, 0x05, 0x92, 0x59, 0x28, 0x4C, 0x7A, 0x03, 0x44, - 0x0C, 0x33, 0x2C, 0x09, 0x52, 0x48, 0x6A, 0x04, 0x08, 0x21, 0x09, 0xE0, 0x2A, 0x52, 0x58, 0x8A, - 0x13, 0x3C, 0x06, 0xE9, 0x7C, 0x1F, 0xF4, 0xD1, 0xF1, 0x1E, 0x03, 0x30, 0x70, 0x30, 0x01, 0x03, - 0xF9, 0x48, 0x47, 0x60, 0x04, 0x92, 0x20, 0x05, 0x42, 0x1C, 0x26, 0xCE, 0x77, 0xE2, 0x09, 0x46, - 0xE4, 0x60, 0x05, 0x33, 0x24, 0x09, 0x82, 0x21, 0x35, 0x4F, 0xD1, 0x2E, 0x1C, 0x20, 0xA5, 0xF2, - 0xE9, 0x14, 0x52, 0x36, 0x08, 0xE0, 0xD0, 0x8E, 0x22, 0x20, 0xA5, 0x0F, 0x46, 0x80, 0x10, 0x0D, - 0x46, 0xC0, 0x60, 0x80, 0xCE, 0x49, 0xC4, 0x80, 0x60, 0x0D, 0x44, 0x0E, 0x08, 0xD6, 0x90, 0xE9, - 0x12, 0x7B, 0x25, 0x41, 0x28, 0x00, 0x41, 0x1F, 0x1D, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, - 0x90, 0x8F, 0x74, 0x04, 0x46, 0x20, 0x09, 0x52, 0x20, 0xC4, 0x61, 0xE2, 0x7C, 0x27, 0x9E, 0x60, - 0x44, 0x0E, 0x56, 0x30, 0x43, 0x92, 0x20, 0x18, 0x52, 0xF3, 0x34, 0xED, 0xC2, 0x01, 0x52, 0x2A, - 0x9F, 0x4E, 0x23, 0x65, 0x83, 0x00, 0x0E, 0xED, 0x28, 0x02, 0x52, 0xFA, 0x60, 0x04, 0x08, 0xD1, - 0x60, 0x04, 0x0C, 0x06, 0xE8, 0x9C, 0x44, 0x0E, 0x08, 0xD6, 0x10, 0xA4, 0x40, 0x90, 0x09, 0x09, - 0x41, 0x1F, 0x1D, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0x8F, 0x74, 0x04, 0x46, 0x20, - 0x09, 0x52, 0x20, 0xC4, 0x61, 0xE2, 0x7C, 0x27, 0x9E, 0x60, 0x44, 0x0E, 0x56, 0x30, 0x43, 0x92, - 0x20, 0x18, 0x52, 0xF3, 0x54, 0xED, 0xC2, 0x01, 0x52, 0x2A, 0x9F, 0x4E, 0x25, 0x65, 0x83, 0x00, - 0x0E, 0xED, 0x28, 0x02, 0x52, 0xFA, 0x60, 0x04, 0x08, 0xD1, 0x60, 0x04, 0x0C, 0x06, 0xE8, 0x9C, - 0x41, 0x0A, 0x00, 0x41, 0x09, 0x00, 0xCB, 0x05, 0x7E, 0xE7, 0x95, 0xCF, 0x0B, 0x10, 0x04, 0x76, - 0xC3, 0x18, 0x60, 0x00, 0x0C, 0x00, 0x41, 0x70, 0x37, 0x8C, 0x02, 0x25, 0xC2, 0x38, 0x40, 0x09, - 0xC2, 0x48, 0x30, 0x10, 0xC2, 0x58, 0xA0, 0x13, 0xC2, 0x18, 0x00, 0x17, 0x99, 0xE2, 0x11, 0x95, - 0x37, 0x00, 0x51, 0x72, 0xF3, 0x43, 0x50, 0x37, 0x0C, 0x28, 0xC8, 0x14, 0xED, 0x56, 0x41, 0x82, - 0x48, 0x58, 0xE0, 0x37, 0x98, 0x1E, 0x0C, 0x41, 0xC8, 0x16, 0x80, 0xD8, 0x58, 0xED, 0x80, 0x41, - 0x52, 0x48, 0x58, 0xE0, 0x37, 0xEC, 0x56, 0x41, 0xD2, 0xA6, 0x37, 0xF0, 0xEE, 0x03, 0x54, 0x70, - 0x30, 0x41, 0x05, 0xF9, 0x51, 0x76, 0x33, 0x90, 0xB9, 0x16, 0x51, 0x79, 0x13, 0x10, 0x25, 0x37, - 0x3F, 0x04, 0x75, 0xC3, 0x80, 0x82, 0x4C, 0xD1, 0x6E, 0x15, 0x24, 0x88, 0x84, 0x05, 0x7E, 0x83, - 0xE9, 0xC1, 0x10, 0x84, 0x6C, 0x01, 0x88, 0x8D, 0xD5, 0x0E, 0x18, 0x24, 0x85, 0x84, 0x05, 0x7E, - 0xC3, 0x0E, 0x18, 0x24, 0x6D, 0x7A, 0x03, 0xEF, 0x3E, 0x40, 0x05, 0x07, 0x13, 0x54, 0x90, 0x1F, - 0x65, 0x37, 0x03, 0x99, 0xF4, 0x10, 0x95, 0x37, 0x00, 0x51, 0x72, 0xF3, 0xC3, 0x6E, 0x15, 0x24, - 0x6D, 0x7C, 0x03, 0xD2, 0xA6, 0x37, 0xF0, 0xEE, 0x03, 0x54, 0x70, 0x30, 0x41, 0x05, 0xF9, 0x51, - 0x76, 0x33, 0x90, 0x59, 0x0B, 0x51, 0x79, 0x13, 0x10, 0x25, 0x37, 0x3F, 0xEC, 0x80, 0x41, 0xD2, - 0xC6, 0x37, 0x20, 0x6D, 0x7A, 0x03, 0xEF, 0x3E, 0x40, 0x05, 0x07, 0x13, 0x54, 0x90, 0x1F, 0x65, - 0x37, 0x03, 0x98, 0x77, 0x51, 0x80, 0x03, 0x10, 0x95, 0x37, 0x00, 0x51, 0x72, 0xF3, 0xC3, 0x6E, - 0x15, 0x24, 0x6D, 0x7C, 0x03, 0xD2, 0xA6, 0x37, 0xF0, 0xEE, 0x03, 0x54, 0x70, 0x30, 0x41, 0x05, - 0xF9, 0x11, 0x1F, 0x10, 0x95, 0x37, 0x01, 0xEC, 0x80, 0x41, 0xD2, 0xC6, 0x37, 0x20, 0x6D, 0x7A, - 0x03, 0xEF, 0x3E, 0x40, 0x05, 0x07, 0x13, 0x54, 0x90, 0x1F, 0x70, 0x00, 0x51, 0x76, 0x33, 0x00, - 0x1C, 0x00, 0xF1, 0xDF, 0x7F, 0x06, 0x04, 0x79, 0xD3, 0x08, 0x70, 0x83, 0xA6, 0x88, 0x25, 0x05, - 0xED, 0xC2, 0x01, 0x52, 0xE8, 0xC0, 0x8C, 0x38, 0x81, 0xAC, 0x40, 0x00, 0x38, 0x08, 0xD1, 0x80, - 0x12, 0x2C, 0x28, 0xD8, 0xCF, 0x98, 0x33, 0x68, 0x8A, 0x58, 0x52, 0xD0, 0x2E, 0x1C, 0x20, 0x85, - 0x0E, 0xCC, 0x88, 0x13, 0xC8, 0x0A, 0x04, 0x80, 0x83, 0x10, 0x0D, 0x28, 0xC1, 0x92, 0x81, 0xFD, - 0x4C, 0x00, 0x38, 0x58, 0x66, 0xF0, 0x1D, 0x10, 0xDF, 0xFC, 0x27, 0x51, 0x98, 0x02, 0xCE, 0xD7, - 0xF6, 0x07, 0x0A, 0x08, 0xEF, 0x50, 0x90, 0x29, 0x25, 0x9A, 0xC2, 0xF7, 0xF4, 0x07, 0x0A, 0x08, - 0xEF, 0x50, 0xB0, 0x29, 0x25, 0x9C, 0xC2, 0x77, 0xF5, 0x07, 0x0A, 0x08, 0xEF, 0x50, 0xD0, 0x29, - 0x8A, 0x05, 0x9E, 0xC2, 0x97, 0xF6, 0x07, 0x0A, 0x08, 0xEF, 0x50, 0xF0, 0x29, 0x25, 0xA0, 0xC2, - 0xB7, 0xF6, 0x07, 0x0A, 0x08, 0xEF, 0x50, 0x10, 0x2A, 0x8A, 0x05, 0xA2, 0x12, 0x85, 0x2D, 0x0B, - 0x2B, 0x04, 0x7E, 0xF2, 0x4D, 0x10, 0xDF, 0xFC, 0x27, 0x44, 0x04, 0xC1, 0x7F, 0x0D, 0xC1, 0x02, - 0x09, 0x15, 0x85, 0x29, 0xFF, 0xFE, 0x13, 0x85, 0x29, 0xFE, 0x7C, 0xFE, 0x7F, 0xA0, 0x80, 0xF0, - 0x0E, 0x05, 0x99, 0x52, 0xA2, 0x29, 0xC2, 0x07, 0x10, 0xF0, 0x07, 0x0A, 0x08, 0xEF, 0x50, 0xB0, - 0x29, 0x8A, 0x05, 0x9C, 0xC2, 0xB7, 0xF6, 0x07, 0x0A, 0x0C, 0xEF, 0x50, 0xD0, 0x29, 0x7F, 0xA0, - 0x40, 0xF0, 0x0E, 0x05, 0x9E, 0x42, 0x24, 0x54, 0xF0, 0x29, 0x03, 0x64, 0x60, 0x41, 0xC4, 0x50, - 0x00, 0x2A, 0x44, 0x0D, 0x05, 0xA1, 0x82, 0x29, 0x41, 0x84, 0x51, 0x00, 0x2A, 0x44, 0x19, 0x05, - 0xA1, 0x42, 0x04, 0xA1, 0xF5, 0x20, 0x1A, 0x4A, 0x05, 0xA2, 0x42, 0x14, 0xA1, 0xF5, 0x20, 0x1A, - 0x4A, 0x05, 0xA3, 0xC2, 0x26, 0x29, 0x91, 0x52, 0xF0, 0x06, 0x0A, 0x08, 0xEF, 0x50, 0x40, 0x2A, - 0x6C, 0x94, 0x12, 0x29, 0x05, 0x6F, 0xA0, 0x80, 0xF0, 0x0E, 0x05, 0xA5, 0xC2, 0x66, 0x29, 0x91, - 0x52, 0xF0, 0x06, 0x0A, 0x08, 0xEF, 0x50, 0x60, 0x2A, 0x6C, 0x98, 0x12, 0x29, 0x05, 0x6F, 0xA0, - 0x80, 0xF0, 0x0E, 0x05, 0xA7, 0xC2, 0xA6, 0x29, 0x91, 0x52, 0xF0, 0x06, 0x0A, 0x08, 0xEF, 0x50, - 0x80, 0x2A, 0x6C, 0x9C, 0x12, 0x29, 0x05, 0x6F, 0xA0, 0x80, 0xF0, 0x0E, 0x05, 0xA9, 0xC2, 0xE6, - 0x29, 0x91, 0x52, 0xF0, 0x06, 0x0A, 0x08, 0xEF, 0x50, 0xA0, 0x2A, 0x6C, 0xA0, 0x12, 0x29, 0x05, - 0x6F, 0xA0, 0x80, 0xF0, 0x0E, 0x05, 0xAB, 0xC2, 0x26, 0x2A, 0x91, 0x52, 0xF0, 0x06, 0x0A, 0x08, - 0xEF, 0x50, 0xC0, 0x2A, 0x6C, 0xA4, 0x12, 0x29, 0x05, 0x6F, 0xA0, 0x80, 0xF0, 0x0E, 0x05, 0xAD, - 0xC2, 0x66, 0x2A, 0x91, 0x52, 0xF0, 0x06, 0x0A, 0x08, 0xEF, 0x50, 0xE0, 0x2A, 0x6C, 0xA8, 0x12, - 0x29, 0x05, 0x6F, 0xA0, 0x80, 0xF0, 0x0E, 0x05, 0xAF, 0x12, 0x85, 0x2D, 0x18, 0x2B, 0x04, 0x7E, - 0xF2, 0x4D, 0x10, 0x04, 0xD9, 0xD2, 0x68, 0xE6, 0x43, 0x30, 0x2E, 0x8D, 0x05, 0x33, 0x04, 0xDA, - 0xD2, 0xC8, 0x86, 0x42, 0xB0, 0x2D, 0x8D, 0x61, 0x1D, 0x04, 0xDC, 0xD2, 0x38, 0x27, 0x41, 0xD0, - 0x2D, 0x8D, 0x68, 0x07, 0xC3, 0x60, 0x29, 0x00, 0xF1, 0x48, 0x58, 0xED, 0xD9, 0x02, 0x92, 0x58, - 0x89, 0x10, 0x0C, 0x0A, 0xE8, 0xE8, 0x51, 0xE3, 0x02, 0x10, 0x85, 0x29, 0x0D, 0x51, 0xD8, 0x12, - 0xB0, 0x42, 0x00, 0xF1, 0xCF, 0xF7, 0x7F, 0xF5, 0x75, 0xC2, 0xD8, 0xD0, 0x12, 0xC2, 0xA8, 0x50, - 0x12, 0xC2, 0x38, 0x86, 0x14, 0xC2, 0x68, 0xC6, 0x14, 0xC2, 0xC8, 0xE6, 0x17, 0xC2, 0x18, 0xB6, - 0x1B, 0xC2, 0x38, 0x87, 0x1F, 0xC2, 0x88, 0x56, 0x23, 0xC2, 0x08, 0x23, 0x27, 0xC2, 0x18, 0x83, - 0x28, 0xC2, 0x28, 0x73, 0x29, 0xC2, 0x38, 0x63, 0x2A, 0xC2, 0xB8, 0x52, 0x2B, 0xC2, 0xD8, 0x62, - 0x2B, 0xC2, 0x38, 0x74, 0x2B, 0xC2, 0xE8, 0x84, 0x2B, 0xC2, 0xA8, 0x92, 0x2B, 0xC2, 0xE8, 0xD5, - 0x32, 0xC2, 0xF8, 0xA2, 0x38, 0xC2, 0x08, 0x94, 0x39, 0xC2, 0x58, 0x82, 0x3A, 0xC2, 0x88, 0x8C, - 0x40, 0xC2, 0x98, 0xCC, 0x40, 0xC2, 0xA8, 0xBC, 0x42, 0xC2, 0xB8, 0xAC, 0x44, 0xC2, 0xC8, 0x9C, - 0x46, 0xC2, 0xD8, 0x1C, 0x48, 0xC2, 0xE8, 0x9C, 0x49, 0xC2, 0xF8, 0x7C, 0x4B, 0xC2, 0x08, 0x2D, - 0x4C, 0xC2, 0x18, 0xDD, 0x4C, 0xC2, 0x28, 0xDD, 0x4D, 0xC2, 0x38, 0x3D, 0x4F, 0xC2, 0x48, 0xBD, - 0x50, 0xC2, 0x58, 0xED, 0x51, 0xC2, 0x68, 0x3D, 0x53, 0xC2, 0x78, 0xBD, 0x52, 0xC2, 0x88, 0x3D, - 0x76, 0x99, 0xBF, 0x17, 0xD0, 0xF1, 0x48, 0x58, 0xED, 0xD9, 0x02, 0x92, 0x58, 0x89, 0x10, 0x0C, - 0x0A, 0xE8, 0xE8, 0x51, 0xE3, 0x02, 0x90, 0x69, 0x7B, 0xC3, 0xD3, 0x38, 0x90, 0xA9, 0x7A, 0x04, - 0xE3, 0xD2, 0x08, 0x50, 0x12, 0x95, 0x2D, 0x66, 0x51, 0xE3, 0x12, 0x10, 0x85, 0x29, 0x66, 0x51, - 0xD8, 0x12, 0xB0, 0x42, 0x90, 0xA9, 0x77, 0x11, 0x0F, 0x9F, 0x09, 0x77, 0x04, 0xE3, 0xD2, 0x18, - 0x00, 0x43, 0x90, 0x2D, 0x8D, 0x66, 0x25, 0x51, 0xDA, 0xC2, 0x16, 0x35, 0x2E, 0x02, 0x51, 0x98, - 0xC2, 0x16, 0x85, 0x2D, 0x01, 0x2B, 0x04, 0x99, 0x35, 0x17, 0xD0, 0xEE, 0x99, 0x2B, 0x47, 0x30, - 0x2E, 0x8D, 0x02, 0x30, 0x04, 0xDA, 0xD2, 0xC8, 0x56, 0x12, 0xB5, 0x2D, 0x61, 0x51, 0xE3, 0x32, - 0x10, 0x85, 0x29, 0x61, 0x51, 0xD8, 0x12, 0xB0, 0x42, 0x90, 0x09, 0x6F, 0x11, 0xCA, 0x9E, 0x69, - 0x6E, 0x04, 0xE3, 0xD2, 0x38, 0x00, 0x43, 0xB0, 0x2D, 0x8D, 0x61, 0x25, 0x51, 0xDC, 0x32, 0x17, - 0x35, 0x2E, 0x04, 0x51, 0x98, 0x32, 0x17, 0x85, 0x2D, 0x01, 0x2B, 0x04, 0x99, 0xAB, 0x16, 0x80, - 0xEA, 0x99, 0xA1, 0x46, 0x30, 0x2E, 0x8D, 0x04, 0x30, 0x04, 0xDC, 0xD2, 0x38, 0x57, 0x12, 0xD5, - 0x2D, 0x68, 0x51, 0xE3, 0x52, 0x10, 0x85, 0x29, 0x68, 0x51, 0xD8, 0x12, 0xB0, 0x42, 0x90, 0x69, - 0x66, 0x11, 0x85, 0x9E, 0xC9, 0x65, 0x51, 0x77, 0x03, 0xB0, 0x4F, 0xC0, 0x9E, 0x86, 0xD1, 0x76, - 0xB4, 0x23, 0x90, 0xE9, 0x63, 0xEC, 0x52, 0x07, 0x6D, 0x47, 0x7B, 0x04, 0x3B, 0x02, 0x99, 0x27, - 0xC6, 0x4E, 0xC3, 0xD0, 0x76, 0xB4, 0x47, 0xB0, 0x23, 0x90, 0x09, 0x61, 0xEC, 0x69, 0x18, 0x6D, - 0x47, 0x7B, 0x04, 0x3B, 0x02, 0x99, 0xF9, 0xB5, 0x50, 0x90, 0x09, 0x5F, 0x8B, 0x05, 0x99, 0xE7, - 0xB5, 0x6E, 0x90, 0xE9, 0x5D, 0x6B, 0x06, 0x99, 0xD5, 0x45, 0xB0, 0x32, 0x8D, 0x00, 0x65, 0xFB, - 0x04, 0x1B, 0x03, 0x51, 0x98, 0x02, 0x1C, 0x95, 0x29, 0x2A, 0x51, 0x9A, 0x22, 0x16, 0xB5, 0x29, - 0x1A, 0x51, 0x9C, 0x02, 0x17, 0xD5, 0x29, 0x7F, 0x51, 0x9E, 0x12, 0x10, 0xF5, 0x29, 0x00, 0x51, - 0xA0, 0x02, 0x10, 0x15, 0x2A, 0x01, 0x51, 0xA2, 0x42, 0x15, 0x85, 0x2D, 0x0B, 0x2B, 0x04, 0x99, - 0x65, 0x35, 0x0C, 0x8D, 0x03, 0x99, 0x59, 0xB5, 0x4F, 0xB0, 0x31, 0x10, 0x85, 0x29, 0xCF, 0x51, - 0x99, 0x82, 0x12, 0xA5, 0x29, 0x19, 0x51, 0x9B, 0x42, 0x10, 0xC5, 0x29, 0x08, 0x51, 0x9D, 0x42, - 0x10, 0xE5, 0x29, 0x00, 0x51, 0x9F, 0xE2, 0x13, 0x05, 0x2A, 0x7F, 0x51, 0xA1, 0x02, 0x10, 0x25, - 0x2A, 0x00, 0x51, 0xD8, 0xB2, 0xB0, 0x42, 0x90, 0x49, 0x4F, 0x04, 0x2B, 0x23, 0x8D, 0x00, 0xE7, - 0x14, 0x50, 0xC4, 0x99, 0xDD, 0x44, 0xB0, 0x32, 0xD2, 0x08, 0x00, 0x4D, 0x11, 0x87, 0x9C, 0x69, - 0x4C, 0xFB, 0x04, 0x1B, 0x03, 0x51, 0x98, 0x12, 0x4C, 0xE0, 0x33, 0x05, 0x99, 0x12, 0xA5, 0x29, - 0x00, 0x51, 0x9B, 0x02, 0x10, 0xC5, 0x29, 0x00, 0x51, 0x9D, 0x02, 0x10, 0xE5, 0x29, 0x00, 0x51, - 0x9F, 0x02, 0x10, 0x05, 0x2A, 0x00, 0x51, 0xA1, 0x02, 0x10, 0x25, 0x2A, 0x00, 0x51, 0xD8, 0xB2, - 0xB0, 0x42, 0x90, 0xE9, 0x45, 0x51, 0x76, 0x13, 0x90, 0x29, 0x45, 0x51, 0x77, 0x13, 0x10, 0x35, - 0x37, 0x0F, 0x51, 0x74, 0x43, 0x11, 0x34, 0x01, 0x10, 0x65, 0x37, 0x01, 0x99, 0x2B, 0x14, 0x75, - 0x37, 0x02, 0x51, 0x75, 0x03, 0x10, 0x35, 0x37, 0x1F, 0x51, 0x74, 0x43, 0x11, 0x34, 0x01, 0x90, - 0x49, 0x40, 0x51, 0x77, 0x33, 0x10, 0x55, 0x37, 0x00, 0x51, 0x73, 0xF3, 0x11, 0x45, 0x37, 0x14, - 0x41, 0x13, 0x00, 0x99, 0xDD, 0x13, 0x75, 0x37, 0x04, 0x51, 0x73, 0xF3, 0x10, 0x45, 0x37, 0x14, - 0x41, 0x13, 0x00, 0x99, 0xBD, 0x13, 0x75, 0x37, 0x05, 0x51, 0x73, 0xF3, 0x10, 0x45, 0x37, 0x14, - 0x41, 0x13, 0x00, 0x99, 0x9D, 0x43, 0x50, 0x37, 0x08, 0xD1, 0xC0, 0x00, 0x24, 0x32, 0x07, 0x51, - 0x75, 0x03, 0x10, 0x65, 0x37, 0x01, 0x99, 0x77, 0x13, 0x55, 0x37, 0x00, 0x51, 0x76, 0x13, 0x90, - 0x49, 0x36, 0x51, 0x75, 0x83, 0x12, 0x65, 0x37, 0x01, 0x99, 0x51, 0x23, 0x0C, 0x07, 0x42, 0x05, - 0x75, 0x13, 0x65, 0x37, 0x01, 0x99, 0x39, 0x43, 0x30, 0x37, 0x0C, 0x70, 0xC9, 0x2B, 0x43, 0x30, - 0x37, 0x80, 0x10, 0x0D, 0x99, 0x1B, 0x43, 0x30, 0x37, 0x0C, 0x10, 0x32, 0xC3, 0x30, 0x04, 0x73, - 0x23, 0x0A, 0x10, 0x0D, 0x99, 0xFB, 0x42, 0x34, 0xC1, 0x20, 0x90, 0xEC, 0x2E, 0x44, 0x13, 0x08, - 0xD1, 0x90, 0x09, 0x2E, 0x44, 0x13, 0x08, 0x20, 0x33, 0xD3, 0x42, 0x34, 0x21, 0x0A, 0x01, 0x0D, - 0x99, 0xC3, 0xD2, 0x68, 0x6D, 0xA1, 0x05, 0x50, 0xF1, 0x37, 0xFC, 0xC2, 0x01, 0x7F, 0x83, 0x29, - 0xA1, 0x15, 0x50, 0xF1, 0x37, 0xFC, 0x28, 0x02, 0x7F, 0x43, 0x44, 0x10, 0xFC, 0xD7, 0x10, 0x2C, - 0x90, 0x50, 0x51, 0x98, 0xF2, 0xEF, 0x3F, 0x51, 0x98, 0xE2, 0x5F, 0x91, 0x29, 0x44, 0x13, 0x05, - 0x9A, 0x42, 0x30, 0x37, 0x05, 0x9B, 0x42, 0x40, 0x37, 0x05, 0x9C, 0xC2, 0xD7, 0xF6, 0x07, 0x0A, - 0x08, 0xEF, 0x50, 0xD0, 0x29, 0x25, 0x9E, 0x42, 0x70, 0x37, 0x05, 0x9F, 0x42, 0x50, 0x37, 0x05, - 0xA0, 0x42, 0x60, 0x37, 0x05, 0xA1, 0x42, 0x90, 0x37, 0x05, 0xA2, 0x42, 0x81, 0x37, 0x15, 0xA3, - 0x22, 0x8D, 0x00, 0xB9, 0x80, 0xA7, 0x3C, 0x03, 0x47, 0xA2, 0x4C, 0x81, 0x37, 0x33, 0xC4, 0x80, - 0x82, 0xED, 0x62, 0x24, 0x80, 0x0C, 0x58, 0x68, 0xED, 0x98, 0x02, 0x52, 0x58, 0x6A, 0x24, 0x80, - 0x0D, 0x58, 0xED, 0x98, 0x02, 0x52, 0x58, 0x8A, 0x39, 0x84, 0x25, 0x05, 0x5E, 0x23, 0x95, 0x2E, - 0x6F, 0xA0, 0x80, 0xF0, 0x0E, 0x2A, 0x46, 0x02, 0xC8, 0x80, 0xD5, 0x8E, 0x29, 0x20, 0x85, 0xA5, - 0xE4, 0x46, 0x02, 0xD8, 0x80, 0xD5, 0x8E, 0x29, 0x20, 0x85, 0xA5, 0x38, 0xC1, 0xC3, 0x90, 0x9E, - 0xF6, 0x04, 0x78, 0x03, 0xC8, 0xD0, 0xC0, 0x80, 0x92, 0xFD, 0x0B, 0x51, 0x78, 0x03, 0x90, 0x39, - 0x0B, 0x78, 0xCA, 0x33, 0x70, 0x24, 0xCA, 0x14, 0x78, 0x33, 0x43, 0x0C, 0x19, 0xD8, 0x2E, 0x46, - 0x02, 0xC8, 0x80, 0x85, 0xD6, 0x8E, 0x29, 0x20, 0x85, 0xA5, 0x46, 0x02, 0xD8, 0x80, 0xD5, 0x8E, - 0x29, 0x20, 0x85, 0xA5, 0x98, 0x43, 0x58, 0x52, 0xE0, 0x35, 0x52, 0xE9, 0xF2, 0x06, 0x0A, 0x08, - 0xEF, 0xA0, 0x62, 0x24, 0x80, 0x0C, 0x58, 0xED, 0x98, 0x02, 0x52, 0x58, 0x4A, 0x6E, 0x24, 0x80, - 0x0D, 0x58, 0xED, 0x98, 0x02, 0x52, 0x58, 0x8A, 0x13, 0x3C, 0x0C, 0xE9, 0x69, 0x4F, 0x80, 0x37, - 0x80, 0x0C, 0x0D, 0x0C, 0x19, 0xD8, 0x07, 0x51, 0x78, 0x03, 0x10, 0x85, 0x2D, 0x24, 0x2B, 0x04, - 0x99, 0x83, 0xB0, 0x4F, 0x40, 0x60, 0x37, 0x8D, 0x03, 0x35, 0x04, 0x80, 0xD3, 0x08, 0xB0, 0x10, - 0x85, 0x29, 0x01, 0x98, 0x17, 0x8D, 0x41, 0x0A, 0x51, 0x98, 0x32, 0xE0, 0x3F, 0x51, 0x98, 0x22, - 0x50, 0x90, 0x29, 0xEE, 0x17, 0x85, 0x29, 0x00, 0x51, 0x99, 0x02, 0x10, 0x85, 0x2D, 0x02, 0x2B, - 0x04, 0x98, 0x22, 0x14, 0xE3, 0xC2, 0xA1, 0x80, 0xBC, 0xD0, 0x9E, 0x2D, 0x20, 0x98, 0x85, 0x04, - 0xE3, 0x82, 0x10, 0x0D, 0x7E, 0xE5, 0x75, 0xCF, 0x09, 0x10, 0xDF, 0x7F, 0x06, 0x64, 0x21, 0xAC, - 0x00, 0x2F, 0x54, 0x22, 0xED, 0xE4, 0x02, 0x82, 0x49, 0x48, 0x25, 0x82, 0x11, 0x1D, 0x23, 0x96, - 0x62, 0x41, 0x21, 0x00, 0x41, 0x22, 0x00, 0x11, 0x4A, 0x6B, 0x06, 0xDF, 0x01, 0xF1, 0x10, 0x10, - 0x10, 0x11, 0x01, 0x00, 0xF1, 0xDF, 0xF8, 0x47, 0x5F, 0x36, 0x00, 0x04, 0x09, 0x1B, 0x07, 0x99, - 0xCA, 0xB1, 0x79, 0x30, 0xF0, 0x04, 0x50, 0x31, 0x10, 0x04, 0x2B, 0x44, 0x14, 0xD2, 0x08, 0xB0, - 0x1A, 0x44, 0x45, 0x81, 0xA0, 0x05, 0xEE, 0x42, 0x44, 0x10, 0xDC, 0xDB, 0xB0, 0x78, 0x80, 0xF9, - 0x33, 0x00, 0x07, 0x22, 0x13, 0x4E, 0xD0, 0x17, 0x6B, 0x04, 0x51, 0xEE, 0x02, 0x08, 0x0C, 0x20, - 0x6D, 0x02, 0x01, 0x98, 0x16, 0x0B, 0x07, 0x51, 0xEE, 0x02, 0x0A, 0x0C, 0x20, 0x6D, 0x02, 0x01, - 0xC2, 0x46, 0x10, 0xF0, 0x06, 0x0A, 0x08, 0xEF, 0x20, 0x83, 0xC1, 0x7F, 0x05, 0xEF, 0x22, 0x6C, - 0x04, 0x01, 0x6F, 0xA0, 0x20, 0xF0, 0x0E, 0xC1, 0x7F, 0x05, 0xF0, 0x22, 0x5C, 0x06, 0x01, 0x5F, - 0xA0, 0x80, 0xF0, 0x0E, 0x32, 0x18, 0xFC, 0x57, 0x10, 0x2F, 0x5F, 0xA0, 0x20, 0xF0, 0x0E, 0xC1, - 0x7F, 0x05, 0xF2, 0x22, 0x7C, 0x02, 0x01, 0x8A, 0xC1, 0x7F, 0x05, 0xF3, 0x42, 0x40, 0x10, 0x47, - 0x22, 0xEC, 0x47, 0x23, 0x35, 0x7F, 0xA0, 0x80, 0xF0, 0xAE, 0x2A, 0xE1, 0x07, 0x56, 0x12, 0x3D, - 0x20, 0xC1, 0x33, 0x35, 0x66, 0x46, 0x13, 0x3C, 0xA0, 0x21, 0xA1, 0x33, 0x35, 0x66, 0x25, 0xF4, - 0x12, 0x55, 0x2F, 0x00, 0x51, 0xF6, 0x02, 0x10, 0x34, 0x92, 0x10, 0x03, 0x86, 0x8E, 0xE9, 0x36, - 0x20, 0x04, 0x67, 0xAB, 0x04, 0x58, 0x50, 0xD8, 0x02, 0x20, 0x32, 0x29, 0x6A, 0x78, 0xED, 0x98, - 0x02, 0x52, 0x4A, 0xD8, 0xEE, 0x2E, 0x20, 0xA5, 0x85, 0x18, 0x41, 0x80, 0x2D, 0x23, 0x81, 0x7D, - 0x4D, 0x80, 0x2D, 0x45, 0x23, 0x21, 0x36, 0xE8, 0x03, 0x31, 0x60, 0xB1, 0x39, 0xC0, 0x2E, 0x75, - 0xD0, 0x76, 0xB4, 0x47, 0xB0, 0x23, 0xE0, 0x47, 0x5E, 0xF6, 0x8C, 0x00, 0xF1, 0xEF, 0x32, 0xA8, - 0xB0, 0x83, 0x58, 0x3D, 0x04, 0xD2, 0x07, 0x53, 0x10, 0x8D, 0x61, 0x00, 0x10, 0xFC, 0x19, 0x08, - 0xD2, 0x30, 0xC8, 0x00, 0x11, 0x45, 0x63, 0x00, 0x10, 0xFC, 0xD9, 0x30, 0x48, 0x00, 0x06, 0x03, - 0xC1, 0xF1, 0x81, 0x04, 0x0D, 0x06, 0x01, 0x81, 0xC0, 0x0D, 0x83, 0x1A, 0x30, 0x88, 0xD5, 0x06, - 0xD5, 0xC1, 0xCF, 0x0D, 0x83, 0x5A, 0x3D, 0x28, 0xB0, 0x20, 0xD4, 0x00, 0x83, 0x08, 0x33, 0x88, - 0x40, 0x42, 0x20, 0x45, 0x01, 0x00, 0xCC, 0xF0, 0x00, 0xD8, 0xEF, 0x43, 0x00, 0x12, 0x31, 0x88, - 0x40, 0x0A, 0x01, 0x05, 0x2B, 0xE3, 0x3F, 0x48, 0x05, 0x2B, 0x23, 0x8D, 0x00, 0x97, 0x30, 0x88, - 0x1A, 0x83, 0x18, 0x34, 0x88, 0x11, 0x83, 0x10, 0x33, 0x98, 0x31, 0x83, 0x1A, 0xD3, 0x9E, 0xF8, - 0x83, 0x54, 0x08, 0x82, 0x08, 0x00, 0xA2, 0x08, 0x00, 0xE2, 0x38, 0x03, 0x42, 0x08, 0x00, 0x12, - 0x88, 0x01, 0x22, 0xD8, 0x03, 0x32, 0x88, 0x38, 0x88, 0xE9, 0x06, 0xE9, 0xC1, 0x3F, 0x81, 0x40, - 0x0D, 0x83, 0x91, 0x3E, 0x88, 0xEA, 0x06, 0xEA, 0xC1, 0x3F, 0x81, 0x80, 0x0D, 0x83, 0xA1, 0xAE, - 0x10, 0x50, 0x38, 0x58, 0x84, 0x83, 0x44, 0x98, 0x89, 0x08, 0x83, 0xA0, 0x31, 0x18, 0x1A, 0x83, - 0xA2, 0x31, 0x88, 0x41, 0x83, 0x19, 0x34, 0xA8, 0x41, 0x83, 0x10, 0x31, 0x18, 0x11, 0x83, 0x1A, - 0x31, 0x08, 0x31, 0x83, 0x11, 0x33, 0x28, 0x31, 0xED, 0x94, 0x3F, 0x0A, 0x01, 0x85, 0x20, 0x98, - 0x0E, 0x20, 0x99, 0x18, 0x20, 0x92, 0x30, 0x83, 0x3F, 0x39, 0x08, 0x96, 0x20, 0x9A, 0xAC, 0x20, - 0x9B, 0x00, 0x48, 0x85, 0x83, 0xC8, 0x6E, 0xC0, 0x1E, 0xFC, 0xD3, 0x30, 0x18, 0xEC, 0x20, 0x12, - 0x80, 0x20, 0x13, 0x02, 0x20, 0x33, 0x02, 0x20, 0x43, 0x00, 0x83, 0x0E, 0x3B, 0x18, 0xB0, 0x83, - 0x08, 0x6B, 0x00, 0x1A, 0x8C, 0x1F, 0x28, 0xD0, 0x30, 0x88, 0xEE, 0x06, 0xEE, 0xC1, 0x3F, 0x0D, - 0x83, 0xE1, 0x3E, 0xB8, 0x54, 0x83, 0x5B, 0x35, 0x98, 0xE5, 0x83, 0x69, 0x3E, 0xD8, 0x54, 0x06, - 0x55, 0xC1, 0xCF, 0x81, 0x10, 0x0D, 0x06, 0x54, 0xC1, 0xFC, 0x81, 0x01, 0x0D, 0x20, 0x56, 0x06, - 0x20, 0x52, 0x0F, 0x20, 0x53, 0x7A, 0x83, 0x68, 0x6E, 0x60, 0x1E, 0xFC, 0x13, 0x08, 0xD4, 0x30, - 0x18, 0xE6, 0x83, 0x12, 0x00, 0xF2, 0x01, 0x30, 0x98, 0xE3, 0x83, 0x49, 0x3E, 0x88, 0xE2, 0x06, - 0xE2, 0xC1, 0x3F, 0x81, 0x40, 0x0D, 0x83, 0x21, 0x3E, 0xA8, 0x01, 0xEF, 0x14, 0x65, 0x29, 0x40, - 0x10, 0x10, 0x92, 0x03, 0x07, 0xF1, 0x92, 0xF2, 0x0B, 0xF1, 0x83, 0x39, 0x01, 0xF1, 0x83, 0x31, - 0x01, 0xF1, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x83, 0x02, 0x00, 0x00, 0x00, 0x00, - 0xF1, 0x20, 0xD2, 0x00, 0x20, 0xD0, 0x01, 0x83, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x83, 0x66, - 0x09, 0x22, 0x0D, 0x00, 0x02, 0x0D, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, - 0x10, 0x10, 0x51, 0x8C, 0x03, 0x10, 0xA5, 0x32, 0x00, 0x48, 0x58, 0xED, 0xEE, 0x02, 0x82, 0x58, - 0x89, 0x10, 0x0C, 0x07, 0xD8, 0xE8, 0x51, 0xF5, 0xF2, 0x10, 0x65, 0x2F, 0x55, 0x51, 0xF7, 0x82, - 0x18, 0x85, 0x2F, 0x35, 0x51, 0xF9, 0x02, 0x1C, 0xA5, 0x2F, 0x00, 0x51, 0xFB, 0xF2, 0x1F, 0xC5, - 0x2F, 0x01, 0x51, 0xFD, 0x42, 0x15, 0xD5, 0x38, 0x00, 0x51, 0x8E, 0x03, 0x10, 0x55, 0x33, 0x00, - 0x41, 0x0B, 0x00, 0x41, 0x0A, 0x00, 0x41, 0x02, 0x00, 0x41, 0x03, 0x00, 0x41, 0x05, 0x00, 0x41, - 0x06, 0x00, 0x41, 0x13, 0x00, 0x41, 0x09, 0x00, 0x41, 0x00, 0x00, 0x41, 0x01, 0x00, 0x41, 0x44, - 0x00, 0x51, 0x94, 0x02, 0x10, 0x55, 0x29, 0x00, 0x41, 0x10, 0x0E, 0x41, 0x11, 0x0E, 0xEC, 0x52, - 0x07, 0x6D, 0x47, 0x41, 0x04, 0x00, 0x41, 0x07, 0x00, 0x44, 0x04, 0x81, 0xC0, 0x0D, 0x44, 0x07, - 0x81, 0x01, 0xC1, 0xFD, 0x0D, 0x41, 0x1F, 0x00, 0x41, 0x21, 0x00, 0x41, 0x22, 0x00, 0x41, 0x23, - 0x00, 0x41, 0x24, 0x00, 0xEC, 0xC0, 0x8B, 0xD2, 0x06, 0x11, 0x10, 0x35, 0x2E, 0x00, 0x51, 0x37, - 0x03, 0x10, 0x85, 0x33, 0x00, 0x51, 0x72, 0x03, 0x10, 0x35, 0x37, 0x0F, 0x51, 0x74, 0x43, 0x11, - 0x65, 0x37, 0x00, 0x51, 0x77, 0x03, 0x10, 0x55, 0x37, 0x00, 0x51, 0x78, 0x03, 0x10, 0x95, 0x37, - 0x00, 0x51, 0x7F, 0x03, 0x10, 0xF5, 0x33, 0x00, 0x51, 0x41, 0x03, 0x10, 0x14, 0xF9, 0x0F, 0x0C, - 0x20, 0x6D, 0x26, 0x02, 0x10, 0xDF, 0x7F, 0x06, 0xEF, 0x3D, 0x98, 0xB0, 0x83, 0x00, 0x8B, 0x86, - 0x12, 0x8A, 0x58, 0xCC, 0xFF, 0x00, 0xE8, 0xEF, 0x83, 0x08, 0x8B, 0x86, 0x12, 0x8A, 0x58, 0xCC, - 0xFF, 0x00, 0xE8, 0xEF, 0x68, 0x28, 0xA1, 0x88, 0xC5, 0xFC, 0x0F, 0x80, 0xFE, 0x8E, 0x86, 0x12, - 0x8A, 0x58, 0xCC, 0xFF, 0x00, 0xE8, 0xEF, 0x83, 0x01, 0x8B, 0x86, 0x12, 0x8A, 0x58, 0xCC, 0xFF, - 0x00, 0xE8, 0xEF, 0x83, 0x00, 0x8B, 0x84, 0x10, 0x0C, 0x7F, 0xD8, 0xF5, 0x41, 0x09, 0x80, 0x41, - 0x25, 0x01, 0x41, 0x26, 0x7F, 0xC2, 0x40, 0xEB, 0xD3, 0xF8, 0x9F, 0x10, 0x74, 0x22, 0xE0, 0x3E, - 0x41, 0x27, 0x04, 0x41, 0x1F, 0x03, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0xBF, 0x9F, - 0x60, 0x06, 0xDF, 0x01, 0xF1, 0x10, 0x10, 0x10, 0x10, 0x51, 0x39, 0x13, 0x10, 0xB4, 0x00, 0x10, - 0xA4, 0x00, 0x10, 0x24, 0x00, 0x10, 0x34, 0x00, 0x10, 0x54, 0x00, 0x40, 0x64, 0x10, 0x0C, 0xD4, - 0x10, 0x34, 0x01, 0x10, 0x94, 0x00, 0x10, 0x04, 0x00, 0x10, 0x14, 0x00, 0x10, 0x44, 0x04, 0x10, - 0x45, 0x29, 0x00, 0x51, 0x95, 0x02, 0xC0, 0x2E, 0x75, 0xD0, 0x76, 0x14, 0x44, 0x00, 0x10, 0x74, - 0x00, 0x40, 0x44, 0x10, 0x08, 0xDC, 0x40, 0x74, 0x10, 0x18, 0x10, 0xDC, 0xDF, 0x10, 0xF4, 0x01, - 0x10, 0x14, 0x02, 0x10, 0x24, 0x02, 0x10, 0x34, 0x02, 0x10, 0x44, 0x02, 0x10, 0x35, 0x2E, 0x00, - 0x51, 0x37, 0x03, 0x10, 0x85, 0x33, 0x00, 0x51, 0x41, 0x03, 0x10, 0x65, 0x33, 0x00, 0x10, 0x10, - 0x83, 0x02, 0x3B, 0x08, 0xD5, 0x10, 0x83, 0x0A, 0x3B, 0x88, 0xD5, 0x10, 0xDF, 0xFE, 0x07, 0x43, - 0x20, 0x7D, 0x30, 0x05, 0xD1, 0x7B, 0x20, 0xD1, 0x01, 0x06, 0x00, 0x12, 0x2C, 0xC3, 0xC1, 0x03, - 0x8C, 0x01, 0x10, 0x8C, 0x02, 0x14, 0x8C, 0x03, 0x17, 0x98, 0x1A, 0xEC, 0x84, 0x03, 0x98, 0x16, - 0xEC, 0xE1, 0x00, 0xFE, 0x06, 0x9C, 0xE3, 0x3E, 0xEC, 0x10, 0x0E, 0x43, 0x04, 0x30, 0x20, 0x05, - 0x42, 0xC3, 0x0C, 0x00, 0x20, 0x32, 0x13, 0x83, 0x21, 0x20, 0x55, 0x01, 0x00, 0x82, 0x85, 0xDD, - 0x0E, 0x22, 0x1D, 0xE0, 0x07, 0xDF, 0x02, 0xF1, 0x30, 0xDF, 0xFC, 0x06, 0x4F, 0x32, 0x18, 0x02, - 0x44, 0x09, 0x8C, 0x01, 0x2E, 0x8C, 0x02, 0x31, 0x8C, 0x03, 0x35, 0x8C, 0x10, 0x39, 0x8C, 0x20, - 0x3D, 0x8C, 0x40, 0x41, 0x8C, 0x60, 0x44, 0x8C, 0x80, 0x47, 0x98, 0x47, 0x11, 0xEE, 0x87, 0xE9, - 0x13, 0xA3, 0x83, 0x80, 0x49, 0x13, 0x73, 0x8B, 0x80, 0xA9, 0x12, 0xA3, 0x77, 0x8E, 0x09, 0x12, - 0xF3, 0x5A, 0x8E, 0x69, 0x11, 0x43, 0x8D, 0xEE, 0x6F, 0x21, 0x48, 0xF1, 0xEE, 0xB2, 0x9F, 0xE0, - 0x06, 0x4E, 0xF2, 0x4D, 0x30, 0xDF, 0xFE, 0x06, 0x04, 0x3C, 0xC3, 0x08, 0xB0, 0x21, 0x04, 0x52, - 0x14, 0x00, 0xC0, 0x8C, 0x01, 0x81, 0xFD, 0x1E, 0xC5, 0x33, 0x00, 0x6E, 0xF0, 0x2D, 0x30, 0x04, - 0x3C, 0xC3, 0x08, 0xB0, 0x21, 0x04, 0x52, 0x14, 0x00, 0xC0, 0x8C, 0x01, 0x81, 0xFD, 0x1E, 0xC5, - 0x33, 0x00, 0x10, 0x30, 0x30, 0x30, 0xDF, 0xFC, 0x06, 0x4F, 0x42, 0xD0, 0x33, 0x8C, 0x00, 0x1D, - 0x53, 0x12, 0xA2, 0x06, 0x02, 0x0D, 0x10, 0x30, 0xF2, 0x51, 0x3D, 0x03, 0x80, 0x49, 0x45, 0xC0, - 0x33, 0x8C, 0x00, 0x16, 0x20, 0xD0, 0x00, 0x11, 0x12, 0x1F, 0xC5, 0x33, 0x00, 0x98, 0x33, 0x03, - 0x22, 0x80, 0x42, 0xB0, 0x33, 0x8D, 0x00, 0x10, 0x51, 0x36, 0x03, 0x30, 0x98, 0xB0, 0x98, 0x11, - 0x04, 0x36, 0x83, 0x10, 0x0D, 0xEE, 0xB2, 0x20, 0xE0, 0x06, 0x4E, 0xF2, 0x4D, 0x30, 0x30, 0x30, - 0xDF, 0xF8, 0x47, 0x5F, 0xF6, 0x26, 0x6E, 0xC2, 0x0C, 0x00, 0x20, 0x12, 0x08, 0xC0, 0x00, 0x98, - 0x51, 0xD0, 0x01, 0x6E, 0xC2, 0x1C, 0x00, 0x80, 0x4F, 0x21, 0x35, 0x6F, 0xA0, 0x10, 0xF0, 0xAE, - 0x82, 0x85, 0xCE, 0x2E, 0xF4, 0x7F, 0xE0, 0x26, 0x21, 0xEC, 0x16, 0x52, 0xF2, 0x06, 0x0A, 0x01, - 0xEF, 0x2A, 0x18, 0xC2, 0x2E, 0x58, 0xE8, 0xD7, 0xC2, 0xEE, 0x47, 0x5E, 0xF6, 0x8C, 0x00, 0xF1, - 0x10, 0xDF, 0xFB, 0x16, 0x4F, 0x33, 0x44, 0x85, 0x66, 0x53, 0x50, 0x98, 0x42, 0x15, 0xC2, 0x91, - 0x90, 0xBC, 0x08, 0x06, 0x86, 0xED, 0xE4, 0x02, 0x82, 0x59, 0x48, 0x14, 0x82, 0x10, 0x0D, 0x98, - 0x6F, 0x44, 0x21, 0x0C, 0x09, 0xC8, 0x18, 0x5A, 0x2A, 0xED, 0xE4, 0x02, 0x82, 0x58, 0x49, 0x14, - 0x82, 0x10, 0x0D, 0x43, 0x51, 0x48, 0x64, 0x60, 0x78, 0x04, 0x98, 0x39, 0x43, 0x50, 0x28, 0x43, - 0x14, 0xC2, 0x90, 0x80, 0x8C, 0xA1, 0xA5, 0xD2, 0x4E, 0x2E, 0x20, 0x88, 0x95, 0x44, 0x21, 0x08, - 0xD1, 0x30, 0x14, 0x85, 0x07, 0x06, 0x86, 0x47, 0xE0, 0x16, 0x4E, 0xF3, 0x5D, 0x30, 0xDF, 0xFC, - 0x06, 0x4F, 0x32, 0x55, 0x85, 0x3B, 0x54, 0x24, 0x44, 0x23, 0x23, 0x81, 0xCC, 0xD1, 0xEE, 0x2E, - 0x20, 0x98, 0x84, 0x07, 0x87, 0x44, 0x24, 0x08, 0xD1, 0x80, 0x09, 0x11, 0x44, 0x02, 0x10, 0x34, - 0x02, 0xB0, 0x48, 0xE0, 0x06, 0x4E, 0xF2, 0x4D, 0x30, 0x30, 0x30, 0xDF, 0xFC, 0x06, 0x4F, 0x62, - 0x11, 0x4A, 0x04, 0x02, 0x2E, 0x27, 0x88, 0x95, 0x54, 0x20, 0x18, 0xD1, 0x31, 0x74, 0xA0, 0x07, - 0x53, 0x07, 0x9A, 0x4F, 0xF4, 0x31, 0x12, 0xC8, 0x11, 0xE0, 0x25, 0x82, 0x49, 0x78, 0x20, 0x8A, - 0x29, 0x34, 0x70, 0x72, 0x1B, 0x41, 0x8F, 0x01, 0x44, 0x72, 0xC1, 0x60, 0x12, 0x2B, 0xC3, 0x45, - 0x90, 0xEE, 0x16, 0xF4, 0x08, 0x10, 0x04, 0x09, 0x40, 0x24, 0x17, 0x7C, 0xD0, 0x10, 0xF4, 0x01, - 0xB0, 0x38, 0xE0, 0x06, 0x4E, 0xF2, 0x4D, 0x30, 0xCF, 0xF4, 0x7F, 0x2A, 0xC4, 0x48, 0x47, 0x72, - 0x54, 0xFA, 0x01, 0x47, 0xA6, 0x80, 0x70, 0x94, 0xC2, 0x1C, 0xFC, 0x8F, 0x75, 0x84, 0x4F, 0xA0, - 0x80, 0xF0, 0x0E, 0x47, 0x67, 0x85, 0x12, 0x2E, 0xD3, 0x46, 0x38, 0x03, 0x47, 0x64, 0x76, 0x12, - 0x2E, 0xE3, 0x46, 0x37, 0x03, 0x63, 0x74, 0x34, 0x56, 0x22, 0xE1, 0x32, 0x6D, 0x24, 0x33, 0x30, - 0x86, 0x0D, 0x46, 0x35, 0x03, 0x63, 0xD4, 0x60, 0x45, 0x12, 0x2E, 0xD3, 0x46, 0x34, 0x03, 0x47, - 0x68, 0x36, 0x12, 0x2E, 0xE3, 0x46, 0x33, 0x03, 0x63, 0x74, 0x74, 0x56, 0x22, 0xE1, 0x32, 0x6D, - 0x24, 0x33, 0x30, 0x86, 0x47, 0x63, 0x54, 0x33, 0x30, 0x46, 0x47, 0x64, 0x44, 0xC1, 0x80, 0xA8, - 0x5C, 0x66, 0x33, 0xE3, 0xE1, 0x80, 0x22, 0x6A, 0x35, 0x73, 0x1D, 0x0D, 0xA8, 0x3C, 0x87, 0xC1, - 0x80, 0x63, 0x61, 0x34, 0x73, 0xA2, 0x18, 0x0C, 0x38, 0x16, 0x39, 0xA3, 0x00, 0xE0, 0x2E, 0x0A, - 0x01, 0x56, 0x33, 0xD3, 0x57, 0x62, 0x65, 0x33, 0x64, 0x45, 0x33, 0x74, 0x54, 0x98, 0x5C, 0x46, - 0x23, 0xCA, 0x47, 0x62, 0x35, 0xD1, 0x80, 0x22, 0xA9, 0x3E, 0x67, 0xE1, 0x80, 0x46, 0x32, 0xC7, - 0xC1, 0x80, 0x63, 0x62, 0x24, 0x73, 0x11, 0x0D, 0x38, 0x66, 0x39, 0xA3, 0x00, 0xE0, 0x2E, 0x0A, - 0x01, 0x56, 0x23, 0xDA, 0x57, 0x62, 0x65, 0x33, 0x64, 0x45, 0xA2, 0x71, 0x55, 0xDA, 0x12, 0x2E, - 0xD3, 0x46, 0x36, 0x03, 0x63, 0xD4, 0x30, 0xF3, 0xF1, 0xF8, 0xB1, 0x05, 0x46, 0x15, 0x0C, 0x98, - 0x11, 0x38, 0x6E, 0x94, 0x08, 0xDF, 0x60, 0x94, 0xD2, 0x08, 0x10, 0xE7, 0x56, 0x16, 0x1D, 0x20, - 0xE1, 0x33, 0x25, 0xF3, 0x63, 0x6D, 0x64, 0x32, 0x1C, 0x1C, 0x20, 0xE1, 0x33, 0x20, 0xD3, 0x63, - 0xE4, 0xA7, 0xCF, 0x0C, 0x10, 0xCF, 0xED, 0x7F, 0x2F, 0x5F, 0x11, 0x44, 0x1E, 0x08, 0xAD, 0xB5, - 0x22, 0xEF, 0x82, 0x41, 0xC4, 0x20, 0x09, 0x52, 0xF1, 0x57, 0x42, 0xD0, 0x96, 0x25, 0x6D, 0x90, - 0x03, 0xD2, 0xCE, 0x00, 0x60, 0x10, 0x63, 0x9E, 0x40, 0xC4, 0xD0, 0x88, 0x62, 0x10, 0x33, 0xA1, - 0x30, 0xE0, 0x06, 0x84, 0x80, 0x74, 0x24, 0x46, 0x82, 0x25, 0x05, 0x42, 0x2D, 0x20, 0x52, 0x26, - 0x0C, 0xE0, 0x41, 0xC4, 0x60, 0x25, 0x33, 0xC4, 0x30, 0x80, 0x9D, 0xC0, 0xA0, 0x22, 0x32, 0x0D, - 0x7F, 0xA0, 0x10, 0xF0, 0x0E, 0x82, 0x21, 0x75, 0xAA, 0x00, 0x3F, 0x6C, 0x59, 0x82, 0x86, 0x9C, - 0x90, 0x65, 0x24, 0x45, 0x1B, 0x46, 0x82, 0x10, 0x0D, 0x46, 0xC2, 0x60, 0x80, 0x1D, 0xC9, 0x96, - 0x25, 0x6D, 0x90, 0x03, 0x99, 0xB3, 0x80, 0x74, 0x24, 0x46, 0x82, 0x25, 0x05, 0x6F, 0xE3, 0x34, - 0x52, 0x26, 0x0C, 0x20, 0x9E, 0x46, 0x82, 0xE5, 0x57, 0x52, 0xD2, 0x9E, 0x20, 0x24, 0x85, 0x84, - 0x58, 0xC2, 0x0F, 0x72, 0x10, 0xF0, 0x76, 0x7F, 0xE9, 0x76, 0x6F, 0xEB, 0x96, 0x6F, 0x6D, 0xC4, - 0x47, 0x6B, 0xD4, 0x47, 0xEC, 0xB7, 0x5F, 0xA0, 0x10, 0xF0, 0x0E, 0x52, 0xE1, 0x34, 0x52, 0xA6, - 0x0A, 0xF0, 0xC1, 0x96, 0x25, 0x68, 0xC8, 0x09, 0x59, 0x46, 0x52, 0xB4, 0x21, 0x6C, 0x90, 0x03, - 0xC2, 0x2F, 0x68, 0xC8, 0x02, 0x79, 0x46, 0x82, 0x10, 0x0D, 0x46, 0xC2, 0x60, 0x90, 0x2D, 0xF5, - 0x64, 0x1B, 0x8A, 0x08, 0x8F, 0x25, 0x05, 0xE0, 0xAA, 0x52, 0xE8, 0xD0, 0xD6, 0x85, 0x12, 0x8A, - 0x58, 0x52, 0x00, 0xAE, 0x2A, 0x85, 0x0E, 0x6D, 0x5B, 0x6C, 0x75, 0x6D, 0x5F, 0x7E, 0x2F, 0x5E, - 0x11, 0xCF, 0x13, 0x10, 0xCF, 0xED, 0x7F, 0x2F, 0x5F, 0x11, 0x44, 0x1D, 0x08, 0xAD, 0xC5, 0x21, - 0xEF, 0x82, 0x41, 0xD4, 0x20, 0x09, 0x52, 0xF1, 0x57, 0x42, 0xD0, 0x16, 0x26, 0x6D, 0x92, 0x03, - 0xD2, 0xDE, 0x00, 0x60, 0x10, 0x13, 0x96, 0x40, 0xD4, 0xD0, 0x98, 0x61, 0x10, 0xE3, 0x98, 0x30, - 0xE0, 0x06, 0x84, 0x80, 0x74, 0x24, 0x46, 0x82, 0x25, 0x05, 0x42, 0x2D, 0x20, 0x52, 0xE6, 0x0C, - 0xE0, 0x41, 0xD4, 0x60, 0x25, 0x33, 0xC4, 0x30, 0x80, 0x9D, 0xC0, 0xB0, 0x21, 0x32, 0x0D, 0x7F, - 0xA0, 0x10, 0xF0, 0x0E, 0x82, 0x21, 0x75, 0xB6, 0x00, 0x3F, 0x6C, 0x61, 0x82, 0x86, 0x9C, 0x90, - 0x65, 0x24, 0x45, 0x1C, 0x46, 0x82, 0x10, 0x0D, 0x46, 0xC2, 0x60, 0x80, 0x1D, 0xC9, 0x16, 0x26, - 0x6D, 0x92, 0x03, 0x99, 0xB3, 0x80, 0x74, 0x24, 0x46, 0x82, 0x25, 0x05, 0x6F, 0xE3, 0x34, 0x52, - 0xE6, 0x0C, 0x20, 0x9E, 0x46, 0x82, 0xE5, 0x57, 0x52, 0xD2, 0xFE, 0x63, 0x24, 0x85, 0x84, 0x58, - 0xC2, 0x0F, 0x72, 0x10, 0xF0, 0x76, 0x7F, 0xE9, 0x76, 0x6F, 0xEB, 0x96, 0x6F, 0x6D, 0xC4, 0x47, - 0x6B, 0xD4, 0x47, 0xEC, 0xB7, 0x5F, 0xA0, 0x10, 0xF0, 0x0E, 0x52, 0xE1, 0x34, 0x52, 0x66, 0x0B, - 0xF0, 0xC1, 0x16, 0x26, 0x68, 0xC8, 0x09, 0x59, 0x46, 0x52, 0xC4, 0x21, 0x6C, 0x92, 0x03, 0xC2, - 0x2F, 0x68, 0xC8, 0x02, 0x79, 0x46, 0x82, 0x10, 0x0D, 0x46, 0xC2, 0x60, 0x90, 0x2D, 0xF5, 0x64, - 0x1C, 0x8A, 0x08, 0x8F, 0x25, 0x05, 0xE0, 0xB6, 0x52, 0xE8, 0xD0, 0x56, 0x86, 0x12, 0x8A, 0x58, - 0x52, 0x00, 0x6E, 0x2B, 0x85, 0x0E, 0x6D, 0x63, 0x6C, 0x75, 0x6D, 0x67, 0x44, 0x72, 0x45, 0x1A, - 0x7E, 0x2F, 0x5E, 0x11, 0xCF, 0x13, 0x10, 0xCF, 0xEE, 0x7F, 0x2E, 0x5F, 0x10, 0x44, 0x1E, 0x08, - 0xAD, 0xB5, 0x22, 0xEF, 0x82, 0x41, 0xC4, 0x20, 0x09, 0x52, 0xF1, 0x47, 0x42, 0xD0, 0x96, 0x25, - 0x6D, 0x90, 0x03, 0xD2, 0xCE, 0x00, 0x60, 0x10, 0x93, 0x83, 0x40, 0xC4, 0xD0, 0x88, 0x52, 0x10, - 0xD0, 0x7F, 0x03, 0x6E, 0x30, 0x09, 0x48, 0x47, 0xA2, 0x50, 0x60, 0x25, 0xA2, 0x74, 0x34, 0x46, - 0x82, 0x25, 0x05, 0xE0, 0xC2, 0x52, 0xE8, 0x41, 0xC4, 0x60, 0x35, 0x33, 0xC4, 0x30, 0x80, 0x9D, - 0xC0, 0xA0, 0x22, 0x32, 0x0D, 0x7F, 0xA0, 0x10, 0xF0, 0x0E, 0x82, 0x61, 0x34, 0x58, 0x52, 0x00, - 0xAE, 0x2A, 0x85, 0x1F, 0x6C, 0x59, 0x82, 0x86, 0x9C, 0x90, 0x65, 0x34, 0x45, 0x1B, 0x46, 0x82, - 0x10, 0x0D, 0x46, 0xC2, 0x60, 0x80, 0x2D, 0xC8, 0x96, 0x25, 0x6D, 0x90, 0x03, 0x99, 0xBF, 0x80, - 0x74, 0x24, 0x0A, 0x05, 0x56, 0x22, 0x4A, 0x47, 0x63, 0x24, 0x58, 0x52, 0x00, 0x2E, 0x2C, 0x85, - 0xE2, 0x69, 0x34, 0x58, 0x7E, 0x24, 0x25, 0xED, 0x09, 0x42, 0x52, 0x48, 0x88, 0x25, 0xFC, 0x20, - 0x07, 0x01, 0x6F, 0xF6, 0x87, 0x6E, 0xF6, 0xA6, 0x6E, 0xF8, 0xC6, 0x46, 0x7B, 0xA4, 0x46, 0x7C, - 0xB4, 0x7E, 0xFA, 0x05, 0x0A, 0x01, 0xEF, 0x20, 0x15, 0x46, 0x83, 0x25, 0x05, 0xE0, 0xAA, 0x52, - 0xF8, 0xC1, 0x96, 0x25, 0x68, 0xC8, 0x09, 0x59, 0x46, 0x53, 0xB4, 0x21, 0x6C, 0x90, 0x03, 0xC2, - 0x2F, 0x68, 0xC8, 0x02, 0x79, 0x46, 0x82, 0x10, 0x0D, 0x46, 0xC2, 0x60, 0x90, 0x6D, 0xF4, 0x64, - 0x1B, 0x9A, 0x18, 0xAF, 0x84, 0x25, 0x05, 0xE0, 0xAA, 0x52, 0xE8, 0xD0, 0xD6, 0x85, 0x12, 0x8A, - 0x58, 0x52, 0x00, 0xAE, 0x2A, 0x85, 0x0E, 0x6D, 0x5B, 0x6C, 0x75, 0x6D, 0x5F, 0x7E, 0x2E, 0x5E, - 0x10, 0xCF, 0x12, 0x10, 0xCF, 0xEE, 0x7F, 0x2E, 0x5F, 0x10, 0x44, 0x1D, 0x08, 0xAD, 0xC5, 0x21, - 0xEF, 0x82, 0x41, 0xD4, 0x20, 0x09, 0x52, 0xF1, 0x47, 0x42, 0xD0, 0x16, 0x26, 0xED, 0x0D, 0x00, - 0x05, 0x11, 0xAA, 0x47, 0xD4, 0xD0, 0x98, 0x51, 0x10, 0xE0, 0x76, 0x03, 0x6E, 0x30, 0x09, 0x48, - 0x47, 0xA2, 0x50, 0x60, 0x25, 0xA2, 0x74, 0x34, 0x46, 0x82, 0x25, 0x05, 0xE0, 0xCE, 0x52, 0xE8, - 0x41, 0xD4, 0x60, 0x35, 0x33, 0xC4, 0x30, 0x80, 0x9D, 0xC0, 0xB0, 0x21, 0x32, 0x0D, 0x7F, 0xA0, - 0x10, 0xF0, 0x0E, 0x82, 0x61, 0x34, 0x58, 0x52, 0x00, 0x6E, 0x2B, 0x85, 0x1F, 0x6C, 0x61, 0x82, - 0x86, 0x9C, 0x90, 0x65, 0x34, 0x45, 0x1C, 0x46, 0x82, 0x10, 0x0D, 0x46, 0xC2, 0x60, 0x80, 0x2D, - 0xC8, 0x16, 0x26, 0x6D, 0x92, 0x03, 0x99, 0xBF, 0x80, 0x74, 0x24, 0x0A, 0x05, 0x56, 0x22, 0x4A, - 0x47, 0x63, 0x24, 0x58, 0x52, 0x00, 0xEE, 0x2C, 0x85, 0xE2, 0x69, 0x34, 0x58, 0x7E, 0x24, 0x25, - 0xED, 0x3F, 0x46, 0x52, 0x48, 0x88, 0x25, 0xFC, 0x20, 0x07, 0x01, 0x6F, 0xF6, 0x87, 0x6E, 0xF6, - 0xA6, 0x6E, 0xF8, 0xC6, 0x46, 0x7B, 0xA4, 0x46, 0x7C, 0xB4, 0x7E, 0xFA, 0x05, 0x0A, 0x01, 0xEF, - 0x20, 0x15, 0x46, 0x83, 0x25, 0x05, 0xE0, 0xB6, 0x52, 0xF8, 0xC1, 0x16, 0x26, 0x68, 0xC8, 0x09, - 0x59, 0x46, 0x53, 0xC4, 0x21, 0x6C, 0x92, 0x03, 0xC2, 0x2F, 0x68, 0xC8, 0x02, 0x79, 0x46, 0x82, - 0x10, 0x0D, 0x46, 0xC2, 0x60, 0x90, 0x6D, 0xF4, 0x64, 0x1C, 0x9A, 0x18, 0xAF, 0x84, 0x25, 0x05, - 0xE0, 0xB6, 0x52, 0xE8, 0xD0, 0x56, 0x86, 0x12, 0x8A, 0x58, 0x52, 0x00, 0x6E, 0x2B, 0x85, 0x0E, - 0x6D, 0x63, 0x6C, 0x75, 0x6D, 0x67, 0x44, 0x72, 0x45, 0x1A, 0x7E, 0x2E, 0x5E, 0x10, 0xCF, 0x12, - 0x10, 0x6C, 0x73, 0xCC, 0x28, 0x23, 0x22, 0x73, 0x41, 0x04, 0x81, 0xF0, 0x0D, 0x8D, 0x00, 0x2E, - 0x41, 0x10, 0x01, 0x10, 0x6C, 0x73, 0xCC, 0x00, 0x19, 0xC8, 0x18, 0x44, 0x10, 0x08, 0xD1, 0xC0, - 0xE0, 0x20, 0x32, 0x06, 0x41, 0x10, 0x0E, 0x10, 0x6C, 0x73, 0xCC, 0x28, 0x23, 0x22, 0x73, 0x41, - 0x14, 0x81, 0xF0, 0x0D, 0x8D, 0x00, 0x2E, 0x41, 0x11, 0x01, 0x10, 0x6C, 0x73, 0xCC, 0x00, 0x19, - 0xC8, 0x18, 0x44, 0x11, 0x08, 0xD1, 0xC0, 0xE0, 0x20, 0x32, 0x06, 0x41, 0x11, 0x0E, 0x10, 0xC2, - 0x06, 0x39, 0xC0, 0x4C, 0x9C, 0x20, 0x32, 0x19, 0x44, 0x05, 0x81, 0x04, 0xC1, 0xBF, 0x0D, 0x44, - 0x13, 0x05, 0x94, 0x03, 0xC1, 0xCC, 0x5D, 0x20, 0x32, 0x22, 0x44, 0x05, 0xC1, 0xBB, 0x0D, 0x44, - 0x13, 0x05, 0x94, 0xB3, 0x41, 0x40, 0x44, 0x81, 0x10, 0x0D, 0x10, 0xAB, 0x05, 0x44, 0x14, 0x08, - 0xD1, 0xB0, 0x56, 0xB0, 0x41, 0x40, 0x34, 0x81, 0x10, 0x0D, 0x0C, 0x02, 0x22, 0x43, 0x80, 0xD4, - 0x40, 0x41, 0x39, 0x23, 0x81, 0x4B, 0x81, 0x10, 0x45, 0x13, 0x0C, 0x02, 0x22, 0x43, 0x80, 0xD4, - 0xC0, 0x08, 0xE0, 0xC0, 0x18, 0x60, 0xC1, 0x28, 0xE0, 0x01, 0x11, 0x64, 0x42, 0x12, 0x74, 0x22, - 0x02, 0x11, 0x64, 0x22, 0x12, 0x74, 0xB2, 0x00, 0x11, 0x64, 0x62, 0x12, 0x74, 0xF2, 0x04, 0xF1, - 0x44, 0x1D, 0x8D, 0x2A, 0x3D, 0xC2, 0x26, 0x39, 0xC0, 0x2C, 0x4E, 0x80, 0x3C, 0xB1, 0x5A, 0xB0, - 0x41, 0x40, 0x44, 0x81, 0x10, 0x0D, 0x10, 0xCC, 0xEE, 0x02, 0xC8, 0x4A, 0xAB, 0x05, 0x44, 0x14, - 0x08, 0xD1, 0x00, 0x21, 0x6C, 0x92, 0x03, 0xCC, 0xC4, 0x09, 0xC8, 0x13, 0xAB, 0x05, 0x1B, 0x04, - 0x44, 0x14, 0x08, 0xD1, 0x00, 0xC1, 0xCC, 0x5D, 0x80, 0xDC, 0xB0, 0x5A, 0x40, 0x44, 0x81, 0x10, - 0x0D, 0x10, 0xDF, 0xFE, 0x07, 0x51, 0x3B, 0x13, 0x10, 0x54, 0x02, 0x18, 0x84, 0xF2, 0x47, 0x04, - 0x11, 0x08, 0x53, 0x94, 0x42, 0x14, 0x59, 0x64, 0x13, 0x74, 0x03, 0x40, 0xC4, 0xD0, 0x08, 0x10, - 0xC1, 0xDE, 0x1E, 0x24, 0x6D, 0x81, 0x03, 0x98, 0x2D, 0x8D, 0x28, 0x11, 0xEC, 0xF3, 0x41, 0xD2, - 0x16, 0x38, 0x80, 0x69, 0xC1, 0xEF, 0x19, 0x24, 0xE4, 0x92, 0x28, 0xDC, 0xD2, 0x17, 0x38, 0xF0, - 0xCE, 0x41, 0x1F, 0x13, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, 0x90, 0x1F, 0x94, 0x10, 0x40, - 0x64, 0x10, 0xCC, 0xDF, 0xB0, 0x5F, 0x30, 0x98, 0xB0, 0x7E, 0xF0, 0x2D, 0x10, 0xDF, 0xFE, 0x07, - 0x51, 0x3B, 0x13, 0xB0, 0x5F, 0x42, 0x14, 0x11, 0x08, 0x53, 0x94, 0x42, 0xD4, 0xD0, 0x08, 0x10, - 0xC1, 0x9E, 0x1F, 0x24, 0x6D, 0x81, 0x03, 0x98, 0x2D, 0x8D, 0x19, 0x11, 0xEC, 0xFF, 0x41, 0xD2, - 0x16, 0x38, 0x80, 0x69, 0xC1, 0xDF, 0x1C, 0x24, 0xE4, 0x92, 0x28, 0xDC, 0xD2, 0x17, 0x38, 0x30, - 0x10, 0x06, 0x08, 0x11, 0x8F, 0xE5, 0x1F, 0xEF, 0x1C, 0xF4, 0x11, 0xF1, 0x1E, 0x03, 0x30, 0x70, - 0x30, 0x01, 0x03, 0xF9, 0x41, 0x09, 0x02, 0x83, 0x01, 0xEB, 0x07, 0xDF, 0x02, 0xF1, 0xDF, 0xFD, - 0x17, 0x7B, 0x25, 0x41, 0x28, 0x00, 0x41, 0x1F, 0x11, 0xEF, 0x31, 0x00, 0x03, 0x07, 0x13, 0x30, - 0x90, 0x8F, 0x74, 0x04, 0x46, 0x80, 0x25, 0x18, 0x52, 0x03, 0x7E, 0x27, 0xA5, 0x0E, 0xE0, 0xC2, - 0x52, 0xFA, 0x60, 0x04, 0x08, 0xD1, 0x60, 0x04, 0x0C, 0x06, 0xD8, 0xD0, 0x03, 0x60, 0x80, 0x10, - 0x50, 0xC2, 0xFE, 0x12, 0xF0, 0xA3, 0x03, 0x60, 0x70, 0xB0, 0x68, 0xE0, 0x2E, 0x0B, 0x06, 0x11, - 0x0F, 0x1E, 0xB0, 0xE5, 0x44, 0x14, 0x8D, 0x00, 0x5F, 0x44, 0x0C, 0x54, 0x1B, 0x33, 0x54, 0xD4, - 0xC1, 0xA0, 0x82, 0xAD, 0x10, 0xC4, 0x80, 0x82, 0xE9, 0xC3, 0x30, 0x20, 0x32, 0x20, 0x9C, 0x05, - 0x0D, 0xA2, 0x30, 0x50, 0xC4, 0x80, 0x29, 0x22, 0x0A, 0x02, 0x45, 0x0C, 0x98, 0x15, 0x9C, 0x05, - 0x09, 0x41, 0x0C, 0x00, 0xEE, 0x13, 0xC4, 0x10, 0x10, 0x94, 0x30, 0xE0, 0x17, 0xDF, 0x03, 0xF1, - 0xDF, 0xFD, 0x17, 0x41, 0x28, 0x7F, 0x44, 0x10, 0x81, 0x30, 0x45, 0x29, 0x44, 0x0C, 0x8D, 0x00, - 0x11, 0xEC, 0xED, 0x41, 0xD2, 0x16, 0x38, 0x80, 0xD9, 0xD2, 0x88, 0x12, 0xC1, 0x3E, 0x1F, 0x24, - 0x6D, 0x81, 0x03, 0x98, 0x16, 0xFC, 0x9E, 0x41, 0x42, 0x2E, 0x89, 0xC2, 0x2D, 0x7D, 0x81, 0x03, - 0x03, 0x60, 0x80, 0x10, 0xF0, 0x4B, 0xFE, 0xF1, 0xCE, 0x41, 0x1F, 0x11, 0xEF, 0x31, 0x00, 0x03, - 0x07, 0x13, 0x30, 0x90, 0x8F, 0x74, 0x04, 0x46, 0x80, 0x25, 0x18, 0x52, 0x03, 0x7E, 0x27, 0xA5, - 0x0E, 0xE0, 0xCE, 0x52, 0xFA, 0x60, 0x04, 0x08, 0xD1, 0x60, 0x04, 0x0C, 0x06, 0xD8, 0xD0, 0x03, - 0x61, 0xC0, 0x10, 0xF0, 0xC6, 0x9B, 0x06, 0xFE, 0x14, 0x90, 0xA7, 0x1B, 0x06, 0x11, 0x88, 0x1D, - 0xE0, 0xE1, 0x44, 0x14, 0x8D, 0x00, 0x6A, 0x64, 0x0D, 0x74, 0x1C, 0xCA, 0x33, 0x58, 0xE4, 0x41, - 0xA5, 0x31, 0x63, 0x2D, 0x0C, 0x1B, 0xD8, 0x0A, 0x41, 0x0D, 0x19, 0x98, 0x3E, 0x0C, 0x03, 0x22, - 0x03, 0xC2, 0x5B, 0xD0, 0x20, 0x0A, 0x03, 0x45, 0x0D, 0x98, 0x22, 0xA2, 0x20, 0x50, 0xD4, 0x80, - 0x59, 0xC1, 0x5B, 0x90, 0x10, 0xD4, 0x00, 0xE0, 0x3E, 0x41, 0x0D, 0x01, 0x41, 0x09, 0x01, 0x1B, - 0x05, 0x51, 0x3B, 0x03, 0xE0, 0x17, 0xDF, 0x03, 0xF1, 0xDF, 0xFE, 0x07, 0x44, 0x05, 0xC1, 0xFD, - 0x0D, 0xC1, 0x04, 0xA9, 0xF6, 0x10, 0x44, 0x01, 0x40, 0xD4, 0xC1, 0x38, 0xD0, 0xC6, 0xA8, 0x72, - 0x06, 0xB4, 0x21, 0x80, 0x9D, 0x42, 0xB4, 0x81, 0xE0, 0x58, 0x52, 0x00, 0xAE, 0x2A, 0x85, 0x1E, - 0x6C, 0x5D, 0x82, 0x86, 0x9C, 0x00, 0x1C, 0x90, 0x99, 0x0D, 0x40, 0x1B, 0x03, 0x22, 0x92, 0x42, - 0xB4, 0x81, 0x20, 0x58, 0x52, 0x00, 0xAE, 0x2A, 0x85, 0x1E, 0x6C, 0x5B, 0x82, 0x86, 0x9C, 0x00, - 0x1C, 0x90, 0x59, 0x0A, 0x44, 0x1E, 0xC2, 0x38, 0x50, 0x09, 0xC2, 0xB8, 0xD1, 0x08, 0x40, 0x1C, - 0x02, 0xD8, 0x28, 0x44, 0x1C, 0x08, 0x8E, 0x25, 0x05, 0xE0, 0xB6, 0x52, 0xE8, 0xC1, 0x56, 0x26, - 0x68, 0xC8, 0x08, 0xC0, 0x01, 0x98, 0x5F, 0x40, 0x1C, 0x03, 0x22, 0x02, 0x45, 0xC4, 0x81, 0x20, - 0x58, 0x52, 0x00, 0x6E, 0x2B, 0x85, 0x1E, 0x6C, 0x63, 0x82, 0x86, 0x0C, 0x03, 0x1C, 0x80, 0xC9, - 0x42, 0x44, 0xC1, 0xB0, 0x20, 0x32, 0x1B, 0x44, 0x05, 0x81, 0x80, 0xC1, 0xBF, 0x0D, 0x41, 0x14, - 0x00, 0xC0, 0x01, 0xEE, 0x02, 0x0C, 0xE0, 0x07, 0xDF, 0x02, 0xF1, 0xCF, 0xF4, 0x7F, 0xF8, 0xA5, - 0x9B, 0x05, 0x44, 0x1D, 0xC2, 0x38, 0xB0, 0x28, 0xC2, 0xA8, 0x32, 0x28, 0xD2, 0xBC, 0x01, 0x60, - 0x23, 0xCD, 0x1B, 0x01, 0x36, 0xD2, 0xBD, 0x21, 0xA0, 0x08, 0xD2, 0xBD, 0x31, 0x90, 0x13, 0xD2, - 0xBD, 0x41, 0x60, 0x1E, 0xD2, 0xBD, 0x51, 0x70, 0x23, 0x99, 0x3B, 0x02, 0x0C, 0x90, 0x19, 0x4D, - 0x44, 0x1B, 0x08, 0x82, 0x25, 0x05, 0x42, 0x2C, 0x10, 0x52, 0xA7, 0x0A, 0xE0, 0xC3, 0xB6, 0x25, - 0x68, 0xC8, 0x09, 0xC0, 0x00, 0x99, 0xA2, 0x24, 0x65, 0xAA, 0x00, 0x1E, 0x44, 0x1B, 0x08, 0x83, - 0x25, 0x05, 0xE0, 0xAA, 0x52, 0xE8, 0x20, 0x58, 0xC9, 0xE6, 0x01, 0x0C, 0x90, 0x39, 0x47, 0x44, - 0x1B, 0x08, 0x8E, 0x25, 0x05, 0xE0, 0xAA, 0x52, 0xE8, 0xC1, 0xD6, 0x25, 0x68, 0xC8, 0x09, 0xC0, - 0x00, 0x99, 0x4A, 0x44, 0xB4, 0x81, 0x20, 0x58, 0x52, 0x20, 0xD4, 0x02, 0x22, 0x65, 0xAA, 0x00, - 0x1E, 0x6C, 0x5B, 0x82, 0x86, 0x9C, 0x00, 0x0C, 0x90, 0xB9, 0x41, 0x71, 0x52, 0xA7, 0x0A, 0x20, - 0xAE, 0x70, 0x44, 0x1B, 0x08, 0x83, 0x25, 0x18, 0x52, 0xF3, 0x05, 0xF0, 0xAA, 0x52, 0xEB, 0xE2, - 0x05, 0x52, 0x9C, 0x1C, 0x15, 0xE0, 0xAA, 0x52, 0xEA, 0x21, 0x75, 0xAA, 0x00, 0x2E, 0x42, 0x21, - 0x28, 0xCC, 0x2C, 0x01, 0x32, 0xD3, 0x12, 0xC0, 0x00, 0x99, 0xBA, 0x43, 0xB4, 0x81, 0xE0, 0x58, - 0x52, 0x20, 0xD4, 0x71, 0x52, 0xA7, 0x0A, 0x20, 0xAE, 0x70, 0x44, 0x1B, 0x08, 0x8D, 0x25, 0x18, - 0x52, 0xF3, 0x25, 0xF0, 0xAA, 0x52, 0xEB, 0xE2, 0x25, 0x52, 0x8C, 0xFC, 0x02, 0xAE, 0x2A, 0xA5, - 0x1E, 0x02, 0x22, 0x65, 0xAA, 0x00, 0x0E, 0x42, 0x21, 0x28, 0xCC, 0x2C, 0x01, 0x22, 0x93, 0x00, - 0x0C, 0x90, 0x99, 0x34, 0x52, 0xA7, 0x0A, 0xE0, 0xC3, 0xD6, 0x25, 0x68, 0xC8, 0x09, 0xC0, 0x00, - 0x99, 0x2C, 0x43, 0xB4, 0x81, 0x20, 0x58, 0x52, 0x00, 0xAE, 0x2A, 0x85, 0x1E, 0x6C, 0x5B, 0x82, - 0x86, 0x6C, 0x07, 0x0C, 0x90, 0x39, 0x30, 0x44, 0x1B, 0x08, 0x8E, 0x25, 0x18, 0x52, 0x03, 0xAE, - 0x2A, 0xA5, 0xE2, 0x48, 0xB4, 0x81, 0xD0, 0x58, 0x52, 0x00, 0xAF, 0x2A, 0x95, 0x2E, 0x52, 0x8C, - 0x9C, 0x00, 0x0C, 0x90, 0x59, 0x2C, 0xE0, 0xAA, 0x52, 0xEA, 0xC1, 0xD6, 0x25, 0x68, 0xC8, 0x1B, - 0xC0, 0x00, 0x99, 0xA8, 0x02, 0x0C, 0x90, 0xF9, 0x29, 0xC0, 0x00, 0x99, 0x96, 0x42, 0xE4, 0x21, - 0x8C, 0x03, 0x86, 0x22, 0x8C, 0x1B, 0x7E, 0x22, 0xCD, 0x1C, 0x00, 0x36, 0xD2, 0xCC, 0x11, 0x60, - 0x23, 0xDD, 0x1C, 0x02, 0x8A, 0x20, 0xDD, 0x1C, 0x03, 0x39, 0x21, 0xDD, 0x1C, 0x04, 0xE7, 0x21, - 0xDD, 0x1C, 0x05, 0x36, 0x92, 0x89, 0x23, 0xC0, 0x00, 0x99, 0x3A, 0x42, 0xC4, 0x81, 0x20, 0x58, - 0x52, 0x20, 0xC4, 0x02, 0x21, 0x75, 0xB6, 0x00, 0x3E, 0x6C, 0x63, 0x82, 0x86, 0x9C, 0x00, 0x0C, - 0x90, 0xB9, 0x20, 0x52, 0x66, 0x0B, 0xE0, 0x41, 0xC4, 0x81, 0x30, 0x58, 0x52, 0x00, 0x6E, 0x2B, - 0x85, 0x0E, 0x82, 0x95, 0x1C, 0x1E, 0xC0, 0x00, 0x99, 0xDC, 0x41, 0xC4, 0x81, 0xE0, 0x58, 0x52, - 0x00, 0x6E, 0x2B, 0x85, 0x1E, 0x6C, 0x65, 0x82, 0x86, 0x9C, 0x00, 0x0C, 0x90, 0x39, 0x1B, 0x44, - 0x1C, 0x08, 0x82, 0x25, 0x05, 0x42, 0x2D, 0x20, 0x52, 0x66, 0x0B, 0xE0, 0xC1, 0x36, 0x26, 0x68, - 0xC8, 0x09, 0xC0, 0x00, 0x99, 0x84, 0x11, 0x27, 0x75, 0xB6, 0x00, 0xE2, 0x0A, 0x47, 0xC4, 0x81, - 0x30, 0x58, 0x82, 0x21, 0x35, 0x5F, 0x04, 0x6F, 0x2B, 0xB5, 0x2E, 0x5E, 0x24, 0xC5, 0xC9, 0x4C, - 0x01, 0x6E, 0x2B, 0xA5, 0x1E, 0x52, 0x67, 0x0B, 0xE0, 0x22, 0x14, 0x82, 0xC2, 0xCC, 0x12, 0x20, - 0x33, 0x28, 0x01, 0x0C, 0x90, 0x39, 0x12, 0x44, 0x1C, 0x08, 0x8E, 0x25, 0x05, 0x42, 0x1D, 0x27, - 0x75, 0xB6, 0x00, 0xE2, 0x0A, 0x47, 0xC6, 0x81, 0xD2, 0x8A, 0x58, 0x82, 0x21, 0x35, 0x5F, 0x06, - 0x6F, 0x2B, 0xB5, 0x2E, 0x5E, 0x26, 0xC5, 0xC8, 0x2F, 0xE0, 0xB6, 0x52, 0xEA, 0x21, 0x20, 0x52, - 0x66, 0x0B, 0xE0, 0x20, 0x14, 0x82, 0xC2, 0xCC, 0x12, 0x20, 0x32, 0x09, 0xC0, 0x00, 0x99, 0xB0, - 0x20, 0x75, 0xB6, 0x00, 0x3E, 0x6C, 0x65, 0x82, 0x86, 0x9C, 0x00, 0x0C, 0x90, 0x39, 0x09, 0x44, - 0x1C, 0x08, 0x82, 0x25, 0x05, 0xE0, 0xB6, 0x52, 0xE8, 0xC1, 0x36, 0x26, 0x68, 0xC8, 0x6F, 0xC0, - 0x00, 0x98, 0x6B, 0x44, 0x1C, 0x08, 0x8E, 0x25, 0x18, 0x52, 0x03, 0x6E, 0x2B, 0xA5, 0xE2, 0x48, - 0xC4, 0x81, 0xD0, 0x58, 0x52, 0x00, 0x6F, 0x2B, 0x95, 0x2E, 0x52, 0x8C, 0x8C, 0x00, 0x0C, 0x80, - 0xE9, 0x02, 0x6E, 0x2B, 0xA5, 0x1E, 0x6C, 0x65, 0x82, 0x86, 0x6C, 0x01, 0x0C, 0x80, 0x29, 0x01, - 0x0C, 0xE0, 0x5F, 0xC0, 0x00, 0xEE, 0x02, 0x1C, 0xE0, 0x87, 0x5E, 0xFA, 0xCC, 0x00, 0xF1, 0xDF, - 0xFA, 0x27, 0x5F, 0xC4, 0xA7, 0xCC, 0x26, 0x2C, 0x15, 0x7F, 0xA0, 0x10, 0xF0, 0x0E, 0x6D, 0xCA, - 0x7C, 0xC8, 0x6C, 0xC6, 0x5C, 0xC4, 0x52, 0xF1, 0x07, 0x0A, 0x01, 0xEF, 0x20, 0x95, 0xC2, 0xFE, - 0x06, 0x0A, 0x01, 0xEF, 0xD0, 0x86, 0xDC, 0x66, 0x0C, 0x0C, 0xD0, 0x46, 0xDC, 0x26, 0xEC, 0x27, - 0x5E, 0xF4, 0x6D, 0x10, 0xDF, 0xFA, 0x27, 0x5F, 0xC4, 0x47, 0xCC, 0xC6, 0x2C, 0x15, 0x7F, 0xA0, - 0x10, 0xF0, 0x0E, 0x6D, 0xC4, 0x7C, 0xC6, 0x6C, 0xC8, 0x5C, 0xCA, 0x52, 0xF1, 0x07, 0x0A, 0x01, - 0xEF, 0x20, 0x95, 0xC2, 0xFE, 0x06, 0x0A, 0x01, 0xEF, 0xD0, 0x66, 0xDC, 0x86, 0x0C, 0x0C, 0xD0, - 0xA6, 0xDC, 0xC6, 0xEC, 0x27, 0x5E, 0xF4, 0x6D, 0x10, 0xDF, 0xFA, 0x27, 0x5F, 0xC4, 0x67, 0xCD, - 0xE6, 0x2C, 0x15, 0x7F, 0xA0, 0x10, 0xF0, 0x0E, 0x6D, 0xD6, 0x7C, 0xD4, 0x6C, 0xD2, 0x5C, 0xD0, - 0x52, 0xF1, 0x07, 0x0A, 0x01, 0xEF, 0x20, 0x95, 0xC2, 0xFE, 0x06, 0x0A, 0x01, 0xEF, 0xD0, 0x46, - 0xDD, 0x26, 0x0D, 0x0C, 0xD0, 0x06, 0xDD, 0xE6, 0xEC, 0x27, 0x5E, 0xF4, 0x6D, 0x10, 0xDF, 0xFA, - 0x27, 0x5F, 0xC4, 0x07, 0xCD, 0x86, 0x2D, 0x15, 0x7F, 0xA0, 0x10, 0xF0, 0x0E, 0x6D, 0xD0, 0x7C, - 0xD2, 0x6C, 0xD4, 0x5C, 0xD6, 0x52, 0xF1, 0x07, 0x0A, 0x01, 0xEF, 0x20, 0x95, 0xC2, 0xFE, 0x06, - 0x0A, 0x01, 0xEF, 0xD0, 0x26, 0xDD, 0x46, 0x0D, 0x0C, 0xD0, 0x66, 0xDD, 0x86, 0xED, 0x27, 0x5E, - 0xF4, 0x6D, 0x10, 0xDF, 0xFE, 0x07, 0x68, 0x8A, 0x33, 0x20, 0x4C, 0x81, 0x03, 0x82, 0x4A, 0x0B, - 0xAE, 0x22, 0x88, 0xB5, 0x08, 0x81, 0x05, 0xAE, 0x22, 0x85, 0xB5, 0x28, 0xC1, 0x62, 0x80, 0xDD, - 0xEC, 0x07, 0xDF, 0x02, 0xF1, 0xDF, 0xFD, 0x17, 0x68, 0x8A, 0x33, 0x70, 0x04, 0xC2, 0x14, 0x38, - 0xA0, 0x50, 0x20, 0x8A, 0x58, 0x52, 0x48, 0x0B, 0xAE, 0x62, 0x04, 0x82, 0x58, 0x6B, 0x04, 0x08, - 0x81, 0x05, 0xAE, 0x22, 0x85, 0xB5, 0x28, 0xC1, 0x62, 0x80, 0xBD, 0xEB, 0x17, 0xDF, 0x03, 0xF1, - 0x44, 0x17, 0x45, 0x0D, 0x08, 0x53, 0x94, 0x51, 0xE4, 0x01, 0x0C, 0x00, 0xF1, 0x44, 0x16, 0x45, - 0x0C, 0x08, 0x53, 0x84, 0x51, 0xD4, 0x01, 0x0C, 0x00, 0xF1, 0xCF, 0xE2, 0xF2, 0x67, 0x21, 0x5F, - 0x18, 0x03, 0x55, 0x20, 0x17, 0x45, 0x29, 0x00, 0x68, 0x4C, 0x6B, 0x8A, 0x92, 0x20, 0x05, 0xFD, - 0x92, 0x01, 0x52, 0x29, 0xAF, 0x28, 0xC1, 0x42, 0x80, 0xDE, 0xCD, 0xB7, 0xF6, 0xA7, 0x42, 0xF0, - 0xC6, 0x6E, 0xFA, 0x26, 0x6E, 0xFC, 0x46, 0x0A, 0x02, 0x02, 0x28, 0xCE, 0x1A, 0x4F, 0xF0, 0x9E, - 0xE2, 0xA6, 0xD1, 0xA6, 0x2F, 0x6E, 0x1C, 0x6D, 0xFC, 0x7D, 0xDE, 0x99, 0xFE, 0x40, 0x40, 0x29, - 0x58, 0x52, 0x20, 0xD4, 0x02, 0x22, 0x65, 0x92, 0x01, 0x0E, 0x6F, 0x2A, 0x04, 0x6F, 0xCC, 0xB7, - 0xF6, 0xE7, 0x42, 0x20, 0x6F, 0x10, 0x6C, 0xFA, 0x6F, 0xC2, 0xC6, 0xFF, 0x46, 0x6E, 0xFA, 0x66, - 0x6E, 0xFC, 0x86, 0x02, 0x28, 0xCE, 0x1A, 0xC2, 0xFC, 0x06, 0xEF, 0x28, 0x6E, 0x1A, 0x6F, 0x22, - 0x6E, 0x1C, 0x6F, 0xE4, 0xE6, 0x6F, 0x26, 0x6E, 0x10, 0x6F, 0x28, 0x80, 0xE2, 0xAC, 0x21, 0xCC, - 0x6F, 0xF0, 0x5E, 0xE2, 0xA6, 0xD1, 0xA6, 0x2F, 0x6E, 0x1C, 0x6D, 0xFC, 0x6C, 0xFA, 0x6F, 0xC2, - 0xC6, 0xFF, 0x46, 0x0A, 0x02, 0x02, 0x28, 0xCE, 0x1A, 0x4F, 0x10, 0x51, 0x6C, 0xE2, 0xA6, 0x21, - 0x6F, 0x12, 0xE2, 0xC6, 0x21, 0x6F, 0x14, 0xE2, 0x26, 0xD1, 0xE6, 0x2D, 0x75, 0x92, 0x01, 0x3F, - 0x04, 0x94, 0x82, 0x10, 0x0D, 0x0C, 0x04, 0xD8, 0x07, 0x51, 0x94, 0x02, 0x20, 0x7E, 0x16, 0xE2, - 0x85, 0xF1, 0xEC, 0x01, 0xF1, 0xDF, 0xFE, 0x07, 0x44, 0x15, 0x0C, 0x03, 0xC8, 0x06, 0x41, 0x15, - 0x03, 0x44, 0x15, 0x0C, 0x1B, 0x22, 0x63, 0x10, 0x54, 0xB1, 0xC1, 0xC6, 0xCD, 0x4C, 0x51, 0x80, - 0xCC, 0xC2, 0xCC, 0x30, 0x80, 0x8C, 0xA0, 0x0F, 0x80, 0x39, 0xC5, 0x0C, 0x41, 0x80, 0x8C, 0xA0, - 0x1F, 0x80, 0x19, 0xA4, 0x2F, 0x80, 0x99, 0xC3, 0xCC, 0x7D, 0x23, 0x32, 0x2A, 0xCC, 0xE0, 0x38, - 0xC8, 0x08, 0xFA, 0x1C, 0x98, 0x1C, 0xCC, 0xE4, 0x39, 0xC8, 0x07, 0xFA, 0x1D, 0xFE, 0xA5, 0xEF, - 0xE1, 0x2E, 0x74, 0x15, 0x6C, 0xDA, 0xCC, 0x14, 0x05, 0xC8, 0x2C, 0xCC, 0x0C, 0x03, 0xC8, 0x08, - 0xAA, 0x00, 0x98, 0x53, 0xCC, 0x10, 0x04, 0xC8, 0x08, 0xAA, 0x01, 0x98, 0x41, 0xAA, 0x02, 0x98, - 0x39, 0xCC, 0x54, 0x56, 0x22, 0xA3, 0xC2, 0x8C, 0x75, 0x85, 0x8C, 0xA0, 0xBA, 0x82, 0xC9, 0xC1, - 0xCC, 0x85, 0x85, 0x7C, 0xA0, 0xCA, 0xE2, 0x5F, 0xAA, 0x2D, 0xEE, 0x42, 0x86, 0xA1, 0xAC, 0xE5, - 0x22, 0xEF, 0x42, 0xAC, 0x88, 0x25, 0x85, 0xC2, 0xDC, 0x2E, 0xAA, 0x24, 0x85, 0x84, 0x7C, 0x6B, - 0x58, 0x12, 0x2B, 0x05, 0x52, 0x22, 0x44, 0x00, 0x08, 0x49, 0x7E, 0xF0, 0x2D, 0x10, 0xDF, 0xFE, - 0x07, 0x78, 0x03, 0x55, 0x30, 0x13, 0x55, 0x29, 0x00, 0xDA, 0x44, 0x42, 0xED, 0xB2, 0x01, 0x92, - 0x59, 0x88, 0x11, 0x1C, 0x04, 0xE8, 0xE6, 0x44, 0x42, 0x45, 0x45, 0xDB, 0x05, 0x98, 0x62, 0x58, - 0xED, 0xB2, 0x01, 0x92, 0x49, 0x4A, 0x24, 0x34, 0x22, 0x39, 0x81, 0x13, 0x18, 0xC1, 0x41, 0x80, - 0xDE, 0xCD, 0x23, 0x80, 0x8E, 0x40, 0x24, 0x54, 0x54, 0x44, 0x51, 0x29, 0x44, 0x42, 0xED, 0xB2, - 0x01, 0x82, 0x59, 0x48, 0x50, 0x29, 0x08, 0xD1, 0xC0, 0x40, 0x80, 0x7D, 0x10, 0x55, 0x29, 0x00, - 0x7E, 0xF0, 0x2D, 0x10, 0xDF, 0xFA, 0x47, 0x7C, 0x57, 0x6C, 0x6D, 0x42, 0x21, 0x28, 0xA3, 0xF0, - 0x3F, 0x5A, 0xFF, 0x6F, 0xA0, 0x10, 0xF0, 0x0E, 0x6D, 0x69, 0xCC, 0x00, 0x40, 0xC8, 0x0E, 0x52, - 0x04, 0x00, 0xD8, 0xB6, 0xE6, 0x2E, 0x6D, 0x6B, 0x11, 0xDA, 0x1E, 0xD0, 0xE0, 0xC2, 0x06, 0x11, - 0xF0, 0x26, 0x6C, 0xDE, 0x7E, 0x22, 0x14, 0x82, 0xC2, 0xFC, 0x38, 0x80, 0x7F, 0x23, 0x44, 0x8F, - 0x03, 0x6F, 0xA0, 0x10, 0xF0, 0xAE, 0x6F, 0xA0, 0x40, 0xF0, 0xAE, 0xD2, 0x26, 0x10, 0xC0, 0xFC, - 0x0F, 0x80, 0x5F, 0xC1, 0xFE, 0x0F, 0x90, 0xE4, 0x5E, 0x42, 0x20, 0x6D, 0x02, 0x01, 0x6C, 0x6B, - 0x7E, 0x22, 0x14, 0x82, 0xC2, 0xFC, 0x38, 0x80, 0xBF, 0xA0, 0x10, 0x50, 0x24, 0xE4, 0x3E, 0x48, - 0x45, 0x42, 0x54, 0x13, 0x9D, 0x01, 0x08, 0x81, 0x02, 0x45, 0x42, 0x9D, 0x02, 0x08, 0x81, 0x04, - 0x45, 0x42, 0x11, 0x29, 0x3F, 0x01, 0x45, 0x0F, 0xC0, 0x00, 0xD2, 0x26, 0x10, 0x80, 0xD9, 0x31, - 0x00, 0x45, 0x16, 0xC2, 0x26, 0x10, 0xC0, 0x0C, 0x00, 0x90, 0x32, 0xC0, 0x01, 0x49, 0x7E, 0xF4, - 0x6D, 0x10, 0x10, 0x10, 0x10, 0x20, 0x52, 0x0F, 0x20, 0x53, 0x7A, 0xAB, 0x02, 0x10, 0x83, 0x12, - 0x30, 0x88, 0xE6, 0x83, 0x1A, 0x30, 0x38, 0x54, 0x10, 0x83, 0x4B, 0x05, 0xF1, 0xDF, 0xCE, 0x76, - 0x14, 0xFC, 0x8F, 0x75, 0x20, 0xC5, 0x76, 0x84, 0x14, 0xFD, 0xFF, 0x06, 0x0A, 0x08, 0xEF, 0x70, - 0x30, 0xB5, 0x22, 0xF0, 0x2D, 0x10, 0x51, 0x36, 0x03, 0x30, 0x28, 0x01, 0x83, 0x68, 0x3E, 0xA8, - 0x01, 0x83, 0x43, 0x05, 0xF1, 0x83, 0x4B, 0xB5, 0x2A, 0x00, 0xF1, 0x10, 0x10, 0x83, 0x4B, 0x05, - 0xF1, 0x10, 0x10, 0xCF, 0xE8, 0xF2, 0x07, 0x21, 0x5F, 0x12, 0x48, 0x47, 0x7A, 0xB4, 0x42, 0xD3, - 0x0F, 0x00, 0x24, 0x28, 0x6F, 0x2C, 0x28, 0x6F, 0x3E, 0x18, 0x02, 0xC4, 0x56, 0x3A, 0x1A, 0x1D, - 0xDE, 0x41, 0x6C, 0xB5, 0xA3, 0xD1, 0xE1, 0x1D, 0xC4, 0xA3, 0xE2, 0x1D, 0xC4, 0xA3, 0xE3, 0x1D, - 0x6E, 0xFC, 0x26, 0x6E, 0xFE, 0x46, 0xC0, 0x04, 0x6F, 0x26, 0x04, 0x6F, 0x28, 0x80, 0xE2, 0x4C, - 0x21, 0xCC, 0x6F, 0xF0, 0x5E, 0xE2, 0x46, 0xF1, 0xC6, 0xE2, 0x66, 0xF1, 0xE6, 0x6E, 0xFC, 0x06, - 0x6E, 0xFE, 0x26, 0xEC, 0x00, 0xC0, 0x6F, 0x04, 0x0C, 0xF0, 0x66, 0x11, 0x43, 0x94, 0x1D, 0xF7, - 0xF0, 0x00, 0xC2, 0xFE, 0xC6, 0xC2, 0xFE, 0xE6, 0x83, 0x21, 0x00, 0xA2, 0x10, 0x40, 0xEC, 0x1D, - 0x20, 0x0A, 0x00, 0x56, 0x3A, 0x1A, 0x1D, 0x20, 0x0A, 0x01, 0xC4, 0xDE, 0x01, 0xA2, 0x00, 0x60, - 0xB5, 0xA3, 0xD1, 0x01, 0xA2, 0x10, 0x40, 0xEC, 0x1D, 0x20, 0x0A, 0x00, 0xA3, 0x02, 0xA2, 0x10, - 0x40, 0xEC, 0x1D, 0x20, 0x0A, 0x00, 0xA3, 0xE3, 0xC6, 0x6F, 0xE2, 0xE6, 0x6F, 0x04, 0x4C, 0xF0, - 0x66, 0x42, 0xF0, 0x86, 0x02, 0x28, 0xCE, 0x14, 0xC2, 0xFC, 0x06, 0xEF, 0x25, 0x6E, 0x14, 0x6F, - 0x2C, 0x6E, 0x16, 0x6F, 0xEE, 0xC6, 0x6F, 0xE0, 0xE6, 0x6F, 0xC2, 0x0E, 0x00, 0xF3, 0x46, 0xC0, - 0x00, 0x6F, 0x16, 0xC0, 0x3D, 0xD9, 0x41, 0x1F, 0x15, 0x30, 0x1F, 0x46, 0x5A, 0x20, 0x30, 0x46, - 0x5B, 0x30, 0x30, 0x25, 0x04, 0x53, 0x53, 0x30, 0xE2, 0x07, 0x21, 0x5E, 0x12, 0xCF, 0x18, 0x10, - 0xDF, 0xFC, 0x25, 0xEF, 0xF4, 0x3E, 0xEF, 0xFB, 0x7E, 0x21, 0x09, 0xED, 0x03, 0x97, 0x70, 0x30, - 0x71, 0x09, 0xF9, 0x0B, 0x02, 0x83, 0x21, 0x40, 0x50, 0x33, 0xD2, 0x08, 0xA0, 0x10, 0x03, 0x58, - 0x20, 0x10, 0x06, 0xD4, 0xD2, 0x08, 0x60, 0x0F, 0xEF, 0xF3, 0xFE, 0xEF, 0x12, 0x23, 0x55, 0x3C, - 0x98, 0xE5, 0x83, 0x69, 0x3E, 0xD8, 0x54, 0x06, 0x54, 0xC1, 0xFC, 0x81, 0x02, 0x0D, 0xFD, 0x55, - 0x3F, 0x06, 0x55, 0xC1, 0xCF, 0x81, 0x10, 0xC5, 0x20, 0x52, 0xEF, 0x20, 0x53, 0x07, 0x83, 0x68, - 0x6E, 0x60, 0x1E, 0xFC, 0x13, 0x08, 0xD4, 0x30, 0x18, 0xE6, 0xEF, 0x14, 0xC5, 0x33, 0x01, 0xEF, - 0x17, 0xD3, 0xBB, 0xFE, 0x3E, 0xEF, 0x32, 0xB8, 0x54, 0x83, 0x5B, 0x35, 0x98, 0xE5, 0x83, 0x69, - 0x3E, 0xD8, 0x54, 0x06, 0x55, 0xC1, 0xCF, 0x81, 0x10, 0xC5, 0x06, 0x54, 0xC1, 0xFC, 0x81, 0x01, - 0x0D, 0x20, 0x56, 0x06, 0x6C, 0x47, 0xC1, 0xFF, 0x58, 0x07, 0x52, 0x6C, 0x47, 0x48, 0xD1, 0xFF, - 0x6F, 0xA0, 0x80, 0xF0, 0x0E, 0x07, 0x53, 0xEF, 0x1B, 0xB3, 0x4F, 0xFC, 0x4E, 0xEF, 0xBD, 0x20, - 0x30, 0x18, 0x02, 0x21, 0xD4, 0xE8, 0x11, 0xDA, 0x30, 0x3E, 0x8D, 0x03, 0x14, 0x11, 0x73, 0x4E, - 0xD0, 0x38, 0xC1, 0xF7, 0x81, 0x04, 0x0D, 0xE3, 0x60, 0x29, 0x80, 0x31, 0x18, 0x02, 0xEF, 0xD2, - 0x0E, 0x80, 0x20, 0xA0, 0x93, 0x12, 0xAE, 0x33, 0x01, 0x02, 0x0A, 0x44, 0x0B, 0x8C, 0x00, 0x7D, - 0x8B, 0x02, 0xEF, 0x1D, 0x83, 0xDB, 0xCD, 0x0C, 0x00, 0x80, 0xEA, 0xF5, 0x3E, 0x8B, 0x05, 0x21, - 0x20, 0xF5, 0x11, 0x08, 0x1E, 0xF0, 0xE1, 0x13, 0x51, 0xE0, 0x40, 0x60, 0x33, 0x0C, 0x0A, 0x22, - 0xB3, 0x3E, 0x10, 0x05, 0x20, 0x21, 0x93, 0xF7, 0xCC, 0x00, 0x00, 0xB8, 0x2D, 0x11, 0x15, 0x1E, - 0xE3, 0x40, 0x9C, 0x09, 0xE2, 0x21, 0x09, 0xC4, 0x99, 0x15, 0xFE, 0xFE, 0x99, 0x0D, 0x1E, 0x20, - 0x07, 0x99, 0x03, 0xBE, 0x2B, 0x30, 0x0C, 0x35, 0x03, 0x21, 0xEE, 0xEA, 0x5B, 0x05, 0x83, 0x21, - 0x10, 0x63, 0x85, 0x3E, 0x10, 0x05, 0x6A, 0x21, 0xBF, 0xF6, 0xCC, 0x00, 0x00, 0xB8, 0x7A, 0x03, - 0x52, 0x10, 0x11, 0xD3, 0x3E, 0x1C, 0x63, 0xF2, 0x1C, 0x90, 0xCF, 0x11, 0x45, 0x30, 0x30, 0x02, - 0x08, 0xBB, 0x02, 0x98, 0x4E, 0xE3, 0x60, 0x29, 0x80, 0x31, 0x18, 0x02, 0xEF, 0xD2, 0x0E, 0x80, - 0x20, 0xA0, 0x93, 0x12, 0xAE, 0x33, 0x3E, 0x8D, 0x03, 0x88, 0x98, 0x20, 0x04, 0x36, 0xC3, 0xA0, - 0x20, 0x22, 0x12, 0x03, 0x79, 0xE0, 0xF6, 0x11, 0x19, 0x90, 0x49, 0xF6, 0x04, 0x35, 0x13, 0xEC, - 0xDF, 0xD0, 0x08, 0x60, 0x10, 0x63, 0xA9, 0xBE, 0x49, 0x10, 0x90, 0xD9, 0x99, 0x0C, 0xED, 0x25, - 0xDF, 0x04, 0xF1, 0xDF, 0xFC, 0x27, 0x03, 0x4F, 0xD0, 0x16, 0xF3, 0xC9, 0x38, 0x30, 0x16, 0xF3, - 0xCB, 0x38, 0x90, 0x15, 0x03, 0x49, 0x20, 0x0C, 0x44, 0x14, 0xD2, 0x08, 0x50, 0x14, 0x51, 0x8F, - 0x23, 0x40, 0xA1, 0x32, 0x18, 0xD1, 0xC1, 0xE1, 0x20, 0x32, 0x04, 0x58, 0x1D, 0x44, 0x45, 0x12, - 0x3B, 0x03, 0x63, 0xA1, 0x14, 0x08, 0x58, 0xE0, 0x2E, 0xC2, 0x47, 0x10, 0xF0, 0x07, 0x0A, 0x08, - 0xEF, 0x50, 0xF0, 0x2E, 0x82, 0x12, 0xFC, 0x8F, 0xA5, 0x52, 0x02, 0x2F, 0xC2, 0x67, 0x10, 0xF0, - 0x07, 0x0A, 0x08, 0xEF, 0x50, 0x10, 0x2F, 0x82, 0x12, 0xFC, 0x8F, 0x55, 0x20, 0x2F, 0xC2, 0x27, - 0x10, 0xF0, 0x07, 0x0A, 0x08, 0xEF, 0x1A, 0x3C, 0x50, 0x30, 0x2F, 0xE1, 0xFF, 0x25, 0xF4, 0x42, - 0x44, 0x10, 0xDC, 0xDB, 0xB0, 0x78, 0x90, 0xA9, 0x08, 0x04, 0x8F, 0x83, 0x00, 0xF8, 0x19, 0x04, - 0x8F, 0x83, 0xF0, 0x0D, 0x04, 0xEE, 0x12, 0x0C, 0xDF, 0x80, 0xD9, 0x33, 0x00, 0x07, 0x21, 0x13, - 0x46, 0xC0, 0xB5, 0x46, 0x00, 0x0C, 0x20, 0x6D, 0x02, 0x01, 0x51, 0xEE, 0x02, 0x80, 0x59, 0xB1, - 0x70, 0x10, 0xE5, 0x2E, 0x80, 0x42, 0x20, 0x6D, 0x02, 0x01, 0x04, 0x2A, 0x83, 0x10, 0x0D, 0x0C, - 0x0E, 0x22, 0x43, 0x80, 0xD4, 0x40, 0xE1, 0x2E, 0x63, 0xD1, 0x31, 0x3C, 0x8C, 0x03, 0x11, 0x04, - 0xE0, 0x27, 0xDF, 0x04, 0xF1, 0x83, 0x12, 0x01, 0xF1, 0x83, 0x1A, 0x01, 0xF1, 0xDF, 0xFE, 0x07, - 0x68, 0x50, 0xD8, 0x02, 0x20, 0x32, 0x2D, 0xED, 0x98, 0x02, 0x82, 0x4A, 0xAB, 0x08, 0x08, 0x81, - 0xD5, 0xEE, 0x2E, 0x20, 0x85, 0xB5, 0x28, 0x41, 0x80, 0x2D, 0x23, 0x82, 0x3D, 0x3D, 0x1C, 0x8D, - 0x03, 0x11, 0xD1, 0xEF, 0x07, 0xDF, 0x02, 0xF1, 0x30, 0xDF, 0xFC, 0x06, 0x4F, 0xD2, 0x7E, 0xF9, - 0x33, 0x24, 0x97, 0x5A, 0x0A, 0x14, 0x85, 0x20, 0x95, 0x44, 0x83, 0x3A, 0x39, 0x08, 0x96, 0x83, - 0x6A, 0x49, 0xC0, 0x38, 0xC1, 0xFB, 0x0D, 0xC1, 0x01, 0xA9, 0x40, 0x32, 0x9E, 0x8C, 0x03, 0x36, - 0x42, 0xD1, 0x38, 0x04, 0x8E, 0x23, 0x82, 0x73, 0x51, 0xD1, 0x38, 0xC3, 0xC9, 0x38, 0x90, 0x59, - 0x21, 0x43, 0x7B, 0x89, 0x11, 0x43, 0x78, 0x09, 0x11, 0x0A, 0x09, 0x85, 0x43, 0x59, 0x79, 0x1F, - 0x83, 0x51, 0x39, 0x28, 0x96, 0xC3, 0xC2, 0x38, 0x30, 0x84, 0x95, 0xD3, 0x30, 0x0C, 0x8C, 0x03, - 0x03, 0x47, 0x70, 0x35, 0x0E, 0x8D, 0x03, 0x17, 0x41, 0x24, 0x07, 0x41, 0x23, 0x10, 0x51, 0x8E, - 0x13, 0x80, 0xA9, 0x37, 0x2E, 0x8D, 0x03, 0x17, 0x41, 0x24, 0x13, 0x41, 0x23, 0x18, 0x51, 0x8E, - 0x43, 0x80, 0xA9, 0x15, 0x44, 0x02, 0x10, 0x34, 0x72, 0x10, 0xE5, 0x38, 0x00, 0x98, 0x43, 0xE3, - 0xD1, 0x38, 0xE0, 0x11, 0x44, 0x02, 0x41, 0x80, 0x2D, 0x80, 0x10, 0x45, 0x23, 0x51, 0x8E, 0x23, - 0x80, 0xC9, 0x31, 0x0E, 0x8D, 0x03, 0x13, 0x41, 0x24, 0x07, 0x41, 0x23, 0x10, 0x51, 0x8E, 0x13, - 0x30, 0x1C, 0x8C, 0x03, 0x44, 0x24, 0xED, 0xEE, 0x02, 0x82, 0x48, 0x78, 0x10, 0x49, 0x44, 0x82, - 0x10, 0x0D, 0x11, 0x14, 0xEF, 0x3F, 0xC3, 0xC8, 0x38, 0x30, 0xB8, 0x93, 0x83, 0x30, 0x99, 0x59, - 0x0F, 0x43, 0x78, 0xD9, 0x0E, 0x0A, 0x01, 0x85, 0x43, 0x58, 0x19, 0x0B, 0x43, 0x52, 0xB9, 0x34, - 0x1E, 0x8C, 0x03, 0x2E, 0x14, 0x8D, 0x43, 0xE0, 0x38, 0x22, 0x38, 0x17, 0x15, 0x8D, 0x43, 0xC0, - 0x38, 0xC1, 0xFD, 0x0D, 0xC1, 0x08, 0x19, 0x33, 0xBC, 0x8C, 0x03, 0x83, 0x52, 0x39, 0x28, 0x93, - 0x83, 0x30, 0x99, 0xD9, 0x08, 0x54, 0x24, 0x44, 0x23, 0x23, 0x81, 0xCC, 0xD1, 0xEE, 0x2E, 0x20, - 0x98, 0x84, 0x07, 0x91, 0x44, 0x24, 0x08, 0xD1, 0x80, 0xB9, 0x32, 0x1E, 0x8C, 0x03, 0x1C, 0x14, - 0x8D, 0x43, 0xE0, 0x38, 0x22, 0x38, 0x17, 0x15, 0x8D, 0x33, 0x9C, 0x8C, 0x03, 0x20, 0x91, 0xFF, - 0x83, 0x30, 0x89, 0xE9, 0x42, 0x15, 0xC2, 0xA1, 0x80, 0x8C, 0x61, 0x00, 0xD9, 0x4E, 0x2E, 0x20, - 0x98, 0x85, 0x44, 0x21, 0x08, 0xD1, 0x30, 0xB8, 0x93, 0x83, 0x30, 0xE9, 0x06, 0x4E, 0xF2, 0x4D, - 0x30, 0xDF, 0xFE, 0x07, 0x7E, 0xE7, 0xB6, 0x82, 0x95, 0x43, 0x7E, 0xE5, 0x96, 0x82, 0xE5, 0x07, - 0xDF, 0x02, 0xF1, 0xCD, 0x7F, 0xF0, 0x25, 0x0C, 0x20, 0xD8, 0x0A, 0x42, 0x20, 0x34, 0x98, 0x50, - 0x58, 0x42, 0xED, 0xB7, 0x6E, 0xD9, 0x0D, 0x01, 0x80, 0xEC, 0xE1, 0x0D, 0xA8, 0x34, 0x32, 0x2F, - 0xE2, 0x22, 0x2D, 0xC2, 0xDE, 0x8F, 0xDB, 0x8E, 0xD9, 0x21, 0xDE, 0xF0, 0x82, 0x22, 0x34, 0xDE, - 0x90, 0x60, 0x32, 0x2D, 0xC2, 0xDE, 0x9F, 0xA2, 0x5E, 0xF7, 0xE2, 0x2D, 0x3F, 0xDC, 0x00, 0x00, - 0x29, 0xC6, 0x0C, 0x00, 0x90, 0x11, 0x38, 0xE1, 0x25, 0x7E, 0xF0, 0x4D, 0x10, 0xDF, 0x7F, 0x06, - 0x2A, 0x6E, 0xC4, 0x82, 0x80, 0xED, 0xC1, 0x02, 0x81, 0x4D, 0xA0, 0xFA, 0x80, 0x82, 0x4A, 0x58, - 0x0C, 0x00, 0x88, 0x03, 0x18, 0xCF, 0x0A, 0xC0, 0x20, 0x93, 0x22, 0x8C, 0xF2, 0x29, 0xCA, 0x0C, - 0x00, 0x60, 0x06, 0xDF, 0x01, 0xF1, 0xCD, 0x7F, 0xF0, 0x25, 0x0C, 0x20, 0xD8, 0x0A, 0x42, 0x20, - 0x34, 0x98, 0x49, 0x58, 0x42, 0xED, 0xB7, 0x6E, 0xD9, 0x0D, 0x01, 0x80, 0xAC, 0xE1, 0x0D, 0xA8, - 0x2D, 0x52, 0x30, 0xAB, 0xB3, 0xEF, 0xFD, 0x39, 0x88, 0xA9, 0x21, 0xDE, 0xF0, 0x82, 0x21, 0x04, - 0xDE, 0x90, 0x41, 0x52, 0xE3, 0xFD, 0x39, 0xEB, 0x75, 0x2F, 0xDE, 0xF2, 0xC3, 0x0D, 0x00, 0x90, - 0x62, 0xCC, 0x00, 0x00, 0x19, 0x81, 0x13, 0x5E, 0xE2, 0x07, 0xDF, 0x04, 0xC1, 0x00, 0x81, 0x5D, - 0x20, 0x04, 0x10, 0xDF, 0x7F, 0x06, 0x2A, 0x6E, 0xC4, 0x82, 0x80, 0x7D, 0xA0, 0x84, 0x85, 0x82, - 0xAC, 0x00, 0x0C, 0x32, 0x2D, 0xC2, 0x28, 0x9F, 0xA2, 0xCC, 0x00, 0x00, 0x66, 0xF0, 0x1D, 0x10, - 0xDF, 0xFC, 0x07, 0x4F, 0xE2, 0xF7, 0x6E, 0x2D, 0xB2, 0x22, 0x2A, 0x92, 0x22, 0x28, 0x45, 0x01, - 0x00, 0x6F, 0x8D, 0xAC, 0xA0, 0x00, 0x30, 0x2B, 0xB3, 0xF3, 0xF7, 0xEE, 0xF6, 0xCD, 0x7F, 0xF0, - 0x24, 0xEE, 0xE0, 0x96, 0x7E, 0x2D, 0x25, 0x4E, 0xF7, 0xE0, 0xB6, 0x7E, 0x3F, 0x8B, 0xB3, 0x7D, - 0x28, 0x70, 0x39, 0xC0, 0x0C, 0x00, 0x80, 0x0B, 0xE1, 0xC1, 0x0D, 0x00, 0x20, 0x42, 0x03, 0x08, - 0xE1, 0x24, 0x7E, 0xF0, 0x4D, 0x10, 0xCF, 0xF6, 0x7F, 0xF4, 0x64, 0x5F, 0x28, 0x7E, 0x11, 0x62, - 0x65, 0x31, 0xDA, 0x57, 0x80, 0x03, 0x88, 0x27, 0x6E, 0x2F, 0xB2, 0x22, 0x2A, 0x92, 0x22, 0x28, - 0x45, 0x01, 0x00, 0x49, 0x0A, 0x00, 0xB3, 0x32, 0x3B, 0xF2, 0x17, 0x21, 0x7E, 0x15, 0x38, 0x80, - 0x98, 0x22, 0x6E, 0x13, 0x22, 0x2B, 0xA2, 0x22, 0x29, 0x82, 0x52, 0x14, 0x00, 0x90, 0xA4, 0x00, - 0x30, 0x2B, 0xB3, 0x23, 0x7F, 0x15, 0xE2, 0x15, 0xE1, 0xF4, 0xE2, 0x36, 0x21, 0xF5, 0xD8, 0x3B, - 0x39, 0x23, 0xC5, 0xD8, 0x31, 0xDC, 0x00, 0x00, 0xB8, 0x3C, 0x42, 0x2C, 0xEC, 0x20, 0x07, 0x04, - 0x5E, 0x7D, 0x3D, 0x70, 0x2C, 0xE0, 0xF6, 0x20, 0x07, 0x04, 0x2F, 0x99, 0xC6, 0xE0, 0xD4, 0x42, - 0xF0, 0x70, 0x29, 0x70, 0x39, 0x90, 0x69, 0x10, 0x72, 0x34, 0x81, 0x74, 0x34, 0x47, 0x82, 0x10, - 0x98, 0x14, 0x52, 0x30, 0xAB, 0xB3, 0x2F, 0x47, 0x13, 0x46, 0x81, 0x10, 0x47, 0x21, 0x46, 0x13, - 0x52, 0x2F, 0x22, 0xDC, 0xB8, 0x17, 0x52, 0x2C, 0x22, 0xD0, 0xEE, 0x26, 0xF3, 0x22, 0x2E, 0xD2, - 0x22, 0x2C, 0xF5, 0x22, 0xB2, 0x80, 0x4B, 0x21, 0xC5, 0xD8, 0x0D, 0x42, 0x88, 0x3C, 0xE0, 0xFD, - 0x42, 0x2B, 0x6F, 0x13, 0x6E, 0x82, 0x6C, 0x20, 0x05, 0xEE, 0x23, 0x05, 0x08, 0xF1, 0x26, 0x46, - 0x81, 0xF0, 0x0D, 0xE2, 0x36, 0x81, 0x8B, 0xEA, 0xD5, 0x6E, 0xF2, 0x82, 0x77, 0x2F, 0x70, 0x3F, - 0x60, 0x07, 0x33, 0x8F, 0xFC, 0x62, 0x3F, 0x60, 0x2E, 0x20, 0xB2, 0x22, 0x2A, 0x92, 0x22, 0x28, - 0x45, 0x01, 0x00, 0x2F, 0x0A, 0x00, 0xB3, 0x32, 0x3B, 0xE7, 0x02, 0xF7, 0x03, 0xC6, 0x02, 0xD6, - 0x03, 0xCC, 0x00, 0x00, 0x39, 0xE5, 0x33, 0xB6, 0x19, 0x81, 0x10, 0x5E, 0xE8, 0x64, 0x7E, 0xF4, - 0xAC, 0x00, 0xF1, 0xAD, 0x7F, 0xF0, 0x24, 0x5F, 0xE4, 0xB6, 0x7E, 0x0F, 0x72, 0x10, 0x20, 0xC4, - 0x42, 0xEF, 0xB6, 0xE2, 0x17, 0x01, 0x72, 0x10, 0x20, 0x95, 0x6E, 0xED, 0xF7, 0x20, 0x07, 0x01, - 0x52, 0x29, 0xCC, 0x4E, 0xF9, 0xE0, 0x2C, 0xF2, 0xE9, 0x0D, 0x39, 0x34, 0x16, 0x19, 0xE1, 0x1D, - 0x5E, 0xE4, 0x24, 0x7E, 0xF0, 0x6D, 0x10, 0xDF, 0xFB, 0x17, 0x4F, 0x63, 0x97, 0xA3, 0x77, 0x07, - 0xCC, 0x00, 0x00, 0xA8, 0x6C, 0x88, 0x0D, 0x22, 0x29, 0x82, 0x52, 0x14, 0x00, 0xE0, 0x87, 0x38, - 0x80, 0xD8, 0x20, 0xB2, 0x22, 0x2A, 0x55, 0x01, 0x00, 0x9C, 0x00, 0x10, 0x42, 0x2E, 0x34, 0x20, - 0x07, 0x04, 0x98, 0x11, 0xBC, 0x00, 0x06, 0x48, 0x98, 0x22, 0xE2, 0x8E, 0x65, 0x07, 0x33, 0x8F, - 0xDC, 0x20, 0x92, 0x22, 0x28, 0x45, 0x01, 0x00, 0xCC, 0x00, 0x00, 0x4E, 0xE3, 0x17, 0xDF, 0x05, - 0xF1, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -}; - diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_firm_p4.h b/drivers/input/touchscreen/wacom/wacom_i2c_firm_p4.h index f4c924e..4e29903 100755..100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c_firm_p4.h +++ b/drivers/input/touchscreen/wacom/wacom_i2c_firm_p4.h @@ -255,12 +255,12 @@ const unsigned char Binary_48[] = { 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x9B, 0x54, 0x5C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0xD6, 0x8A, 0x9B, 0x62, 0x8B, 0x9B, - 0xD5, 0x8A, 0xFF, 0xFF, 0xFF, 0x9B, 0x63, 0x8B, 0xFF, 0xFF, 0xFF, 0x9B, 0xCA, 0x8B, 0x9B, 0xF4, - 0x8B, 0x9B, 0x2C, 0x8C, 0x9B, 0x59, 0x8C, 0x9B, 0xB8, 0x8B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x9B, 0x75, 0x8B, 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, 0xFF, 0xFF, 0x9B, 0x31, - 0x89, 0xFF, 0x09, 0x07, 0x08, 0x06, 0x1F, 0x20, 0x1B, 0x1C, 0x1A, 0x1D, 0x19, 0x15, 0x16, 0x14, + 0x9B, 0xE2, 0x63, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9B, 0x16, 0x9D, 0x9B, 0xAB, 0x9D, 0x9B, + 0x15, 0x9D, 0xFF, 0xFF, 0xFF, 0x9B, 0xAC, 0x9D, 0xFF, 0xFF, 0xFF, 0x9B, 0x13, 0x9E, 0x9B, 0x3D, + 0x9E, 0x9B, 0x75, 0x9E, 0x9B, 0xA2, 0x9E, 0x9B, 0x01, 0x9E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x9B, 0xBE, 0x9D, 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, 0xFF, 0xFF, 0x9B, 0x71, + 0x9B, 0xFF, 0x09, 0x07, 0x08, 0x06, 0x1F, 0x20, 0x1B, 0x1C, 0x1A, 0x1D, 0x19, 0x15, 0x16, 0x14, 0x17, 0x13, 0x10, 0x11, 0x0F, 0x12, 0x0E, 0x0B, 0x0C, 0x0A, 0x0D, 0x41, 0x40, 0x7F, 0x7F, 0x7F, 0x48, 0x49, 0x47, 0x4A, 0x46, 0x02, 0x03, 0x01, 0x04, 0x00, 0x05, 0x18, 0x2C, 0x1E, 0x21, 0x22, 0x26, 0x23, 0x25, 0x24, 0x27, 0x2B, 0x28, 0x2A, 0x29, 0x2D, 0x31, 0x2E, 0x30, 0x2F, 0x36, 0x3A, @@ -354,877 +354,877 @@ const unsigned char Binary_48[] = { 0x8D, 0x8E, 0x8F, 0x8E, 0x8B, 0x84, 0x7A, 0x6C, 0x4D, 0x84, 0x91, 0x98, 0x9D, 0xA3, 0xA8, 0xAA, 0xAA, 0xA7, 0xA2, 0x9D, 0x98, 0x96, 0x94, 0x92, 0x91, 0x90, 0x90, 0x8F, 0x8F, 0x8F, 0x90, 0x8F, 0x8E, 0x8D, 0x8D, 0x8C, 0x8B, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0x8D, 0x8E, 0x8F, 0x90, 0x92, 0x94, - 0x98, 0x9E, 0xA2, 0xA3, 0xA3, 0xA1, 0x9D, 0x95, 0x8B, 0x7F, 0x67, 0x82, 0x9A, 0x9E, 0xA0, 0xA5, - 0x9B, 0xAA, 0xAA, 0xA9, 0xA6, 0xA2, 0x9F, 0x9D, 0x9C, 0x9D, 0x9D, 0x9D, 0x9B, 0x9A, 0x9B, 0x9A, - 0x97, 0x95, 0x93, 0x91, 0x91, 0x91, 0x91, 0x93, 0x95, 0x97, 0x97, 0x97, 0x98, 0x99, 0x9B, 0x9C, - 0x9B, 0x9E, 0xA1, 0xA4, 0xA7, 0xA7, 0xA6, 0xA1, 0x9F, 0x97, 0x8F, 0x86, 0x75, 0xE4, 0xC4, 0xB4, - 0xB0, 0xB8, 0xB8, 0xC1, 0xC4, 0xC6, 0xC6, 0xC6, 0xC6, 0xC5, 0xC5, 0xC6, 0xC5, 0xC5, 0xC5, 0xC5, - 0xC5, 0xC5, 0xC4, 0xC2, 0xC1, 0xBF, 0xBE, 0xBD, 0xBD, 0xBE, 0xC0, 0xC1, 0xC1, 0xC0, 0xC0, 0xC1, - 0xC2, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC6, 0xC5, 0xC1, 0xBC, 0xB5, 0xAB, 0xA9, 0xAD, 0xB9, 0xA0, - 0x8B, 0x88, 0x87, 0x85, 0x89, 0x93, 0x95, 0x98, 0x9A, 0x9A, 0x98, 0x96, 0x92, 0x91, 0x91, 0x92, - 0x98, 0x97, 0x98, 0x9A, 0x9A, 0x9B, 0x99, 0x97, 0x95, 0x93, 0x92, 0x91, 0x91, 0x91, 0x90, 0x8E, - 0x90, 0x92, 0x91, 0x8E, 0x8F, 0x8F, 0x91, 0x93, 0x95, 0x93, 0x8E, 0x8B, 0x8B, 0x81, 0x7A, 0x79, - 0x72, 0x95, 0x84, 0x7B, 0x76, 0x77, 0x79, 0x7D, 0x7D, 0x80, 0x81, 0x81, 0x80, 0x80, 0x82, 0x81, - 0x81, 0x80, 0x80, 0x7F, 0x80, 0x82, 0x83, 0x82, 0x82, 0x80, 0x80, 0x7E, 0x7E, 0x7F, 0x7F, 0x7E, - 0x7C, 0x7C, 0x7B, 0x7B, 0x7B, 0x7D, 0x7E, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7D, 0x7B, 0x76, - 0x71, 0x6E, 0x62, 0x87, 0x75, 0x69, 0x5E, 0x57, 0x57, 0x58, 0x58, 0x5A, 0x5D, 0x5B, 0x5B, 0x5B, - 0x5D, 0x5F, 0x5C, 0x5E, 0x5B, 0x5A, 0x5F, 0x5C, 0x5F, 0x60, 0x5F, 0x63, 0x60, 0x5E, 0x5D, 0x57, - 0x5B, 0x59, 0x57, 0x56, 0x54, 0x53, 0x56, 0x57, 0x56, 0x5A, 0x5B, 0x5B, 0x5D, 0x5D, 0x5C, 0x5C, - 0x5F, 0x61, 0x61, 0x5F, 0x56, 0x2A, 0x2C, 0x2D, 0x29, 0x1C, 0x13, 0x0F, 0x0F, 0x10, 0x11, 0x0F, - 0x10, 0x0F, 0x0F, 0x12, 0x10, 0x14, 0x0F, 0x10, 0x14, 0x0F, 0x13, 0x19, 0x18, 0x1D, 0x18, 0x15, - 0x12, 0x09, 0x10, 0x0D, 0x0D, 0x09, 0x06, 0x07, 0x0B, 0x0A, 0x0A, 0x0F, 0x12, 0x13, 0x17, 0x18, - 0x19, 0x1F, 0x28, 0x2F, 0x2F, 0x25, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0xFE, 0x04, 0x26, 0x05, 0x63, 0x05, - 0xCC, 0x05, 0x04, 0x06, 0x87, 0x05, 0x08, 0x05, 0xAC, 0x04, 0x6F, 0x04, 0x46, 0x04, 0x2A, 0x04, - 0x1A, 0x04, 0x0F, 0x04, 0x07, 0x04, 0x00, 0x04, 0xFD, 0x03, 0x00, 0x04, 0x04, 0x04, 0x0D, 0x04, - 0x1A, 0x04, 0x32, 0x04, 0x4F, 0x04, 0x6D, 0x04, 0x7F, 0x04, 0x7E, 0x04, 0x6F, 0x04, 0x4E, 0x04, - 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0xB7, 0x05, 0x07, 0x06, - 0x26, 0x06, 0x25, 0x06, 0xFC, 0x05, 0xBB, 0x05, 0x57, 0x05, 0xFE, 0x04, 0xB9, 0x04, 0x90, 0x04, - 0x7C, 0x04, 0x6D, 0x04, 0x6C, 0x04, 0x65, 0x04, 0x64, 0x04, 0x67, 0x04, 0x66, 0x04, 0x69, 0x04, - 0x6E, 0x04, 0x75, 0x04, 0x80, 0x04, 0x8F, 0x04, 0x9D, 0x04, 0x9D, 0x04, 0x94, 0x04, 0x82, 0x04, - 0x58, 0x04, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x6E, 0xFF, - 0x79, 0xFE, 0x37, 0xFE, 0xD1, 0xFE, 0xC1, 0x00, 0x03, 0x00, 0x8E, 0x01, 0x2B, 0x02, 0x87, 0x02, - 0xF4, 0x01, 0x07, 0x01, 0xCE, 0x00, 0x39, 0x01, 0x13, 0x02, 0x30, 0x02, 0x95, 0x02, 0x43, 0x03, - 0xED, 0x02, 0x2E, 0x03, 0x6B, 0x02, 0x4C, 0x02, 0xCE, 0x02, 0x39, 0x03, 0xC7, 0x02, 0x7D, 0x02, - 0x6D, 0x01, 0x54, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, - 0x97, 0xFE, 0xDE, 0x00, 0x9F, 0x00, 0x99, 0x00, 0xF8, 0xFF, 0x73, 0x01, 0x98, 0x01, 0xA7, 0x03, - 0x21, 0x04, 0xEF, 0x03, 0x10, 0x05, 0x5E, 0x04, 0x55, 0x05, 0x6A, 0x04, 0x79, 0x05, 0x7E, 0x06, - 0x5A, 0x06, 0x22, 0x06, 0x76, 0x06, 0x91, 0x06, 0x5E, 0x06, 0x5C, 0x06, 0x74, 0x05, 0x58, 0x04, - 0x15, 0x03, 0x06, 0x02, 0x94, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x05, 0x00, 0x05, - 0x00, 0x05, 0x4B, 0x05, 0x2F, 0x05, 0xF1, 0x04, 0xB3, 0x04, 0x87, 0x04, 0x69, 0x04, 0x62, 0x04, - 0x64, 0x04, 0x68, 0x04, 0x62, 0x04, 0x56, 0x04, 0x41, 0x04, 0x29, 0x04, 0x0B, 0x04, 0xF4, 0x03, - 0xE5, 0x03, 0xDA, 0x03, 0xD4, 0x03, 0xD4, 0x03, 0xD7, 0x03, 0xE2, 0x03, 0xEF, 0x03, 0xE9, 0x03, - 0xDB, 0x03, 0xCB, 0x03, 0xC6, 0x03, 0xC3, 0x03, 0xC4, 0x03, 0xC3, 0x03, 0xC5, 0x03, 0xC8, 0x03, - 0xCE, 0x03, 0xD9, 0x03, 0xEE, 0x03, 0x10, 0x04, 0x39, 0x04, 0x59, 0x04, 0x76, 0x04, 0x95, 0x04, - 0xBF, 0x04, 0xF8, 0x04, 0x3D, 0x05, 0x7F, 0x05, 0x91, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, - 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x9C, 0x04, 0xE2, 0x04, 0xFA, 0x04, 0xEB, 0x04, 0xD2, 0x04, - 0xBD, 0x04, 0xAA, 0x04, 0x9F, 0x04, 0x9C, 0x04, 0x96, 0x04, 0x97, 0x04, 0x9F, 0x04, 0x9C, 0x04, - 0xA3, 0x04, 0xA1, 0x04, 0xA6, 0x04, 0xA8, 0x04, 0xA3, 0x04, 0xA1, 0x04, 0xA0, 0x04, 0x99, 0x04, - 0xA0, 0x04, 0xA4, 0x04, 0xAB, 0x04, 0xAE, 0x04, 0xB0, 0x04, 0xBD, 0x04, 0xC6, 0x04, 0xCF, 0x04, - 0xCE, 0x04, 0xD4, 0x04, 0xD3, 0x04, 0xD7, 0x04, 0xD6, 0x04, 0xDA, 0x04, 0xE4, 0x04, 0xF8, 0x04, - 0x15, 0x05, 0x2F, 0x05, 0x4B, 0x05, 0x70, 0x05, 0x7B, 0x05, 0x64, 0x05, 0x13, 0x05, 0x00, 0x05, - 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x29, 0x03, 0x2B, 0x04, 0x15, 0x02, - 0x1A, 0x00, 0xED, 0xFF, 0x14, 0xFF, 0xAC, 0x00, 0xE1, 0x01, 0xA5, 0x03, 0x8E, 0x04, 0x0A, 0x06, - 0x2B, 0x05, 0xB6, 0x04, 0x20, 0x03, 0x0E, 0x03, 0x81, 0x02, 0xB1, 0x01, 0xA6, 0x01, 0x16, 0x01, - 0x5C, 0x01, 0x57, 0xFE, 0x68, 0x00, 0xBB, 0x00, 0xDF, 0x00, 0x1A, 0x01, 0x90, 0x03, 0x2A, 0x03, - 0xF7, 0x03, 0xB0, 0x03, 0x02, 0x04, 0x23, 0x03, 0x81, 0x02, 0x43, 0x02, 0xAA, 0x01, 0x7B, 0x01, - 0x4E, 0x01, 0x9C, 0x01, 0xA3, 0x01, 0xFC, 0x01, 0x73, 0x03, 0xBF, 0x03, 0xB7, 0x04, 0x01, 0x07, - 0xB2, 0x04, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0xDF, 0x0A, - 0x11, 0x10, 0x64, 0x15, 0x08, 0x16, 0x83, 0x16, 0xF2, 0x17, 0x37, 0x17, 0x82, 0x17, 0xCD, 0x18, - 0xFF, 0x18, 0x7E, 0x1A, 0x2A, 0x1C, 0x1C, 0x1D, 0xAE, 0x1E, 0xBF, 0x1E, 0x9A, 0x1F, 0x02, 0x1F, - 0x2F, 0x1E, 0xCA, 0x1D, 0x93, 0x1E, 0x03, 0x1E, 0xF1, 0x20, 0xB3, 0x21, 0x0A, 0x23, 0xB9, 0x21, - 0x1E, 0x21, 0x47, 0x22, 0xA1, 0x23, 0xCC, 0x24, 0x37, 0x24, 0xB8, 0x24, 0x6B, 0x23, 0x7E, 0x22, - 0x4F, 0x22, 0xBA, 0x22, 0xDC, 0x20, 0xDA, 0x20, 0xF2, 0x21, 0x82, 0x21, 0xAE, 0x20, 0x0C, 0x21, - 0xFA, 0x1D, 0x52, 0x18, 0xF9, 0x12, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x69, 0x7F, 0x7C, 0x6D, - 0x5F, 0x54, 0x36, 0x28, 0x28, 0x24, 0x10, 0x14, 0xFF, 0x07, 0xF8, 0x06, 0x01, 0x0F, 0x01, 0x07, - 0x01, 0x08, 0xF6, 0xFC, 0x02, 0x0D, 0x04, 0x15, 0x0E, 0x19, 0x10, 0x19, 0x0C, 0x18, 0x0F, 0x21, - 0x17, 0x2A, 0x18, 0x19, 0x02, 0x09, 0xFA, 0x08, 0xF6, 0xFB, 0xEA, 0xFF, 0x07, 0x26, 0x23, 0x2B, - 0x16, 0x1C, 0x0A, 0x12, 0x02, 0x0D, 0xFA, 0x02, 0xEE, 0x01, 0x0C, 0x2F, 0x36, 0x4C, 0x3C, 0x37, - 0x0B, 0xFC, 0xD6, 0xF1, 0xF4, 0x0C, 0x1A, 0x31, 0x2C, 0x2E, 0x1C, 0x1E, 0x11, 0x1E, 0x19, 0x2C, - 0x2B, 0x3B, 0x30, 0x2B, 0x0E, 0xFF, 0xFA, 0xDE, 0xC0, 0xB1, 0xA7, 0x98, 0x82, 0x80, 0x52, 0x50, - 0x48, 0x41, 0x37, 0x2F, 0x21, 0x1C, 0x1A, 0x11, 0x00, 0x07, 0x00, 0x07, 0xFD, 0x09, 0x08, 0x18, - 0x0C, 0x10, 0x07, 0x08, 0xFA, 0x07, 0x05, 0x0E, 0x05, 0x10, 0x08, 0x10, 0x0A, 0x0F, 0x05, 0x0F, - 0x08, 0x14, 0x0F, 0x1D, 0x11, 0x15, 0x03, 0x0C, 0x02, 0x0E, 0x01, 0x06, 0xF9, 0x07, 0x0A, 0x1D, - 0x18, 0x20, 0x11, 0x18, 0x0B, 0x13, 0x08, 0x13, 0x05, 0x0C, 0x02, 0x13, 0x16, 0x29, 0x2C, 0x3A, - 0x2E, 0x2D, 0x0E, 0x0A, 0xFA, 0x0B, 0x07, 0x18, 0x1A, 0x28, 0x20, 0x24, 0x15, 0x1B, 0x11, 0x1E, - 0x1C, 0x2B, 0x28, 0x39, 0x33, 0x2E, 0x0F, 0xFF, 0xF9, 0xF0, 0xDB, 0xD5, 0xCE, 0xC3, 0xB8, 0xA0, - 0x40, 0x3C, 0x37, 0x31, 0x29, 0x23, 0x1A, 0x19, 0x15, 0x0D, 0xF9, 0x06, 0xFF, 0x08, 0x02, 0x0C, - 0x0A, 0x19, 0x0F, 0x13, 0x0A, 0x08, 0xFC, 0x09, 0x07, 0x0D, 0x04, 0x0F, 0x07, 0x0B, 0x02, 0x0A, - 0x03, 0x0C, 0x04, 0x0F, 0x0A, 0x17, 0x0B, 0x12, 0x06, 0x10, 0x04, 0x0F, 0x05, 0x0A, 0xFF, 0x0A, - 0x07, 0x1A, 0x13, 0x1C, 0x0D, 0x16, 0x0B, 0x15, 0x0B, 0x15, 0x08, 0x13, 0x09, 0x1A, 0x16, 0x27, - 0x25, 0x31, 0x23, 0x29, 0x0F, 0x15, 0x05, 0x15, 0x10, 0x1B, 0x1A, 0x26, 0x1D, 0x1F, 0x13, 0x1A, - 0x11, 0x1E, 0x1A, 0x29, 0x27, 0x36, 0x30, 0x2B, 0x0F, 0xFC, 0xF5, 0xF2, 0xE3, 0xE1, 0xDB, 0xD2, - 0xC8, 0xB6, 0x0C, 0x2B, 0x29, 0x22, 0x1C, 0x19, 0x15, 0x16, 0x12, 0x10, 0xFB, 0x03, 0xFE, 0x0C, - 0x05, 0x10, 0x0C, 0x19, 0x0F, 0x16, 0x0A, 0x0A, 0xFF, 0x0A, 0x07, 0x0D, 0x04, 0x0D, 0x04, 0x08, - 0xFF, 0x07, 0xFC, 0x07, 0xFE, 0x09, 0x07, 0x15, 0x0B, 0x10, 0x06, 0x11, 0x07, 0x12, 0x07, 0x0C, - 0x03, 0x0C, 0x09, 0x16, 0x10, 0x18, 0x0C, 0x15, 0x0A, 0x15, 0x0C, 0x17, 0x0D, 0x1A, 0x0F, 0x1E, - 0x1A, 0x25, 0x1E, 0x26, 0x1C, 0x26, 0x11, 0x1D, 0x0F, 0x1C, 0x18, 0x1F, 0x1B, 0x24, 0x19, 0x1D, - 0x12, 0x1A, 0x12, 0x1E, 0x1A, 0x27, 0x26, 0x34, 0x2F, 0x2A, 0x0C, 0xFC, 0xF4, 0xF3, 0xEA, 0xEB, - 0xE7, 0xE0, 0xD7, 0xCB, 0xFF, 0x1D, 0x1D, 0x17, 0x13, 0x11, 0x11, 0x13, 0x0F, 0x0D, 0xFA, 0x03, - 0x00, 0x0B, 0x06, 0x12, 0x0E, 0x1A, 0x0F, 0x14, 0x09, 0x0B, 0x01, 0x0C, 0x08, 0x0D, 0x04, 0x0B, - 0x00, 0x05, 0xFB, 0x05, 0xFA, 0x03, 0xFC, 0x08, 0x04, 0x10, 0x07, 0x0F, 0x04, 0x12, 0x09, 0x14, - 0x09, 0x0F, 0x07, 0x12, 0x09, 0x16, 0x0D, 0x13, 0x09, 0x14, 0x0A, 0x17, 0x0C, 0x19, 0x10, 0x1E, - 0x15, 0x1F, 0x19, 0x22, 0x1A, 0x20, 0x16, 0x22, 0x10, 0x21, 0x18, 0x25, 0x1E, 0x23, 0x1B, 0x22, - 0x16, 0x1C, 0x11, 0x19, 0x10, 0x1D, 0x19, 0x27, 0x22, 0x33, 0x2C, 0x26, 0x0B, 0xFA, 0xF3, 0xF4, - 0xEE, 0xF4, 0xF1, 0xED, 0xE6, 0xDE, 0xF1, 0x0C, 0x0C, 0x09, 0x06, 0x05, 0x0A, 0x0F, 0x0D, 0x0B, - 0xFA, 0x03, 0x01, 0x10, 0x0A, 0x15, 0x0E, 0x1A, 0x0E, 0x12, 0x08, 0x0B, 0x05, 0x0E, 0x09, 0x0E, - 0x03, 0x0A, 0xFC, 0x03, 0xF7, 0xFF, 0xF4, 0x01, 0xF8, 0x05, 0x00, 0x09, 0x04, 0x0C, 0x04, 0x12, - 0x08, 0x14, 0x0A, 0x15, 0x09, 0x11, 0x08, 0x12, 0x09, 0x11, 0x08, 0x13, 0x0C, 0x17, 0x0D, 0x1B, - 0x14, 0x21, 0x19, 0x24, 0x1D, 0x1E, 0x14, 0x15, 0x0F, 0x1B, 0x13, 0x27, 0x22, 0x30, 0x28, 0x26, - 0x1B, 0x20, 0x14, 0x19, 0x0F, 0x19, 0x11, 0x1D, 0x17, 0x25, 0x20, 0x2E, 0x25, 0x21, 0x07, 0xF9, - 0xF7, 0xF6, 0xF6, 0xFD, 0xFF, 0xFC, 0xF9, 0xF7, 0xDE, 0xF8, 0xF9, 0xF8, 0xF7, 0xF9, 0xFE, 0x06, - 0x0B, 0x0B, 0xFC, 0x06, 0x04, 0x12, 0x0C, 0x19, 0x10, 0x18, 0x0C, 0x10, 0x06, 0x0C, 0x06, 0x12, - 0x0B, 0x0F, 0x03, 0x07, 0xFA, 0x04, 0xF1, 0x02, 0xF1, 0x00, 0xF5, 0x01, 0xFD, 0x08, 0x02, 0x0A, - 0x03, 0x12, 0x08, 0x13, 0x0B, 0x17, 0x0C, 0x13, 0x08, 0x0E, 0x06, 0x0E, 0x07, 0x13, 0x0C, 0x17, - 0x0F, 0x1E, 0x16, 0x20, 0x1E, 0x28, 0x1E, 0x1B, 0x0C, 0x0B, 0x05, 0x15, 0x14, 0x2B, 0x2E, 0x39, - 0x26, 0x24, 0x1E, 0x1D, 0x0F, 0x17, 0x0E, 0x18, 0x10, 0x1B, 0x15, 0x21, 0x18, 0x2A, 0x1B, 0x1A, - 0x00, 0xF8, 0xF5, 0xF6, 0x00, 0x0B, 0x0E, 0x0F, 0x0E, 0x12, 0xF7, 0x09, 0x0A, 0x08, 0x07, 0x07, - 0x09, 0x0A, 0x0D, 0x09, 0xF9, 0x02, 0x02, 0x13, 0x0C, 0x15, 0x0B, 0x13, 0x08, 0x0F, 0x08, 0x0E, - 0x06, 0x12, 0x07, 0x0E, 0x05, 0x0B, 0x06, 0x0B, 0xFA, 0x07, 0xF7, 0x07, 0xF9, 0x06, 0xFE, 0x09, - 0x06, 0x0C, 0x08, 0x13, 0x09, 0x14, 0x0B, 0x15, 0x0A, 0x14, 0x0A, 0x12, 0x08, 0x10, 0x09, 0x13, - 0x09, 0x16, 0x0C, 0x18, 0x0E, 0x1C, 0x16, 0x23, 0x18, 0x1B, 0x11, 0x16, 0x0E, 0x14, 0x0E, 0x1F, - 0x17, 0x2B, 0x19, 0x23, 0x13, 0x19, 0x0D, 0x16, 0x0E, 0x18, 0x0E, 0x18, 0x10, 0x1B, 0x15, 0x28, - 0x21, 0x20, 0x04, 0xF5, 0xEF, 0xF4, 0xF6, 0xFE, 0x01, 0x00, 0xFC, 0xF7, 0xE2, 0xF3, 0xF4, 0xF4, - 0xF4, 0xF6, 0xFC, 0x04, 0x0F, 0x0A, 0x00, 0x0A, 0x05, 0x14, 0x0E, 0x16, 0x0D, 0x13, 0x09, 0x11, - 0x07, 0x10, 0x08, 0x12, 0x0A, 0x11, 0x06, 0x0E, 0x04, 0x08, 0x03, 0x06, 0xFC, 0x06, 0xFD, 0x09, - 0xFD, 0x09, 0x06, 0x11, 0x07, 0x13, 0x07, 0x11, 0x09, 0x14, 0x0A, 0x14, 0x09, 0x10, 0x06, 0x10, - 0x0A, 0x17, 0x0C, 0x16, 0x0E, 0x1A, 0x11, 0x1D, 0x18, 0x27, 0x1D, 0x1A, 0x0D, 0x0D, 0x03, 0x15, - 0x0F, 0x25, 0x1B, 0x27, 0x20, 0x1D, 0x11, 0x14, 0x0B, 0x14, 0x0D, 0x19, 0x0E, 0x18, 0x0E, 0x19, - 0x11, 0x25, 0x19, 0x19, 0x01, 0xF7, 0xF5, 0xFA, 0xFE, 0x09, 0x0D, 0x0C, 0x0B, 0x08, 0xFE, 0x0C, - 0x0C, 0x0B, 0x09, 0x0C, 0x10, 0x15, 0x14, 0x0D, 0xFE, 0x09, 0x05, 0x15, 0x0C, 0x14, 0x0B, 0x15, - 0x08, 0x14, 0x08, 0x11, 0x06, 0x10, 0x07, 0x11, 0x08, 0x15, 0x09, 0x0F, 0x02, 0x0B, 0xFF, 0x0C, - 0x02, 0x09, 0x03, 0x0F, 0x04, 0x10, 0x08, 0x14, 0x0C, 0x16, 0x0B, 0x16, 0x0C, 0x15, 0x0B, 0x15, - 0x06, 0x0E, 0x07, 0x12, 0x08, 0x13, 0x09, 0x17, 0x0D, 0x1C, 0x11, 0x1B, 0x10, 0x18, 0x0C, 0x12, - 0x0C, 0x15, 0x0C, 0x1C, 0x14, 0x20, 0x12, 0x1B, 0x11, 0x19, 0x0D, 0x17, 0x0C, 0x15, 0x0D, 0x18, - 0x0C, 0x19, 0x13, 0x23, 0x1A, 0x18, 0xFE, 0xF4, 0xF0, 0xF5, 0xF8, 0xFF, 0x02, 0x02, 0xFF, 0xFB, - 0xE0, 0xEA, 0xEA, 0xEC, 0xED, 0xF5, 0xFC, 0x06, 0x0E, 0x0C, 0x00, 0x0B, 0x07, 0x16, 0x0C, 0x16, - 0x0A, 0x14, 0x0B, 0x16, 0x0A, 0x12, 0x09, 0x15, 0x08, 0x13, 0x08, 0x14, 0x07, 0x0E, 0x03, 0x0A, - 0x04, 0x0B, 0x01, 0x08, 0x02, 0x10, 0x04, 0x10, 0x06, 0x12, 0x08, 0x13, 0x08, 0x15, 0x0A, 0x14, - 0x0A, 0x12, 0x07, 0x0F, 0x08, 0x0E, 0x0F, 0x1B, 0x0D, 0x19, 0x11, 0x1F, 0x15, 0x21, 0x15, 0x19, - 0x0B, 0x0D, 0x01, 0x10, 0x0E, 0x22, 0x17, 0x21, 0x18, 0x1A, 0x0E, 0x15, 0x0A, 0x15, 0x0B, 0x16, - 0x0C, 0x16, 0x0C, 0x19, 0x11, 0x20, 0x18, 0x16, 0xFF, 0xF8, 0xFA, 0xF6, 0xFE, 0x07, 0x0A, 0x09, - 0x06, 0xFF, 0x0C, 0x0D, 0x0C, 0x0A, 0x09, 0x0C, 0x0E, 0x0F, 0x15, 0x14, 0x03, 0x0C, 0x07, 0x17, - 0x0D, 0x17, 0x0C, 0x17, 0x0B, 0x15, 0x0B, 0x15, 0x08, 0x10, 0x08, 0x14, 0x09, 0x11, 0x07, 0x11, - 0x05, 0x0D, 0x04, 0x0B, 0x03, 0x0D, 0x05, 0x11, 0x08, 0x16, 0x0C, 0x17, 0x12, 0x1F, 0x15, 0x1E, - 0x11, 0x13, 0x08, 0x11, 0x06, 0x0A, 0x01, 0x08, 0x02, 0x0E, 0x07, 0x15, 0x0B, 0x17, 0x0D, 0x18, - 0x0C, 0x11, 0x08, 0x10, 0x0B, 0x19, 0x0D, 0x18, 0x0F, 0x1C, 0x0E, 0x17, 0x0E, 0x16, 0x0D, 0x18, - 0x0D, 0x15, 0x0B, 0x13, 0x0A, 0x14, 0x0E, 0x1D, 0x12, 0x0E, 0xF7, 0xF1, 0xF5, 0xF5, 0xF6, 0x00, - 0x05, 0x04, 0x02, 0xFC, 0xE9, 0xED, 0xED, 0xED, 0xEF, 0xF6, 0xFA, 0x02, 0x0B, 0x0D, 0x02, 0x0C, - 0x07, 0x16, 0x0C, 0x17, 0x0D, 0x17, 0x0B, 0x15, 0x0B, 0x14, 0x0C, 0x15, 0x09, 0x12, 0x09, 0x14, - 0x08, 0x0E, 0x05, 0x0C, 0x04, 0x0A, 0x02, 0x0A, 0x05, 0x11, 0x08, 0x13, 0x0A, 0x1B, 0x0E, 0x1A, - 0x10, 0x1C, 0x0F, 0x15, 0x08, 0x10, 0x06, 0x0C, 0x03, 0x0D, 0x08, 0x14, 0x09, 0x14, 0x0F, 0x1D, - 0x10, 0x1A, 0x0F, 0x11, 0x07, 0x0E, 0x07, 0x16, 0x0E, 0x1E, 0x11, 0x1C, 0x11, 0x18, 0x0C, 0x13, - 0x09, 0x15, 0x0B, 0x15, 0x0C, 0x15, 0x0B, 0x15, 0x0D, 0x1B, 0x13, 0x11, 0xFB, 0xFB, 0xFF, 0xFC, - 0xFE, 0x07, 0x08, 0x06, 0x01, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x0A, 0x09, 0x12, 0x13, 0x1B, - 0x0D, 0x16, 0x0F, 0x1B, 0x10, 0x17, 0x0C, 0x15, 0x0B, 0x16, 0x0B, 0x14, 0x0A, 0x11, 0x08, 0x12, - 0x09, 0x15, 0x0B, 0x16, 0x09, 0x0D, 0x04, 0x0B, 0x03, 0x0C, 0x05, 0x10, 0x0B, 0x19, 0x11, 0x24, - 0x16, 0x2A, 0x22, 0x25, 0x18, 0x1B, 0x0B, 0x0E, 0x00, 0x04, 0xF6, 0xFF, 0xF7, 0x0A, 0xFF, 0x0A, - 0x08, 0x14, 0x0A, 0x15, 0x08, 0x11, 0x09, 0x10, 0x09, 0x15, 0x09, 0x14, 0x0B, 0x17, 0x0C, 0x15, - 0x0D, 0x16, 0x0D, 0x17, 0x0C, 0x14, 0x09, 0x11, 0x07, 0x10, 0x0A, 0x17, 0x08, 0x09, 0xF6, 0xF5, - 0xF3, 0xF4, 0xF4, 0x01, 0x06, 0x07, 0x04, 0xFD, 0x0B, 0x08, 0x03, 0x01, 0x00, 0x04, 0x02, 0x05, - 0x0C, 0x11, 0x05, 0x11, 0x0B, 0x19, 0x0D, 0x16, 0x0D, 0x17, 0x0C, 0x17, 0x0C, 0x15, 0x0A, 0x13, - 0x08, 0x12, 0x08, 0x15, 0x0A, 0x13, 0x08, 0x0F, 0x01, 0x0A, 0x03, 0x0B, 0x02, 0x10, 0x09, 0x18, - 0x12, 0x22, 0x1A, 0x25, 0x1E, 0x25, 0x16, 0x19, 0x0B, 0x0D, 0xFE, 0x04, 0xF7, 0x03, 0xFA, 0x06, - 0x01, 0x11, 0x0A, 0x19, 0x0D, 0x16, 0x0C, 0x13, 0x07, 0x0F, 0x07, 0x14, 0x0B, 0x16, 0x0C, 0x15, - 0x0C, 0x16, 0x0A, 0x14, 0x0C, 0x14, 0x0A, 0x13, 0x09, 0x13, 0x09, 0x12, 0x0A, 0x17, 0x04, 0x10, - 0xFA, 0xFC, 0xFF, 0xF9, 0xFA, 0x01, 0x04, 0x02, 0xFD, 0xF4, 0xD9, 0xEA, 0xEB, 0xEE, 0xF2, 0xFD, - 0x08, 0x0F, 0x10, 0x1A, 0x16, 0x1F, 0x1C, 0x20, 0x13, 0x16, 0x0A, 0x13, 0x09, 0x14, 0x0A, 0x13, - 0x0B, 0x13, 0x0A, 0x14, 0x08, 0x13, 0x08, 0x12, 0x07, 0x0D, 0x06, 0x0C, 0x03, 0x08, 0x02, 0x0D, - 0x0B, 0x1D, 0x1A, 0x2D, 0x2C, 0x3B, 0x33, 0x34, 0x24, 0x1D, 0x0C, 0x0A, 0xF9, 0xF7, 0xE7, 0xF1, - 0xEB, 0xFC, 0xFA, 0x08, 0x03, 0x0F, 0x05, 0x10, 0x08, 0x13, 0x0A, 0x13, 0x08, 0x11, 0x07, 0x12, - 0x06, 0x10, 0x07, 0x11, 0x09, 0x13, 0x09, 0x14, 0x0C, 0x15, 0x09, 0x12, 0x06, 0x0B, 0x01, 0x08, - 0xFD, 0x06, 0xF4, 0xF7, 0xF2, 0xF1, 0xF9, 0x07, 0x0E, 0x0F, 0x0D, 0x0A, 0x0B, 0x12, 0x0F, 0x0B, - 0x08, 0x08, 0x06, 0x04, 0x04, 0x0F, 0x0C, 0x1A, 0x13, 0x1D, 0x10, 0x15, 0x0B, 0x15, 0x0C, 0x15, - 0x0B, 0x13, 0x0A, 0x12, 0x09, 0x12, 0x08, 0x15, 0x08, 0x12, 0x07, 0x0F, 0x05, 0x0C, 0x02, 0x07, - 0x02, 0x0C, 0x0B, 0x1B, 0x17, 0x2E, 0x28, 0x38, 0x32, 0x37, 0x25, 0x1E, 0x0C, 0x07, 0xF9, 0xF4, - 0xE7, 0xF2, 0xEB, 0xFD, 0xFD, 0x0D, 0x08, 0x15, 0x0A, 0x14, 0x0A, 0x12, 0x09, 0x0F, 0x07, 0x11, - 0x07, 0x12, 0x09, 0x10, 0x06, 0x0F, 0x07, 0x11, 0x08, 0x12, 0x0A, 0x13, 0x0A, 0x12, 0x07, 0x0D, - 0x01, 0x10, 0x0A, 0x0E, 0xFC, 0x00, 0xFF, 0xF8, 0xFA, 0x01, 0x03, 0x00, 0xFA, 0xF1, 0xDA, 0xF1, - 0xF2, 0xF2, 0xF4, 0xFB, 0x06, 0x0C, 0x0C, 0x21, 0x20, 0x30, 0x27, 0x23, 0x13, 0x18, 0x0B, 0x0F, - 0x04, 0x0D, 0x07, 0x12, 0x09, 0x12, 0x09, 0x13, 0x08, 0x14, 0x0A, 0x13, 0x08, 0x11, 0x07, 0x0B, - 0xFE, 0x06, 0xFD, 0x0D, 0x0D, 0x1F, 0x1E, 0x32, 0x35, 0x47, 0x3B, 0x3E, 0x2D, 0x21, 0x0D, 0x09, - 0xF9, 0xF0, 0xE0, 0xE9, 0xE3, 0xF4, 0xEF, 0x02, 0x01, 0x0E, 0x06, 0x10, 0x08, 0x14, 0x0C, 0x14, - 0x09, 0x0E, 0x04, 0x0C, 0x02, 0x0F, 0x06, 0x0E, 0x05, 0x0C, 0x05, 0x0F, 0x08, 0x14, 0x0C, 0x14, - 0x07, 0x09, 0xFA, 0xFC, 0xEF, 0xFD, 0xEF, 0xFB, 0xF8, 0xF3, 0xFB, 0x06, 0x0E, 0x0E, 0x0E, 0x11, - 0x09, 0x1D, 0x1A, 0x13, 0x0C, 0x09, 0x01, 0xFE, 0xFC, 0x0D, 0x11, 0x23, 0x1C, 0x20, 0x12, 0x18, - 0x0C, 0x12, 0x09, 0x12, 0x08, 0x12, 0x08, 0x11, 0x09, 0x11, 0x09, 0x16, 0x0B, 0x14, 0x09, 0x10, - 0x05, 0x0A, 0xFD, 0x06, 0xFD, 0x0C, 0x0D, 0x1F, 0x1C, 0x31, 0x34, 0x46, 0x3C, 0x3F, 0x2F, 0x22, - 0x0D, 0x07, 0xF5, 0xED, 0xDF, 0xE9, 0xE3, 0xF3, 0xF1, 0x04, 0x05, 0x15, 0x09, 0x12, 0x0A, 0x12, - 0x09, 0x11, 0x07, 0x10, 0x07, 0x0E, 0x04, 0x0E, 0x06, 0x0E, 0x05, 0x0B, 0x05, 0x0E, 0x08, 0x13, - 0x0B, 0x14, 0x08, 0x0A, 0x00, 0x09, 0xFC, 0x05, 0x01, 0x09, 0x07, 0x01, 0xF9, 0xFB, 0xEC, 0xF1, - 0xEA, 0xE6, 0xE6, 0x05, 0x04, 0x01, 0x00, 0x00, 0x05, 0x01, 0x02, 0x16, 0x1C, 0x37, 0x2E, 0x29, - 0x19, 0x18, 0x09, 0x0D, 0x06, 0x10, 0x08, 0x12, 0x09, 0x13, 0x0A, 0x15, 0x0B, 0x16, 0x0C, 0x16, - 0x0B, 0x11, 0x05, 0x07, 0xFE, 0x05, 0xFC, 0x0B, 0x0A, 0x1F, 0x21, 0x36, 0x37, 0x49, 0x3E, 0x37, - 0x20, 0x14, 0x07, 0x12, 0x02, 0xFC, 0xE9, 0xE8, 0xE1, 0xF3, 0xEF, 0x02, 0x02, 0x11, 0x0B, 0x15, - 0x0B, 0x13, 0x09, 0x0F, 0x06, 0x0B, 0x03, 0x0E, 0x05, 0x0F, 0x06, 0x0F, 0x06, 0x0D, 0x04, 0x0E, - 0x08, 0x15, 0x0A, 0x11, 0x04, 0x06, 0xFB, 0xF3, 0xEA, 0xF7, 0xF7, 0x04, 0xFC, 0xF7, 0xFB, 0x02, - 0x03, 0x01, 0xFF, 0x06, 0xFD, 0x1F, 0x1A, 0x11, 0x09, 0x03, 0xFD, 0xFB, 0xF7, 0x0E, 0x1C, 0x2F, - 0x28, 0x26, 0x18, 0x18, 0x0A, 0x10, 0x07, 0x11, 0x09, 0x13, 0x09, 0x11, 0x09, 0x13, 0x0C, 0x17, - 0x0D, 0x16, 0x0B, 0x0F, 0x04, 0x07, 0xFC, 0x04, 0xFC, 0x09, 0x09, 0x1D, 0x1E, 0x33, 0x34, 0x46, - 0x3A, 0x35, 0x1F, 0x14, 0x06, 0x0F, 0x02, 0xFE, 0xEC, 0xEC, 0xE4, 0xF5, 0xF1, 0x04, 0x04, 0x13, - 0x0C, 0x17, 0x0B, 0x12, 0x08, 0x0E, 0x05, 0x0C, 0x04, 0x0E, 0x06, 0x0E, 0x05, 0x0E, 0x05, 0x0C, - 0x04, 0x0D, 0x06, 0x13, 0x08, 0x0E, 0x04, 0x07, 0xFB, 0xFE, 0xF1, 0x00, 0x00, 0x09, 0x06, 0xFD, - 0xF8, 0xF7, 0xF4, 0xEF, 0xE8, 0xEE, 0xDA, 0x05, 0x07, 0x04, 0x00, 0xFA, 0x04, 0x00, 0xFB, 0x17, - 0x24, 0x39, 0x2D, 0x25, 0x14, 0x15, 0x09, 0x10, 0x06, 0x0D, 0x04, 0x0E, 0x07, 0x12, 0x0A, 0x15, - 0x0D, 0x17, 0x0C, 0x15, 0x0A, 0x11, 0x06, 0x09, 0xFF, 0x06, 0xFD, 0x0B, 0x0B, 0x1F, 0x1C, 0x2B, - 0x21, 0x19, 0x05, 0x05, 0xFE, 0x0F, 0x05, 0x10, 0x0A, 0x1B, 0x18, 0x20, 0x10, 0x0C, 0xFB, 0x05, - 0x02, 0x11, 0x0A, 0x12, 0x08, 0x10, 0x07, 0x0F, 0x06, 0x0E, 0x05, 0x0E, 0x05, 0x0D, 0x04, 0x0C, - 0x04, 0x0D, 0x05, 0x0D, 0x06, 0x0F, 0x07, 0x0E, 0x01, 0x08, 0xF8, 0xF1, 0xE9, 0xF7, 0xFB, 0x08, - 0x00, 0xFA, 0xFB, 0x01, 0x03, 0x01, 0x00, 0x10, 0xE5, 0x0F, 0x0F, 0x09, 0x02, 0x01, 0x01, 0x00, - 0xFD, 0x13, 0x22, 0x35, 0x2E, 0x24, 0x13, 0x14, 0x0A, 0x11, 0x07, 0x0D, 0x05, 0x0E, 0x07, 0x12, - 0x0A, 0x15, 0x0D, 0x18, 0x0C, 0x15, 0x0A, 0x11, 0x05, 0x08, 0xFC, 0x05, 0xFC, 0x09, 0x08, 0x1B, - 0x15, 0x24, 0x18, 0x10, 0xFD, 0xFE, 0xFB, 0x0A, 0x04, 0x10, 0x0F, 0x20, 0x24, 0x2C, 0x1A, 0x0F, - 0xFF, 0x08, 0x03, 0x13, 0x0A, 0x13, 0x08, 0x0F, 0x06, 0x0E, 0x06, 0x0E, 0x05, 0x0E, 0x05, 0x0C, - 0x02, 0x0B, 0x04, 0x0D, 0x04, 0x0C, 0x05, 0x0E, 0x05, 0x0B, 0x00, 0x06, 0xF9, 0xF5, 0xEB, 0xFC, - 0xFD, 0x0A, 0x03, 0xF7, 0xF8, 0xFD, 0xFB, 0xF7, 0xF3, 0x06, 0xCA, 0x02, 0x04, 0x03, 0xFA, 0x02, - 0x06, 0x00, 0xFC, 0x10, 0x1F, 0x31, 0x27, 0x23, 0x14, 0x17, 0x0B, 0x12, 0x06, 0x0C, 0x03, 0x0B, - 0x05, 0x13, 0x0B, 0x17, 0x0B, 0x16, 0x0B, 0x13, 0x08, 0x10, 0x06, 0x0D, 0x02, 0x09, 0x03, 0x0D, - 0x0D, 0x21, 0x1B, 0x1E, 0x07, 0xFD, 0xEA, 0xF4, 0xF7, 0x08, 0x05, 0x13, 0x11, 0x28, 0x2C, 0x35, - 0x21, 0x11, 0xFD, 0x06, 0x01, 0x11, 0x09, 0x13, 0x09, 0x12, 0x07, 0x0E, 0x06, 0x0F, 0x05, 0x0F, - 0x05, 0x0B, 0x02, 0x0A, 0x04, 0x0F, 0x07, 0x0F, 0x06, 0x0F, 0x06, 0x0F, 0x04, 0x09, 0xF8, 0xF3, - 0xEC, 0xFE, 0xFE, 0x08, 0x02, 0xFA, 0xFF, 0x06, 0x04, 0x03, 0x04, 0x1D, 0xD7, 0x0C, 0x0C, 0x08, - 0x04, 0xFF, 0x00, 0xFD, 0xFC, 0x10, 0x1E, 0x2F, 0x28, 0x23, 0x13, 0x17, 0x0B, 0x12, 0x07, 0x0D, - 0x04, 0x0C, 0x06, 0x14, 0x0B, 0x16, 0x0C, 0x16, 0x0C, 0x15, 0x08, 0x10, 0x06, 0x0C, 0x02, 0x07, - 0xFE, 0x0B, 0x0A, 0x1C, 0x11, 0x12, 0xFD, 0xF1, 0xE0, 0xED, 0xF3, 0x06, 0x04, 0x13, 0x15, 0x2F, - 0x35, 0x3F, 0x2E, 0x17, 0x05, 0x09, 0x01, 0x14, 0x0A, 0x14, 0x0A, 0x11, 0x07, 0x0F, 0x05, 0x0E, - 0x06, 0x0F, 0x06, 0x0C, 0x02, 0x09, 0x02, 0x0E, 0x06, 0x0E, 0x04, 0x0C, 0x04, 0x0E, 0x01, 0x07, - 0xF8, 0xF3, 0xE9, 0xFC, 0xF9, 0x09, 0x02, 0xF7, 0xF8, 0xFF, 0xFE, 0xFC, 0xFA, 0x15, 0xC2, 0x04, - 0x07, 0x03, 0x00, 0x00, 0x02, 0xFF, 0xFA, 0x0D, 0x18, 0x28, 0x22, 0x23, 0x12, 0x17, 0x0B, 0x12, - 0x07, 0x10, 0x06, 0x0E, 0x05, 0x10, 0x07, 0x14, 0x0A, 0x16, 0x09, 0x14, 0x0B, 0x13, 0x06, 0x0C, - 0x03, 0x0D, 0x08, 0x17, 0x0C, 0x21, 0x18, 0x1E, 0x04, 0xF0, 0xDD, 0xE3, 0xED, 0x05, 0x04, 0x15, - 0x1A, 0x36, 0x3B, 0x3D, 0x23, 0x0F, 0xF9, 0x04, 0xFD, 0x0E, 0x05, 0x11, 0x09, 0x15, 0x09, 0x11, - 0x07, 0x0F, 0x05, 0x0E, 0x04, 0x0E, 0x07, 0x11, 0x06, 0x0F, 0x06, 0x10, 0x05, 0x0F, 0x05, 0x0D, - 0x01, 0x08, 0xFA, 0xFA, 0xF0, 0x00, 0x00, 0x09, 0x02, 0xF8, 0x00, 0x06, 0x05, 0x05, 0x05, 0x25, - 0xD0, 0x0C, 0x0E, 0x08, 0x02, 0x00, 0x01, 0xFF, 0xFC, 0x14, 0x1A, 0x2C, 0x23, 0x22, 0x13, 0x17, - 0x0A, 0x13, 0x08, 0x11, 0x08, 0x10, 0x05, 0x0F, 0x07, 0x14, 0x0A, 0x15, 0x0C, 0x17, 0x0B, 0x13, - 0x07, 0x0C, 0x01, 0x0B, 0x07, 0x14, 0x0D, 0x1D, 0x13, 0x11, 0xF7, 0xE3, 0xCD, 0xD8, 0xE5, 0x00, - 0x04, 0x17, 0x21, 0x41, 0x48, 0x4B, 0x29, 0x17, 0x01, 0x08, 0x01, 0x0F, 0x07, 0x14, 0x09, 0x14, - 0x09, 0x11, 0x07, 0x10, 0x07, 0x0F, 0x06, 0x0F, 0x05, 0x10, 0x05, 0x10, 0x04, 0x0E, 0x05, 0x0D, - 0x04, 0x0D, 0x01, 0x05, 0xF9, 0xF8, 0xED, 0xFE, 0xFC, 0x08, 0xFF, 0xF9, 0xFB, 0x00, 0x00, 0xFE, - 0xFD, 0x1A, 0xBF, 0x08, 0x09, 0x04, 0x00, 0xFE, 0x00, 0xFE, 0xF8, 0x0B, 0x11, 0x21, 0x1C, 0x1E, - 0x11, 0x19, 0x0D, 0x15, 0x09, 0x10, 0x06, 0x0F, 0x08, 0x14, 0x08, 0x11, 0x08, 0x13, 0x07, 0x11, - 0x08, 0x10, 0x07, 0x12, 0x06, 0x12, 0x0A, 0x19, 0x12, 0x25, 0x1B, 0x1E, 0xFF, 0xE6, 0xCD, 0xD2, - 0xDF, 0xFD, 0x04, 0x18, 0x25, 0x4A, 0x4E, 0x46, 0x28, 0x08, 0xF0, 0x00, 0xFD, 0x0F, 0x06, 0x13, - 0x0A, 0x14, 0x08, 0x12, 0x08, 0x11, 0x09, 0x12, 0x07, 0x11, 0x08, 0x13, 0x07, 0x11, 0x09, 0x13, - 0x08, 0x0F, 0x05, 0x0C, 0x01, 0x08, 0xFB, 0x03, 0xF8, 0x07, 0x02, 0x0A, 0x01, 0xFA, 0xFD, 0x03, - 0x03, 0x01, 0x02, 0x26, 0xCA, 0x0D, 0x0F, 0x08, 0x02, 0x01, 0xFF, 0xFE, 0xFB, 0x0C, 0x13, 0x27, - 0x1D, 0x1F, 0x12, 0x19, 0x0E, 0x17, 0x09, 0x11, 0x08, 0x11, 0x09, 0x13, 0x09, 0x12, 0x08, 0x12, - 0x09, 0x13, 0x08, 0x12, 0x08, 0x10, 0x07, 0x11, 0x09, 0x17, 0x0D, 0x21, 0x16, 0x16, 0xF6, 0xDC, - 0xC2, 0xC9, 0xDA, 0xF6, 0x04, 0x1A, 0x29, 0x51, 0x5B, 0x4F, 0x2D, 0x14, 0xF6, 0x04, 0xFF, 0x0F, - 0x08, 0x14, 0x0A, 0x14, 0x0A, 0x12, 0x09, 0x13, 0x08, 0x13, 0x08, 0x13, 0x08, 0x10, 0x06, 0x11, - 0x08, 0x12, 0x07, 0x0E, 0x03, 0x0B, 0x01, 0x08, 0xFB, 0x01, 0xF5, 0x04, 0x00, 0x0A, 0xFE, 0xF8, - 0xFA, 0xFF, 0xFF, 0xFD, 0xFD, 0x21, 0xBA, 0x09, 0x0B, 0x05, 0x01, 0xFF, 0x00, 0xFD, 0xFB, 0x0C, - 0x17, 0x23, 0x1A, 0x1B, 0x0F, 0x19, 0x0D, 0x15, 0x0B, 0x14, 0x07, 0x11, 0x07, 0x11, 0x07, 0x12, - 0x08, 0x12, 0x06, 0x10, 0x06, 0x10, 0x07, 0x14, 0x0A, 0x14, 0x0B, 0x1A, 0x11, 0x24, 0x1C, 0x1D, - 0xFC, 0xDD, 0xC1, 0xC5, 0xD0, 0xF4, 0x04, 0x1C, 0x2D, 0x55, 0x5D, 0x4A, 0x24, 0x04, 0xEC, 0x01, - 0x01, 0x10, 0x06, 0x13, 0x0A, 0x14, 0x0A, 0x15, 0x0A, 0x15, 0x0A, 0x13, 0x07, 0x11, 0x08, 0x13, - 0x08, 0x14, 0x09, 0x11, 0x07, 0x0E, 0x05, 0x0E, 0x03, 0x09, 0xFB, 0x02, 0xFA, 0x06, 0x00, 0x09, - 0xFF, 0xFB, 0xFE, 0x04, 0x03, 0xFF, 0x00, 0x26, 0xC4, 0x0D, 0x10, 0x09, 0x03, 0x00, 0x01, 0xFF, - 0xFC, 0x0E, 0x17, 0x25, 0x1A, 0x1E, 0x0E, 0x19, 0x0E, 0x17, 0x0A, 0x13, 0x09, 0x11, 0x08, 0x12, - 0x08, 0x13, 0x08, 0x13, 0x07, 0x10, 0x08, 0x11, 0x07, 0x13, 0x08, 0x14, 0x0A, 0x18, 0x0F, 0x21, - 0x14, 0x17, 0xF5, 0xD4, 0xBB, 0xBF, 0xCE, 0xF3, 0x04, 0x1E, 0x35, 0x61, 0x64, 0x4E, 0x2C, 0x0C, - 0xF3, 0x06, 0x02, 0x12, 0x07, 0x13, 0x0B, 0x15, 0x0B, 0x15, 0x0A, 0x15, 0x0A, 0x13, 0x09, 0x12, - 0x09, 0x13, 0x08, 0x12, 0x07, 0x11, 0x06, 0x0F, 0x04, 0x0F, 0x03, 0x09, 0xFA, 0x02, 0xF7, 0x05, - 0xFE, 0x09, 0xFC, 0xF6, 0xF8, 0x00, 0xFF, 0xFC, 0xFB, 0x21, 0xB7, 0x0B, 0x0C, 0x06, 0x01, 0xFE, - 0x01, 0x00, 0xFD, 0x10, 0x12, 0x23, 0x1A, 0x1D, 0x0F, 0x18, 0x0C, 0x16, 0x0A, 0x14, 0x0A, 0x14, - 0x09, 0x11, 0x07, 0x10, 0x07, 0x12, 0x09, 0x13, 0x08, 0x12, 0x08, 0x12, 0x09, 0x17, 0x0D, 0x19, - 0x0D, 0x20, 0x18, 0x17, 0xF3, 0xD6, 0xB7, 0xB9, 0xCB, 0xF2, 0x05, 0x20, 0x38, 0x66, 0x6B, 0x50, - 0x27, 0x0B, 0xEE, 0x03, 0x01, 0x12, 0x0B, 0x16, 0x09, 0x13, 0x0A, 0x14, 0x0B, 0x17, 0x0C, 0x16, - 0x0B, 0x14, 0x08, 0x13, 0x09, 0x13, 0x0A, 0x14, 0x08, 0x0F, 0x05, 0x0D, 0x02, 0x09, 0xFC, 0x04, - 0xF7, 0x06, 0xFC, 0x09, 0x03, 0xF9, 0xFE, 0x02, 0x01, 0xFE, 0xFF, 0x25, 0xC0, 0x0E, 0x10, 0x0A, - 0x03, 0x00, 0x02, 0x00, 0xFE, 0x0D, 0x13, 0x24, 0x1B, 0x1F, 0x10, 0x18, 0x0D, 0x17, 0x0C, 0x15, - 0x09, 0x12, 0x08, 0x11, 0x07, 0x10, 0x07, 0x12, 0x0A, 0x14, 0x09, 0x13, 0x09, 0x14, 0x08, 0x15, - 0x0B, 0x18, 0x0D, 0x1E, 0x13, 0x10, 0xEB, 0xD2, 0xB3, 0xB5, 0xCA, 0xF3, 0x06, 0x23, 0x3C, 0x6B, - 0x6D, 0x54, 0x2C, 0x10, 0xF3, 0x05, 0x03, 0x14, 0x0A, 0x15, 0x0B, 0x15, 0x0A, 0x17, 0x0B, 0x16, - 0x0C, 0x16, 0x0A, 0x14, 0x09, 0x13, 0x07, 0x13, 0x09, 0x13, 0x08, 0x10, 0x05, 0x0C, 0x02, 0x09, - 0xFB, 0x02, 0xF5, 0x04, 0xFA, 0x07, 0xFF, 0xF6, 0xF8, 0xFF, 0xFF, 0xFC, 0xFD, 0x25, 0xB3, 0x0B, - 0x0D, 0x08, 0x01, 0xFF, 0xFF, 0xFF, 0xFB, 0x0D, 0x11, 0x24, 0x1C, 0x20, 0x11, 0x18, 0x0C, 0x15, - 0x08, 0x12, 0x08, 0x14, 0x0A, 0x16, 0x0A, 0x12, 0x08, 0x10, 0x07, 0x11, 0x08, 0x13, 0x09, 0x14, - 0x09, 0x14, 0x0A, 0x19, 0x10, 0x21, 0x15, 0x0F, 0xE9, 0xCE, 0xAF, 0xB4, 0xCA, 0xF2, 0x06, 0x24, - 0x3F, 0x6E, 0x70, 0x55, 0x2D, 0x0C, 0xF3, 0x07, 0x03, 0x13, 0x09, 0x14, 0x0A, 0x16, 0x0A, 0x16, - 0x0C, 0x18, 0x0A, 0x14, 0x09, 0x14, 0x0A, 0x14, 0x0A, 0x16, 0x0B, 0x16, 0x08, 0x0F, 0x04, 0x0D, - 0x02, 0x07, 0xFA, 0x03, 0xF5, 0x03, 0xF9, 0x07, 0xFF, 0xFA, 0xFD, 0x03, 0x02, 0xFF, 0x00, 0x2A, - 0xBC, 0x0D, 0x10, 0x09, 0x02, 0x00, 0x00, 0xFE, 0xFC, 0x0C, 0x11, 0x24, 0x1B, 0x1F, 0x12, 0x1C, - 0x0C, 0x15, 0x09, 0x13, 0x08, 0x14, 0x0A, 0x14, 0x0A, 0x14, 0x08, 0x10, 0x06, 0x12, 0x08, 0x13, - 0x08, 0x14, 0x08, 0x12, 0x09, 0x17, 0x0F, 0x20, 0x14, 0x0A, 0xE3, 0xC9, 0xAC, 0xB3, 0xCA, 0xF4, - 0x08, 0x27, 0x42, 0x72, 0x74, 0x59, 0x2E, 0x11, 0xF4, 0x07, 0x04, 0x12, 0x09, 0x17, 0x0A, 0x16, - 0x0B, 0x17, 0x0C, 0x17, 0x0A, 0x13, 0x0A, 0x16, 0x0A, 0x16, 0x0A, 0x16, 0x09, 0x14, 0x08, 0x0F, - 0x04, 0x0C, 0x00, 0x07, 0xFA, 0x00, 0xF4, 0x02, 0xF9, 0x04, 0xFE, 0xF9, 0xF9, 0x00, 0xFF, 0xFD, - 0xFE, 0x25, 0xB1, 0x0B, 0x0E, 0x07, 0x02, 0xFE, 0x00, 0xFE, 0xFA, 0x0B, 0x10, 0x23, 0x1B, 0x1E, - 0x11, 0x18, 0x0D, 0x15, 0x08, 0x13, 0x0A, 0x15, 0x0B, 0x16, 0x0A, 0x13, 0x08, 0x12, 0x08, 0x13, - 0x08, 0x12, 0x08, 0x14, 0x08, 0x14, 0x0A, 0x1A, 0x0F, 0x20, 0x13, 0x0B, 0xE3, 0xC9, 0xAB, 0xB3, - 0xCB, 0xF3, 0x08, 0x29, 0x45, 0x76, 0x76, 0x59, 0x2E, 0x0F, 0xF3, 0x08, 0x05, 0x15, 0x09, 0x14, - 0x0B, 0x17, 0x0D, 0x15, 0x0A, 0x16, 0x0B, 0x17, 0x0A, 0x16, 0x0A, 0x18, 0x09, 0x14, 0x09, 0x13, - 0x07, 0x10, 0x05, 0x0B, 0x00, 0x06, 0xFA, 0x00, 0xF4, 0x02, 0xFC, 0x06, 0xFE, 0xF9, 0xFC, 0x02, - 0x02, 0xFF, 0xFF, 0x28, 0xBA, 0x0C, 0x0F, 0x09, 0x02, 0xFF, 0xFF, 0xFE, 0xF9, 0x0A, 0x10, 0x23, - 0x19, 0x1F, 0x10, 0x1A, 0x0D, 0x17, 0x09, 0x14, 0x0A, 0x15, 0x0A, 0x14, 0x09, 0x12, 0x09, 0x12, - 0x08, 0x12, 0x08, 0x12, 0x08, 0x14, 0x09, 0x15, 0x0A, 0x19, 0x0E, 0x1F, 0x11, 0x09, 0xEA, 0xC7, - 0xAA, 0xB4, 0xCC, 0xF4, 0x09, 0x2B, 0x47, 0x77, 0x78, 0x5A, 0x30, 0x10, 0xF5, 0x08, 0x04, 0x14, - 0x0A, 0x15, 0x0B, 0x17, 0x0C, 0x15, 0x0B, 0x16, 0x0A, 0x15, 0x0A, 0x17, 0x0A, 0x15, 0x0A, 0x13, - 0x07, 0x13, 0x07, 0x0F, 0x05, 0x0C, 0x00, 0x07, 0xF9, 0xFF, 0xF4, 0x02, 0xF9, 0x05, 0xFA, 0xF7, - 0xF9, 0x01, 0xFF, 0xFD, 0xFD, 0x24, 0xBC, 0x0D, 0x0F, 0x08, 0x01, 0xFF, 0x01, 0xFE, 0xFB, 0x0C, - 0x11, 0x25, 0x1C, 0x21, 0x12, 0x19, 0x0B, 0x14, 0x0A, 0x13, 0x08, 0x13, 0x09, 0x13, 0x0A, 0x15, - 0x0A, 0x13, 0x0A, 0x12, 0x06, 0x11, 0x08, 0x15, 0x08, 0x14, 0x0A, 0x19, 0x10, 0x23, 0x17, 0x09, - 0xE1, 0xC8, 0xAC, 0xB6, 0xCE, 0xF5, 0x0B, 0x2C, 0x48, 0x77, 0x76, 0x56, 0x2D, 0x12, 0xF7, 0x09, - 0x04, 0x13, 0x0B, 0x18, 0x0C, 0x19, 0x0D, 0x16, 0x0A, 0x14, 0x0A, 0x16, 0x0B, 0x15, 0x0B, 0x16, - 0x09, 0x13, 0x07, 0x12, 0x08, 0x12, 0x04, 0x0B, 0xFF, 0x05, 0xF8, 0xFF, 0xF6, 0x05, 0xFD, 0x06, - 0xFF, 0xFA, 0xFD, 0x03, 0x01, 0xFF, 0xFF, 0x2B, 0xBB, 0x0D, 0x0F, 0x07, 0x01, 0xFF, 0x00, 0xFF, - 0xFA, 0x0A, 0x0F, 0x23, 0x1B, 0x21, 0x10, 0x18, 0x0D, 0x16, 0x0A, 0x14, 0x09, 0x13, 0x09, 0x14, - 0x09, 0x14, 0x0B, 0x14, 0x07, 0x10, 0x06, 0x13, 0x08, 0x13, 0x09, 0x13, 0x0A, 0x19, 0x10, 0x22, - 0x16, 0x0A, 0xE1, 0xC9, 0xAD, 0xBC, 0xD7, 0xF6, 0x0C, 0x2E, 0x4A, 0x78, 0x76, 0x55, 0x2B, 0x10, - 0xF7, 0x0A, 0x05, 0x14, 0x0A, 0x18, 0x0D, 0x1A, 0x0C, 0x15, 0x0A, 0x14, 0x0B, 0x17, 0x0A, 0x16, - 0x0A, 0x16, 0x09, 0x12, 0x07, 0x12, 0x07, 0x0F, 0x04, 0x0A, 0xFD, 0x04, 0xF8, 0x00, 0xF4, 0x04, - 0xFC, 0x07, 0xFB, 0xF8, 0xF9, 0x00, 0x00, 0xFE, 0xFF, 0x2A, 0xBF, 0x0F, 0x11, 0x09, 0x02, 0xFF, - 0x00, 0xFE, 0xFC, 0x0B, 0x10, 0x23, 0x1C, 0x20, 0x12, 0x1A, 0x0E, 0x16, 0x09, 0x13, 0x0A, 0x14, - 0x0A, 0x14, 0x0A, 0x14, 0x09, 0x14, 0x08, 0x12, 0x08, 0x11, 0x08, 0x14, 0x0A, 0x16, 0x0B, 0x1B, - 0x12, 0x23, 0x15, 0x0C, 0xE7, 0xD1, 0xB6, 0xC2, 0xDA, 0xFE, 0x0E, 0x30, 0x4A, 0x73, 0x6D, 0x4F, - 0x2E, 0x0F, 0xF6, 0x08, 0x03, 0x14, 0x0B, 0x17, 0x0C, 0x18, 0x0D, 0x16, 0x0B, 0x14, 0x0B, 0x17, - 0x0D, 0x16, 0x09, 0x13, 0x0A, 0x16, 0x09, 0x11, 0x05, 0x0C, 0x02, 0x0D, 0x00, 0x06, 0xF7, 0xFE, - 0xF4, 0x03, 0xF9, 0x06, 0x01, 0xF9, 0xFD, 0x02, 0x01, 0xFE, 0x00, 0x25, 0xBE, 0x0C, 0x0E, 0x08, - 0x02, 0xFF, 0x00, 0xFF, 0xFC, 0x0B, 0x0E, 0x24, 0x1C, 0x21, 0x13, 0x1B, 0x0D, 0x15, 0x0A, 0x14, - 0x09, 0x14, 0x0A, 0x15, 0x07, 0x14, 0x09, 0x12, 0x08, 0x12, 0x08, 0x11, 0x08, 0x14, 0x0A, 0x17, - 0x0C, 0x1B, 0x12, 0x23, 0x16, 0x12, 0xEC, 0xD5, 0xBB, 0xC4, 0xDD, 0xFF, 0x0F, 0x31, 0x4C, 0x72, - 0x6C, 0x56, 0x2B, 0x0D, 0xF4, 0x07, 0x05, 0x15, 0x0A, 0x17, 0x0C, 0x18, 0x0E, 0x18, 0x0A, 0x14, - 0x0B, 0x18, 0x0B, 0x15, 0x08, 0x14, 0x07, 0x15, 0x09, 0x11, 0x05, 0x0D, 0x03, 0x0B, 0x00, 0x06, - 0xF8, 0xFF, 0xF3, 0x04, 0xF9, 0x05, 0xFF, 0xF6, 0xFC, 0x01, 0x00, 0xFE, 0x00, 0x29, 0xC4, 0x0E, - 0x10, 0x09, 0x02, 0x00, 0x01, 0xFF, 0xF9, 0x0A, 0x0E, 0x22, 0x1E, 0x23, 0x11, 0x18, 0x0D, 0x15, - 0x08, 0x11, 0x08, 0x14, 0x08, 0x12, 0x08, 0x12, 0x08, 0x15, 0x09, 0x13, 0x08, 0x15, 0x09, 0x13, - 0x09, 0x16, 0x0B, 0x1A, 0x11, 0x22, 0x18, 0x19, 0xF7, 0xDB, 0xC2, 0xCA, 0xE0, 0x02, 0x11, 0x32, - 0x4A, 0x68, 0x5F, 0x43, 0x1B, 0x08, 0xF4, 0x07, 0x03, 0x12, 0x0A, 0x16, 0x0D, 0x1A, 0x0D, 0x18, - 0x0B, 0x15, 0x08, 0x17, 0x0C, 0x14, 0x08, 0x12, 0x08, 0x15, 0x09, 0x12, 0x05, 0x0D, 0x02, 0x08, - 0xFC, 0x05, 0xF8, 0x01, 0xF3, 0x03, 0xFD, 0x07, 0xFF, 0xF9, 0xFC, 0x01, 0x00, 0xFD, 0xFF, 0x23, - 0xC1, 0x09, 0x0C, 0x05, 0x01, 0x00, 0x02, 0xFF, 0xFB, 0x0A, 0x0F, 0x26, 0x1D, 0x21, 0x13, 0x1C, - 0x0D, 0x17, 0x0A, 0x14, 0x09, 0x14, 0x09, 0x13, 0x07, 0x13, 0x08, 0x12, 0x08, 0x14, 0x09, 0x13, - 0x09, 0x15, 0x08, 0x15, 0x0C, 0x1B, 0x12, 0x26, 0x1C, 0x1F, 0xFC, 0xE1, 0xC8, 0xCF, 0xE3, 0x04, - 0x13, 0x34, 0x4A, 0x65, 0x5A, 0x3F, 0x17, 0x05, 0xF2, 0x05, 0x02, 0x12, 0x0A, 0x18, 0x0C, 0x19, - 0x0E, 0x19, 0x09, 0x15, 0x0B, 0x19, 0x0A, 0x15, 0x08, 0x13, 0x08, 0x15, 0x09, 0x12, 0x05, 0x0E, - 0x01, 0x08, 0xFD, 0x04, 0xF7, 0x00, 0xF6, 0x07, 0xF9, 0x06, 0xFF, 0xF9, 0xFC, 0x01, 0x01, 0xFF, - 0x00, 0x27, 0xCB, 0x0E, 0x10, 0x09, 0x03, 0xFF, 0xFF, 0xFE, 0xFB, 0x0B, 0x0F, 0x23, 0x1C, 0x22, - 0x13, 0x18, 0x0C, 0x15, 0x08, 0x11, 0x07, 0x12, 0x07, 0x13, 0x09, 0x14, 0x0A, 0x13, 0x08, 0x13, - 0x08, 0x13, 0x09, 0x13, 0x0A, 0x17, 0x0C, 0x1B, 0x13, 0x25, 0x1C, 0x2B, 0x18, 0x02, 0xE4, 0xDA, - 0xE6, 0x06, 0x13, 0x35, 0x44, 0x4D, 0x38, 0x1C, 0x02, 0x01, 0xF3, 0x07, 0x03, 0x15, 0x0B, 0x16, - 0x0C, 0x18, 0x0E, 0x18, 0x0C, 0x18, 0x0A, 0x15, 0x0B, 0x16, 0x09, 0x17, 0x0B, 0x16, 0x08, 0x13, - 0x07, 0x11, 0x03, 0x0B, 0xFD, 0x05, 0xF9, 0xFF, 0xF4, 0x04, 0xFD, 0x06, 0xFF, 0xF9, 0xFC, 0x01, - 0x00, 0xFE, 0xFE, 0x1F, 0xBE, 0x07, 0x09, 0x04, 0x00, 0xFF, 0x01, 0x01, 0xFD, 0x11, 0x0F, 0x24, - 0x1D, 0x24, 0x17, 0x1D, 0x0C, 0x15, 0x0B, 0x14, 0x07, 0x11, 0x08, 0x14, 0x08, 0x12, 0x0A, 0x13, - 0x08, 0x12, 0x09, 0x14, 0x0A, 0x14, 0x08, 0x15, 0x0E, 0x1D, 0x15, 0x28, 0x23, 0x31, 0x22, 0x19, - 0xEE, 0xE0, 0xEA, 0x07, 0x14, 0x34, 0x42, 0x46, 0x2E, 0x15, 0xF9, 0xFB, 0xEF, 0x04, 0x02, 0x14, - 0x0A, 0x16, 0x0C, 0x19, 0x0E, 0x18, 0x0C, 0x16, 0x0C, 0x19, 0x0A, 0x14, 0x0A, 0x17, 0x0B, 0x14, - 0x07, 0x13, 0x06, 0x10, 0x03, 0x09, 0xFB, 0x05, 0xF7, 0x02, 0xF5, 0x05, 0xFC, 0x06, 0xFE, 0xFA, - 0xFD, 0x03, 0x03, 0x00, 0x01, 0x23, 0xD4, 0x0E, 0x0F, 0x09, 0x03, 0x00, 0xFF, 0xFD, 0xF9, 0x09, - 0x0D, 0x21, 0x1C, 0x20, 0x11, 0x14, 0x09, 0x10, 0x04, 0x0D, 0x05, 0x10, 0x06, 0x13, 0x09, 0x14, - 0x07, 0x13, 0x08, 0x13, 0x09, 0x14, 0x09, 0x15, 0x09, 0x16, 0x0A, 0x1A, 0x13, 0x23, 0x1C, 0x2D, - 0x29, 0x33, 0x24, 0x19, 0x0B, 0x10, 0x10, 0x23, 0x1D, 0x0F, 0xFA, 0xF2, 0xE7, 0xFD, 0xF6, 0x0A, - 0x04, 0x15, 0x0B, 0x18, 0x0D, 0x19, 0x0C, 0x16, 0x0C, 0x18, 0x0B, 0x17, 0x0B, 0x15, 0x08, 0x14, - 0x09, 0x15, 0x0A, 0x16, 0x0A, 0x15, 0x07, 0x0E, 0xFE, 0x06, 0xF8, 0x02, 0xF5, 0x04, 0xFC, 0x07, - 0xFC, 0xFA, 0xFA, 0x00, 0x00, 0xFE, 0xFB, 0x19, 0xC5, 0x05, 0x06, 0x03, 0x00, 0x00, 0x03, 0x00, - 0xF9, 0x09, 0x0D, 0x23, 0x1D, 0x22, 0x15, 0x18, 0x0A, 0x13, 0x06, 0x0F, 0x06, 0x10, 0x08, 0x13, - 0x09, 0x13, 0x08, 0x12, 0x08, 0x13, 0x07, 0x13, 0x0A, 0x14, 0x09, 0x14, 0x0C, 0x1C, 0x17, 0x29, - 0x27, 0x34, 0x33, 0x3E, 0x2D, 0x1D, 0x13, 0x11, 0x10, 0x22, 0x1A, 0x10, 0xF6, 0xE6, 0xDC, 0xEE, - 0xF0, 0x05, 0x03, 0x14, 0x0B, 0x18, 0x0D, 0x17, 0x0C, 0x17, 0x0C, 0x17, 0x0D, 0x18, 0x0B, 0x16, - 0x0A, 0x15, 0x09, 0x14, 0x09, 0x14, 0x06, 0x15, 0x06, 0x0C, 0xFC, 0x06, 0xF8, 0x02, 0xF6, 0x06, - 0xFC, 0x06, 0xFF, 0xFB, 0xFD, 0x03, 0x03, 0x02, 0x02, 0x20, 0xDB, 0x0C, 0x0C, 0x07, 0x02, 0x00, - 0xFF, 0xFF, 0xFC, 0x0A, 0x0A, 0x1B, 0x15, 0x1C, 0x09, 0x0D, 0x00, 0x0C, 0xFE, 0x0B, 0x06, 0x11, - 0x06, 0x11, 0x07, 0x11, 0x08, 0x14, 0x09, 0x14, 0x09, 0x14, 0x08, 0x12, 0x09, 0x15, 0x0C, 0x19, - 0x0E, 0x1C, 0x14, 0x24, 0x21, 0x2F, 0x2C, 0x30, 0x26, 0x1E, 0x0F, 0x09, 0x07, 0xFF, 0xF3, 0xFE, - 0xF6, 0x07, 0xF9, 0x0D, 0x05, 0x12, 0x0A, 0x15, 0x0C, 0x17, 0x0D, 0x17, 0x0C, 0x17, 0x0A, 0x16, - 0x0A, 0x15, 0x09, 0x14, 0x09, 0x17, 0x0B, 0x1A, 0x10, 0x1B, 0x0C, 0x13, 0x06, 0x08, 0xFB, 0x05, - 0xF8, 0x07, 0xFE, 0x07, 0xFE, 0xF9, 0xFB, 0x01, 0x00, 0xFE, 0xFD, 0x15, 0xCA, 0x02, 0x05, 0x02, - 0xFF, 0x01, 0x03, 0x05, 0xFF, 0x0B, 0x0B, 0x1D, 0x16, 0x1B, 0x0E, 0x0F, 0x05, 0x0C, 0x05, 0x10, - 0x07, 0x12, 0x07, 0x0F, 0x05, 0x10, 0x06, 0x13, 0x08, 0x13, 0x08, 0x12, 0x07, 0x13, 0x09, 0x17, - 0x0C, 0x18, 0x13, 0x23, 0x1B, 0x30, 0x2D, 0x32, 0x32, 0x37, 0x27, 0x1E, 0x0E, 0x09, 0xFB, 0xF6, - 0xEB, 0xF2, 0xEB, 0xFA, 0xF4, 0x08, 0x03, 0x10, 0x08, 0x15, 0x0B, 0x17, 0x0D, 0x17, 0x0C, 0x16, - 0x0B, 0x16, 0x0A, 0x15, 0x0A, 0x13, 0x09, 0x15, 0x0C, 0x18, 0x0A, 0x17, 0x0A, 0x0F, 0x02, 0x06, - 0xFA, 0x04, 0xF8, 0x07, 0xFD, 0x06, 0xFE, 0xFA, 0xFD, 0x05, 0x06, 0x04, 0x05, 0x1C, 0xDE, 0x0B, - 0x0B, 0x06, 0x02, 0x01, 0x03, 0x04, 0xFE, 0x0A, 0x0A, 0x1B, 0x13, 0x17, 0x03, 0x07, 0xFA, 0x05, - 0xF7, 0x05, 0x01, 0x0E, 0x06, 0x11, 0x07, 0x11, 0x06, 0x13, 0x08, 0x12, 0x08, 0x11, 0x06, 0x11, - 0x07, 0x12, 0x09, 0x16, 0x09, 0x17, 0x0E, 0x1D, 0x11, 0x1F, 0x16, 0x21, 0x17, 0x18, 0x0C, 0x11, - 0x07, 0x0C, 0x02, 0x0B, 0xF5, 0x0D, 0x08, 0x14, 0x0A, 0x13, 0x09, 0x13, 0x09, 0x14, 0x09, 0x14, - 0x0B, 0x15, 0x0B, 0x16, 0x0B, 0x15, 0x0B, 0x17, 0x0B, 0x18, 0x0C, 0x1A, 0x12, 0x1F, 0x14, 0x17, - 0x08, 0x0C, 0xFF, 0x07, 0xFE, 0x0A, 0x01, 0x09, 0xFF, 0xF9, 0xF9, 0x00, 0xFF, 0xFE, 0xFD, 0x0F, - 0xD0, 0x04, 0x06, 0x03, 0x00, 0x03, 0x06, 0x05, 0xFC, 0x0A, 0x0A, 0x1D, 0x16, 0x15, 0x07, 0x08, - 0xFB, 0x06, 0xFC, 0x08, 0x02, 0x10, 0x06, 0x10, 0x06, 0x11, 0x08, 0x12, 0x08, 0x12, 0x09, 0x13, - 0x07, 0x11, 0x07, 0x13, 0x0A, 0x17, 0x0E, 0x1E, 0x14, 0x1E, 0x1D, 0x29, 0x23, 0x25, 0x18, 0x18, - 0x0B, 0x0E, 0x04, 0x10, 0xFB, 0x0D, 0xF9, 0x0E, 0x02, 0x0F, 0x08, 0x13, 0x08, 0x13, 0x09, 0x14, - 0x0A, 0x15, 0x0C, 0x16, 0x0B, 0x15, 0x0B, 0x15, 0x0A, 0x15, 0x0B, 0x18, 0x0C, 0x1B, 0x0F, 0x1B, - 0x0E, 0x14, 0x06, 0x09, 0xFE, 0x07, 0xFE, 0x0B, 0x01, 0x0A, 0xFF, 0xFB, 0xFD, 0x03, 0x04, 0x02, - 0x01, 0x15, 0xE1, 0x09, 0x09, 0x04, 0x00, 0xFF, 0xFD, 0xFE, 0xFE, 0x0B, 0x0C, 0x1B, 0x12, 0x0F, - 0x01, 0x04, 0xF6, 0x04, 0xFA, 0x08, 0x00, 0x0B, 0x03, 0x0E, 0x05, 0x10, 0x06, 0x11, 0x08, 0x13, - 0x07, 0x11, 0x08, 0x11, 0x07, 0x12, 0x09, 0x14, 0x08, 0x12, 0x06, 0x12, 0x09, 0x17, 0x0B, 0x17, - 0x0F, 0x19, 0x10, 0x19, 0x0A, 0x12, 0x11, 0x19, 0x06, 0x19, 0x03, 0x14, 0x08, 0x13, 0x07, 0x14, - 0x09, 0x14, 0x08, 0x16, 0x0A, 0x14, 0x0B, 0x16, 0x0B, 0x15, 0x0A, 0x15, 0x09, 0x17, 0x0E, 0x1C, - 0x13, 0x1D, 0x12, 0x18, 0x0B, 0x10, 0x02, 0x09, 0x04, 0x0B, 0x00, 0x07, 0xFD, 0xF8, 0xF9, 0xFF, - 0x00, 0xFF, 0xFE, 0x11, 0xD7, 0x06, 0x07, 0x03, 0x01, 0x01, 0x03, 0x01, 0x00, 0x0D, 0x0E, 0x1D, - 0x13, 0x10, 0x02, 0x05, 0xF7, 0x03, 0xFD, 0x08, 0x01, 0x0B, 0x03, 0x0D, 0x06, 0x12, 0x06, 0x11, - 0x08, 0x13, 0x08, 0x11, 0x07, 0x11, 0x07, 0x13, 0x09, 0x16, 0x0A, 0x16, 0x0D, 0x1B, 0x10, 0x1C, - 0x13, 0x1C, 0x10, 0x19, 0x0E, 0x18, 0x0B, 0x1B, 0x0F, 0x16, 0x09, 0x11, 0x08, 0x0F, 0x06, 0x12, - 0x08, 0x13, 0x09, 0x14, 0x0A, 0x15, 0x0B, 0x15, 0x0A, 0x16, 0x0B, 0x17, 0x0A, 0x15, 0x0A, 0x16, - 0x0E, 0x1C, 0x12, 0x1C, 0x11, 0x17, 0x0A, 0x0D, 0x00, 0x09, 0x00, 0x09, 0x00, 0x07, 0xFF, 0xF6, - 0xFC, 0x03, 0x02, 0x01, 0x00, 0x10, 0xD4, 0x05, 0x06, 0x02, 0xFE, 0xFF, 0x00, 0xFF, 0xFA, 0x0A, - 0x06, 0x16, 0x0D, 0x13, 0x07, 0x09, 0xFF, 0x0A, 0x00, 0x0C, 0x05, 0x0E, 0x05, 0x10, 0x05, 0x11, - 0x05, 0x11, 0x07, 0x12, 0x07, 0x13, 0x08, 0x12, 0x07, 0x11, 0x07, 0x10, 0x06, 0x10, 0x07, 0x13, - 0x07, 0x12, 0x09, 0x15, 0x0D, 0x18, 0x0F, 0x1B, 0x12, 0x18, 0x12, 0x1D, 0x0F, 0x16, 0x08, 0x15, - 0x0A, 0x14, 0x0B, 0x15, 0x0A, 0x14, 0x0A, 0x13, 0x09, 0x15, 0x0A, 0x16, 0x0B, 0x16, 0x0A, 0x15, - 0x0A, 0x17, 0x0C, 0x19, 0x0D, 0x1A, 0x0E, 0x16, 0x09, 0x0D, 0x01, 0x08, 0xFE, 0x0B, 0x00, 0x09, - 0x00, 0xFA, 0xFB, 0x02, 0x02, 0x01, 0x00, 0x12, 0x20, 0x0A, 0x0A, 0x06, 0x03, 0x02, 0x04, 0x03, - 0x00, 0x0B, 0x0A, 0x19, 0x0D, 0x16, 0x07, 0x0B, 0xFD, 0x0B, 0x00, 0x0B, 0x03, 0x0F, 0x04, 0x10, - 0x06, 0x10, 0x06, 0x11, 0x07, 0x12, 0x07, 0x12, 0x07, 0x12, 0x08, 0x10, 0x07, 0x11, 0x08, 0x14, - 0x0B, 0x1A, 0x0C, 0x18, 0x0C, 0x19, 0x0D, 0x18, 0x0F, 0x19, 0x0F, 0x18, 0x0E, 0x14, 0x09, 0x12, - 0x08, 0x14, 0x08, 0x15, 0x0A, 0x15, 0x0A, 0x15, 0x0A, 0x14, 0x0A, 0x16, 0x0B, 0x15, 0x0B, 0x16, - 0x0A, 0x14, 0x0B, 0x18, 0x0D, 0x18, 0x0C, 0x1B, 0x0F, 0x14, 0x09, 0x0C, 0x00, 0x07, 0xFC, 0x08, - 0xFE, 0x07, 0xFE, 0xFA, 0xFC, 0x01, 0x01, 0xFF, 0xFC, 0xD1, 0xDB, 0x07, 0x06, 0x03, 0x00, 0x00, - 0xFE, 0xFF, 0xFF, 0x0B, 0x0C, 0x1C, 0x14, 0x16, 0x0B, 0x0F, 0x07, 0x0B, 0x06, 0x0F, 0x05, 0x0F, - 0x06, 0x10, 0x07, 0x11, 0x07, 0x12, 0x09, 0x15, 0x09, 0x13, 0x08, 0x11, 0x06, 0x10, 0x07, 0x11, - 0x05, 0x0E, 0x05, 0x0E, 0x06, 0x12, 0x08, 0x14, 0x0B, 0x18, 0x0F, 0x1B, 0x12, 0x1D, 0x11, 0x1B, - 0x10, 0x1A, 0x0E, 0x16, 0x0C, 0x15, 0x0B, 0x13, 0x0A, 0x14, 0x0A, 0x13, 0x09, 0x13, 0x09, 0x14, - 0x0A, 0x16, 0x0B, 0x15, 0x0A, 0x14, 0x07, 0x14, 0x06, 0x14, 0x08, 0x13, 0x04, 0x08, 0xFE, 0x07, - 0xFE, 0x09, 0x00, 0x08, 0x01, 0xFA, 0xFD, 0x04, 0x04, 0x03, 0x01, 0x11, 0xE3, 0x10, 0x0F, 0x0A, - 0x05, 0x02, 0x01, 0x01, 0x00, 0x0C, 0x0C, 0x1F, 0x14, 0x16, 0x09, 0x0E, 0x05, 0x0E, 0x03, 0x0D, - 0x04, 0x0F, 0x06, 0x11, 0x07, 0x10, 0x07, 0x11, 0x08, 0x15, 0x09, 0x12, 0x08, 0x10, 0x06, 0x0F, - 0x06, 0x11, 0x06, 0x11, 0x05, 0x14, 0x08, 0x15, 0x0C, 0x19, 0x0D, 0x18, 0x0F, 0x19, 0x10, 0x18, - 0x0E, 0x18, 0x0E, 0x15, 0x0A, 0x16, 0x0B, 0x14, 0x0B, 0x14, 0x0A, 0x14, 0x0A, 0x13, 0x09, 0x13, - 0x0A, 0x16, 0x0B, 0x14, 0x0B, 0x17, 0x0A, 0x15, 0x09, 0x13, 0x09, 0x15, 0x07, 0x11, 0x05, 0x09, - 0xFD, 0x05, 0xFC, 0x08, 0xFD, 0x06, 0xFB, 0xF8, 0xF8, 0xFD, 0xFE, 0xFB, 0xF8, 0x08, 0xCB, 0x06, - 0x08, 0x04, 0xFF, 0xFD, 0xFF, 0x00, 0xFB, 0x0A, 0x0A, 0x1B, 0x11, 0x1A, 0x0D, 0x15, 0x0B, 0x0F, - 0x09, 0x0F, 0x09, 0x10, 0x07, 0x10, 0x08, 0x14, 0x08, 0x13, 0x0A, 0x15, 0x0B, 0x14, 0x08, 0x10, - 0x06, 0x0E, 0x05, 0x0F, 0x05, 0x0B, 0x04, 0x0C, 0x07, 0x10, 0x07, 0x14, 0x0C, 0x19, 0x10, 0x1D, - 0x14, 0x1F, 0x14, 0x1C, 0x11, 0x19, 0x0E, 0x17, 0x0C, 0x16, 0x0B, 0x14, 0x09, 0x13, 0x09, 0x11, - 0x08, 0x10, 0x08, 0x13, 0x09, 0x15, 0x0A, 0x16, 0x0A, 0x13, 0x08, 0x0F, 0x08, 0x0E, 0x05, 0x0D, - 0x01, 0x0A, 0x00, 0x07, 0xFD, 0x07, 0xFF, 0x07, 0x00, 0xF8, 0xFF, 0x07, 0x08, 0x05, 0x06, 0x20, - 0xDD, 0x10, 0x11, 0x0B, 0x03, 0xFE, 0xFA, 0xFD, 0xFA, 0x08, 0x0B, 0x1A, 0x10, 0x18, 0x0C, 0x12, - 0x08, 0x0F, 0x07, 0x11, 0x07, 0x10, 0x05, 0x11, 0x08, 0x12, 0x09, 0x13, 0x09, 0x14, 0x0A, 0x14, - 0x07, 0x10, 0x05, 0x0D, 0x05, 0x0E, 0x05, 0x0F, 0x06, 0x10, 0x0A, 0x14, 0x0C, 0x17, 0x0E, 0x1A, - 0x10, 0x1B, 0x10, 0x1B, 0x11, 0x1B, 0x0E, 0x17, 0x0C, 0x16, 0x0C, 0x15, 0x0A, 0x14, 0x08, 0x13, - 0x09, 0x11, 0x08, 0x11, 0x08, 0x14, 0x0A, 0x14, 0x0B, 0x17, 0x0B, 0x14, 0x08, 0x12, 0x07, 0x10, - 0x05, 0x0C, 0x02, 0x0A, 0xFF, 0x07, 0xFB, 0x08, 0x00, 0x0A, 0xFF, 0xF7, 0xFB, 0xFE, 0xFC, 0xF9, - 0xF4, 0x0E, 0xE7, 0x1C, 0x19, 0x10, 0x06, 0xFD, 0xF4, 0xF7, 0xF7, 0x06, 0x07, 0x19, 0x10, 0x15, - 0x0B, 0x11, 0x07, 0x0D, 0x05, 0x10, 0x06, 0x10, 0x05, 0x0F, 0x06, 0x11, 0x08, 0x13, 0x08, 0x13, - 0x0A, 0x14, 0x08, 0x11, 0x05, 0x0F, 0x05, 0x0F, 0x05, 0x10, 0x08, 0x16, 0x0D, 0x18, 0x0F, 0x1A, - 0x0E, 0x1A, 0x0F, 0x18, 0x0E, 0x19, 0x0F, 0x17, 0x0D, 0x15, 0x0B, 0x15, 0x0A, 0x13, 0x0A, 0x13, - 0x0A, 0x12, 0x09, 0x12, 0x08, 0x11, 0x08, 0x16, 0x0C, 0x16, 0x0B, 0x17, 0x0C, 0x13, 0x08, 0x15, - 0x07, 0x11, 0x05, 0x0D, 0x05, 0x0A, 0xFC, 0x05, 0xFD, 0x09, 0x02, 0x09, 0x03, 0xF9, 0xF5, 0xF5, - 0xF1, 0xEB, 0xE6, 0x06, 0xEC, 0x25, 0x20, 0x13, 0x06, 0xFC, 0xF5, 0xF2, 0xF2, 0x03, 0x04, 0x17, - 0x0F, 0x13, 0x09, 0x11, 0x06, 0x0D, 0x05, 0x12, 0x07, 0x0F, 0x04, 0x10, 0x09, 0x11, 0x06, 0x12, - 0x0A, 0x14, 0x08, 0x13, 0x09, 0x10, 0x03, 0x0E, 0x05, 0x11, 0x06, 0x10, 0x08, 0x17, 0x0C, 0x1A, - 0x11, 0x1B, 0x10, 0x1A, 0x10, 0x1A, 0x0D, 0x17, 0x0E, 0x19, 0x0E, 0x15, 0x0A, 0x14, 0x0A, 0x12, - 0x0A, 0x14, 0x08, 0x11, 0x09, 0x14, 0x08, 0x10, 0x07, 0x15, 0x0D, 0x16, 0x0B, 0x17, 0x0C, 0x15, - 0x07, 0x13, 0x09, 0x13, 0x06, 0x0D, 0x03, 0x0C, 0xFE, 0x05, 0xFB, 0x0A, 0x05, 0x0C, 0x06, 0xF5, - 0xF3, 0xF1, 0xE8, 0xE2, 0xDD, 0xFB, 0xF0, 0x2F, 0x2A, 0x1A, 0x09, 0xF8, 0xDF, 0xE6, 0xE9, 0xFF, - 0x03, 0x14, 0x0C, 0x14, 0x08, 0x10, 0x05, 0x0E, 0x05, 0x10, 0x06, 0x10, 0x06, 0x11, 0x08, 0x12, - 0x08, 0x12, 0x08, 0x14, 0x09, 0x14, 0x09, 0x10, 0x06, 0x0F, 0x04, 0x10, 0x08, 0x15, 0x0A, 0x19, - 0x11, 0x1F, 0x14, 0x1E, 0x14, 0x1D, 0x10, 0x19, 0x0E, 0x19, 0x0E, 0x17, 0x0C, 0x15, 0x0C, 0x15, - 0x0A, 0x14, 0x08, 0x12, 0x08, 0x12, 0x07, 0x13, 0x08, 0x14, 0x0B, 0x16, 0x0C, 0x18, 0x0D, 0x19, - 0x0D, 0x16, 0x0A, 0x17, 0x09, 0x13, 0x07, 0x0F, 0x05, 0x0D, 0x03, 0x0B, 0xFE, 0x0E, 0x0B, 0x16, - 0x10, 0x05, 0xF3, 0xEA, 0xE2, 0xD6, 0xD0, 0xF8, 0xFA, 0x3A, 0x34, 0x1F, 0x0A, 0xF3, 0xD6, 0xD2, - 0xDD, 0xFA, 0x00, 0x12, 0x09, 0x14, 0x09, 0x11, 0x06, 0x0E, 0x04, 0x10, 0x07, 0x12, 0x07, 0x11, - 0x08, 0x12, 0x07, 0x11, 0x08, 0x12, 0x09, 0x13, 0x09, 0x11, 0x05, 0x0D, 0x05, 0x11, 0x08, 0x15, - 0x0D, 0x1E, 0x17, 0x25, 0x18, 0x24, 0x16, 0x1F, 0x0E, 0x18, 0x0D, 0x17, 0x0E, 0x18, 0x0E, 0x18, - 0x0B, 0x13, 0x08, 0x13, 0x0A, 0x13, 0x07, 0x12, 0x08, 0x14, 0x0B, 0x13, 0x0B, 0x18, 0x0E, 0x19, - 0x0E, 0x19, 0x0C, 0x18, 0x0A, 0x16, 0x09, 0x14, 0x06, 0x11, 0x05, 0x0E, 0x05, 0x0B, 0x01, 0x14, - 0x12, 0x26, 0x1D, 0x12, 0xF5, 0xE3, 0xD7, 0xCE, 0xC6, 0xED, 0x0D, 0x5C, 0x46, 0x2B, 0x0B, 0xE3, - 0xB9, 0xAE, 0xC4, 0xE9, 0xF5, 0x0D, 0x05, 0x11, 0x07, 0x12, 0x07, 0x0E, 0x05, 0x12, 0x06, 0x11, - 0x08, 0x14, 0x08, 0x12, 0x07, 0x12, 0x07, 0x12, 0x08, 0x15, 0x08, 0x12, 0x07, 0x0F, 0x06, 0x12, - 0x0B, 0x19, 0x13, 0x24, 0x1E, 0x2E, 0x22, 0x2B, 0x1A, 0x22, 0x12, 0x18, 0x0A, 0x18, 0x0F, 0x1A, - 0x0F, 0x18, 0x0D, 0x16, 0x09, 0x12, 0x08, 0x12, 0x08, 0x12, 0x09, 0x14, 0x0A, 0x19, 0x0F, 0x1B, - 0x0E, 0x1B, 0x10, 0x1C, 0x0F, 0x19, 0x0C, 0x1A, 0x0C, 0x16, 0x09, 0x13, 0x07, 0x14, 0x08, 0x0F, - 0x0D, 0x23, 0x2E, 0x3F, 0x3D, 0x20, 0xF8, 0xD5, 0xC8, 0xAA, 0x9F, 0xD0, 0x28, 0x1D, 0x1D, 0x33, - 0x34, 0x36, 0x36, 0x28, 0x2A, 0x36, 0x2B, 0x2D, 0x0F, 0xFF, 0xDC, 0xD5, 0xD6, 0x02, 0x3F, 0x76, - 0x79, 0x5F, 0x37, 0x06, 0xD4, 0xD0, 0xC9, 0xE5, 0xE3, 0xF8, 0xF2, 0x02, 0xFA, 0x05, 0xFA, 0x04, - 0xFA, 0x05, 0xF8, 0x02, 0xF5, 0x00, 0xF3, 0xFF, 0xF3, 0x02, 0xF2, 0xFC, 0xF2, 0x05, 0xFE, 0xFE, - 0x01, 0x38, 0x7F, 0x7F, 0x7F, 0x67, 0x1E, 0xDC, 0xA9, 0x87, 0x80, 0x80, 0x03, 0x15, 0x17, 0x18, - 0x19, 0x20, 0x23, 0x1C, 0x19, 0x21, 0x18, 0x1F, 0x06, 0xFD, 0xE1, 0xE1, 0xE2, 0x0B, 0x36, 0x6B, - 0x65, 0x50, 0x26, 0xF6, 0xCF, 0xD4, 0xD0, 0xE9, 0xE9, 0xFB, 0xF5, 0x03, 0xFC, 0x03, 0xFB, 0x04, - 0xFB, 0x03, 0xFC, 0x02, 0xF7, 0xFE, 0xF3, 0x00, 0xFA, 0x06, 0xFF, 0x0A, 0xFC, 0x0A, 0xFF, 0xF3, - 0xF1, 0x12, 0x2F, 0x4F, 0x48, 0x2D, 0x0D, 0xE8, 0xCC, 0xAA, 0x8A, 0xAD, 0xFB, 0x0D, 0x10, 0x0F, - 0x10, 0x18, 0x1F, 0x17, 0x15, 0x18, 0x12, 0x1A, 0x04, 0xFC, 0xE3, 0xE4, 0xE6, 0x0D, 0x35, 0x65, - 0x63, 0x45, 0x1B, 0xF1, 0xCF, 0xD8, 0xD3, 0xEB, 0xEC, 0xFC, 0xF9, 0x06, 0xFD, 0x05, 0xFB, 0x04, - 0xFC, 0x05, 0xFB, 0x03, 0xF7, 0xFE, 0xF4, 0x01, 0xFB, 0x0D, 0x03, 0x0E, 0x02, 0x0D, 0x00, 0xF0, - 0xE7, 0x02, 0x1A, 0x38, 0x2E, 0x1B, 0x04, 0xED, 0xDA, 0xBB, 0xA5, 0xCB, 0xF5, 0x08, 0x0A, 0x09, - 0x0A, 0x13, 0x19, 0x13, 0x0F, 0x13, 0x0C, 0x16, 0x03, 0xFC, 0xE4, 0xE7, 0xEA, 0x0E, 0x33, 0x61, - 0x5B, 0x3A, 0x13, 0xED, 0xD1, 0xDC, 0xD8, 0xED, 0xEE, 0xFE, 0xFC, 0x07, 0xFE, 0x05, 0xFA, 0x04, - 0xFD, 0x04, 0xFC, 0x03, 0xF7, 0xFF, 0xF5, 0x02, 0xFD, 0x0F, 0x06, 0x11, 0x05, 0x0F, 0x00, 0xEE, - 0xE2, 0xF9, 0x0D, 0x29, 0x1C, 0x0A, 0x00, 0xF2, 0xE5, 0xD1, 0xBD, 0xDC, 0xF3, 0x06, 0x05, 0x04, - 0x06, 0x0D, 0x14, 0x0F, 0x0B, 0x0D, 0x07, 0x13, 0x02, 0xFC, 0xE6, 0xE9, 0xEC, 0x0F, 0x32, 0x5E, - 0x56, 0x32, 0x10, 0xEE, 0xD6, 0xE0, 0xDB, 0xEE, 0xF0, 0x00, 0xFD, 0x06, 0xFF, 0x06, 0xFD, 0x05, - 0xFC, 0x05, 0xFA, 0x03, 0xF8, 0x00, 0xF8, 0x02, 0xFF, 0x10, 0x09, 0x13, 0x08, 0x10, 0x00, 0xEC, - 0xE1, 0xF3, 0x04, 0x1F, 0x0F, 0x02, 0xFE, 0xF8, 0xEF, 0xDC, 0xD3, 0xF5, 0xF2, 0x02, 0x02, 0x01, - 0x01, 0x09, 0x0C, 0x08, 0x05, 0x06, 0x01, 0x0F, 0x00, 0xFD, 0xE7, 0xEC, 0xEF, 0x10, 0x31, 0x59, - 0x50, 0x2E, 0x09, 0xEE, 0xDA, 0xE7, 0xE2, 0xF2, 0xF6, 0x02, 0xFE, 0x08, 0x00, 0x06, 0xFE, 0x05, - 0xFE, 0x05, 0xFC, 0x04, 0xF9, 0x02, 0xF8, 0x03, 0x01, 0x12, 0x09, 0x15, 0x0B, 0x12, 0x03, 0xEB, - 0xDE, 0xF1, 0xFD, 0x16, 0x09, 0xFC, 0xFD, 0xFB, 0xF7, 0xEC, 0xE9, 0x17, 0xF6, 0x02, 0x01, 0xFF, - 0xFD, 0x01, 0x03, 0xFD, 0xFC, 0x00, 0xFA, 0x07, 0xFD, 0xFC, 0xE7, 0xEE, 0xF1, 0x12, 0x2E, 0x53, - 0x49, 0x23, 0x03, 0xEF, 0xE1, 0xF3, 0xEA, 0xF9, 0xF9, 0x08, 0x01, 0x0C, 0x01, 0x08, 0xFF, 0x06, - 0xFE, 0x07, 0xFF, 0x05, 0xFB, 0x03, 0xFA, 0x06, 0x02, 0x13, 0x0A, 0x18, 0x0E, 0x15, 0x04, 0xEC, - 0xDC, 0xED, 0xF7, 0x12, 0x08, 0x01, 0x00, 0x01, 0xFE, 0xFD, 0x02, 0x31, 0xEE, 0xFE, 0xFE, 0xFE, - 0xFF, 0x09, 0x0C, 0x08, 0x00, 0x01, 0xF3, 0x04, 0xFA, 0xFA, 0xE7, 0xEE, 0xF1, 0x10, 0x2D, 0x57, - 0x56, 0x3D, 0x1C, 0xFE, 0xE4, 0xEC, 0xE4, 0xF5, 0xF7, 0x06, 0xFF, 0x09, 0xFE, 0x06, 0x00, 0x08, - 0x00, 0x07, 0xFF, 0x08, 0xFE, 0x05, 0xFD, 0x07, 0x03, 0x13, 0x0A, 0x16, 0x0B, 0x12, 0x03, 0xEA, - 0xDB, 0xEC, 0xF4, 0x0D, 0x00, 0xF9, 0xFC, 0xFD, 0xF9, 0xF1, 0xED, 0x20, 0xFE, 0x08, 0x06, 0x03, - 0x01, 0x04, 0x06, 0x00, 0xFC, 0xFE, 0xF1, 0x01, 0xF7, 0xF8, 0xE4, 0xEB, 0xED, 0x0A, 0x28, 0x50, - 0x4E, 0x38, 0x19, 0x00, 0xEB, 0xF3, 0xEB, 0xFC, 0xFA, 0x0B, 0x01, 0x09, 0x01, 0x09, 0x01, 0x09, - 0x01, 0x0A, 0xFF, 0x09, 0xFE, 0x05, 0xFC, 0x06, 0x02, 0x12, 0x08, 0x15, 0x08, 0x13, 0x02, 0xEC, - 0xDE, 0xEC, 0xFE, 0x16, 0x0A, 0x02, 0x03, 0x01, 0xFF, 0xF7, 0xFE, 0x36, 0xE8, 0xFB, 0xFD, 0xFB, - 0xFC, 0x03, 0x06, 0x05, 0xFF, 0x00, 0xF1, 0xFE, 0xF7, 0xF5, 0xE1, 0xE6, 0xE5, 0x05, 0x20, 0x48, - 0x4D, 0x54, 0x40, 0x21, 0x00, 0xF1, 0xE5, 0xF9, 0xF9, 0x05, 0x00, 0x0A, 0x02, 0x0B, 0x02, 0x09, - 0x00, 0x09, 0xFF, 0x09, 0xFF, 0x07, 0xFD, 0x08, 0x04, 0x15, 0x0B, 0x18, 0x0A, 0x10, 0xFE, 0xE6, - 0xD9, 0xEB, 0xF5, 0x10, 0x02, 0xF7, 0xFA, 0xFD, 0xFA, 0xF3, 0xF9, 0x33, 0xFC, 0x0C, 0x08, 0x05, - 0x03, 0x06, 0x03, 0x00, 0xFE, 0x01, 0xF3, 0xFD, 0xF5, 0xF1, 0xDA, 0xE0, 0xDF, 0xFC, 0x17, 0x39, - 0x44, 0x4E, 0x3D, 0x27, 0x06, 0xFC, 0xEC, 0xFF, 0xFC, 0x0A, 0x01, 0x0B, 0x04, 0x0C, 0x01, 0x09, - 0x00, 0x0A, 0xFE, 0x08, 0xFF, 0x06, 0xFE, 0x08, 0x02, 0x14, 0x0A, 0x16, 0x0A, 0x12, 0x00, 0xE9, - 0xDB, 0xEC, 0x01, 0x19, 0x0D, 0x04, 0x05, 0x03, 0xFE, 0xF5, 0xFB, 0x35, 0xE4, 0xFC, 0xFB, 0xF9, - 0xFB, 0x00, 0x05, 0x00, 0xFD, 0x05, 0x00, 0x13, 0x04, 0xF8, 0xDF, 0xD8, 0xD4, 0xF4, 0x08, 0x31, - 0x3F, 0x4F, 0x48, 0x49, 0x2D, 0x15, 0xFB, 0x00, 0xF8, 0x05, 0xFE, 0x08, 0x02, 0x0C, 0x02, 0x0B, - 0x02, 0x0C, 0x01, 0x0B, 0x02, 0x08, 0xFF, 0x0A, 0x03, 0x14, 0x06, 0x0A, 0xF8, 0x03, 0xF9, 0xF3, - 0xE6, 0xF6, 0xFC, 0x13, 0x02, 0xFA, 0xFD, 0xFE, 0xF9, 0xF2, 0xFA, 0x39, 0xF6, 0x0D, 0x08, 0x06, - 0x05, 0x05, 0x06, 0x00, 0xFE, 0x07, 0x01, 0x13, 0x03, 0xF4, 0xD9, 0xD1, 0xCC, 0xEC, 0x00, 0x28, - 0x3A, 0x4B, 0x47, 0x46, 0x30, 0x1C, 0x00, 0x04, 0xFB, 0x09, 0x00, 0x0B, 0x01, 0x0D, 0x02, 0x0D, - 0x02, 0x0B, 0x01, 0x0A, 0x00, 0x09, 0xFE, 0x08, 0x03, 0x15, 0x08, 0x0C, 0xFA, 0x08, 0xFC, 0xF6, - 0xEE, 0xFA, 0x06, 0x1C, 0x0B, 0x03, 0x04, 0xFE, 0xFA, 0xEF, 0xF1, 0x34, 0xDD, 0xFD, 0xFD, 0xFD, - 0xFB, 0x01, 0x05, 0x02, 0xFA, 0x08, 0x06, 0x1A, 0x08, 0xF4, 0xD6, 0xCB, 0xC8, 0xE4, 0xFA, 0x21, - 0x34, 0x45, 0x4B, 0x60, 0x51, 0x3F, 0x1B, 0x09, 0xF9, 0x05, 0x00, 0x0B, 0x02, 0x0F, 0x04, 0x0C, - 0x01, 0x09, 0x03, 0x0F, 0x03, 0x0A, 0xFF, 0x09, 0x03, 0x12, 0x02, 0xF9, 0xE2, 0xEB, 0xF2, 0x00, - 0xFD, 0x0A, 0x0F, 0x19, 0x05, 0xF8, 0xFD, 0xFD, 0xFA, 0xF2, 0xFA, 0x3E, 0xED, 0x09, 0x08, 0x06, - 0x03, 0x08, 0x07, 0x02, 0xFC, 0x08, 0x07, 0x19, 0x05, 0xF0, 0xD0, 0xC5, 0xBE, 0xD7, 0xF2, 0x1C, - 0x2E, 0x42, 0x49, 0x60, 0x54, 0x43, 0x1F, 0x0C, 0xFB, 0x06, 0x00, 0x0B, 0x04, 0x0F, 0x04, 0x0C, - 0x01, 0x0B, 0x02, 0x0F, 0x02, 0x09, 0xFE, 0x09, 0x03, 0x14, 0x04, 0xFC, 0xE8, 0xEF, 0xF7, 0x05, - 0x00, 0x0F, 0x12, 0x1E, 0x0D, 0x01, 0x01, 0xFD, 0xF8, 0xED, 0xF6, 0x3A, 0xDB, 0xFE, 0xFF, 0xFE, - 0xFC, 0x01, 0x05, 0x01, 0x02, 0x0D, 0x06, 0x15, 0xFF, 0xE9, 0xC9, 0xBE, 0xB4, 0xD1, 0xED, 0x16, - 0x2A, 0x3A, 0x49, 0x6D, 0x6C, 0x5B, 0x31, 0x11, 0xFB, 0x07, 0x01, 0x0B, 0x01, 0x0B, 0x03, 0x0F, - 0x04, 0x0D, 0x04, 0x0E, 0x03, 0x0B, 0x01, 0x0B, 0xFD, 0x02, 0xEE, 0xE6, 0xD9, 0xEF, 0xFB, 0x0C, - 0x08, 0x12, 0x12, 0x1A, 0x05, 0xFA, 0xFE, 0xFF, 0xFB, 0xF4, 0xFC, 0x4C, 0xE5, 0x08, 0x08, 0x05, - 0x03, 0x06, 0x07, 0x02, 0x02, 0x0F, 0x06, 0x14, 0xFE, 0xE6, 0xC7, 0xB7, 0xAF, 0xCC, 0xE8, 0x11, - 0x21, 0x37, 0x47, 0x6C, 0x6E, 0x5D, 0x32, 0x12, 0xFF, 0x08, 0x01, 0x0B, 0x00, 0x0A, 0x04, 0x0F, - 0x05, 0x0E, 0x02, 0x0E, 0x02, 0x0A, 0x00, 0x0B, 0xFD, 0x04, 0xF0, 0xE9, 0xE0, 0xF6, 0x00, 0x10, - 0x0C, 0x14, 0x14, 0x1D, 0x09, 0xFE, 0x00, 0xFD, 0xF9, 0xEF, 0xF6, 0x3D, 0xE0, 0x03, 0x02, 0xFF, - 0xFE, 0x02, 0x06, 0x02, 0xFF, 0x0A, 0x05, 0x10, 0xF6, 0xDB, 0xBB, 0xB2, 0xA8, 0xC7, 0xE4, 0x0D, - 0x1E, 0x34, 0x45, 0x6C, 0x72, 0x6F, 0x4B, 0x29, 0x0A, 0x09, 0x00, 0x0B, 0x03, 0x0C, 0x02, 0x0D, - 0x04, 0x0F, 0x05, 0x10, 0x04, 0x0D, 0x03, 0x0F, 0xFB, 0xF4, 0xDB, 0xD5, 0xD6, 0xF9, 0x06, 0x14, - 0x10, 0x15, 0x12, 0x1C, 0x08, 0xFC, 0xFF, 0xFE, 0xF9, 0xF2, 0xFC, 0x46, 0xE0, 0x05, 0x05, 0x02, - 0x01, 0x04, 0x06, 0x01, 0xFF, 0x0A, 0x05, 0x0F, 0xF4, 0xDB, 0xB9, 0xAD, 0xA4, 0xC4, 0xE1, 0x0B, - 0x1A, 0x32, 0x43, 0x65, 0x72, 0x71, 0x4F, 0x2B, 0x0B, 0x09, 0x00, 0x0B, 0x02, 0x0B, 0x02, 0x0C, - 0x03, 0x10, 0x05, 0x0F, 0x04, 0x0C, 0x02, 0x0F, 0xFD, 0xF6, 0xDE, 0xDC, 0xDD, 0xFD, 0x0C, 0x1A, - 0x13, 0x17, 0x13, 0x1E, 0x0B, 0xFD, 0x00, 0xFC, 0xF8, 0xED, 0xF6, 0x42, 0xDF, 0x04, 0x05, 0x02, - 0xFF, 0x03, 0x07, 0x04, 0x01, 0x07, 0x00, 0x09, 0xF0, 0xD9, 0xB8, 0xA9, 0xA1, 0xBF, 0xDD, 0x08, - 0x18, 0x2F, 0x3B, 0x64, 0x74, 0x7D, 0x5B, 0x37, 0x16, 0x0A, 0xFF, 0x08, 0x02, 0x0D, 0x04, 0x0E, - 0x03, 0x0C, 0x03, 0x0E, 0x04, 0x0F, 0x03, 0x0A, 0xF6, 0xEB, 0xD2, 0xD6, 0xDC, 0x01, 0x10, 0x1B, - 0x10, 0x0F, 0x0B, 0x1B, 0x08, 0xFD, 0x00, 0xFE, 0xF9, 0xF1, 0xF9, 0x53, 0xDC, 0x03, 0x04, 0x02, - 0xFF, 0x02, 0x04, 0x01, 0xFF, 0x08, 0x00, 0x09, 0xF0, 0xD9, 0xB7, 0xA4, 0x9D, 0xBE, 0xDC, 0x00, - 0x16, 0x2E, 0x3A, 0x64, 0x74, 0x7D, 0x5C, 0x39, 0x16, 0x0A, 0xFE, 0x08, 0x02, 0x0D, 0x03, 0x0D, - 0x04, 0x0D, 0x02, 0x0F, 0x04, 0x0F, 0x02, 0x0A, 0xF5, 0xEC, 0xD7, 0xDC, 0xE1, 0x06, 0x15, 0x1E, - 0x12, 0x12, 0x0E, 0x1C, 0x09, 0xFD, 0xFF, 0xFC, 0xF7, 0xED, 0xF5, 0x46, 0xD9, 0x03, 0x03, 0x00, - 0xFE, 0x02, 0x05, 0x05, 0xFE, 0x06, 0xFA, 0x05, 0xF1, 0xD9, 0xB5, 0xA3, 0x9A, 0xBA, 0xD9, 0xFE, - 0x15, 0x2D, 0x3A, 0x63, 0x74, 0x7D, 0x5F, 0x42, 0x22, 0x14, 0x06, 0x0D, 0x02, 0x0B, 0x02, 0x0F, - 0x05, 0x10, 0x04, 0x0D, 0x04, 0x09, 0xFA, 0x00, 0xEC, 0xE3, 0xD4, 0xDE, 0xEB, 0x0A, 0x18, 0x1C, - 0x10, 0x10, 0x0F, 0x1E, 0x09, 0xFD, 0x01, 0xFF, 0xF9, 0xEF, 0xF9, 0x48, 0xDD, 0x07, 0x07, 0x04, - 0x02, 0x06, 0x08, 0x05, 0xFF, 0x05, 0xFA, 0x06, 0xF1, 0xD9, 0xB4, 0xA0, 0x97, 0xB8, 0xD1, 0xFD, - 0x14, 0x2B, 0x38, 0x63, 0x73, 0x7E, 0x5F, 0x42, 0x23, 0x14, 0x05, 0x0C, 0x01, 0x0B, 0x02, 0x0E, - 0x05, 0x10, 0x03, 0x0C, 0x03, 0x0A, 0xFB, 0xFF, 0xED, 0xE6, 0xD6, 0xE0, 0xEF, 0x0D, 0x1C, 0x21, - 0x12, 0x10, 0x0F, 0x1D, 0x0A, 0xFB, 0xFE, 0xFC, 0xF6, 0xED, 0xEF, 0x46, 0xDA, 0x02, 0x02, 0xFE, - 0xFC, 0xFF, 0x04, 0x00, 0xFC, 0x01, 0xF5, 0xFE, 0xF0, 0xD8, 0xB4, 0x9D, 0x94, 0xB5, 0xCF, 0xFD, - 0x14, 0x2A, 0x37, 0x62, 0x72, 0x7E, 0x60, 0x46, 0x26, 0x19, 0x0A, 0x12, 0x06, 0x0E, 0x03, 0x0D, - 0x04, 0x0E, 0x01, 0x08, 0xFA, 0x02, 0xF6, 0xFB, 0xED, 0xE8, 0xD9, 0xE7, 0xF0, 0x16, 0x1F, 0x20, - 0x0F, 0x0D, 0x0D, 0x1B, 0x09, 0xFF, 0x01, 0xFE, 0xFA, 0xEF, 0xF9, 0x4A, 0xDF, 0x09, 0x0B, 0x08, - 0x06, 0x09, 0x08, 0x03, 0xFD, 0x02, 0xF6, 0xFF, 0xF2, 0xD9, 0xB3, 0x9B, 0x92, 0xB2, 0xCE, 0xFC, - 0x13, 0x2A, 0x37, 0x61, 0x72, 0x7E, 0x60, 0x45, 0x27, 0x1A, 0x08, 0x12, 0x06, 0x0D, 0x02, 0x0D, - 0x04, 0x0E, 0x01, 0x09, 0xFA, 0x04, 0xF6, 0xFC, 0xEE, 0xEB, 0xDB, 0xEB, 0xF4, 0x18, 0x1F, 0x22, - 0x11, 0x0F, 0x0C, 0x1A, 0x08, 0xFB, 0xFE, 0xFB, 0xF6, 0xEC, 0xEF, 0x49, 0xD8, 0x02, 0x02, 0x00, - 0xFD, 0x00, 0x05, 0x01, 0xFD, 0x02, 0xF6, 0xFF, 0xF1, 0xD9, 0xB2, 0x9A, 0x92, 0xAC, 0xCB, 0xFC, - 0x13, 0x2A, 0x36, 0x61, 0x72, 0x7D, 0x5F, 0x44, 0x26, 0x19, 0x09, 0x11, 0x06, 0x10, 0x06, 0x10, - 0x04, 0x0A, 0xFD, 0x03, 0xF9, 0x02, 0xF6, 0xFC, 0xEE, 0xED, 0xDF, 0xEC, 0xF7, 0x1A, 0x21, 0x1E, - 0x0D, 0x0C, 0x0A, 0x1B, 0x09, 0xFE, 0x02, 0xFE, 0xFA, 0xEF, 0xF8, 0x4C, 0xDC, 0x09, 0x09, 0x06, - 0x03, 0x06, 0x07, 0x02, 0xFB, 0x01, 0xF5, 0xFF, 0xF0, 0xD8, 0xB1, 0x99, 0x90, 0xAA, 0xCB, 0xFD, - 0x13, 0x2A, 0x36, 0x61, 0x71, 0x7C, 0x5E, 0x44, 0x25, 0x1A, 0x09, 0x11, 0x06, 0x12, 0x07, 0x10, - 0x04, 0x09, 0xFB, 0x03, 0xF9, 0x01, 0xF6, 0xFD, 0xEF, 0xF0, 0xE1, 0xEF, 0xF9, 0x1D, 0x22, 0x20, - 0x0D, 0x0D, 0x09, 0x19, 0x05, 0xF9, 0xFC, 0xFB, 0xF5, 0xEC, 0xEF, 0x4B, 0xCB, 0x03, 0x04, 0x02, - 0xFF, 0x01, 0x04, 0xFF, 0xFA, 0x00, 0xF8, 0x01, 0xF2, 0xD8, 0xB1, 0x99, 0x90, 0xAA, 0xCB, 0xFC, - 0x13, 0x2A, 0x35, 0x5F, 0x70, 0x7A, 0x5C, 0x43, 0x24, 0x1A, 0x09, 0x11, 0x07, 0x11, 0x07, 0x10, - 0x02, 0x08, 0xFB, 0x04, 0xF9, 0x02, 0xF6, 0xFD, 0xF1, 0xF3, 0xE3, 0xF2, 0xFC, 0x20, 0x23, 0x1A, - 0x06, 0x07, 0x04, 0x19, 0x09, 0x00, 0x03, 0xFF, 0xFA, 0xED, 0xEF, 0x4A, 0xD9, 0x0A, 0x0A, 0x05, - 0x02, 0x03, 0x05, 0xFB, 0xF6, 0xFD, 0xF3, 0xFE, 0xF0, 0xD7, 0xB0, 0x9A, 0x8F, 0xAA, 0xCB, 0xFC, - 0x13, 0x29, 0x36, 0x5E, 0x6D, 0x76, 0x59, 0x41, 0x23, 0x1A, 0x0A, 0x11, 0x07, 0x11, 0x06, 0x0F, - 0x02, 0x09, 0xF9, 0x02, 0xF8, 0x01, 0xF7, 0xFF, 0xF3, 0xF5, 0xE7, 0xF4, 0xFE, 0x21, 0x23, 0x1C, - 0x07, 0x07, 0x04, 0x16, 0x05, 0xF9, 0xFD, 0xFA, 0xF5, 0xE9, 0xEC, 0x47, 0xCC, 0x04, 0x06, 0x03, - 0x00, 0x04, 0x06, 0x02, 0xFD, 0x0A, 0x01, 0x08, 0xF0, 0xD7, 0xB7, 0x9A, 0x90, 0xAA, 0xCB, 0xFB, - 0x12, 0x29, 0x35, 0x5D, 0x6B, 0x74, 0x57, 0x3F, 0x23, 0x1A, 0x09, 0x12, 0x07, 0x12, 0x08, 0x0F, - 0x02, 0x08, 0xF9, 0x02, 0xF8, 0x00, 0xF6, 0xFF, 0xF4, 0xF7, 0xE9, 0xF8, 0xFF, 0x1D, 0x1D, 0x14, - 0x03, 0x08, 0x06, 0x19, 0x08, 0x00, 0x02, 0xFE, 0xFA, 0xEF, 0xF8, 0x4D, 0xD3, 0x0D, 0x0B, 0x06, - 0x01, 0x02, 0x04, 0xFA, 0xF9, 0x04, 0xFD, 0x07, 0xF1, 0xD6, 0xB6, 0x9C, 0x92, 0xB0, 0xCB, 0xFB, - 0x12, 0x28, 0x34, 0x5D, 0x6A, 0x71, 0x53, 0x3F, 0x21, 0x1A, 0x09, 0x12, 0x07, 0x14, 0x07, 0x12, - 0x02, 0x07, 0xF8, 0x02, 0xF7, 0x00, 0xF6, 0xFF, 0xF6, 0xF9, 0xEA, 0xFB, 0x00, 0x20, 0x1F, 0x16, - 0x05, 0x09, 0x04, 0x16, 0x05, 0xF9, 0xFD, 0xFA, 0xF5, 0xEB, 0xEF, 0x4B, 0xC0, 0x06, 0x07, 0x04, - 0x01, 0x06, 0x0A, 0x00, 0xFB, 0x08, 0x02, 0x0D, 0xF0, 0xD8, 0xB7, 0x9D, 0x93, 0xB2, 0xCB, 0xFB, - 0x10, 0x27, 0x33, 0x59, 0x65, 0x6C, 0x51, 0x3A, 0x21, 0x1A, 0x0A, 0x12, 0x08, 0x14, 0x09, 0x11, - 0x02, 0x06, 0xF8, 0x00, 0xF7, 0x00, 0xF7, 0x01, 0xF7, 0xFC, 0xEF, 0xFF, 0x05, 0x1E, 0x1B, 0x12, - 0x01, 0x07, 0x00, 0x18, 0x08, 0xFF, 0x03, 0xFF, 0xF9, 0xED, 0xF6, 0x4B, 0xC4, 0x0E, 0x0E, 0x07, - 0x01, 0x02, 0x03, 0xF9, 0xF4, 0x02, 0xFE, 0x0A, 0xEE, 0xDC, 0xB7, 0x9D, 0x95, 0xB3, 0xCB, 0xFA, - 0x0F, 0x26, 0x32, 0x56, 0x61, 0x67, 0x4C, 0x38, 0x1F, 0x1A, 0x0A, 0x12, 0x08, 0x14, 0x08, 0x11, - 0x01, 0x06, 0xF9, 0x00, 0xF7, 0x00, 0xF9, 0x02, 0xF9, 0xFE, 0xF3, 0x01, 0x09, 0x21, 0x1F, 0x15, - 0x02, 0x08, 0x05, 0x17, 0x06, 0xFC, 0xFE, 0xFC, 0xF5, 0xEA, 0xED, 0x4A, 0xB3, 0x07, 0x09, 0x04, - 0x01, 0x05, 0x09, 0x03, 0xFC, 0x0D, 0x05, 0x0D, 0xF2, 0xD8, 0xB7, 0x9F, 0x96, 0xB4, 0xCD, 0xF9, - 0x0D, 0x24, 0x30, 0x53, 0x5C, 0x61, 0x46, 0x35, 0x1C, 0x19, 0x0A, 0x13, 0x08, 0x15, 0x09, 0x10, - 0x01, 0x08, 0xF9, 0x00, 0xF6, 0x01, 0xF9, 0x04, 0xFB, 0x03, 0xF6, 0x07, 0x0B, 0x24, 0x1D, 0x11, - 0x02, 0x08, 0x06, 0x1A, 0x09, 0xFF, 0x02, 0xFE, 0xF9, 0xED, 0xF7, 0x4D, 0xB6, 0x0D, 0x0E, 0x06, - 0x01, 0x01, 0x04, 0xFA, 0xF7, 0x06, 0x03, 0x0C, 0xEF, 0xD9, 0xB6, 0x9E, 0x97, 0xB6, 0xCE, 0xF9, - 0x0D, 0x23, 0x2D, 0x4F, 0x58, 0x5B, 0x3E, 0x32, 0x19, 0x17, 0x0A, 0x14, 0x09, 0x15, 0x09, 0x10, - 0x01, 0x06, 0xF6, 0x00, 0xF6, 0x01, 0xFA, 0x05, 0xFD, 0x07, 0xF9, 0x0A, 0x10, 0x28, 0x21, 0x14, - 0x03, 0x08, 0x01, 0x18, 0x07, 0xFC, 0x00, 0xFD, 0xF7, 0xED, 0xF6, 0x4C, 0x9F, 0x0B, 0x0D, 0x05, - 0x01, 0x03, 0x06, 0xFE, 0xFA, 0x07, 0x03, 0x0B, 0xEB, 0xD6, 0xB2, 0x9F, 0x99, 0xB9, 0xD0, 0xF9, - 0x0C, 0x22, 0x2B, 0x4A, 0x4B, 0x4F, 0x39, 0x2C, 0x18, 0x16, 0x0A, 0x13, 0x09, 0x15, 0x09, 0x10, - 0x02, 0x06, 0xF9, 0x00, 0xF7, 0x02, 0xFC, 0x09, 0x01, 0x09, 0x04, 0x0F, 0x17, 0x2D, 0x25, 0x14, - 0x01, 0x06, 0x04, 0x19, 0x08, 0xFD, 0x02, 0xFE, 0xF8, 0xEC, 0xEF, 0x4B, 0xA9, 0x0F, 0x0F, 0x06, - 0x00, 0xFE, 0x00, 0xF7, 0xF3, 0x02, 0x00, 0x08, 0xED, 0xD1, 0xAE, 0x9F, 0x9B, 0xBB, 0xD2, 0xF9, - 0x0B, 0x20, 0x29, 0x43, 0x42, 0x45, 0x31, 0x28, 0x15, 0x16, 0x09, 0x14, 0x0A, 0x15, 0x09, 0x10, - 0x01, 0x06, 0xF9, 0x01, 0xF7, 0x02, 0xFE, 0x0B, 0x06, 0x0E, 0x09, 0x19, 0x1C, 0x34, 0x2F, 0x18, - 0x03, 0x06, 0x03, 0x18, 0x07, 0xFE, 0x02, 0xFD, 0xF9, 0xED, 0xF6, 0x58, 0x94, 0x0C, 0x0F, 0x09, - 0x02, 0x03, 0x06, 0xFE, 0xF8, 0x0D, 0x06, 0x05, 0xE8, 0xC6, 0xA6, 0x9F, 0x9D, 0xBE, 0xD4, 0xF9, - 0x0A, 0x1F, 0x24, 0x3D, 0x39, 0x3D, 0x2B, 0x24, 0x10, 0x15, 0x08, 0x13, 0x09, 0x15, 0x09, 0x10, - 0x01, 0x06, 0xF9, 0x01, 0xF8, 0x04, 0x00, 0x0F, 0x08, 0x14, 0x0F, 0x22, 0x24, 0x33, 0x2B, 0x1E, - 0x0D, 0x0F, 0x08, 0x19, 0x07, 0xFD, 0x01, 0xFD, 0xF7, 0xEB, 0xED, 0x4A, 0x9E, 0x0F, 0x0E, 0x08, - 0x00, 0xFE, 0x00, 0xF8, 0xF5, 0x05, 0x02, 0x02, 0xE3, 0xBF, 0xA1, 0xA1, 0xA0, 0xC1, 0xD7, 0xF9, - 0x09, 0x1C, 0x20, 0x34, 0x2B, 0x30, 0x1B, 0x1D, 0x0D, 0x13, 0x08, 0x13, 0x09, 0x14, 0x09, 0x10, - 0x01, 0x07, 0xF9, 0x01, 0xF9, 0x05, 0x01, 0x12, 0x0C, 0x1D, 0x17, 0x2A, 0x2E, 0x3E, 0x31, 0x24, - 0x11, 0x11, 0x09, 0x18, 0x07, 0x00, 0x02, 0xFD, 0xF9, 0xEE, 0xF7, 0x4C, 0x8C, 0x0E, 0x0F, 0x08, - 0x02, 0x02, 0x05, 0xFC, 0xF4, 0xFE, 0xF6, 0xF7, 0xDA, 0xC3, 0xA6, 0xA2, 0xA3, 0xC6, 0xDA, 0xFA, - 0x07, 0x1B, 0x1A, 0x2B, 0x1A, 0x1D, 0x0E, 0x16, 0x0A, 0x12, 0x08, 0x12, 0x08, 0x15, 0x08, 0x10, - 0x02, 0x06, 0xFA, 0x02, 0xFB, 0x06, 0x04, 0x14, 0x13, 0x22, 0x21, 0x32, 0x36, 0x40, 0x30, 0x29, - 0x1C, 0x1D, 0x14, 0x19, 0x07, 0xFD, 0x00, 0xFD, 0xF7, 0xEE, 0xF8, 0x4E, 0x97, 0x0E, 0x0F, 0x06, - 0x00, 0xFF, 0x01, 0xFA, 0xF1, 0xF9, 0xF4, 0xEC, 0xD3, 0xB9, 0x9F, 0xA3, 0xA8, 0xC9, 0xDE, 0xFB, - 0x07, 0x19, 0x15, 0x1A, 0x0A, 0x0B, 0x00, 0x0F, 0x07, 0x11, 0x06, 0x10, 0x07, 0x14, 0x08, 0x0F, - 0x01, 0x07, 0xFA, 0x03, 0xFC, 0x06, 0x05, 0x16, 0x18, 0x28, 0x2B, 0x3D, 0x3E, 0x4B, 0x38, 0x31, - 0x1F, 0x20, 0x15, 0x1A, 0x07, 0xFF, 0x03, 0xFE, 0xFA, 0xEF, 0xF8, 0x58, 0x95, 0x0F, 0x11, 0x09, - 0x02, 0x01, 0x03, 0xFB, 0xF3, 0xF4, 0xE6, 0xE2, 0xCE, 0xBE, 0xA7, 0xA8, 0xB2, 0xCF, 0xE1, 0xFB, - 0x06, 0x17, 0x0E, 0x0D, 0xF8, 0xFC, 0xF4, 0x08, 0x03, 0x0F, 0x06, 0x10, 0x06, 0x12, 0x07, 0x0E, - 0x02, 0x07, 0xFA, 0x04, 0xFD, 0x08, 0x06, 0x1A, 0x1C, 0x32, 0x38, 0x48, 0x4C, 0x5B, 0x48, 0x3C, - 0x28, 0x20, 0x14, 0x1A, 0x08, 0xFD, 0x01, 0xFD, 0xF8, 0xED, 0xF8, 0x4C, 0x8A, 0x0F, 0x0F, 0x07, - 0x02, 0xFF, 0x01, 0xF9, 0xEF, 0xF0, 0xDF, 0xDC, 0xC4, 0xB6, 0x9E, 0xA8, 0xB9, 0xDB, 0xE6, 0xFC, - 0x05, 0x15, 0x04, 0x00, 0xEC, 0xEA, 0xEA, 0xFB, 0x01, 0x0E, 0x05, 0x0F, 0x06, 0x10, 0x06, 0x0E, - 0x02, 0x07, 0xFA, 0x05, 0xFE, 0x0C, 0x08, 0x1D, 0x23, 0x3C, 0x42, 0x59, 0x59, 0x66, 0x56, 0x46, - 0x2D, 0x22, 0x15, 0x1B, 0x07, 0xFF, 0x02, 0xFD, 0xF8, 0xED, 0xF9, 0x57, 0x9A, 0x0E, 0x0F, 0x08, - 0x02, 0x02, 0x04, 0xFD, 0xF3, 0xF3, 0xDE, 0xD1, 0xB5, 0xA9, 0x92, 0xA8, 0xC0, 0xE4, 0xED, 0x00, - 0x04, 0x11, 0xFE, 0xF2, 0xD6, 0xD7, 0xD7, 0xF4, 0xFE, 0x0D, 0x04, 0x0D, 0x04, 0x0F, 0x05, 0x0D, - 0x02, 0x07, 0xFB, 0x06, 0xFF, 0x0C, 0x0A, 0x20, 0x2D, 0x42, 0x4F, 0x63, 0x6A, 0x72, 0x61, 0x4D, - 0x33, 0x28, 0x14, 0x18, 0x04, 0xFC, 0x00, 0xFE, 0xF8, 0xED, 0xF8, 0x4D, 0x8F, 0x0B, 0x0C, 0x05, - 0x00, 0x00, 0x05, 0xFC, 0xF0, 0xEF, 0xD8, 0xCC, 0xB3, 0x9D, 0x8E, 0xAA, 0xC8, 0xEB, 0xF3, 0x02, - 0x03, 0x0F, 0xF7, 0xE2, 0xC6, 0xC8, 0xCC, 0xEF, 0xF9, 0x0B, 0x03, 0x0C, 0x03, 0x0E, 0x05, 0x0D, - 0x03, 0x08, 0xFD, 0x07, 0x00, 0x0E, 0x0B, 0x22, 0x30, 0x4D, 0x56, 0x6F, 0x72, 0x7F, 0x6B, 0x55, - 0x38, 0x29, 0x17, 0x18, 0x05, 0xFD, 0x01, 0xFC, 0xF8, 0xEC, 0xF7, 0x4A, 0xA5, 0x10, 0x12, 0x09, - 0x01, 0xFC, 0xF4, 0xF0, 0xF6, 0xFD, 0xE6, 0xD6, 0xBE, 0xAC, 0x98, 0xB0, 0xD3, 0xF1, 0xF8, 0x04, - 0x02, 0x0C, 0xF1, 0xD8, 0xB5, 0xB8, 0xBF, 0xE8, 0xF7, 0x09, 0x02, 0x0B, 0x02, 0x0D, 0x03, 0x0D, - 0x02, 0x0A, 0x00, 0x09, 0x01, 0x0E, 0x0C, 0x23, 0x34, 0x54, 0x5F, 0x77, 0x77, 0x7B, 0x5F, 0x43, - 0x27, 0x22, 0x19, 0x20, 0x09, 0xFD, 0x00, 0xFE, 0xF9, 0xEE, 0xF9, 0x4E, 0x9C, 0x0C, 0x10, 0x06, - 0x01, 0xFB, 0xF5, 0xEF, 0xF5, 0xF8, 0xE0, 0xD1, 0xB4, 0xA7, 0x94, 0xB3, 0xD8, 0xFC, 0xFC, 0x06, - 0x01, 0x0A, 0xEF, 0xD0, 0xAB, 0xA9, 0xB4, 0xE3, 0xF5, 0x08, 0x02, 0x09, 0x01, 0x0C, 0x03, 0x0D, - 0x03, 0x0B, 0x03, 0x0B, 0x03, 0x0F, 0x0D, 0x26, 0x37, 0x59, 0x6A, 0x7D, 0x7D, 0x7F, 0x64, 0x49, - 0x29, 0x23, 0x19, 0x21, 0x09, 0xFC, 0x00, 0xFD, 0xF8, 0xEC, 0xF7, 0x4D, 0xB1, 0x0E, 0x0F, 0x08, - 0x02, 0xFD, 0xF9, 0xF9, 0xF6, 0xF9, 0xE3, 0xE1, 0xD0, 0xC5, 0xAD, 0xBB, 0xDD, 0xFF, 0xFE, 0x06, - 0x01, 0x08, 0xED, 0xC8, 0xA1, 0xA0, 0xB0, 0xE0, 0xF3, 0x06, 0x01, 0x09, 0x01, 0x0C, 0x03, 0x0E, - 0x05, 0x0E, 0x05, 0x0D, 0x03, 0x10, 0x0E, 0x27, 0x3A, 0x5C, 0x6E, 0x7F, 0x7F, 0x7F, 0x5D, 0x30, - 0x12, 0x15, 0x15, 0x25, 0x08, 0xF8, 0x00, 0xFE, 0xF9, 0xED, 0xEF, 0x4B, 0xB0, 0x0E, 0x0E, 0x09, - 0x03, 0xFE, 0xFA, 0xF8, 0xF8, 0xF8, 0xE1, 0xDE, 0xCE, 0xC4, 0xAC, 0xBB, 0xDE, 0x01, 0xFF, 0x06, - 0x01, 0x08, 0xED, 0xC7, 0x9E, 0x9F, 0xAE, 0xDF, 0xF2, 0x05, 0x00, 0x09, 0x01, 0x0D, 0x05, 0x0F, - 0x07, 0x10, 0x06, 0x0D, 0x04, 0x11, 0x0F, 0x27, 0x3B, 0x5D, 0x6F, 0x7F, 0x7F, 0x7F, 0x5D, 0x31, - 0x12, 0x16, 0x17, 0x25, 0x08, 0xF8, 0xFF, 0xFC, 0xF8, 0xED, 0xEE, 0x4D, 0xA2, 0x0B, 0x0D, 0x07, - 0x01, 0xFD, 0xFA, 0xEE, 0xE3, 0xEA, 0xDA, 0xD9, 0xC0, 0xAD, 0x98, 0xB6, 0xDD, 0xFF, 0xFE, 0x06, - 0x01, 0x08, 0xEE, 0xCB, 0xA3, 0xA2, 0xAF, 0xE0, 0xF1, 0x05, 0x00, 0x09, 0x02, 0x0E, 0x06, 0x12, - 0x08, 0x10, 0x07, 0x0E, 0x04, 0x11, 0x0F, 0x27, 0x3A, 0x5D, 0x6E, 0x7F, 0x7F, 0x7C, 0x55, 0x27, - 0x0B, 0x11, 0x14, 0x25, 0x09, 0xF8, 0x00, 0xFE, 0xF9, 0xED, 0xF5, 0x4B, 0xAF, 0x11, 0x14, 0x0B, - 0x04, 0xFE, 0xF8, 0xEC, 0xE2, 0xE8, 0xD9, 0xDB, 0xC3, 0xB0, 0x9A, 0xB5, 0xDA, 0xFC, 0xFB, 0x05, - 0x02, 0x0A, 0xEC, 0xD3, 0xAE, 0xAB, 0xB6, 0xE3, 0xF3, 0x05, 0x01, 0x0B, 0x04, 0x11, 0x08, 0x14, - 0x0A, 0x12, 0x07, 0x0D, 0x04, 0x11, 0x0F, 0x27, 0x39, 0x5A, 0x6B, 0x7E, 0x7B, 0x78, 0x53, 0x26, - 0x08, 0x11, 0x14, 0x24, 0x08, 0xF7, 0xFF, 0xFC, 0xF8, 0xEC, 0xF6, 0x4F, 0xA0, 0x0D, 0x0F, 0x08, - 0x01, 0xFC, 0xF8, 0xF8, 0xF6, 0xFD, 0xE6, 0xE0, 0xCE, 0xBF, 0xA7, 0xB4, 0xD3, 0xF1, 0xF7, 0x04, - 0x03, 0x0D, 0xF3, 0xDB, 0xB9, 0xBB, 0xC0, 0xE8, 0xF5, 0x07, 0x01, 0x0B, 0x06, 0x13, 0x0A, 0x15, - 0x0B, 0x11, 0x06, 0x0C, 0x03, 0x10, 0x0E, 0x26, 0x36, 0x55, 0x60, 0x78, 0x73, 0x71, 0x50, 0x1D, - 0x00, 0x09, 0x0D, 0x23, 0x07, 0xF8, 0x01, 0xFE, 0xF8, 0xEC, 0xF6, 0x4E, 0xA0, 0x15, 0x17, 0x0F, - 0x04, 0xFC, 0xF5, 0xF6, 0xF6, 0xFD, 0xEA, 0xE6, 0xD8, 0xC7, 0xAE, 0xB2, 0xC6, 0xE9, 0xF0, 0x01, - 0x03, 0x11, 0xFA, 0xE8, 0xCD, 0xCE, 0xCE, 0xF0, 0xF9, 0x08, 0x02, 0x0D, 0x07, 0x14, 0x0C, 0x18, - 0x0B, 0x10, 0x05, 0x0A, 0x01, 0x10, 0x0D, 0x25, 0x34, 0x50, 0x59, 0x70, 0x6D, 0x67, 0x44, 0x1B, - 0xFC, 0x06, 0x0C, 0x22, 0x06, 0xF6, 0xFE, 0xFD, 0xF8, 0xEC, 0xF5, 0x4F, 0x81, 0x0F, 0x11, 0x0A, - 0x02, 0xFD, 0xF9, 0xF8, 0xFB, 0x0C, 0xFC, 0xFC, 0xDE, 0xBF, 0xA5, 0xAC, 0xBD, 0xE0, 0xEA, 0xFE, - 0x05, 0x13, 0x02, 0xFC, 0xE2, 0xE1, 0xDE, 0xF8, 0xFC, 0x09, 0x04, 0x0E, 0x08, 0x15, 0x0D, 0x18, - 0x0B, 0x0F, 0x04, 0x0A, 0x01, 0x0F, 0x0D, 0x23, 0x30, 0x4A, 0x51, 0x66, 0x68, 0x6D, 0x52, 0x2D, - 0x13, 0x0D, 0x0E, 0x1F, 0x09, 0xFE, 0x02, 0xFE, 0xF7, 0xEB, 0xEE, 0x4F, 0x8B, 0x15, 0x16, 0x0D, - 0x03, 0xFC, 0xF7, 0xF7, 0xFC, 0x0E, 0x00, 0x04, 0xEB, 0xCC, 0xAC, 0xAA, 0xB4, 0xD7, 0xE2, 0xFB, - 0x06, 0x17, 0x0B, 0x0A, 0xF2, 0xF1, 0xED, 0xFC, 0xFF, 0x0A, 0x03, 0x10, 0x08, 0x17, 0x0E, 0x19, - 0x0C, 0x0F, 0x02, 0x09, 0x00, 0x0E, 0x0C, 0x22, 0x2D, 0x43, 0x46, 0x5B, 0x59, 0x61, 0x4A, 0x26, - 0x0B, 0x0B, 0x0C, 0x1D, 0x07, 0xFB, 0x00, 0xFB, 0xF7, 0xEB, 0xF6, 0x52, 0xB8, 0x11, 0x13, 0x0A, - 0x02, 0x00, 0x03, 0xFA, 0xEF, 0xFB, 0xF3, 0xE6, 0xC7, 0xA6, 0x8D, 0x9D, 0xA6, 0xCA, 0xDD, 0xFA, - 0x07, 0x19, 0x13, 0x16, 0x05, 0x03, 0xFA, 0x07, 0x02, 0x0C, 0x03, 0x0F, 0x09, 0x17, 0x0F, 0x19, - 0x0C, 0x0F, 0x01, 0x07, 0xFF, 0x0B, 0x0B, 0x20, 0x23, 0x39, 0x3F, 0x4F, 0x4D, 0x5A, 0x47, 0x39, - 0x20, 0x1C, 0x12, 0x1B, 0x09, 0x00, 0x03, 0xFF, 0xF8, 0xEC, 0xF7, 0x53, 0xB9, 0x14, 0x14, 0x0B, - 0x03, 0x00, 0x03, 0xFA, 0xF1, 0xFE, 0xF4, 0xEF, 0xD2, 0xAF, 0x96, 0x9A, 0xA0, 0xC4, 0xD9, 0xFA, - 0x08, 0x1B, 0x1A, 0x25, 0x15, 0x15, 0x06, 0x12, 0x05, 0x0D, 0x05, 0x10, 0x0A, 0x18, 0x0F, 0x19, - 0x0B, 0x0E, 0x01, 0x07, 0xFF, 0x0A, 0x09, 0x1E, 0x1F, 0x30, 0x2F, 0x42, 0x42, 0x4B, 0x3D, 0x2E, - 0x1C, 0x19, 0x12, 0x19, 0x07, 0xFD, 0x01, 0xFC, 0xF7, 0xEC, 0xF8, 0x60, 0xB6, 0x12, 0x13, 0x0A, - 0x02, 0x00, 0x04, 0xFA, 0xF0, 0xFD, 0xFA, 0xFB, 0xDD, 0xBA, 0x9C, 0x98, 0x99, 0xBE, 0xD5, 0xF9, - 0x0A, 0x1D, 0x20, 0x32, 0x24, 0x27, 0x16, 0x18, 0x0A, 0x0F, 0x06, 0x12, 0x0B, 0x19, 0x11, 0x1A, - 0x0C, 0x0C, 0x00, 0x07, 0xFE, 0x09, 0x07, 0x1B, 0x1A, 0x2B, 0x25, 0x36, 0x3A, 0x44, 0x31, 0x23, - 0x10, 0x0F, 0x0D, 0x19, 0x08, 0x01, 0x03, 0xFE, 0xF8, 0xEB, 0xEE, 0x4F, 0xB6, 0x13, 0x14, 0x0A, - 0x03, 0x01, 0x03, 0xF9, 0xF1, 0x01, 0xFF, 0x02, 0xE3, 0xC2, 0xA1, 0x95, 0x96, 0xB9, 0xD2, 0xF9, - 0x0C, 0x20, 0x26, 0x3B, 0x35, 0x36, 0x28, 0x20, 0x10, 0x12, 0x08, 0x14, 0x0C, 0x1A, 0x10, 0x1A, - 0x0A, 0x0C, 0x00, 0x06, 0xFE, 0x08, 0x07, 0x18, 0x15, 0x22, 0x1C, 0x2D, 0x2E, 0x3D, 0x2D, 0x1F, - 0x0D, 0x0E, 0x0C, 0x18, 0x07, 0xFE, 0x01, 0xFC, 0xF6, 0xEB, 0xF5, 0x51, 0xB7, 0x12, 0x12, 0x0A, - 0x02, 0x00, 0x04, 0xFA, 0xF2, 0x01, 0xFE, 0x03, 0xE8, 0xC8, 0xA8, 0x95, 0x93, 0xB6, 0xD0, 0xFA, - 0x0D, 0x22, 0x2B, 0x45, 0x40, 0x49, 0x2E, 0x28, 0x14, 0x14, 0x08, 0x14, 0x0B, 0x1B, 0x10, 0x1A, - 0x0A, 0x0C, 0x00, 0x06, 0xFE, 0x08, 0x06, 0x16, 0x11, 0x1E, 0x14, 0x25, 0x28, 0x36, 0x2B, 0x14, - 0x02, 0x09, 0x05, 0x17, 0x08, 0xFF, 0x03, 0xFE, 0xF8, 0xEB, 0xEE, 0x4F, 0xB6, 0x12, 0x13, 0x0A, - 0x03, 0x01, 0x05, 0xFA, 0xF3, 0x03, 0x01, 0x0A, 0xEB, 0xCF, 0xAB, 0x96, 0x91, 0xB3, 0xCF, 0xFA, - 0x0E, 0x24, 0x2D, 0x4C, 0x4C, 0x4E, 0x36, 0x2E, 0x16, 0x16, 0x0A, 0x15, 0x0C, 0x1C, 0x10, 0x19, - 0x09, 0x0C, 0x00, 0x07, 0xFD, 0x08, 0x04, 0x15, 0x0E, 0x18, 0x0F, 0x1E, 0x1E, 0x31, 0x28, 0x11, - 0xFF, 0x07, 0xFF, 0x17, 0x06, 0xFF, 0x02, 0xFC, 0xF8, 0xEB, 0xF7, 0x5D, 0xA7, 0x11, 0x12, 0x09, - 0x02, 0x00, 0x03, 0xFC, 0xF3, 0x04, 0xFF, 0x08, 0xEE, 0xD7, 0xB0, 0x97, 0x90, 0xB2, 0xCE, 0xFB, - 0x0F, 0x25, 0x30, 0x51, 0x56, 0x59, 0x3F, 0x31, 0x1C, 0x18, 0x0A, 0x17, 0x0D, 0x1B, 0x11, 0x19, - 0x0A, 0x0B, 0x00, 0x06, 0xFE, 0x07, 0x03, 0x12, 0x0A, 0x12, 0x09, 0x17, 0x18, 0x28, 0x1D, 0x11, - 0xFF, 0x09, 0x06, 0x17, 0x07, 0xFF, 0x02, 0xFD, 0xF7, 0xEA, 0xEE, 0x50, 0xB6, 0x12, 0x12, 0x0A, - 0x02, 0x00, 0x04, 0xFA, 0xF4, 0x07, 0x02, 0x0C, 0xF3, 0xDB, 0xB4, 0x98, 0x8E, 0xAC, 0xD4, 0x01, - 0x10, 0x27, 0x34, 0x56, 0x5D, 0x63, 0x47, 0x37, 0x1D, 0x1A, 0x0D, 0x17, 0x0D, 0x1A, 0x10, 0x18, - 0x08, 0x0B, 0x00, 0x06, 0xFD, 0x08, 0x02, 0x11, 0x07, 0x0D, 0x05, 0x10, 0x13, 0x25, 0x18, 0x11, - 0xFC, 0x08, 0x06, 0x17, 0x07, 0x01, 0x05, 0xFE, 0xF9, 0xED, 0xF7, 0x50, 0xA9, 0x12, 0x13, 0x09, - 0x01, 0xFF, 0x04, 0xF9, 0xF0, 0xFA, 0xF6, 0x00, 0xF1, 0xD7, 0xB6, 0x98, 0x88, 0xAA, 0xD3, 0xFB, - 0x12, 0x28, 0x36, 0x5B, 0x63, 0x69, 0x4B, 0x3A, 0x20, 0x1A, 0x0D, 0x18, 0x0E, 0x1B, 0x10, 0x17, - 0x08, 0x0B, 0xFE, 0x07, 0xFB, 0x07, 0x02, 0x11, 0x04, 0x0A, 0xFD, 0x0B, 0x10, 0x21, 0x16, 0x0D, - 0xFC, 0x08, 0x06, 0x17, 0x05, 0xFC, 0x00, 0xFC, 0xF6, 0xEA, 0xED, 0x50, 0xB7, 0x12, 0x12, 0x09, - 0x01, 0x00, 0x04, 0xF9, 0xF0, 0xFB, 0xF9, 0x0A, 0xF2, 0xD8, 0xB6, 0x9C, 0x87, 0xA9, 0xD4, 0x03, - 0x12, 0x2A, 0x3D, 0x5F, 0x6B, 0x6F, 0x52, 0x3D, 0x23, 0x1D, 0x0D, 0x19, 0x0E, 0x1B, 0x0F, 0x18, - 0x07, 0x0A, 0xFF, 0x07, 0xFD, 0x07, 0x00, 0x0D, 0x02, 0x07, 0xFA, 0x08, 0x0B, 0x1D, 0x13, 0x0B, - 0xFA, 0x07, 0x01, 0x19, 0x07, 0x01, 0x04, 0xFE, 0xFA, 0xED, 0xF8, 0x5D, 0xBA, 0x13, 0x14, 0x0B, - 0x02, 0x00, 0x02, 0xFC, 0xF4, 0x04, 0xFF, 0x0E, 0xF6, 0xD9, 0xB3, 0x9C, 0x86, 0xA9, 0xD4, 0x03, - 0x12, 0x2B, 0x3F, 0x68, 0x6E, 0x73, 0x56, 0x3F, 0x25, 0x1E, 0x0F, 0x19, 0x0F, 0x1B, 0x0E, 0x16, - 0x07, 0x0B, 0xFF, 0x06, 0xFD, 0x06, 0xFF, 0x0C, 0x00, 0x07, 0xF8, 0x05, 0x09, 0x1E, 0x16, 0x0D, - 0xFF, 0x09, 0x07, 0x17, 0x06, 0xFD, 0x00, 0xFC, 0xF7, 0xEB, 0xF5, 0x4F, 0xBB, 0x10, 0x12, 0x09, - 0x03, 0x00, 0x04, 0xFB, 0xF5, 0x04, 0x01, 0x10, 0xF9, 0xDC, 0xB4, 0x9D, 0x85, 0xA9, 0xD4, 0x03, - 0x14, 0x2C, 0x42, 0x6B, 0x72, 0x79, 0x5B, 0x43, 0x26, 0x1F, 0x10, 0x1A, 0x0E, 0x1A, 0x0D, 0x15, - 0x06, 0x0B, 0xFF, 0x07, 0xFC, 0x05, 0xFE, 0x0B, 0xFE, 0x05, 0xF5, 0x02, 0x06, 0x1C, 0x13, 0x0E, - 0xFD, 0x0A, 0x08, 0x19, 0x09, 0x03, 0x06, 0x01, 0xFC, 0xF0, 0xF9, 0x5C, 0xC0, 0x12, 0x13, 0x0B, - 0x02, 0x00, 0x00, 0xFB, 0xF3, 0xFF, 0x01, 0x11, 0xFC, 0xDC, 0xB6, 0x9D, 0x86, 0xA8, 0xD3, 0x03, - 0x14, 0x2D, 0x42, 0x6E, 0x75, 0x7C, 0x5E, 0x45, 0x28, 0x20, 0x10, 0x1A, 0x0D, 0x1A, 0x0D, 0x14, - 0x06, 0x0C, 0xFF, 0x06, 0xFC, 0x05, 0xFD, 0x0A, 0xFD, 0x02, 0xF2, 0x00, 0x05, 0x21, 0x1A, 0x10, - 0xFF, 0x06, 0x04, 0x17, 0x07, 0xFE, 0x00, 0xFC, 0xF6, 0xEB, 0xF5, 0x4D, 0xB2, 0x0D, 0x10, 0x0A, - 0x03, 0x03, 0x06, 0xFD, 0xF6, 0x03, 0x02, 0x11, 0xFC, 0xDE, 0xB6, 0x9D, 0x85, 0xA8, 0xD2, 0x03, - 0x15, 0x2E, 0x43, 0x6F, 0x78, 0x7F, 0x61, 0x48, 0x29, 0x21, 0x10, 0x1A, 0x0E, 0x1A, 0x0C, 0x14, - 0x05, 0x0A, 0xFF, 0x06, 0xFB, 0x04, 0xFD, 0x09, 0xFC, 0xFF, 0xF0, 0xFD, 0x02, 0x1D, 0x19, 0x0E, - 0xFD, 0x05, 0xFF, 0x1A, 0x0A, 0x04, 0x07, 0x01, 0xFC, 0xF0, 0xF9, 0x5C, 0xC8, 0x11, 0x11, 0x08, - 0x01, 0x00, 0x01, 0xFA, 0xF2, 0xFE, 0x01, 0x11, 0xFC, 0xDD, 0xB7, 0x9F, 0x86, 0xA8, 0xD2, 0x03, - 0x15, 0x2E, 0x45, 0x72, 0x7A, 0x7F, 0x63, 0x48, 0x2B, 0x22, 0x11, 0x1B, 0x0E, 0x1A, 0x0C, 0x13, - 0x05, 0x0A, 0xFE, 0x06, 0xFA, 0x04, 0xFD, 0x08, 0xFB, 0xFD, 0xED, 0xFA, 0x01, 0x1F, 0x1E, 0x16, - 0x05, 0x0A, 0x02, 0x19, 0x08, 0xFE, 0x00, 0xFB, 0xF4, 0xE9, 0xEC, 0x48, 0x9C, 0x08, 0x0C, 0x05, - 0x00, 0x04, 0x0A, 0x02, 0xF8, 0x02, 0x01, 0x10, 0xFA, 0xDC, 0xB6, 0x9F, 0x87, 0xA7, 0xD2, 0x03, - 0x16, 0x30, 0x46, 0x73, 0x7C, 0x7F, 0x64, 0x49, 0x2B, 0x22, 0x11, 0x1B, 0x0E, 0x18, 0x0A, 0x12, - 0x04, 0x0A, 0xFB, 0x05, 0xFB, 0x04, 0xFC, 0x08, 0xF9, 0xFC, 0xEA, 0xF6, 0xFF, 0x1C, 0x1C, 0x13, - 0x04, 0x0A, 0x08, 0x1B, 0x0C, 0x03, 0x05, 0x00, 0xFA, 0xED, 0xF7, 0x4B, 0xB0, 0x0D, 0x0F, 0x06, - 0x01, 0x01, 0x04, 0xFA, 0xF7, 0xFE, 0xFB, 0x0D, 0xF7, 0xDD, 0xB5, 0x9C, 0x87, 0xA8, 0xD2, 0x03, - 0x16, 0x30, 0x47, 0x74, 0x7D, 0x7F, 0x63, 0x4A, 0x2C, 0x23, 0x12, 0x1B, 0x0E, 0x18, 0x0A, 0x11, - 0x03, 0x09, 0xFD, 0x05, 0xFB, 0x05, 0xFC, 0x07, 0xF9, 0xF8, 0xE8, 0xF4, 0xFD, 0x1E, 0x21, 0x18, - 0x06, 0x0A, 0x01, 0x18, 0x07, 0xFD, 0x00, 0xFC, 0xF7, 0xEB, 0xF6, 0x46, 0xA8, 0x02, 0x05, 0x02, - 0xFF, 0x04, 0x0B, 0x05, 0xFA, 0x04, 0xFD, 0x0B, 0xF4, 0xDA, 0xB5, 0x9B, 0x88, 0xA8, 0xD2, 0x03, - 0x17, 0x32, 0x48, 0x75, 0x7E, 0x7F, 0x65, 0x4A, 0x2C, 0x23, 0x12, 0x1B, 0x0F, 0x17, 0x0A, 0x10, - 0x03, 0x0A, 0xFD, 0x05, 0xFB, 0x05, 0xFC, 0x08, 0xF8, 0xF6, 0xE6, 0xF0, 0xFB, 0x1C, 0x1E, 0x18, - 0x04, 0x09, 0x01, 0x1B, 0x09, 0x03, 0x05, 0x01, 0xFC, 0xF0, 0xF9, 0x4C, 0xC8, 0x0D, 0x0C, 0x06, - 0x01, 0x02, 0x03, 0xFD, 0xF6, 0xFE, 0xF9, 0x07, 0xF3, 0xD7, 0xB5, 0x9B, 0x89, 0xA9, 0xD2, 0x04, - 0x18, 0x32, 0x49, 0x77, 0x7F, 0x7F, 0x5F, 0x4B, 0x2C, 0x21, 0x12, 0x1B, 0x0E, 0x16, 0x09, 0x10, - 0x02, 0x08, 0xFB, 0x05, 0xFB, 0x05, 0xFD, 0x08, 0xF8, 0xF4, 0xE2, 0xEE, 0xF9, 0x1E, 0x22, 0x1C, - 0x09, 0x0B, 0x06, 0x1A, 0x06, 0xFC, 0xFF, 0xFC, 0xF8, 0xEE, 0xF7, 0x49, 0xB9, 0xFF, 0x00, 0xFF, - 0xFE, 0x05, 0x0C, 0x08, 0xFD, 0x06, 0xF9, 0x04, 0xF3, 0xD9, 0xB8, 0x9A, 0x8F, 0xAA, 0xD3, 0x05, - 0x18, 0x33, 0x4A, 0x77, 0x7F, 0x7F, 0x65, 0x4B, 0x2C, 0x22, 0x11, 0x1B, 0x0E, 0x15, 0x08, 0x0E, - 0x02, 0x09, 0xFA, 0x05, 0xFB, 0x06, 0xFD, 0x07, 0xF7, 0xF3, 0xDF, 0xEC, 0xF4, 0x1C, 0x1F, 0x19, - 0x08, 0x0A, 0x08, 0x1A, 0x09, 0x00, 0x06, 0x03, 0xFE, 0xF4, 0xFC, 0x58, 0xDB, 0x0B, 0x0A, 0x06, - 0x01, 0x03, 0x03, 0xFC, 0xF5, 0xFA, 0xF4, 0xFF, 0xF1, 0xD8, 0xB8, 0x9C, 0x92, 0xB2, 0xD5, 0x06, - 0x1A, 0x35, 0x4B, 0x78, 0x7F, 0x7F, 0x65, 0x4A, 0x2C, 0x22, 0x12, 0x19, 0x09, 0x12, 0x06, 0x0E, - 0x03, 0x0B, 0xFF, 0x08, 0xFD, 0x07, 0xFD, 0x08, 0xF6, 0xEE, 0xDC, 0xE7, 0xF0, 0x16, 0x1E, 0x1C, - 0x0C, 0x0C, 0x0A, 0x1A, 0x09, 0xFC, 0xFE, 0xFB, 0xF6, 0xEC, 0xEF, 0x44, 0xCB, 0xFF, 0x00, 0x00, - 0xFE, 0x04, 0x09, 0x04, 0xFA, 0xFE, 0xF2, 0xFF, 0xEF, 0xD7, 0xB9, 0x9E, 0x96, 0xB4, 0xD7, 0x07, - 0x1B, 0x36, 0x4C, 0x77, 0x7F, 0x7F, 0x63, 0x4B, 0x2B, 0x22, 0x11, 0x18, 0x0A, 0x11, 0x05, 0x0E, - 0x02, 0x0A, 0x00, 0x09, 0xFE, 0x07, 0xFD, 0x08, 0xF6, 0xED, 0xD9, 0xE1, 0xEE, 0x0D, 0x1B, 0x19, - 0x0A, 0x0A, 0x0A, 0x1C, 0x08, 0x01, 0x04, 0x02, 0xFE, 0xF4, 0xFD, 0x55, 0xE1, 0x07, 0x06, 0x03, - 0x00, 0x04, 0x07, 0x01, 0xFA, 0xFF, 0xF0, 0xFC, 0xEF, 0xD5, 0xB2, 0xA0, 0x98, 0xB9, 0xD9, 0x08, - 0x1D, 0x37, 0x4F, 0x77, 0x7E, 0x7F, 0x64, 0x49, 0x29, 0x1D, 0x0A, 0x0F, 0x03, 0x0D, 0x05, 0x10, - 0x05, 0x0E, 0x03, 0x0D, 0x02, 0x0C, 0x01, 0x09, 0xF7, 0xED, 0xD7, 0xDE, 0xEB, 0x09, 0x18, 0x1A, - 0x0D, 0x0D, 0x0F, 0x1C, 0x08, 0xFC, 0xFF, 0xFC, 0xF7, 0xED, 0xEF, 0x42, 0xD4, 0xFE, 0xFF, 0xFE, - 0xFE, 0x05, 0x0C, 0x08, 0xFE, 0x01, 0xF3, 0xFC, 0xEC, 0xD4, 0xB3, 0xA6, 0x9B, 0xBC, 0xDC, 0x0B, - 0x1F, 0x39, 0x4F, 0x77, 0x7C, 0x7F, 0x63, 0x47, 0x29, 0x1D, 0x09, 0x0E, 0x03, 0x0D, 0x04, 0x11, - 0x05, 0x0F, 0x03, 0x0E, 0x04, 0x0E, 0x01, 0x09, 0xF7, 0xEB, 0xD3, 0xD8, 0xDF, 0x05, 0x10, 0x17, - 0x0A, 0x0B, 0x0E, 0x1C, 0x09, 0xFF, 0x03, 0x01, 0xFE, 0xF6, 0xFD, 0x54, 0xE6, 0x06, 0x05, 0x02, - 0xFF, 0x03, 0x05, 0x01, 0xFC, 0xFF, 0xF3, 0xFB, 0xEC, 0xD6, 0xB9, 0xA9, 0xA0, 0xC0, 0xE0, 0x0E, - 0x21, 0x3B, 0x51, 0x76, 0x7B, 0x7F, 0x5E, 0x3D, 0x19, 0x0E, 0x03, 0x10, 0x06, 0x11, 0x05, 0x0E, - 0x03, 0x0D, 0x03, 0x0C, 0x02, 0x0C, 0x02, 0x0D, 0xFB, 0xF6, 0xE0, 0xE1, 0xE0, 0x01, 0x0D, 0x16, - 0x0C, 0x11, 0x0B, 0x1A, 0x07, 0xFD, 0xFF, 0xFD, 0xF8, 0xED, 0xF5, 0x3F, 0xD9, 0xFE, 0x00, 0xFE, - 0xFE, 0x05, 0x09, 0x07, 0x00, 0x02, 0xF2, 0xFB, 0xED, 0xD8, 0xBB, 0xAD, 0xA6, 0xC5, 0xE5, 0x11, - 0x25, 0x3D, 0x52, 0x76, 0x77, 0x7C, 0x5B, 0x3B, 0x17, 0x0C, 0x03, 0x10, 0x06, 0x11, 0x06, 0x0E, - 0x03, 0x0D, 0x03, 0x0C, 0x02, 0x0D, 0x03, 0x0E, 0xFC, 0xF5, 0xDD, 0xDD, 0xDC, 0xFC, 0x08, 0x10, - 0x09, 0x0E, 0x0A, 0x19, 0x07, 0xFD, 0x03, 0x02, 0xFF, 0xF5, 0xFE, 0x4F, 0xEA, 0x07, 0x06, 0x02, - 0xFF, 0x03, 0x05, 0x00, 0xFD, 0x02, 0xF8, 0x01, 0xF2, 0xDC, 0xBE, 0xB4, 0xAC, 0xCB, 0xE8, 0x16, - 0x2D, 0x40, 0x52, 0x75, 0x71, 0x6A, 0x46, 0x28, 0x0B, 0x0C, 0x05, 0x11, 0x05, 0x0C, 0x03, 0x0E, - 0x04, 0x0E, 0x02, 0x0B, 0x02, 0x0B, 0x01, 0x0A, 0xFC, 0x04, 0xF2, 0xEF, 0xE4, 0xFB, 0x04, 0x0F, - 0x0A, 0x11, 0x11, 0x1C, 0x08, 0xFD, 0xFF, 0xFD, 0xF8, 0xEF, 0xF0, 0x3B, 0xDB, 0xFC, 0xFD, 0xFD, - 0xFC, 0x02, 0x08, 0x04, 0xFE, 0x03, 0xF8, 0x03, 0xF3, 0xDF, 0xC3, 0xBD, 0xB2, 0xD1, 0xED, 0x1C, - 0x31, 0x49, 0x53, 0x73, 0x70, 0x65, 0x43, 0x24, 0x08, 0x0C, 0x04, 0x11, 0x05, 0x0D, 0x03, 0x0E, - 0x04, 0x0F, 0x03, 0x0C, 0x03, 0x0C, 0x02, 0x0A, 0xFD, 0x03, 0xF1, 0xEB, 0xE0, 0xF6, 0xFE, 0x0B, - 0x06, 0x0E, 0x0C, 0x18, 0x04, 0xFB, 0xFE, 0xFF, 0xFC, 0xF5, 0xFF, 0x4B, 0xEF, 0x06, 0x05, 0x01, - 0xFF, 0x03, 0x05, 0x04, 0x00, 0x04, 0xF6, 0x01, 0xF3, 0xE4, 0xC9, 0xC3, 0xBA, 0xD6, 0xF3, 0x1F, - 0x37, 0x4C, 0x55, 0x72, 0x6A, 0x4F, 0x2A, 0x11, 0xFA, 0x08, 0x04, 0x12, 0x06, 0x0C, 0x03, 0x0F, - 0x03, 0x0C, 0x00, 0x08, 0x02, 0x09, 0x01, 0x0B, 0x04, 0x13, 0x03, 0x00, 0xED, 0xF6, 0xFB, 0x06, - 0xFF, 0x0C, 0x0D, 0x1C, 0x0A, 0xFE, 0x00, 0xFE, 0xF9, 0xF0, 0xF1, 0x39, 0xDB, 0xF7, 0xF8, 0xF9, - 0xFA, 0x00, 0x08, 0x07, 0x01, 0x05, 0xF6, 0x02, 0xF3, 0xEA, 0xD1, 0xCA, 0xC4, 0xDB, 0xFA, 0x24, - 0x3B, 0x4F, 0x57, 0x71, 0x67, 0x4B, 0x2B, 0x0F, 0xF8, 0x07, 0x03, 0x11, 0x05, 0x0D, 0x03, 0x0E, - 0x05, 0x0C, 0x01, 0x0A, 0x02, 0x0B, 0x01, 0x0D, 0x03, 0x13, 0x04, 0xFF, 0xEB, 0xF4, 0xF8, 0x03, - 0xFC, 0x09, 0x0A, 0x15, 0x03, 0xF7, 0xFA, 0xFF, 0xFB, 0xF5, 0xFD, 0x48, 0xF5, 0x08, 0x06, 0x04, - 0x01, 0x03, 0x02, 0x01, 0xFE, 0x01, 0xF2, 0x01, 0xF5, 0xF0, 0xD6, 0xCF, 0xCC, 0xE8, 0x00, 0x2D, - 0x42, 0x54, 0x56, 0x61, 0x48, 0x31, 0x10, 0x08, 0xF5, 0x05, 0x02, 0x10, 0x06, 0x10, 0x05, 0x0E, - 0x03, 0x0A, 0x00, 0x08, 0x00, 0x08, 0xFF, 0x08, 0x04, 0x15, 0x09, 0x13, 0x04, 0x0D, 0xFE, 0xF0, - 0xE4, 0xF4, 0x02, 0x1A, 0x0C, 0xFF, 0x02, 0xFE, 0xFB, 0xF2, 0xF5, 0x35, 0xDF, 0xF4, 0xF6, 0xF8, - 0xFA, 0x01, 0x05, 0x05, 0xFE, 0x02, 0xF3, 0x04, 0xF7, 0xF3, 0xDC, 0xD7, 0xD5, 0xEE, 0x07, 0x35, - 0x48, 0x5A, 0x58, 0x5E, 0x41, 0x29, 0x08, 0x02, 0xF3, 0x05, 0x01, 0x0F, 0x05, 0x0E, 0x05, 0x0F, - 0x04, 0x09, 0x00, 0x0A, 0x01, 0x08, 0xFF, 0x09, 0x05, 0x16, 0x0B, 0x14, 0x04, 0x0D, 0xFE, 0xEE, - 0xE2, 0xEF, 0xF8, 0x11, 0x01, 0xF9, 0xFE, 0xFF, 0xFC, 0xF6, 0xFD, 0x42, 0xF9, 0x05, 0x04, 0x03, - 0x00, 0x02, 0xFE, 0xFF, 0x00, 0x04, 0xF6, 0x06, 0xFA, 0xF7, 0xE2, 0xDD, 0xDD, 0xF6, 0x15, 0x3C, - 0x50, 0x5F, 0x57, 0x45, 0x22, 0x09, 0xF1, 0xFE, 0xFB, 0x07, 0x02, 0x0F, 0x06, 0x0F, 0x04, 0x0E, - 0x03, 0x0A, 0xFF, 0x07, 0x00, 0x08, 0x00, 0x09, 0x03, 0x14, 0x0A, 0x16, 0x0A, 0x10, 0x00, 0xEF, - 0xE1, 0xF4, 0x04, 0x1A, 0x0C, 0x01, 0x01, 0x00, 0xFC, 0xF4, 0xFB, 0x35, 0xE4, 0xF9, 0xFB, 0xFC, - 0xFC, 0x04, 0x06, 0x05, 0x03, 0x07, 0xF8, 0x07, 0xFB, 0xFB, 0xE5, 0xE3, 0xE2, 0xFE, 0x1F, 0x4B, - 0x58, 0x68, 0x5A, 0x42, 0x1B, 0xFE, 0xE7, 0xF9, 0xF8, 0x05, 0x00, 0x0E, 0x04, 0x0E, 0x03, 0x0E, - 0x02, 0x0A, 0xFF, 0x07, 0x00, 0x0A, 0xFF, 0x07, 0x04, 0x16, 0x0D, 0x1B, 0x0B, 0x11, 0xFF, 0xEF, - 0xDF, 0xEF, 0xF8, 0x0E, 0xFF, 0xF5, 0xFC, 0xFD, 0xFA, 0xF4, 0xFC, 0x33, 0xFC, 0x06, 0x04, 0x01, - 0xFF, 0x03, 0x04, 0x02, 0x01, 0x06, 0xF9, 0x09, 0xFD, 0xFD, 0xE8, 0xE7, 0xE6, 0x03, 0x25, 0x52, - 0x5A, 0x53, 0x39, 0x1C, 0xFF, 0xFB, 0xED, 0xFE, 0xFC, 0x06, 0x04, 0x11, 0x08, 0x11, 0x04, 0x0C, - 0x03, 0x0A, 0xFE, 0x06, 0xFE, 0x07, 0xFC, 0x08, 0x04, 0x15, 0x0A, 0x16, 0x07, 0x11, 0x00, 0xEE, - 0xE0, 0xF3, 0x01, 0x16, 0x0B, 0x03, 0x02, 0x00, 0xFE, 0xF7, 0xFE, 0x32, 0xED, 0xFE, 0xFF, 0xFE, - 0xFF, 0x08, 0x0B, 0x0A, 0x07, 0x08, 0xFE, 0x0C, 0x00, 0x00, 0xEA, 0xE9, 0xE7, 0x07, 0x29, 0x5A, - 0x62, 0x5B, 0x3E, 0x19, 0xF7, 0xED, 0xE3, 0xF7, 0xF6, 0x04, 0x01, 0x10, 0x07, 0x10, 0x04, 0x0C, - 0x02, 0x0B, 0xFD, 0x06, 0xFE, 0x06, 0xFC, 0x08, 0x06, 0x18, 0x0E, 0x1B, 0x0D, 0x13, 0x00, 0xF0, - 0xDF, 0xF0, 0xFC, 0x0E, 0x01, 0xF6, 0xF8, 0xF8, 0xF5, 0xEF, 0xEF, 0x22, 0xF6, 0x03, 0x01, 0xFF, - 0xFE, 0x01, 0x00, 0xFE, 0x00, 0x08, 0x03, 0x0F, 0x02, 0x02, 0xEB, 0xE8, 0xE6, 0x08, 0x2D, 0x5E, - 0x61, 0x4D, 0x2E, 0x10, 0xF1, 0xFB, 0xF1, 0x01, 0x01, 0x0D, 0x06, 0x10, 0x08, 0x11, 0x06, 0x0C, - 0x02, 0x09, 0x00, 0x07, 0xFC, 0x05, 0xFB, 0x06, 0x03, 0x12, 0x08, 0x13, 0x06, 0x0F, 0xFF, 0xF0, - 0xE4, 0xF5, 0xFC, 0x10, 0x05, 0xFD, 0x01, 0x04, 0x00, 0x01, 0x07, 0x35, 0xF6, 0x03, 0x03, 0x01, - 0x00, 0x06, 0x07, 0x05, 0x0A, 0x11, 0x0C, 0x18, 0x05, 0x03, 0xEC, 0xE7, 0xE3, 0x08, 0x30, 0x63, - 0x69, 0x4F, 0x2F, 0x0E, 0xEB, 0xED, 0xE4, 0xFB, 0xFC, 0x0D, 0x05, 0x0F, 0x06, 0x10, 0x05, 0x0C, - 0x02, 0x0A, 0x01, 0x08, 0xFF, 0x05, 0xFB, 0x07, 0x04, 0x15, 0x0C, 0x18, 0x0C, 0x12, 0x00, 0xF4, - 0xEA, 0xFA, 0x02, 0x14, 0x06, 0xFD, 0xFE, 0xFC, 0xF9, 0xF0, 0xEC, 0x15, 0xFB, 0x08, 0x07, 0x05, - 0x05, 0x09, 0x0A, 0x0B, 0x0F, 0x1A, 0x12, 0x1C, 0x07, 0x06, 0xED, 0xE5, 0xE3, 0x09, 0x33, 0x6A, - 0x6A, 0x54, 0x30, 0x0E, 0xE6, 0xE5, 0xE0, 0xF7, 0xFC, 0x0B, 0x03, 0x0F, 0x06, 0x0F, 0x06, 0x0C, - 0x01, 0x0A, 0x01, 0x07, 0xFC, 0x05, 0xFC, 0x08, 0x05, 0x18, 0x10, 0x1C, 0x0F, 0x13, 0x02, 0xF6, - 0xEE, 0x04, 0x0C, 0x1E, 0x0D, 0x00, 0xFA, 0xF4, 0xED, 0xDB, 0xCF, 0xF3, 0xFE, 0x0D, 0x0B, 0x09, - 0x09, 0x0D, 0x0C, 0x0D, 0x13, 0x20, 0x19, 0x21, 0x0B, 0x08, 0xEE, 0xE4, 0xE0, 0x0A, 0x3D, 0x74, - 0x6E, 0x5C, 0x2F, 0x0B, 0xE2, 0xDD, 0xDB, 0xF3, 0xFA, 0x0A, 0x03, 0x0F, 0x06, 0x0F, 0x05, 0x0C, - 0x02, 0x0B, 0x01, 0x08, 0xFD, 0x06, 0xFD, 0x08, 0x06, 0x18, 0x12, 0x1E, 0x12, 0x14, 0x05, 0xFA, - 0xF5, 0x0C, 0x16, 0x2E, 0x16, 0x0B, 0xFA, 0xEB, 0xD9, 0xCA, 0xB6, 0xD1, 0x03, 0x11, 0x12, 0x0E, - 0x0D, 0x12, 0x0D, 0x0F, 0x16, 0x24, 0x1E, 0x26, 0x0F, 0x0A, 0xEF, 0xE3, 0xDE, 0x0B, 0x40, 0x78, - 0x74, 0x62, 0x35, 0x0C, 0xDF, 0xD8, 0xD6, 0xF0, 0xF9, 0x0B, 0x02, 0x0E, 0x06, 0x0F, 0x05, 0x0D, - 0x02, 0x0B, 0x01, 0x09, 0xFD, 0x06, 0xFD, 0x08, 0x06, 0x19, 0x12, 0x1E, 0x12, 0x16, 0x05, 0xFE, - 0xF8, 0x13, 0x22, 0x41, 0x25, 0x14, 0xF6, 0xDF, 0xCC, 0xB0, 0x9F, 0xBA, 0x0D, 0x1A, 0x1A, 0x17, - 0x14, 0x15, 0x0E, 0x0F, 0x1A, 0x29, 0x24, 0x2A, 0x11, 0x0D, 0xF0, 0xE1, 0xDD, 0x0B, 0x43, 0x7D, - 0x79, 0x6B, 0x3C, 0x0E, 0xDC, 0xCF, 0xCE, 0xEF, 0xF7, 0x0A, 0x02, 0x0E, 0x06, 0x0F, 0x04, 0x0C, - 0x02, 0x0A, 0x01, 0x0A, 0xFD, 0x06, 0xFF, 0x08, 0x06, 0x19, 0x12, 0x20, 0x11, 0x17, 0x07, 0x02, - 0xFE, 0x25, 0x35, 0x55, 0x39, 0x1C, 0xEF, 0xD3, 0xB3, 0x9D, 0x80, 0x8C, 0x2F, 0x36, 0x30, 0x2C, - 0x28, 0x24, 0x14, 0x13, 0x22, 0x37, 0x32, 0x35, 0x1C, 0x0D, 0xF1, 0xDD, 0xD8, 0x0B, 0x4A, 0x7F, - 0x7F, 0x78, 0x4C, 0x14, 0xD6, 0xC9, 0xC5, 0xE9, 0xF4, 0x09, 0x02, 0x0F, 0x04, 0x0F, 0x02, 0x0A, - 0x00, 0x0A, 0x00, 0x09, 0xFE, 0x07, 0xF9, 0x08, 0x04, 0x1A, 0x11, 0x1F, 0x0F, 0x18, 0x08, 0x0D, - 0x17, 0x4B, 0x7F, 0x7F, 0x6E, 0x44, 0xE4, 0xAD, 0x8C, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x98, 0x9E, 0xA2, 0xA3, 0xA3, 0xA1, 0x9D, 0x95, 0x8B, 0x7F, 0x67, 0xA0, 0xB8, 0xBC, 0xBE, 0xC3, + 0xB9, 0xC8, 0xC8, 0xC7, 0xC4, 0xC0, 0xBD, 0xBB, 0xBA, 0xBB, 0xBB, 0xBB, 0xB9, 0xB8, 0xB9, 0xB8, + 0xB5, 0xB3, 0xB1, 0xAF, 0xAF, 0xAF, 0xAF, 0xB1, 0xB3, 0xB5, 0xB5, 0xB5, 0xB6, 0xB7, 0xB9, 0xBA, + 0xB9, 0xBC, 0xBF, 0xC2, 0xC5, 0xC5, 0xC4, 0xBF, 0xBD, 0xB5, 0xAD, 0xA4, 0x93, 0xF8, 0xE2, 0xD2, + 0xCE, 0xD6, 0xD6, 0xDF, 0xE2, 0xE4, 0xE4, 0xE4, 0xE4, 0xE3, 0xE3, 0xE4, 0xE3, 0xE3, 0xE3, 0xE3, + 0xE3, 0xE3, 0xE2, 0xE0, 0xDF, 0xDD, 0xDC, 0xDB, 0xDB, 0xDC, 0xDE, 0xDF, 0xDF, 0xDE, 0xDE, 0xDF, + 0xE0, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE4, 0xE3, 0xDF, 0xDA, 0xD3, 0xC9, 0xC7, 0xCB, 0xD7, 0xBE, + 0xA9, 0xA6, 0xA5, 0xA3, 0xA7, 0xB1, 0xB3, 0xB6, 0xB8, 0xB8, 0xB6, 0xB4, 0xB0, 0xAF, 0xAF, 0xB0, + 0xB6, 0xB5, 0xB6, 0xB8, 0xB8, 0xB9, 0xB7, 0xB5, 0xB3, 0xB1, 0xB0, 0xAF, 0xAF, 0xAF, 0xAE, 0xAC, + 0xAE, 0xB0, 0xAF, 0xAC, 0xAD, 0xAD, 0xAF, 0xB1, 0xB3, 0xB1, 0xAC, 0xA9, 0xA9, 0x9F, 0x98, 0x97, + 0x90, 0xB3, 0xA2, 0x99, 0x94, 0x95, 0x97, 0x9B, 0x9B, 0x9E, 0x9F, 0x9F, 0x9E, 0x9E, 0xA0, 0x9F, + 0x9F, 0x9E, 0x9E, 0x9D, 0x9E, 0xA0, 0xA1, 0xA0, 0xA0, 0x9E, 0x9E, 0x9C, 0x9C, 0x9D, 0x9D, 0x9C, + 0x9A, 0x9A, 0x99, 0x99, 0x99, 0x9B, 0x9C, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9D, 0x9B, 0x99, 0x94, + 0x8F, 0x8C, 0x80, 0xA5, 0x93, 0x87, 0x7C, 0x75, 0x75, 0x76, 0x76, 0x78, 0x7B, 0x79, 0x79, 0x79, + 0x7B, 0x7D, 0x7A, 0x7C, 0x79, 0x78, 0x7D, 0x7A, 0x7D, 0x7E, 0x7D, 0x81, 0x7E, 0x7C, 0x7B, 0x75, + 0x79, 0x77, 0x75, 0x74, 0x72, 0x71, 0x74, 0x75, 0x74, 0x78, 0x79, 0x79, 0x7B, 0x7B, 0x7A, 0x7A, + 0x7D, 0x7F, 0x7F, 0x7D, 0x74, 0x48, 0x4A, 0x4B, 0x47, 0x3A, 0x31, 0x2D, 0x2D, 0x2E, 0x2F, 0x2D, + 0x2E, 0x2D, 0x2D, 0x30, 0x2E, 0x32, 0x2D, 0x2E, 0x32, 0x2D, 0x31, 0x37, 0x36, 0x3B, 0x36, 0x33, + 0x30, 0x27, 0x2E, 0x2B, 0x2B, 0x27, 0x24, 0x25, 0x29, 0x28, 0x28, 0x2D, 0x30, 0x31, 0x35, 0x36, + 0x37, 0x3D, 0x46, 0x4D, 0x4D, 0x43, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x56, 0x04, 0x6A, 0x04, 0x78, 0x04, + 0x9B, 0x04, 0x9C, 0x04, 0x6A, 0x04, 0x32, 0x04, 0x05, 0x04, 0xE0, 0x03, 0xC8, 0x03, 0xBB, 0x03, + 0xB0, 0x03, 0xA9, 0x03, 0xA0, 0x03, 0x9D, 0x03, 0x9A, 0x03, 0x9B, 0x03, 0xA0, 0x03, 0xA9, 0x03, + 0xB4, 0x03, 0xC8, 0x03, 0xDE, 0x03, 0xF4, 0x03, 0x04, 0x04, 0x04, 0x04, 0xF8, 0x03, 0xE1, 0x03, + 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0xBB, 0x04, 0xDD, 0x04, + 0xEB, 0x04, 0xFC, 0x04, 0xEA, 0x04, 0xAB, 0x04, 0x5B, 0x04, 0x19, 0x04, 0xEC, 0x03, 0xD1, 0x03, + 0xC4, 0x03, 0xBC, 0x03, 0xB8, 0x03, 0xB5, 0x03, 0xB2, 0x03, 0xB3, 0x03, 0xB5, 0x03, 0xB6, 0x03, + 0xBB, 0x03, 0xC2, 0x03, 0xCA, 0x03, 0xD7, 0x03, 0xE0, 0x03, 0xDF, 0x03, 0xD9, 0x03, 0xCB, 0x03, + 0xB0, 0x03, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x17, 0xFA, + 0xC3, 0xF9, 0xB0, 0xF8, 0xB9, 0xF9, 0xF2, 0xF9, 0x41, 0xFB, 0x06, 0xFD, 0xB9, 0xFE, 0xD7, 0xFE, + 0xD4, 0xFD, 0x2A, 0xFD, 0x0B, 0xFD, 0xB2, 0xFD, 0x06, 0xFE, 0x54, 0xFE, 0xBC, 0xFE, 0x12, 0xFF, + 0x03, 0xFF, 0x2F, 0xFF, 0x9F, 0xFE, 0x72, 0xFE, 0x11, 0xFE, 0xF0, 0xFD, 0x02, 0xFE, 0x07, 0xFE, + 0xEA, 0xFC, 0xA2, 0xFB, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, + 0x60, 0xF4, 0x19, 0xF4, 0xB0, 0xF2, 0x96, 0xF1, 0x97, 0xF0, 0x9D, 0xF2, 0x0A, 0xF5, 0x93, 0xF7, + 0x38, 0xF9, 0xF5, 0xF8, 0x31, 0xF9, 0xFD, 0xF8, 0xD7, 0xF8, 0x04, 0xF9, 0xE0, 0xF8, 0x05, 0xF9, + 0x50, 0xF9, 0xBB, 0xF8, 0x82, 0xF8, 0x15, 0xF8, 0x57, 0xF7, 0xD7, 0xF6, 0xD4, 0xF5, 0x7A, 0xF4, + 0x64, 0xF3, 0xED, 0xF2, 0x17, 0xF2, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x05, 0x00, 0x05, + 0x00, 0x05, 0xEB, 0x04, 0xCB, 0x04, 0x96, 0x04, 0x5A, 0x04, 0x33, 0x04, 0x1B, 0x04, 0x16, 0x04, + 0x17, 0x04, 0x1A, 0x04, 0x15, 0x04, 0x0E, 0x04, 0x02, 0x04, 0xEE, 0x03, 0xD8, 0x03, 0xCC, 0x03, + 0xC5, 0x03, 0xBC, 0x03, 0xBB, 0x03, 0xBC, 0x03, 0xC2, 0x03, 0xCD, 0x03, 0xDA, 0x03, 0xD6, 0x03, + 0xC7, 0x03, 0xBE, 0x03, 0xBD, 0x03, 0xBC, 0x03, 0xBE, 0x03, 0xBC, 0x03, 0xB9, 0x03, 0xB7, 0x03, + 0xBA, 0x03, 0xBD, 0x03, 0xC6, 0x03, 0xDA, 0x03, 0xEE, 0x03, 0x07, 0x04, 0x19, 0x04, 0x2E, 0x04, + 0x51, 0x04, 0x81, 0x04, 0xBF, 0x04, 0xF2, 0x04, 0x07, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, + 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x53, 0x04, 0x88, 0x04, 0x87, 0x04, 0x6D, 0x04, 0x4E, 0x04, + 0x36, 0x04, 0x1F, 0x04, 0x0E, 0x04, 0xFD, 0x03, 0xF4, 0x03, 0xED, 0x03, 0xE7, 0x03, 0xE6, 0x03, + 0xE1, 0x03, 0xE0, 0x03, 0xDC, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE1, 0x03, 0xDF, 0x03, 0xDE, 0x03, + 0xDF, 0x03, 0xE0, 0x03, 0xDF, 0x03, 0xE2, 0x03, 0xDF, 0x03, 0xE1, 0x03, 0xDD, 0x03, 0xDC, 0x03, + 0xD8, 0x03, 0xD5, 0x03, 0xD3, 0x03, 0xD1, 0x03, 0xD0, 0x03, 0xCF, 0x03, 0xD1, 0x03, 0xD8, 0x03, + 0xE4, 0x03, 0xEC, 0x03, 0xFA, 0x03, 0x05, 0x04, 0x16, 0x04, 0x19, 0x04, 0xF6, 0x03, 0x00, 0x05, + 0x00, 0x05, 0x00, 0x05, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x7B, 0x00, 0x62, 0x01, 0x53, 0x01, + 0xD0, 0xFF, 0xE0, 0xFF, 0xD4, 0xFF, 0xB7, 0x00, 0x3F, 0x02, 0x54, 0x03, 0x5C, 0x04, 0xE5, 0x05, + 0xA9, 0x05, 0xAD, 0x04, 0xF7, 0x02, 0x8B, 0x02, 0xA7, 0x02, 0x29, 0x03, 0x99, 0x02, 0x4E, 0x01, + 0xA2, 0x01, 0xC7, 0x00, 0xCC, 0x01, 0x0D, 0x02, 0x2F, 0x02, 0x41, 0x02, 0xBD, 0x02, 0xA6, 0x02, + 0x3D, 0x02, 0x3C, 0x02, 0x2A, 0x02, 0xB6, 0x00, 0x7E, 0x00, 0x7B, 0xFF, 0x97, 0xFF, 0x02, 0x00, + 0xA5, 0xFF, 0xD9, 0xFF, 0x13, 0x00, 0x42, 0x00, 0x21, 0x01, 0xEA, 0x00, 0x68, 0x01, 0x46, 0x00, + 0xFB, 0xFE, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x5F, 0x06, + 0x39, 0x0B, 0x18, 0x0E, 0x40, 0x0F, 0x33, 0x0F, 0x36, 0x0F, 0x20, 0x0E, 0x3B, 0x0D, 0xDC, 0x0C, + 0xD4, 0x0C, 0xFB, 0x0C, 0xFB, 0x0C, 0xB8, 0x0D, 0x5B, 0x0E, 0xBF, 0x0F, 0xA6, 0x0E, 0x60, 0x0E, + 0x5A, 0x0E, 0x6A, 0x0E, 0xD0, 0x0D, 0x7B, 0x0D, 0x24, 0x0E, 0xD0, 0x0E, 0x71, 0x0E, 0x28, 0x0E, + 0xF7, 0x0D, 0x8B, 0x0E, 0x75, 0x0E, 0xEC, 0x0E, 0x15, 0x0E, 0x32, 0x0D, 0xFE, 0x0B, 0x81, 0x0B, + 0xF1, 0x0A, 0x87, 0x09, 0x0B, 0x08, 0x3C, 0x07, 0x8E, 0x07, 0xCF, 0x06, 0x25, 0x06, 0xF2, 0x03, + 0x2D, 0x03, 0xC5, 0x00, 0x52, 0xFC, 0x00, 0x40, 0x00, 0x40, 0x00, 0x40, 0x2B, 0x7F, 0x7D, 0x69, + 0x59, 0x47, 0x1F, 0x18, 0x18, 0x80, 0x03, 0x0A, 0xFA, 0x05, 0xFC, 0x0E, 0x09, 0x1A, 0x0D, 0x12, + 0x0C, 0x0A, 0xF9, 0x09, 0x0A, 0x15, 0x0B, 0x19, 0x14, 0x22, 0x17, 0x22, 0x15, 0x25, 0x1A, 0x26, + 0x1B, 0x29, 0x16, 0x1F, 0x10, 0x1C, 0x12, 0x20, 0x0C, 0x0A, 0xFC, 0x10, 0x15, 0x2B, 0x24, 0x2C, + 0x19, 0x1C, 0x09, 0x11, 0x05, 0x14, 0x0A, 0x17, 0x0A, 0x17, 0x15, 0x2A, 0x2C, 0x40, 0x32, 0x25, + 0xFF, 0xF6, 0xE3, 0xE4, 0xEA, 0x03, 0x03, 0x21, 0x19, 0x22, 0x11, 0x19, 0x0E, 0x1D, 0x18, 0x2F, + 0x34, 0x4B, 0x3E, 0x3F, 0x7F, 0x04, 0xF1, 0xD7, 0xAF, 0xA6, 0x9A, 0x89, 0x80, 0x80, 0x48, 0x4B, + 0x47, 0x3A, 0x30, 0x22, 0x10, 0x11, 0x0E, 0x0B, 0xF8, 0x00, 0xF7, 0x05, 0x03, 0x14, 0x0F, 0x20, + 0x16, 0x18, 0x0E, 0x0D, 0xFF, 0x0C, 0x0C, 0x12, 0x09, 0x15, 0x0F, 0x16, 0x0E, 0x16, 0x0F, 0x1E, + 0x14, 0x1D, 0x14, 0x22, 0x15, 0x1F, 0x11, 0x1C, 0x15, 0x20, 0x13, 0x13, 0x09, 0x16, 0x14, 0x25, + 0x1A, 0x23, 0x13, 0x18, 0x0B, 0x14, 0x0A, 0x18, 0x0E, 0x1A, 0x10, 0x1B, 0x16, 0x26, 0x26, 0x34, + 0x26, 0x23, 0x06, 0x05, 0xF5, 0xFD, 0xFE, 0x12, 0x11, 0x20, 0x19, 0x21, 0x15, 0x1E, 0x15, 0x22, + 0x1F, 0x30, 0x35, 0x4C, 0x44, 0x41, 0x20, 0x03, 0xF4, 0xE9, 0xD7, 0xD3, 0xCC, 0xBF, 0xB5, 0xB3, + 0xFF, 0x35, 0x34, 0x2B, 0x21, 0x17, 0x0C, 0x10, 0x0B, 0x08, 0xF4, 0xFE, 0xF8, 0x06, 0x05, 0x14, + 0x12, 0x22, 0x18, 0x1A, 0x0E, 0x0D, 0x01, 0x0E, 0x0B, 0x12, 0x0A, 0x14, 0x0B, 0x12, 0x0B, 0x12, + 0x0B, 0x16, 0x0E, 0x18, 0x0F, 0x1E, 0x13, 0x1C, 0x11, 0x1C, 0x16, 0x20, 0x13, 0x17, 0x0E, 0x19, + 0x13, 0x1E, 0x16, 0x1E, 0x12, 0x18, 0x0C, 0x18, 0x10, 0x1A, 0x11, 0x1D, 0x14, 0x1D, 0x14, 0x24, + 0x20, 0x2B, 0x1D, 0x20, 0x0A, 0x0A, 0xFD, 0x0B, 0x07, 0x16, 0x15, 0x20, 0x19, 0x22, 0x17, 0x1F, + 0x16, 0x22, 0x20, 0x30, 0x36, 0x4A, 0x43, 0x40, 0x20, 0x02, 0xF3, 0xEE, 0xE4, 0xE3, 0xDC, 0xD2, + 0xC9, 0xCC, 0xF5, 0x25, 0x25, 0x1E, 0x16, 0x10, 0x0B, 0x0F, 0x0B, 0x07, 0xF4, 0xFC, 0xF7, 0x08, + 0x07, 0x15, 0x12, 0x21, 0x19, 0x1A, 0x0F, 0x0E, 0x02, 0x10, 0x0D, 0x13, 0x09, 0x14, 0x0A, 0x0E, + 0x05, 0x0B, 0x07, 0x13, 0x0A, 0x13, 0x0C, 0x19, 0x11, 0x1B, 0x11, 0x1D, 0x15, 0x20, 0x14, 0x1A, + 0x0F, 0x19, 0x12, 0x1C, 0x11, 0x16, 0x0E, 0x1A, 0x0F, 0x18, 0x11, 0x1D, 0x15, 0x1F, 0x13, 0x1C, + 0x15, 0x21, 0x1C, 0x23, 0x17, 0x1E, 0x0C, 0x16, 0x09, 0x14, 0x10, 0x1A, 0x16, 0x22, 0x19, 0x22, + 0x17, 0x21, 0x19, 0x23, 0x20, 0x2F, 0x34, 0x49, 0x41, 0x3D, 0x1E, 0x01, 0xF3, 0xF1, 0xEC, 0xED, + 0xE9, 0xE2, 0xDA, 0xE0, 0xEC, 0x19, 0x1A, 0x14, 0x0D, 0x09, 0x07, 0x0E, 0x09, 0x06, 0xF2, 0xFC, + 0xFD, 0x09, 0x0A, 0x18, 0x13, 0x1F, 0x18, 0x1A, 0x0E, 0x0E, 0x03, 0x0F, 0x0D, 0x13, 0x08, 0x11, + 0x07, 0x0A, 0x04, 0x0B, 0x04, 0x0F, 0x09, 0x11, 0x09, 0x17, 0x10, 0x1C, 0x11, 0x1C, 0x15, 0x1F, + 0x13, 0x1C, 0x12, 0x1C, 0x11, 0x17, 0x0E, 0x18, 0x0E, 0x19, 0x0C, 0x1B, 0x12, 0x20, 0x16, 0x20, + 0x15, 0x1D, 0x17, 0x1F, 0x18, 0x1D, 0x13, 0x1D, 0x0E, 0x1A, 0x0F, 0x18, 0x17, 0x1F, 0x19, 0x22, + 0x19, 0x21, 0x17, 0x21, 0x19, 0x24, 0x1F, 0x2E, 0x33, 0x43, 0x40, 0x3B, 0x1B, 0x02, 0xF2, 0xF2, + 0xF1, 0xF5, 0xF4, 0xEF, 0xE9, 0xF1, 0xE4, 0x0D, 0x0F, 0x0A, 0x06, 0x03, 0x05, 0x0D, 0x09, 0x06, + 0xF5, 0xFE, 0x00, 0x10, 0x0D, 0x18, 0x13, 0x20, 0x15, 0x17, 0x0B, 0x0E, 0x07, 0x12, 0x0D, 0x11, + 0x09, 0x10, 0x05, 0x08, 0xFC, 0x05, 0xFD, 0x09, 0x06, 0x0C, 0x08, 0x16, 0x10, 0x19, 0x10, 0x1D, + 0x13, 0x1D, 0x14, 0x1D, 0x14, 0x1B, 0x10, 0x16, 0x0C, 0x13, 0x0B, 0x17, 0x11, 0x1C, 0x15, 0x20, + 0x17, 0x21, 0x17, 0x1E, 0x15, 0x1D, 0x14, 0x17, 0x0F, 0x1C, 0x0F, 0x1E, 0x18, 0x21, 0x1F, 0x20, + 0x1B, 0x22, 0x18, 0x21, 0x17, 0x21, 0x1A, 0x24, 0x1F, 0x2C, 0x31, 0x40, 0x3A, 0x35, 0x1A, 0x00, + 0xF2, 0xF3, 0xF8, 0xFF, 0xFF, 0xFC, 0xF9, 0x00, 0xD7, 0x00, 0x03, 0x01, 0xFC, 0xFC, 0x01, 0x07, + 0x09, 0x08, 0xF7, 0x00, 0x01, 0x12, 0x0F, 0x1A, 0x14, 0x1C, 0x12, 0x13, 0x09, 0x0F, 0x09, 0x17, + 0x0D, 0x12, 0x08, 0x0F, 0x01, 0x0B, 0xFA, 0x08, 0xF8, 0x08, 0xFE, 0x09, 0x04, 0x12, 0x0B, 0x17, + 0x10, 0x1A, 0x12, 0x1C, 0x13, 0x1E, 0x15, 0x1B, 0x0F, 0x12, 0x07, 0x10, 0x0A, 0x18, 0x12, 0x1C, + 0x15, 0x21, 0x17, 0x22, 0x18, 0x21, 0x15, 0x18, 0x0D, 0x0F, 0x09, 0x17, 0x13, 0x25, 0x25, 0x2A, + 0x20, 0x22, 0x1F, 0x23, 0x17, 0x20, 0x16, 0x21, 0x1A, 0x24, 0x1E, 0x2A, 0x27, 0x39, 0x33, 0x2E, + 0x12, 0xFF, 0xF7, 0xF7, 0x00, 0x0A, 0x0D, 0x0B, 0x09, 0x11, 0xE9, 0x09, 0x0A, 0x07, 0x03, 0x03, + 0x06, 0x08, 0x0A, 0x07, 0xF8, 0x02, 0x02, 0x11, 0x0C, 0x19, 0x10, 0x1B, 0x0E, 0x15, 0x09, 0x11, + 0x08, 0x14, 0x0C, 0x15, 0x0B, 0x14, 0x0A, 0x10, 0x00, 0x0D, 0x01, 0x0B, 0x08, 0x0B, 0x08, 0x13, + 0x0A, 0x17, 0x0F, 0x19, 0x11, 0x1A, 0x12, 0x1C, 0x11, 0x1A, 0x0F, 0x16, 0x0B, 0x16, 0x0C, 0x17, + 0x0D, 0x18, 0x13, 0x1E, 0x15, 0x21, 0x19, 0x22, 0x16, 0x1B, 0x11, 0x14, 0x0E, 0x14, 0x10, 0x1D, + 0x14, 0x24, 0x16, 0x21, 0x11, 0x1D, 0x13, 0x1E, 0x15, 0x20, 0x19, 0x23, 0x1C, 0x29, 0x28, 0x38, + 0x33, 0x2E, 0x10, 0xFA, 0xF0, 0xF1, 0xF3, 0xFE, 0x00, 0xFF, 0xFD, 0xFF, 0xE0, 0x00, 0x01, 0xFE, + 0xFA, 0xFC, 0x00, 0x06, 0x09, 0x08, 0xFA, 0x06, 0x05, 0x14, 0x0D, 0x19, 0x10, 0x19, 0x0D, 0x13, + 0x0A, 0x13, 0x0B, 0x18, 0x0D, 0x15, 0x0A, 0x13, 0x07, 0x12, 0x05, 0x0F, 0x05, 0x0F, 0x08, 0x0C, + 0x07, 0x13, 0x0B, 0x14, 0x0D, 0x17, 0x0F, 0x16, 0x11, 0x1C, 0x10, 0x1A, 0x0F, 0x17, 0x0B, 0x15, + 0x0D, 0x1A, 0x10, 0x19, 0x12, 0x1E, 0x15, 0x23, 0x19, 0x24, 0x19, 0x1C, 0x10, 0x12, 0x0D, 0x19, + 0x13, 0x21, 0x19, 0x24, 0x1C, 0x1E, 0x12, 0x1C, 0x12, 0x1E, 0x17, 0x22, 0x19, 0x22, 0x1B, 0x28, + 0x24, 0x35, 0x2D, 0x28, 0x0C, 0xFE, 0xF8, 0xF8, 0xFD, 0x0C, 0x0D, 0x0B, 0x09, 0x0C, 0xEF, 0x08, + 0x09, 0x06, 0x04, 0x06, 0x09, 0x10, 0x10, 0x09, 0xF7, 0x00, 0x02, 0x14, 0x0C, 0x18, 0x0F, 0x17, + 0x0D, 0x18, 0x0C, 0x15, 0x0E, 0x17, 0x0B, 0x14, 0x0C, 0x18, 0x0E, 0x18, 0x09, 0x10, 0x07, 0x11, + 0x06, 0x10, 0x08, 0x16, 0x0B, 0x17, 0x0D, 0x1A, 0x10, 0x1C, 0x11, 0x1C, 0x0F, 0x19, 0x0E, 0x17, + 0x0C, 0x15, 0x0A, 0x14, 0x0C, 0x17, 0x0F, 0x1A, 0x13, 0x1F, 0x17, 0x1D, 0x13, 0x1A, 0x0F, 0x16, + 0x0D, 0x1C, 0x11, 0x1B, 0x10, 0x1B, 0x12, 0x1E, 0x12, 0x1D, 0x15, 0x21, 0x15, 0x22, 0x19, 0x22, + 0x19, 0x25, 0x23, 0x33, 0x2B, 0x22, 0x05, 0xF7, 0xF3, 0xEF, 0xEF, 0xFA, 0xFE, 0xFD, 0xFC, 0xFE, + 0xE2, 0xFC, 0xFE, 0xFD, 0xFB, 0xFD, 0x01, 0x06, 0x0B, 0x09, 0xF9, 0x02, 0x02, 0x13, 0x0D, 0x19, + 0x0F, 0x17, 0x0D, 0x16, 0x0B, 0x17, 0x0E, 0x1A, 0x0F, 0x16, 0x0B, 0x15, 0x0A, 0x15, 0x09, 0x11, + 0x09, 0x12, 0x06, 0x10, 0x09, 0x16, 0x0A, 0x18, 0x0C, 0x17, 0x0D, 0x1B, 0x0F, 0x1A, 0x10, 0x1A, + 0x0E, 0x17, 0x0D, 0x16, 0x0D, 0x19, 0x11, 0x1D, 0x11, 0x1C, 0x13, 0x1F, 0x16, 0x22, 0x17, 0x1C, + 0x10, 0x14, 0x0D, 0x19, 0x11, 0x1D, 0x14, 0x1F, 0x15, 0x1E, 0x13, 0x1C, 0x13, 0x1F, 0x17, 0x24, + 0x18, 0x22, 0x1A, 0x26, 0x20, 0x30, 0x29, 0x20, 0x07, 0xFE, 0x00, 0xFD, 0x03, 0x0D, 0x0F, 0x0E, + 0x0A, 0x09, 0xFA, 0x0B, 0x0A, 0x07, 0x06, 0x0A, 0x0B, 0x12, 0x10, 0x0D, 0x00, 0x08, 0x05, 0x11, + 0x0A, 0x15, 0x0C, 0x17, 0x0C, 0x19, 0x0E, 0x18, 0x0F, 0x18, 0x0D, 0x15, 0x0C, 0x18, 0x0E, 0x18, + 0x0A, 0x10, 0x07, 0x12, 0x08, 0x12, 0x0A, 0x18, 0x0E, 0x1B, 0x14, 0x23, 0x18, 0x22, 0x18, 0x1F, + 0x14, 0x1C, 0x0F, 0x16, 0x0B, 0x11, 0x06, 0x0F, 0x09, 0x16, 0x0B, 0x19, 0x11, 0x1F, 0x14, 0x1D, + 0x10, 0x18, 0x0F, 0x18, 0x11, 0x1C, 0x12, 0x1C, 0x11, 0x1A, 0x11, 0x1C, 0x12, 0x1E, 0x14, 0x1F, + 0x15, 0x21, 0x17, 0x20, 0x18, 0x24, 0x1E, 0x2B, 0x25, 0x1B, 0x00, 0xF5, 0xF2, 0xEB, 0xED, 0xFB, + 0x00, 0xFE, 0xFB, 0xFA, 0xEE, 0xFF, 0xFF, 0xFC, 0xFB, 0xFF, 0x03, 0x04, 0x08, 0x09, 0xFE, 0x07, + 0x01, 0x12, 0x09, 0x14, 0x0B, 0x18, 0x0E, 0x18, 0x0E, 0x19, 0x0F, 0x18, 0x0E, 0x16, 0x0C, 0x17, + 0x0D, 0x16, 0x09, 0x11, 0x08, 0x11, 0x07, 0x12, 0x0A, 0x17, 0x0E, 0x1C, 0x12, 0x1E, 0x12, 0x20, + 0x15, 0x20, 0x15, 0x1A, 0x0F, 0x16, 0x0A, 0x0D, 0x06, 0x0B, 0x0B, 0x11, 0x0E, 0x1B, 0x11, 0x1E, + 0x16, 0x21, 0x14, 0x1A, 0x10, 0x17, 0x0D, 0x1A, 0x11, 0x1D, 0x13, 0x1C, 0x11, 0x1A, 0x11, 0x1B, + 0x13, 0x1F, 0x14, 0x21, 0x17, 0x21, 0x19, 0x26, 0x21, 0x2F, 0x26, 0x1E, 0x06, 0xFD, 0xFD, 0xFB, + 0x01, 0x11, 0x10, 0x0D, 0x08, 0x00, 0xEB, 0xFF, 0x00, 0x00, 0xFF, 0x04, 0x07, 0x0D, 0x0A, 0x10, + 0x05, 0x10, 0x09, 0x14, 0x0C, 0x16, 0x0C, 0x16, 0x0B, 0x16, 0x0E, 0x19, 0x0E, 0x18, 0x0D, 0x15, + 0x0D, 0x18, 0x0E, 0x18, 0x0B, 0x12, 0x08, 0x13, 0x09, 0x12, 0x0A, 0x18, 0x10, 0x1E, 0x16, 0x2D, + 0x23, 0x36, 0x2B, 0x27, 0x22, 0x20, 0x11, 0x13, 0x04, 0x05, 0xF7, 0xFF, 0xF8, 0x06, 0x05, 0x13, + 0x0E, 0x1C, 0x11, 0x1C, 0x12, 0x19, 0x0F, 0x1A, 0x10, 0x1A, 0x0F, 0x19, 0x11, 0x1A, 0x11, 0x1A, + 0x11, 0x1C, 0x14, 0x20, 0x12, 0x1F, 0x15, 0x1E, 0x15, 0x20, 0x19, 0x25, 0x19, 0x18, 0xFD, 0xF5, + 0xEF, 0xF1, 0xF4, 0x03, 0x09, 0x07, 0x05, 0xFE, 0xF7, 0x07, 0x08, 0x05, 0x02, 0x03, 0x04, 0x03, + 0x02, 0x0A, 0xFE, 0x07, 0x06, 0x12, 0x0A, 0x16, 0x0B, 0x15, 0x0E, 0x18, 0x0D, 0x18, 0x10, 0x17, + 0x0D, 0x15, 0x0C, 0x18, 0x0E, 0x18, 0x0C, 0x12, 0x08, 0x13, 0x09, 0x12, 0x0B, 0x18, 0x0F, 0x1F, + 0x18, 0x29, 0x25, 0x31, 0x2B, 0x2D, 0x20, 0x20, 0x11, 0x12, 0x03, 0x06, 0xF8, 0x03, 0xF9, 0x0A, + 0x07, 0x11, 0x10, 0x1C, 0x14, 0x1D, 0x12, 0x19, 0x0E, 0x18, 0x0F, 0x1A, 0x11, 0x1B, 0x10, 0x1A, + 0x10, 0x18, 0x0E, 0x1A, 0x12, 0x1D, 0x14, 0x1F, 0x15, 0x1F, 0x17, 0x22, 0x1D, 0x2A, 0x23, 0x17, + 0x05, 0xFC, 0xF9, 0xF4, 0xF3, 0xFF, 0x02, 0xFF, 0xF9, 0xF3, 0xD8, 0xF7, 0xF9, 0xFA, 0xFA, 0x00, + 0x08, 0x0E, 0x0D, 0x19, 0x11, 0x15, 0x15, 0x1C, 0x10, 0x15, 0x0A, 0x13, 0x09, 0x13, 0x0B, 0x17, + 0x0F, 0x19, 0x0F, 0x17, 0x0E, 0x18, 0x0E, 0x18, 0x0C, 0x14, 0x0C, 0x12, 0x08, 0x0F, 0x09, 0x16, + 0x12, 0x24, 0x23, 0x38, 0x39, 0x4B, 0x41, 0x41, 0x32, 0x27, 0x14, 0x0C, 0xFA, 0xF3, 0xE5, 0xEE, + 0xE8, 0xF9, 0xFF, 0x09, 0x09, 0x16, 0x10, 0x1B, 0x12, 0x1B, 0x11, 0x1A, 0x10, 0x19, 0x0F, 0x19, + 0x0F, 0x17, 0x0F, 0x19, 0x0E, 0x18, 0x10, 0x1B, 0x14, 0x1F, 0x16, 0x1F, 0x14, 0x1A, 0x10, 0x17, + 0x0E, 0x16, 0xFE, 0xFD, 0xF3, 0xF5, 0x01, 0x12, 0x17, 0x16, 0x15, 0x16, 0xF4, 0x11, 0x11, 0x0C, + 0x07, 0x04, 0x04, 0x02, 0x04, 0x0D, 0x08, 0x16, 0x0E, 0x19, 0x0C, 0x15, 0x0B, 0x14, 0x0B, 0x16, + 0x0D, 0x16, 0x0E, 0x17, 0x0D, 0x16, 0x0D, 0x19, 0x0F, 0x18, 0x0C, 0x14, 0x0B, 0x12, 0x08, 0x0E, + 0x09, 0x16, 0x12, 0x24, 0x22, 0x36, 0x38, 0x4B, 0x47, 0x42, 0x30, 0x29, 0x12, 0x0A, 0xF8, 0xF0, + 0xE2, 0xEF, 0xE9, 0xFA, 0xFC, 0x0E, 0x0A, 0x1A, 0x13, 0x1D, 0x12, 0x1A, 0x10, 0x18, 0x0F, 0x1A, + 0x10, 0x19, 0x0F, 0x17, 0x0D, 0x17, 0x0E, 0x17, 0x0F, 0x1B, 0x13, 0x1F, 0x16, 0x21, 0x15, 0x1D, + 0x15, 0x20, 0x19, 0x19, 0xFE, 0x02, 0xFA, 0xF3, 0xF3, 0xFB, 0xFD, 0xF9, 0xF6, 0xF8, 0xD9, 0x02, + 0x04, 0x00, 0xFD, 0xFF, 0x07, 0x05, 0x07, 0x19, 0x22, 0x31, 0x26, 0x23, 0x14, 0x17, 0x0B, 0x12, + 0x08, 0x12, 0x0A, 0x15, 0x0C, 0x17, 0x0E, 0x19, 0x0E, 0x19, 0x0F, 0x19, 0x0E, 0x17, 0x0C, 0x10, + 0x06, 0x0A, 0x05, 0x13, 0x12, 0x26, 0x2D, 0x45, 0x46, 0x5A, 0x52, 0x4B, 0x35, 0x2C, 0x13, 0x0B, + 0xF7, 0xE8, 0xD6, 0xE3, 0xDD, 0xF1, 0xF0, 0x04, 0x08, 0x16, 0x0F, 0x1B, 0x14, 0x1C, 0x12, 0x19, + 0x0E, 0x18, 0x0D, 0x18, 0x0D, 0x15, 0x0C, 0x15, 0x0C, 0x16, 0x0E, 0x18, 0x10, 0x1B, 0x13, 0x1F, + 0x14, 0x15, 0x06, 0x03, 0xF6, 0x00, 0xF5, 0xFF, 0xF9, 0xF5, 0x01, 0x0B, 0x11, 0x0D, 0x0E, 0x1A, + 0xEC, 0x1B, 0x18, 0x0F, 0x07, 0x01, 0xFE, 0xFB, 0xF9, 0x0C, 0x13, 0x25, 0x20, 0x20, 0x12, 0x16, + 0x0C, 0x15, 0x0A, 0x14, 0x0B, 0x14, 0x0A, 0x14, 0x0B, 0x16, 0x0E, 0x1B, 0x11, 0x1B, 0x0F, 0x16, + 0x0A, 0x0F, 0x05, 0x0A, 0x06, 0x14, 0x11, 0x25, 0x2C, 0x46, 0x47, 0x5B, 0x56, 0x4E, 0x38, 0x2C, + 0x14, 0x0B, 0xF5, 0xF0, 0xDC, 0xDD, 0xDC, 0xEF, 0xF0, 0x05, 0x07, 0x18, 0x12, 0x1D, 0x13, 0x1A, + 0x0F, 0x16, 0x0D, 0x18, 0x0F, 0x18, 0x0D, 0x14, 0x0B, 0x13, 0x0C, 0x16, 0x0F, 0x19, 0x10, 0x1B, + 0x13, 0x1F, 0x14, 0x17, 0x0B, 0xFC, 0x08, 0x0F, 0x06, 0x0A, 0x04, 0xF8, 0xEA, 0xF6, 0xF3, 0xEA, + 0xE4, 0xF3, 0xD3, 0x0C, 0x0E, 0x03, 0x01, 0x02, 0x06, 0x03, 0x04, 0x1A, 0x21, 0x40, 0x32, 0x2A, + 0x18, 0x17, 0x0A, 0x11, 0x07, 0x11, 0x08, 0x12, 0x0A, 0x14, 0x0C, 0x16, 0x0E, 0x1A, 0x11, 0x1C, + 0x12, 0x1A, 0x0D, 0x0E, 0x00, 0x06, 0xFC, 0x0B, 0x0E, 0x27, 0x2E, 0x46, 0x45, 0x55, 0x47, 0x3F, + 0x27, 0x1B, 0x0A, 0x16, 0x05, 0xF6, 0xE0, 0xE7, 0xE0, 0xF1, 0xF0, 0x04, 0x05, 0x16, 0x10, 0x1B, + 0x12, 0x1A, 0x10, 0x18, 0x0D, 0x14, 0x0B, 0x16, 0x0D, 0x16, 0x0B, 0x12, 0x0B, 0x13, 0x0C, 0x16, + 0x0F, 0x1B, 0x12, 0x1D, 0x11, 0x0F, 0xFE, 0xF2, 0xE8, 0xF5, 0xF6, 0x04, 0xFC, 0xF4, 0xF9, 0x04, + 0x04, 0x00, 0x01, 0x17, 0xDE, 0x1A, 0x18, 0x0F, 0x04, 0xFE, 0xFD, 0xFE, 0xFA, 0x14, 0x28, 0x3C, + 0x32, 0x2A, 0x18, 0x17, 0x0B, 0x13, 0x08, 0x12, 0x09, 0x13, 0x09, 0x12, 0x0A, 0x16, 0x0E, 0x1B, + 0x12, 0x1D, 0x12, 0x1A, 0x0D, 0x0D, 0x00, 0x05, 0xFB, 0x0B, 0x0D, 0x26, 0x2C, 0x45, 0x43, 0x53, + 0x44, 0x3D, 0x29, 0x1C, 0x0B, 0x15, 0x04, 0x03, 0xEC, 0xEB, 0xE4, 0xF5, 0xF2, 0x06, 0x07, 0x16, + 0x11, 0x1C, 0x11, 0x19, 0x0F, 0x17, 0x0D, 0x15, 0x0C, 0x16, 0x0D, 0x14, 0x0A, 0x11, 0x09, 0x12, + 0x0B, 0x16, 0x0F, 0x1A, 0x11, 0x1C, 0x11, 0x10, 0x00, 0xF9, 0xEE, 0xFF, 0x01, 0x08, 0x05, 0xF7, + 0xF3, 0xFD, 0xFB, 0xF8, 0xF2, 0x0A, 0xC4, 0x0A, 0x0C, 0x07, 0xFD, 0x01, 0x04, 0x02, 0xFC, 0x18, + 0x2E, 0x41, 0x31, 0x29, 0x16, 0x16, 0x09, 0x10, 0x06, 0x0F, 0x08, 0x12, 0x09, 0x14, 0x0C, 0x17, + 0x0E, 0x1B, 0x10, 0x1A, 0x0F, 0x17, 0x0A, 0x0C, 0x00, 0x07, 0xFE, 0x0D, 0x0F, 0x27, 0x29, 0x35, + 0x27, 0x1C, 0x0A, 0x13, 0x0C, 0x18, 0x0C, 0x16, 0x0D, 0x1A, 0x18, 0x1E, 0x0B, 0x08, 0xF8, 0x05, + 0x03, 0x14, 0x10, 0x1B, 0x12, 0x1A, 0x10, 0x16, 0x0C, 0x15, 0x0C, 0x17, 0x0D, 0x15, 0x0C, 0x14, + 0x0B, 0x13, 0x0B, 0x15, 0x0D, 0x19, 0x11, 0x1C, 0x0F, 0x0E, 0xFC, 0xF1, 0xE2, 0xF4, 0xF8, 0x0A, + 0xFA, 0xF5, 0xFA, 0x06, 0x07, 0x06, 0x07, 0x2D, 0xC8, 0x0F, 0x11, 0x0A, 0x02, 0xFE, 0x00, 0x01, + 0x00, 0x17, 0x2C, 0x3F, 0x30, 0x29, 0x17, 0x16, 0x0A, 0x11, 0x07, 0x10, 0x08, 0x12, 0x09, 0x14, + 0x0B, 0x17, 0x0F, 0x1B, 0x11, 0x1B, 0x10, 0x18, 0x0A, 0x0C, 0xFF, 0x05, 0xFC, 0x0A, 0x0D, 0x22, + 0x23, 0x2F, 0x1F, 0x15, 0x05, 0x0B, 0x08, 0x16, 0x0D, 0x17, 0x11, 0x23, 0x1E, 0x26, 0x16, 0x0C, + 0xFD, 0x08, 0x06, 0x16, 0x10, 0x1B, 0x12, 0x1A, 0x10, 0x16, 0x0C, 0x15, 0x0D, 0x17, 0x0D, 0x15, + 0x0B, 0x13, 0x0A, 0x12, 0x0A, 0x13, 0x0D, 0x19, 0x10, 0x1B, 0x0F, 0x0D, 0xFC, 0xF1, 0xE3, 0xF5, + 0xFC, 0x09, 0x00, 0xF8, 0xFA, 0x00, 0xFE, 0xFA, 0xF8, 0x20, 0xAD, 0x07, 0x0A, 0x07, 0x02, 0x00, + 0x04, 0x01, 0xFC, 0x14, 0x25, 0x36, 0x2D, 0x27, 0x17, 0x18, 0x0A, 0x11, 0x09, 0x12, 0x08, 0x10, + 0x08, 0x14, 0x0B, 0x14, 0x0B, 0x17, 0x0D, 0x17, 0x0C, 0x15, 0x0A, 0x11, 0x07, 0x0E, 0x08, 0x16, + 0x13, 0x2A, 0x27, 0x2A, 0x12, 0x08, 0xF6, 0x03, 0x04, 0x15, 0x0E, 0x19, 0x14, 0x2A, 0x26, 0x27, + 0x11, 0x07, 0xF5, 0x04, 0x05, 0x15, 0x0E, 0x19, 0x10, 0x1A, 0x10, 0x18, 0x0E, 0x16, 0x0C, 0x15, + 0x0C, 0x16, 0x0D, 0x14, 0x0C, 0x14, 0x0B, 0x16, 0x0E, 0x1A, 0x10, 0x19, 0x0C, 0x0C, 0xFE, 0xFA, + 0xF0, 0xFA, 0x03, 0x0B, 0x01, 0xF8, 0xFF, 0x05, 0x04, 0xFF, 0x03, 0x38, 0xBA, 0x0E, 0x10, 0x09, + 0x02, 0xFD, 0xFF, 0xFF, 0xFE, 0x15, 0x25, 0x34, 0x2D, 0x26, 0x19, 0x19, 0x0B, 0x12, 0x09, 0x12, + 0x08, 0x11, 0x09, 0x13, 0x0A, 0x14, 0x0B, 0x17, 0x0F, 0x19, 0x0D, 0x15, 0x09, 0x10, 0x06, 0x0B, + 0x05, 0x10, 0x10, 0x25, 0x1E, 0x20, 0x08, 0xFE, 0xEE, 0xFD, 0x01, 0x13, 0x0F, 0x1C, 0x1A, 0x31, + 0x31, 0x34, 0x20, 0x09, 0xFD, 0x08, 0x08, 0x17, 0x0F, 0x1A, 0x11, 0x1A, 0x0E, 0x18, 0x0E, 0x17, + 0x0C, 0x15, 0x0C, 0x15, 0x0C, 0x14, 0x0A, 0x14, 0x0B, 0x15, 0x0D, 0x19, 0x0F, 0x18, 0x0B, 0x0D, + 0xFD, 0xF9, 0xEE, 0xFF, 0xFE, 0x0B, 0x00, 0xF7, 0xFB, 0xFF, 0xFE, 0xF9, 0xFC, 0x31, 0xA8, 0x0A, + 0x0E, 0x08, 0x02, 0xFE, 0xFF, 0xFE, 0xFE, 0x10, 0x1E, 0x2F, 0x25, 0x1F, 0x10, 0x15, 0x0B, 0x16, + 0x0B, 0x14, 0x09, 0x13, 0x09, 0x14, 0x0B, 0x15, 0x0B, 0x16, 0x0B, 0x16, 0x0C, 0x13, 0x08, 0x10, + 0x08, 0x12, 0x0C, 0x1A, 0x14, 0x2B, 0x28, 0x28, 0x15, 0x03, 0xF1, 0xF7, 0xFC, 0x11, 0x0E, 0x1E, + 0x1C, 0x38, 0x36, 0x2A, 0x0C, 0xFB, 0xEB, 0xFF, 0x00, 0x10, 0x0B, 0x18, 0x10, 0x1B, 0x11, 0x1A, + 0x0E, 0x17, 0x0E, 0x17, 0x0E, 0x17, 0x0C, 0x16, 0x0D, 0x16, 0x0C, 0x17, 0x0F, 0x1A, 0x0E, 0x16, + 0x0B, 0x10, 0x01, 0x01, 0xF8, 0x07, 0x03, 0x0C, 0x01, 0xF9, 0xFE, 0x03, 0x01, 0xFD, 0x01, 0x41, + 0xB2, 0x0F, 0x11, 0x0B, 0x03, 0xFE, 0xFF, 0x01, 0x00, 0x18, 0x20, 0x31, 0x25, 0x21, 0x11, 0x17, + 0x0C, 0x16, 0x0B, 0x13, 0x09, 0x13, 0x09, 0x13, 0x0A, 0x15, 0x0B, 0x17, 0x0D, 0x17, 0x0C, 0x14, + 0x08, 0x10, 0x06, 0x10, 0x09, 0x17, 0x13, 0x27, 0x20, 0x21, 0x09, 0xF7, 0xE4, 0xEF, 0xF4, 0x0E, + 0x0D, 0x1E, 0x21, 0x40, 0x41, 0x39, 0x1A, 0x07, 0xF3, 0x04, 0x03, 0x12, 0x0C, 0x18, 0x10, 0x1B, + 0x11, 0x1A, 0x0F, 0x17, 0x0E, 0x19, 0x0D, 0x16, 0x0C, 0x16, 0x0C, 0x16, 0x0C, 0x16, 0x0E, 0x1A, + 0x0E, 0x16, 0x0A, 0x0F, 0x00, 0xFE, 0xF4, 0x02, 0xFE, 0x09, 0xFD, 0xF8, 0xFA, 0xFF, 0xFD, 0xF9, + 0xFC, 0x3C, 0xA0, 0x0A, 0x0E, 0x07, 0x01, 0xFD, 0x00, 0x00, 0xFD, 0x0D, 0x14, 0x26, 0x20, 0x21, + 0x10, 0x18, 0x0B, 0x17, 0x0C, 0x15, 0x09, 0x14, 0x09, 0x15, 0x0B, 0x15, 0x0B, 0x14, 0x0A, 0x14, + 0x09, 0x16, 0x0C, 0x16, 0x0B, 0x15, 0x0E, 0x1D, 0x18, 0x2D, 0x28, 0x2E, 0x10, 0xFF, 0xE7, 0xE6, + 0xF1, 0x0A, 0x0E, 0x1F, 0x23, 0x46, 0x45, 0x31, 0x0E, 0xF5, 0xE3, 0xFC, 0xFF, 0x10, 0x0B, 0x17, + 0x0E, 0x19, 0x10, 0x19, 0x0E, 0x17, 0x0D, 0x18, 0x0F, 0x18, 0x0E, 0x19, 0x0F, 0x19, 0x0D, 0x18, + 0x0D, 0x18, 0x0F, 0x18, 0x0D, 0x11, 0x04, 0x07, 0xFA, 0x06, 0x02, 0x09, 0xFF, 0xFA, 0xFD, 0x02, + 0xFF, 0xFB, 0xFE, 0x4C, 0xAA, 0x0F, 0x12, 0x0A, 0x03, 0xFF, 0x01, 0x02, 0xFF, 0x11, 0x1A, 0x29, + 0x21, 0x20, 0x11, 0x18, 0x0C, 0x17, 0x0C, 0x14, 0x0A, 0x13, 0x0A, 0x15, 0x09, 0x15, 0x0B, 0x15, + 0x0A, 0x14, 0x0A, 0x16, 0x0D, 0x15, 0x0A, 0x13, 0x0C, 0x1B, 0x15, 0x28, 0x21, 0x26, 0x0A, 0xF4, + 0xDD, 0xDF, 0xED, 0x08, 0x0C, 0x1E, 0x26, 0x4B, 0x4C, 0x39, 0x19, 0xFC, 0xE8, 0xFE, 0x01, 0x11, + 0x0C, 0x18, 0x0E, 0x1A, 0x10, 0x1A, 0x0E, 0x16, 0x0E, 0x18, 0x0E, 0x19, 0x0E, 0x16, 0x0E, 0x18, + 0x0C, 0x15, 0x0C, 0x18, 0x0E, 0x17, 0x0B, 0x0E, 0x02, 0x03, 0xF9, 0x04, 0xFA, 0x07, 0xF8, 0xF6, + 0xF8, 0xFE, 0xFC, 0xF7, 0xF8, 0x46, 0x98, 0x0C, 0x0E, 0x07, 0x01, 0xFC, 0xFF, 0x02, 0x00, 0x10, + 0x13, 0x25, 0x1D, 0x21, 0x13, 0x1B, 0x0D, 0x15, 0x0B, 0x14, 0x0B, 0x16, 0x0B, 0x15, 0x0B, 0x15, + 0x0C, 0x16, 0x0B, 0x15, 0x0A, 0x14, 0x0A, 0x13, 0x0A, 0x17, 0x0F, 0x1F, 0x1A, 0x2E, 0x2A, 0x31, + 0x18, 0xFF, 0xE3, 0xDE, 0xE8, 0x06, 0x0C, 0x1F, 0x28, 0x49, 0x47, 0x31, 0x0D, 0xF4, 0xE5, 0xFD, + 0xFF, 0x0F, 0x0A, 0x16, 0x0E, 0x1A, 0x10, 0x18, 0x0E, 0x19, 0x0F, 0x19, 0x0E, 0x17, 0x0C, 0x16, + 0x0E, 0x18, 0x0E, 0x1A, 0x10, 0x1A, 0x0D, 0x16, 0x0B, 0x11, 0x05, 0x08, 0xFC, 0x09, 0x01, 0x09, + 0xFD, 0xFA, 0xFD, 0x02, 0xFE, 0xFA, 0xFC, 0x4A, 0xA5, 0x11, 0x13, 0x0C, 0x04, 0xFF, 0x01, 0x04, + 0x03, 0x16, 0x18, 0x27, 0x1E, 0x21, 0x12, 0x1C, 0x0D, 0x15, 0x0D, 0x16, 0x0A, 0x15, 0x0B, 0x15, + 0x0A, 0x15, 0x0B, 0x16, 0x0A, 0x15, 0x0C, 0x15, 0x09, 0x12, 0x0A, 0x15, 0x0D, 0x1D, 0x17, 0x2A, + 0x25, 0x2C, 0x11, 0xF8, 0xDD, 0xDA, 0xE8, 0x05, 0x0C, 0x21, 0x2A, 0x4B, 0x4B, 0x37, 0x13, 0xF9, + 0xE7, 0xFE, 0x02, 0x11, 0x0A, 0x16, 0x0E, 0x1A, 0x0E, 0x19, 0x0E, 0x19, 0x10, 0x1A, 0x0E, 0x17, + 0x0D, 0x18, 0x0C, 0x18, 0x0E, 0x18, 0x0E, 0x19, 0x0C, 0x16, 0x0A, 0x13, 0x05, 0x09, 0xF9, 0x03, + 0xFA, 0x07, 0xF7, 0xF6, 0xF8, 0xFE, 0xFB, 0xF6, 0xF7, 0x4B, 0x90, 0x0D, 0x0F, 0x08, 0x01, 0xFC, + 0xFD, 0x00, 0xFA, 0x0D, 0x12, 0x24, 0x1D, 0x1E, 0x10, 0x1A, 0x0D, 0x15, 0x0A, 0x16, 0x0A, 0x16, + 0x0B, 0x15, 0x0B, 0x17, 0x0B, 0x16, 0x0B, 0x14, 0x09, 0x15, 0x0C, 0x17, 0x0A, 0x16, 0x0E, 0x1E, + 0x17, 0x2B, 0x28, 0x35, 0x20, 0x04, 0xE7, 0xDB, 0xE6, 0x04, 0x0D, 0x21, 0x2B, 0x47, 0x44, 0x2C, + 0x0A, 0xF5, 0xE7, 0xFE, 0xFF, 0x0D, 0x07, 0x13, 0x0C, 0x18, 0x0E, 0x19, 0x0D, 0x1A, 0x0E, 0x1A, + 0x0C, 0x18, 0x0D, 0x18, 0x0F, 0x1B, 0x10, 0x19, 0x0D, 0x19, 0x0E, 0x17, 0x0B, 0x11, 0x05, 0x09, + 0xFE, 0x08, 0xFE, 0x09, 0xFB, 0xF9, 0xFD, 0x02, 0xFE, 0xF9, 0xFC, 0x50, 0x9B, 0x10, 0x12, 0x0B, + 0x03, 0xFE, 0x00, 0x01, 0xFB, 0x0F, 0x13, 0x26, 0x1D, 0x20, 0x13, 0x19, 0x0C, 0x15, 0x0B, 0x16, + 0x0A, 0x15, 0x0B, 0x16, 0x0C, 0x17, 0x0B, 0x15, 0x0A, 0x15, 0x0A, 0x16, 0x0D, 0x17, 0x0A, 0x16, + 0x0C, 0x1D, 0x15, 0x29, 0x23, 0x31, 0x1C, 0x00, 0xE3, 0xD9, 0xE6, 0x03, 0x0D, 0x22, 0x31, 0x49, + 0x47, 0x2F, 0x0C, 0xF8, 0xE8, 0xFF, 0x01, 0x10, 0x08, 0x14, 0x0C, 0x18, 0x0F, 0x1A, 0x0E, 0x1A, + 0x0F, 0x17, 0x0B, 0x17, 0x0E, 0x1B, 0x0E, 0x19, 0x0E, 0x18, 0x0E, 0x19, 0x0D, 0x16, 0x0A, 0x11, + 0x05, 0x09, 0xFC, 0x07, 0xFB, 0x06, 0xF6, 0xF5, 0xF8, 0xFE, 0xFB, 0xF6, 0xF7, 0x51, 0xC2, 0x0F, + 0x12, 0x0A, 0x02, 0xFD, 0xFD, 0x00, 0xFF, 0x0E, 0x13, 0x25, 0x1E, 0x22, 0x11, 0x1A, 0x0C, 0x15, + 0x0B, 0x15, 0x08, 0x15, 0x0A, 0x15, 0x0B, 0x16, 0x0B, 0x15, 0x0B, 0x16, 0x0A, 0x15, 0x0C, 0x18, + 0x0C, 0x16, 0x0D, 0x1C, 0x16, 0x2C, 0x29, 0x36, 0x22, 0x03, 0xE5, 0xD8, 0xE5, 0x03, 0x0B, 0x23, + 0x31, 0x4F, 0x45, 0x2B, 0x09, 0xF6, 0xE9, 0xFF, 0xFF, 0x0E, 0x07, 0x13, 0x0B, 0x16, 0x0E, 0x19, + 0x0E, 0x19, 0x0D, 0x18, 0x0D, 0x18, 0x0E, 0x19, 0x0D, 0x19, 0x10, 0x19, 0x0F, 0x1B, 0x10, 0x19, + 0x0C, 0x13, 0x04, 0x0C, 0xFC, 0x06, 0x00, 0x08, 0xFD, 0xF7, 0xFD, 0x01, 0xFE, 0xF8, 0xFC, 0x5C, + 0xC3, 0x10, 0x14, 0x0C, 0x03, 0xFD, 0xFE, 0x00, 0xFF, 0x0F, 0x12, 0x25, 0x1E, 0x21, 0x11, 0x19, + 0x0D, 0x16, 0x0A, 0x15, 0x0A, 0x16, 0x09, 0x15, 0x0B, 0x16, 0x0C, 0x15, 0x09, 0x14, 0x09, 0x15, + 0x0B, 0x16, 0x0B, 0x15, 0x0D, 0x1D, 0x15, 0x2A, 0x25, 0x34, 0x1E, 0x00, 0xE3, 0xD7, 0xE5, 0x04, + 0x0B, 0x26, 0x33, 0x51, 0x48, 0x2D, 0x0A, 0xF7, 0xEB, 0x00, 0x01, 0x0F, 0x07, 0x15, 0x0B, 0x15, + 0x0C, 0x19, 0x0E, 0x18, 0x0F, 0x1A, 0x0F, 0x19, 0x0E, 0x19, 0x0E, 0x19, 0x10, 0x19, 0x0F, 0x19, + 0x0E, 0x19, 0x0D, 0x11, 0x05, 0x07, 0xFB, 0x05, 0xFE, 0x07, 0xF8, 0xF8, 0xF9, 0xFF, 0xFB, 0xF7, + 0xFB, 0x52, 0xC1, 0x0F, 0x12, 0x0A, 0x02, 0xFD, 0xFE, 0xFF, 0xFB, 0x0C, 0x13, 0x26, 0x1E, 0x22, + 0x12, 0x1A, 0x0C, 0x15, 0x0B, 0x15, 0x0A, 0x16, 0x0B, 0x18, 0x0C, 0x16, 0x0B, 0x14, 0x0B, 0x14, + 0x0B, 0x15, 0x0A, 0x17, 0x0B, 0x17, 0x0E, 0x1D, 0x17, 0x28, 0x25, 0x32, 0x18, 0xFC, 0xDE, 0xD8, + 0xE4, 0x05, 0x0B, 0x24, 0x37, 0x55, 0x4D, 0x35, 0x10, 0xFA, 0xEB, 0x00, 0xFF, 0x10, 0x08, 0x14, + 0x0D, 0x18, 0x0D, 0x18, 0x0D, 0x18, 0x0E, 0x1A, 0x0F, 0x19, 0x0E, 0x1B, 0x0F, 0x1A, 0x0F, 0x1B, + 0x10, 0x1B, 0x12, 0x1B, 0x0C, 0x13, 0x06, 0x0C, 0xFC, 0x05, 0xFF, 0x08, 0xFC, 0xF9, 0xFC, 0x00, + 0xFD, 0xF7, 0xFB, 0x52, 0xC1, 0x10, 0x13, 0x0B, 0x02, 0xFD, 0xFD, 0xFF, 0xFA, 0x0D, 0x11, 0x27, + 0x1C, 0x23, 0x13, 0x1A, 0x0D, 0x16, 0x0A, 0x16, 0x0B, 0x16, 0x0B, 0x17, 0x0D, 0x15, 0x0A, 0x15, + 0x0A, 0x14, 0x09, 0x15, 0x0A, 0x16, 0x0C, 0x18, 0x0E, 0x1D, 0x16, 0x27, 0x23, 0x30, 0x16, 0xFC, + 0xDE, 0xD8, 0xE5, 0x05, 0x0B, 0x24, 0x38, 0x56, 0x4F, 0x36, 0x10, 0xFA, 0xEB, 0x01, 0xFF, 0x10, + 0x09, 0x15, 0x0C, 0x17, 0x0E, 0x18, 0x0D, 0x1A, 0x0F, 0x19, 0x0F, 0x19, 0x0E, 0x1B, 0x0F, 0x18, + 0x0D, 0x19, 0x0E, 0x1A, 0x10, 0x19, 0x0C, 0x12, 0x06, 0x0A, 0xFB, 0x06, 0xFE, 0x07, 0xF8, 0xF9, + 0xFA, 0x00, 0xFC, 0xF6, 0xFB, 0x53, 0xC1, 0x10, 0x13, 0x0A, 0x02, 0xFD, 0xFE, 0x01, 0x00, 0x10, + 0x14, 0x27, 0x20, 0x24, 0x13, 0x19, 0x0D, 0x17, 0x0A, 0x17, 0x0C, 0x17, 0x0B, 0x16, 0x0A, 0x15, + 0x0C, 0x17, 0x0B, 0x15, 0x0C, 0x18, 0x09, 0x15, 0x09, 0x16, 0x0E, 0x1D, 0x15, 0x29, 0x25, 0x2F, + 0x16, 0xF9, 0xDB, 0xD8, 0xE6, 0x05, 0x0C, 0x26, 0x3A, 0x59, 0x52, 0x39, 0x15, 0xFB, 0xEC, 0x01, + 0x00, 0x0F, 0x07, 0x13, 0x0C, 0x18, 0x0D, 0x19, 0x10, 0x1A, 0x0D, 0x19, 0x0F, 0x19, 0x0E, 0x1B, + 0x0F, 0x1A, 0x10, 0x1C, 0x11, 0x1C, 0x13, 0x1C, 0x0E, 0x11, 0x04, 0x07, 0xFA, 0x06, 0xFF, 0x08, + 0xFC, 0xF9, 0xFD, 0x01, 0xFD, 0xF7, 0xFB, 0x51, 0x8A, 0x0E, 0x12, 0x0A, 0x04, 0xFD, 0xFD, 0x01, + 0xFE, 0x0F, 0x12, 0x27, 0x1D, 0x23, 0x13, 0x19, 0x0B, 0x18, 0x0B, 0x17, 0x0B, 0x16, 0x0A, 0x16, + 0x0A, 0x15, 0x0B, 0x17, 0x09, 0x14, 0x0A, 0x16, 0x09, 0x14, 0x0B, 0x18, 0x0D, 0x1C, 0x16, 0x29, + 0x24, 0x2F, 0x16, 0xF9, 0xDC, 0xD9, 0xE7, 0x06, 0x0D, 0x27, 0x3B, 0x5A, 0x53, 0x38, 0x14, 0xFB, + 0xEB, 0x02, 0xFF, 0x0F, 0x07, 0x13, 0x0C, 0x18, 0x0D, 0x19, 0x0F, 0x1B, 0x0D, 0x19, 0x10, 0x1A, + 0x0E, 0x1A, 0x10, 0x1A, 0x0E, 0x19, 0x10, 0x1B, 0x10, 0x1A, 0x0C, 0x11, 0x03, 0x08, 0xFB, 0x07, + 0xFF, 0x08, 0xFB, 0xF9, 0xFC, 0x01, 0xFD, 0xF8, 0xFC, 0x51, 0x9B, 0x11, 0x13, 0x0B, 0x03, 0xFD, + 0xFE, 0x00, 0xFA, 0x0E, 0x12, 0x27, 0x20, 0x26, 0x18, 0x1B, 0x0F, 0x17, 0x0C, 0x16, 0x0A, 0x14, + 0x0A, 0x15, 0x0A, 0x14, 0x0A, 0x14, 0x0A, 0x15, 0x0A, 0x15, 0x09, 0x15, 0x0A, 0x16, 0x0C, 0x1C, + 0x17, 0x2D, 0x26, 0x2E, 0x14, 0xF9, 0xDD, 0xDC, 0xE9, 0x08, 0x0E, 0x28, 0x3C, 0x58, 0x4F, 0x34, + 0x0F, 0xF9, 0xEA, 0x01, 0xFF, 0x10, 0x08, 0x15, 0x0D, 0x1A, 0x0E, 0x17, 0x0E, 0x18, 0x0E, 0x1B, + 0x11, 0x1C, 0x10, 0x1B, 0x10, 0x1C, 0x11, 0x1D, 0x12, 0x1B, 0x11, 0x1A, 0x0B, 0x0E, 0x03, 0x06, + 0xFB, 0x07, 0x00, 0x08, 0xFE, 0xF9, 0xFC, 0x01, 0xFC, 0xF6, 0xFB, 0x4F, 0x8F, 0x0D, 0x10, 0x09, + 0x02, 0xFD, 0xFC, 0xFF, 0xFC, 0x0D, 0x13, 0x27, 0x1D, 0x26, 0x16, 0x1C, 0x0E, 0x18, 0x0C, 0x16, + 0x0A, 0x15, 0x09, 0x15, 0x0A, 0x13, 0x08, 0x15, 0x09, 0x15, 0x09, 0x15, 0x09, 0x14, 0x0B, 0x16, + 0x0D, 0x1D, 0x18, 0x2C, 0x27, 0x2F, 0x15, 0xFB, 0xDF, 0xDD, 0xEC, 0x07, 0x10, 0x2A, 0x3C, 0x58, + 0x4D, 0x31, 0x0E, 0xF8, 0xEA, 0x01, 0xFE, 0x0A, 0x08, 0x16, 0x0D, 0x19, 0x0E, 0x17, 0x0E, 0x19, + 0x0E, 0x1A, 0x10, 0x1D, 0x0E, 0x1A, 0x0E, 0x1A, 0x10, 0x1C, 0x10, 0x1A, 0x0E, 0x18, 0x0A, 0x0F, + 0x03, 0x07, 0xFA, 0x07, 0x00, 0x0A, 0xFE, 0xFA, 0xFD, 0x01, 0xFE, 0xF8, 0xFD, 0x57, 0xA3, 0x11, + 0x13, 0x0B, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x0D, 0x14, 0x26, 0x1F, 0x25, 0x17, 0x1B, 0x0F, 0x17, + 0x0C, 0x14, 0x0A, 0x14, 0x09, 0x13, 0x0A, 0x13, 0x0A, 0x14, 0x0A, 0x15, 0x0A, 0x14, 0x08, 0x14, + 0x0A, 0x15, 0x0C, 0x1C, 0x17, 0x2D, 0x2A, 0x34, 0x1D, 0x02, 0xE6, 0xE2, 0xEE, 0x0B, 0x10, 0x2B, + 0x3A, 0x51, 0x42, 0x24, 0x05, 0xF4, 0xEA, 0x00, 0x01, 0x11, 0x08, 0x15, 0x0D, 0x1A, 0x0D, 0x19, + 0x0F, 0x1B, 0x12, 0x1B, 0x0E, 0x19, 0x10, 0x1C, 0x10, 0x1C, 0x13, 0x1F, 0x11, 0x1C, 0x0F, 0x17, + 0x09, 0x10, 0x04, 0x0B, 0xFD, 0x07, 0xFF, 0x09, 0xFD, 0xF6, 0xFA, 0xFF, 0xFB, 0xF5, 0xF6, 0x4A, + 0x97, 0x0C, 0x0E, 0x07, 0x00, 0xFC, 0xFD, 0xFF, 0xFC, 0x0C, 0x11, 0x26, 0x1D, 0x26, 0x16, 0x1B, + 0x0F, 0x17, 0x0C, 0x14, 0x0A, 0x15, 0x0A, 0x14, 0x09, 0x12, 0x09, 0x14, 0x08, 0x14, 0x09, 0x12, + 0x09, 0x12, 0x09, 0x16, 0x0E, 0x1C, 0x18, 0x2E, 0x2E, 0x39, 0x20, 0x03, 0xEA, 0xE5, 0xF2, 0x0B, + 0x13, 0x2C, 0x3B, 0x50, 0x3E, 0x1E, 0x00, 0xF0, 0xE7, 0xFE, 0x00, 0x10, 0x07, 0x16, 0x0D, 0x17, + 0x0D, 0x19, 0x0F, 0x1A, 0x10, 0x1A, 0x0E, 0x19, 0x10, 0x1B, 0x10, 0x1C, 0x12, 0x1D, 0x0F, 0x1A, + 0x0E, 0x16, 0x09, 0x0E, 0x04, 0x09, 0xFD, 0x08, 0xFF, 0x07, 0xFE, 0xFA, 0xFD, 0x01, 0xFE, 0xF8, + 0xFD, 0x51, 0xAD, 0x10, 0x12, 0x0B, 0x04, 0xFF, 0x00, 0x01, 0xFF, 0x0F, 0x13, 0x27, 0x1F, 0x25, + 0x18, 0x1A, 0x0C, 0x13, 0x08, 0x12, 0x09, 0x16, 0x09, 0x15, 0x0A, 0x12, 0x09, 0x13, 0x09, 0x13, + 0x09, 0x13, 0x09, 0x14, 0x09, 0x16, 0x0D, 0x1C, 0x15, 0x29, 0x2B, 0x40, 0x2B, 0x19, 0xF8, 0xEE, + 0xF1, 0x0C, 0x14, 0x2D, 0x36, 0x3D, 0x26, 0x0E, 0xF0, 0xEF, 0xE8, 0x00, 0xFF, 0x10, 0x0B, 0x19, + 0x0F, 0x1B, 0x0E, 0x19, 0x10, 0x1B, 0x10, 0x1B, 0x11, 0x1C, 0x0F, 0x1C, 0x11, 0x1D, 0x13, 0x1E, + 0x12, 0x1A, 0x0F, 0x17, 0x0A, 0x0F, 0x05, 0x08, 0xFE, 0x0A, 0x00, 0x08, 0xFC, 0xF8, 0xFA, 0xFE, + 0xFB, 0xF6, 0xF6, 0x42, 0xA1, 0x07, 0x0A, 0x05, 0xFF, 0xFC, 0xFE, 0x00, 0xFD, 0x0D, 0x12, 0x26, + 0x1D, 0x26, 0x19, 0x1D, 0x0D, 0x16, 0x09, 0x14, 0x0B, 0x16, 0x09, 0x13, 0x0A, 0x12, 0x07, 0x14, + 0x09, 0x14, 0x0A, 0x15, 0x09, 0x12, 0x0A, 0x15, 0x0E, 0x1D, 0x17, 0x2D, 0x31, 0x47, 0x35, 0x1F, + 0x16, 0xF2, 0xF4, 0x0F, 0x13, 0x2E, 0x36, 0x39, 0x20, 0x05, 0xE7, 0xEB, 0xE5, 0xFC, 0xFF, 0x0F, + 0x09, 0x18, 0x10, 0x1B, 0x10, 0x1A, 0x11, 0x1D, 0x10, 0x1A, 0x10, 0x1B, 0x11, 0x1B, 0x11, 0x1D, + 0x11, 0x1B, 0x11, 0x1A, 0x0E, 0x14, 0x09, 0x0D, 0x04, 0x0A, 0x01, 0x08, 0x01, 0x09, 0xFD, 0xFA, + 0xFF, 0x03, 0xFE, 0xFA, 0xFE, 0x49, 0xBB, 0x10, 0x11, 0x0B, 0x04, 0x00, 0x00, 0xFF, 0xFD, 0x0D, + 0x10, 0x22, 0x1C, 0x20, 0x14, 0x16, 0x0A, 0x11, 0x05, 0x0F, 0x06, 0x11, 0x07, 0x13, 0x09, 0x14, + 0x08, 0x15, 0x0B, 0x15, 0x09, 0x14, 0x08, 0x12, 0x08, 0x14, 0x0B, 0x19, 0x14, 0x29, 0x2B, 0x43, + 0x3B, 0x41, 0x29, 0x1F, 0x11, 0x16, 0x14, 0x27, 0x22, 0x14, 0xF5, 0xDE, 0xD9, 0xEC, 0xEF, 0x05, + 0x01, 0x11, 0x0B, 0x18, 0x0F, 0x1B, 0x11, 0x1C, 0x12, 0x1C, 0x12, 0x1C, 0x12, 0x1E, 0x12, 0x1F, + 0x12, 0x1E, 0x16, 0x21, 0x17, 0x20, 0x15, 0x18, 0x0B, 0x0E, 0x05, 0x07, 0xFD, 0x06, 0xFB, 0x06, + 0xFC, 0xF9, 0xFA, 0xFE, 0xFB, 0xF7, 0xFA, 0x3A, 0xAF, 0x07, 0x09, 0x04, 0xFE, 0xFD, 0xFF, 0xFE, + 0xFB, 0x0B, 0x0E, 0x23, 0x1C, 0x22, 0x16, 0x18, 0x0B, 0x12, 0x09, 0x11, 0x08, 0x12, 0x08, 0x13, + 0x08, 0x12, 0x08, 0x13, 0x0A, 0x15, 0x09, 0x13, 0x09, 0x12, 0x09, 0x15, 0x0C, 0x1A, 0x18, 0x2D, + 0x32, 0x3F, 0x47, 0x4B, 0x31, 0x30, 0x13, 0x16, 0x13, 0x26, 0x1F, 0x0E, 0xEE, 0xD6, 0xCA, 0xE3, + 0xE8, 0xFF, 0xFF, 0x0E, 0x0B, 0x19, 0x0E, 0x1A, 0x12, 0x1C, 0x12, 0x1D, 0x11, 0x1C, 0x12, 0x1E, + 0x12, 0x1D, 0x12, 0x1F, 0x15, 0x1E, 0x13, 0x1F, 0x12, 0x16, 0x09, 0x0E, 0x04, 0x08, 0xFF, 0x08, + 0xFC, 0x06, 0xFD, 0xFA, 0xFF, 0x04, 0x01, 0xFD, 0x02, 0x42, 0xC7, 0x0F, 0x10, 0x0A, 0x04, 0x00, + 0xFF, 0xFF, 0xFE, 0x0F, 0x0E, 0x20, 0x18, 0x19, 0x0A, 0x0E, 0xFC, 0x05, 0xFA, 0x09, 0x01, 0x0E, + 0x05, 0x13, 0x09, 0x12, 0x0A, 0x15, 0x09, 0x13, 0x09, 0x14, 0x0A, 0x15, 0x0A, 0x14, 0x0A, 0x17, + 0x11, 0x22, 0x1D, 0x30, 0x2F, 0x41, 0x38, 0x41, 0x30, 0x25, 0x10, 0x07, 0xF5, 0xFC, 0xE7, 0xF2, + 0xEB, 0xFE, 0xF5, 0x0A, 0x07, 0x15, 0x0D, 0x19, 0x12, 0x1C, 0x11, 0x1A, 0x11, 0x1B, 0x13, 0x1D, + 0x13, 0x1C, 0x11, 0x1E, 0x15, 0x22, 0x17, 0x27, 0x18, 0x29, 0x20, 0x22, 0x12, 0x11, 0x03, 0x09, + 0x00, 0x0A, 0x01, 0x09, 0xFD, 0xF8, 0xF9, 0xFF, 0xFD, 0xF9, 0xFC, 0x31, 0xBC, 0x04, 0x07, 0x04, + 0xFF, 0xFF, 0x00, 0xFE, 0xFD, 0x0B, 0x0C, 0x20, 0x16, 0x1A, 0x0B, 0x0A, 0x00, 0x0A, 0x01, 0x0A, + 0x01, 0x0E, 0x05, 0x12, 0x08, 0x13, 0x0A, 0x13, 0x08, 0x11, 0x08, 0x13, 0x0A, 0x14, 0x0A, 0x14, + 0x0A, 0x18, 0x14, 0x28, 0x2C, 0x40, 0x2D, 0x4C, 0x44, 0x46, 0x31, 0x24, 0x0F, 0x05, 0xF2, 0xEA, + 0xE0, 0xE5, 0xDF, 0xF3, 0xF2, 0x06, 0x03, 0x12, 0x0C, 0x19, 0x10, 0x1B, 0x10, 0x1B, 0x11, 0x1D, + 0x13, 0x1D, 0x14, 0x1D, 0x12, 0x1D, 0x14, 0x21, 0x16, 0x23, 0x1B, 0x25, 0x1B, 0x1E, 0x11, 0x11, + 0x05, 0x09, 0x01, 0x0A, 0x02, 0x0A, 0xFD, 0xF9, 0xFF, 0x05, 0x03, 0xFF, 0x02, 0x37, 0xCF, 0x0C, + 0x0C, 0x07, 0x02, 0x00, 0x00, 0xFE, 0xF9, 0x0A, 0x0C, 0x1C, 0x13, 0x0F, 0xFE, 0xFD, 0xEF, 0xF9, + 0xEF, 0x00, 0xFF, 0x0D, 0x05, 0x12, 0x08, 0x12, 0x09, 0x13, 0x09, 0x13, 0x09, 0x12, 0x0A, 0x14, + 0x0A, 0x16, 0x0C, 0x18, 0x0D, 0x1B, 0x14, 0x22, 0x1B, 0x29, 0x21, 0x27, 0x1E, 0x1E, 0x0F, 0x11, + 0x07, 0x08, 0xFE, 0x08, 0xF4, 0x0D, 0x07, 0x13, 0x0B, 0x17, 0x0E, 0x19, 0x10, 0x1B, 0x10, 0x1B, + 0x12, 0x1C, 0x12, 0x1D, 0x11, 0x1D, 0x13, 0x1E, 0x15, 0x23, 0x1D, 0x2C, 0x28, 0x35, 0x30, 0x2E, + 0x20, 0x19, 0x0B, 0x0B, 0x00, 0x09, 0x00, 0x08, 0xFC, 0xF6, 0xFA, 0x00, 0xFE, 0xFB, 0xFD, 0x2B, + 0xC1, 0x05, 0x07, 0x03, 0x00, 0x01, 0x03, 0x01, 0xFD, 0x0A, 0x0C, 0x1D, 0x12, 0x10, 0x02, 0xFF, + 0xF0, 0xFC, 0xF3, 0x03, 0x00, 0x0E, 0x05, 0x10, 0x08, 0x13, 0x09, 0x13, 0x08, 0x12, 0x08, 0x13, + 0x09, 0x14, 0x09, 0x16, 0x0C, 0x17, 0x10, 0x21, 0x15, 0x2E, 0x26, 0x2A, 0x2A, 0x2C, 0x1F, 0x1D, + 0x0F, 0x0E, 0x02, 0x07, 0xF8, 0x02, 0xF7, 0x06, 0x01, 0x0F, 0x09, 0x16, 0x0D, 0x19, 0x10, 0x1B, + 0x11, 0x1B, 0x12, 0x1D, 0x11, 0x1B, 0x12, 0x1D, 0x12, 0x1E, 0x16, 0x23, 0x1C, 0x2C, 0x26, 0x34, + 0x2B, 0x2A, 0x1D, 0x17, 0x0B, 0x0B, 0x01, 0x09, 0x01, 0x09, 0xFE, 0xF8, 0xFD, 0x05, 0x02, 0xFF, + 0x00, 0x30, 0xD1, 0x0A, 0x0C, 0x06, 0x01, 0x00, 0x02, 0xFF, 0xFE, 0x0A, 0x0A, 0x18, 0x0D, 0x09, + 0xFA, 0xF8, 0xEB, 0xF8, 0xF1, 0x02, 0x00, 0x0C, 0x05, 0x11, 0x08, 0x14, 0x09, 0x15, 0x0A, 0x14, + 0x0A, 0x13, 0x09, 0x13, 0x0A, 0x15, 0x0A, 0x15, 0x0E, 0x19, 0x0C, 0x18, 0x10, 0x1B, 0x11, 0x1C, + 0x11, 0x19, 0x11, 0x1C, 0x11, 0x10, 0x0F, 0x19, 0x06, 0x1A, 0x0E, 0x12, 0x0E, 0x19, 0x10, 0x1A, + 0x10, 0x1A, 0x0F, 0x19, 0x11, 0x1B, 0x11, 0x1C, 0x12, 0x1E, 0x12, 0x1D, 0x14, 0x22, 0x1B, 0x2B, + 0x28, 0x37, 0x31, 0x33, 0x25, 0x1E, 0x11, 0x0E, 0x03, 0x0A, 0x01, 0x08, 0xFD, 0xF8, 0xF8, 0x00, + 0xFE, 0xFC, 0xFE, 0x29, 0xC7, 0x08, 0x09, 0x05, 0x01, 0x02, 0x04, 0x02, 0xFF, 0x0B, 0x09, 0x18, + 0x0F, 0x0C, 0xFA, 0xFA, 0xED, 0xF9, 0xF0, 0x03, 0xFF, 0x0C, 0x07, 0x12, 0x08, 0x12, 0x0A, 0x15, + 0x0A, 0x14, 0x0A, 0x15, 0x09, 0x13, 0x0A, 0x15, 0x0A, 0x17, 0x0D, 0x1A, 0x12, 0x22, 0x15, 0x1F, + 0x16, 0x1E, 0x13, 0x19, 0x11, 0x1A, 0x0E, 0x18, 0x0B, 0x11, 0x08, 0x13, 0x0A, 0x13, 0x0D, 0x19, + 0x0F, 0x1A, 0x10, 0x1B, 0x0F, 0x19, 0x11, 0x1B, 0x10, 0x1C, 0x12, 0x1D, 0x12, 0x1D, 0x14, 0x22, + 0x1B, 0x2C, 0x28, 0x2F, 0x2E, 0x2D, 0x23, 0x1D, 0x0E, 0x0C, 0x04, 0x0A, 0x00, 0x08, 0xFF, 0xF8, + 0xFB, 0x03, 0x00, 0xFD, 0xFF, 0x27, 0xC6, 0x07, 0x08, 0x03, 0xFE, 0xFD, 0x00, 0xFE, 0xFB, 0x08, + 0x07, 0x15, 0x0E, 0x0F, 0x02, 0x06, 0xF7, 0x04, 0xFD, 0x05, 0x01, 0x0F, 0x06, 0x12, 0x07, 0x12, + 0x08, 0x14, 0x0A, 0x14, 0x0B, 0x15, 0x0A, 0x13, 0x0A, 0x15, 0x0B, 0x15, 0x0C, 0x15, 0x06, 0x13, + 0x0A, 0x18, 0x0D, 0x17, 0x0F, 0x1A, 0x10, 0x1C, 0x13, 0x1A, 0x11, 0x1D, 0x13, 0x1D, 0x10, 0x19, + 0x0E, 0x19, 0x10, 0x1A, 0x10, 0x1A, 0x10, 0x1A, 0x10, 0x1A, 0x10, 0x1A, 0x11, 0x1D, 0x12, 0x1C, + 0x12, 0x1D, 0x15, 0x28, 0x1A, 0x27, 0x25, 0x28, 0x1C, 0x1C, 0x0F, 0x0F, 0x04, 0x09, 0x01, 0x09, + 0xFE, 0xF9, 0xFA, 0x01, 0x00, 0xFC, 0xFE, 0x29, 0x0E, 0x0C, 0x0D, 0x07, 0x03, 0x03, 0x05, 0x03, + 0xFD, 0x0B, 0x08, 0x17, 0x0F, 0x0F, 0x02, 0x04, 0xF5, 0x02, 0xF8, 0x06, 0x01, 0x0F, 0x06, 0x11, + 0x08, 0x12, 0x09, 0x13, 0x0B, 0x15, 0x0B, 0x15, 0x0A, 0x13, 0x08, 0x15, 0x0C, 0x17, 0x0C, 0x16, + 0x0D, 0x17, 0x11, 0x18, 0x0D, 0x1A, 0x0F, 0x19, 0x11, 0x1A, 0x0E, 0x17, 0x0F, 0x18, 0x0D, 0x17, + 0x0D, 0x17, 0x0E, 0x18, 0x0E, 0x19, 0x10, 0x1B, 0x10, 0x1B, 0x0F, 0x19, 0x10, 0x1A, 0x10, 0x1B, + 0x11, 0x1D, 0x13, 0x1F, 0x17, 0x25, 0x1E, 0x2A, 0x23, 0x24, 0x1E, 0x1A, 0x0D, 0x0C, 0x01, 0x09, + 0xFF, 0x08, 0xFD, 0xF8, 0xF9, 0xFF, 0xFE, 0xFA, 0xF9, 0xBB, 0xC8, 0x09, 0x09, 0x04, 0x00, 0xFC, + 0xFB, 0x00, 0xFA, 0x07, 0x09, 0x17, 0x0F, 0x14, 0x09, 0x0A, 0x02, 0x0B, 0x00, 0x13, 0x09, 0x11, + 0x07, 0x12, 0x09, 0x14, 0x0A, 0x15, 0x0B, 0x17, 0x0C, 0x16, 0x09, 0x13, 0x0A, 0x15, 0x0A, 0x14, + 0x0A, 0x14, 0x09, 0x15, 0x0C, 0x16, 0x0D, 0x17, 0x0E, 0x19, 0x10, 0x1B, 0x12, 0x1B, 0x10, 0x1A, + 0x0F, 0x19, 0x0F, 0x1B, 0x0E, 0x18, 0x10, 0x1A, 0x0F, 0x18, 0x0D, 0x19, 0x0F, 0x18, 0x0F, 0x19, + 0x10, 0x1A, 0x0F, 0x1B, 0x11, 0x1C, 0x11, 0x1E, 0x13, 0x24, 0x14, 0x20, 0x11, 0x16, 0x0C, 0x0C, + 0x06, 0x0A, 0x03, 0x07, 0xFE, 0xF7, 0xFD, 0x03, 0x01, 0xFE, 0x00, 0x2B, 0xCE, 0x10, 0x10, 0x0A, + 0x04, 0x01, 0x01, 0x04, 0xFD, 0x0E, 0x0B, 0x19, 0x10, 0x14, 0x07, 0x09, 0xFE, 0x0A, 0x01, 0x0E, + 0x07, 0x13, 0x08, 0x12, 0x09, 0x13, 0x09, 0x15, 0x0D, 0x16, 0x0B, 0x15, 0x0A, 0x13, 0x09, 0x13, + 0x0C, 0x16, 0x09, 0x15, 0x09, 0x17, 0x09, 0x15, 0x0C, 0x16, 0x0E, 0x18, 0x0E, 0x19, 0x0F, 0x18, + 0x0D, 0x17, 0x10, 0x19, 0x0E, 0x17, 0x0C, 0x19, 0x0E, 0x19, 0x0E, 0x18, 0x0F, 0x16, 0x0D, 0x17, + 0x0E, 0x17, 0x0E, 0x18, 0x10, 0x1A, 0x10, 0x1C, 0x12, 0x1D, 0x15, 0x20, 0x12, 0x1D, 0x12, 0x15, + 0x09, 0x0A, 0x01, 0x06, 0xFE, 0x05, 0xF4, 0xF4, 0xF5, 0xFC, 0xF9, 0xF5, 0xF3, 0x27, 0xB5, 0x08, + 0x0B, 0x06, 0x00, 0xFE, 0xFB, 0x01, 0xFB, 0x08, 0x0A, 0x19, 0x10, 0x17, 0x0C, 0x12, 0x07, 0x0D, + 0x07, 0x0E, 0x09, 0x13, 0x09, 0x13, 0x09, 0x14, 0x0A, 0x17, 0x0D, 0x18, 0x0D, 0x16, 0x0C, 0x16, + 0x0A, 0x13, 0x0A, 0x11, 0x0A, 0x11, 0x0B, 0x10, 0x09, 0x13, 0x0B, 0x16, 0x0F, 0x19, 0x10, 0x1A, + 0x12, 0x1B, 0x11, 0x1B, 0x11, 0x1C, 0x11, 0x1B, 0x0E, 0x18, 0x0E, 0x18, 0x0E, 0x16, 0x0C, 0x15, + 0x0C, 0x14, 0x0C, 0x15, 0x0D, 0x18, 0x10, 0x18, 0x0E, 0x19, 0x0D, 0x18, 0x11, 0x17, 0x12, 0x17, + 0x0C, 0x13, 0x09, 0x0E, 0x06, 0x0C, 0x01, 0x07, 0xFC, 0xF9, 0x00, 0x05, 0x02, 0xFD, 0x00, 0x39, + 0xC1, 0x12, 0x14, 0x0C, 0x05, 0xFF, 0xFD, 0xFF, 0xFB, 0x08, 0x0A, 0x19, 0x11, 0x14, 0x0A, 0x0F, + 0x05, 0x0D, 0x05, 0x0E, 0x07, 0x12, 0x07, 0x12, 0x09, 0x14, 0x0A, 0x16, 0x0D, 0x17, 0x0C, 0x16, + 0x0B, 0x15, 0x0B, 0x14, 0x09, 0x12, 0x08, 0x12, 0x0A, 0x13, 0x09, 0x15, 0x0C, 0x17, 0x0E, 0x18, + 0x10, 0x19, 0x0F, 0x18, 0x0F, 0x18, 0x0E, 0x19, 0x0F, 0x17, 0x0D, 0x18, 0x0E, 0x18, 0x0D, 0x16, + 0x0C, 0x15, 0x0B, 0x14, 0x0A, 0x15, 0x0C, 0x17, 0x0F, 0x18, 0x0E, 0x19, 0x10, 0x1A, 0x10, 0x18, + 0x0F, 0x18, 0x0E, 0x13, 0x09, 0x0B, 0x03, 0x09, 0x00, 0x05, 0xF5, 0xF5, 0xF8, 0xFB, 0xF7, 0xF0, + 0xF1, 0x33, 0xC3, 0x1D, 0x1C, 0x12, 0x08, 0x00, 0xFA, 0xFD, 0xFA, 0x08, 0x09, 0x18, 0x0D, 0x14, + 0x09, 0x0D, 0x04, 0x0B, 0x04, 0x0D, 0x06, 0x11, 0x09, 0x12, 0x08, 0x12, 0x0A, 0x15, 0x0B, 0x16, + 0x0A, 0x14, 0x0A, 0x14, 0x0B, 0x13, 0x08, 0x0E, 0x08, 0x14, 0x0B, 0x14, 0x0B, 0x16, 0x0E, 0x17, + 0x0C, 0x17, 0x0F, 0x17, 0x0D, 0x17, 0x0F, 0x16, 0x0C, 0x16, 0x0E, 0x18, 0x0C, 0x15, 0x0D, 0x17, + 0x0B, 0x14, 0x0C, 0x15, 0x0C, 0x11, 0x09, 0x15, 0x0D, 0x16, 0x0D, 0x18, 0x0E, 0x19, 0x10, 0x1A, + 0x10, 0x1A, 0x0F, 0x17, 0x0D, 0x14, 0x09, 0x0A, 0xFF, 0x09, 0x01, 0x04, 0xF3, 0xF0, 0xEF, 0xF0, + 0xEA, 0xE3, 0xE1, 0x30, 0xC7, 0x21, 0x22, 0x17, 0x0A, 0x00, 0xFA, 0xFA, 0xF8, 0x07, 0x09, 0x17, + 0x0C, 0x12, 0x08, 0x0E, 0x00, 0x09, 0x03, 0x0D, 0x04, 0x0E, 0x06, 0x13, 0x09, 0x14, 0x0A, 0x14, + 0x0E, 0x16, 0x0A, 0x13, 0x0A, 0x15, 0x0A, 0x11, 0x08, 0x11, 0x07, 0x11, 0x0A, 0x17, 0x0D, 0x16, + 0x0D, 0x17, 0x0F, 0x17, 0x0B, 0x17, 0x0E, 0x17, 0x0C, 0x15, 0x0B, 0x16, 0x0E, 0x17, 0x0E, 0x14, + 0x0C, 0x17, 0x0C, 0x16, 0x0A, 0x14, 0x0B, 0x15, 0x0C, 0x16, 0x0B, 0x16, 0x0F, 0x18, 0x0C, 0x18, + 0x11, 0x1B, 0x0F, 0x19, 0x10, 0x1A, 0x0E, 0x12, 0x08, 0x0C, 0x02, 0x08, 0x00, 0x05, 0xF4, 0xEF, + 0xEA, 0xEA, 0xDE, 0xD9, 0xDA, 0x2D, 0xC9, 0x2F, 0x2A, 0x1D, 0x0E, 0xFF, 0xEF, 0xF0, 0xF1, 0x03, + 0x05, 0x15, 0x0D, 0x12, 0x06, 0x0C, 0x01, 0x08, 0x00, 0x0B, 0x04, 0x10, 0x07, 0x12, 0x08, 0x13, + 0x09, 0x16, 0x0B, 0x15, 0x0A, 0x14, 0x09, 0x14, 0x08, 0x11, 0x06, 0x0F, 0x09, 0x14, 0x0C, 0x19, + 0x0E, 0x19, 0x0E, 0x19, 0x0F, 0x17, 0x0D, 0x16, 0x0D, 0x16, 0x0A, 0x13, 0x0C, 0x16, 0x0C, 0x16, + 0x0C, 0x15, 0x0A, 0x15, 0x0D, 0x16, 0x0B, 0x13, 0x0A, 0x15, 0x0A, 0x15, 0x0C, 0x17, 0x0F, 0x19, + 0x0D, 0x19, 0x11, 0x1E, 0x10, 0x1A, 0x10, 0x19, 0x0E, 0x12, 0x07, 0x0B, 0x03, 0x0A, 0x04, 0x08, + 0xF7, 0xEF, 0xE2, 0xDB, 0xD3, 0xCC, 0xC9, 0x25, 0xC9, 0x36, 0x32, 0x24, 0x11, 0xFD, 0xDE, 0xE6, + 0xE6, 0xFC, 0x04, 0x15, 0x09, 0x11, 0x07, 0x0E, 0x00, 0x09, 0x01, 0x0C, 0x03, 0x11, 0x08, 0x12, + 0x08, 0x13, 0x0A, 0x16, 0x0A, 0x16, 0x08, 0x14, 0x0A, 0x14, 0x09, 0x11, 0x06, 0x0E, 0x08, 0x15, + 0x0E, 0x1A, 0x11, 0x1A, 0x10, 0x1B, 0x0D, 0x18, 0x0C, 0x18, 0x0C, 0x17, 0x0B, 0x14, 0x09, 0x15, + 0x0B, 0x17, 0x0B, 0x15, 0x0A, 0x17, 0x0B, 0x15, 0x0A, 0x14, 0x0C, 0x17, 0x0B, 0x16, 0x0D, 0x1A, + 0x0F, 0x1C, 0x0F, 0x1B, 0x12, 0x1D, 0x11, 0x1B, 0x10, 0x19, 0x0E, 0x15, 0x09, 0x0C, 0x06, 0x10, + 0x0B, 0x0F, 0x00, 0xF1, 0xDA, 0xCD, 0xC7, 0xBB, 0xB5, 0x1A, 0xF2, 0x61, 0x54, 0x31, 0x1C, 0xEE, + 0xC4, 0xBF, 0xD2, 0xF2, 0xFA, 0x0F, 0x07, 0x12, 0x06, 0x0E, 0x02, 0x0A, 0x01, 0x0C, 0x04, 0x12, + 0x08, 0x14, 0x07, 0x15, 0x0A, 0x18, 0x0A, 0x16, 0x09, 0x14, 0x0A, 0x15, 0x09, 0x14, 0x08, 0x10, + 0x08, 0x18, 0x10, 0x20, 0x16, 0x24, 0x16, 0x1E, 0x0F, 0x19, 0x0B, 0x17, 0x0D, 0x16, 0x0C, 0x15, + 0x09, 0x15, 0x0B, 0x18, 0x0A, 0x16, 0x0C, 0x17, 0x0B, 0x14, 0x0A, 0x16, 0x0C, 0x16, 0x0B, 0x18, + 0x0E, 0x19, 0x0F, 0x1A, 0x10, 0x1D, 0x10, 0x1F, 0x13, 0x1E, 0x10, 0x1C, 0x10, 0x1A, 0x0D, 0x13, + 0x0F, 0x1C, 0x7F, 0x27, 0x16, 0xFB, 0xC9, 0xAF, 0xA1, 0x8C, 0x80, 0xD3, 0x29, 0x26, 0x49, 0x43, + 0x3F, 0x3D, 0x39, 0x27, 0x26, 0x1E, 0x08, 0x08, 0xF3, 0xF6, 0xE1, 0xE9, 0xF9, 0x33, 0x63, 0x7F, + 0x7F, 0x60, 0x2C, 0xFC, 0xB9, 0xBC, 0xBC, 0xD5, 0xDF, 0xF6, 0xF5, 0x02, 0xF8, 0x05, 0xFB, 0x07, + 0xF9, 0x04, 0xFA, 0x08, 0xFE, 0x09, 0xF9, 0x07, 0xFA, 0x07, 0xF1, 0xF9, 0xE9, 0xF5, 0xF4, 0xF6, + 0xFE, 0x44, 0x7F, 0x7F, 0x7F, 0x6B, 0x0F, 0xC7, 0x9B, 0x80, 0x80, 0x80, 0xFB, 0x1B, 0x21, 0x1D, + 0x1A, 0x1C, 0x20, 0x1B, 0x16, 0x12, 0xFF, 0x06, 0xF9, 0xFE, 0xED, 0xF4, 0x03, 0x30, 0x54, 0x7D, + 0x67, 0x47, 0x18, 0xEC, 0xBD, 0xCA, 0xC8, 0xE5, 0xE8, 0xFC, 0xFA, 0x05, 0xFB, 0x05, 0xFB, 0x05, + 0xFB, 0x04, 0xF9, 0x07, 0xFE, 0x08, 0xFB, 0x08, 0x02, 0x14, 0x05, 0x0E, 0xFC, 0x06, 0xFA, 0xED, + 0xE6, 0x0B, 0x30, 0x51, 0x45, 0x22, 0xFE, 0xD8, 0xB8, 0x99, 0x80, 0xB2, 0xF1, 0x11, 0x15, 0x13, + 0x0F, 0x13, 0x19, 0x17, 0x12, 0x0E, 0xFD, 0x07, 0xF8, 0x00, 0xF0, 0xF7, 0x05, 0x2E, 0x4E, 0x73, + 0x5E, 0x37, 0x10, 0xEA, 0xC0, 0xCD, 0xCE, 0xEA, 0xEC, 0xFD, 0xFB, 0x06, 0xFD, 0x06, 0xFB, 0x05, + 0xFB, 0x04, 0xFB, 0x07, 0xFF, 0x09, 0xFD, 0x0A, 0x07, 0x17, 0x0B, 0x14, 0x05, 0x0B, 0xFC, 0xEB, + 0xE2, 0xFE, 0x19, 0x38, 0x2B, 0x14, 0xFC, 0xE2, 0xCC, 0xB0, 0x97, 0xD5, 0xEB, 0x0D, 0x0E, 0x0B, + 0x09, 0x0D, 0x14, 0x15, 0x10, 0x0B, 0xFD, 0x07, 0xFB, 0x03, 0xF2, 0xF9, 0x06, 0x2C, 0x44, 0x67, + 0x57, 0x2B, 0x07, 0xDF, 0xC4, 0xD3, 0xD3, 0xED, 0xEF, 0x00, 0xFD, 0x08, 0xFD, 0x05, 0xFB, 0x06, + 0xFB, 0x05, 0xFB, 0x07, 0x01, 0x08, 0x01, 0x0A, 0x0A, 0x1A, 0x0F, 0x18, 0x0A, 0x0E, 0xFE, 0xE9, + 0xDD, 0xF5, 0x0A, 0x29, 0x1A, 0x07, 0xFB, 0xED, 0xDE, 0xC6, 0xB5, 0xE9, 0xE9, 0x08, 0x09, 0x06, + 0x04, 0x09, 0x11, 0x12, 0x0D, 0x09, 0xFC, 0x08, 0xFD, 0x04, 0xF3, 0xFB, 0x07, 0x2A, 0x41, 0x62, + 0x53, 0x2A, 0x00, 0xDD, 0xC7, 0xD7, 0xDA, 0xEF, 0xF5, 0x02, 0xFF, 0x08, 0xFE, 0x05, 0xFD, 0x05, + 0xFB, 0x05, 0xFB, 0x07, 0x02, 0x09, 0x01, 0x0D, 0x0A, 0x1B, 0x12, 0x1A, 0x0A, 0x0F, 0xFE, 0xE8, + 0xDB, 0xF0, 0x02, 0x20, 0x0F, 0xFF, 0xFB, 0xF4, 0xEC, 0xD7, 0xCD, 0x09, 0xE8, 0x06, 0x06, 0x04, + 0x01, 0x05, 0x0A, 0x0C, 0x0A, 0x08, 0xFB, 0x07, 0xFE, 0x05, 0xF5, 0xFD, 0x08, 0x29, 0x3C, 0x5B, + 0x4C, 0x24, 0xFC, 0xDE, 0xCA, 0xDE, 0xDF, 0xF2, 0xF6, 0x07, 0x03, 0x0A, 0x01, 0x08, 0x01, 0x06, + 0xFC, 0x05, 0xFD, 0x06, 0x00, 0x08, 0x02, 0x0E, 0x0A, 0x1B, 0x13, 0x1C, 0x0F, 0x11, 0x00, 0xE7, + 0xDA, 0xEE, 0xFC, 0x19, 0x09, 0xFC, 0xFD, 0xFB, 0xF6, 0xE7, 0xE7, 0x29, 0xEE, 0x08, 0x08, 0x04, + 0x00, 0x01, 0x05, 0x02, 0x03, 0x07, 0xF9, 0x07, 0xFF, 0x05, 0xF5, 0xFE, 0x06, 0x24, 0x37, 0x53, + 0x42, 0x18, 0xF7, 0xDF, 0xD5, 0xEA, 0xE5, 0xFA, 0xFB, 0x0C, 0x05, 0x0E, 0x05, 0x08, 0x01, 0x07, + 0xFE, 0x05, 0xFE, 0x07, 0x00, 0x09, 0x03, 0x0F, 0x0B, 0x1C, 0x14, 0x1E, 0x11, 0x14, 0x01, 0xE5, + 0xD9, 0xEA, 0xFB, 0x16, 0x0B, 0xFC, 0x00, 0x01, 0xFF, 0xF8, 0x02, 0x44, 0xDD, 0x00, 0x01, 0x00, + 0xFF, 0x04, 0x0B, 0x09, 0x08, 0x09, 0xFB, 0x07, 0x00, 0x04, 0xF5, 0xFC, 0x03, 0x20, 0x33, 0x59, + 0x53, 0x38, 0x18, 0xF4, 0xD8, 0xE2, 0xDF, 0xF7, 0xF9, 0x08, 0x00, 0x0A, 0x03, 0x09, 0xFD, 0x07, + 0x01, 0x08, 0x00, 0x09, 0x02, 0x0D, 0x05, 0x12, 0x0C, 0x1E, 0x16, 0x22, 0x17, 0x1C, 0x05, 0xE4, + 0xD3, 0xE1, 0xEF, 0x0D, 0xFE, 0xF9, 0xFC, 0xFE, 0xF9, 0xF1, 0xF1, 0x3A, 0xF2, 0x0D, 0x0D, 0x08, + 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0xF8, 0x04, 0xFF, 0x02, 0xF2, 0xF7, 0xF7, 0x13, 0x2D, 0x50, + 0x4E, 0x37, 0x15, 0xF8, 0xE2, 0xE9, 0xE7, 0xFA, 0xFC, 0x0A, 0x03, 0x0D, 0x03, 0x0B, 0xFF, 0x08, + 0x00, 0x09, 0x01, 0x09, 0x02, 0x0B, 0x04, 0x0E, 0x09, 0x1A, 0x13, 0x1F, 0x14, 0x1A, 0x04, 0xE6, + 0xD5, 0xE7, 0xFC, 0x14, 0x09, 0xFF, 0x02, 0xFF, 0xFC, 0xF2, 0xFA, 0x44, 0xE1, 0xFB, 0xFC, 0xFC, + 0xFB, 0xFE, 0x07, 0x0B, 0x03, 0x05, 0xF7, 0x05, 0xFC, 0xFF, 0xED, 0xF1, 0xEF, 0x0C, 0x23, 0x48, + 0x49, 0x4D, 0x37, 0x1A, 0xFA, 0xEE, 0xE3, 0xF4, 0xF2, 0x03, 0xFE, 0x08, 0x01, 0x08, 0x00, 0x09, + 0x01, 0x09, 0x01, 0x0C, 0x02, 0x0C, 0x05, 0x11, 0x0B, 0x1C, 0x15, 0x22, 0x18, 0x1A, 0x03, 0xDF, + 0xCC, 0xDE, 0xF2, 0x10, 0x04, 0xF7, 0xFC, 0xFE, 0xFA, 0xF0, 0xFA, 0x55, 0xF2, 0x0E, 0x0E, 0x08, + 0x04, 0x05, 0x07, 0x06, 0x03, 0x04, 0xF6, 0x04, 0xFA, 0xFA, 0xE6, 0xEA, 0xE5, 0x01, 0x15, 0x38, + 0x41, 0x47, 0x36, 0x1E, 0x00, 0xF6, 0xE8, 0xF9, 0xF3, 0x06, 0x02, 0x0A, 0x01, 0x09, 0x02, 0x09, + 0x01, 0x0A, 0x02, 0x0C, 0x01, 0x0C, 0x03, 0x0F, 0x0A, 0x1A, 0x12, 0x20, 0x15, 0x1B, 0x03, 0xE1, + 0xCF, 0xE0, 0xF9, 0x1D, 0x0F, 0x06, 0x07, 0x00, 0xFB, 0xED, 0xEF, 0x48, 0xCC, 0xF9, 0xFB, 0xFA, + 0xF8, 0xFB, 0x03, 0x05, 0x06, 0x11, 0x0F, 0x25, 0x18, 0x0B, 0xEE, 0xE2, 0xDC, 0xF9, 0x0D, 0x30, + 0x3A, 0x44, 0x39, 0x3B, 0x25, 0x13, 0xFB, 0xFD, 0xF1, 0x04, 0xFF, 0x08, 0xFD, 0x0A, 0x03, 0x0C, + 0x03, 0x0B, 0x03, 0x0E, 0x03, 0x0E, 0x06, 0x13, 0x0E, 0x1B, 0x0F, 0x09, 0xF4, 0xFA, 0xF6, 0xF5, + 0xEF, 0x02, 0x05, 0x15, 0xFF, 0xF9, 0xFE, 0xFE, 0xF9, 0xEF, 0xFA, 0x52, 0xE0, 0x0D, 0x0F, 0x09, + 0x05, 0x05, 0x07, 0x06, 0x07, 0x15, 0x10, 0x24, 0x15, 0x07, 0xEA, 0xDB, 0xD2, 0xF1, 0x05, 0x28, + 0x36, 0x41, 0x39, 0x3F, 0x2A, 0x18, 0xFF, 0x01, 0xF4, 0x06, 0x01, 0x09, 0xFE, 0x0B, 0x04, 0x0C, + 0x01, 0x0A, 0x03, 0x0E, 0x02, 0x0D, 0x05, 0x12, 0x0C, 0x1B, 0x0D, 0x0B, 0xF5, 0xFD, 0xF9, 0xF8, + 0xF5, 0x04, 0x0C, 0x1D, 0x08, 0x01, 0x03, 0xFB, 0xF5, 0xE9, 0xEA, 0x4B, 0xC1, 0xFE, 0x01, 0xFF, + 0xFB, 0xFF, 0x05, 0x08, 0x00, 0x0D, 0x0E, 0x27, 0x1E, 0x0C, 0xF0, 0xDA, 0xD0, 0xEC, 0xFE, 0x23, + 0x30, 0x3E, 0x3B, 0x4D, 0x40, 0x31, 0x0E, 0x00, 0xF1, 0x06, 0x00, 0x0A, 0x03, 0x0C, 0x04, 0x0B, + 0x03, 0x0F, 0x07, 0x13, 0x06, 0x0E, 0x07, 0x13, 0x0A, 0x17, 0x05, 0xFC, 0xE5, 0xEC, 0xF0, 0xFF, + 0xFD, 0x0D, 0x0D, 0x1A, 0x02, 0xF8, 0xFF, 0xFE, 0xF7, 0xED, 0xF9, 0x65, 0xCD, 0x0E, 0x0F, 0x09, + 0x06, 0x05, 0x08, 0x08, 0x05, 0x10, 0x11, 0x26, 0x1D, 0x0D, 0xED, 0xD5, 0xCA, 0xE5, 0xF8, 0x1E, + 0x2C, 0x38, 0x3B, 0x4F, 0x45, 0x36, 0x12, 0x03, 0xF3, 0x07, 0x01, 0x0A, 0x02, 0x0D, 0x05, 0x0C, + 0x04, 0x10, 0x05, 0x11, 0x06, 0x0E, 0x05, 0x12, 0x09, 0x16, 0x05, 0x00, 0xEA, 0xF0, 0xF6, 0x03, + 0x00, 0x0E, 0x11, 0x1E, 0x07, 0xFE, 0x01, 0xF9, 0xF3, 0xE6, 0xE8, 0x51, 0xBC, 0x05, 0x06, 0x03, + 0xFE, 0xFE, 0x04, 0x07, 0x05, 0x10, 0x11, 0x27, 0x1D, 0x0B, 0xE9, 0xD0, 0xC4, 0xD9, 0xF3, 0x1A, + 0x26, 0x36, 0x3B, 0x53, 0x52, 0x4A, 0x29, 0x10, 0xFB, 0x08, 0x00, 0x08, 0x02, 0x0B, 0x04, 0x0F, + 0x06, 0x12, 0x07, 0x13, 0x08, 0x14, 0x0A, 0x16, 0x08, 0x09, 0xF2, 0xE6, 0xDB, 0xEF, 0xF9, 0x04, + 0xFF, 0x0C, 0x07, 0x18, 0x03, 0xF8, 0xFF, 0xFE, 0xF7, 0xEA, 0xF7, 0x5F, 0xBE, 0x0D, 0x0F, 0x09, + 0x04, 0x02, 0x05, 0x04, 0x05, 0x12, 0x12, 0x28, 0x1C, 0x0A, 0xE4, 0xCC, 0xBB, 0xD5, 0xEF, 0x16, + 0x23, 0x35, 0x3B, 0x55, 0x55, 0x48, 0x2C, 0x10, 0xFB, 0x08, 0x01, 0x09, 0x02, 0x0B, 0x04, 0x0F, + 0x08, 0x12, 0x07, 0x13, 0x07, 0x13, 0x08, 0x15, 0x08, 0x08, 0xF5, 0xEC, 0xE2, 0xF8, 0xFF, 0x08, + 0x04, 0x0B, 0x09, 0x1A, 0x04, 0xFB, 0xFF, 0xFD, 0xF6, 0xE7, 0xE8, 0x59, 0xB9, 0x0A, 0x0C, 0x05, + 0x00, 0xFE, 0x02, 0x03, 0x00, 0x0F, 0x0E, 0x26, 0x19, 0x05, 0xDD, 0xC3, 0xB3, 0xD1, 0xEC, 0x13, + 0x21, 0x33, 0x3A, 0x55, 0x58, 0x55, 0x34, 0x1D, 0x03, 0x08, 0x00, 0x09, 0x03, 0x0D, 0x05, 0x0F, + 0x05, 0x14, 0x0A, 0x14, 0x08, 0x14, 0x0B, 0x18, 0x06, 0x00, 0xE5, 0xDD, 0xDB, 0xFA, 0x02, 0x08, + 0xFC, 0x04, 0x06, 0x1D, 0x07, 0xFD, 0x01, 0xFE, 0xF7, 0xE9, 0xF7, 0x65, 0xBA, 0x0C, 0x0E, 0x07, + 0x02, 0xFD, 0xFF, 0xFF, 0x02, 0x0F, 0x12, 0x27, 0x1B, 0x04, 0xDC, 0xBF, 0xAF, 0xCE, 0xE9, 0x12, + 0x20, 0x33, 0x3A, 0x57, 0x5A, 0x57, 0x36, 0x20, 0x05, 0x09, 0x01, 0x0A, 0x04, 0x0E, 0x06, 0x0F, + 0x07, 0x13, 0x09, 0x13, 0x07, 0x13, 0x0A, 0x18, 0x07, 0x02, 0xE8, 0xE5, 0xE4, 0x02, 0x0A, 0x09, + 0xFE, 0x05, 0x05, 0x1A, 0x07, 0xFD, 0xFF, 0xF9, 0xF3, 0xE5, 0xE7, 0x60, 0xBB, 0x0C, 0x0E, 0x07, + 0x02, 0x02, 0x06, 0x09, 0x08, 0x14, 0x0F, 0x25, 0x17, 0xFF, 0xD5, 0xBA, 0xAB, 0xCA, 0xE7, 0x10, + 0x1F, 0x32, 0x3A, 0x58, 0x5F, 0x60, 0x43, 0x2A, 0x0C, 0x09, 0xFF, 0x0A, 0x03, 0x0E, 0x08, 0x12, + 0x07, 0x14, 0x0A, 0x14, 0x09, 0x16, 0x0A, 0x14, 0x01, 0xF5, 0xDD, 0xDF, 0xE3, 0x08, 0x0F, 0x0B, + 0xFB, 0xFF, 0xFC, 0x19, 0x07, 0xFF, 0x02, 0xFE, 0xF6, 0xE9, 0xF6, 0x6A, 0xB4, 0x0A, 0x0C, 0x05, + 0x00, 0xFD, 0x00, 0x02, 0x07, 0x15, 0x11, 0x26, 0x18, 0xFF, 0xD4, 0xB5, 0xA7, 0xC7, 0xE6, 0x10, + 0x1E, 0x32, 0x3B, 0x59, 0x60, 0x63, 0x44, 0x2A, 0x0D, 0x09, 0xFF, 0x0A, 0x03, 0x0F, 0x06, 0x12, + 0x08, 0x16, 0x0A, 0x14, 0x09, 0x16, 0x0A, 0x15, 0x03, 0xF9, 0xE4, 0xE4, 0xEF, 0x0D, 0x13, 0x0F, + 0xFD, 0xFE, 0xFB, 0x18, 0x06, 0xFD, 0x00, 0xFA, 0xF2, 0xE4, 0xE6, 0x65, 0xBE, 0x0C, 0x0D, 0x07, + 0x01, 0x00, 0x05, 0x09, 0x05, 0x0E, 0x0D, 0x22, 0x13, 0xFF, 0xD5, 0xB6, 0xA5, 0xC6, 0xE5, 0x0F, + 0x1E, 0x33, 0x3A, 0x59, 0x62, 0x66, 0x48, 0x2C, 0x0C, 0x08, 0x00, 0x10, 0x06, 0x0F, 0x06, 0x0F, + 0x07, 0x15, 0x0A, 0x14, 0x0C, 0x17, 0x0A, 0x0F, 0xFC, 0xF4, 0xE0, 0xEB, 0xF2, 0x0D, 0x0C, 0x0C, + 0xFA, 0x04, 0x04, 0x1A, 0x07, 0xFD, 0x02, 0xFE, 0xF5, 0xE8, 0xF7, 0x70, 0xBE, 0x0F, 0x11, 0x0A, + 0x05, 0x03, 0x07, 0x07, 0x05, 0x11, 0x0E, 0x24, 0x16, 0xFF, 0xD4, 0xB1, 0xA2, 0xC4, 0xE3, 0x0F, + 0x1F, 0x33, 0x3B, 0x5A, 0x63, 0x67, 0x49, 0x2D, 0x0D, 0x09, 0x00, 0x10, 0x07, 0x0E, 0x06, 0x0F, + 0x08, 0x15, 0x09, 0x15, 0x0B, 0x18, 0x0A, 0x0F, 0xFB, 0xF6, 0xE3, 0xF0, 0xF5, 0x12, 0x0F, 0x0B, + 0xFC, 0x01, 0x02, 0x18, 0x05, 0xF9, 0xFF, 0xFB, 0xF2, 0xE4, 0xE9, 0x6E, 0xB2, 0x0A, 0x0A, 0x06, + 0xFD, 0xFA, 0xFF, 0x00, 0xFD, 0x0C, 0x0C, 0x21, 0x13, 0xFD, 0xD1, 0xB0, 0xA0, 0xC2, 0xE3, 0x0F, + 0x1F, 0x34, 0x3B, 0x5A, 0x63, 0x66, 0x4A, 0x30, 0x10, 0x0A, 0x02, 0x0F, 0x06, 0x11, 0x08, 0x11, + 0x09, 0x15, 0x09, 0x14, 0x0B, 0x17, 0x08, 0x09, 0xF6, 0xF1, 0xE1, 0xF1, 0xF8, 0x12, 0x0B, 0x08, + 0xF6, 0xFF, 0x02, 0x18, 0x05, 0xFD, 0x02, 0xFE, 0xF6, 0xE8, 0xF5, 0x7F, 0xBC, 0x10, 0x13, 0x0D, + 0x07, 0x05, 0x07, 0x03, 0xFF, 0x0E, 0x0C, 0x23, 0x14, 0xFD, 0xD0, 0xAB, 0x9D, 0xC0, 0xE2, 0x0F, + 0x1F, 0x34, 0x3B, 0x5B, 0x63, 0x68, 0x4A, 0x2F, 0x10, 0x0A, 0x02, 0x0F, 0x06, 0x11, 0x08, 0x12, + 0x09, 0x15, 0x0A, 0x15, 0x0B, 0x18, 0x09, 0x0B, 0xF7, 0xF6, 0xE4, 0xF4, 0xFB, 0x13, 0x0F, 0x0A, + 0xF8, 0xFF, 0x01, 0x17, 0x03, 0xF9, 0xFF, 0xFA, 0xF2, 0xE4, 0xE8, 0x71, 0xAD, 0x0A, 0x0C, 0x06, + 0x00, 0xFC, 0xFF, 0x01, 0xFE, 0x0E, 0x0E, 0x22, 0x12, 0xFB, 0xD0, 0xAE, 0x9E, 0xBF, 0xE2, 0x0F, + 0x1F, 0x33, 0x3B, 0x5A, 0x63, 0x66, 0x4A, 0x2F, 0x10, 0x0B, 0x05, 0x12, 0x08, 0x11, 0x09, 0x12, + 0x08, 0x13, 0x09, 0x17, 0x0A, 0x15, 0x05, 0x08, 0xF5, 0xF6, 0xE7, 0xF6, 0xFE, 0x13, 0x0A, 0x08, + 0xF8, 0x01, 0x04, 0x19, 0x05, 0xFD, 0x02, 0xFC, 0xF6, 0xE7, 0xF4, 0x7F, 0xB6, 0x10, 0x13, 0x0B, + 0x04, 0xFF, 0x01, 0x01, 0xFB, 0x0D, 0x0F, 0x22, 0x13, 0xFA, 0xCF, 0xAD, 0x9D, 0xBE, 0xE1, 0x10, + 0x1F, 0x33, 0x3A, 0x5B, 0x64, 0x67, 0x49, 0x30, 0x0F, 0x0C, 0x05, 0x11, 0x08, 0x13, 0x09, 0x13, + 0x08, 0x14, 0x0A, 0x17, 0x0A, 0x15, 0x06, 0x0B, 0xF7, 0xF9, 0xEA, 0xFA, 0x00, 0x15, 0x0C, 0x09, + 0xF7, 0x04, 0x00, 0x16, 0x02, 0xFA, 0xFE, 0xFA, 0xF1, 0xE3, 0xF1, 0x73, 0xAD, 0x0C, 0x0F, 0x08, + 0x01, 0xFD, 0x00, 0x01, 0x01, 0x0F, 0x10, 0x24, 0x13, 0xFC, 0xD1, 0xAF, 0x9E, 0xBE, 0xE1, 0x10, + 0x20, 0x32, 0x3A, 0x5A, 0x63, 0x65, 0x44, 0x2A, 0x0C, 0x0C, 0x04, 0x13, 0x09, 0x15, 0x0A, 0x13, + 0x08, 0x14, 0x0A, 0x17, 0x0B, 0x14, 0x07, 0x0B, 0xFA, 0xFB, 0xED, 0xFC, 0x00, 0x13, 0x08, 0x04, + 0xF5, 0x01, 0x02, 0x18, 0x06, 0xFE, 0x03, 0xFD, 0xF5, 0xE7, 0xF4, 0x7F, 0xAA, 0x13, 0x14, 0x0B, + 0x03, 0xFB, 0x02, 0xFE, 0xFC, 0x0C, 0x0E, 0x21, 0x13, 0xFB, 0xD1, 0xB1, 0x9E, 0xBE, 0xE2, 0x10, + 0x1F, 0x31, 0x39, 0x5A, 0x62, 0x63, 0x44, 0x2C, 0x0C, 0x0C, 0x05, 0x13, 0x0A, 0x16, 0x0A, 0x13, + 0x08, 0x14, 0x0A, 0x17, 0x0B, 0x15, 0x07, 0x0D, 0xFB, 0xFE, 0xF0, 0xFE, 0x04, 0x15, 0x09, 0x04, + 0xF4, 0x03, 0x03, 0x17, 0x03, 0xFB, 0xFF, 0xFA, 0xF1, 0xE3, 0xE8, 0x75, 0x97, 0x0C, 0x0F, 0x08, + 0x02, 0xFE, 0x02, 0x03, 0x00, 0x0D, 0x0E, 0x24, 0x15, 0x01, 0xD9, 0xB6, 0xA2, 0xC0, 0xE2, 0x10, + 0x1E, 0x30, 0x37, 0x59, 0x5F, 0x5E, 0x3F, 0x27, 0x0C, 0x0E, 0x05, 0x10, 0x09, 0x13, 0x09, 0x13, + 0x09, 0x13, 0x0A, 0x18, 0x0B, 0x16, 0x08, 0x0C, 0xFC, 0x00, 0xF1, 0x01, 0x03, 0x11, 0x05, 0xFC, + 0xF0, 0xFF, 0x02, 0x18, 0x07, 0x00, 0x04, 0xFE, 0xF5, 0xE6, 0xF3, 0x77, 0xC5, 0x13, 0x15, 0x0B, + 0x03, 0xFF, 0x02, 0xFE, 0xFA, 0x0A, 0x09, 0x1E, 0x12, 0x00, 0xD8, 0xB7, 0xA4, 0xC1, 0xE2, 0x0F, + 0x1D, 0x2F, 0x36, 0x58, 0x5F, 0x5B, 0x3D, 0x27, 0x0C, 0x0F, 0x05, 0x10, 0x09, 0x13, 0x09, 0x12, + 0x08, 0x14, 0x0A, 0x18, 0x0B, 0x17, 0x0A, 0x0F, 0xFE, 0x03, 0xF3, 0x03, 0x05, 0x14, 0x06, 0x00, + 0xF2, 0x00, 0xFD, 0x18, 0x05, 0xFB, 0x00, 0xFA, 0xF0, 0xE2, 0xE6, 0x72, 0xA0, 0x0D, 0x12, 0x09, + 0x03, 0xFE, 0x03, 0x04, 0x01, 0x0E, 0x0F, 0x24, 0x17, 0x05, 0xDF, 0xBC, 0xA7, 0xC3, 0xE2, 0x0F, + 0x1C, 0x2D, 0x35, 0x55, 0x5A, 0x5A, 0x39, 0x27, 0x0E, 0x10, 0x05, 0x11, 0x08, 0x14, 0x09, 0x14, + 0x0A, 0x13, 0x09, 0x17, 0x0C, 0x14, 0x04, 0x0B, 0xFC, 0x02, 0xF6, 0x04, 0x07, 0x0F, 0x02, 0xFA, + 0xED, 0x02, 0x04, 0x1A, 0x07, 0xFD, 0x02, 0xFD, 0xF4, 0xE5, 0xF3, 0x75, 0xB0, 0x15, 0x17, 0x0D, + 0x03, 0xFD, 0x02, 0xFE, 0xFE, 0x0B, 0x0D, 0x1F, 0x15, 0x02, 0xE0, 0xC1, 0xAB, 0xC5, 0xE4, 0x0E, + 0x1B, 0x2C, 0x33, 0x53, 0x57, 0x55, 0x38, 0x26, 0x0C, 0x0F, 0x05, 0x10, 0x0A, 0x15, 0x09, 0x13, + 0x0A, 0x14, 0x09, 0x17, 0x0D, 0x15, 0x06, 0x0C, 0xFD, 0x04, 0xF9, 0x07, 0x0A, 0x13, 0x04, 0xFC, + 0xF1, 0x01, 0x03, 0x1A, 0x05, 0xFB, 0x00, 0xFA, 0xF0, 0xE2, 0xE8, 0x71, 0xD0, 0x14, 0x14, 0x0C, + 0x02, 0xFD, 0x01, 0x03, 0x03, 0x10, 0x12, 0x24, 0x17, 0x05, 0xE1, 0xC3, 0xAD, 0xC7, 0xE4, 0x0D, + 0x19, 0x2A, 0x30, 0x50, 0x56, 0x55, 0x39, 0x28, 0x10, 0x11, 0x06, 0x10, 0x07, 0x14, 0x0B, 0x15, + 0x0A, 0x15, 0x0B, 0x16, 0x09, 0x0E, 0xFD, 0x07, 0xFC, 0x06, 0xFB, 0x0B, 0x0C, 0x12, 0x04, 0xF9, + 0xED, 0xFF, 0x03, 0x1B, 0x06, 0xFC, 0x03, 0xFE, 0xF5, 0xE6, 0xF3, 0x74, 0xD0, 0x19, 0x1A, 0x0D, + 0x03, 0xF7, 0xFF, 0xFD, 0xFF, 0x0E, 0x10, 0x22, 0x13, 0x05, 0xE1, 0xC4, 0xAF, 0xC9, 0xE6, 0x0C, + 0x18, 0x29, 0x2E, 0x4B, 0x4D, 0x4F, 0x34, 0x25, 0x0D, 0x0F, 0x07, 0x11, 0x08, 0x13, 0x0B, 0x16, + 0x0B, 0x15, 0x0B, 0x16, 0x09, 0x10, 0x01, 0x07, 0xFF, 0x07, 0x02, 0x10, 0x10, 0x15, 0x05, 0xFE, + 0xF0, 0x00, 0x02, 0x1A, 0x05, 0xFC, 0x01, 0xFA, 0xF3, 0xE4, 0xE8, 0x71, 0xC8, 0x18, 0x19, 0x0E, + 0x04, 0xFD, 0x01, 0x04, 0x03, 0x16, 0x13, 0x26, 0x17, 0x00, 0xD9, 0xBD, 0xAB, 0xCA, 0xE7, 0x0C, + 0x17, 0x27, 0x2B, 0x48, 0x46, 0x49, 0x33, 0x2D, 0x18, 0x19, 0x0B, 0x13, 0x0B, 0x16, 0x0A, 0x13, + 0x07, 0x0F, 0x04, 0x0B, 0xFF, 0x06, 0xFD, 0x06, 0xFF, 0x09, 0x06, 0x17, 0x16, 0x1B, 0x0D, 0x01, + 0xF4, 0x03, 0x01, 0x1A, 0x07, 0xFE, 0x02, 0xFC, 0xF3, 0xE4, 0xF2, 0x74, 0xC9, 0x1C, 0x1D, 0x10, + 0x03, 0xF8, 0xFA, 0xFE, 0x02, 0x0F, 0x12, 0x24, 0x14, 0xFC, 0xD9, 0xBF, 0xB0, 0xCD, 0xE9, 0x0C, + 0x16, 0x25, 0x29, 0x41, 0x3F, 0x45, 0x2F, 0x2A, 0x16, 0x18, 0x0B, 0x13, 0x0B, 0x16, 0x0A, 0x13, + 0x07, 0x0F, 0x04, 0x0B, 0xFF, 0x08, 0x00, 0x0A, 0x03, 0x0E, 0x0B, 0x1A, 0x19, 0x22, 0x10, 0x06, + 0xF5, 0x05, 0x05, 0x1A, 0x07, 0xFD, 0x03, 0xFB, 0xF5, 0xE6, 0xF2, 0x74, 0xD1, 0x17, 0x1A, 0x0C, + 0x02, 0xFC, 0x02, 0x03, 0xFA, 0x0D, 0x10, 0x26, 0x17, 0xF9, 0xCF, 0xB6, 0xAA, 0xCE, 0xEB, 0x0C, + 0x14, 0x22, 0x24, 0x3A, 0x37, 0x3A, 0x27, 0x24, 0x11, 0x16, 0x0A, 0x12, 0x0B, 0x15, 0x09, 0x11, + 0x07, 0x0F, 0x06, 0x0D, 0x00, 0x09, 0x01, 0x0E, 0x07, 0x14, 0x11, 0x22, 0x25, 0x2D, 0x1A, 0x0B, + 0xF8, 0x00, 0x04, 0x1B, 0x07, 0xFE, 0x01, 0xFB, 0xF2, 0xE2, 0xE7, 0x72, 0xD1, 0x1A, 0x1B, 0x0D, + 0x03, 0xF9, 0xFD, 0x00, 0xFA, 0x0C, 0x0E, 0x23, 0x13, 0xF5, 0xCA, 0xB6, 0xAE, 0xD2, 0xED, 0x0D, + 0x13, 0x20, 0x1F, 0x32, 0x29, 0x2E, 0x1B, 0x1E, 0x10, 0x14, 0x08, 0x13, 0x0A, 0x14, 0x0B, 0x12, + 0x08, 0x10, 0x06, 0x0E, 0x01, 0x0A, 0x02, 0x0F, 0x0A, 0x1A, 0x19, 0x2B, 0x2D, 0x33, 0x20, 0x11, + 0xFA, 0x04, 0x05, 0x1C, 0x08, 0xFF, 0x05, 0xFB, 0xF4, 0xE5, 0xF1, 0x7F, 0xD0, 0x1A, 0x1B, 0x0E, + 0x04, 0xFB, 0xFD, 0x01, 0x02, 0x18, 0x14, 0x1F, 0x03, 0xE1, 0xBF, 0xB7, 0xB6, 0xD6, 0xF0, 0x0D, + 0x11, 0x1E, 0x1A, 0x2A, 0x1A, 0x21, 0x11, 0x19, 0x0C, 0x14, 0x09, 0x11, 0x0A, 0x14, 0x0B, 0x12, + 0x07, 0x0F, 0x06, 0x0E, 0x03, 0x0B, 0x04, 0x12, 0x0F, 0x20, 0x20, 0x32, 0x36, 0x43, 0x33, 0x19, + 0xFF, 0x03, 0x02, 0x1C, 0x05, 0xFA, 0x01, 0xFC, 0xF2, 0xE3, 0xF2, 0x74, 0xE8, 0x1B, 0x1B, 0x0E, + 0x02, 0xF8, 0xFA, 0xFF, 0x01, 0x12, 0x12, 0x1B, 0xFC, 0xE0, 0xBD, 0xBB, 0xBC, 0xE2, 0xF4, 0x0D, + 0x10, 0x1A, 0x13, 0x17, 0x09, 0x0F, 0x02, 0x11, 0x0A, 0x13, 0x09, 0x11, 0x09, 0x14, 0x0A, 0x12, + 0x07, 0x10, 0x06, 0x0F, 0x04, 0x0D, 0x08, 0x15, 0x15, 0x28, 0x2B, 0x3C, 0x43, 0x4D, 0x39, 0x1D, + 0x03, 0x06, 0x04, 0x1D, 0x07, 0xFF, 0x04, 0xFC, 0xF4, 0xE4, 0xF3, 0x76, 0xE9, 0x1B, 0x1E, 0x11, + 0x03, 0xFC, 0xFE, 0xFF, 0xFE, 0x10, 0x0F, 0x0E, 0xEB, 0xD5, 0xB5, 0xBA, 0xC1, 0xE8, 0xF8, 0x10, + 0x0F, 0x18, 0x0B, 0x0D, 0xF8, 0xFE, 0xF7, 0x0B, 0x07, 0x13, 0x08, 0x10, 0x09, 0x13, 0x08, 0x10, + 0x07, 0x10, 0x08, 0x10, 0x05, 0x0F, 0x08, 0x18, 0x1B, 0x33, 0x3A, 0x4B, 0x50, 0x5C, 0x47, 0x28, + 0x0C, 0x03, 0x02, 0x18, 0x03, 0xFA, 0x01, 0xFC, 0xF2, 0xE3, 0xE8, 0x75, 0xE9, 0x1A, 0x1B, 0x0E, + 0x03, 0xFA, 0xFC, 0xFE, 0xFD, 0x10, 0x0C, 0x0A, 0xEA, 0xC9, 0xAC, 0xBE, 0xCA, 0xEF, 0xFD, 0x12, + 0x0E, 0x14, 0x03, 0xFF, 0xEA, 0xEE, 0xEC, 0x00, 0x04, 0x11, 0x08, 0x10, 0x08, 0x11, 0x07, 0x10, + 0x07, 0x10, 0x09, 0x12, 0x07, 0x11, 0x0A, 0x1B, 0x21, 0x3B, 0x46, 0x5A, 0x5F, 0x68, 0x53, 0x2E, + 0x0F, 0x08, 0xFE, 0x19, 0x04, 0xFE, 0x02, 0xFA, 0xF3, 0xE4, 0xF0, 0x76, 0xC7, 0x1A, 0x1C, 0x0F, + 0x02, 0xFC, 0x00, 0x04, 0x04, 0x1C, 0x14, 0x05, 0xE1, 0xB7, 0xA2, 0xC1, 0xD4, 0xF7, 0x02, 0x13, + 0x0D, 0x10, 0xFA, 0xF0, 0xD7, 0xDA, 0xDC, 0xFA, 0x02, 0x10, 0x07, 0x0F, 0x06, 0x0F, 0x06, 0x0F, + 0x07, 0x10, 0x09, 0x12, 0x08, 0x11, 0x0C, 0x1E, 0x26, 0x42, 0x51, 0x67, 0x6D, 0x7D, 0x60, 0x36, + 0x18, 0x08, 0x02, 0x1B, 0x08, 0xFF, 0x02, 0xFC, 0xF2, 0xE2, 0xF1, 0x77, 0xB2, 0x14, 0x15, 0x0B, + 0x00, 0xFB, 0x01, 0x04, 0x02, 0x16, 0x10, 0x00, 0xD7, 0xAF, 0xA0, 0xC5, 0xE3, 0x00, 0x09, 0x17, + 0x0B, 0x0C, 0xF4, 0xDE, 0xC6, 0xCC, 0xD0, 0xF4, 0x00, 0x0F, 0x07, 0x0F, 0x06, 0x0F, 0x05, 0x0F, + 0x06, 0x11, 0x0A, 0x13, 0x09, 0x13, 0x0D, 0x20, 0x2E, 0x4D, 0x58, 0x72, 0x79, 0x7F, 0x68, 0x43, + 0x1D, 0x0A, 0x02, 0x1B, 0x08, 0x00, 0x03, 0xFA, 0xF3, 0xE3, 0xF2, 0x78, 0xD1, 0x16, 0x18, 0x0E, + 0x05, 0xFD, 0xFF, 0x00, 0x02, 0x16, 0x13, 0xF6, 0xD0, 0xA6, 0x98, 0xC9, 0xED, 0x0B, 0x0D, 0x18, + 0x0C, 0x0B, 0xF0, 0xD7, 0xB8, 0xB9, 0xC6, 0xED, 0xFC, 0x0E, 0x06, 0x0D, 0x05, 0x0D, 0x05, 0x0E, + 0x07, 0x11, 0x0A, 0x15, 0x0A, 0x15, 0x0E, 0x22, 0x31, 0x52, 0x64, 0x7B, 0x7F, 0x7F, 0x71, 0x49, + 0x22, 0x06, 0xFF, 0x19, 0x08, 0x00, 0x03, 0xFD, 0xF2, 0xE2, 0xF2, 0x77, 0xC0, 0x0D, 0x12, 0x09, + 0x02, 0xFD, 0x02, 0x01, 0x02, 0x15, 0x0C, 0xF1, 0xC8, 0xA2, 0x96, 0xCB, 0xF1, 0x11, 0x10, 0x18, + 0x0C, 0x0E, 0xEC, 0xCD, 0xA8, 0xAE, 0xBB, 0xE9, 0xFA, 0x0C, 0x06, 0x0D, 0x04, 0x0D, 0x05, 0x0E, + 0x07, 0x13, 0x0B, 0x16, 0x0B, 0x16, 0x10, 0x23, 0x34, 0x57, 0x6A, 0x7F, 0x7F, 0x7F, 0x78, 0x4D, + 0x25, 0x08, 0xFA, 0x18, 0x08, 0xFF, 0x03, 0xF9, 0xF2, 0xE3, 0xF0, 0x77, 0xB3, 0x12, 0x14, 0x0A, + 0x03, 0xFC, 0xFF, 0x01, 0x03, 0x17, 0x0F, 0xEE, 0xC2, 0xA0, 0x93, 0xCD, 0xF5, 0x13, 0x12, 0x17, + 0x09, 0x0B, 0xE8, 0xC4, 0xA1, 0xA4, 0xB5, 0xE6, 0xF7, 0x0A, 0x04, 0x0D, 0x04, 0x0D, 0x05, 0x0F, + 0x09, 0x13, 0x0B, 0x18, 0x0D, 0x17, 0x10, 0x25, 0x38, 0x5A, 0x6E, 0x7F, 0x7F, 0x7F, 0x7C, 0x4F, + 0x26, 0x0A, 0x01, 0x19, 0x07, 0xFE, 0x03, 0xFC, 0xF2, 0xE2, 0x69, 0x78, 0xB1, 0x12, 0x13, 0x0B, + 0x03, 0xFE, 0x01, 0x02, 0x03, 0x17, 0x0D, 0xEE, 0xC2, 0x9F, 0x93, 0xCD, 0xF7, 0x14, 0x13, 0x17, + 0x09, 0x0C, 0xE9, 0xC4, 0xA2, 0xA4, 0xB5, 0xE6, 0xF6, 0x0A, 0x03, 0x0D, 0x05, 0x0E, 0x06, 0x10, + 0x09, 0x14, 0x0C, 0x1A, 0x0D, 0x18, 0x10, 0x26, 0x37, 0x5C, 0x70, 0x7F, 0x7F, 0x7F, 0x7D, 0x51, + 0x26, 0x08, 0xFC, 0x19, 0x06, 0xFD, 0x02, 0xFA, 0xF1, 0xE1, 0x69, 0x78, 0xC8, 0x0F, 0x12, 0x0A, + 0x00, 0xFC, 0xFF, 0x01, 0x00, 0x13, 0x0D, 0xF1, 0xC8, 0xA0, 0x95, 0xCE, 0xF5, 0x13, 0x15, 0x19, + 0x09, 0x0E, 0xEC, 0xC9, 0xA5, 0xA8, 0xB7, 0xE5, 0xF6, 0x09, 0x03, 0x0D, 0x04, 0x10, 0x06, 0x12, + 0x09, 0x14, 0x0D, 0x18, 0x0D, 0x18, 0x10, 0x27, 0x38, 0x5B, 0x6D, 0x7F, 0x7F, 0x7F, 0x75, 0x49, + 0x20, 0x0C, 0x03, 0x1C, 0x06, 0xFC, 0x03, 0xFD, 0xF2, 0xE2, 0x6B, 0x4D, 0xDA, 0x16, 0x18, 0x0F, + 0x03, 0xFD, 0x00, 0xFF, 0xFF, 0x14, 0x0F, 0xF7, 0xCC, 0xA5, 0x97, 0xCC, 0xF2, 0x10, 0x12, 0x19, + 0x0B, 0x0C, 0xEE, 0xD2, 0xB0, 0xB0, 0xBB, 0xE6, 0xF6, 0x08, 0x03, 0x0D, 0x06, 0x11, 0x08, 0x13, + 0x0A, 0x14, 0x0C, 0x18, 0x0D, 0x18, 0x12, 0x27, 0x37, 0x5A, 0x6B, 0x7F, 0x7F, 0x7F, 0x6E, 0x45, + 0x1E, 0x0B, 0x02, 0x1A, 0x05, 0xFC, 0x02, 0xFA, 0xF2, 0xE2, 0x6C, 0x4F, 0xB9, 0x11, 0x14, 0x09, + 0x02, 0xFC, 0x00, 0x04, 0x02, 0x14, 0x10, 0xFE, 0xD9, 0xAC, 0x9E, 0xCA, 0xEC, 0x0B, 0x0D, 0x16, + 0x0E, 0x0F, 0xF1, 0xDA, 0xBD, 0xC3, 0xC7, 0xEB, 0xF8, 0x09, 0x03, 0x0D, 0x07, 0x13, 0x0A, 0x13, + 0x0A, 0x13, 0x0B, 0x16, 0x0C, 0x17, 0x11, 0x26, 0x34, 0x55, 0x65, 0x7B, 0x7F, 0x7F, 0x65, 0x3A, + 0x16, 0x05, 0x02, 0x1A, 0x06, 0xFD, 0x01, 0xFC, 0xF2, 0xE2, 0x6E, 0x50, 0xCB, 0x19, 0x1B, 0x10, + 0x05, 0xFC, 0xFF, 0x01, 0x02, 0x1A, 0x14, 0x06, 0xDE, 0xB3, 0xA1, 0xC6, 0xE4, 0x04, 0x08, 0x13, + 0x0F, 0x14, 0xFD, 0xEC, 0xD3, 0xD4, 0xD4, 0xF2, 0xF9, 0x07, 0x02, 0x0D, 0x07, 0x14, 0x0C, 0x13, + 0x0A, 0x11, 0x0B, 0x15, 0x0B, 0x15, 0x10, 0x25, 0x32, 0x51, 0x5C, 0x72, 0x75, 0x7E, 0x5E, 0x34, + 0x12, 0x03, 0xFB, 0x18, 0x04, 0xFC, 0x02, 0xFA, 0xF1, 0xE2, 0x6E, 0x4F, 0xAE, 0x16, 0x18, 0x0D, + 0x03, 0xFC, 0xFF, 0x03, 0x02, 0x18, 0x13, 0x0C, 0xED, 0xC8, 0xAB, 0xC3, 0xD4, 0xF8, 0x03, 0x14, + 0x10, 0x17, 0x05, 0x00, 0xE9, 0xE8, 0xE1, 0xF8, 0xFC, 0x07, 0x02, 0x0E, 0x08, 0x14, 0x0C, 0x14, + 0x09, 0x10, 0x09, 0x13, 0x0A, 0x14, 0x0F, 0x23, 0x2F, 0x4B, 0x52, 0x66, 0x68, 0x6A, 0x50, 0x2A, + 0x0B, 0x0A, 0x05, 0x1C, 0x09, 0xFF, 0x04, 0xFD, 0xF2, 0xE0, 0x6D, 0x4F, 0xEA, 0x19, 0x1C, 0x0F, + 0x04, 0xFA, 0xFC, 0x01, 0x03, 0x1B, 0x18, 0x16, 0xF2, 0xD2, 0xB1, 0xBF, 0xCC, 0xF0, 0xFF, 0x13, + 0x13, 0x1B, 0x0E, 0x0C, 0xF5, 0xF9, 0xEB, 0xFD, 0xFD, 0x07, 0x02, 0x0E, 0x08, 0x15, 0x0C, 0x15, + 0x09, 0x10, 0x09, 0x12, 0x0A, 0x15, 0x0F, 0x21, 0x2D, 0x40, 0x4B, 0x5C, 0x5B, 0x5F, 0x46, 0x21, + 0x07, 0x08, 0x05, 0x1B, 0x07, 0xFE, 0x02, 0xF9, 0xF1, 0xE1, 0x6D, 0x4F, 0xE9, 0x1A, 0x1C, 0x0F, + 0x02, 0xFC, 0x00, 0x02, 0xFC, 0x0C, 0x0C, 0x1B, 0x02, 0xDC, 0xC0, 0xBF, 0xC4, 0xE9, 0xFA, 0x11, + 0x14, 0x1F, 0x17, 0x19, 0x08, 0x09, 0xF9, 0x06, 0x00, 0x07, 0x02, 0x0D, 0x09, 0x15, 0x0C, 0x14, + 0x09, 0x0E, 0x08, 0x11, 0x08, 0x12, 0x0D, 0x1E, 0x24, 0x38, 0x3F, 0x50, 0x4B, 0x4E, 0x32, 0x15, + 0xFF, 0x05, 0x03, 0x19, 0x07, 0xFF, 0x04, 0xFC, 0xF2, 0xE3, 0x71, 0x63, 0xE9, 0x1A, 0x1C, 0x0E, + 0x04, 0xFA, 0xFD, 0xFF, 0xFD, 0x0D, 0x15, 0x23, 0x0B, 0xE9, 0xC3, 0xBB, 0xBD, 0xE4, 0xF7, 0x11, + 0x15, 0x23, 0x1E, 0x29, 0x1B, 0x17, 0x06, 0x0C, 0x01, 0x09, 0x02, 0x0B, 0x0B, 0x16, 0x0E, 0x15, + 0x08, 0x10, 0x06, 0x0F, 0x08, 0x12, 0x0D, 0x1C, 0x1E, 0x30, 0x35, 0x43, 0x42, 0x40, 0x2E, 0x15, + 0xFA, 0x04, 0x03, 0x19, 0x05, 0xFC, 0x01, 0xFA, 0xF1, 0xE1, 0x6C, 0x50, 0xD2, 0x18, 0x1A, 0x0E, + 0x03, 0xFC, 0xFE, 0x01, 0x00, 0x10, 0x13, 0x28, 0x1B, 0xFB, 0xD4, 0xBD, 0xB9, 0xE0, 0xF4, 0x11, + 0x17, 0x26, 0x24, 0x37, 0x2A, 0x2B, 0x17, 0x11, 0x05, 0x0A, 0x02, 0x0E, 0x09, 0x16, 0x0D, 0x14, + 0x09, 0x0F, 0x07, 0x10, 0x06, 0x0F, 0x0A, 0x18, 0x19, 0x29, 0x28, 0x38, 0x35, 0x2F, 0x1A, 0x08, + 0xF3, 0x04, 0x06, 0x1E, 0x09, 0xFF, 0x04, 0xFD, 0xF3, 0xE2, 0x6D, 0x4F, 0xD2, 0x16, 0x18, 0x0E, + 0x04, 0xF9, 0xFD, 0x00, 0x02, 0x17, 0x17, 0x2E, 0x20, 0xFF, 0xD8, 0xBB, 0xB7, 0xD7, 0xF3, 0x12, + 0x19, 0x28, 0x2A, 0x42, 0x39, 0x3B, 0x24, 0x18, 0x07, 0x0C, 0x03, 0x11, 0x0A, 0x17, 0x0F, 0x15, + 0x0A, 0x10, 0x05, 0x0D, 0x06, 0x0F, 0x09, 0x18, 0x15, 0x21, 0x20, 0x2F, 0x2A, 0x28, 0x10, 0xFF, + 0xF1, 0x04, 0x06, 0x1C, 0x06, 0xFD, 0x01, 0xF8, 0xF1, 0xE1, 0x6B, 0x4D, 0xEA, 0x19, 0x1B, 0x10, + 0x03, 0xFC, 0xFE, 0xFE, 0xF9, 0x0C, 0x12, 0x27, 0x1A, 0x0A, 0xE9, 0xCF, 0xBE, 0xD8, 0xF2, 0x12, + 0x1A, 0x2A, 0x2E, 0x49, 0x43, 0x3D, 0x20, 0x13, 0x08, 0x16, 0x0F, 0x19, 0x10, 0x18, 0x0E, 0x16, + 0x0A, 0x0F, 0x06, 0x0E, 0x06, 0x0E, 0x07, 0x15, 0x0E, 0x1D, 0x16, 0x25, 0x1D, 0x18, 0x06, 0xFA, + 0xEF, 0x02, 0x06, 0x1A, 0x05, 0xFD, 0x03, 0xFC, 0xF2, 0xE3, 0x6E, 0x50, 0xEA, 0x1A, 0x1C, 0x10, + 0x04, 0xFB, 0xFD, 0xFE, 0xFD, 0x0F, 0x15, 0x2A, 0x20, 0x0E, 0xEA, 0xCF, 0xBB, 0xD7, 0xF2, 0x12, + 0x1C, 0x2C, 0x32, 0x50, 0x4E, 0x49, 0x2A, 0x17, 0x0B, 0x19, 0x11, 0x1B, 0x11, 0x19, 0x0E, 0x17, + 0x0A, 0x10, 0x06, 0x0D, 0x05, 0x0E, 0x05, 0x14, 0x0D, 0x18, 0x12, 0x20, 0x17, 0x11, 0xFF, 0xF5, + 0xED, 0x03, 0x05, 0x1A, 0x05, 0xFC, 0x01, 0xFB, 0xF1, 0xE1, 0x6C, 0x4E, 0xE9, 0x1A, 0x1C, 0x0F, + 0x03, 0xFC, 0xFF, 0x00, 0xFF, 0x10, 0x13, 0x27, 0x1C, 0x0C, 0xF0, 0xD4, 0xC1, 0xD8, 0xF1, 0x14, + 0x1E, 0x2E, 0x34, 0x4F, 0x48, 0x3A, 0x1C, 0x0E, 0x04, 0x13, 0x0C, 0x18, 0x0F, 0x1B, 0x12, 0x1C, + 0x10, 0x18, 0x0E, 0x1B, 0x11, 0x1C, 0x11, 0x1B, 0x10, 0x15, 0x0D, 0x12, 0x08, 0x0A, 0xFA, 0xFA, + 0xF0, 0x03, 0x05, 0x1B, 0x05, 0xFC, 0x02, 0xFC, 0xF3, 0xE2, 0x6E, 0x4F, 0xE9, 0x1C, 0x1D, 0x10, + 0x04, 0xF9, 0xFE, 0x00, 0x01, 0x16, 0x17, 0x2A, 0x20, 0x0F, 0xEA, 0xD3, 0xBF, 0xD7, 0xF1, 0x14, + 0x1F, 0x30, 0x37, 0x53, 0x4E, 0x42, 0x20, 0x0F, 0x05, 0x16, 0x0F, 0x1A, 0x0F, 0x1C, 0x11, 0x1B, + 0x10, 0x1A, 0x10, 0x1C, 0x12, 0x1D, 0x10, 0x19, 0x0D, 0x13, 0x06, 0x0D, 0x03, 0x08, 0xF9, 0xF6, + 0xF0, 0x03, 0x05, 0x1C, 0x05, 0xFD, 0x03, 0xFA, 0xF3, 0xE3, 0x6D, 0x4E, 0xE7, 0x1B, 0x1C, 0x0F, + 0x02, 0xFB, 0xFF, 0x03, 0x01, 0x0F, 0x11, 0x25, 0x1D, 0x10, 0xEE, 0xD5, 0xC1, 0xD7, 0xF1, 0x14, + 0x1F, 0x31, 0x38, 0x52, 0x49, 0x3B, 0x1A, 0x0C, 0x02, 0x14, 0x0F, 0x1A, 0x10, 0x1B, 0x10, 0x1B, + 0x0F, 0x17, 0x0D, 0x1B, 0x11, 0x1D, 0x13, 0x1F, 0x16, 0x1C, 0x11, 0x11, 0x04, 0x06, 0xF8, 0xF8, + 0xF0, 0x03, 0x05, 0x19, 0x05, 0xFD, 0x02, 0xFB, 0xF2, 0xE2, 0x6F, 0x50, 0xE7, 0x1D, 0x1E, 0x0F, + 0x03, 0xF9, 0xFE, 0x03, 0x02, 0x12, 0x17, 0x29, 0x20, 0x11, 0xED, 0xD3, 0xBF, 0xD6, 0xF0, 0x15, + 0x21, 0x33, 0x3F, 0x56, 0x50, 0x41, 0x1E, 0x0E, 0x04, 0x17, 0x0F, 0x1B, 0x11, 0x1B, 0x10, 0x1B, + 0x11, 0x17, 0x0E, 0x1B, 0x10, 0x1B, 0x13, 0x1E, 0x14, 0x1B, 0x0C, 0x0B, 0xFE, 0x04, 0xF6, 0xF7, + 0xF0, 0x02, 0x05, 0x1B, 0x07, 0x00, 0x05, 0xFB, 0xF3, 0xE3, 0x6F, 0x4F, 0xCD, 0x1C, 0x1E, 0x11, + 0x05, 0xFB, 0xFD, 0x01, 0x01, 0x11, 0x14, 0x25, 0x19, 0x11, 0xEE, 0xD5, 0xC0, 0xD6, 0xF0, 0x15, + 0x21, 0x33, 0x40, 0x5B, 0x4F, 0x40, 0x1D, 0x0D, 0x01, 0x12, 0x0C, 0x18, 0x10, 0x1B, 0x0E, 0x19, + 0x0E, 0x19, 0x10, 0x1B, 0x12, 0x1F, 0x13, 0x21, 0x16, 0x1C, 0x0F, 0x11, 0x04, 0x07, 0xF9, 0xF5, + 0xEE, 0x00, 0x03, 0x1A, 0x06, 0xFC, 0x02, 0xFB, 0xF1, 0xE1, 0x70, 0x51, 0xCD, 0x1C, 0x1D, 0x0F, + 0x03, 0xFA, 0x02, 0x01, 0x02, 0x12, 0x16, 0x27, 0x1D, 0x11, 0xEC, 0xDA, 0xBF, 0xD5, 0xF0, 0x15, + 0x23, 0x35, 0x42, 0x5D, 0x53, 0x44, 0x21, 0x0D, 0x03, 0x15, 0x0C, 0x19, 0x10, 0x1B, 0x0F, 0x19, + 0x0F, 0x1C, 0x0F, 0x1B, 0x12, 0x1F, 0x13, 0x1F, 0x13, 0x1A, 0x0D, 0x0F, 0x01, 0x04, 0xF5, 0xF6, + 0xEE, 0x00, 0xFF, 0x1B, 0x08, 0x03, 0x07, 0xFD, 0xF5, 0xE4, 0x71, 0x52, 0xE8, 0x1C, 0x1D, 0x10, + 0x03, 0xFB, 0xFD, 0x00, 0x03, 0x13, 0x15, 0x27, 0x1A, 0x0E, 0xEB, 0xD7, 0xBE, 0xD5, 0xF0, 0x16, + 0x23, 0x36, 0x43, 0x5F, 0x55, 0x46, 0x21, 0x0D, 0x03, 0x12, 0x0B, 0x18, 0x10, 0x1A, 0x0E, 0x18, + 0x0F, 0x1A, 0x10, 0x1B, 0x12, 0x1D, 0x13, 0x22, 0x17, 0x1D, 0x0F, 0x11, 0x06, 0x08, 0xF9, 0xF7, + 0xF0, 0x03, 0x05, 0x1C, 0x07, 0xFD, 0x01, 0xFA, 0xF0, 0xE1, 0x71, 0x51, 0xE8, 0x1B, 0x1C, 0x10, + 0x05, 0xFE, 0x04, 0x05, 0x04, 0x13, 0x16, 0x29, 0x1C, 0x0E, 0xEB, 0xD7, 0xBE, 0xD4, 0xEF, 0x16, + 0x24, 0x37, 0x45, 0x63, 0x58, 0x49, 0x24, 0x0E, 0x04, 0x14, 0x0C, 0x19, 0x10, 0x1B, 0x0E, 0x1A, + 0x0F, 0x18, 0x11, 0x1B, 0x0F, 0x1E, 0x13, 0x1F, 0x14, 0x1B, 0x0D, 0x0F, 0x03, 0x06, 0xF9, 0xF7, + 0xEF, 0x05, 0x08, 0x1E, 0x09, 0x03, 0x07, 0xFC, 0xF5, 0xE3, 0x72, 0x52, 0xEA, 0x1B, 0x1D, 0x10, + 0x03, 0xFA, 0xFD, 0xFE, 0xFA, 0x0D, 0x12, 0x25, 0x1C, 0x0E, 0xEB, 0xD8, 0xBD, 0xD4, 0xEF, 0x16, + 0x25, 0x38, 0x46, 0x64, 0x5A, 0x48, 0x26, 0x0E, 0x01, 0x12, 0x0D, 0x18, 0x0D, 0x18, 0x0D, 0x18, + 0x0F, 0x1C, 0x13, 0x1E, 0x12, 0x1E, 0x15, 0x21, 0x15, 0x17, 0x0A, 0x0E, 0x05, 0x09, 0xFA, 0xF6, + 0xEE, 0x00, 0x03, 0x1A, 0x04, 0xFC, 0x00, 0xFA, 0xF1, 0xE0, 0x70, 0x51, 0xE9, 0x19, 0x19, 0x10, + 0x05, 0x01, 0x09, 0x06, 0x00, 0x0E, 0x11, 0x25, 0x1B, 0x0E, 0xEC, 0xD9, 0xBD, 0xD3, 0xEE, 0x15, + 0x25, 0x39, 0x48, 0x65, 0x5C, 0x4B, 0x28, 0x10, 0x03, 0x13, 0x0D, 0x19, 0x0D, 0x18, 0x0E, 0x18, + 0x0F, 0x1D, 0x13, 0x1F, 0x12, 0x1E, 0x15, 0x20, 0x13, 0x16, 0x08, 0x0D, 0x05, 0x09, 0xFA, 0xF6, + 0xEE, 0xFF, 0xFF, 0x1A, 0x05, 0xFF, 0x05, 0xFC, 0xF5, 0xE3, 0x71, 0x50, 0xCB, 0x17, 0x18, 0x0C, + 0x01, 0xF8, 0xFB, 0xFE, 0x01, 0x11, 0x14, 0x28, 0x1D, 0x11, 0xF0, 0xD6, 0xC0, 0xD3, 0xED, 0x15, + 0x25, 0x3A, 0x49, 0x66, 0x5B, 0x49, 0x24, 0x0D, 0x01, 0x12, 0x09, 0x17, 0x0D, 0x1A, 0x0E, 0x18, + 0x0E, 0x1A, 0x13, 0x1F, 0x12, 0x1D, 0x13, 0x22, 0x18, 0x1A, 0x09, 0x0D, 0x05, 0x0A, 0xFB, 0xF9, + 0xF0, 0x02, 0x01, 0x1A, 0x02, 0xFA, 0x00, 0xFB, 0xF1, 0xE1, 0x6E, 0x4F, 0xBA, 0x10, 0x13, 0x0A, + 0x03, 0x00, 0x07, 0x08, 0x07, 0x15, 0x14, 0x28, 0x1D, 0x13, 0xF0, 0xD7, 0xC0, 0xD3, 0xEC, 0x15, + 0x26, 0x3B, 0x4B, 0x67, 0x5E, 0x4A, 0x26, 0x0E, 0x03, 0x13, 0x0A, 0x16, 0x0D, 0x1A, 0x0F, 0x17, + 0x0E, 0x1B, 0x12, 0x1F, 0x12, 0x1D, 0x13, 0x21, 0x17, 0x17, 0x08, 0x0B, 0x02, 0x08, 0xFA, 0xF6, + 0xEF, 0x02, 0x06, 0x1A, 0x05, 0xFE, 0x05, 0xFD, 0xF6, 0xE6, 0x70, 0x50, 0xDD, 0x16, 0x17, 0x0B, + 0x03, 0xFA, 0xFE, 0x00, 0x01, 0x0D, 0x12, 0x29, 0x20, 0x17, 0xF7, 0xDC, 0xC3, 0xD3, 0xEC, 0x15, + 0x26, 0x3C, 0x4B, 0x63, 0x58, 0x45, 0x21, 0x0D, 0x02, 0x13, 0x0B, 0x15, 0x0B, 0x18, 0x0D, 0x19, + 0x11, 0x1D, 0x14, 0x1F, 0x12, 0x1E, 0x15, 0x23, 0x17, 0x19, 0x07, 0x0C, 0x02, 0x09, 0xFC, 0xF8, + 0xEF, 0xFF, 0x03, 0x1A, 0x04, 0xFA, 0x00, 0xFA, 0xF1, 0xE3, 0x6D, 0x4E, 0xA2, 0x0B, 0x0F, 0x08, + 0x03, 0x02, 0x0A, 0x0A, 0x05, 0x10, 0x11, 0x26, 0x1F, 0x19, 0xF9, 0xDE, 0xC4, 0xD2, 0xEC, 0x15, + 0x27, 0x3D, 0x4C, 0x64, 0x59, 0x46, 0x22, 0x0C, 0x02, 0x14, 0x0A, 0x15, 0x0B, 0x17, 0x0D, 0x18, + 0x11, 0x1E, 0x14, 0x1F, 0x13, 0x1E, 0x15, 0x23, 0x16, 0x16, 0x06, 0x08, 0x00, 0x06, 0xFA, 0xF6, + 0xEE, 0xFF, 0x00, 0x1B, 0x06, 0x00, 0x05, 0xFE, 0xF7, 0xE7, 0x6E, 0x60, 0xC4, 0x0F, 0x12, 0x0A, + 0x03, 0xFC, 0xFE, 0x02, 0x04, 0x11, 0x15, 0x28, 0x23, 0x1C, 0xFB, 0xE0, 0xC6, 0xD4, 0xEC, 0x15, + 0x27, 0x3E, 0x4C, 0x62, 0x56, 0x42, 0x1E, 0x0C, 0x01, 0x10, 0x09, 0x15, 0x0E, 0x18, 0x10, 0x1B, + 0x10, 0x1C, 0x12, 0x1E, 0x14, 0x21, 0x17, 0x23, 0x16, 0x15, 0x06, 0x08, 0x01, 0x0A, 0x03, 0x00, + 0xF5, 0x04, 0x06, 0x1C, 0x06, 0xFB, 0x00, 0xFA, 0xF1, 0xE2, 0x69, 0x77, 0x87, 0x05, 0x0A, 0x05, + 0x01, 0x01, 0x08, 0x0A, 0x08, 0x17, 0x13, 0x28, 0x22, 0x1E, 0xFD, 0xE5, 0xC8, 0xD5, 0xED, 0x17, + 0x29, 0x3F, 0x4D, 0x63, 0x55, 0x42, 0x1E, 0x0D, 0x01, 0x10, 0x0A, 0x16, 0x0E, 0x19, 0x10, 0x1B, + 0x10, 0x1C, 0x12, 0x1D, 0x15, 0x21, 0x17, 0x22, 0x15, 0x12, 0x02, 0x05, 0xFC, 0x06, 0xFD, 0xFC, + 0xF2, 0x04, 0x07, 0x1E, 0x08, 0x01, 0x06, 0xFF, 0xF8, 0xE8, 0x6D, 0x7F, 0xAB, 0x0F, 0x11, 0x09, + 0x02, 0xFC, 0xFE, 0xFF, 0xFE, 0x0E, 0x11, 0x29, 0x24, 0x22, 0x04, 0xEC, 0xCE, 0xD8, 0xEE, 0x17, + 0x2A, 0x40, 0x4C, 0x5D, 0x4A, 0x35, 0x14, 0x0A, 0x00, 0x10, 0x09, 0x16, 0x0D, 0x17, 0x0D, 0x19, + 0x0F, 0x1D, 0x13, 0x1F, 0x13, 0x1E, 0x15, 0x24, 0x18, 0x18, 0x07, 0x07, 0xFE, 0x09, 0x05, 0x03, + 0xF5, 0xFD, 0xFD, 0x1A, 0x05, 0xFC, 0x00, 0xFA, 0xF2, 0xE3, 0xF1, 0x73, 0xA3, 0x08, 0x0C, 0x07, + 0x02, 0x01, 0x05, 0x04, 0x05, 0x0E, 0x11, 0x2A, 0x25, 0x22, 0x07, 0xEE, 0xD2, 0xDB, 0xF0, 0x19, + 0x30, 0x42, 0x4D, 0x5E, 0x49, 0x34, 0x13, 0x0A, 0xFF, 0x0C, 0x09, 0x16, 0x0D, 0x17, 0x0D, 0x19, + 0x10, 0x1C, 0x15, 0x1F, 0x13, 0x1E, 0x15, 0x23, 0x18, 0x16, 0x04, 0x01, 0xF6, 0x03, 0x00, 0xFE, + 0xED, 0xFB, 0x03, 0x1C, 0x08, 0x00, 0x05, 0xFF, 0xF8, 0xE9, 0xF6, 0x7F, 0xBB, 0x0D, 0x0F, 0x08, + 0x02, 0xFD, 0xFF, 0x03, 0x07, 0x12, 0x15, 0x2E, 0x28, 0x26, 0x0D, 0xF0, 0xD6, 0xDE, 0xF3, 0x1C, + 0x32, 0x47, 0x4C, 0x52, 0x3C, 0x28, 0x0A, 0x07, 0xFF, 0x0C, 0x09, 0x15, 0x0D, 0x17, 0x0D, 0x19, + 0x11, 0x1C, 0x13, 0x1D, 0x12, 0x21, 0x17, 0x23, 0x17, 0x1B, 0x09, 0x06, 0xF7, 0x04, 0x06, 0x06, + 0xFC, 0x03, 0x05, 0x1B, 0x03, 0xF9, 0xFF, 0xFB, 0xF1, 0xE2, 0xE6, 0x6D, 0xB2, 0x05, 0x09, 0x05, + 0x02, 0x01, 0x06, 0x09, 0x08, 0x13, 0x16, 0x2D, 0x2A, 0x2A, 0x11, 0xF8, 0xDE, 0xE3, 0xF6, 0x1F, + 0x34, 0x49, 0x4D, 0x50, 0x39, 0x25, 0x07, 0x08, 0xFE, 0x0C, 0x08, 0x16, 0x0D, 0x17, 0x0E, 0x1A, + 0x11, 0x1E, 0x12, 0x1D, 0x14, 0x22, 0x17, 0x23, 0x18, 0x1A, 0x06, 0x02, 0xF2, 0xFF, 0x00, 0x01, + 0xF9, 0x00, 0x02, 0x1C, 0x04, 0xFD, 0x04, 0xFE, 0xF8, 0xE9, 0xF4, 0x6F, 0xC9, 0x0C, 0x0F, 0x08, + 0x02, 0xFE, 0x00, 0x02, 0x06, 0x13, 0x18, 0x2F, 0x2B, 0x2D, 0x16, 0x01, 0xE8, 0xE9, 0xFA, 0x23, + 0x38, 0x4C, 0x4A, 0x46, 0x2A, 0x12, 0xFC, 0x06, 0x00, 0x0F, 0x08, 0x15, 0x0F, 0x19, 0x0E, 0x18, + 0x0F, 0x1D, 0x11, 0x1D, 0x14, 0x1F, 0x14, 0x21, 0x17, 0x23, 0x17, 0x0B, 0xF8, 0xFE, 0xFE, 0x06, + 0x00, 0x0B, 0x0E, 0x1D, 0x04, 0xFA, 0x00, 0xFB, 0xF3, 0xE4, 0xE7, 0x68, 0xBD, 0x03, 0x06, 0x04, + 0xFF, 0xFF, 0x06, 0x08, 0x0A, 0x13, 0x19, 0x31, 0x2F, 0x32, 0x1C, 0x08, 0xEE, 0xF1, 0xFF, 0x28, + 0x3D, 0x50, 0x4C, 0x46, 0x28, 0x15, 0xFA, 0x05, 0x00, 0x0F, 0x07, 0x16, 0x0E, 0x19, 0x0F, 0x1A, + 0x0F, 0x1C, 0x11, 0x1E, 0x15, 0x20, 0x15, 0x22, 0x18, 0x25, 0x16, 0x09, 0xF8, 0xFB, 0xFB, 0x01, + 0xFB, 0x08, 0x0B, 0x1C, 0x02, 0xFA, 0x00, 0xFD, 0xF7, 0xEA, 0xF6, 0x78, 0xD8, 0x0D, 0x0E, 0x08, + 0x02, 0x00, 0x02, 0x05, 0x09, 0x12, 0x15, 0x2C, 0x2A, 0x30, 0x1F, 0x0C, 0xF4, 0xF8, 0x05, 0x30, + 0x42, 0x54, 0x49, 0x32, 0x0E, 0xFC, 0xED, 0x04, 0x02, 0x11, 0x09, 0x14, 0x0F, 0x1A, 0x11, 0x1B, + 0x11, 0x1A, 0x11, 0x1C, 0x11, 0x1D, 0x13, 0x20, 0x17, 0x28, 0x1F, 0x17, 0x00, 0x00, 0xFB, 0xFD, + 0xF9, 0x09, 0x0B, 0x1E, 0x06, 0xFC, 0x01, 0xFC, 0xF3, 0xE5, 0xF1, 0x60, 0xC4, 0xFB, 0xFE, 0xFE, + 0xFB, 0xFD, 0x04, 0x0A, 0x09, 0x13, 0x14, 0x2F, 0x2B, 0x37, 0x27, 0x10, 0xF9, 0xFF, 0x0C, 0x35, + 0x48, 0x58, 0x4B, 0x30, 0x0A, 0xF8, 0xEA, 0x01, 0x01, 0x11, 0x08, 0x15, 0x0F, 0x1B, 0x12, 0x1B, + 0x12, 0x1C, 0x12, 0x1C, 0x12, 0x1F, 0x14, 0x22, 0x1A, 0x2A, 0x20, 0x17, 0xFE, 0xFF, 0xF9, 0xFB, + 0xF7, 0x05, 0x05, 0x19, 0x00, 0xF5, 0xFD, 0xFC, 0xF7, 0xEB, 0xF7, 0x70, 0xE0, 0x08, 0x0B, 0x06, + 0x03, 0x00, 0x00, 0x06, 0x09, 0x12, 0x13, 0x2A, 0x26, 0x2C, 0x1B, 0x0B, 0xF9, 0x03, 0x1A, 0x3B, + 0x47, 0x47, 0x31, 0x19, 0xF7, 0xF1, 0xEA, 0x03, 0x03, 0x13, 0x0B, 0x17, 0x0F, 0x1B, 0x11, 0x1C, + 0x12, 0x1C, 0x11, 0x1A, 0x11, 0x1D, 0x13, 0x1F, 0x19, 0x27, 0x21, 0x27, 0x1A, 0x1C, 0x09, 0xF0, + 0xE1, 0xF3, 0x01, 0x1D, 0x0C, 0x00, 0x03, 0xFD, 0xF5, 0xE8, 0xEB, 0x5A, 0xC7, 0xF5, 0xF9, 0xFB, + 0xFA, 0xFE, 0x06, 0x0D, 0x0C, 0x14, 0x14, 0x2D, 0x2A, 0x32, 0x22, 0x13, 0x02, 0x0A, 0x20, 0x4A, + 0x50, 0x48, 0x2F, 0x18, 0xF2, 0xED, 0xE6, 0x00, 0x04, 0x12, 0x0B, 0x17, 0x0F, 0x1B, 0x12, 0x1D, + 0x12, 0x1E, 0x12, 0x1C, 0x13, 0x1E, 0x14, 0x23, 0x1B, 0x2A, 0x23, 0x29, 0x1C, 0x1C, 0x09, 0xEF, + 0xE1, 0xED, 0xF8, 0x18, 0x04, 0xF7, 0x01, 0xFE, 0xF9, 0xED, 0xF9, 0x6A, 0xEA, 0x0A, 0x0A, 0x05, + 0x02, 0x01, 0x01, 0x06, 0x0A, 0x11, 0x0C, 0x22, 0x1B, 0x1B, 0x05, 0x04, 0xFA, 0x0E, 0x28, 0x4F, + 0x49, 0x27, 0x07, 0xEE, 0xDF, 0xF2, 0xF0, 0x04, 0x05, 0x14, 0x0F, 0x1A, 0x13, 0x1C, 0x14, 0x1D, + 0x13, 0x1D, 0x12, 0x1B, 0x11, 0x1C, 0x12, 0x1F, 0x18, 0x27, 0x1F, 0x2B, 0x23, 0x28, 0x13, 0xEE, + 0xDC, 0xE9, 0xFC, 0x1B, 0x0B, 0xFF, 0x01, 0xFD, 0xF5, 0xE8, 0xED, 0x51, 0xD8, 0xFB, 0xFE, 0xFF, + 0xFE, 0x03, 0x0A, 0x0F, 0x0F, 0x14, 0x0F, 0x24, 0x1D, 0x1D, 0x09, 0x08, 0x06, 0x16, 0x31, 0x58, + 0x53, 0x2B, 0x0C, 0xE9, 0xD7, 0xE7, 0xE7, 0x00, 0x02, 0x14, 0x0E, 0x1B, 0x12, 0x1D, 0x15, 0x1E, + 0x15, 0x1F, 0x13, 0x1D, 0x12, 0x1E, 0x15, 0x21, 0x1B, 0x2B, 0x26, 0x2F, 0x27, 0x2B, 0x14, 0xEE, + 0xDA, 0xE6, 0xEF, 0x0F, 0xFE, 0xF6, 0xFC, 0xFE, 0xF9, 0xEF, 0xF9, 0x83, 0xF0, 0x0C, 0x0C, 0x07, + 0x02, 0xFD, 0xFB, 0xFF, 0x05, 0x09, 0x04, 0x18, 0x0C, 0x08, 0xF7, 0xF8, 0xFF, 0x1E, 0x2F, 0x3B, + 0x29, 0x02, 0xE4, 0xE7, 0xE2, 0xF6, 0xF3, 0x08, 0x0A, 0x1A, 0x15, 0x1F, 0x17, 0x1D, 0x13, 0x1C, + 0x13, 0x1D, 0x14, 0x1E, 0x16, 0x1D, 0x14, 0x1E, 0x19, 0x28, 0x23, 0x2E, 0x26, 0x27, 0x10, 0xF1, + 0xDE, 0xEC, 0xFF, 0x1A, 0x06, 0xFB, 0x00, 0xFD, 0xF7, 0xED, 0xF6, 0x4C, 0xDF, 0x02, 0x04, 0x02, + 0xFF, 0x03, 0x06, 0x0A, 0x0F, 0x10, 0x09, 0x1B, 0x0D, 0x08, 0xF3, 0xF8, 0x01, 0x22, 0x33, 0x45, + 0x2E, 0x0B, 0xEA, 0xE1, 0xDB, 0xEA, 0xEC, 0x04, 0x0A, 0x1A, 0x14, 0x20, 0x17, 0x1F, 0x14, 0x1C, + 0x13, 0x1F, 0x16, 0x21, 0x15, 0x1E, 0x16, 0x22, 0x1D, 0x2D, 0x2B, 0x36, 0x2B, 0x2A, 0x13, 0xF1, + 0xDE, 0xEA, 0xF9, 0x0F, 0xFB, 0xF0, 0xFE, 0xFF, 0xFA, 0xF0, 0xF7, 0x46, 0xEA, 0x07, 0x08, 0x03, + 0xFF, 0xFE, 0xFD, 0x03, 0x08, 0x10, 0x0B, 0x1C, 0x0D, 0x09, 0xF2, 0xF7, 0xFF, 0x23, 0x2E, 0x28, + 0x0C, 0xE4, 0xCD, 0xE4, 0xE7, 0xFD, 0xFC, 0x12, 0x0F, 0x1E, 0x17, 0x22, 0x1B, 0x21, 0x17, 0x20, + 0x18, 0x21, 0x18, 0x22, 0x18, 0x1E, 0x16, 0x1F, 0x1A, 0x2A, 0x22, 0x2B, 0x23, 0x26, 0x14, 0xF4, + 0xE4, 0xF1, 0xFC, 0x18, 0x0A, 0xFC, 0x01, 0x00, 0xFC, 0xF4, 0x00, 0x5D, 0xE9, 0x08, 0x09, 0x05, + 0x00, 0x02, 0x05, 0x0B, 0x13, 0x19, 0x12, 0x1E, 0x0D, 0x0A, 0xF2, 0xF4, 0xFC, 0x1E, 0x34, 0x31, + 0x15, 0xED, 0xD2, 0xE3, 0xE1, 0xF5, 0xF8, 0x0C, 0x0E, 0x1C, 0x18, 0x24, 0x1C, 0x23, 0x18, 0x21, + 0x19, 0x24, 0x1B, 0x22, 0x18, 0x21, 0x19, 0x22, 0x1E, 0x2E, 0x2B, 0x33, 0x2B, 0x2A, 0x16, 0xF8, + 0xE5, 0xF3, 0xFD, 0x18, 0x08, 0xFD, 0x00, 0xFC, 0xF6, 0xEA, 0xF1, 0x40, 0xEC, 0x0C, 0x0D, 0x09, + 0x04, 0x05, 0x07, 0x12, 0x19, 0x22, 0x18, 0x20, 0x0D, 0x0B, 0xF2, 0xF1, 0xF4, 0x1E, 0x39, 0x3B, + 0x1C, 0xF8, 0xDA, 0xE1, 0xDA, 0xEE, 0xF3, 0x0B, 0x0D, 0x1D, 0x19, 0x23, 0x1B, 0x24, 0x18, 0x22, + 0x19, 0x23, 0x1A, 0x23, 0x1A, 0x22, 0x19, 0x25, 0x20, 0x32, 0x2E, 0x38, 0x2D, 0x2D, 0x17, 0xFC, + 0xEA, 0xF5, 0x02, 0x1C, 0x0B, 0x01, 0xFE, 0xF6, 0xEC, 0xD9, 0xD4, 0x33, 0xF0, 0x13, 0x13, 0x0E, + 0x08, 0x09, 0x08, 0x13, 0x1E, 0x28, 0x1E, 0x23, 0x0E, 0x0D, 0xF2, 0xF0, 0xF1, 0x1F, 0x3F, 0x45, + 0x26, 0x04, 0xE0, 0xE2, 0xD4, 0xE3, 0xE9, 0x06, 0x0C, 0x1D, 0x17, 0x23, 0x1B, 0x24, 0x19, 0x23, + 0x1A, 0x24, 0x1B, 0x23, 0x1A, 0x23, 0x19, 0x25, 0x20, 0x33, 0x31, 0x3A, 0x2F, 0x2D, 0x19, 0xFD, + 0xED, 0xFA, 0x08, 0x25, 0x14, 0x0B, 0xFB, 0xED, 0xD9, 0xC9, 0xBF, 0x1C, 0xF8, 0x17, 0x1B, 0x15, + 0x0E, 0x0C, 0x08, 0x14, 0x22, 0x2E, 0x23, 0x24, 0x0D, 0x0E, 0xF2, 0xED, 0xEF, 0x22, 0x45, 0x4A, + 0x2E, 0x11, 0xE8, 0xE4, 0xD1, 0xE1, 0xE5, 0x04, 0x09, 0x1C, 0x16, 0x22, 0x19, 0x23, 0x1A, 0x22, + 0x1A, 0x24, 0x1B, 0x24, 0x1B, 0x23, 0x19, 0x27, 0x21, 0x35, 0x30, 0x3C, 0x31, 0x2E, 0x1A, 0x01, + 0xF0, 0x01, 0x13, 0x35, 0x22, 0x14, 0xF6, 0xDF, 0xCB, 0xB3, 0xAA, 0x0C, 0x04, 0x22, 0x25, 0x1F, + 0x17, 0x12, 0x0D, 0x10, 0x27, 0x35, 0x2A, 0x25, 0x0D, 0x10, 0xF1, 0xEA, 0xEC, 0x24, 0x4C, 0x53, + 0x36, 0x19, 0xF2, 0xE5, 0xCD, 0xD9, 0xDD, 0xFF, 0x07, 0x19, 0x13, 0x21, 0x17, 0x22, 0x16, 0x22, + 0x18, 0x24, 0x18, 0x24, 0x19, 0x22, 0x19, 0x27, 0x21, 0x35, 0x32, 0x3D, 0x2F, 0x2D, 0x1B, 0x04, + 0xFB, 0x0F, 0x2D, 0x52, 0x34, 0x1C, 0xED, 0xCF, 0xAB, 0x94, 0x89, 0xF7, 0x2D, 0x4D, 0x46, 0x3C, + 0x30, 0x25, 0x17, 0x14, 0x37, 0x45, 0x33, 0x2B, 0x0C, 0x0E, 0xEC, 0xE1, 0xE2, 0x26, 0x5F, 0x6B, + 0x55, 0x33, 0x0C, 0xEC, 0xC3, 0xC9, 0xD0, 0xF7, 0x00, 0x15, 0x0D, 0x1C, 0x13, 0x20, 0x13, 0x21, + 0x12, 0x21, 0x13, 0x21, 0x13, 0x22, 0x18, 0x26, 0x20, 0x35, 0x2E, 0x39, 0x27, 0x26, 0x15, 0x0B, + 0x09, 0x42, 0x7F, 0x7F, 0x78, 0x3B, 0xCC, 0x91, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1312,116 +1312,116 @@ const unsigned char Binary_48[] = { 0x00, 0x58, 0x00, 0x04, 0x00, 0x5C, 0x00, 0x04, 0x00, 0x60, 0x00, 0x04, 0x00, 0x64, 0x00, 0x04, 0x00, 0x68, 0x00, 0x04, 0x00, 0x6C, 0x00, 0x04, 0x00, 0x70, 0x00, 0x04, 0x00, 0x74, 0x00, 0x04, 0x00, 0x78, 0x00, 0x04, 0x00, 0x7C, 0x00, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, - 0x7A, 0x6E, 0x7E, 0x7C, 0x7A, 0x74, 0x6D, 0x70, 0x6B, 0x6B, 0x6F, 0x77, 0x83, 0x8D, 0xA1, 0xAA, - 0xB1, 0xA9, 0xAB, 0xAB, 0xA4, 0xAA, 0xB2, 0xB3, 0xB0, 0xAD, 0x9D, 0x78, 0x6A, 0x7D, 0x99, 0x80, - 0x5F, 0x55, 0x5B, 0x67, 0x6A, 0x6C, 0x6B, 0x6A, 0x5D, 0x7A, 0x8F, 0x00, 0x00, 0x00, 0x8B, 0x7D, - 0x70, 0x83, 0x82, 0x82, 0x7E, 0x78, 0x77, 0x75, 0x76, 0x7A, 0x7C, 0x82, 0x88, 0x97, 0x9F, 0xA2, - 0x99, 0x9A, 0x9A, 0x95, 0x99, 0x9F, 0x9E, 0x9F, 0x9E, 0x93, 0x72, 0x67, 0x74, 0x87, 0x76, 0x61, - 0x5D, 0x64, 0x70, 0x73, 0x75, 0x76, 0x74, 0x5F, 0x7E, 0x96, 0x00, 0x00, 0x00, 0x95, 0x80, 0x70, - 0x87, 0x85, 0x87, 0x84, 0x7C, 0x79, 0x7A, 0x7C, 0x7F, 0x7D, 0x80, 0x84, 0x90, 0x96, 0x99, 0x8F, - 0x8C, 0x8A, 0x86, 0x88, 0x8D, 0x8E, 0x93, 0x95, 0x8B, 0x71, 0x6A, 0x74, 0x81, 0x74, 0x67, 0x67, - 0x6C, 0x76, 0x7A, 0x7D, 0x7E, 0x7A, 0x61, 0x84, 0x9F, 0x00, 0x00, 0x00, 0xA3, 0x86, 0x72, 0x8A, - 0x87, 0x89, 0x85, 0x7D, 0x7A, 0x7B, 0x80, 0x81, 0x7C, 0x7D, 0x82, 0x8C, 0x91, 0x93, 0x86, 0x7D, - 0x77, 0x72, 0x75, 0x79, 0x7E, 0x89, 0x8F, 0x86, 0x72, 0x6F, 0x79, 0x7F, 0x75, 0x6E, 0x70, 0x74, - 0x7B, 0x7F, 0x82, 0x85, 0x81, 0x68, 0x92, 0xB3, 0x00, 0x00, 0x00, 0xB9, 0x93, 0x7A, 0x8D, 0x87, - 0x88, 0x85, 0x7D, 0x7A, 0x7C, 0x82, 0x83, 0x7B, 0x7B, 0x81, 0x89, 0x8F, 0x90, 0x7E, 0x6E, 0x65, - 0x5E, 0x5F, 0x66, 0x6E, 0x80, 0x8A, 0x83, 0x74, 0x73, 0x7B, 0x7F, 0x78, 0x75, 0x78, 0x7A, 0x7F, - 0x83, 0x87, 0x8C, 0x8B, 0x75, 0xA5, 0xCF, 0x00, 0x00, 0x00, 0xC2, 0x96, 0x7A, 0x80, 0x77, 0x76, - 0x75, 0x6F, 0x6D, 0x6F, 0x74, 0x74, 0x6E, 0x6D, 0x71, 0x79, 0x7F, 0x7F, 0x6A, 0x55, 0x48, 0x40, - 0x41, 0x48, 0x55, 0x6A, 0x75, 0x72, 0x69, 0x69, 0x6E, 0x71, 0x6D, 0x6C, 0x70, 0x72, 0x76, 0x79, - 0x7D, 0x83, 0x88, 0x7C, 0xB0, 0xE4, 0x00, 0x00, 0x00, 0xA6, 0x7B, 0x5D, 0x56, 0x4C, 0x4A, 0x49, - 0x48, 0x47, 0x49, 0x4C, 0x4C, 0x47, 0x46, 0x48, 0x50, 0x55, 0x54, 0x40, 0x2B, 0x1F, 0x18, 0x19, - 0x1E, 0x2A, 0x3D, 0x49, 0x48, 0x44, 0x44, 0x46, 0x48, 0x47, 0x48, 0x4A, 0x4D, 0x51, 0x54, 0x56, - 0x5C, 0x65, 0x6A, 0x9D, 0xD4, 0x00, 0x00, 0x00, 0x87, 0x5E, 0x41, 0x32, 0x28, 0x25, 0x26, 0x26, - 0x26, 0x27, 0x29, 0x28, 0x25, 0x23, 0x25, 0x2B, 0x30, 0x30, 0x1D, 0x0C, 0x01, 0x00, 0x00, 0x00, - 0x0A, 0x1A, 0x24, 0x25, 0x22, 0x22, 0x23, 0x25, 0x26, 0x26, 0x28, 0x2A, 0x2E, 0x30, 0x32, 0x38, - 0x42, 0x54, 0x85, 0xBF, 0x00, 0x00, 0x00, 0x7C, 0x51, 0x34, 0x22, 0x18, 0x17, 0x17, 0x18, 0x19, - 0x1A, 0x1B, 0x1A, 0x18, 0x16, 0x17, 0x1C, 0x20, 0x1F, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0B, 0x15, 0x16, 0x15, 0x15, 0x16, 0x17, 0x18, 0x18, 0x1A, 0x1C, 0x1F, 0x21, 0x23, 0x28, 0x33, - 0x49, 0x78, 0xB3, 0x00, 0x00, 0x00, 0x81, 0x52, 0x36, 0x24, 0x1B, 0x19, 0x19, 0x1A, 0x1C, 0x1D, - 0x1D, 0x1D, 0x1B, 0x1A, 0x1A, 0x1E, 0x21, 0x1E, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, - 0x18, 0x19, 0x19, 0x18, 0x19, 0x1A, 0x1B, 0x1B, 0x1D, 0x1F, 0x21, 0x23, 0x24, 0x28, 0x34, 0x4A, - 0x78, 0xB4, 0x00, 0x00, 0x00, 0x90, 0x5C, 0x40, 0x2F, 0x26, 0x24, 0x24, 0x25, 0x26, 0x28, 0x29, - 0x29, 0x28, 0x26, 0x26, 0x2A, 0x2A, 0x26, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x22, - 0x25, 0x26, 0x25, 0x25, 0x26, 0x27, 0x28, 0x28, 0x2A, 0x2C, 0x2D, 0x2E, 0x32, 0x3D, 0x53, 0x80, - 0xBF, 0x00, 0x00, 0x00, 0x9C, 0x65, 0x4A, 0x3A, 0x32, 0x30, 0x2F, 0x30, 0x32, 0x33, 0x34, 0x35, - 0x35, 0x34, 0x34, 0x36, 0x36, 0x2F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x2F, 0x33, - 0x34, 0x33, 0x33, 0x34, 0x35, 0x35, 0x35, 0x37, 0x38, 0x38, 0x39, 0x3D, 0x47, 0x5A, 0x85, 0xC4, - 0x00, 0x00, 0x00, 0xA6, 0x6C, 0x52, 0x41, 0x3B, 0x39, 0x38, 0x39, 0x3A, 0x3C, 0x3D, 0x3E, 0x3F, - 0x3F, 0x3F, 0x40, 0x3F, 0x36, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x25, 0x39, 0x3D, 0x3F, - 0x3E, 0x3E, 0x3E, 0x3F, 0x3F, 0x3F, 0x40, 0x41, 0x41, 0x41, 0x44, 0x4E, 0x5F, 0x88, 0xC6, 0x00, - 0x00, 0x00, 0xA8, 0x6D, 0x53, 0x44, 0x3D, 0x3C, 0x3B, 0x3C, 0x3D, 0x3E, 0x40, 0x41, 0x42, 0x42, - 0x42, 0x43, 0x40, 0x38, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x27, 0x3D, 0x41, 0x42, 0x42, - 0x42, 0x42, 0x42, 0x42, 0x42, 0x43, 0x43, 0x42, 0x42, 0x45, 0x4E, 0x5E, 0x86, 0xC0, 0x00, 0x00, - 0x00, 0xA9, 0x6E, 0x55, 0x46, 0x40, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x42, 0x43, 0x45, 0x45, 0x45, - 0x45, 0x43, 0x38, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x29, 0x3F, 0x43, 0x45, 0x45, 0x45, - 0x44, 0x45, 0x45, 0x45, 0x45, 0x44, 0x43, 0x43, 0x46, 0x4F, 0x5F, 0x86, 0xBF, 0x00, 0x00, 0x00, - 0xA9, 0x6E, 0x56, 0x47, 0x41, 0x40, 0x40, 0x43, 0x43, 0x43, 0x44, 0x45, 0x46, 0x47, 0x47, 0x47, - 0x44, 0x39, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2A, 0x41, 0x44, 0x46, 0x46, 0x46, 0x46, - 0x46, 0x46, 0x46, 0x46, 0x45, 0x44, 0x44, 0x47, 0x50, 0x60, 0x86, 0xBE, 0x00, 0x00, 0x00, 0xAC, - 0x70, 0x58, 0x49, 0x42, 0x41, 0x42, 0x45, 0x46, 0x46, 0x47, 0x47, 0x48, 0x49, 0x49, 0x49, 0x46, - 0x3A, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2B, 0x41, 0x46, 0x47, 0x47, 0x47, 0x47, 0x47, - 0x47, 0x47, 0x47, 0x46, 0x45, 0x45, 0x48, 0x52, 0x61, 0x86, 0xBC, 0x00, 0x00, 0x00, 0xAF, 0x73, - 0x5A, 0x4B, 0x44, 0x43, 0x44, 0x48, 0x49, 0x49, 0x4A, 0x4A, 0x4B, 0x4B, 0x4C, 0x4B, 0x48, 0x3B, - 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x2C, 0x44, 0x48, 0x49, 0x49, 0x49, 0x49, 0x49, 0x48, - 0x4A, 0x49, 0x47, 0x47, 0x47, 0x49, 0x54, 0x63, 0x89, 0xBD, 0x00, 0x00, 0x00, 0xB0, 0x74, 0x5D, - 0x4E, 0x46, 0x46, 0x47, 0x4C, 0x4D, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4B, 0x3F, 0x18, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x30, 0x48, 0x4D, 0x4E, 0x4E, 0x4D, 0x4D, 0x4D, 0x4C, 0x4E, - 0x4D, 0x4B, 0x4A, 0x4A, 0x4D, 0x58, 0x67, 0x8D, 0xC1, 0x00, 0x00, 0x00, 0xB4, 0x79, 0x60, 0x52, - 0x4A, 0x4A, 0x4D, 0x52, 0x55, 0x56, 0x57, 0x56, 0x56, 0x56, 0x56, 0x56, 0x52, 0x45, 0x20, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x11, 0x38, 0x51, 0x55, 0x56, 0x56, 0x55, 0x55, 0x55, 0x55, 0x56, 0x54, - 0x53, 0x50, 0x4F, 0x52, 0x5D, 0x6D, 0x94, 0xC9, 0x00, 0x00, 0x00, 0xB5, 0x7C, 0x65, 0x57, 0x50, - 0x52, 0x57, 0x5F, 0x63, 0x64, 0x65, 0x64, 0x64, 0x64, 0x64, 0x64, 0x61, 0x54, 0x31, 0x0E, 0x00, - 0x00, 0x00, 0x07, 0x23, 0x4A, 0x61, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x66, 0x65, 0x61, - 0x5C, 0x58, 0x5B, 0x66, 0x77, 0xA0, 0xD8, 0x00, 0x00, 0x00, 0xAD, 0x78, 0x60, 0x55, 0x50, 0x56, - 0x5F, 0x6A, 0x6E, 0x6F, 0x71, 0x70, 0x6F, 0x6F, 0x70, 0x70, 0x6D, 0x63, 0x46, 0x27, 0x15, 0x10, - 0x12, 0x21, 0x3A, 0x5B, 0x6E, 0x72, 0x73, 0x73, 0x73, 0x73, 0x74, 0x74, 0x75, 0x74, 0x6D, 0x63, - 0x5C, 0x5C, 0x67, 0x77, 0xA0, 0xD8, 0x00, 0x00, 0x00, 0xA3, 0x73, 0x5C, 0x51, 0x4E, 0x58, 0x65, - 0x75, 0x7B, 0x7C, 0x7D, 0x7C, 0x7B, 0x7B, 0x7C, 0x7D, 0x7B, 0x74, 0x5D, 0x45, 0x36, 0x32, 0x34, - 0x41, 0x55, 0x6F, 0x7D, 0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x84, 0x85, 0x83, 0x79, 0x6A, 0x5F, - 0x5D, 0x66, 0x74, 0x9C, 0xD3, 0x00, 0x00, 0x00, 0x9C, 0x71, 0x5A, 0x4F, 0x4E, 0x5A, 0x6A, 0x7A, - 0x81, 0x83, 0x83, 0x83, 0x81, 0x81, 0x82, 0x83, 0x82, 0x7D, 0x6E, 0x5D, 0x52, 0x4F, 0x4F, 0x5A, - 0x68, 0x79, 0x84, 0x86, 0x87, 0x88, 0x89, 0x8B, 0x8C, 0x8C, 0x8D, 0x8C, 0x80, 0x6F, 0x63, 0x5E, - 0x66, 0x73, 0x9C, 0xD4, 0x00, 0x00, 0x00, 0x9A, 0x71, 0x5B, 0x53, 0x53, 0x5D, 0x6B, 0x79, 0x7F, - 0x80, 0x80, 0x80, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x7D, 0x73, 0x67, 0x60, 0x5D, 0x5D, 0x64, 0x6E, - 0x7B, 0x82, 0x83, 0x83, 0x84, 0x85, 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x80, 0x71, 0x65, 0x60, 0x67, - 0x75, 0x9D, 0xD5, 0x00, 0x00, 0x00, 0x9C, 0x75, 0x60, 0x57, 0x56, 0x5F, 0x69, 0x75, 0x7A, 0x7B, - 0x7B, 0x7A, 0x78, 0x76, 0x77, 0x78, 0x78, 0x77, 0x72, 0x6B, 0x66, 0x64, 0x63, 0x68, 0x6F, 0x77, - 0x7B, 0x7B, 0x7B, 0x7C, 0x7D, 0x81, 0x82, 0x84, 0x84, 0x84, 0x7D, 0x73, 0x69, 0x66, 0x6C, 0x78, - 0x9F, 0xD6, 0x00, 0x00, 0x00, 0x99, 0x73, 0x5F, 0x57, 0x56, 0x5C, 0x64, 0x6D, 0x70, 0x73, 0x71, - 0x70, 0x6D, 0x6B, 0x6B, 0x6C, 0x6D, 0x6D, 0x6C, 0x68, 0x66, 0x64, 0x62, 0x65, 0x69, 0x6E, 0x70, - 0x6F, 0x6F, 0x70, 0x72, 0x76, 0x79, 0x7B, 0x7C, 0x7B, 0x77, 0x6F, 0x69, 0x67, 0x6B, 0x77, 0x9D, - 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x1C, 0x2E, 0x37, 0x36, 0x36, 0x37, 0x39, 0x3B, 0x3B, 0x3D, 0x3C, 0x36, 0x1D, 0x0D, 0x0D, 0x22, - 0x5E, 0x8E, 0x00, 0x00, 0x00, 0x1E, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x27, - 0x32, 0x32, 0x33, 0x35, 0x37, 0x39, 0x39, 0x3A, 0x39, 0x33, 0x1A, 0x0B, 0x0B, 0x20, 0x5D, 0x93, - 0x00, 0x00, 0x00, 0x21, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1C, 0x28, 0x29, - 0x2B, 0x2C, 0x2E, 0x30, 0x30, 0x31, 0x30, 0x2A, 0x11, 0x03, 0x04, 0x19, 0x57, 0x92, 0x00, 0x00, - 0x00, 0x29, 0x14, 0x08, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1D, 0x1F, 0x22, 0x23, - 0x25, 0x26, 0x26, 0x26, 0x25, 0x1F, 0x08, 0x00, 0x00, 0x12, 0x51, 0x92, 0x00, 0x00, 0x00, 0x2B, - 0x15, 0x0B, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x13, 0x16, 0x19, 0x1A, 0x1B, 0x1D, - 0x1C, 0x1B, 0x1A, 0x14, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x92, 0x00, 0x00, 0x00, 0x29, 0x14, 0x09, - 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0E, 0x10, 0x12, 0x13, 0x14, 0x13, 0x12, - 0x10, 0x0B, 0x00, 0x00, 0x00, 0x0D, 0x4D, 0x97, 0x00, 0x00, 0x00, 0x25, 0x10, 0x07, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x0A, 0x0B, 0x0D, 0x0E, 0x0C, 0x0B, 0x08, 0x03, - 0x00, 0x00, 0x00, 0x0D, 0x4E, 0x9A, 0x00, 0x00, 0x00, 0x25, 0x0F, 0x05, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x07, 0x08, 0x09, 0x08, 0x06, 0x03, 0x00, 0x00, 0x00, - 0x00, 0x0F, 0x52, 0xA1, 0x00, 0x00, 0x00, 0x24, 0x0D, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x53, 0xA3, 0x00, 0x00, 0x00, 0x20, 0x0B, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x56, 0xA6, - 0x00, 0x00, 0x00, 0x1F, 0x0B, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x58, 0xA7, 0x00, 0x00, - 0x00, 0x20, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x5D, 0xAA, 0x00, 0x00, 0x00, 0x2B, - 0x13, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1A, 0x61, 0xAC, 0x00, 0x00, 0x00, 0x35, 0x18, 0x09, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x05, 0x1D, 0x65, 0xAE, 0x00, 0x00, 0x00, 0x43, 0x1F, 0x0C, 0x02, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x07, 0x1F, 0x67, 0xAE, 0x00, 0x00, 0x00, 0x4B, 0x22, 0x0D, 0x02, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x21, 0x69, 0xB0, 0x00, 0x00, 0x00, 0x53, 0x25, 0x0D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x6C, 0x64, 0x74, 0x77, 0x75, 0x6F, 0x6A, 0x70, 0x6C, 0x6F, 0x73, 0x79, 0x82, 0x8B, 0x9B, 0xA3, + 0xA4, 0x9F, 0xA0, 0x9F, 0x96, 0x9B, 0xA3, 0xA3, 0x9F, 0x9C, 0x95, 0x84, 0x7D, 0x8B, 0x9E, 0x8E, + 0x7B, 0x73, 0x78, 0x7B, 0x7A, 0x78, 0x74, 0x6A, 0x57, 0x73, 0x90, 0x00, 0x00, 0x00, 0x88, 0x6E, + 0x66, 0x79, 0x7C, 0x7D, 0x78, 0x74, 0x75, 0x75, 0x78, 0x7B, 0x7D, 0x80, 0x85, 0x91, 0x97, 0x98, + 0x93, 0x93, 0x92, 0x8C, 0x90, 0x94, 0x94, 0x94, 0x94, 0x8F, 0x7D, 0x78, 0x81, 0x8E, 0x83, 0x79, + 0x78, 0x80, 0x84, 0x84, 0x82, 0x7F, 0x72, 0x59, 0x78, 0x98, 0x00, 0x00, 0x00, 0x8C, 0x6F, 0x64, + 0x7C, 0x80, 0x81, 0x7D, 0x79, 0x78, 0x79, 0x7E, 0x80, 0x7D, 0x7E, 0x82, 0x8C, 0x91, 0x92, 0x8B, + 0x87, 0x84, 0x80, 0x82, 0x86, 0x87, 0x8C, 0x8E, 0x89, 0x7C, 0x79, 0x82, 0x88, 0x81, 0x7D, 0x7F, + 0x86, 0x89, 0x89, 0x87, 0x85, 0x77, 0x5A, 0x7F, 0xA5, 0x00, 0x00, 0x00, 0x99, 0x76, 0x68, 0x7E, + 0x81, 0x83, 0x80, 0x7B, 0x79, 0x7C, 0x82, 0x83, 0x7C, 0x7D, 0x82, 0x8A, 0x8F, 0x8F, 0x84, 0x7A, + 0x74, 0x6F, 0x71, 0x76, 0x7A, 0x85, 0x8B, 0x86, 0x7B, 0x7C, 0x84, 0x87, 0x80, 0x7F, 0x84, 0x89, + 0x8B, 0x8C, 0x8A, 0x89, 0x7C, 0x5E, 0x89, 0xB8, 0x00, 0x00, 0x00, 0xA9, 0x81, 0x70, 0x82, 0x83, + 0x83, 0x81, 0x7D, 0x7B, 0x7E, 0x85, 0x85, 0x7D, 0x7D, 0x82, 0x89, 0x8E, 0x8E, 0x7E, 0x6C, 0x61, + 0x5A, 0x5C, 0x63, 0x6D, 0x7F, 0x87, 0x84, 0x7B, 0x7E, 0x85, 0x86, 0x81, 0x81, 0x86, 0x8B, 0x8C, + 0x8D, 0x8C, 0x8C, 0x84, 0x6A, 0x9B, 0xD3, 0x00, 0x00, 0x00, 0xC5, 0x95, 0x7D, 0x84, 0x80, 0x7F, + 0x7E, 0x7C, 0x7B, 0x7D, 0x83, 0x82, 0x7B, 0x7A, 0x7E, 0x86, 0x8C, 0x8B, 0x75, 0x5C, 0x4B, 0x43, + 0x44, 0x4E, 0x5D, 0x75, 0x81, 0x80, 0x7A, 0x7D, 0x82, 0x83, 0x7F, 0x80, 0x85, 0x89, 0x8C, 0x8C, + 0x8B, 0x8C, 0x8C, 0x7D, 0xB3, 0xF2, 0x00, 0x00, 0x00, 0xA5, 0x76, 0x5E, 0x56, 0x4F, 0x4D, 0x4D, + 0x4D, 0x4D, 0x4F, 0x52, 0x51, 0x4C, 0x4B, 0x4D, 0x55, 0x5B, 0x5A, 0x45, 0x2D, 0x1E, 0x18, 0x18, + 0x1F, 0x2E, 0x43, 0x4F, 0x50, 0x4D, 0x4E, 0x51, 0x52, 0x50, 0x51, 0x55, 0x59, 0x5B, 0x5D, 0x5C, + 0x5D, 0x63, 0x6B, 0xA0, 0xDE, 0x00, 0x00, 0x00, 0x80, 0x52, 0x3B, 0x2A, 0x22, 0x20, 0x21, 0x22, + 0x23, 0x24, 0x26, 0x25, 0x22, 0x20, 0x21, 0x28, 0x2F, 0x2E, 0x1C, 0x0A, 0x00, 0x00, 0x00, 0x00, + 0x0A, 0x1B, 0x24, 0x26, 0x24, 0x25, 0x26, 0x27, 0x27, 0x27, 0x2A, 0x2D, 0x30, 0x31, 0x31, 0x32, + 0x3B, 0x52, 0x84, 0xC3, 0x00, 0x00, 0x00, 0x6B, 0x3D, 0x28, 0x16, 0x0F, 0x0E, 0x0F, 0x11, 0x12, + 0x13, 0x14, 0x13, 0x11, 0x10, 0x11, 0x17, 0x1C, 0x1B, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0C, 0x16, 0x18, 0x17, 0x17, 0x18, 0x19, 0x19, 0x19, 0x1B, 0x1D, 0x20, 0x21, 0x21, 0x22, 0x2B, + 0x45, 0x74, 0xB5, 0x00, 0x00, 0x00, 0x6D, 0x3D, 0x29, 0x19, 0x13, 0x11, 0x13, 0x14, 0x16, 0x17, + 0x18, 0x18, 0x17, 0x17, 0x18, 0x1C, 0x1F, 0x1C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, + 0x1D, 0x1F, 0x1F, 0x1F, 0x20, 0x20, 0x21, 0x21, 0x22, 0x24, 0x26, 0x27, 0x27, 0x29, 0x31, 0x49, + 0x76, 0xB8, 0x00, 0x00, 0x00, 0x79, 0x46, 0x33, 0x24, 0x1F, 0x1F, 0x20, 0x21, 0x23, 0x24, 0x25, + 0x25, 0x25, 0x25, 0x27, 0x2A, 0x2B, 0x26, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x2A, + 0x2E, 0x2F, 0x2F, 0x2F, 0x30, 0x30, 0x30, 0x31, 0x32, 0x34, 0x34, 0x35, 0x37, 0x3E, 0x54, 0x7F, + 0xC3, 0x00, 0x00, 0x00, 0x87, 0x51, 0x3F, 0x32, 0x2D, 0x2D, 0x2E, 0x2F, 0x31, 0x32, 0x33, 0x33, + 0x34, 0x35, 0x35, 0x38, 0x37, 0x30, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x36, 0x3B, + 0x3C, 0x3D, 0x3D, 0x3E, 0x3F, 0x3E, 0x3F, 0x3F, 0x40, 0x41, 0x41, 0x43, 0x49, 0x5D, 0x87, 0xCB, + 0x00, 0x00, 0x00, 0x97, 0x5E, 0x4C, 0x3F, 0x3B, 0x3A, 0x3B, 0x3D, 0x3E, 0x3F, 0x40, 0x40, 0x41, + 0x42, 0x43, 0x45, 0x43, 0x39, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x2A, 0x3F, 0x45, 0x47, + 0x48, 0x49, 0x4A, 0x4A, 0x4A, 0x4B, 0x4B, 0x4B, 0x4A, 0x4B, 0x4C, 0x52, 0x64, 0x8C, 0xCE, 0x00, + 0x00, 0x00, 0xA1, 0x67, 0x58, 0x4B, 0x47, 0x47, 0x48, 0x4A, 0x4B, 0x4C, 0x4C, 0x4C, 0x4D, 0x4F, + 0x4E, 0x50, 0x4D, 0x42, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x2F, 0x45, 0x4C, 0x4F, 0x51, + 0x52, 0x53, 0x53, 0x54, 0x54, 0x54, 0x53, 0x52, 0x52, 0x54, 0x5A, 0x6A, 0x91, 0xD1, 0x00, 0x00, + 0x00, 0xAB, 0x70, 0x5F, 0x53, 0x4E, 0x4E, 0x4F, 0x51, 0x52, 0x53, 0x53, 0x53, 0x54, 0x56, 0x55, + 0x56, 0x53, 0x47, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x31, 0x47, 0x4F, 0x52, 0x55, 0x56, + 0x57, 0x58, 0x58, 0x59, 0x59, 0x57, 0x55, 0x54, 0x55, 0x5C, 0x6C, 0x91, 0xCE, 0x00, 0x00, 0x00, + 0xAC, 0x71, 0x61, 0x54, 0x4F, 0x4F, 0x50, 0x52, 0x53, 0x53, 0x53, 0x53, 0x54, 0x56, 0x55, 0x56, + 0x52, 0x46, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x2E, 0x45, 0x4D, 0x50, 0x53, 0x54, 0x56, + 0x56, 0x57, 0x57, 0x57, 0x55, 0x52, 0x50, 0x51, 0x57, 0x67, 0x8B, 0xC5, 0x00, 0x00, 0x00, 0xB1, + 0x75, 0x62, 0x55, 0x4F, 0x4F, 0x50, 0x52, 0x53, 0x53, 0x54, 0x53, 0x55, 0x55, 0x55, 0x56, 0x52, + 0x46, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x2D, 0x44, 0x4C, 0x50, 0x53, 0x54, 0x55, 0x56, + 0x56, 0x57, 0x56, 0x53, 0x4F, 0x4C, 0x4D, 0x54, 0x63, 0x86, 0xBE, 0x00, 0x00, 0x00, 0xB3, 0x77, + 0x64, 0x56, 0x4F, 0x4E, 0x4F, 0x51, 0x53, 0x53, 0x54, 0x54, 0x55, 0x55, 0x55, 0x56, 0x53, 0x45, + 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x2E, 0x46, 0x4E, 0x52, 0x54, 0x55, 0x57, 0x57, 0x57, + 0x57, 0x56, 0x51, 0x4C, 0x49, 0x4A, 0x51, 0x5F, 0x81, 0xB7, 0x00, 0x00, 0x00, 0xB5, 0x78, 0x64, + 0x56, 0x4E, 0x4E, 0x4F, 0x52, 0x54, 0x54, 0x55, 0x55, 0x56, 0x56, 0x56, 0x57, 0x54, 0x47, 0x1D, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x31, 0x4A, 0x51, 0x55, 0x57, 0x58, 0x59, 0x58, 0x59, 0x58, + 0x56, 0x50, 0x4A, 0x47, 0x48, 0x4E, 0x5C, 0x7E, 0xB4, 0x00, 0x00, 0x00, 0xBC, 0x7D, 0x66, 0x57, + 0x4F, 0x4E, 0x51, 0x56, 0x58, 0x58, 0x59, 0x59, 0x5A, 0x59, 0x59, 0x5A, 0x57, 0x4B, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x38, 0x51, 0x58, 0x5B, 0x5C, 0x5C, 0x5D, 0x5C, 0x5C, 0x5B, 0x58, + 0x51, 0x4A, 0x46, 0x47, 0x4D, 0x5A, 0x7C, 0xB2, 0x00, 0x00, 0x00, 0xBB, 0x7C, 0x65, 0x56, 0x4F, + 0x50, 0x56, 0x5D, 0x61, 0x61, 0x62, 0x62, 0x62, 0x61, 0x61, 0x62, 0x60, 0x55, 0x31, 0x0C, 0x00, + 0x00, 0x00, 0x03, 0x20, 0x45, 0x5B, 0x62, 0x64, 0x65, 0x64, 0x64, 0x63, 0x63, 0x61, 0x5E, 0x54, + 0x4A, 0x44, 0x45, 0x4B, 0x59, 0x7D, 0xB4, 0x00, 0x00, 0x00, 0xBE, 0x7F, 0x65, 0x57, 0x51, 0x57, + 0x62, 0x6F, 0x75, 0x75, 0x76, 0x75, 0x76, 0x75, 0x74, 0x74, 0x73, 0x6A, 0x4C, 0x2C, 0x18, 0x12, + 0x15, 0x25, 0x3E, 0x5D, 0x6F, 0x74, 0x75, 0x75, 0x74, 0x75, 0x73, 0x73, 0x72, 0x6D, 0x5F, 0x50, + 0x46, 0x44, 0x4B, 0x58, 0x7B, 0xB2, 0x00, 0x00, 0x00, 0xC1, 0x83, 0x68, 0x59, 0x55, 0x60, 0x74, + 0x88, 0x8F, 0x90, 0x91, 0x90, 0x90, 0x8F, 0x8E, 0x8E, 0x8C, 0x86, 0x70, 0x57, 0x49, 0x44, 0x46, + 0x52, 0x65, 0x7A, 0x88, 0x8A, 0x8B, 0x8B, 0x8A, 0x8B, 0x8A, 0x8B, 0x89, 0x84, 0x70, 0x5A, 0x4A, + 0x45, 0x4B, 0x59, 0x7D, 0xB5, 0x00, 0x00, 0x00, 0xC0, 0x84, 0x68, 0x5A, 0x58, 0x66, 0x7D, 0x92, + 0x9A, 0x9B, 0x9C, 0x9B, 0x99, 0x98, 0x97, 0x97, 0x96, 0x92, 0x84, 0x73, 0x6A, 0x67, 0x67, 0x6F, + 0x7B, 0x87, 0x90, 0x91, 0x91, 0x91, 0x91, 0x92, 0x92, 0x92, 0x91, 0x8C, 0x78, 0x60, 0x4D, 0x45, + 0x4A, 0x57, 0x7B, 0xB3, 0x00, 0x00, 0x00, 0xC1, 0x87, 0x6D, 0x61, 0x5F, 0x6B, 0x7D, 0x8E, 0x94, + 0x95, 0x96, 0x95, 0x93, 0x91, 0x90, 0x90, 0x8F, 0x8D, 0x86, 0x7B, 0x75, 0x72, 0x71, 0x77, 0x7E, + 0x84, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x8A, 0x8A, 0x89, 0x85, 0x75, 0x62, 0x53, 0x4B, 0x4F, + 0x5C, 0x80, 0xB9, 0x00, 0x00, 0x00, 0xC2, 0x8C, 0x74, 0x69, 0x67, 0x6F, 0x7C, 0x87, 0x89, 0x8A, + 0x8A, 0x89, 0x86, 0x84, 0x83, 0x83, 0x83, 0x82, 0x7F, 0x79, 0x76, 0x72, 0x71, 0x74, 0x79, 0x7A, + 0x7B, 0x7B, 0x7A, 0x7A, 0x7B, 0x7C, 0x7D, 0x7D, 0x7D, 0x79, 0x6E, 0x61, 0x57, 0x51, 0x54, 0x5F, + 0x80, 0xB7, 0x00, 0x00, 0x00, 0xC1, 0x8E, 0x79, 0x6E, 0x6C, 0x71, 0x7A, 0x81, 0x83, 0x83, 0x83, + 0x81, 0x7D, 0x7B, 0x79, 0x78, 0x79, 0x79, 0x79, 0x76, 0x73, 0x6F, 0x6D, 0x6F, 0x71, 0x70, 0x6F, + 0x6E, 0x6D, 0x6D, 0x6E, 0x70, 0x72, 0x72, 0x71, 0x6F, 0x67, 0x5F, 0x58, 0x53, 0x55, 0x5D, 0x7B, + 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, + 0x18, 0x27, 0x2F, 0x31, 0x30, 0x33, 0x36, 0x38, 0x3A, 0x3B, 0x3B, 0x35, 0x1F, 0x10, 0x10, 0x27, + 0x63, 0x9F, 0x00, 0x00, 0x00, 0x1F, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1F, + 0x29, 0x2C, 0x2D, 0x30, 0x34, 0x35, 0x37, 0x38, 0x37, 0x31, 0x1A, 0x0A, 0x0A, 0x22, 0x5F, 0xA2, + 0x00, 0x00, 0x00, 0x21, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1E, 0x23, + 0x25, 0x29, 0x2C, 0x2D, 0x2E, 0x2F, 0x2D, 0x27, 0x0F, 0x00, 0x00, 0x19, 0x57, 0x9C, 0x00, 0x00, + 0x00, 0x2F, 0x17, 0x0C, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x15, 0x1A, 0x1D, 0x21, + 0x23, 0x24, 0x25, 0x25, 0x23, 0x1B, 0x06, 0x00, 0x00, 0x10, 0x4E, 0x99, 0x00, 0x00, 0x00, 0x33, + 0x1A, 0x11, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x14, 0x17, 0x1A, 0x1C, 0x1D, + 0x1C, 0x1C, 0x19, 0x12, 0x00, 0x00, 0x00, 0x0E, 0x4D, 0x9C, 0x00, 0x00, 0x00, 0x33, 0x1A, 0x11, + 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x0E, 0x11, 0x14, 0x16, 0x16, 0x15, 0x14, + 0x10, 0x09, 0x00, 0x00, 0x00, 0x0F, 0x51, 0xA4, 0x00, 0x00, 0x00, 0x30, 0x17, 0x0F, 0x09, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0A, 0x0D, 0x0F, 0x11, 0x11, 0x0F, 0x0E, 0x09, 0x03, + 0x00, 0x00, 0x00, 0x13, 0x55, 0xA9, 0x00, 0x00, 0x00, 0x32, 0x16, 0x0D, 0x08, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x0A, 0x0C, 0x0D, 0x0D, 0x0B, 0x09, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x15, 0x58, 0xAC, 0x00, 0x00, 0x00, 0x32, 0x14, 0x0C, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x07, 0x09, 0x0A, 0x0C, 0x0C, 0x0A, 0x07, 0x02, 0x00, 0x00, 0x00, 0x04, 0x19, + 0x5B, 0xB0, 0x00, 0x00, 0x00, 0x2E, 0x12, 0x0B, 0x09, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x06, 0x08, 0x09, 0x0A, 0x0A, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1C, 0x5F, 0xB4, + 0x00, 0x00, 0x00, 0x2D, 0x12, 0x0B, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, + 0x07, 0x08, 0x09, 0x09, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x60, 0xB3, 0x00, 0x00, + 0x00, 0x31, 0x15, 0x0D, 0x0A, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x08, 0x08, + 0x09, 0x09, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x20, 0x64, 0xB5, 0x00, 0x00, 0x00, 0x38, + 0x19, 0x10, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x08, 0x08, 0x09, 0x09, + 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x23, 0x68, 0xB7, 0x00, 0x00, 0x00, 0x43, 0x20, 0x14, + 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x07, 0x07, 0x08, 0x07, 0x06, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x0E, 0x25, 0x6A, 0xB8, 0x00, 0x00, 0x00, 0x4D, 0x26, 0x17, 0x0F, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x04, 0x05, 0x05, 0x04, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0F, 0x27, 0x6D, 0xBB, 0x00, 0x00, 0x00, 0x54, 0x29, 0x17, 0x0E, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0F, 0x26, 0x6C, 0xB8, 0x00, 0x00, 0x00, 0x53, 0x25, 0x0D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x20, 0x68, 0xAE, 0x00, 0x00, 0x00, 0x55, 0x24, 0x0C, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0x66, 0xAC, @@ -1442,1495 +1442,1495 @@ const unsigned char Binary_48[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1F, 0x67, 0xA8, 0x00, 0x00, 0x00, 0x5F, 0x26, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x22, 0x6B, 0xAB, 0x00, 0x00, - 0x00, 0x5D, 0x24, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x24, 0x6E, 0xAE, 0x00, 0x00, 0x00, 0x58, - 0x21, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x24, 0x6E, 0xAE, 0x00, 0x00, 0x00, 0x4E, 0x1A, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0B, 0x24, 0x6E, 0xB0, 0x00, 0x00, 0x00, 0x50, 0x1C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x09, 0x21, 0x6A, 0xAD, 0x00, 0x00, 0x00, 0x4D, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x06, 0x1F, 0x68, 0xAD, 0x00, 0x00, 0x00, 0x47, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x1B, - 0x63, 0xA9, 0x00, 0x00, 0x00, 0x3E, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x19, 0x61, 0xAA, - 0x00, 0x00, 0x00, 0x34, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x5D, 0xA8, 0x00, 0x00, - 0x00, 0x29, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x5B, 0xA6, 0x00, 0x00, 0x00, 0x24, - 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x04, 0x03, - 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x13, 0x58, 0xA3, 0x00, 0x00, 0x00, 0x20, 0x0A, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x07, 0x07, 0x07, 0x06, 0x06, - 0x06, 0x03, 0x00, 0x00, 0x00, 0x11, 0x56, 0xA1, 0x00, 0x00, 0x00, 0x1F, 0x0B, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x0A, 0x0C, 0x0D, 0x0C, 0x0C, 0x0C, 0x0D, 0x0A, - 0x00, 0x00, 0x00, 0x10, 0x53, 0x9B, 0x00, 0x00, 0x00, 0x1E, 0x0B, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0F, 0x10, 0x12, 0x13, 0x12, 0x13, 0x13, 0x15, 0x11, 0x00, 0x00, - 0x00, 0x11, 0x52, 0x95, 0x00, 0x00, 0x00, 0x1B, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x13, 0x17, 0x18, 0x1A, 0x1A, 0x1A, 0x1B, 0x1C, 0x1F, 0x1B, 0x08, 0x00, 0x01, 0x18, - 0x59, 0x98, 0x00, 0x00, 0x00, 0x1A, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, - 0x1C, 0x1E, 0x20, 0x21, 0x22, 0x21, 0x23, 0x24, 0x27, 0x24, 0x11, 0x07, 0x09, 0x20, 0x60, 0x99, - 0x00, 0x00, 0x00, 0x17, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x1A, 0x22, 0x24, - 0x25, 0x25, 0x26, 0x25, 0x27, 0x29, 0x2C, 0x29, 0x18, 0x0E, 0x10, 0x28, 0x67, 0x9A, 0x00, 0x00, - 0x00, 0x11, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x1C, 0x22, 0x21, 0x22, 0x22, - 0x22, 0x22, 0x23, 0x26, 0x29, 0x27, 0x1A, 0x11, 0x14, 0x2B, 0x6B, 0x9A, 0x00, 0x00, 0x00, 0x07, + 0x00, 0x64, 0x2D, 0x1C, 0x15, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x2C, 0x72, 0xBA, 0x00, 0x00, 0x00, 0x66, + 0x2E, 0x1C, 0x17, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0C, 0x0C, 0x0A, 0x0A, 0x09, 0x08, + 0x06, 0x03, 0x01, 0x00, 0x00, 0x05, 0x14, 0x2D, 0x73, 0xBB, 0x00, 0x00, 0x00, 0x63, 0x2B, 0x1A, + 0x18, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x11, 0x12, 0x10, 0x10, 0x0F, 0x0E, 0x0C, 0x09, + 0x06, 0x02, 0x00, 0x05, 0x13, 0x2C, 0x73, 0xBB, 0x00, 0x00, 0x00, 0x60, 0x29, 0x18, 0x18, 0x0E, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x13, 0x15, 0x14, 0x13, 0x13, 0x12, 0x0F, 0x0C, 0x08, 0x04, + 0x00, 0x04, 0x11, 0x2B, 0x72, 0xBB, 0x00, 0x00, 0x00, 0x5E, 0x28, 0x17, 0x17, 0x0E, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x14, 0x16, 0x16, 0x15, 0x15, 0x14, 0x11, 0x0E, 0x0A, 0x04, 0x00, 0x02, + 0x0F, 0x27, 0x6C, 0xB5, 0x00, 0x00, 0x00, 0x58, 0x26, 0x17, 0x17, 0x0E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x18, 0x17, 0x17, 0x17, 0x16, 0x12, 0x0F, 0x0A, 0x04, 0x00, 0x01, 0x0D, 0x26, + 0x6C, 0xB8, 0x00, 0x00, 0x00, 0x58, 0x2A, 0x1A, 0x18, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0x16, 0x19, 0x1A, 0x19, 0x19, 0x18, 0x14, 0x11, 0x0C, 0x04, 0x00, 0x00, 0x0C, 0x23, 0x68, 0xB5, + 0x00, 0x00, 0x00, 0x54, 0x2A, 0x1D, 0x1A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x18, 0x1B, + 0x1C, 0x1C, 0x1C, 0x1A, 0x16, 0x13, 0x0D, 0x05, 0x00, 0x00, 0x0A, 0x22, 0x67, 0xB5, 0x00, 0x00, + 0x00, 0x52, 0x2C, 0x1F, 0x1A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x19, 0x1D, 0x1E, 0x1E, + 0x1D, 0x1B, 0x18, 0x14, 0x0E, 0x06, 0x00, 0x00, 0x07, 0x1D, 0x60, 0xAD, 0x00, 0x00, 0x00, 0x4C, + 0x2A, 0x21, 0x1B, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x1C, 0x20, 0x21, 0x21, 0x20, 0x1E, + 0x1A, 0x17, 0x11, 0x08, 0x00, 0x00, 0x03, 0x1A, 0x5E, 0xAC, 0x00, 0x00, 0x00, 0x4C, 0x2C, 0x22, + 0x1B, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x20, 0x24, 0x25, 0x25, 0x24, 0x21, 0x1E, 0x1A, + 0x14, 0x0B, 0x00, 0x00, 0x00, 0x14, 0x56, 0xA4, 0x00, 0x00, 0x00, 0x4B, 0x2D, 0x24, 0x1B, 0x12, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x26, 0x29, 0x2B, 0x2A, 0x29, 0x26, 0x23, 0x1F, 0x1A, 0x11, + 0x00, 0x00, 0x00, 0x10, 0x50, 0x9C, 0x00, 0x00, 0x00, 0x45, 0x29, 0x20, 0x19, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0x2D, 0x2F, 0x31, 0x30, 0x2E, 0x2B, 0x28, 0x25, 0x20, 0x18, 0x03, 0x00, + 0x00, 0x10, 0x4F, 0x98, 0x00, 0x00, 0x00, 0x3B, 0x22, 0x19, 0x13, 0x0D, 0x00, 0x00, 0x00, 0x00, + 0x09, 0x29, 0x36, 0x38, 0x39, 0x38, 0x36, 0x33, 0x30, 0x2D, 0x29, 0x21, 0x0C, 0x00, 0x00, 0x15, + 0x53, 0x97, 0x00, 0x00, 0x00, 0x27, 0x13, 0x0B, 0x08, 0x05, 0x00, 0x00, 0x00, 0x01, 0x18, 0x35, + 0x41, 0x43, 0x42, 0x41, 0x3F, 0x3C, 0x39, 0x36, 0x33, 0x2C, 0x17, 0x08, 0x06, 0x1F, 0x5D, 0x9F, + 0x00, 0x00, 0x00, 0x13, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2B, 0x43, 0x4D, 0x4D, + 0x4A, 0x48, 0x47, 0x45, 0x41, 0x3E, 0x3C, 0x36, 0x22, 0x13, 0x12, 0x2B, 0x67, 0xA6, 0x00, 0x00, + 0x00, 0x0D, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3C, 0x4D, 0x53, 0x52, 0x4E, 0x4B, + 0x4A, 0x47, 0x43, 0x40, 0x3F, 0x3A, 0x2A, 0x1C, 0x1B, 0x34, 0x70, 0xA9, 0x00, 0x00, 0x00, 0x07, 0x7F, 0x7F, 0x7F, 0x49, 0x48, 0x48, 0x48, 0x49, 0x47, 0x32, 0x34, 0x33, 0x33, 0x33, 0x34, 0x07, - 0x09, 0x09, 0x09, 0x07, 0x08, 0x0D, 0x41, 0x40, 0x40, 0x40, 0x41, 0x00, 0x02, 0x00, 0x42, 0x34, - 0x36, 0x36, 0x58, 0x00, 0xEE, 0x1C, 0x20, 0xFE, 0x16, 0x1F, 0xFE, 0xA3, 0xC0, 0xA1, 0x00, 0xBB, - 0x8B, 0xFD, 0x16, 0x00, 0xFB, 0xA1, 0x00, 0x97, 0x86, 0xC6, 0xEA, 0x20, 0xFE, 0xBD, 0xF6, 0x16, - 0x00, 0xF4, 0xA1, 0x00, 0x97, 0x86, 0xC6, 0xEA, 0x00, 0xF8, 0xBD, 0xF6, 0x16, 0x03, 0x10, 0x14, - 0x02, 0xFB, 0xC6, 0xEA, 0x03, 0x10, 0xAD, 0x06, 0x87, 0x95, 0x86, 0x84, 0xFA, 0xF4, 0x16, 0x02, - 0xFB, 0xC6, 0xEA, 0xB6, 0xFD, 0xAD, 0x06, 0xA1, 0x00, 0x97, 0x86, 0xFA, 0xF4, 0x16, 0x03, 0x10, - 0x14, 0x84, 0xFE, 0xC6, 0xEA, 0x03, 0x10, 0xAD, 0x06, 0x87, 0x95, 0x86, 0x84, 0xFA, 0xF4, 0x16, - 0x84, 0xFE, 0xC6, 0xEA, 0x84, 0xFE, 0xAD, 0x06, 0xA1, 0x00, 0x97, 0x86, 0xFA, 0xF4, 0x9A, 0x40, - 0x9B, 0xFA, 0xFE, 0xB3, 0xB5, 0xB7, 0xD2, 0x89, 0xB8, 0x22, 0x7B, 0x1E, 0xB9, 0x62, 0x89, 0xBC, - 0xB9, 0x66, 0x13, 0x68, 0x81, 0x31, 0x76, 0x68, 0xFC, 0xA9, 0x62, 0xD4, 0xA9, 0x64, 0x23, 0xD6, - 0x89, 0xB8, 0x22, 0x7B, 0x1E, 0xB9, 0x62, 0xC2, 0xB9, 0x66, 0x13, 0x68, 0x81, 0x31, 0x76, 0x68, - 0xFC, 0xA9, 0x62, 0x23, 0x30, 0x61, 0x06, 0x60, 0x61, 0x27, 0x89, 0xBA, 0x22, 0x7B, 0x1E, 0xB9, - 0x62, 0x89, 0xBC, 0xB9, 0x66, 0x13, 0x68, 0x81, 0x31, 0x76, 0x68, 0xFC, 0xA9, 0x62, 0x23, 0x30, - 0x61, 0x0E, 0x30, 0x61, 0x2F, 0x99, 0xBA, 0xC4, 0x99, 0xB8, 0xB6, 0xB4, 0xB2, 0xAF, 0xF8, 0xB8, - 0xFF, 0xF8, 0xB9, 0xFF, 0xF8, 0xBA, 0xFF, 0xF8, 0xBB, 0xFF, 0x88, 0xB8, 0x01, 0xA8, 0xB9, 0x00, - 0xA8, 0xBA, 0x00, 0xA8, 0xBB, 0x00, 0xAF, 0xB3, 0xA3, 0x00, 0x31, 0x73, 0xBB, 0x19, 0x43, 0xF8, - 0xB8, 0xFF, 0xF8, 0xB9, 0xFF, 0xF8, 0xBA, 0xFF, 0xF8, 0xBB, 0xFF, 0x88, 0xB8, 0x01, 0xA8, 0xB9, - 0x00, 0xA8, 0xBA, 0x00, 0xA8, 0xBB, 0x00, 0x31, 0x7F, 0x19, 0x43, 0xF8, 0xBC, 0xFF, 0xF8, 0xBD, - 0xFF, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x88, 0xBC, 0x01, 0xA8, 0xBD, 0x00, 0x30, 0x2D, 0x00, - 0x30, 0x2D, 0x00, 0x9A, 0x91, 0x5D, 0x53, 0xBD, 0x16, 0x10, 0x00, 0x00, 0x30, 0x1E, 0xB8, 0x30, - 0x3E, 0xB9, 0x99, 0xB8, 0x61, 0x31, 0x70, 0x30, 0x1E, 0xBA, 0x30, 0x3E, 0xBB, 0x99, 0xBA, 0xB2, - 0xAF, 0xB1, 0x61, 0x68, 0xBD, 0x0D, 0xF0, 0xBC, 0x6E, 0xBD, 0xBD, 0x07, 0x70, 0x99, 0xB8, 0x99, - 0xBA, 0xB0, 0xAF, 0xB0, 0xB3, 0xB5, 0xB7, 0xD6, 0x89, 0xB8, 0xD4, 0x89, 0xBA, 0xE6, 0x99, 0xBA, - 0x10, 0x00, 0x00, 0xD2, 0x11, 0xB8, 0x20, 0x21, 0x34, 0x27, 0x34, 0x35, 0x27, 0x35, 0x36, 0x27, - 0x36, 0x37, 0x27, 0x37, 0x30, 0x27, 0x30, 0x27, 0x32, 0x27, 0x32, 0x33, 0x27, 0x33, 0xE2, 0x4E, - 0xBB, 0xBD, 0x04, 0x30, 0x4E, 0xBA, 0x30, 0xE2, 0x8D, 0x1B, 0xBD, 0x0A, 0x4E, 0xBD, 0xBD, 0x04, - 0x30, 0x4E, 0xBC, 0x30, 0x8D, 0x0F, 0x30, 0x1E, 0xBC, 0x30, 0x3E, 0xBD, 0x32, 0x3E, 0xBA, 0x32, - 0x33, 0x3E, 0xBB, 0x33, 0x44, 0x04, 0xB8, 0xBF, 0xC4, 0x99, 0xB8, 0xC6, 0x99, 0xBA, 0xB6, 0xB4, - 0xB2, 0xAF, 0x83, 0xB8, 0x0E, 0xBC, 0x83, 0xB8, 0x83, 0xB9, 0x2E, 0xBD, 0x83, 0xB9, 0x30, 0x2E, - 0xBA, 0x30, 0x2E, 0xBB, 0x99, 0xBA, 0xAF, 0x83, 0xB8, 0x1E, 0xBC, 0x83, 0xB8, 0x83, 0xB9, 0x3E, - 0xBD, 0x83, 0xB9, 0x83, 0xBA, 0x61, 0x38, 0x83, 0xBA, 0x83, 0xBB, 0x3E, 0xBB, 0x83, 0xBB, 0xAF, - 0x4D, 0x00, 0xAD, 0x19, 0xB3, 0xD2, 0x89, 0xB8, 0x30, 0x61, 0x01, 0x30, 0x27, 0x83, 0xBA, 0x27, - 0x83, 0xBA, 0x83, 0xBB, 0x27, 0x83, 0xBB, 0x8B, 0xEF, 0x99, 0xB8, 0xC2, 0xB2, 0xAF, 0x4D, 0x00, - 0xAD, 0x19, 0xB3, 0xD2, 0x89, 0xBA, 0x21, 0x25, 0x30, 0x25, 0x30, 0x83, 0xB9, 0x25, 0x83, 0xB9, - 0x83, 0xB8, 0x25, 0x83, 0xB8, 0x8B, 0xEF, 0x99, 0xBA, 0xC2, 0xB2, 0xAF, 0xB7, 0xA6, 0x03, 0x66, - 0x4D, 0x00, 0x61, 0xFE, 0x9D, 0x03, 0x9B, 0x23, 0x5F, 0x27, 0x77, 0x66, 0x70, 0x27, 0x61, 0x31, - 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x37, 0x72, 0x37, - 0xD4, 0x62, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x86, 0xFB, 0xB5, 0xB2, - 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, - 0xCA, 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, 0x30, - 0x61, 0x01, 0x30, 0x27, 0xCA, 0x86, 0xFB, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, - 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x37, - 0x72, 0x37, 0xD4, 0x62, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, + 0x09, 0x09, 0x09, 0x07, 0x08, 0x0D, 0x41, 0x40, 0x40, 0x40, 0x41, 0x00, 0xC4, 0x09, 0x4E, 0x0C, + 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, + 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, + 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, + 0xC4, 0x09, 0xC4, 0x09, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, + 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, + 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, + 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0xC4, 0x09, 0xC4, 0x09, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, + 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, + 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, + 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, + 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, 0xC4, 0x09, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, + 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0x4E, 0x0C, 0xC4, 0x09, + 0xC4, 0x09, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, + 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, + 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, + 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, + 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, + 0x58, 0x1B, 0x58, 0x1B, 0x58, 0x1B, 0xC4, 0x09, 0x00, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x46, 0x5A, 0x8F, 0x8D, 0x8D, 0x90, 0x94, 0x97, 0x8F, 0x7E, 0x69, 0x56, 0x49, + 0x40, 0x3E, 0x3E, 0x40, 0x41, 0x41, 0x3F, 0x3D, 0x3C, 0x3F, 0x44, 0x4C, 0x51, 0x53, 0x56, 0x67, + 0x83, 0x5A, 0x46, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x46, 0x5A, 0x89, 0x87, 0x88, 0x8A, 0x8C, 0x8D, 0x87, 0x79, 0x6A, + 0x5B, 0x50, 0x4A, 0x48, 0x48, 0x48, 0x49, 0x49, 0x47, 0x46, 0x46, 0x49, 0x4E, 0x55, 0x5A, 0x5C, + 0x5F, 0x6C, 0x81, 0x5A, 0x46, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x46, 0x5A, 0x6E, 0x6B, 0x6A, 0x6A, 0x6A, 0x69, 0x65, + 0x5F, 0x57, 0x51, 0x4D, 0x4A, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x4A, 0x4C, 0x51, 0x57, + 0x5D, 0x60, 0x61, 0x67, 0x70, 0x5A, 0x46, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x46, 0x5A, 0x59, 0x55, 0x52, 0x51, 0x50, + 0x4E, 0x4B, 0x47, 0x44, 0x42, 0x40, 0x3E, 0x3E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3E, 0x3E, 0x40, 0x3E, + 0x41, 0x47, 0x4C, 0x4F, 0x51, 0x55, 0x59, 0x5A, 0x46, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x46, 0x5A, 0x54, 0x50, 0x4C, + 0x4A, 0x48, 0x47, 0x46, 0x45, 0x43, 0x41, 0x40, 0x3F, 0x40, 0x41, 0x43, 0x42, 0x43, 0x42, 0x42, + 0x41, 0x41, 0x42, 0x45, 0x46, 0x47, 0x48, 0x4B, 0x4D, 0x5A, 0x46, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x46, 0x5A, 0x57, + 0x53, 0x50, 0x4E, 0x4C, 0x4B, 0x4A, 0x48, 0x47, 0x46, 0x46, 0x47, 0x4A, 0x4D, 0x51, 0x53, 0x52, + 0x50, 0x4C, 0x49, 0x46, 0x46, 0x47, 0x47, 0x47, 0x49, 0x4B, 0x4D, 0x5A, 0x46, 0x28, 0x28, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x46, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x58, 0x58, 0x58, 0x57, 0x57, 0x57, 0x58, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x56, 0x56, 0x56, 0x55, 0x55, 0x57, 0x59, 0x5A, 0x5A, 0x46, 0x28, + 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x28, 0x46, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x46, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x46, 0x46, 0x46, + 0x46, 0x46, 0x46, 0x46, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x28, 0x28, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x28, + 0x14, 0x34, 0x43, 0x50, 0x59, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x53, 0x37, 0x15, 0x2F, 0x3C, 0x45, 0x4A, 0x4D, 0x4C, 0x4C, 0x4B, 0x4B, 0x4B, 0x4B, 0x4A, 0x4B, + 0x4B, 0x4C, 0x4D, 0x4F, 0x51, 0x55, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x57, + 0x52, 0x4F, 0x4E, 0x4D, 0x4D, 0x4D, 0x4F, 0x50, 0x4F, 0x4F, 0x50, 0x52, 0x54, 0x57, 0x5A, 0x5A, + 0x5A, 0x5A, 0x50, 0x36, 0x11, 0x2A, 0x37, 0x3E, 0x42, 0x42, 0x41, 0x40, 0x40, 0x3F, 0x3F, 0x3F, + 0x3F, 0x3E, 0x3F, 0x3F, 0x40, 0x42, 0x46, 0x4A, 0x52, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x55, 0x4C, 0x46, 0x43, 0x41, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x43, 0x45, 0x47, 0x4B, + 0x51, 0x56, 0x59, 0x57, 0x4F, 0x37, 0x0F, 0x28, 0x34, 0x3B, 0x3E, 0x3D, 0x3C, 0x3B, 0x3B, 0x3A, + 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3B, 0x3C, 0x3E, 0x41, 0x46, 0x4F, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x52, 0x48, 0x42, 0x3E, 0x3C, 0x3B, 0x3A, 0x3A, 0x3A, 0x3B, 0x3B, 0x3C, 0x3E, 0x40, + 0x43, 0x47, 0x4D, 0x53, 0x57, 0x56, 0x50, 0x3E, 0x0C, 0x24, 0x31, 0x38, 0x3B, 0x3A, 0x39, 0x38, + 0x38, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x38, 0x39, 0x3B, 0x3F, 0x45, 0x4E, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x51, 0x46, 0x40, 0x3C, 0x3A, 0x39, 0x37, 0x37, 0x37, 0x37, 0x38, 0x39, + 0x3B, 0x3D, 0x40, 0x44, 0x49, 0x50, 0x55, 0x56, 0x51, 0x41, 0x0C, 0x23, 0x30, 0x37, 0x3A, 0x39, + 0x38, 0x37, 0x36, 0x35, 0x35, 0x35, 0x35, 0x35, 0x36, 0x37, 0x38, 0x3A, 0x3E, 0x44, 0x4D, 0x59, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x51, 0x46, 0x3F, 0x3B, 0x39, 0x37, 0x36, 0x36, 0x36, 0x36, + 0x37, 0x38, 0x3A, 0x3C, 0x3F, 0x43, 0x49, 0x4F, 0x55, 0x56, 0x51, 0x41, 0x0B, 0x22, 0x30, 0x36, + 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x34, 0x34, 0x34, 0x34, 0x35, 0x36, 0x37, 0x39, 0x3D, 0x43, + 0x4C, 0x58, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x51, 0x46, 0x3F, 0x3B, 0x38, 0x37, 0x36, 0x35, + 0x36, 0x36, 0x37, 0x38, 0x39, 0x3C, 0x3F, 0x43, 0x48, 0x4F, 0x54, 0x55, 0x51, 0x42, 0x0B, 0x22, + 0x2F, 0x37, 0x39, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x34, 0x34, 0x34, 0x34, 0x35, 0x36, 0x38, + 0x3C, 0x42, 0x4A, 0x57, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x52, 0x46, 0x3F, 0x3B, 0x39, 0x37, + 0x36, 0x35, 0x35, 0x36, 0x36, 0x38, 0x3A, 0x3C, 0x3F, 0x43, 0x48, 0x4F, 0x54, 0x55, 0x50, 0x3F, + 0x0C, 0x24, 0x30, 0x37, 0x3A, 0x3A, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x34, 0x35, 0x35, 0x36, + 0x37, 0x39, 0x3C, 0x42, 0x4A, 0x57, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x53, 0x47, 0x40, 0x3C, + 0x3A, 0x38, 0x38, 0x37, 0x37, 0x38, 0x39, 0x3A, 0x3C, 0x3D, 0x40, 0x44, 0x49, 0x50, 0x54, 0x55, + 0x4F, 0x3F, 0x0A, 0x23, 0x30, 0x37, 0x3B, 0x3A, 0x39, 0x38, 0x37, 0x36, 0x36, 0x35, 0x35, 0x35, + 0x36, 0x36, 0x37, 0x39, 0x3D, 0x41, 0x49, 0x55, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x52, 0x46, + 0x40, 0x3C, 0x3B, 0x3A, 0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3D, 0x3F, 0x42, 0x46, 0x4B, 0x50, + 0x54, 0x54, 0x4D, 0x3B, 0x0C, 0x25, 0x32, 0x3A, 0x3E, 0x3E, 0x3D, 0x3C, 0x3B, 0x3A, 0x39, 0x38, + 0x38, 0x38, 0x38, 0x39, 0x3A, 0x3C, 0x3E, 0x42, 0x4A, 0x58, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x53, 0x48, 0x41, 0x3E, 0x3C, 0x3B, 0x3B, 0x3B, 0x3B, 0x3C, 0x3C, 0x3E, 0x40, 0x42, 0x45, 0x49, + 0x4E, 0x53, 0x55, 0x53, 0x4B, 0x35, 0x18, 0x2F, 0x3B, 0x43, 0x48, 0x4A, 0x48, 0x46, 0x45, 0x44, + 0x43, 0x43, 0x43, 0x42, 0x42, 0x42, 0x43, 0x44, 0x47, 0x4A, 0x51, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x58, 0x4E, 0x48, 0x46, 0x43, 0x42, 0x42, 0x42, 0x43, 0x43, 0x45, 0x45, 0x47, 0x4A, + 0x4D, 0x51, 0x55, 0x5A, 0x5A, 0x56, 0x4C, 0x32, 0x36, 0x4C, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x54, 0x34, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x4D, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x57, 0x57, 0x58, 0x58, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x57, 0x5A, 0x59, 0x57, 0x56, 0x54, 0x53, 0x56, 0x57, 0x56, 0x5A, 0x5A, 0x5A, 0x5A, + 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x56, 0x2A, 0x2C, 0x2D, 0x29, 0x1C, 0x13, 0x0F, 0x0F, + 0x10, 0x11, 0x0F, 0x10, 0x0F, 0x0F, 0x12, 0x10, 0x14, 0x0F, 0x10, 0x14, 0x0F, 0x13, 0x19, 0x18, + 0x1D, 0x18, 0x15, 0x12, 0x09, 0x10, 0x0D, 0x0D, 0x09, 0x06, 0x07, 0x0B, 0x0A, 0x0A, 0x0F, 0x12, + 0x13, 0x17, 0x18, 0x19, 0x1F, 0x28, 0x2F, 0x2F, 0x25, 0x3D, 0x02, 0x2F, 0x42, 0x34, 0x36, 0x36, + 0x58, 0x00, 0xEE, 0x1C, 0x20, 0xFE, 0x16, 0x1F, 0xFE, 0xA3, 0xC0, 0xA1, 0x00, 0xBB, 0x8B, 0xFD, + 0x16, 0x00, 0xFB, 0xA1, 0x00, 0x97, 0x86, 0xC6, 0xEA, 0x20, 0xFE, 0xBD, 0xF6, 0x16, 0x00, 0xF4, + 0xA1, 0x00, 0x97, 0x86, 0xC6, 0xEA, 0x00, 0xF8, 0xBD, 0xF6, 0x16, 0x03, 0x10, 0x14, 0x02, 0xFB, + 0xC6, 0xEA, 0x03, 0x10, 0xAD, 0x06, 0x87, 0x95, 0x86, 0x84, 0xFA, 0xF4, 0x16, 0x02, 0xFB, 0xC6, + 0xEA, 0x7E, 0xFD, 0xAD, 0x06, 0xA1, 0x00, 0x97, 0x86, 0xFA, 0xF4, 0x16, 0x03, 0x10, 0x14, 0x84, + 0xFE, 0xC6, 0xEA, 0x03, 0x10, 0xAD, 0x06, 0x87, 0x95, 0x86, 0x84, 0xFA, 0xF4, 0x16, 0x84, 0xFE, + 0xC6, 0xEA, 0x84, 0xFE, 0xAD, 0x06, 0xA1, 0x00, 0x97, 0x86, 0xFA, 0xF4, 0x9A, 0x76, 0xAD, 0xFA, + 0xFE, 0xF8, 0xB8, 0xFF, 0xF8, 0xB9, 0xFF, 0xF8, 0xBA, 0xFF, 0xF8, 0xBB, 0xFF, 0x88, 0xB8, 0x01, + 0xA8, 0xB9, 0x00, 0xA8, 0xBA, 0x00, 0xA8, 0xBB, 0x00, 0xAF, 0xB3, 0xB5, 0xB7, 0xD2, 0x89, 0xB8, + 0xD4, 0x89, 0xBA, 0xD6, 0x89, 0xBC, 0xEE, 0xB8, 0x00, 0x00, 0xEE, 0xBA, 0x00, 0x00, 0x11, 0xBC, + 0x20, 0x33, 0x25, 0x33, 0x32, 0x25, 0x32, 0x25, 0x30, 0x25, 0x30, 0x9D, 0x19, 0x83, 0xB8, 0x61, + 0x0C, 0x83, 0xB8, 0x83, 0xB9, 0x61, 0x2D, 0x83, 0xB9, 0x83, 0xBA, 0x61, 0x2E, 0x83, 0xBA, 0x83, + 0xBB, 0x61, 0x2F, 0x83, 0xBB, 0x21, 0x34, 0x27, 0x34, 0x35, 0x27, 0x35, 0x36, 0x27, 0x36, 0x37, + 0x27, 0x37, 0x04, 0xBC, 0xCC, 0xB6, 0xB4, 0xB2, 0xAF, 0xB3, 0xA3, 0x00, 0x31, 0x73, 0xBB, 0x19, + 0x43, 0xF8, 0xB8, 0xFF, 0xF8, 0xB9, 0xFF, 0xF8, 0xBA, 0xFF, 0xF8, 0xBB, 0xFF, 0x88, 0xB8, 0x01, + 0xA8, 0xB9, 0x00, 0xA8, 0xBA, 0x00, 0xA8, 0xBB, 0x00, 0x31, 0x7F, 0x19, 0x43, 0xF8, 0xBC, 0xFF, + 0xF8, 0xBD, 0xFF, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x88, 0xBC, 0x01, 0xA8, 0xBD, 0x00, 0x30, + 0x2D, 0x00, 0x30, 0x2D, 0x00, 0x9A, 0x13, 0x65, 0x53, 0xBD, 0x16, 0x10, 0x00, 0x00, 0x30, 0x1E, + 0xB8, 0x30, 0x3E, 0xB9, 0x99, 0xB8, 0x61, 0x31, 0x70, 0x30, 0x1E, 0xBA, 0x30, 0x3E, 0xBB, 0x99, + 0xBA, 0xB2, 0xAF, 0xB1, 0x61, 0x68, 0xBD, 0x0D, 0xF0, 0xBC, 0x6E, 0xBD, 0xBD, 0x07, 0x70, 0x99, + 0xB8, 0x99, 0xBA, 0xB0, 0xAF, 0xB0, 0xB3, 0xB5, 0xB7, 0xD6, 0x89, 0xB8, 0xD4, 0x89, 0xBA, 0xE6, + 0x99, 0xBA, 0x10, 0x00, 0x00, 0xD2, 0x11, 0xB8, 0x20, 0x21, 0x34, 0x27, 0x34, 0x35, 0x27, 0x35, + 0x36, 0x27, 0x36, 0x37, 0x27, 0x37, 0x30, 0x27, 0x30, 0x27, 0x32, 0x27, 0x32, 0x33, 0x27, 0x33, + 0xE2, 0x4E, 0xBB, 0xBD, 0x04, 0x30, 0x4E, 0xBA, 0x30, 0xE2, 0x8D, 0x1B, 0xBD, 0x0A, 0x4E, 0xBD, + 0xBD, 0x04, 0x30, 0x4E, 0xBC, 0x30, 0x8D, 0x0F, 0x30, 0x1E, 0xBC, 0x30, 0x3E, 0xBD, 0x32, 0x3E, + 0xBA, 0x32, 0x33, 0x3E, 0xBB, 0x33, 0x44, 0x04, 0xB8, 0xBF, 0xC4, 0x99, 0xB8, 0xC6, 0x99, 0xBA, + 0xB6, 0xB4, 0xB2, 0xAF, 0x83, 0xB8, 0x0E, 0xBC, 0x83, 0xB8, 0x83, 0xB9, 0x2E, 0xBD, 0x83, 0xB9, + 0x30, 0x2E, 0xBA, 0x30, 0x2E, 0xBB, 0x99, 0xBA, 0xAF, 0x83, 0xB8, 0x1E, 0xBC, 0x83, 0xB8, 0x83, + 0xB9, 0x3E, 0xBD, 0x83, 0xB9, 0x83, 0xBA, 0x61, 0x38, 0x83, 0xBA, 0x83, 0xBB, 0x3E, 0xBB, 0x83, + 0xBB, 0xAF, 0x4D, 0x00, 0xAD, 0x19, 0xB3, 0xD2, 0x89, 0xB8, 0x30, 0x61, 0x01, 0x30, 0x27, 0x83, + 0xBA, 0x27, 0x83, 0xBA, 0x83, 0xBB, 0x27, 0x83, 0xBB, 0x8B, 0xEF, 0x99, 0xB8, 0xC2, 0xB2, 0xAF, + 0x4D, 0x00, 0xAD, 0x19, 0xB3, 0xD2, 0x89, 0xBA, 0x21, 0x25, 0x30, 0x25, 0x30, 0x83, 0xB9, 0x25, + 0x83, 0xB9, 0x83, 0xB8, 0x25, 0x83, 0xB8, 0x8B, 0xEF, 0x99, 0xBA, 0xC2, 0xB2, 0xAF, 0xB7, 0xA6, + 0x03, 0x66, 0x4D, 0x00, 0x61, 0xFE, 0x9D, 0x03, 0x9B, 0xA5, 0x66, 0x27, 0x77, 0x66, 0x70, 0x27, + 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x37, + 0x72, 0x37, 0xD4, 0x62, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x86, 0xFB, 0xB5, 0xB2, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, - 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x67, 0x41, 0x70, 0x27, 0x61, - 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x56, - 0x9B, 0x6F, 0x5E, 0x89, 0x9A, 0x99, 0xB8, 0x89, 0x9C, 0x99, 0xBA, 0xA1, 0x01, 0x9A, 0x30, 0x5E, - 0x89, 0xBA, 0x99, 0x9C, 0x89, 0xB8, 0x99, 0x9A, 0x89, 0x9E, 0x99, 0xB8, 0x89, 0xA0, 0x99, 0xBA, - 0xA1, 0x01, 0x9A, 0x30, 0x5E, 0x89, 0xBA, 0x99, 0xA0, 0x89, 0xB8, 0x99, 0x9E, 0xF0, 0x44, 0x61, - 0x01, 0xF2, 0x44, 0xB6, 0xAF, 0xB7, 0x10, 0x00, 0x00, 0x99, 0x9A, 0x99, 0x9C, 0x99, 0x9E, 0x99, - 0xA0, 0x76, 0x66, 0x4D, 0x04, 0x61, 0xFE, 0x8D, 0x03, 0x9B, 0x1D, 0x60, 0x61, 0x01, 0x70, 0x27, - 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x36, - 0x72, 0x36, 0xD4, 0x62, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x86, 0xFB, - 0xB5, 0xB2, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x61, 0x01, 0x70, 0x27, 0x61, 0x31, 0x30, - 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x36, 0x72, 0x36, 0xD4, - 0x62, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xB5, 0xB2, 0xD4, - 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, - 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0x9A, 0x99, 0xB8, 0x89, 0x9C, 0x99, - 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x02, 0x5E, 0x89, 0xBA, 0x99, 0x9C, 0x89, 0xB8, 0x99, 0x9A, 0x66, + 0x30, 0x27, 0xCA, 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x67, 0x41, 0x70, 0x27, 0x61, + 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x86, 0xFB, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, - 0x85, 0x99, 0xBC, 0x89, 0x9E, 0x99, 0xB8, 0x89, 0xA0, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x02, - 0x5E, 0x89, 0xBA, 0x99, 0xA0, 0x89, 0xB8, 0x99, 0x9E, 0x46, 0x9B, 0x62, 0x5F, 0xF0, 0x44, 0x21, - 0x25, 0xF2, 0x44, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x31, 0x23, 0x25, 0x79, - 0x11, 0x44, 0x00, 0xD8, 0x20, 0xCF, 0xA7, 0x04, 0x11, 0xD2, 0x02, 0x31, 0x33, 0x20, 0x06, 0x67, - 0x61, 0x01, 0x77, 0x81, 0xD2, 0xA6, 0x00, 0x66, 0x61, 0x4F, 0x9D, 0x24, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x86, 0xFB, 0xD4, 0x02, 0x6A, 0xFB, 0x30, 0x95, 0x30, 0x84, 0x95, 0x66, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0xC6, 0xFB, 0xD4, 0x02, 0x6C, 0xFB, 0x30, 0x95, 0x30, 0x84, 0x95, 0x46, 0xFA, 0xD7, - 0x02, 0x6A, 0xFB, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0xF0, 0xD2, 0x9A, 0x30, 0x5E, 0x89, 0xBA, - 0x99, 0x9C, 0x89, 0xB8, 0x99, 0x9A, 0x02, 0x6C, 0xFB, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0xF0, - 0xD2, 0x9A, 0x30, 0x5E, 0x89, 0xBA, 0x99, 0xA0, 0x89, 0xB8, 0x99, 0x9E, 0x02, 0x6A, 0xFB, 0x99, - 0x80, 0x02, 0x6C, 0xFB, 0x99, 0x82, 0x9B, 0x7B, 0x61, 0x31, 0x43, 0x20, 0x03, 0x9A, 0x6C, 0x5E, - 0x31, 0x53, 0x20, 0x03, 0x9A, 0x55, 0x5F, 0xA7, 0x04, 0x11, 0xD2, 0x02, 0x31, 0x33, 0x20, 0x06, - 0x67, 0x61, 0x01, 0x77, 0x81, 0xD2, 0xF0, 0x44, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x86, 0xFB, 0xD4, - 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0x9A, 0x99, 0xB8, 0x89, 0x9C, 0x99, 0xBA, 0x10, 0x00, - 0x00, 0x9A, 0x17, 0x5E, 0x02, 0x6A, 0xFB, 0x99, 0xBC, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, - 0x02, 0x5E, 0x89, 0xBA, 0x99, 0x9C, 0x89, 0xB8, 0x99, 0x9A, 0x89, 0x9C, 0x99, 0xBA, 0xF0, 0xD2, - 0x9A, 0x4E, 0x5E, 0x89, 0xB8, 0x99, 0xD0, 0x99, 0x80, 0xF0, 0x44, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0x86, 0xFB, 0xD4, 0x02, 0x6A, 0xFB, 0x30, 0x95, 0x30, 0x84, 0x95, 0xF0, 0x44, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0x9E, 0x99, 0xB8, 0x89, - 0xA0, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x17, 0x5E, 0x02, 0x6C, 0xFB, 0x99, 0xBC, 0xEE, 0xBE, - 0x00, 0x00, 0x89, 0xBE, 0x9A, 0x02, 0x5E, 0x89, 0xBA, 0x99, 0xA0, 0x89, 0xB8, 0x99, 0x9E, 0x89, - 0xA0, 0x99, 0xBA, 0xF0, 0xD2, 0x9A, 0x4E, 0x5E, 0x89, 0xB8, 0x99, 0xD0, 0x99, 0x82, 0xF0, 0x44, - 0xA0, 0x02, 0x31, 0x88, 0xCA, 0xC6, 0xFB, 0xD4, 0x02, 0x6C, 0xFB, 0x30, 0x95, 0x30, 0x84, 0x95, - 0x81, 0x44, 0xF0, 0x44, 0x61, 0x4F, 0x8D, 0x03, 0x11, 0x44, 0x00, 0xB0, 0x99, 0xD2, 0xB0, 0x99, - 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0x88, 0x30, 0x0E, 0x8A, 0x30, 0x2E, 0x8B, 0x30, - 0x1E, 0x8C, 0x30, 0x3E, 0x8D, 0x30, 0x1E, 0x8E, 0x30, 0x3E, 0x8F, 0xD6, 0x89, 0x88, 0x30, 0x1E, - 0x8A, 0x30, 0x3E, 0x8B, 0x30, 0x1E, 0x8C, 0x30, 0x3E, 0x8D, 0x30, 0x0E, 0x8E, 0x30, 0x2E, 0x8F, - 0x99, 0xD0, 0xC6, 0xEA, 0x00, 0x00, 0x61, 0xFE, 0x8D, 0x69, 0x89, 0xD0, 0xEA, 0x00, 0x00, 0x61, - 0xFE, 0x8D, 0x29, 0xC6, 0x99, 0xB8, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBA, 0xEE, 0xBC, 0xF0, 0x00, - 0x10, 0x00, 0x00, 0x9A, 0xC3, 0x5C, 0x89, 0xD0, 0x99, 0xBC, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBE, - 0x9A, 0x37, 0x5D, 0x89, 0xB8, 0xCA, 0xF0, 0x00, 0x99, 0x94, 0xFA, 0x35, 0x89, 0xD0, 0x30, 0x7D, - 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0x99, 0xD0, 0xC6, 0x99, 0xB8, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBA, - 0xEE, 0xBC, 0xF0, 0x00, 0x10, 0x00, 0x00, 0x9A, 0xC3, 0x5C, 0x89, 0xD0, 0x99, 0xBC, 0x27, 0x61, - 0x31, 0x70, 0x99, 0xBE, 0x9A, 0x37, 0x5D, 0x10, 0x00, 0xF0, 0x1E, 0xB8, 0x30, 0x3E, 0xB9, 0x99, - 0x94, 0xFA, 0x70, 0xC6, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0xD6, 0x89, 0xD0, 0xEA, 0x00, - 0x00, 0x61, 0xFE, 0x8D, 0x2C, 0xC6, 0x99, 0xB8, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBA, 0xEE, 0xBC, - 0xF0, 0x00, 0x10, 0x00, 0x00, 0x9A, 0xC3, 0x5C, 0x89, 0xD0, 0x99, 0xBC, 0x27, 0x61, 0x31, 0x70, - 0x99, 0xBE, 0x9A, 0x37, 0x5D, 0x10, 0x00, 0xF0, 0x1E, 0xB8, 0x30, 0x3E, 0xB9, 0x99, 0x94, 0xFA, - 0x32, 0x89, 0xD0, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0x99, 0xD0, 0xC6, 0x99, 0xB8, 0x27, - 0x61, 0x31, 0x70, 0x99, 0xBA, 0xEE, 0xBC, 0xF0, 0x00, 0x10, 0x00, 0x00, 0x9A, 0xC3, 0x5C, 0x89, - 0xD0, 0x99, 0xBC, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBE, 0x9A, 0x37, 0x5D, 0x89, 0xB8, 0xCA, 0xF0, - 0x00, 0x99, 0x94, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, - 0xB1, 0x89, 0xD6, 0xB1, 0x89, 0x8C, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, 0x99, 0xBC, - 0x89, 0xBA, 0x99, 0xBE, 0x89, 0x88, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, 0x30, 0x83, - 0xBC, 0x30, 0x83, 0xBD, 0x99, 0xB8, 0x89, 0xBE, 0x30, 0x83, 0xBA, 0x30, 0x83, 0xBB, 0x9A, 0x17, - 0x5E, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x89, 0x8A, 0x99, 0xB8, 0xEE, 0xBA, 0x00, - 0x00, 0xA1, 0x01, 0x9A, 0x30, 0x5E, 0x89, 0x88, 0x99, 0xBC, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, - 0x9A, 0x17, 0x5E, 0x89, 0x8C, 0x99, 0xBC, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0x17, 0x5E, - 0x89, 0xBA, 0x99, 0xD6, 0x89, 0xB8, 0x99, 0xD4, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, 0x99, 0xBA, - 0xEE, 0xBC, 0xF0, 0x00, 0x10, 0x00, 0x00, 0x9A, 0xC3, 0x5C, 0x89, 0xD4, 0x99, 0xBC, 0x89, 0xD6, - 0x9A, 0x37, 0x5D, 0xEE, 0xBC, 0xE0, 0x01, 0x10, 0x00, 0x00, 0x9A, 0x02, 0x5E, 0x89, 0xB8, 0x99, - 0x94, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xAF, 0x89, 0x96, - 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0x88, 0x30, 0x1E, 0x8A, 0x30, 0x3E, 0x8B, 0xB1, 0x89, - 0xB8, 0x99, 0xBC, 0x89, 0xBA, 0x99, 0xBE, 0xB0, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xBE, - 0x9A, 0xC3, 0x5C, 0x89, 0xB8, 0x99, 0xBC, 0x89, 0xBA, 0x99, 0xBE, 0x89, 0x8A, 0x99, 0xB8, 0xEE, - 0xBA, 0x00, 0x00, 0x89, 0xBC, 0xB1, 0x89, 0xBE, 0xB1, 0x89, 0xB8, 0x99, 0xBC, 0x89, 0xBA, 0x99, - 0xBE, 0x89, 0x98, 0x99, 0xB8, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBA, 0x89, 0xBE, 0x9A, 0xC3, 0x5C, - 0xEE, 0xBC, 0x00, 0x40, 0x10, 0x00, 0x00, 0x9A, 0x37, 0x5D, 0x89, 0xB8, 0x99, 0xBC, 0x89, 0xBA, - 0x99, 0xBE, 0x89, 0x88, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0x02, 0x5E, 0xB0, - 0x99, 0xBE, 0xB0, 0x99, 0xBC, 0x89, 0xB8, 0x30, 0x83, 0xBC, 0x30, 0x83, 0xBD, 0x99, 0xB8, 0x89, - 0xBE, 0x30, 0x83, 0xBA, 0x30, 0x83, 0xBB, 0x9A, 0x37, 0x5D, 0x89, 0xB8, 0x99, 0x94, 0xAF, 0x89, - 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0x89, 0xD8, 0xB1, 0x89, 0xDA, - 0xB1, 0xEE, 0xD4, 0x00, 0x00, 0xEE, 0xDA, 0x00, 0x00, 0x89, 0x5C, 0x4E, 0x5B, 0xBD, 0x03, 0x30, - 0x4E, 0x5A, 0x9D, 0x50, 0xA1, 0x03, 0x4E, 0x35, 0x9D, 0x06, 0xEE, 0x94, 0xF0, 0x00, 0xFA, 0x2C, - 0xC8, 0x35, 0x00, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x21, 0x89, 0x5C, 0x99, 0x88, 0x89, - 0x58, 0x99, 0x8A, 0x89, 0x5A, 0x99, 0x8C, 0xF0, 0x35, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0x20, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x8E, 0x9A, 0x83, 0x61, 0xF0, 0x37, 0xA0, 0x00, - 0x30, 0x99, 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x94, 0x30, 0x2E, 0x95, 0x03, - 0x6A, 0xFB, 0xFA, 0x4D, 0xC8, 0x35, 0x05, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x2C, 0xC8, - 0x35, 0x02, 0x9D, 0x06, 0xEE, 0x94, 0xF0, 0x00, 0xFA, 0x21, 0x89, 0x5A, 0x99, 0x88, 0x89, 0x58, - 0x99, 0x8A, 0x89, 0x5C, 0x99, 0x8C, 0xF0, 0x35, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x20, - 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x8E, 0x9A, 0x83, 0x61, 0xF0, 0x37, 0xA0, 0x00, 0x30, - 0x99, 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x1E, 0x94, 0x30, 0x3E, 0x95, 0x03, 0x6A, - 0xFB, 0xB0, 0x99, 0xDA, 0xB0, 0x99, 0xD8, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, - 0xB0, 0x99, 0xD0, 0xAF, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, - 0x89, 0xD8, 0xB1, 0x89, 0xDA, 0xB1, 0xEE, 0xD4, 0x00, 0x00, 0x89, 0x64, 0x4E, 0x63, 0xBD, 0x03, - 0x30, 0x4E, 0x62, 0x9D, 0x50, 0xA1, 0x03, 0x4E, 0x36, 0x9D, 0x06, 0xEE, 0x94, 0xF0, 0x00, 0xFA, - 0x2C, 0xC8, 0x36, 0x00, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x21, 0x89, 0x64, 0x99, 0x88, - 0x89, 0x60, 0x99, 0x8A, 0x89, 0x62, 0x99, 0x8C, 0xF0, 0x36, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x2C, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x8E, 0x9A, 0x83, 0x61, 0xF0, 0x38, 0xA0, + 0x85, 0x37, 0x72, 0x37, 0xD4, 0x62, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, + 0xC6, 0xFB, 0xB5, 0xB2, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, + 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x67, 0x41, 0x70, + 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xD4, 0x62, 0x95, 0x63, 0x84, + 0x95, 0x56, 0x9B, 0xF1, 0x65, 0x89, 0x9A, 0x99, 0xB8, 0x89, 0x9C, 0x99, 0xBA, 0xA1, 0x01, 0x9A, + 0xB2, 0x65, 0x89, 0xBA, 0x99, 0x9C, 0x89, 0xB8, 0x99, 0x9A, 0x89, 0x9E, 0x99, 0xB8, 0x89, 0xA0, + 0x99, 0xBA, 0xA1, 0x01, 0x9A, 0xB2, 0x65, 0x89, 0xBA, 0x99, 0xA0, 0x89, 0xB8, 0x99, 0x9E, 0xF0, + 0x44, 0x61, 0x01, 0xF2, 0x44, 0xB6, 0xAF, 0xB7, 0x10, 0x00, 0x00, 0x99, 0x9A, 0x99, 0x9C, 0x99, + 0x9E, 0x99, 0xA0, 0x76, 0x66, 0x4D, 0x04, 0x61, 0xFE, 0x8D, 0x03, 0x9B, 0x9F, 0x67, 0x61, 0x01, + 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, + 0x85, 0x36, 0x72, 0x36, 0xD4, 0x62, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, + 0x86, 0xFB, 0xB5, 0xB2, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x61, 0x01, 0x70, 0x27, 0x61, + 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x36, 0x72, + 0x36, 0xD4, 0x62, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xB5, + 0xB2, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, + 0x27, 0xCA, 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0x9A, 0x99, 0xB8, 0x89, + 0x9C, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x84, 0x65, 0x89, 0xBA, 0x99, 0x9C, 0x89, 0xB8, 0x99, + 0x9A, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, + 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0x9E, 0x99, 0xB8, 0x89, 0xA0, 0x99, 0xBA, 0x10, 0x00, 0x00, + 0x9A, 0x84, 0x65, 0x89, 0xBA, 0x99, 0xA0, 0x89, 0xB8, 0x99, 0x9E, 0x46, 0x9B, 0xE4, 0x66, 0xF0, + 0x44, 0x21, 0x25, 0xF2, 0x44, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x31, 0x23, + 0x25, 0x79, 0x11, 0x44, 0x00, 0xD8, 0x20, 0xCF, 0xA7, 0x04, 0x11, 0xD2, 0x02, 0x31, 0x33, 0x20, + 0x06, 0x67, 0x61, 0x01, 0x77, 0x81, 0xD2, 0xA6, 0x00, 0x66, 0x61, 0x4F, 0x9D, 0x24, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x86, 0xFB, 0xD4, 0x02, 0x6A, 0xFB, 0x30, 0x95, 0x30, 0x84, 0x95, 0x66, 0xA0, + 0x02, 0x31, 0x88, 0xCA, 0xC6, 0xFB, 0xD4, 0x02, 0x6C, 0xFB, 0x30, 0x95, 0x30, 0x84, 0x95, 0x46, + 0xFA, 0xD7, 0x02, 0x6A, 0xFB, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0xF0, 0xD2, 0x9A, 0xB2, 0x65, + 0x89, 0xBA, 0x99, 0x9C, 0x89, 0xB8, 0x99, 0x9A, 0x02, 0x6C, 0xFB, 0x99, 0xB8, 0xEE, 0xBA, 0x00, + 0x00, 0xF0, 0xD2, 0x9A, 0xB2, 0x65, 0x89, 0xBA, 0x99, 0xA0, 0x89, 0xB8, 0x99, 0x9E, 0x02, 0x6A, + 0xFB, 0x99, 0x80, 0x02, 0x6C, 0xFB, 0x99, 0x82, 0x9B, 0xFD, 0x68, 0x31, 0x43, 0x20, 0x03, 0x9A, + 0xEE, 0x65, 0x31, 0x53, 0x20, 0x03, 0x9A, 0xD7, 0x66, 0xA7, 0x04, 0x11, 0xD2, 0x02, 0x31, 0x33, + 0x20, 0x06, 0x67, 0x61, 0x01, 0x77, 0x81, 0xD2, 0xF0, 0x44, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x86, + 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0x9A, 0x99, 0xB8, 0x89, 0x9C, 0x99, 0xBA, + 0x10, 0x00, 0x00, 0x9A, 0x99, 0x65, 0x02, 0x6A, 0xFB, 0x99, 0xBC, 0xEE, 0xBE, 0x00, 0x00, 0x89, + 0xBE, 0x9A, 0x84, 0x65, 0x89, 0xBA, 0x99, 0x9C, 0x89, 0xB8, 0x99, 0x9A, 0x89, 0x9C, 0x99, 0xBA, + 0xF0, 0xD2, 0x9A, 0xD0, 0x65, 0x89, 0xB8, 0x99, 0xD0, 0x99, 0x80, 0xF0, 0x44, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x86, 0xFB, 0xD4, 0x02, 0x6A, 0xFB, 0x30, 0x95, 0x30, 0x84, 0x95, 0xF0, 0x44, 0xA0, + 0x02, 0x31, 0x88, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0x9E, 0x99, + 0xB8, 0x89, 0xA0, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x99, 0x65, 0x02, 0x6C, 0xFB, 0x99, 0xBC, + 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0x84, 0x65, 0x89, 0xBA, 0x99, 0xA0, 0x89, 0xB8, 0x99, + 0x9E, 0x89, 0xA0, 0x99, 0xBA, 0xF0, 0xD2, 0x9A, 0xD0, 0x65, 0x89, 0xB8, 0x99, 0xD0, 0x99, 0x82, + 0xF0, 0x44, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0xC6, 0xFB, 0xD4, 0x02, 0x6C, 0xFB, 0x30, 0x95, 0x30, + 0x84, 0x95, 0x81, 0x44, 0xF0, 0x44, 0x61, 0x4F, 0x8D, 0x03, 0x11, 0x44, 0x00, 0xB0, 0x99, 0xD2, + 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0x88, 0x30, 0x0E, 0x8A, 0x30, 0x2E, + 0x8B, 0x30, 0x1E, 0x8C, 0x30, 0x3E, 0x8D, 0x30, 0x1E, 0x8E, 0x30, 0x3E, 0x8F, 0xD6, 0x89, 0x88, + 0x30, 0x1E, 0x8A, 0x30, 0x3E, 0x8B, 0x30, 0x1E, 0x8C, 0x30, 0x3E, 0x8D, 0x30, 0x0E, 0x8E, 0x30, + 0x2E, 0x8F, 0x99, 0xD0, 0xC6, 0xEA, 0x00, 0x00, 0x61, 0xFE, 0x8D, 0x69, 0x89, 0xD0, 0xEA, 0x00, + 0x00, 0x61, 0xFE, 0x8D, 0x29, 0xC6, 0x99, 0xB8, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBA, 0xEE, 0xBC, + 0xF0, 0x00, 0x10, 0x00, 0x00, 0x9A, 0x6A, 0x64, 0x89, 0xD0, 0x99, 0xBC, 0x27, 0x61, 0x31, 0x70, + 0x99, 0xBE, 0x9A, 0xB9, 0x64, 0x89, 0xB8, 0xCA, 0xF0, 0x00, 0x99, 0x94, 0xFA, 0x35, 0x89, 0xD0, + 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0x99, 0xD0, 0xC6, 0x99, 0xB8, 0x27, 0x61, 0x31, 0x70, + 0x99, 0xBA, 0xEE, 0xBC, 0xF0, 0x00, 0x10, 0x00, 0x00, 0x9A, 0x6A, 0x64, 0x89, 0xD0, 0x99, 0xBC, + 0x27, 0x61, 0x31, 0x70, 0x99, 0xBE, 0x9A, 0xB9, 0x64, 0x10, 0x00, 0xF0, 0x1E, 0xB8, 0x30, 0x3E, + 0xB9, 0x99, 0x94, 0xFA, 0x70, 0xC6, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0xD6, 0x89, 0xD0, + 0xEA, 0x00, 0x00, 0x61, 0xFE, 0x8D, 0x2C, 0xC6, 0x99, 0xB8, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBA, + 0xEE, 0xBC, 0xF0, 0x00, 0x10, 0x00, 0x00, 0x9A, 0x6A, 0x64, 0x89, 0xD0, 0x99, 0xBC, 0x27, 0x61, + 0x31, 0x70, 0x99, 0xBE, 0x9A, 0xB9, 0x64, 0x10, 0x00, 0xF0, 0x1E, 0xB8, 0x30, 0x3E, 0xB9, 0x99, + 0x94, 0xFA, 0x32, 0x89, 0xD0, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0x99, 0xD0, 0xC6, 0x99, + 0xB8, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBA, 0xEE, 0xBC, 0xF0, 0x00, 0x10, 0x00, 0x00, 0x9A, 0x6A, + 0x64, 0x89, 0xD0, 0x99, 0xBC, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBE, 0x9A, 0xB9, 0x64, 0x89, 0xB8, + 0xCA, 0xF0, 0x00, 0x99, 0x94, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, + 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0x89, 0x8C, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, + 0x99, 0xBC, 0x89, 0xBA, 0x99, 0xBE, 0x89, 0x88, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, + 0x30, 0x83, 0xBC, 0x30, 0x83, 0xBD, 0x99, 0xB8, 0x89, 0xBE, 0x30, 0x83, 0xBA, 0x30, 0x83, 0xBB, + 0x9A, 0x99, 0x65, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x89, 0x8A, 0x99, 0xB8, 0xEE, + 0xBA, 0x00, 0x00, 0xA1, 0x01, 0x9A, 0xB2, 0x65, 0x89, 0x88, 0x99, 0xBC, 0xEE, 0xBE, 0x00, 0x00, + 0x89, 0xBE, 0x9A, 0x99, 0x65, 0x89, 0x8C, 0x99, 0xBC, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, + 0x99, 0x65, 0x89, 0xBA, 0x99, 0xD6, 0x89, 0xB8, 0x99, 0xD4, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, + 0x99, 0xBA, 0xEE, 0xBC, 0xF0, 0x00, 0x10, 0x00, 0x00, 0x9A, 0x6A, 0x64, 0x89, 0xD4, 0x99, 0xBC, + 0x89, 0xD6, 0x9A, 0xB9, 0x64, 0xEE, 0xBC, 0xE0, 0x01, 0x10, 0x00, 0x00, 0x9A, 0x84, 0x65, 0x89, + 0xB8, 0x99, 0x94, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xAF, + 0x89, 0x96, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0x88, 0x30, 0x1E, 0x8A, 0x30, 0x3E, 0x8B, + 0xB1, 0x89, 0xB8, 0x99, 0xBC, 0x89, 0xBA, 0x99, 0xBE, 0xB0, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, + 0x89, 0xBE, 0x9A, 0x6A, 0x64, 0x89, 0xB8, 0x99, 0xBC, 0x89, 0xBA, 0x99, 0xBE, 0x89, 0x8A, 0x99, + 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xBC, 0xB1, 0x89, 0xBE, 0xB1, 0x89, 0xB8, 0x99, 0xBC, 0x89, + 0xBA, 0x99, 0xBE, 0x89, 0x98, 0x99, 0xB8, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBA, 0x89, 0xBE, 0x9A, + 0x6A, 0x64, 0xEE, 0xBC, 0x00, 0x40, 0x10, 0x00, 0x00, 0x9A, 0xB9, 0x64, 0x89, 0xB8, 0x99, 0xBC, + 0x89, 0xBA, 0x99, 0xBE, 0x89, 0x88, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0x84, + 0x65, 0xB0, 0x99, 0xBE, 0xB0, 0x99, 0xBC, 0x89, 0xB8, 0x30, 0x83, 0xBC, 0x30, 0x83, 0xBD, 0x99, + 0xB8, 0x89, 0xBE, 0x30, 0x83, 0xBA, 0x30, 0x83, 0xBB, 0x9A, 0xB9, 0x64, 0x89, 0xB8, 0x99, 0x94, + 0xAF, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0x89, 0xD8, 0xB1, + 0x89, 0xDA, 0xB1, 0xEE, 0xD4, 0x00, 0x00, 0xEE, 0xDA, 0x00, 0x00, 0x89, 0x5C, 0x4E, 0x5B, 0xBD, + 0x03, 0x30, 0x4E, 0x5A, 0x9D, 0x50, 0xA1, 0x03, 0x4E, 0x35, 0x9D, 0x06, 0xEE, 0x94, 0xF0, 0x00, + 0xFA, 0x2C, 0xC8, 0x35, 0x00, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x21, 0x89, 0x5C, 0x99, + 0x88, 0x89, 0x58, 0x99, 0x8A, 0x89, 0x5A, 0x99, 0x8C, 0xF0, 0x35, 0x0D, 0x02, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x20, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x8E, 0x9A, 0x05, 0x69, 0xF0, 0x37, + 0xA0, 0x00, 0x30, 0x99, 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x94, 0x30, 0x2E, + 0x95, 0x03, 0x6A, 0xFB, 0xFA, 0x4D, 0xC8, 0x35, 0x05, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, + 0x2C, 0xC8, 0x35, 0x02, 0x9D, 0x06, 0xEE, 0x94, 0xF0, 0x00, 0xFA, 0x21, 0x89, 0x5A, 0x99, 0x88, + 0x89, 0x58, 0x99, 0x8A, 0x89, 0x5C, 0x99, 0x8C, 0xF0, 0x35, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x20, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x8E, 0x9A, 0x05, 0x69, 0xF0, 0x37, 0xA0, + 0x00, 0x30, 0x99, 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x1E, 0x94, 0x30, 0x3E, 0x95, + 0x03, 0x6A, 0xFB, 0xB0, 0x99, 0xDA, 0xB0, 0x99, 0xD8, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, + 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xAF, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, + 0xD6, 0xB1, 0x89, 0xD8, 0xB1, 0x89, 0xDA, 0xB1, 0xEE, 0xD4, 0x00, 0x00, 0x89, 0x64, 0x4E, 0x63, + 0xBD, 0x03, 0x30, 0x4E, 0x62, 0x9D, 0x50, 0xA1, 0x03, 0x4E, 0x36, 0x9D, 0x06, 0xEE, 0x94, 0xF0, + 0x00, 0xFA, 0x2C, 0xC8, 0x36, 0x00, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x21, 0x89, 0x64, + 0x99, 0x88, 0x89, 0x60, 0x99, 0x8A, 0x89, 0x62, 0x99, 0x8C, 0xF0, 0x36, 0x0D, 0x02, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x2C, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x8E, 0x9A, 0x05, 0x69, 0xF0, + 0x38, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x94, 0x30, + 0x2E, 0x95, 0x03, 0x6C, 0xFB, 0xFA, 0x4D, 0xC8, 0x36, 0x05, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, + 0xFA, 0x2C, 0xC8, 0x36, 0x02, 0x9D, 0x06, 0xEE, 0x94, 0xF0, 0x00, 0xFA, 0x21, 0x89, 0x62, 0x99, + 0x88, 0x89, 0x60, 0x99, 0x8A, 0x89, 0x64, 0x99, 0x8C, 0xF0, 0x36, 0x1D, 0x02, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x2C, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x8E, 0x9A, 0x05, 0x69, 0xF0, 0x38, + 0xA0, 0x00, 0x30, 0x99, 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x1E, 0x94, 0x30, 0x3E, + 0x95, 0x03, 0x6C, 0xFB, 0xB0, 0x99, 0xDA, 0xB0, 0x99, 0xD8, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, + 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xAF, 0xC8, 0x35, 0x05, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, + 0xFA, 0x1A, 0xC8, 0x35, 0x00, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x0F, 0x89, 0x5C, 0x99, + 0x88, 0x89, 0x58, 0x99, 0x8A, 0x89, 0x5A, 0x99, 0x8C, 0x9A, 0x1A, 0x6A, 0xF0, 0x37, 0x51, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x94, 0x30, 0x2E, 0x95, - 0x03, 0x6C, 0xFB, 0xFA, 0x4D, 0xC8, 0x36, 0x05, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x2C, - 0xC8, 0x36, 0x02, 0x9D, 0x06, 0xEE, 0x94, 0xF0, 0x00, 0xFA, 0x21, 0x89, 0x62, 0x99, 0x88, 0x89, - 0x60, 0x99, 0x8A, 0x89, 0x64, 0x99, 0x8C, 0xF0, 0x36, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0x2C, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x8E, 0x9A, 0x83, 0x61, 0xF0, 0x38, 0xA0, 0x00, - 0x30, 0x99, 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x1E, 0x94, 0x30, 0x3E, 0x95, 0x03, - 0x6C, 0xFB, 0xB0, 0x99, 0xDA, 0xB0, 0x99, 0xD8, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, - 0xD2, 0xB0, 0x99, 0xD0, 0xAF, 0xC8, 0x35, 0x05, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x1A, - 0xC8, 0x35, 0x00, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x0F, 0x89, 0x5C, 0x99, 0x88, 0x89, - 0x58, 0x99, 0x8A, 0x89, 0x5A, 0x99, 0x8C, 0x9A, 0x98, 0x62, 0xF0, 0x37, 0x51, 0xA0, 0x00, 0x30, - 0x99, 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x94, 0x30, 0x2E, 0x95, 0x03, 0x6A, - 0xFB, 0xAF, 0xC8, 0x36, 0x05, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x1A, 0xC8, 0x36, 0x00, - 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x0F, 0x89, 0x64, 0x99, 0x88, 0x89, 0x60, 0x99, 0x8A, - 0x89, 0x62, 0x99, 0x8C, 0x9A, 0x98, 0x62, 0xF0, 0x38, 0x51, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0x10, - 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x94, 0x30, 0x2E, 0x95, 0x03, 0x6C, 0xFB, 0xAF, 0xB7, - 0x89, 0x58, 0x99, 0x88, 0xC8, 0x37, 0x03, 0xBD, 0x45, 0x89, 0x5A, 0x99, 0x8A, 0xF0, 0x38, 0xA0, - 0x02, 0x31, 0x88, 0xCA, 0x04, 0x19, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, 0x96, 0xF0, 0x38, 0xA0, - 0x02, 0x31, 0x88, 0xCA, 0x88, 0x19, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, 0x98, 0x9A, 0x3E, 0x63, - 0x89, 0x94, 0xEA, 0x10, 0x06, 0x61, 0xFE, 0x9D, 0x0D, 0x10, 0x06, 0x90, 0x1E, 0x94, 0x30, 0x3E, - 0x95, 0x03, 0x6A, 0xFB, 0xFA, 0x46, 0x10, 0x80, 0x00, 0x03, 0x6A, 0xFB, 0xFA, 0x3E, 0x89, 0x5C, - 0x99, 0x8A, 0xF0, 0x38, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x46, 0x19, 0xD6, 0x87, 0x30, 0xAE, 0x01, - 0x99, 0x96, 0xF0, 0x38, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0xCA, 0x19, 0xD6, 0x87, 0x30, 0xAE, 0x01, - 0x99, 0x98, 0x9A, 0x3E, 0x63, 0x89, 0x94, 0xEA, 0x10, 0x06, 0x61, 0xFE, 0x9D, 0x08, 0xCA, 0x50, - 0x55, 0x03, 0x6A, 0xFB, 0xFA, 0x06, 0x10, 0x60, 0x5B, 0x03, 0x6A, 0xFB, 0xB6, 0xAF, 0xB7, 0x89, - 0x60, 0x99, 0x88, 0xC8, 0x38, 0x03, 0xBD, 0x45, 0x89, 0x62, 0x99, 0x8A, 0xF0, 0x37, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0x0C, 0x1A, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, 0x96, 0xF0, 0x37, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0xD4, 0x1A, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, 0x98, 0x9A, 0x3E, 0x63, 0x89, - 0x94, 0xEA, 0x10, 0x06, 0x61, 0xFE, 0x9D, 0x0D, 0x10, 0x06, 0x90, 0x1E, 0x94, 0x30, 0x3E, 0x95, - 0x03, 0x6C, 0xFB, 0xFA, 0x46, 0x10, 0x80, 0x00, 0x03, 0x6C, 0xFB, 0xFA, 0x3E, 0x89, 0x64, 0x99, - 0x8A, 0xF0, 0x37, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x70, 0x1A, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, - 0x96, 0xF0, 0x37, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0x1B, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, - 0x98, 0x9A, 0x3E, 0x63, 0x89, 0x94, 0xEA, 0x10, 0x06, 0x61, 0xFE, 0x9D, 0x08, 0xCA, 0x70, 0x35, - 0x03, 0x6C, 0xFB, 0xFA, 0x06, 0x10, 0x80, 0x3B, 0x03, 0x6C, 0xFB, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, - 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0xC8, 0x37, 0x03, 0xBD, 0x67, 0x89, - 0x80, 0xEA, 0xA0, 0x05, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x06, 0x9E, 0x9B, 0xFD, 0xFA, 0x55, 0x89, - 0x80, 0xEA, 0xB0, 0x04, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x05, 0x9E, 0x9B, 0xFD, 0xFA, 0x45, 0x89, - 0x80, 0xEA, 0x38, 0x04, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x04, 0x9E, 0x9B, 0xFD, 0xFA, 0x35, 0x89, - 0x80, 0xEA, 0xC0, 0x03, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x03, 0x9E, 0x9B, 0xFD, 0xFA, 0x25, 0x89, - 0x80, 0xEA, 0x48, 0x03, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x02, 0x9E, 0x9B, 0xFD, 0xFA, 0x15, 0x89, - 0x80, 0xEA, 0xD0, 0x02, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x01, 0x9E, 0x9B, 0xFD, 0xFA, 0x05, 0xA1, - 0x00, 0x9E, 0x9B, 0xFD, 0xFA, 0x7C, 0xC8, 0x37, 0x2E, 0xBD, 0x5B, 0x89, 0x80, 0xEA, 0x40, 0x56, - 0x9D, 0x07, 0xA1, 0x5B, 0x9E, 0x9B, 0xFD, 0xFA, 0x4B, 0x89, 0x80, 0xEA, 0x30, 0x57, 0x9D, 0x07, - 0xA1, 0x5C, 0x9E, 0x9B, 0xFD, 0xFA, 0x5B, 0x89, 0x80, 0xEA, 0xA8, 0x57, 0x9D, 0x07, 0xA1, 0x5D, - 0x9E, 0x9B, 0xFD, 0xFA, 0x4D, 0x89, 0x80, 0xEA, 0x20, 0x58, 0x9D, 0x07, 0xA1, 0x5E, 0x9E, 0x9B, - 0xFD, 0xFA, 0x3F, 0x89, 0x80, 0xEA, 0x98, 0x58, 0x9D, 0x07, 0xA1, 0x5F, 0x9E, 0x9B, 0xFD, 0xFA, - 0x31, 0x89, 0x80, 0xEA, 0x10, 0x59, 0x9D, 0x07, 0xA1, 0x60, 0x9E, 0x9B, 0xFD, 0xFA, 0x23, 0xA1, - 0x61, 0x9E, 0x9B, 0xFD, 0xFA, 0x1C, 0x89, 0x5A, 0x4E, 0x5D, 0xBD, 0x03, 0x30, 0x4E, 0x5C, 0x9D, - 0x0A, 0xF0, 0x37, 0x61, 0x01, 0x51, 0x9E, 0x9B, 0xFD, 0xFA, 0x07, 0xF0, 0x37, 0x61, 0x01, 0x9E, - 0x9B, 0xFD, 0xC8, 0x38, 0x03, 0xBD, 0x67, 0x89, 0x82, 0xEA, 0xA0, 0x05, 0x8D, 0x09, 0xAD, 0x07, - 0xA1, 0x06, 0x9E, 0x9C, 0xFD, 0xFA, 0x55, 0x89, 0x82, 0xEA, 0xB0, 0x04, 0x8D, 0x09, 0xAD, 0x07, - 0xA1, 0x05, 0x9E, 0x9C, 0xFD, 0xFA, 0x45, 0x89, 0x82, 0xEA, 0x38, 0x04, 0x8D, 0x09, 0xAD, 0x07, - 0xA1, 0x04, 0x9E, 0x9C, 0xFD, 0xFA, 0x35, 0x89, 0x82, 0xEA, 0xC0, 0x03, 0x8D, 0x09, 0xAD, 0x07, - 0xA1, 0x03, 0x9E, 0x9C, 0xFD, 0xFA, 0x25, 0x89, 0x82, 0xEA, 0x48, 0x03, 0x8D, 0x09, 0xAD, 0x07, - 0xA1, 0x02, 0x9E, 0x9C, 0xFD, 0xFA, 0x15, 0x89, 0x82, 0xEA, 0xD0, 0x02, 0x8D, 0x09, 0xAD, 0x07, - 0xA1, 0x01, 0x9E, 0x9C, 0xFD, 0xFA, 0x05, 0xA1, 0x00, 0x9E, 0x9C, 0xFD, 0xFA, 0x7C, 0xC8, 0x38, - 0x1D, 0xBD, 0x5B, 0x89, 0x82, 0xEA, 0x60, 0x36, 0x9D, 0x07, 0xA1, 0x39, 0x9E, 0x9C, 0xFD, 0xFA, - 0x4B, 0x89, 0x82, 0xEA, 0x50, 0x37, 0x9D, 0x07, 0xA1, 0x3A, 0x9E, 0x9C, 0xFD, 0xFA, 0x5B, 0x89, - 0x82, 0xEA, 0xC8, 0x37, 0x9D, 0x07, 0xA1, 0x3B, 0x9E, 0x9C, 0xFD, 0xFA, 0x4D, 0x89, 0x82, 0xEA, - 0x40, 0x38, 0x9D, 0x07, 0xA1, 0x3C, 0x9E, 0x9C, 0xFD, 0xFA, 0x3F, 0x89, 0x82, 0xEA, 0xB8, 0x38, - 0x9D, 0x07, 0xA1, 0x3D, 0x9E, 0x9C, 0xFD, 0xFA, 0x31, 0x89, 0x82, 0xEA, 0x30, 0x39, 0x9D, 0x07, - 0xA1, 0x3E, 0x9E, 0x9C, 0xFD, 0xFA, 0x23, 0xA1, 0x3F, 0x9E, 0x9C, 0xFD, 0xFA, 0x1C, 0x89, 0x62, - 0x4E, 0x65, 0xBD, 0x03, 0x30, 0x4E, 0x64, 0x9D, 0x0A, 0xF0, 0x38, 0x61, 0x01, 0x51, 0x9E, 0x9C, - 0xFD, 0xFA, 0x07, 0xF0, 0x38, 0x61, 0x01, 0x9E, 0x9C, 0xFD, 0x02, 0x6A, 0xFB, 0x03, 0xFE, 0xFC, - 0x02, 0x6C, 0xFB, 0x03, 0x00, 0xFD, 0x8E, 0x9C, 0xFD, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x62, - 0x9A, 0x00, 0x01, 0x30, 0x08, 0x9B, 0xFD, 0x30, 0x2D, 0x00, 0xD6, 0xCA, 0x9C, 0x1B, 0xD4, 0x85, - 0x70, 0x27, 0x61, 0x31, 0xD2, 0x02, 0x6A, 0xFB, 0x30, 0x61, 0x0A, 0x30, 0x61, 0x2B, 0x03, 0x6A, - 0xFB, 0x8E, 0x9B, 0xFD, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x40, 0x9A, 0x00, 0x01, 0x30, 0x08, - 0x9C, 0xFD, 0x30, 0x2D, 0x00, 0xD6, 0xCA, 0x1C, 0x34, 0xD4, 0x85, 0x70, 0x27, 0x61, 0x31, 0xD2, - 0x02, 0x6C, 0xFB, 0x30, 0x61, 0x0A, 0x30, 0x61, 0x2B, 0x03, 0x6C, 0xFB, 0xB0, 0x99, 0xD6, 0xB0, - 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xA1, 0x09, 0x9E, 0x06, 0xFD, 0xC8, - 0x37, 0x03, 0xBD, 0x0E, 0x9A, 0xEF, 0x65, 0x14, 0x06, 0xFD, 0x85, 0x0D, 0x1F, 0x95, 0x7A, 0x20, - 0xFA, 0x50, 0xC8, 0x37, 0x04, 0xBD, 0x17, 0x7B, 0x20, 0x89, 0x5C, 0x4E, 0x5B, 0xBD, 0x03, 0x30, - 0x4E, 0x5A, 0x9D, 0x05, 0x9A, 0xCF, 0x63, 0xFA, 0x39, 0x9A, 0x75, 0x65, 0xFA, 0x34, 0xC8, 0x37, - 0x2D, 0xBD, 0x17, 0x7B, 0x20, 0x89, 0x5A, 0x4E, 0x5D, 0xBD, 0x03, 0x30, 0x4E, 0x5C, 0x9D, 0x05, - 0x9A, 0xCF, 0x63, 0xFA, 0x1D, 0x9A, 0x75, 0x65, 0xFA, 0x18, 0xC8, 0x37, 0x2E, 0xBD, 0x0E, 0x9A, - 0xEF, 0x65, 0x14, 0x06, 0xFD, 0x85, 0x0D, 0x1F, 0x95, 0x7A, 0x20, 0xFA, 0x05, 0x9A, 0xCF, 0x63, - 0x7B, 0x20, 0xC8, 0x38, 0x03, 0xBD, 0x0E, 0x9A, 0x7E, 0x66, 0x14, 0x06, 0xFD, 0x85, 0x0D, 0x1F, - 0x95, 0x6A, 0x20, 0xFA, 0x50, 0xC8, 0x38, 0x04, 0xBD, 0x17, 0x6B, 0x20, 0x89, 0x64, 0x4E, 0x63, - 0xBD, 0x03, 0x30, 0x4E, 0x62, 0x9D, 0x05, 0x9A, 0xA4, 0x64, 0xFA, 0x39, 0x9A, 0xB2, 0x65, 0xFA, - 0x34, 0xC8, 0x38, 0x1C, 0xBD, 0x17, 0x6B, 0x20, 0x89, 0x62, 0x4E, 0x65, 0xBD, 0x03, 0x30, 0x4E, - 0x64, 0x9D, 0x05, 0x9A, 0xA4, 0x64, 0xFA, 0x1D, 0x9A, 0xB2, 0x65, 0xFA, 0x18, 0xC8, 0x38, 0x1D, - 0xBD, 0x0E, 0x9A, 0x7E, 0x66, 0x14, 0x06, 0xFD, 0x85, 0x0D, 0x1F, 0x95, 0x6A, 0x20, 0xFA, 0x05, - 0x9A, 0xA4, 0x64, 0x6B, 0x20, 0x9C, 0x26, 0x03, 0x9A, 0x0D, 0x67, 0x31, 0x73, 0x20, 0x09, 0x31, - 0x63, 0x20, 0x05, 0xA1, 0x28, 0x9E, 0x06, 0xFD, 0x9A, 0x25, 0x60, 0x6A, 0x24, 0x31, 0x73, 0x20, - 0x28, 0x31, 0x63, 0x20, 0x12, 0xA1, 0x0B, 0x4E, 0x30, 0x9D, 0x02, 0x6B, 0x24, 0xA1, 0x0B, 0x4E, - 0x31, 0x9D, 0x3C, 0x6B, 0x24, 0xFA, 0x38, 0xA1, 0x0A, 0x4E, 0x30, 0x9D, 0x02, 0x6B, 0x24, 0xA1, - 0x0A, 0x4E, 0x31, 0x9D, 0x2A, 0x6B, 0x24, 0xFA, 0x26, 0x31, 0x63, 0x20, 0x12, 0xA1, 0x0A, 0x4E, - 0x30, 0x9D, 0x02, 0x6B, 0x24, 0xA1, 0x0A, 0x4E, 0x31, 0x9D, 0x14, 0x6B, 0x24, 0xFA, 0x10, 0xA1, - 0x08, 0x4E, 0x30, 0x9D, 0x02, 0x6B, 0x24, 0xA1, 0x08, 0x4E, 0x31, 0x9D, 0x02, 0x6B, 0x24, 0x2B, - 0x24, 0x89, 0x80, 0xEA, 0x7D, 0x02, 0x9D, 0x0B, 0x10, 0x00, 0x00, 0x03, 0x74, 0xFB, 0x03, 0x70, - 0xFB, 0xFA, 0x64, 0x89, 0x80, 0xDA, 0x7D, 0x02, 0x03, 0x74, 0xFB, 0xEA, 0x88, 0x55, 0x8D, 0x0D, - 0xAD, 0x0B, 0x10, 0x88, 0x55, 0x03, 0x74, 0xFB, 0x03, 0x70, 0xFB, 0xFA, 0x4A, 0x02, 0x70, 0xFB, - 0x48, 0x75, 0xFB, 0xBD, 0x04, 0x30, 0x48, 0x74, 0xFB, 0x9D, 0x1F, 0x02, 0x74, 0xFB, 0x30, 0x18, - 0x70, 0xFB, 0x30, 0x38, 0x71, 0xFB, 0xD2, 0x8E, 0x06, 0xFD, 0xA0, 0x00, 0x30, 0x61, 0x43, 0xBD, - 0x03, 0x30, 0x61, 0x42, 0x8D, 0x21, 0x2A, 0x24, 0xFA, 0x1D, 0x02, 0x70, 0xFB, 0x30, 0x18, 0x74, - 0xFB, 0x30, 0x38, 0x75, 0xFB, 0xD2, 0x8E, 0x06, 0xFD, 0xA0, 0x00, 0x30, 0x61, 0x43, 0xBD, 0x03, - 0x30, 0x61, 0x42, 0x8D, 0x02, 0x2A, 0x24, 0x89, 0x82, 0xEA, 0x58, 0x02, 0x9D, 0x0B, 0x10, 0x00, - 0x00, 0x03, 0x76, 0xFB, 0x03, 0x72, 0xFB, 0xFA, 0x64, 0x89, 0x82, 0xDA, 0x58, 0x02, 0x03, 0x76, - 0xFB, 0xEA, 0xC0, 0x35, 0x8D, 0x0D, 0xAD, 0x0B, 0x10, 0xC0, 0x35, 0x03, 0x76, 0xFB, 0x03, 0x72, - 0xFB, 0xFA, 0x4A, 0x02, 0x72, 0xFB, 0x48, 0x77, 0xFB, 0xBD, 0x04, 0x30, 0x48, 0x76, 0xFB, 0x9D, - 0x1F, 0x02, 0x76, 0xFB, 0x30, 0x18, 0x72, 0xFB, 0x30, 0x38, 0x73, 0xFB, 0xD2, 0x8E, 0x06, 0xFD, - 0xA0, 0x00, 0x30, 0x61, 0x43, 0xBD, 0x03, 0x30, 0x61, 0x42, 0x8D, 0x21, 0x2A, 0x24, 0xFA, 0x1D, - 0x02, 0x72, 0xFB, 0x30, 0x18, 0x76, 0xFB, 0x30, 0x38, 0x77, 0xFB, 0xD2, 0x8E, 0x06, 0xFD, 0xA0, - 0x00, 0x30, 0x61, 0x43, 0xBD, 0x03, 0x30, 0x61, 0x42, 0x8D, 0x02, 0x2A, 0x24, 0x31, 0x23, 0x25, - 0x1C, 0x02, 0x74, 0xFB, 0x03, 0x70, 0xFB, 0x02, 0x76, 0xFB, 0x03, 0x72, 0xFB, 0x02, 0x70, 0xFB, - 0x03, 0x78, 0xFB, 0x02, 0x72, 0xFB, 0x03, 0x7A, 0xFB, 0x5B, 0x23, 0xFA, 0x73, 0x8E, 0x06, 0xFD, - 0x4D, 0x32, 0x9D, 0x20, 0x31, 0x23, 0x24, 0x0C, 0x02, 0x74, 0xFB, 0x03, 0x70, 0xFB, 0x02, 0x76, - 0xFB, 0x03, 0x72, 0xFB, 0x02, 0x70, 0xFB, 0x03, 0x78, 0xFB, 0x02, 0x72, 0xFB, 0x03, 0x7A, 0xFB, - 0x5B, 0x23, 0xFA, 0x4C, 0x31, 0x23, 0x24, 0x36, 0x02, 0x70, 0xFB, 0x30, 0x08, 0x74, 0xFB, 0x30, - 0x28, 0x75, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x70, 0xFB, 0x02, 0x72, 0xFB, 0x30, 0x08, - 0x76, 0xFB, 0x30, 0x28, 0x77, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x72, 0xFB, 0x02, 0x74, - 0xFB, 0x03, 0x78, 0xFB, 0x02, 0x76, 0xFB, 0x03, 0x7A, 0xFB, 0x5A, 0x23, 0xFA, 0x12, 0x31, 0x53, - 0x23, 0x0E, 0x02, 0x78, 0xFB, 0x03, 0x70, 0xFB, 0x02, 0x7A, 0xFB, 0x03, 0x72, 0xFB, 0x5B, 0x23, - 0xAF, 0x60, 0xF2, 0x0B, 0xAF, 0x7A, 0x24, 0x11, 0x43, 0x01, 0x8E, 0x5D, 0xFD, 0x70, 0x27, 0x61, - 0x31, 0x9A, 0x11, 0x6C, 0xAF, 0xAF, 0xAF, 0xB7, 0xA6, 0x00, 0x66, 0x4D, 0x2C, 0x61, 0xFE, 0x9D, - 0x28, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x36, 0xFC, 0xD4, 0xA1, 0x00, - 0x95, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x9A, 0xFC, - 0xD4, 0xA1, 0x00, 0x95, 0x84, 0x95, 0x46, 0xFA, 0xD1, 0x11, 0x46, 0x80, 0x8E, 0xB4, 0xFD, 0xF2, - 0x49, 0xA1, 0x30, 0x6E, 0x30, 0xF2, 0x4A, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x32, - 0x61, 0x01, 0x77, 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x52, 0x10, 0xAA, 0xB6, 0x72, 0x67, 0x70, 0x27, - 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x70, 0x10, - 0xD4, 0x85, 0x72, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x46, - 0xFA, 0xC7, 0x11, 0x3E, 0x11, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xEE, 0x58, - 0x00, 0x00, 0x11, 0x29, 0x20, 0x11, 0x2E, 0x00, 0x11, 0x2A, 0x00, 0x3A, 0x25, 0x7B, 0x01, 0x6B, - 0x01, 0xB6, 0xAF, 0xB7, 0xA6, 0x00, 0x66, 0x4D, 0x1B, 0x61, 0xFE, 0x9D, 0x15, 0x70, 0x27, 0x61, - 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x36, 0xFC, 0xD4, 0xA1, 0x00, 0x95, 0x84, 0x95, 0x46, - 0xFA, 0xE4, 0x11, 0x46, 0xC0, 0xF0, 0x32, 0x4D, 0x02, 0xAD, 0x22, 0x4D, 0x01, 0xAD, 0x11, 0x4D, - 0x00, 0xBD, 0x25, 0x11, 0x47, 0x24, 0x11, 0x48, 0x22, 0xA1, 0x65, 0x9E, 0xB4, 0xFD, 0xFA, 0x18, - 0x11, 0x47, 0x22, 0x11, 0x48, 0x0B, 0xA1, 0x65, 0x9E, 0xB4, 0xFD, 0xFA, 0x0B, 0x11, 0x47, 0x26, - 0x11, 0x48, 0x4F, 0xA1, 0x7F, 0x9E, 0xB4, 0xFD, 0x8E, 0xB4, 0xFD, 0xF2, 0x49, 0xA1, 0x30, 0x6E, - 0x31, 0xF2, 0x4A, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x20, 0x61, 0x01, 0x77, 0x70, - 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x8E, 0x31, 0x5C, 0x95, 0x67, 0x41, 0x70, 0x27, 0x61, - 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x8E, 0x32, 0x5C, 0x95, 0x46, 0xFA, 0xD9, 0x11, 0x3E, 0x11, 0x9A, - 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xEE, 0x60, 0x00, 0x00, 0x11, 0x29, 0x10, 0x11, - 0x2F, 0x00, 0x11, 0x2A, 0x00, 0x3A, 0x25, 0x7B, 0x01, 0x6B, 0x01, 0xB6, 0xAF, 0xB7, 0xA6, 0x00, - 0x66, 0x4D, 0x1B, 0x61, 0xFE, 0x9D, 0x28, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, - 0xCA, 0x36, 0xFC, 0xD4, 0xA1, 0x00, 0x95, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, - 0x01, 0x30, 0x27, 0xCA, 0x9A, 0xFC, 0xD4, 0xA1, 0x00, 0x95, 0x84, 0x95, 0x46, 0xFA, 0xD1, 0x11, - 0x46, 0x80, 0x8E, 0xB4, 0xFD, 0xF2, 0x49, 0xA1, 0x30, 0x6E, 0x31, 0xF2, 0x4A, 0xA6, 0x00, 0x66, - 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x32, 0x61, 0x01, 0x77, 0xF0, 0x35, 0x72, 0xB7, 0x16, 0x70, 0x10, - 0xAA, 0xB6, 0x72, 0x67, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x66, 0x70, - 0x27, 0x61, 0x31, 0xCA, 0x52, 0x10, 0xD4, 0x85, 0x72, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, - 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x46, 0xFA, 0xC7, 0x11, 0x3E, 0x11, 0x9A, 0x6D, 0xA4, 0x31, 0x73, - 0x23, 0x02, 0xFA, 0xFA, 0xEE, 0x60, 0x00, 0x00, 0x11, 0x29, 0x40, 0x11, 0x2F, 0x00, 0x11, 0x2A, - 0x00, 0x3A, 0x25, 0x7B, 0x01, 0x6B, 0x01, 0xB6, 0xAF, 0xB7, 0xF0, 0x2A, 0x4D, 0x03, 0xBD, 0x03, - 0x9B, 0xD5, 0x6F, 0x4D, 0x02, 0xBD, 0x03, 0x9B, 0x49, 0x6F, 0x4D, 0x01, 0xAD, 0x5E, 0x4D, 0x00, - 0xAD, 0x03, 0x9B, 0x58, 0x70, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x35, 0x61, 0x01, - 0x77, 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x52, 0x10, 0xAA, 0xB6, 0x72, 0x67, 0x70, 0x27, 0x61, 0x31, - 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0xA1, 0x06, 0x61, 0x0E, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x70, - 0x10, 0xD4, 0x85, 0x72, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, - 0x46, 0xFA, 0xC4, 0x11, 0x3E, 0x11, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, - 0x2C, 0x0C, 0x11, 0x2A, 0x01, 0x6A, 0x01, 0x7A, 0x01, 0x9B, 0x58, 0x70, 0xC8, 0x2C, 0x26, 0x8D, - 0x05, 0x11, 0x2A, 0x02, 0x7B, 0x46, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x33, 0x61, - 0x01, 0x77, 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x52, 0x10, 0xAA, 0xB6, 0x72, 0x67, 0x70, 0x27, 0x61, - 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0xF0, 0x2C, 0x61, 0x0E, 0x72, 0xB7, 0x16, 0x70, 0x10, - 0xAA, 0xB6, 0x72, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x46, - 0xFA, 0xC6, 0x11, 0x3E, 0x1D, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, - 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4A, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, - 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x61, 0x0E, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, - 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x61, - 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, - 0xAF, 0x02, 0x04, 0xFB, 0x4E, 0x59, 0xBD, 0x03, 0x30, 0x4E, 0x58, 0x8D, 0x13, 0xAD, 0x11, 0x02, - 0x04, 0xFB, 0x99, 0x58, 0x02, 0x06, 0xFB, 0x99, 0x78, 0x8E, 0x03, 0xFB, 0x0E, 0x2E, 0xF2, 0x35, - 0x88, 0x2C, 0x06, 0x88, 0x2E, 0x06, 0x9B, 0x58, 0x70, 0x7A, 0x46, 0x11, 0x49, 0x00, 0x11, 0x3E, - 0x1D, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, - 0xFE, 0x9D, 0x4A, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, - 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x61, 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, - 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, - 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x61, 0x0E, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xAF, 0x02, 0x04, 0xFB, - 0x4E, 0x59, 0xBD, 0x03, 0x30, 0x4E, 0x58, 0x8D, 0x13, 0xAD, 0x11, 0x02, 0x04, 0xFB, 0x99, 0x58, - 0x02, 0x06, 0xFB, 0x99, 0x78, 0x8E, 0x03, 0xFB, 0x0E, 0x2E, 0xF2, 0x35, 0x88, 0x2E, 0x06, 0x11, - 0x2A, 0x03, 0x9B, 0x58, 0x70, 0x11, 0x3E, 0x1D, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, - 0xFA, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4A, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, - 0x01, 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x61, 0x0E, - 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, - 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, - 0xF0, 0x2E, 0x61, 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, - 0x95, 0x46, 0xFA, 0xAF, 0x02, 0x04, 0xFB, 0x4E, 0x59, 0xBD, 0x03, 0x30, 0x4E, 0x58, 0x8D, 0x13, + 0x03, 0x6A, 0xFB, 0xAF, 0xC8, 0x36, 0x05, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x1A, 0xC8, + 0x36, 0x00, 0xBD, 0x06, 0xEE, 0x94, 0x00, 0x00, 0xFA, 0x0F, 0x89, 0x64, 0x99, 0x88, 0x89, 0x60, + 0x99, 0x8A, 0x89, 0x62, 0x99, 0x8C, 0x9A, 0x1A, 0x6A, 0xF0, 0x38, 0x51, 0xA0, 0x00, 0x30, 0x99, + 0xB8, 0x10, 0xE0, 0x01, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x94, 0x30, 0x2E, 0x95, 0x03, 0x6C, 0xFB, + 0xAF, 0xB7, 0x89, 0x58, 0x99, 0x88, 0xC8, 0x37, 0x03, 0xBD, 0x45, 0x89, 0x5A, 0x99, 0x8A, 0xF0, + 0x38, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x04, 0x19, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, 0x96, 0xF0, + 0x38, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x88, 0x19, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, 0x98, 0x9A, + 0xC0, 0x6A, 0x89, 0x94, 0xEA, 0x10, 0x06, 0x61, 0xFE, 0x9D, 0x0D, 0x10, 0x06, 0x90, 0x1E, 0x94, + 0x30, 0x3E, 0x95, 0x03, 0x6A, 0xFB, 0xFA, 0x46, 0x10, 0x80, 0x00, 0x03, 0x6A, 0xFB, 0xFA, 0x3E, + 0x89, 0x5C, 0x99, 0x8A, 0xF0, 0x38, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x46, 0x19, 0xD6, 0x87, 0x30, + 0xAE, 0x01, 0x99, 0x96, 0xF0, 0x38, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0xCA, 0x19, 0xD6, 0x87, 0x30, + 0xAE, 0x01, 0x99, 0x98, 0x9A, 0xC0, 0x6A, 0x89, 0x94, 0xEA, 0x10, 0x06, 0x61, 0xFE, 0x9D, 0x08, + 0xCA, 0x50, 0x55, 0x03, 0x6A, 0xFB, 0xFA, 0x06, 0x10, 0x60, 0x5B, 0x03, 0x6A, 0xFB, 0xB6, 0xAF, + 0xB7, 0x89, 0x60, 0x99, 0x88, 0xC8, 0x38, 0x03, 0xBD, 0x45, 0x89, 0x62, 0x99, 0x8A, 0xF0, 0x37, + 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x0C, 0x1A, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, 0x96, 0xF0, 0x37, + 0xA0, 0x02, 0x31, 0x88, 0xCA, 0xD4, 0x1A, 0xD6, 0x87, 0x30, 0xAE, 0x01, 0x99, 0x98, 0x9A, 0xC0, + 0x6A, 0x89, 0x94, 0xEA, 0x10, 0x06, 0x61, 0xFE, 0x9D, 0x0D, 0x10, 0x06, 0x90, 0x1E, 0x94, 0x30, + 0x3E, 0x95, 0x03, 0x6C, 0xFB, 0xFA, 0x46, 0x10, 0x80, 0x00, 0x03, 0x6C, 0xFB, 0xFA, 0x3E, 0x89, + 0x64, 0x99, 0x8A, 0xF0, 0x37, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x70, 0x1A, 0xD6, 0x87, 0x30, 0xAE, + 0x01, 0x99, 0x96, 0xF0, 0x37, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0x1B, 0xD6, 0x87, 0x30, 0xAE, + 0x01, 0x99, 0x98, 0x9A, 0xC0, 0x6A, 0x89, 0x94, 0xEA, 0x10, 0x06, 0x61, 0xFE, 0x9D, 0x08, 0xCA, + 0x70, 0x35, 0x03, 0x6C, 0xFB, 0xFA, 0x06, 0x10, 0x80, 0x3B, 0x03, 0x6C, 0xFB, 0xB6, 0xAF, 0xB7, + 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0xC8, 0x37, 0x03, 0xBD, + 0x67, 0x89, 0x80, 0xEA, 0xA0, 0x05, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x06, 0x9E, 0x69, 0xFD, 0xFA, + 0x55, 0x89, 0x80, 0xEA, 0xB0, 0x04, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x05, 0x9E, 0x69, 0xFD, 0xFA, + 0x45, 0x89, 0x80, 0xEA, 0x38, 0x04, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x04, 0x9E, 0x69, 0xFD, 0xFA, + 0x35, 0x89, 0x80, 0xEA, 0xC0, 0x03, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x03, 0x9E, 0x69, 0xFD, 0xFA, + 0x25, 0x89, 0x80, 0xEA, 0x48, 0x03, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x02, 0x9E, 0x69, 0xFD, 0xFA, + 0x15, 0x89, 0x80, 0xEA, 0xD0, 0x02, 0x8D, 0x09, 0xAD, 0x07, 0xA1, 0x01, 0x9E, 0x69, 0xFD, 0xFA, + 0x05, 0xA1, 0x00, 0x9E, 0x69, 0xFD, 0xFA, 0x7C, 0xC8, 0x37, 0x2E, 0xBD, 0x5B, 0x89, 0x80, 0xEA, + 0x40, 0x56, 0x9D, 0x07, 0xA1, 0x5B, 0x9E, 0x69, 0xFD, 0xFA, 0x4B, 0x89, 0x80, 0xEA, 0x30, 0x57, + 0x9D, 0x07, 0xA1, 0x5C, 0x9E, 0x69, 0xFD, 0xFA, 0x5B, 0x89, 0x80, 0xEA, 0xA8, 0x57, 0x9D, 0x07, + 0xA1, 0x5D, 0x9E, 0x69, 0xFD, 0xFA, 0x4D, 0x89, 0x80, 0xEA, 0x20, 0x58, 0x9D, 0x07, 0xA1, 0x5E, + 0x9E, 0x69, 0xFD, 0xFA, 0x3F, 0x89, 0x80, 0xEA, 0x98, 0x58, 0x9D, 0x07, 0xA1, 0x5F, 0x9E, 0x69, + 0xFD, 0xFA, 0x31, 0x89, 0x80, 0xEA, 0x10, 0x59, 0x9D, 0x07, 0xA1, 0x60, 0x9E, 0x69, 0xFD, 0xFA, + 0x23, 0xA1, 0x61, 0x9E, 0x69, 0xFD, 0xFA, 0x1C, 0x89, 0x5A, 0x4E, 0x5D, 0xBD, 0x03, 0x30, 0x4E, + 0x5C, 0x9D, 0x0A, 0xF0, 0x37, 0x61, 0x01, 0x51, 0x9E, 0x69, 0xFD, 0xFA, 0x07, 0xF0, 0x37, 0x61, + 0x01, 0x9E, 0x69, 0xFD, 0xC8, 0x38, 0x03, 0xBD, 0x67, 0x89, 0x82, 0xEA, 0xA0, 0x05, 0x8D, 0x09, + 0xAD, 0x07, 0xA1, 0x06, 0x9E, 0x6A, 0xFD, 0xFA, 0x55, 0x89, 0x82, 0xEA, 0xB0, 0x04, 0x8D, 0x09, + 0xAD, 0x07, 0xA1, 0x05, 0x9E, 0x6A, 0xFD, 0xFA, 0x45, 0x89, 0x82, 0xEA, 0x38, 0x04, 0x8D, 0x09, + 0xAD, 0x07, 0xA1, 0x04, 0x9E, 0x6A, 0xFD, 0xFA, 0x35, 0x89, 0x82, 0xEA, 0xC0, 0x03, 0x8D, 0x09, + 0xAD, 0x07, 0xA1, 0x03, 0x9E, 0x6A, 0xFD, 0xFA, 0x25, 0x89, 0x82, 0xEA, 0x48, 0x03, 0x8D, 0x09, + 0xAD, 0x07, 0xA1, 0x02, 0x9E, 0x6A, 0xFD, 0xFA, 0x15, 0x89, 0x82, 0xEA, 0xD0, 0x02, 0x8D, 0x09, + 0xAD, 0x07, 0xA1, 0x01, 0x9E, 0x6A, 0xFD, 0xFA, 0x05, 0xA1, 0x00, 0x9E, 0x6A, 0xFD, 0xFA, 0x7C, + 0xC8, 0x38, 0x1D, 0xBD, 0x5B, 0x89, 0x82, 0xEA, 0x60, 0x36, 0x9D, 0x07, 0xA1, 0x39, 0x9E, 0x6A, + 0xFD, 0xFA, 0x4B, 0x89, 0x82, 0xEA, 0x50, 0x37, 0x9D, 0x07, 0xA1, 0x3A, 0x9E, 0x6A, 0xFD, 0xFA, + 0x5B, 0x89, 0x82, 0xEA, 0xC8, 0x37, 0x9D, 0x07, 0xA1, 0x3B, 0x9E, 0x6A, 0xFD, 0xFA, 0x4D, 0x89, + 0x82, 0xEA, 0x40, 0x38, 0x9D, 0x07, 0xA1, 0x3C, 0x9E, 0x6A, 0xFD, 0xFA, 0x3F, 0x89, 0x82, 0xEA, + 0xB8, 0x38, 0x9D, 0x07, 0xA1, 0x3D, 0x9E, 0x6A, 0xFD, 0xFA, 0x31, 0x89, 0x82, 0xEA, 0x30, 0x39, + 0x9D, 0x07, 0xA1, 0x3E, 0x9E, 0x6A, 0xFD, 0xFA, 0x23, 0xA1, 0x3F, 0x9E, 0x6A, 0xFD, 0xFA, 0x1C, + 0x89, 0x62, 0x4E, 0x65, 0xBD, 0x03, 0x30, 0x4E, 0x64, 0x9D, 0x0A, 0xF0, 0x38, 0x61, 0x01, 0x51, + 0x9E, 0x6A, 0xFD, 0xFA, 0x07, 0xF0, 0x38, 0x61, 0x01, 0x9E, 0x6A, 0xFD, 0x02, 0x6A, 0xFB, 0x03, + 0xCC, 0xFC, 0x02, 0x6C, 0xFB, 0x03, 0xCE, 0xFC, 0x8E, 0x6A, 0xFD, 0xA0, 0x00, 0x30, 0x99, 0xB8, + 0xA0, 0x62, 0x9A, 0x00, 0x01, 0x30, 0x08, 0x69, 0xFD, 0x30, 0x2D, 0x00, 0xD6, 0xCA, 0x9C, 0x1B, + 0xD4, 0x85, 0x70, 0x27, 0x61, 0x31, 0xD2, 0x02, 0x6A, 0xFB, 0x30, 0x61, 0x0A, 0x30, 0x61, 0x2B, + 0x03, 0x6A, 0xFB, 0x8E, 0x69, 0xFD, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x40, 0x9A, 0x00, 0x01, + 0x30, 0x08, 0x6A, 0xFD, 0x30, 0x2D, 0x00, 0xD6, 0xCA, 0x1C, 0x34, 0xD4, 0x85, 0x70, 0x27, 0x61, + 0x31, 0xD2, 0x02, 0x6C, 0xFB, 0x30, 0x61, 0x0A, 0x30, 0x61, 0x2B, 0x03, 0x6C, 0xFB, 0xB0, 0x99, + 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x02, 0x6A, 0xFB, + 0xEA, 0x80, 0x07, 0x9D, 0x57, 0x16, 0x00, 0x00, 0x02, 0x6A, 0xFB, 0xEA, 0xA0, 0x05, 0x8D, 0x17, + 0xAD, 0x15, 0x10, 0x07, 0x80, 0x18, 0x6A, 0xFB, 0x30, 0x38, 0x6B, 0xFB, 0x99, 0xB8, 0xEE, 0xBA, + 0x00, 0x00, 0x89, 0xB8, 0xD6, 0xFA, 0x16, 0x02, 0x6A, 0xFB, 0xEA, 0xC0, 0x03, 0x8D, 0x0E, 0xAD, + 0x0C, 0xDA, 0xC0, 0x03, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, 0xD6, 0xC6, 0xA2, 0x05, + 0x31, 0x82, 0xD6, 0x02, 0x6A, 0xFB, 0x30, 0x61, 0x0E, 0x30, 0x61, 0x2F, 0x03, 0x6A, 0xFB, 0xEA, + 0x80, 0x00, 0x9D, 0x65, 0x10, 0x80, 0x00, 0x03, 0x6A, 0xFB, 0xFA, 0x5D, 0x02, 0x6A, 0xFB, 0xEA, + 0x60, 0x54, 0x8D, 0x55, 0xAD, 0x53, 0x16, 0x00, 0x00, 0x02, 0x6A, 0xFB, 0xEA, 0x40, 0x56, 0x9D, + 0x0E, 0xDA, 0x60, 0x54, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, 0xD6, 0xFA, 0x1B, 0x02, + 0x6A, 0xFB, 0xEA, 0x20, 0x58, 0x9D, 0x13, 0x10, 0x58, 0x20, 0x18, 0x6A, 0xFB, 0x30, 0x38, 0x6B, + 0xFB, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, 0xD6, 0xC6, 0xA2, 0x05, 0x31, 0x82, 0xD6, + 0x02, 0x6A, 0xFB, 0x30, 0x61, 0x1E, 0x30, 0x61, 0x3F, 0x03, 0x6A, 0xFB, 0xEA, 0x60, 0x5B, 0x8D, + 0x08, 0xAD, 0x06, 0x10, 0x60, 0x5B, 0x03, 0x6A, 0xFB, 0x02, 0x6C, 0xFB, 0xEA, 0x80, 0x07, 0x9D, + 0x57, 0x16, 0x00, 0x00, 0x02, 0x6C, 0xFB, 0xEA, 0xA0, 0x05, 0x8D, 0x17, 0xAD, 0x15, 0x10, 0x07, + 0x80, 0x18, 0x6C, 0xFB, 0x30, 0x38, 0x6D, 0xFB, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, + 0xD6, 0xFA, 0x16, 0x02, 0x6C, 0xFB, 0xEA, 0xC0, 0x03, 0x8D, 0x0E, 0xAD, 0x0C, 0xDA, 0xC0, 0x03, + 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, 0xD6, 0xC6, 0xA2, 0x05, 0x31, 0x82, 0xD6, 0x02, + 0x6C, 0xFB, 0x30, 0x61, 0x0E, 0x30, 0x61, 0x2F, 0x03, 0x6C, 0xFB, 0xEA, 0x80, 0x00, 0x9D, 0x65, + 0x10, 0x80, 0x00, 0x03, 0x6C, 0xFB, 0xFA, 0x5D, 0x02, 0x6C, 0xFB, 0xEA, 0x80, 0x34, 0x8D, 0x55, + 0xAD, 0x53, 0x16, 0x00, 0x00, 0x02, 0x6C, 0xFB, 0xEA, 0x60, 0x36, 0x9D, 0x0E, 0xDA, 0x80, 0x34, + 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xB8, 0xD6, 0xFA, 0x1B, 0x02, 0x6C, 0xFB, 0xEA, 0x40, + 0x38, 0x9D, 0x13, 0x10, 0x38, 0x40, 0x18, 0x6C, 0xFB, 0x30, 0x38, 0x6D, 0xFB, 0x99, 0xB8, 0xEE, + 0xBA, 0x00, 0x00, 0x89, 0xB8, 0xD6, 0xC6, 0xA2, 0x05, 0x31, 0x82, 0xD6, 0x02, 0x6C, 0xFB, 0x30, + 0x61, 0x1E, 0x30, 0x61, 0x3F, 0x03, 0x6C, 0xFB, 0xEA, 0x80, 0x3B, 0x8D, 0x08, 0xAD, 0x06, 0x10, + 0x80, 0x3B, 0x03, 0x6C, 0xFB, 0xB6, 0xAF, 0xB7, 0xA1, 0x09, 0x9E, 0xD4, 0xFC, 0xC8, 0x37, 0x03, + 0xBD, 0x0E, 0x9A, 0x71, 0x6D, 0x14, 0xD4, 0xFC, 0x85, 0x0D, 0x1F, 0x95, 0x7A, 0x20, 0xFA, 0x50, + 0xC8, 0x37, 0x04, 0xBD, 0x17, 0x7B, 0x20, 0x89, 0x5C, 0x4E, 0x5B, 0xBD, 0x03, 0x30, 0x4E, 0x5A, + 0x9D, 0x05, 0x9A, 0x51, 0x6B, 0xFA, 0x39, 0x9A, 0xF7, 0x6C, 0xFA, 0x34, 0xC8, 0x37, 0x2D, 0xBD, + 0x17, 0x7B, 0x20, 0x89, 0x5A, 0x4E, 0x5D, 0xBD, 0x03, 0x30, 0x4E, 0x5C, 0x9D, 0x05, 0x9A, 0x51, + 0x6B, 0xFA, 0x1D, 0x9A, 0xF7, 0x6C, 0xFA, 0x18, 0xC8, 0x37, 0x2E, 0xBD, 0x0E, 0x9A, 0x71, 0x6D, + 0x14, 0xD4, 0xFC, 0x85, 0x0D, 0x1F, 0x95, 0x7A, 0x20, 0xFA, 0x05, 0x9A, 0x51, 0x6B, 0x7B, 0x20, + 0xC8, 0x38, 0x03, 0xBD, 0x0E, 0x9A, 0x00, 0x6E, 0x14, 0xD4, 0xFC, 0x85, 0x0D, 0x1F, 0x95, 0x6A, + 0x20, 0xFA, 0x50, 0xC8, 0x38, 0x04, 0xBD, 0x17, 0x6B, 0x20, 0x89, 0x64, 0x4E, 0x63, 0xBD, 0x03, + 0x30, 0x4E, 0x62, 0x9D, 0x05, 0x9A, 0x26, 0x6C, 0xFA, 0x39, 0x9A, 0x34, 0x6D, 0xFA, 0x34, 0xC8, + 0x38, 0x1C, 0xBD, 0x17, 0x6B, 0x20, 0x89, 0x62, 0x4E, 0x65, 0xBD, 0x03, 0x30, 0x4E, 0x64, 0x9D, + 0x05, 0x9A, 0x26, 0x6C, 0xFA, 0x1D, 0x9A, 0x34, 0x6D, 0xFA, 0x18, 0xC8, 0x38, 0x1D, 0xBD, 0x0E, + 0x9A, 0x00, 0x6E, 0x14, 0xD4, 0xFC, 0x85, 0x0D, 0x1F, 0x95, 0x6A, 0x20, 0xFA, 0x05, 0x9A, 0x26, + 0x6C, 0x6B, 0x20, 0x9C, 0x26, 0x03, 0x9A, 0x8F, 0x6E, 0x9A, 0xDC, 0x70, 0x31, 0x73, 0x20, 0x09, + 0x31, 0x63, 0x20, 0x05, 0xA1, 0x28, 0x9E, 0xD4, 0xFC, 0x9A, 0xA7, 0x67, 0x6A, 0x24, 0x31, 0x73, + 0x20, 0x28, 0x31, 0x63, 0x20, 0x12, 0xA1, 0x0D, 0x4E, 0x30, 0x9D, 0x02, 0x6B, 0x24, 0xA1, 0x0D, + 0x4E, 0x31, 0x9D, 0x3C, 0x6B, 0x24, 0xFA, 0x38, 0xA1, 0x0D, 0x4E, 0x30, 0x9D, 0x02, 0x6B, 0x24, + 0xA1, 0x0D, 0x4E, 0x31, 0x9D, 0x2A, 0x6B, 0x24, 0xFA, 0x26, 0x31, 0x63, 0x20, 0x12, 0xA1, 0x0D, + 0x4E, 0x30, 0x9D, 0x02, 0x6B, 0x24, 0xA1, 0x0D, 0x4E, 0x31, 0x9D, 0x14, 0x6B, 0x24, 0xFA, 0x10, + 0xA1, 0x08, 0x4E, 0x30, 0x9D, 0x02, 0x6B, 0x24, 0xA1, 0x08, 0x4E, 0x31, 0x9D, 0x02, 0x6B, 0x24, + 0xA1, 0x03, 0x4E, 0x3C, 0x8D, 0x1F, 0xC8, 0x30, 0x0D, 0xBD, 0x3C, 0xF0, 0x3D, 0x1D, 0x03, 0xA0, + 0x02, 0x31, 0x88, 0xCA, 0x4C, 0x5C, 0xD6, 0x89, 0x68, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, + 0x26, 0x6B, 0x24, 0xFA, 0x22, 0xC8, 0x3C, 0x2E, 0xBD, 0x1D, 0xC8, 0x30, 0x0D, 0xBD, 0x18, 0xF0, + 0x3D, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x82, 0x5C, 0xD6, 0x89, 0x68, 0x49, 0x01, 0xBD, + 0x02, 0x30, 0x4F, 0x9D, 0x02, 0x6B, 0x24, 0xA1, 0x03, 0x4E, 0x3D, 0x8D, 0x1F, 0xC8, 0x31, 0x0D, + 0xBD, 0x3C, 0xF0, 0x3C, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0xB8, 0x5C, 0xD6, 0x89, 0x70, + 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x26, 0x6B, 0x24, 0xFA, 0x22, 0xC8, 0x3D, 0x1D, 0xBD, + 0x1D, 0xC8, 0x31, 0x0D, 0xBD, 0x18, 0xF0, 0x3C, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x10, + 0x5D, 0xD6, 0x89, 0x70, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x02, 0x6B, 0x24, 0x2B, 0x24, + 0x89, 0x80, 0xEA, 0x7D, 0x02, 0x9D, 0x0B, 0x10, 0x00, 0x00, 0x03, 0x74, 0xFB, 0x03, 0x70, 0xFB, + 0xFA, 0x64, 0x89, 0x80, 0xDA, 0x7D, 0x02, 0x03, 0x74, 0xFB, 0xEA, 0x88, 0x55, 0x8D, 0x0D, 0xAD, + 0x0B, 0x10, 0x88, 0x55, 0x03, 0x74, 0xFB, 0x03, 0x70, 0xFB, 0xFA, 0x4A, 0x02, 0x70, 0xFB, 0x48, + 0x75, 0xFB, 0xBD, 0x04, 0x30, 0x48, 0x74, 0xFB, 0x9D, 0x1F, 0x02, 0x74, 0xFB, 0x30, 0x18, 0x70, + 0xFB, 0x30, 0x38, 0x71, 0xFB, 0xD2, 0x8E, 0xD4, 0xFC, 0xA0, 0x00, 0x30, 0x61, 0x43, 0xBD, 0x03, + 0x30, 0x61, 0x42, 0x8D, 0x21, 0x2A, 0x24, 0xFA, 0x1D, 0x02, 0x70, 0xFB, 0x30, 0x18, 0x74, 0xFB, + 0x30, 0x38, 0x75, 0xFB, 0xD2, 0x8E, 0xD4, 0xFC, 0xA0, 0x00, 0x30, 0x61, 0x43, 0xBD, 0x03, 0x30, + 0x61, 0x42, 0x8D, 0x02, 0x2A, 0x24, 0x89, 0x82, 0xEA, 0x58, 0x02, 0x9D, 0x0B, 0x10, 0x00, 0x00, + 0x03, 0x76, 0xFB, 0x03, 0x72, 0xFB, 0xFA, 0x64, 0x89, 0x82, 0xDA, 0x58, 0x02, 0x03, 0x76, 0xFB, + 0xEA, 0xC0, 0x35, 0x8D, 0x0D, 0xAD, 0x0B, 0x10, 0xC0, 0x35, 0x03, 0x76, 0xFB, 0x03, 0x72, 0xFB, + 0xFA, 0x4A, 0x02, 0x72, 0xFB, 0x48, 0x77, 0xFB, 0xBD, 0x04, 0x30, 0x48, 0x76, 0xFB, 0x9D, 0x1F, + 0x02, 0x76, 0xFB, 0x30, 0x18, 0x72, 0xFB, 0x30, 0x38, 0x73, 0xFB, 0xD2, 0x8E, 0xD4, 0xFC, 0xA0, + 0x00, 0x30, 0x61, 0x43, 0xBD, 0x03, 0x30, 0x61, 0x42, 0x8D, 0x21, 0x2A, 0x24, 0xFA, 0x1D, 0x02, + 0x72, 0xFB, 0x30, 0x18, 0x76, 0xFB, 0x30, 0x38, 0x77, 0xFB, 0xD2, 0x8E, 0xD4, 0xFC, 0xA0, 0x00, + 0x30, 0x61, 0x43, 0xBD, 0x03, 0x30, 0x61, 0x42, 0x8D, 0x02, 0x2A, 0x24, 0x31, 0x23, 0x25, 0x1C, + 0x02, 0x74, 0xFB, 0x03, 0x70, 0xFB, 0x02, 0x76, 0xFB, 0x03, 0x72, 0xFB, 0x02, 0x70, 0xFB, 0x03, + 0x78, 0xFB, 0x02, 0x72, 0xFB, 0x03, 0x7A, 0xFB, 0x5B, 0x23, 0xFA, 0x73, 0x8E, 0xD4, 0xFC, 0x4D, + 0x32, 0x9D, 0x20, 0x31, 0x23, 0x24, 0x0C, 0x02, 0x74, 0xFB, 0x03, 0x70, 0xFB, 0x02, 0x76, 0xFB, + 0x03, 0x72, 0xFB, 0x02, 0x70, 0xFB, 0x03, 0x78, 0xFB, 0x02, 0x72, 0xFB, 0x03, 0x7A, 0xFB, 0x5B, + 0x23, 0xFA, 0x4C, 0x31, 0x23, 0x24, 0x36, 0x02, 0x70, 0xFB, 0x30, 0x08, 0x74, 0xFB, 0x30, 0x28, + 0x75, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x70, 0xFB, 0x02, 0x72, 0xFB, 0x30, 0x08, 0x76, + 0xFB, 0x30, 0x28, 0x77, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x72, 0xFB, 0x02, 0x74, 0xFB, + 0x03, 0x78, 0xFB, 0x02, 0x76, 0xFB, 0x03, 0x7A, 0xFB, 0x5A, 0x23, 0xFA, 0x12, 0x31, 0x53, 0x23, + 0x0E, 0x02, 0x78, 0xFB, 0x03, 0x70, 0xFB, 0x02, 0x7A, 0xFB, 0x03, 0x72, 0xFB, 0x5B, 0x23, 0xB6, + 0xAF, 0x60, 0xF2, 0x0B, 0xAF, 0x7A, 0x24, 0x11, 0x43, 0x01, 0x8E, 0x2B, 0xFD, 0x70, 0x27, 0x61, + 0x31, 0x9A, 0xA1, 0x75, 0xAF, 0xAF, 0xAF, 0xB7, 0xA6, 0x00, 0x66, 0x4D, 0x2C, 0x61, 0xFE, 0x9D, + 0x21, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x36, 0xFC, 0xD4, 0xA1, 0x00, + 0x95, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x9A, 0xFC, 0xD4, 0xA1, 0x00, 0x95, 0x46, + 0xFA, 0xD8, 0x11, 0x46, 0x80, 0x11, 0x49, 0x6E, 0xA1, 0x30, 0x6E, 0x30, 0xF2, 0x4A, 0xA6, 0x00, + 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x32, 0x61, 0x01, 0x77, 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x52, + 0x10, 0xAA, 0xB6, 0x72, 0x67, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x66, + 0x70, 0x27, 0x61, 0x31, 0xCA, 0x70, 0x10, 0xD4, 0x85, 0x72, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, + 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x46, 0xFA, 0xC7, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, + 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xEE, 0x58, 0x00, 0x00, 0x11, 0x29, 0x20, 0x11, 0x2E, 0x00, 0x11, + 0x2A, 0x00, 0x3A, 0x25, 0x7B, 0x01, 0x6B, 0x01, 0xB6, 0xAF, 0xB7, 0xA6, 0x00, 0x66, 0x4D, 0x1B, + 0x61, 0xFE, 0x9D, 0x15, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x36, 0xFC, + 0xD4, 0xA1, 0x00, 0x95, 0x84, 0x95, 0x46, 0xFA, 0xE4, 0x11, 0x46, 0xC0, 0xF0, 0x32, 0x4D, 0x02, + 0xAD, 0x18, 0x4D, 0x01, 0xAD, 0x0C, 0x4D, 0x00, 0xBD, 0x16, 0x11, 0x47, 0x24, 0x11, 0x48, 0x22, + 0xFA, 0x0E, 0x11, 0x47, 0x22, 0x11, 0x48, 0x0B, 0xFA, 0x06, 0x11, 0x47, 0x26, 0x11, 0x48, 0x4F, + 0x11, 0x49, 0x6E, 0xA1, 0x30, 0x6E, 0x31, 0xF2, 0x4A, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, + 0x9D, 0x20, 0x61, 0x01, 0x77, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x8E, 0x31, 0x5C, + 0x95, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x8E, 0x32, 0x5C, 0x95, 0x46, + 0xFA, 0xD9, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xEE, 0x60, + 0x00, 0x00, 0x11, 0x29, 0x10, 0x11, 0x2F, 0x00, 0x11, 0x2A, 0x00, 0x3A, 0x25, 0x7B, 0x01, 0x6B, + 0x01, 0xB6, 0xAF, 0xB7, 0xA6, 0x00, 0x66, 0x4D, 0x1B, 0x61, 0xFE, 0x9D, 0x21, 0x70, 0x27, 0x61, + 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x36, 0xFC, 0xD4, 0xA1, 0x00, 0x95, 0x84, 0x95, 0x66, + 0x70, 0x27, 0x61, 0x31, 0xCA, 0x9A, 0xFC, 0xD4, 0xA1, 0x00, 0x95, 0x46, 0xFA, 0xD8, 0x11, 0x46, + 0x80, 0x11, 0x49, 0x6E, 0xA1, 0x30, 0x6E, 0x31, 0xF2, 0x4A, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, + 0xFE, 0x9D, 0x32, 0x61, 0x01, 0x77, 0xF0, 0x35, 0x72, 0xB7, 0x16, 0x70, 0x10, 0xAA, 0xB6, 0x72, + 0x67, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, + 0xCA, 0x52, 0x10, 0xD4, 0x85, 0x72, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, + 0x62, 0x95, 0x46, 0xFA, 0xC7, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, + 0xFA, 0xEE, 0x60, 0x00, 0x00, 0x11, 0x29, 0x40, 0x11, 0x2F, 0x00, 0x11, 0x2A, 0x00, 0x3A, 0x25, + 0x7B, 0x01, 0x6B, 0x01, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xF0, 0x2A, + 0x4D, 0x03, 0xBD, 0x03, 0x9B, 0x5B, 0x79, 0x4D, 0x02, 0xBD, 0x03, 0x9B, 0xCC, 0x78, 0x4D, 0x01, + 0xAD, 0x64, 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0xE1, 0x79, 0x11, 0xD0, 0x00, 0xF0, 0xD0, 0x4D, 0x06, + 0x61, 0xFE, 0x9D, 0x39, 0x61, 0x01, 0xF2, 0xD1, 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x52, 0x10, 0xAA, + 0xB6, 0x72, 0xF0, 0xD1, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0xA1, 0x06, + 0x0E, 0xD0, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x70, 0x10, 0xD4, 0x85, 0x72, 0xF0, 0xD1, 0x41, 0x70, + 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x81, 0xD0, 0xFA, 0xBF, 0x11, 0x3E, 0x11, + 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0x2C, 0x0C, 0x11, 0x2A, 0x01, 0x6A, + 0x01, 0x7A, 0x01, 0x9B, 0xE1, 0x79, 0xC8, 0x2C, 0x26, 0x8D, 0x05, 0x11, 0x2A, 0x02, 0x7B, 0x46, + 0x11, 0xD0, 0x00, 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x37, 0x61, 0x01, 0xF2, 0xD1, 0xF0, + 0x36, 0x72, 0xB7, 0x16, 0x52, 0x10, 0xAA, 0xB6, 0x72, 0xF0, 0xD1, 0x70, 0x27, 0x61, 0x31, 0xCA, + 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0xF0, 0x2C, 0x0E, 0xD0, 0x72, 0xB7, 0x16, 0x70, 0x10, 0xAA, 0xB6, + 0x72, 0xF0, 0xD1, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x81, 0xD0, + 0xFA, 0xC1, 0x11, 0x3E, 0x1D, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0xD0, + 0x00, 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4B, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, + 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x0E, 0xD0, 0xA0, + 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0xF0, 0xD0, 0x70, 0x27, + 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xBE, + 0x01, 0x30, 0x97, 0xF0, 0x2E, 0x0E, 0xD0, 0x72, 0xB7, 0xAE, 0x01, 0x16, 0x9A, 0xFC, 0xBA, 0xB6, + 0x81, 0xD0, 0xFA, 0xAD, 0x02, 0x04, 0xFB, 0x4E, 0x59, 0xBD, 0x03, 0x30, 0x4E, 0x58, 0x8D, 0x13, 0xAD, 0x11, 0x02, 0x04, 0xFB, 0x99, 0x58, 0x02, 0x06, 0xFB, 0x99, 0x78, 0x8E, 0x03, 0xFB, 0x0E, - 0x2E, 0xF2, 0x35, 0x11, 0x2A, 0x00, 0x3B, 0x25, 0xB6, 0xAF, 0xB7, 0xF0, 0x2A, 0x4D, 0x04, 0xBD, - 0x03, 0x9B, 0xA4, 0x71, 0x4D, 0x03, 0xBD, 0x03, 0x9B, 0x42, 0x71, 0x4D, 0x02, 0xAD, 0x5D, 0x4D, - 0x01, 0xAD, 0x2C, 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0xFB, 0x71, 0x11, 0x46, 0x80, 0x10, 0x52, 0x10, - 0x03, 0xA0, 0xFD, 0x9A, 0xD1, 0x9A, 0x11, 0x3E, 0x11, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, - 0xFA, 0xFA, 0x11, 0x2D, 0x06, 0x11, 0x2A, 0x01, 0x6A, 0x01, 0x7A, 0x01, 0x9B, 0xFB, 0x71, 0xF0, - 0x2D, 0xA0, 0x00, 0x30, 0xCA, 0x52, 0x10, 0x03, 0xA0, 0xFD, 0x9A, 0xD1, 0x9A, 0x11, 0x3E, 0x13, - 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xC8, 0x32, 0x00, 0xBD, 0x05, 0x02, 0x14, - 0xFB, 0x99, 0x7C, 0x88, 0x2D, 0x06, 0x11, 0x2A, 0x02, 0x9B, 0xFB, 0x71, 0xC8, 0x2D, 0x15, 0x8D, - 0x05, 0x11, 0x2A, 0x03, 0x7B, 0x46, 0xF0, 0x2D, 0xA0, 0x00, 0x30, 0xCA, 0x52, 0x10, 0x03, 0xA0, - 0xFD, 0x9A, 0xD1, 0x9A, 0x11, 0x3E, 0x11, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, + 0x2E, 0xF2, 0x35, 0x88, 0x2C, 0x06, 0x88, 0x2E, 0x06, 0x9B, 0xE1, 0x79, 0x7A, 0x46, 0x11, 0x49, + 0x00, 0x11, 0x3E, 0x1D, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0xD0, 0x00, + 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4B, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, + 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x0E, 0xD0, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0xF0, 0xD0, 0x70, 0x27, 0x61, + 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xBE, 0x01, + 0x30, 0x97, 0xF0, 0x2E, 0x0E, 0xD0, 0x72, 0xB7, 0xAE, 0x01, 0x16, 0x9A, 0xFC, 0xBA, 0xB6, 0x81, + 0xD0, 0xFA, 0xAD, 0x02, 0x04, 0xFB, 0x4E, 0x59, 0xBD, 0x03, 0x30, 0x4E, 0x58, 0x8D, 0x13, 0xAD, + 0x11, 0x02, 0x04, 0xFB, 0x99, 0x58, 0x02, 0x06, 0xFB, 0x99, 0x78, 0x8E, 0x03, 0xFB, 0x0E, 0x2E, + 0xF2, 0x35, 0x88, 0x2E, 0x06, 0x11, 0x2A, 0x03, 0x9B, 0xE1, 0x79, 0x11, 0x3E, 0x1D, 0x9A, 0x2C, + 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0xD0, 0x00, 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, + 0x9D, 0x4B, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, + 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x0E, 0xD0, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, + 0x62, 0x95, 0x63, 0x84, 0x95, 0xF0, 0xD0, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, + 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xBE, 0x01, 0x30, 0x97, 0xF0, 0x2E, 0x0E, 0xD0, + 0x72, 0xB7, 0xAE, 0x01, 0x16, 0x9A, 0xFC, 0xBA, 0xB6, 0x81, 0xD0, 0xFA, 0xAD, 0x02, 0x04, 0xFB, + 0x4E, 0x59, 0xBD, 0x03, 0x30, 0x4E, 0x58, 0x8D, 0x13, 0xAD, 0x11, 0x02, 0x04, 0xFB, 0x99, 0x58, + 0x02, 0x06, 0xFB, 0x99, 0x78, 0x8E, 0x03, 0xFB, 0x0E, 0x2E, 0xF2, 0x35, 0x11, 0x2A, 0x00, 0x3B, + 0x25, 0xB0, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0xF0, 0x2A, 0x4D, 0x04, 0xBD, 0x03, 0x9B, 0x31, + 0x7B, 0x4D, 0x03, 0xBD, 0x03, 0x9B, 0xCF, 0x7A, 0x4D, 0x02, 0xAD, 0x5D, 0x4D, 0x01, 0xAD, 0x2C, + 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0x88, 0x7B, 0x11, 0x46, 0x80, 0x10, 0x52, 0x10, 0x03, 0x6E, 0xFD, + 0x9A, 0x07, 0xAD, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, + 0x2D, 0x06, 0x11, 0x2A, 0x01, 0x6A, 0x01, 0x7A, 0x01, 0x9B, 0x88, 0x7B, 0xF0, 0x2D, 0xA0, 0x00, + 0x30, 0xCA, 0x52, 0x10, 0x03, 0x6E, 0xFD, 0x9A, 0x07, 0xAD, 0x11, 0x3E, 0x13, 0x9A, 0x2C, 0xB7, + 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xC8, 0x32, 0x00, 0xBD, 0x05, 0x02, 0x14, 0xFB, 0x99, 0x7C, + 0x88, 0x2D, 0x06, 0x11, 0x2A, 0x02, 0x9B, 0x88, 0x7B, 0xC8, 0x2D, 0x15, 0x8D, 0x05, 0x11, 0x2A, + 0x03, 0x7B, 0x46, 0xF0, 0x2D, 0xA0, 0x00, 0x30, 0xCA, 0x52, 0x10, 0x03, 0x6E, 0xFD, 0x9A, 0x07, + 0xAD, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, + 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x26, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, + 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, 0x61, 0x0E, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xD3, 0x02, 0x04, 0xFB, 0x4E, + 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x0E, 0xAD, 0x0C, 0x02, 0x04, 0xFB, 0x99, 0x60, 0x8E, + 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, 0x88, 0x2D, 0x06, 0x88, 0x2F, 0x06, 0x9B, 0x88, 0x7B, 0x7A, + 0x46, 0x11, 0x49, 0x00, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x26, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, 0x61, 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xD3, 0x02, 0x04, 0xFB, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x0E, 0xAD, 0x0C, 0x02, 0x04, 0xFB, - 0x99, 0x60, 0x8E, 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, 0x88, 0x2D, 0x06, 0x88, 0x2F, 0x06, 0x9B, - 0xFB, 0x71, 0x7A, 0x46, 0x11, 0x49, 0x00, 0x11, 0x3E, 0x11, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, - 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x26, 0x70, 0x27, 0x61, 0x31, + 0x99, 0x60, 0x8E, 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, 0x88, 0x2F, 0x06, 0x11, 0x2A, 0x04, 0xFA, + 0x57, 0x11, 0x3E, 0x1D, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, + 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x26, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, + 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, 0x61, 0x0E, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xD3, 0x02, 0x04, 0xFB, 0x4E, + 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x0E, 0xAD, 0x0C, 0x02, 0x04, 0xFB, 0x99, 0x60, 0x8E, + 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, 0x3B, 0x25, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0xB1, 0x89, + 0x1C, 0xD6, 0xF0, 0x2A, 0x4D, 0x03, 0xBD, 0x03, 0x9B, 0x6F, 0x7D, 0x4D, 0x02, 0xBD, 0x03, 0x9B, + 0xE0, 0x7C, 0x4D, 0x01, 0xAD, 0x64, 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0xF2, 0x7D, 0x11, 0xD0, 0x00, + 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x39, 0x61, 0x01, 0xF2, 0xD1, 0xF0, 0x35, 0x72, 0xB7, + 0x16, 0x70, 0x10, 0xAA, 0xB6, 0x72, 0xF0, 0xD1, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, + 0x62, 0x95, 0xA1, 0x06, 0x0E, 0xD0, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x52, 0x10, 0xD4, 0x85, 0x72, + 0xF0, 0xD1, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x81, 0xD0, 0xFA, + 0xBF, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0x2D, 0x0C, + 0x11, 0x2A, 0x01, 0x6A, 0x01, 0x7A, 0x01, 0x9B, 0xF2, 0x7D, 0xC8, 0x2D, 0x15, 0x8D, 0x05, 0x11, + 0x2A, 0x02, 0x7B, 0x46, 0x11, 0xD0, 0x00, 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x37, 0x61, + 0x01, 0xF2, 0xD1, 0xF0, 0x35, 0x72, 0xB7, 0x16, 0x70, 0x10, 0xAA, 0xB6, 0x72, 0xF0, 0xD1, 0x70, + 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0xF0, 0x2D, 0x0E, 0xD0, 0x72, 0xB7, 0x16, + 0x52, 0x10, 0xAA, 0xB6, 0x72, 0xF0, 0xD1, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, + 0x62, 0x95, 0x81, 0xD0, 0xFA, 0xC1, 0x11, 0x3E, 0x1D, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, + 0xFA, 0xFA, 0x11, 0xD0, 0x00, 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4B, 0x70, 0x27, 0x61, + 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, + 0x2F, 0x0E, 0xD0, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, + 0xF0, 0xD0, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, + 0x30, 0x84, 0x85, 0xBE, 0x01, 0x30, 0x97, 0xF0, 0x2F, 0x0E, 0xD0, 0x72, 0xB7, 0xAE, 0x01, 0x16, + 0x9A, 0xFC, 0xBA, 0xB6, 0x81, 0xD0, 0xFA, 0xAD, 0x02, 0x04, 0xFB, 0x4E, 0x61, 0xBD, 0x03, 0x30, + 0x4E, 0x60, 0x8D, 0x13, 0xAD, 0x11, 0x02, 0x04, 0xFB, 0x99, 0x60, 0x02, 0x06, 0xFB, 0x99, 0x78, + 0x8E, 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, 0x88, 0x2D, 0x06, 0x88, 0x2F, 0x06, 0x9B, 0xF2, 0x7D, + 0x7A, 0x46, 0x11, 0x49, 0x00, 0x11, 0x3E, 0x1D, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, + 0xFA, 0x11, 0xD0, 0x00, 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4B, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, - 0x61, 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, - 0xFA, 0xD3, 0x02, 0x04, 0xFB, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x0E, 0xAD, 0x0C, - 0x02, 0x04, 0xFB, 0x99, 0x60, 0x8E, 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, 0x88, 0x2F, 0x06, 0x11, - 0x2A, 0x04, 0xFA, 0x57, 0x11, 0x3E, 0x1D, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, - 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x26, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, - 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, 0x61, 0x0E, 0xA0, - 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xD3, 0x02, - 0x04, 0xFB, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x0E, 0xAD, 0x0C, 0x02, 0x04, 0xFB, - 0x99, 0x60, 0x8E, 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, 0x3B, 0x25, 0xB6, 0xAF, 0xB7, 0xF0, 0x2A, - 0x4D, 0x03, 0xBD, 0x03, 0x9B, 0xC9, 0x73, 0x4D, 0x02, 0xBD, 0x03, 0x9B, 0x3D, 0x73, 0x4D, 0x01, - 0xAD, 0x5E, 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0x49, 0x74, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, - 0x9D, 0x35, 0x61, 0x01, 0x77, 0xF0, 0x35, 0x72, 0xB7, 0x16, 0x70, 0x10, 0xAA, 0xB6, 0x72, 0x67, - 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0xA1, 0x06, 0x61, 0x0E, 0x70, 0x27, - 0x61, 0x31, 0xCA, 0x52, 0x10, 0xD4, 0x85, 0x72, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, - 0xFE, 0xD4, 0x62, 0x95, 0x46, 0xFA, 0xC4, 0x11, 0x3E, 0x11, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, - 0x02, 0xFA, 0xFA, 0x11, 0x2D, 0x0C, 0x11, 0x2A, 0x01, 0x6A, 0x01, 0x7A, 0x01, 0x9B, 0x49, 0x74, - 0xC8, 0x2D, 0x15, 0x8D, 0x05, 0x11, 0x2A, 0x02, 0x7B, 0x46, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, - 0xFE, 0x9D, 0x33, 0x61, 0x01, 0x77, 0xF0, 0x35, 0x72, 0xB7, 0x16, 0x70, 0x10, 0xAA, 0xB6, 0x72, - 0x67, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0xF0, 0x2D, 0x61, 0x0E, 0x72, - 0xB7, 0x16, 0x52, 0x10, 0xAA, 0xB6, 0x72, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, - 0xD4, 0x62, 0x95, 0x46, 0xFA, 0xC6, 0x11, 0x3E, 0x1D, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, - 0xFA, 0xFA, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4A, 0x70, 0x27, 0x61, 0x31, 0x30, - 0x61, 0x01, 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, 0x61, - 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, - 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, - 0xD2, 0xF0, 0x2F, 0x61, 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x62, 0x95, 0x63, - 0x84, 0x95, 0x46, 0xFA, 0xAF, 0x02, 0x04, 0xFB, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, - 0x13, 0xAD, 0x11, 0x02, 0x04, 0xFB, 0x99, 0x60, 0x02, 0x06, 0xFB, 0x99, 0x78, 0x8E, 0x03, 0xFB, - 0x0E, 0x2F, 0xF2, 0x36, 0x88, 0x2D, 0x06, 0x88, 0x2F, 0x06, 0x9B, 0x49, 0x74, 0x7A, 0x46, 0x11, - 0x49, 0x00, 0x11, 0x3E, 0x1D, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, - 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4A, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, - 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, 0x61, 0x0E, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, - 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, 0x61, - 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, - 0xAF, 0x02, 0x04, 0xFB, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x13, 0xAD, 0x11, 0x02, + 0x0E, 0xD0, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0xF0, + 0xD0, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, + 0x84, 0x85, 0xBE, 0x01, 0x30, 0x97, 0xF0, 0x2F, 0x0E, 0xD0, 0x72, 0xB7, 0xAE, 0x01, 0x16, 0x9A, + 0xFC, 0xBA, 0xB6, 0x81, 0xD0, 0xFA, 0xAD, 0x02, 0x04, 0xFB, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, + 0x60, 0x8D, 0x13, 0xAD, 0x11, 0x02, 0x04, 0xFB, 0x99, 0x60, 0x02, 0x06, 0xFB, 0x99, 0x78, 0x8E, + 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, 0x88, 0x2F, 0x06, 0x11, 0x2A, 0x03, 0x9B, 0xF2, 0x7D, 0x11, + 0x3E, 0x1D, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0xD0, 0x00, 0xF0, 0xD0, + 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4B, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, + 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, 0x0E, 0xD0, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0xF0, 0xD0, 0x70, 0x27, 0x61, 0x31, 0x30, + 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xBE, 0x01, 0x30, 0x97, + 0xF0, 0x2F, 0x0E, 0xD0, 0x72, 0xB7, 0xAE, 0x01, 0x16, 0x9A, 0xFC, 0xBA, 0xB6, 0x81, 0xD0, 0xFA, + 0xAD, 0x02, 0x04, 0xFB, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x13, 0xAD, 0x11, 0x02, 0x04, 0xFB, 0x99, 0x60, 0x02, 0x06, 0xFB, 0x99, 0x78, 0x8E, 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, - 0x88, 0x2F, 0x06, 0x11, 0x2A, 0x03, 0x9B, 0x49, 0x74, 0x11, 0x3E, 0x1D, 0x9A, 0x6D, 0xA4, 0x31, - 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4A, 0x70, 0x27, - 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, - 0xF0, 0x2F, 0x61, 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, - 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, - 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2F, 0x61, 0x0E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, - 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xAF, 0x02, 0x04, 0xFB, 0x4E, 0x61, 0xBD, 0x03, 0x30, - 0x4E, 0x60, 0x8D, 0x13, 0xAD, 0x11, 0x02, 0x04, 0xFB, 0x99, 0x60, 0x02, 0x06, 0xFB, 0x99, 0x78, - 0x8E, 0x03, 0xFB, 0x0E, 0x2F, 0xF2, 0x36, 0x3B, 0x25, 0xB6, 0xAF, 0x89, 0x58, 0xEA, 0x28, 0x23, - 0x8D, 0x0B, 0xAD, 0x09, 0x91, 0x30, 0xBD, 0x16, 0x11, 0x30, 0x01, 0xFA, 0x11, 0x89, 0x58, 0xEA, - 0x00, 0x19, 0x9D, 0x0A, 0x81, 0x30, 0xA1, 0x0B, 0x4E, 0x30, 0x9D, 0x02, 0xF2, 0x30, 0xAF, 0x89, - 0x60, 0xEA, 0x28, 0x23, 0x8D, 0x0B, 0xAD, 0x09, 0x91, 0x31, 0xBD, 0x16, 0x11, 0x31, 0x01, 0xFA, - 0x11, 0x89, 0x60, 0xEA, 0x00, 0x19, 0x9D, 0x0A, 0x81, 0x31, 0xA1, 0x0B, 0x4E, 0x31, 0x9D, 0x02, - 0xF2, 0x31, 0xAF, 0x9A, 0x27, 0x6C, 0x31, 0x33, 0x25, 0x02, 0xFA, 0xFA, 0x9A, 0x4B, 0x74, 0x89, - 0x58, 0xEA, 0xA0, 0x0F, 0x8D, 0x07, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x0E, 0x89, 0x58, 0xEA, - 0xDC, 0x05, 0x8D, 0x04, 0xAD, 0x02, 0x7A, 0x22, 0x12, 0x01, 0x00, 0xAF, 0xC8, 0x32, 0x03, 0x9D, - 0x37, 0x9A, 0xC3, 0x6C, 0x31, 0x33, 0x25, 0x08, 0x9A, 0x95, 0x81, 0x9A, 0xBE, 0x81, 0xFA, 0xF4, - 0x9A, 0x6F, 0x74, 0x89, 0x60, 0xEA, 0xA0, 0x0F, 0x8D, 0x0A, 0xAD, 0x08, 0x11, 0x2B, 0x96, 0x12, - 0x00, 0x00, 0xFA, 0x1E, 0x89, 0x60, 0xEA, 0xDC, 0x05, 0x8D, 0x09, 0xAD, 0x07, 0x7A, 0x22, 0x11, - 0x2B, 0x96, 0xFA, 0x04, 0x81, 0x32, 0xFA, 0xC4, 0xC8, 0x2B, 0x00, 0xAD, 0x02, 0x91, 0x2B, 0x12, - 0x01, 0x00, 0xAF, 0x9A, 0x6D, 0x6D, 0x31, 0x33, 0x25, 0x02, 0xFA, 0xFA, 0x9A, 0x6F, 0x74, 0x89, - 0x60, 0xEA, 0xA0, 0x0F, 0x8D, 0x07, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x0E, 0x89, 0x58, 0xEA, - 0xDC, 0x05, 0x8D, 0x04, 0xAD, 0x02, 0x7A, 0x22, 0x12, 0x01, 0x00, 0xAF, 0xB7, 0xF0, 0x36, 0x0D, - 0x06, 0x4D, 0x1A, 0x9D, 0x28, 0xF0, 0x36, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, - 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x36, 0x0D, 0x06, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, - 0x85, 0x61, 0x12, 0x84, 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA4, 0xFD, 0xFA, 0x06, 0x10, 0x00, 0x80, - 0x03, 0xA4, 0xFD, 0xA1, 0x06, 0x4E, 0x36, 0x9D, 0x28, 0xF0, 0x36, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0x9A, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x36, 0x1D, 0x06, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x61, 0x12, 0x84, 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA8, 0xFD, 0xFA, - 0x06, 0x10, 0x00, 0x80, 0x03, 0xA8, 0xFD, 0x02, 0xA4, 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, - 0x08, 0xEA, 0x56, 0x75, 0x8D, 0x03, 0x9B, 0xDE, 0x76, 0x02, 0xA8, 0xFD, 0xEA, 0x54, 0x95, 0x8D, - 0x02, 0xBD, 0x05, 0xEA, 0x56, 0x75, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x26, 0x78, 0xC8, 0x36, - 0x02, 0x9D, 0x03, 0x9B, 0xD8, 0x76, 0xEE, 0x60, 0x00, 0x00, 0xF0, 0x36, 0x1D, 0x02, 0x77, 0xA6, - 0x00, 0xF0, 0x36, 0x51, 0x61, 0x4E, 0x8D, 0x2C, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, - 0xD4, 0x85, 0x30, 0x84, 0x85, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x13, 0xAD, 0x11, - 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x60, 0x66, - 0x77, 0x46, 0xFA, 0xCD, 0x67, 0x41, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, - 0x84, 0x85, 0xD2, 0x67, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, - 0x61, 0x4B, 0xBD, 0x03, 0x30, 0x61, 0x4A, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x26, 0x78, 0x67, - 0xF2, 0x36, 0x89, 0x60, 0xEA, 0xA0, 0x0F, 0x8D, 0x02, 0xBD, 0x03, 0x9B, 0xD2, 0x76, 0xF0, 0x36, - 0x0D, 0x06, 0x4D, 0x1A, 0x9D, 0x28, 0xF0, 0x36, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, - 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x36, 0x0D, 0x06, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, - 0xD4, 0x85, 0x61, 0x12, 0x84, 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA4, 0xFD, 0xFA, 0x06, 0x10, 0x00, - 0x80, 0x03, 0xA4, 0xFD, 0xA1, 0x06, 0x4E, 0x36, 0x9D, 0x28, 0xF0, 0x36, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x36, 0x1D, 0x06, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x61, 0x12, 0x84, 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA8, 0xFD, - 0xFA, 0x06, 0x10, 0x00, 0x80, 0x03, 0xA8, 0xFD, 0x02, 0xA4, 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, - 0xBD, 0x05, 0xEA, 0x56, 0x75, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x26, 0x78, 0x02, 0xA8, 0xFD, - 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x05, 0xEA, 0x56, 0x75, 0x9D, 0x12, 0x12, 0x01, 0x00, 0x9B, - 0x26, 0x78, 0x12, 0x01, 0x00, 0x9B, 0x26, 0x78, 0x12, 0x01, 0x00, 0x9B, 0x26, 0x78, 0x02, 0xA8, - 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x08, 0xEA, 0x56, 0x75, 0x8D, 0x03, 0x9B, 0x23, 0x78, - 0x02, 0xA4, 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x05, 0xEA, 0x56, 0x75, 0x9D, 0x06, 0x12, - 0x01, 0x00, 0x9B, 0x26, 0x78, 0xA1, 0x18, 0x4E, 0x36, 0x9D, 0x03, 0x9B, 0x1E, 0x78, 0xF0, 0x36, - 0x0D, 0x02, 0x77, 0xEE, 0x60, 0x00, 0x00, 0xF0, 0x36, 0x41, 0x76, 0xA1, 0x1A, 0x61, 0x4E, 0x8D, - 0x2C, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x4E, 0x61, - 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x13, 0xAD, 0x11, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, - 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x60, 0x66, 0x77, 0x46, 0xFA, 0xCE, 0x67, 0x51, 0xA0, + 0x3B, 0x25, 0xB0, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0x89, 0x58, 0xEA, 0x28, 0x23, 0x8D, 0x0B, 0xAD, + 0x09, 0x91, 0x30, 0xBD, 0x16, 0x11, 0x30, 0x01, 0xFA, 0x11, 0x89, 0x58, 0xEA, 0x00, 0x19, 0x9D, + 0x0A, 0x81, 0x30, 0xA1, 0x0D, 0x4E, 0x30, 0x9D, 0x02, 0xF2, 0x30, 0xAF, 0x89, 0x60, 0xEA, 0x28, + 0x23, 0x8D, 0x0B, 0xAD, 0x09, 0x91, 0x31, 0xBD, 0x16, 0x11, 0x31, 0x01, 0xFA, 0x11, 0x89, 0x60, + 0xEA, 0x00, 0x19, 0x9D, 0x0A, 0x81, 0x31, 0xA1, 0x0D, 0x4E, 0x31, 0x9D, 0x02, 0xF2, 0x31, 0xAF, + 0x9A, 0xB7, 0x75, 0x31, 0x33, 0x25, 0x02, 0xFA, 0xFA, 0x9A, 0xF8, 0x7D, 0x89, 0x58, 0xEA, 0xA0, + 0x0F, 0x8D, 0x07, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x0E, 0x89, 0x58, 0xEA, 0xDC, 0x05, 0x8D, + 0x04, 0xAD, 0x02, 0x7A, 0x22, 0x12, 0x01, 0x00, 0xAF, 0xC8, 0x32, 0x03, 0x9D, 0x37, 0x9A, 0x4A, + 0x76, 0x31, 0x33, 0x25, 0x08, 0x9A, 0xB0, 0x93, 0x9A, 0xD9, 0x93, 0xFA, 0xF4, 0x9A, 0x1C, 0x7E, + 0x89, 0x60, 0xEA, 0xA0, 0x0F, 0x8D, 0x0A, 0xAD, 0x08, 0x11, 0x2B, 0x96, 0x12, 0x00, 0x00, 0xFA, + 0x1E, 0x89, 0x60, 0xEA, 0xDC, 0x05, 0x8D, 0x09, 0xAD, 0x07, 0x7A, 0x22, 0x11, 0x2B, 0x96, 0xFA, + 0x04, 0x81, 0x32, 0xFA, 0xC4, 0xC8, 0x2B, 0x00, 0xAD, 0x02, 0x91, 0x2B, 0x12, 0x01, 0x00, 0xAF, + 0x9A, 0xE3, 0x76, 0x31, 0x33, 0x25, 0x02, 0xFA, 0xFA, 0x9A, 0x1C, 0x7E, 0x89, 0x60, 0xEA, 0xA0, + 0x0F, 0x8D, 0x07, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x0E, 0x89, 0x58, 0xEA, 0xDC, 0x05, 0x8D, + 0x04, 0xAD, 0x02, 0x7A, 0x22, 0x12, 0x01, 0x00, 0xAF, 0xB7, 0xF0, 0x36, 0x0D, 0x06, 0x4D, 0x1A, + 0x9D, 0x1D, 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, 0xB6, 0x72, 0xF0, 0x36, 0x0D, 0x06, + 0x73, 0xB7, 0x16, 0x9A, 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, 0x9E, 0x71, 0xFD, 0xFA, 0x05, 0xA1, + 0x80, 0x9E, 0x71, 0xFD, 0xA1, 0x06, 0x4E, 0x36, 0x9D, 0x1D, 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x9A, + 0xFC, 0xAA, 0xB6, 0x72, 0xF0, 0x36, 0x1D, 0x06, 0x73, 0xB7, 0x16, 0x9A, 0xFC, 0xAB, 0xB6, 0x61, + 0x12, 0x62, 0x9E, 0x73, 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, 0x73, 0xFD, 0xA1, 0x95, 0x48, 0x71, + 0xFD, 0x8D, 0x0A, 0x8E, 0x71, 0xFD, 0x4D, 0x75, 0x8D, 0x03, 0x9B, 0x54, 0x80, 0xA1, 0x95, 0x48, + 0x73, 0xFD, 0x8D, 0x07, 0x8E, 0x73, 0xFD, 0x4D, 0x75, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x7D, + 0x81, 0xC8, 0x36, 0x02, 0x9D, 0x03, 0x9B, 0x4E, 0x80, 0xEE, 0x60, 0x00, 0x00, 0xF0, 0x36, 0x1D, + 0x02, 0x77, 0xA6, 0x00, 0xF0, 0x36, 0x51, 0x61, 0x4E, 0x8D, 0x2C, 0x66, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, + 0x13, 0xAD, 0x11, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, + 0x99, 0x60, 0x66, 0x77, 0x46, 0xFA, 0xCD, 0x67, 0x41, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, + 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x67, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, + 0x30, 0x84, 0x85, 0x61, 0x4B, 0xBD, 0x03, 0x30, 0x61, 0x4A, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, + 0x7D, 0x81, 0x67, 0xF2, 0x36, 0x89, 0x60, 0xEA, 0xA0, 0x0F, 0x8D, 0x7C, 0xAD, 0x7A, 0xF0, 0x36, + 0x0D, 0x06, 0x4D, 0x1A, 0x9D, 0x1D, 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, 0xB6, 0x72, + 0xF0, 0x36, 0x0D, 0x06, 0x73, 0xB7, 0x16, 0x9A, 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, 0x9E, 0x71, + 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, 0x71, 0xFD, 0xA1, 0x06, 0x4E, 0x36, 0x9D, 0x1D, 0xF0, 0x36, + 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, 0xB6, 0x72, 0xF0, 0x36, 0x1D, 0x06, 0x73, 0xB7, 0x16, 0x9A, + 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, 0x9E, 0x73, 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, 0x73, 0xFD, + 0xA1, 0x95, 0x48, 0x71, 0xFD, 0x8D, 0x07, 0x8E, 0x71, 0xFD, 0x4D, 0x75, 0x9D, 0x06, 0x12, 0x01, + 0x00, 0x9B, 0x7D, 0x81, 0xA1, 0x95, 0x48, 0x73, 0xFD, 0x8D, 0x07, 0x8E, 0x73, 0xFD, 0x4D, 0x75, + 0x9D, 0x12, 0x12, 0x01, 0x00, 0x9B, 0x7D, 0x81, 0x12, 0x01, 0x00, 0x9B, 0x7D, 0x81, 0x12, 0x01, + 0x00, 0x9B, 0x7D, 0x81, 0xA1, 0x95, 0x48, 0x73, 0xFD, 0x8D, 0x0A, 0x8E, 0x73, 0xFD, 0x4D, 0x75, + 0x8D, 0x03, 0x9B, 0x7A, 0x81, 0xA1, 0x95, 0x48, 0x71, 0xFD, 0x8D, 0x07, 0x8E, 0x71, 0xFD, 0x4D, + 0x75, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x7D, 0x81, 0xA1, 0x18, 0x4E, 0x36, 0x9D, 0x03, 0x9B, + 0x75, 0x81, 0xF0, 0x36, 0x0D, 0x02, 0x77, 0xEE, 0x60, 0x00, 0x00, 0xF0, 0x36, 0x41, 0x76, 0xA1, + 0x1A, 0x61, 0x4E, 0x8D, 0x2C, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, + 0x84, 0x85, 0x4E, 0x61, 0xBD, 0x03, 0x30, 0x4E, 0x60, 0x8D, 0x13, 0xAD, 0x11, 0x66, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x60, 0x66, 0x77, 0x46, 0xFA, + 0xCE, 0x67, 0x51, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, + 0x67, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x61, 0x4B, 0xBD, + 0x03, 0x30, 0x61, 0x4A, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x7D, 0x81, 0x67, 0xF2, 0x36, 0x89, + 0x60, 0xEA, 0xA0, 0x0F, 0x8D, 0x7A, 0xAD, 0x78, 0xF0, 0x36, 0x0D, 0x06, 0x4D, 0x1A, 0x9D, 0x1D, + 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, 0xB6, 0x72, 0xF0, 0x36, 0x0D, 0x06, 0x73, 0xB7, + 0x16, 0x9A, 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, 0x9E, 0x71, 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, + 0x71, 0xFD, 0xA1, 0x06, 0x4E, 0x36, 0x9D, 0x1D, 0xF0, 0x36, 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, + 0xB6, 0x72, 0xF0, 0x36, 0x1D, 0x06, 0x73, 0xB7, 0x16, 0x9A, 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, + 0x9E, 0x73, 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, 0x73, 0xFD, 0xA1, 0x95, 0x48, 0x71, 0xFD, 0x8D, + 0x07, 0x8E, 0x71, 0xFD, 0x4D, 0x75, 0x9D, 0x05, 0x12, 0x01, 0x00, 0xFA, 0x20, 0xA1, 0x95, 0x48, + 0x73, 0xFD, 0x8D, 0x07, 0x8E, 0x73, 0xFD, 0x4D, 0x75, 0x9D, 0x0F, 0x12, 0x01, 0x00, 0xFA, 0x0D, + 0x12, 0x01, 0x00, 0xFA, 0x08, 0x12, 0x01, 0x00, 0xFA, 0x03, 0x12, 0x00, 0x00, 0xB6, 0xAF, 0xB7, + 0xF0, 0x35, 0x0D, 0x06, 0x4D, 0x2B, 0x9D, 0x1D, 0xF0, 0x35, 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, + 0xB6, 0x72, 0xF0, 0x35, 0x0D, 0x06, 0x73, 0xB7, 0x16, 0x9A, 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, + 0x9E, 0x70, 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, 0x70, 0xFD, 0xA1, 0x06, 0x4E, 0x35, 0x9D, 0x1D, + 0xF0, 0x35, 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, 0xB6, 0x72, 0xF0, 0x35, 0x1D, 0x06, 0x73, 0xB7, + 0x16, 0x9A, 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, 0x9E, 0x72, 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, + 0x72, 0xFD, 0xA1, 0x95, 0x48, 0x70, 0xFD, 0x8D, 0x0A, 0x8E, 0x70, 0xFD, 0x4D, 0x75, 0x8D, 0x03, + 0x9B, 0xFA, 0x82, 0xA1, 0x95, 0x48, 0x72, 0xFD, 0x8D, 0x07, 0x8E, 0x72, 0xFD, 0x4D, 0x75, 0x9D, + 0x06, 0x12, 0x01, 0x00, 0x9B, 0x23, 0x84, 0xC8, 0x35, 0x02, 0x9D, 0x03, 0x9B, 0xF4, 0x82, 0xEE, + 0x58, 0x00, 0x00, 0xF0, 0x35, 0x1D, 0x02, 0x77, 0xA6, 0x00, 0xF0, 0x35, 0x51, 0x61, 0x4E, 0x8D, + 0x2C, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x4E, 0x59, + 0xBD, 0x03, 0x30, 0x4E, 0x58, 0x8D, 0x13, 0xAD, 0x11, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, + 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x58, 0x66, 0x77, 0x46, 0xFA, 0xCD, 0x67, 0x41, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x67, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x61, 0x4B, 0xBD, 0x03, 0x30, 0x61, 0x4A, - 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x26, 0x78, 0x67, 0xF2, 0x36, 0x89, 0x60, 0xEA, 0xA0, 0x0F, - 0x8D, 0x02, 0xBD, 0x03, 0x9B, 0x19, 0x78, 0xF0, 0x36, 0x0D, 0x06, 0x4D, 0x1A, 0x9D, 0x28, 0xF0, - 0x36, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x36, - 0x0D, 0x06, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x61, 0x12, 0x84, 0x85, 0x61, - 0x33, 0xC2, 0x03, 0xA4, 0xFD, 0xFA, 0x06, 0x10, 0x00, 0x80, 0x03, 0xA4, 0xFD, 0xA1, 0x06, 0x4E, - 0x36, 0x9D, 0x28, 0xF0, 0x36, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x30, 0x84, - 0x85, 0xD2, 0xF0, 0x36, 0x1D, 0x06, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x61, - 0x12, 0x84, 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA8, 0xFD, 0xFA, 0x06, 0x10, 0x00, 0x80, 0x03, 0xA8, - 0xFD, 0x02, 0xA4, 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x05, 0xEA, 0x56, 0x75, 0x9D, 0x05, - 0x12, 0x01, 0x00, 0xFA, 0x21, 0x02, 0xA8, 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x05, 0xEA, - 0x56, 0x75, 0x9D, 0x0F, 0x12, 0x01, 0x00, 0xFA, 0x0D, 0x12, 0x01, 0x00, 0xFA, 0x08, 0x12, 0x01, - 0x00, 0xFA, 0x03, 0x12, 0x00, 0x00, 0xB6, 0xAF, 0xB7, 0xF0, 0x35, 0x0D, 0x06, 0x4D, 0x2B, 0x9D, - 0x28, 0xF0, 0x35, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, - 0xF0, 0x35, 0x0D, 0x06, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x61, 0x12, 0x84, - 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA2, 0xFD, 0xFA, 0x06, 0x10, 0x00, 0x80, 0x03, 0xA2, 0xFD, 0xA1, - 0x06, 0x4E, 0x35, 0x9D, 0x28, 0xF0, 0x35, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, - 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x35, 0x1D, 0x06, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, - 0x85, 0x61, 0x12, 0x84, 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA6, 0xFD, 0xFA, 0x06, 0x10, 0x00, 0x80, - 0x03, 0xA6, 0xFD, 0x02, 0xA2, 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x08, 0xEA, 0x56, 0x75, - 0x8D, 0x03, 0x9B, 0xDA, 0x79, 0x02, 0xA6, 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x05, 0xEA, - 0x56, 0x75, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x22, 0x7B, 0xC8, 0x35, 0x02, 0x9D, 0x03, 0x9B, - 0xD4, 0x79, 0xEE, 0x58, 0x00, 0x00, 0xF0, 0x35, 0x1D, 0x02, 0x77, 0xA6, 0x00, 0xF0, 0x35, 0x51, - 0x61, 0x4E, 0x8D, 0x2C, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, - 0x85, 0x4E, 0x59, 0xBD, 0x03, 0x30, 0x4E, 0x58, 0x8D, 0x13, 0xAD, 0x11, 0x66, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x58, 0x66, 0x77, 0x46, 0xFA, 0xCD, - 0x67, 0x41, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x67, - 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x61, 0x4B, 0xBD, 0x03, - 0x30, 0x61, 0x4A, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x22, 0x7B, 0x67, 0xF2, 0x35, 0x89, 0x58, - 0xEA, 0xA0, 0x0F, 0x8D, 0x02, 0xBD, 0x03, 0x9B, 0xCE, 0x79, 0xF0, 0x35, 0x0D, 0x06, 0x4D, 0x2B, - 0x9D, 0x28, 0xF0, 0x35, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, - 0xD2, 0xF0, 0x35, 0x0D, 0x06, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x61, 0x12, - 0x84, 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA2, 0xFD, 0xFA, 0x06, 0x10, 0x00, 0x80, 0x03, 0xA2, 0xFD, - 0xA1, 0x06, 0x4E, 0x35, 0x9D, 0x28, 0xF0, 0x35, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, - 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x35, 0x1D, 0x06, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, - 0xD4, 0x85, 0x61, 0x12, 0x84, 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA6, 0xFD, 0xFA, 0x06, 0x10, 0x00, - 0x80, 0x03, 0xA6, 0xFD, 0x02, 0xA2, 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x05, 0xEA, 0x56, - 0x75, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x22, 0x7B, 0x02, 0xA6, 0xFD, 0xEA, 0x54, 0x95, 0x8D, - 0x02, 0xBD, 0x05, 0xEA, 0x56, 0x75, 0x9D, 0x12, 0x12, 0x01, 0x00, 0x9B, 0x22, 0x7B, 0x12, 0x01, - 0x00, 0x9B, 0x22, 0x7B, 0x12, 0x01, 0x00, 0x9B, 0x22, 0x7B, 0x02, 0xA6, 0xFD, 0xEA, 0x54, 0x95, - 0x8D, 0x02, 0xBD, 0x08, 0xEA, 0x56, 0x75, 0x8D, 0x03, 0x9B, 0x1F, 0x7B, 0x02, 0xA2, 0xFD, 0xEA, - 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x05, 0xEA, 0x56, 0x75, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x22, - 0x7B, 0xA1, 0x29, 0x4E, 0x35, 0x9D, 0x03, 0x9B, 0x1A, 0x7B, 0xF0, 0x35, 0x0D, 0x02, 0x77, 0xEE, - 0x58, 0x00, 0x00, 0xF0, 0x35, 0x41, 0x76, 0xA1, 0x2B, 0x61, 0x4E, 0x8D, 0x2C, 0x66, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x4E, 0x59, 0xBD, 0x03, 0x30, 0x4E, - 0x58, 0x8D, 0x13, 0xAD, 0x11, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, - 0x84, 0x85, 0x99, 0x58, 0x66, 0x77, 0x46, 0xFA, 0xCE, 0x67, 0x51, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x67, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, - 0xD4, 0x85, 0x30, 0x84, 0x85, 0x61, 0x4B, 0xBD, 0x03, 0x30, 0x61, 0x4A, 0x9D, 0x06, 0x12, 0x01, - 0x00, 0x9B, 0x22, 0x7B, 0x67, 0xF2, 0x35, 0x89, 0x58, 0xEA, 0xA0, 0x0F, 0x8D, 0x02, 0xBD, 0x03, - 0x9B, 0x15, 0x7B, 0xF0, 0x35, 0x0D, 0x06, 0x4D, 0x2B, 0x9D, 0x28, 0xF0, 0x35, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x35, 0x0D, 0x06, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x61, 0x12, 0x84, 0x85, 0x61, 0x33, 0xC2, 0x03, 0xA2, - 0xFD, 0xFA, 0x06, 0x10, 0x00, 0x80, 0x03, 0xA2, 0xFD, 0xA1, 0x06, 0x4E, 0x35, 0x9D, 0x28, 0xF0, - 0x35, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x35, - 0x1D, 0x06, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x9A, 0xFC, 0xD4, 0x85, 0x61, 0x12, 0x84, 0x85, 0x61, - 0x33, 0xC2, 0x03, 0xA6, 0xFD, 0xFA, 0x06, 0x10, 0x00, 0x80, 0x03, 0xA6, 0xFD, 0x02, 0xA2, 0xFD, - 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x05, 0xEA, 0x56, 0x75, 0x9D, 0x05, 0x12, 0x01, 0x00, 0xFA, - 0x21, 0x02, 0xA6, 0xFD, 0xEA, 0x54, 0x95, 0x8D, 0x02, 0xBD, 0x05, 0xEA, 0x56, 0x75, 0x9D, 0x0F, - 0x12, 0x01, 0x00, 0xFA, 0x0D, 0x12, 0x01, 0x00, 0xFA, 0x08, 0x12, 0x01, 0x00, 0xFA, 0x03, 0x12, - 0x00, 0x00, 0xB6, 0xAF, 0x11, 0x32, 0x00, 0xA1, 0xFF, 0x9E, 0xB3, 0xFD, 0x0B, 0x26, 0x9A, 0xBC, - 0x74, 0xC2, 0x61, 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x67, 0x9A, 0xF3, 0x9F, 0xC2, 0x61, - 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x5A, 0x9A, 0x93, 0x74, 0xC2, 0x61, 0x68, 0xAD, 0x05, - 0x12, 0x00, 0x00, 0xFA, 0x4D, 0x9A, 0x28, 0x78, 0xC2, 0x61, 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, - 0xFA, 0x40, 0x9A, 0xFF, 0x9F, 0xC2, 0x61, 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x33, 0x31, - 0x03, 0x26, 0x05, 0x12, 0x01, 0x00, 0xFA, 0x2A, 0x9A, 0x03, 0x75, 0xC2, 0x61, 0x68, 0xAD, 0x05, - 0x12, 0x00, 0x00, 0xFA, 0x1D, 0x9A, 0x2C, 0x75, 0xC2, 0x61, 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, - 0xFA, 0x10, 0x9A, 0xF3, 0x9F, 0xC2, 0x61, 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x03, 0x12, - 0x01, 0x00, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x11, 0xD0, 0x00, - 0x11, 0xD1, 0x00, 0x11, 0xD2, 0x00, 0x11, 0xD3, 0x00, 0x16, 0x00, 0x00, 0xC6, 0xEA, 0x00, 0xC0, - 0x9D, 0x2D, 0x99, 0xD4, 0xD4, 0x85, 0x7E, 0xD0, 0xF2, 0xD0, 0x89, 0xD4, 0x80, 0xD4, 0x85, 0x7E, - 0xD1, 0xF2, 0xD1, 0x89, 0xD4, 0x80, 0x80, 0xD4, 0x85, 0x7E, 0xD2, 0xF2, 0xD2, 0x89, 0xD4, 0xCA, - 0x03, 0x00, 0xD4, 0x85, 0x7E, 0xD3, 0xF2, 0xD3, 0xC6, 0xCA, 0x04, 0x00, 0xD6, 0xFA, 0xCD, 0xA1, - 0x1F, 0x9E, 0x70, 0xFD, 0xF0, 0xD0, 0x9E, 0x71, 0xFD, 0xF0, 0xD1, 0x9E, 0x72, 0xFD, 0xF0, 0xD2, - 0x9E, 0x73, 0xFD, 0xF0, 0xD3, 0x9E, 0x74, 0xFD, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, - 0xD0, 0xB6, 0xAF, 0xB7, 0xA6, 0x00, 0x66, 0x48, 0x47, 0xFD, 0x9D, 0x18, 0xC6, 0xA1, 0x00, 0xCA, - 0x0B, 0xFD, 0xD4, 0x85, 0x72, 0xA1, 0x10, 0x61, 0x0E, 0x73, 0xB7, 0x62, 0x16, 0x5D, 0xFD, 0xBB, - 0xB6, 0x46, 0xFA, 0xE2, 0x14, 0xAB, 0xFD, 0x85, 0x6D, 0x02, 0x95, 0xB6, 0xAF, 0xB7, 0x30, 0x83, - 0xDC, 0x30, 0x83, 0xDD, 0xB1, 0x89, 0x1C, 0xD6, 0xAE, 0x06, 0x30, 0xAE, 0x07, 0xD6, 0xC6, 0xA2, - 0x80, 0x31, 0x82, 0x60, 0x5D, 0x7F, 0x72, 0x89, 0xDC, 0xD4, 0x62, 0x95, 0x66, 0x5D, 0x7F, 0xA0, - 0x00, 0x72, 0x89, 0xDC, 0x80, 0xD4, 0x62, 0x95, 0xB0, 0x99, 0xDC, 0xB6, 0xAF, 0x8E, 0x48, 0xFD, - 0x4D, 0x66, 0xBD, 0x2A, 0x8E, 0x52, 0xFD, 0x4D, 0x05, 0xBD, 0x23, 0x8E, 0x49, 0xFD, 0x4D, 0x6C, - 0xBD, 0x1C, 0x8E, 0x4A, 0xFD, 0x4D, 0x61, 0xBD, 0x15, 0x8E, 0x4B, 0xFD, 0x4D, 0x73, 0xBD, 0x0E, - 0x8E, 0x4C, 0xFD, 0x4D, 0x68, 0xBD, 0x07, 0x14, 0x09, 0xFD, 0x85, 0x6D, 0x01, 0x95, 0xAF, 0xB7, - 0xA6, 0x00, 0x66, 0x4D, 0x0A, 0x61, 0xFE, 0x9D, 0x0E, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x48, 0xFD, - 0xD4, 0xA1, 0x00, 0x95, 0x46, 0xFA, 0xEB, 0xA1, 0x00, 0x9E, 0x52, 0xFD, 0xA1, 0x0D, 0x9E, 0x0B, - 0xFD, 0xA1, 0x01, 0x9E, 0x47, 0xFD, 0x5A, 0x24, 0xB6, 0xAF, 0xB7, 0xD6, 0x66, 0x4D, 0x25, 0xBD, - 0x03, 0x9B, 0x43, 0x81, 0x4D, 0x40, 0xBD, 0x03, 0x9B, 0xEE, 0x7F, 0x4D, 0x2F, 0xBD, 0x03, 0x9B, - 0x95, 0x7F, 0x4D, 0x5E, 0xBD, 0x03, 0x9B, 0x50, 0x7F, 0x4D, 0x2A, 0xBD, 0x03, 0x9B, 0xFE, 0x7E, - 0x4D, 0x4E, 0xBD, 0x03, 0x9B, 0xF9, 0x7E, 0x4D, 0x43, 0xBD, 0x03, 0x9B, 0xF4, 0x7E, 0x4D, 0x2D, - 0xBD, 0x03, 0x9B, 0xEF, 0x7E, 0x4D, 0x2B, 0xBD, 0x03, 0x9B, 0xEA, 0x7E, 0x4D, 0x33, 0xBD, 0x03, - 0x9B, 0xD6, 0x7E, 0x4D, 0x32, 0xBD, 0x03, 0x9B, 0xC2, 0x7E, 0x4D, 0x31, 0xBD, 0x03, 0x9B, 0xAE, - 0x7E, 0x4D, 0x30, 0xBD, 0x03, 0x9B, 0x9A, 0x7E, 0x4D, 0x68, 0xBD, 0x03, 0x9B, 0x60, 0x7E, 0x4D, - 0x73, 0xBD, 0x03, 0x9B, 0x26, 0x7E, 0x4D, 0x61, 0xBD, 0x03, 0x9B, 0xEC, 0x7D, 0x4D, 0x6C, 0xAD, - 0x72, 0x4D, 0x66, 0xAD, 0x3B, 0x4D, 0x63, 0xAD, 0x2D, 0x4D, 0x0A, 0xAD, 0x07, 0x4D, 0x0D, 0xAD, - 0x03, 0x9B, 0x7E, 0x81, 0x9A, 0x6D, 0x7C, 0xA7, 0x00, 0x67, 0x4D, 0x0A, 0x61, 0xFE, 0x9D, 0x0E, - 0x70, 0x27, 0x61, 0x31, 0xCA, 0x48, 0xFD, 0xD4, 0xA1, 0x00, 0x95, 0x47, 0xFA, 0xEB, 0xA1, 0x00, - 0x9E, 0x52, 0xFD, 0x9B, 0x93, 0x81, 0x14, 0xAB, 0xFD, 0x85, 0x6D, 0x08, 0x95, 0x9B, 0x93, 0x81, - 0x8E, 0x52, 0xFD, 0x4D, 0x00, 0xBD, 0x1F, 0xA1, 0x66, 0x9E, 0x48, 0xFD, 0xA1, 0x01, 0x9E, 0x52, - 0xFD, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x18, 0xA1, 0x66, 0x9E, 0x0B, 0xFD, 0xA1, 0x01, 0x9E, - 0x47, 0xFD, 0x5A, 0x24, 0xFA, 0x0A, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x03, 0x9A, 0x9F, 0x7C, - 0x9B, 0x93, 0x81, 0x8E, 0x52, 0xFD, 0x51, 0xBD, 0x26, 0x8E, 0x48, 0xFD, 0x4D, 0x66, 0xBD, 0x1F, - 0xA1, 0x6C, 0x9E, 0x49, 0xFD, 0xA1, 0x02, 0x9E, 0x52, 0xFD, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, - 0x18, 0xA1, 0x6C, 0x9E, 0x0B, 0xFD, 0xA1, 0x01, 0x9E, 0x47, 0xFD, 0x5A, 0x24, 0xFA, 0x0A, 0x8E, - 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x03, 0x9A, 0x9F, 0x7C, 0x9B, 0x93, 0x81, 0x8E, 0x52, 0xFD, 0x4D, - 0x02, 0xBD, 0x26, 0x8E, 0x49, 0xFD, 0x4D, 0x6C, 0xBD, 0x1F, 0xA1, 0x61, 0x9E, 0x4A, 0xFD, 0xA1, - 0x03, 0x9E, 0x52, 0xFD, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x18, 0xA1, 0x61, 0x9E, 0x0B, 0xFD, - 0xA1, 0x01, 0x9E, 0x47, 0xFD, 0x5A, 0x24, 0xFA, 0x0A, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x03, - 0x9A, 0x9F, 0x7C, 0x9B, 0x93, 0x81, 0x8E, 0x52, 0xFD, 0x4D, 0x03, 0xBD, 0x26, 0x8E, 0x4A, 0xFD, - 0x4D, 0x61, 0xBD, 0x1F, 0xA1, 0x73, 0x9E, 0x4B, 0xFD, 0xA1, 0x04, 0x9E, 0x52, 0xFD, 0x8E, 0x9A, - 0xFD, 0x4D, 0x00, 0xBD, 0x18, 0xA1, 0x73, 0x9E, 0x0B, 0xFD, 0xA1, 0x01, 0x9E, 0x47, 0xFD, 0x5A, - 0x24, 0xFA, 0x0A, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x03, 0x9A, 0x9F, 0x7C, 0x9B, 0x93, 0x81, - 0x8E, 0x52, 0xFD, 0x4D, 0x04, 0xBD, 0x26, 0x8E, 0x4B, 0xFD, 0x4D, 0x73, 0xBD, 0x1F, 0xA1, 0x68, - 0x9E, 0x4C, 0xFD, 0xA1, 0x05, 0x9E, 0x52, 0xFD, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x18, 0xA1, - 0x68, 0x9E, 0x0B, 0xFD, 0xA1, 0x01, 0x9E, 0x47, 0xFD, 0x5A, 0x24, 0xFA, 0x0A, 0x8E, 0x9A, 0xFD, - 0x4D, 0x00, 0xBD, 0x03, 0x9A, 0x9F, 0x7C, 0x9B, 0x93, 0x81, 0x0B, 0x24, 0x10, 0x1A, 0x06, 0x03, - 0x68, 0xFB, 0x4A, 0x22, 0x14, 0xAA, 0xFD, 0x85, 0x5D, 0xF7, 0x95, 0x9B, 0x93, 0x81, 0x10, 0xD5, - 0x01, 0x03, 0x68, 0xFB, 0x0A, 0x24, 0x4A, 0x22, 0x14, 0xAA, 0xFD, 0x85, 0x5D, 0xF7, 0x95, 0x9B, - 0x93, 0x81, 0x10, 0x0C, 0x03, 0x03, 0x68, 0xFB, 0x0A, 0x24, 0x4A, 0x22, 0x14, 0xAA, 0xFD, 0x85, - 0x5D, 0xF7, 0x95, 0x9B, 0x93, 0x81, 0x10, 0x1A, 0x06, 0x03, 0x68, 0xFB, 0x0A, 0x24, 0x4A, 0x22, - 0x14, 0xAA, 0xFD, 0x85, 0x5D, 0xF7, 0x95, 0x9B, 0x93, 0x81, 0x7A, 0x25, 0x9B, 0x93, 0x81, 0x7B, - 0x25, 0x9B, 0x93, 0x81, 0x1B, 0x26, 0x9B, 0x93, 0x81, 0x1A, 0x26, 0x9B, 0x93, 0x81, 0x8E, 0x9A, - 0xFD, 0x4D, 0x00, 0xBD, 0x41, 0x0B, 0x24, 0x6A, 0x23, 0xA1, 0xC0, 0x9E, 0x0B, 0xFD, 0xA1, 0x2A, - 0x9E, 0x0C, 0xFD, 0xA1, 0x62, 0x9E, 0x0D, 0xFD, 0xA1, 0x1A, 0x9E, 0x0E, 0xFD, 0xA1, 0x70, 0x9E, - 0x0F, 0xFD, 0xA1, 0x7F, 0x9E, 0x10, 0xFD, 0xA1, 0x01, 0x9E, 0x11, 0xFD, 0x51, 0x9E, 0x12, 0xFD, - 0x9E, 0x13, 0xFD, 0xA1, 0x02, 0x9E, 0x14, 0xFD, 0xA1, 0x00, 0x9E, 0x15, 0xFD, 0xA1, 0x0B, 0x9E, - 0x47, 0xFD, 0x5A, 0x24, 0xFA, 0x07, 0x14, 0xAB, 0xFD, 0x85, 0x6D, 0x01, 0x95, 0x9B, 0x93, 0x81, - 0x0B, 0x24, 0x6A, 0x23, 0xA1, 0xCF, 0x9E, 0x0B, 0xFD, 0xA1, 0x2C, 0x9E, 0x0C, 0xFD, 0xA1, 0x1B, - 0x9E, 0x0D, 0xFD, 0xA1, 0x03, 0x9E, 0x0E, 0xFD, 0xA1, 0x60, 0x9E, 0x0F, 0xFD, 0xA1, 0x01, 0x9E, - 0x10, 0xFD, 0x51, 0x9E, 0x11, 0xFD, 0xA1, 0x3B, 0x9E, 0x12, 0xFD, 0x8E, 0xB4, 0xFD, 0x5D, 0x7F, - 0x9E, 0x13, 0xFD, 0xA1, 0x00, 0x9E, 0x14, 0xFD, 0x9E, 0x15, 0xFD, 0xA1, 0x0B, 0x9E, 0x47, 0xFD, - 0x5A, 0x24, 0x9B, 0x93, 0x81, 0xA1, 0xE0, 0x9E, 0x0B, 0xFD, 0x89, 0x7C, 0xA0, 0x00, 0x70, 0x9E, - 0x0C, 0xFD, 0xF0, 0x7C, 0x9E, 0x0D, 0xFD, 0x89, 0x5E, 0xA0, 0x00, 0x70, 0x9E, 0x0E, 0xFD, 0xF0, - 0x5E, 0x9E, 0x0F, 0xFD, 0x89, 0x66, 0xA0, 0x00, 0x70, 0x9E, 0x10, 0xFD, 0xF0, 0x66, 0x9E, 0x11, - 0xFD, 0x89, 0x78, 0xA0, 0x00, 0x70, 0x9E, 0x12, 0xFD, 0xF0, 0x78, 0x9E, 0x13, 0xFD, 0x89, 0x7A, - 0xA0, 0x00, 0x70, 0x9E, 0x14, 0xFD, 0xF0, 0x7A, 0x9E, 0x15, 0xFD, 0xA1, 0x0B, 0x9E, 0x47, 0xFD, - 0x5A, 0x24, 0x8E, 0x9A, 0xFD, 0x51, 0xBD, 0x03, 0x9A, 0x13, 0x7C, 0x9B, 0x93, 0x81, 0x0B, 0x24, - 0x31, 0x63, 0x24, 0x07, 0xA1, 0xFF, 0x9E, 0x0B, 0xFD, 0xFA, 0x05, 0xA1, 0xFE, 0x9E, 0x0B, 0xFD, - 0x02, 0x6A, 0xFB, 0xA0, 0x00, 0x70, 0x9E, 0x0C, 0xFD, 0x8E, 0x6A, 0xFB, 0x9E, 0x0D, 0xFD, 0x02, - 0x6C, 0xFB, 0xA0, 0x00, 0x70, 0x9E, 0x0E, 0xFD, 0x8E, 0x6C, 0xFB, 0x9E, 0x0F, 0xFD, 0x89, 0x7A, - 0xA0, 0x00, 0x70, 0x9E, 0x10, 0xFD, 0xF0, 0x7A, 0x9E, 0x11, 0xFD, 0x8E, 0x04, 0xFD, 0x9E, 0x12, - 0xFD, 0x31, 0x33, 0x26, 0x0C, 0xF0, 0x2C, 0x9E, 0x13, 0xFD, 0xF0, 0x2D, 0x9E, 0x14, 0xFD, 0xFA, - 0x0A, 0xF0, 0x37, 0x9E, 0x13, 0xFD, 0xF0, 0x38, 0x9E, 0x14, 0xFD, 0xA1, 0x0F, 0x1E, 0x30, 0x9E, - 0x15, 0xFD, 0xA1, 0x0F, 0x1E, 0x31, 0x9E, 0x16, 0xFD, 0x02, 0x20, 0xFB, 0xA2, 0x02, 0x30, 0x61, - 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x17, 0xFD, 0x02, 0x22, 0xFB, 0xA2, 0x02, - 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x18, 0xFD, 0x02, 0x24, 0xFB, - 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x19, 0xFD, 0x02, - 0x26, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x1A, - 0xFD, 0x02, 0x28, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, - 0x9E, 0x1B, 0xFD, 0x02, 0x2A, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, - 0x00, 0x70, 0x9E, 0x1C, 0xFD, 0x02, 0x2C, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, - 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x1D, 0xFD, 0x02, 0x2E, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, - 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x1E, 0xFD, 0x02, 0x30, 0xFB, 0xA2, 0x02, 0x30, 0x61, - 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x1F, 0xFD, 0x02, 0x32, 0xFB, 0xA2, 0x02, - 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x20, 0xFD, 0x02, 0x34, 0xFB, - 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x21, 0xFD, 0x02, - 0x36, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0x22, - 0xFD, 0xA1, 0x18, 0x9E, 0x47, 0xFD, 0x5A, 0x24, 0x8E, 0x9A, 0xFD, 0x51, 0xBD, 0x55, 0x9A, 0x13, - 0x7C, 0xFA, 0x50, 0x0B, 0x24, 0x6A, 0x23, 0xA1, 0xC1, 0x9E, 0x0B, 0xFD, 0xA1, 0x00, 0x9E, 0x0C, - 0xFD, 0x9E, 0x0D, 0xFD, 0x9E, 0x0E, 0xFD, 0x9E, 0x0F, 0xFD, 0x9E, 0x10, 0xFD, 0x9E, 0x11, 0xFD, - 0x9E, 0x12, 0xFD, 0x9E, 0x13, 0xFD, 0x9E, 0x14, 0xFD, 0x9E, 0x15, 0xFD, 0xA1, 0x0B, 0x9E, 0x47, - 0xFD, 0x5A, 0x24, 0x8E, 0x9A, 0xFD, 0x51, 0xBD, 0x1A, 0x9A, 0x13, 0x7C, 0xFA, 0x15, 0x8E, 0x52, - 0xFD, 0x4D, 0x0A, 0x9D, 0x08, 0x72, 0xB7, 0x66, 0x16, 0x48, 0xFD, 0xBA, 0xB6, 0x14, 0x52, 0xFD, - 0x85, 0x41, 0x95, 0xB6, 0xAF, 0xB7, 0xC8, 0x40, 0x00, 0xAD, 0x21, 0x81, 0x41, 0xF0, 0x41, 0x51, - 0x72, 0xB7, 0x16, 0x53, 0xFD, 0xAA, 0xB6, 0x76, 0xF0, 0x40, 0x4E, 0x41, 0xBD, 0x06, 0x11, 0x40, - 0x00, 0x11, 0x41, 0x00, 0x66, 0x70, 0x27, 0x61, 0x31, 0x9A, 0xCA, 0x7C, 0xB6, 0xAF, 0x8E, 0x9A, - 0xFD, 0x4D, 0x00, 0xBD, 0x05, 0x9A, 0xCE, 0x81, 0xFA, 0x03, 0x9A, 0xDE, 0x82, 0xAF, 0xB7, 0x31, - 0x73, 0x24, 0x05, 0x6A, 0x27, 0x9B, 0xDC, 0x82, 0x6B, 0x27, 0x8C, 0x24, 0x03, 0x9B, 0xA1, 0x82, - 0x31, 0x63, 0x24, 0x17, 0xC8, 0x33, 0x00, 0xBD, 0x0F, 0xA1, 0xA0, 0x68, 0x05, 0xFD, 0x9E, 0x5D, - 0xFD, 0xD8, 0x24, 0xBD, 0x7B, 0x27, 0xFA, 0x30, 0x9B, 0xDC, 0x82, 0x31, 0x73, 0x27, 0x1C, 0x31, - 0x13, 0x24, 0x09, 0x8E, 0x9E, 0xFD, 0x51, 0xAD, 0x1F, 0x9B, 0xDC, 0x82, 0x1A, 0x24, 0xA1, 0x80, - 0x9E, 0x5D, 0xFD, 0x10, 0x00, 0x00, 0x03, 0x6E, 0xFB, 0xFA, 0x0D, 0x7A, 0x27, 0xA1, 0xA0, 0x9E, - 0x5D, 0xFD, 0x10, 0x00, 0x00, 0x03, 0x6E, 0xFB, 0x02, 0x70, 0xFB, 0xA0, 0x00, 0x70, 0x61, 0xFC, - 0x25, 0x5D, 0x7F, 0x9E, 0x5E, 0xFD, 0x02, 0x70, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, - 0x9E, 0x5F, 0xFD, 0x02, 0x72, 0xFB, 0xA0, 0x00, 0x70, 0x61, 0xFC, 0x25, 0x5D, 0x7F, 0x9E, 0x60, - 0xFD, 0x02, 0x72, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, 0x9E, 0x61, 0xFD, 0x8E, 0x6E, - 0xFB, 0x5D, 0x7F, 0x9E, 0x62, 0xFD, 0x8E, 0x70, 0xFB, 0x5D, 0x03, 0x24, 0x24, 0x24, 0x5D, 0xE0, - 0x72, 0x8E, 0x72, 0xFB, 0x5D, 0x03, 0x26, 0x26, 0x26, 0x5D, 0xF8, 0x61, 0x62, 0x02, 0x6E, 0xFB, - 0x30, 0x61, 0x01, 0x30, 0x27, 0x70, 0x27, 0x61, 0x31, 0x60, 0x5D, 0x07, 0x61, 0x6A, 0x9E, 0x63, - 0xFD, 0xA1, 0x00, 0x9E, 0x64, 0xFD, 0x9E, 0x65, 0xFD, 0x11, 0x42, 0x09, 0x9A, 0x15, 0x6C, 0xFA, - 0x3B, 0x31, 0x53, 0x24, 0x37, 0x5B, 0x24, 0xA6, 0x00, 0x66, 0x48, 0x47, 0xFD, 0x9D, 0x15, 0xC6, - 0xA1, 0x00, 0xCA, 0x0B, 0xFD, 0xD4, 0x85, 0x72, 0xC6, 0xA1, 0x00, 0xCA, 0x5D, 0xFD, 0xD4, 0x62, - 0x95, 0x46, 0xFA, 0xE5, 0x8E, 0x47, 0xFD, 0xF2, 0x42, 0x9A, 0x15, 0x6C, 0x31, 0x63, 0x23, 0x0C, - 0x6B, 0x23, 0x10, 0xD5, 0x01, 0x03, 0x68, 0xFB, 0x0A, 0x24, 0x4A, 0x22, 0xB6, 0xAF, 0xB7, 0x89, - 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x8C, 0x24, 0x03, 0x9B, 0x3C, 0x86, 0x8E, 0xAA, - 0xFD, 0x26, 0x26, 0x31, 0x0F, 0x03, 0x9B, 0x3C, 0x86, 0x8E, 0xAA, 0xFD, 0x61, 0xCC, 0xA1, 0x00, - 0x27, 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0x3C, 0x86, 0xEC, 0x24, 0x03, 0x9B, 0x02, 0x84, 0xC8, 0x33, - 0x00, 0xAD, 0x03, 0x9B, 0xFC, 0x83, 0x14, 0x99, 0xFD, 0x85, 0x41, 0x95, 0xA1, 0x0E, 0x48, 0x99, - 0xFD, 0x9D, 0x03, 0xA1, 0x00, 0x95, 0x8E, 0x99, 0xFD, 0x9E, 0x5D, 0xFD, 0x8E, 0xAA, 0xFD, 0x24, - 0x24, 0x24, 0x31, 0x0F, 0x16, 0x14, 0xAA, 0xFD, 0x85, 0x5D, 0xF7, 0x95, 0xA1, 0x00, 0x9E, 0x62, - 0xFD, 0x9E, 0x63, 0xFD, 0x85, 0x6D, 0x10, 0x95, 0x9B, 0xFA, 0x83, 0x8E, 0x05, 0xFD, 0x77, 0x26, - 0x26, 0x26, 0x26, 0x5D, 0xF0, 0x77, 0x14, 0x5D, 0xFD, 0x85, 0x6D, 0x80, 0x95, 0x61, 0x6F, 0x95, - 0x02, 0x70, 0xFB, 0xA0, 0x00, 0x70, 0x9E, 0x5E, 0xFD, 0x02, 0x70, 0xFB, 0x5D, 0x00, 0x30, 0x9E, - 0x5F, 0xFD, 0x02, 0x72, 0xFB, 0xA0, 0x00, 0x70, 0x9E, 0x60, 0xFD, 0x02, 0x72, 0xFB, 0x5D, 0x00, - 0x30, 0x9E, 0x61, 0xFD, 0x02, 0x6E, 0xFB, 0x70, 0x27, 0x61, 0x31, 0x60, 0x5D, 0x03, 0x9E, 0x62, - 0xFD, 0x8E, 0x6E, 0xFB, 0x70, 0x27, 0x61, 0x31, 0x5D, 0x00, 0x30, 0x9E, 0x63, 0xFD, 0xD8, 0x24, - 0xBD, 0x7B, 0x27, 0xA1, 0x03, 0x9E, 0xB2, 0xFD, 0xA6, 0x00, 0x66, 0x4D, 0x04, 0x9D, 0x50, 0xA0, - 0x02, 0x31, 0x88, 0xCA, 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x66, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x00, 0xF4, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x40, 0xF4, - 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x02, 0x6A, 0xFB, 0x03, 0x80, 0xF4, 0x02, 0x6C, 0xFB, 0x03, - 0x82, 0xF4, 0xF0, 0x44, 0x9E, 0x84, 0xF4, 0x46, 0xFA, 0xB0, 0xFA, 0x03, 0x9B, 0x3C, 0x86, 0x9B, - 0x39, 0x86, 0x8E, 0xB2, 0xFD, 0x4D, 0x00, 0x61, 0xFE, 0x8D, 0x02, 0xBD, 0x03, 0x9B, 0xBF, 0x85, - 0x14, 0xAA, 0xFD, 0x85, 0x6D, 0x08, 0x95, 0x10, 0x00, 0x00, 0x99, 0xD0, 0x99, 0xD2, 0x76, 0x66, - 0x4D, 0x04, 0x9D, 0x27, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x00, 0xF4, 0xD4, 0x85, 0x30, 0x84, 0x85, - 0x99, 0xBC, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x02, 0x5E, - 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x46, 0xFA, 0xD4, 0x8E, 0x84, 0xF4, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0x00, 0xF4, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0xD0, 0x99, 0xB8, - 0x89, 0xD2, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x17, 0x5E, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, - 0x99, 0xD0, 0x02, 0x80, 0xF4, 0x99, 0xBC, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, 0x99, 0xBA, 0x10, - 0x00, 0x00, 0x9A, 0x02, 0x5E, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x89, 0xD2, 0x99, - 0xBA, 0xA1, 0x02, 0x9A, 0x4E, 0x5E, 0x89, 0xB8, 0x99, 0xD4, 0x8E, 0x84, 0xF4, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x00, 0xF4, 0xD4, 0x02, 0x80, 0xF4, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0xD4, 0xEA, - 0x7D, 0x02, 0x9D, 0x06, 0xEE, 0xD4, 0x00, 0x00, 0xFA, 0x13, 0x98, 0xD4, 0x7D, 0xB8, 0xD5, 0x02, - 0x89, 0xD4, 0xEA, 0x88, 0x55, 0x8D, 0x06, 0xAD, 0x04, 0xEE, 0xD4, 0x88, 0x55, 0x89, 0xD4, 0xA0, - 0x00, 0x70, 0x9E, 0x5E, 0xFD, 0x89, 0xD4, 0x5D, 0x00, 0x30, 0x9E, 0x5F, 0xFD, 0x10, 0x00, 0x00, - 0x99, 0xD0, 0x99, 0xD2, 0x76, 0x66, 0x4D, 0x04, 0x9D, 0x27, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x40, - 0xF4, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, 0x99, 0xBA, - 0x10, 0x00, 0x00, 0x9A, 0x02, 0x5E, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x46, 0xFA, - 0xD4, 0x8E, 0x84, 0xF4, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x40, 0xF4, 0xD4, 0x85, 0x30, 0x84, 0x85, - 0x99, 0xBC, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x17, 0x5E, - 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x02, 0x82, 0xF4, 0x99, 0xBC, 0x89, 0xD0, 0x99, - 0xB8, 0x89, 0xD2, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x02, 0x5E, 0x89, 0xBA, 0x99, 0xD2, 0x89, - 0xB8, 0x99, 0xD0, 0x89, 0xD2, 0x99, 0xBA, 0xA1, 0x02, 0x9A, 0x4E, 0x5E, 0x89, 0xB8, 0x99, 0xD4, - 0x8E, 0x84, 0xF4, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x40, 0xF4, 0xD4, 0x02, 0x82, 0xF4, 0x30, 0x95, - 0x30, 0x84, 0x95, 0x14, 0x84, 0xF4, 0x85, 0x41, 0x95, 0x4D, 0x04, 0x8D, 0x03, 0xA1, 0x00, 0x95, - 0x89, 0xD4, 0xEA, 0x58, 0x02, 0x9D, 0x06, 0xEE, 0xD4, 0x00, 0x00, 0xFA, 0x13, 0x98, 0xD4, 0x58, - 0xB8, 0xD5, 0x02, 0x89, 0xD4, 0xEA, 0xC0, 0x35, 0x8D, 0x06, 0xAD, 0x04, 0xEE, 0xD4, 0xC0, 0x35, - 0x89, 0xD4, 0xA0, 0x00, 0x70, 0x9E, 0x60, 0xFD, 0x89, 0xD4, 0x5D, 0x00, 0x30, 0x9E, 0x61, 0xFD, - 0x14, 0xB2, 0xFD, 0x85, 0x51, 0x95, 0x14, 0x5D, 0xFD, 0x85, 0x5D, 0xF0, 0x95, 0xFA, 0x41, 0x31, - 0x73, 0x27, 0x2B, 0x31, 0x13, 0x24, 0x0F, 0x8E, 0x9E, 0xFD, 0x51, 0xBD, 0x6F, 0x14, 0x5D, 0xFD, - 0x85, 0x5D, 0x70, 0x95, 0xFA, 0x2A, 0x1A, 0x24, 0x10, 0x00, 0x00, 0x03, 0x6E, 0xFB, 0x14, 0x5D, - 0xFD, 0x85, 0x5D, 0x70, 0x95, 0x14, 0xAA, 0xFD, 0x85, 0x5D, 0xF7, 0x95, 0xFA, 0x12, 0x7A, 0x27, - 0x14, 0x5D, 0xFD, 0x85, 0x5D, 0x70, 0x95, 0x6D, 0x80, 0x95, 0x10, 0x00, 0x00, 0x03, 0x6E, 0xFB, - 0x14, 0x99, 0xFD, 0x85, 0x41, 0x95, 0xA1, 0x0E, 0x48, 0x99, 0xFD, 0x9D, 0x03, 0xA1, 0x00, 0x95, - 0x14, 0x5D, 0xFD, 0x85, 0x68, 0x99, 0xFD, 0x95, 0x02, 0x6E, 0xFB, 0x70, 0x27, 0x61, 0x31, 0x60, - 0x5D, 0x03, 0x9E, 0x62, 0xFD, 0x8E, 0x6E, 0xFB, 0x70, 0x27, 0x61, 0x31, 0x5D, 0x00, 0x30, 0x9E, - 0x63, 0xFD, 0x14, 0xAA, 0xFD, 0x85, 0x6D, 0x10, 0x95, 0x9A, 0xED, 0x87, 0xB0, 0x99, 0xD4, 0xB0, - 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x3D, 0x31, 0x73, - 0x24, 0x02, 0xFA, 0x71, 0x31, 0x03, 0x24, 0x6D, 0xA1, 0x80, 0x9E, 0x5D, 0xFD, 0xA1, 0x2A, 0x9E, - 0x5E, 0xFD, 0xA1, 0x62, 0x9E, 0x5F, 0xFD, 0xA1, 0x1A, 0x9E, 0x60, 0xFD, 0xA1, 0x70, 0x9E, 0x61, - 0xFD, 0xA1, 0x00, 0x9E, 0x62, 0xFD, 0xA1, 0x28, 0x9E, 0x63, 0xFD, 0xA1, 0x00, 0x9E, 0x64, 0xFD, - 0x9E, 0x65, 0xFD, 0x11, 0x42, 0x09, 0x9A, 0x15, 0x6C, 0xFA, 0x3A, 0xA1, 0x00, 0x9E, 0xB2, 0xFD, - 0x14, 0x99, 0xFD, 0x85, 0x41, 0x95, 0xA1, 0x0E, 0x48, 0x99, 0xFD, 0x9D, 0x03, 0xA1, 0x00, 0x95, - 0x8E, 0x99, 0xFD, 0x9E, 0x5D, 0xFD, 0xA1, 0x55, 0x9E, 0x5E, 0xFD, 0xA1, 0x89, 0x9E, 0x5F, 0xFD, - 0xA1, 0x35, 0x9E, 0x60, 0xFD, 0xA1, 0xC1, 0x9E, 0x61, 0xFD, 0xA1, 0x00, 0x9E, 0x62, 0xFD, 0x9E, - 0x63, 0xFD, 0x9A, 0xED, 0x87, 0xAF, 0x7B, 0x1E, 0x11, 0x00, 0x03, 0x13, 0x20, 0xFC, 0x11, 0x0C, - 0x00, 0x13, 0x2C, 0xF9, 0x31, 0x33, 0x0C, 0x07, 0xA1, 0x01, 0x9E, 0x9A, 0xFD, 0xFA, 0x05, 0xA1, - 0x00, 0x9E, 0x9A, 0xFD, 0x11, 0x02, 0x00, 0x13, 0x22, 0xFF, 0x71, 0x1A, 0x24, 0x11, 0x04, 0x02, - 0x13, 0x24, 0xFC, 0x11, 0x07, 0x00, 0x13, 0x27, 0xF0, 0x11, 0x0D, 0x00, 0x11, 0x0E, 0x00, 0x13, - 0x2E, 0xFE, 0x8E, 0x9A, 0xFD, 0x51, 0xBD, 0x4A, 0x11, 0x01, 0xE1, 0x13, 0x21, 0x12, 0x13, 0x58, - 0x16, 0x11, 0x03, 0x00, 0x13, 0x23, 0xFA, 0x11, 0x06, 0x00, 0x13, 0x26, 0xFF, 0x13, 0xA6, 0x00, - 0x13, 0xAB, 0x01, 0x13, 0xA8, 0x00, 0x13, 0xA9, 0x00, 0x13, 0xA9, 0x00, 0x13, 0xA8, 0x0C, 0x71, - 0x0A, 0xAB, 0x71, 0x1B, 0xAB, 0x13, 0xA7, 0xAC, 0x13, 0xA6, 0x9C, 0x71, 0x6B, 0xA6, 0x71, 0x0B, - 0x26, 0x71, 0x1B, 0x26, 0x71, 0x2B, 0x26, 0x13, 0xEB, 0xFE, 0x71, 0x0B, 0xE3, 0x71, 0x0B, 0xE7, - 0xFA, 0x42, 0x11, 0x01, 0xE9, 0x13, 0x21, 0x12, 0x11, 0x03, 0x00, 0x13, 0x23, 0xFA, 0x11, 0x06, - 0x00, 0x13, 0x26, 0xF0, 0x71, 0x6B, 0x50, 0x71, 0x5B, 0x50, 0x71, 0x7B, 0x50, 0x13, 0x56, 0x01, - 0x13, 0x57, 0xD0, 0x13, 0x50, 0x04, 0x13, 0x58, 0x02, 0x71, 0x7A, 0x50, 0x71, 0x6A, 0x50, 0x71, - 0x5A, 0x50, 0x71, 0x7B, 0xE4, 0x71, 0x0B, 0xE5, 0x71, 0x1B, 0xE5, 0x71, 0x7B, 0xE8, 0x71, 0x0A, - 0xE9, 0x71, 0x1B, 0xE9, 0x13, 0x81, 0x02, 0x13, 0x80, 0x50, 0x71, 0x7A, 0x80, 0x13, 0xBA, 0x00, - 0x13, 0xBB, 0x02, 0x13, 0xBC, 0x00, 0xEE, 0x12, 0x84, 0x1E, 0x13, 0x6B, 0x00, 0x13, 0x6A, 0x06, - 0x11, 0x17, 0x3E, 0x13, 0x40, 0x01, 0x71, 0x4A, 0x40, 0xFE, 0xE0, 0x00, 0x00, 0xFE, 0xE2, 0x00, - 0x00, 0x71, 0x1B, 0xE4, 0x71, 0x2B, 0xE5, 0x71, 0x6B, 0xE5, 0x71, 0x1B, 0xE8, 0x71, 0x2A, 0xE8, - 0x71, 0x3A, 0xE8, 0x71, 0x2B, 0xE9, 0x71, 0x6B, 0xE9, 0x13, 0x48, 0x01, 0x13, 0x49, 0x00, 0xAF, - 0xAF, 0x7A, 0x1E, 0xAF, 0x7B, 0x1E, 0xAF, 0x71, 0x10, 0xAF, 0x71, 0x00, 0xAF, 0x71, 0x3B, 0x21, - 0x71, 0x0B, 0x58, 0x3A, 0x01, 0xAF, 0x71, 0x3B, 0x21, 0x71, 0x0B, 0x58, 0x3B, 0x01, 0xAF, 0x1B, - 0x04, 0xAF, 0x1A, 0x04, 0xAF, 0x4A, 0x0C, 0xAF, 0x4B, 0x0C, 0xAF, 0x3A, 0x0C, 0xAF, 0x3B, 0x0C, - 0xAF, 0x0A, 0x06, 0xAF, 0x0B, 0x06, 0xAF, 0x1A, 0x06, 0xAF, 0x1B, 0x06, 0xAF, 0x71, 0x0A, 0x23, - 0xAF, 0xA1, 0x00, 0x8C, 0x03, 0x01, 0x41, 0x70, 0x27, 0x61, 0x31, 0xD2, 0xAF, 0x71, 0x0A, 0x23, - 0xA1, 0x00, 0x71, 0x04, 0x03, 0x27, 0xA3, 0x00, 0x32, 0xAF, 0x71, 0x2A, 0xE4, 0x71, 0x0B, 0x23, - 0xAF, 0x0B, 0x03, 0xAF, 0xB7, 0xA1, 0x00, 0x9E, 0xAA, 0xFD, 0x9E, 0x99, 0xFD, 0x76, 0x66, 0x4D, - 0x07, 0x9D, 0x0D, 0xC6, 0xA1, 0x00, 0xCA, 0x5D, 0xFD, 0xD4, 0xA1, 0x00, 0x95, 0x46, 0xFA, 0xEE, - 0xA1, 0x0F, 0x9E, 0x64, 0xFD, 0xA1, 0x55, 0x9E, 0x65, 0xFD, 0xA1, 0x88, 0x9E, 0x66, 0xFD, 0xA1, - 0x35, 0x9E, 0x67, 0xFD, 0xA1, 0xC0, 0x9E, 0x68, 0xFD, 0xA1, 0x00, 0x9E, 0x69, 0xFD, 0x51, 0x9E, - 0x6A, 0xFD, 0xA1, 0x02, 0x9E, 0x6B, 0xFD, 0xA1, 0x00, 0x9E, 0x6C, 0xFD, 0x9E, 0x6D, 0xFD, 0x9E, - 0x6E, 0xFD, 0x9E, 0x6F, 0xFD, 0x9E, 0xAB, 0xFD, 0x9E, 0xAC, 0xFD, 0xF2, 0x22, 0xF2, 0x23, 0xF2, - 0x25, 0xF2, 0x26, 0xF2, 0x32, 0xF2, 0x29, 0xF2, 0x20, 0xF2, 0x21, 0xF2, 0x44, 0x9E, 0x07, 0xFD, - 0x9E, 0x08, 0xFD, 0x11, 0x30, 0x0B, 0x11, 0x31, 0x0B, 0x10, 0xD5, 0x01, 0x03, 0x68, 0xFB, 0x11, - 0x24, 0x00, 0x11, 0x27, 0x00, 0xE8, 0x24, 0x03, 0x7A, 0x27, 0x6B, 0x27, 0x11, 0x3E, 0x00, 0x11, - 0x40, 0x00, 0x11, 0x41, 0x00, 0x11, 0x42, 0x00, 0x11, 0x43, 0x00, 0x10, 0xBA, 0x08, 0x03, 0x84, - 0xFB, 0xA1, 0x00, 0x9E, 0x09, 0xFD, 0x9E, 0x52, 0xFD, 0x9E, 0x02, 0xFD, 0x9E, 0x03, 0xFD, 0x9E, - 0xAD, 0xFD, 0xB6, 0xAF, 0xB7, 0x7A, 0x01, 0x6A, 0x01, 0x5A, 0x01, 0x0B, 0x00, 0x1A, 0x00, 0xA6, + 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x23, 0x84, 0x67, 0xF2, 0x35, 0x89, 0x58, 0xEA, 0xA0, 0x0F, + 0x8D, 0x7C, 0xAD, 0x7A, 0xF0, 0x35, 0x0D, 0x06, 0x4D, 0x2B, 0x9D, 0x1D, 0xF0, 0x35, 0x72, 0xB7, + 0x16, 0x9A, 0xFC, 0xAA, 0xB6, 0x72, 0xF0, 0x35, 0x0D, 0x06, 0x73, 0xB7, 0x16, 0x9A, 0xFC, 0xAB, + 0xB6, 0x61, 0x12, 0x62, 0x9E, 0x70, 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, 0x70, 0xFD, 0xA1, 0x06, + 0x4E, 0x35, 0x9D, 0x1D, 0xF0, 0x35, 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, 0xB6, 0x72, 0xF0, 0x35, + 0x1D, 0x06, 0x73, 0xB7, 0x16, 0x9A, 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, 0x9E, 0x72, 0xFD, 0xFA, + 0x05, 0xA1, 0x80, 0x9E, 0x72, 0xFD, 0xA1, 0x95, 0x48, 0x70, 0xFD, 0x8D, 0x07, 0x8E, 0x70, 0xFD, + 0x4D, 0x75, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x23, 0x84, 0xA1, 0x95, 0x48, 0x72, 0xFD, 0x8D, + 0x07, 0x8E, 0x72, 0xFD, 0x4D, 0x75, 0x9D, 0x12, 0x12, 0x01, 0x00, 0x9B, 0x23, 0x84, 0x12, 0x01, + 0x00, 0x9B, 0x23, 0x84, 0x12, 0x01, 0x00, 0x9B, 0x23, 0x84, 0xA1, 0x95, 0x48, 0x72, 0xFD, 0x8D, + 0x0A, 0x8E, 0x72, 0xFD, 0x4D, 0x75, 0x8D, 0x03, 0x9B, 0x20, 0x84, 0xA1, 0x95, 0x48, 0x70, 0xFD, + 0x8D, 0x07, 0x8E, 0x70, 0xFD, 0x4D, 0x75, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x23, 0x84, 0xA1, + 0x29, 0x4E, 0x35, 0x9D, 0x03, 0x9B, 0x1B, 0x84, 0xF0, 0x35, 0x0D, 0x02, 0x77, 0xEE, 0x58, 0x00, + 0x00, 0xF0, 0x35, 0x41, 0x76, 0xA1, 0x2B, 0x61, 0x4E, 0x8D, 0x2C, 0x66, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x4E, 0x59, 0xBD, 0x03, 0x30, 0x4E, 0x58, 0x8D, + 0x13, 0xAD, 0x11, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, + 0x99, 0x58, 0x66, 0x77, 0x46, 0xFA, 0xCE, 0x67, 0x51, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, + 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x67, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x85, + 0x30, 0x84, 0x85, 0x61, 0x4B, 0xBD, 0x03, 0x30, 0x61, 0x4A, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, + 0x23, 0x84, 0x67, 0xF2, 0x35, 0x89, 0x58, 0xEA, 0xA0, 0x0F, 0x8D, 0x7A, 0xAD, 0x78, 0xF0, 0x35, + 0x0D, 0x06, 0x4D, 0x2B, 0x9D, 0x1D, 0xF0, 0x35, 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, 0xB6, 0x72, + 0xF0, 0x35, 0x0D, 0x06, 0x73, 0xB7, 0x16, 0x9A, 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, 0x9E, 0x70, + 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, 0x70, 0xFD, 0xA1, 0x06, 0x4E, 0x35, 0x9D, 0x1D, 0xF0, 0x35, + 0x72, 0xB7, 0x16, 0x9A, 0xFC, 0xAA, 0xB6, 0x72, 0xF0, 0x35, 0x1D, 0x06, 0x73, 0xB7, 0x16, 0x9A, + 0xFC, 0xAB, 0xB6, 0x61, 0x12, 0x62, 0x9E, 0x72, 0xFD, 0xFA, 0x05, 0xA1, 0x80, 0x9E, 0x72, 0xFD, + 0xA1, 0x95, 0x48, 0x70, 0xFD, 0x8D, 0x07, 0x8E, 0x70, 0xFD, 0x4D, 0x75, 0x9D, 0x05, 0x12, 0x01, + 0x00, 0xFA, 0x20, 0xA1, 0x95, 0x48, 0x72, 0xFD, 0x8D, 0x07, 0x8E, 0x72, 0xFD, 0x4D, 0x75, 0x9D, + 0x0F, 0x12, 0x01, 0x00, 0xFA, 0x0D, 0x12, 0x01, 0x00, 0xFA, 0x08, 0x12, 0x01, 0x00, 0xFA, 0x03, + 0x12, 0x00, 0x00, 0xB6, 0xAF, 0x8E, 0x8D, 0xF4, 0x4D, 0x00, 0xAD, 0x0B, 0x9A, 0x6A, 0x88, 0x11, + 0x2B, 0x96, 0x12, 0x00, 0x00, 0xFA, 0x7E, 0x11, 0x32, 0x00, 0xA1, 0xFF, 0x9E, 0x7D, 0xFD, 0x0B, + 0x26, 0x9A, 0x69, 0x7E, 0xC2, 0x61, 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x67, 0x9A, 0x29, + 0xB2, 0xC2, 0x61, 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x5A, 0x9A, 0x40, 0x7E, 0xC2, 0x61, + 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x4D, 0x9A, 0x7F, 0x81, 0xC2, 0x61, 0x68, 0xAD, 0x05, + 0x12, 0x00, 0x00, 0xFA, 0x40, 0x9A, 0x35, 0xB2, 0xC2, 0x61, 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, + 0xFA, 0x33, 0x31, 0x03, 0x26, 0x05, 0x12, 0x01, 0x00, 0xFA, 0x2A, 0x9A, 0xB0, 0x7E, 0xC2, 0x61, + 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x1D, 0x9A, 0xD9, 0x7E, 0xC2, 0x61, 0x68, 0xAD, 0x05, + 0x12, 0x00, 0x00, 0xFA, 0x10, 0x9A, 0x29, 0xB2, 0xC2, 0x61, 0x68, 0xAD, 0x05, 0x12, 0x00, 0x00, + 0xFA, 0x03, 0x12, 0x01, 0x00, 0xAF, 0xB7, 0xA6, 0x00, 0x66, 0x4D, 0x1B, 0x61, 0xFE, 0x9D, 0x21, + 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x36, 0xFC, 0xD4, 0xA1, 0x00, 0x95, + 0x84, 0x95, 0x66, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x9A, 0xFC, 0xD4, 0xA1, 0x00, 0x95, 0x46, 0xFA, + 0xD8, 0x11, 0x46, 0xC0, 0xF0, 0x32, 0x4D, 0x02, 0xAD, 0x18, 0x4D, 0x01, 0xAD, 0x0C, 0x4D, 0x00, + 0xBD, 0x16, 0x11, 0x47, 0x24, 0x11, 0x48, 0x22, 0xFA, 0x0E, 0x11, 0x47, 0x22, 0x11, 0x48, 0x0B, + 0xFA, 0x06, 0x11, 0x47, 0x26, 0x11, 0x48, 0x4F, 0x8E, 0x89, 0xF4, 0xF2, 0x49, 0x8E, 0x8A, 0xF4, + 0xF2, 0x4A, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x20, 0x61, 0x01, 0x77, 0x70, 0x27, + 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x8E, 0x31, 0x5C, 0x95, 0x67, 0x41, 0x70, 0x27, 0x61, 0x31, + 0xCA, 0x4B, 0xFE, 0xD4, 0x8E, 0x32, 0x5C, 0x95, 0x46, 0xFA, 0xD9, 0x11, 0x3E, 0x11, 0x9A, 0x2C, + 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0x29, 0x60, 0x11, 0x2E, 0x00, 0x11, 0x2A, 0x00, + 0x3A, 0x25, 0x7B, 0x01, 0x6B, 0x01, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0xB1, 0x89, 0x1C, 0xD6, + 0xF0, 0x2A, 0x4D, 0x04, 0xBD, 0x03, 0x9B, 0xFA, 0x87, 0x4D, 0x03, 0xBD, 0x03, 0x9B, 0x8B, 0x87, + 0x4D, 0x02, 0xBD, 0x03, 0x9B, 0xA2, 0x86, 0x4D, 0x01, 0xBD, 0x03, 0x9B, 0x1B, 0x86, 0x4D, 0x00, + 0xAD, 0x03, 0x9B, 0x64, 0x88, 0xA1, 0x80, 0x68, 0x88, 0xF4, 0xF2, 0x46, 0x8E, 0x89, 0xF4, 0xF2, + 0x49, 0x8E, 0x8A, 0xF4, 0xF2, 0x4A, 0x11, 0xD0, 0x00, 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, + 0x5E, 0x61, 0x01, 0xF2, 0xD1, 0x8E, 0x8D, 0xF4, 0x4D, 0x02, 0xAD, 0x04, 0x4D, 0x03, 0xBD, 0x10, + 0xF0, 0xD1, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x8E, 0x94, 0xF4, 0x95, 0xFA, 0x1D, + 0xF0, 0xD0, 0x70, 0x27, 0x61, 0x31, 0x30, 0x08, 0x92, 0xF4, 0x30, 0x28, 0x93, 0xF4, 0xD4, 0x85, + 0x72, 0xF0, 0xD1, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0xF0, 0xD0, 0x70, + 0x27, 0x61, 0x31, 0x30, 0x08, 0x90, 0xF4, 0x30, 0x28, 0x91, 0xF4, 0xD4, 0x85, 0x72, 0xF0, 0xD1, + 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x81, 0xD0, 0xFA, 0x9A, 0x11, + 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0x2C, 0x06, 0x11, 0x2E, + 0x00, 0x11, 0x2A, 0x01, 0x6A, 0x01, 0x7A, 0x01, 0x9B, 0x64, 0x88, 0x11, 0xD0, 0x00, 0xF0, 0xD0, + 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x62, 0x61, 0x01, 0xF2, 0xD1, 0x8E, 0x8D, 0xF4, 0x4D, 0x02, 0xAD, + 0x04, 0x4D, 0x03, 0xBD, 0x10, 0xF0, 0xD1, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x8E, + 0x94, 0xF4, 0x95, 0xFA, 0x1F, 0xA1, 0x06, 0x0E, 0xD0, 0x70, 0x27, 0x61, 0x31, 0x30, 0x08, 0x92, + 0xF4, 0x30, 0x28, 0x93, 0xF4, 0xD4, 0x85, 0x72, 0xF0, 0xD1, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, + 0xFE, 0xD4, 0x62, 0x95, 0xA1, 0x06, 0x0E, 0xD0, 0x70, 0x27, 0x61, 0x31, 0x30, 0x08, 0x90, 0xF4, + 0x30, 0x28, 0x91, 0xF4, 0xD4, 0x85, 0x72, 0xF0, 0xD1, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, + 0xFE, 0xD4, 0x62, 0x95, 0x81, 0xD0, 0xFA, 0x96, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, + 0x23, 0x02, 0xFA, 0xFA, 0x02, 0x14, 0xFB, 0x99, 0x7C, 0x88, 0x2C, 0x06, 0x11, 0x2A, 0x02, 0x9B, + 0x64, 0x88, 0x8E, 0x8F, 0xF4, 0x4D, 0x00, 0xBD, 0x0C, 0xC8, 0x2C, 0x26, 0x8D, 0x11, 0x11, 0x2A, + 0x03, 0x7B, 0x46, 0xFA, 0x0A, 0xC8, 0x2C, 0x15, 0x8D, 0x05, 0x11, 0x2A, 0x03, 0x7B, 0x46, 0x11, + 0xD0, 0x00, 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x56, 0x61, 0x01, 0xF2, 0xD1, 0x8E, 0x8D, + 0xF4, 0x4D, 0x02, 0xAD, 0x04, 0x4D, 0x03, 0xBD, 0x10, 0xF0, 0xD1, 0x70, 0x27, 0x61, 0x31, 0xCA, + 0x4B, 0xFE, 0xD4, 0x8E, 0x94, 0xF4, 0x95, 0xFA, 0x19, 0xF0, 0x2C, 0x0E, 0xD0, 0x72, 0x02, 0x92, + 0xF4, 0xB7, 0xD6, 0xAA, 0xB6, 0x72, 0xF0, 0xD1, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, + 0x62, 0x95, 0xF0, 0x2C, 0x0E, 0xD0, 0x72, 0x02, 0x90, 0xF4, 0xB7, 0xD6, 0xAA, 0xB6, 0x72, 0xF0, + 0xD1, 0x41, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x4B, 0xFE, 0xD4, 0x62, 0x95, 0x81, 0xD0, 0xFA, 0xA2, + 0x11, 0x3E, 0x1D, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0xD0, 0x00, 0xF0, + 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4B, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, + 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x0E, 0xD0, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0xF0, 0xD0, 0x70, 0x27, 0x61, 0x31, + 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xBE, 0x01, 0x30, + 0x97, 0xF0, 0x2E, 0x0E, 0xD0, 0x72, 0xB7, 0xAE, 0x01, 0x16, 0x9A, 0xFC, 0xBA, 0xB6, 0x81, 0xD0, + 0xFA, 0xAD, 0x88, 0x2C, 0x06, 0x88, 0x2E, 0x06, 0x9B, 0x64, 0x88, 0x7A, 0x46, 0x11, 0x49, 0x00, + 0x11, 0x3E, 0x1D, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0xD0, 0x00, 0xF0, + 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, 0x4B, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, + 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x0E, 0xD0, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0xF0, 0xD0, 0x70, 0x27, 0x61, 0x31, + 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xBE, 0x01, 0x30, + 0x97, 0xF0, 0x2E, 0x0E, 0xD0, 0x72, 0xB7, 0xAE, 0x01, 0x16, 0x9A, 0xFC, 0xBA, 0xB6, 0x81, 0xD0, + 0xFA, 0xAD, 0x88, 0x2E, 0x06, 0x11, 0x2A, 0x04, 0xFA, 0x6A, 0x11, 0x3E, 0x1D, 0x9A, 0x2C, 0xB7, + 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0xD0, 0x00, 0xF0, 0xD0, 0x4D, 0x06, 0x61, 0xFE, 0x9D, + 0x4B, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, + 0x84, 0x85, 0xD2, 0xF0, 0x2E, 0x0E, 0xD0, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x36, 0xFC, 0xD4, 0x62, + 0x95, 0x63, 0x84, 0x95, 0xF0, 0xD0, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, + 0x14, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xBE, 0x01, 0x30, 0x97, 0xF0, 0x2E, 0x0E, 0xD0, 0x72, + 0xB7, 0xAE, 0x01, 0x16, 0x9A, 0xFC, 0xBA, 0xB6, 0x81, 0xD0, 0xFA, 0xAD, 0x11, 0x2A, 0x00, 0x11, + 0x29, 0x00, 0x3B, 0x25, 0xB0, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x8E, 0x8C, 0xF4, 0x51, 0xAD, + 0x06, 0x12, 0x00, 0x00, 0x9B, 0xAA, 0x89, 0x8E, 0x8D, 0xF4, 0x4D, 0x01, 0xBD, 0x03, 0x9B, 0x66, + 0x89, 0x4D, 0x05, 0xBD, 0x03, 0x9B, 0x43, 0x89, 0x4D, 0x04, 0xBD, 0x03, 0x9B, 0x20, 0x89, 0x4D, + 0x03, 0xAD, 0x4A, 0x4D, 0x02, 0xAD, 0x03, 0x9B, 0xA7, 0x89, 0xA1, 0x00, 0x9E, 0x8F, 0xF4, 0xA1, + 0x3F, 0x9E, 0x88, 0xF4, 0x8E, 0x8B, 0xF4, 0x4D, 0x2C, 0x9D, 0x0A, 0x72, 0x16, 0x70, 0x10, 0xAA, + 0x9E, 0x94, 0xF4, 0xFA, 0x11, 0x8E, 0x8B, 0xF4, 0x4D, 0x47, 0x9D, 0x0A, 0x1D, 0x2C, 0x72, 0x16, + 0x52, 0x10, 0xAA, 0x9E, 0x94, 0xF4, 0x10, 0x70, 0x10, 0x03, 0x90, 0xF4, 0x9A, 0xB6, 0x84, 0x31, + 0x33, 0x25, 0x02, 0xFA, 0xFA, 0xA1, 0x03, 0x9E, 0x8C, 0xF4, 0x9B, 0xA7, 0x89, 0xA1, 0x01, 0x9E, + 0x8F, 0xF4, 0xA1, 0x3F, 0x9E, 0x88, 0xF4, 0x8E, 0x8B, 0xF4, 0x4D, 0x2C, 0x9D, 0x0A, 0x72, 0x16, + 0x70, 0x10, 0xAA, 0x9E, 0x94, 0xF4, 0xFA, 0x11, 0x8E, 0x8B, 0xF4, 0x4D, 0x47, 0x9D, 0x0A, 0x1D, + 0x2C, 0x72, 0x16, 0x52, 0x10, 0xAA, 0x9E, 0x94, 0xF4, 0x10, 0x52, 0x10, 0x03, 0x90, 0xF4, 0x9A, + 0xB6, 0x84, 0x31, 0x33, 0x25, 0x02, 0xFA, 0xFA, 0xA1, 0x03, 0x9E, 0x8C, 0xF4, 0x9B, 0xA7, 0x89, + 0xA1, 0x00, 0x9E, 0x8F, 0xF4, 0xA1, 0x3F, 0x9E, 0x88, 0xF4, 0x10, 0x70, 0x10, 0x03, 0x92, 0xF4, + 0x03, 0x90, 0xF4, 0x9A, 0xB6, 0x84, 0x31, 0x33, 0x25, 0x02, 0xFA, 0xFA, 0xA1, 0x03, 0x9E, 0x8C, + 0xF4, 0xFA, 0x64, 0xA1, 0x01, 0x9E, 0x8F, 0xF4, 0xA1, 0x3F, 0x9E, 0x88, 0xF4, 0x10, 0x52, 0x10, + 0x03, 0x92, 0xF4, 0x03, 0x90, 0xF4, 0x9A, 0xB6, 0x84, 0x31, 0x33, 0x25, 0x02, 0xFA, 0xFA, 0xA1, + 0x03, 0x9E, 0x8C, 0xF4, 0xFA, 0x41, 0xA1, 0x00, 0x9E, 0x96, 0xF4, 0x9E, 0x8F, 0xF4, 0xA1, 0x3F, + 0x9E, 0x88, 0xF4, 0x10, 0x70, 0x10, 0x03, 0x92, 0xF4, 0x03, 0x90, 0xF4, 0x9A, 0xB6, 0x84, 0x31, + 0x33, 0x25, 0x02, 0xFA, 0xFA, 0x9A, 0xAC, 0x89, 0xA1, 0x01, 0x9E, 0x8F, 0xF4, 0x10, 0x52, 0x10, + 0x03, 0x92, 0xF4, 0x03, 0x90, 0xF4, 0x9A, 0xB6, 0x84, 0x31, 0x33, 0x25, 0x02, 0xFA, 0xFA, 0x9A, + 0xAC, 0x89, 0xA1, 0x03, 0x9E, 0x8C, 0xF4, 0x12, 0x01, 0x00, 0xB6, 0xAF, 0xB7, 0x8E, 0x8F, 0xF4, + 0x4D, 0x00, 0xBD, 0x21, 0xA6, 0x00, 0x66, 0x4D, 0x2C, 0x9D, 0x3B, 0xA0, 0x02, 0x31, 0x88, 0xCA, + 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xEA, 0x10, 0x27, 0x9D, 0x06, 0x14, 0x96, 0xF4, 0x85, + 0x41, 0x95, 0x46, 0xFA, 0xE1, 0xA6, 0x00, 0x66, 0x4D, 0x1B, 0x9D, 0x1A, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x36, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xEA, 0x10, 0x27, 0x9D, 0x06, 0x14, 0x96, 0xF4, + 0x85, 0x41, 0x95, 0x46, 0xFA, 0xE1, 0x8E, 0x96, 0xF4, 0xA3, 0x00, 0x32, 0xB6, 0xAF, 0xB7, 0x89, + 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x11, 0xD0, 0x00, 0x11, 0xD1, 0x00, 0x11, 0xD2, + 0x00, 0x11, 0xD3, 0x00, 0x16, 0x00, 0x00, 0xC6, 0xEA, 0x00, 0xC0, 0x9D, 0x2D, 0x99, 0xD4, 0xD4, + 0x85, 0x7E, 0xD0, 0xF2, 0xD0, 0x89, 0xD4, 0x80, 0xD4, 0x85, 0x7E, 0xD1, 0xF2, 0xD1, 0x89, 0xD4, + 0x80, 0x80, 0xD4, 0x85, 0x7E, 0xD2, 0xF2, 0xD2, 0x89, 0xD4, 0xCA, 0x03, 0x00, 0xD4, 0x85, 0x7E, + 0xD3, 0xF2, 0xD3, 0xC6, 0xCA, 0x04, 0x00, 0xD6, 0xFA, 0xCD, 0xA1, 0x1F, 0x9E, 0x3E, 0xFD, 0xF0, + 0xD0, 0x9E, 0x3F, 0xFD, 0xF0, 0xD1, 0x9E, 0x40, 0xFD, 0xF0, 0xD2, 0x9E, 0x41, 0xFD, 0xF0, 0xD3, + 0x9E, 0x42, 0xFD, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0xA6, + 0x00, 0x66, 0x48, 0x15, 0xFD, 0x9D, 0x18, 0xC6, 0xA1, 0x00, 0xCA, 0xD9, 0xFC, 0xD4, 0x85, 0x72, + 0xA1, 0x13, 0x61, 0x0E, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x46, 0xFA, 0xE2, 0x14, + 0x75, 0xFD, 0x85, 0x6D, 0x02, 0x95, 0xB6, 0xAF, 0xB7, 0x30, 0x83, 0xDC, 0x30, 0x83, 0xDD, 0xB1, + 0x89, 0x1C, 0xD6, 0xAE, 0x06, 0x30, 0xAE, 0x07, 0xD6, 0xC6, 0xA2, 0x80, 0x31, 0x82, 0x60, 0x5D, + 0x7F, 0x72, 0x89, 0xDC, 0xD4, 0x62, 0x95, 0x66, 0x5D, 0x7F, 0xA0, 0x00, 0x72, 0x89, 0xDC, 0x80, + 0xD4, 0x62, 0x95, 0xB0, 0x99, 0xDC, 0xB6, 0xAF, 0xA1, 0xE0, 0x9E, 0xD9, 0xFC, 0x89, 0x7C, 0xA0, + 0x00, 0x70, 0x9E, 0xDA, 0xFC, 0xF0, 0x7C, 0x9E, 0xDB, 0xFC, 0x89, 0x5E, 0xA0, 0x00, 0x70, 0x9E, + 0xDC, 0xFC, 0xF0, 0x5E, 0x9E, 0xDD, 0xFC, 0x89, 0x66, 0xA0, 0x00, 0x70, 0x9E, 0xDE, 0xFC, 0xF0, + 0x66, 0x9E, 0xDF, 0xFC, 0x89, 0x78, 0xA0, 0x00, 0x70, 0x9E, 0xE0, 0xFC, 0xF0, 0x78, 0x9E, 0xE1, + 0xFC, 0x89, 0x7A, 0xA0, 0x00, 0x70, 0x9E, 0xE2, 0xFC, 0xF0, 0x7A, 0x9E, 0xE3, 0xFC, 0xA1, 0x0B, + 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0xAF, 0x0B, 0x24, 0x31, 0x63, 0x24, 0x07, 0xA1, 0xFF, 0x9E, 0xD9, + 0xFC, 0xFA, 0x05, 0xA1, 0xFE, 0x9E, 0xD9, 0xFC, 0x02, 0x6A, 0xFB, 0xA0, 0x00, 0x70, 0x9E, 0xDA, + 0xFC, 0x8E, 0x6A, 0xFB, 0x9E, 0xDB, 0xFC, 0x02, 0x6C, 0xFB, 0xA0, 0x00, 0x70, 0x9E, 0xDC, 0xFC, + 0x8E, 0x6C, 0xFB, 0x9E, 0xDD, 0xFC, 0x89, 0x7A, 0x24, 0x24, 0x24, 0x24, 0x5D, 0x0F, 0xA0, 0x00, + 0x70, 0x9E, 0xDE, 0xFC, 0x89, 0x7A, 0xA2, 0x10, 0x31, 0x82, 0x60, 0x9E, 0xDF, 0xFC, 0x8E, 0xD2, + 0xFC, 0x9E, 0xE0, 0xFC, 0x31, 0x33, 0x26, 0x0C, 0xF0, 0x2C, 0x9E, 0xE1, 0xFC, 0xF0, 0x2D, 0x9E, + 0xE2, 0xFC, 0xFA, 0x0A, 0xF0, 0x37, 0x9E, 0xE1, 0xFC, 0xF0, 0x38, 0x9E, 0xE2, 0xFC, 0xA1, 0x0F, + 0x1E, 0x30, 0x9E, 0xE3, 0xFC, 0xA1, 0x0F, 0x1E, 0x31, 0x9E, 0xE4, 0xFC, 0x02, 0x20, 0xFB, 0xA2, + 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0xE5, 0xFC, 0x02, 0x22, + 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0xE6, 0xFC, + 0x02, 0x24, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, + 0xE7, 0xFC, 0x02, 0x26, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, + 0x70, 0x9E, 0xE8, 0xFC, 0x02, 0x28, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, + 0xA0, 0x00, 0x70, 0x9E, 0xE9, 0xFC, 0x02, 0x2A, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, + 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0xEA, 0xFC, 0x02, 0x2C, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, + 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0xEB, 0xFC, 0x02, 0x2E, 0xFB, 0xA2, 0x02, 0x30, + 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0xEC, 0xFC, 0x02, 0x30, 0xFB, 0xA2, + 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0xED, 0xFC, 0x02, 0x32, + 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, 0xEE, 0xFC, + 0x02, 0x34, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, 0x70, 0x9E, + 0xEF, 0xFC, 0x02, 0x36, 0xFB, 0xA2, 0x02, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0xA0, 0x00, + 0x70, 0x9E, 0xF0, 0xFC, 0xA1, 0x18, 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0xAF, 0x8E, 0x16, 0xFD, 0x4D, + 0x66, 0xBD, 0x2A, 0x8E, 0x20, 0xFD, 0x4D, 0x05, 0xBD, 0x23, 0x8E, 0x17, 0xFD, 0x4D, 0x6C, 0xBD, + 0x1C, 0x8E, 0x18, 0xFD, 0x4D, 0x61, 0xBD, 0x15, 0x8E, 0x19, 0xFD, 0x4D, 0x73, 0xBD, 0x0E, 0x8E, + 0x1A, 0xFD, 0x4D, 0x68, 0xBD, 0x07, 0x14, 0xD7, 0xFC, 0x85, 0x6D, 0x01, 0x95, 0xAF, 0xB7, 0xA6, + 0x00, 0x66, 0x4D, 0x0A, 0x61, 0xFE, 0x9D, 0x0E, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x16, 0xFD, 0xD4, + 0xA1, 0x00, 0x95, 0x46, 0xFA, 0xEB, 0xA1, 0x00, 0x9E, 0x20, 0xFD, 0xA1, 0x0D, 0x9E, 0xD9, 0xFC, + 0xA1, 0x01, 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0xB6, 0xAF, 0xB7, 0xD6, 0x89, 0xD0, 0xB1, 0x89, 0xD2, + 0xB1, 0x66, 0x4D, 0xD8, 0xBD, 0x03, 0x9B, 0x47, 0x93, 0x4D, 0xD7, 0xBD, 0x03, 0x9B, 0xA9, 0x91, + 0x4D, 0xD6, 0xBD, 0x03, 0x9B, 0xA9, 0x91, 0x4D, 0xD5, 0xBD, 0x03, 0x9B, 0x9E, 0x91, 0x4D, 0xD4, + 0xBD, 0x03, 0x9B, 0x94, 0x91, 0x4D, 0xD3, 0xBD, 0x03, 0x9B, 0x83, 0x91, 0x4D, 0xD2, 0xBD, 0x03, + 0x9B, 0x72, 0x91, 0x4D, 0xD1, 0xBD, 0x03, 0x9B, 0x64, 0x91, 0x4D, 0xD0, 0xBD, 0x03, 0x9B, 0x57, + 0x91, 0x4D, 0xCF, 0xBD, 0x03, 0x9B, 0x4B, 0x91, 0x4D, 0xCE, 0xBD, 0x03, 0x9B, 0x34, 0x91, 0x4D, + 0xCD, 0xBD, 0x03, 0x9B, 0x1F, 0x91, 0x4D, 0xCC, 0xBD, 0x03, 0x9B, 0x0A, 0x91, 0x4D, 0xCB, 0xBD, + 0x03, 0x9B, 0xF0, 0x90, 0x4D, 0xCA, 0xBD, 0x03, 0x9B, 0xD6, 0x90, 0x4D, 0xC9, 0xBD, 0x03, 0x9B, + 0xBE, 0x90, 0x4D, 0xC8, 0xBD, 0x03, 0x9B, 0xB6, 0x90, 0x4D, 0x25, 0xBD, 0x03, 0x9B, 0x7C, 0x90, + 0x4D, 0x40, 0xBD, 0x03, 0x9B, 0x67, 0x90, 0x4D, 0x2F, 0xBD, 0x03, 0x9B, 0x52, 0x90, 0x4D, 0x5E, + 0xBD, 0x03, 0x9B, 0x09, 0x90, 0x4D, 0x2A, 0xBD, 0x03, 0x9B, 0xB6, 0x8F, 0x4D, 0x4E, 0xBD, 0x03, + 0x9B, 0xA6, 0x8F, 0x4D, 0x43, 0xBD, 0x03, 0x9B, 0x96, 0x8F, 0x4D, 0x2D, 0xBD, 0x03, 0x9B, 0x8A, + 0x8F, 0x4D, 0x2B, 0xBD, 0x03, 0x9B, 0x85, 0x8F, 0x4D, 0x33, 0xBD, 0x03, 0x9B, 0x71, 0x8F, 0x4D, + 0x32, 0xBD, 0x03, 0x9B, 0x5D, 0x8F, 0x4D, 0x31, 0xBD, 0x03, 0x9B, 0x49, 0x8F, 0x4D, 0x30, 0xBD, + 0x03, 0x9B, 0x16, 0x8F, 0x4D, 0x68, 0xBD, 0x03, 0x9B, 0xDC, 0x8E, 0x4D, 0x73, 0xBD, 0x03, 0x9B, + 0xA2, 0x8E, 0x4D, 0x61, 0xBD, 0x03, 0x9B, 0x68, 0x8E, 0x4D, 0x6C, 0xAD, 0x72, 0x4D, 0x66, 0xAD, + 0x3B, 0x4D, 0x63, 0xAD, 0x2D, 0x4D, 0x0A, 0xAD, 0x07, 0x4D, 0x0D, 0xAD, 0x03, 0x9B, 0x93, 0x93, + 0x9A, 0x6C, 0x8C, 0xA7, 0x00, 0x67, 0x4D, 0x0A, 0x61, 0xFE, 0x9D, 0x0E, 0x70, 0x27, 0x61, 0x31, + 0xCA, 0x16, 0xFD, 0xD4, 0xA1, 0x00, 0x95, 0x47, 0xFA, 0xEB, 0xA1, 0x00, 0x9E, 0x20, 0xFD, 0x9B, + 0xA8, 0x93, 0x14, 0x75, 0xFD, 0x85, 0x6D, 0x08, 0x95, 0x9B, 0xA8, 0x93, 0x8E, 0x20, 0xFD, 0x4D, + 0x00, 0xBD, 0x1F, 0xA1, 0x66, 0x9E, 0x16, 0xFD, 0xA1, 0x01, 0x9E, 0x20, 0xFD, 0x8E, 0x68, 0xFD, + 0x4D, 0x00, 0xBD, 0x18, 0xA1, 0x66, 0x9E, 0xD9, 0xFC, 0xA1, 0x01, 0x9E, 0x15, 0xFD, 0x5A, 0x24, + 0xFA, 0x0A, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x03, 0x9A, 0x9E, 0x8C, 0x9B, 0xA8, 0x93, 0x8E, + 0x20, 0xFD, 0x51, 0xBD, 0x26, 0x8E, 0x16, 0xFD, 0x4D, 0x66, 0xBD, 0x1F, 0xA1, 0x6C, 0x9E, 0x17, + 0xFD, 0xA1, 0x02, 0x9E, 0x20, 0xFD, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x18, 0xA1, 0x6C, 0x9E, + 0xD9, 0xFC, 0xA1, 0x01, 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0xFA, 0x0A, 0x8E, 0x68, 0xFD, 0x4D, 0x00, + 0xBD, 0x03, 0x9A, 0x9E, 0x8C, 0x9B, 0xA8, 0x93, 0x8E, 0x20, 0xFD, 0x4D, 0x02, 0xBD, 0x26, 0x8E, + 0x17, 0xFD, 0x4D, 0x6C, 0xBD, 0x1F, 0xA1, 0x61, 0x9E, 0x18, 0xFD, 0xA1, 0x03, 0x9E, 0x20, 0xFD, + 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x18, 0xA1, 0x61, 0x9E, 0xD9, 0xFC, 0xA1, 0x01, 0x9E, 0x15, + 0xFD, 0x5A, 0x24, 0xFA, 0x0A, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x03, 0x9A, 0x9E, 0x8C, 0x9B, + 0xA8, 0x93, 0x8E, 0x20, 0xFD, 0x4D, 0x03, 0xBD, 0x26, 0x8E, 0x18, 0xFD, 0x4D, 0x61, 0xBD, 0x1F, + 0xA1, 0x73, 0x9E, 0x19, 0xFD, 0xA1, 0x04, 0x9E, 0x20, 0xFD, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, + 0x18, 0xA1, 0x73, 0x9E, 0xD9, 0xFC, 0xA1, 0x01, 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0xFA, 0x0A, 0x8E, + 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x03, 0x9A, 0x9E, 0x8C, 0x9B, 0xA8, 0x93, 0x8E, 0x20, 0xFD, 0x4D, + 0x04, 0xBD, 0x26, 0x8E, 0x19, 0xFD, 0x4D, 0x73, 0xBD, 0x1F, 0xA1, 0x68, 0x9E, 0x1A, 0xFD, 0xA1, + 0x05, 0x9E, 0x20, 0xFD, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x18, 0xA1, 0x68, 0x9E, 0xD9, 0xFC, + 0xA1, 0x01, 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0xFA, 0x0A, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x03, + 0x9A, 0x9E, 0x8C, 0x9B, 0xA8, 0x93, 0xA1, 0x00, 0x9E, 0x8D, 0xF4, 0x8E, 0x68, 0xFD, 0x4D, 0x00, + 0xBD, 0x13, 0x0B, 0x24, 0x10, 0x1A, 0x06, 0x03, 0x68, 0xFB, 0x4A, 0x22, 0x14, 0x74, 0xFD, 0x85, + 0x5D, 0xF7, 0x95, 0xFA, 0x11, 0x0B, 0x24, 0x10, 0x1A, 0x06, 0x03, 0x68, 0xFB, 0x4A, 0x22, 0x14, + 0x74, 0xFD, 0x85, 0x5D, 0xF7, 0x95, 0x9B, 0xA8, 0x93, 0x10, 0xD5, 0x01, 0x03, 0x68, 0xFB, 0x0A, + 0x24, 0x4A, 0x22, 0x14, 0x74, 0xFD, 0x85, 0x5D, 0xF7, 0x95, 0x9B, 0xA8, 0x93, 0x10, 0x0C, 0x03, + 0x03, 0x68, 0xFB, 0x0A, 0x24, 0x4A, 0x22, 0x14, 0x74, 0xFD, 0x85, 0x5D, 0xF7, 0x95, 0x9B, 0xA8, + 0x93, 0x10, 0x1A, 0x06, 0x03, 0x68, 0xFB, 0x0A, 0x24, 0x4A, 0x22, 0x14, 0x74, 0xFD, 0x85, 0x5D, + 0xF7, 0x95, 0x9B, 0xA8, 0x93, 0x7A, 0x25, 0x9B, 0xA8, 0x93, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, + 0x02, 0x7B, 0x25, 0x9B, 0xA8, 0x93, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x04, 0x1B, 0x26, 0xFA, + 0x02, 0x1B, 0x26, 0x9B, 0xA8, 0x93, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x04, 0x1A, 0x26, 0xFA, + 0x02, 0x1A, 0x26, 0x9B, 0xA8, 0x93, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x42, 0x0B, 0x24, 0x6A, + 0x23, 0xA1, 0xC0, 0x9E, 0xD9, 0xFC, 0xA1, 0x2A, 0x9E, 0xDA, 0xFC, 0xA1, 0x62, 0x9E, 0xDB, 0xFC, + 0xA1, 0x1A, 0x9E, 0xDC, 0xFC, 0xA1, 0x70, 0x9E, 0xDD, 0xFC, 0xA1, 0x7F, 0x9E, 0xDE, 0xFC, 0xA1, + 0x07, 0x9E, 0xDF, 0xFC, 0xA1, 0x00, 0x9E, 0xE0, 0xFC, 0x9E, 0xE1, 0xFC, 0xA1, 0x02, 0x9E, 0xE2, + 0xFC, 0xA1, 0x2F, 0x9E, 0xE3, 0xFC, 0xA1, 0x0B, 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0xFA, 0x07, 0x14, + 0x75, 0xFD, 0x85, 0x6D, 0x01, 0x95, 0x9B, 0xA8, 0x93, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x3F, + 0x0B, 0x24, 0x6A, 0x23, 0xA1, 0xCF, 0x9E, 0xD9, 0xFC, 0xA1, 0x2C, 0x9E, 0xDA, 0xFC, 0xA1, 0x1B, + 0x9E, 0xDB, 0xFC, 0xA1, 0x03, 0x9E, 0xDC, 0xFC, 0xA1, 0x60, 0x9E, 0xDD, 0xFC, 0xA1, 0x01, 0x9E, + 0xDE, 0xFC, 0x51, 0x9E, 0xDF, 0xFC, 0xA1, 0x3D, 0x9E, 0xE0, 0xFC, 0xA1, 0x6E, 0x9E, 0xE1, 0xFC, + 0xA1, 0x00, 0x9E, 0xE2, 0xFC, 0x9E, 0xE3, 0xFC, 0xA1, 0x0B, 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0x9B, + 0xA8, 0x93, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x05, 0x9A, 0xC8, 0x8A, 0xFA, 0x06, 0x9A, 0xC8, + 0x8A, 0x9A, 0x6E, 0x8A, 0x9B, 0xA8, 0x93, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x05, 0x9A, 0x16, + 0x8B, 0xFA, 0x06, 0x9A, 0x16, 0x8B, 0x9A, 0x6E, 0x8A, 0x9B, 0xA8, 0x93, 0x8E, 0x68, 0xFD, 0x4D, + 0x00, 0xBD, 0x30, 0x0B, 0x24, 0x6A, 0x23, 0xA1, 0xC1, 0x9E, 0xD9, 0xFC, 0xA1, 0x00, 0x9E, 0xDA, + 0xFC, 0x9E, 0xDB, 0xFC, 0x9E, 0xDC, 0xFC, 0x9E, 0xDD, 0xFC, 0x9E, 0xDE, 0xFC, 0x9E, 0xDF, 0xFC, + 0x9E, 0xE0, 0xFC, 0x9E, 0xE1, 0xFC, 0x9E, 0xE2, 0xFC, 0x9E, 0xE3, 0xFC, 0xA1, 0x0B, 0x9E, 0x15, + 0xFD, 0x5A, 0x24, 0x9B, 0xA8, 0x93, 0xA1, 0x01, 0x9E, 0x8C, 0xF4, 0x9B, 0xA8, 0x93, 0xA1, 0x01, + 0x9E, 0x8D, 0xF4, 0xA1, 0x0F, 0x9E, 0x89, 0xF4, 0xA1, 0x01, 0x9E, 0x8A, 0xF4, 0x11, 0x32, 0x00, + 0x9E, 0x8C, 0xF4, 0x9B, 0xA8, 0x93, 0xA1, 0x02, 0x9E, 0x8D, 0xF4, 0xA1, 0x00, 0x9E, 0x8B, 0xF4, + 0xA1, 0x1F, 0x9E, 0x89, 0xF4, 0xA1, 0x01, 0x9E, 0x8A, 0xF4, 0x11, 0x32, 0x00, 0x9B, 0xA8, 0x93, + 0xA1, 0x03, 0x9E, 0x8D, 0xF4, 0xA1, 0x00, 0x9E, 0x8B, 0xF4, 0xA1, 0x1F, 0x9E, 0x89, 0xF4, 0xA1, + 0x01, 0x9E, 0x8A, 0xF4, 0x11, 0x32, 0x00, 0x9B, 0xA8, 0x93, 0xA1, 0x04, 0x9E, 0x8D, 0xF4, 0xA1, + 0x0F, 0x9E, 0x89, 0xF4, 0xA1, 0x01, 0x9E, 0x8A, 0xF4, 0x11, 0x32, 0x00, 0x9B, 0xA8, 0x93, 0xA1, + 0x05, 0x9E, 0x8D, 0xF4, 0xA1, 0x0F, 0x9E, 0x89, 0xF4, 0xA1, 0x01, 0x9E, 0x8A, 0xF4, 0x11, 0x32, + 0x00, 0x9B, 0xA8, 0x93, 0x14, 0x8B, 0xF4, 0x85, 0x41, 0x95, 0x4D, 0x46, 0x8D, 0x05, 0xAD, 0x03, + 0xA1, 0x00, 0x95, 0xA1, 0x01, 0x9E, 0x8C, 0xF4, 0x9B, 0xA8, 0x93, 0xA1, 0x00, 0x9E, 0x8B, 0xF4, + 0x41, 0x9E, 0x8C, 0xF4, 0x9B, 0xA8, 0x93, 0xA1, 0x2C, 0x9E, 0x8B, 0xF4, 0xA1, 0x01, 0x9E, 0x8C, + 0xF4, 0x9B, 0xA8, 0x93, 0x8E, 0x31, 0x5C, 0x9E, 0x8B, 0xF4, 0xA1, 0x01, 0x9E, 0x8C, 0xF4, 0x9B, + 0xA8, 0x93, 0x8E, 0x89, 0xF4, 0x4D, 0x70, 0x9D, 0x07, 0x14, 0x89, 0xF4, 0x85, 0x0D, 0x10, 0x95, + 0x9B, 0xA8, 0x93, 0xA1, 0x10, 0x48, 0x89, 0xF4, 0x9D, 0x07, 0x14, 0x89, 0xF4, 0x85, 0x1D, 0x10, + 0x95, 0x9B, 0xA8, 0x93, 0xC8, 0x32, 0x02, 0x9D, 0x02, 0x81, 0x32, 0x9B, 0xA8, 0x93, 0xA1, 0x00, + 0x4E, 0x32, 0x9D, 0x02, 0x91, 0x32, 0x9B, 0xA8, 0x93, 0x66, 0x4D, 0xD6, 0xBD, 0x0B, 0xA1, 0x00, + 0x9E, 0x95, 0xF4, 0xEE, 0xD2, 0x36, 0xFC, 0xFA, 0x09, 0xA1, 0x01, 0x9E, 0x95, 0xF4, 0xEE, 0xD2, + 0x9A, 0xFC, 0x0B, 0x24, 0x31, 0x63, 0x24, 0x07, 0xA1, 0xFF, 0x9E, 0xD9, 0xFC, 0xFA, 0x05, 0xA1, + 0xFE, 0x9E, 0xD9, 0xFC, 0x8E, 0x95, 0xF4, 0x9E, 0xDA, 0xFC, 0xF0, 0x32, 0x9E, 0xDB, 0xFC, 0x8E, + 0x89, 0xF4, 0x9E, 0xDC, 0xFC, 0x8E, 0x8A, 0xF4, 0x9E, 0xDD, 0xFC, 0x89, 0x7C, 0xA0, 0x00, 0x70, + 0x9E, 0xDE, 0xFC, 0xF0, 0x7C, 0x9E, 0xDF, 0xFC, 0x8E, 0x8D, 0xF4, 0x9E, 0xE0, 0xFC, 0x8E, 0x8B, + 0xF4, 0x9E, 0xE1, 0xFC, 0x8E, 0x8C, 0xF4, 0x9E, 0xE2, 0xFC, 0x8E, 0x8F, 0xF4, 0x9E, 0xE3, 0xFC, + 0x8E, 0x8E, 0xF4, 0x9E, 0xE4, 0xFC, 0x8E, 0x8F, 0xF4, 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0xAC, 0x92, + 0xA7, 0x00, 0x67, 0x4D, 0x0C, 0x61, 0xFE, 0x9D, 0x72, 0x61, 0x01, 0xF2, 0xD0, 0x8E, 0x8E, 0xF4, + 0x61, 0x0F, 0x4D, 0x2C, 0x8D, 0x1D, 0xA1, 0x0C, 0x0E, 0xD0, 0x72, 0xB7, 0xA1, 0x00, 0x16, 0xD9, + 0xFC, 0xBA, 0xB6, 0xA1, 0x0C, 0x0E, 0xD0, 0x41, 0x72, 0xB7, 0xA1, 0x00, 0x16, 0xD9, 0xFC, 0xBA, + 0xB6, 0xFA, 0x45, 0x8E, 0x8E, 0xF4, 0x61, 0x0F, 0xA0, 0x02, 0x31, 0x88, 0x30, 0x0E, 0xD2, 0x30, + 0x2E, 0xD3, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xA0, 0x00, 0x30, 0xA1, 0x0C, 0x0E, 0xD0, 0x30, 0x72, + 0x30, 0x73, 0xB7, 0x62, 0x16, 0xD9, 0xFC, 0xBB, 0xB6, 0x8E, 0x8E, 0xF4, 0x61, 0x0F, 0xA0, 0x02, + 0x31, 0x88, 0x30, 0x0E, 0xD2, 0x30, 0x2E, 0xD3, 0xD4, 0x85, 0x72, 0xA1, 0x0C, 0x0E, 0xD0, 0x41, + 0x73, 0xB7, 0x62, 0x16, 0xD9, 0xFC, 0xBB, 0xB6, 0x47, 0xFA, 0x87, 0x14, 0x8E, 0xF4, 0x85, 0x0D, + 0x0C, 0x95, 0x4D, 0x2C, 0x8D, 0x03, 0xA1, 0x00, 0x95, 0x9B, 0x35, 0x93, 0xA7, 0x00, 0x67, 0x4D, + 0x0C, 0x61, 0xFE, 0x9D, 0x72, 0x61, 0x01, 0xF2, 0xD0, 0x8E, 0x8E, 0xF4, 0x61, 0x0F, 0x4D, 0x1B, + 0x8D, 0x1D, 0xA1, 0x0C, 0x0E, 0xD0, 0x72, 0xB7, 0xA1, 0x00, 0x16, 0xD9, 0xFC, 0xBA, 0xB6, 0xA1, + 0x0C, 0x0E, 0xD0, 0x41, 0x72, 0xB7, 0xA1, 0x00, 0x16, 0xD9, 0xFC, 0xBA, 0xB6, 0xFA, 0x45, 0x8E, + 0x8E, 0xF4, 0x61, 0x0F, 0xA0, 0x02, 0x31, 0x88, 0x30, 0x0E, 0xD2, 0x30, 0x2E, 0xD3, 0xD4, 0x85, + 0x30, 0x84, 0x85, 0xA0, 0x00, 0x30, 0xA1, 0x0C, 0x0E, 0xD0, 0x30, 0x72, 0x30, 0x73, 0xB7, 0x62, + 0x16, 0xD9, 0xFC, 0xBB, 0xB6, 0x8E, 0x8E, 0xF4, 0x61, 0x0F, 0xA0, 0x02, 0x31, 0x88, 0x30, 0x0E, + 0xD2, 0x30, 0x2E, 0xD3, 0xD4, 0x85, 0x72, 0xA1, 0x0C, 0x0E, 0xD0, 0x41, 0x73, 0xB7, 0x62, 0x16, + 0xD9, 0xFC, 0xBB, 0xB6, 0x47, 0xFA, 0x87, 0x14, 0x8E, 0xF4, 0x85, 0x0D, 0x0C, 0x95, 0x4D, 0x1B, + 0x8D, 0x03, 0xA1, 0x00, 0x95, 0xA1, 0x24, 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0x8E, 0x68, 0xFD, 0x51, + 0xBD, 0x66, 0x9A, 0x6E, 0x8A, 0xFA, 0x61, 0x0B, 0x24, 0x8E, 0x8C, 0xF4, 0x4D, 0x03, 0xBD, 0x29, + 0x8E, 0x96, 0xF4, 0x4D, 0x00, 0xBD, 0x07, 0xA1, 0x01, 0x9E, 0xD9, 0xFC, 0xFA, 0x13, 0x8E, 0x96, + 0xF4, 0x4D, 0x47, 0xBD, 0x07, 0xA1, 0x03, 0x9E, 0xD9, 0xFC, 0xFA, 0x05, 0xA1, 0x02, 0x9E, 0xD9, + 0xFC, 0x8E, 0x96, 0xF4, 0x9E, 0xDA, 0xFC, 0xFA, 0x08, 0xA1, 0x00, 0x9E, 0xD9, 0xFC, 0x9E, 0xDA, + 0xFC, 0xA1, 0x02, 0x9E, 0x15, 0xFD, 0x5A, 0x24, 0x8E, 0x68, 0xFD, 0x51, 0xBD, 0x1A, 0x9A, 0x6E, + 0x8A, 0xFA, 0x15, 0x8E, 0x20, 0xFD, 0x4D, 0x0A, 0x9D, 0x08, 0x72, 0xB7, 0x66, 0x16, 0x16, 0xFD, + 0xBA, 0xB6, 0x14, 0x20, 0xFD, 0x85, 0x41, 0x95, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, + 0xB7, 0xC8, 0x40, 0x00, 0xAD, 0x21, 0x81, 0x41, 0xF0, 0x41, 0x51, 0x72, 0xB7, 0x16, 0x21, 0xFD, + 0xAA, 0xB6, 0x76, 0xF0, 0x40, 0x4E, 0x41, 0xBD, 0x06, 0x11, 0x40, 0x00, 0x11, 0x41, 0x00, 0x66, + 0x70, 0x27, 0x61, 0x31, 0x9A, 0xC9, 0x8C, 0xB6, 0xAF, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x05, + 0x9A, 0xE9, 0x93, 0xFA, 0x03, 0x9A, 0xF9, 0x94, 0xAF, 0xB7, 0x31, 0x73, 0x24, 0x05, 0x6A, 0x27, + 0x9B, 0xF7, 0x94, 0x6B, 0x27, 0x8C, 0x24, 0x03, 0x9B, 0xBC, 0x94, 0x31, 0x63, 0x24, 0x17, 0xC8, + 0x33, 0x00, 0xBD, 0x0F, 0xA1, 0xA0, 0x68, 0xD3, 0xFC, 0x9E, 0x2B, 0xFD, 0xD8, 0x24, 0xBD, 0x7B, + 0x27, 0xFA, 0x30, 0x9B, 0xF7, 0x94, 0x31, 0x73, 0x27, 0x1C, 0x31, 0x13, 0x24, 0x09, 0x8E, 0x6C, + 0xFD, 0x51, 0xAD, 0x1F, 0x9B, 0xF7, 0x94, 0x1A, 0x24, 0xA1, 0x80, 0x9E, 0x2B, 0xFD, 0x10, 0x00, + 0x00, 0x03, 0x6E, 0xFB, 0xFA, 0x0D, 0x7A, 0x27, 0xA1, 0xA0, 0x9E, 0x2B, 0xFD, 0x10, 0x00, 0x00, + 0x03, 0x6E, 0xFB, 0x02, 0x70, 0xFB, 0xA0, 0x00, 0x70, 0x61, 0xFC, 0x25, 0x5D, 0x7F, 0x9E, 0x2C, + 0xFD, 0x02, 0x70, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, 0x9E, 0x2D, 0xFD, 0x02, 0x72, + 0xFB, 0xA0, 0x00, 0x70, 0x61, 0xFC, 0x25, 0x5D, 0x7F, 0x9E, 0x2E, 0xFD, 0x02, 0x72, 0xFB, 0xA2, + 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, 0x9E, 0x2F, 0xFD, 0x8E, 0x6E, 0xFB, 0x5D, 0x7F, 0x9E, 0x30, + 0xFD, 0x8E, 0x70, 0xFB, 0x5D, 0x03, 0x24, 0x24, 0x24, 0x5D, 0xE0, 0x72, 0x8E, 0x72, 0xFB, 0x5D, + 0x03, 0x26, 0x26, 0x26, 0x5D, 0xF8, 0x61, 0x62, 0x02, 0x6E, 0xFB, 0x30, 0x61, 0x01, 0x30, 0x27, + 0x70, 0x27, 0x61, 0x31, 0x60, 0x5D, 0x07, 0x61, 0x6A, 0x9E, 0x31, 0xFD, 0xA1, 0x00, 0x9E, 0x32, + 0xFD, 0x9E, 0x33, 0xFD, 0x11, 0x42, 0x09, 0x9A, 0xA5, 0x75, 0xFA, 0x3B, 0x31, 0x53, 0x24, 0x37, + 0x5B, 0x24, 0xA6, 0x00, 0x66, 0x48, 0x15, 0xFD, 0x9D, 0x15, 0xC6, 0xA1, 0x00, 0xCA, 0xD9, 0xFC, + 0xD4, 0x85, 0x72, 0xC6, 0xA1, 0x00, 0xCA, 0x2B, 0xFD, 0xD4, 0x62, 0x95, 0x46, 0xFA, 0xE5, 0x8E, + 0x15, 0xFD, 0xF2, 0x42, 0x9A, 0xA5, 0x75, 0x31, 0x63, 0x23, 0x0C, 0x6B, 0x23, 0x10, 0xD5, 0x01, + 0x03, 0x68, 0xFB, 0x0A, 0x24, 0x4A, 0x22, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, + 0x89, 0xD4, 0xB1, 0x8E, 0x74, 0xFD, 0x26, 0x26, 0x31, 0x0F, 0x03, 0x9B, 0x51, 0x98, 0x8E, 0x74, + 0xFD, 0x61, 0xCC, 0xA1, 0x00, 0x27, 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0x51, 0x98, 0xEC, 0x24, 0x03, + 0x9B, 0x17, 0x96, 0xC8, 0x33, 0x00, 0xAD, 0x03, 0x9B, 0x11, 0x96, 0x14, 0x67, 0xFD, 0x85, 0x41, + 0x95, 0xA1, 0x0E, 0x48, 0x67, 0xFD, 0x9D, 0x03, 0xA1, 0x00, 0x95, 0x8E, 0x67, 0xFD, 0x9E, 0x2B, + 0xFD, 0x8E, 0x74, 0xFD, 0x24, 0x24, 0x24, 0x31, 0x0F, 0x16, 0x14, 0x74, 0xFD, 0x85, 0x5D, 0xF7, + 0x95, 0xA1, 0x00, 0x9E, 0x30, 0xFD, 0x9E, 0x31, 0xFD, 0x85, 0x6D, 0x10, 0x95, 0x9B, 0x0F, 0x96, + 0x8E, 0xD3, 0xFC, 0x77, 0x26, 0x26, 0x26, 0x26, 0x5D, 0xF0, 0x77, 0x14, 0x2B, 0xFD, 0x85, 0x6D, + 0x80, 0x95, 0x61, 0x6F, 0x95, 0x02, 0x70, 0xFB, 0xA0, 0x00, 0x70, 0x9E, 0x2C, 0xFD, 0x02, 0x70, + 0xFB, 0x5D, 0x00, 0x30, 0x9E, 0x2D, 0xFD, 0x02, 0x72, 0xFB, 0xA0, 0x00, 0x70, 0x9E, 0x2E, 0xFD, + 0x02, 0x72, 0xFB, 0x5D, 0x00, 0x30, 0x9E, 0x2F, 0xFD, 0x02, 0x6E, 0xFB, 0x70, 0x27, 0x61, 0x31, + 0x60, 0x5D, 0x07, 0x9E, 0x30, 0xFD, 0x8E, 0x6E, 0xFB, 0x70, 0x27, 0x61, 0x31, 0x5D, 0x00, 0x30, + 0x9E, 0x31, 0xFD, 0xD8, 0x24, 0xBD, 0x7B, 0x27, 0xA1, 0x03, 0x9E, 0x7C, 0xFD, 0xA6, 0x00, 0x66, + 0x4D, 0x04, 0x9D, 0x50, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x86, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, + 0xD2, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x00, 0xF4, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, + 0xA0, 0x02, 0x31, 0x88, 0xCA, 0xC6, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x66, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x40, 0xF4, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x02, 0x6A, 0xFB, 0x03, 0x80, + 0xF4, 0x02, 0x6C, 0xFB, 0x03, 0x82, 0xF4, 0xF0, 0x44, 0x9E, 0x84, 0xF4, 0x46, 0xFA, 0xB0, 0xFA, + 0x03, 0x9B, 0x51, 0x98, 0x9B, 0x4E, 0x98, 0x8E, 0x7C, 0xFD, 0x4D, 0x00, 0x61, 0xFE, 0x8D, 0x02, + 0xBD, 0x03, 0x9B, 0xD4, 0x97, 0x14, 0x74, 0xFD, 0x85, 0x6D, 0x08, 0x95, 0x10, 0x00, 0x00, 0x99, + 0xD0, 0x99, 0xD2, 0x76, 0x66, 0x4D, 0x04, 0x9D, 0x27, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x00, 0xF4, + 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, 0x99, 0xBA, 0x10, + 0x00, 0x00, 0x9A, 0x84, 0x65, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x46, 0xFA, 0xD4, + 0x8E, 0x84, 0xF4, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x00, 0xF4, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, + 0xBC, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x99, 0x65, 0x89, + 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x02, 0x80, 0xF4, 0x99, 0xBC, 0x89, 0xD0, 0x99, 0xB8, + 0x89, 0xD2, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x84, 0x65, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, + 0x99, 0xD0, 0x89, 0xD2, 0x99, 0xBA, 0xA1, 0x02, 0x9A, 0xD0, 0x65, 0x89, 0xB8, 0x99, 0xD4, 0x8E, + 0x84, 0xF4, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x00, 0xF4, 0xD4, 0x02, 0x80, 0xF4, 0x30, 0x95, 0x30, + 0x84, 0x95, 0x89, 0xD4, 0xEA, 0x7D, 0x02, 0x9D, 0x06, 0xEE, 0xD4, 0x00, 0x00, 0xFA, 0x13, 0x98, + 0xD4, 0x7D, 0xB8, 0xD5, 0x02, 0x89, 0xD4, 0xEA, 0x88, 0x55, 0x8D, 0x06, 0xAD, 0x04, 0xEE, 0xD4, + 0x88, 0x55, 0x89, 0xD4, 0xA0, 0x00, 0x70, 0x9E, 0x2C, 0xFD, 0x89, 0xD4, 0x5D, 0x00, 0x30, 0x9E, + 0x2D, 0xFD, 0x10, 0x00, 0x00, 0x99, 0xD0, 0x99, 0xD2, 0x76, 0x66, 0x4D, 0x04, 0x9D, 0x27, 0xA0, + 0x02, 0x31, 0x88, 0xCA, 0x40, 0xF4, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0xD0, 0x99, + 0xB8, 0x89, 0xD2, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x84, 0x65, 0x89, 0xBA, 0x99, 0xD2, 0x89, + 0xB8, 0x99, 0xD0, 0x46, 0xFA, 0xD4, 0x8E, 0x84, 0xF4, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x40, 0xF4, + 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, 0x99, 0xBA, 0x10, + 0x00, 0x00, 0x9A, 0x99, 0x65, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x02, 0x82, 0xF4, + 0x99, 0xBC, 0x89, 0xD0, 0x99, 0xB8, 0x89, 0xD2, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x84, 0x65, + 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x89, 0xD2, 0x99, 0xBA, 0xA1, 0x02, 0x9A, 0xD0, + 0x65, 0x89, 0xB8, 0x99, 0xD4, 0x8E, 0x84, 0xF4, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x40, 0xF4, 0xD4, + 0x02, 0x82, 0xF4, 0x30, 0x95, 0x30, 0x84, 0x95, 0x14, 0x84, 0xF4, 0x85, 0x41, 0x95, 0x4D, 0x04, + 0x8D, 0x03, 0xA1, 0x00, 0x95, 0x89, 0xD4, 0xEA, 0x58, 0x02, 0x9D, 0x06, 0xEE, 0xD4, 0x00, 0x00, + 0xFA, 0x13, 0x98, 0xD4, 0x58, 0xB8, 0xD5, 0x02, 0x89, 0xD4, 0xEA, 0xC0, 0x35, 0x8D, 0x06, 0xAD, + 0x04, 0xEE, 0xD4, 0xC0, 0x35, 0x89, 0xD4, 0xA0, 0x00, 0x70, 0x9E, 0x2E, 0xFD, 0x89, 0xD4, 0x5D, + 0x00, 0x30, 0x9E, 0x2F, 0xFD, 0x14, 0x7C, 0xFD, 0x85, 0x51, 0x95, 0x14, 0x2B, 0xFD, 0x85, 0x5D, + 0xF0, 0x95, 0xFA, 0x41, 0x31, 0x73, 0x27, 0x2B, 0x31, 0x13, 0x24, 0x0F, 0x8E, 0x6C, 0xFD, 0x51, + 0xBD, 0x6F, 0x14, 0x2B, 0xFD, 0x85, 0x5D, 0x70, 0x95, 0xFA, 0x2A, 0x1A, 0x24, 0x10, 0x00, 0x00, + 0x03, 0x6E, 0xFB, 0x14, 0x2B, 0xFD, 0x85, 0x5D, 0x70, 0x95, 0x14, 0x74, 0xFD, 0x85, 0x5D, 0xF7, + 0x95, 0xFA, 0x12, 0x7A, 0x27, 0x14, 0x2B, 0xFD, 0x85, 0x5D, 0x70, 0x95, 0x6D, 0x80, 0x95, 0x10, + 0x00, 0x00, 0x03, 0x6E, 0xFB, 0x14, 0x67, 0xFD, 0x85, 0x41, 0x95, 0xA1, 0x0E, 0x48, 0x67, 0xFD, + 0x9D, 0x03, 0xA1, 0x00, 0x95, 0x14, 0x2B, 0xFD, 0x85, 0x68, 0x67, 0xFD, 0x95, 0x02, 0x6E, 0xFB, + 0x70, 0x27, 0x61, 0x31, 0x60, 0x5D, 0x03, 0x9E, 0x30, 0xFD, 0x8E, 0x6E, 0xFB, 0x70, 0x27, 0x61, + 0x31, 0x5D, 0x00, 0x30, 0x9E, 0x31, 0xFD, 0x14, 0x74, 0xFD, 0x85, 0x6D, 0x10, 0x95, 0x9A, 0x07, + 0x9A, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0x8E, 0x68, 0xFD, 0x4D, + 0x00, 0xBD, 0x3D, 0x31, 0x73, 0x24, 0x02, 0xFA, 0x71, 0x31, 0x03, 0x24, 0x6D, 0xA1, 0x80, 0x9E, + 0x2B, 0xFD, 0xA1, 0x2A, 0x9E, 0x2C, 0xFD, 0xA1, 0x62, 0x9E, 0x2D, 0xFD, 0xA1, 0x1A, 0x9E, 0x2E, + 0xFD, 0xA1, 0x70, 0x9E, 0x2F, 0xFD, 0xA1, 0x00, 0x9E, 0x30, 0xFD, 0xA1, 0x28, 0x9E, 0x31, 0xFD, + 0xA1, 0x00, 0x9E, 0x32, 0xFD, 0x9E, 0x33, 0xFD, 0x11, 0x42, 0x09, 0x9A, 0xA5, 0x75, 0xFA, 0x3A, + 0xA1, 0x00, 0x9E, 0x7C, 0xFD, 0x14, 0x67, 0xFD, 0x85, 0x41, 0x95, 0xA1, 0x0E, 0x48, 0x67, 0xFD, + 0x9D, 0x03, 0xA1, 0x00, 0x95, 0x8E, 0x67, 0xFD, 0x9E, 0x2B, 0xFD, 0xA1, 0x55, 0x9E, 0x2C, 0xFD, + 0xA1, 0x89, 0x9E, 0x2D, 0xFD, 0xA1, 0x35, 0x9E, 0x2E, 0xFD, 0xA1, 0xC1, 0x9E, 0x2F, 0xFD, 0xA1, + 0x00, 0x9E, 0x30, 0xFD, 0x9E, 0x31, 0xFD, 0x9A, 0x07, 0x9A, 0xAF, 0x7B, 0x1E, 0x11, 0x00, 0x03, + 0x13, 0x20, 0xFC, 0x11, 0x0C, 0x00, 0x13, 0x2C, 0xF9, 0x31, 0x33, 0x0C, 0x07, 0xA1, 0x01, 0x9E, + 0x68, 0xFD, 0xFA, 0x05, 0xA1, 0x00, 0x9E, 0x68, 0xFD, 0xA1, 0x01, 0x9E, 0x68, 0xFD, 0x11, 0x02, + 0x00, 0x13, 0x22, 0xFF, 0x71, 0x1A, 0x24, 0x11, 0x04, 0x02, 0x13, 0x24, 0xFC, 0x11, 0x07, 0x00, + 0x13, 0x27, 0xF0, 0x11, 0x0D, 0x00, 0x11, 0x0E, 0x00, 0x13, 0x2E, 0xFE, 0x8E, 0x68, 0xFD, 0x51, + 0xBD, 0x4A, 0x11, 0x01, 0xE1, 0x13, 0x21, 0x12, 0x13, 0x58, 0x16, 0x11, 0x03, 0x00, 0x13, 0x23, + 0xFA, 0x11, 0x06, 0x00, 0x13, 0x26, 0xFF, 0x13, 0xA6, 0x00, 0x13, 0xAB, 0x01, 0x13, 0xA8, 0x00, + 0x13, 0xA9, 0x00, 0x13, 0xA9, 0x00, 0x13, 0xA8, 0x0C, 0x71, 0x0A, 0xAB, 0x71, 0x1B, 0xAB, 0x13, + 0xA7, 0xAC, 0x13, 0xA6, 0x9C, 0x71, 0x6B, 0xA6, 0x71, 0x0B, 0x26, 0x71, 0x1B, 0x26, 0x71, 0x2B, + 0x26, 0x13, 0xEB, 0xFE, 0x71, 0x0B, 0xE3, 0x71, 0x0B, 0xE7, 0xFA, 0x42, 0x11, 0x01, 0xE9, 0x13, + 0x21, 0x12, 0x11, 0x03, 0x00, 0x13, 0x23, 0xFA, 0x11, 0x06, 0x00, 0x13, 0x26, 0xF0, 0x71, 0x6B, + 0x50, 0x71, 0x5B, 0x50, 0x71, 0x7B, 0x50, 0x13, 0x56, 0x01, 0x13, 0x57, 0xD0, 0x13, 0x50, 0x04, + 0x13, 0x58, 0x02, 0x71, 0x7A, 0x50, 0x71, 0x6A, 0x50, 0x71, 0x5A, 0x50, 0x71, 0x7B, 0xE4, 0x71, + 0x0B, 0xE5, 0x71, 0x1B, 0xE5, 0x71, 0x7B, 0xE8, 0x71, 0x0A, 0xE9, 0x71, 0x1B, 0xE9, 0x13, 0x81, + 0x02, 0x13, 0x80, 0x50, 0x71, 0x7A, 0x80, 0x13, 0xBA, 0x00, 0x13, 0xBB, 0x02, 0x13, 0xBC, 0x00, + 0xEE, 0x12, 0x84, 0x1E, 0x13, 0x6B, 0x00, 0x13, 0x6A, 0x06, 0x11, 0x17, 0x3E, 0x13, 0x40, 0x01, + 0x71, 0x4A, 0x40, 0xFE, 0xE0, 0x00, 0x00, 0xFE, 0xE2, 0x00, 0x00, 0x71, 0x1B, 0xE4, 0x71, 0x2B, + 0xE5, 0x71, 0x6B, 0xE5, 0x71, 0x1B, 0xE8, 0x71, 0x2A, 0xE8, 0x71, 0x3A, 0xE8, 0x71, 0x2B, 0xE9, + 0x71, 0x6B, 0xE9, 0x13, 0x48, 0x01, 0x13, 0x49, 0x00, 0xAF, 0xAF, 0x7A, 0x1E, 0xAF, 0x7B, 0x1E, + 0xAF, 0x71, 0x10, 0xAF, 0x71, 0x00, 0xAF, 0x71, 0x3B, 0x21, 0x71, 0x0B, 0x58, 0x3A, 0x01, 0xAF, + 0x71, 0x3B, 0x21, 0x71, 0x0B, 0x58, 0x3B, 0x01, 0xAF, 0x1B, 0x04, 0xAF, 0x1A, 0x04, 0xAF, 0x4A, + 0x0C, 0xAF, 0x4B, 0x0C, 0xAF, 0x3A, 0x0C, 0xAF, 0x3B, 0x0C, 0xAF, 0x0A, 0x06, 0xAF, 0x0B, 0x06, + 0xAF, 0x1A, 0x06, 0xAF, 0x1B, 0x06, 0xAF, 0x71, 0x0A, 0x23, 0xAF, 0xA1, 0x00, 0x8C, 0x03, 0x01, + 0x41, 0x70, 0x27, 0x61, 0x31, 0xD2, 0xAF, 0x71, 0x0A, 0x23, 0xA1, 0x00, 0x71, 0x04, 0x03, 0x27, + 0xA3, 0x00, 0x32, 0xAF, 0x71, 0x2A, 0xE4, 0x71, 0x0B, 0x23, 0xAF, 0x0B, 0x03, 0xAF, 0xB7, 0xA1, + 0x00, 0x9E, 0x74, 0xFD, 0x9E, 0x67, 0xFD, 0x76, 0x66, 0x4D, 0x07, 0x9D, 0x0D, 0xC6, 0xA1, 0x00, + 0xCA, 0x2B, 0xFD, 0xD4, 0xA1, 0x00, 0x95, 0x46, 0xFA, 0xEE, 0xA1, 0x0F, 0x9E, 0x32, 0xFD, 0xA1, + 0x55, 0x9E, 0x33, 0xFD, 0xA1, 0x88, 0x9E, 0x34, 0xFD, 0xA1, 0x35, 0x9E, 0x35, 0xFD, 0xA1, 0xC0, + 0x9E, 0x36, 0xFD, 0xA1, 0x03, 0x9E, 0x37, 0xFD, 0xA1, 0xFF, 0x9E, 0x38, 0xFD, 0xA1, 0x02, 0x9E, + 0x39, 0xFD, 0xA1, 0x2F, 0x9E, 0x3A, 0xFD, 0xA1, 0x00, 0x9E, 0x3B, 0xFD, 0x9E, 0x3C, 0xFD, 0x9E, + 0x3D, 0xFD, 0x9E, 0x75, 0xFD, 0x9E, 0x76, 0xFD, 0xF2, 0x22, 0xF2, 0x23, 0xF2, 0x25, 0xF2, 0x26, + 0xF2, 0x32, 0xF2, 0x29, 0xF2, 0x20, 0xF2, 0x21, 0xF2, 0x44, 0x9E, 0xD5, 0xFC, 0x9E, 0xD6, 0xFC, + 0x11, 0x30, 0x0D, 0x11, 0x31, 0x0D, 0x10, 0xD5, 0x01, 0x03, 0x68, 0xFB, 0x11, 0x24, 0x00, 0x11, + 0x27, 0x00, 0xE8, 0x24, 0x03, 0x7A, 0x27, 0x6B, 0x27, 0x11, 0x3E, 0x00, 0x11, 0x40, 0x00, 0x11, + 0x41, 0x00, 0x11, 0x42, 0x00, 0x11, 0x43, 0x00, 0x10, 0xA0, 0x8B, 0x03, 0x84, 0xFB, 0xA1, 0x00, + 0x9E, 0xD7, 0xFC, 0x9E, 0x20, 0xFD, 0x9E, 0xD0, 0xFC, 0x9E, 0xD1, 0xFC, 0x9E, 0x77, 0xFD, 0x9E, + 0x88, 0xF4, 0xA1, 0x0F, 0x9E, 0x89, 0xF4, 0xA1, 0x01, 0x9E, 0x8A, 0xF4, 0x51, 0x9E, 0x8B, 0xF4, + 0x9E, 0x8C, 0xF4, 0x9E, 0x8D, 0xF4, 0x9E, 0x8B, 0xF4, 0x9E, 0x8E, 0xF4, 0x9E, 0x8F, 0xF4, 0x9E, + 0x95, 0xF4, 0xB6, 0xAF, 0xB7, 0x7A, 0x01, 0x6A, 0x01, 0x5A, 0x01, 0x0B, 0x00, 0x1A, 0x00, 0xA6, 0x00, 0x66, 0x4D, 0xFF, 0x9D, 0x03, 0x46, 0xFA, 0xF8, 0x5B, 0x01, 0xA6, 0x00, 0x66, 0x4D, 0xFF, 0x9D, 0x03, 0x46, 0xFA, 0xF8, 0x5A, 0x01, 0x11, 0x29, 0x80, 0x11, 0x46, 0x01, 0x11, 0x47, 0x7F, - 0x11, 0x48, 0x12, 0x11, 0x3E, 0x03, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xB6, + 0x11, 0x48, 0x12, 0x11, 0x3E, 0x03, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xB6, 0xAF, 0xB1, 0xB3, 0xB5, 0xB7, 0x14, 0xB8, 0xFE, 0xA2, 0x0C, 0x85, 0x84, 0x30, 0x85, 0x84, 0xB1, - 0x8A, 0xF8, 0xB7, 0x31, 0x16, 0xAA, 0x03, 0x9B, 0xFA, 0x89, 0x31, 0x46, 0xAA, 0x03, 0x9B, 0xF7, - 0x89, 0x14, 0xAA, 0xFD, 0x85, 0x6D, 0x20, 0x95, 0xA1, 0x00, 0x71, 0x3C, 0xAA, 0x27, 0x24, 0x5D, - 0x80, 0x70, 0x85, 0x5D, 0x7F, 0x61, 0x68, 0x95, 0x85, 0x26, 0x31, 0x0E, 0x03, 0x9B, 0xF4, 0x89, - 0x31, 0x03, 0x24, 0x33, 0x8E, 0xAB, 0xFD, 0x31, 0x0F, 0x0D, 0x11, 0x43, 0x07, 0x11, 0x42, 0x10, - 0xA1, 0x01, 0x9E, 0xAC, 0xFD, 0xFA, 0x55, 0x8E, 0xAB, 0xFD, 0x31, 0x2F, 0x0D, 0x11, 0x43, 0x13, - 0x11, 0x42, 0x18, 0xA1, 0x04, 0x9E, 0xAC, 0xFD, 0xFA, 0x42, 0x11, 0x43, 0x00, 0x11, 0x42, 0x07, - 0xA1, 0x00, 0x9E, 0xAC, 0xFD, 0xFA, 0x35, 0x8E, 0xAB, 0xFD, 0x31, 0x1F, 0x11, 0x11, 0x43, 0x13, - 0xA1, 0x13, 0x08, 0x47, 0xFD, 0xF2, 0x42, 0xA1, 0x02, 0x9E, 0xAC, 0xFD, 0xFA, 0x1E, 0x8E, 0xAB, - 0xFD, 0x31, 0x0F, 0x0D, 0x11, 0x43, 0x07, 0x11, 0x42, 0x10, 0xA1, 0x01, 0x9E, 0xAC, 0xFD, 0xFA, - 0x0B, 0x11, 0x43, 0x00, 0x11, 0x42, 0x07, 0xA1, 0x00, 0x9E, 0xAC, 0xFD, 0x14, 0xAA, 0xFD, 0x85, - 0x6D, 0x40, 0x95, 0x81, 0x43, 0xF0, 0x43, 0x51, 0x72, 0x16, 0x5D, 0xFD, 0xAA, 0xF6, 0xA5, 0x9A, - 0xF6, 0x87, 0xFA, 0x03, 0x71, 0x5A, 0xA6, 0x9B, 0xC2, 0x8A, 0x31, 0x07, 0xAA, 0x30, 0x14, 0xAA, + 0x8A, 0xF8, 0xB7, 0x31, 0x16, 0xAA, 0x03, 0x9B, 0x3A, 0x9C, 0x31, 0x46, 0xAA, 0x03, 0x9B, 0x37, + 0x9C, 0x14, 0x74, 0xFD, 0x85, 0x6D, 0x20, 0x95, 0xA1, 0x00, 0x71, 0x3C, 0xAA, 0x27, 0x24, 0x5D, + 0x80, 0x70, 0x85, 0x5D, 0x7F, 0x61, 0x68, 0x95, 0x85, 0x26, 0x31, 0x0E, 0x03, 0x9B, 0x34, 0x9C, + 0x31, 0x03, 0x24, 0x33, 0x8E, 0x75, 0xFD, 0x31, 0x0F, 0x0D, 0x11, 0x43, 0x07, 0x11, 0x42, 0x10, + 0xA1, 0x01, 0x9E, 0x76, 0xFD, 0xFA, 0x55, 0x8E, 0x75, 0xFD, 0x31, 0x2F, 0x0D, 0x11, 0x43, 0x13, + 0x11, 0x42, 0x18, 0xA1, 0x04, 0x9E, 0x76, 0xFD, 0xFA, 0x42, 0x11, 0x43, 0x00, 0x11, 0x42, 0x07, + 0xA1, 0x00, 0x9E, 0x76, 0xFD, 0xFA, 0x35, 0x8E, 0x75, 0xFD, 0x31, 0x1F, 0x11, 0x11, 0x43, 0x13, + 0xA1, 0x13, 0x08, 0x15, 0xFD, 0xF2, 0x42, 0xA1, 0x02, 0x9E, 0x76, 0xFD, 0xFA, 0x1E, 0x8E, 0x75, + 0xFD, 0x31, 0x0F, 0x0D, 0x11, 0x43, 0x07, 0x11, 0x42, 0x10, 0xA1, 0x01, 0x9E, 0x76, 0xFD, 0xFA, + 0x0B, 0x11, 0x43, 0x00, 0x11, 0x42, 0x07, 0xA1, 0x00, 0x9E, 0x76, 0xFD, 0x14, 0x74, 0xFD, 0x85, + 0x6D, 0x40, 0x95, 0x81, 0x43, 0xF0, 0x43, 0x51, 0x72, 0x16, 0x2B, 0xFD, 0xAA, 0xF6, 0xA5, 0x9A, + 0x10, 0x9A, 0xFA, 0x03, 0x71, 0x5A, 0xA6, 0x9B, 0x02, 0x9D, 0x31, 0x07, 0xAA, 0x30, 0x14, 0x74, 0xFD, 0x85, 0x5D, 0xDF, 0x95, 0x26, 0x31, 0x0F, 0x22, 0x85, 0x26, 0x26, 0x31, 0x0F, 0x1C, 0x8E, - 0xAC, 0xFD, 0x7D, 0xFF, 0x58, 0xAB, 0xFD, 0x9E, 0xAB, 0xFD, 0x85, 0x5D, 0xBF, 0x95, 0x61, 0xCC, - 0xA1, 0x00, 0x27, 0x4D, 0x00, 0xAD, 0x04, 0x85, 0x5D, 0xEF, 0x95, 0x9B, 0xC2, 0x8A, 0x8E, 0xAA, + 0x76, 0xFD, 0x7D, 0xFF, 0x58, 0x75, 0xFD, 0x9E, 0x75, 0xFD, 0x85, 0x5D, 0xBF, 0x95, 0x61, 0xCC, + 0xA1, 0x00, 0x27, 0x4D, 0x00, 0xAD, 0x04, 0x85, 0x5D, 0xEF, 0x95, 0x9B, 0x02, 0x9D, 0x8E, 0x74, 0xFD, 0x26, 0x31, 0x0F, 0x70, 0x31, 0x27, 0xAA, 0x40, 0xF0, 0x43, 0x4E, 0x42, 0x9D, 0x0E, 0x81, - 0x43, 0xF0, 0x43, 0x51, 0x72, 0x16, 0x5D, 0xFD, 0xAA, 0xF6, 0xA5, 0xFA, 0x56, 0x8E, 0xAA, 0xFD, - 0x26, 0x26, 0x31, 0x0F, 0x1F, 0x8E, 0xAC, 0xFD, 0x7D, 0xFF, 0x58, 0xAB, 0xFD, 0x9E, 0xAB, 0xFD, - 0x14, 0xAA, 0xFD, 0x85, 0x5D, 0xBF, 0x95, 0x61, 0xCC, 0xA1, 0x00, 0x27, 0x4D, 0x00, 0xAD, 0x04, - 0x85, 0x5D, 0xEF, 0x95, 0x13, 0xA5, 0xFF, 0xFA, 0x49, 0x8E, 0xAA, 0xFD, 0x26, 0x26, 0x31, 0x0F, - 0x1F, 0x8E, 0xAC, 0xFD, 0x7D, 0xFF, 0x58, 0xAB, 0xFD, 0x9E, 0xAB, 0xFD, 0x14, 0xAA, 0xFD, 0x85, + 0x43, 0xF0, 0x43, 0x51, 0x72, 0x16, 0x2B, 0xFD, 0xAA, 0xF6, 0xA5, 0xFA, 0x56, 0x8E, 0x74, 0xFD, + 0x26, 0x26, 0x31, 0x0F, 0x1F, 0x8E, 0x76, 0xFD, 0x7D, 0xFF, 0x58, 0x75, 0xFD, 0x9E, 0x75, 0xFD, + 0x14, 0x74, 0xFD, 0x85, 0x5D, 0xBF, 0x95, 0x61, 0xCC, 0xA1, 0x00, 0x27, 0x4D, 0x00, 0xAD, 0x04, + 0x85, 0x5D, 0xEF, 0x95, 0x13, 0xA5, 0xFF, 0xFA, 0x49, 0x8E, 0x74, 0xFD, 0x26, 0x26, 0x31, 0x0F, + 0x1F, 0x8E, 0x76, 0xFD, 0x7D, 0xFF, 0x58, 0x75, 0xFD, 0x9E, 0x75, 0xFD, 0x14, 0x74, 0xFD, 0x85, 0x5D, 0xBF, 0x95, 0x61, 0xCC, 0xA1, 0x00, 0x27, 0x4D, 0x00, 0xAD, 0x04, 0x85, 0x5D, 0xEF, 0x95, 0x71, 0x5A, 0xA6, 0xFA, 0x1D, 0xA6, 0x00, 0xF4, 0xA5, 0x76, 0x71, 0x5A, 0xA6, 0x71, 0x2A, 0xA6, - 0xC8, 0x40, 0x0A, 0x9D, 0x0D, 0x81, 0x40, 0xF0, 0x40, 0x51, 0x72, 0xB7, 0x66, 0x16, 0x53, 0xFD, + 0xC8, 0x40, 0x0A, 0x9D, 0x0D, 0x81, 0x40, 0xF0, 0x40, 0x51, 0x72, 0xB7, 0x66, 0x16, 0x21, 0xFD, 0xBA, 0xB6, 0xB6, 0x14, 0xD0, 0xFE, 0xA2, 0x0C, 0xB0, 0x94, 0x95, 0x30, 0x94, 0x95, 0x8A, 0xF8, 0xB6, 0xB4, 0xB2, 0xB0, 0x8F, 0x8F, 0xB1, 0xB3, 0xB5, 0xB7, 0x14, 0xB8, 0xFE, 0xA2, 0x0D, 0x85, 0x84, 0x30, 0x85, 0x84, 0xB1, 0x8A, 0xF8, 0xB7, 0xA1, 0x00, 0x71, 0x6C, 0xE5, 0x27, 0x77, 0xA1, 0x00, 0x71, 0x0C, 0xE7, 0x27, 0xF2, 0xD0, 0x71, 0x1A, 0xE4, 0x71, 0x6A, 0xE5, 0x71, 0x0A, 0xE7, - 0x7A, 0x1E, 0xF0, 0x29, 0x4D, 0x80, 0xAD, 0x35, 0x4D, 0x40, 0xAD, 0x2C, 0x4D, 0x20, 0xAD, 0x23, - 0x4D, 0x10, 0xAD, 0x1A, 0x4D, 0x03, 0xAD, 0x11, 0x4D, 0x02, 0xAD, 0x08, 0x51, 0xBD, 0x20, 0x9A, - 0x67, 0x93, 0xFA, 0x1B, 0x9A, 0xB9, 0x93, 0xFA, 0x16, 0x9A, 0x4E, 0x94, 0xFA, 0x11, 0x9A, 0x5A, - 0x70, 0xFA, 0x0C, 0x9A, 0x09, 0x6E, 0xFA, 0x07, 0x9A, 0xFD, 0x71, 0xFA, 0x02, 0x7B, 0x29, 0x7B, - 0x1E, 0x71, 0x04, 0xD0, 0x71, 0x09, 0xE7, 0x67, 0x25, 0x71, 0x69, 0xE5, 0x71, 0x1B, 0xE4, 0xB6, - 0x14, 0xD2, 0xFE, 0xA2, 0x0D, 0xB0, 0x94, 0x95, 0x30, 0x94, 0x95, 0x8A, 0xF8, 0xB6, 0xB4, 0xB2, - 0xB0, 0x8F, 0x8F, 0x31, 0x33, 0x03, 0x04, 0x4A, 0x25, 0xFA, 0x09, 0xBC, 0x03, 0x06, 0x31, 0x43, - 0x25, 0x02, 0x4B, 0x25, 0x8F, 0xB1, 0xB5, 0xB7, 0xA1, 0x00, 0x71, 0x0C, 0xE7, 0x27, 0x77, 0x71, - 0x6A, 0xE5, 0x71, 0x0A, 0xE7, 0x7A, 0x1E, 0x31, 0x53, 0x22, 0x1D, 0x8E, 0x02, 0xFD, 0x4D, 0x00, - 0xBD, 0x07, 0x9E, 0x03, 0xFD, 0x6B, 0x01, 0xFA, 0x11, 0x8E, 0x03, 0xFD, 0x4D, 0xFF, 0x9D, 0x0A, - 0x14, 0x03, 0xFD, 0x85, 0x41, 0x95, 0xFA, 0x02, 0x7A, 0x22, 0x7B, 0x1E, 0x67, 0x25, 0x71, 0x09, - 0xE7, 0x71, 0x6B, 0xE5, 0xB6, 0xB4, 0xB0, 0x8F, 0xB1, 0xB5, 0x8E, 0x0A, 0xFD, 0x4D, 0xFF, 0x9D, - 0x06, 0x14, 0x0A, 0xFD, 0x85, 0x41, 0x95, 0xB4, 0xB0, 0x8F, 0xB1, 0xB3, 0xB7, 0x71, 0x7A, 0xE4, - 0x7A, 0x1E, 0xF4, 0x53, 0x76, 0xF0, 0x0A, 0x76, 0xC8, 0x40, 0x09, 0x9D, 0x0E, 0x81, 0x40, 0xF0, - 0x40, 0x51, 0x72, 0xB7, 0xA1, 0x2A, 0x16, 0x53, 0xFD, 0xBA, 0xB6, 0x7B, 0x1E, 0x71, 0x7B, 0xE4, - 0xB6, 0xB2, 0xB0, 0x8F, 0xB1, 0xB3, 0xB7, 0xA1, 0x00, 0x71, 0x7C, 0xE4, 0x27, 0x77, 0x71, 0x7A, - 0xE4, 0x71, 0x0A, 0xE5, 0x7A, 0x1E, 0xF4, 0x53, 0x76, 0xF0, 0x0A, 0x76, 0xC8, 0x40, 0x09, 0x9D, - 0x0D, 0x81, 0x40, 0xF0, 0x40, 0x51, 0x72, 0xB7, 0x66, 0x16, 0x53, 0xFD, 0xBA, 0xB6, 0x7B, 0x1E, - 0x67, 0x25, 0x71, 0x79, 0xE4, 0x71, 0x0B, 0xE5, 0xB6, 0xB2, 0xB0, 0x8F, 0xB1, 0xB3, 0xB7, 0x71, - 0x1A, 0xE5, 0x7A, 0x1E, 0xF0, 0x43, 0x4E, 0x42, 0x9D, 0x0E, 0x81, 0x43, 0xF0, 0x43, 0x51, 0x72, - 0x16, 0x5D, 0xFD, 0xAA, 0xF2, 0x0B, 0xFA, 0x08, 0x11, 0x43, 0x00, 0x11, 0x42, 0x00, 0x7B, 0x24, - 0x7B, 0x1E, 0x71, 0x1B, 0xE5, 0xB6, 0xB2, 0xB0, 0x8F, 0xB1, 0xB3, 0xB7, 0xF0, 0x3F, 0x72, 0xB7, - 0xF0, 0x0F, 0x16, 0x03, 0xFB, 0xBA, 0xB6, 0x81, 0x3F, 0xF0, 0x3F, 0x4E, 0x3E, 0x9D, 0x0B, 0x72, - 0xB7, 0x16, 0x46, 0xFE, 0xAA, 0xB6, 0xF6, 0x84, 0xFA, 0x05, 0x11, 0x3E, 0x00, 0x7B, 0x23, 0xB6, - 0xB2, 0xB0, 0x8F, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, - 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xF0, 0x3D, 0x1D, 0x03, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x2F, - 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x2C, 0x30, 0x2D, 0x00, 0x99, 0xD0, 0xEE, 0x68, 0x00, 0x00, 0xC8, - 0x2C, 0x00, 0xBD, 0x03, 0x9A, 0xD9, 0x99, 0xC8, 0x2C, 0x2C, 0xBD, 0x03, 0x9A, 0x17, 0x9A, 0x31, - 0x13, 0x26, 0x5E, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x9D, 0x53, 0xF0, 0xD2, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x50, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD6, 0xF0, 0x2C, 0x0E, 0xD2, 0x4D, - 0x03, 0x8D, 0x0A, 0xF0, 0x2C, 0x0E, 0xD2, 0x4D, 0x2E, 0x8D, 0x0B, 0xAD, 0x09, 0x89, 0xD6, 0x21, - 0x25, 0x30, 0x25, 0x30, 0x99, 0xD6, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, + 0x7A, 0x1E, 0xF0, 0x29, 0x4D, 0x80, 0xAD, 0x3E, 0x4D, 0x60, 0xAD, 0x35, 0x4D, 0x40, 0xAD, 0x2C, + 0x4D, 0x20, 0xAD, 0x23, 0x4D, 0x10, 0xAD, 0x1A, 0x4D, 0x03, 0xAD, 0x11, 0x4D, 0x02, 0xAD, 0x08, + 0x51, 0xBD, 0x25, 0x9A, 0x9F, 0xA5, 0xFA, 0x20, 0x9A, 0xF1, 0xA5, 0xFA, 0x1B, 0x9A, 0x86, 0xA6, + 0xFA, 0x16, 0x9A, 0xE7, 0x79, 0xFA, 0x11, 0x9A, 0x76, 0x77, 0xFA, 0x0C, 0x9A, 0x8A, 0x7B, 0xFA, + 0x07, 0x9A, 0x58, 0x85, 0xFA, 0x02, 0x7B, 0x29, 0x7B, 0x1E, 0x71, 0x04, 0xD0, 0x71, 0x09, 0xE7, + 0x67, 0x25, 0x71, 0x69, 0xE5, 0x71, 0x1B, 0xE4, 0xB6, 0x14, 0xD2, 0xFE, 0xA2, 0x0D, 0xB0, 0x94, + 0x95, 0x30, 0x94, 0x95, 0x8A, 0xF8, 0xB6, 0xB4, 0xB2, 0xB0, 0x8F, 0x8F, 0x31, 0x33, 0x03, 0x04, + 0x4A, 0x25, 0xFA, 0x09, 0xBC, 0x03, 0x06, 0x31, 0x43, 0x25, 0x02, 0x4B, 0x25, 0x8F, 0xB1, 0xB5, + 0xB7, 0xA1, 0x00, 0x71, 0x0C, 0xE7, 0x27, 0x77, 0x71, 0x6A, 0xE5, 0x71, 0x0A, 0xE7, 0x7A, 0x1E, + 0x31, 0x53, 0x22, 0x1D, 0x8E, 0xD0, 0xFC, 0x4D, 0x00, 0xBD, 0x07, 0x9E, 0xD1, 0xFC, 0x6B, 0x01, + 0xFA, 0x11, 0x8E, 0xD1, 0xFC, 0x4D, 0xFF, 0x9D, 0x0A, 0x14, 0xD1, 0xFC, 0x85, 0x41, 0x95, 0xFA, + 0x02, 0x7A, 0x22, 0x7B, 0x1E, 0x67, 0x25, 0x71, 0x09, 0xE7, 0x71, 0x6B, 0xE5, 0xB6, 0xB4, 0xB0, + 0x8F, 0xB1, 0xB5, 0x8E, 0xD8, 0xFC, 0x4D, 0xFF, 0x9D, 0x06, 0x14, 0xD8, 0xFC, 0x85, 0x41, 0x95, + 0xB4, 0xB0, 0x8F, 0xB1, 0xB3, 0xB7, 0x71, 0x7A, 0xE4, 0x7A, 0x1E, 0xF4, 0x53, 0x76, 0xF0, 0x0A, + 0x76, 0xC8, 0x40, 0x09, 0x9D, 0x0E, 0x81, 0x40, 0xF0, 0x40, 0x51, 0x72, 0xB7, 0xA1, 0x2A, 0x16, + 0x21, 0xFD, 0xBA, 0xB6, 0x7B, 0x1E, 0x71, 0x7B, 0xE4, 0xB6, 0xB2, 0xB0, 0x8F, 0xB1, 0xB3, 0xB7, + 0xA1, 0x00, 0x71, 0x7C, 0xE4, 0x27, 0x77, 0x71, 0x7A, 0xE4, 0x71, 0x0A, 0xE5, 0x7A, 0x1E, 0xF4, + 0x53, 0x76, 0xF0, 0x0A, 0x76, 0xC8, 0x40, 0x09, 0x9D, 0x0D, 0x81, 0x40, 0xF0, 0x40, 0x51, 0x72, + 0xB7, 0x66, 0x16, 0x21, 0xFD, 0xBA, 0xB6, 0x7B, 0x1E, 0x67, 0x25, 0x71, 0x79, 0xE4, 0x71, 0x0B, + 0xE5, 0xB6, 0xB2, 0xB0, 0x8F, 0xB1, 0xB3, 0xB7, 0x71, 0x1A, 0xE5, 0x7A, 0x1E, 0xF0, 0x43, 0x4E, + 0x42, 0x9D, 0x0E, 0x81, 0x43, 0xF0, 0x43, 0x51, 0x72, 0x16, 0x2B, 0xFD, 0xAA, 0xF2, 0x0B, 0xFA, + 0x08, 0x11, 0x43, 0x00, 0x11, 0x42, 0x00, 0x7B, 0x24, 0x7B, 0x1E, 0x71, 0x1B, 0xE5, 0xB6, 0xB2, + 0xB0, 0x8F, 0xB1, 0xB3, 0xB7, 0xF0, 0x3F, 0x72, 0xB7, 0xF0, 0x0F, 0x16, 0x03, 0xFB, 0xBA, 0xB6, + 0x81, 0x3F, 0xF0, 0x3F, 0x4E, 0x3E, 0x9D, 0x0B, 0x72, 0xB7, 0x16, 0x46, 0xFE, 0xAA, 0xB6, 0xF6, + 0x84, 0xFA, 0x05, 0x11, 0x3E, 0x00, 0x7B, 0x23, 0xB6, 0xB2, 0xB0, 0x8F, 0xB7, 0x89, 0xD0, 0xB1, + 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xF0, 0x3D, + 0x1D, 0x03, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x2F, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x2C, 0x30, + 0x2D, 0x00, 0x99, 0xD0, 0xEE, 0x68, 0x00, 0x00, 0xC8, 0x2C, 0x00, 0xBD, 0x03, 0x9A, 0x0F, 0xAC, + 0xC8, 0x2C, 0x2C, 0xBD, 0x03, 0x9A, 0x4D, 0xAC, 0x31, 0x13, 0x26, 0x5E, 0x11, 0xD2, 0x00, 0xC8, + 0xD2, 0x06, 0x9D, 0x53, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x50, 0xFB, 0xD4, 0x85, 0x30, + 0x84, 0x85, 0x99, 0xD6, 0xF0, 0x2C, 0x0E, 0xD2, 0x4D, 0x03, 0x8D, 0x0A, 0xF0, 0x2C, 0x0E, 0xD2, + 0x4D, 0x2E, 0x8D, 0x0B, 0xAD, 0x09, 0x89, 0xD6, 0x21, 0x25, 0x30, 0x25, 0x30, 0x99, 0xD6, 0xF0, + 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, + 0x89, 0x68, 0x4E, 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x68, 0xF0, + 0xD2, 0xF2, 0x3A, 0x81, 0xD2, 0xFA, 0xA8, 0x9B, 0xEB, 0x9F, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, + 0x9D, 0x79, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x50, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, + 0x99, 0xD4, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xD0, 0x30, 0x0E, 0xD2, 0x30, 0x2D, 0x00, + 0xCA, 0x0C, 0x52, 0xD4, 0x85, 0xF2, 0xBC, 0x11, 0xBD, 0x00, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, + 0x9A, 0x6A, 0x64, 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, 0x02, 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, + 0xAE, 0x01, 0x97, 0xAE, 0x02, 0xBE, 0x01, 0x89, 0xD4, 0x21, 0x25, 0x30, 0x25, 0x0F, 0x30, 0x29, + 0x01, 0x99, 0xD6, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x89, 0xD6, 0x30, + 0x95, 0x30, 0x84, 0x95, 0x89, 0x68, 0x4E, 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, + 0xD6, 0x99, 0x68, 0xF0, 0xD2, 0xF2, 0x3A, 0x81, 0xD2, 0xFA, 0x82, 0xF0, 0x3A, 0x51, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x6C, 0xF0, 0x3A, 0x41, 0xA0, + 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x6A, 0x02, 0x06, 0xFB, + 0x99, 0x6E, 0xB0, 0xB0, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, + 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0xB1, + 0xB1, 0x89, 0x1C, 0xD6, 0xF0, 0x3C, 0x1D, 0x03, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x1E, 0x9A, + 0x00, 0x01, 0x30, 0x0E, 0x2D, 0x30, 0x2D, 0x00, 0x99, 0xD0, 0xEE, 0x70, 0x00, 0x00, 0xC8, 0x2D, + 0x00, 0xBD, 0x03, 0x9A, 0x8B, 0xAC, 0xC8, 0x2D, 0x1B, 0xBD, 0x03, 0x9A, 0xC9, 0xAC, 0x31, 0x13, + 0x26, 0x5E, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x9D, 0x53, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x5C, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD6, 0xF0, 0x2D, 0x0E, 0xD2, 0x4D, 0x03, + 0x8D, 0x0A, 0xF0, 0x2D, 0x0E, 0xD2, 0x4D, 0x1D, 0x8D, 0x0B, 0xAD, 0x09, 0x89, 0xD6, 0x21, 0x25, + 0x30, 0x25, 0x30, 0x99, 0xD6, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x89, + 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0x70, 0x4E, 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, + 0x08, 0x89, 0xD6, 0x99, 0x70, 0xF0, 0xD2, 0xF2, 0x3B, 0x81, 0xD2, 0xFA, 0xA8, 0x9B, 0x41, 0xA1, + 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x9D, 0x79, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x5C, + 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD4, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xD0, + 0x30, 0x0E, 0xD2, 0x30, 0x2D, 0x00, 0xCA, 0x04, 0x57, 0xD4, 0x85, 0xF2, 0xBC, 0x11, 0xBD, 0x00, + 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0x6A, 0x64, 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, 0x02, + 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, 0xAE, 0x01, 0x97, 0xAE, 0x02, 0xBE, 0x01, 0x89, 0xD4, 0x21, + 0x25, 0x30, 0x25, 0x0F, 0x30, 0x29, 0x01, 0x99, 0xD6, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, + 0x44, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0x70, 0x4E, 0xD7, 0xBD, 0x03, + 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x70, 0xF0, 0xD2, 0xF2, 0x3B, 0x81, 0xD2, 0xFA, + 0x82, 0xF0, 0x3B, 0x51, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, + 0x99, 0x74, 0xF0, 0x3B, 0x41, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, + 0x85, 0x99, 0x72, 0x02, 0x06, 0xFB, 0x99, 0x76, 0x8E, 0x03, 0xFB, 0xF2, 0x39, 0xB0, 0xB0, 0xB0, + 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, + 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xF0, + 0x3D, 0x1D, 0x03, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x2F, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x2C, + 0x30, 0x2D, 0x00, 0x99, 0xD0, 0xEE, 0x68, 0x00, 0x00, 0xC8, 0x2C, 0x00, 0xBD, 0x03, 0x9A, 0x4D, + 0xAC, 0xC8, 0x2C, 0x2C, 0xBD, 0x03, 0x9A, 0x0F, 0xAC, 0x31, 0x13, 0x26, 0x64, 0x11, 0xD2, 0x00, + 0xC8, 0xD2, 0x06, 0x9D, 0x59, 0xA1, 0x05, 0x1E, 0xD2, 0xF2, 0xD3, 0xF0, 0xD2, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x50, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD6, 0xF0, 0x2C, 0x0E, 0xD3, 0x4D, + 0x03, 0x8D, 0x0A, 0xF0, 0x2C, 0x0E, 0xD3, 0x4D, 0x2E, 0x8D, 0x0B, 0xAD, 0x09, 0x89, 0xD6, 0x21, + 0x25, 0x30, 0x25, 0x30, 0x99, 0xD6, 0xF0, 0xD3, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0x68, 0x4E, 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, - 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x68, 0xF0, 0xD2, 0xF2, 0x3A, 0x81, 0xD2, 0xFA, 0xA8, 0x9B, 0xA2, - 0x8D, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x9D, 0x79, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0x50, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD4, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, - 0xD0, 0x30, 0x0E, 0xD2, 0x30, 0x2D, 0x00, 0xCA, 0x0C, 0x52, 0xD4, 0x85, 0xF2, 0xBC, 0x11, 0xBD, - 0x00, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0xC3, 0x5C, 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, - 0x02, 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, 0xAE, 0x01, 0x97, 0xAE, 0x02, 0xBE, 0x01, 0x89, 0xD4, - 0x21, 0x25, 0x30, 0x25, 0x0F, 0x30, 0x29, 0x01, 0x99, 0xD6, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x38, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0x68, 0x4E, 0xD7, 0xBD, - 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x68, 0xF0, 0xD2, 0xF2, 0x3A, 0x81, 0xD2, - 0xFA, 0x82, 0xF0, 0x3A, 0x51, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, - 0x85, 0x99, 0x6C, 0xF0, 0x3A, 0x41, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, - 0x84, 0x85, 0x99, 0x6A, 0x02, 0x06, 0xFB, 0x99, 0x6E, 0xB0, 0xB0, 0xB0, 0x99, 0xD6, 0xB0, 0x99, - 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, - 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xF0, 0x3C, 0x1D, 0x03, 0xA0, - 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x1E, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x2D, 0x30, 0x2D, 0x00, 0x99, - 0xD0, 0xEE, 0x70, 0x00, 0x00, 0xC8, 0x2D, 0x00, 0xBD, 0x03, 0x9A, 0x55, 0x9A, 0xC8, 0x2D, 0x1B, - 0xBD, 0x03, 0x9A, 0x93, 0x9A, 0x31, 0x13, 0x26, 0x5E, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x9D, - 0x53, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x5C, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, - 0xD6, 0xF0, 0x2D, 0x0E, 0xD2, 0x4D, 0x03, 0x8D, 0x0A, 0xF0, 0x2D, 0x0E, 0xD2, 0x4D, 0x1D, 0x8D, - 0x0B, 0xAD, 0x09, 0x89, 0xD6, 0x21, 0x25, 0x30, 0x25, 0x30, 0x99, 0xD6, 0xF0, 0xD2, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0x70, 0x4E, - 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x70, 0xF0, 0xD2, 0xF2, 0x3B, - 0x81, 0xD2, 0xFA, 0xA8, 0x9B, 0xF8, 0x8E, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x9D, 0x79, 0xF0, - 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x5C, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD4, 0x99, - 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xD0, 0x30, 0x0E, 0xD2, 0x30, 0x2D, 0x00, 0xCA, 0x04, 0x57, - 0xD4, 0x85, 0xF2, 0xBC, 0x11, 0xBD, 0x00, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0xC3, 0x5C, - 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, 0x02, 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, 0xAE, 0x01, 0x97, - 0xAE, 0x02, 0xBE, 0x01, 0x89, 0xD4, 0x21, 0x25, 0x30, 0x25, 0x0F, 0x30, 0x29, 0x01, 0x99, 0xD6, - 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, - 0x95, 0x89, 0x70, 0x4E, 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x70, - 0xF0, 0xD2, 0xF2, 0x3B, 0x81, 0xD2, 0xFA, 0x82, 0xF0, 0x3B, 0x51, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x74, 0xF0, 0x3B, 0x41, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x72, 0x02, 0x06, 0xFB, 0x99, 0x76, 0x8E, - 0x03, 0xFB, 0xF2, 0x39, 0xB0, 0xB0, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, - 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, - 0xB1, 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xF0, 0x3D, 0x1D, 0x03, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, - 0x2F, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x2C, 0x30, 0x2D, 0x00, 0x99, 0xD0, 0xEE, 0x68, 0x00, 0x00, - 0xC8, 0x2C, 0x00, 0xBD, 0x03, 0x9A, 0x17, 0x9A, 0xC8, 0x2C, 0x2C, 0xBD, 0x03, 0x9A, 0xD9, 0x99, - 0x31, 0x13, 0x26, 0x64, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x9D, 0x59, 0xA1, 0x05, 0x1E, 0xD2, + 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x68, 0xF0, 0xD3, 0xF2, 0x3A, 0x81, 0xD2, 0xFA, 0xA2, 0x9B, 0xAC, + 0xA2, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x8D, 0x03, 0x9B, 0xAC, 0xA2, 0xA1, 0x05, 0x1E, 0xD2, 0xF2, 0xD3, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x50, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, - 0x99, 0xD6, 0xF0, 0x2C, 0x0E, 0xD3, 0x4D, 0x03, 0x8D, 0x0A, 0xF0, 0x2C, 0x0E, 0xD3, 0x4D, 0x2E, - 0x8D, 0x0B, 0xAD, 0x09, 0x89, 0xD6, 0x21, 0x25, 0x30, 0x25, 0x30, 0x99, 0xD6, 0xF0, 0xD3, 0xA0, - 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0x68, - 0x4E, 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x68, 0xF0, 0xD3, 0xF2, - 0x3A, 0x81, 0xD2, 0xFA, 0xA2, 0x9B, 0x63, 0x90, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x8D, 0x03, - 0x9B, 0x63, 0x90, 0xA1, 0x05, 0x1E, 0xD2, 0xF2, 0xD3, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0x50, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD4, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, - 0xD0, 0x30, 0x0E, 0xD3, 0x30, 0x2D, 0x00, 0xCA, 0x0C, 0x52, 0xD4, 0x85, 0xF2, 0xBC, 0x11, 0xBD, - 0x00, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0xC3, 0x5C, 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, - 0x02, 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, 0xAE, 0x01, 0x97, 0xAE, 0x02, 0xBE, 0x01, 0x89, 0xD4, - 0x21, 0x25, 0x30, 0x25, 0x0F, 0x30, 0x29, 0x01, 0x99, 0xD6, 0xF0, 0xD3, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x38, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0x68, 0x4E, 0xD7, 0xBD, - 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x68, 0xF0, 0xD3, 0xF2, 0x3A, 0x81, 0xD2, - 0x9B, 0xDB, 0x8F, 0xF0, 0x3A, 0x51, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, - 0x84, 0x85, 0x99, 0x6C, 0xF0, 0x3A, 0x41, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, - 0x30, 0x84, 0x85, 0x99, 0x6A, 0x02, 0x06, 0xFB, 0x99, 0x6E, 0xB0, 0xB0, 0xB0, 0x99, 0xD6, 0xB0, - 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, - 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xF0, 0x3C, 0x1D, 0x03, - 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x1E, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x2D, 0x30, 0x2D, 0x00, - 0x99, 0xD0, 0xEE, 0x70, 0x00, 0x00, 0xC8, 0x2D, 0x00, 0xBD, 0x03, 0x9A, 0x93, 0x9A, 0xC8, 0x2D, - 0x1B, 0xBD, 0x03, 0x9A, 0x55, 0x9A, 0x31, 0x13, 0x26, 0x64, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, - 0x9D, 0x59, 0xA1, 0x05, 0x1E, 0xD2, 0xF2, 0xD3, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x5C, - 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD6, 0xF0, 0x2D, 0x0E, 0xD3, 0x4D, 0x03, 0x8D, 0x0A, - 0xF0, 0x2D, 0x0E, 0xD3, 0x4D, 0x1D, 0x8D, 0x0B, 0xAD, 0x09, 0x89, 0xD6, 0x21, 0x25, 0x30, 0x25, - 0x30, 0x99, 0xD6, 0xF0, 0xD3, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x89, 0xD6, 0x30, - 0x95, 0x30, 0x84, 0x95, 0x89, 0x70, 0x4E, 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, - 0xD6, 0x99, 0x70, 0xF0, 0xD3, 0xF2, 0x3B, 0x81, 0xD2, 0xFA, 0xA2, 0x9B, 0xC9, 0x91, 0x11, 0xD2, - 0x00, 0xC8, 0xD2, 0x06, 0x8D, 0x03, 0x9B, 0xC9, 0x91, 0xA1, 0x05, 0x1E, 0xD2, 0xF2, 0xD3, 0xF0, - 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x5C, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD4, 0x99, - 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xD0, 0x30, 0x0E, 0xD3, 0x30, 0x2D, 0x00, 0xCA, 0x04, 0x57, - 0xD4, 0x85, 0xF2, 0xBC, 0x11, 0xBD, 0x00, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0xC3, 0x5C, - 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, 0x02, 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, 0xAE, 0x01, 0x97, - 0xAE, 0x02, 0xBE, 0x01, 0x89, 0xD4, 0x21, 0x25, 0x30, 0x25, 0x0F, 0x30, 0x29, 0x01, 0x99, 0xD6, - 0xF0, 0xD3, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, - 0x95, 0x89, 0x70, 0x4E, 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x70, - 0xF0, 0xD3, 0xF2, 0x3B, 0x81, 0xD2, 0x9B, 0x41, 0x91, 0xF0, 0x3B, 0x51, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x74, 0xF0, 0x3B, 0x41, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x72, 0x02, 0x06, 0xFB, 0x99, 0x76, - 0x8E, 0x03, 0xFB, 0xF2, 0x39, 0xB0, 0xB0, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, - 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0x02, 0x04, 0xFB, 0xEA, 0x28, 0x23, 0x8D, 0x0B, 0xAD, 0x09, 0x91, - 0x30, 0xBD, 0x17, 0x11, 0x30, 0x01, 0xFA, 0x12, 0x02, 0x04, 0xFB, 0xEA, 0x00, 0x19, 0x9D, 0x0A, - 0x81, 0x30, 0xA1, 0x0B, 0x4E, 0x30, 0x9D, 0x02, 0xF2, 0x30, 0xAF, 0x02, 0x04, 0xFB, 0xEA, 0x28, - 0x23, 0x8D, 0x0B, 0xAD, 0x09, 0x91, 0x31, 0xBD, 0x17, 0x11, 0x31, 0x01, 0xFA, 0x12, 0x02, 0x04, - 0xFB, 0xEA, 0x00, 0x19, 0x9D, 0x0A, 0x81, 0x31, 0xA1, 0x0B, 0x4E, 0x31, 0x9D, 0x02, 0xF2, 0x31, - 0xAF, 0x89, 0x68, 0xEA, 0xC4, 0x09, 0x8D, 0x0D, 0xAD, 0x0B, 0x5A, 0x25, 0x1B, 0x25, 0xF0, 0x32, - 0x9E, 0xB3, 0xFD, 0xFA, 0x6F, 0x89, 0x68, 0xEA, 0xDC, 0x05, 0x8D, 0x10, 0xAD, 0x0E, 0xD8, 0x25, - 0xDD, 0x6A, 0x24, 0x81, 0x33, 0xF0, 0x32, 0x9E, 0xB3, 0xFD, 0xFA, 0x58, 0x5B, 0x25, 0x81, 0x33, - 0x1A, 0x25, 0x6A, 0x24, 0x81, 0x32, 0xA1, 0x02, 0x4E, 0x32, 0x9D, 0x03, 0x11, 0x32, 0x00, 0x8E, - 0xB3, 0xFD, 0x4E, 0x32, 0xBD, 0x0B, 0x81, 0x32, 0xA1, 0x02, 0x4E, 0x32, 0x9D, 0x03, 0x11, 0x32, - 0x00, 0xF0, 0x32, 0x4D, 0x02, 0xAD, 0x22, 0x4D, 0x01, 0xAD, 0x11, 0x4D, 0x00, 0xBD, 0x25, 0x11, - 0x47, 0x24, 0x11, 0x48, 0x22, 0xA1, 0x65, 0x9E, 0xB4, 0xFD, 0xFA, 0x18, 0x11, 0x47, 0x22, 0x11, - 0x48, 0x0B, 0xA1, 0x65, 0x9E, 0xB4, 0xFD, 0xFA, 0x0B, 0x11, 0x47, 0x26, 0x11, 0x48, 0x4F, 0xA1, - 0x7F, 0x9E, 0xB4, 0xFD, 0xAF, 0xC8, 0x3C, 0x2E, 0xBD, 0x1C, 0x89, 0x70, 0xEA, 0xE2, 0x04, 0x9D, - 0x08, 0x5B, 0x25, 0x6A, 0x24, 0x81, 0x33, 0xFA, 0x27, 0x89, 0x70, 0xEA, 0xEE, 0x02, 0x9D, 0x20, - 0x5B, 0x25, 0x81, 0x33, 0xFA, 0x1A, 0x89, 0x70, 0xEA, 0xC4, 0x09, 0x9D, 0x08, 0x5B, 0x25, 0x6A, - 0x24, 0x81, 0x33, 0xFA, 0x0B, 0x89, 0x70, 0xEA, 0xDC, 0x05, 0x9D, 0x04, 0x5B, 0x25, 0x81, 0x33, - 0xAF, 0xB7, 0xA1, 0x01, 0x9E, 0x02, 0xFD, 0x11, 0x46, 0x80, 0x8E, 0xB4, 0xFD, 0xF2, 0x49, 0xA1, - 0x30, 0x6E, 0x30, 0xF2, 0x4A, 0xC8, 0x2C, 0x00, 0xBD, 0x08, 0x10, 0x33, 0x5C, 0x03, 0xA0, 0xFD, - 0xFA, 0x18, 0xC8, 0x2C, 0x2C, 0xBD, 0x08, 0x10, 0x39, 0x5C, 0x03, 0xA0, 0xFD, 0xFA, 0x0B, 0xF0, - 0x2C, 0xA0, 0x00, 0x30, 0xCA, 0xA0, 0x10, 0x03, 0xA0, 0xFD, 0x9A, 0xD1, 0x9A, 0x11, 0x3E, 0x11, - 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0x29, 0x01, 0xD8, 0x26, 0x3F, 0x0B, - 0x25, 0x7B, 0x01, 0x6B, 0x01, 0xB6, 0xAF, 0xA1, 0x01, 0x9E, 0x02, 0xFD, 0x7B, 0x46, 0xA1, 0x30, - 0x6E, 0x31, 0xF2, 0x4A, 0xC8, 0x2D, 0x00, 0xBD, 0x08, 0x10, 0x3F, 0x5C, 0x03, 0xA0, 0xFD, 0xFA, - 0x18, 0xC8, 0x2D, 0x1B, 0xBD, 0x08, 0x10, 0x45, 0x5C, 0x03, 0xA0, 0xFD, 0xFA, 0x0B, 0xF0, 0x2D, - 0xA0, 0x00, 0x30, 0xCA, 0xD3, 0x10, 0x03, 0xA0, 0xFD, 0x31, 0x63, 0x26, 0x05, 0x9A, 0x07, 0x9B, - 0xFA, 0x03, 0x9A, 0xD1, 0x9A, 0x11, 0x3E, 0x11, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, - 0xFA, 0x11, 0x29, 0x02, 0x6A, 0x01, 0x7A, 0x01, 0xAF, 0xB7, 0x7A, 0x46, 0x11, 0x49, 0x00, 0x11, - 0x3E, 0x11, 0x9A, 0x6D, 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, 0x4D, 0x06, - 0x9D, 0x1E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x66, - 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x50, 0xFB, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xDD, - 0x31, 0x73, 0x26, 0x05, 0x9A, 0x34, 0x8F, 0xFA, 0x03, 0x9A, 0x83, 0x8C, 0x31, 0x73, 0x26, 0x04, - 0x7B, 0x26, 0xFA, 0x02, 0x7A, 0x26, 0x9A, 0x05, 0x92, 0x9A, 0x51, 0x92, 0xC8, 0x33, 0x00, 0xBD, - 0x38, 0xF0, 0x2C, 0x0E, 0x3A, 0xF2, 0x3C, 0xC8, 0x3C, 0x2E, 0x8D, 0x05, 0x11, 0x2C, 0x2C, 0xFA, - 0x28, 0xA1, 0x03, 0x4E, 0x3C, 0x9D, 0x15, 0xC8, 0x3A, 0x05, 0xAD, 0x08, 0xF0, 0x3C, 0x1D, 0x03, - 0xF2, 0x2C, 0xFA, 0x15, 0xF0, 0x3C, 0x1D, 0x02, 0xF2, 0x2C, 0xFA, 0x0D, 0xC8, 0x3A, 0x05, 0xAD, - 0x05, 0x11, 0x2C, 0x00, 0xFA, 0x03, 0x11, 0x2C, 0x01, 0x11, 0x29, 0x03, 0xB6, 0xAF, 0xB7, 0x8E, - 0xB4, 0xFD, 0xF2, 0x49, 0xA1, 0x30, 0x6E, 0x30, 0xF2, 0x4A, 0xC8, 0x2C, 0x00, 0xBD, 0x08, 0x10, - 0x33, 0x5C, 0x03, 0xA0, 0xFD, 0xFA, 0x18, 0xC8, 0x2C, 0x2C, 0xBD, 0x08, 0x10, 0x39, 0x5C, 0x03, - 0xA0, 0xFD, 0xFA, 0x0B, 0xF0, 0x2C, 0xA0, 0x00, 0x30, 0xCA, 0xA0, 0x10, 0x03, 0xA0, 0xFD, 0x31, - 0x73, 0x26, 0x05, 0x9A, 0x07, 0x9B, 0xFA, 0x03, 0x9A, 0xD1, 0x9A, 0x11, 0x3E, 0x11, 0x9A, 0x6D, - 0xA4, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x9D, 0x1E, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x66, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x5C, 0xFB, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xDD, 0x31, 0x63, 0x26, 0x07, - 0x9A, 0x9A, 0x90, 0x6B, 0x26, 0xFA, 0x05, 0x9A, 0xD9, 0x8D, 0x6A, 0x26, 0x9A, 0x2B, 0x92, 0x9A, - 0xD5, 0x92, 0xC8, 0x33, 0x00, 0xBD, 0x3E, 0xF0, 0x2D, 0x0E, 0x3B, 0xF2, 0x3D, 0xF0, 0x2D, 0x0E, - 0x39, 0xF2, 0x39, 0xC8, 0x3D, 0x1D, 0x8D, 0x05, 0x11, 0x2D, 0x1B, 0xFA, 0x28, 0xA1, 0x03, 0x4E, - 0x3D, 0x9D, 0x15, 0xC8, 0x3B, 0x05, 0xAD, 0x08, 0xF0, 0x3D, 0x1D, 0x03, 0xF2, 0x2D, 0xFA, 0x15, - 0xF0, 0x3D, 0x1D, 0x02, 0xF2, 0x2D, 0xFA, 0x0D, 0xC8, 0x3B, 0x05, 0xAD, 0x05, 0x11, 0x2D, 0x00, - 0xFA, 0x03, 0x11, 0x2D, 0x01, 0x11, 0x29, 0x01, 0x6A, 0x25, 0xA1, 0x00, 0x9E, 0x02, 0xFD, 0xB6, - 0xAF, 0xB7, 0x6B, 0x25, 0xDC, 0x25, 0x03, 0x9B, 0xC4, 0x95, 0x11, 0x33, 0x00, 0xC8, 0x3C, 0x03, - 0xAD, 0x47, 0xC8, 0x3C, 0x2E, 0xAD, 0x42, 0xC8, 0x3A, 0x02, 0x8D, 0x1C, 0xF0, 0x3A, 0x1D, 0x02, - 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6C, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, - 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0xD9, 0x95, 0xA1, 0x03, 0x4E, 0x3A, 0x8D, 0x1B, 0xF0, 0x3A, - 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6A, 0x49, 0x01, 0xBD, 0x02, - 0x30, 0x4F, 0x9D, 0x05, 0x12, 0x01, 0x00, 0xFA, 0x60, 0xC8, 0x3D, 0x03, 0xAD, 0x58, 0xC8, 0x3D, - 0x1D, 0xAD, 0x53, 0xC8, 0x3B, 0x02, 0x8D, 0x1B, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x74, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x05, 0x12, 0x01, - 0x00, 0xFA, 0x36, 0xA1, 0x03, 0x4E, 0x3B, 0x8D, 0x2D, 0xF0, 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x72, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x17, 0x12, - 0x01, 0x00, 0xFA, 0x15, 0xA1, 0x0B, 0x4E, 0x33, 0x9D, 0x0C, 0x0A, 0x25, 0x1B, 0x25, 0x11, 0x33, - 0x00, 0x12, 0x01, 0x00, 0xFA, 0x03, 0x12, 0x00, 0x00, 0xB6, 0xAF, 0xB7, 0x6B, 0x25, 0xC8, 0x3C, - 0x03, 0xBD, 0x03, 0x9B, 0xDC, 0x97, 0xC8, 0x3C, 0x2E, 0xBD, 0x03, 0x9B, 0xDC, 0x97, 0xF0, 0x3A, - 0x4D, 0x05, 0xBD, 0x03, 0x9B, 0xD0, 0x97, 0x4D, 0x04, 0xBD, 0x03, 0x9B, 0x88, 0x97, 0x4D, 0x03, - 0xBD, 0x03, 0x9B, 0xF8, 0x96, 0x4D, 0x02, 0xAD, 0x5C, 0x4D, 0x01, 0xAD, 0x0D, 0x4D, 0x00, 0xAD, - 0x03, 0x9B, 0xD6, 0x97, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3A, 0x0D, 0x02, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6A, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, - 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3A, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, - 0xFB, 0xD6, 0xF0, 0x3A, 0x0D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, - 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x08, 0xAD, 0x06, 0x12, 0x00, 0x00, 0x9B, - 0xD7, 0x99, 0x9B, 0xDC, 0x97, 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, - 0xD6, 0x89, 0x6C, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, 0x9B, 0xD7, - 0x99, 0xF0, 0x3A, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6A, 0x49, - 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3A, 0x0D, - 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0xF0, 0x3A, 0x0D, 0x03, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, - 0x34, 0xAD, 0x32, 0xF0, 0x3A, 0x0D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0xF0, - 0x3A, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, - 0x87, 0x61, 0x1A, 0x30, 0xAE, 0x01, 0x61, 0x3B, 0xEA, 0x2C, 0x01, 0x8D, 0x08, 0xAD, 0x06, 0x12, - 0x00, 0x00, 0x9B, 0xD7, 0x99, 0x9B, 0xDC, 0x97, 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x38, 0xFB, 0xD6, 0xF0, 0x3A, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, - 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x34, 0xAD, 0x32, 0xF0, 0x3A, - 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x87, 0x61, 0x1A, 0x30, 0xAE, - 0x01, 0x61, 0x3B, 0xEA, 0x2C, 0x01, 0x8D, 0x08, 0xAD, 0x06, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, - 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6C, 0x49, 0x01, - 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3A, 0x0D, 0x02, - 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6A, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, - 0x9D, 0x5A, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x38, 0xFB, 0xD6, 0xF0, 0x3A, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, - 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x08, 0xAD, 0x06, 0x12, 0x00, - 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, - 0x89, 0x6C, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x12, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, - 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xC8, 0x3D, 0x03, 0xBD, - 0x03, 0x9B, 0xD4, 0x99, 0xC8, 0x3D, 0x1D, 0xBD, 0x03, 0x9B, 0xD4, 0x99, 0xF0, 0x3B, 0x4D, 0x05, - 0xBD, 0x03, 0x9B, 0xCA, 0x99, 0x4D, 0x04, 0xBD, 0x03, 0x9B, 0x84, 0x99, 0x4D, 0x03, 0xBD, 0x03, - 0x9B, 0xF6, 0x98, 0x4D, 0x02, 0xAD, 0x5C, 0x4D, 0x01, 0xAD, 0x0D, 0x4D, 0x00, 0xAD, 0x03, 0x9B, - 0xCF, 0x99, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x72, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, - 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, - 0xF0, 0x3B, 0x0D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, - 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x08, 0xAD, 0x06, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, - 0x9B, 0xD4, 0x99, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, - 0x74, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xF0, - 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x72, 0x49, 0x01, 0xBD, - 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3B, 0x0D, 0x02, 0xA0, - 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0xF0, 0x3B, 0x0D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, - 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x34, 0xAD, - 0x32, 0xF0, 0x3B, 0x0D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0xF0, 0x3B, 0x0D, - 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x87, 0x61, - 0x1A, 0x30, 0xAE, 0x01, 0x61, 0x3B, 0xEA, 0x2C, 0x01, 0x8D, 0x08, 0xAD, 0x06, 0x12, 0x00, 0x00, - 0x9B, 0xD7, 0x99, 0x9B, 0xD4, 0x99, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, - 0xFB, 0xD6, 0xF0, 0x3B, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, - 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x34, 0xAD, 0x32, 0xF0, 0x3B, 0x1D, 0x03, - 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, - 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x87, 0x61, 0x1A, 0x30, 0xAE, 0x01, 0x61, - 0x3B, 0xEA, 0x2C, 0x01, 0x8D, 0x08, 0xAD, 0x06, 0x12, 0x00, 0x00, 0x9B, 0xD7, 0x99, 0xF0, 0x3B, + 0x99, 0xD4, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xD0, 0x30, 0x0E, 0xD3, 0x30, 0x2D, 0x00, + 0xCA, 0x0C, 0x52, 0xD4, 0x85, 0xF2, 0xBC, 0x11, 0xBD, 0x00, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, + 0x9A, 0x6A, 0x64, 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, 0x02, 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, + 0xAE, 0x01, 0x97, 0xAE, 0x02, 0xBE, 0x01, 0x89, 0xD4, 0x21, 0x25, 0x30, 0x25, 0x0F, 0x30, 0x29, + 0x01, 0x99, 0xD6, 0xF0, 0xD3, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x89, 0xD6, 0x30, + 0x95, 0x30, 0x84, 0x95, 0x89, 0x68, 0x4E, 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, + 0xD6, 0x99, 0x68, 0xF0, 0xD3, 0xF2, 0x3A, 0x81, 0xD2, 0x9B, 0x24, 0xA2, 0xF0, 0x3A, 0x51, 0xA0, + 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x6C, 0xF0, 0x3A, 0x41, + 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0x6A, 0x02, 0x06, + 0xFB, 0x99, 0x6E, 0xB0, 0xB0, 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, + 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x89, 0xD4, 0xB1, 0x89, 0xD6, 0xB1, + 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xF0, 0x3C, 0x1D, 0x03, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x1E, + 0x9A, 0x00, 0x01, 0x30, 0x0E, 0x2D, 0x30, 0x2D, 0x00, 0x99, 0xD0, 0xEE, 0x70, 0x00, 0x00, 0xC8, + 0x2D, 0x00, 0xBD, 0x03, 0x9A, 0xC9, 0xAC, 0xC8, 0x2D, 0x1B, 0xBD, 0x03, 0x9A, 0x8B, 0xAC, 0x31, + 0x13, 0x26, 0x64, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x9D, 0x59, 0xA1, 0x05, 0x1E, 0xD2, 0xF2, + 0xD3, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x5C, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, + 0xD6, 0xF0, 0x2D, 0x0E, 0xD3, 0x4D, 0x03, 0x8D, 0x0A, 0xF0, 0x2D, 0x0E, 0xD3, 0x4D, 0x1D, 0x8D, + 0x0B, 0xAD, 0x09, 0x89, 0xD6, 0x21, 0x25, 0x30, 0x25, 0x30, 0x99, 0xD6, 0xF0, 0xD3, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0x70, 0x4E, + 0xD7, 0xBD, 0x03, 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x70, 0xF0, 0xD3, 0xF2, 0x3B, + 0x81, 0xD2, 0xFA, 0xA2, 0x9B, 0x12, 0xA4, 0x11, 0xD2, 0x00, 0xC8, 0xD2, 0x06, 0x8D, 0x03, 0x9B, + 0x12, 0xA4, 0xA1, 0x05, 0x1E, 0xD2, 0xF2, 0xD3, 0xF0, 0xD2, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x5C, + 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xD4, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xD0, + 0x30, 0x0E, 0xD3, 0x30, 0x2D, 0x00, 0xCA, 0x04, 0x57, 0xD4, 0x85, 0xF2, 0xBC, 0x11, 0xBD, 0x00, + 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0x6A, 0x64, 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, 0x02, + 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, 0xAE, 0x01, 0x97, 0xAE, 0x02, 0xBE, 0x01, 0x89, 0xD4, 0x21, + 0x25, 0x30, 0x25, 0x0F, 0x30, 0x29, 0x01, 0x99, 0xD6, 0xF0, 0xD3, 0xA0, 0x02, 0x31, 0x88, 0xCA, + 0x44, 0xFB, 0xD4, 0x89, 0xD6, 0x30, 0x95, 0x30, 0x84, 0x95, 0x89, 0x70, 0x4E, 0xD7, 0xBD, 0x03, + 0x30, 0x4E, 0xD6, 0x9D, 0x08, 0x89, 0xD6, 0x99, 0x70, 0xF0, 0xD3, 0xF2, 0x3B, 0x81, 0xD2, 0x9B, + 0x8A, 0xA3, 0xF0, 0x3B, 0x51, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, + 0x85, 0x99, 0x74, 0xF0, 0x3B, 0x41, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, + 0x84, 0x85, 0x99, 0x72, 0x02, 0x06, 0xFB, 0x99, 0x76, 0x8E, 0x03, 0xFB, 0xF2, 0x39, 0xB0, 0xB0, + 0xB0, 0x99, 0xD6, 0xB0, 0x99, 0xD4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0x02, 0x04, + 0xFB, 0xEA, 0x28, 0x23, 0x8D, 0x0B, 0xAD, 0x09, 0x91, 0x30, 0xBD, 0x17, 0x11, 0x30, 0x01, 0xFA, + 0x12, 0x02, 0x04, 0xFB, 0xEA, 0x00, 0x19, 0x9D, 0x0A, 0x81, 0x30, 0xA1, 0x0D, 0x4E, 0x30, 0x9D, + 0x02, 0xF2, 0x30, 0xAF, 0x02, 0x04, 0xFB, 0xEA, 0x28, 0x23, 0x8D, 0x0B, 0xAD, 0x09, 0x91, 0x31, + 0xBD, 0x17, 0x11, 0x31, 0x01, 0xFA, 0x12, 0x02, 0x04, 0xFB, 0xEA, 0x00, 0x19, 0x9D, 0x0A, 0x81, + 0x31, 0xA1, 0x0D, 0x4E, 0x31, 0x9D, 0x02, 0xF2, 0x31, 0xAF, 0x89, 0x68, 0xEA, 0xC4, 0x09, 0x8D, + 0x0D, 0xAD, 0x0B, 0x5A, 0x25, 0x1B, 0x25, 0xF0, 0x32, 0x9E, 0x7D, 0xFD, 0xFA, 0x60, 0x89, 0x68, + 0xEA, 0xDC, 0x05, 0x8D, 0x10, 0xAD, 0x0E, 0xD8, 0x25, 0xDD, 0x6A, 0x24, 0x81, 0x33, 0xF0, 0x32, + 0x9E, 0x7D, 0xFD, 0xFA, 0x49, 0x5B, 0x25, 0x81, 0x33, 0x1A, 0x25, 0x6A, 0x24, 0x81, 0x32, 0xA1, + 0x02, 0x4E, 0x32, 0x9D, 0x03, 0x11, 0x32, 0x00, 0x8E, 0x7D, 0xFD, 0x4E, 0x32, 0xBD, 0x0B, 0x81, + 0x32, 0xA1, 0x02, 0x4E, 0x32, 0x9D, 0x03, 0x11, 0x32, 0x00, 0xF0, 0x32, 0x4D, 0x02, 0xAD, 0x18, + 0x4D, 0x01, 0xAD, 0x0C, 0x4D, 0x00, 0xBD, 0x16, 0x11, 0x47, 0x24, 0x11, 0x48, 0x22, 0xFA, 0x0E, + 0x11, 0x47, 0x22, 0x11, 0x48, 0x0B, 0xFA, 0x06, 0x11, 0x47, 0x26, 0x11, 0x48, 0x4F, 0xAF, 0xC8, + 0x3C, 0x2E, 0xBD, 0x1C, 0x89, 0x70, 0xEA, 0xE2, 0x04, 0x9D, 0x08, 0x5B, 0x25, 0x6A, 0x24, 0x81, + 0x33, 0xFA, 0x27, 0x89, 0x70, 0xEA, 0xEE, 0x02, 0x9D, 0x20, 0x5B, 0x25, 0x81, 0x33, 0xFA, 0x1A, + 0x89, 0x70, 0xEA, 0xC4, 0x09, 0x9D, 0x08, 0x5B, 0x25, 0x6A, 0x24, 0x81, 0x33, 0xFA, 0x0B, 0x89, + 0x70, 0xEA, 0xDC, 0x05, 0x9D, 0x04, 0x5B, 0x25, 0x81, 0x33, 0xAF, 0xB7, 0xA1, 0x01, 0x9E, 0xD0, + 0xFC, 0x11, 0x46, 0x80, 0x11, 0x49, 0x6E, 0xA1, 0x30, 0x6E, 0x30, 0xF2, 0x4A, 0xC8, 0x2C, 0x00, + 0xBD, 0x08, 0x10, 0x33, 0x5C, 0x03, 0x6E, 0xFD, 0xFA, 0x18, 0xC8, 0x2C, 0x2C, 0xBD, 0x08, 0x10, + 0x39, 0x5C, 0x03, 0x6E, 0xFD, 0xFA, 0x0B, 0xF0, 0x2C, 0xA0, 0x00, 0x30, 0xCA, 0xA0, 0x10, 0x03, + 0x6E, 0xFD, 0x9A, 0x07, 0xAD, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, + 0xFA, 0x11, 0x29, 0x01, 0xD8, 0x26, 0x3F, 0x0B, 0x25, 0x7B, 0x01, 0x6B, 0x01, 0xB6, 0xAF, 0xA1, + 0x01, 0x9E, 0xD0, 0xFC, 0x7B, 0x46, 0xA1, 0x30, 0x6E, 0x31, 0xF2, 0x4A, 0xC8, 0x2D, 0x00, 0xBD, + 0x08, 0x10, 0x3F, 0x5C, 0x03, 0x6E, 0xFD, 0xFA, 0x18, 0xC8, 0x2D, 0x1B, 0xBD, 0x08, 0x10, 0x45, + 0x5C, 0x03, 0x6E, 0xFD, 0xFA, 0x0B, 0xF0, 0x2D, 0xA0, 0x00, 0x30, 0xCA, 0xD3, 0x10, 0x03, 0x6E, + 0xFD, 0x31, 0x63, 0x26, 0x05, 0x9A, 0x3D, 0xAD, 0xFA, 0x03, 0x9A, 0x07, 0xAD, 0x11, 0x3E, 0x11, + 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0x11, 0x29, 0x02, 0x6A, 0x01, 0x7A, 0x01, + 0xAF, 0xB7, 0x7A, 0x46, 0x11, 0x49, 0x00, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, + 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x9D, 0x1E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x08, + 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x50, 0xFB, 0xD4, + 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xDD, 0x31, 0x73, 0x26, 0x05, 0x9A, 0x7D, 0xA1, 0xFA, + 0x03, 0x9A, 0xCC, 0x9E, 0x31, 0x73, 0x26, 0x04, 0x7B, 0x26, 0xFA, 0x02, 0x7A, 0x26, 0x9A, 0x4E, + 0xA4, 0x9A, 0x9A, 0xA4, 0xC8, 0x33, 0x00, 0xBD, 0x38, 0xF0, 0x2C, 0x0E, 0x3A, 0xF2, 0x3C, 0xC8, + 0x3C, 0x2E, 0x8D, 0x05, 0x11, 0x2C, 0x2C, 0xFA, 0x28, 0xA1, 0x03, 0x4E, 0x3C, 0x9D, 0x15, 0xC8, + 0x3A, 0x05, 0xAD, 0x08, 0xF0, 0x3C, 0x1D, 0x03, 0xF2, 0x2C, 0xFA, 0x15, 0xF0, 0x3C, 0x1D, 0x02, + 0xF2, 0x2C, 0xFA, 0x0D, 0xC8, 0x3A, 0x05, 0xAD, 0x05, 0x11, 0x2C, 0x00, 0xFA, 0x03, 0x11, 0x2C, + 0x01, 0x11, 0x29, 0x03, 0xB6, 0xAF, 0xB7, 0x11, 0x49, 0x6E, 0xA1, 0x30, 0x6E, 0x30, 0xF2, 0x4A, + 0xC8, 0x2C, 0x00, 0xBD, 0x08, 0x10, 0x33, 0x5C, 0x03, 0x6E, 0xFD, 0xFA, 0x18, 0xC8, 0x2C, 0x2C, + 0xBD, 0x08, 0x10, 0x39, 0x5C, 0x03, 0x6E, 0xFD, 0xFA, 0x0B, 0xF0, 0x2C, 0xA0, 0x00, 0x30, 0xCA, + 0xA0, 0x10, 0x03, 0x6E, 0xFD, 0x31, 0x73, 0x26, 0x05, 0x9A, 0x3D, 0xAD, 0xFA, 0x03, 0x9A, 0x07, + 0xAD, 0x11, 0x3E, 0x11, 0x9A, 0x2C, 0xB7, 0x31, 0x73, 0x23, 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x66, + 0x4D, 0x06, 0x9D, 0x1E, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x08, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, + 0xD2, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x5C, 0xFB, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, + 0xFA, 0xDD, 0x31, 0x63, 0x26, 0x07, 0x9A, 0xE3, 0xA2, 0x6B, 0x26, 0xFA, 0x05, 0x9A, 0x22, 0xA0, + 0x6A, 0x26, 0x9A, 0x74, 0xA4, 0x9A, 0x0F, 0xA5, 0xC8, 0x33, 0x00, 0xBD, 0x3E, 0xF0, 0x2D, 0x0E, + 0x3B, 0xF2, 0x3D, 0xF0, 0x2D, 0x0E, 0x39, 0xF2, 0x39, 0xC8, 0x3D, 0x1D, 0x8D, 0x05, 0x11, 0x2D, + 0x1B, 0xFA, 0x28, 0xA1, 0x03, 0x4E, 0x3D, 0x9D, 0x15, 0xC8, 0x3B, 0x05, 0xAD, 0x08, 0xF0, 0x3D, + 0x1D, 0x03, 0xF2, 0x2D, 0xFA, 0x15, 0xF0, 0x3D, 0x1D, 0x02, 0xF2, 0x2D, 0xFA, 0x0D, 0xC8, 0x3B, + 0x05, 0xAD, 0x05, 0x11, 0x2D, 0x00, 0xFA, 0x03, 0x11, 0x2D, 0x01, 0x11, 0x29, 0x01, 0x6A, 0x25, + 0xA1, 0x00, 0x9E, 0xD0, 0xFC, 0xB6, 0xAF, 0xB7, 0x6B, 0x25, 0xDC, 0x25, 0x03, 0x9B, 0xFA, 0xA7, + 0x11, 0x33, 0x00, 0xC8, 0x3C, 0x03, 0xAD, 0x47, 0xC8, 0x3C, 0x2E, 0xAD, 0x42, 0xC8, 0x3A, 0x02, + 0x8D, 0x1C, 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6C, + 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x01, 0x00, 0x9B, 0x0F, 0xA8, 0xA1, 0x03, + 0x4E, 0x3A, 0x8D, 0x1B, 0xF0, 0x3A, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, + 0x89, 0x6A, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x05, 0x12, 0x01, 0x00, 0xFA, 0x60, 0xC8, + 0x3D, 0x03, 0xAD, 0x58, 0xC8, 0x3D, 0x1D, 0xAD, 0x53, 0xC8, 0x3B, 0x02, 0x8D, 0x1B, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x74, 0x49, 0x01, 0xBD, 0x02, - 0x30, 0x4F, 0x9D, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x6E, 0xF0, 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, - 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x72, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x55, 0x12, - 0x00, 0x00, 0xFA, 0x53, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, - 0xF0, 0x3B, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, - 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x07, 0xAD, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x28, 0xF0, - 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x74, 0x49, 0x01, 0xBD, - 0x02, 0x30, 0x4F, 0x9D, 0x0F, 0x12, 0x00, 0x00, 0xFA, 0x0D, 0x12, 0x00, 0x00, 0xFA, 0x08, 0x12, - 0x00, 0x00, 0xFA, 0x03, 0x12, 0x01, 0x00, 0xB6, 0xAF, 0x02, 0x58, 0xFB, 0x30, 0x08, 0x50, 0xFB, - 0x30, 0x28, 0x51, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x58, 0xFB, 0x02, 0x56, 0xFB, 0x30, - 0x08, 0x54, 0xFB, 0x30, 0x28, 0x55, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x08, 0x52, 0xFB, 0x30, 0x28, - 0x53, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x56, 0xFB, 0x03, 0x54, 0xFB, 0x10, 0x00, 0x00, - 0x03, 0x52, 0xFB, 0x03, 0x50, 0xFB, 0xAF, 0x02, 0x52, 0xFB, 0x30, 0x08, 0x5A, 0xFB, 0x30, 0x28, - 0x5B, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x52, 0xFB, 0x02, 0x54, 0xFB, 0x30, 0x08, 0x56, - 0xFB, 0x30, 0x28, 0x57, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x08, 0x58, 0xFB, 0x30, 0x28, 0x59, 0xFB, - 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x54, 0xFB, 0x03, 0x56, 0xFB, 0x10, 0x00, 0x00, 0x03, 0x58, - 0xFB, 0x03, 0x5A, 0xFB, 0xAF, 0x02, 0x64, 0xFB, 0x30, 0x08, 0x5C, 0xFB, 0x30, 0x28, 0x5D, 0xFB, - 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x64, 0xFB, 0x02, 0x62, 0xFB, 0x30, 0x08, 0x60, 0xFB, 0x30, - 0x28, 0x61, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x08, 0x5E, 0xFB, 0x30, 0x28, 0x5F, 0xFB, 0x21, 0x25, - 0x30, 0x25, 0x30, 0x03, 0x62, 0xFB, 0x03, 0x60, 0xFB, 0x10, 0x00, 0x00, 0x03, 0x5E, 0xFB, 0x03, - 0x5C, 0xFB, 0xAF, 0x02, 0x5E, 0xFB, 0x30, 0x08, 0x66, 0xFB, 0x30, 0x28, 0x67, 0xFB, 0x21, 0x25, - 0x30, 0x25, 0x30, 0x03, 0x5E, 0xFB, 0x02, 0x60, 0xFB, 0x30, 0x08, 0x62, 0xFB, 0x30, 0x28, 0x63, - 0xFB, 0x21, 0x25, 0x30, 0x25, 0x08, 0x64, 0xFB, 0x30, 0x28, 0x65, 0xFB, 0x21, 0x25, 0x30, 0x25, - 0x30, 0x03, 0x60, 0xFB, 0x03, 0x62, 0xFB, 0x10, 0x00, 0x00, 0x03, 0x64, 0xFB, 0x03, 0x66, 0xFB, - 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x9D, 0x26, 0x61, 0x01, 0x77, 0x66, - 0x72, 0x02, 0xA0, 0xFD, 0xB7, 0xD6, 0xAA, 0xB6, 0xF2, 0xD0, 0x67, 0x72, 0xB7, 0xF0, 0xD0, 0x16, - 0x4B, 0xFE, 0xBA, 0xB6, 0x67, 0x41, 0x72, 0xB7, 0xF0, 0xD0, 0x16, 0x4B, 0xFE, 0xBA, 0xB6, 0x46, - 0xFA, 0xD5, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0xA6, 0x00, 0x66, 0x4D, 0x06, - 0x9D, 0x29, 0x61, 0x01, 0x77, 0xA1, 0x05, 0x61, 0x1E, 0x72, 0x02, 0xA0, 0xFD, 0xB7, 0xD6, 0xAA, - 0xB6, 0xF2, 0xD0, 0x67, 0x72, 0xB7, 0xF0, 0xD0, 0x16, 0x4B, 0xFE, 0xBA, 0xB6, 0x67, 0x41, 0x72, - 0xB7, 0xF0, 0xD0, 0x16, 0x4B, 0xFE, 0xBA, 0xB6, 0x46, 0xFA, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, - 0xB7, 0x9A, 0xC6, 0x86, 0x9A, 0x44, 0x88, 0x9A, 0xE1, 0x87, 0x9A, 0x4C, 0xA4, 0x9A, 0x3B, 0xA4, - 0x9A, 0x42, 0xA4, 0x9A, 0xF4, 0x88, 0x31, 0x73, 0x29, 0x02, 0xFA, 0xFA, 0x7A, 0x22, 0xA1, 0x00, - 0x9E, 0x9E, 0xFD, 0x31, 0x33, 0x03, 0x02, 0x4A, 0x25, 0xCC, 0x25, 0x03, 0x9B, 0x66, 0x9D, 0x8E, - 0x9A, 0xFD, 0x51, 0xBD, 0x03, 0x9B, 0x33, 0x9D, 0x31, 0x73, 0x24, 0x02, 0xFA, 0xFA, 0xA6, 0x00, - 0x31, 0x73, 0x27, 0x03, 0x9B, 0x51, 0x9C, 0x10, 0x00, 0x00, 0x03, 0x6E, 0xFB, 0x7A, 0x27, 0x46, - 0x66, 0x51, 0x72, 0xB7, 0xA1, 0xA0, 0x16, 0x5D, 0xFD, 0xBA, 0xB6, 0x02, 0x70, 0xFB, 0xA0, 0x00, - 0x70, 0x61, 0xFC, 0x25, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x5D, 0xFD, - 0xBB, 0xB6, 0x02, 0x70, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, - 0x73, 0xB7, 0x62, 0x16, 0x5D, 0xFD, 0xBB, 0xB6, 0x02, 0x72, 0xFB, 0xA0, 0x00, 0x70, 0x61, 0xFC, - 0x25, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x5D, 0xFD, 0xBB, 0xB6, 0x02, - 0x72, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, - 0x16, 0x5D, 0xFD, 0xBB, 0xB6, 0x8E, 0x6E, 0xFB, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, - 0x62, 0x16, 0x5D, 0xFD, 0xBB, 0xB6, 0x8E, 0x70, 0xFB, 0x5D, 0x03, 0x24, 0x24, 0x24, 0x5D, 0xE0, - 0x72, 0x8E, 0x72, 0xFB, 0x5D, 0x03, 0x26, 0x26, 0x26, 0x5D, 0xF8, 0x61, 0x62, 0x02, 0x6E, 0xFB, - 0x30, 0x61, 0x01, 0x30, 0x27, 0x70, 0x27, 0x61, 0x31, 0x60, 0x5D, 0x07, 0x61, 0x62, 0x46, 0x66, - 0x51, 0x73, 0xB7, 0x62, 0x16, 0x5D, 0xFD, 0xBB, 0xB6, 0x46, 0x66, 0x51, 0x72, 0xB7, 0xA1, 0x00, - 0x16, 0x5D, 0xFD, 0xBA, 0xB6, 0x46, 0x66, 0x51, 0x72, 0xB7, 0xA1, 0x00, 0x16, 0x5D, 0xFD, 0xBA, - 0xB6, 0x31, 0x13, 0x24, 0x03, 0x9B, 0x22, 0x9D, 0x10, 0x00, 0x00, 0x03, 0x6E, 0xFB, 0x1A, 0x24, - 0x46, 0x66, 0x51, 0x72, 0xB7, 0xA1, 0x80, 0x16, 0x5D, 0xFD, 0xBA, 0xB6, 0x02, 0x70, 0xFB, 0xA0, - 0x00, 0x70, 0x61, 0xFC, 0x25, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x5D, - 0xFD, 0xBB, 0xB6, 0x02, 0x70, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, 0x72, 0x46, 0x66, - 0x51, 0x73, 0xB7, 0x62, 0x16, 0x5D, 0xFD, 0xBB, 0xB6, 0x02, 0x72, 0xFB, 0xA0, 0x00, 0x70, 0x61, - 0xFC, 0x25, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x5D, 0xFD, 0xBB, 0xB6, - 0x02, 0x72, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, - 0x62, 0x16, 0x5D, 0xFD, 0xBB, 0xB6, 0x8E, 0x6E, 0xFB, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, - 0xB7, 0x62, 0x16, 0x5D, 0xFD, 0xBB, 0xB6, 0x8E, 0x70, 0xFB, 0x5D, 0x03, 0x24, 0x24, 0x24, 0x5D, - 0xE0, 0x72, 0x8E, 0x72, 0xFB, 0x5D, 0x03, 0x26, 0x26, 0x26, 0x5D, 0xF8, 0x61, 0x62, 0x02, 0x6E, - 0xFB, 0x30, 0x61, 0x01, 0x30, 0x27, 0x70, 0x27, 0x61, 0x31, 0x60, 0x5D, 0x07, 0x61, 0x62, 0x46, - 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x5D, 0xFD, 0xBB, 0xB6, 0x46, 0x66, 0x51, 0x72, 0xB7, 0xA1, - 0x00, 0x16, 0x5D, 0xFD, 0xBA, 0xB6, 0x46, 0x66, 0x51, 0x72, 0xB7, 0xA1, 0x00, 0x16, 0x5D, 0xFD, - 0xBA, 0xB6, 0x66, 0xF2, 0x42, 0xC8, 0x42, 0x00, 0xAD, 0x03, 0x9A, 0x15, 0x6C, 0x31, 0x73, 0x24, - 0x02, 0xFA, 0xFA, 0x9A, 0xE4, 0x87, 0x9A, 0xC7, 0x9F, 0xF4, 0x48, 0x5D, 0x6F, 0xF6, 0x48, 0xF4, - 0x49, 0x6D, 0x10, 0xF6, 0x49, 0x71, 0x5B, 0xE4, 0x9A, 0xE1, 0x87, 0x9A, 0xEA, 0x87, 0x9A, 0xE4, - 0x87, 0xF4, 0x48, 0x5D, 0x6F, 0xF6, 0x48, 0xF4, 0x49, 0x5D, 0x6F, 0xF6, 0x49, 0x71, 0x5A, 0xE4, - 0x9A, 0xD4, 0x9F, 0x9A, 0xE1, 0x87, 0x8E, 0xAD, 0xFD, 0x4D, 0x00, 0xBD, 0x6D, 0x31, 0x73, 0x25, - 0x69, 0x9A, 0xE4, 0x87, 0x9A, 0xC7, 0x9F, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x0F, 0xF4, 0x48, - 0x5D, 0x7B, 0xF6, 0x48, 0xF4, 0x49, 0x6D, 0x04, 0xF6, 0x49, 0x71, 0x3B, 0xE4, 0x71, 0x7B, 0x6C, - 0x13, 0x6C, 0x60, 0x11, 0x1A, 0xFF, 0x71, 0x1B, 0xA0, 0xA1, 0x00, 0x9E, 0x0A, 0xFD, 0x71, 0x3B, - 0xE1, 0x71, 0x3B, 0xE5, 0x71, 0x7A, 0x6C, 0x13, 0x99, 0xAC, 0x9A, 0xE1, 0x87, 0x9A, 0xEA, 0x87, - 0x9A, 0xE4, 0x87, 0x71, 0x7B, 0x6C, 0x71, 0x1A, 0xA0, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x12, - 0xF4, 0x48, 0x5D, 0x7B, 0xF6, 0x48, 0xF4, 0x49, 0x5D, 0x7B, 0xF6, 0x49, 0x71, 0x3A, 0xE4, 0x71, - 0x3B, 0xE0, 0x9A, 0xD4, 0x9F, 0x9A, 0xE1, 0x87, 0x7A, 0x22, 0x9A, 0x95, 0x81, 0x9A, 0xBE, 0x81, - 0x8E, 0xAB, 0xFD, 0x31, 0x3F, 0x0D, 0x9A, 0xA3, 0x7B, 0x14, 0xAB, 0xFD, 0x85, 0x5D, 0xF7, 0x95, - 0x6D, 0x04, 0x95, 0x8E, 0x09, 0xFD, 0x31, 0x0F, 0x12, 0x9A, 0xE4, 0x87, 0x8E, 0x9A, 0xFD, 0x4D, - 0x00, 0xBD, 0x05, 0x9A, 0x20, 0x01, 0xFA, 0x03, 0x9A, 0x44, 0x01, 0xFC, 0x22, 0x05, 0xC8, 0x2B, - 0x00, 0xAD, 0x3E, 0x7B, 0x22, 0x9A, 0x24, 0x7B, 0xC2, 0x61, 0x68, 0xAD, 0x32, 0x9A, 0x4C, 0xA4, - 0x7B, 0x25, 0x9A, 0x11, 0x93, 0x9A, 0x50, 0xA4, 0x9A, 0x58, 0xA4, 0x31, 0x63, 0x25, 0x02, 0xFA, - 0x07, 0xA1, 0x01, 0x48, 0x03, 0xFD, 0x9D, 0xF3, 0x31, 0x63, 0x25, 0x10, 0x9A, 0xDB, 0x95, 0xC2, - 0x61, 0x68, 0xBD, 0x5E, 0x9A, 0x67, 0xA4, 0x9A, 0x3A, 0x9F, 0xFA, 0x53, 0x9A, 0x3A, 0x9F, 0xFA, - 0x4E, 0x9A, 0xBE, 0x81, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x29, 0xEC, 0x27, 0x41, 0xFC, 0x24, - 0x3E, 0x9A, 0xE4, 0x87, 0x9A, 0xC7, 0x9F, 0x71, 0x6B, 0xE5, 0x71, 0x7B, 0xE4, 0x71, 0x0B, 0xE5, - 0x71, 0x1B, 0xE5, 0x9A, 0xE1, 0x87, 0x9A, 0xE7, 0x87, 0x9A, 0xE4, 0x87, 0x9A, 0xD4, 0x9F, 0x9A, - 0xE1, 0x87, 0xFA, 0x1B, 0x9A, 0xE4, 0x87, 0x9A, 0xC7, 0x9F, 0x71, 0x6B, 0xE5, 0x71, 0x0B, 0xE7, - 0x9A, 0xE1, 0x87, 0x9A, 0xE7, 0x87, 0x9A, 0xE4, 0x87, 0x9A, 0xD4, 0x9F, 0x9A, 0xE1, 0x87, 0x9B, - 0x5E, 0x9B, 0x4B, 0x22, 0x2A, 0x25, 0x14, 0xAD, 0xFD, 0x85, 0x6D, 0x01, 0x95, 0x9A, 0xFF, 0x87, - 0xA1, 0x01, 0x9E, 0x9E, 0xFD, 0x9A, 0x47, 0x86, 0x9A, 0x95, 0x81, 0x31, 0x63, 0x25, 0x47, 0x9A, - 0x21, 0x95, 0xC2, 0x61, 0x68, 0xBD, 0x5B, 0x31, 0x53, 0x25, 0x09, 0x9A, 0x4F, 0x9F, 0x9A, 0x5A, - 0x69, 0x9A, 0x6E, 0xA3, 0x9A, 0xBE, 0x81, 0x31, 0x43, 0x22, 0x0B, 0x9A, 0x67, 0xA4, 0x9A, 0x50, - 0xA4, 0x9A, 0x58, 0xA4, 0x4B, 0x22, 0x8E, 0x09, 0xFD, 0x31, 0x0F, 0x12, 0x9A, 0xE4, 0x87, 0x8E, - 0x9A, 0xFD, 0x4D, 0x00, 0xBD, 0x05, 0x9A, 0x20, 0x01, 0xFA, 0x03, 0x9A, 0x44, 0x01, 0x8E, 0xAB, - 0xFD, 0x31, 0x3F, 0x10, 0xFA, 0x1C, 0xA1, 0x01, 0x48, 0x03, 0xFD, 0x8D, 0x15, 0x31, 0x63, 0x27, - 0x03, 0x9A, 0xBE, 0x81, 0x31, 0x33, 0x03, 0x02, 0x4A, 0x25, 0x31, 0x43, 0x25, 0x02, 0xFA, 0x02, - 0xFA, 0x96, 0x14, 0xAD, 0xFD, 0x85, 0x5D, 0xFE, 0x95, 0x4D, 0x00, 0xBD, 0x03, 0x9A, 0x02, 0x88, - 0x6B, 0x24, 0x9A, 0x67, 0xA4, 0x9B, 0x4A, 0x9B, 0xB6, 0xAF, 0x9A, 0x4C, 0xA4, 0x9A, 0x3B, 0xA4, - 0x9A, 0x42, 0xA4, 0x9A, 0xF4, 0x88, 0x31, 0x73, 0x29, 0x02, 0xFA, 0xFA, 0x7A, 0x22, 0xAF, 0xB7, - 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x9D, 0x3A, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, - 0x30, 0x84, 0x85, 0xD2, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x20, 0xFB, 0xD4, 0x62, 0x95, 0x63, - 0x84, 0x95, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, - 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x2C, 0xFB, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, - 0xC1, 0xF0, 0x3C, 0xF2, 0x37, 0xF0, 0x3D, 0xF2, 0x38, 0xF0, 0x3A, 0xF2, 0x35, 0xF0, 0x3B, 0xF2, - 0x36, 0xF0, 0x39, 0xF2, 0x34, 0x89, 0x68, 0x99, 0x58, 0x89, 0x70, 0x99, 0x60, 0x89, 0x6A, 0x99, - 0x5A, 0x89, 0x72, 0x99, 0x62, 0x89, 0x6C, 0x99, 0x5C, 0x89, 0x74, 0x99, 0x64, 0x89, 0x6E, 0x99, - 0x5E, 0x89, 0x76, 0x99, 0x66, 0xB6, 0xAF, 0x13, 0xE4, 0xFF, 0x13, 0xE5, 0xFF, 0x13, 0xE6, 0xFF, - 0x13, 0xE7, 0xFF, 0xAF, 0x71, 0x1B, 0xE4, 0x71, 0x6B, 0xE5, 0x8E, 0x9A, 0xFD, 0x4D, 0x00, 0xBD, - 0x0B, 0x71, 0x7B, 0xE4, 0x71, 0x0B, 0xE5, 0x71, 0x1B, 0xE5, 0xFA, 0x03, 0x71, 0x0B, 0xE7, 0x71, - 0x2B, 0xE5, 0xAF, 0xF0, 0x36, 0xF2, 0x2D, 0x0D, 0x03, 0xF2, 0x38, 0x12, 0x00, 0x00, 0xAF, 0xF0, - 0x35, 0xF2, 0x2C, 0x0D, 0x03, 0xF2, 0x37, 0x12, 0x00, 0x00, 0xAF, 0xB7, 0x30, 0x83, 0xDC, 0x30, - 0x83, 0xDD, 0xB1, 0x89, 0xD0, 0xB1, 0x89, 0xDE, 0xB1, 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xAE, 0x0E, - 0x30, 0xAE, 0x0F, 0x99, 0xDE, 0x11, 0xD0, 0x00, 0x89, 0xDC, 0xEA, 0x00, 0x00, 0x61, 0xFE, 0x9D, - 0x0B, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0x99, 0xDC, 0x81, 0xD0, 0x89, 0xDE, 0xEA, 0x00, - 0x00, 0x61, 0xFE, 0x9D, 0x0B, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0x99, 0xDE, 0x81, 0xD0, - 0x89, 0xDC, 0xB9, 0x62, 0x89, 0xDE, 0xB9, 0x66, 0x13, 0x68, 0x81, 0x31, 0x77, 0x68, 0x02, 0xFA, - 0xFA, 0xA9, 0x62, 0xBE, 0x01, 0x30, 0x97, 0xA9, 0x64, 0xBE, 0x03, 0x30, 0xBE, 0x02, 0x31, 0x03, - 0xD0, 0x1D, 0x87, 0x30, 0xAE, 0x01, 0x99, 0xB8, 0xAE, 0x02, 0x30, 0xAE, 0x03, 0x99, 0xBA, 0x9A, - 0x1E, 0x5D, 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, 0x02, 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, 0xAE, - 0x02, 0x30, 0xAE, 0x03, 0xD4, 0x87, 0x30, 0xAE, 0x01, 0xD2, 0xB0, 0xB0, 0xB0, 0x99, 0xDE, 0xB0, - 0x99, 0xD0, 0xB0, 0x99, 0xDC, 0xB6, 0xAF, 0xB7, 0xB3, 0xB1, 0x89, 0xD0, 0xB1, 0x89, 0xDC, 0xB1, - 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xAE, 0x10, 0x30, 0xAE, 0x11, 0x99, 0xDC, 0x11, 0xD0, 0x00, 0xAE, - 0x0A, 0x30, 0xAE, 0x0B, 0xEA, 0x00, 0x00, 0x61, 0xFE, 0xBD, 0x08, 0xAE, 0x08, 0x30, 0xAE, 0x09, - 0xEA, 0x00, 0x00, 0x9D, 0x21, 0xAE, 0x08, 0x30, 0xAE, 0x09, 0x99, 0xB8, 0xAE, 0x0A, 0x30, 0xAE, - 0x0B, 0x99, 0xBA, 0x9A, 0x1E, 0x5D, 0x89, 0xBA, 0xBE, 0x0B, 0x30, 0xBE, 0x0A, 0x89, 0xB8, 0xBE, - 0x09, 0x30, 0xBE, 0x08, 0x81, 0xD0, 0x89, 0xDC, 0xEA, 0x00, 0x00, 0x61, 0xFE, 0x9D, 0x0B, 0x30, - 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0x99, 0xDC, 0x81, 0xD0, 0xAE, 0x08, 0x30, 0xAE, 0x09, 0xB9, - 0x62, 0xAE, 0x0A, 0x30, 0xAE, 0x0B, 0xB9, 0x64, 0x89, 0xDC, 0xB9, 0x66, 0x13, 0x68, 0x80, 0x31, - 0x77, 0x68, 0x02, 0xFA, 0xFA, 0xA9, 0x62, 0xBE, 0x01, 0x30, 0x97, 0xA9, 0x64, 0xBE, 0x03, 0x30, - 0xBE, 0x02, 0x31, 0x03, 0xD0, 0x1D, 0x87, 0x30, 0xAE, 0x01, 0x99, 0xB8, 0xAE, 0x02, 0x30, 0xAE, - 0x03, 0x99, 0xBA, 0x9A, 0x1E, 0x5D, 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, 0x02, 0x89, 0xB8, 0xBE, - 0x01, 0x30, 0x97, 0xAE, 0x02, 0x30, 0xAE, 0x03, 0xD4, 0x87, 0x30, 0xAE, 0x01, 0xD2, 0xB0, 0xB0, - 0xB0, 0x99, 0xDC, 0xB0, 0x99, 0xD0, 0xB0, 0xB0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, - 0xB1, 0x31, 0x23, 0x25, 0x3F, 0xA1, 0x00, 0x9E, 0x07, 0xFD, 0x76, 0x66, 0x4D, 0x04, 0x61, 0xFE, - 0x9D, 0x17, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, 0x27, 0xCA, 0x06, 0xFC, 0xD4, 0x89, - 0x7A, 0x30, 0x95, 0x30, 0x84, 0x95, 0x46, 0xFA, 0xE2, 0x89, 0x7A, 0x99, 0xB8, 0xEE, 0xBA, 0x00, - 0x00, 0xA1, 0x02, 0x9A, 0x30, 0x5E, 0x89, 0xBA, 0x99, 0xA4, 0x89, 0xB8, 0x99, 0xA2, 0x89, 0x7A, - 0x99, 0x86, 0xFA, 0x66, 0x8E, 0x07, 0xFD, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x06, 0xFC, 0xD4, 0x85, - 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0xA2, 0x99, 0xB8, 0x89, 0xA4, 0x99, 0xBA, 0x10, 0x00, 0x00, - 0x9A, 0x17, 0x5E, 0x89, 0x7A, 0x99, 0xBC, 0xEE, 0xBE, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0x02, 0x5E, - 0x89, 0xBA, 0x99, 0xA4, 0x89, 0xB8, 0x99, 0xA2, 0x89, 0xA4, 0x99, 0xBA, 0xA1, 0x02, 0x9A, 0x4E, - 0x5E, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x99, 0x86, 0x8E, 0x07, 0xFD, 0xA0, 0x02, - 0x31, 0x88, 0xCA, 0x06, 0xFC, 0xD4, 0x89, 0x7A, 0x30, 0x95, 0x30, 0x84, 0x95, 0x14, 0x07, 0xFD, - 0x85, 0x41, 0x95, 0x4D, 0x04, 0x8D, 0x03, 0xA1, 0x00, 0x95, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, - 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0xC8, 0x34, 0x03, 0x9D, 0x03, 0x11, 0x34, - 0x03, 0xA1, 0x1D, 0x4E, 0x34, 0x9D, 0x02, 0xF2, 0x34, 0x89, 0x82, 0xEA, 0xB0, 0x04, 0x9D, 0x1B, - 0xEA, 0xD0, 0x02, 0x9D, 0x05, 0x11, 0xD3, 0x00, 0xFA, 0x39, 0x89, 0x82, 0xEA, 0xC0, 0x03, 0x9D, - 0x05, 0x11, 0xD3, 0x01, 0xFA, 0x2D, 0x11, 0xD3, 0x02, 0xFA, 0x28, 0x89, 0x82, 0xEA, 0x50, 0x37, - 0x8D, 0x1D, 0xAD, 0x1B, 0xEA, 0x40, 0x38, 0x9D, 0x05, 0x11, 0xD3, 0x1E, 0xFA, 0x15, 0x89, 0x82, - 0xEA, 0x30, 0x39, 0x9D, 0x05, 0x11, 0xD3, 0x1F, 0xFA, 0x09, 0x11, 0xD3, 0x20, 0xFA, 0x04, 0xF0, - 0x34, 0xF2, 0xD3, 0x89, 0x80, 0xEA, 0xB0, 0x04, 0x9D, 0x1B, 0xEA, 0xD0, 0x02, 0x9D, 0x05, 0x11, - 0xD2, 0x00, 0xFA, 0x39, 0x89, 0x80, 0xEA, 0xC0, 0x03, 0x9D, 0x05, 0x11, 0xD2, 0x01, 0xFA, 0x2D, - 0x11, 0xD2, 0x02, 0xFA, 0x28, 0x89, 0x80, 0xEA, 0x30, 0x57, 0x8D, 0x1D, 0xAD, 0x1B, 0xEA, 0x20, - 0x58, 0x9D, 0x05, 0x11, 0xD2, 0x2F, 0xFA, 0x15, 0x89, 0x80, 0xEA, 0x10, 0x59, 0x9D, 0x05, 0x11, - 0xD2, 0x30, 0xFA, 0x09, 0x11, 0xD2, 0x31, 0xFA, 0x04, 0xF0, 0x37, 0xF2, 0xD2, 0xF0, 0xD3, 0xA0, - 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x32, 0x9A, 0x00, 0x01, 0x30, 0x0E, 0xD2, 0x30, 0x2D, 0x00, 0xD6, - 0xCA, 0xF5, 0x10, 0xD4, 0x85, 0xF2, 0xD0, 0x89, 0x7A, 0x30, 0x0E, 0xD0, 0x30, 0x2D, 0x00, 0xCA, - 0x80, 0xFF, 0x99, 0x7A, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0xA7, 0x00, 0x31, - 0x23, 0x25, 0x25, 0x67, 0x9E, 0x08, 0xFD, 0x76, 0x66, 0x4D, 0x04, 0x61, 0xFE, 0x9D, 0x0F, 0x70, - 0x27, 0x61, 0x31, 0xCA, 0x26, 0xFC, 0xD4, 0x8E, 0x04, 0xFD, 0x95, 0x46, 0xFA, 0xEA, 0x8E, 0x04, - 0xFD, 0x9E, 0x05, 0xFD, 0x2B, 0x25, 0xFA, 0x44, 0xA6, 0x00, 0x66, 0x4D, 0x04, 0x61, 0xFE, 0x9D, - 0x12, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x26, 0xFC, 0xD4, 0x85, 0x48, 0x04, 0xFD, 0xBD, 0x01, 0x47, - 0x46, 0xFA, 0xE7, 0x67, 0x4D, 0x02, 0x61, 0xFE, 0x8D, 0x08, 0xAD, 0x06, 0x8E, 0x04, 0xFD, 0x9E, - 0x05, 0xFD, 0x8E, 0x08, 0xFD, 0x72, 0xB7, 0x8E, 0x04, 0xFD, 0x16, 0x26, 0xFC, 0xBA, 0xB6, 0x14, - 0x08, 0xFD, 0x85, 0x41, 0x95, 0x4D, 0x04, 0x8D, 0x03, 0xA1, 0x00, 0x95, 0xB6, 0xAF, 0xB7, 0x89, - 0x66, 0x30, 0x1E, 0x7C, 0x30, 0x3E, 0x7D, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x30, 0xA2, 0x20, 0x31, - 0x82, 0x99, 0x78, 0x89, 0x78, 0xEA, 0x00, 0x04, 0x9D, 0x06, 0x0D, 0x08, 0x99, 0x7A, 0xFA, 0x04, - 0x89, 0x78, 0x99, 0x7A, 0x9A, 0x22, 0xA2, 0x9A, 0x6A, 0xA1, 0x02, 0x84, 0xFB, 0x30, 0x1E, 0x86, - 0x30, 0x3E, 0x87, 0xD6, 0xEA, 0x39, 0x00, 0x61, 0xFE, 0x8D, 0x2D, 0xAD, 0x2B, 0xDA, 0x39, 0x00, - 0xD6, 0x61, 0xFC, 0x25, 0x30, 0x25, 0x61, 0x0E, 0x30, 0x61, 0x2F, 0xA2, 0x04, 0x31, 0x82, 0x31, - 0x5F, 0x02, 0x6D, 0xC0, 0x03, 0x6E, 0xFB, 0xEA, 0xFF, 0x00, 0x61, 0xFE, 0x8D, 0x10, 0xAD, 0x0E, - 0x10, 0xFF, 0x00, 0x03, 0x6E, 0xFB, 0xFA, 0x06, 0x10, 0x00, 0x00, 0x03, 0x6E, 0xFB, 0x02, 0x84, - 0xFB, 0x30, 0x1E, 0x7A, 0x30, 0x3E, 0x7B, 0xD6, 0xEA, 0x39, 0x00, 0x61, 0xFE, 0x8D, 0x09, 0xAD, - 0x07, 0xA1, 0x01, 0x9E, 0x04, 0xFD, 0xFA, 0x05, 0xA1, 0x00, 0x9E, 0x04, 0xFD, 0xC8, 0x32, 0x01, - 0xBD, 0x07, 0x14, 0x04, 0xFD, 0x85, 0x6D, 0x02, 0x95, 0xC8, 0x32, 0x02, 0xBD, 0x07, 0x14, 0x04, - 0xFD, 0x85, 0x6D, 0x04, 0x95, 0x9A, 0xFC, 0xA2, 0x8E, 0x05, 0xFD, 0x31, 0x0E, 0x08, 0x10, 0x00, - 0x00, 0x03, 0x6E, 0xFB, 0xFA, 0x13, 0x8E, 0x05, 0xFD, 0x31, 0x0F, 0x0D, 0x02, 0x6E, 0xFB, 0x61, - 0x68, 0xBD, 0x06, 0x10, 0x01, 0x00, 0x03, 0x6E, 0xFB, 0xB6, 0xAF, 0xEE, 0x12, 0x84, 0x1E, 0x5B, - 0x22, 0xAF, 0x71, 0x6B, 0xE1, 0x13, 0xBA, 0x0C, 0x71, 0x6B, 0xE5, 0xAF, 0x13, 0xBA, 0x00, 0xAF, - 0x02, 0x68, 0xFB, 0x99, 0x12, 0x5A, 0x22, 0xAF, 0xA1, 0x00, 0x9E, 0x03, 0xFD, 0x71, 0x6B, 0xE1, - 0x13, 0xBA, 0x0C, 0x71, 0x6B, 0xE5, 0xAF, 0x13, 0xBA, 0x00, 0xAF, 0xAF, 0xAF, 0x7A, 0x23, 0x11, - 0x3F, 0x00, 0xF0, 0x46, 0xF6, 0x84, 0xAF, 0x60, 0xF6, 0x84, 0xAF, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, - 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, 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, 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, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x30, 0x4F, 0x9D, 0x05, 0x12, 0x01, 0x00, 0xFA, 0x36, 0xA1, 0x03, 0x4E, 0x3B, 0x8D, 0x2D, 0xF0, + 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x72, 0x49, 0x01, 0xBD, + 0x02, 0x30, 0x4F, 0x9D, 0x17, 0x12, 0x01, 0x00, 0xFA, 0x15, 0xA1, 0x0B, 0x4E, 0x33, 0x9D, 0x0C, + 0x0A, 0x25, 0x1B, 0x25, 0x11, 0x33, 0x00, 0x12, 0x01, 0x00, 0xFA, 0x03, 0x12, 0x00, 0x00, 0xB6, + 0xAF, 0xB7, 0x6B, 0x25, 0xC8, 0x3C, 0x03, 0xBD, 0x03, 0x9B, 0x12, 0xAA, 0xC8, 0x3C, 0x2E, 0xBD, + 0x03, 0x9B, 0x12, 0xAA, 0xF0, 0x3A, 0x4D, 0x05, 0xBD, 0x03, 0x9B, 0x06, 0xAA, 0x4D, 0x04, 0xBD, + 0x03, 0x9B, 0xBE, 0xA9, 0x4D, 0x03, 0xBD, 0x03, 0x9B, 0x2E, 0xA9, 0x4D, 0x02, 0xAD, 0x5C, 0x4D, + 0x01, 0xAD, 0x0D, 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0x0C, 0xAA, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, + 0xF0, 0x3A, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6A, 0x49, 0x01, + 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0xF0, 0x3A, 0x0D, 0x02, + 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0xF0, 0x3A, 0x0D, 0x03, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x08, + 0xAD, 0x06, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0x9B, 0x12, 0xAA, 0xF0, 0x3A, 0x1D, 0x02, 0xA0, + 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6C, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, + 0x06, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0xF0, 0x3A, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, + 0x38, 0xFB, 0xD6, 0x89, 0x6A, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, + 0x9B, 0x0D, 0xAC, 0xF0, 0x3A, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0xF0, + 0x3A, 0x0D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, + 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x34, 0xAD, 0x32, 0xF0, 0x3A, 0x0D, 0x03, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0xF0, 0x3A, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, + 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x87, 0x61, 0x1A, 0x30, 0xAE, 0x01, 0x61, 0x3B, 0xEA, 0x2C, + 0x01, 0x8D, 0x08, 0xAD, 0x06, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0x9B, 0x12, 0xAA, 0xF0, 0x3A, + 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0xF0, 0x3A, 0x1D, 0x03, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, + 0x8D, 0x34, 0xAD, 0x32, 0xF0, 0x3A, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, + 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, + 0xD2, 0x87, 0x61, 0x1A, 0x30, 0xAE, 0x01, 0x61, 0x3B, 0xEA, 0x2C, 0x01, 0x8D, 0x08, 0xAD, 0x06, + 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, + 0xFB, 0xD6, 0x89, 0x6C, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, 0x9B, + 0x0D, 0xAC, 0xF0, 0x3A, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6A, + 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x5A, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0xF0, 0x3A, + 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0xF0, 0x3A, 0x1D, 0x03, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, + 0x8D, 0x08, 0xAD, 0x06, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0xF0, 0x3A, 0x1D, 0x02, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x38, 0xFB, 0xD6, 0x89, 0x6C, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x12, + 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0x12, 0x00, 0x00, 0x9B, + 0x0D, 0xAC, 0xC8, 0x3D, 0x03, 0xBD, 0x03, 0x9B, 0x0A, 0xAC, 0xC8, 0x3D, 0x1D, 0xBD, 0x03, 0x9B, + 0x0A, 0xAC, 0xF0, 0x3B, 0x4D, 0x05, 0xBD, 0x03, 0x9B, 0x00, 0xAC, 0x4D, 0x04, 0xBD, 0x03, 0x9B, + 0xBA, 0xAB, 0x4D, 0x03, 0xBD, 0x03, 0x9B, 0x2C, 0xAB, 0x4D, 0x02, 0xAD, 0x5C, 0x4D, 0x01, 0xAD, + 0x0D, 0x4D, 0x00, 0xAD, 0x03, 0x9B, 0x05, 0xAC, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0xF0, 0x3B, + 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x72, 0x49, 0x01, 0xBD, 0x02, + 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0xF0, 0x3B, 0x0D, 0x02, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0xF0, 0x3B, 0x0D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, + 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x08, 0xAD, 0x06, + 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0x9B, 0x0A, 0xAC, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x74, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, + 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0xF0, 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, + 0xD6, 0x89, 0x72, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x06, 0x12, 0x00, 0x00, 0x9B, 0x0D, + 0xAC, 0xF0, 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0xF0, 0x3B, 0x0D, + 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, + 0x02, 0x30, 0x4F, 0x8D, 0x34, 0xAD, 0x32, 0xF0, 0x3B, 0x0D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, + 0x44, 0xFB, 0xD6, 0xF0, 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, + 0x30, 0x84, 0x85, 0xD2, 0x87, 0x61, 0x1A, 0x30, 0xAE, 0x01, 0x61, 0x3B, 0xEA, 0x2C, 0x01, 0x8D, + 0x08, 0xAD, 0x06, 0x12, 0x00, 0x00, 0x9B, 0x0D, 0xAC, 0x9B, 0x0A, 0xAC, 0xF0, 0x3B, 0x1D, 0x02, + 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0xF0, 0x3B, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, + 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x34, + 0xAD, 0x32, 0xF0, 0x3B, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0xF0, 0x3B, + 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x87, + 0x61, 0x1A, 0x30, 0xAE, 0x01, 0x61, 0x3B, 0xEA, 0x2C, 0x01, 0x8D, 0x08, 0xAD, 0x06, 0x12, 0x00, + 0x00, 0x9B, 0x0D, 0xAC, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, + 0x89, 0x74, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x05, 0x12, 0x00, 0x00, 0xFA, 0x6E, 0xF0, + 0x3B, 0x0D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0x89, 0x72, 0x49, 0x01, 0xBD, + 0x02, 0x30, 0x4F, 0x9D, 0x55, 0x12, 0x00, 0x00, 0xFA, 0x53, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, + 0x31, 0x88, 0xCA, 0x44, 0xFB, 0xD6, 0xF0, 0x3B, 0x1D, 0x03, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, + 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x8D, 0x07, 0xAD, 0x05, + 0x12, 0x00, 0x00, 0xFA, 0x28, 0xF0, 0x3B, 0x1D, 0x02, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, + 0xD6, 0x89, 0x74, 0x49, 0x01, 0xBD, 0x02, 0x30, 0x4F, 0x9D, 0x0F, 0x12, 0x00, 0x00, 0xFA, 0x0D, + 0x12, 0x00, 0x00, 0xFA, 0x08, 0x12, 0x00, 0x00, 0xFA, 0x03, 0x12, 0x01, 0x00, 0xB6, 0xAF, 0x02, + 0x58, 0xFB, 0x30, 0x08, 0x50, 0xFB, 0x30, 0x28, 0x51, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, + 0x58, 0xFB, 0x02, 0x56, 0xFB, 0x30, 0x08, 0x54, 0xFB, 0x30, 0x28, 0x55, 0xFB, 0x21, 0x25, 0x30, + 0x25, 0x08, 0x52, 0xFB, 0x30, 0x28, 0x53, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x56, 0xFB, + 0x03, 0x54, 0xFB, 0x10, 0x00, 0x00, 0x03, 0x52, 0xFB, 0x03, 0x50, 0xFB, 0xAF, 0x02, 0x52, 0xFB, + 0x30, 0x08, 0x5A, 0xFB, 0x30, 0x28, 0x5B, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x52, 0xFB, + 0x02, 0x54, 0xFB, 0x30, 0x08, 0x56, 0xFB, 0x30, 0x28, 0x57, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x08, + 0x58, 0xFB, 0x30, 0x28, 0x59, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x54, 0xFB, 0x03, 0x56, + 0xFB, 0x10, 0x00, 0x00, 0x03, 0x58, 0xFB, 0x03, 0x5A, 0xFB, 0xAF, 0x02, 0x64, 0xFB, 0x30, 0x08, + 0x5C, 0xFB, 0x30, 0x28, 0x5D, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x64, 0xFB, 0x02, 0x62, + 0xFB, 0x30, 0x08, 0x60, 0xFB, 0x30, 0x28, 0x61, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x08, 0x5E, 0xFB, + 0x30, 0x28, 0x5F, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x62, 0xFB, 0x03, 0x60, 0xFB, 0x10, + 0x00, 0x00, 0x03, 0x5E, 0xFB, 0x03, 0x5C, 0xFB, 0xAF, 0x02, 0x5E, 0xFB, 0x30, 0x08, 0x66, 0xFB, + 0x30, 0x28, 0x67, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x5E, 0xFB, 0x02, 0x60, 0xFB, 0x30, + 0x08, 0x62, 0xFB, 0x30, 0x28, 0x63, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x08, 0x64, 0xFB, 0x30, 0x28, + 0x65, 0xFB, 0x21, 0x25, 0x30, 0x25, 0x30, 0x03, 0x60, 0xFB, 0x03, 0x62, 0xFB, 0x10, 0x00, 0x00, + 0x03, 0x64, 0xFB, 0x03, 0x66, 0xFB, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0xA6, 0x00, 0x66, 0x4D, 0x06, + 0x9D, 0x26, 0x61, 0x01, 0x77, 0x66, 0x72, 0x02, 0x6E, 0xFD, 0xB7, 0xD6, 0xAA, 0xB6, 0xF2, 0xD0, + 0x67, 0x72, 0xB7, 0xF0, 0xD0, 0x16, 0x4B, 0xFE, 0xBA, 0xB6, 0x67, 0x41, 0x72, 0xB7, 0xF0, 0xD0, + 0x16, 0x4B, 0xFE, 0xBA, 0xB6, 0x46, 0xFA, 0xD5, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, + 0xB1, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x9D, 0x29, 0x61, 0x01, 0x77, 0xA1, 0x05, 0x61, 0x1E, 0x72, + 0x02, 0x6E, 0xFD, 0xB7, 0xD6, 0xAA, 0xB6, 0xF2, 0xD0, 0x67, 0x72, 0xB7, 0xF0, 0xD0, 0x16, 0x4B, + 0xFE, 0xBA, 0xB6, 0x67, 0x41, 0x72, 0xB7, 0xF0, 0xD0, 0x16, 0x4B, 0xFE, 0xBA, 0xB6, 0x46, 0xFA, + 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x9A, 0xDB, 0x98, 0x9A, 0x5E, 0x9A, 0x9A, 0xFB, 0x99, + 0x9A, 0x0B, 0xB7, 0x9A, 0xFA, 0xB6, 0x9A, 0x01, 0xB7, 0x9A, 0x34, 0x9B, 0x31, 0x73, 0x29, 0x02, + 0xFA, 0xFA, 0x7A, 0x22, 0xA1, 0x00, 0x9E, 0x6C, 0xFD, 0x31, 0x33, 0x03, 0x02, 0x4A, 0x25, 0xCC, + 0x25, 0x03, 0x9B, 0x9C, 0xAF, 0x8E, 0x68, 0xFD, 0x51, 0xBD, 0x03, 0x9B, 0x69, 0xAF, 0x31, 0x73, + 0x24, 0x02, 0xFA, 0xFA, 0xA6, 0x00, 0x31, 0x73, 0x27, 0x03, 0x9B, 0x87, 0xAE, 0x10, 0x00, 0x00, + 0x03, 0x6E, 0xFB, 0x7A, 0x27, 0x46, 0x66, 0x51, 0x72, 0xB7, 0xA1, 0xA0, 0x16, 0x2B, 0xFD, 0xBA, + 0xB6, 0x02, 0x70, 0xFB, 0xA0, 0x00, 0x70, 0x61, 0xFC, 0x25, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, + 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x02, 0x70, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, + 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x02, 0x72, + 0xFB, 0xA0, 0x00, 0x70, 0x61, 0xFC, 0x25, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, + 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x02, 0x72, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, 0x72, + 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x8E, 0x6E, 0xFB, 0x5D, 0x7F, + 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x8E, 0x70, 0xFB, 0x5D, + 0x03, 0x24, 0x24, 0x24, 0x5D, 0xE0, 0x72, 0x8E, 0x72, 0xFB, 0x5D, 0x03, 0x26, 0x26, 0x26, 0x5D, + 0xF8, 0x61, 0x62, 0x02, 0x6E, 0xFB, 0x30, 0x61, 0x01, 0x30, 0x27, 0x70, 0x27, 0x61, 0x31, 0x60, + 0x5D, 0x07, 0x61, 0x62, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x46, + 0x66, 0x51, 0x72, 0xB7, 0xA1, 0x00, 0x16, 0x2B, 0xFD, 0xBA, 0xB6, 0x46, 0x66, 0x51, 0x72, 0xB7, + 0xA1, 0x00, 0x16, 0x2B, 0xFD, 0xBA, 0xB6, 0x31, 0x13, 0x24, 0x03, 0x9B, 0x58, 0xAF, 0x10, 0x00, + 0x00, 0x03, 0x6E, 0xFB, 0x1A, 0x24, 0x46, 0x66, 0x51, 0x72, 0xB7, 0xA1, 0x80, 0x16, 0x2B, 0xFD, + 0xBA, 0xB6, 0x02, 0x70, 0xFB, 0xA0, 0x00, 0x70, 0x61, 0xFC, 0x25, 0x5D, 0x7F, 0x72, 0x46, 0x66, + 0x51, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x02, 0x70, 0xFB, 0xA2, 0x04, 0x31, 0x82, + 0x60, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x02, + 0x72, 0xFB, 0xA0, 0x00, 0x70, 0x61, 0xFC, 0x25, 0x5D, 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, + 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x02, 0x72, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x60, 0x5D, 0x7F, + 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x8E, 0x6E, 0xFB, 0x5D, + 0x7F, 0x72, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, 0x8E, 0x70, 0xFB, + 0x5D, 0x03, 0x24, 0x24, 0x24, 0x5D, 0xE0, 0x72, 0x8E, 0x72, 0xFB, 0x5D, 0x03, 0x26, 0x26, 0x26, + 0x5D, 0xF8, 0x61, 0x62, 0x02, 0x6E, 0xFB, 0x30, 0x61, 0x01, 0x30, 0x27, 0x70, 0x27, 0x61, 0x31, + 0x60, 0x5D, 0x07, 0x61, 0x62, 0x46, 0x66, 0x51, 0x73, 0xB7, 0x62, 0x16, 0x2B, 0xFD, 0xBB, 0xB6, + 0x46, 0x66, 0x51, 0x72, 0xB7, 0xA1, 0x00, 0x16, 0x2B, 0xFD, 0xBA, 0xB6, 0x46, 0x66, 0x51, 0x72, + 0xB7, 0xA1, 0x00, 0x16, 0x2B, 0xFD, 0xBA, 0xB6, 0x66, 0xF2, 0x42, 0xC8, 0x42, 0x00, 0xAD, 0x03, + 0x9A, 0xA5, 0x75, 0x31, 0x73, 0x24, 0x02, 0xFA, 0xFA, 0x9A, 0xFE, 0x99, 0x9A, 0xFD, 0xB1, 0xF4, + 0x48, 0x5D, 0x6F, 0xF6, 0x48, 0xF4, 0x49, 0x6D, 0x10, 0xF6, 0x49, 0x71, 0x5B, 0xE4, 0x9A, 0xFB, + 0x99, 0x9A, 0x04, 0x9A, 0x9A, 0xFE, 0x99, 0xF4, 0x48, 0x5D, 0x6F, 0xF6, 0x48, 0xF4, 0x49, 0x5D, + 0x6F, 0xF6, 0x49, 0x71, 0x5A, 0xE4, 0x9A, 0x0A, 0xB2, 0x9A, 0xFB, 0x99, 0x8E, 0x77, 0xFD, 0x4D, + 0x00, 0xBD, 0x6D, 0x31, 0x73, 0x25, 0x69, 0x9A, 0xFE, 0x99, 0x9A, 0xFD, 0xB1, 0x8E, 0x68, 0xFD, + 0x4D, 0x00, 0xBD, 0x0F, 0xF4, 0x48, 0x5D, 0x7B, 0xF6, 0x48, 0xF4, 0x49, 0x6D, 0x04, 0xF6, 0x49, + 0x71, 0x3B, 0xE4, 0x71, 0x7B, 0x6C, 0x13, 0x6C, 0x60, 0x11, 0x1A, 0xFF, 0x71, 0x1B, 0xA0, 0xA1, + 0x00, 0x9E, 0xD8, 0xFC, 0x71, 0x3B, 0xE1, 0x71, 0x3B, 0xE5, 0x71, 0x7A, 0x6C, 0x13, 0x99, 0xAC, + 0x9A, 0xFB, 0x99, 0x9A, 0x04, 0x9A, 0x9A, 0xFE, 0x99, 0x71, 0x7B, 0x6C, 0x71, 0x1A, 0xA0, 0x8E, + 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x12, 0xF4, 0x48, 0x5D, 0x7B, 0xF6, 0x48, 0xF4, 0x49, 0x5D, 0x7B, + 0xF6, 0x49, 0x71, 0x3A, 0xE4, 0x71, 0x3B, 0xE0, 0x9A, 0x0A, 0xB2, 0x9A, 0xFB, 0x99, 0x7A, 0x22, + 0x9A, 0xB0, 0x93, 0x9A, 0xD9, 0x93, 0x8E, 0x75, 0xFD, 0x31, 0x3F, 0x0D, 0x9A, 0xFE, 0x89, 0x14, + 0x75, 0xFD, 0x85, 0x5D, 0xF7, 0x95, 0x6D, 0x04, 0x95, 0x8E, 0xD7, 0xFC, 0x31, 0x0F, 0x12, 0x9A, + 0xFE, 0x99, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x05, 0x9A, 0x20, 0x01, 0xFA, 0x03, 0x9A, 0x44, + 0x01, 0xFC, 0x22, 0x05, 0xC8, 0x2B, 0x00, 0xAD, 0x3E, 0x7B, 0x22, 0x9A, 0x25, 0x84, 0xC2, 0x61, + 0x68, 0xAD, 0x32, 0x9A, 0x0B, 0xB7, 0x7B, 0x25, 0x9A, 0x4B, 0xA5, 0x9A, 0x0F, 0xB7, 0x9A, 0x17, + 0xB7, 0x31, 0x63, 0x25, 0x02, 0xFA, 0x07, 0xA1, 0x01, 0x48, 0xD1, 0xFC, 0x9D, 0xF3, 0x31, 0x63, + 0x25, 0x10, 0x9A, 0x11, 0xA8, 0xC2, 0x61, 0x68, 0xBD, 0x5E, 0x9A, 0x26, 0xB7, 0x9A, 0x70, 0xB1, + 0xFA, 0x53, 0x9A, 0x70, 0xB1, 0xFA, 0x4E, 0x9A, 0xD9, 0x93, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, + 0x29, 0xEC, 0x27, 0x41, 0xFC, 0x24, 0x3E, 0x9A, 0xFE, 0x99, 0x9A, 0xFD, 0xB1, 0x71, 0x6B, 0xE5, + 0x71, 0x7B, 0xE4, 0x71, 0x0B, 0xE5, 0x71, 0x1B, 0xE5, 0x9A, 0xFB, 0x99, 0x9A, 0x01, 0x9A, 0x9A, + 0xFE, 0x99, 0x9A, 0x0A, 0xB2, 0x9A, 0xFB, 0x99, 0xFA, 0x1B, 0x9A, 0xFE, 0x99, 0x9A, 0xFD, 0xB1, + 0x71, 0x6B, 0xE5, 0x71, 0x0B, 0xE7, 0x9A, 0xFB, 0x99, 0x9A, 0x01, 0x9A, 0x9A, 0xFE, 0x99, 0x9A, + 0x0A, 0xB2, 0x9A, 0xFB, 0x99, 0x9B, 0x94, 0xAD, 0x4B, 0x22, 0x2A, 0x25, 0x14, 0x77, 0xFD, 0x85, + 0x6D, 0x01, 0x95, 0x9A, 0x19, 0x9A, 0xA1, 0x01, 0x9E, 0x6C, 0xFD, 0x9A, 0x5C, 0x98, 0x9A, 0xB0, + 0x93, 0x31, 0x63, 0x25, 0x47, 0x9A, 0x57, 0xA7, 0xC2, 0x61, 0x68, 0xBD, 0x5B, 0x31, 0x53, 0x25, + 0x09, 0x9A, 0x85, 0xB1, 0x9A, 0x57, 0x72, 0x9A, 0xB1, 0xB5, 0x9A, 0xD9, 0x93, 0x31, 0x43, 0x22, + 0x0B, 0x9A, 0x26, 0xB7, 0x9A, 0x0F, 0xB7, 0x9A, 0x17, 0xB7, 0x4B, 0x22, 0x8E, 0xD7, 0xFC, 0x31, + 0x0F, 0x12, 0x9A, 0xFE, 0x99, 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x05, 0x9A, 0x20, 0x01, 0xFA, + 0x03, 0x9A, 0x44, 0x01, 0x8E, 0x75, 0xFD, 0x31, 0x3F, 0x10, 0xFA, 0x1C, 0xA1, 0x01, 0x48, 0xD1, + 0xFC, 0x8D, 0x15, 0x31, 0x63, 0x27, 0x03, 0x9A, 0xD9, 0x93, 0x31, 0x33, 0x03, 0x02, 0x4A, 0x25, + 0x31, 0x43, 0x25, 0x02, 0xFA, 0x02, 0xFA, 0x96, 0x14, 0x77, 0xFD, 0x85, 0x5D, 0xFE, 0x95, 0x4D, + 0x00, 0xBD, 0x03, 0x9A, 0x1C, 0x9A, 0x6B, 0x24, 0x9A, 0x26, 0xB7, 0x9B, 0x80, 0xAD, 0xB6, 0xAF, + 0x9A, 0x0B, 0xB7, 0x9A, 0xFA, 0xB6, 0x9A, 0x01, 0xB7, 0x9A, 0x34, 0x9B, 0x31, 0x73, 0x29, 0x02, + 0xFA, 0xFA, 0x7A, 0x22, 0xAF, 0xB7, 0xA6, 0x00, 0x66, 0x4D, 0x06, 0x9D, 0x3A, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x38, 0xFB, 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, + 0x20, 0xFB, 0xD4, 0x62, 0x95, 0x63, 0x84, 0x95, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x44, 0xFB, + 0xD4, 0x85, 0x30, 0x84, 0x85, 0xD2, 0x66, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x2C, 0xFB, 0xD4, 0x62, + 0x95, 0x63, 0x84, 0x95, 0x46, 0xFA, 0xC1, 0xF0, 0x3C, 0xF2, 0x37, 0xF0, 0x3D, 0xF2, 0x38, 0xF0, + 0x3A, 0xF2, 0x35, 0xF0, 0x3B, 0xF2, 0x36, 0xF0, 0x39, 0xF2, 0x34, 0x89, 0x68, 0x99, 0x58, 0x89, + 0x70, 0x99, 0x60, 0x89, 0x6A, 0x99, 0x5A, 0x89, 0x72, 0x99, 0x62, 0x89, 0x6C, 0x99, 0x5C, 0x89, + 0x74, 0x99, 0x64, 0x89, 0x6E, 0x99, 0x5E, 0x89, 0x76, 0x99, 0x66, 0xB6, 0xAF, 0x13, 0xE4, 0xFF, + 0x13, 0xE5, 0xFF, 0x13, 0xE6, 0xFF, 0x13, 0xE7, 0xFF, 0xAF, 0x71, 0x1B, 0xE4, 0x71, 0x6B, 0xE5, + 0x8E, 0x68, 0xFD, 0x4D, 0x00, 0xBD, 0x0B, 0x71, 0x7B, 0xE4, 0x71, 0x0B, 0xE5, 0x71, 0x1B, 0xE5, + 0xFA, 0x03, 0x71, 0x0B, 0xE7, 0x71, 0x2B, 0xE5, 0xAF, 0xF0, 0x36, 0xF2, 0x2D, 0x0D, 0x03, 0xF2, + 0x38, 0x12, 0x00, 0x00, 0xAF, 0xF0, 0x35, 0xF2, 0x2C, 0x0D, 0x03, 0xF2, 0x37, 0x12, 0x00, 0x00, + 0xAF, 0xB7, 0x30, 0x83, 0xDC, 0x30, 0x83, 0xDD, 0xB1, 0x89, 0xD0, 0xB1, 0x89, 0xDE, 0xB1, 0xB1, + 0xB1, 0x89, 0x1C, 0xD6, 0xAE, 0x0E, 0x30, 0xAE, 0x0F, 0x99, 0xDE, 0x11, 0xD0, 0x00, 0x89, 0xDC, + 0xEA, 0x00, 0x00, 0x61, 0xFE, 0x9D, 0x0B, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0x99, 0xDC, + 0x81, 0xD0, 0x89, 0xDE, 0xEA, 0x00, 0x00, 0x61, 0xFE, 0x9D, 0x0B, 0x30, 0x7D, 0xFF, 0x30, 0x7D, + 0xFF, 0x80, 0x99, 0xDE, 0x81, 0xD0, 0x89, 0xDC, 0xB9, 0x62, 0x89, 0xDE, 0xB9, 0x66, 0x13, 0x68, + 0x81, 0x31, 0x77, 0x68, 0x02, 0xFA, 0xFA, 0xA9, 0x62, 0xBE, 0x01, 0x30, 0x97, 0xA9, 0x64, 0xBE, + 0x03, 0x30, 0xBE, 0x02, 0x31, 0x03, 0xD0, 0x1D, 0x87, 0x30, 0xAE, 0x01, 0x99, 0xB8, 0xAE, 0x02, + 0x30, 0xAE, 0x03, 0x99, 0xBA, 0x9A, 0x51, 0x64, 0x89, 0xBA, 0xBE, 0x03, 0x30, 0xBE, 0x02, 0x89, + 0xB8, 0xBE, 0x01, 0x30, 0x97, 0xAE, 0x02, 0x30, 0xAE, 0x03, 0xD4, 0x87, 0x30, 0xAE, 0x01, 0xD2, + 0xB0, 0xB0, 0xB0, 0x99, 0xDE, 0xB0, 0x99, 0xD0, 0xB0, 0x99, 0xDC, 0xB6, 0xAF, 0xB7, 0xB3, 0xB1, + 0x89, 0xD0, 0xB1, 0x89, 0xDC, 0xB1, 0xB1, 0xB1, 0x89, 0x1C, 0xD6, 0xAE, 0x10, 0x30, 0xAE, 0x11, + 0x99, 0xDC, 0x11, 0xD0, 0x00, 0xAE, 0x0A, 0x30, 0xAE, 0x0B, 0xEA, 0x00, 0x00, 0x61, 0xFE, 0xBD, + 0x08, 0xAE, 0x08, 0x30, 0xAE, 0x09, 0xEA, 0x00, 0x00, 0x9D, 0x21, 0xAE, 0x08, 0x30, 0xAE, 0x09, + 0x99, 0xB8, 0xAE, 0x0A, 0x30, 0xAE, 0x0B, 0x99, 0xBA, 0x9A, 0x51, 0x64, 0x89, 0xBA, 0xBE, 0x0B, + 0x30, 0xBE, 0x0A, 0x89, 0xB8, 0xBE, 0x09, 0x30, 0xBE, 0x08, 0x81, 0xD0, 0x89, 0xDC, 0xEA, 0x00, + 0x00, 0x61, 0xFE, 0x9D, 0x0B, 0x30, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x80, 0x99, 0xDC, 0x81, 0xD0, + 0xAE, 0x08, 0x30, 0xAE, 0x09, 0xB9, 0x62, 0xAE, 0x0A, 0x30, 0xAE, 0x0B, 0xB9, 0x64, 0x89, 0xDC, + 0xB9, 0x66, 0x13, 0x68, 0x80, 0x31, 0x77, 0x68, 0x02, 0xFA, 0xFA, 0xA9, 0x62, 0xBE, 0x01, 0x30, + 0x97, 0xA9, 0x64, 0xBE, 0x03, 0x30, 0xBE, 0x02, 0x31, 0x03, 0xD0, 0x1D, 0x87, 0x30, 0xAE, 0x01, + 0x99, 0xB8, 0xAE, 0x02, 0x30, 0xAE, 0x03, 0x99, 0xBA, 0x9A, 0x51, 0x64, 0x89, 0xBA, 0xBE, 0x03, + 0x30, 0xBE, 0x02, 0x89, 0xB8, 0xBE, 0x01, 0x30, 0x97, 0xAE, 0x02, 0x30, 0xAE, 0x03, 0xD4, 0x87, + 0x30, 0xAE, 0x01, 0xD2, 0xB0, 0xB0, 0xB0, 0x99, 0xDC, 0xB0, 0x99, 0xD0, 0xB0, 0xB0, 0xB6, 0xAF, + 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0x31, 0x23, 0x25, 0x3F, 0xA1, 0x00, 0x9E, 0xD5, 0xFC, + 0x76, 0x66, 0x4D, 0x04, 0x61, 0xFE, 0x9D, 0x17, 0x70, 0x27, 0x61, 0x31, 0x30, 0x61, 0x01, 0x30, + 0x27, 0xCA, 0x06, 0xFC, 0xD4, 0x89, 0x7A, 0x30, 0x95, 0x30, 0x84, 0x95, 0x46, 0xFA, 0xE2, 0x89, + 0x7A, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0xA1, 0x02, 0x9A, 0xB2, 0x65, 0x89, 0xBA, 0x99, 0xA4, + 0x89, 0xB8, 0x99, 0xA2, 0x89, 0x7A, 0x99, 0x86, 0xFA, 0x66, 0x8E, 0xD5, 0xFC, 0xA0, 0x02, 0x31, + 0x88, 0xCA, 0x06, 0xFC, 0xD4, 0x85, 0x30, 0x84, 0x85, 0x99, 0xBC, 0x89, 0xA2, 0x99, 0xB8, 0x89, + 0xA4, 0x99, 0xBA, 0x10, 0x00, 0x00, 0x9A, 0x99, 0x65, 0x89, 0x7A, 0x99, 0xBC, 0xEE, 0xBE, 0x00, + 0x00, 0x89, 0xBE, 0x9A, 0x84, 0x65, 0x89, 0xBA, 0x99, 0xA4, 0x89, 0xB8, 0x99, 0xA2, 0x89, 0xA4, + 0x99, 0xBA, 0xA1, 0x02, 0x9A, 0xD0, 0x65, 0x89, 0xBA, 0x99, 0xD2, 0x89, 0xB8, 0x99, 0xD0, 0x99, + 0x86, 0x8E, 0xD5, 0xFC, 0xA0, 0x02, 0x31, 0x88, 0xCA, 0x06, 0xFC, 0xD4, 0x89, 0x7A, 0x30, 0x95, + 0x30, 0x84, 0x95, 0x14, 0xD5, 0xFC, 0x85, 0x41, 0x95, 0x4D, 0x04, 0x8D, 0x03, 0xA1, 0x00, 0x95, + 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, 0x89, 0xD0, 0xB1, 0x89, 0xD2, 0xB1, 0xC8, + 0x34, 0x03, 0x9D, 0x03, 0x11, 0x34, 0x03, 0xA1, 0x1D, 0x4E, 0x34, 0x9D, 0x02, 0xF2, 0x34, 0x89, + 0x82, 0xEA, 0xB0, 0x04, 0x9D, 0x1B, 0xEA, 0xD0, 0x02, 0x9D, 0x05, 0x11, 0xD3, 0x00, 0xFA, 0x39, + 0x89, 0x82, 0xEA, 0xC0, 0x03, 0x9D, 0x05, 0x11, 0xD3, 0x01, 0xFA, 0x2D, 0x11, 0xD3, 0x02, 0xFA, + 0x28, 0x89, 0x82, 0xEA, 0x50, 0x37, 0x8D, 0x1D, 0xAD, 0x1B, 0xEA, 0x40, 0x38, 0x9D, 0x05, 0x11, + 0xD3, 0x1E, 0xFA, 0x15, 0x89, 0x82, 0xEA, 0x30, 0x39, 0x9D, 0x05, 0x11, 0xD3, 0x1F, 0xFA, 0x09, + 0x11, 0xD3, 0x20, 0xFA, 0x04, 0xF0, 0x34, 0xF2, 0xD3, 0x89, 0x80, 0xEA, 0xB0, 0x04, 0x9D, 0x1B, + 0xEA, 0xD0, 0x02, 0x9D, 0x05, 0x11, 0xD2, 0x00, 0xFA, 0x39, 0x89, 0x80, 0xEA, 0xC0, 0x03, 0x9D, + 0x05, 0x11, 0xD2, 0x01, 0xFA, 0x2D, 0x11, 0xD2, 0x02, 0xFA, 0x28, 0x89, 0x80, 0xEA, 0x30, 0x57, + 0x8D, 0x1D, 0xAD, 0x1B, 0xEA, 0x20, 0x58, 0x9D, 0x05, 0x11, 0xD2, 0x2F, 0xFA, 0x15, 0x89, 0x80, + 0xEA, 0x10, 0x59, 0x9D, 0x05, 0x11, 0xD2, 0x30, 0xFA, 0x09, 0x11, 0xD2, 0x31, 0xFA, 0x04, 0xF0, + 0x37, 0xF2, 0xD2, 0xF0, 0xD3, 0xA0, 0x00, 0x30, 0x99, 0xB8, 0xA0, 0x32, 0x9A, 0x00, 0x01, 0x30, + 0x0E, 0xD2, 0x30, 0x2D, 0x00, 0xD6, 0xCA, 0xF5, 0x10, 0xD4, 0x85, 0xF2, 0xD0, 0xA0, 0x00, 0x30, + 0xA2, 0x04, 0x30, 0x61, 0x01, 0x30, 0x27, 0x8A, 0xF9, 0x30, 0x0E, 0x7A, 0x30, 0x2E, 0x7B, 0x1D, + 0x08, 0x99, 0x7A, 0xC6, 0x03, 0x86, 0xF4, 0xB0, 0x99, 0xD2, 0xB0, 0x99, 0xD0, 0xB6, 0xAF, 0xB7, + 0xA7, 0x00, 0x31, 0x23, 0x25, 0x25, 0x67, 0x9E, 0xD6, 0xFC, 0x76, 0x66, 0x4D, 0x04, 0x61, 0xFE, + 0x9D, 0x0F, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x26, 0xFC, 0xD4, 0x8E, 0xD2, 0xFC, 0x95, 0x46, 0xFA, + 0xEA, 0x8E, 0xD2, 0xFC, 0x9E, 0xD3, 0xFC, 0x2B, 0x25, 0xFA, 0x44, 0xA6, 0x00, 0x66, 0x4D, 0x04, + 0x61, 0xFE, 0x9D, 0x12, 0x70, 0x27, 0x61, 0x31, 0xCA, 0x26, 0xFC, 0xD4, 0x85, 0x48, 0xD2, 0xFC, + 0xBD, 0x01, 0x47, 0x46, 0xFA, 0xE7, 0x67, 0x4D, 0x02, 0x61, 0xFE, 0x8D, 0x08, 0xAD, 0x06, 0x8E, + 0xD2, 0xFC, 0x9E, 0xD3, 0xFC, 0x8E, 0xD6, 0xFC, 0x72, 0xB7, 0x8E, 0xD2, 0xFC, 0x16, 0x26, 0xFC, + 0xBA, 0xB6, 0x14, 0xD6, 0xFC, 0x85, 0x41, 0x95, 0x4D, 0x04, 0x8D, 0x03, 0xA1, 0x00, 0x95, 0xB6, + 0xAF, 0xB7, 0x89, 0x66, 0x30, 0x1E, 0x7C, 0x30, 0x3E, 0x7D, 0x7D, 0xFF, 0x30, 0x7D, 0xFF, 0x30, + 0x21, 0x25, 0x30, 0x25, 0x30, 0x99, 0x78, 0x89, 0x78, 0xEA, 0x00, 0x40, 0x9D, 0x06, 0x0D, 0x80, + 0x99, 0x7A, 0xFA, 0x04, 0x89, 0x78, 0x99, 0x7A, 0x9A, 0x58, 0xB4, 0x02, 0x84, 0xFB, 0xDA, 0x8F, + 0x03, 0xD2, 0x02, 0x84, 0xFB, 0x30, 0x1E, 0x7A, 0x30, 0x3E, 0x7B, 0xDA, 0x8F, 0x03, 0x99, 0xB8, + 0x27, 0x61, 0x31, 0x70, 0x99, 0xBA, 0x02, 0x86, 0xF4, 0xCA, 0x68, 0x5D, 0xD4, 0x85, 0x74, 0x10, + 0x01, 0x80, 0x61, 0x1C, 0x30, 0x3D, 0x00, 0x99, 0xBC, 0x27, 0x61, 0x31, 0x70, 0x99, 0xBE, 0x9A, + 0x6A, 0x64, 0xEE, 0xBC, 0x00, 0x01, 0x10, 0x00, 0x00, 0x9A, 0xB9, 0x64, 0x89, 0xB8, 0x99, 0xBC, + 0x89, 0xBA, 0x99, 0xBE, 0xC2, 0x99, 0xB8, 0xEE, 0xBA, 0x00, 0x00, 0x89, 0xBE, 0x9A, 0x99, 0x65, + 0x89, 0xB8, 0x99, 0x7A, 0x9A, 0xA0, 0xB3, 0x02, 0x84, 0xFB, 0x30, 0x1E, 0x86, 0x30, 0x3E, 0x87, + 0xD6, 0xEA, 0x8F, 0x03, 0x61, 0xFE, 0x8D, 0x4F, 0xAD, 0x4D, 0xDA, 0x8F, 0x03, 0xD6, 0xA2, 0x08, + 0x31, 0x82, 0x31, 0x4F, 0x02, 0x6D, 0xE0, 0x30, 0x61, 0x0E, 0x30, 0x61, 0x2F, 0xD4, 0xC6, 0xA2, + 0x10, 0x31, 0x82, 0x31, 0x3F, 0x02, 0x6D, 0xF0, 0x30, 0x61, 0x0C, 0x30, 0x61, 0x2D, 0xA2, 0x04, + 0x31, 0x82, 0x31, 0x5F, 0x02, 0x6D, 0xC0, 0x03, 0x6E, 0xFB, 0xA2, 0x04, 0x31, 0x82, 0x31, 0x5F, + 0x02, 0x6D, 0xC0, 0x03, 0x6E, 0xFB, 0xEA, 0xFF, 0x03, 0x61, 0xFE, 0x8D, 0x10, 0xAD, 0x0E, 0x10, + 0xFF, 0x03, 0x03, 0x6E, 0xFB, 0xFA, 0x06, 0x10, 0x00, 0x00, 0x03, 0x6E, 0xFB, 0x02, 0x84, 0xFB, + 0x30, 0x1E, 0x7A, 0x30, 0x3E, 0x7B, 0xD6, 0xEA, 0x8F, 0x03, 0x61, 0xFE, 0x8D, 0x09, 0xAD, 0x07, + 0xA1, 0x01, 0x9E, 0xD2, 0xFC, 0xFA, 0x05, 0xA1, 0x00, 0x9E, 0xD2, 0xFC, 0xC8, 0x32, 0x01, 0xBD, + 0x07, 0x14, 0xD2, 0xFC, 0x85, 0x6D, 0x02, 0x95, 0xC8, 0x32, 0x02, 0xBD, 0x07, 0x14, 0xD2, 0xFC, + 0x85, 0x6D, 0x04, 0x95, 0x9A, 0x3F, 0xB5, 0x8E, 0xD3, 0xFC, 0x31, 0x0E, 0x08, 0x10, 0x00, 0x00, + 0x03, 0x6E, 0xFB, 0xFA, 0x13, 0x8E, 0xD3, 0xFC, 0x31, 0x0F, 0x0D, 0x02, 0x6E, 0xFB, 0x61, 0x68, + 0xBD, 0x06, 0x10, 0x01, 0x00, 0x03, 0x6E, 0xFB, 0xB6, 0xAF, 0xEE, 0x12, 0x84, 0x1E, 0x5B, 0x22, + 0xAF, 0x71, 0x6B, 0xE1, 0x13, 0xBA, 0x0C, 0x71, 0x6B, 0xE5, 0xAF, 0x13, 0xBA, 0x00, 0xAF, 0x02, + 0x68, 0xFB, 0x99, 0x12, 0x5A, 0x22, 0xAF, 0xA1, 0x00, 0x9E, 0xD1, 0xFC, 0x71, 0x6B, 0xE1, 0x13, + 0xBA, 0x0C, 0x71, 0x6B, 0xE5, 0xAF, 0x13, 0xBA, 0x00, 0xAF, 0xAF, 0xAF, 0x7A, 0x23, 0x11, 0x3F, + 0x00, 0xF0, 0x46, 0xF6, 0x84, 0xAF, 0x60, 0xF6, 0x84, 0xAF, 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, 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, 0xFF, 0xFF, 0xFF, 0xFF, diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_flash.c b/drivers/input/touchscreen/wacom/wacom_i2c_flash.c index c8eb9b1..268afe6 100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c_flash.c +++ b/drivers/input/touchscreen/wacom/wacom_i2c_flash.c @@ -18,9 +18,42 @@ */ #include <linux/wacom_i2c.h> - #include "wacom_i2c_flash.h" +#define ERR_HEX 0x056 +#define RETRY_TRANSFER 5 +unsigned char checksum_data[4]; + +int calc_checksum(unsigned char *flash_data) +{ + unsigned long i; + + if (ums_binary) + return 0; + + for (i = 0; i < 4; i++) + checksum_data[i] = 0; + + for (i = 0x0000; i < 0xC000; i += 4) { + checksum_data[0] ^= flash_data[i]; + checksum_data[1] ^= flash_data[i+1]; + checksum_data[2] ^= flash_data[i+2]; + checksum_data[3] ^= flash_data[i+3]; + } + + printk(KERN_DEBUG + "[E-PEN] %s : %02x, %02x, %02x, %02x\n", + __func__, checksum_data[0], checksum_data[1], + checksum_data[2], checksum_data[3]); + + for (i = 0; i < 4; i++) { + if (checksum_data[i] != Firmware_checksum[i+1]) + return -ERR_HEX; + } + + return 0; +} + int wacom_i2c_flash_chksum(struct wacom_i2c *wac_i2c, unsigned char *flash_data, unsigned long *max_address) { @@ -52,24 +85,23 @@ int wacom_i2c_flash_cmd(struct wacom_i2c *wac_i2c) flashq = 0xE0; len = 1; - ret = wacom_i2c_master_send(wac_i2c->client, &flashq, len, - WACOM_I2C_BOOT); + ret = wacom_i2c_send(wac_i2c, &flashq, len, true); if (ret >= 0) { i = 0; do { - msleep(20); - ret = wacom_i2c_master_recv(wac_i2c->client, &flashq, - len, WACOM_I2C_BOOT); + msleep(1); + ret = wacom_i2c_recv(wac_i2c, + &flashq, len, true); i++; if (i > RETRY) return -1; } while (flashq == 0xff); } else { - msleep(20); + msleep(1); len = 8; - ret = i2c_master_send(wac_i2c->client, buf, len); + ret = wacom_i2c_send(wac_i2c, buf, len, false); if (ret < 0) { printk(KERN_ERR "[E-PEN]: Sending flash command failed\n"); @@ -79,6 +111,8 @@ int wacom_i2c_flash_cmd(struct wacom_i2c *wac_i2c) msleep(270); } + wac_i2c->boot_mode = true; + return 0; } @@ -90,21 +124,20 @@ int wacom_i2c_flash_query(struct wacom_i2c *wac_i2c, u8 query, u8 recvdQuery) flashq = query; len = 1; - ret = wacom_i2c_master_send(wac_i2c->client, &flashq, len, - WACOM_I2C_BOOT); + ret = wacom_i2c_send(wac_i2c, &flashq, len, true); if (ret < 0) { printk(KERN_ERR "[E-PEN]: query unsent:%d\n", ret); return -1; } - /*sleep */ - msleep(20); + /*sleep*/ + msleep(10); i = 0; do { - msleep(20); + msleep(1); flashq = query; - ret = wacom_i2c_master_recv(wac_i2c->client, &flashq, len, - WACOM_I2C_BOOT); + ret = wacom_i2c_recv(wac_i2c, + &flashq, len, true); i++; if (i > RETRY) @@ -118,9 +151,22 @@ int wacom_i2c_flash_query(struct wacom_i2c *wac_i2c, u8 query, u8 recvdQuery) int wacom_i2c_flash_end(struct wacom_i2c *wac_i2c) { - if (wacom_i2c_flash_query(wac_i2c, FLASH_END, FLASH_END) == -1) - return ERR_FAILED_EXIT; - printk(KERN_DEBUG "[E-PEN]: Digitizer activated\n"); + int ret; + + /* 2012/07/04 Evaluation for 0x80 and 0xA0 added by Wacom*/ + do { + ret = wacom_i2c_flash_query(wac_i2c, FLASH_END, FLASH_END); + if (ret == -1) + return ERR_FAILED_EXIT; + } while (ret == 0xA0 || ret != 0x80); + /* 2012/07/04 Evaluation for 0x80 and 0xA0 added by Wacom*/ + + /*2012/07/05 + below added for giving firmware enough time to change to user mode*/ + msleep(1000); + + printk(KERN_DEBUG "[E-PEN] Digitizer activated\n"); + wac_i2c->boot_mode = false; return 0; } @@ -157,6 +203,7 @@ int wacom_i2c_flash_erase(struct wacom_i2c *wac_i2c, u8 cmd_erase, { int len, ret, i, j; u8 buf[3], sum, block, flashq; + unsigned long swtich_slot_time; ret = 0; @@ -173,8 +220,7 @@ int wacom_i2c_flash_erase(struct wacom_i2c *wac_i2c, u8 cmd_erase, buf[2] = sum; len = 3; - ret = wacom_i2c_master_send(wac_i2c->client, buf, len, - WACOM_I2C_BOOT); + ret = wacom_i2c_send(wac_i2c, buf, len, true); if (ret < 0) { printk(KERN_ERR "[E-PEN]: Erase failed\n"); return -1; @@ -187,8 +233,8 @@ int wacom_i2c_flash_erase(struct wacom_i2c *wac_i2c, u8 cmd_erase, do { /*sleep */ msleep(100); - ret = wacom_i2c_master_recv(wac_i2c->client, &flashq, - len, WACOM_I2C_BOOT); + ret = wacom_i2c_recv(wac_i2c, + &flashq, len, true); j++; if (j > RETRY || flashq == 0x84 || flashq == 0x88 @@ -203,12 +249,17 @@ int wacom_i2c_flash_erase(struct wacom_i2c *wac_i2c, u8 cmd_erase, printk(KERN_ERR "[E-PEN]: Error:%x\n", flashq); return -1; } - } while (flashq == 0xff); - printk(KERN_DEBUG "[E-PEN]: Erasing at %d, ", i); + + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ + } while (flashq == 0xff || flashq != 0x06); + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ + + if (printk_timed_ratelimit(&swtich_slot_time, 5000)) + printk(KERN_DEBUG "[E-PEN]: Erasing at %d, ", i); /*sleep */ - msleep(20); + msleep(1); } - printk(KERN_DEBUG "Erasing done\n"); + printk(KERN_DEBUG "[E-PEN] Erasing done\n"); return ret; } @@ -216,9 +267,10 @@ int wacom_i2c_flash_write(struct wacom_i2c *wac_i2c, unsigned long startAddr, u8 size, unsigned long maxAddr) { unsigned long ulAddr; - int ret, len, i, j; + int ret, len, i, j, k; char sum; u8 buf[WRITE_BUFF], bank; + unsigned long swtich_slot_time; ret = len = i = 0; bank = BANK; @@ -240,30 +292,43 @@ int wacom_i2c_flash_write(struct wacom_i2c *wac_i2c, unsigned long startAddr, len = 6; - ret = wacom_i2c_master_send(wac_i2c->client, buf, len, - WACOM_I2C_BOOT); - if (ret < 0) { - printk(KERN_ERR "[E-PEN]: Write process aborted\n"); - return ERR_FAILED_ENTER; + /* 2012/07/18 + * if the returned data is not equal to the length of the bytes + * that is supposed to send/receive, return it as fail + */ + for (k = 0; k < RETRY_TRANSFER; k++) { + ret = wacom_i2c_send(wac_i2c, buf, len, true); + if (ret == len) + break; + if (ret < 0 || k == (RETRY_TRANSFER - 1)) { + printk(KERN_ERR "[E-PEN]: Write process aborted\n"); + return ERR_FAILED_ENTER; + } } + /*2012/07/18*/ - msleep(20); + msleep(10); len = 1; j = 0; do { - ret = wacom_i2c_master_recv(wac_i2c->client, buf, len, - WACOM_I2C_BOOT); + msleep(5); + ret = wacom_i2c_recv(wac_i2c, + buf, len, true); j++; if (j > RETRY || buf[0] == 0x90) { /*0xff:No data 0x90:Checksum error */ - printk(KERN_ERR "[E-PEN]: Error:%x\n", buf[0]); + printk(KERN_ERR "[E-PEN] Error: %x , 0x%lx(%d)\n", + buf[0], ulAddr, __LINE__); return -1; } - msleep(20); - } while (buf[0] == 0xff); - msleep(20); + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ + } while (buf[0] == 0xff || buf[0] != 0x06); + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ + + msleep(1); + sum = 0; for (i = 0; i < BLOCK_SIZE_W; i++) { buf[i] = Binary[ulAddr + i]; @@ -273,22 +338,29 @@ int wacom_i2c_flash_write(struct wacom_i2c *wac_i2c, unsigned long startAddr, buf[BLOCK_SIZE_W] = sum; len = BLOCK_SIZE_W + 1; - ret = wacom_i2c_master_send(wac_i2c->client, buf, len, - WACOM_I2C_BOOT); - if (ret < 0) { - printk(KERN_ERR - "[E-PEN]: Firmware flash aborted while writing\n"); - return ERR_NOT_FLASH; + /* 2012/07/18 + * if the returned data is not equal to the length of the bytes + * that is supposed to send/receive, return it as fail + */ + for (k = 0; k < RETRY_TRANSFER; k++) { + ret = wacom_i2c_send(wac_i2c, buf, len, true); + if (ret == len) + break; + if (ret < 0 || k == (RETRY_TRANSFER - 1)) { + printk(KERN_ERR "[E-PEN]: Write process aborted\n"); + return ERR_FAILED_ENTER; + } } + /*2012/07/18*/ - msleep(100); + msleep(50); len = 1; j = 0; do { - msleep(20); - ret = wacom_i2c_master_recv(wac_i2c->client, buf, len, - WACOM_I2C_BOOT); + msleep(10); + ret = wacom_i2c_recv(wac_i2c, + buf, len, true); j++; if (j > RETRY || buf[0] == 0x82 || buf[0] == 0x90) { @@ -297,12 +369,18 @@ int wacom_i2c_flash_write(struct wacom_i2c *wac_i2c, unsigned long startAddr, 0x82:Write error 0x90:Checksum error */ - printk(KERN_ERR "[E-PEN]: Error:%x\n", buf[0]); + printk(KERN_ERR "[E-PEN] Error: %x , 0x%lx(%d)\n", + buf[0], ulAddr, __LINE__); return -1; } - } while (buf[0] == 0xff); - printk(KERN_DEBUG "[E-PEN]: Written on:0x%lx", ulAddr); - msleep(20); + + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ + } while (buf[0] == 0xff || buf[0] != 0x06); + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ + + if (printk_timed_ratelimit(&swtich_slot_time, 5000)) + printk(KERN_DEBUG "[E-PEN]: Written on:0x%lx", ulAddr); + msleep(1); } printk(KERN_DEBUG "\nWriting done\n"); @@ -313,9 +391,10 @@ int wacom_i2c_flash_verify(struct wacom_i2c *wac_i2c, unsigned long startAddr, u8 size, unsigned long maxAddr) { unsigned long ulAddr; - int ret, len, i, j; + int ret, len, i, j, k; char sum; u8 buf[WRITE_BUFF], bank; + unsigned long swtich_slot_time; ret = len = i = 0; bank = BANK; @@ -338,28 +417,39 @@ int wacom_i2c_flash_verify(struct wacom_i2c *wac_i2c, unsigned long startAddr, j = 0; /*sleep */ - ret = wacom_i2c_master_send(wac_i2c->client, buf, len, - WACOM_I2C_BOOT); - if (ret < 0) { - printk(KERN_ERR "[E-PEN]: Write process aborted\n"); - return ERR_FAILED_ENTER; + /* 2012/07/18 + * if the returned data is not equal to the length of the bytes + * that is supposed to send/receive, return it as fail + */ + for (k = 0; k < RETRY_TRANSFER; k++) { + ret = wacom_i2c_send(wac_i2c, buf, len, true); + if (ret == len) + break; + if (ret < 0 || k == (RETRY_TRANSFER - 1)) { + printk(KERN_ERR "[E-PEN]: Write process aborted\n"); + return ERR_FAILED_ENTER; + } } + /*2012/07/18*/ len = 1; do { - msleep(20); - ret = wacom_i2c_master_recv(wac_i2c->client, buf, len, - WACOM_I2C_BOOT); + msleep(1); + ret = wacom_i2c_recv(wac_i2c, + buf, len, true); j++; if (j > RETRY || buf[0] == 0x90) { /*0xff:No data 0x90:Checksum error */ - printk(KERN_ERR "[E-PEN]: Error:%x\n", buf[0]); + printk(KERN_ERR "[E-PEN] Error: %x , 0x%lx(%d)\n", + buf[0], ulAddr, __LINE__); return -1; } - } while (buf[0] == 0xff); + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ + } while (buf[0] == 0xff || buf[0] != 0x06); + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ - msleep(20); + msleep(1); sum = 0; for (i = 0; i < BLOCK_SIZE_W; i++) { buf[i] = Binary[ulAddr + i]; @@ -369,21 +459,27 @@ int wacom_i2c_flash_verify(struct wacom_i2c *wac_i2c, unsigned long startAddr, buf[BLOCK_SIZE_W] = sum; len = BLOCK_SIZE_W + 1; - ret = wacom_i2c_master_send(wac_i2c->client, buf, len, - WACOM_I2C_BOOT); - if (ret < 0) { - printk(KERN_ERR - "[E-PEN]: Firmware flash aborted while writing\n"); - return ERR_NOT_FLASH; + /* 2012/07/18 + * if the returned data is not equal to the length of the bytes + * that is supposed to send/receive, return it as fail + */ + for (k = 0; k < RETRY_TRANSFER; k++) { + ret = wacom_i2c_send(wac_i2c, buf, len, true); + if (ret == len) + break; + if (ret < 0 || k == (RETRY_TRANSFER - 1)) { + printk(KERN_ERR "[E-PEN]: Write process aborted\n"); + return ERR_FAILED_ENTER; + } } + /*2012/07/18*/ - msleep(20); len = 1; j = 0; do { - msleep(20); - ret = wacom_i2c_master_recv(wac_i2c->client, buf, len, - WACOM_I2C_BOOT); + msleep(2); + ret = wacom_i2c_recv(wac_i2c, + buf, len, true); j++; if (j > RETRY || buf[0] == 0x81 || buf[0] == 0x90) { @@ -392,13 +488,28 @@ int wacom_i2c_flash_verify(struct wacom_i2c *wac_i2c, unsigned long startAddr, 0x82:Write error 0x90:Checksum error */ - printk(KERN_ERR "[E-PEN]: Error:%x", buf[0]); + printk(KERN_ERR "[E-PEN] Error: %x , 0x%lx(%d)\n", + buf[0], ulAddr, __LINE__); return -1; } - } while (buf[0] == 0xff); - printk(KERN_DEBUG "[E-PEN]: Verified:0x%lx", ulAddr); - msleep(20); + + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ + } while (buf[0] == 0xff || buf[0] != 0x06); + /* 2012/07/04 Evaluation if 0x06 or not added by Wacom*/ + + if (printk_timed_ratelimit(&swtich_slot_time, 5000)) + printk(KERN_DEBUG "[E-PEN]: Verified:0x%lx", ulAddr); + msleep(1); + } + +#if defined(CONFIG_MACH_P4NOTE) + if (calc_checksum(Binary)) { + printk(KERN_DEBUG + "[E-PEN] check sum not matched\n"); + return -ERR_HEX; } +#endif + printk("\n[E-PEN]: Verifying done\n"); return 0; @@ -406,97 +517,122 @@ int wacom_i2c_flash_verify(struct wacom_i2c *wac_i2c, unsigned long startAddr, int wacom_i2c_flash(struct wacom_i2c *wac_i2c) { - int ret, blver, mcu; - unsigned long i, maxAddr; - ret = blver = mcu = 0; - i = maxAddr = 0; + bool fw_update_enable = false; + int ret = 0, blver = 0, mcu = 0; + u32 max_addr = 0, cmd_addr = 0; + + if (Binary == NULL) { + printk(KERN_ERR"[E-PEN] Data is NULL. Exit.\n"); + return -1; + } + +#if defined(CONFIG_MACH_P4NOTE) + if (calc_checksum(Binary)) { + printk(KERN_DEBUG + "[E-PEN] check sum not matched\n"); + return -ERR_HEX; + } +#endif wake_lock(&wac_i2c->wakelock); ret = wacom_i2c_flash_cmd(wac_i2c); - msleep(20); + if (ret < 0) + goto fw_update_error; + msleep(10); + ret = wacom_i2c_flash_enter(wac_i2c); printk(KERN_DEBUG "[E-PEN]: flashEnter:%d\n", ret); - - /*sleep */ - msleep(20); + msleep(10); blver = wacom_i2c_flash_BLVer(wac_i2c); printk(KERN_DEBUG "[E-PEN]: blver:%d\n", blver); - - /*sleep */ - msleep(20); + msleep(10); mcu = wacom_i2c_flash_mcuId(wac_i2c); printk(KERN_DEBUG "[E-PEN]: mcu:%x\n", mcu); if (Mpu_type != mcu) { - wacom_i2c_flash_end(wac_i2c); - return -1; + printk(KERN_DEBUG "[E-PEN]: mcu:%x\n", mcu); + ret = -ENXIO; + goto mcu_type_error; } - - /*sleep */ - msleep(20); + msleep(1); switch (mcu) { case MPUVER_W8501: printk(KERN_DEBUG "[E-PEN]: flashing for w8501 started\n"); - maxAddr = MAX_ADDR_W8501; - ret = wacom_i2c_flash_erase(wac_i2c, FLASH_ERASE, - MAX_BLOCK_W8501, END_BLOCK); - if (ret < 0) - return -1; - printk(KERN_DEBUG "[E-PEN]: erased:%d\n", ret); - - msleep(20); - - ret = wacom_i2c_flash_write(wac_i2c, START_ADDR, - NUM_BLOCK_2WRITE, maxAddr); - if (ret < 0) - return -1; - - msleep(20); - - ret = wacom_i2c_flash_verify(wac_i2c, START_ADDR, - NUM_BLOCK_2WRITE, maxAddr); - if (ret < 0) - return -1; - + max_addr = MAX_ADDR_W8501; + cmd_addr = MAX_BLOCK_W8501; + fw_update_enable = true; break; case MPUVER_514: printk(KERN_DEBUG "[E-PEN]: Flashing for 514 started\n"); - maxAddr = MAX_ADDR_514; - ret = wacom_i2c_flash_erase(wac_i2c, FLASH_ERASE, - MAX_BLOCK_514, END_BLOCK); - if (ret < 0) - return -1; - printk(KERN_DEBUG "[E-PEN]: erased:%d\n", ret); - - msleep(20); - - ret = wacom_i2c_flash_write(wac_i2c, START_ADDR, - NUM_BLOCK_2WRITE, maxAddr); - if (ret < 0) - return -1; - - msleep(20); - - ret = wacom_i2c_flash_verify(wac_i2c, START_ADDR, - NUM_BLOCK_2WRITE, maxAddr); - if (ret < 0) - return -1; + max_addr = MAX_ADDR_514; + cmd_addr = MAX_BLOCK_514; + fw_update_enable = true; + break; + case MPUVER_505: + printk(KERN_DEBUG "[E-PEN]: Flashing for 505 started\n"); + max_addr = MAX_ADDR_505; + cmd_addr = MAX_BLOCK_505; + fw_update_enable = true; break; default: printk(KERN_DEBUG "[E-PEN]: default called\n"); break; } - msleep(20); - ret = wacom_i2c_flash_end(wac_i2c); - wake_unlock(&wac_i2c->wakelock); - printk(KERN_DEBUG "[E-PEN]: Firmware successfully updated:%x\n", ret); + if (fw_update_enable) { + bool valid_hex = false; + int cnt = 0; + /*2012/07/04: below modified by Wacom*/ + /*If wacom_i2c_flash_verify returns -ERR_HEX, */ + /*please redo whole process of flashing from */ + /*wacom_i2c_flash_erase */ + do { + ret = wacom_i2c_flash_erase(wac_i2c, FLASH_ERASE, + cmd_addr, END_BLOCK); + if (ret < 0) { + printk(KERN_ERR "[E-PEN] error - erase\n"); + continue; + } + msleep(20); - return 0; + ret = wacom_i2c_flash_write(wac_i2c, START_ADDR, + NUM_BLOCK_2WRITE, max_addr); + if (ret < 0) { + printk(KERN_ERR "[E-PEN] error - writing\n"); + continue; + } + msleep(20); + + ret = wacom_i2c_flash_verify(wac_i2c, START_ADDR, + NUM_BLOCK_2WRITE, max_addr); + + if (ret == -ERR_HEX) + printk(KERN_DEBUG "[E-PEN]: firmware is not valied\n"); + else if (ret < 0) { + printk(KERN_ERR "[E-PEN] error - verifying\n"); + continue; + } else + valid_hex = true; + } while ((!valid_hex) && (cnt < 10)); + /*2012/07/04: Wacom*/ + + printk(KERN_DEBUG "[E-PEN]: Firmware successfully updated\n"); + } + msleep(1); + +mcu_type_error: + wacom_i2c_flash_end(wac_i2c); + if (ret < 0) + printk(KERN_ERR "[E-PEN] error - wacom_i2c_flash_end\n"); + +fw_update_error: + wake_unlock(&wac_i2c->wakelock); + return ret; } + diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_flash.h b/drivers/input/touchscreen/wacom/wacom_i2c_flash.h index 20af8ae..5ba3258 100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c_flash.h +++ b/drivers/input/touchscreen/wacom/wacom_i2c_flash.h @@ -37,7 +37,7 @@ #define FLASH_ERASE 0x84 #define FLASH_SET_INFO 0x85 #define FLASH_END_TO_BOOT 0x87 -#define FLASH_BAIDRATE 0x88 +#define FLASH_BAUDRATE 0x88 #define FLASH_QUERY 0xE0 #define FLASH_BLVER 0xE1 @@ -68,6 +68,11 @@ #endif #define MAX_ADDR_514 0xBFFF +#define MPUVER_505 0x28 +#define MAX_BLOCK_505 59 +#define MAX_ADDR_505 0xEFFF +#define BLVER_505 0xFF + #define RETRY 1 #define ERR_FAILED_ENTER -1 diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_flash_g9.c b/drivers/input/touchscreen/wacom/wacom_i2c_flash_g9.c deleted file mode 100644 index b98bdf2..0000000 --- a/drivers/input/touchscreen/wacom/wacom_i2c_flash_g9.c +++ /dev/null @@ -1,1518 +0,0 @@ -#include "wacom_i2c_flash_g9.h" -/*-------------------------------------------------------*/ -/*********************************************************/ -/*---------NEW FUNCTIONS---------------------------------*/ -/*********************************************************/ -/*-------------------------------------------------------*/ - -#define DATA_SIZE (65536 * 4) -#define WACOM_I2C_FLASH 0x56 -#define WACOM_I2C_FLASH2 0x9 - -int wacom_i2c_flash_cmd_g9(struct wacom_i2c *wac_i2c) -{ - int ret, len; - u8 buf[8]; - - printk(KERN_DEBUG "[PEN] %s\n", __func__); - - buf[0] = 0x0d; - buf[1] = FLASH_START0; - buf[2] = FLASH_START1; - buf[3] = FLASH_START2; - buf[4] = FLASH_START3; - buf[5] = FLASH_START4; - buf[6] = FLASH_START5; - buf[7] = 0x0d; - - len = 8; - ret = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH); - if (ret < 0) { - printk(KERN_ERR - "[PEN] Sending flash command failed 2\n"); - return -1; - } - msleep(270); - - return 0; -} - -bool flash_cmd(struct wacom_i2c *wac_i2c) -{ - int rv, len; - u8 buf[10]; - - len = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 0x32; - buf[len++] = CMD_SET_FEATURE; - - rv = wacom_i2c_master_send(wac_i2c->client, - buf, len, WACOM_I2C_FLASH); - if (rv < 0) - return false; - - len = 0; - buf[len++] = 5; - buf[len++] = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 2; - buf[len++] = 2; - rv = wacom_i2c_master_send(wac_i2c->client, - buf, len, WACOM_I2C_FLASH); - if (rv < 0) - return false; - - return true; -} - -bool -flash_query(struct wacom_i2c *wac_i2c) -{ - int rv, ECH; - u8 buf[4]; - u16 len; - unsigned char command[CMD_SIZE]; - unsigned char response[RSP_SIZE]; - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x37; /* Command-LSB, ReportType:Feature(11) ReportID:7 */ - buf[len++] = CMD_SET_FEATURE; /* Command-MSB, SET_REPORT */ - - printk(KERN_DEBUG - "[PEN] %s started buf[3]:%d len:%d\n", - __func__, buf[3], len); - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - command[0] = 5; /* Data Register-LSB */ - command[1] = 0; /* Data-Register-MSB */ - command[2] = 5; /* Length Field-LSB */ - command[3] = 0; /* Length Field-MSB */ - command[4] = BOOT_CMD_REPORT_ID; /* Report:ReportID */ - command[5] = BOOT_QUERY; /* Report:Boot Query command */ - command[6] = ECH = 7; /* Report:echo */ - - rv = wacom_i2c_master_send(wac_i2c->client, command, 7, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - msleep(10); - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x38; /* Command-LSB, ReportType:Feature(11) ReportID:8 */ - buf[len++] = CMD_GET_FEATURE; /* Command-MSB, GET_REPORT */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - len = 0; - buf[len++] = 5; /* Data Register-LSB */ - buf[len++] = 0; /* Data Register-MSB */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - rv = wacom_i2c_master_recv(wac_i2c->client, response, - BOOT_RSP_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - if ( (response[3] != QUERY_CMD) || - (response[4] != ECH) ) { - printk(KERN_ERR "[PEN] %s res3:%d res4:%d\n", __func__, response[3], response[4]); - return false; - } - if (response[5] != QUERY_RSP) { - printk(KERN_ERR "[PEN] %s res5:%d\n", __func__, response[5]); - return false; - } - - return true; -} - -bool -flash_blver(struct wacom_i2c *wac_i2c, int *blver) -{ - int rv, ECH; - u8 buf[4]; - u16 len; - unsigned char command[CMD_SIZE]; - unsigned char response[RSP_SIZE]; - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x37; /* Command-LSB, ReportType:Feature(11) ReportID:7 */ - buf[len++] = CMD_SET_FEATURE; /* Command-MSB, SET_REPORT */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - command[0] = 5; /* Data Register-LSB */ - command[1] = 0; /* Data-Register-MSB */ - command[2] = 5; /* Length Field-LSB */ - command[3] = 0; /* Length Field-MSB */ - command[4] = BOOT_CMD_REPORT_ID; /* Report:ReportID */ - command[5] = BOOT_BLVER; /* Report:Boot Version command */ - command[6] = ECH = 7; /* Report:echo */ - - rv = wacom_i2c_master_send(wac_i2c->client, command, 7, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - msleep(10); - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x38; /* Command-LSB, ReportType:Feature(11) ReportID:8 */ - buf[len++] = CMD_GET_FEATURE; /* Command-MSB, GET_REPORT */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - len = 0; - buf[len++] = 5; /* Data Register-LSB */ - buf[len++] = 0; /* Data Register-MSB */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - rv = wacom_i2c_master_recv(wac_i2c->client, response, BOOT_RSP_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - if ((response[3] != BOOT_CMD) || - (response[4] != ECH)) - return false; - - *blver = (int)response[5]; - - return true; -} - -bool -flash_mputype(struct wacom_i2c *wac_i2c, int* pMpuType) -{ - int rv, ECH; - u8 buf[4]; - u16 len; - unsigned char command[CMD_SIZE]; - unsigned char response[RSP_SIZE]; - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x37; /* Command-LSB, ReportType:Feature(11) ReportID:7 */ - buf[len++] = CMD_SET_FEATURE; /* Command-MSB, SET_REPORT */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - command[0] = 5; /* Data Register-LSB */ - command[1] = 0; /* Data-Register-MSB */ - command[2] = 5; /* Length Field-LSB */ - command[3] = 0; /* Length Field-MSB */ - command[4] = BOOT_CMD_REPORT_ID; /* Report:ReportID */ - command[5] = BOOT_MPU; /* Report:Boot Query command */ - command[6] = ECH = 7; /* Report:echo */ - - rv = wacom_i2c_master_send(wac_i2c->client, command, 7, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - msleep(10); - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x38; /* Command-LSB, ReportType:Feature(11) ReportID:8 */ - buf[len++] = CMD_GET_FEATURE; /* Command-MSB, GET_REPORT */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - len = 0; - buf[len++] = 5; /* Data Register-LSB */ - buf[len++] = 0; /* Data Register-MSB */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - rv = wacom_i2c_master_recv(wac_i2c->client, response, BOOT_RSP_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - if ((response[3] != MPU_CMD) || - (response[4] != ECH)) - return false; - - *pMpuType = (int)response[5]; - - return true; -} - -bool -flash_security_unlock(struct wacom_i2c *wac_i2c, int *status) -{ - int rv, ECH; - u8 buf[4]; - u16 len; - unsigned char command[CMD_SIZE]; - unsigned char response[RSP_SIZE]; - - len = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 0x37; - buf[len++] = CMD_SET_FEATURE; - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - command[0] = 5; - command[1] = 0; - command[2] = 5; - command[3] = 0; - command[4] = BOOT_CMD_REPORT_ID; - command[5] = BOOT_SECURITY_UNLOCK; - command[6] = ECH = 7; - - rv = wacom_i2c_master_send(wac_i2c->client, command, 7, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - msleep(10); - - len = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 0x38; - buf[len++] = CMD_GET_FEATURE; - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - len = 0; - buf[len++] = 5; - buf[len++] = 0; - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - rv = wacom_i2c_master_recv(wac_i2c->client, response, BOOT_RSP_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - if ((response[3] != SEC_CMD) || - (response[4] != ECH)) - return false; - - *status = (int)response[5]; - - return true; -} - -bool -flash_end(struct wacom_i2c *wac_i2c) -{ - int rv, ECH; - u8 buf[4]; - u16 len; - unsigned char command[CMD_SIZE]; - - len = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 0x37; - buf[len++] = CMD_SET_FEATURE; - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - command[0] = 5; - command[1] = 0; - command[2] = 5; - command[3] = 0; - command[4] = BOOT_CMD_REPORT_ID; - command[5] = BOOT_EXIT; - command[6] = ECH = 7; - - rv = wacom_i2c_master_send(wac_i2c->client, command, 7, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - return true; -} - - -bool -flash_devcieType(struct wacom_i2c *wac_i2c) -{ - int rv; - u8 buf[4]; - u16 len; - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x32; /* Command-LSB, ReportType:Feature(11) ReportID:2 */ - buf[len++] = CMD_GET_FEATURE; /* Command-MSB, GET_REPORT */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - len = 0; - buf[len++] = 5; /* Data Register-LSB */ - buf[len++] = 0; /* Data Register-MSB */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - rv = wacom_i2c_master_recv(wac_i2c->client, buf, 4, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - return true; -} - -int -GetFWVersion(struct wacom_i2c *wac_i2c, PFW_VERSION pVer) -{ - int rv; - unsigned char buf[12]; - int len; - int iRet = EXIT_FAIL_GET_FIRMWARE_VERSION; - - buf[0] = pen_QUERY; - len = 1; - printk(KERN_DEBUG "[PEN] %s started\n", __func__); - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) - goto end; - - msleep(1); - - len = 10; - - rv = wacom_i2c_master_recv(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) - goto end; - - if (buf[0] != 0x0F) - goto end; - - pVer->UpVer = buf[7]; - pVer->LoVer = buf[8]; - iRet = EXIT_OK; - - end: - return iRet; -} - -int -GetBLVersion(struct wacom_i2c *wac_i2c, int* pBLVer) -{ - int rv; - wacom_i2c_flash_cmd_g9(wac_i2c); - if (!flash_query(wac_i2c)) { - if (!wacom_i2c_flash_cmd_g9(wac_i2c)) { - return EXIT_FAIL_ENTER_FLASH_MODE; - } - else { - msleep(100); - if (!flash_query(wac_i2c)){ - return EXIT_FAIL_FLASH_QUERY; - } - } - } - - rv = flash_blver(wac_i2c, pBLVer); - if (rv) - return EXIT_OK; - else - return EXIT_FAIL_GET_BOOT_LOADER_VERSION; -} - -int -GetMpuType(struct wacom_i2c *wac_i2c, int* pMpuType) -{ - int rv; - - if (!flash_query(wac_i2c)) - { - if (!wacom_i2c_flash_cmd_g9(wac_i2c)) - { - return EXIT_FAIL_ENTER_FLASH_MODE; - } - else{ - msleep(100); - if (!flash_query(wac_i2c)) - { - return EXIT_FAIL_FLASH_QUERY; - } - } - } - - rv = flash_mputype(wac_i2c, pMpuType); - if (rv) - return EXIT_OK; - else - return EXIT_FAIL_GET_MPU_TYPE; -} - -int -SetSecurityUnlock(struct wacom_i2c *wac_i2c, int* pStatus) -{ - int rv; - - if (!flash_query(wac_i2c)) - { - if (!wacom_i2c_flash_cmd_g9(wac_i2c)) - { - return EXIT_FAIL_ENTER_FLASH_MODE; - } - else{ - msleep(100); - if (!flash_query(wac_i2c)) - { - return EXIT_FAIL_FLASH_QUERY; - } - } - } - - rv = flash_security_unlock(wac_i2c, pStatus); - if (rv) - return EXIT_OK; - else - return EXIT_FAIL; -} - -bool -flash_erase(struct wacom_i2c *wac_i2c, bool bAllUserArea, int *eraseBlock, int num) -{ - int rv, ECH; - unsigned char sum; - unsigned char buf[72]; - unsigned char cmd_chksum; - u16 len; - int i,j; - unsigned char command[CMD_SIZE]; - //unsigned char command_data[CMD_SIZE]; - unsigned char response[RSP_SIZE]; - - for (i=0; i<num; i++) - { - msleep(500); -retry: - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x37; /* Command-LSB, ReportType:Feature(11) ReportID:7 */ - buf[len++] = CMD_SET_FEATURE; /* Command-MSB, SET_REPORT */ - - printk(KERN_DEBUG "[PEN] %s sending SET_FEATURE:%d\n", __func__, i); - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - printk(KERN_DEBUG "[PEN] %s setting a command:%d\n", __func__, i); - - command[0] = 5; /* Data Register-LSB */ - command[1] = 0; /* Data-Register-MSB */ - command[2] = 7; /* Length Field-LSB */ - command[3] = 0; /* Length Field-MSB */ - command[4] = BOOT_CMD_REPORT_ID; /* Report:ReportID */ - command[5] = BOOT_ERASE_FLASH; /* Report:erase command */ - command[6] = ECH = i; /* Report:echo */ - command[7] = *eraseBlock; /* Report:erased block No. */ - eraseBlock++; - - sum = 0; - for (j=0; j<8; j++) - sum += command[j]; - cmd_chksum = ~sum+1; /* Report:check sum */ - command[8] = cmd_chksum; - - rv = wacom_i2c_master_send(wac_i2c->client, command, 9, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - - msleep(5000); - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x38; /* Command-LSB, ReportType:Feature(11) ReportID:8 */ - buf[len++] = CMD_GET_FEATURE; /* Command-MSB, GET_REPORT */ - - printk(KERN_DEBUG "[PEN] %s sending GET_FEATURE :%d\n", __func__, i); - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - - len = 0; - buf[len++] = 5; /* Data Register-LSB */ - buf[len++] = 0; /* Data Register-MSB */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - - rv = wacom_i2c_master_recv(wac_i2c->client, response, BOOT_RSP_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - - if ((response[3] != ERS_CMD) || - (response[4] != ECH)) { - printk(KERN_ERR "[PEN] %s failing 5:%d\n", __func__, i); - return false; - } - - if (response[5] == 0x80) { - printk(KERN_ERR "[PEN] %s retry\n", __func__); - goto retry; - } - if (response[5] != ACK) { - printk(KERN_ERR "[PEN] %s failing 6:%d res5:%d\n", __func__, i, response[5]); - return false; - } - printk(KERN_DEBUG "[PEN] %s %d\n", __func__, i); - } - return true; -} - -bool -is_flash_marking(struct wacom_i2c *wac_i2c, - size_t data_size, bool* bMarking, int iMpuID) -{ - const int MAX_CMD_SIZE = (12 + FLASH_BLOCK_SIZE + 2); - int rv, ECH; - unsigned char flash_data[FLASH_BLOCK_SIZE]; - unsigned char buf[300]; - unsigned char sum; - int len; - unsigned int i, j; - unsigned char response[RSP_SIZE]; - unsigned char command[MAX_CMD_SIZE]; - - *bMarking = false; - - printk(KERN_DEBUG "[PEN] %s started\n", __func__); - for (i=0; i<FLASH_BLOCK_SIZE; i++) { - flash_data[i]=0xFF; - } - - flash_data[56]=0x00; - - len = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 0x37; - buf[len++] = CMD_SET_FEATURE; - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - command[0] = 5; - command[1] = 0; - command[2] = 76; - command[3] = 0; - command[4] = BOOT_CMD_REPORT_ID; - command[5] = BOOT_VERIFY_FLASH; - command[6] = ECH = 1; - command[7] = 0xC0; - command[8] = 0x1F; - command[9] = 0x01; - command[10] = 0x00; - command[11] = 8; - - sum = 0; - for (j = 0; j < 12; j++) - sum += command[j]; - - command[MAX_CMD_SIZE - 2] = ~sum+1; - - sum = 0; - printk(KERN_DEBUG "[PEN] %s start writing command\n", __func__); - for (i = 12; i < (FLASH_BLOCK_SIZE + 12); i++){ - command[i] = flash_data[i-12]; - sum += flash_data[i-12]; - } - command[MAX_CMD_SIZE - 1] = ~sum+1; - - printk(KERN_DEBUG "[PEN] %s sending command\n", __func__); - rv = wacom_i2c_master_send(wac_i2c->client, command, MAX_CMD_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - - msleep(10); - - len = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 0x38; - buf[len++] = CMD_GET_FEATURE; - - printk(KERN_DEBUG "[PEN] %s sending GET_FEATURE 1\n", __func__); - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - - len = 0; - buf[len++] = 5; - buf[len++] = 0; - - printk(KERN_DEBUG "[PEN] %s sending GET_FEATURE 2\n", __func__); - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - - printk(KERN_DEBUG "[PEN] %s receiving GET_FEATURE\n", __func__); - rv = wacom_i2c_master_recv(wac_i2c->client, response, RSP_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - - printk(KERN_DEBUG "[PEN] %s checking response\n", __func__); - if ((response[3] != MARK_CMD) || - (response[4] != ECH) || - (response[5] != ACK) ) { - printk(KERN_ERR "[PEN] %s fails res3:%d res4:%d res5:%d\n", __func__, response[3], response[4], response[5]); - return false; - } - - *bMarking = true; - return true; -} - -bool -flash_write_block(struct wacom_i2c *wac_i2c, char *flash_data, unsigned long ulAddress, u8 *pcommand_id) -{ - const int MAX_COM_SIZE = (12 + FLASH_BLOCK_SIZE + 2); - int len, ECH; - unsigned char buf[300]; - int rv; - unsigned char sum; - unsigned char command[MAX_COM_SIZE]; - unsigned char response[RSP_SIZE]; - unsigned int i; - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x37; /* Command-LSB, ReportType:Feature(11) ReportID:7 */ - buf[len++] = CMD_SET_FEATURE; /* Command-MSB, SET_REPORT */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - command[0] = 5; /* Data Register-LSB */ - command[1] = 0; /* Data-Register-MSB */ - command[2] = 76; /* Length Field-LSB */ - command[3] = 0; /* Length Field-MSB */ - command[4] = BOOT_CMD_REPORT_ID; /* Report:ReportID */ - command[5] = BOOT_WRITE_FLASH; /* Report:program command */ - command[6] = ECH = ++(*pcommand_id); /* Report:echo */ - command[7] = ulAddress&0x000000ff; - command[8] = (ulAddress&0x0000ff00) >> 8; - command[9] = (ulAddress&0x00ff0000) >> 16; - command[10] = (ulAddress&0xff000000) >> 24; /* Report:address(4bytes) */ - command[11] = 8; /* Report:size(8*8=64) */ - sum = 0; - for (i=0; i<12; i++) - sum += command[i]; - command[MAX_COM_SIZE - 2] = ~sum+1; /* Report:command checksum */ - - sum = 0; - for (i = 12; i < (FLASH_BLOCK_SIZE + 12); i++){ - command[i] = flash_data[ulAddress+(i-12)]; - sum += flash_data[ulAddress+(i-12)]; - } - command[MAX_COM_SIZE - 1] = ~sum+1; /* Report:data checksum */ - - rv = wacom_i2c_master_send(wac_i2c->client, command, BOOT_CMD_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - msleep(10); - - len = 0; - buf[len++] = 4; /* Command Register-LSB */ - buf[len++] = 0; /* Command Register-MSB */ - buf[len++] = 0x38; /* Command-LSB, ReportType:Feature(11) ReportID:8 */ - buf[len++] = CMD_GET_FEATURE; /* Command-MSB, GET_REPORT */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - len = 0; - buf[len++] = 5; /* Data Register-LSB */ - buf[len++] = 0; /* Data Register-MSB */ - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - rv = wacom_i2c_master_send(wac_i2c->client, response, BOOT_RSP_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - if ((response[3] != WRITE_CMD) || - (response[4] != ECH) || - response[5] != ACK) - return false; - - return true; - -} - -bool -flash_write(struct wacom_i2c *wac_i2c, - unsigned char *flash_data, size_t data_size, unsigned long start_address, unsigned long *max_address, int mpuType) -{ - unsigned long ulAddress; - int rv; - unsigned long pageNo=0; - u8 command_id = 0; - - printk(KERN_DEBUG "[PEN] %s flash_write start\n", __func__); - - for (ulAddress = start_address; ulAddress < *max_address; ulAddress += FLASH_BLOCK_SIZE) - { - unsigned int j; - bool bWrite = false; - - for (j = 0; j < FLASH_BLOCK_SIZE; j++) - { - if (flash_data[ulAddress+j] == 0xFF) - continue; - else - { - bWrite = true; - break; - } - } - - if (!bWrite) - { - pageNo++; - continue; - } - - rv = flash_write_block(wac_i2c, flash_data, ulAddress, &command_id); - if(rv < 0) - return false; - - pageNo++; - } - - return true; -} - -bool -flash_verify(struct wacom_i2c *wac_i2c, - unsigned char *flash_data, size_t data_size, unsigned long start_address, unsigned long *max_address, int mpuType) -{ - int ECH; - unsigned long ulAddress; - bool rv; - unsigned long pageNo = 0; - u8 command_id = 0; - printk(KERN_DEBUG "[PEN] %s verify starts\n", __func__); - for (ulAddress = start_address; ulAddress < *max_address; ulAddress += FLASH_BLOCK_SIZE) - { - const int MAX_CMD_SIZE = 12 + FLASH_BLOCK_SIZE + 2; - unsigned char buf[300]; - unsigned char sum; - int len; - unsigned int i, j; - unsigned char command[MAX_CMD_SIZE]; - unsigned char response[RSP_SIZE]; - - // printk(KERN_DEBUG "[PEN] %s verify starts\n", __func__); - len = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 0x37; - buf[len++] = CMD_SET_FEATURE; - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) - return false; - - command[0] = 5; - command[1] = 0; - command[2] = 76; - command[3] = 0; - command[4] = BOOT_CMD_REPORT_ID; - command[5] = BOOT_VERIFY_FLASH; - command[6] = ECH = ++command_id;; - command[7] = ulAddress&0x000000ff; - command[8] = (ulAddress&0x0000ff00) >> 8; - command[9] = (ulAddress&0x00ff0000) >> 16; - command[10] = (ulAddress&0xff000000) >> 24; - command[11] = 8; - - sum = 0; - for (j=0; j<12; j++) - sum += command[j]; - command[MAX_CMD_SIZE - 2] = ~sum+1; - - sum = 0; - for (i = 12; i < (FLASH_BLOCK_SIZE + 12); i++){ - command[i] = flash_data[ulAddress+(i-12)]; - sum += flash_data[ulAddress+(i-12)]; - } - command[MAX_CMD_SIZE - 1] = ~sum+1; - - rv = wacom_i2c_master_send(wac_i2c->client, command, BOOT_CMD_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) - return false; - - msleep(10); - - len = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 0x38; - buf[len++] = CMD_GET_FEATURE; - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, WACOM_I2C_FLASH2); - if (rv < 0) - return false; - - len = 0; - buf[len++] = 5; - buf[len++] = 0; - - rv = wacom_i2c_master_send(wac_i2c->client, buf, len, - WACOM_I2C_FLASH2); - if (rv < 0) - return false; - - rv = wacom_i2c_master_recv(wac_i2c->client, response, - BOOT_RSP_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) - return false; - - if ((response[3] != VERIFY_CMD) || - (response[4] != ECH) || - (response[5] != ACK)) { - printk(KERN_ERR - "[PEN] %s res3:%d res4:%d res5:%d\n", - __func__, response[3], response[4], response[5]); - return false; - } - pageNo++; - } - - return true; -} - -bool -flash_marking(struct wacom_i2c *wac_i2c, - size_t data_size, bool bMarking, int iMpuID) -{ - const int MAX_CMD_SIZE = 12 + FLASH_BLOCK_SIZE + 2; - int rv, ECH; - unsigned char flash_data[FLASH_BLOCK_SIZE]; - unsigned char buf[300]; - unsigned char response[RSP_SIZE]; - unsigned char sum; - int len; - unsigned int i, j; - unsigned char command[MAX_CMD_SIZE]; - - for (i = 0; i < FLASH_BLOCK_SIZE; i++) - flash_data[i] = 0xFF; - - if (bMarking) - flash_data[56] = 0x00; - - len = 0; - /* Command Register-LSB */ - buf[len++] = 4; - /* Command Register-MSB */ - buf[len++] = 0; - /* Command-LSB, ReportType:Feature(11) ReportID:7 */ - buf[len++] = 0x37; - /* Command-MSB, SET_REPORT */ - buf[len++] = CMD_SET_FEATURE; - - rv = wacom_i2c_master_send(wac_i2c->client, - buf, len, WACOM_I2C_FLASH2); - if (rv < 0) - return false; - - /* Data Register-LSB */ - command[0] = 5; - /* Data-Register-MSB */ - command[1] = 0; - /* Length Field-LSB */ - command[2] = 76; - /* Length Field-MSB */ - command[3] = 0; - /* Report:ReportID */ - command[4] = BOOT_CMD_REPORT_ID; - /* Report:program command */ - command[5] = BOOT_WRITE_FLASH; - /* Report:echo */ - command[6] = ECH = 1; - command[7] = 0xC0; - command[8] = 0x1F; - command[9] = 0x01; - /* Report:address(4bytes) */ - command[10] = 0x00; - /* Report:size(8*8=64) */ - command[11] = 8; - - sum = 0; - for (j = 0; j < 12; j++) - sum += command[j]; - command[MAX_CMD_SIZE - 2] = ~sum + 1; - - sum = 0; - for (i = 12; i < (FLASH_BLOCK_SIZE + 12); i++) { - command[i] = flash_data[i-12]; - sum += flash_data[i-12]; - } - - /* Report:data checksum */ - command[MAX_CMD_SIZE - 1] = ~sum + 1; - - - rv = wacom_i2c_master_send(wac_i2c->client, - command, BOOT_CMD_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - msleep(10); - - len = 0; - buf[len++] = 4; - buf[len++] = 0; - buf[len++] = 0x38; - buf[len++] = CMD_GET_FEATURE; - - rv = wacom_i2c_master_send(wac_i2c->client, - buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - len = 0; - buf[len++] = 5; - buf[len++] = 0; - - rv = wacom_i2c_master_send(wac_i2c->client, - buf, len, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - printk(KERN_DEBUG "[PEN] %s confirming marking\n", __func__); - rv = wacom_i2c_master_recv(wac_i2c->client, - response, BOOT_RSP_SIZE, WACOM_I2C_FLASH2); - if (rv < 0) { - printk(KERN_ERR "[PEN] %s(%d) %d\n", - __func__, rv, __LINE__); - return false; - } - - if ((response[3] != 1) || - (response[4] != ECH) || - (response[5] != ACK)) { - printk(KERN_ERR - "[PEN] %s failing res3:%d res4:%d res5:%d\n", - __func__, response[3], response[4], response[5]); - return false; - } - - return true; -} - -int -FlashWrite(struct wacom_i2c *wac_i2c, char* filename) -{ - unsigned long max_address = 0; - unsigned long start_address = 0x4000; - int eraseBlock[32], eraseBlockNum; - bool bRet; - unsigned long ulMaxRange; - int iChecksum; - int iBLVer, iMpuType, iStatus; - int iRet; - bool bBootFlash = false; - - iRet = GetBLVersion(wac_i2c, &iBLVer); - if (iRet != EXIT_OK) { - printk(KERN_ERR - "[PEN] %s Failed to get Boot Loader version\n", - __func__); - return iRet; - } - - iRet = GetMpuType(wac_i2c, &iMpuType); - if (iRet != EXIT_OK) { - printk(KERN_ERR "[PEN] %s Failed to get MPU type\n", __func__); - return iRet; - } - - printk(KERN_DEBUG "[PEN] %s start reading hex file\n", __func__); - - eraseBlockNum = 0; - start_address = 0x4000; - max_address = 0x12FFF; - eraseBlock[eraseBlockNum++] = 2; - eraseBlock[eraseBlockNum++] = 1; - eraseBlock[eraseBlockNum++] = 0; - eraseBlock[eraseBlockNum++] = 3; - - if (bBootFlash) - eraseBlock[eraseBlockNum++] = 4; - - iChecksum = - wacom_i2c_flash_chksum(wac_i2c, - Binary, &max_address); - printk(KERN_DEBUG "[PEN] %s iChecksum:%d\n", - __func__, iChecksum); - - bRet = true; - - iRet = SetSecurityUnlock(wac_i2c, &iStatus); - if (iRet != EXIT_OK) - return iRet; - - ulMaxRange = max_address; - ulMaxRange -= start_address; - ulMaxRange >>= 6; - if (max_address > (ulMaxRange << 6)) - ulMaxRange++; - - printk(KERN_DEBUG "[PEN] %s connecting to wacom digitizer\n", __func__); - - if (!bBootFlash) { - printk(KERN_DEBUG - "[PEN] %s erasing the user program\n", - __func__); - - bRet = flash_erase(wac_i2c, true, eraseBlock, eraseBlockNum); - if (!bRet) { - printk(KERN_ERR - "[PEN] %s failed to erase the user program\n", - __func__); - return EXIT_FAIL_ERASE; - } - } - - printk(KERN_DEBUG "[PEN] %s writing new user program\n", __func__); - - bRet = flash_write(wac_i2c, Binary, DATA_SIZE, - start_address, &max_address, iMpuType); - if (!bRet) { - printk(KERN_ERR - "[PEN] %s failed to write the user program\n", - __func__); - return EXIT_FAIL_WRITE_FIRMWARE; - } - - bRet = flash_marking(wac_i2c, DATA_SIZE, true, iMpuType); - if (!bRet) { - printk(KERN_ERR "[PEN] %s failed to set mark\n", __func__); - return EXIT_FAIL_WRITE_FIRMWARE; - } - - printk(KERN_DEBUG "[PEN] %s writing completed\n", __func__); - return EXIT_OK; -} - -int FlashVerify(struct wacom_i2c *wac_i2c, char *filename) -{ - unsigned long max_address = 0; - unsigned long start_address = 0x4000; - bool bRet; - int iChecksum; - int iBLVer, iMpuType; - unsigned long ulMaxRange; - bool bMarking; - int iRet; - - iRet = GetBLVersion(wac_i2c, &iBLVer); - if (iRet != EXIT_OK) { - printk(KERN_ERR - "[PEN] %s failed to get Boot Loader version\n", - __func__); - return iRet; - } - - iRet = GetMpuType(wac_i2c, &iMpuType); - if (iRet != EXIT_OK) { - printk(KERN_ERR - "[PEN] %s failed to get MPU type\n", - __func__); - return iRet; - } - - start_address = 0x4000; - max_address = 0x11FBF; - - iChecksum = wacom_i2c_flash_chksum(wac_i2c, Binary, &max_address); - printk(KERN_DEBUG - "[PEN] %s check sum is: %d\n", - __func__, iChecksum); - - ulMaxRange = max_address; - ulMaxRange -= start_address; - ulMaxRange >>= 6; - if (max_address > (ulMaxRange << 6)) - ulMaxRange++; - - bRet = flash_verify(wac_i2c, Binary, DATA_SIZE, - start_address, &max_address, iMpuType); - if (!bRet) { - printk(KERN_ERR - "[PEN] %s failed to verify the firmware\n", - __func__); - return EXIT_FAIL_VERIFY_FIRMWARE; - } - - bRet = is_flash_marking(wac_i2c, DATA_SIZE, - &bMarking, iMpuType); - if (!bRet) { - printk(KERN_ERR - "[PEN] %s there's no marking\n", - __func__); - return EXIT_FAIL_VERIFY_WRITING_MARK; - } - - printk(KERN_DEBUG - "[PEN] %s verifying completed\n", - __func__); - - return EXIT_OK; -} - -int wacom_i2c_flash_g9(struct wacom_i2c *wac_i2c) -{ - unsigned long max_address = 0; - unsigned long start_address = 0x4000; - int eraseBlock[32], eraseBlockNum; - bool bRet; - int iChecksum; - int iBLVer, iMpuType, iStatus; - bool bBootFlash = false; - bool bMarking; - int iRet; - unsigned long ulMaxRange; - - printk(KERN_DEBUG "[PEN] %s\n", __func__); - printk(KERN_DEBUG - "[PEN] start getting the boot loader version\n"); - /*Obtain boot loader version*/ - iRet = GetBLVersion(wac_i2c, &iBLVer); - if (iRet != EXIT_OK) { - printk(KERN_ERR - "[PEN] %s failed to get Boot Loader version\n", - __func__); - return EXIT_FAIL_GET_BOOT_LOADER_VERSION; - } - - printk(KERN_DEBUG - "[PEN] start getting the MPU version\n"); - /*Obtain MPU type: this can be manually done in user space*/ - iRet = GetMpuType(wac_i2c, &iMpuType); - if (iRet != EXIT_OK) { - printk(KERN_ERR - "[PEN] %s failed to get MPU type\n", - __func__); - return EXIT_FAIL_GET_MPU_TYPE; - } - - /*Set start and end address and block numbers*/ - eraseBlockNum = 0; - start_address = 0x4000; - max_address = 0x12FFF; - eraseBlock[eraseBlockNum++] = 2; - eraseBlock[eraseBlockNum++] = 1; - eraseBlock[eraseBlockNum++] = 0; - eraseBlock[eraseBlockNum++] = 3; - - /*If MPU is in Boot mode, do below*/ - if (bBootFlash) - eraseBlock[eraseBlockNum++] = 4; - - printk(KERN_DEBUG - "[PEN] obtaining the checksum\n"); - /*Calculate checksum*/ - iChecksum = wacom_i2c_flash_chksum(wac_i2c, Binary, &max_address); - printk(KERN_DEBUG - "[PEN] Checksum is :%d\n", - iChecksum); - - bRet = true; - - printk(KERN_DEBUG - "[PEN] setting the security unlock\n"); - /*Unlock security*/ - iRet = SetSecurityUnlock(wac_i2c, &iStatus); - if (iRet != EXIT_OK) { - printk(KERN_ERR - "[PEN] %s failed to set security unlock\n", - __func__); - return iRet; - } - - /*Set adress range*/ - ulMaxRange = max_address; - ulMaxRange -= start_address; - ulMaxRange >>= 6; - if (max_address > (ulMaxRange<<6)) - ulMaxRange++; - - printk(KERN_DEBUG - "[PEN] connecting to Wacom Digitizer\n"); - printk(KERN_DEBUG - "[PEN] erasing the current firmware\n"); - /*Erase the old program*/ - bRet = flash_erase(wac_i2c, true, eraseBlock, eraseBlockNum); - if (!bRet) { - printk(KERN_ERR - "[PEN] %s failed to erase the user program\n", - __func__); - return EXIT_FAIL_ERASE; - } - printk(KERN_DEBUG - "[PEN] erasing done\n"); - - max_address = 0x11FC0; - - printk(KERN_DEBUG - "[PEN] writing new firmware\n"); - /*Write the new program*/ - bRet = flash_write(wac_i2c, Binary, DATA_SIZE, - start_address, &max_address, iMpuType); - if (!bRet) { - printk(KERN_ERR - "[PEN] %s failed to write firmware\n", - __func__); - return EXIT_FAIL_WRITE_FIRMWARE; - } - - printk(KERN_DEBUG - "[PEN] start marking\n"); - - /*Set mark in writing process*/ - bRet = flash_marking(wac_i2c, DATA_SIZE, true, iMpuType); - if (!bRet) { - printk(KERN_ERR - "[PEN] %s failed to mark firmware\n", - __func__); - return EXIT_FAIL_WRITE_FIRMWARE; - } - - /*Set the address for verify*/ - start_address = 0x4000; - max_address = 0x11FBF; - - printk(KERN_DEBUG - "[PEN] start the verification\n"); - /*Verify the written program*/ - bRet = flash_verify(wac_i2c, Binary, DATA_SIZE, - start_address, &max_address, iMpuType); - if (!bRet) { - printk(KERN_ERR - "[PEN] failed to verify the firmware\n"); - return EXIT_FAIL_VERIFY_FIRMWARE; - } - - - printk(KERN_DEBUG - "[PEN] checking the mark\n"); - /*Set mark*/ - bRet = is_flash_marking(wac_i2c, DATA_SIZE, - &bMarking, iMpuType); - if (!bRet) { - printk(KERN_ERR - "[PEN] %s marking firmwrae failed\n", - __func__); - return EXIT_FAIL_WRITING_MARK_NOT_SET; - } - - /*Enable */ - printk(KERN_DEBUG - "[PEN] closing the boot mode\n"); - - bRet = flash_end(wac_i2c); - if (!bRet) { - printk(KERN_ERR - "[PEN] %s closing boot mode failed\n", - __func__); - return EXIT_FAIL_WRITING_MARK_NOT_SET; - } - - printk(KERN_DEBUG - "[PEN] write and verify completed\n"); - return EXIT_OK; -} - diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_flash_g9.h b/drivers/input/touchscreen/wacom/wacom_i2c_flash_g9.h deleted file mode 100644 index 8b354a5..0000000 --- a/drivers/input/touchscreen/wacom/wacom_i2c_flash_g9.h +++ /dev/null @@ -1,474 +0,0 @@ - - -#include <linux/wacom_i2c.h> -#include "wacom_i2c_firm.h" -#include "wacom_i2c_func.h" - -#define FLASH_START0 'f' -#define FLASH_START1 'l' -#define FLASH_START2 'a' -#define FLASH_START3 's' -#define FLASH_START4 'h' -#define FLASH_START5 '\r' -#define FLASH_ACK 0x06 - -#define pana_QUERY 0x11 - -#define flash_END 0x80 -#define flash_VERIFY 0x81 -#define flash_WRITE 0x82 -#define flash_READ 0x83 -#define flash_ERASE 0x84 -#define flash_SET_INFO 0x85 -#define flash_END_TO_BOOT 0x87 -#define flash_BAUDRATE 0x88 - -#define flash_QUERY 0xE0 -#define flash_BLVER 0xE1 -#define flash_UNITID 0xE2 -#define flash_GET_INFO 0xE3 -#define flash_FWVER 0xE4 -#define flash_MPU 0xE8 - -#define pen_QUERY '*' - -#define V09 0 -#define V095 1 - -#define HIDIIC_VERSION V095 - -/*------------------All below are copied from COMMON.H------------------*/ - -#define FLASH_BLOCK_SIZE 64 - -#define ASCINT_ON 0x0 -#define ASCINT_OFF 0x1 -#define ASCINT_ERROR 0xFF - -/* -#define WRITE 0 -*/ -#define VERIFY 1 -#define WRITEVERIFY 2 -#define ERASE 3 -#define GETVERSION 4 - -#define USER_ADDRESS 0x56 -#define BOOT_ADDRESS 0x57 - -#define CMD_GET_FEATURE 2 -#define CMD_SET_FEATURE 3 - -#define ACK 0 - -#define BOOT_CMD_SIZE 78 -#define BOOT_RSP_SIZE 6 - -#define BOOT_CMD_REPORT_ID 7 - -#define BOOT_ERASE_FLASH 0 -#define BOOT_WRITE_FLASH 1 -#define BOOT_VERIFY_FLASH 2 -#define BOOT_EXIT 3 -#define BOOT_BLVER 4 -#define BOOT_MPU 5 -#define BOOT_SECURITY_UNLOCK 6 -#define BOOT_QUERY 7 - -#define QUERY_CMD 0x07 -#define QUERY_ECH 'D' -#define QUERY_RSP 0x06 - -#define BOOT_CMD 0x04 -#define BOOT_ECH 'D' - -#define MPU_CMD 0x05 -#define MPU_ECH 'D' - -#define SEC_CMD 0x06 -#define SEC_ECH 'D' -#define SEC_RSP 0x00 - -#define ERS_CMD 0x00 -#define ERS_ECH 'D' -#define ERS_RSP 0x00 - -#define MARK_CMD 0x02 -#define MARK_ECH 'D' -#define MARK_RSP 0x00 - -#define WRITE_CMD 0x01 -#define WRITE_ECH 'D' -#define WRITE_RSP 0x00 - -#define VERIFY_CMD 0x02 -#define VERIFY_ECH 'D' -#define VERIFY_RSP 0x00 - -#define CMD_SIZE (72+6) -#define RSP_SIZE 6 - -#define DATA_SIZE (65536 * 4) - -// -// exit codes -// -#define EXIT_OK (0) -#define EXIT_REBOOT (1) -#define EXIT_FAIL (2) -#define EXIT_USAGE (3) -#define EXIT_NO_SUCH_FILE (4) -#define EXIT_NO_INTEL_HEX (5) -#define EXIT_FAIL_OPEN_COM_PORT (6) -#define EXIT_FAIL_ENTER_FLASH_MODE (7) -#define EXIT_FAIL_FLASH_QUERY (8) -#define EXIT_FAIL_BAUDRATE_CHANGE (9) -#define EXIT_FAIL_WRITE_FIRMWARE (10) -#define EXIT_FAIL_EXIT_FLASH_MODE (11) -#define EXIT_CANCEL_UPDATE (12) -#define EXIT_SUCCESS_UPDATE (13) -#define EXIT_FAIL_HID2SERIAL (14) -#define EXIT_FAIL_VERIFY_FIRMWARE (15) -#define EXIT_FAIL_MAKE_WRITING_MARK (16) -#define EXIT_FAIL_ERASE_WRITING_MARK (17) -#define EXIT_FAIL_READ_WRITING_MARK (18) -#define EXIT_EXIST_MARKING (19) -#define EXIT_FAIL_MISMATCHING (20) -#define EXIT_FAIL_ERASE (21) -#define EXIT_FAIL_GET_BOOT_LOADER_VERSION (22) -#define EXIT_FAIL_GET_MPU_TYPE (23) -#define EXIT_MISMATCH_BOOTLOADER (24) -#define EXIT_MISMATCH_MPUTYPE (25) -#define EXIT_FAIL_ERASE_BOOT (26) -#define EXIT_FAIL_WRITE_BOOTLOADER (27) -#define EXIT_FAIL_SWAP_BOOT (28) -#define EXIT_FAIL_WRITE_DATA (29) -#define EXIT_FAIL_GET_FIRMWARE_VERSION (30) -#define EXIT_FAIL_GET_UNIT_ID (31) -#define EXIT_FAIL_SEND_STOP_COMMAND (32) -#define EXIT_FAIL_SEND_QUERY_COMMAND (33) -#define EXIT_NOT_FILE_FOR_535 (34) -#define EXIT_NOT_FILE_FOR_514 (35) -#define EXIT_NOT_FILE_FOR_503 (36) -#define EXIT_MISMATCH_MPU_TYPE (37) -#define EXIT_NOT_FILE_FOR_515 (38) -#define EXIT_NOT_FILE_FOR_1024 (39) -#define EXIT_FAIL_VERIFY_WRITING_MARK (40) -#define EXIT_DEVICE_NOT_FOUND (41) -#define EXIT_FAIL_WRITING_MARK_NOT_SET (42) - -/////////////////////////// Structure ////////////////////////////// -typedef struct _FW_VERSION -{ - u8 UpVer; - u8 LoVer; -} FW_VERSION, *PFW_VERSION; - -typedef struct _FLASHINF -{ - unsigned int mode; - bool bExit; - bool bPowerSupply; - u8 DeviceAddr; -} FLASHINF, *PFLASHINF; - -struct wInt{ - u16 lI; - u16 hI; -}; - -struct dwbyte{ - unsigned char ll; - unsigned char lh; - unsigned char hl; - unsigned char hh; -}; - -union uAddress{ - unsigned long Lng; - struct wInt Int; - struct dwbyte Byt; -} ; - -typedef struct -{ - unsigned char data[12]; - unsigned char flash_data[64]; - unsigned char chksum; - unsigned char chksumData; - -} boot_flash_verify; - -typedef struct -{ - unsigned char RegNoL; - unsigned char RegNoH; - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char cksum; /* check sum */ -} boot_cmd_header; - -/* - * VERIFY_FLASH - verify flash memory - */ -typedef struct -{ - unsigned char RegNoL; - unsigned char RegNoH; - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - union uAddress addr; /* address must be divisible by 2 */ - unsigned char size8; /* size must be divisible by 8 */ - unsigned char data[64]; - unsigned char cksum; /* check sum */ - unsigned char cksumData; /* check sum */ -} boot_cmd_verify_flash; - -/* -* WRITE_FLASH - write flash memory -*/ -typedef struct -{ - unsigned char RegNoL; - unsigned char RegNoH; - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - union uAddress addr; /* address must be divisible by 2 */ - unsigned char size8; /* size must be divisible by 8*/ - unsigned char data[64]; - unsigned char cksum; /* check sum */ - unsigned char cksumData; /* check sum */ -} boot_cmd_write_flash; - -/* - * ERASE_FLASH - erase flash memory - */ -typedef struct -{ - unsigned char RegNoL; - unsigned char RegNoH; - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char blkNo; /* block No. */ - unsigned char cksum; /* check sum */ -} boot_cmd_erase_flash; - -/* -* RESET - reset microcontroller -*/ -typedef struct -{ - unsigned char RegNoL; - unsigned char RegNoH; - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char cksum; /* check sum */ -} boot_cmd_reset; - -/* -* BLVER - get bootloader version -*/ -typedef struct -{ - unsigned char RegNoL; - unsigned char RegNoH; - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char cksum; /* check sum */ -} boot_cmd_blver; - -/* -* MPUTYPE - get mpu type -*/ -typedef struct -{ - unsigned char RegNoL; - unsigned char RegNoH; - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char cksum; /* check sum */ -} boot_cmd_mputype; - -/* -* QUERY - confirm boot mode -*/ -typedef struct -{ - unsigned char RegNoL; - unsigned char RegNoH; - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char cksum; /* check sum */ -} boot_cmd_query; - -typedef union -{ -/* - * data field is used to make all commands the same length - */ - unsigned char data[72+6]; - boot_cmd_header header; - boot_cmd_verify_flash verify_flash; - boot_cmd_write_flash write_flash; - boot_cmd_erase_flash erase_flash; - boot_cmd_reset reset; - boot_cmd_blver blver; - boot_cmd_mputype mputype; - boot_cmd_query query; -} boot_cmd; - -/* - * common for all responses fields - */ -typedef struct -{ - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char resp; -} boot_rsp_header; - -/* -* WRITE_FLASH - write flash memory -*/ -typedef struct -{ - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char resp; -} boot_rsp_write_flash; - -/* -* VERIFY_FLASH - verify flash memory -*/ -typedef struct -{ - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char resp; -} boot_rsp_verify_flash; - -/* -* ERASE_FLASH - erase flash memory -*/ -typedef struct -{ - unsigned char lenL; - unsigned char lenH; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char resp; -} boot_rsp_erase_flash; - -/* -* BLVER - boot loader version -*/ -typedef struct -{ - unsigned char lenl; - unsigned char lenh; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char resp; -} boot_rsp_blver; - -/* -* MPUTYPE - mpu type -*/ -typedef struct -{ - unsigned char lenl; - unsigned char lenh; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char resp; -} boot_rsp_mputype; - -/* -* QUERY - query -*/ -typedef struct -{ - unsigned char lenl; - unsigned char lenh; - unsigned char reportId; - unsigned char cmd; /* command code, see BOOT_xxx constants */ - unsigned char echo; /* echo is used to link between command and response */ - unsigned char resp; -} boot_rsp_query; - - -typedef union -{ -/* - * data field is used to make all responses the same length - */ - unsigned char data[6]; - boot_rsp_header header; - boot_rsp_verify_flash verify_flash; - boot_rsp_write_flash write_flash; - boot_rsp_erase_flash erase_flash; - boot_rsp_blver blver; - boot_rsp_mputype mputype; - boot_rsp_query query; -} boot_rsp; -/*-----------------------------All above are copied fom COMMON.H--------------------------------------------*/ - -extern bool flash_query(struct wacom_i2c *wac_i2c); -extern bool flash_blver(struct wacom_i2c *wac_i2c, int *bler); -extern bool flash_mputype(struct wacom_i2c *wac_i2c, int* pMpuType); -extern bool flash_security_unlock(struct wacom_i2c *wac_i2c, int *status); -extern bool flash_end(struct wacom_i2c *wac_i2c); -extern bool flash_devcieType(struct wacom_i2c *wac_i2c); -extern int GetFWVersion(struct wacom_i2c *wac_i2c, PFW_VERSION pVer); -extern int GetBLVersion(struct wacom_i2c *wac_i2c, int* pBLVer); -extern int GetMpuType(struct wacom_i2c *wac_i2c, int* pMpuType); -extern int SetSecurityUnlock(struct wacom_i2c *wac_i2c, int* pStatus); -extern bool flash_erase(struct wacom_i2c *wac_i2c, bool bAllUserArea, int *eraseBlock, int num); -extern bool is_flash_marking(struct wacom_i2c *wac_i2c, size_t data_size, bool* bMarking, int iMpuID); -extern bool flash_write_block(struct wacom_i2c *wac_i2c, char *flash_data, unsigned long ulAddress, u8 *pcommand_id); -extern bool flash_write(struct wacom_i2c *wac_i2c, unsigned char *flash_data, size_t data_size, unsigned long start_address, unsigned long *max_address, int mpuType); -extern bool flash_verify(struct wacom_i2c *wac_i2c, unsigned char *flash_data, size_t data_size, unsigned long start_address, unsigned long *max_address, int mpuType); -extern bool flash_marking(struct wacom_i2c *wac_i2c, size_t data_size, bool bMarking, int iMpuID); -extern int FlashWrite(struct wacom_i2c *wac_i2c, char* filename); -extern int FlashVerify(struct wacom_i2c *wac_i2c, char *filename); -extern int wacom_i2c_flash_g9(struct wacom_i2c *wac_i2c); -extern int wacom_i2c_flash_chksum(struct wacom_i2c *wac_i2c, - unsigned char *flash_data, - unsigned long *max_address); - diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_func.c b/drivers/input/touchscreen/wacom/wacom_i2c_func.c index dd1c988..a24a41b 100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c_func.c +++ b/drivers/input/touchscreen/wacom/wacom_i2c_func.c @@ -19,23 +19,14 @@ #include <linux/wacom_i2c.h> #include "wacom_i2c_flash.h" -#ifdef COOR_WORK_AROUND -#include "wacom_i2c_coord_table.h" -#define WACOM_OFFSET_X (-60) -#define WACOM_OFFSET_Y (-100) +#ifdef WACOM_IMPORT_FW_ALGO +#include "wacom_i2c_coord_table.h" /* For firmware algorithm */ #define CAL_PITCH 100 -#define MAX_COORD_X 11392 -#define MAX_COORD_Y 7120 -#define LATTICE_SIZE_X ((MAX_COORD_X / CAL_PITCH)+2) -#define LATTICE_SIZE_Y ((MAX_COORD_Y / CAL_PITCH)+2) -#endif - -#if defined(CONFIG_MACH_P4NOTE) -#define MAX_COORD_X WACOM_POSX_MAX -#define MAX_COORD_Y WACOM_POSY_MAX +#define LATTICE_SIZE_X ((WACOM_MAX_COORD_X / CAL_PITCH)+2) +#define LATTICE_SIZE_Y ((WACOM_MAX_COORD_Y / CAL_PITCH)+2) #endif #if !defined(CONFIG_SAMSUNG_PRODUCT_SHIP) @@ -43,20 +34,49 @@ #endif /* block wacom coordinate print */ -/* extern int sec_debug_level(void); */ #ifdef CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK +#if defined(CONFIG_MACH_P4NOTE) +void free_dvfs_lock(struct work_struct *work) +{ + struct wacom_i2c *wac_i2c = + container_of(work, struct wacom_i2c, dvfs_work.work); + + if (wac_i2c->dvfs_lock_status) + dev_lock(wac_i2c->bus_dev, + wac_i2c->dev, SEC_BUS_LOCK_FREQ); + else { + dev_unlock(wac_i2c->bus_dev, wac_i2c->dev); + exynos_cpufreq_lock_free(DVFS_LOCK_ID_PEN); + } +} + +static void set_dvfs_lock(struct wacom_i2c *wac_i2c, bool on) +{ + if (on) { + if (!wac_i2c->dvfs_lock_status) { + cancel_delayed_work(&wac_i2c->dvfs_work); + dev_lock(wac_i2c->bus_dev, + wac_i2c->dev, SEC_BUS_LOCK_FREQ2); + exynos_cpufreq_lock(DVFS_LOCK_ID_PEN, + wac_i2c->cpufreq_level); + wac_i2c->dvfs_lock_status = true; + schedule_delayed_work(&wac_i2c->dvfs_work, + msecs_to_jiffies(SEC_DVFS_LOCK_TIMEOUT_MS)); + } + } else { + if (wac_i2c->dvfs_lock_status) { + schedule_delayed_work(&wac_i2c->dvfs_work, + msecs_to_jiffies(SEC_DVFS_LOCK_TIMEOUT_MS)); + wac_i2c->dvfs_lock_status = false; + } + } +} +#else /* CONFIG_MACH_P4NOTE */ void free_dvfs_lock(struct work_struct *work) { struct wacom_i2c *wac_i2c = container_of(work, struct wacom_i2c, dvfs_work.work); -#ifdef SEC_BUS_LOCK -#if defined(CONFIG_MACH_P4NOTE) - dev_unlock(wac_i2c->bus_dev, wac_i2c->dev); -#else - exynos4_busfreq_lock_free(DVFS_LOCK_ID_PEN); -#endif -#endif /* SEC_BUS_LOCK */ exynos_cpufreq_lock_free(DVFS_LOCK_ID_PEN); wac_i2c->dvfs_lock_status = false; } @@ -66,14 +86,6 @@ static void set_dvfs_lock(struct wacom_i2c *wac_i2c, bool on) if (on) { cancel_delayed_work(&wac_i2c->dvfs_work); if (!wac_i2c->dvfs_lock_status) { -#ifdef SEC_BUS_LOCK -#if defined(CONFIG_MACH_P4NOTE) - dev_lock(wac_i2c->bus_dev, - wac_i2c->dev, BUS_LOCK_FREQ); -#else - exynos4_busfreq_lock(DVFS_LOCK_ID_PEN, BUS_L1); -#endif -#endif /* SEC_BUS_LOCK */ exynos_cpufreq_lock(DVFS_LOCK_ID_PEN, wac_i2c->cpufreq_level); wac_i2c->dvfs_lock_status = true; @@ -85,23 +97,29 @@ static void set_dvfs_lock(struct wacom_i2c *wac_i2c, bool on) } } #endif +#endif /* CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK */ void forced_release(struct wacom_i2c *wac_i2c) { #if defined(CONFIG_SAMSUNG_KERNEL_DEBUG_USER) printk(KERN_DEBUG "[E-PEN] %s\n", __func__); #endif + input_report_abs(wac_i2c->input_dev, ABS_X, wac_i2c->last_x); + input_report_abs(wac_i2c->input_dev, ABS_Y, wac_i2c->last_y); input_report_abs(wac_i2c->input_dev, ABS_PRESSURE, 0); input_report_key(wac_i2c->input_dev, BTN_STYLUS, 0); input_report_key(wac_i2c->input_dev, BTN_TOUCH, 0); #if defined(WACOM_IRQ_WORK_AROUND) || defined(WACOM_PDCT_WORK_AROUND) input_report_key(wac_i2c->input_dev, BTN_TOOL_RUBBER, 0); input_report_key(wac_i2c->input_dev, BTN_TOOL_PEN, 0); + input_report_key(wac_i2c->input_dev, KEY_PEN_PDCT, 0); #else input_report_key(wac_i2c->input_dev, wac_i2c->tool, 0); #endif input_sync(wac_i2c->input_dev); + wac_i2c->last_x = 0; + wac_i2c->last_y = 0; wac_i2c->pen_prox = 0; wac_i2c->pen_pressed = 0; wac_i2c->side_pressed = 0; @@ -116,15 +134,16 @@ void forced_release(struct wacom_i2c *wac_i2c) #ifdef WACOM_PDCT_WORK_AROUND void forced_hover(struct wacom_i2c *wac_i2c) { + /* To distinguish hover and pdct area, release */ + if (wac_i2c->last_x != 0 || wac_i2c->last_y != 0) { + printk(KERN_DEBUG "[E-PEN] release hover\n"); + forced_release(wac_i2c); + } + wac_i2c->rdy_pdct = true; #if defined(CONFIG_SAMSUNG_KERNEL_DEBUG_USER) printk(KERN_DEBUG "[E-PEN] %s\n", __func__); #endif - input_report_abs(wac_i2c->input_dev, ABS_X, 0); - input_report_abs(wac_i2c->input_dev, ABS_Y, 0); - input_report_abs(wac_i2c->input_dev, ABS_PRESSURE, 0); - input_report_key(wac_i2c->input_dev, BTN_STYLUS, 0); - input_report_key(wac_i2c->input_dev, BTN_TOUCH, 1); - input_report_key(wac_i2c->input_dev, BTN_TOOL_PEN, 1); + input_report_key(wac_i2c->input_dev, KEY_PEN_PDCT, 1); input_sync(wac_i2c->input_dev); #ifdef CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK @@ -147,121 +166,224 @@ void wacom_i2c_pendct_work(struct work_struct *work) } #endif +int wacom_i2c_send(struct wacom_i2c *wac_i2c, + const char *buf, int count, bool mode) +{ + struct i2c_client *client = mode ? + wac_i2c->client_boot : wac_i2c->client; + + if (wac_i2c->boot_mode && !mode) { + printk(KERN_DEBUG + "[E-PEN] failed to send\n"); + return 0; + } + + return i2c_master_send(client, buf, count); +} + +int wacom_i2c_recv(struct wacom_i2c *wac_i2c, + char *buf, int count, bool mode) +{ + struct i2c_client *client = mode ? + wac_i2c->client_boot : wac_i2c->client; + + if (wac_i2c->boot_mode && !mode) { + printk(KERN_DEBUG + "[E-PEN] failed to send\n"); + return 0; + } + + return i2c_master_recv(client, buf, count); +} + int wacom_i2c_test(struct wacom_i2c *wac_i2c) { int ret, i; char buf, test[10]; buf = COM_QUERY; - ret = i2c_master_send(wac_i2c->client, &buf, sizeof(buf)); + ret = wacom_i2c_send(wac_i2c, &buf, sizeof(buf), false); if (ret > 0) - printk(KERN_INFO "[E-PEN]: buf:%d, sent:%d\n", buf, ret); + printk(KERN_INFO "[E-PEN] buf:%d, sent:%d\n", buf, ret); else { - printk(KERN_ERR "[E-PEN]: Digitizer is not active\n"); + printk(KERN_ERR "[E-PEN] Digitizer is not active\n"); return -1; } - ret = i2c_master_recv(wac_i2c->client, test, sizeof(test)); + ret = wacom_i2c_recv(wac_i2c, test, sizeof(test), false); if (ret >= 0) { for (i = 0; i < 8; i++) - printk(KERN_INFO "[E-PEN]: %d\n", test[i]); + printk(KERN_INFO "[E-PEN] %d\n", test[i]); } else { - printk(KERN_ERR "[E-PEN]: Digitizer does not reply\n"); + printk(KERN_ERR "[E-PEN] Digitizer does not reply\n"); return -1; } return 0; } -int wacom_i2c_master_send(struct i2c_client *client, - const char *buf, int count, unsigned short addr) +#ifdef WACOM_CONNECTION_CHECK +static void wacom_open_test(struct wacom_i2c *wac_i2c) { - int ret; - struct i2c_adapter *adap = client->adapter; - struct i2c_msg msg; + u8 cmd = 0; + u8 buf[2] = {0,}; + int ret = 0, cnt = 30; + + cmd = WACOM_I2C_STOP; + ret = wacom_i2c_send(wac_i2c, &cmd, 1, false); + if (ret <= 0) { + printk(KERN_ERR "[E-PEN] failed to send stop command\n"); + return ; + } - msg.addr = addr; - msg.flags = client->flags & I2C_M_TEN; - msg.len = count; - msg.buf = (char *)buf; + cmd = WACOM_I2C_GRID_CHECK; + ret = wacom_i2c_send(wac_i2c, &cmd, 1, false); + if (ret <= 0) { + printk(KERN_ERR "[E-PEN] failed to send stop command\n"); + goto grid_check_error; + } + + cmd = WACOM_STATUS; + do { + msleep(50); + if (1 == wacom_i2c_send(wac_i2c, &cmd, 1, false)) { + if (2 == wacom_i2c_recv(wac_i2c, + buf, 2, false)) { + switch (buf[0]) { + /* + * status value + * 0 : data is not ready + * 1 : PASS + * 2 : Fail (coil function error) + * 3 : Fail (All coil function error) + */ + case 1: + case 2: + case 3: + cnt = 0; + break; + + default: + break; + } + } + } + } while (cnt--); - ret = i2c_transfer(adap, &msg, 1); + wac_i2c->connection_check = (1 == buf[0]); + printk(KERN_DEBUG + "[E-PEN] epen_connection : %s %d\n", + (1 == buf[0]) ? "Pass" : "Fail", buf[1]); + +grid_check_error: + cmd = WACOM_I2C_STOP; + wacom_i2c_send(wac_i2c, &cmd, 1, false); + + cmd = WACOM_I2C_START; + wacom_i2c_send(wac_i2c, &cmd, 1, false); - /* If everything went ok (i.e. 1 msg transmitted), return #bytes - transmitted, else error code. */ - return (ret == 1) ? count : ret; } +#endif -int wacom_i2c_master_recv(struct i2c_client *client, char *buf, - int count, unsigned short addr) +int wacom_checksum(struct wacom_i2c *wac_i2c) { - struct i2c_adapter *adap = client->adapter; - struct i2c_msg msg; - int ret; + int ret = 0, retry = 10; + int i = 0; + u8 buf[5] = {0, }; + + buf[0] = COM_CHECKSUM; + + while (retry--) { + ret = wacom_i2c_send(wac_i2c, &buf[0], 1, false); + if (ret < 0) { + printk(KERN_DEBUG + "[E-PEN] i2c fail, retry, %d\n", + __LINE__); + continue; + } + + msleep(200); + ret = wacom_i2c_recv(wac_i2c, buf, 5, false); + if (ret < 0) { + printk(KERN_DEBUG + "[E-PEN] i2c fail, retry, %d\n", + __LINE__); + continue; + } else if (buf[0] == 0x1f) + break; + printk(KERN_DEBUG "[E-PEN] checksum retry\n"); + } + + if (ret >= 0) { + printk(KERN_DEBUG + "[E-PEN] received checksum %x, %x, %x, %x, %x\n", + buf[0], buf[1], buf[2], buf[3], buf[4]); + } + + for (i = 0; i < 5; ++i) { + if (buf[i] != Firmware_checksum[i]) { + printk(KERN_DEBUG + "[E-PEN] checksum fail %dth %x %x\n", i, + buf[i], Firmware_checksum[i]); + break; + } + } - msg.addr = addr; - msg.flags = client->flags & I2C_M_TEN; - msg.flags |= I2C_M_RD; - msg.len = count; - msg.buf = buf; + wac_i2c->checksum_result = (5 == i); - ret = i2c_transfer(adap, &msg, 1); +#ifdef WACOM_CONNECTION_CHECK + if (!wac_i2c->connection_check) + wacom_open_test(wac_i2c); +#endif - /* If everything went ok (i.e. 1 msg transmitted), return #bytes - transmitted, else error code. */ - return (ret == 1) ? count : ret; + return ret; } int wacom_i2c_query(struct wacom_i2c *wac_i2c) { struct wacom_features *wac_feature = wac_i2c->wac_feature; - struct i2c_msg msg[2]; int ret; - char buf; - u8 data[9]; + u8 buf; + u8 data[9] = {0, }; int i = 0; int query_limit = 10; buf = COM_QUERY; - msg[0].addr = wac_i2c->client->addr; - msg[0].flags = 0x00; - msg[0].len = 1; - msg[0].buf = (u8 *)&buf; - - msg[1].addr = wac_i2c->client->addr; - msg[1].flags = I2C_M_RD; - msg[1].len = COM_QUERY_NUM; - msg[1].buf = (u8 *) data; - - do { - ret = i2c_transfer(wac_i2c->client->adapter, msg, 2); - printk(KERN_INFO "[E-PEN]: %s: %dth ret of wacom query=%d\n", - __func__, i, ret); - - i++; - if (ret < 0) + for (i = 0; i < query_limit; i++) { + ret = wacom_i2c_send(wac_i2c, &buf, 1, false); + if (ret < 0) { + printk(KERN_ERR"[E-PEN] I2C send failed(%d)\n", ret); continue; - - wac_feature->fw_version = ((u16) data[7] << 8) + (u16) data[8]; - if (wac_feature->fw_version != 0xFF - && wac_feature->fw_version != 0xFFFF - && wac_feature->fw_version != 0x0) { - break; - } else { - printk(KERN_NOTICE - "[E-PEN]: %X, %X, %X, %X, %X, %X, %X, %X, %X fw=0x%x\n", - data[0], data[1], data[2], data[3], data[4], - data[5], data[6], data[7], data[8], - wac_feature->fw_version); } + msleep(100); + ret = wacom_i2c_recv(wac_i2c, data, COM_QUERY_NUM, false); + if (ret < 0) { + printk(KERN_ERR"[E-PEN] I2C recv failed(%d)\n", ret); + continue; + } + printk(KERN_INFO "[E-PEN] %s: %dth ret of wacom query=%d\n", + __func__, i, ret); + if (COM_QUERY_NUM == ret) { + if (0x0f == data[0]) { + wac_feature->fw_version = + ((u16) data[7] << 8) + (u16) data[8]; + break; + } else { + printk(KERN_NOTICE + "[E-PEN] %X, %X, %X, %X, %X, %X, %X, fw=0x%x\n", + data[0], data[1], data[2], data[3], + data[4], data[5], data[6], + wac_feature->fw_version); + } + } + } - i++; - } while (i < query_limit); - -#if defined(CONFIG_MACH_Q1_BD) || defined(CONFIG_MACH_P4NOTE) - wac_feature->x_max = (u16) MAX_COORD_X; - wac_feature->y_max = (u16) MAX_COORD_Y; +#if defined(CONFIG_MACH_Q1_BD)\ + || defined(CONFIG_MACH_P4NOTE)\ + || defined(CONFIG_MACH_T0) + wac_feature->x_max = (u16) WACOM_MAX_COORD_X; + wac_feature->y_max = (u16) WACOM_MAX_COORD_Y; #else wac_feature->x_max = ((u16) data[1] << 8) + (u16) data[2]; wac_feature->y_max = ((u16) data[3] << 8) + (u16) data[4]; @@ -270,35 +392,48 @@ int wacom_i2c_query(struct wacom_i2c *wac_i2c) #if defined(COOR_WORK_AROUND) if (i == 10 || ret < 0) { - printk(KERN_NOTICE "[E-PEN]: COOR_WORK_AROUND is applied\n"); + printk(KERN_NOTICE "[E-PEN] COOR_WORK_AROUND is applied\n"); printk(KERN_NOTICE - "[E-PEN]: %X, %X, %X, %X, %X, %X, %X, %X, %X\n", data[0], + "[E-PEN] %X, %X, %X, %X, %X, %X, %X, %X, %X\n", data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8]); - wac_feature->x_max = (u16) COOR_WORK_AROUND_X_MAX; - wac_feature->y_max = (u16) COOR_WORK_AROUND_Y_MAX; - wac_feature->pressure_max = (u16) COOR_WORK_AROUND_PRESSURE_MAX; + wac_feature->x_max = (u16) WACOM_MAX_COORD_X; + wac_feature->y_max = (u16) WACOM_MAX_COORD_Y; + wac_feature->pressure_max = (u16) WACOM_MAX_PRESSURE; +#ifdef CONFIG_MACH_T0 + wac_feature->fw_version = 0; +#else wac_feature->fw_version = 0xFF; +#endif } #endif - printk(KERN_NOTICE "[E-PEN]: x_max=0x%X\n", wac_feature->x_max); - printk(KERN_NOTICE "[E-PEN]: y_max=0x%X\n", wac_feature->y_max); - printk(KERN_NOTICE "[E-PEN]: pressure_max=0x%X\n", + printk(KERN_NOTICE "[E-PEN] x_max=0x%X\n", wac_feature->x_max); + printk(KERN_NOTICE "[E-PEN] y_max=0x%X\n", wac_feature->y_max); + printk(KERN_NOTICE "[E-PEN] pressure_max=0x%X\n", wac_feature->pressure_max); - printk(KERN_NOTICE "[E-PEN]: fw_version=0x%X (d7:0x%X,d8:0x%X)\n", + printk(KERN_NOTICE "[E-PEN] fw_version=0x%X (d7:0x%X,d8:0x%X)\n", wac_feature->fw_version, data[7], data[8]); - printk(KERN_NOTICE "[E-PEN]: %X, %X, %X, %X, %X, %X, %X, %X, %X\n", + printk(KERN_NOTICE "[E-PEN] %X, %X, %X, %X, %X, %X, %X, %X, %X\n", data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8]); - if ((i == 10) && (ret < 0)) + if ((i == 10) && (ret < 0)) { + printk(KERN_DEBUG"[E-PEN] %s, failed\n", __func__); + wac_i2c->query_status = false; return ret; + } + wac_i2c->query_status = true; + +#if defined(CONFIG_MACH_P4NOTE) + wacom_checksum(wac_i2c); +#endif return 0; } -#ifdef COOR_WORK_AROUND +#ifdef WACOM_IMPORT_FW_ALGO +#ifdef WACOM_USE_OFFSET_TABLE void wacom_i2c_coord_offset(u16 *coordX, u16 *coordY) { u16 ix, iy; @@ -314,7 +449,7 @@ void wacom_i2c_coord_offset(u16 *coordX, u16 *coordY) dXy_0 = *coordY - (iy * CAL_PITCH); dXy_1 = CAL_PITCH - dXy_0; - if (*coordX <= MAX_COORD_X) { + if (*coordX <= WACOM_MAX_COORD_X) { D0 = tableX[user_hand][screen_rotate][ix + (iy * LATTICE_SIZE_X)] * (dXx_1 + dXy_1); @@ -337,7 +472,7 @@ void wacom_i2c_coord_offset(u16 *coordX, u16 *coordY) *coordX = 0; } - if (*coordY <= MAX_COORD_Y) { + if (*coordY <= WACOM_MAX_COORD_Y) { D0 = tableY[user_hand][screen_rotate][ix + (iy * LATTICE_SIZE_X)] * (dXy_1 + dXx_1); @@ -360,7 +495,9 @@ void wacom_i2c_coord_offset(u16 *coordX, u16 *coordY) *coordY = 0; } } +#endif +#ifdef WACOM_USE_AVERAGING void wacom_i2c_coord_average(unsigned short *CoordX, unsigned short *CoordY, int bFirstLscan) { @@ -407,6 +544,110 @@ void wacom_i2c_coord_average(unsigned short *CoordX, unsigned short *CoordY, } #endif +#if defined(WACOM_USE_BOXFILTER) +/*Center*/ +int g_boxThreshold_C[] = {0, 0, 0, }; +int g_boxThreshold_X[] = {30, 20, 20, }; +int g_boxThreshold_Y[] = {50, 20, 20, }; +/*Transition*/ +int g_boxThreshold_Trs[] = {130, 20, 20, }; + +void boxfilt(unsigned short *CoordX, unsigned short *CoordY, + int height, int bFirstLscan) +{ + bool isMoved = false; + static bool bFirst = true; + static unsigned short lastX_loc, lastY_loc; + static unsigned char bResetted; + int threshold = 0; + int distance = 0; + bool transition = false; + bool isXMoved = false; + + /*Reset filter*/ + if (bFirstLscan == 0) { + bResetted = 0; + return ; + } + + if (bFirstLscan && (bResetted == 0)) { + lastX_loc = *CoordX; + lastY_loc = *CoordY; + bResetted = 1; + } + + if (bFirst) { + lastX_loc = *CoordX; + lastY_loc = *CoordY; + bFirst = false; + } + + /*Start Filtering*/ + threshold = g_boxThreshold_C[height]; + + if (*CoordX > X_INC_E1) + threshold = g_boxThreshold_X[height]; + else if (*CoordX < X_INC_S1) + threshold = g_boxThreshold_X[height]; + + /*Right*/ + if (*CoordY > Y_INC_E1) { + /*Transition*/ + if (*CoordY < Y_INC_E2 && *CoordY > Y_INC_E3) { + transition = true; + threshold += g_boxThreshold_Trs[height]; + } else + threshold += g_boxThreshold_Y[height]; + } + /*Left*/ + else if (*CoordY < Y_INC_S1) { + /*Transition*/ + if (*CoordY > Y_INC_S2 && *CoordY < Y_INC_S3) { + transition = true; + threshold += g_boxThreshold_Trs[height]; + } else { + threshold += g_boxThreshold_Y[height]; + } + } + + /*Check Stop condition*/ + if (threshold == 0) + return ; + + /*X*/ + distance = abs(*CoordX - lastX_loc); + if (transition) { + if (distance >= 70) { + isMoved = true; + isXMoved = true; + } + } else if (distance >= threshold) + isMoved = true; + + /*Y*/ + if (isMoved == false) { + distance = abs(*CoordY - lastY_loc); + if (distance >= threshold) + isMoved = true; + } + + /*Update position*/ + if (isMoved) { + if (isXMoved) + lastX_loc = *CoordX; + else { + lastX_loc = *CoordX; + lastY_loc = *CoordY; + } + } else { + *CoordX = lastX_loc; + *CoordY = lastY_loc; + } +} +#endif + +#endif /*WACOM_IMPORT_FW_ALGO*/ + static bool wacom_i2c_coord_range(u16 *x, u16 *y) { #if defined(CONFIG_MACH_P4NOTE) @@ -434,7 +675,7 @@ int wacom_i2c_coord(struct wacom_i2c *wac_i2c) #endif data = wac_i2c->wac_feature->data; - ret = i2c_master_recv(wac_i2c->client, data, COM_COORD_NUM); + ret = wacom_i2c_recv(wac_i2c, data, COM_COORD_NUM, false); if (ret < 0) { printk(KERN_ERR "[E-PEN] %s failed to read i2c.L%d\n", __func__, @@ -442,8 +683,14 @@ int wacom_i2c_coord(struct wacom_i2c *wac_i2c) return -1; } #if defined(CONFIG_SAMSUNG_KERNEL_DEBUG_USER) +#if defined(CONFIG_MACH_T0) + /*printk(KERN_DEBUG"[E-PEN] %x, %x, %x, %x, %x, %x, %x %x\n", + data[0], data[1], data[2], data[3], + data[4], data[5], data[6], data[7]);*/ +#else pr_debug("[E-PEN] %x, %x, %x, %x, %x, %x, %x\n", - data[0], data[1], data[2], data[3], data[4], data[5], data[6]); + data[0], data[1], data[2], data[3], data[4], data[5], data[6]); +#endif #endif if (data[0] & 0x80) { /* enable emr device */ @@ -479,12 +726,19 @@ int wacom_i2c_coord(struct wacom_i2c *wac_i2c) y = 0; else y = y - origin_offset[1]; -#ifdef COOR_WORK_AROUND - wacom_i2c_coord_offset(&x, &y); + +#ifdef WACOM_USE_OFFSET_TABLE + if (wac_i2c->use_offset_table) + wacom_i2c_coord_offset(&x, &y); +#endif +#ifdef WACOM_USE_AVERAGING wacom_i2c_coord_average(&x, &y, rdy); #endif +#ifdef WACOM_USE_BOXFILTER + if (wac_i2c->use_box_filter && pressure == 0) + boxfilt(&x, &y, 0, rdy); +#endif #endif - if (wac_i2c->wac_pdata->x_invert) x = wac_i2c->wac_feature->x_max - x; if (wac_i2c->wac_pdata->y_invert) @@ -495,7 +749,7 @@ int wacom_i2c_coord(struct wacom_i2c *wac_i2c) x = y; y = tmp; } -#ifdef COOR_WORK_AROUND +#ifdef WACOM_USE_TILT_OFFSET /* Add offset */ x = x + tilt_offsetX[user_hand][screen_rotate]; y = y + tilt_offsetY[user_hand][screen_rotate]; @@ -509,7 +763,14 @@ int wacom_i2c_coord(struct wacom_i2c *wac_i2c) BTN_STYLUS, stylus); input_report_key(wac_i2c->input_dev, BTN_TOUCH, prox); input_report_key(wac_i2c->input_dev, wac_i2c->tool, 1); + if (wac_i2c->rdy_pdct) { + wac_i2c->rdy_pdct = false; + input_report_key(wac_i2c->input_dev, + KEY_PEN_PDCT, 0); + } input_sync(wac_i2c->input_dev); + wac_i2c->last_x = x; + wac_i2c->last_y = y; if (prox && !wac_i2c->pen_pressed) { #ifdef CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK @@ -575,10 +836,14 @@ int wacom_i2c_coord(struct wacom_i2c *wac_i2c) return 0; #else /* WACOM_IRQ_WORK_AROUND */ -#ifdef COOR_WORK_AROUND +#ifdef WACOM_USE_AVERAGING /* enable emr device */ wacom_i2c_coord_average(0, 0, 0); #endif +#ifdef WACOM_USE_BOXFILTER + if (wac_i2c->use_box_filter) + boxfilt(0, 0, 0, 0); +#endif #ifdef WACOM_PDCT_WORK_AROUND if (wac_i2c->pen_pdct == PDCT_DETECT_PEN) @@ -598,6 +863,7 @@ int wacom_i2c_coord(struct wacom_i2c *wac_i2c) input_report_key(wac_i2c->input_dev, BTN_TOOL_RUBBER, 0); input_report_key(wac_i2c->input_dev, BTN_TOOL_PEN, 0); + input_report_key(wac_i2c->input_dev, KEY_PEN_PDCT, 0); #else input_report_key(wac_i2c->input_dev, wac_i2c->tool, 0); #endif @@ -608,6 +874,8 @@ int wacom_i2c_coord(struct wacom_i2c *wac_i2c) wac_i2c->pen_prox = 0; wac_i2c->pen_pressed = 0; wac_i2c->side_pressed = 0; + wac_i2c->last_x = 0; + wac_i2c->last_y = 0; #ifdef CONFIG_SEC_TOUCHSCREEN_DVFS_LOCK set_dvfs_lock(wac_i2c, false); diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_func.h b/drivers/input/touchscreen/wacom/wacom_i2c_func.h index 49fd814..3754e13 100644 --- a/drivers/input/touchscreen/wacom/wacom_i2c_func.h +++ b/drivers/input/touchscreen/wacom/wacom_i2c_func.h @@ -27,7 +27,9 @@ #ifdef SEC_BUS_LOCK #include <mach/dev.h> -#define BUS_LOCK_FREQ 267160 +#define SEC_DVFS_LOCK_TIMEOUT_MS 200 +#define SEC_BUS_LOCK_FREQ 267160 +#define SEC_BUS_LOCK_FREQ2 400200 #endif #ifdef COOR_WORK_AROUND @@ -35,13 +37,26 @@ extern unsigned char screen_rotate; extern unsigned char user_hand; #endif -extern int wacom_i2c_master_send(struct i2c_client *client, const char *buf, - int count, unsigned short addr); -extern int wacom_i2c_master_recv(struct i2c_client *client, char *buf, - int count, unsigned short addr); +#define WACOM_I2C_STOP 0x30 +#define WACOM_I2C_START 0x31 +#define WACOM_I2C_GRID_CHECK 0xC9 +#define WACOM_STATUS 0xD8 + +#ifdef WACOM_USE_BOXFILTER +extern int g_boxThreshold_C[]; +extern int g_boxThreshold_X[]; +extern int g_boxThreshold_Y[]; +extern int g_boxThreshold_Trs[]; +#endif + +extern int wacom_i2c_send(struct wacom_i2c *wac_i2c, + const char *buf, int count, bool mode); +extern int wacom_i2c_recv(struct wacom_i2c *wac_i2c, + char *buf, int count, bool mode); extern int wacom_i2c_test(struct wacom_i2c *wac_i2c); extern int wacom_i2c_coord(struct wacom_i2c *wac_i2c); extern int wacom_i2c_query(struct wacom_i2c *wac_i2c); +extern int wacom_checksum(struct wacom_i2c *wac_i2c); extern void forced_release(struct wacom_i2c *wac_i2c); #ifdef WACOM_PDCT_WORK_AROUND extern void forced_hover(struct wacom_i2c *wac_i2c); diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_tblX_CCW_LLeft_T0.h b/drivers/input/touchscreen/wacom/wacom_i2c_tblX_CCW_LLeft_T0.h new file mode 100644 index 0000000..1e9f183 --- /dev/null +++ b/drivers/input/touchscreen/wacom/wacom_i2c_tblX_CCW_LLeft_T0.h @@ -0,0 +1,71 @@ +-65,-49,-45,-103,-87,-95,-34,-54,-67,-57,-41,-49,-38,-63,-60,-56,-52,-79,-68,-68,-67,-58,-76,-72,-71,-69,-77,-69,-62,-56,-45,-50,-47,-44,-40,-50,-41,-37,-37,-29,-47,-48,-49,-52,-57,-60,-58,-57,-73,-64,-59,-59,-50,-63,-61,-57,-55,-61,-57,-53,-49,-36,-50,-48,-47,-48,-53,-55,-53,-50,-69,-58,-54,-51,-43,-55,-53,-50,-48,-56,-50,-46,-45,-38,-53,-52,-51,-52,-56,-56,-58,-57,-70,-62,-59,-59,-48,-57,-52,-49,-43,-60,-45,-37,-36,-31,-36,-39,-31,-58,-62,-62,-59,-58,-52,-74,-69,-84,-122,-109,-117,-121,30,30,
+-111,-57,-114,-125,-111,-115,-38,-63,-73,-64,-47,-54,-42,-69,-65,-61,-54,-74,-71,-69,-66,-58,-77,-75,-71,-69,-82,-72,-65,-60,-48,-57,-54,-49,-43,-58,-49,-45,-42,-32,-54,-54,-53,-54,-63,-66,-61,-59,-80,-69,-65,-61,-51,-69,-67,-55,-51,-61,-56,-51,-48,-32,-51,-48,-48,-46,-54,-55,-52,-49,-69,-58,-53,-51,-40,-55,-51,-50,-46,-57,-51,-46,-45,-30,-53,-52,-50,-49,-55,-54,-56,-52,-69,-60,-54,-54,-43,-53,-49,-47,-40,-61,-47,-45,-39,-32,-44,-47,-37,-63,-71,-72,-66,-56,-64,-84,-86,-83,-106,-107,-73,-81,-147,32,
+-134,-101,-125,-128,-123,-117,-35,-67,-77,-68,-52,-57,-44,-74,-67,-63,-53,-50,-72,-70,-65,-60,-78,-75,-72,-68,-85,-75,-66,-61,-48,-60,-58,-52,-46,-63,-53,-49,-46,-34,-58,-58,-54,-54,-67,-68,-64,-60,-84,-71,-68,-63,-51,-71,-66,-59,-54,-67,-61,-55,-51,-34,-57,-54,-51,-49,-58,-59,-56,-51,-74,-62,-59,-54,-43,-59,-56,-53,-48,-63,-58,-52,-49,-32,-59,-57,-54,-51,-60,-60,-58,-54,-76,-64,-59,-55,-46,-57,-55,-50,-42,-67,-53,-48,-42,-33,-50,-51,-43,-67,-72,-72,-67,-60,-54,-70,-70,-60,-73,-82,-79,-93,-154,34,
+-116,-115,-142,-137,-167,-157,-58,-79,-103,-96,-78,-65,-49,-74,-65,-60,-55,-39,-76,-73,-72,-67,-87,-85,-78,-75,-95,-84,-76,-68,-55,-70,-66,-58,-52,-71,-62,-57,-52,-39,-65,-64,-58,-57,-71,-73,-67,-63,-88,-74,-71,-63,-52,-71,-68,-61,-55,-70,-63,-58,-52,-36,-61,-58,-53,-50,-61,-62,-57,-52,-78,-66,-62,-56,-45,-63,-59,-55,-49,-67,-61,-56,-49,-34,-62,-59,-56,-53,-64,-63,-60,-54,-80,-66,-62,-57,-48,-60,-58,-55,-46,-68,-55,-51,-44,-34,-54,-54,-45,-68,-77,-75,-68,-62,-51,-74,-75,-71,-79,-89,-86,-97,-87,36,
+-114,-124,-141,-141,-154,-137,-30,-50,-77,-69,-52,-61,-46,-73,-64,-59,-50,-35,-67,-65,-59,-55,-74,-72,-67,-63,-85,-72,-65,-59,-48,-63,-60,-53,-46,-65,-56,-51,-46,-34,-58,-58,-54,-51,-65,-67,-62,-57,-83,-70,-66,-59,-49,-69,-67,-60,-54,-72,-66,-61,-56,-40,-67,-65,-57,-53,-67,-67,-62,-56,-86,-72,-69,-62,-53,-72,-69,-61,-55,-75,-69,-64,-58,-41,-71,-69,-62,-59,-70,-70,-63,-56,-85,-68,-65,-56,-48,-58,-57,-49,-41,-67,-54,-50,-43,-33,-57,-57,-53,-72,-88,-84,-75,-63,-42,-77,-77,-37,-38,-90,-87,-97,-87,38,
+-128,-136,-147,-147,-156,-137,-28,-47,-76,-67,-51,-60,-44,-71,-60,-56,-46,-33,-62,-61,-54,-51,-69,-68,-63,-60,-82,-69,-63,-57,-46,-61,-58,-51,-45,-64,-53,-50,-44,-32,-56,-55,-52,-48,-62,-64,-59,-54,-81,-67,-63,-56,-47,-66,-64,-58,-51,-69,-62,-56,-50,-35,-60,-58,-52,-47,-60,-61,-56,-50,-78,-63,-61,-53,-44,-60,-58,-52,-45,-66,-59,-54,-49,-33,-60,-57,-55,-50,-64,-63,-59,-52,-81,-63,-60,-57,-50,-56,-55,-51,-44,-67,-54,-52,-44,-33,-54,-56,-46,-63,-74,-69,-60,-58,-38,-61,-58,-55,-55,-83,-81,-87,-91,40,
+-125,-142,-143,-142,-156,-135,-34,-59,-75,-66,-49,-59,-44,-70,-59,-55,-45,-33,-61,-60,-54,-50,-68,-66,-63,-58,-81,-68,-62,-57,-46,-61,-58,-51,-44,-64,-53,-49,-44,-32,-54,-54,-51,-48,-60,-62,-59,-54,-80,-65,-62,-56,-47,-64,-62,-57,-51,-69,-60,-55,-49,-35,-59,-57,-50,-46,-59,-59,-54,-49,-78,-63,-60,-52,-43,-58,-57,-50,-44,-64,-57,-52,-47,-31,-58,-55,-52,-48,-60,-60,-56,-49,-79,-60,-56,-53,-47,-52,-52,-47,-41,-66,-53,-50,-43,-32,-54,-54,-45,-60,-69,-64,-52,-52,-33,-51,-48,-48,-45,-74,-73,-79,-143,42,
+-128,-143,-139,-137,-150,-129,-33,-56,-73,-63,-47,-56,-42,-68,-56,-52,-42,-31,-57,-56,-50,-46,-64,-64,-60,-55,-79,-65,-60,-55,-44,-59,-56,-49,-42,-62,-51,-47,-41,-30,-52,-51,-47,-44,-57,-59,-56,-51,-78,-62,-59,-53,-45,-60,-59,-54,-49,-67,-57,-53,-47,-33,-56,-54,-48,-43,-57,-57,-51,-45,-76,-59,-57,-49,-42,-56,-54,-49,-42,-64,-56,-51,-47,-31,-57,-56,-52,-47,-60,-59,-56,-50,-75,-57,-53,-54,-48,-48,-49,-45,-41,-64,-51,-49,-41,-31,-52,-52,-44,-55,-71,-65,-52,-53,-35,-54,-51,-62,-59,-78,-79,-74,-85,44,
+-126,-140,-131,-130,-119,-98,-19,-52,-77,-65,-50,-58,-43,-66,-53,-49,-41,-30,-54,-54,-48,-43,-59,-59,-55,-51,-77,-63,-58,-53,-44,-58,-54,-49,-42,-61,-48,-45,-39,-29,-49,-49,-45,-42,-54,-54,-51,-46,-74,-58,-55,-50,-43,-58,-57,-52,-46,-64,-54,-49,-44,-32,-51,-50,-45,-41,-54,-55,-50,-44,-72,-55,-52,-47,-41,-54,-52,-48,-41,-60,-50,-46,-42,-29,-54,-53,-50,-45,-57,-57,-56,-50,-76,-57,-53,-53,-47,-48,-47,-50,-42,-62,-49,-47,-39,-30,-49,-49,-40,-47,-64,-56,-44,-44,-27,-43,-39,-56,-52,-72,-76,-71,-81,46,
+-124,-137,-124,-121,-111,-92,-17,-49,-75,-62,-47,-55,-41,-64,-49,-47,-38,-28,-51,-50,-45,-40,-56,-56,-52,-47,-75,-60,-56,-50,-42,-56,-52,-47,-40,-59,-46,-43,-37,-27,-47,-47,-43,-39,-52,-51,-47,-43,-72,-55,-52,-47,-41,-55,-53,-48,-42,-62,-51,-46,-42,-30,-49,-48,-43,-38,-52,-52,-47,-42,-69,-52,-49,-44,-38,-50,-49,-45,-38,-58,-47,-43,-40,-27,-50,-50,-46,-42,-55,-54,-51,-47,-70,-54,-51,-50,-45,-49,-49,-48,-41,-61,-46,-43,-37,-27,-41,-42,-36,-39,-59,-53,-44,-42,-24,-50,-49,-58,-54,-78,-76,-72,-140,48,
+-123,-133,-115,-113,-103,-85,-17,-46,-66,-59,-44,-53,-38,-61,-46,-44,-36,-26,-48,-47,-42,-37,-53,-53,-49,-44,-73,-57,-53,-48,-40,-53,-50,-45,-39,-58,-44,-41,-35,-26,-44,-44,-40,-36,-50,-48,-43,-40,-45,-51,-50,-43,-39,-51,-50,-46,-40,-59,-48,-43,-39,-28,-46,-45,-40,-36,-50,-49,-45,-39,-56,-48,-46,-41,-36,-47,-46,-42,-35,-56,-44,-41,-37,-25,-47,-47,-43,-39,-52,-51,-48,-44,-49,-51,-48,-47,-42,-45,-46,-45,-38,-59,-44,-41,-34,-26,-38,-39,-33,-31,-51,-45,-35,-33,-15,-39,-38,-53,-49,-75,-74,-71,-138,50,
+-117,-127,-115,-111,-103,-85,-15,-41,-59,-56,-42,-46,-31,-59,-44,-41,-34,-25,-44,-45,-39,-34,-51,-50,-47,-42,-70,-54,-50,-46,-38,-51,-47,-43,-36,-56,-42,-38,-32,-24,-41,-41,-37,-33,-47,-44,-40,-37,-42,-47,-46,-40,-36,-47,-47,-42,-37,-57,-45,-40,-35,-25,-42,-41,-36,-32,-47,-45,-41,-36,-43,-45,-43,-38,-33,-44,-43,-39,-32,-55,-42,-39,-34,-23,-45,-44,-41,-36,-51,-49,-44,-40,-44,-46,-43,-42,-37,-40,-41,-37,-34,-54,-39,-36,-33,-25,-35,-37,-32,-28,-51,-43,-33,-30,-14,-33,-32,-43,-41,-71,-71,-69,-136,52,
+-138,-129,-113,-107,-109,-92,-14,-37,-55,-52,-38,-36,-31,-54,-40,-38,-29,-22,-40,-42,-36,-31,-47,-45,-41,-38,-45,-49,-46,-42,-36,-48,-45,-40,-34,-54,-40,-37,-30,-22,-37,-37,-33,-29,-45,-41,-37,-33,-34,-43,-41,-36,-33,-43,-43,-39,-33,-54,-41,-38,-31,-22,-39,-39,-33,-29,-45,-42,-37,-32,-36,-42,-40,-34,-31,-40,-40,-35,-29,-52,-39,-35,-31,-21,-42,-41,-37,-33,-49,-45,-40,-37,-37,-42,-40,-38,-34,-37,-37,-34,-30,-50,-36,-33,-30,-23,-32,-33,-28,-23,-48,-38,-29,-25,-11,-28,-27,-39,-37,-68,-69,-69,-134,54,
+-136,-122,-108,-103,-115,-98,-18,-33,-44,-48,-35,-31,-31,-37,-37,-35,-26,-20,-37,-39,-33,-29,-45,-43,-39,-34,-41,-46,-43,-39,-34,-45,-43,-39,-32,-53,-39,-35,-28,-20,-34,-34,-30,-26,-43,-38,-35,-31,-26,-39,-38,-33,-29,-39,-40,-35,-30,-52,-38,-35,-28,-20,-36,-36,-31,-26,-42,-39,-34,-29,-32,-38,-36,-32,-28,-36,-37,-33,-26,-49,-35,-32,-29,-20,-38,-38,-35,-31,-45,-42,-39,-35,-38,-41,-38,-37,-33,-39,-39,-37,-31,-52,-35,-32,-28,-21,-29,-30,-27,-22,-47,-39,-30,-27,-13,-33,-34,-43,-40,-67,-66,-62,-132,56,
+-127,-113,-103,-97,-110,-94,-16,-30,-42,-46,-32,-29,-29,-30,-35,-33,-24,-18,-34,-36,-31,-26,-44,-40,-36,-31,-38,-43,-40,-36,-31,-42,-41,-36,-29,-52,-37,-33,-27,-18,-32,-31,-28,-23,-40,-35,-31,-27,-17,-36,-34,-30,-27,-36,-36,-32,-26,-50,-35,-32,-26,-18,-33,-34,-28,-24,-41,-36,-32,-27,-16,-35,-33,-29,-26,-33,-34,-30,-23,-47,-32,-29,-26,-18,-35,-36,-32,-28,-42,-39,-34,-32,-37,-38,-35,-34,-30,-35,-36,-34,-28,-50,-33,-29,-26,-19,-26,-26,-23,-18,-44,-34,-26,-23,-10,-29,-29,-39,-36,-65,-65,-64,-72,58,
+-116,-106,-102,-96,-86,-72,4,-25,-37,-43,-30,-27,-27,-28,-32,-30,-22,-17,-30,-32,-28,-22,-41,-37,-33,-28,-35,-41,-38,-34,-29,-40,-39,-33,-27,-49,-34,-30,-24,-17,-28,-28,-24,-20,-37,-32,-27,-23,-9,-33,-31,-27,-24,-32,-32,-29,-23,-46,-30,-27,-23,-16,-30,-31,-26,-21,-38,-33,-28,-24,-7,-32,-31,-26,-23,-31,-31,-26,-20,-45,-29,-27,-23,-16,-32,-33,-30,-26,-41,-36,-31,-28,-23,-36,-34,-30,-26,-33,-33,-28,-24,-39,-29,-26,-23,-17,-23,-24,-19,-14,-42,-30,-21,-19,-7,-24,-25,-34,-33,-63,-65,-64,-70,60,
+-98,-98,-96,-91,-81,-68,6,-22,-35,-41,-28,-26,-25,-25,-30,-28,-20,-14,-28,-30,-26,-20,-39,-35,-30,-26,-34,-38,-36,-31,-26,-36,-36,-31,-24,-47,-32,-28,-22,-15,-26,-27,-22,-17,-36,-29,-25,-21,-6,-30,-28,-24,-21,-29,-30,-25,-20,-44,-28,-25,-20,-14,-27,-28,-24,-19,-36,-30,-25,-22,-5,-30,-28,-23,-19,-28,-29,-23,-17,-42,-27,-24,-20,-14,-29,-30,-27,-23,-39,-34,-29,-26,-14,-34,-32,-27,-23,-32,-31,-26,-20,-22,-27,-24,-21,-16,-20,-22,-18,-13,-42,-29,-21,-20,-10,-20,-21,-29,-29,-59,-62,-66,-69,62,
+-95,-100,-94,-89,-78,-63,10,-20,-34,-31,-18,-17,-17,-21,-28,-26,-17,-12,-24,-27,-24,-18,-38,-32,-28,-24,-16,-35,-34,-29,-24,-34,-33,-30,-23,-46,-30,-26,-20,-14,-24,-24,-20,-15,-33,-26,-22,-18,-4,-27,-26,-21,-18,-27,-26,-22,-17,-41,-26,-23,-19,-12,-25,-26,-21,-17,-34,-29,-24,-20,-4,-28,-26,-21,-17,-25,-25,-22,-16,-40,-25,-23,-19,-13,-27,-28,-26,-21,-37,-32,-27,-24,-8,-32,-30,-24,-20,-28,-29,-24,-18,-33,-25,-22,-19,-14,-17,-19,-15,-11,-40,-25,-17,-16,-6,-16,-17,-26,-26,-57,-61,-67,-122,64,
+-95,-94,-90,-85,-74,-61,12,-18,-32,-29,-17,-15,-16,-19,-26,-24,-15,-10,-22,-25,-21,-16,-37,-30,-26,-22,-18,-33,-32,-27,-22,-32,-31,-26,-21,-45,-28,-24,-18,-12,-22,-23,-18,-13,-31,-24,-20,-15,-2,-25,-23,-19,-15,-24,-24,-19,-15,-39,-24,-22,-17,-10,-22,-23,-19,-15,-33,-26,-22,-18,-4,-25,-24,-19,-14,-23,-22,-18,-13,-29,-23,-20,-17,-11,-25,-26,-23,-18,-36,-30,-25,-22,-8,-30,-28,-22,-18,-26,-26,-21,-16,-21,-23,-21,-16,-11,-19,-21,-15,-10,-31,-20,-10,-14,-2,-20,-20,-27,-27,-57,-58,-61,-122,66,
+-108,-88,-87,-83,-72,-60,12,-15,-29,-27,-15,-13,-14,-18,-24,-22,-14,-8,-19,-23,-20,-14,-35,-29,-25,-21,-18,-32,-30,-25,-21,-30,-29,-24,-18,-40,-26,-23,-17,-11,-21,-21,-16,-11,-30,-22,-18,-13,0,-23,-21,-17,-13,-22,-22,-18,-13,-28,-22,-20,-15,-9,-21,-21,-18,-13,-31,-25,-20,-16,-1,-24,-22,-17,-12,-21,-20,-16,-11,-26,-21,-18,-15,-9,-23,-24,-21,-17,-34,-28,-23,-19,-6,-28,-26,-19,-16,-23,-23,-18,-13,-17,-20,-18,-13,-9,-17,-18,-13,-7,-29,-17,-6,-10,1,-16,-17,-24,-24,-55,-58,-62,-120,68,
+-115,-82,-85,-80,-70,-59,13,-12,-27,-26,-14,-12,-12,-17,-22,-20,-12,-8,-17,-20,-16,-11,-33,-27,-22,-17,-15,-31,-29,-23,-18,-28,-27,-22,-16,-19,-24,-20,-15,-9,-19,-20,-15,-9,-29,-20,-17,-12,1,-21,-20,-15,-10,-21,-20,-16,-11,-14,-20,-18,-13,-7,-19,-20,-16,-11,-30,-23,-18,-15,0,-21,-20,-15,-11,-20,-19,-14,-9,-15,-20,-17,-14,-8,-21,-22,-21,-16,-34,-26,-23,-19,-5,-26,-25,-18,-15,-22,-21,-17,-11,-14,-18,-16,-12,-7,-15,-16,-11,-6,-32,-19,-8,-15,-4,-13,-14,-32,-33,-51,-55,-64,-118,70,
+-81,-88,-85,-80,-91,-77,-5,5,-11,-30,-19,-13,-10,-16,-22,-19,-11,-6,-14,-17,-14,-8,-31,-24,-20,-16,-18,-28,-27,-21,-17,-27,-25,-20,-14,-16,-22,-19,-13,-8,-17,-18,-13,-8,-27,-18,-14,-10,3,-18,-18,-13,-8,-19,-18,-14,-9,-13,-19,-17,-11,-5,-17,-18,-14,-9,-28,-21,-17,-13,2,-20,-18,-13,-9,-18,-17,-11,-7,-13,-18,-15,-12,-6,-19,-20,-19,-14,-32,-25,-21,-18,-3,-24,-23,-16,-13,-20,-19,-14,-9,-12,-15,-14,-9,-6,-13,-14,-10,-4,-30,-16,-6,-11,-1,-9,-11,-30,-32,-51,-55,-66,-67,71,
+-75,-82,-81,-76,-88,-75,-3,7,-10,-30,-18,-12,-9,-15,-20,-18,-9,-4,-12,-15,-11,-6,-30,-22,-19,-16,-2,-27,-25,-20,-15,-24,-23,-18,-12,-15,-21,-18,-12,-6,-17,-18,-12,-6,-27,-16,-13,-7,4,-16,-16,-11,-7,-17,-17,-12,-8,-13,-18,-17,-10,-5,-18,-18,-14,-9,-27,-19,-14,-10,4,-18,-16,-11,-6,-17,-16,-12,-7,-10,-15,-13,-10,-4,-19,-21,-17,-13,-31,-24,-19,-16,0,-22,-21,-14,-10,-19,-19,-14,-9,-11,-16,-16,-12,-7,-15,-14,-11,-7,-23,-11,1,-8,3,-12,-12,-18,-18,-51,-54,-62,-62,72,
+-81,-76,-80,-75,-85,-73,-1,7,-10,-29,-15,-12,-9,-14,-18,-16,-8,-2,-10,-14,-10,-5,-28,-21,-18,-14,-1,-26,-24,-19,-13,-23,-22,-16,-10,-14,-19,-16,-10,-5,-15,-17,-11,-5,-25,-15,-11,-6,5,-15,-14,-10,-5,-16,-15,-11,-6,-10,-17,-15,-9,-3,-16,-16,-12,-7,-26,-17,-13,-9,5,-16,-15,-9,-5,-15,-15,-10,-5,-9,-13,-11,-8,-3,-17,-19,-15,-11,-29,-22,-18,-14,1,-20,-19,-12,-9,-17,-16,-12,-7,-9,-14,-14,-10,-5,-12,-12,-9,-5,-21,-8,4,-5,6,-9,-9,-16,-17,-51,-55,-64,15,73,
+-92,-71,-79,-74,-82,-71,0,-3,-20,-19,-7,-6,-8,-13,-18,-15,-7,-2,-9,-13,-9,-4,-27,-19,-17,-15,-1,-24,-22,-18,-12,-21,-20,-14,-9,-13,-18,-15,-9,-3,-14,-15,-9,-4,-24,-13,-10,-4,6,-13,-13,-8,-4,-14,-13,-8,-5,-9,-15,-14,-8,-3,-15,-16,-12,-7,-24,-16,-11,-7,7,-15,-13,-8,-3,-15,-14,-9,-4,-8,-13,-12,-7,-2,-15,-17,-14,-10,-28,-21,-17,-13,1,-20,-18,-12,-7,-16,-15,-10,-5,-7,-11,-10,-6,-2,-13,-12,-9,-4,-26,-12,-1,-10,1,-8,-8,-26,-28,-49,-54,-65,-74,74,
+-79,-79,-79,-73,-83,-70,3,17,-2,-23,-12,4,-13,-16,-16,-14,-6,-1,-9,-11,-8,-3,-26,-18,-14,-14,-1,-24,-21,-17,-11,-20,-18,-13,-7,-11,-16,-14,-7,-1,-13,-14,-8,-2,-23,-12,-9,-3,8,-12,-12,-7,-3,-13,-12,-7,-3,-7,-14,-12,-7,-2,-14,-15,-11,-5,-23,-15,-10,-6,8,-13,-12,-6,-1,-13,-12,-7,-3,-7,-12,-10,-6,-1,-14,-16,-13,-9,-27,-20,-16,-12,3,-19,-17,-10,-6,-15,-13,-8,-3,-6,-9,-8,-4,0,-11,-10,-7,-2,-24,-10,1,-8,3,-5,-6,-25,-27,-50,-54,-65,-113,75,
+-66,-74,-76,-70,-81,-68,4,17,-2,-23,-12,5,-13,-15,-14,-13,-5,1,-7,-10,-4,-1,-22,-12,-11,-8,2,-20,-20,-14,-9,-19,-18,-12,-6,-10,-14,-11,-5,0,-10,-13,-7,-2,-21,-11,-8,-2,10,-10,-9,-4,1,-13,-12,-7,-2,-7,-13,-12,-6,0,-13,-14,-9,-4,-23,-14,-10,-6,8,-12,-11,-5,0,-12,-10,-5,-2,-6,-11,-10,-4,0,-13,-16,-12,-8,-27,-20,-15,-12,4,-17,-15,-9,-4,-14,-13,-9,-4,-23,-14,-13,-10,-2,-12,-10,-10,-4,-17,-4,9,-2,9,-5,-5,-23,-25,-49,-53,-65,-112,76,
+-63,-69,-72,-67,-79,-67,5,16,-2,-23,-11,4,-12,-14,-13,-11,-4,2,-5,-9,-4,0,-22,-12,-10,-7,3,-20,-19,-13,-8,-18,-17,-11,-6,-9,-12,-10,-4,1,-9,-12,-6,-1,-20,-10,-7,-1,11,-9,-8,-3,2,-12,-11,-6,-1,-6,-12,-10,-5,1,-12,-13,-8,-3,-22,-13,-9,-5,9,-11,-9,-4,2,-11,-9,-4,0,-5,-10,-8,-3,2,-12,-14,-11,-7,-25,-19,-14,-10,5,-16,-14,-7,-3,-12,-12,-7,-2,-6,-12,-11,-8,0,-10,-8,-8,-2,-15,-1,12,1,12,-3,-3,-22,-25,-48,-52,-65,-64,77,
+-78,-64,-73,-68,-76,-65,7,6,-13,-21,-9,5,-12,-14,-13,-12,-4,2,-4,-8,-4,0,-20,-10,-8,-5,6,-17,-16,-12,-6,-17,-15,-10,-4,-8,-11,-9,-3,2,-8,-10,-5,1,-19,-9,-5,0,13,-8,-8,-2,3,-10,-9,-4,0,-5,-11,-10,-4,2,-11,-12,-7,-2,-21,-13,-8,-3,10,-10,-8,-3,3,-10,-8,-2,1,-4,-9,-7,-2,3,-11,-13,-10,-5,-24,-18,-13,-9,6,-14,-12,-6,-1,-11,-10,-6,-1,-7,-10,-9,-6,2,-8,-5,-5,0,-13,1,14,3,14,-1,-2,-21,-24,-47,-52,-64,-63,78,
+-81,-66,-74,-67,-75,-63,9,5,-13,-21,-9,8,-11,-13,-12,-10,-3,3,-3,-7,-2,0,-19,-9,-8,-5,7,-17,-16,-11,-5,-16,-14,-10,-4,-7,-11,-8,-2,3,-7,-9,-4,2,-18,-8,-4,2,13,-7,-7,-1,4,-9,-8,-3,1,-4,-10,-9,-3,3,-10,-11,-7,-1,-20,-12,-8,-2,11,-8,-7,-2,3,-9,-7,-1,2,-4,-8,-7,-3,2,-11,-13,-10,-5,-23,-16,-12,-8,7,-13,-11,-6,-1,-11,-10,-4,1,-6,-9,-8,-1,5,-8,-6,-6,0,-21,-5,7,-3,8,1,0,-20,-24,-46,-50,-62,-62,79,
+-63,-62,-71,-65,-74,-62,10,27,4,-17,-6,11,-11,-8,-14,-11,-6,2,-4,-3,2,8,4,-4,-5,-1,6,-13,-13,-8,-2,-13,-12,-6,-1,-6,-10,-8,-2,4,-8,-9,-3,3,-18,-6,-3,3,13,-5,-6,1,5,-10,-9,-6,0,-4,-11,-9,-2,4,-11,-11,-6,0,-20,-11,-7,-1,12,-8,-7,-1,4,-8,-7,-1,2,-3,-8,-6,-2,3,-11,-13,-10,-5,-22,-15,-10,-7,8,-12,-10,-5,0,-9,-8,-3,3,-1,-7,-6,0,7,-6,-4,-4,2,-19,-4,9,-1,10,2,1,-20,-23,-45,-49,-60,-60,80,
+-58,-59,-69,-64,-73,-61,11,25,4,-17,-6,11,-10,-2,-12,-9,-4,3,-3,-3,2,8,4,-4,-5,-1,7,-13,-13,-8,-2,-13,-12,-6,-1,-5,-10,-7,-1,5,-7,-9,-2,4,-17,-6,-2,4,14,-5,-6,1,6,-9,-9,-5,1,-3,-9,-7,-1,5,-9,-10,-5,1,-19,-9,-5,1,13,-7,-7,0,5,-8,-7,-1,3,-2,-7,-6,-1,4,-11,-12,-9,-4,-21,-14,-10,-6,9,-12,-10,-4,1,-8,-8,-3,2,-21,-9,-7,-3,6,-10,-7,-6,-1,-10,4,18,5,16,2,1,-8,-13,-45,-49,-67,-62,81,
+-67,-56,-66,-62,-45,-34,38,15,-2,-15,-4,13,-10,8,-11,-9,-2,5,-1,-2,3,9,5,-4,-5,-1,8,-12,-13,-7,-1,-12,-11,-5,0,-4,-9,-6,0,6,-6,-8,-1,5,-16,-5,-1,5,15,-4,-5,2,6,-8,-8,-4,2,-3,-8,-6,1,6,-8,-9,-4,2,-18,-8,-4,2,14,-6,-6,1,6,-7,-6,-1,4,-1,-6,-5,0,5,-10,-11,-8,-3,-20,-13,-8,-5,10,-10,-8,-3,2,-7,-7,-1,4,-19,-7,-6,-1,8,-8,-5,-4,2,-9,5,20,6,18,3,2,-7,-12,-43,-47,-63,-57,82,
+-78,-53,-64,-61,-45,-34,38,13,-6,-14,-3,15,-10,10,-11,-9,-2,4,0,-1,4,10,7,-3,-3,-3,6,-10,-10,-6,0,-12,-11,-5,1,-3,-8,-6,1,7,-4,-6,0,6,-15,-4,0,6,16,-3,-4,2,7,-8,-8,-3,3,-1,-8,-6,0,6,-8,-9,-3,4,-18,-8,-4,3,15,-7,-6,0,6,-7,-6,0,5,-1,-6,-5,0,5,-10,-11,-7,-2,-19,-12,-7,-3,11,-9,-7,-1,3,-6,-5,-1,4,-15,-6,-5,2,11,-9,-6,-5,1,-16,-2,12,1,12,-2,-3,-5,-9,-45,-48,-58,-61,83,
+-53,-43,-58,-57,-46,-34,38,37,1,-12,-1,15,-11,-6,-12,-9,-5,2,0,1,6,11,6,1,-1,2,10,-9,-10,-6,0,-12,-11,-5,2,-2,-8,-5,2,8,-3,-5,1,7,-14,-3,1,6,17,-3,-4,3,7,-7,-7,-2,4,0,-7,-5,2,7,-7,-8,-2,5,-17,-7,-3,4,16,-5,-5,2,7,-6,-5,0,6,0,-6,-4,1,6,-9,-10,-6,-1,-18,-11,-6,-2,13,-8,-6,-1,4,-5,-5,0,5,-17,-5,-4,4,12,-8,-4,-4,2,-15,-1,13,3,14,-1,-2,-4,-7,-43,-45,-54,-56,84,
+-47,-42,-58,-54,-58,-48,22,35,6,-10,-1,15,-9,-7,-13,-10,-6,1,0,3,9,13,7,3,0,8,13,-7,-9,-4,2,-9,-8,-3,3,-2,-7,-4,3,9,-2,-4,2,8,-14,-4,-1,7,20,-2,-1,4,10,-6,-5,1,6,1,-6,-5,2,8,-7,-7,-1,5,-16,-6,-2,4,16,-4,-4,2,8,-6,-5,0,6,1,-4,-3,2,7,-10,-11,-6,0,-17,-10,-4,-1,13,-7,-6,0,5,-4,-4,1,7,-18,-6,-5,3,13,-8,-3,-5,2,-14,1,14,9,20,0,-1,-4,-10,-45,-50,-65,-37,85,
+-52,-44,-58,-55,-59,-49,21,32,5,-11,-1,16,-8,7,-10,-8,-4,3,1,4,10,14,9,3,0,8,12,-7,-9,-4,2,-10,-8,-2,4,-1,-6,-4,3,10,-1,-3,3,9,-13,-4,0,8,20,-1,-1,5,10,-5,-4,2,7,2,-5,-3,3,9,-6,-7,0,6,-15,-5,-1,5,17,-4,-3,3,8,-6,-5,1,6,2,-4,-3,3,8,-9,-10,-5,0,-16,-9,-3,0,15,-6,-4,1,6,-3,-3,2,8,-16,-5,-4,4,15,-7,-2,-4,3,-13,1,15,10,21,1,-1,-4,-10,-43,-47,-60,-58,86,
+-53,-55,-50,-48,-34,-15,57,28,4,1,13,30,0,20,-12,-10,-6,1,1,4,9,17,10,6,2,10,16,-4,-7,-5,1,-9,-7,-1,5,1,-5,-2,4,11,1,-1,5,12,-11,-2,2,7,19,1,1,5,11,-5,-4,2,6,1,-5,-3,4,9,-5,-5,-1,5,-13,-4,1,7,19,-3,-2,3,9,-5,-4,2,7,2,-4,-3,3,9,-9,-9,-5,0,-15,-7,-2,1,16,-5,-4,2,6,-2,-2,3,8,-15,-3,-3,5,16,-5,-2,-3,4,-12,2,16,10,22,2,1,-3,-7,-41,-44,-56,-53,87,
+-64,-74,-53,-50,-38,-18,55,23,1,0,13,31,1,21,-9,-7,-3,3,2,5,9,17,11,5,2,10,16,-4,-7,-4,2,-8,-7,-1,5,1,-4,-2,4,11,1,-1,6,12,-11,-2,2,7,20,1,1,6,11,-4,-4,3,7,2,-3,-2,5,10,-4,-5,-1,6,-13,-3,1,8,20,-2,-2,4,9,-4,-3,2,8,3,-4,-2,4,9,-8,-8,-4,2,-14,-6,-1,2,17,-4,-3,3,7,-1,-2,3,8,-14,-2,-1,6,16,-5,-1,-1,6,-5,8,22,11,23,6,5,-16,-20,-44,-47,-53,-59,88,
+-37,-28,-43,-40,-40,-31,36,66,27,2,7,21,-4,12,-15,-13,-8,-1,1,6,14,19,32,12,8,13,17,1,-4,1,7,-7,-6,-1,5,1,-3,0,7,13,0,-2,4,11,-10,0,5,11,23,2,1,7,12,-3,-3,1,7,2,-4,-1,5,12,-3,-3,4,10,-12,-1,2,9,20,-2,-2,4,9,-3,-3,3,9,4,-3,-1,5,10,-8,-8,-3,3,-13,-6,-1,4,18,-4,-2,3,7,1,2,7,12,-13,-1,0,7,17,-4,-1,0,6,-5,9,23,11,23,7,7,-14,-19,-43,-46,-51,-57,89,
+-40,-32,-46,-43,-46,-35,33,57,22,-1,6,21,-2,13,-12,-11,-5,1,3,7,14,19,30,11,8,13,17,1,-4,2,7,-6,-6,0,6,2,-2,0,8,14,0,-2,5,12,-9,1,6,12,23,2,2,8,13,-2,-2,3,8,3,-3,-1,6,13,-2,-2,4,11,-11,-1,3,9,20,-2,-2,5,10,-3,-2,3,9,5,-2,0,5,11,-7,-7,-2,4,-12,-5,1,4,19,-3,-2,3,8,2,2,7,12,-13,-1,0,8,18,-3,1,1,7,-10,4,17,13,24,0,-1,-4,-10,-44,-47,-56,-98,90,
+-47,-36,-48,-43,-35,-17,63,50,18,3,14,29,7,26,-13,-11,-7,-1,3,7,14,20,30,12,8,13,18,2,-3,3,8,-6,-6,0,6,3,-1,1,9,15,1,-1,5,13,-9,1,6,12,24,3,2,8,14,-1,-1,3,9,5,-2,0,7,14,-1,-1,5,12,-11,0,3,10,21,-1,-1,6,10,-2,-2,4,10,5,-1,0,6,12,-6,-6,-1,5,-11,-4,2,5,20,-2,0,5,9,2,2,7,13,-13,0,1,9,19,-2,1,1,7,-9,3,17,13,24,1,-1,-3,-9,-43,-46,-56,-97,91,
+-49,-40,-46,-42,-33,-13,85,67,19,1,12,29,8,25,-11,-10,-5,0,4,8,15,21,28,12,9,14,19,3,-2,3,9,-5,-5,1,7,4,-1,2,10,16,1,0,6,14,-8,2,7,13,25,3,3,9,15,0,0,5,10,6,-2,1,8,14,0,-1,4,11,-10,0,4,10,22,-1,-1,5,10,-2,-1,3,9,5,-1,1,6,13,-5,-6,0,5,-9,-2,3,6,20,-2,0,5,9,3,3,7,13,-10,2,3,7,17,-2,2,3,9,-2,9,23,11,23,4,4,-17,-24,-43,-47,-58,-96,92,
+-59,-27,-34,-30,-34,-25,73,119,54,11,17,30,2,13,-16,-15,-11,-5,2,8,17,21,33,16,11,17,20,5,-2,4,9,-4,-3,3,9,5,0,2,9,16,4,2,8,15,-7,2,6,13,26,2,2,9,15,0,1,7,12,7,-1,1,8,15,0,0,5,12,-9,1,5,11,23,-1,0,6,11,-1,0,4,10,5,-1,1,7,13,-4,-5,1,6,-8,-1,4,6,22,-1,0,6,10,3,3,8,13,-11,1,3,7,18,-2,1,2,8,-2,9,23,11,23,4,4,-17,-24,-44,-48,-61,-95,93,
+-34,-28,-38,-34,-41,-30,69,106,47,6,14,28,2,16,-15,-14,-10,-4,3,9,18,22,33,16,11,17,20,5,-2,4,10,-3,-3,3,9,5,1,3,9,16,4,3,9,16,-7,3,7,14,26,2,3,8,14,1,2,9,14,8,-1,1,9,16,1,1,5,12,-8,1,5,12,24,0,0,6,11,0,0,4,10,0,-1,1,7,14,-3,-4,1,7,-8,-2,3,7,16,-2,0,5,9,3,5,10,15,-11,3,4,11,19,0,2,6,11,-2,9,22,11,23,2,2,-8,-20,-44,-50,-65,-94,94,
+-39,-32,-42,-38,-48,-35,66,95,40,2,11,26,1,17,-15,-13,-9,-3,4,10,18,22,34,15,11,17,20,5,-1,5,11,-3,-3,3,9,6,0,3,10,17,4,3,9,16,-6,3,7,14,27,2,3,9,15,2,3,9,15,9,-1,1,9,16,1,1,6,13,-8,2,5,12,25,0,1,7,12,0,0,5,11,1,0,2,7,14,-2,-3,1,7,-7,-1,4,8,14,-1,0,6,11,4,5,9,15,-10,3,4,11,20,-1,1,4,9,-2,7,21,10,23,0,-1,-7,-16,-48,-52,-62,-93,95,
+-52,-37,-41,-37,-46,-32,72,86,33,5,15,32,11,8,-15,-14,-10,-4,4,10,18,24,35,16,12,18,23,6,0,5,11,-2,-2,4,10,7,1,3,10,18,4,2,9,16,-5,4,7,14,27,2,2,9,15,2,4,10,15,9,0,1,8,16,1,2,7,14,-7,2,6,12,25,1,1,7,12,0,0,4,11,-9,0,2,9,16,-2,-2,2,8,-6,0,6,8,19,-1,1,7,11,4,4,10,17,-7,5,7,13,22,2,3,4,9,-2,6,20,8,23,0,-2,-7,-17,-49,-54,-66,-92,96,
+-57,-42,-45,-41,-51,-35,70,77,28,1,19,36,9,-1,-17,-16,-10,-5,5,9,19,23,36,16,13,19,24,7,0,6,11,-2,-2,4,10,7,2,5,11,19,6,4,10,17,-5,3,7,14,28,2,2,10,16,3,5,11,16,10,0,2,8,16,2,3,7,14,-6,3,7,13,26,1,2,8,13,0,0,5,12,-10,0,3,9,16,-2,-2,3,8,-5,0,6,9,20,0,2,7,12,4,4,10,16,-7,4,6,11,22,0,1,4,9,-3,5,19,7,23,-5,-5,-24,-35,-50,-56,-69,-91,97,
+-73,-45,-48,-36,-44,-31,71,98,45,8,19,34,2,-7,-18,-16,-11,-5,5,10,19,22,35,17,13,20,23,8,0,7,12,-2,-2,3,10,8,3,5,12,19,8,5,10,17,-5,2,6,13,28,4,5,11,17,2,3,8,14,10,4,6,11,17,4,3,7,14,-6,1,6,11,26,2,4,9,14,1,0,5,11,-14,-1,2,9,17,1,0,5,11,-4,-1,3,8,2,-1,2,6,11,5,6,12,17,16,11,13,17,22,4,2,6,10,-8,2,14,6,22,-5,-5,-24,-36,-51,-57,-72,-90,98,
+-36,-33,-42,-38,-47,-33,70,92,42,6,16,33,1,-7,-18,-17,-11,-5,6,10,20,23,36,17,13,20,24,8,1,7,13,-2,-2,3,10,9,3,5,12,19,8,5,11,17,-4,2,7,14,29,5,6,11,17,2,3,9,14,11,4,6,11,18,5,4,8,15,-5,2,7,11,26,2,4,10,15,1,0,5,12,-14,0,3,9,18,1,1,6,11,-4,-1,3,8,3,0,2,7,12,5,6,11,16,-3,10,12,15,21,2,1,4,8,-8,-1,11,0,16,-15,-19,-16,-28,-53,-58,-74,-89,99,
+-51,-37,-42,-38,-50,-35,69,71,21,11,22,38,10,-9,-19,-16,-12,-5,6,10,19,22,36,17,13,21,25,8,1,9,14,0,0,4,11,10,4,7,13,20,8,6,11,18,-3,3,8,15,31,5,6,11,18,3,4,9,17,10,5,7,13,20,5,4,9,16,-4,2,7,12,28,3,4,10,15,1,0,5,12,-13,0,4,10,19,2,2,7,12,-2,0,4,9,3,-1,3,8,13,6,6,11,16,-6,8,10,13,20,0,-1,3,6,-10,-3,9,-1,16,-16,-19,-16,-29,-54,-59,-76,-88,100,
+-50,-40,-44,-39,-51,-36,69,69,20,9,21,37,8,-32,-21,-18,-12,-5,6,9,19,22,35,17,13,21,25,8,1,9,14,1,0,4,11,10,4,7,13,20,8,6,11,18,-3,3,8,16,30,5,6,12,18,3,4,10,17,10,5,7,13,21,5,4,10,16,-4,2,7,12,27,3,4,10,15,2,0,6,12,-13,1,4,11,20,2,2,7,13,-2,0,4,9,3,-1,2,8,13,5,5,12,18,-3,10,13,18,27,4,4,6,9,-9,-3,9,-4,15,-14,-17,-35,-48,-58,-63,-77,101,101,
+-34,-35,-43,-40,-53,-38,70,61,18,7,20,30,9,-34,-18,-15,-11,-4,6,8,17,23,18,13,11,19,25,9,5,10,15,1,0,4,12,2,3,7,13,21,8,7,12,19,-2,5,9,15,29,5,6,12,18,5,6,12,18,13,6,8,15,22,5,4,10,16,-3,2,7,12,27,3,4,11,16,3,2,7,14,-11,4,6,13,21,2,2,8,13,1,2,5,9,4,-3,0,5,11,3,5,9,18,0,19,20,27,30,7,4,6,8,-10,-5,8,-5,14,-14,-16,-34,-48,-58,-64,-78,102,102,
+-36,-37,-43,-40,-53,-38,68,61,17,6,19,24,8,-35,-21,-17,-12,-4,6,8,17,23,18,13,11,19,25,9,5,11,15,2,0,4,12,-9,3,6,13,21,8,6,12,19,-2,4,9,15,30,5,6,12,19,5,6,13,18,13,5,7,14,22,5,4,10,17,-3,2,7,12,21,3,4,11,15,3,1,7,14,-10,4,7,13,21,2,2,8,13,1,2,5,9,-1,-2,0,5,12,2,5,8,17,-2,16,18,23,28,5,2,6,8,-9,-5,7,1,20,-26,-34,-27,-42,-61,-66,-97,103,103,
+-40,-38,-42,-39,-52,-36,69,64,18,6,19,14,6,-36,-22,-19,-13,-4,6,8,17,23,17,11,9,18,25,8,4,11,16,1,0,5,12,-12,3,6,13,21,7,7,11,18,-2,4,9,14,30,4,6,12,19,5,6,12,18,-1,5,7,14,22,5,5,10,17,-3,2,7,12,14,2,4,10,15,2,1,7,14,-10,4,7,13,22,2,2,8,12,1,2,5,9,-14,-2,1,6,13,3,5,8,16,-3,13,15,20,27,2,1,5,8,-11,-7,4,-1,11,-26,-32,-25,-41,-60,-65,-96,104,104,
+-56,-39,-42,-37,-52,-37,68,74,28,-5,7,8,5,-35,-24,-19,-15,-4,6,7,17,23,18,11,9,19,25,9,4,11,16,2,0,5,12,-12,3,6,12,21,7,6,12,18,-2,4,9,13,28,4,6,11,18,6,6,12,19,-7,4,7,14,23,5,5,9,15,-3,1,7,12,9,2,4,9,13,3,1,8,15,-9,4,7,14,24,2,2,9,13,1,2,5,11,-17,-3,0,8,15,1,3,11,18,5,19,21,20,30,10,9,6,9,-6,-3,3,-5,0,-31,-34,-27,-43,-65,-69,-95,105,105,
+-34,-41,-44,-45,-43,-27,81,41,-13,-12,5,-10,5,-32,-17,-14,-9,-1,4,3,10,14,-5,5,6,13,25,6,3,10,16,3,0,5,13,-11,4,7,12,20,8,7,12,19,0,7,11,15,30,6,7,13,20,7,7,13,20,-4,6,9,15,23,6,5,10,16,-3,0,6,12,4,1,4,9,15,5,4,10,18,-9,3,6,15,25,4,4,9,13,1,1,5,11,-19,-3,1,10,17,2,3,11,17,3,14,16,15,28,7,8,6,9,-10,-5,-9,-7,-23,-44,-46,-40,-41,-63,-68,-94,106,106,
+-31,-41,-43,-43,-40,-24,83,45,-11,-10,5,-12,4,-33,-20,-16,-11,-1,3,2,10,14,-4,5,7,14,26,7,4,11,16,3,1,5,13,-11,4,7,11,21,8,7,12,18,0,6,11,15,31,6,7,13,21,7,7,13,19,-9,5,8,15,24,5,5,10,16,-3,0,5,12,5,0,3,9,14,5,3,10,17,-8,3,6,15,26,6,5,11,15,0,-1,3,8,-20,-7,-3,4,15,-11,-5,5,15,9,29,32,38,41,11,8,4,7,-9,-5,5,-8,-50,-66,-68,-56,-43,-67,-73,-93,107,107,
+-42,-41,-42,-40,-36,-21,85,51,-9,-8,7,-11,3,-34,-23,-18,-13,-2,1,1,10,15,-4,5,8,15,26,7,4,11,16,3,1,5,14,-10,4,7,11,21,7,7,11,18,0,6,11,15,31,5,7,13,21,7,7,12,19,-9,5,8,15,24,5,5,10,16,-3,-1,5,11,4,0,2,9,14,5,3,10,17,-8,3,6,15,27,6,5,10,15,0,-1,2,8,-19,-7,-3,6,17,-9,-4,5,15,6,23,25,31,38,10,9,5,8,-11,-8,2,-9,-42,-65,-65,-56,-54,-68,-72,-92,108,108,
+-69,-40,-44,-41,-58,-43,58,33,-11,-10,4,-19,-5,-34,-25,-20,-12,0,1,2,11,14,-2,8,10,15,26,10,7,11,16,2,0,5,14,-11,3,6,12,21,7,6,10,18,-1,4,10,12,26,4,4,13,21,5,5,11,20,-8,6,9,17,27,5,5,10,16,-4,-2,3,11,5,1,3,9,14,3,2,10,19,-7,4,7,14,26,6,6,10,15,1,-1,3,8,-18,-6,-1,10,21,-4,1,6,15,6,18,23,24,35,10,10,7,11,-15,-11,-12,-12,-33,-51,-52,-42,-51,-65,-69,-83,109,109,
+-85,-48,-44,-37,-54,-39,56,34,-5,-7,5,-18,-5,-35,-26,-21,-13,0,-1,-1,8,13,-5,3,6,13,26,6,4,10,16,2,0,5,14,-10,4,7,12,22,6,5,10,17,-1,5,10,13,22,3,4,13,20,6,5,11,20,-8,6,9,17,27,5,5,10,16,-3,-2,3,11,5,0,3,9,14,3,1,10,19,-7,4,7,14,27,6,6,11,15,1,0,3,9,-18,-5,0,11,22,-2,3,10,19,8,16,20,22,37,16,17,10,14,-18,-15,-21,-11,-23,-37,-60,-50,-57,-71,-73,-85,108,108,
+-84,-49,-47,-50,-44,-26,72,20,-18,-20,-3,-16,-1,-34,-23,-18,-12,0,-3,-3,5,13,-7,-1,2,12,27,4,3,9,15,2,1,7,14,-9,5,8,13,22,5,5,8,17,-2,5,11,15,30,7,8,12,20,11,10,16,24,-8,5,7,16,27,5,5,10,16,-2,-2,3,10,4,-2,2,8,13,2,2,10,20,-6,7,9,19,28,7,6,11,16,1,-2,4,7,-20,-14,-6,3,21,-6,3,7,19,12,26,28,26,21,17,18,12,18,-21,-18,-24,-14,-23,-34,-57,-46,-55,-71,-74,-85,62,107,
+-83,-46,-45,-45,-39,-22,74,25,-17,-17,-1,-15,0,-34,-25,-19,-14,-1,-4,-3,6,14,-6,0,4,14,28,5,4,10,17,3,1,7,14,-9,5,8,14,23,6,5,9,18,-1,5,11,16,31,7,8,12,20,12,11,17,25,-8,6,8,17,28,5,5,10,16,-2,-1,4,10,3,-1,2,8,14,1,2,10,19,-6,7,10,19,30,7,6,12,17,0,-2,4,7,-19,-13,-6,4,23,-4,4,8,18,10,22,24,26,38,17,18,13,17,-22,-19,-27,-16,-27,-39,-60,-49,-56,-71,-74,-86,106,106,
+-77,-40,-48,-47,-59,-43,51,34,-20,-18,-3,-23,-9,-36,-27,-22,-14,-1,-6,-5,6,13,-4,2,6,16,30,4,3,10,16,2,0,7,14,-11,3,6,12,21,5,5,8,16,-3,4,9,14,29,3,4,11,19,8,7,14,22,-7,6,8,16,27,5,5,10,17,-3,-2,2,8,2,-3,1,7,13,1,1,9,19,-5,8,11,20,30,8,7,13,18,1,-1,5,9,-18,-12,-5,5,24,-4,4,8,19,10,21,23,24,37,17,18,14,19,-22,-20,-27,-17,-30,-42,-63,-52,-59,-73,-76,-95,105,105,
+-56,-32,-42,-39,-54,-39,53,40,-18,-14,0,-20,-6,-36,-27,-22,-14,0,-6,-3,8,16,-2,5,8,19,32,7,5,12,19,4,2,8,15,-10,4,8,14,23,8,7,10,19,-2,6,11,16,31,5,6,13,21,10,9,15,24,-6,8,9,18,28,6,6,11,19,-2,-1,4,10,5,-1,2,9,14,2,2,10,19,-4,10,12,21,31,6,4,12,18,1,-2,3,8,-17,-11,-4,5,23,-2,7,8,19,4,15,17,24,37,15,16,13,18,-23,-19,-33,-23,-39,-52,-58,-47,-60,-77,-73,-96,104,104,
+-34,-21,-34,-32,-46,-33,56,46,-15,-9,5,-17,-2,-34,-26,-20,-13,1,-3,0,10,19,1,9,11,22,35,11,8,15,23,7,4,11,18,-8,7,11,17,26,11,11,15,23,1,9,14,19,33,8,8,16,24,12,12,19,28,-2,11,12,21,30,9,9,14,22,0,1,7,12,6,2,5,12,18,5,5,13,22,-2,13,15,24,34,9,8,16,22,3,1,6,11,-15,-8,-3,7,25,-2,7,9,21,8,20,22,29,40,16,16,14,19,-19,-16,-30,-19,-40,-57,-52,-44,-60,-75,-79,-92,103,103,
+-27,-15,-30,-30,-58,-48,37,26,-6,-21,-9,8,22,-7,2,6,17,29,22,24,35,46,19,28,30,40,51,23,20,28,36,16,13,20,30,0,17,21,32,39,23,21,29,39,14,24,28,39,51,23,22,31,39,22,23,29,39,25,18,19,27,36,14,13,21,29,4,7,12,20,25,8,10,19,25,11,11,19,28,0,16,18,27,34,10,8,13,20,-2,-4,-1,3,-32,-23,-19,-12,5,-25,-16,-3,10,-2,14,20,25,39,15,19,15,22,-13,-9,0,-12,-36,-59,-54,-48,-61,-81,-85,-96,104,104,
+-56,2,-14,-19,-23,-19,60,60,29,5,16,33,9,-29,-18,-15,-5,5,8,9,21,29,7,20,20,32,39,23,18,23,30,14,12,18,25,17,17,20,27,34,23,21,28,32,7,20,23,28,37,19,17,24,33,18,22,27,37,52,22,21,30,36,19,18,23,30,5,11,15,20,37,11,13,19,26,15,14,22,31,21,22,24,34,39,21,17,25,32,9,10,12,22,-12,0,3,16,28,-1,4,12,23,10,27,26,36,36,4,1,8,14,-3,0,10,20,-11,-41,-38,-35,-65,-84,-94,-95,105,105,
+21,1,0,-11,-5,5,74,63,29,15,26,42,15,23,-9,-8,0,6,16,16,27,37,42,30,29,39,44,34,28,35,39,18,21,25,30,45,26,29,34,43,30,28,36,38,34,30,31,35,42,28,24,31,40,21,29,34,44,56,30,28,37,43,29,26,32,37,7,17,20,25,37,19,20,25,32,18,22,28,36,52,31,31,40,46,31,26,31,37,12,18,21,35,24,15,16,28,35,14,20,24,38,41,48,49,58,60,34,30,27,34,0,8,17,5,10,-49,-44,-45,-62,-83,-93,-94,106,58,
+24,22,23,20,10,37,92,87,50,32,42,57,27,35,4,2,9,14,23,30,39,49,57,46,43,51,56,48,42,48,49,25,32,35,39,48,39,40,52,53,36,41,46,47,58,44,43,49,50,40,36,42,50,28,43,45,53,58,44,40,46,52,37,38,44,45,37,30,31,34,38,32,31,39,41,23,32,37,44,53,44,43,50,54,39,37,41,46,18,31,32,35,42,21,20,29,45,28,30,38,48,69,63,63,71,75,42,35,36,41,4,20,27,16,16,-38,-35,-42,-70,-93,-93,107,107,19,
+25,123,115,123,125,125,158,165,120,94,117,121,133,85,35,28,31,36,49,71,81,94,89,90,84,91,96,79,82,81,91,90,69,69,75,75,81,80,92,98,80,88,89,99,99,96,91,100,105,83,87,91,96,104,85,86,95,97,85,79,86,90,68,79,81,89,93,75,72,79,81,73,75,81,86,77,73,75,85,86,86,83,92,97,73,81,82,88,94,81,80,89,94,84,87,93,98,86,77,74,77,80,48,46,53,54,59,63,73,80,66,61,66,59,33,-2,-35,-45,-62,-92,-92,108,31,20,
diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_tblX_CW_LRight_T0.h b/drivers/input/touchscreen/wacom/wacom_i2c_tblX_CW_LRight_T0.h new file mode 100644 index 0000000..5dc6d69 --- /dev/null +++ b/drivers/input/touchscreen/wacom/wacom_i2c_tblX_CW_LRight_T0.h @@ -0,0 +1,71 @@ +-50,-27,21,-37,-41,-22,-13,75,34,37,59,70,54,64,37,32,43,45,18,16,26,32,-1,8,14,21,32,14,19,23,30,21,25,32,37,46,35,35,37,40,33,34,39,37,9,23,25,29,34,21,22,25,30,16,23,29,34,46,28,30,36,39,33,34,41,42,35,30,32,32,34,25,24,34,38,24,32,39,41,52,35,36,40,43,34,33,39,40,16,32,35,35,39,30,29,31,37,24,36,43,47,54,42,42,47,50,20,20,20,10,-12,-19,-24,-15,-22,-69,-71,-61,-115,-122,-98,-117,25,25,
+-65,-52,-60,-51,-58,-37,-18,53,18,30,42,55,45,54,23,20,31,35,17,15,16,24,-2,6,12,12,26,3,9,14,20,10,12,19,26,39,21,21,26,29,23,21,26,27,-1,12,14,20,28,9,11,16,21,6,10,17,23,38,15,18,25,29,21,21,28,31,3,18,20,21,27,11,11,22,27,14,20,27,31,44,20,22,28,31,22,20,25,29,4,18,22,25,31,16,17,21,28,12,22,29,35,45,26,26,33,38,10,7,7,-2,-29,-30,-27,-24,-11,-55,-58,-40,-82,-100,-102,-126,25,25,
+-67,-52,-66,-71,-75,-52,-25,37,6,21,31,45,36,49,12,11,22,27,8,7,11,17,-10,-1,4,7,21,-5,0,7,13,3,3,11,17,33,10,12,17,21,15,11,17,20,-8,3,6,12,23,0,2,8,13,-1,2,8,15,33,6,10,17,21,12,11,17,22,-5,8,11,13,21,2,2,14,19,6,10,17,22,38,10,12,19,24,12,10,14,20,-5,7,12,16,25,6,7,13,19,2,11,18,23,35,16,17,23,29,4,-4,-2,-10,-36,-38,-33,-30,-16,-62,-66,-56,-92,-107,-111,-133,25,25,
+-69,-52,-72,-73,-95,-95,-64,9,-20,-18,-8,6,21,36,7,6,13,18,-6,-7,-2,4,-24,-16,-12,-6,9,-19,-14,-5,1,-9,-9,-2,6,23,-2,-1,7,10,4,1,6,11,-17,-7,-4,2,14,-11,-9,-1,4,-10,-8,-1,10,3,-4,-2,6,10,-1,-2,5,12,-15,-3,0,3,12,-11,-11,1,6,-9,-6,1,9,26,-4,-2,6,10,-4,-5,2,8,-17,-5,-1,8,18,-3,-1,7,15,-2,7,13,22,35,11,12,19,24,-4,-12,-10,-22,-52,-54,-47,-37,-22,-70,-72,-24,-55,-111,-114,-136,25,25,
+-65,-67,-80,-78,-84,-80,-47,32,6,8,19,34,22,38,3,3,13,18,0,-1,5,12,-15,-8,-4,0,17,-12,-7,-1,4,-5,-8,1,7,25,0,1,8,11,5,2,6,11,-14,-5,-2,4,17,-7,-6,1,6,-6,-6,1,7,2,-2,0,8,12,1,0,7,13,-13,-2,2,4,15,-7,-7,6,11,-1,1,8,14,8,2,3,10,14,2,1,4,10,-14,-3,2,7,18,-3,-1,1,8,-4,3,9,14,28,6,6,14,18,-6,-15,-10,-19,-42,-43,-35,-37,-23,-57,-60,-46,-75,-108,-110,-127,-163,25,
+-76,-78,-88,-83,-90,-85,-49,27,2,6,16,31,19,37,1,1,12,16,0,-1,5,11,-15,-9,-5,0,16,-12,-8,-3,2,-6,-9,-2,5,12,-3,-1,6,9,3,1,5,10,-14,-6,-3,3,16,-8,-7,0,4,-7,-7,0,6,-6,-4,-1,7,11,-1,-1,5,11,-14,-3,1,3,14,-9,-8,5,9,-2,-1,7,13,6,0,1,8,13,0,0,2,9,-15,-5,0,6,17,-4,-2,0,7,-4,2,8,12,26,3,3,11,14,-9,-18,-10,-22,-43,-43,-34,-36,-21,-52,-53,-41,-70,-103,-106,-123,-129,25,
+-84,-85,-85,-79,-94,-87,-50,6,-16,2,13,28,16,35,-1,0,9,13,-2,-3,2,8,-17,-10,-6,-1,14,-13,-9,-4,1,-8,-11,-3,3,-1,-5,-2,4,7,2,0,3,8,-15,-7,-3,2,15,-9,-7,-1,4,-8,-7,-1,5,-9,-5,-2,6,10,-2,-2,3,9,-14,-4,-1,2,14,-10,-9,4,8,-2,-1,6,11,5,-2,0,7,12,-1,-1,1,7,-16,-5,0,4,16,-4,-3,0,7,-5,2,7,11,26,1,1,8,11,-11,-20,-12,-23,-51,-51,-41,-42,-28,-60,-60,-59,-86,-111,-114,-120,-163,25,
+-76,-89,-87,-81,-96,-89,-52,4,-18,1,12,27,15,34,-2,-1,8,12,-3,-5,2,7,-17,-11,-7,-3,13,-14,-10,-6,-1,-10,-13,-6,1,-3,-7,-5,2,6,1,-2,2,7,-16,-8,-4,0,14,-10,-8,-3,1,-9,-9,-4,2,-19,-7,-4,2,7,-4,-5,1,7,-16,-6,-2,0,12,-12,-11,1,6,-5,-3,3,8,0,-5,-3,4,9,-5,-5,-1,4,-19,-9,-4,0,12,-6,-4,-4,3,-6,0,5,8,22,-1,-1,6,10,-12,-20,-13,-24,-50,-49,-39,-39,-27,-55,-55,-56,-83,-109,-113,-118,-163,25,
+-78,-90,-89,-83,-98,-90,-47,1,-19,-1,11,26,13,27,-3,-2,7,12,-3,-4,2,8,-17,-11,-7,-2,11,-14,-10,-6,-2,-11,-14,-7,0,-3,-8,-5,1,5,0,-2,2,6,-16,-8,-4,0,13,-10,-9,-3,1,-9,-9,-4,2,-12,-7,-4,2,7,-5,-5,1,6,-16,-7,-3,-1,12,-12,-11,1,5,-4,-4,3,8,1,-5,-3,3,8,-5,-6,-2,4,-19,-9,-4,-1,12,-6,-4,-4,2,-6,1,5,7,22,-2,-2,5,9,-13,-20,-14,-24,-49,-47,-37,-37,-25,-51,-51,-55,-82,-112,-113,-120,-163,25,
+-76,-86,-87,-81,-78,-67,-31,0,-19,-6,5,21,9,26,-2,-2,6,11,-3,-5,1,7,-17,-9,-5,-1,15,-14,-11,-6,-3,-11,-14,-8,-2,-4,-8,-5,1,4,-1,-2,1,7,-15,-5,-2,2,14,-8,-7,-2,1,-8,-8,-4,2,-24,-6,-3,2,6,-3,-4,1,6,-16,-7,-3,-2,11,-11,-10,1,5,-5,-4,1,7,3,-2,0,5,9,-4,-5,-2,3,-18,-10,-5,-3,11,-9,-7,-6,-1,-8,-5,1,1,-2,-3,-1,5,9,-7,-15,-11,-21,-49,-50,-42,-43,-28,-65,-67,-57,-85,-113,-114,-121,-163,25,
+-75,-85,-87,-81,-77,-70,-33,-2,-20,-7,4,20,8,24,-2,-2,6,11,-2,-4,1,7,-16,-9,-5,0,15,-13,-11,-7,-3,-11,-14,-9,-3,-6,-9,-6,1,4,-1,-3,1,6,-15,-5,-2,2,14,-8,-8,-2,2,-8,-9,-4,2,-20,-6,-3,2,7,-3,-5,0,5,-16,-8,-4,-2,11,-11,-10,1,5,-5,-4,1,6,2,-2,0,4,9,-4,-6,-3,2,-18,-10,-5,-3,10,-9,-8,-7,-1,-8,-6,1,1,-3,-4,-2,4,8,-8,-15,-11,-21,-49,-49,-41,-41,-27,-62,-64,-56,-84,-114,-115,-122,-163,25,
+-78,-85,-90,-85,-78,-72,-35,-2,-19,-8,3,19,12,5,-3,-2,4,9,-3,-5,0,7,-17,-10,-5,-2,14,-14,-12,-7,-3,-11,-15,-9,-3,-7,-10,-7,0,3,-2,-4,1,6,-15,-6,-2,2,14,-8,-8,-2,2,-8,-9,-4,2,-21,-6,-3,3,7,-3,-4,0,5,-15,-8,-3,-3,11,-11,-10,1,5,-6,-6,0,6,1,-4,-2,4,8,-6,-7,-4,2,-19,-11,-7,-3,11,-8,-7,-5,0,-7,-4,2,3,-1,-2,-1,2,7,-9,-16,-12,-22,-52,-52,-43,-42,-29,-60,-61,-50,-79,-112,-115,-124,-163,25,
+-76,-83,-89,-84,-78,-72,-36,-4,-21,-9,2,19,11,3,-4,-3,4,9,-3,-5,0,6,-16,-10,-5,-2,14,-14,-12,-6,-3,-12,-15,-9,-3,-10,-10,-7,0,3,-2,-4,0,6,-15,-5,-2,2,14,-7,-7,-2,2,-8,-8,-3,2,-19,-6,-3,3,7,-3,-5,0,5,-16,-8,-4,-3,11,-11,-10,1,5,-5,-5,0,6,1,-4,-2,4,9,-6,-7,-3,2,-19,-11,-7,-3,11,-8,-6,-5,0,-6,-4,2,4,-1,-2,-1,2,6,-9,-16,-12,-21,-51,-50,-42,-40,-28,-57,-58,-48,-78,-113,-117,-126,-163,25,
+-112,-91,-92,-86,-99,-92,-55,-4,-22,-7,4,20,6,24,-2,-3,6,10,-2,-5,0,6,-16,-9,-5,0,14,-13,-11,-6,-3,-11,-15,-9,-3,-6,-11,-8,-1,3,-3,-4,0,6,-15,-5,-2,3,14,-7,-7,-1,2,-8,-8,-3,2,-10,-6,-3,2,7,-3,-5,0,4,-16,-8,-3,-3,10,-11,-10,1,6,-5,-5,0,6,2,-4,-2,4,8,-6,-8,-4,1,-19,-11,-6,-3,11,-8,-6,-5,0,-6,-3,2,4,-1,-2,-2,1,5,-9,-16,-12,-23,-52,-51,-43,-45,-31,-66,-68,-55,-84,-114,-115,-121,-163,25,
+-94,-89,-91,-86,-99,-92,-55,-5,-23,-8,3,19,5,11,-3,-3,6,10,-3,-5,0,6,-16,-8,-4,1,15,-12,-10,-5,-1,-11,-15,-10,-4,-20,-12,-9,-2,3,-2,-3,1,7,-15,-6,-3,3,15,-6,-5,0,4,-7,-7,-2,3,-10,-6,-3,3,8,-4,-5,0,5,-15,-8,-3,-2,11,-11,-9,1,5,-5,-4,1,6,2,-3,0,4,9,-5,-7,-3,1,-17,-11,-6,-3,11,-9,-8,-6,-2,-9,-8,-4,0,-2,-5,-3,1,5,-9,-16,-12,-23,-52,-52,-44,-43,-30,-63,-65,-53,-83,-114,-116,-123,-163,25,
+-89,-87,-95,-89,-79,-73,-36,-4,-21,-8,2,18,4,6,-3,-3,5,9,-1,-4,1,7,-15,-7,-3,2,16,-11,-10,-5,0,-11,-15,-9,-3,-8,-11,-8,-2,3,-1,-2,3,8,-13,-4,-1,4,17,-5,-4,1,5,-5,-5,-1,5,2,-5,-2,4,8,-3,-5,0,5,-14,-7,-2,-2,12,-10,-8,2,6,-4,-4,1,7,3,-2,0,4,9,-5,-6,-3,1,-17,-10,-6,-3,12,-10,-8,-5,-1,-9,-7,-2,2,-2,-4,-2,1,5,-9,-16,-12,-24,-54,-52,-45,-45,-33,-61,-63,-51,-80,-111,-114,-125,-163,25,
+-82,-84,-93,-89,-78,-72,-36,-4,-22,-9,2,18,4,-1,-3,-3,6,10,0,-4,1,8,-15,-7,-3,2,16,-11,-9,-4,0,-10,-14,-8,-2,-5,-11,-8,-2,4,-1,-1,3,9,-13,-4,-1,5,17,-4,-4,1,6,-5,-5,0,5,2,-3,-1,4,9,-3,-4,0,5,-14,-6,-2,-2,12,-10,-9,2,6,-5,-5,1,7,4,-2,0,5,9,-5,-6,-4,1,-17,-10,-5,-2,12,-11,-9,-4,0,-9,-8,-2,3,-1,-4,-2,1,5,-9,-17,-13,-23,-53,-51,-43,-43,-32,-57,-60,-49,-80,-111,-115,-128,-163,25,
+-80,-82,-92,-89,-79,-72,-35,-6,-23,-6,4,18,3,-1,-3,-3,6,10,0,-4,1,7,-15,-7,-3,2,16,-11,-10,-4,1,-9,-13,-8,-1,-5,-11,-8,-2,4,-1,-1,4,9,-13,-3,0,6,18,-3,-3,2,6,-5,-4,0,6,2,-3,-1,4,9,-3,-4,0,5,-14,-6,-2,-2,12,-10,-8,2,7,-5,-4,2,8,4,-1,1,5,10,-5,-6,-4,1,-17,-10,-5,-2,13,-10,-8,-4,1,-8,-7,-2,5,0,-3,-2,2,6,-9,-16,-12,-23,-52,-49,-41,-41,-30,-56,-59,-51,-81,-111,-113,-125,-130,25,
+-92,-90,-95,-90,-80,-72,-34,-7,-24,-3,8,24,8,2,-3,-2,7,11,1,-2,2,8,-16,-7,-3,2,15,-10,-9,-3,2,-9,-13,-8,-2,-5,-10,-7,-1,4,0,-2,3,9,-12,-3,1,6,18,-3,-2,3,8,-4,-3,2,7,3,-4,-2,4,9,-2,-3,1,6,-14,-6,-2,-3,12,-10,-9,2,7,-3,-2,3,7,3,-3,0,3,9,-5,-7,-4,1,-17,-11,-6,-2,12,-11,-9,-3,1,-8,-7,-2,3,0,-4,-2,3,7,-13,-19,-14,-24,-46,-46,-35,-39,-27,-59,-61,-50,-81,-112,-114,-124,1,25,
+-99,-88,-96,-91,-82,-75,-37,-5,-23,-3,9,25,9,1,-3,-2,7,11,2,-2,3,8,-15,-7,-3,1,15,-11,-9,-3,2,-9,-13,-7,-1,-5,-10,-7,-1,4,-1,-2,3,9,-12,-2,1,6,18,-3,-2,3,8,-4,-3,2,7,3,-4,-1,4,10,-2,-3,2,6,-14,-6,-2,-2,12,-10,-8,3,8,-2,-1,4,8,4,-1,1,4,10,-4,-6,-3,2,-17,-10,-6,-2,12,-10,-8,-2,2,-7,-6,-1,4,1,-3,-1,4,7,-12,-19,-13,-24,-47,-46,-36,-46,-34,-58,-61,-61,-92,-108,-113,-126,25,25,
+-105,-85,-95,-91,-81,-75,-37,-6,-24,-4,7,24,7,1,-3,-2,6,11,2,-1,3,9,-15,-6,-3,3,16,-11,-10,-3,2,-9,-12,-7,-1,-5,-9,-7,-1,4,-1,-2,3,9,-12,-3,1,6,18,-3,-2,3,8,-4,-3,2,7,2,-4,-2,4,10,-2,-3,1,6,-14,-6,-2,-2,11,-10,-8,2,7,-3,-2,4,8,3,-3,0,3,8,-5,-7,-5,0,-18,-11,-7,-4,10,-11,-10,-3,1,-8,-6,-2,4,0,-4,-2,3,6,-12,-19,-14,-25,-50,-48,-38,-44,-33,-57,-59,-61,-92,-110,-114,-129,25,25,
+-108,-84,-95,-92,-94,-86,-48,-1,-19,-9,5,19,6,0,-4,-3,6,10,2,-2,3,8,-15,-7,-4,2,16,-12,-10,-4,1,-9,-13,-8,-1,-5,-10,-8,-2,4,-2,-3,3,8,-13,-4,1,6,18,-4,-3,3,7,-4,-4,2,6,2,-5,-2,3,9,-3,-4,0,6,-14,-7,-2,-3,11,-10,-9,1,7,-4,-2,4,8,3,-2,0,3,8,-6,-7,-5,0,-18,-12,-7,-4,10,-11,-10,-3,1,-8,-6,-1,4,1,-3,-2,3,7,-12,-19,-14,-24,-49,-47,-36,-42,-30,-57,-59,-49,-79,-109,-113,-124,26,26,
+-87,-94,-98,-93,-106,-97,-57,6,-13,-13,-2,14,6,-1,-6,-4,5,10,3,-1,4,9,-15,-6,-3,1,13,-11,-10,-5,1,-10,-13,-6,-1,-6,-10,-7,-1,5,-3,-4,2,8,-13,-3,1,6,17,-3,-3,2,7,-5,-4,2,6,1,-6,-4,2,8,-5,-6,-1,4,-14,-7,-2,-2,12,-10,-9,2,7,-5,-4,0,6,3,-3,-1,3,8,-7,-9,-5,-1,-19,-13,-8,-4,12,-12,-9,-3,1,-8,-8,-3,2,-7,-7,-5,-2,4,-16,-21,-17,-28,-43,-43,-31,-41,-27,-59,-61,-49,-78,-109,-113,-126,27,27,
+-90,-91,-101,-97,-105,-96,-57,-8,-26,-4,7,20,5,-1,-6,-4,5,10,2,-1,3,9,-15,-6,-4,0,13,-13,-11,-5,1,-10,-13,-7,-2,-6,-9,-7,0,6,-3,-4,2,8,-14,-3,1,6,17,-3,-3,2,7,-5,-5,1,6,1,-6,-4,2,8,-5,-6,-1,4,-14,-7,-2,-3,12,-11,-9,2,7,-5,-4,1,6,3,-3,0,3,8,-7,-9,-5,-1,-19,-13,-8,-4,12,-12,-10,-3,1,-8,-7,-2,3,-5,-6,-5,-1,5,-16,-20,-17,-28,-42,-42,-30,-39,-26,-58,-59,-60,-89,-108,-112,-126,28,28,
+-103,-89,-101,-97,-106,-97,-58,-10,-28,-7,5,7,3,-2,-6,-4,4,9,2,-2,2,8,-15,-7,-5,-2,11,-13,-10,-6,0,-10,-13,-6,-2,-6,-8,-6,1,7,-4,-5,1,8,-14,-4,0,5,17,-4,-4,1,6,-5,-4,0,5,1,-7,-5,1,7,-7,-7,-3,3,-15,-7,-2,-3,12,-11,-9,2,7,-6,-5,0,6,2,-5,-3,2,7,-8,-9,-6,-2,-20,-14,-9,-5,11,-13,-11,-4,0,-9,-8,-3,2,1,-4,-3,1,7,-17,-22,-18,-29,-49,-48,-36,-46,-34,-58,-60,-61,-89,-107,-112,-126,-125,29,
+-105,-87,-101,-97,-110,-98,-56,-11,-24,-11,1,4,3,-2,-7,-4,4,9,1,-2,2,7,-16,-8,-6,-3,10,-14,-11,-7,0,-11,-14,-7,-3,-7,-8,-6,2,7,-4,-5,1,7,-14,-4,0,5,17,-5,-4,1,6,-5,-5,0,5,1,-7,-5,0,7,-7,-7,-3,3,-15,-8,-2,-3,12,-11,-9,1,7,-6,-5,0,6,2,-5,-3,2,7,-8,-9,-6,-2,-20,-14,-9,-5,11,-13,-11,-4,0,-9,-8,-3,3,2,-3,-2,2,7,-16,-21,-18,-28,-48,-46,-35,-45,-33,-57,-59,-61,-88,-106,-111,-126,-88,30,
+-89,-98,-102,-96,-109,-98,-57,5,-14,-14,-3,14,-4,-7,-7,-4,3,8,1,-1,4,8,-15,-4,-2,-1,11,-12,-11,-6,0,-11,-15,-8,-3,-7,-6,-4,3,9,-4,-5,1,7,-14,-5,-1,5,17,-4,-4,1,6,-6,-6,0,5,-1,-7,-5,0,7,-7,-7,-3,3,-15,-8,-2,-3,12,-11,-10,1,7,-6,-5,0,6,2,-5,-3,1,7,-8,-10,-7,-2,-20,-14,-9,-5,11,-13,-11,-4,0,-8,-8,-3,3,-2,-3,-2,-1,7,-18,-21,-21,-31,-41,-41,-28,-40,-27,-58,-59,-61,-86,-105,-109,-124,-123,31,
+-90,-95,-101,-98,-108,-98,-57,3,-16,-16,-4,12,-5,-8,-6,-4,3,8,1,-2,3,7,-15,-5,-4,0,11,-13,-12,-6,0,-12,-16,-11,-4,-7,-6,-4,3,8,-3,-5,0,6,-14,-5,-1,5,18,-4,-3,1,7,-7,-7,-2,4,-1,-8,-5,0,6,-7,-8,-3,3,-16,-9,-3,-4,10,-12,-10,1,6,-6,-5,0,5,1,-6,-4,1,6,-10,-11,-8,-3,-21,-16,-11,-6,-9,-13,-11,-4,0,-9,-10,-4,0,-22,-9,-8,-5,5,-18,-21,-20,-30,-41,-40,-27,-39,-26,-57,-59,-61,-86,-104,-108,-122,32,32,
+-102,-93,-104,-100,-109,-99,-57,-10,-28,-15,-3,13,-6,-9,-8,-6,1,6,0,-3,2,5,-14,-4,-2,1,12,-12,-11,-6,0,-12,-15,-11,-4,-8,-7,-4,2,8,-4,-6,0,6,-14,-6,-1,5,18,-5,-4,1,6,-7,-7,-2,4,-5,-9,-6,0,6,-8,-8,-4,2,-17,-10,-5,-5,11,-12,-10,0,6,-6,-6,0,5,0,-7,-5,0,6,-10,-11,-8,-4,-20,-16,-11,-7,3,-13,-11,-5,-1,-10,-9,-4,1,-22,-10,-8,-3,7,-19,-21,-22,-32,-49,-48,-34,-46,-34,-56,-58,-60,-84,-102,-106,-119,33,33,
+-107,-91,-103,-100,-109,-98,-57,-13,-30,-16,-4,12,-6,-9,-7,-6,2,7,0,-3,1,5,-14,-5,-3,0,12,-13,-12,-7,-1,-13,-16,-11,-5,-8,-7,-5,2,8,-4,-6,0,5,-14,-6,-1,4,18,-5,-4,1,6,-7,-7,-2,4,-9,-9,-6,-1,6,-9,-9,-4,2,-17,-10,-5,-5,11,-12,-10,0,5,-7,-6,-1,4,0,-7,-5,-2,4,-11,-12,-9,-5,-20,-16,-10,-7,3,-13,-10,-6,-1,-10,-10,-4,1,-23,-10,-8,-1,9,-19,-22,-21,-30,-49,-47,-34,-44,-34,-56,-58,-61,-83,-101,-104,-116,10,34,
+-95,-97,-106,-101,-110,-98,-56,6,-14,-14,-2,14,-8,-4,-10,-7,0,6,-1,-3,1,4,-15,-7,-5,-2,11,-14,-13,-8,-2,-13,-18,-13,-6,-8,-7,-5,2,8,-5,-7,-1,5,-14,-6,-2,4,18,-6,-5,0,5,-8,-7,-3,4,-11,-10,-7,-2,6,-10,-9,-5,1,-17,-11,-5,-5,10,-13,-10,0,5,-7,-6,-2,3,-1,-8,-6,-2,4,-12,-13,-10,-5,-20,-16,-10,-7,-7,-14,-11,-6,-2,-10,-10,-4,2,-22,-9,-8,0,9,-19,-21,-20,-30,-48,-46,-33,-41,-27,-56,-59,-50,-72,-99,-104,-122,35,35,
+-96,-96,-106,-102,-112,-99,-57,3,-16,-15,-3,14,-8,8,-9,-7,-2,5,0,-2,4,10,6,-4,-4,0,10,-12,-12,-6,0,-12,-16,-11,-5,-8,-9,-6,0,7,-7,-8,-2,5,-15,-5,-1,4,17,-6,-6,1,5,-9,-10,-5,1,-26,-11,-8,-1,6,-11,-10,-5,1,-18,-10,-5,-5,10,-14,-12,-1,4,-8,-8,-3,2,-4,-9,-7,-2,4,-14,-14,-11,-6,-21,-16,-10,-7,-3,-14,-12,-6,-3,-10,-11,-5,0,-21,-11,-10,-5,-2,-23,-24,-24,-33,-40,-40,-25,-38,-26,-56,-58,-49,-70,-97,-101,-116,36,36,
+-105,-96,-106,-102,-86,-74,-31,-9,-27,-14,-2,16,-9,11,-12,-9,-2,4,0,-2,3,9,3,-5,-5,-1,9,-13,-13,-7,-1,-13,-17,-12,-6,-8,-9,-7,0,7,-8,-9,-2,4,-15,-6,-1,4,16,-6,-7,0,5,-10,-10,-6,1,-27,-11,-8,-2,6,-11,-11,-6,1,-18,-11,-6,-5,9,-14,-13,-1,4,-9,-8,-4,2,-10,-10,-7,-3,4,-15,-15,-11,-6,-21,-17,-11,-7,-7,-15,-12,-7,-3,-10,-11,-5,0,-21,-11,-10,-4,6,-22,-23,-23,-32,-40,-39,-25,-38,-26,-56,-58,-49,-68,-94,-100,-111,-112,37,
+-112,-97,-107,-103,-88,-76,-32,-13,-29,-16,-3,15,-9,12,-10,-8,-3,3,0,-3,2,9,-10,-4,-5,-4,6,-12,-12,-7,-1,-14,-19,-13,-5,-8,-10,-7,-1,7,-7,-8,-3,4,-15,-6,-2,4,16,-7,-7,0,4,-11,-10,-6,1,-28,-12,-9,-3,4,-12,-12,-6,1,-19,-12,-7,-5,9,-15,-14,-2,3,-10,-9,-5,1,-14,-11,-9,-3,3,-15,-15,-11,-6,-21,-16,-10,-7,1,-15,-12,-7,-2,-10,-11,-6,0,-21,-11,-10,-2,9,-24,-26,-25,-34,-49,-47,-33,-44,-32,-61,-63,-46,-64,-95,-97,-105,-104,38,
+-119,-98,-109,-106,-92,-78,-34,-18,-32,-18,-4,15,-8,12,-8,-7,-2,4,0,-3,2,8,-16,-6,-6,-5,6,-13,-13,-8,-2,-15,-20,-14,-7,-8,-11,-8,-1,6,-7,-8,-3,3,-16,-7,-2,3,16,-8,-8,-1,4,-11,-11,-6,0,-26,-12,-9,-3,4,-13,-12,-6,0,-20,-12,-7,-6,9,-16,-14,-3,2,-10,-10,-6,1,-24,-12,-9,-4,3,-15,-15,-12,-6,-21,-16,-11,-7,-7,-15,-13,-7,-3,-10,-11,-6,-1,-21,-11,-9,-2,9,-24,-26,-25,-34,-48,-48,-33,-44,-32,-61,-63,-45,-61,-92,-93,-99,-99,39,
+-99,-93,-106,-102,-108,-96,-53,1,-22,-16,-5,12,-11,-14,-14,-12,-8,-2,-3,-1,5,10,4,-2,-5,3,9,-11,-13,-8,-2,-14,-18,-12,-6,-9,-11,-8,-2,6,-7,-9,-3,3,-17,-10,-6,3,17,-8,-7,-1,4,-11,-10,-6,1,-9,-12,-10,-3,4,-14,-13,-7,0,-20,-13,-8,-6,8,-16,-15,-3,2,-12,-11,-7,-1,-28,-12,-10,-5,2,-17,-17,-12,-7,-21,-17,-11,-7,-7,-15,-13,-7,-3,-11,-12,-6,0,-21,-12,-10,-4,-14,-26,-26,-27,-36,-48,-48,-33,-39,-27,-60,-62,-47,-65,-94,-98,-111,-107,40,
+-106,-97,-110,-106,-113,-99,-56,-5,-26,-19,-6,9,-11,0,-12,-10,-7,-1,-3,-1,5,9,3,-4,-6,2,8,-12,-15,-9,-3,-15,-19,-14,-7,-10,-12,-9,-2,6,-7,-9,-3,3,-17,-10,-6,2,17,-8,-8,-2,4,-11,-11,-6,1,-11,-12,-10,-3,4,-14,-13,-7,0,-20,-13,-8,-7,8,-17,-15,-3,2,-12,-12,-8,-2,-28,-12,-10,-5,3,-18,-18,-12,-7,-21,-16,-10,-7,-8,-15,-13,-7,-3,-11,-12,-6,-1,-22,-13,-11,-4,-14,-26,-26,-27,-36,-48,-48,-33,-39,-27,-60,-60,-47,-62,-92,-94,-107,-104,41,
+-109,-103,-105,-102,-84,-68,-22,-12,-29,-9,5,8,-5,15,-15,-14,-10,-4,-4,-3,3,10,5,-2,-5,3,11,-12,-14,-11,-5,-15,-20,-14,-7,-10,-12,-9,-2,5,-8,-9,-3,4,-17,-10,-5,0,15,-8,-7,-3,3,-12,-12,-7,-1,-15,-13,-11,-4,3,-15,-14,-10,-3,-20,-13,-8,-7,9,-17,-16,-5,1,-13,-13,-8,-2,-29,-14,-11,-5,2,-19,-18,-14,-9,-21,-17,-10,-8,-13,-16,-14,-8,-4,-12,-13,-8,-2,-22,-13,-12,-5,-15,-27,-28,-27,-36,-43,-42,-28,-39,-27,-56,-57,-61,-74,-95,-98,-104,-110,42,
+-115,-109,-111,-111,-91,-74,-26,-22,-35,-13,2,0,-5,16,-14,-13,-9,-4,-4,-3,2,9,4,-5,-7,1,10,-14,-15,-12,-6,-16,-21,-16,-8,-11,-13,-10,-4,4,-9,-10,-4,3,-17,-11,-6,-1,15,-10,-8,-4,2,-13,-13,-8,-1,-19,-14,-12,-5,2,-15,-15,-11,-4,-20,-14,-8,-7,8,-18,-16,-5,0,-13,-14,-9,-3,-30,-16,-13,-7,1,-20,-19,-14,-9,-21,-17,-11,-8,-13,-16,-14,-9,-4,-13,-14,-8,-3,-22,-13,-11,-5,-15,-28,-29,-28,-37,-44,-43,-28,-40,-27,-56,-56,-60,-72,-93,-96,-103,-107,43,
+-123,-115,-116,-121,-102,-86,-48,14,-15,-15,-5,10,-13,-17,-22,-21,-15,-7,-5,-3,3,9,3,-3,-5,1,9,-13,-16,-13,-7,-17,-22,-17,-9,-23,-14,-10,-4,4,-10,-11,-5,3,-18,-12,-6,-2,14,-10,-9,-5,1,-13,-13,-8,-1,-17,-14,-12,-6,2,-16,-15,-11,-5,-21,-14,-9,-8,8,-18,-17,-6,-1,-14,-15,-10,-4,-30,-19,-16,-9,-1,-20,-19,-15,-9,-21,-17,-11,-9,-14,-17,-15,-9,-5,-14,-15,-9,-4,-22,-14,-12,-5,-15,-29,-29,-29,-38,-45,-45,-29,-41,-27,-56,-55,-50,-63,-95,-98,-107,-138,44,
+-106,-100,-110,-106,-114,-83,-38,17,-8,-21,-9,8,-14,-18,-22,-20,-15,-10,-6,-4,4,9,3,-2,-5,1,6,-12,-15,-9,-4,-17,-23,-18,-11,-13,-14,-11,-3,4,-13,-14,-7,0,-18,-11,-6,0,15,-11,-10,-5,0,-13,-14,-9,-3,-30,-16,-12,-7,3,-16,-15,-8,-1,-21,-15,-10,-8,7,-19,-18,-7,-3,-15,-16,-10,-4,-30,-21,-18,-12,-4,-21,-20,-14,-9,-22,-18,-12,-9,-15,-18,-16,-11,-6,-12,-13,-7,-2,-23,-14,-12,-5,-11,-28,-29,-29,-39,-51,-51,-36,-40,-27,-63,-64,-50,-62,-94,-97,-109,-143,45,
+-114,-106,-115,-105,-90,-57,-9,9,-12,-18,-4,9,-6,-15,-25,-23,-18,-13,-7,-5,3,9,3,-2,-5,0,6,-11,-15,-9,-4,-18,-23,-19,-11,-17,-14,-11,-3,4,-14,-15,-7,0,-19,-12,-6,0,15,-12,-11,-5,0,-13,-14,-10,-3,-30,-16,-13,-7,3,-16,-15,-9,-1,-22,-15,-10,-7,7,-19,-17,-7,-3,-15,-16,-10,-4,-30,-21,-18,-13,-4,-21,-21,-14,-9,-22,-18,-12,-9,-15,-18,-16,-11,-6,-13,-13,-8,-2,-23,-15,-13,-5,-14,-29,-30,-30,-40,-52,-52,-37,-42,-27,-63,-64,-50,-61,-93,-97,-110,-142,46,
+-113,-114,-114,-115,-98,-63,-13,-4,-20,-23,-8,-7,-8,-16,-25,-23,-18,-13,-7,-5,2,8,3,-4,-6,0,6,-12,-15,-9,-4,-18,-24,-20,-12,-31,-14,-12,-4,4,-14,-15,-8,-1,-19,-13,-7,0,14,-13,-12,-5,0,-14,-14,-10,-3,-30,-17,-14,-8,2,-17,-15,-11,-4,-22,-16,-11,-7,1,-19,-18,-9,-4,-16,-17,-12,-6,-31,-22,-19,-13,-4,-21,-21,-15,-10,-22,-18,-13,-10,-15,-19,-16,-11,-6,-14,-15,-9,-4,-23,-15,-12,-8,-18,-30,-31,-30,-40,-47,-47,-32,-44,-29,-61,-60,-64,-76,-93,-98,-113,47,47,
+-122,-121,-120,-125,-106,-72,-26,-15,-47,-30,-12,-10,-10,-17,-26,-24,-19,-14,-7,-6,1,7,2,-6,-8,-2,5,-13,-16,-11,-5,-19,-26,-21,-13,-34,-16,-13,-5,3,-16,-16,-9,-2,-20,-14,-8,-2,14,-14,-13,-7,-1,-14,-15,-11,-4,-31,-18,-14,-9,2,-18,-16,-12,-4,-23,-17,-12,-7,-15,-19,-17,-10,-5,-16,-17,-13,-7,-31,-23,-20,-14,-5,-22,-22,-16,-11,-22,-19,-14,-10,-16,-19,-17,-12,-7,-15,-16,-11,-5,-24,-16,-14,-10,-18,-32,-33,-33,-42,-49,-49,-33,-46,-30,-62,-61,-65,-76,-94,-100,-116,48,48,
+-120,-106,-109,-105,-117,-69,-22,40,12,-22,-10,5,-18,-27,-35,-32,-27,-21,-11,-7,2,6,1,-3,-7,0,5,-14,-19,-11,-6,-19,-25,-21,-13,-36,-17,-14,-8,1,-15,-15,-9,-2,-21,-15,-10,-3,2,-16,-15,-10,-4,-15,-15,-10,-3,-32,-20,-17,-10,1,-19,-18,-13,-5,-23,-18,-13,-7,-16,-20,-18,-11,-6,-18,-19,-14,-8,-32,-25,-21,-16,-5,-23,-22,-17,-12,-23,-21,-17,-12,-17,-22,-20,-14,-8,-16,-16,-10,-5,-26,-16,-13,-8,5,-31,-34,-31,-41,-49,-50,-36,-47,-31,-66,-68,-56,-67,-97,-101,-111,-139,49,
+-119,-113,-115,-114,-124,-75,-25,29,5,-28,-11,-14,-22,-53,-36,-34,-28,-21,-11,-8,1,5,0,-5,-9,-2,3,-15,-20,-13,-7,-20,-26,-22,-15,-38,-18,-15,-9,0,-17,-17,-11,-3,-21,-16,-10,-4,-8,-18,-16,-11,-4,-16,-16,-11,-3,-33,-21,-18,-12,0,-21,-19,-14,-6,-23,-19,-14,-8,-17,-21,-19,-12,-6,-19,-20,-15,-9,-33,-26,-22,-17,-6,-24,-23,-18,-13,-24,-22,-18,-12,-17,-23,-20,-15,-12,-21,-21,-12,-7,-27,-18,-16,-10,-5,-35,-37,-34,-44,-51,-53,-38,-49,-32,-67,-67,-57,-67,-97,-102,-114,-138,50,
+-131,-121,-115,-117,-123,-71,-20,20,-10,-26,-12,-11,-14,-56,-39,-36,-32,-24,-13,-10,-1,5,-1,-6,-10,-2,4,-15,-20,-14,-8,-20,-27,-22,-15,-38,-19,-15,-9,0,-18,-18,-12,-5,-22,-17,-12,-6,-15,-20,-19,-12,-6,-17,-17,-11,-4,-34,-23,-20,-14,-1,-21,-19,-15,-7,-24,-20,-15,-9,-17,-22,-19,-13,-7,-21,-22,-17,-11,-33,-26,-23,-17,-6,-25,-24,-19,-13,-24,-22,-18,-13,-18,-24,-21,-15,-15,-25,-26,-12,-7,-25,-17,-15,-9,-20,-35,-37,-34,-43,-53,-55,-39,-51,-33,-72,-72,-74,-85,-98,-103,-116,-138,50,
+-131,-128,-121,-124,-128,-75,-22,12,-30,-31,-16,-29,-17,-58,-42,-38,-34,-26,-13,-11,-2,3,-2,-8,-11,-4,3,-17,-21,-15,-9,-21,-28,-24,-17,-39,-21,-17,-10,-1,-20,-20,-14,-6,-22,-18,-13,-7,-16,-21,-20,-13,-6,-18,-18,-12,-5,-35,-24,-21,-15,-2,-22,-20,-16,-8,-25,-21,-16,-11,-18,-23,-21,-15,-8,-23,-23,-19,-11,-33,-27,-23,-18,-6,-26,-25,-20,-15,-24,-23,-19,-14,-18,-25,-21,-16,-16,-26,-27,-14,-9,-26,-20,-18,-12,-21,-38,-40,-37,-46,-56,-58,-42,-53,-34,-73,-72,-75,-86,-99,-105,-119,50,50,
+-140,-136,-126,-130,-123,-72,-23,32,7,-25,-12,-19,-26,-59,-48,-43,-37,-27,-16,-14,-3,0,-3,-8,-10,-4,2,-18,-23,-15,-10,-24,-31,-26,-18,-40,-21,-17,-11,-2,-18,-19,-14,-7,-25,-22,-16,-9,-16,-21,-19,-13,-7,-20,-21,-16,-9,-35,-23,-20,-15,-3,-23,-21,-17,-10,-26,-23,-18,-13,-20,-24,-21,-16,-9,-25,-25,-20,-13,-34,-29,-25,-19,-7,-28,-26,-21,-16,-26,-24,-20,-15,-22,-26,-22,-16,-17,-28,-29,-16,-10,-28,-19,-17,-12,-24,-39,-42,-39,-47,-60,-62,-50,-56,-35,-74,-73,-75,-86,-100,-106,-150,50,50,
+-144,-126,-123,-122,-128,-76,-25,26,-14,-30,-17,-45,-31,-62,-52,-47,-41,-29,-19,-17,-6,-3,-5,-11,-13,-7,-1,-20,-25,-18,-13,-27,-34,-29,-21,-42,-24,-20,-14,-4,-21,-22,-17,-10,-27,-25,-19,-12,-18,-23,-22,-16,-9,-23,-23,-19,-12,-37,-25,-21,-17,-5,-25,-24,-19,-13,-29,-27,-23,-17,-21,-26,-23,-17,-11,-26,-27,-22,-16,-36,-33,-28,-23,-8,-28,-26,-22,-17,-29,-29,-25,-19,-44,-30,-25,-21,-18,-31,-29,-20,-12,-30,-19,-16,-13,-1,-41,-45,-41,-52,-64,-68,-54,-63,-43,-87,-88,-68,-80,-104,-107,-151,49,49,
+-144,-135,-127,-127,-133,-80,-28,2,-29,-28,-15,-41,-27,-66,-57,-51,-46,-32,-24,-22,-10,-8,-9,-16,-17,-9,-3,-24,-29,-20,-16,-29,-36,-31,-24,-44,-27,-23,-17,-7,-25,-25,-19,-13,-30,-28,-22,-15,-21,-27,-26,-19,-12,-27,-27,-21,-14,-39,-28,-24,-18,-6,-28,-28,-22,-15,-32,-31,-26,-19,-24,-30,-27,-21,-15,-31,-31,-26,-19,-39,-36,-31,-25,-11,-31,-29,-25,-20,-31,-32,-28,-23,-47,-34,-29,-24,-21,-35,-33,-22,-15,-30,-21,-18,-13,-7,-40,-43,-41,-51,-67,-71,-57,-68,-47,-87,-87,-79,-91,-107,-110,-153,47,47,
+-151,-142,-132,-133,-137,-83,-31,-3,-32,-33,-20,-46,-32,-70,-63,-56,-51,-36,-28,-26,-15,-11,-14,-20,-21,-13,-6,-28,-33,-24,-19,-33,-39,-35,-28,-47,-31,-27,-21,-10,-29,-29,-24,-18,-34,-32,-26,-19,-24,-32,-29,-23,-15,-31,-31,-25,-18,-42,-32,-28,-22,-10,-33,-32,-26,-19,-36,-34,-30,-23,-27,-34,-31,-25,-18,-35,-35,-30,-23,-42,-40,-35,-28,-13,-34,-32,-28,-23,-35,-35,-32,-26,-51,-38,-32,-28,-24,-39,-37,-25,-19,-34,-27,-24,-20,-29,-46,-49,-47,-56,-74,-76,-76,-74,-51,-90,-90,-91,-102,-111,-115,-155,45,45,
+-153,-150,-137,-139,-142,-87,-34,-8,-36,-39,-25,-51,-37,-75,-70,-62,-54,-39,-33,-31,-19,-16,-36,-26,-26,-18,-8,-31,-35,-28,-23,-37,-44,-40,-32,-51,-35,-31,-26,-13,-34,-34,-29,-22,-38,-36,-31,-23,-27,-36,-33,-27,-19,-35,-35,-30,-22,-45,-36,-32,-26,-14,-38,-37,-31,-23,-39,-39,-34,-27,-32,-38,-35,-29,-23,-39,-40,-34,-27,-45,-43,-38,-32,-16,-38,-36,-32,-27,-39,-39,-36,-30,-54,-41,-35,-31,-26,-42,-41,-29,-24,-38,-35,-32,-28,-34,-52,-54,-52,-60,-79,-82,-82,-78,-54,-92,-90,-92,-103,-113,-116,-157,-145,43,
+-151,-151,-140,-144,-146,-93,-39,-18,-39,-44,-30,-56,-42,-77,-73,-65,-60,-43,-39,-36,-25,-20,-39,-32,-31,-24,-11,-34,-38,-31,-26,-41,-48,-44,-36,-54,-40,-35,-29,-16,-38,-37,-32,-25,-40,-39,-35,-28,-32,-40,-37,-31,-27,-42,-37,-32,-25,-48,-40,-36,-29,-17,-43,-42,-36,-28,-44,-44,-39,-32,-59,-42,-39,-33,-26,-44,-43,-37,-30,-47,-45,-40,-34,-18,-42,-41,-36,-31,-42,-41,-40,-35,-56,-47,-42,-38,-29,-49,-44,-35,-27,-40,-32,-28,-24,-25,-53,-58,-52,-62,-81,-85,-82,-77,-84,-106,-111,-86,-99,-117,-120,-137,-147,41,
+-153,-159,-145,-147,-150,-96,-42,-12,-50,-49,-35,-62,-49,-82,-80,-74,-66,-46,-45,-41,-30,-24,-44,-37,-36,-28,-14,-40,-43,-36,-30,-46,-53,-48,-40,-58,-45,-40,-34,-21,-45,-44,-39,-32,-47,-46,-42,-33,-46,-45,-42,-35,-36,-52,-41,-37,-30,-52,-44,-40,-33,-21,-49,-47,-41,-34,-49,-49,-45,-36,-63,-47,-44,-38,-29,-49,-48,-42,-34,-51,-49,-44,-39,-44,-47,-46,-40,-35,-47,-46,-44,-39,-60,-51,-45,-41,-32,-52,-47,-39,-33,-46,-41,-37,-34,-42,-59,-62,-57,-66,-88,-91,-96,-83,-88,-108,-108,-86,-99,-117,-120,-136,-149,39,
+-156,-163,-149,-151,-154,-101,-46,-15,-59,-65,-51,-67,-55,-87,-85,-83,-72,-50,-50,-46,-34,-29,-48,-42,-41,-31,-17,-45,-48,-40,-34,-51,-57,-52,-44,-61,-49,-43,-38,-27,-51,-50,-45,-39,-54,-53,-49,-39,-65,-49,-46,-40,-40,-56,-46,-40,-34,-55,-49,-44,-37,-25,-54,-52,-48,-40,-55,-55,-51,-41,-67,-52,-48,-43,-34,-53,-51,-45,-38,-54,-53,-48,-41,-50,-51,-50,-44,-38,-51,-51,-47,-42,-65,-56,-50,-43,-33,-57,-54,-40,-35,-43,-41,-41,-39,-63,-56,-58,-58,-66,-89,-92,-104,-91,-99,-115,-112,-91,-102,-124,-126,-135,-151,37,
+-159,-165,-153,-155,-157,-104,-49,-18,-63,-68,-55,-72,-61,-94,-92,-90,-79,-55,-56,-51,-39,-33,-52,-46,-44,-35,-20,-49,-52,-44,-38,-56,-61,-56,-47,-64,-53,-48,-43,-32,-58,-57,-52,-45,-60,-60,-56,-44,-69,-54,-50,-44,-44,-61,-50,-45,-38,-59,-54,-49,-42,-33,-60,-58,-53,-46,-60,-61,-57,-45,-71,-57,-53,-48,-48,-68,-66,-50,-43,-57,-58,-53,-46,-56,-57,-56,-50,-44,-58,-57,-54,-48,-70,-62,-56,-48,-35,-60,-57,-44,-40,-51,-52,-55,-51,-67,-60,-61,-62,-68,-96,-99,-111,-97,-103,-116,-111,-90,-101,-123,-125,-132,-153,35,
+-161,-167,-160,-167,-152,-99,-70,-54,-70,-78,-61,-79,-65,-93,-91,-86,-78,-55,-65,-61,-55,-47,-57,-57,-52,-45,-49,-56,-57,-49,-42,-60,-64,-58,-50,-66,-58,-52,-48,-42,-64,-62,-59,-51,-66,-66,-62,-47,-72,-58,-54,-48,-47,-66,-55,-49,-42,-62,-57,-52,-46,-61,-66,-64,-58,-51,-67,-67,-63,-52,-77,-64,-60,-55,-41,-61,-60,-53,-46,-61,-63,-58,-51,-61,-65,-63,-57,-50,-65,-64,-60,-55,-75,-69,-61,-53,-38,-62,-60,-48,-45,-63,-65,-67,-64,-72,-65,-64,-64,-71,-103,-106,-118,-105,-108,-117,-120,-104,-117,-127,-124,-129,-155,33,
+-169,-169,-164,-169,-154,-101,-71,-56,-74,-82,-66,-83,-71,-100,-99,-95,-85,-69,-71,-67,-60,-52,-60,-61,-55,-49,-52,-61,-61,-54,-45,-65,-67,-63,-54,-69,-63,-57,-54,-67,-70,-69,-66,-58,-71,-72,-68,-52,-76,-62,-58,-52,-51,-71,-59,-54,-47,-65,-61,-56,-50,-64,-71,-70,-64,-56,-73,-74,-69,-59,-83,-72,-67,-62,-54,-75,-73,-56,-49,-65,-67,-61,-54,-67,-68,-67,-61,-54,-74,-74,-70,-66,-83,-80,-73,-67,-74,-80,-72,-58,-51,-55,-53,-49,-45,-71,-66,-67,-69,-74,-107,-110,-121,-109,-117,-137,-135,-107,-119,-133,-133,-147,31,31,
+-171,-171,-171,-171,-171,-132,-94,-81,-85,-89,-73,-96,-84,-107,-104,-99,-89,-95,-76,-71,-65,-56,-62,-63,-58,-53,-71,-63,-64,-59,-50,-71,-72,-66,-58,-73,-70,-63,-58,-74,-77,-75,-72,-65,-80,-80,-78,-58,-82,-69,-65,-57,-59,-83,-67,-58,-50,-68,-65,-59,-52,-69,-77,-75,-70,-61,-81,-80,-74,-66,-88,-78,-73,-68,-57,-81,-79,-59,-57,-68,-69,-64,-57,-92,-75,-72,-68,-59,-81,-80,-75,-72,-88,-86,-76,-69,-95,-80,-73,-60,-53,-56,-57,-58,-52,-70,-65,-65,-71,-76,-115,-119,-123,-112,-120,-137,-156,-128,-132,-141,-140,-146,29,29,
+-168,-173,-173,-173,-173,-139,-99,-88,-93,-93,-77,-101,-90,-115,-112,-106,-96,-108,-83,-76,-70,-61,-65,-67,-62,-57,-80,-68,-68,-64,-53,-76,-76,-70,-62,-77,-75,-68,-63,-80,-84,-81,-78,-71,-87,-87,-85,-68,-91,-79,-75,-66,-67,-93,-71,-63,-55,-72,-70,-64,-57,-74,-83,-81,-75,-66,-87,-86,-80,-73,-94,-85,-80,-75,-61,-87,-84,-64,-67,-73,-73,-68,-61,-97,-81,-79,-75,-64,-88,-87,-82,-79,-95,-92,-83,-76,-104,-84,-77,-63,-58,-65,-66,-64,-61,-74,-69,-69,-74,-78,-121,-125,-129,-118,-125,-139,-158,-130,-134,-143,-142,-146,27,27,
+-171,-175,-175,-175,-175,-135,-135,-113,-115,-110,-90,-103,-88,-116,-112,-107,-98,-112,-91,-86,-76,-68,-80,-82,-76,-67,-89,-80,-77,-71,-56,-82,-80,-75,-67,-79,-77,-71,-67,-84,-91,-88,-84,-76,-90,-90,-85,-76,-98,-87,-82,-76,-72,-95,-73,-65,-57,-76,-75,-70,-62,-97,-88,-86,-80,-71,-92,-91,-85,-80,-99,-92,-86,-81,-64,-91,-88,-68,-71,-77,-78,-73,-66,-100,-86,-83,-79,-68,-93,-91,-87,-83,-100,-97,-87,-79,-108,-89,-82,-69,-62,-72,-72,-71,-68,-78,-75,-73,-78,-81,-127,-130,-134,-122,-129,-143,-161,-134,-137,-145,-143,-151,25,25,
+-177,-177,-177,-177,-177,-142,-143,-121,-122,-113,-94,-107,-91,-122,-118,-113,-103,-116,-96,-90,-80,-72,-84,-86,-80,-70,-92,-84,-81,-75,-58,-86,-84,-80,-71,-83,-82,-75,-70,-97,-95,-92,-87,-79,-94,-94,-90,-79,-101,-89,-85,-81,-77,-95,-74,-67,-59,-79,-79,-75,-66,-110,-93,-90,-85,-75,-98,-96,-91,-84,-103,-97,-91,-86,-68,-95,-92,-72,-74,-79,-79,-73,-65,-103,-90,-88,-82,-70,-98,-98,-91,-90,-114,-110,-100,-94,-114,-98,-87,-76,-65,-60,-59,-56,-55,-81,-80,-82,-86,-86,-130,-133,-137,-125,-134,-152,-167,-140,-140,-149,-149,-157,23,23,
+-176,-179,-179,-179,-179,-174,-147,-124,-129,-121,-101,-121,-104,-129,-125,-118,-108,-122,-102,-96,-86,-77,-86,-88,-82,-72,-96,-88,-86,-79,-63,-92,-89,-84,-75,-89,-88,-81,-75,-103,-99,-96,-92,-84,-100,-99,-96,-83,-108,-97,-93,-85,-81,-103,-81,-73,-64,-83,-82,-78,-70,-113,-97,-93,-88,-78,-102,-100,-95,-89,-107,-101,-95,-90,-71,-99,-95,-75,-77,-81,-82,-76,-68,-106,-93,-91,-85,-73,-101,-101,-94,-93,-117,-113,-104,-97,-118,-103,-91,-81,-69,-61,-60,-56,-56,-85,-86,-87,-91,-90,-132,-134,-138,-126,-136,-158,-172,-147,-143,-156,-155,-165,21,21,
+-177,-181,-181,-181,-181,-177,-151,-127,-131,-123,-103,-123,-107,-131,-128,-121,-111,-124,-105,-98,-88,-79,-88,-90,-84,-74,-98,-90,-88,-82,-65,-94,-92,-87,-78,-92,-90,-83,-77,-118,-100,-98,-94,-86,-101,-101,-98,-85,-110,-99,-94,-87,-83,-105,-83,-75,-67,-84,-85,-80,-73,-116,-99,-97,-91,-81,-105,-104,-100,-93,-110,-105,-98,-93,-74,-102,-99,-80,-82,-83,-83,-78,-70,-112,-98,-98,-89,-76,-106,-106,-99,-97,-118,-115,-107,-102,-119,-105,-99,-84,-71,-69,-67,-63,-57,-90,-91,-93,-96,-94,-134,-136,-146,-134,-144,-170,-158,-134,-144,-156,-157,-181,19,19,
+-178,-183,-183,-183,-183,-183,-183,-133,-133,-128,-120,-101,-85,-106,-103,-93,-84,-101,-81,-75,-62,-53,-70,-72,-66,-57,-87,-79,-77,-69,-53,-86,-84,-76,-68,-83,-81,-74,-63,-92,-90,-87,-78,-69,-85,-86,-79,-66,-96,-85,-81,-72,-69,-93,-77,-69,-61,-83,-82,-78,-71,-117,-99,-97,-89,-80,-105,-103,-97,-90,-110,-104,-98,-92,-73,-102,-99,-80,-82,-83,-83,-79,-70,-113,-98,-98,-89,-77,-105,-106,-99,-96,-117,-115,-108,-102,-121,-107,-102,-86,-73,-68,-64,-60,-54,-91,-93,-95,-98,-96,-132,-133,-144,-131,-143,-174,-162,-141,-150,-165,-166,-183,17,17,
+-182,-185,-185,-185,-185,-185,-167,-135,-135,-118,-97,-117,-102,-125,-124,-116,-106,-118,-97,-91,-82,-73,-81,-83,-78,-68,-92,-83,-80,-76,-62,-88,-87,-81,-74,-85,-82,-75,-69,-62,-90,-88,-86,-77,-89,-91,-84,-77,-103,-89,-87,-79,-78,-95,-84,-77,-68,-88,-85,-82,-74,-117,-100,-98,-93,-86,-107,-105,-102,-95,-114,-106,-100,-95,-80,-102,-100,-81,-83,-86,-84,-79,-70,-115,-99,-99,-92,-82,-110,-111,-105,-103,-130,-128,-123,-120,-141,-132,-121,-99,-87,-81,-74,-69,-64,-112,-113,-115,-108,-108,-125,-127,-114,-101,-120,-154,-147,-128,-155,-170,-172,-185,15,15,
+-187,-187,-187,-187,-187,-179,-185,-137,-137,-119,-98,-119,-107,-126,-125,-117,-108,-119,-97,-91,-81,-72,-78,-82,-76,-67,-91,-79,-79,-75,-64,-86,-86,-83,-75,-85,-79,-72,-66,-64,-87,-86,-85,-76,-88,-87,-82,-75,-91,-87,-86,-78,-80,-92,-82,-75,-67,-89,-83,-80,-72,-65,-97,-95,-92,-87,-104,-104,-102,-93,-114,-102,-98,-93,-84,-100,-98,-82,-83,-87,-82,-77,-69,-63,-94,-94,-83,-78,-99,-100,-92,-88,-108,-108,-99,-94,-121,-104,-93,-83,-70,-69,-58,-53,-46,-35,-88,-92,-93,-98,-120,-123,-110,-120,-127,-165,-158,-143,-154,-172,-178,-181,13,13,
+-157,-189,-181,-189,-189,-179,-189,-139,-139,-119,-98,-121,-109,-124,-125,-118,-109,-91,-93,-89,-79,-72,-78,-78,-73,-66,-79,-75,-75,-74,-68,-84,-85,-83,-76,-87,-77,-70,-66,-69,-82,-83,-84,-76,-89,-82,-78,-74,-61,-82,-83,-76,-81,-85,-78,-71,-66,-89,-79,-78,-72,-70,-91,-91,-91,-86,-99,-101,-101,-91,-113,-97,-94,-91,-89,-97,-97,-82,-84,-88,-77,-74,-69,-69,-90,-92,-89,-86,-98,-93,-86,-81,-107,-102,-98,-88,-90,-99,-91,-80,-67,-69,-53,-49,-41,-34,-88,-93,-92,-100,-115,-116,-103,-111,-99,-154,-150,-143,-162,-185,-181,11,11,-75,
+-91,-117,-143,-104,-134,-144,-97,-71,-88,-79,-55,-72,-58,-103,-100,-96,-96,-83,-68,-61,-46,-43,-58,-48,-47,-39,-35,-47,-53,-45,-45,-59,-64,-61,-55,-65,-50,-43,-33,-43,-47,-51,-43,-38,-56,-47,-44,-32,-24,-45,-46,-41,-49,-58,-50,-43,-37,-66,-52,-51,-45,-50,-62,-64,-58,-54,-72,-71,-66,-55,-42,-61,-60,-53,-59,-65,-68,-51,-54,-63,-48,-45,-38,-44,-57,-61,-57,-54,-66,-63,-56,-50,-35,-52,-50,-46,-39,-53,-61,-54,-55,-80,-87,-87,-81,-75,-93,-113,-107,-106,-113,-104,-93,-103,-97,-125,-150,-147,-162,-186,-191,9,9,-79,
+-93,7,7,7,7,7,-193,-139,-143,-113,-89,-36,-26,-126,-120,-115,67,67,-77,-77,-66,-64,-69,-65,-60,-59,-53,-53,-56,-31,-33,-67,-72,-53,-38,-60,-54,-47,-12,-48,-51,-51,-44,-47,-41,-43,-43,-39,-43,-42,-49,-45,-54,-64,-46,-42,-38,-35,-47,-51,-45,-58,-57,-60,-55,-59,-80,-72,-69,-61,-55,-59,-60,-57,-41,-52,-48,-32,-64,-45,-24,-26,-47,-58,-61,-68,-67,-67,-64,-56,-52,-72,-66,-58,-61,-74,-74,-71,-74,-67,-58,-111,-143,-143,-39,-32,-73,-81,-86,-104,-97,-91,-83,-65,-108,-152,-180,-125,-165,-132,-193,7,-100,2,
diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_tblX_PLeft_T0.h b/drivers/input/touchscreen/wacom/wacom_i2c_tblX_PLeft_T0.h new file mode 100644 index 0000000..f7fd180 --- /dev/null +++ b/drivers/input/touchscreen/wacom/wacom_i2c_tblX_PLeft_T0.h @@ -0,0 +1,71 @@ +100,200,200,195,167,167,137,115,96,90,101,100,114,94,54,61,59,43,31,29,32,27,27,30,38,42,57,37,45,49,50,52,61,64,69,78,69,72,72,68,61,60,60,58,37,49,54,57,62,49,84,86,83,81,40,43,46,65,47,50,56,53,55,54,57,57,38,51,51,63,37,27,29,33,29,27,69,60,64,79,63,67,69,65,63,62,63,61,48,57,54,58,65,54,56,55,54,55,60,61,68,81,63,69,71,72,62,67,77,76,77,73,93,88,88,118,66,101,85,79,90,85,82,105,
+100,159,174,162,140,137,121,125,105,96,108,107,122,99,64,68,71,49,39,42,46,44,28,38,51,55,64,44,52,57,61,51,65,70,77,81,73,76,79,78,60,67,68,68,81,55,64,67,68,55,89,97,97,84,47,57,61,76,61,66,69,69,62,68,69,72,87,63,66,78,46,40,42,48,47,33,83,74,80,89,76,80,82,79,74,76,78,78,68,72,70,75,77,71,73,74,75,64,77,77,84,92,76,82,83,84,65,76,87,88,96,84,89,74,71,92,45,83,91,79,107,114,113,125,
+100,157,175,160,148,141,134,134,113,102,113,111,129,102,71,74,82,62,47,50,56,57,29,46,60,65,68,50,57,65,69,51,71,77,82,83,77,80,84,84,60,72,74,77,86,60,70,77,74,65,95,101,103,80,58,62,68,78,65,70,76,77,61,71,75,78,90,68,73,84,51,44,45,53,53,33,88,80,86,92,79,83,87,88,72,80,84,85,100,76,82,83,81,75,77,81,84,66,82,88,91,94,79,85,89,93,66,82,90,93,99,86,94,76,79,91,69,93,115,118,128,139,134,62,
+100,152,173,154,152,104,102,124,103,75,85,107,126,100,78,81,85,68,41,49,55,52,68,37,58,64,63,46,52,63,68,87,66,73,81,81,75,78,83,85,57,72,77,79,87,63,74,79,78,66,95,100,104,80,60,66,72,79,69,73,80,82,60,73,76,82,90,71,75,92,61,50,53,57,58,32,90,84,91,93,82,85,92,93,71,83,86,90,100,78,85,87,88,76,80,86,90,109,84,91,94,96,85,89,95,99,69,85,95,98,103,88,96,79,85,90,92,96,128,142,146,159,160,77,
+100,153,155,148,149,121,124,161,139,109,120,136,133,109,81,86,93,78,52,62,71,62,76,47,72,77,76,59,66,73,78,98,74,81,88,90,82,85,91,93,61,79,82,85,90,70,79,84,83,70,95,101,105,124,61,66,75,81,65,71,77,80,52,68,76,81,88,67,72,90,60,43,48,52,54,73,83,80,87,88,76,81,86,88,61,76,82,86,95,74,80,87,89,72,80,89,94,110,88,95,102,105,88,94,100,102,83,85,90,94,98,78,87,76,85,84,108,145,175,165,150,162,163,165,
+100,136,139,140,143,117,124,164,143,111,122,143,135,110,84,89,97,84,56,69,76,69,80,52,75,80,79,61,68,74,79,99,75,82,90,91,83,86,92,95,64,81,85,88,91,72,82,87,87,71,95,102,105,123,65,72,77,83,73,77,84,87,59,75,81,86,93,73,78,97,67,50,57,62,64,82,94,92,97,98,86,90,96,98,72,87,90,94,102,81,87,92,95,75,85,87,93,108,91,97,99,103,87,93,100,103,93,88,97,101,105,91,101,80,91,102,121,125,158,155,151,155,155,155,
+100,134,128,141,145,115,123,149,129,110,122,143,134,110,84,89,96,85,56,70,77,70,81,53,74,79,78,61,67,74,78,98,73,81,88,90,82,85,91,93,68,81,85,87,91,72,82,86,86,71,92,97,101,118,65,72,76,82,73,77,83,86,59,76,81,87,93,74,79,96,67,49,56,63,66,83,96,93,98,99,87,91,97,99,72,89,91,96,103,83,89,94,96,77,87,90,95,109,93,98,101,104,88,94,100,102,87,87,96,99,104,91,101,119,129,150,149,124,153,142,142,142,142,88,
+95,121,115,132,135,107,117,143,123,105,116,135,128,104,79,83,90,81,53,67,74,67,77,50,68,74,72,55,61,67,71,92,67,74,81,83,76,78,84,87,58,75,79,82,86,67,76,81,81,66,83,89,92,110,60,66,71,77,67,71,77,80,53,69,74,80,87,67,72,89,65,46,53,61,63,80,93,91,95,97,84,88,94,96,68,85,88,93,100,79,86,89,92,75,87,86,92,105,92,97,99,101,87,92,98,99,69,86,93,95,101,82,92,83,94,122,101,107,124,125,126,128,129,129,
+90,113,110,126,128,124,134,136,117,93,105,126,118,93,73,77,83,74,47,60,66,61,73,47,64,68,66,49,54,60,63,60,59,66,72,74,69,72,77,80,51,68,70,74,80,62,72,76,76,61,75,81,83,102,53,60,64,70,61,66,70,73,47,64,69,74,80,61,65,80,60,46,52,59,61,79,91,88,92,93,85,89,93,95,69,84,87,91,99,78,85,87,90,75,86,85,91,104,92,97,98,100,87,90,96,97,67,84,92,93,100,80,91,87,99,127,97,99,114,124,124,125,126,126,
+85,107,102,119,120,117,127,128,110,88,99,116,111,86,66,70,76,66,41,53,60,56,68,43,56,61,59,41,46,52,55,45,51,58,64,66,61,64,70,73,45,61,64,68,74,56,66,69,69,55,66,71,74,88,47,53,57,63,55,59,63,66,41,57,62,67,74,54,58,69,55,41,46,57,59,74,82,78,83,84,75,79,83,85,60,74,77,81,90,69,74,76,77,65,72,68,72,90,70,81,82,83,76,80,86,88,61,79,85,86,92,69,78,76,85,89,72,65,99,114,109,118,123,121,
+80,99,97,113,113,111,121,120,103,82,92,100,104,79,59,63,68,59,35,46,52,45,58,31,49,54,52,34,39,45,46,23,43,48,56,58,52,56,62,64,38,53,56,60,68,49,59,62,62,49,56,62,63,59,42,47,52,57,47,52,56,59,35,50,55,59,67,46,50,59,50,38,43,55,57,52,72,67,72,74,64,69,72,74,50,64,66,71,80,58,64,66,67,57,62,60,65,82,62,72,72,73,66,70,75,77,52,68,74,78,84,61,70,72,81,86,74,63,96,110,104,112,120,113,
+75,95,93,105,105,101,112,115,98,76,85,95,102,76,51,55,59,50,29,39,45,38,52,24,40,44,43,26,31,36,38,16,34,40,47,51,43,47,53,56,32,45,48,53,62,42,52,55,55,43,46,51,53,46,37,41,47,51,40,45,50,52,30,43,48,52,62,39,44,50,45,35,38,53,55,51,61,57,62,65,53,57,62,64,40,52,56,60,71,47,53,56,57,48,54,53,58,76,55,64,65,66,59,60,63,65,41,57,61,65,73,47,58,61,69,76,69,62,96,109,98,106,117,108,
+47,50,81,100,99,95,105,107,90,69,78,84,94,68,44,48,52,43,22,31,38,31,46,18,34,39,38,20,25,30,31,9,26,31,38,43,33,38,44,46,25,39,42,46,55,34,43,47,47,37,36,41,43,24,31,35,40,44,32,37,42,44,23,35,40,44,55,31,36,41,41,31,35,46,47,36,46,46,52,55,42,47,51,52,31,42,46,49,61,36,42,46,46,38,43,44,48,68,46,55,56,57,49,49,52,53,32,46,51,55,64,38,49,52,61,67,65,59,92,104,91,100,108,103,
+59,49,82,98,96,73,85,106,88,69,78,84,87,61,42,45,51,41,20,28,35,29,41,17,31,36,36,17,22,27,28,7,22,28,34,41,29,34,41,43,24,36,40,44,54,31,41,45,44,35,32,37,38,12,29,34,39,44,29,34,41,42,22,32,39,42,54,29,35,39,39,29,32,37,39,16,31,35,41,46,33,37,40,42,22,32,36,38,52,26,32,34,33,27,31,33,36,36,31,38,42,45,36,37,40,43,22,36,40,43,38,10,20,22,29,34,49,40,80,92,84,95,107,97,
+70,67,85,99,97,73,85,104,86,68,76,78,84,55,36,39,45,37,17,24,30,27,20,14,28,33,34,14,19,25,25,5,19,26,32,39,26,31,37,39,22,33,37,41,52,29,36,40,39,30,30,35,36,11,27,32,37,43,27,32,38,40,20,30,36,39,52,26,32,37,36,27,30,35,37,12,29,34,39,44,30,35,38,39,21,29,33,36,51,24,30,32,31,25,29,33,36,27,31,36,41,45,35,35,38,40,22,34,38,41,37,9,19,21,28,33,46,37,76,86,77,88,97,88,
+70,75,87,95,93,83,93,104,86,66,74,69,82,50,31,34,39,31,15,20,27,26,19,13,27,33,34,11,17,22,23,4,17,24,29,38,23,30,35,36,21,31,36,39,52,28,32,36,34,24,28,33,34,11,26,31,36,43,27,32,36,37,20,28,34,36,50,25,30,34,34,24,28,33,35,10,26,31,37,43,28,33,36,37,20,27,30,33,49,22,27,30,30,22,26,34,37,14,32,31,37,41,31,33,36,37,21,32,36,40,36,8,19,20,28,33,42,34,72,81,70,82,88,26,
+70,82,91,97,94,92,102,102,84,65,72,64,80,46,26,29,34,26,11,16,22,23,18,10,26,30,34,8,14,19,20,3,15,22,27,37,20,27,32,33,20,28,33,36,50,25,30,33,33,22,26,31,32,10,24,28,33,41,25,30,34,34,18,26,31,33,49,22,27,31,32,22,26,31,33,9,24,29,35,42,26,31,34,34,18,25,28,30,40,19,24,28,28,19,23,30,32,9,25,23,29,34,20,30,33,34,18,29,32,36,33,5,15,15,22,31,37,32,68,76,67,76,77,14,
+70,88,93,98,95,92,102,100,82,67,74,66,82,48,22,25,30,24,10,15,20,21,15,8,18,23,26,7,12,18,18,1,12,18,24,34,18,24,29,30,18,26,31,34,49,23,27,31,32,20,24,29,30,9,23,27,32,40,22,27,31,32,18,24,29,31,27,20,25,29,30,19,24,29,30,9,23,27,32,40,23,28,31,31,16,23,26,28,22,18,23,26,27,16,21,26,28,6,22,21,26,33,19,29,32,32,17,27,31,34,32,4,13,14,21,28,34,26,62,69,61,71,77,11,
+70,88,87,96,91,91,103,100,80,69,77,67,82,45,18,22,27,23,9,13,18,18,14,6,11,16,20,4,10,15,15,0,11,16,22,33,15,22,27,28,16,23,29,31,46,21,25,29,30,18,22,27,29,8,22,26,30,39,20,25,29,29,17,22,27,29,23,18,22,26,28,17,22,27,28,8,22,26,30,39,21,26,28,28,15,21,24,26,20,16,20,24,25,15,19,25,26,7,20,19,23,33,16,26,31,29,17,22,29,31,9,6,8,13,20,23,22,21,56,62,55,66,68,65,
+70,92,91,98,93,92,103,98,78,68,75,66,81,42,14,18,23,21,8,12,16,16,13,4,9,13,18,1,8,13,14,-1,9,15,20,32,14,20,25,25,15,21,27,29,27,19,24,27,28,16,21,26,27,7,20,25,28,38,18,23,27,27,16,20,25,27,21,16,20,24,27,15,20,25,27,8,22,27,31,40,21,26,28,29,15,21,24,26,20,16,20,25,26,15,19,26,26,8,21,20,25,34,17,27,32,29,18,23,30,31,10,7,10,15,22,25,18,17,51,57,50,59,59,56,
+67,78,94,97,92,90,100,99,79,67,75,65,80,42,13,17,20,18,7,11,15,16,-6,2,8,13,19,-2,5,11,11,-2,7,13,18,31,11,18,23,23,13,18,25,27,21,17,21,26,27,14,19,24,25,6,18,23,26,36,16,21,25,24,14,18,23,25,20,14,18,22,26,13,18,22,24,6,22,27,31,41,20,26,28,28,16,21,24,25,20,15,19,23,25,14,19,25,26,9,21,20,25,34,17,27,31,29,19,23,29,31,8,3,5,7,15,25,14,2,35,39,47,55,51,2,
+61,80,98,98,93,87,91,97,78,62,70,63,78,41,11,15,19,18,5,10,14,15,13,2,7,10,17,-3,4,9,10,-3,6,12,17,30,9,16,21,21,11,16,23,24,20,15,20,24,26,12,18,22,24,5,17,22,25,35,14,19,23,23,12,16,22,24,19,12,16,21,25,12,17,21,22,5,23,28,32,42,21,26,28,28,17,21,24,26,22,16,19,23,26,15,20,26,27,11,22,21,26,36,18,28,32,30,19,24,30,31,10,4,-3,9,17,25,12,6,39,43,44,53,51,1,
+70,94,90,97,90,67,80,112,91,57,65,63,78,40,9,13,18,16,5,9,13,14,7,0,4,8,14,-5,2,7,8,-5,5,11,16,29,8,14,20,19,8,13,20,22,18,13,19,23,24,12,16,21,22,4,15,20,23,34,11,16,21,20,10,14,19,20,10,11,15,20,25,10,16,21,22,4,22,27,30,43,22,27,29,29,17,20,25,26,12,16,19,24,29,15,21,27,28,11,22,21,24,36,16,25,27,24,19,23,27,27,-10,8,-1,12,19,23,6,10,41,44,40,48,45,0,
+70,96,95,99,92,67,79,111,89,56,64,61,76,39,8,12,17,15,4,8,12,12,-10,-1,3,6,14,-7,0,5,6,-6,3,10,15,28,6,13,19,18,7,12,19,21,17,12,17,21,23,11,15,20,21,3,14,19,22,34,10,15,19,19,8,12,17,18,-6,9,14,19,24,9,15,20,20,3,23,28,31,44,22,28,31,29,18,22,26,26,6,16,20,25,31,17,21,28,29,13,23,23,26,38,18,26,29,25,20,24,28,29,-8,10,0,14,22,25,4,8,39,41,37,45,40,-1,
+70,82,99,96,89,69,80,98,76,64,72,60,75,38,7,11,15,14,3,7,11,11,-16,-2,0,3,11,-8,-2,4,5,-5,3,9,13,27,5,11,17,16,6,10,17,20,16,10,15,20,23,9,14,18,19,3,13,17,20,33,8,13,17,16,6,10,15,16,-8,8,13,17,23,8,13,18,19,1,21,26,30,42,19,25,28,28,17,20,24,24,0,14,18,23,29,14,20,26,27,12,21,21,24,37,18,27,30,27,17,21,25,26,-16,3,-8,5,13,23,0,-7,24,25,35,42,35,40,
+70,81,102,96,88,67,81,95,77,60,68,59,73,37,6,10,14,13,2,5,9,9,-18,-5,-2,1,10,-10,-4,2,2,-6,2,8,12,27,3,10,16,14,4,9,16,18,15,9,14,18,22,7,12,17,17,2,12,16,19,32,7,12,16,15,5,9,14,15,-9,7,11,16,22,6,12,18,18,1,20,26,29,42,19,23,28,27,16,19,23,23,-2,13,18,22,28,13,19,25,26,12,21,21,24,37,18,27,30,26,17,21,25,25,-16,3,-8,5,13,23,-1,-9,22,24,32,38,31,85,
+70,93,93,97,89,67,80,113,89,56,63,51,66,29,5,10,12,12,1,5,8,10,7,-1,2,5,11,-10,-3,3,3,-8,0,6,10,25,3,10,15,15,4,8,15,16,7,7,12,18,23,7,13,18,19,0,9,15,18,31,6,11,15,15,3,8,13,14,-10,5,9,14,21,5,11,16,17,0,19,24,27,41,16,22,26,26,14,17,21,21,-3,11,16,20,27,13,18,24,25,11,19,20,21,22,11,20,21,20,13,19,20,20,-10,7,-6,9,17,20,-2,-8,21,24,31,37,28,85,
+70,102,98,99,91,67,80,111,87,53,61,50,65,28,5,9,12,12,0,4,7,8,6,-3,0,4,10,-11,-5,2,2,-9,-1,5,9,25,3,8,14,14,3,7,14,15,-7,6,11,16,22,6,12,17,18,-1,8,14,17,31,5,10,14,14,3,7,12,13,-11,4,9,14,21,4,10,16,17,0,19,24,27,41,16,21,26,25,14,17,21,21,-3,11,15,20,28,12,18,24,25,11,19,20,21,25,11,20,21,20,14,19,20,20,-9,7,-6,9,17,20,-4,-9,19,23,29,35,26,85,
+70,92,101,96,88,68,81,98,74,53,61,49,64,28,3,7,10,10,-1,4,5,6,-9,-2,1,4,11,-11,-5,1,1,-9,-2,4,7,24,1,7,13,13,2,6,13,14,-7,5,10,15,22,4,10,15,16,-1,7,13,15,30,3,8,13,13,1,6,11,12,-12,3,8,13,20,4,9,15,16,0,18,23,26,40,16,21,25,25,13,16,20,20,-3,10,15,19,27,11,17,24,25,11,19,19,21,34,11,20,21,21,13,19,20,20,-9,7,-6,9,16,19,-5,-11,17,24,28,34,25,85,
+70,88,105,98,89,68,80,95,71,52,60,47,63,27,3,7,10,10,-1,2,4,5,-15,-4,-1,2,10,-13,-7,-1,0,-10,-3,2,6,23,0,6,12,12,1,6,12,13,-11,4,10,14,21,4,10,15,15,-2,7,13,15,30,2,7,12,12,0,5,10,11,-13,2,7,12,20,3,9,13,14,-2,17,22,25,39,14,19,23,22,11,15,18,18,-4,9,14,18,26,11,17,22,23,10,18,19,21,23,9,21,24,23,11,16,17,18,-18,-2,-14,1,8,20,-6,-12,15,22,26,32,24,85,
+70,87,101,96,87,68,81,114,89,53,62,46,61,24,-1,4,6,8,-2,4,9,12,6,-1,1,4,9,-11,-5,1,1,-9,-2,4,7,21,-2,5,10,11,-1,4,10,12,-11,4,8,14,20,3,8,15,14,-3,4,9,11,13,0,6,10,11,-2,3,8,10,-14,1,7,12,19,1,7,12,12,-2,15,20,23,38,13,18,22,21,9,13,17,17,-4,9,13,17,26,10,16,22,22,9,17,19,21,30,9,21,24,23,10,16,16,18,-18,-2,-12,2,10,18,-8,-13,15,23,24,28,13,85,
+70,100,104,97,87,67,80,111,85,51,60,45,60,24,-1,5,6,8,-2,3,8,10,5,-3,0,3,8,-13,-7,0,0,-11,-4,3,5,-1,-3,4,9,10,-2,3,10,11,-13,3,8,13,19,2,7,14,13,-4,2,8,10,2,-1,5,10,11,-3,2,8,9,-14,1,6,11,18,0,6,11,11,-3,14,19,21,35,12,17,21,21,8,11,16,15,-5,8,12,17,26,9,15,21,21,10,16,18,19,13,7,18,19,20,7,7,13,13,-10,4,-11,4,13,16,-9,-2,22,23,23,28,13,85,
+70,101,106,98,87,66,79,107,82,49,59,44,60,24,0,6,7,9,-2,2,7,9,4,-5,-2,1,8,-14,-8,-2,-1,-12,-5,2,4,-1,-4,3,8,10,-3,2,9,10,-13,2,7,12,19,1,6,13,12,-4,2,8,9,2,-1,5,9,10,-4,1,7,8,-15,0,6,11,18,-1,5,11,11,-4,13,18,21,38,11,16,21,20,7,11,15,15,-5,8,12,16,25,8,15,20,20,10,15,17,18,12,7,18,19,20,7,8,13,12,-11,4,-11,4,13,15,-11,-3,20,22,22,27,13,85,
+70,92,106,99,86,90,105,94,70,49,59,41,57,22,-3,3,5,6,-3,2,7,8,4,-5,-5,-3,5,-14,-8,-2,-2,-14,-7,1,3,-2,-5,2,7,9,-3,2,8,9,-14,1,6,11,18,-1,5,11,10,-6,0,7,8,1,-3,3,8,8,-6,-1,7,8,-16,-1,5,10,17,-2,4,9,9,-5,9,16,18,27,7,12,17,16,4,8,12,12,-7,5,10,14,23,6,12,18,18,7,14,14,15,10,4,17,18,20,1,3,8,7,-22,-8,-20,-5,3,6,-19,-4,20,22,18,23,15,85,
+70,83,106,98,85,88,103,90,67,47,58,40,57,22,-1,4,2,5,-4,2,5,9,3,-3,-5,-5,4,-16,-10,-4,-4,-15,-8,-1,2,-3,-6,1,6,7,-4,1,7,8,-15,0,5,10,18,-2,4,10,9,-6,0,6,7,0,-4,3,7,8,-7,-1,6,7,-16,-2,5,9,17,-3,3,8,8,-6,7,13,15,17,4,10,14,14,1,5,10,9,-10,3,7,12,21,3,10,15,15,5,11,12,13,8,2,15,16,18,-1,0,6,5,-24,-10,-23,-8,1,3,-21,-5,19,21,17,24,16,85,
+70,103,114,103,94,73,86,112,80,49,58,40,54,20,-8,-2,-1,1,-6,2,5,9,2,-3,2,5,8,-14,-9,-3,-4,-15,-7,-1,2,-4,-7,0,6,8,-4,1,8,8,-16,-3,6,10,19,-2,5,10,9,-7,-1,6,8,0,-4,2,7,8,-8,-2,5,6,-17,-3,3,8,16,-4,2,8,7,-8,3,9,11,5,2,7,11,11,-4,0,6,6,-12,0,4,9,19,1,7,13,13,3,8,11,11,6,-2,12,12,15,-4,-6,1,0,-26,-13,-20,-5,3,1,-23,-8,13,16,12,17,2,85,
+70,104,113,100,90,70,83,106,76,47,56,39,54,21,-6,0,0,3,-6,2,4,8,0,-5,0,3,6,-16,-10,-5,-6,-16,-9,-2,1,-5,-8,-1,5,6,-5,0,7,7,-17,-4,5,9,18,-3,4,9,8,-8,-1,5,7,0,-5,2,6,7,-9,-3,4,6,-17,-4,3,7,16,-5,2,7,6,-8,0,7,9,2,-1,5,8,8,-7,-2,4,4,-14,-2,2,7,17,-1,5,11,10,0,6,8,8,4,-4,10,10,14,-6,-8,0,-2,-28,-15,-22,-8,1,-1,-23,-9,13,16,13,18,4,85,
+70,104,110,107,93,101,116,100,72,57,67,44,60,27,-8,-3,-2,0,-6,0,6,10,3,-3,1,4,9,-15,-11,-7,-8,-16,-9,-2,0,-4,-8,-1,4,6,-5,1,8,9,-16,-3,2,6,15,-3,4,8,8,-10,-3,3,5,-2,-6,0,5,6,-9,-3,2,3,-17,-3,3,8,16,-5,1,6,5,-9,-2,4,6,0,-5,1,6,6,-9,-4,0,0,-16,-4,0,5,14,-4,3,8,8,-2,3,5,6,1,-6,7,8,11,-8,-11,-3,-4,-31,-17,-25,-10,-1,-4,-23,-9,13,17,13,19,6,85,
+70,93,106,103,87,96,112,91,66,54,65,43,60,27,-6,0,0,2,-6,1,6,9,2,-5,0,2,8,-16,-12,-8,-9,-17,-10,-3,-1,-5,-9,-3,4,6,-6,0,7,8,-16,-4,1,5,15,-4,3,7,7,-10,-3,2,5,-2,-6,0,5,6,-9,-3,2,3,-17,-4,3,7,16,-6,1,6,5,-9,-3,3,5,-1,-5,0,5,6,-10,-5,0,0,-16,-4,0,5,14,-4,3,8,8,-2,3,9,10,6,-1,7,7,11,-9,-10,-2,-3,-25,-12,-25,-11,-2,-1,-20,-23,-2,12,8,14,8,85,
+70,81,101,98,80,86,94,133,95,53,60,42,55,19,-13,-8,-6,-4,-8,0,4,11,26,-1,2,5,7,-13,-8,-3,-4,-17,-11,-5,-2,-6,-8,-1,5,7,-8,-3,4,5,-17,-4,3,8,16,-5,2,7,6,-9,-4,1,2,-3,-8,-2,4,6,-9,-3,4,6,-18,-4,3,7,15,-7,-1,4,3,-10,-3,3,5,-1,-6,0,4,5,-11,-6,0,0,-17,-5,0,4,14,-5,2,6,6,-1,5,11,12,6,-1,7,7,11,-9,-10,-2,-4,-28,-15,-26,-12,-2,-2,-20,-21,0,12,8,14,4,85,
+70,108,119,106,98,76,89,120,85,48,56,39,54,19,-12,-6,-4,-3,-8,0,4,9,26,-3,0,3,5,-14,-10,-4,-5,-18,-12,-6,-3,-7,-10,-2,4,6,-10,-4,3,4,-18,-4,2,7,16,-5,1,6,5,-10,-4,0,2,-2,-8,-2,4,6,-10,-3,4,5,-18,-4,3,6,14,-8,-2,4,2,-10,-4,3,5,-1,-6,-1,3,4,-11,-6,0,0,-17,-5,0,4,14,-5,1,6,5,-2,4,10,11,6,-2,6,7,11,-9,-10,-2,-4,-32,-19,-25,-12,-2,-9,-31,-13,7,8,7,14,5,85,
+70,103,113,101,89,68,83,107,75,42,52,36,52,18,-11,-6,-4,-3,-8,0,4,9,22,-4,0,2,5,-15,-10,-4,-6,-19,-13,-6,-4,-7,-10,-2,4,6,-10,-4,3,4,-18,-5,1,6,15,-7,0,6,4,-10,-5,0,2,-3,-8,-3,3,5,-10,-3,3,5,-19,-5,2,5,14,-8,-3,3,2,-11,-4,2,4,-2,-7,-2,3,4,-12,-6,-1,0,-17,-6,-1,4,14,-6,1,6,5,-2,4,10,11,5,-2,6,7,10,-10,-10,-3,-4,-32,-20,-26,-13,-2,-9,-30,-12,8,8,7,13,4,85,
+70,104,107,104,88,93,110,96,68,45,56,43,60,28,-13,-6,-5,-4,-9,-1,4,9,10,-5,-1,2,5,-14,-10,-5,-7,-19,-13,-7,-4,-6,-10,-2,3,5,-11,-4,3,4,-19,-5,0,6,15,-7,0,6,4,-11,-5,0,1,-3,-9,-3,3,5,-10,-4,1,2,-19,-6,2,5,13,-10,-4,2,0,-11,-5,1,2,-2,-8,-3,2,4,-12,-7,-1,-1,-16,-5,-1,3,14,-6,1,5,5,-3,3,9,10,6,-2,4,4,8,-10,-9,-3,-4,-26,-14,-28,-14,-4,-7,-27,-28,-7,9,7,13,3,85,
+70,94,101,99,79,85,105,83,58,38,51,39,57,25,-17,-16,-12,-11,-11,-1,4,9,24,-2,2,4,6,-15,-11,-4,-6,-19,-12,-6,-3,-7,-10,-4,2,4,-9,-3,4,5,-19,-6,1,6,15,-8,-2,4,3,-12,-5,1,3,-3,-10,-3,3,5,-11,-4,0,2,-20,-6,2,4,13,-10,-4,1,0,-11,-5,0,2,-3,-8,-3,2,3,-13,-7,-1,-1,-17,-5,-1,3,14,-6,1,5,4,-3,2,8,9,5,-3,3,4,7,-11,-11,-3,-6,-27,-15,-29,-16,-4,-7,-27,-27,-6,9,7,12,0,85,
+70,102,118,110,100,74,88,126,89,45,55,36,51,18,-19,-15,-12,-10,-11,-1,3,9,24,-4,0,3,5,-15,-11,-5,-7,-19,-13,-6,-4,-7,-11,-4,1,3,-10,-4,3,4,-19,-7,0,5,15,-9,-3,2,2,-12,-5,1,4,-3,-11,-3,2,4,-11,-5,0,2,-20,-6,1,5,13,-11,-5,1,-1,-11,-6,0,1,-3,-9,-4,1,3,-12,-7,-1,-2,-17,-6,-1,3,14,-8,-2,3,3,-4,3,9,11,5,-2,5,7,9,-10,-5,0,-2,-27,-16,-27,-15,-5,-11,-34,-17,3,4,5,12,-103,-3,
+70,105,112,105,91,67,83,113,78,39,50,32,48,17,-19,-13,-11,-9,-11,-1,3,8,23,-5,-1,2,5,-16,-12,-6,-7,-20,-14,-7,-4,-8,-12,-6,0,3,-11,-4,2,3,-19,-7,0,4,15,-10,-4,2,1,-12,-5,1,4,-3,-11,-4,2,4,-12,-5,0,2,-20,-6,1,4,13,-11,-5,1,-1,-12,-6,-1,1,-4,-10,-4,1,3,-13,-7,-2,-2,-17,-6,-1,2,14,-8,-2,3,3,-4,2,8,10,4,-3,4,6,8,-11,-6,-2,-4,-28,-17,-28,-16,-5,-11,-34,-17,4,5,5,11,-103,-3,
+70,99,107,101,86,69,87,101,69,41,53,40,56,27,-21,-14,-13,-11,-12,-2,4,9,24,-4,0,3,6,-15,-11,-6,-7,-19,-13,-7,-4,-7,-12,-5,1,3,-12,-5,2,3,-20,-7,-1,3,13,-11,-4,2,1,-12,-5,1,4,-3,-11,-5,0,3,-12,-5,0,2,-20,-7,1,4,13,-11,-5,1,-1,-13,-7,-1,1,-3,-10,-3,2,4,-13,-7,-2,-2,-16,-5,-1,2,14,-8,-3,3,3,-4,1,9,11,6,-1,6,7,11,-9,-5,-1,-4,-28,-18,-30,-18,-6,-12,-33,-16,5,5,4,10,-103,-3,
+70,98,101,101,83,63,83,91,61,36,49,36,53,26,-22,-15,-13,-11,-12,-2,3,9,24,-5,-2,3,6,-15,-11,-6,-8,-20,-14,-8,-4,-8,-11,-5,0,4,-11,-4,1,2,-20,-8,-1,3,13,-12,-5,1,0,-13,-5,1,4,-4,-12,-5,0,2,-12,-5,-1,1,-20,-7,0,4,13,-12,-6,0,-2,-13,-7,-1,0,-4,-10,-4,1,3,-13,-7,-2,-2,-17,-6,-2,1,13,-8,-2,3,3,-5,1,8,10,5,-2,5,5,10,-11,-8,-2,-5,-30,-19,-32,-20,-7,-17,-38,-33,-12,5,3,9,-103,-3,
+70,83,96,97,77,65,84,111,78,42,53,30,46,17,-24,-20,-16,-15,-12,-4,-1,6,23,-5,0,3,6,-15,-11,-5,-7,-21,-15,-9,-5,-8,-11,-5,0,3,-10,-4,2,3,-21,-10,-3,1,13,-10,-3,2,2,-14,-8,-3,1,-4,-8,-2,2,4,-10,-5,0,1,-20,-8,-3,1,11,-12,-4,1,0,-13,-8,0,0,-4,-12,-6,0,3,-12,-6,0,-1,-17,-8,-1,0,13,-9,-4,0,1,-5,2,6,10,6,3,8,11,10,-8,-4,-1,-3,-35,-24,-34,-23,-10,-21,-45,-32,-11,5,3,8,-103,-3,
+70,76,96,103,87,65,82,107,74,39,51,28,44,16,-25,-22,-16,-15,-12,-4,-1,6,23,-4,0,3,6,-15,-11,-5,-7,-22,-15,-9,-6,-8,-12,-5,0,2,-10,-4,2,2,-21,-10,-3,1,13,-10,-3,2,1,-15,-8,-3,1,-5,-9,-3,2,3,-11,-5,0,1,-20,-8,-3,1,11,-11,-5,1,0,-13,-8,-1,0,-4,-11,-6,0,3,-12,-6,0,-1,-17,-8,-2,-1,13,-9,-4,1,1,-5,2,5,9,4,2,7,9,8,-10,-6,-2,-5,-36,-26,-36,-26,-14,-26,-53,-22,-2,0,3,8,-103,17,
+70,100,104,100,83,62,81,104,71,37,54,36,52,25,-26,-23,-17,-15,-13,-5,-2,5,22,-5,-1,4,6,-15,-11,-4,-6,-20,-13,-8,-5,-7,-11,-5,0,3,-10,-4,2,3,-21,-10,-2,2,14,-11,-4,2,2,-14,-8,-1,2,-3,-8,-2,4,5,-11,-5,1,1,-20,-9,-3,1,12,-11,-5,0,-1,-13,-9,-1,0,-4,-11,-5,0,4,-12,-5,0,0,-16,-8,-2,0,13,-10,-4,1,1,-5,1,6,8,4,0,4,6,7,-12,-8,-4,-7,-37,-28,-38,-27,-15,-27,-52,-22,0,1,3,8,-103,85,
+70,86,101,100,83,61,80,85,52,43,55,34,50,24,-28,-25,-18,-16,-13,-5,-2,5,22,-5,-1,4,6,-14,-11,-4,-6,-19,-14,-8,-5,-8,-12,-5,0,3,-10,-4,2,2,-21,-10,-3,1,14,-11,-3,2,2,-14,-7,-1,2,-3,-8,-1,3,5,-11,-5,1,2,-20,-9,-3,2,12,-11,-5,0,-1,-13,-8,-1,0,-4,-11,-4,0,4,-11,-5,1,0,-16,-8,-2,-1,13,-11,-5,1,0,-6,0,7,10,6,3,8,11,12,-7,-4,-1,-4,-36,-27,-40,-30,-16,-25,-49,-40,-19,-2,-1,4,-103,85,
+70,95,104,99,81,61,80,78,49,42,54,33,50,24,-25,-23,-17,-15,-13,-6,0,5,-2,-9,-4,0,5,-14,-9,-4,-5,-19,-13,-8,-5,-8,-13,-6,0,3,-10,-4,2,4,-21,-9,-3,1,11,-11,-4,2,2,-14,-6,1,4,-3,-8,-1,4,5,-12,-5,1,2,-20,-9,-3,1,12,-12,-5,1,0,-13,-8,-1,1,-3,-9,-3,2,4,-11,-5,1,-1,-14,-6,-2,-1,-3,-13,-9,-2,-3,-8,-1,4,9,12,10,17,20,18,-5,-2,0,-3,-37,-26,-41,-31,-17,-24,-48,-39,-17,0,0,5,-103,85,
+70,102,102,99,81,59,77,79,49,41,54,32,49,24,-27,-25,-18,-16,-14,-6,0,6,3,-8,-4,1,5,-13,-8,-3,-4,-19,-13,-8,-5,-8,-13,-6,0,3,-11,-4,1,3,-22,-9,-3,1,12,-11,-3,2,3,-14,-6,1,4,-3,-8,-1,4,6,-11,-5,1,2,-20,-9,-3,1,12,-12,-4,1,0,-13,-8,-1,1,-2,-8,-2,2,5,-11,-5,1,-1,-14,-6,-1,-1,3,-12,-8,-2,-2,-7,-1,4,8,7,8,14,17,15,-7,-3,0,-3,-36,-27,-32,-24,-11,-35,-66,-28,-8,-7,-2,3,-13,85,
+70,99,101,99,82,61,79,84,52,42,54,32,48,23,-29,-26,-20,-17,-14,-6,0,6,16,-9,-4,0,5,-14,-9,-3,-4,-19,-13,-7,-5,-8,-13,-7,-1,3,-10,-4,1,3,-22,-9,-4,0,11,-11,-4,2,3,-14,-6,1,3,-3,-8,-2,3,5,-12,-5,1,2,-20,-9,-3,1,12,-12,-5,1,0,-13,-8,-1,1,-2,-8,-2,3,4,-11,-5,1,0,-14,-7,-2,-1,3,-12,-7,-1,-1,-7,-1,4,7,6,5,10,13,12,-9,-5,-1,-5,-37,-29,-34,-26,-11,-34,-64,-27,-6,-5,-1,4,-7,85,
+70,95,100,100,85,61,79,98,64,31,43,33,47,22,-29,-28,-21,-18,-14,-6,0,6,23,-9,-4,1,6,-14,-9,-2,-3,-18,-13,-7,-5,-8,-13,-6,-1,3,-10,-4,1,2,-23,-10,-5,-1,11,-11,-4,1,2,-13,-5,2,4,-3,-8,-2,3,5,-11,-5,0,1,-21,-9,-3,1,12,-13,-6,0,-2,-13,-7,0,2,-2,-8,-1,4,6,-11,-5,2,1,-15,-7,-1,0,3,-14,-6,1,1,-9,-3,6,10,11,12,14,14,15,-1,3,1,-3,-32,-25,-37,-29,-14,-38,-65,-28,-7,-7,-5,3,-6,85,
+69,82,99,101,88,64,81,105,69,34,45,29,47,16,-29,-21,-13,-12,-15,-10,-6,-3,-27,-14,-10,-5,4,-15,-9,-3,-3,-18,-12,-6,-3,-7,-12,-7,-1,3,-9,-3,1,3,-22,-7,-3,2,11,-9,-1,4,4,-12,-5,3,5,-3,-7,0,5,6,-11,-5,1,1,-22,-10,-3,1,12,-13,-6,0,1,-11,-4,4,6,-1,-8,0,5,7,-8,-3,3,2,-15,-8,-1,0,11,-14,-5,2,2,-8,-2,7,9,10,8,7,10,12,-2,2,1,-2,-34,-27,-39,-31,-14,-37,-60,-26,-4,-4,-2,3,-5,85,
+70,108,98,99,79,72,91,71,47,29,43,31,48,23,-24,-19,-15,-14,-16,-10,-6,-2,-14,-13,-9,-3,5,-14,-8,-2,-2,-18,-11,-6,-3,-7,-12,-7,-1,2,-9,-2,0,3,-22,-8,-3,1,11,-9,-1,4,5,-12,-4,3,6,-2,-7,0,5,7,-11,-5,1,2,-22,-9,-3,1,12,-13,-6,0,0,-10,-4,4,6,-1,-8,1,5,8,-7,-1,5,4,-15,-9,-2,-2,-11,-16,-8,-3,-3,-20,-11,-1,6,25,23,30,35,30,2,-1,-1,-3,-37,-26,-36,-29,-17,-50,-79,-36,-17,-19,-9,1,-9,85,
+70,107,98,100,82,77,95,79,53,32,45,32,48,23,-26,-22,-17,-16,-16,-11,-6,-1,-4,-11,-7,-2,6,-13,-7,-1,-1,-17,-11,-5,-2,-7,-11,-6,-1,2,-9,-2,1,3,-22,-7,-3,2,12,-9,-1,4,5,-12,-4,3,6,-3,-7,0,5,7,-11,-4,2,2,-21,-9,-3,1,12,-13,-6,0,0,-11,-4,4,7,-1,-7,1,5,8,-7,0,5,4,-15,-8,-2,-2,-11,-16,-7,-2,-2,-18,-10,-1,6,12,17,24,28,25,1,1,0,-2,-38,-29,-38,-31,-18,-47,-77,-33,-13,-14,-6,2,-7,85,
+70,107,99,101,85,57,73,70,42,32,45,26,42,15,-26,-22,-16,-14,-16,-9,-6,-1,-3,-9,-6,-1,6,-10,-5,-2,-2,-18,-12,-5,-2,-7,-13,-7,-1,2,-9,-3,0,3,-23,-9,-6,-1,9,-11,-3,4,5,-14,-6,4,7,-2,-6,1,7,8,-11,-4,1,2,-23,-10,-3,1,12,-12,-5,1,1,-12,-5,6,8,1,-6,0,4,7,-5,1,5,4,-14,-8,-1,-1,-10,-15,-4,2,2,-14,-6,2,9,16,20,26,22,19,3,7,1,0,-39,-31,-41,-34,-19,-45,-73,-29,-9,-9,-3,2,-8,85,
+70,108,101,100,86,60,76,79,49,36,47,28,43,16,-28,-24,-18,-16,-17,-10,-6,-1,-2,-7,-4,1,7,-8,-4,0,-1,-18,-12,-5,-2,-7,-13,-7,-1,3,-9,-2,1,4,-24,-9,-6,-1,9,-11,-4,4,5,-14,-6,4,7,-2,-6,1,7,9,-11,-4,2,2,-23,-10,-2,1,12,-13,-6,1,1,-12,-5,6,9,1,-6,1,5,7,-5,1,6,5,-15,-8,-1,-1,-10,-14,-3,2,3,-12,-5,5,10,14,14,19,20,20,6,11,4,4,-42,-34,-39,-32,-16,-40,-73,-47,-25,-11,-7,2,-7,85,
+68,108,104,102,77,71,90,65,40,24,38,30,46,22,-24,-17,-15,-15,-20,-14,-7,-3,-32,-18,-10,-4,5,-15,-9,-4,-3,-19,-11,-6,-2,-8,-11,-4,0,2,-12,-4,-1,2,-26,-8,-5,1,8,-8,-1,3,5,-10,0,8,11,24,-7,1,6,7,-12,-5,1,1,-23,-11,-4,0,11,-15,-7,-1,-1,-13,-5,5,9,21,-4,4,10,10,-4,1,6,5,-16,-9,0,-3,-20,-22,-10,-6,0,-16,-5,0,9,35,23,29,29,24,7,11,5,4,-44,-37,-42,-36,-20,-40,-71,-45,-23,-8,-4,4,-6,85,
+45,1,95,97,79,75,94,71,46,27,41,32,48,23,-25,-21,-17,-17,-21,-15,-7,-3,-32,-16,-9,-4,5,-15,-9,-4,-3,-19,-12,-7,-2,-8,-11,-5,0,3,-11,-4,-1,2,-26,-9,-5,1,9,-9,-1,3,5,-11,-1,8,11,26,-7,1,6,7,-12,-5,0,1,-23,-11,-4,-1,11,-14,-7,-1,0,-13,-6,5,9,22,-4,4,10,10,-4,1,6,5,-16,-9,0,-3,-29,-22,-10,-5,1,-16,-5,0,8,16,19,25,24,21,6,11,6,6,-45,-38,-44,-38,-20,-38,-62,-43,-21,-4,-2,4,-3,85,
+70,26,100,101,84,79,97,78,51,30,43,33,49,23,-29,-24,-20,-19,-25,-18,-11,-5,-32,-16,-8,-3,6,-16,-10,-5,-5,-22,-15,-8,-4,-11,-15,-9,-3,0,-13,-6,-4,-1,-29,-12,-9,-3,5,-15,-6,0,2,-15,-6,3,6,22,-9,-1,4,5,-14,-6,-1,0,-26,-13,-7,-5,8,-17,-10,-3,-3,-15,-8,2,6,19,-4,3,9,10,-5,0,6,5,-16,-10,-1,-4,-36,-23,-11,-6,1,-17,-5,-1,7,14,17,22,22,19,4,10,6,6,-46,-40,-45,-39,-21,-39,-62,-43,-21,-4,-1,4,-3,85,
+70,85,108,98,82,58,73,86,58,27,40,24,39,12,-31,-27,-22,-20,-26,-19,-12,-6,-32,-16,-8,-2,6,-17,-10,-6,-5,-22,-16,-9,-6,-11,-16,-11,-3,-1,-14,-6,-4,0,-30,-13,-9,-3,5,-16,-7,-1,2,-16,-7,2,5,22,-9,-2,3,4,-15,-7,-2,-1,-26,-15,-8,-5,8,-19,-10,-4,-4,-16,-9,1,5,21,-5,2,8,9,-9,-4,4,3,-20,-13,-4,-7,-37,-24,-14,-9,-2,-17,-5,-2,5,9,9,15,19,17,0,6,3,3,-49,-42,-54,-48,-30,-47,-71,-27,-5,1,4,10,-7,85,
+70,100,117,103,88,61,74,87,60,28,41,25,39,12,-34,-30,-25,-22,-29,-21,-13,-7,-33,-17,-9,-3,6,-18,-12,-8,-7,-25,-17,-11,-8,-12,-19,-12,-5,-1,-15,-7,-5,-1,-30,-14,-10,-4,5,-17,-9,-2,0,-18,-8,1,4,20,-11,-3,2,3,-17,-9,-4,-3,-28,-16,-9,-6,7,-19,-11,-5,-5,-17,-10,0,5,15,-6,2,8,8,-11,-5,3,1,-21,-15,-5,-8,-39,-25,-15,-10,-3,-21,-8,-5,3,9,9,16,20,17,-3,3,-1,-1,-50,-43,-54,-47,-29,-51,-76,-31,-9,-6,-1,4,-7,85,
+70,118,129,102,86,40,52,57,30,8,21,43,57,30,-14,-8,-4,1,-13,-4,6,13,-20,-6,1,7,18,-14,-7,-2,-1,-23,-15,-6,-3,-31,-16,-6,2,6,-12,-4,5,9,-22,-6,2,9,18,-11,-2,6,7,-13,-5,5,8,5,-11,-4,1,3,-20,-12,-4,-4,-28,-18,-8,-6,8,-21,-11,-4,-4,-18,-11,-2,3,-2,-11,-2,3,4,-18,-12,-6,-8,-33,-27,-20,-24,-61,-48,-39,-35,-27,-50,-37,-23,-15,-8,-4,3,5,2,-30,-24,-18,-19,-51,-43,-30,-24,-6,-43,-69,-24,-5,-11,-4,2,-9,85,
+70,115,127,109,91,60,69,76,52,22,36,20,34,3,-45,-41,-37,-30,-40,-30,-23,-16,-40,-27,-18,-13,-1,-28,-23,-19,-19,-36,-27,-22,-19,-47,-28,-22,-14,-9,-23,-16,-13,-10,-36,-21,-19,-13,-3,-27,-18,-12,-10,-26,-18,-9,-5,-13,-20,-11,-8,-4,-27,-18,-14,-13,-34,-25,-19,-16,-1,-29,-22,-15,-14,-24,-18,-9,-4,-9,-15,-6,-1,2,-18,-12,-5,-6,-30,-25,-14,-17,-48,-35,-22,-19,-10,-32,-30,-15,-7,-11,4,11,17,14,-16,-20,-14,-16,-59,-50,-61,-54,-36,-71,-81,-40,-24,-20,-4,0,-103,85,
+70,148,132,114,100,62,65,60,41,16,30,12,26,-55,-56,-51,-48,-39,-49,-41,-32,-26,-46,-36,-28,-23,-8,-36,-32,-28,-27,-45,-37,-33,-31,-53,-37,-31,-22,-15,-33,-24,-23,-20,-43,-30,-28,-22,-10,-37,-28,-21,-20,-35,-27,-19,-15,-23,-30,-20,-16,-11,-36,-29,-23,-23,-42,-35,-30,-26,-11,-37,-32,-24,-24,-34,-26,-19,-14,-26,-23,-15,-9,-6,-25,-19,-15,-17,-38,-32,-17,-20,-49,-38,-24,-22,-12,-37,-34,-20,-12,-22,2,10,16,13,-21,-33,-23,-21,-67,-53,-68,-58,-38,-82,-86,-50,-40,-31,-22,-22,-103,85,
+70,170,103,131,98,68,64,40,23,12,26,9,23,-72,-69,-65,-65,-52,-62,-54,-44,-40,-53,-49,-41,-36,-42,-48,-48,-41,-40,-59,-51,-49,-47,-62,-51,-45,-37,-27,-46,-37,-38,-34,-53,-43,-43,-38,-24,-50,-43,-36,-36,-48,-41,-33,-30,-56,-43,-35,-32,-23,-48,-43,-38,-39,-53,-48,-44,-41,-45,-50,-47,-39,-37,-46,-39,-33,-28,-51,-35,-29,-24,-18,-38,-33,-29,-31,-49,-44,-41,-42,-67,-57,-46,-43,-34,-60,-52,-38,-23,-29,-7,2,6,6,-42,-57,-51,-35,-72,-62,-71,-64,-47,-99,-93,-64,-64,-48,-46,-34,85,85,
+70,170,170,170,170,170,35,20,-19,-1,16,-4,10,-82,-79,-78,-77,-65,-75,-68,-59,-58,-68,-66,-57,-54,-73,-62,-61,-55,-48,-73,-71,-63,-62,-68,-62,-55,-47,-32,-54,-51,-46,-44,-56,-51,-50,-45,-52,-58,-53,-46,-45,-58,-52,-45,-42,-61,-53,-46,-43,-31,-57,-55,-48,-49,-62,-58,-54,-52,-73,-58,-55,-47,-42,-53,-47,-41,-36,-53,-41,-35,-30,-21,-45,-40,-36,-39,-55,-52,-47,-49,-68,-61,-50,-48,-37,-66,-60,-46,-41,-39,-22,-15,-10,-7,-48,-64,-58,-55,-86,-76,-89,-81,-66,-113,-113,-99,-80,-62,-73,-115,85,48,
diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_tblX_PRight_T0.h b/drivers/input/touchscreen/wacom/wacom_i2c_tblX_PRight_T0.h new file mode 100644 index 0000000..ca383d5 --- /dev/null +++ b/drivers/input/touchscreen/wacom/wacom_i2c_tblX_PRight_T0.h @@ -0,0 +1,71 @@ +40,140,140,135,47,47,32,58,11,-14,4,0,10,15,-42,-35,-40,-26,-49,-45,-41,-42,-52,-48,-43,-44,-58,-47,-42,-33,-29,-44,-42,-30,-28,-44,-34,-33,-28,-20,-33,-38,-31,-35,-49,-49,-45,-41,-44,-51,-49,-37,-35,-42,-39,-34,-34,-47,-37,-32,-28,-20,-35,-29,-27,-29,-17,-14,-15,-14,-11,-23,-7,-2,-2,-10,-19,-17,-16,-29,-26,-22,-19,-12,-27,-25,-20,-25,-28,-27,-26,-24,-25,-29,-39,-32,-32,-32,-30,-27,-24,-26,-35,-34,-28,-26,-41,-33,-24,-31,-64,-45,-37,-38,-44,-84,-88,-36,-44,-22,-8,-9,-113,75,
+45,140,145,133,54,49,45,68,22,-4,14,11,23,25,-26,-18,-20,-13,-33,-28,-22,-26,-36,-32,-25,-20,-9,-32,-25,-13,-14,-27,-28,-16,-12,4,-22,-18,-13,-10,-21,-18,-16,-17,-42,-35,-29,-24,-12,-36,-33,-20,-23,-28,-25,-19,-17,-33,-23,-18,-11,-10,-21,-16,-11,-11,-15,-5,-6,-3,7,-15,3,9,5,0,-9,-5,-2,-6,-13,-8,-2,-1,-13,-9,-5,-6,-21,-13,-10,-6,5,-15,-21,-15,-15,-23,-16,-12,-7,8,-22,-15,-10,-12,-25,-18,-8,-12,-55,-33,-28,-24,-45,-69,-92,-23,-16,-12,5,6,-5,76,
+50,136,149,130,59,13,16,59,15,-27,-9,11,25,24,-12,-9,-7,-2,-20,-10,-6,-5,-23,-15,-8,-6,6,-16,-10,-1,0,-22,-14,-7,-2,12,-12,-7,-2,1,-10,-8,-4,-3,-37,-24,-19,-11,-4,-26,-19,-8,-9,-20,-15,-7,-4,12,-12,-6,1,-1,-11,-6,-1,2,-14,1,1,5,10,-8,10,16,14,3,-4,1,6,21,-2,4,11,8,-2,2,6,7,-17,-3,1,7,13,-4,-9,-3,-1,-19,-6,-3,3,13,-9,-2,4,3,-13,-6,5,3,-48,-25,-23,-16,-40,-60,-82,-25,-8,1,10,18,2,77,
+55,136,142,125,60,32,41,97,54,12,30,23,37,36,-1,3,5,6,-14,-9,-1,-2,-28,-16,-8,-4,5,-16,-8,1,2,-24,-13,-4,2,12,-10,-6,1,6,-8,-5,2,3,-26,-19,-13,-6,-2,-22,-16,-2,-2,-19,-10,3,7,20,-8,-1,5,5,-8,-4,5,7,4,0,0,5,7,-11,7,14,12,-6,-10,0,4,17,-1,6,12,10,-2,2,10,11,-15,0,8,14,17,2,-2,7,10,-12,5,12,18,25,3,9,15,14,-7,2,8,7,-47,-31,-21,-12,-41,-58,-73,14,38,35,15,23,17,-10,
+60,128,131,121,69,31,45,102,61,19,37,29,44,43,7,11,16,19,3,9,17,16,-11,2,9,13,20,2,9,16,17,-12,-1,7,14,23,3,8,14,19,3,8,13,14,22,-5,0,7,10,-7,-1,11,12,-7,3,10,15,27,6,12,19,19,6,10,17,21,35,8,8,13,14,-1,17,25,24,5,4,11,16,26,17,22,28,27,16,20,24,26,22,14,18,25,26,14,9,12,16,-6,13,17,23,26,10,15,22,22,2,12,22,21,-10,-14,-17,-7,-35,-39,-50,-4,24,25,24,33,22,30,
+60,117,121,116,62,27,43,100,60,19,37,29,45,44,10,13,19,22,8,12,21,21,-9,5,12,16,22,4,11,17,18,-12,0,8,14,24,4,9,15,21,4,11,15,17,27,-2,2,10,12,-4,2,14,15,-6,6,13,18,28,8,14,21,21,7,13,20,23,40,10,10,16,15,2,19,27,27,7,6,13,18,28,19,25,30,30,18,22,26,29,47,16,21,28,28,17,12,15,19,8,16,21,25,27,13,17,24,22,3,13,23,24,-7,-10,-12,-1,-33,-36,-43,5,34,37,32,41,31,-8,
+60,120,114,118,59,25,42,83,44,18,36,28,44,43,10,13,18,22,7,11,19,19,-11,4,11,15,21,4,12,17,18,-13,0,8,14,23,4,9,14,21,4,11,15,17,28,-1,3,10,11,-2,3,15,16,-5,7,14,19,28,10,16,22,22,8,13,20,23,41,11,12,17,16,4,21,29,29,8,8,14,20,28,20,26,31,30,18,23,27,30,47,18,23,29,29,19,14,17,21,20,18,23,27,28,13,18,24,22,3,14,24,25,-5,-6,-6,3,-34,-35,-40,10,41,45,38,46,36,-7,
+60,116,109,115,57,23,41,80,42,17,35,27,42,42,10,13,18,23,7,12,20,20,-10,5,12,16,21,5,12,17,17,-13,-1,7,14,23,3,8,14,21,4,11,16,17,29,0,4,10,11,-2,3,14,15,-5,7,12,18,27,10,15,21,20,7,13,19,22,39,10,10,16,15,2,20,27,28,7,7,13,18,27,19,24,29,29,16,20,26,28,46,15,21,26,26,19,14,14,18,19,18,23,25,26,14,17,23,22,4,14,23,24,0,-12,-8,-1,-38,-42,-45,-7,26,30,30,38,38,29,
+60,115,111,114,56,44,62,77,41,11,29,23,38,39,10,13,18,22,8,12,20,20,-10,5,11,15,21,5,11,16,17,-14,-2,6,12,22,2,7,13,19,4,10,15,17,30,1,5,10,11,-2,3,14,15,-5,7,12,17,27,10,15,20,20,7,12,18,21,38,9,10,16,15,2,20,27,28,7,8,14,19,28,18,23,29,28,16,20,25,27,43,15,20,25,25,19,14,14,18,19,18,22,25,26,13,17,22,21,4,14,23,24,3,-9,-5,2,-34,-38,-39,-3,29,33,32,39,39,27,
+60,114,110,113,54,43,61,75,39,10,28,21,36,36,10,13,16,20,7,11,18,19,-9,6,12,17,21,4,10,15,15,-14,-4,3,9,20,0,6,12,19,4,9,14,16,31,4,8,11,11,0,3,14,14,-5,7,12,16,27,9,15,19,19,7,13,19,21,33,8,8,13,14,3,20,26,26,7,7,13,17,27,20,26,29,28,16,20,24,26,24,14,16,22,22,15,9,10,13,-5,11,12,17,23,11,16,21,21,7,18,25,26,-5,-12,-13,-3,-42,-50,-57,-4,26,30,29,37,37,26,
+60,111,110,110,50,38,56,74,38,9,27,25,40,40,9,11,15,19,6,10,17,18,-10,5,11,15,20,3,9,14,13,-14,-5,2,7,19,-1,4,11,17,3,8,13,14,32,4,8,11,10,-1,2,13,14,-5,6,12,16,26,8,14,18,18,6,12,17,19,14,7,7,12,13,2,19,25,25,6,8,13,18,28,19,25,28,27,15,19,23,25,19,13,15,21,22,14,9,10,12,-6,11,11,17,22,10,15,20,20,6,17,24,26,-4,-10,-11,0,-40,-47,-52,-3,27,30,28,36,33,-4,
+60,111,110,110,49,37,55,71,36,8,25,23,38,39,8,10,13,17,6,9,16,17,-11,4,9,13,19,1,8,12,12,-15,-6,0,6,18,-3,3,9,14,2,6,11,13,22,3,7,10,10,-2,2,13,13,-5,5,10,15,26,7,13,18,17,7,11,17,19,12,7,6,11,13,1,18,24,25,5,8,13,18,28,17,22,27,26,13,17,22,24,17,12,15,21,22,14,9,10,13,-5,11,13,18,24,11,16,18,17,5,15,21,23,-1,-13,-11,-2,-40,-45,-50,3,32,34,28,36,32,26,
+60,67,101,106,46,35,54,69,34,6,23,22,37,38,6,9,12,16,5,9,15,16,-12,3,8,12,18,1,6,12,10,-16,-7,-1,4,17,-6,1,7,12,1,5,10,12,10,2,7,9,9,-3,1,12,12,-6,4,10,14,25,7,12,17,16,6,10,16,17,11,5,5,9,12,0,17,23,24,5,8,13,18,28,16,22,26,25,12,16,21,22,17,10,14,20,21,13,8,9,11,-6,10,12,17,24,10,15,17,16,4,15,21,23,-4,-12,-7,0,-38,-43,-46,4,33,34,27,34,29,25,
+60,78,102,106,46,15,35,68,33,7,25,16,31,32,7,9,14,18,4,8,14,15,-12,3,8,13,19,1,7,11,10,-17,-8,-1,3,16,-8,-1,5,11,0,4,9,11,6,0,4,8,9,-4,0,11,11,-6,3,9,13,25,5,11,16,15,5,8,14,15,11,4,3,8,11,-1,17,22,23,5,7,12,17,28,15,20,24,23,11,15,19,21,16,10,13,19,21,12,7,8,11,-6,9,11,16,23,9,14,15,14,4,14,19,21,-4,-10,-14,-1,-40,-45,-50,1,30,31,26,32,26,39,
+60,90,103,106,46,14,34,67,31,6,23,15,30,30,6,8,12,16,3,7,13,13,-13,2,7,12,18,0,6,11,9,-18,-9,-2,1,15,-10,-4,3,8,-1,4,9,11,5,-1,3,7,9,-4,1,11,11,-6,4,9,13,25,3,10,15,14,3,7,14,16,9,4,4,9,12,-1,16,21,21,4,6,12,16,27,15,21,24,22,11,14,19,19,16,9,11,17,20,10,5,6,7,-8,4,7,11,22,6,11,14,13,3,13,18,19,-6,-13,-13,-2,-46,-52,-59,-2,27,28,25,34,32,84,
+60,98,105,102,41,33,52,67,31,5,22,14,28,29,5,7,11,15,4,7,13,13,-13,2,7,11,18,-2,4,10,8,-18,-10,-3,0,14,-11,-4,1,7,-1,3,8,10,5,-1,3,7,9,-5,0,10,10,-5,4,9,13,25,4,10,14,13,3,6,12,15,-1,5,3,9,13,-2,15,20,20,3,5,11,15,27,14,20,23,21,10,13,17,18,5,8,11,16,20,8,3,6,7,-8,4,7,12,22,5,10,12,11,2,12,16,18,-7,-14,-16,-5,-50,-52,-58,0,28,29,27,34,29,84,
+60,104,107,103,41,33,52,66,30,4,21,12,27,29,4,7,10,14,3,6,12,12,-13,0,6,10,17,-3,2,8,7,-19,-11,-4,-1,14,-12,-6,0,5,-3,1,7,8,4,-3,2,5,9,-6,-1,9,9,-6,3,8,12,25,3,9,13,12,2,5,10,15,-8,5,3,8,13,-2,14,19,19,2,4,10,14,26,13,19,22,20,9,12,16,16,-7,7,11,16,20,6,1,6,7,-10,2,7,12,23,4,9,12,10,1,10,14,16,-7,-14,-15,-4,-48,-51,-56,1,29,28,26,32,26,84,
+60,97,98,100,37,32,53,64,28,11,27,17,32,33,4,6,10,14,3,6,11,11,-14,0,5,9,17,-5,1,7,7,-19,-11,-5,-1,14,-13,-7,-1,4,-4,0,6,7,4,-4,1,5,9,-7,-2,9,9,-6,3,8,11,24,2,8,12,10,1,4,10,14,-9,5,4,8,13,-1,13,18,18,2,3,10,14,26,12,18,21,19,9,11,15,15,-8,7,10,15,20,5,0,5,6,-10,1,7,12,22,3,9,11,10,1,11,15,16,-6,-12,-12,-2,-47,-49,-55,1,29,28,25,31,23,84,
+60,93,100,100,38,31,52,63,26,9,26,16,30,33,3,5,9,14,2,6,10,10,-16,-2,4,7,15,-5,1,7,6,-20,-13,-7,-3,12,-14,-8,-3,3,-6,-2,4,6,-3,-4,0,4,8,-8,-3,8,9,-7,2,7,11,23,1,5,10,9,1,4,9,15,-11,5,3,8,13,-2,11,17,17,3,4,9,12,24,10,14,18,17,7,10,14,15,-4,5,9,13,18,4,-1,5,5,-8,1,5,9,22,2,7,11,8,-1,8,14,15,-25,-8,-13,-1,-47,-54,-61,-3,26,25,25,33,29,84,
+60,81,103,99,35,28,49,63,27,9,26,15,30,33,2,5,8,13,3,6,10,10,-16,-2,4,7,15,-6,-1,6,5,-20,-13,-7,-4,12,-15,-9,-3,2,-7,-3,3,5,-3,-5,-1,3,8,-9,-3,8,8,-7,2,7,10,23,0,4,10,8,-1,3,8,15,-10,5,3,8,14,-2,11,16,16,2,3,8,11,24,10,13,18,16,6,9,13,14,-11,5,8,13,18,3,-2,5,4,-8,1,4,9,22,1,7,11,7,-2,8,15,15,-24,-7,-15,-3,-47,-52,-58,-9,19,23,24,31,26,84,
+60,76,105,100,36,28,48,62,25,7,24,15,29,33,2,5,8,13,3,6,10,10,-16,-2,4,7,15,-8,-2,5,4,-21,-14,-8,-4,11,-15,-9,-3,2,-7,-3,3,4,-18,-5,-1,2,7,-9,-4,7,7,-8,1,6,8,22,-1,4,9,8,-2,2,7,15,-10,5,3,8,14,-2,10,14,15,1,2,8,11,24,8,12,16,15,6,8,11,12,-12,2,6,10,16,2,-3,3,3,-9,-1,4,8,21,1,6,10,6,-2,9,14,15,-28,-10,-18,-6,-51,-51,-58,-13,14,22,27,33,24,85,
+60,85,96,97,33,5,29,76,39,0,17,14,28,32,1,4,8,13,2,5,10,9,-16,-3,3,6,15,-9,-3,4,3,-21,-14,-8,-5,11,-14,-9,-3,2,-7,-3,3,5,-19,-5,0,1,7,-10,-5,7,7,-7,1,6,9,23,-1,4,8,8,-2,2,7,14,-10,4,3,7,14,-3,9,14,14,1,1,7,11,24,7,11,15,14,5,8,11,11,-13,2,5,10,15,1,-4,2,2,-10,-1,4,8,21,1,5,10,6,-3,9,15,15,-25,-9,-16,-4,-49,-49,-56,-13,14,22,27,32,23,86,
+60,100,99,98,34,5,28,74,37,-2,15,14,28,32,0,3,7,13,3,6,10,10,-16,-3,1,4,12,-10,-4,3,3,-23,-15,-8,-5,10,-15,-9,-2,3,-7,-4,3,5,-12,-5,0,1,6,-10,-5,8,7,-7,1,7,9,23,-2,4,9,7,-3,1,6,12,-10,3,2,7,14,-3,9,14,14,0,-1,5,8,22,7,11,15,14,3,6,10,10,-13,0,5,9,17,1,-4,2,2,-10,-2,2,5,20,-2,1,4,0,-6,8,12,11,-20,-5,-16,-3,-46,-53,-60,-1,27,26,27,34,28,87,
+60,92,102,95,30,6,29,61,24,6,24,12,27,31,0,3,7,13,2,5,9,10,-16,-3,1,3,11,-11,-5,2,2,-23,-16,-9,-6,10,-15,-8,-2,3,-7,-3,3,5,-19,-5,0,0,5,-11,-6,8,7,-6,1,7,9,24,-2,4,9,8,-3,1,7,11,-11,3,2,7,14,-3,8,13,13,0,-1,5,7,22,6,11,15,14,2,5,10,9,-13,0,5,9,17,0,-3,3,2,-9,-2,3,7,21,-1,2,5,1,-5,8,13,12,-21,-6,-16,-3,-44,-52,-57,0,27,26,27,34,27,88,
+60,85,105,96,31,6,28,59,22,5,22,11,26,31,-1,3,6,13,2,5,9,8,-17,-4,-2,1,10,-11,-5,0,1,-22,-15,-9,-6,7,-14,-8,-2,4,-8,-3,4,5,-20,-4,1,0,5,-12,-6,8,7,-5,2,7,9,21,-2,4,8,7,-3,1,6,10,-11,2,3,8,15,-2,7,13,13,-2,-3,3,6,20,4,9,13,12,2,5,8,8,-14,-2,4,8,15,-1,-4,2,2,-9,-1,4,7,21,1,5,8,5,-6,7,10,10,-29,-14,-25,-11,-51,-52,-57,-11,15,27,28,35,26,89,
+60,82,95,94,29,3,29,76,37,-2,15,9,24,30,-1,3,6,12,2,4,7,7,-18,-6,-3,-1,9,-13,-7,-1,-1,-22,-15,-9,-6,7,-14,-8,-2,4,-8,-3,4,5,-20,-4,1,-1,4,-13,-7,8,7,-5,2,7,9,20,-2,3,8,8,-4,1,6,9,-11,1,3,8,16,-2,7,12,12,-2,-3,3,6,21,4,8,13,12,1,4,8,7,-15,-2,3,7,15,-2,-3,3,3,-8,-1,4,8,22,2,6,9,6,-5,6,11,11,-28,-12,-23,-10,-50,-50,-58,-11,15,26,28,34,26,90,
+60,101,98,96,30,3,28,73,35,-4,14,3,18,22,-1,3,5,13,1,4,7,8,1,-2,1,4,10,-12,-5,0,0,-22,-15,-9,-6,11,-12,-6,-1,5,-6,-2,4,5,-18,-4,2,-1,6,-12,-6,10,8,-5,2,8,10,16,-1,4,9,9,-3,2,7,8,-12,1,4,8,16,-2,6,12,12,-2,-4,3,5,20,3,8,12,11,0,4,7,7,-15,-2,3,7,15,-2,-3,4,4,-7,0,5,9,23,3,3,7,4,-5,6,6,6,-20,-6,-20,-5,-44,-51,-58,-10,16,26,28,35,26,91,
+60,102,100,93,26,3,28,61,23,-4,14,2,17,22,0,3,5,13,0,4,6,7,-3,-3,-1,2,9,-13,-7,-1,-1,-22,-15,-9,-6,11,-13,-6,-1,5,-6,-2,4,5,-18,-4,2,0,7,-12,-6,10,10,-5,1,8,10,12,-1,4,9,9,-3,2,7,8,-13,-1,3,8,17,-2,6,11,11,-3,-4,2,4,20,2,7,12,11,-2,2,6,6,-15,-4,1,5,14,-3,-2,4,4,-7,-1,6,7,1,-2,1,4,4,-5,4,7,6,-19,-5,-18,-4,-42,-51,-58,-9,16,26,28,36,27,92,
+60,88,103,95,27,3,27,58,20,-6,13,1,16,21,-2,2,4,11,0,3,4,5,-14,-3,0,3,10,-12,-7,-1,-1,-21,-15,-9,-6,-1,-12,-6,-1,5,-6,-1,5,5,-17,-4,3,0,7,-11,-5,10,10,-4,2,8,10,2,-3,2,8,8,-4,1,7,7,-14,-2,4,8,17,-1,5,10,10,-3,-5,1,3,19,1,6,11,10,-2,1,5,4,-16,-5,1,4,14,-3,-1,5,5,-6,0,6,8,2,-1,4,6,6,-5,3,4,4,-27,-12,-24,-11,-49,-49,-57,-9,15,29,29,36,28,93,
+60,84,98,91,26,3,30,64,18,-6,13,1,16,21,-1,3,6,12,0,3,3,4,-17,-4,-1,1,9,-14,-8,-2,-3,-21,-15,-9,-6,-11,-12,-5,0,6,-5,-1,5,6,-16,-3,3,1,8,-11,-5,10,9,-5,2,7,9,3,-3,2,7,7,-5,0,6,6,-15,-2,4,8,17,-2,5,9,9,-4,-4,2,4,15,0,5,9,8,-4,0,4,4,-16,-5,0,3,13,-3,0,5,5,-6,0,8,9,4,-1,6,8,8,-4,1,5,4,-26,-11,-23,-9,-48,-48,-57,-9,16,31,30,37,30,94,
+60,95,100,92,26,4,30,77,36,-3,16,2,15,19,-3,1,2,10,-1,4,3,3,-19,-6,-3,0,9,-15,-9,-4,-4,-21,-15,-10,-6,-11,-12,-5,0,7,-5,0,6,6,-16,-2,4,1,9,-11,-5,9,8,-5,1,7,9,1,-3,2,7,7,-5,0,5,6,-15,-3,4,8,17,-2,4,9,9,-4,-2,3,6,22,-1,4,9,8,-4,-1,4,3,-16,-5,-1,3,13,-4,1,6,5,-5,1,8,10,4,0,8,10,10,-3,4,5,5,-24,-9,-21,-8,-47,-47,-57,-9,16,31,31,38,32,95,
+60,96,100,92,26,3,30,74,35,-4,16,2,15,20,-2,3,3,12,-1,4,9,10,5,-4,-1,2,8,-14,-7,-2,-2,-20,-13,-6,-4,-10,-12,-5,0,6,-7,-1,5,7,-16,-2,4,1,8,-11,-5,9,7,-7,-2,4,6,0,-5,1,6,6,-8,-2,4,5,-16,-3,3,8,16,-4,2,8,7,-6,-2,3,6,-1,-2,3,8,7,-6,-3,2,1,-17,-6,-1,3,13,-5,0,6,5,-3,1,9,9,5,-1,5,6,8,-6,-6,1,-1,-16,-3,-17,-3,-39,-47,-55,3,26,32,30,37,25,96,
+60,87,100,92,26,29,56,62,23,-2,17,0,13,18,-4,1,2,10,-1,4,8,10,5,-4,-2,0,7,-15,-9,-3,-3,-19,-13,-7,-4,-10,-12,-5,0,7,-6,-1,6,7,-15,-1,4,2,10,-10,-4,8,7,-7,-2,4,5,0,-5,0,6,7,-7,-2,4,4,-16,-3,3,7,16,-4,2,8,7,-6,0,5,7,1,-3,3,7,7,-7,-3,1,1,-17,-6,-2,3,13,-5,1,7,5,-2,2,10,11,6,0,7,7,10,-4,-6,2,0,-15,-1,-16,-2,-37,-45,-54,4,27,33,32,39,28,97,
+60,81,99,91,24,28,55,58,21,-3,17,1,13,18,-1,3,4,12,-1,4,8,9,5,-5,-6,-3,4,-13,-8,-3,-3,-19,-13,-5,-3,-9,-13,-6,0,7,-6,0,6,6,-16,-2,4,2,10,-10,-4,8,6,-9,-3,3,5,-1,-6,-1,4,5,-9,-3,3,4,-18,-4,3,7,15,-6,1,6,5,-8,-2,5,7,2,-5,0,6,5,-8,-3,1,1,-17,-6,-1,3,13,-6,1,7,5,-3,2,9,9,5,0,8,9,11,-7,-9,-1,-3,-23,-9,-22,-7,-42,-49,-58,6,29,34,30,38,32,98,
+60,93,105,94,33,13,39,81,36,-1,18,2,11,18,-1,5,5,14,-1,3,7,8,4,-7,-7,-5,3,-15,-9,-4,-4,-19,-14,-6,-4,-8,-14,-7,-1,6,-6,-1,5,6,-16,-2,3,3,11,-10,-4,7,5,-9,-3,3,4,-1,-7,-1,4,5,-10,-4,3,4,-18,-5,2,6,15,-6,0,6,5,-8,-2,4,6,0,-5,0,5,5,-8,-4,1,0,-17,-6,-1,3,13,-6,1,6,5,-3,2,9,9,5,0,9,10,11,-7,-8,-1,-2,-22,-8,-21,-6,-40,-47,-56,7,30,35,32,40,36,99,
+25,56,67,56,28,9,37,75,32,-2,17,2,11,17,-6,0,-1,8,-4,5,6,10,20,-3,1,5,8,-14,-8,-3,-4,-18,-11,-5,-2,-8,-14,-8,-2,6,-6,-1,6,6,-17,-5,4,3,13,-9,-2,7,6,-9,-3,3,5,-2,-7,-1,4,5,-10,-4,2,3,-18,-6,2,5,14,-7,0,5,4,-9,-3,3,5,0,-5,0,4,4,-10,-5,0,0,-17,-6,-2,2,13,-6,0,6,5,-3,1,9,9,6,-1,8,9,11,-8,-10,-2,-4,-20,-7,-15,0,-33,-44,-54,7,29,32,30,36,26,100,
+40,65,78,67,23,5,34,68,27,1,16,4,11,17,-3,2,1,10,-3,5,5,9,0,-5,0,3,7,-15,-9,-4,-5,-18,-11,-4,-2,-7,-15,-8,-2,6,-6,-1,6,6,-17,-5,3,4,14,-8,-2,6,5,-9,-4,3,5,-1,-7,0,4,5,-11,-5,2,2,-19,-6,1,5,14,-7,1,6,5,-9,-3,3,4,-1,-5,0,4,4,-11,-6,0,-1,-17,-6,-2,3,13,-6,0,6,4,-4,1,9,9,5,-2,8,8,12,-8,-11,-3,-5,-19,-7,-14,1,-30,-41,-51,7,28,34,31,38,26,101,
+47,71,79,78,25,35,67,59,21,6,27,7,16,23,-6,-1,-1,8,-4,4,8,11,3,-4,2,4,9,-14,-10,-6,-7,-16,-10,-3,-1,-5,-14,-9,-3,5,-6,-1,7,7,-17,-5,1,3,12,-7,-1,6,4,-11,-5,1,3,-3,-8,-2,3,4,-11,-5,0,0,-18,-5,1,5,15,-7,1,6,5,-8,-2,2,4,-2,-7,-1,4,4,-11,-6,-2,-2,-17,-6,-2,3,13,-6,0,5,4,-4,0,8,8,5,-2,7,7,11,-9,-10,-2,-4,-13,0,-13,2,-27,-35,-44,-7,16,30,27,33,29,102,
+49,63,75,74,17,28,62,49,14,2,25,5,15,23,-4,1,1,10,-4,4,8,11,2,-6,0,3,8,-15,-11,-7,-8,-16,-10,-3,-1,-5,-15,-10,-3,5,-7,-1,6,6,-17,-5,0,3,13,-7,-1,5,4,-11,-5,1,3,-3,-8,-2,3,3,-11,-5,0,0,-18,-6,1,5,15,-8,2,7,6,-7,-1,2,3,-2,-7,-2,3,3,-12,-6,-2,-2,-17,-6,-2,3,13,-6,0,5,4,-5,0,7,8,5,-1,7,8,11,-9,-10,-3,-5,-12,1,-12,2,-23,-31,-40,-5,18,33,29,36,30,103,
+51,59,70,84,35,15,43,87,40,-1,19,4,9,14,-12,-7,-5,3,-6,4,7,12,25,-3,1,3,8,-13,-8,-4,-6,-18,-11,-4,-1,-5,-16,-10,-4,4,-8,-2,5,5,-17,-5,0,4,14,-6,-1,5,3,-11,-5,1,3,-3,-8,-2,3,4,-11,-5,0,0,-18,-6,1,5,15,-7,3,8,7,-6,0,2,3,-3,-8,-2,3,4,-12,-7,-2,-2,-17,-6,-2,3,13,-6,0,5,4,-5,0,7,8,5,-1,7,8,11,-10,-11,-3,-5,-11,1,-12,3,-18,-25,-32,-3,20,36,31,38,32,104,
+53,78,89,80,26,7,38,73,29,-6,15,1,6,14,-10,-5,-4,5,-5,4,7,11,26,-3,1,4,6,-12,-8,-2,-4,-17,-11,-4,-2,-6,-14,-6,-1,5,-10,-4,3,3,-18,-5,1,6,15,-7,0,5,3,-11,-5,0,1,-3,-9,-3,2,4,-11,-4,3,4,-19,-6,2,5,13,-9,2,8,6,-5,1,2,4,-2,-7,-2,3,4,-12,-6,-1,-1,-17,-6,-1,3,13,-7,-1,4,3,-3,2,9,10,5,-2,7,8,11,-9,-10,-3,-4,-17,-3,-9,5,-15,-29,-40,10,31,33,31,37,28,105,
+55,73,84,84,28,34,68,66,23,-3,20,8,14,24,-13,-7,-6,2,-6,3,8,12,25,-2,2,4,7,-11,-6,-2,-4,-17,-11,-5,-2,-6,-13,-5,0,5,-10,-4,3,3,-18,-5,1,6,15,-7,0,5,3,-11,-5,0,1,-3,-9,-3,2,4,-11,-4,3,4,-19,-6,1,5,13,-9,3,9,7,-4,1,2,3,-2,-8,-2,3,4,-12,-7,-1,-1,-17,-6,-1,2,13,-7,-1,4,3,-4,2,9,9,5,-2,7,8,11,-10,-11,-3,-5,-16,-3,-8,6,-13,-27,-36,12,33,36,33,38,28,106,
+57,77,79,81,22,30,66,56,13,-9,16,5,11,24,-11,-5,-4,4,-6,4,8,12,27,-3,0,3,6,-11,-7,-2,-4,-17,-11,-5,-2,-6,-12,-4,1,5,-10,-4,3,4,-18,-5,1,6,15,-7,0,6,4,-11,-5,0,2,-3,-9,-3,2,4,-11,-4,0,2,-20,-6,2,5,13,-10,3,9,7,-3,3,1,2,-2,-8,-2,3,4,-12,-6,0,-1,-16,-5,-1,3,13,-6,-1,4,3,-4,1,9,9,5,-1,5,5,9,-9,-9,-2,-4,-8,4,-9,6,-12,-21,-30,-1,21,38,34,39,27,107,
+59,72,74,80,46,22,52,101,45,-1,20,2,6,20,-14,-7,-2,5,-5,4,8,12,26,-4,-1,2,5,-12,-7,-2,-4,-17,-11,-5,-2,-6,-11,-4,2,5,-11,-5,3,4,-18,-5,1,6,15,-7,0,5,4,-11,-5,0,2,-3,-9,-3,2,4,-11,-4,1,2,-19,-6,1,5,13,-10,4,10,8,-2,3,1,3,-3,-8,-2,3,3,-12,-7,0,-1,-16,-5,-1,3,13,-6,0,4,3,-4,1,8,8,5,-2,4,5,8,-10,-10,-4,-6,-8,4,-8,6,-10,-20,-27,0,23,40,35,40,27,108,
+61,84,93,91,40,17,50,91,35,-6,16,-1,0,14,-17,-11,-9,-4,-8,3,8,12,25,-1,3,6,7,-11,-7,-1,-3,-16,-10,-3,-1,-6,-10,-3,2,4,-9,-3,4,5,-18,-5,2,6,15,-9,-2,3,2,-11,-4,2,5,-3,-10,-3,2,4,-11,-4,1,2,-19,-6,2,5,13,-11,5,11,9,-1,4,1,2,-3,-8,-3,2,3,-11,-6,-1,-1,-17,-6,-1,3,13,-8,-2,3,2,-4,1,9,10,5,-1,7,8,10,-9,-6,-1,-2,-7,5,-7,6,-8,-20,-31,12,34,37,35,40,27,109,
+63,80,88,87,35,22,57,84,27,-4,20,-4,-3,20,-18,-11,-9,-3,-9,3,9,12,25,-1,2,5,7,-12,-7,-1,-3,-17,-10,-4,-1,-6,-9,-2,2,4,-9,-3,4,5,-18,-5,2,6,15,-8,-2,3,3,-11,-4,3,5,-3,-10,-3,2,4,-11,-4,1,3,-19,-5,2,5,13,-10,6,12,11,0,5,1,2,-2,-8,-2,3,3,-11,-5,0,-1,-17,-6,0,3,14,-7,-2,4,3,-4,1,8,9,4,-1,6,7,9,-10,-7,-2,-4,-7,6,-5,8,-5,-17,-26,14,37,40,36,42,36,22,
+65,79,84,90,36,20,57,79,22,-7,17,5,5,25,-19,-11,-10,-5,-9,3,9,13,26,-1,3,7,8,-10,-6,-1,-2,-16,-9,-3,0,-5,-8,-2,3,5,-9,-3,3,5,-19,-5,1,5,15,-9,-2,3,3,-11,-3,3,6,-3,-10,-4,1,3,-10,-3,2,3,-19,-5,2,5,13,-10,8,14,12,0,6,1,3,-2,-7,-1,4,5,-11,-5,0,0,-15,-4,0,4,14,-7,-1,5,4,-4,1,10,11,6,1,8,9,12,-8,-5,0,-2,-5,7,-5,9,-3,-16,-25,2,25,44,40,46,37,25,
+67,76,79,88,34,19,57,76,18,-9,15,3,3,25,-19,-11,-9,-5,-9,4,9,14,27,0,3,7,9,-10,-6,0,-2,-15,-8,-2,0,-5,-8,-1,3,5,-9,-3,4,5,-18,-4,2,6,15,-8,-2,4,4,-10,-3,4,6,-2,-10,-3,1,3,-10,-3,2,4,-19,-5,2,6,13,-9,9,15,14,1,7,2,3,-2,-7,0,4,5,-11,-5,1,0,-15,-4,0,4,14,-6,0,5,4,-4,1,10,10,6,1,7,8,11,-10,-7,-1,-4,-5,7,-4,9,1,-13,-20,6,30,50,44,50,40,116,
+69,75,76,87,46,28,62,101,39,-1,22,-1,-5,17,-21,-16,-11,-9,-9,2,5,12,26,2,7,11,12,-6,-5,1,0,-16,-9,-3,0,-5,-7,0,5,6,-5,0,6,6,-19,-6,1,5,16,-6,1,6,5,-11,-4,1,4,-1,-6,0,3,5,-9,-2,3,4,-19,-5,1,5,13,-8,11,16,15,3,8,2,4,-2,-6,0,5,5,-10,-4,1,2,-15,-3,1,5,15,-6,1,6,4,-4,2,9,10,5,1,6,7,10,-11,-8,-3,-5,-5,7,-4,10,4,-9,-15,11,36,52,49,54,44,119,
+71,85,90,93,46,29,64,102,43,4,26,3,-2,21,-18,-12,-7,-10,-8,3,7,13,27,2,10,14,15,-3,1,7,6,-10,-3,3,6,-2,-6,0,5,7,-5,0,7,7,-19,-6,1,6,16,-5,2,7,7,-11,-3,2,5,-1,-5,1,5,6,-7,-1,4,5,-18,-4,1,5,13,-7,14,19,18,4,10,3,5,-1,-6,-1,4,6,-7,-1,4,4,-15,-4,2,3,15,-7,-1,4,3,-2,4,9,12,22,5,10,12,10,-8,-3,0,-1,-9,4,-5,7,1,-13,-26,25,50,56,53,59,49,122,
+73,84,87,95,49,31,67,87,30,15,37,16,10,35,-14,-9,-3,-11,-9,2,8,13,26,3,13,17,18,0,5,12,11,-5,2,7,11,0,-5,2,6,8,-4,2,8,8,-17,-4,3,7,17,-5,4,9,9,-8,-2,5,8,7,-3,3,8,9,-6,0,6,7,-18,-3,3,6,15,-6,16,21,20,6,12,4,6,0,-5,1,6,7,-6,0,5,5,-14,-3,2,4,15,-6,0,7,6,-1,5,11,14,24,6,12,15,13,-5,2,2,0,-8,6,-5,7,4,-8,-19,31,56,61,58,65,55,125,
+75,87,86,96,50,34,71,92,37,20,42,20,13,39,-10,-7,1,-11,-9,3,9,14,27,5,14,20,20,1,9,17,15,-1,6,12,14,20,-4,3,7,8,-3,2,8,9,-17,-3,4,8,18,-4,6,11,11,-7,-1,6,9,16,-3,4,9,9,-5,1,7,8,-17,-3,3,7,16,-5,18,22,22,7,14,5,7,1,-4,3,9,10,-4,2,7,7,-13,-2,3,6,16,-6,1,9,8,1,7,13,15,20,7,12,15,15,-3,3,4,2,-6,7,-5,7,6,-1,-9,17,44,62,60,66,61,128,
+77,89,91,98,52,35,75,90,41,24,46,25,18,45,-2,1,8,-9,-9,3,10,15,28,2,12,17,19,4,15,21,20,3,11,16,19,21,-3,3,8,9,-2,3,9,10,-17,-3,4,9,18,-3,8,13,13,-4,1,7,10,21,0,6,11,11,-4,2,9,10,-17,-2,4,8,17,-4,20,24,24,9,16,6,8,1,-2,6,11,12,-3,3,8,8,-12,-1,4,7,17,-4,2,11,12,3,9,14,15,9,5,10,13,13,-3,2,4,3,-5,8,-5,8,9,4,-1,23,51,66,67,73,-57,131,
+79,87,91,99,56,40,76,97,51,31,52,30,21,49,1,5,12,-9,-9,4,11,17,30,4,14,19,21,6,21,26,26,7,15,21,24,26,0,6,12,12,1,7,12,13,-15,0,15,20,27,9,10,15,17,-2,3,10,13,28,4,10,15,16,-1,4,11,12,-15,1,5,10,17,-3,22,28,28,12,19,8,10,23,1,11,16,15,-1,4,9,9,-10,2,6,8,18,-5,1,11,9,5,11,11,16,34,12,19,22,19,1,4,9,7,-3,11,6,18,18,0,-12,39,65,71,70,77,-54,134,
+81,91,91,102,62,43,78,116,70,26,47,36,25,54,7,9,17,-9,-8,5,13,18,30,5,16,22,23,8,24,31,31,11,19,25,28,30,4,11,16,17,5,11,17,14,0,1,26,31,37,20,13,18,19,-1,5,11,14,28,7,14,19,19,2,7,13,14,-13,4,7,11,18,-2,24,30,30,13,21,9,12,29,3,13,18,18,0,6,11,13,-7,5,9,11,19,-3,3,14,12,8,14,13,17,34,12,18,21,18,3,5,11,9,-2,12,7,19,21,6,-3,45,74,75,77,85,77,49,
+83,90,91,104,67,49,84,127,81,34,54,43,30,59,11,13,21,-10,-8,6,15,20,32,8,21,26,28,12,29,36,36,15,24,30,33,34,9,16,21,22,11,17,21,15,1,2,26,31,37,21,15,19,21,1,8,14,18,31,10,17,23,22,5,11,16,18,-8,7,13,17,24,4,27,31,31,16,24,11,15,31,5,17,22,21,2,8,14,17,-4,9,14,16,21,-3,5,18,18,8,15,18,21,38,21,23,24,21,14,15,15,14,5,18,5,17,20,5,0,48,78,80,79,87,86,52,
+74,88,92,106,72,55,90,138,94,43,62,50,35,64,15,16,25,-10,-7,8,19,24,34,12,26,31,34,17,35,42,41,19,29,34,38,38,13,21,25,27,15,21,26,17,12,3,29,34,39,24,18,23,25,4,11,18,22,34,14,21,26,26,9,15,20,22,0,10,20,24,30,11,29,34,33,18,27,17,20,36,10,19,25,23,5,10,17,21,-2,12,17,20,23,-1,7,22,22,11,19,21,23,38,19,18,21,21,16,16,17,17,5,18,5,17,22,11,11,56,88,91,87,96,97,55,
+69,98,91,106,66,68,104,107,79,43,65,52,41,71,28,36,39,0,-4,8,12,18,33,10,25,29,32,19,39,45,46,23,35,40,44,42,19,27,30,31,20,28,31,19,14,7,32,37,41,27,23,28,31,8,16,22,26,38,19,26,31,32,13,19,24,26,22,14,22,26,31,12,32,36,37,21,32,24,28,41,15,22,28,27,10,15,20,26,1,16,21,24,24,1,10,25,27,14,24,24,25,37,18,16,17,20,20,19,20,22,6,18,5,17,24,16,21,64,97,102,96,105,108,58,
+83,99,94,109,73,75,110,119,91,52,74,60,46,77,33,41,44,3,0,12,26,33,47,26,31,35,38,24,45,51,52,27,40,45,49,47,24,31,34,37,25,33,36,22,14,10,37,41,44,31,28,33,36,11,20,27,31,41,24,32,36,37,16,23,29,31,25,18,24,29,32,14,34,40,41,23,36,30,35,45,21,24,32,31,15,20,26,33,4,18,24,25,24,0,8,24,22,9,16,17,23,41,36,42,46,42,29,24,22,24,4,22,12,23,26,15,4,61,91,94,96,105,100,62,
+77,101,97,109,76,57,92,113,86,57,78,60,44,75,39,47,51,9,4,17,29,36,49,32,37,39,43,31,53,55,57,30,44,50,54,51,27,35,40,42,30,38,41,25,40,11,37,41,43,31,30,38,40,12,22,32,36,46,29,37,42,44,20,27,33,35,28,21,26,31,33,16,38,43,46,23,38,37,42,52,26,28,33,33,19,24,29,37,7,23,29,30,26,3,12,34,33,20,27,27,33,50,43,48,47,44,38,33,27,30,5,23,18,30,33,23,18,48,79,92,96,106,110,65,
+69,98,101,113,83,64,98,124,99,67,88,68,51,81,44,52,56,11,8,21,35,41,53,37,42,45,49,36,59,61,63,34,49,55,59,55,32,40,45,48,34,44,47,27,44,13,41,44,46,34,34,42,45,15,26,35,40,49,34,41,47,48,24,31,38,40,35,25,28,33,35,19,41,47,49,25,41,42,47,56,32,32,37,37,22,27,32,42,11,27,33,34,27,5,13,41,40,26,34,33,39,55,43,48,49,44,41,36,31,35,12,30,26,39,37,29,28,54,87,97,103,114,120,68,
+53,110,106,109,73,77,114,109,93,59,83,75,60,93,54,62,66,19,11,22,36,42,56,30,36,43,46,33,57,62,64,37,54,58,64,58,39,47,51,55,36,47,55,34,49,21,52,52,54,42,41,45,49,43,37,44,49,53,38,44,51,53,27,35,41,44,60,30,30,35,36,21,44,50,52,28,44,47,52,60,37,36,41,41,25,31,35,46,17,31,37,39,29,7,15,47,47,30,40,39,45,59,46,50,51,46,44,39,34,38,16,34,29,44,42,35,33,58,93,100,109,120,124,71,
+51,110,100,115,80,83,119,116,103,68,92,83,67,98,59,67,70,22,14,26,39,46,60,35,41,48,51,37,62,67,69,41,58,62,68,62,44,52,56,60,40,52,65,41,56,28,60,58,61,48,45,49,53,50,40,48,54,57,42,48,55,56,30,39,44,47,64,33,31,36,36,22,46,51,54,29,47,51,57,64,44,42,50,51,26,33,39,50,30,34,42,42,29,0,12,43,41,31,42,37,47,65,65,70,71,68,49,39,35,38,17,38,33,49,48,40,34,60,96,102,113,124,127,74,
+99,108,108,112,78,62,98,123,114,70,94,79,62,93,62,69,75,24,15,27,39,46,60,39,44,51,55,38,65,70,73,42,60,65,72,65,45,53,58,62,42,55,67,41,54,28,59,57,60,45,44,50,55,50,40,48,53,57,45,51,57,59,32,42,47,50,67,35,37,42,41,27,47,54,56,31,49,55,62,68,49,46,54,55,29,36,42,54,46,37,46,46,31,2,13,49,47,35,45,41,52,69,70,76,77,74,52,40,35,38,23,42,38,55,54,43,34,60,95,106,112,123,125,75,
+101,112,118,117,84,65,100,125,120,76,100,86,67,98,66,74,79,27,18,30,41,49,62,42,47,54,59,42,69,74,76,45,64,68,75,68,49,57,62,67,46,60,72,43,56,30,62,60,63,47,47,54,58,65,43,51,57,59,49,55,60,62,33,44,50,52,68,37,43,47,47,33,49,55,58,31,50,57,64,70,54,50,57,59,26,35,43,56,65,38,47,47,29,4,14,48,46,36,47,41,53,70,69,75,82,79,52,39,35,38,37,45,46,52,51,41,28,79,113,118,118,128,119,104,
+96,112,124,109,82,45,78,93,89,56,81,105,86,117,88,96,103,51,38,50,65,74,87,58,63,70,74,51,80,85,88,54,72,80,85,79,57,66,75,81,56,70,88,56,68,41,73,76,79,58,60,68,71,93,52,60,67,69,55,60,66,68,35,46,54,57,72,40,45,51,51,35,52,58,62,33,53,62,69,74,59,54,61,63,28,38,45,61,78,41,51,51,30,6,16,51,48,37,47,42,53,71,74,81,88,87,55,41,36,39,85,51,64,59,59,45,29,79,114,119,114,126,115,77,
+91,99,115,108,84,64,96,111,109,71,97,83,64,94,61,68,75,29,22,35,42,50,63,41,47,55,59,43,74,78,80,51,68,73,80,70,53,62,66,73,50,66,76,43,54,31,64,60,65,47,51,57,61,82,46,54,60,63,53,59,64,66,34,45,50,53,68,38,42,46,48,34,51,58,61,33,54,64,71,75,61,55,61,64,27,37,43,59,75,37,44,46,21,-9,-1,34,32,16,22,30,41,56,65,72,80,80,35,20,29,31,84,57,71,70,71,52,29,88,113,111,122,128,120,166,
+96,126,111,108,74,68,98,87,88,64,91,76,56,87,55,62,68,24,20,31,39,47,61,39,44,52,55,43,76,78,81,53,69,71,78,67,53,61,66,73,50,66,75,39,48,29,61,57,61,43,48,55,59,79,45,52,58,62,51,56,63,65,32,43,47,51,65,35,38,40,41,30,47,52,55,31,50,63,69,73,62,51,58,61,27,37,49,64,79,43,52,54,29,7,13,54,51,36,45,40,51,69,76,83,92,92,54,41,37,41,93,59,73,62,63,48,25,82,108,104,114,115,122,166,
+101,156,91,118,80,64,64,72,47,55,82,74,54,78,46,52,58,15,17,26,33,41,55,34,40,45,49,39,70,70,73,48,61,62,69,62,50,58,61,69,48,63,75,31,40,25,57,51,55,39,43,49,52,71,39,47,51,54,47,51,56,58,29,41,41,45,58,31,33,33,34,27,42,45,49,50,44,58,62,65,59,48,51,54,21,32,35,51,64,34,36,39,26,5,10,51,49,34,42,36,47,63,74,80,88,90,43,30,31,35,87,59,72,67,68,55,30,83,102,102,97,108,85,166,
+96,196,196,196,199,199,30,50,42,45,75,60,41,74,42,47,52,10,17,21,28,35,51,27,32,39,41,36,63,65,68,46,55,56,63,61,51,59,63,71,53,67,79,32,40,28,58,52,56,41,43,48,52,69,39,45,50,52,48,50,54,56,30,40,40,45,57,32,32,32,33,28,42,45,50,54,45,58,64,66,62,50,54,57,24,34,36,52,63,37,41,43,15,4,7,45,44,26,32,30,40,55,67,72,79,82,44,32,19,25,75,58,71,62,64,67,43,75,80,99,90,80,166,166,
+91,191,191,191,202,202,217,35,37,21,58,84,65,106,15,147,180,139,6,4,12,16,6,12,12,19,27,27,51,77,78,37,39,67,73,78,43,51,87,95,48,59,78,29,37,30,57,53,55,43,40,44,47,44,34,40,45,47,45,44,49,48,31,36,36,40,53,29,27,29,28,28,57,66,71,67,62,73,53,55,80,65,43,46,18,25,23,39,49,45,40,29,2,15,14,32,31,26,29,21,29,44,-63,-59,65,67,19,8,-9,0,47,33,43,30,33,38,-8,88,67,96,127,-34,166,166,
diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_tblY_CCW_LLeft_T0.h b/drivers/input/touchscreen/wacom/wacom_i2c_tblY_CCW_LLeft_T0.h new file mode 100644 index 0000000..42f2fc9 --- /dev/null +++ b/drivers/input/touchscreen/wacom/wacom_i2c_tblY_CCW_LLeft_T0.h @@ -0,0 +1,71 @@ +50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,
+130,134,86,71,78,72,73,76,80,83,87,56,70,77,86,91,83,80,77,76,82,82,75,75,77,77,75,73,72,79,79,75,74,82,83,80,80,79,86,86,84,83,90,91,89,88,95,96,95,94,93,101,101,100,99,107,107,107,105,107,112,110,109,107,113,113,112,109,116,115,115,111,109,118,116,115,113,119,119,117,116,114,120,118,117,114,122,120,120,117,122,120,121,118,115,121,118,118,114,120,117,117,112,102,114,108,110,97,111,106,102,95,101,107,102,97,62,76,95,102,124,120,135,150,
+94,85,89,74,85,79,82,85,89,90,92,86,88,89,91,92,85,86,77,86,77,78,76,77,71,73,71,73,75,71,73,73,74,72,74,78,76,73,85,84,81,76,75,76,78,79,79,81,83,85,86,87,91,91,94,101,103,101,100,98,108,107,105,102,110,110,108,105,113,112,112,109,106,114,113,110,108,114,114,111,107,105,103,103,104,105,105,105,106,106,108,119,119,114,109,109,108,110,109,111,109,113,111,110,112,109,110,107,111,108,112,108,112,112,114,114,114,117,122,117,129,124,78,150,
+81,84,84,82,79,73,78,83,82,82,82,82,83,83,83,84,82,83,83,83,79,80,80,82,76,76,78,79,81,78,78,79,81,77,79,79,80,81,78,79,79,80,81,82,83,82,82,83,83,84,84,84,84,85,85,85,85,86,86,86,86,86,88,89,89,89,90,91,91,91,93,93,94,93,93,95,95,96,96,97,98,99,99,99,101,101,102,102,103,103,104,103,106,105,105,106,105,108,107,111,110,112,110,109,111,109,111,108,111,109,113,111,113,115,116,118,120,119,126,121,132,126,123,150,
+68,74,57,46,67,62,63,65,67,65,64,63,62,65,65,65,62,62,63,63,59,59,58,59,56,56,56,57,58,57,57,55,56,56,56,56,56,56,54,54,53,54,56,56,57,58,59,60,62,63,64,65,66,68,69,71,71,73,74,74,75,75,76,76,79,78,79,79,82,82,82,83,83,85,85,86,86,87,88,88,89,90,91,91,92,93,95,95,95,95,97,97,96,97,97,99,99,100,99,101,100,100,99,98,99,99,97,97,99,98,97,97,97,99,100,103,106,97,104,103,115,137,125,150,
+51,80,58,49,71,66,67,70,70,67,65,67,65,66,65,63,64,63,63,62,61,61,60,60,59,59,59,59,59,59,58,56,56,58,57,57,57,56,54,54,53,54,55,56,56,57,59,60,62,62,64,65,65,68,69,70,71,74,74,75,74,75,77,78,79,79,80,81,80,81,83,84,84,84,85,86,87,87,87,89,89,90,90,90,92,93,92,93,94,95,95,96,97,98,98,98,99,100,100,101,101,102,102,103,102,103,105,106,105,107,110,112,115,116,119,121,125,123,128,117,124,130,132,156,
+9,10,2,-7,14,7,3,0,16,9,4,2,-3,9,5,2,-6,-10,3,1,-10,-12,-9,-9,-10,-10,0,0,-1,-1,-2,-4,-5,-12,-14,-14,-15,-17,-19,-19,-20,-20,-19,-18,-9,-8,-14,-13,-9,-8,-6,-4,-3,0,2,11,13,15,16,17,19,20,21,22,23,22,21,22,21,20,22,22,23,23,23,24,24,25,25,25,25,26,26,27,26,28,26,27,30,31,30,31,34,37,38,37,38,41,43,42,41,44,46,50,42,46,51,56,44,51,57,64,70,61,68,74,81,72,78,69,75,79,29,97,
+-37,-24,-24,-28,-5,-10,-14,-20,-3,-9,-16,-17,-22,-10,-14,-18,-27,-30,-18,-21,-30,-32,-29,-30,-30,-31,-22,-23,-25,-24,-26,-28,-30,-37,-39,-40,-42,-43,-45,-46,-47,-47,-47,-47,-38,-38,-44,-43,-40,-38,-37,-36,-35,-32,-30,-23,-22,-19,-18,-17,-16,-15,-13,-12,-13,-13,-11,-10,-14,-15,-13,-12,-11,-12,-11,-9,-8,-1,0,1,2,4,3,4,0,2,5,7,3,5,9,12,5,7,10,14,17,11,15,19,21,10,14,19,12,18,18,25,28,35,22,29,38,43,50,39,46,39,43,42,43,29,45,23,
+-45,-26,-13,-17,-7,-13,-13,-14,-6,-13,-20,-18,-24,-16,-23,-27,-30,-35,-30,-33,-33,-35,-30,-32,-32,-34,-31,-32,-33,-34,-37,-37,-38,-41,-42,-44,-46,-47,-48,-49,-49,-49,-50,-50,-48,-48,-46,-47,-46,-46,-46,-44,-45,-44,-45,-43,-44,-42,-42,-41,-39,-39,-39,-38,-37,-36,-36,-35,-34,-33,-34,-33,-32,-32,-31,-31,-30,-29,-28,-29,-28,-27,-26,-24,-26,-24,-23,-21,-24,-22,-21,-19,-20,-16,-10,-19,-12,-11,-1,-14,-7,-13,-1,5,-9,-1,6,12,2,27,20,33,47,59,72,64,70,64,67,45,32,-7,-9,-32,
+-40,-12,4,3,14,11,9,8,16,10,3,4,-2,5,-2,-6,-8,-13,-9,-12,-12,-15,-10,-12,-12,-14,-10,-12,-14,-14,-16,-16,-18,-20,-21,-23,-24,-26,-27,-28,-28,-28,-29,-29,-26,-26,-25,-25,-24,-25,-24,-23,-22,-22,-22,-21,-21,-21,-19,-19,-17,-16,-17,-16,-15,-14,-14,-13,-13,-12,-12,-11,-11,-10,-9,-9,-8,-7,-6,-6,-5,-4,-2,-2,-2,-1,1,2,0,2,3,4,4,6,9,6,9,4,8,9,12,6,10,15,15,21,13,19,23,37,34,48,61,62,75,80,83,79,81,54,41,22,89,-8,
+-60,-45,-6,-3,12,9,8,5,9,7,0,-1,-9,-2,-8,-16,-14,-19,-15,-19,-19,-22,-18,-20,-17,-18,-15,-16,-18,-16,-18,-17,-19,-20,-22,-23,-24,-32,-30,-34,-34,-38,-35,-36,-30,-31,-29,-26,-26,-24,-25,-21,-21,-21,-21,-21,-20,-20,-19,-19,-17,-16,-17,-16,-15,-15,-15,-14,-14,-14,-14,-13,-12,-11,-10,-9,-8,-9,-7,-8,-6,-5,-3,-1,-1,0,1,3,1,4,4,5,6,8,11,9,13,8,13,12,17,10,17,23,22,29,22,30,34,49,48,62,77,77,90,96,100,96,98,71,56,35,99,-4,
+-58,-54,-7,-2,-2,-2,-2,-4,-5,-6,-12,-10,-16,-10,-15,-19,-21,-25,-21,-23,-23,-25,-19,-21,-21,-21,-15,-16,-16,-19,-20,-15,-16,-19,-20,-19,-20,-22,-18,-19,-20,-20,-22,-22,-17,-17,-17,-18,-18,-18,-18,-21,-21,-21,-21,-22,-22,-22,-21,-21,-17,-16,-16,-16,-15,-15,-15,-14,-15,-15,-17,-18,-17,-18,-16,-16,-14,-14,-12,-11,-10,-9,-13,-12,-12,-11,-12,-10,-11,-9,-7,-6,-7,-6,-4,-2,1,-2,2,4,5,1,6,12,6,13,11,16,16,30,32,43,54,62,73,74,77,78,79,60,47,16,110,-8,
+-55,-36,-8,4,2,4,9,6,1,-3,-8,-10,-7,-9,-12,-16,-14,-20,-17,-20,-25,-27,-23,-25,-27,-24,-25,-23,-26,-23,-24,-22,-21,-25,-26,-22,-25,-26,-23,-30,-28,-31,-28,-28,-23,-27,-24,-28,-24,-24,-25,-21,-22,-18,-19,-18,-18,-14,-16,-13,-13,-13,-14,-12,-12,-10,-11,-12,-11,-12,-12,-14,-11,-12,-10,-8,-6,-11,-10,-10,-7,-4,-7,-2,-4,-1,-6,-1,-2,0,1,0,3,2,4,6,9,5,9,11,13,8,13,19,14,20,17,24,23,37,41,55,69,73,86,90,94,92,93,74,58,22,110,-1,
+-49,-28,0,9,6,8,9,9,4,-1,-4,-2,0,0,-2,-5,-5,-9,-5,-8,-12,-15,-10,-12,-14,-16,-14,-13,-14,-19,-20,-14,-15,-20,-21,-16,-16,-17,-17,-17,-16,-16,-21,-21,-15,-15,-15,-15,-15,-13,-14,-16,-16,-14,-14,-14,-14,-9,-8,-8,-8,-8,-8,-8,-6,-6,-6,-6,-5,-6,-6,-7,-6,-6,-5,-11,-9,-6,-4,-5,-4,-3,-5,-4,-9,-8,-4,-2,-7,-6,-3,-1,1,2,4,3,7,3,7,7,11,12,16,20,17,22,20,26,30,37,36,43,51,50,57,57,62,64,65,67,63,32,110,10,
+-26,-20,6,13,11,14,15,13,9,5,2,4,6,5,4,2,1,-2,2,0,-4,-6,-1,-3,-5,-7,-5,-3,-4,-9,-9,-3,-5,-9,-9,-3,-4,-4,-4,-4,-3,-3,-8,-8,-3,-3,-3,-3,-2,-1,-1,-5,-4,-3,-3,-3,-2,2,3,3,3,3,3,3,4,4,4,4,4,3,3,3,3,3,4,-1,0,3,4,3,4,5,4,5,-1,1,5,6,1,3,4,7,8,9,12,11,14,11,15,15,19,19,23,28,24,29,26,33,37,43,42,49,56,56,63,64,70,70,72,73,69,38,42,14,
+-32,-22,-1,3,3,4,5,4,1,-4,-5,-6,-8,-7,-7,-8,-10,-12,-12,-14,-16,-17,-16,-18,-18,-19,-20,-20,-21,-22,-22,-22,-23,-23,-23,-22,-22,-22,-21,-21,-20,-20,-19,-19,-18,-19,-19,-19,-19,-18,-17,-17,-17,-17,-16,-16,-15,-15,-15,-15,-16,-15,-16,-15,-15,-15,-15,-15,-15,-16,-16,-16,-16,-17,-17,-17,-17,-16,-16,-17,-17,-16,-17,-16,-16,-13,-16,-14,-15,1,8,-15,-7,6,14,13,16,14,18,17,20,19,38,48,25,51,45,49,54,61,57,61,66,70,75,73,77,80,82,84,82,56,48,17,
+-36,-23,-14,-5,-3,-1,0,-2,-3,-5,-7,-10,-12,-13,-14,-16,-18,-19,-19,-19,-17,-17,-16,-16,-16,-16,-15,-14,-14,-13,-12,-11,-10,-9,-9,-8,-7,-7,-6,-6,-5,-5,-4,-4,-3,-3,-3,-2,-3,-1,-1,-2,-2,-1,-1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,-1,0,0,0,-1,-1,-1,0,-1,-1,-2,-1,0,0,1,2,3,2,3,2,3,5,4,5,6,8,8,10,11,13,14,15,17,18,21,21,25,26,31,35,38,41,47,53,52,58,62,68,63,65,68,66,38,53,36,
+-32,-14,-6,2,6,8,9,6,5,3,2,-1,-4,-5,-6,-8,-12,-14,-13,-13,-11,-11,-10,-10,-10,-11,-11,-11,-10,-10,-10,-9,-8,-8,-5,-4,-3,-3,-3,-2,-2,-2,-1,-1,0,0,-1,0,1,2,2,1,1,2,1,3,4,5,5,5,5,5,5,5,3,3,1,3,2,2,3,1,3,1,2,3,3,4,1,2,2,3,4,6,6,7,6,7,7,9,10,9,10,11,12,13,15,15,17,18,19,21,23,27,27,30,31,35,39,43,45,50,56,55,61,65,70,65,68,71,70,44,105,48,
+-29,-12,-5,3,7,9,9,7,5,4,3,0,-2,-3,-4,-5,-9,-11,-10,-10,-7,-7,-6,-6,-6,-8,-7,-6,-6,-6,-5,-4,-3,-3,-3,-1,-1,0,0,1,1,1,2,2,3,3,3,4,5,6,6,5,6,5,6,7,8,9,9,9,9,9,9,9,8,8,7,7,7,8,8,7,8,8,8,8,8,8,8,8,9,10,10,11,10,11,10,11,12,14,15,14,15,14,16,17,19,20,22,22,23,25,28,30,33,35,39,43,45,50,53,59,64,64,70,75,80,78,81,81,81,49,76,60,
+-48,-18,-11,-6,-3,-3,-2,-3,-5,-6,-7,-9,-11,-13,-13,-14,-10,-17,-17,-12,2,6,6,4,2,6,6,6,6,6,6,7,7,7,7,8,9,9,9,10,9,10,10,11,11,11,12,11,11,13,12,13,13,13,13,13,14,14,15,15,14,15,15,15,15,15,14,14,14,14,15,14,14,14,14,13,14,14,15,15,15,15,16,16,15,15,15,15,16,16,18,18,19,18,18,20,21,21,23,24,25,26,28,30,32,34,37,41,43,48,50,56,61,60,65,72,77,73,76,77,77,46,74,60,
+-44,-37,-25,-21,-16,-16,-15,-13,-14,-16,-17,-18,-18,-19,-21,-22,-21,-22,-21,-22,-23,-24,-22,-22,-22,-22,-22,-22,-21,-20,-19,-20,-19,-18,-17,-16,-16,-16,-15,-14,-13,-13,-12,-13,-11,-11,-11,-10,-10,-10,-10,-7,-7,-7,-6,-7,-7,-7,-6,-6,-6,-6,-5,-5,-5,-5,-5,-4,-4,-3,-3,-3,-3,-1,0,0,1,1,0,2,2,3,2,3,2,2,3,4,3,4,5,6,7,7,9,8,10,11,13,14,15,16,18,20,21,23,26,29,30,34,36,41,45,46,50,52,57,56,60,59,59,20,48,45,
+-35,-35,-9,-5,8,8,8,1,-1,-1,-3,-5,-8,-9,-9,-11,-14,-15,-15,-15,-16,-17,-16,-16,-16,-17,-16,-16,-16,-14,-14,-14,-13,-14,-13,-12,-12,-12,-11,-11,-9,-10,-9,-9,-7,-7,-7,-7,-7,-7,-7,-4,-3,-3,-3,-4,-4,-4,-3,-3,-3,-3,-2,-2,-2,-2,-1,-1,0,0,1,0,1,2,3,4,5,5,5,6,6,7,6,7,6,6,7,7,6,8,9,9,11,11,12,12,13,14,16,17,18,20,22,24,23,26,29,33,33,37,38,43,48,49,53,55,59,60,62,62,62,23,50,49,
+-38,-39,-16,-12,-2,-2,-2,-2,-4,-5,-7,-7,-8,-10,-11,-13,-11,-12,-11,-12,-13,-14,-13,-13,-13,-13,-12,-12,-12,-10,-10,-9,-9,-9,-9,-8,-8,-7,-7,-7,-6,-6,-6,-6,-4,-4,-4,-3,-3,-2,-2,2,2,3,3,2,1,2,2,2,3,3,3,3,4,4,3,4,4,5,5,6,7,7,8,8,9,10,10,10,11,12,11,12,12,12,12,13,13,14,15,16,17,16,17,18,19,20,22,23,25,26,28,30,30,33,34,38,40,43,46,50,55,57,61,63,67,68,71,71,72,27,59,58,
+-48,-56,-28,-26,-16,-16,-34,2,1,-1,-12,-4,-6,-7,-8,-10,-11,-12,-12,-12,-13,-14,-13,-13,-14,-13,-13,-12,-12,-12,-11,-11,-11,-11,-11,-11,-10,-10,-9,-9,-9,-9,-9,-9,-7,-7,-7,-7,-7,-6,-5,-2,-2,-1,0,-1,-2,-1,0,0,0,0,1,1,1,2,1,2,3,3,3,4,5,6,7,8,8,10,10,10,10,12,11,11,11,12,12,13,13,14,16,16,18,17,18,18,19,21,22,23,25,27,29,31,30,32,35,39,37,42,45,49,54,54,58,61,65,64,67,67,67,22,50,51,
+-59,-76,-47,-50,-37,-38,-40,-31,-33,-32,-34,-33,-32,-32,-32,-34,-31,-33,-32,-33,-32,-30,-30,-31,-32,-29,-30,-30,-30,-28,-29,-28,-29,-28,-28,-28,-28,-28,-27,-26,-27,-26,-25,-24,-23,-22,-22,-20,-20,-19,-18,-19,-18,-17,-16,-15,-15,-14,-14,-13,-13,-12,-12,-11,-11,-10,-10,-9,-8,-10,-8,-8,-7,-7,-7,-7,-6,-6,-5,-4,-4,-4,-4,-3,-4,-3,-3,-3,-3,-2,-2,-2,-1,-1,0,1,2,3,4,6,7,7,8,10,13,15,14,17,25,27,27,30,33,38,41,41,43,48,49,50,50,1,43,46,
+-55,-70,-40,-42,-28,-29,-31,-26,-28,-27,-29,-30,-27,-28,-28,-30,-26,-28,-26,-28,-26,-24,-24,-25,-27,-23,-24,-23,-24,-23,-24,-23,-24,-24,-23,-23,-24,-24,-22,-22,-22,-22,-21,-20,-19,-18,-18,-17,-17,-15,-15,-16,-15,-14,-14,-13,-11,-11,-11,-9,-10,-9,-8,-8,-7,-7,-6,-5,-5,-5,-4,-4,-3,-2,-2,-2,-1,0,1,2,2,4,3,4,4,5,4,5,5,7,8,7,8,9,10,11,12,14,16,17,18,19,22,24,24,27,29,33,33,38,39,44,48,49,53,54,58,59,60,61,61,9,52,48,
+-52,-68,-40,-42,-28,-30,-32,-22,-24,-23,-25,-27,-22,-23,-23,-25,-21,-22,-21,-22,-23,-21,-20,-21,-21,-19,-20,-19,-19,-18,-18,-17,-17,-18,-19,-19,-18,-19,-17,-16,-16,-16,-15,-14,-13,-13,-13,-11,-11,-10,-10,-11,-11,-9,-9,-8,-7,-7,-6,-5,-5,-4,-4,-3,-3,-3,-2,-1,0,-1,0,1,1,2,3,3,4,5,5,6,6,7,7,8,7,8,8,9,9,10,11,12,13,13,15,16,18,19,21,22,23,23,26,28,28,32,33,37,35,39,42,46,49,52,55,58,60,59,61,63,63,19,54,48,
+-49,-62,-29,-30,-14,-14,-14,-17,-18,-16,-17,-18,-18,-18,-18,-20,-16,-19,-18,-20,-20,-16,-14,-16,-17,-13,-14,-13,-13,-12,-12,-12,-12,-13,-12,-12,-12,-14,-12,-13,-14,-14,-13,-13,-12,-11,-11,-10,-10,-9,-9,-9,-9,-8,-7,-7,-5,-4,-4,-3,-3,-2,-1,-1,-1,0,1,2,2,2,3,4,4,5,6,5,6,7,8,8,9,10,10,11,11,11,11,12,12,13,15,15,16,17,18,20,21,23,24,26,27,28,31,34,32,35,36,40,35,39,40,44,48,49,53,56,59,58,60,62,61,32,53,43,
+-63,-84,-44,-43,-30,-28,-28,-22,-22,-21,-22,-22,-22,-22,-22,-22,-25,-27,-26,-27,-28,-31,-31,-31,-31,-32,-33,-32,-32,-33,-33,-32,-32,-32,-32,-32,-31,-32,-33,-34,-34,-35,-34,-32,-33,-30,-33,-30,-32,-31,-26,-31,-28,-27,-21,-23,-7,-7,-6,-4,-4,-3,-3,-3,-4,-4,-3,-3,-2,-3,-1,-2,-2,0,2,7,11,13,22,22,19,24,25,25,23,24,25,24,25,25,26,27,28,28,29,32,33,33,34,36,37,38,38,40,43,45,44,45,48,50,50,52,55,60,63,65,66,70,71,73,72,44,67,56,
+-61,-79,-46,-44,-38,-34,-26,-17,-17,-14,-15,-15,-17,-16,-16,-16,-18,-19,-19,-19,-19,-20,-20,-20,-20,-19,-20,-19,-19,-20,-20,-19,-19,-19,-18,-17,-17,-17,-19,-19,-19,-20,-19,-18,-18,-18,-18,-17,-17,-15,-15,-14,-13,-13,-12,-12,-11,-11,-11,-10,-10,-9,-9,-8,-9,-8,-8,-7,-6,-6,-5,-6,-6,-5,-4,-4,-4,-3,-3,-3,-2,-2,-1,0,0,1,0,1,1,2,4,5,6,8,9,10,11,13,15,17,18,20,22,25,25,29,29,32,33,37,37,41,44,46,49,52,55,59,60,63,61,29,54,38,
+-57,-72,-37,-34,-28,-25,-23,-15,-14,-17,-16,-16,-15,-15,-17,-16,-14,-15,-17,-17,-17,-14,-14,-15,-15,-14,-14,-14,-14,-15,-15,-15,-15,-15,-11,-11,-11,-12,-13,-14,-15,-15,-14,-13,-11,-11,-11,-10,-10,-9,-9,-8,-8,-7,-7,-6,-6,-6,-6,-5,-5,-4,-4,-3,-4,-3,-3,-2,-2,-1,0,-1,0,0,0,1,1,1,1,2,2,3,3,4,4,5,4,5,5,6,7,9,11,13,15,15,18,19,21,23,24,26,27,30,32,35,35,38,41,44,44,47,51,54,58,60,63,69,70,73,70,37,60,28,
+-64,-77,-39,-33,-25,-22,-18,-15,-14,-15,-14,-12,-13,-12,-14,-13,-12,-12,-14,-13,-12,-10,-10,-10,-10,-10,-9,-10,-9,-9,-9,-9,-9,-9,-6,-6,-6,-7,-7,-8,-9,-9,-8,-7,-6,-6,-6,-4,-4,-3,-3,-1,-1,-1,-1,0,0,0,0,0,1,2,1,2,2,2,2,3,3,4,5,4,5,4,5,5,6,6,6,6,6,7,7,8,8,9,7,8,9,10,11,13,15,16,18,19,20,22,24,26,27,29,31,34,33,36,37,40,40,43,44,47,51,52,56,58,61,65,65,68,65,46,56,34,
+-53,-74,-45,-41,-38,-36,-33,-28,-13,-16,-11,-10,-16,-15,-17,-15,3,2,2,3,0,1,1,1,1,0,0,0,0,0,0,0,0,0,2,2,2,1,0,-1,-2,-2,-2,-1,0,0,0,1,1,2,3,3,3,3,3,4,4,3,3,4,4,4,4,4,4,5,5,4,5,5,6,6,6,6,6,6,7,7,6,6,7,7,6,7,7,8,7,8,9,9,11,12,13,15,17,17,19,21,24,25,27,28,31,34,33,36,42,46,49,53,55,60,63,64,68,71,73,79,78,79,74,53,59,38,
+-49,-63,-30,-23,-18,-13,-9,-11,-9,-12,-10,-8,-17,-15,-17,-16,-20,-20,-23,-22,-21,-23,-23,-22,-22,-21,-21,-20,-20,-19,-19,-18,-18,-18,-19,-19,-19,-19,-17,-18,-19,-19,-20,-20,-19,-18,-18,-18,-17,-17,-17,-16,-15,-15,-14,-14,-13,-13,-11,-11,-11,-11,-10,-9,-8,-8,-8,-7,-7,-8,-7,-7,-6,-6,-5,-5,-4,-4,-4,-4,-4,-4,-4,-4,-3,-2,-1,0,1,1,3,4,5,6,7,9,10,12,13,14,16,16,18,19,21,23,28,31,36,39,40,43,46,50,53,54,56,52,52,58,56,40,53,35,
+-64,-38,-44,-25,-8,-1,3,-14,-6,-9,-6,-5,-15,-14,-12,-11,-14,-14,-16,-15,-14,-17,-17,-16,-16,-14,-14,-13,-13,-11,-11,-11,-11,-11,-12,-12,-12,-13,-10,-11,-12,-13,-13,-14,-12,-12,-11,-11,-11,-11,-10,-10,-9,-9,-8,-7,-8,-7,-6,-5,-6,-5,-4,-4,-3,-2,-3,-2,-1,-3,-2,-2,0,-2,-1,0,0,0,0,0,0,0,0,0,1,1,3,4,5,6,7,7,9,10,11,13,15,17,18,20,21,22,24,26,28,31,37,40,46,49,53,56,60,63,67,69,72,72,71,77,73,53,62,41,
+-56,-29,-36,-29,-21,-18,-14,-14,-12,-13,-11,-10,-16,-16,-16,-14,-17,-16,-16,-15,-13,-17,-16,-16,-16,-13,-13,-12,-12,-11,-11,-11,-11,-10,-11,-11,-11,-10,-7,-7,-6,-6,-6,-7,-6,-6,-6,-6,-5,-5,-5,-4,-3,-2,-2,-1,0,0,0,1,1,2,1,2,4,4,4,4,5,4,4,4,4,5,6,5,6,6,6,6,6,6,6,6,7,7,10,10,11,12,12,13,14,15,16,19,20,22,23,24,25,27,29,31,32,34,41,44,46,50,53,57,60,60,64,66,69,76,74,73,69,63,56,41,
+-41,-20,-31,-26,-18,-14,-12,-12,-11,-12,-12,-10,-17,-16,-16,-16,-18,-17,-18,-17,-15,-19,-19,-18,-17,-15,-15,-14,-13,-12,-12,-11,-11,-11,-12,-11,-11,-11,-8,-7,-7,-7,-7,-7,-7,-7,-7,-6,-5,-5,-4,-4,-3,-3,-2,-1,-1,0,0,1,1,2,1,2,4,5,4,5,6,5,5,5,6,6,6,6,6,7,7,7,7,7,7,7,8,8,10,11,12,12,14,14,15,16,17,20,21,23,25,26,27,29,31,33,35,37,39,41,43,46,49,51,54,55,59,63,67,72,75,75,72,66,59,44,
+-68,-39,-46,-42,-32,-29,-28,-23,-23,-23,-23,-23,-23,-23,-26,-25,-26,-25,-28,-28,-27,-27,-28,-28,-28,-29,-29,-28,-28,-28,-28,-27,-26,-27,-26,-25,-25,-25,-25,-24,-25,-24,-24,-24,-22,-22,-22,-21,-21,-20,-20,-19,-19,-19,-19,-19,-19,-19,-18,-18,-18,-18,-18,-18,-19,-19,-17,-17,-17,-18,-17,-17,-17,-17,-16,-16,-16,-16,-17,-16,-16,-16,-16,-16,-15,-15,-14,-14,-10,-8,-5,-2,-1,14,12,17,18,19,19,21,21,23,26,34,32,48,53,54,56,57,59,61,63,65,68,71,74,76,78,79,78,75,73,63,
+-56,-29,-38,-35,-28,-25,-25,-17,-18,-18,-19,-20,-18,-18,-21,-21,-21,-21,-24,-23,-23,-22,-22,-22,-22,-23,-22,-22,-21,-22,-21,-20,-20,-20,-18,-18,-17,-17,-18,-18,-18,-18,-17,-16,-15,-15,-15,-12,-12,-12,-12,-12,-11,-10,-10,-9,-11,-10,-10,-10,-9,-8,-8,-8,-9,-8,-7,-6,-6,-5,-5,-4,-4,-4,-3,-3,-2,-2,-3,-3,-2,-2,-2,-2,-1,0,-1,0,1,2,3,4,6,7,8,9,10,12,13,15,17,18,20,22,23,24,27,29,30,33,35,37,40,42,46,50,54,54,58,56,55,63,47,43,
+-58,-14,-33,-33,-12,-13,-14,-12,-14,-12,-14,-15,-14,-15,-14,-15,-15,-15,-15,-15,-14,-17,-16,-16,-16,-16,-16,-15,-15,-13,-13,-13,-13,-13,-10,-10,-11,-11,-11,-11,-11,-11,-10,-8,-7,-7,-7,-5,-5,-5,-5,-5,-4,-4,-3,-4,-4,-3,-3,-2,-2,-2,-2,-2,-1,0,1,1,2,0,1,1,2,3,4,4,5,5,5,5,5,6,4,4,4,4,6,7,7,8,9,11,12,13,14,15,16,17,19,20,21,23,25,26,28,29,32,33,36,38,41,43,46,48,53,57,61,60,64,62,62,71,57,54,
+-45,-4,-26,-27,-9,-11,-14,-8,-11,-10,-13,-15,-12,-14,-14,-16,-14,-15,-15,-15,-15,-15,-15,-14,-14,-15,-14,-14,-14,-13,-12,-12,-12,-11,-9,-9,-9,-9,-10,-10,-10,-10,-8,-6,-5,-6,-5,-3,-2,-2,-2,-2,-1,-1,0,0,-1,0,1,1,1,2,2,2,3,3,4,5,5,5,5,6,6,7,8,8,9,9,9,10,10,10,9,10,9,10,11,12,12,13,14,16,17,18,19,20,21,22,24,25,26,27,28,30,32,34,36,38,38,39,42,44,47,46,51,54,59,60,64,58,59,81,4,55,
+-24,16,-19,-38,-22,-30,-48,-13,-18,-22,-37,-39,-34,-38,-34,-35,-37,-38,-37,-37,-36,-16,-17,-18,-17,-18,-17,-17,-17,-18,-17,-17,-17,-17,-16,-16,-16,-16,-15,-15,-15,-15,-15,-14,-13,-11,-13,-10,-1,-9,-4,8,9,13,13,14,14,13,15,15,14,15,14,14,14,15,16,16,16,14,15,15,15,16,17,17,17,17,17,18,17,18,17,17,16,17,19,19,19,20,20,22,22,23,23,25,25,25,26,27,28,28,29,30,32,33,35,37,38,40,42,45,48,49,54,59,64,63,68,63,64,88,11,63,
+-61,-15,-45,-49,-31,-29,-33,-21,-25,-18,-22,-26,-21,-23,-20,-22,-22,-24,-23,-23,-24,-23,-24,-24,-24,-24,-24,-23,-23,-23,-23,-23,-23,-23,-22,-22,-22,-22,-20,-20,-19,-19,-19,-18,-17,-17,-17,-18,-17,-16,-16,-14,-14,-13,-13,-12,-12,-12,-11,-11,-11,-10,-10,-9,-9,-8,-8,-7,-7,-5,-5,-4,-4,-4,-4,-4,-4,-3,-2,-1,0,0,2,3,3,4,3,4,4,6,6,7,8,9,10,12,13,15,16,17,18,20,21,22,26,27,29,31,34,36,38,40,42,40,43,42,46,44,47,43,45,69,3,51,
+-50,1,-43,-52,-22,-28,-32,-19,-23,-12,-16,-20,-15,-18,-12,-14,-16,-17,-15,-16,-17,-16,-16,-16,-16,-16,-17,-17,-17,-16,-16,-16,-16,-15,-16,-15,-15,-15,-13,-13,-12,-12,-12,-12,-12,-12,-12,-11,-11,-9,-9,-7,-7,-7,-7,-6,-5,-5,-5,-4,-4,-4,-3,-3,-2,-2,-2,-1,0,1,2,3,3,2,3,3,4,4,5,5,6,7,9,9,9,10,9,11,10,11,12,12,14,14,16,17,19,21,22,22,23,25,26,27,31,32,33,35,39,41,44,47,51,54,58,59,63,60,65,61,65,89,22,69,
+-48,17,-30,-41,-13,-21,-27,-11,-17,-8,-14,-20,-10,-15,-10,-14,-12,-13,-12,-14,-15,-12,-13,-13,-13,-12,-12,-13,-12,-13,-12,-12,-12,-12,-12,-12,-11,-12,-9,-10,-8,-8,-8,-8,-8,-7,-7,-7,-6,-5,-5,-3,-3,-3,-3,-2,-1,0,0,0,1,1,2,2,3,3,3,4,5,8,8,9,9,8,9,10,11,11,12,13,13,14,15,15,16,17,16,17,18,18,20,20,21,21,22,23,23,25,26,28,30,31,32,32,36,37,39,40,46,48,52,54,57,57,61,63,68,65,70,68,71,93,46,70,
+-33,28,-23,-37,-11,-17,-22,-10,-15,-4,-8,-13,-6,-9,-3,-6,-6,-7,-6,-7,-8,-9,-10,-9,-9,-10,-11,-11,-10,-11,-11,-11,-11,-11,-11,-11,-10,-10,-9,-9,-8,-8,-8,-8,-7,-8,-7,-7,-7,-6,-5,-5,-4,-4,-4,-3,-2,-2,-2,-1,-1,-1,-1,0,0,1,1,2,2,6,7,6,8,7,8,9,9,10,11,11,12,13,14,15,15,16,15,16,17,18,19,19,20,20,21,23,24,25,27,28,30,32,32,33,38,39,40,41,48,50,53,57,59,62,66,67,71,71,74,72,73,97,46,69,
+-5,23,-24,-36,-9,-22,-32,-22,-33,-20,-30,-39,-27,-30,-28,-33,-25,-30,-27,-30,-32,-30,-31,-31,-32,-31,-32,-31,-31,-30,-31,-31,-31,-31,-30,-30,-30,-29,-30,-29,-28,-28,-27,-26,-25,-24,-24,-24,-24,-22,-22,-22,-21,-21,-21,-20,-20,-20,-19,-19,-17,-16,-16,-15,-14,-12,-12,-11,-11,-9,-9,-8,-7,-7,-6,-6,-5,-5,-4,-3,-3,-3,-2,-2,-1,-1,1,1,1,2,3,4,4,5,5,6,7,8,9,10,11,12,13,13,12,13,16,17,41,42,47,59,70,67,68,67,71,74,75,70,70,92,41,62,
+7,45,-10,-28,-3,-16,-24,-17,-26,-13,-27,-37,-20,-24,-26,-31,-19,-23,-22,-25,-28,-24,-25,-25,-25,-24,-25,-25,-25,-25,-24,-25,-24,-25,-23,-23,-23,-22,-23,-22,-22,-22,-21,-20,-18,-18,-17,-18,-17,-16,-15,-16,-15,-15,-14,-14,-15,-14,-14,-13,-12,-11,-11,-10,-9,-8,-7,-6,-6,-4,-4,-3,-2,-1,0,0,1,1,2,3,3,4,4,4,5,5,7,7,8,9,10,11,11,13,13,14,15,18,18,19,20,22,23,24,25,26,30,31,35,36,40,41,43,48,50,51,56,57,59,58,57,72,43,43,
+1,43,-8,-7,-1,-12,-19,-4,-11,-13,-20,-27,-13,-17,-19,-24,-15,-18,-19,-21,-22,-20,-21,-20,-21,-19,-20,-20,-20,-20,-20,-20,-19,-19,-17,-17,-17,-17,-17,-17,-16,-16,-15,-14,-13,-12,-11,-11,-10,-10,-9,-9,-9,-8,-7,-7,-7,-7,-6,-5,-3,-3,-2,-2,0,0,1,2,3,3,4,5,6,7,7,8,8,9,10,10,10,10,12,12,12,13,14,14,15,16,16,18,19,20,21,21,21,23,24,26,27,28,29,30,35,36,37,38,42,43,46,47,49,53,55,57,60,64,65,64,63,76,48,46,
+24,37,4,-6,3,-5,-12,-3,-10,-12,-18,-24,-16,-19,-21,-25,-20,-23,-23,-25,-26,-26,-27,-26,-26,-25,-25,-26,-26,-26,-25,-25,-24,-24,-23,-23,-22,-22,-21,-21,-21,-20,-19,-18,-16,-16,-15,-14,-13,-13,-11,-12,-12,-11,-10,-10,-9,-9,-7,-7,-5,-4,-4,-3,-2,-1,0,1,1,1,2,3,4,7,7,8,8,9,10,10,11,11,12,12,13,13,15,15,15,16,17,18,20,21,22,22,23,25,26,27,28,29,31,31,35,36,38,39,44,46,49,51,54,58,61,63,67,69,70,68,67,85,49,48,
+-28,-30,-36,-32,-30,-28,-27,-25,-25,-29,-29,-29,-30,-33,-35,-35,-37,-36,-37,-36,-36,-40,-39,-39,-38,-39,-39,-39,-39,-37,-37,-37,-36,-35,-35,-35,-34,-33,-34,-33,-32,-32,-32,-31,-31,-31,-30,-30,-29,-29,-28,-29,-29,-28,-28,-27,-27,-27,-27,-26,-26,-26,-26,-26,-25,-25,-23,-24,-23,-23,-23,-20,-21,0,2,3,2,3,4,4,4,5,5,5,6,6,7,8,8,8,9,12,11,15,20,31,34,33,38,34,37,41,42,40,44,45,46,47,48,49,53,54,55,59,63,65,68,69,71,69,67,85,57,45,
+-48,-39,-31,-23,-15,-10,-7,-16,-13,-16,-14,-12,-26,-28,-27,-26,-34,-32,-31,-30,-29,-35,-34,-34,-32,-34,-33,-33,-32,-31,-30,-29,-28,-29,-29,-28,-27,-26,-25,-25,-24,-23,-24,-23,-22,-21,-21,-21,-20,-19,-19,-19,-19,-18,-18,-17,-15,-15,-15,-15,-15,-14,-14,-14,-12,-11,-11,-10,-10,-10,-9,-8,-7,-8,-7,-5,-5,-4,-4,-3,-3,-2,-1,0,1,2,3,3,4,5,5,7,8,10,10,11,12,14,15,15,16,19,19,20,20,21,24,25,27,29,32,35,37,44,48,50,53,51,52,52,51,61,46,45,
+-56,-41,-20,-10,-11,-4,2,-4,0,-11,-8,-6,-17,-29,-27,-24,-30,-28,-32,-30,-28,-32,-32,-32,-31,-32,-30,-30,-29,-29,-28,-27,-25,-25,-24,-23,-23,-22,-21,-20,-19,-19,-18,-18,-17,-17,-16,-16,-16,-15,-14,-13,-13,-13,-12,-12,-10,-10,-10,-9,-9,-9,-8,-8,-6,-6,-5,-4,-4,-5,-4,-4,-3,-3,-3,-2,-1,0,1,1,2,2,3,3,5,5,6,6,8,8,9,10,12,13,13,14,14,18,18,19,17,22,21,22,21,21,25,25,32,34,39,41,44,48,51,54,58,60,62,62,61,69,50,53,
+-70,-51,-26,-12,-11,-2,6,-6,1,-8,-2,-4,-18,-29,-25,-21,-35,-31,-34,-31,-29,-36,-36,-36,-33,-36,-34,-33,-31,-32,-30,-29,-27,-27,-26,-25,-24,-23,-21,-20,-20,-19,-18,-18,-18,-17,-16,-15,-15,-14,-13,-12,-12,-11,-11,-10,-9,-8,-8,-8,-8,-8,-7,-7,-5,-5,-4,-4,-3,-5,-4,-3,-3,-2,-1,-1,0,1,2,3,4,4,5,6,7,8,9,10,12,12,13,14,16,17,17,19,19,22,22,24,24,28,27,27,27,27,31,31,42,48,53,55,56,66,69,75,79,84,85,87,85,66,75,68,
+-77,-73,-64,-6,-4,2,7,0,12,2,5,-25,-49,-42,-38,-12,-63,-62,-72,-70,-45,-69,-70,-70,-70,-70,-69,-70,-68,-63,-60,-46,-46,-34,-40,-33,-34,-32,-32,-32,-31,-31,-33,-33,-30,-30,-30,-28,-25,-25,-20,-13,-3,-8,0,-2,0,-1,1,1,1,1,1,1,2,2,2,2,3,2,2,3,3,2,2,3,3,4,5,5,5,6,6,7,8,8,9,9,11,12,12,13,15,15,15,17,17,20,20,23,22,26,25,24,27,26,30,30,43,49,54,55,57,67,70,74,78,82,83,84,82,63,71,63,
+-67,-60,-48,-41,-40,-33,-27,-30,-25,-37,-32,-35,-39,-52,-49,-46,-49,-47,-57,-55,-53,-56,-56,-55,-54,-56,-55,-55,-54,-49,-48,-48,-47,-45,-43,-42,-42,-40,-41,-41,-40,-40,-41,-42,-37,-37,-36,-40,-39,-38,-38,-37,-37,-35,-35,-33,-30,-28,-28,-27,-28,-27,-32,-31,-28,-27,-31,-30,-29,-26,-25,-25,-25,-29,-29,-27,-27,-26,-26,-21,-20,-20,-21,-20,-18,-17,-14,-14,-12,-11,-10,-8,-2,-2,-2,0,0,6,5,9,8,12,11,10,20,18,26,26,29,34,40,40,40,40,41,42,44,49,46,45,44,-89,39,35,
+-87,-48,-57,-52,-36,-31,-25,-33,-42,-38,-31,-45,-43,-53,-50,-47,-56,-54,-60,-59,-57,-58,-63,-61,-60,-58,-57,-60,-59,-56,-56,-55,-54,-53,-52,-50,-49,-49,-47,-47,-45,-45,-45,-46,-42,-42,-42,-43,-43,-38,-38,-40,-40,-35,-35,-34,-34,-32,-32,-31,-31,-31,-35,-34,-31,-30,-32,-31,-31,-32,-32,-31,-31,-32,-32,-31,-30,-29,-27,-23,-21,-21,-16,-16,-13,-12,-4,-5,-2,-3,0,2,8,8,8,9,9,15,14,18,17,22,20,18,30,29,36,36,46,51,56,56,58,61,63,64,64,67,67,68,66,-68,56,53,
+-76,-39,-49,-46,-31,-26,-21,-25,-35,-30,-26,-39,-36,-45,-43,-41,-48,-46,-53,-51,-49,-50,-55,-53,-52,-50,-48,-52,-51,-48,-47,-47,-45,-45,-43,-42,-41,-40,-39,-39,-37,-37,-37,-37,-33,-33,-33,-34,-33,-29,-29,-31,-31,-26,-26,-26,-25,-24,-23,-22,-22,-21,-26,-25,-22,-21,-22,-22,-21,-22,-21,-21,-21,-23,-22,-21,-21,-20,-18,-14,-13,-13,-12,-11,-7,-6,-5,-5,0,0,0,0,5,5,4,7,6,12,11,14,13,24,22,21,26,24,35,34,43,43,54,56,57,64,69,72,75,78,78,79,78,63,71,70,
+-68,-33,-46,-44,-32,-29,-25,-25,-37,-32,-28,-36,-34,-46,-45,-43,-43,-42,-49,-48,-48,-46,-51,-50,-49,-45,-45,-49,-48,-45,-44,-44,-43,-43,-42,-41,-40,-40,-40,-40,-38,-38,-39,-39,-35,-35,-35,-36,-36,-32,-31,-33,-33,-29,-29,-28,-28,-26,-26,-25,-25,-24,-28,-27,-24,-23,-24,-23,-23,-23,-22,-22,-22,-24,-23,-22,-23,-21,-19,-15,-14,-14,-12,-11,-7,-6,-4,-3,1,1,2,2,7,8,7,11,10,16,15,21,18,29,27,25,33,30,40,39,50,51,62,64,66,70,77,79,81,83,85,88,88,79,83,83,
+-98,-57,-63,-58,-42,-37,-32,-36,-42,-39,-36,-46,-45,-51,-50,-50,-55,-55,-56,-56,-56,-59,-61,-61,-60,-61,-60,-59,-58,-58,-57,-57,-56,-55,-53,-53,-52,-52,-49,-49,-47,-46,-44,-43,-40,-40,-40,-39,-39,-36,-36,-34,-34,-33,-33,-31,-30,-30,-29,-28,-26,-24,-26,-25,-25,-24,-24,-23,-22,-22,-22,-21,-21,-18,-18,-16,-16,-14,-12,-9,-9,-8,-8,-8,-4,-4,1,2,4,5,6,6,8,8,9,15,15,19,18,38,35,42,40,35,45,44,55,54,58,58,69,71,72,74,80,83,87,90,91,95,95,95,86,88,
+-159,-146,-143,-129,-104,-90,-77,-69,-70,-71,-69,-82,-83,-91,-92,-94,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-98,-97,-98,-96,-95,-93,-93,-92,-90,-87,-87,-87,-83,-82,-80,-80,-78,-77,-77,-76,-75,-73,-73,-72,-71,-68,-67,-69,-66,-65,-63,-63,-61,-60,-57,-56,-55,-55,-52,-52,-49,-50,-47,-45,-42,-41,-41,-39,-38,-34,-33,-30,-29,-26,-24,-23,-21,-18,-17,-17,-12,-11,-5,-5,1,1,7,7,7,16,17,24,26,37,41,53,57,68,73,89,90,88,90,101,109,108,103,90,80,
+-140,-122,-142,-128,-98,-86,-74,-63,-79,-77,-76,-75,-75,-87,-88,-88,-89,-90,-90,-90,-91,-90,-81,-81,-80,-81,-81,-79,-79,-85,-85,-84,-83,-83,-82,-75,-74,-73,-71,-71,-69,-69,-67,-67,-65,-65,-65,-70,-69,-62,-63,-67,-67,-61,-60,-60,-60,-59,-59,-58,-58,-57,-58,-57,-64,-63,-57,-56,-56,-62,-61,-60,-59,-58,-58,-51,-50,-50,-49,-45,-44,-43,-49,-48,-41,-40,-39,-38,-34,-33,-41,-40,-31,-30,-33,-36,-35,-24,-23,-32,-31,-17,-17,-17,-18,-6,0,4,17,20,33,37,51,55,70,70,74,74,83,88,85,66,64,34,
+-144,-115,-129,-112,-80,-66,-54,-46,-62,-59,-58,-58,-59,-72,-73,-74,-73,-75,-76,-77,-77,-75,-66,-66,-66,-65,-64,-63,-62,-67,-67,-65,-65,-64,-62,-54,-54,-54,-51,-50,-49,-49,-46,-46,-44,-44,-44,-48,-48,-41,-41,-46,-45,-39,-38,-38,-38,-37,-37,-36,-37,-35,-37,-35,-43,-42,-36,-35,-34,-41,-40,-39,-39,-38,-37,-30,-30,-29,-28,-24,-23,-21,-26,-25,-18,-16,-15,-13,-10,-8,-15,-14,-5,-4,-6,-8,-7,4,6,-2,0,13,15,15,9,11,28,31,28,32,52,57,64,69,77,78,67,68,83,93,90,91,44,38,
+-150,-126,-102,-80,-78,-62,-50,-47,-46,-45,-44,-56,-57,-55,-57,-59,-59,-61,-58,-60,-61,-59,-57,-57,-58,-55,-55,-52,-51,-49,-49,-45,-45,-44,-43,-41,-40,-40,-37,-37,-35,-35,-31,-31,-29,-29,-29,-25,-25,-24,-24,-22,-22,-21,-21,-20,-21,-20,-20,-18,-20,-18,-18,-17,-19,-18,-18,-17,-17,-16,-17,-16,-17,-18,-18,-16,-16,-16,-16,-15,-14,-14,-13,-15,-11,-10,-8,-6,-3,-1,-8,-7,2,4,2,0,2,14,16,8,10,25,26,28,22,25,43,47,44,50,72,78,87,93,103,104,96,97,111,119,112,114,47,17,
+-96,-77,-54,-38,-39,-28,-18,-16,-16,-16,-15,-19,-20,-19,-20,-22,-20,-22,-19,-20,-21,-19,-16,-17,-17,-15,-14,-12,-12,-11,-10,-7,-7,-7,-6,-4,-4,-3,-2,-1,0,0,2,2,4,4,4,6,6,7,7,9,9,9,9,10,9,10,11,11,10,11,11,12,11,11,11,11,12,12,12,12,12,13,13,14,14,15,15,17,18,19,21,23,24,25,24,25,27,28,28,30,31,32,33,34,36,37,39,40,42,43,46,50,56,61,65,70,80,88,92,100,114,121,128,131,129,131,144,144,137,139,62,38,
+-32,-39,-12,3,-3,3,7,1,-2,-2,-2,-3,-4,-3,-5,-8,-3,-5,-3,-4,-6,-1,1,0,0,3,3,6,6,8,8,11,11,11,12,15,15,15,18,17,19,19,20,21,23,23,23,24,24,25,25,27,27,27,28,29,28,29,30,31,30,31,30,31,30,30,30,31,31,31,30,31,31,32,32,33,34,34,35,37,37,39,40,42,43,44,44,45,46,48,48,49,50,52,54,53,55,57,59,59,61,63,67,70,72,77,80,86,90,97,101,108,115,122,128,130,129,131,141,146,138,150,77,47,
+-27,-21,-18,1,2,12,17,-1,0,1,0,-2,-4,-6,-9,-11,-2,-4,-6,-7,-9,1,-1,-2,-3,6,5,5,5,11,11,12,12,12,17,17,17,17,23,23,22,22,22,27,27,26,26,30,29,29,29,32,32,33,33,34,34,35,36,37,34,35,36,37,35,36,37,37,38,35,36,36,36,37,37,38,38,39,41,42,43,45,46,47,49,51,52,53,55,56,58,56,59,61,63,63,65,68,71,71,74,79,85,88,88,92,94,99,100,108,113,121,128,132,140,142,140,143,148,151,149,158,95,42,
+-16,-2,2,20,8,16,21,9,11,7,6,4,5,9,6,4,10,8,13,11,10,16,19,18,17,22,22,26,25,28,28,31,32,32,35,36,37,37,41,40,42,41,41,44,45,45,45,47,47,49,49,50,51,50,51,52,51,53,52,53,53,53,53,53,53,52,52,52,53,52,52,53,53,53,53,53,53,54,55,56,57,59,60,61,63,64,64,65,66,67,68,67,69,70,72,72,73,73,74,73,74,76,77,79,80,82,89,97,94,103,113,122,131,133,141,145,144,146,148,144,144,158,102,92,
+-77,-9,-2,22,32,31,37,21,23,17,16,14,17,16,19,14,10,7,9,7,4,9,8,10,9,11,10,13,12,12,13,16,17,17,19,20,22,22,23,22,24,23,22,24,24,25,25,27,27,29,29,29,30,31,32,32,32,33,33,34,35,35,35,36,37,36,35,35,36,37,38,37,37,38,38,38,39,40,40,41,43,44,44,45,47,48,49,50,50,52,56,73,75,77,78,77,79,80,83,80,83,84,88,93,89,95,96,104,101,110,111,120,129,128,137,139,137,139,148,151,154,158,106,98,
+8,8,12,12,27,13,19,10,11,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,10,11,11,11,13,13,16,16,16,16,18,18,17,18,18,20,20,21,22,24,25,25,26,27,27,28,28,29,29,30,30,30,30,31,32,31,31,31,32,31,32,31,32,32,32,34,34,34,34,35,37,38,38,38,39,40,41,41,41,43,44,45,47,47,50,52,60,61,65,67,70,76,75,81,89,90,87,106,110,116,117,127,136,136,145,148,143,146,148,151,154,119,105,82,
+120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,121,122,123,124,126,128,130,132,135,138,141,144,147,142,143,141,143,148,150,154,146,150,154,
diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_tblY_CW_LRight_T0.h b/drivers/input/touchscreen/wacom/wacom_i2c_tblY_CW_LRight_T0.h new file mode 100644 index 0000000..8a516bc --- /dev/null +++ b/drivers/input/touchscreen/wacom/wacom_i2c_tblY_CW_LRight_T0.h @@ -0,0 +1,71 @@ +-24,-15,-5,-59,-71,-61,-64,-59,-57,-50,-41,-36,-60,-39,-38,-33,-37,-36,-51,-50,-37,-37,-50,-50,-49,-38,-39,-45,-45,-35,-36,-40,-41,-39,-34,-35,-37,-38,-32,-33,-37,-38,-38,-31,-32,-34,-34,-26,-27,-30,-31,-22,-23,-25,-27,-27,-20,-22,-23,-24,-16,-18,-20,-22,-22,-15,-17,-19,-20,-13,-14,-16,-17,-9,-10,-12,-14,-15,-8,-10,-11,-13,-7,-8,-10,-12,-14,-6,-6,-9,-11,-5,-9,-9,-14,-8,-12,-13,-19,-24,-19,-25,-27,-34,-35,-37,-37,-46,-55,-54,-61,-74,-96,-83,-98,-110,-139,-149,-133,-124,-100,-103,-60,-60,
+-13,-28,-51,-58,-69,-57,-61,-56,-56,-55,-54,-50,-53,-50,-53,-42,-47,-48,-54,-52,-56,-49,-51,-54,-55,-56,-55,-54,-51,-38,-38,-42,-45,-49,-36,-39,-43,-46,-33,-36,-41,-44,-46,-32,-34,-37,-38,-27,-29,-32,-34,-22,-23,-25,-28,-29,-18,-22,-23,-25,-14,-17,-19,-22,-24,-14,-16,-19,-22,-10,-13,-15,-18,-7,-9,-12,-15,-18,-7,-11,-13,-16,-6,-9,-10,-14,-10,-6,-8,-11,-15,-14,-25,-13,-19,-9,-14,-19,-31,-35,-36,-29,-36,-41,-42,-46,-47,-52,-58,-61,-64,-74,-83,-85,-94,-97,-104,-108,-109,-115,-105,-109,-66,-39,
+-15,-30,-37,-56,-61,-58,-63,-53,-54,-48,-47,-45,-46,-44,-43,-40,-45,-42,-45,-42,-48,-45,-46,-44,-41,-44,-42,-42,-40,-43,-41,-41,-39,-39,-41,-40,-40,-40,-42,-42,-41,-40,-40,-41,-39,-38,-37,-38,-37,-34,-33,-33,-32,-30,-30,-29,-30,-29,-26,-25,-27,-27,-24,-24,-23,-24,-22,-22,-22,-22,-22,-20,-19,-20,-20,-19,-19,-18,-19,-18,-17,-17,-17,-17,-16,-15,-14,-15,-14,-14,-15,-14,-16,-15,-17,-17,-20,-19,-21,-25,-23,-27,-27,-32,-32,-37,-37,-43,-48,-53,-57,-67,-75,-78,-86,-90,-96,-105,-106,-113,-101,-107,-60,-24,
+1,-9,-18,-41,-55,-65,-71,-52,-53,-53,-52,-51,-46,-43,-41,-38,-40,-37,-35,-32,-38,-36,-33,-30,-28,-31,-29,-26,-24,-27,-25,-23,-22,-21,-25,-24,-24,-23,-26,-25,-24,-24,-23,-24,-23,-22,-20,-19,-18,-17,-15,-15,-13,-12,-11,-11,-8,-7,-6,-6,-5,-4,-4,-3,-3,-2,-2,-2,-2,0,0,0,1,2,2,2,2,3,3,3,4,4,4,4,5,5,6,6,6,6,5,7,5,3,1,1,-1,-3,-6,-9,-10,-13,-17,-21,-22,-26,-31,-36,-39,-47,-57,-67,-75,-83,-90,-97,-102,-121,-122,-124,-112,-87,-87,-31,
+10,5,-34,-51,-34,-42,-46,-39,-41,-37,-37,-37,-36,-34,-32,-30,-31,-29,-27,-25,-28,-27,-26,-24,-22,-24,-22,-21,-20,-21,-20,-22,-21,-20,-21,-21,-20,-20,-23,-23,-24,-23,-22,-21,-21,-20,-19,-19,-18,-16,-14,-15,-14,-12,-11,-10,-9,-8,-6,-5,-7,-6,-4,-3,-3,-3,-2,-2,-1,-2,-2,0,1,0,1,2,2,3,1,2,3,3,2,2,4,4,3,2,4,4,4,3,2,2,1,-2,-3,-5,-7,-9,-11,-13,-16,-18,-22,-25,-26,-29,-33,-42,-49,-57,-63,-71,-78,-85,-90,-101,-102,-115,-108,-99,-116,-54,
+67,76,42,27,45,37,32,42,40,42,41,41,44,45,47,48,49,50,51,52,52,53,54,55,56,56,57,57,59,57,58,57,57,57,57,57,57,57,54,54,54,54,55,55,56,56,57,58,59,61,62,62,63,65,66,67,67,69,71,71,70,70,73,73,72,73,74,74,75,74,74,77,77,76,77,78,79,80,78,79,80,80,78,78,80,80,78,78,80,80,81,79,78,78,77,74,73,71,70,68,65,63,61,59,53,51,51,49,41,34,28,21,16,5,0,-7,-12,-26,-28,-41,-36,-30,-27,3,
+82,85,58,38,54,45,38,36,34,56,55,55,53,54,68,68,63,64,71,71,67,68,70,71,72,72,72,74,73,74,73,73,73,72,72,72,72,71,70,70,70,70,70,71,73,71,71,72,73,73,75,75,76,79,81,82,83,86,88,89,87,88,90,91,90,91,93,93,94,93,92,95,94,92,92,93,94,95,91,92,94,95,93,93,95,96,92,93,94,95,96,92,93,95,95,90,90,90,91,91,82,83,83,83,71,70,73,72,64,59,44,39,34,32,27,2,-2,-19,-22,-25,-21,-29,-80,11,
+95,74,56,42,61,55,50,44,42,64,64,63,61,61,78,78,70,70,85,86,73,74,79,80,80,81,81,91,92,90,90,89,88,84,78,78,78,76,74,74,74,74,73,73,83,84,86,77,79,82,84,83,85,89,91,94,99,101,102,103,103,105,106,107,105,106,107,108,108,100,100,101,101,98,99,99,100,102,106,108,108,109,106,107,102,104,106,107,102,103,104,107,108,99,101,104,105,97,98,99,100,101,86,87,79,80,76,78,77,75,49,46,42,39,35,10,6,-8,-11,-14,-15,-27,-80,-10,
+88,83,73,65,89,84,73,71,70,92,92,92,87,90,105,104,94,94,109,109,97,96,101,100,100,100,101,110,110,108,107,106,105,100,95,94,93,92,90,90,90,89,89,89,99,100,101,92,94,98,99,98,100,103,105,108,112,114,116,117,116,117,119,120,117,118,120,120,121,113,112,114,114,110,110,111,112,113,118,119,120,121,119,120,115,116,118,119,115,116,117,120,121,113,114,117,118,111,113,114,116,118,104,105,98,100,97,99,101,99,74,71,68,68,65,40,36,24,18,7,5,0,63,-25,
+55,52,24,14,17,14,9,19,16,29,27,25,36,36,46,44,47,45,52,49,55,53,58,56,55,57,55,58,56,57,54,53,51,49,47,45,43,41,40,39,39,39,39,39,42,43,44,47,48,51,53,56,58,60,61,63,66,67,69,70,72,73,73,74,75,76,77,78,79,80,80,79,79,78,79,78,79,80,81,81,82,83,84,85,85,87,86,88,86,87,90,88,89,88,90,84,86,81,83,84,81,78,75,78,70,73,62,66,64,59,40,38,35,13,10,-1,-5,-20,-25,-34,-37,-33,30,-63,
+57,65,44,38,45,34,31,38,35,47,44,36,41,39,48,45,46,43,48,46,45,43,48,45,44,45,43,47,45,44,42,42,39,37,34,32,30,28,26,24,24,22,22,21,23,22,22,21,21,22,22,26,28,29,30,31,33,34,35,36,37,38,37,38,40,40,40,41,42,41,42,42,43,44,45,45,46,47,47,47,48,49,50,51,51,52,53,54,51,53,55,53,55,54,56,53,55,49,52,55,52,49,46,49,46,49,38,41,42,39,21,19,17,-1,-4,-15,-19,-31,-36,-45,-50,-58,26,-79,
+76,55,58,55,49,46,44,45,43,47,45,42,48,50,53,51,53,50,55,52,53,51,57,55,53,54,52,58,57,54,52,56,54,51,48,48,46,44,46,44,43,41,39,38,42,41,41,40,39,40,40,39,40,42,42,43,44,44,45,46,50,50,50,51,52,52,52,53,53,53,53,50,51,50,52,51,52,53,54,55,56,57,52,53,52,53,52,53,51,53,54,55,56,52,53,54,56,50,52,53,53,51,49,50,43,46,40,42,39,33,22,19,17,1,-2,-15,-18,-29,-34,-36,-40,-51,-21,-69,
+72,53,58,56,51,49,48,47,45,50,49,47,48,52,56,54,54,52,57,55,54,53,59,57,56,55,54,60,58,55,54,58,57,54,51,51,50,48,51,49,48,48,46,46,51,51,50,49,49,49,49,47,47,49,49,50,50,51,51,52,56,56,56,56,57,57,58,58,58,58,58,55,56,55,55,56,57,58,58,57,57,57,51,52,51,52,51,53,51,52,54,53,55,51,52,53,55,50,53,55,53,51,48,51,44,46,40,42,40,34,22,19,16,3,0,-12,-16,-26,-31,-32,-36,-46,-27,-61,
+49,34,31,29,19,18,17,17,16,17,15,14,21,20,23,21,28,23,29,25,23,26,32,31,29,28,27,33,32,37,37,41,40,37,35,34,34,33,35,34,33,32,31,31,36,36,35,34,33,33,33,30,31,32,32,32,33,33,34,34,38,38,39,39,39,40,40,40,40,39,40,36,37,36,37,37,38,38,39,38,37,37,31,32,31,33,32,33,31,32,33,33,35,30,32,33,35,29,31,33,32,30,27,29,18,20,17,19,13,6,-4,-7,-11,-24,-27,-37,-41,-48,-53,-53,-57,-67,-51,-81,
+55,40,37,35,26,25,25,23,23,24,24,23,30,30,32,31,31,30,36,35,32,29,35,34,33,31,30,36,35,30,30,36,34,32,28,32,32,31,30,28,29,29,24,24,30,30,29,28,28,28,27,24,24,25,26,26,26,30,31,32,32,32,32,32,33,34,34,34,34,33,34,33,34,33,34,28,29,32,33,32,31,31,28,28,23,24,28,29,23,24,25,28,30,29,30,28,30,26,27,28,29,28,28,30,24,25,17,18,17,12,1,-3,-6,-16,-20,-30,-33,-42,-47,-46,-50,-60,-44,-68,
+39,31,25,22,17,16,15,13,13,13,12,12,11,12,12,12,11,10,10,9,9,8,9,8,7,7,6,7,6,6,5,6,5,5,4,3,3,2,1,0,0,0,1,1,2,2,1,0,0,1,0,0,4,4,7,3,22,23,26,26,26,26,26,26,24,25,25,24,27,23,26,26,26,25,26,23,23,23,22,19,23,22,20,21,18,18,21,21,17,18,19,21,22,21,22,21,22,19,20,20,23,22,21,22,13,20,13,14,16,-12,-20,-24,-28,-34,-37,-43,-47,-57,-61,-60,-61,-70,-27,-68,
+42,30,21,18,12,11,11,9,9,9,10,10,9,10,12,12,11,11,12,11,12,13,15,15,14,13,13,13,13,13,13,14,13,13,13,12,12,11,11,10,10,10,11,11,12,12,12,12,11,11,11,9,10,11,11,12,14,13,14,14,14,14,14,14,13,13,13,13,13,12,12,13,13,12,12,12,12,13,11,10,9,9,8,9,9,10,9,10,9,10,11,9,10,10,11,11,12,11,13,12,12,11,10,11,8,8,5,5,3,-3,-11,-16,-20,-32,-36,-41,-45,-59,-63,-62,-63,-69,-3,-64,
+46,32,23,20,17,15,15,12,13,13,13,13,11,13,14,15,14,14,15,15,15,15,16,16,15,14,14,15,14,14,14,15,14,13,13,13,12,12,11,10,11,11,10,11,12,12,11,11,10,10,9,8,9,10,10,11,12,11,12,12,12,12,12,12,11,11,11,11,12,11,11,11,12,11,12,11,12,12,11,10,9,9,7,8,8,9,9,9,9,10,10,9,10,10,11,11,12,11,11,12,11,11,10,10,8,8,4,4,2,-3,-11,-15,-20,-27,-33,-38,-42,-48,-52,-54,-54,-65,-50,-52,
+49,41,30,25,23,21,20,17,17,18,19,20,18,19,21,21,18,19,19,19,20,20,21,21,20,19,18,18,17,16,16,16,15,15,14,14,14,14,13,13,12,12,13,13,15,14,13,13,13,13,12,11,11,11,12,12,14,14,15,15,15,15,15,15,14,14,13,14,14,14,14,13,14,14,14,14,14,15,13,13,12,12,11,12,11,12,10,11,12,13,13,12,13,11,12,13,13,13,13,13,13,13,13,13,13,13,12,11,8,4,-2,-7,-12,-22,-26,-31,-35,-47,-50,-51,-50,-62,-53,-43,
+39,32,5,0,-1,-3,-4,-7,-7,-7,-7,-7,-7,-7,-1,9,14,14,14,14,12,11,11,13,15,32,31,30,29,28,27,26,26,25,24,24,23,22,22,21,20,20,21,21,23,23,22,20,19,19,18,19,19,19,19,19,20,20,21,21,21,21,21,21,22,22,21,21,21,21,21,20,21,21,21,20,21,21,20,19,18,18,17,18,16,17,16,16,17,18,18,18,18,17,17,18,19,18,18,19,19,19,19,19,22,21,21,20,18,-3,-11,-18,-22,-51,-55,-62,-67,-70,-74,-76,-76,-97,-69,-69,
+35,15,7,-1,-4,-7,-8,-5,-5,-4,-3,-3,1,2,3,3,7,7,8,7,6,5,6,6,5,5,4,4,3,5,4,3,3,3,3,2,2,2,1,1,1,2,2,2,3,3,2,2,1,1,0,3,3,3,4,3,2,3,3,4,4,4,4,4,4,4,4,5,5,6,6,5,6,8,8,9,9,10,8,8,8,8,5,6,5,6,6,7,5,6,7,7,7,7,8,6,7,7,8,7,7,6,6,6,3,2,1,0,-6,-11,-18,-23,-29,-39,-44,-52,-57,-65,-69,-72,-70,-90,-61,-80,
+30,10,2,4,5,1,-1,1,0,1,-3,-5,0,1,1,1,6,6,6,6,5,4,4,4,3,4,3,2,2,3,2,1,0,-1,0,-1,-1,-2,-2,-3,-2,-3,-4,-4,-4,-5,-6,-7,-8,-9,-10,-6,-6,-6,-6,-6,-7,-6,-6,-6,-6,-6,-5,-5,-5,-4,-4,-3,-3,-3,-2,-3,-2,-1,0,1,1,2,2,3,3,4,3,4,2,3,3,4,2,3,4,4,5,5,5,4,4,4,5,5,5,5,5,4,2,1,1,0,-5,-10,-17,-23,-27,-35,-40,-48,-53,-58,-62,-64,-63,-87,-55,-66,
+41,15,20,9,13,9,6,8,7,8,8,7,10,11,12,12,15,15,15,15,14,12,13,12,11,11,10,10,9,9,9,9,8,8,6,6,5,5,4,3,3,2,1,0,1,0,-1,-2,-3,-3,-3,0,0,1,1,1,-1,0,0,1,1,1,1,2,1,2,1,2,2,3,3,4,4,5,5,6,6,7,7,7,8,8,8,8,8,8,8,8,8,9,9,10,10,9,9,9,10,10,10,11,11,10,10,10,8,8,6,5,2,-3,-10,-16,-21,-30,-35,-43,-47,-57,-61,-63,-61,-87,-53,-49,
+45,-3,-9,-18,-11,-15,-19,-20,-21,-19,-21,-22,3,2,2,2,22,22,22,21,19,18,19,18,16,16,15,15,14,13,12,12,11,10,9,8,8,7,7,6,5,4,4,3,4,3,2,1,0,0,-1,2,2,3,3,3,2,2,3,3,4,4,4,4,4,5,5,5,6,6,7,7,8,8,9,10,10,11,12,12,12,13,12,13,12,13,12,13,13,13,14,14,15,13,14,13,13,14,14,14,15,14,14,14,11,10,9,9,5,1,-6,-11,-16,-17,-22,-29,-34,-85,-93,-94,-94,-108,-60,-38,
+31,-14,-2,-16,-10,-16,-19,-7,-9,-8,-9,-7,-3,-3,-2,-4,2,0,1,0,1,4,3,1,0,3,1,1,-1,1,0,-1,-3,-3,-3,-4,-5,-6,-5,-6,-8,-8,-8,-8,-9,-9,-10,-10,-11,-11,-12,-12,-11,-10,-10,-9,-9,-9,-8,-8,-8,-7,-7,-6,-6,-5,-5,-5,-4,-5,-4,-4,-4,-3,-3,-4,-4,-3,-3,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-1,-1,0,0,1,1,1,1,1,0,1,-1,-1,-6,-10,-19,-24,-30,-40,-46,-54,-60,-69,-74,-75,-74,-107,-69,-63,
+28,-14,2,-11,-3,-9,-13,-4,-6,-5,-6,-4,-2,-1,-1,-2,1,0,1,-1,1,3,3,1,0,2,0,0,-2,-2,-3,-4,-5,-6,-5,-6,-8,-9,-8,-9,-10,-11,-11,-10,-11,-11,-12,-12,-13,-13,-14,-15,-14,-13,-13,-12,-11,-10,-10,-9,-9,-8,-8,-7,-7,-6,-5,-5,-4,-5,-4,-4,-3,-3,-2,-2,-2,-1,0,0,1,2,1,2,2,3,1,1,1,2,3,1,2,2,3,2,3,4,4,4,4,4,4,5,1,2,0,0,-4,-9,-16,-21,-27,-35,-41,-49,-55,-61,-67,-68,-69,-101,-80,-60,
+31,-8,5,-9,-1,-7,-11,0,-2,0,-1,-2,3,3,4,2,7,5,7,5,4,6,7,5,4,7,5,5,3,4,2,3,1,-1,0,-1,-2,-4,-3,-4,-4,-5,-6,-6,-5,-6,-7,-7,-8,-8,-9,-10,-10,-8,-8,-8,-6,-6,-5,-5,-4,-3,-2,-2,-1,0,1,2,2,2,2,3,3,3,4,3,4,4,5,5,6,7,7,7,7,8,5,6,6,7,8,6,7,7,7,7,8,9,9,8,9,9,10,11,6,6,4,4,-4,-9,-15,-21,-26,-34,-41,-48,-53,-62,-68,-68,-69,-94,-68,-63,
+30,-4,19,-14,-30,-33,-34,11,10,12,11,10,8,9,9,8,11,10,12,10,9,13,14,12,10,12,11,11,10,10,9,9,8,7,5,4,4,2,3,2,3,2,1,1,1,0,-1,-1,-2,-2,-2,-4,-3,-2,-2,-1,0,0,1,1,2,2,3,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,10,8,9,9,9,9,10,10,10,10,10,11,12,12,12,13,13,13,12,13,13,10,11,8,8,1,-4,-11,-16,-22,-30,-37,-44,-51,-57,-62,-62,-63,-90,-68,-63,
+14,-34,-9,-19,-13,-15,-17,-10,-10,-7,-7,-6,-1,-1,0,0,0,0,1,0,-1,-5,-5,-5,-7,-8,-9,-9,-11,-12,-13,-13,-14,-15,-16,-16,-17,-18,-19,-20,-19,-20,-20,-21,-22,-23,-24,-23,-24,-24,-25,-26,-25,-24,-24,-24,-11,-6,-7,-1,-2,0,0,1,0,0,0,1,1,1,1,1,1,1,2,1,1,1,2,2,1,1,2,4,5,10,2,2,1,2,5,3,5,12,17,6,6,5,8,7,8,6,7,10,9,9,6,6,-15,-20,-26,-31,-36,-39,-44,-50,-56,-60,-67,-66,-68,-99,-73,-72,
+8,-34,-6,-13,-8,-14,-9,-7,-6,-3,-1,0,-1,1,2,3,2,2,4,4,4,3,4,3,2,3,2,2,1,-1,-2,-2,-3,-3,-3,-4,-4,-5,-6,-6,-6,-6,-7,-7,-8,-9,-9,-10,-10,-10,-11,-10,-9,-8,-8,-8,-7,-7,-7,-6,-6,-5,-4,-4,-6,-5,-4,-3,-3,-2,-2,-2,-2,-2,-1,-2,-2,-1,-1,-1,-1,-1,0,0,0,0,-1,0,0,0,1,2,2,3,4,3,4,5,6,6,6,5,6,6,4,5,2,2,0,-5,-13,-18,-24,-32,-38,-45,-51,-53,-60,-60,-62,-93,-80,-71,
+9,-28,-8,-13,-13,-14,-13,-8,-6,-7,-5,-3,-1,0,-1,0,5,6,8,11,12,8,9,8,8,7,6,6,5,4,3,3,2,1,1,1,1,0,-1,-2,-2,-2,-4,-4,-5,-6,-6,-7,-7,-7,-8,-6,-6,-5,-4,-5,-5,-4,-4,-3,-3,-2,-2,-1,-3,-2,-1,0,0,0,0,0,1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,2,2,2,3,3,4,4,5,5,6,7,7,8,8,7,8,8,8,8,5,5,5,1,-6,-12,-18,-30,-40,-47,-54,-59,-66,-64,-67,-84,-79,-79,
+8,-27,-5,-8,-6,-6,-5,-4,-1,-1,2,5,5,7,6,9,10,11,11,12,12,13,13,12,12,12,11,11,10,9,8,7,6,6,7,7,6,5,4,4,3,2,2,2,2,2,1,1,0,0,0,1,1,1,2,2,2,2,2,2,3,4,3,4,3,4,3,3,4,5,5,4,4,4,4,5,5,5,4,4,5,5,4,4,5,5,3,4,4,5,5,7,7,8,9,9,9,10,11,11,12,11,11,12,10,9,8,7,5,0,-8,-13,-19,-27,-33,-40,-47,-49,-56,-55,-60,-78,-73,-76,
+4,-29,-9,-10,-12,-12,-11,-10,-8,-12,-10,-9,-15,-14,-16,-15,6,6,5,5,6,28,27,26,25,23,22,21,21,19,19,17,17,16,17,16,15,14,13,12,11,10,10,10,10,9,8,8,7,8,7,7,7,8,8,8,8,8,8,9,9,10,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,8,9,9,8,8,8,9,8,8,8,9,9,10,11,12,12,13,13,14,14,15,15,14,15,15,15,15,12,11,14,9,2,-2,-7,-9,-15,-20,-25,-30,-35,-34,-68,-103,-88,-97,
+17,-17,2,0,-1,0,3,-1,2,0,3,6,-2,1,1,4,0,2,1,3,4,1,1,2,2,3,3,3,2,3,3,2,1,0,-1,-2,-3,-3,0,-1,-2,-3,-5,-6,-5,-6,-7,-7,-8,-8,-9,-8,-8,-7,-6,-6,-5,-4,-4,-3,-3,-3,-2,-1,0,0,0,1,1,-1,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,2,2,2,3,3,3,4,5,6,7,7,6,7,6,6,6,5,4,3,2,2,-3,-10,-15,-21,-29,-36,-43,-50,-57,-64,-60,-64,-81,-67,-80,
+30,-4,15,13,12,12,14,9,11,8,11,13,3,6,5,8,4,5,4,6,7,3,2,3,3,3,3,2,2,3,3,2,1,0,-1,-2,-3,-3,-2,-2,-3,-4,-6,-6,-6,-7,-7,-8,-8,-9,-10,-10,-9,-8,-8,-8,-7,-6,-5,-5,-5,-4,-4,-3,-3,-2,-2,-2,-1,-3,-2,-2,-1,-2,-1,-1,-1,-2,-1,-2,-2,-2,-3,-2,-2,-2,-1,0,0,0,1,1,1,2,2,4,4,5,5,5,5,5,4,4,4,4,3,2,3,-2,-8,-14,-20,-25,-31,-38,-45,-53,-59,-55,-58,-74,-59,-69,
+21,27,6,3,5,5,6,6,8,7,9,12,6,7,8,10,7,9,9,10,12,8,8,8,9,10,10,9,9,8,8,7,7,6,4,4,4,3,5,5,4,3,2,1,0,-1,-1,-2,-3,-3,-4,-4,-3,-2,-1,-1,0,0,1,1,1,2,2,2,4,4,3,4,4,3,4,4,4,4,4,4,4,5,4,3,3,3,2,3,3,3,4,5,5,5,6,5,6,6,7,9,9,9,10,9,9,9,9,8,7,6,6,5,3,-3,-8,-14,-20,-28,-35,-41,-48,-52,-59,-59,-62,-64,-65,-70,
+37,41,19,16,17,17,16,22,22,19,19,20,16,16,15,16,14,15,14,15,17,13,14,14,14,15,15,15,15,15,15,14,13,12,11,11,11,9,12,11,10,9,8,8,7,6,5,5,4,3,3,3,4,5,6,6,7,7,7,8,7,8,8,8,10,10,10,10,10,10,10,10,10,10,11,10,10,10,10,10,10,9,8,8,8,8,10,10,10,11,11,11,11,12,12,13,14,14,15,14,13,13,13,13,12,12,11,10,9,3,-2,-8,-15,-23,-29,-35,-42,-47,-54,-54,-56,-59,-59,-64,
+18,31,11,3,7,3,2,4,4,3,3,4,5,6,4,5,5,6,4,5,5,5,4,4,3,2,2,2,1,0,-1,-1,-2,-2,-3,-4,-4,-5,-6,-7,-8,-9,-9,-10,-10,-11,-11,-12,-13,-13,-14,-14,-14,-13,-13,-13,-13,-13,-13,-13,-13,-12,-13,-12,-13,-13,-12,-11,-11,-12,-12,-12,-12,-12,-12,-11,-12,-12,-13,-12,-12,-12,-13,-13,-13,-13,-13,-12,-12,-12,-11,-11,-10,-10,-10,-9,-9,-9,-9,-8,-8,-8,-9,-9,-9,-10,-10,-11,-14,-19,-24,-30,-35,-42,-47,-54,-59,-67,-72,-76,-76,-66,-76,-73,
+40,42,17,7,9,5,2,9,7,6,5,6,7,7,4,5,5,6,3,4,4,5,5,5,4,3,3,2,2,1,1,1,1,0,0,0,0,-1,-3,-4,-5,-6,-5,-5,-5,-6,-7,-5,-6,-7,-8,-7,-7,-6,-6,-6,-7,-7,-6,-6,-5,-5,-5,-4,-5,-5,-3,-3,-2,-2,-1,-1,-1,-1,-1,0,0,-1,-1,-1,-1,-1,-2,-1,-2,-1,-2,-2,-1,-1,0,1,1,2,2,2,2,2,2,2,3,2,2,1,0,0,-1,-2,-5,-11,-17,-23,-29,-36,-42,-49,-55,-66,-70,-75,-74,-62,-71,-65,
+53,54,28,16,20,15,12,13,10,12,10,9,11,11,11,10,11,11,10,10,10,10,10,9,9,8,8,7,7,6,6,6,5,5,5,6,5,4,2,1,0,-1,0,0,0,-1,-2,-1,-2,-2,-3,-3,-2,-2,-1,-2,-2,-2,-1,-1,-1,0,-1,0,-2,-1,0,1,1,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,2,3,3,4,4,5,6,6,5,5,5,6,5,6,5,5,4,4,3,3,1,0,-6,-11,-18,-24,-29,-35,-42,-48,-68,-72,-80,-79,-53,-112,-53,
+49,68,30,17,29,22,17,21,17,19,16,14,18,17,17,16,17,17,17,17,16,16,16,16,15,14,14,13,13,13,12,12,11,12,12,11,9,9,8,7,6,5,7,6,6,5,4,6,5,4,3,4,4,4,5,4,4,5,5,6,6,6,5,6,6,6,8,8,8,8,8,8,8,10,10,10,9,10,10,9,10,10,9,9,8,9,9,10,9,9,10,11,11,12,12,12,12,11,11,11,10,10,9,8,8,7,6,4,2,-5,-10,-17,-23,-32,-38,-45,-50,-60,-64,-71,-70,-44,-115,-54,
+54,76,40,-25,-4,-8,-12,-7,-10,-1,-3,-4,-3,-1,0,-1,-4,-5,-4,-5,-6,-7,-7,-5,12,11,11,10,9,8,7,6,5,5,4,4,3,2,2,1,0,-1,-1,-2,-1,-3,-4,-1,0,4,4,18,18,18,19,19,19,20,20,20,19,20,19,19,19,19,21,21,21,18,19,19,19,20,20,20,20,20,20,20,20,20,19,19,18,19,20,21,20,20,20,22,22,22,22,23,22,22,22,22,22,21,20,19,20,19,19,18,15,10,5,-1,-6,-15,-20,-26,-31,-39,-41,-49,-48,-24,-97,-40,
+30,52,5,-10,6,-2,-8,4,0,7,3,5,7,8,8,7,7,6,7,6,5,6,5,5,4,5,4,4,3,2,1,1,0,-1,-1,-1,-2,-3,-2,-3,-3,-4,-4,-5,-5,-6,-6,-8,-9,-8,-9,-7,-6,-6,-6,-5,-5,-5,-4,-4,-3,-3,-3,-2,-2,-1,-1,-1,-1,2,2,2,3,1,2,2,2,2,3,3,4,4,6,6,6,6,5,6,5,5,6,5,6,6,6,7,7,8,8,7,7,6,5,4,5,4,3,1,1,-5,-12,-19,-25,-32,-38,-47,-52,-64,-68,-73,-69,-42,-50,-45,
+31,55,10,-5,12,3,-5,9,14,11,6,8,11,11,12,9,11,9,10,9,8,8,7,7,6,7,6,5,5,3,2,2,1,0,-1,-1,-2,-3,-1,-2,-2,-3,-4,-4,-4,-5,-5,-8,-8,-8,-9,-7,-6,-6,-6,-5,-4,-4,-4,-3,-3,-3,-2,-2,-2,-1,-1,-1,0,1,1,2,2,1,2,2,2,2,3,3,4,4,5,6,5,6,5,6,5,6,6,6,6,6,7,8,8,9,8,8,7,7,6,5,7,5,4,2,2,-5,-11,-18,-24,-30,-36,-45,-50,-61,-64,-70,-68,-41,-50,-47,
+31,67,9,-7,16,7,-1,14,7,16,10,6,17,18,18,15,17,15,16,14,13,15,14,14,13,13,12,11,10,9,8,8,7,6,5,5,4,3,4,4,3,3,2,1,1,0,-1,-1,-2,-2,-2,-1,-1,-1,0,0,1,2,2,2,2,3,3,3,4,4,4,5,5,8,8,8,9,8,8,9,9,10,10,11,11,11,11,12,12,12,11,12,12,13,12,12,12,12,12,12,12,13,13,14,14,14,12,11,12,10,9,7,8,1,-5,-11,-18,-27,-33,-41,-46,-56,-60,-65,-63,-36,-79,-46,
+30,76,15,0,29,22,16,25,20,31,2,5,29,35,33,3,29,27,29,27,26,23,22,22,21,19,18,17,17,15,14,14,13,12,11,11,10,9,9,9,9,8,7,6,6,5,5,4,4,3,3,3,3,4,4,5,5,6,6,6,7,8,8,8,8,9,9,10,10,13,13,14,14,14,14,15,15,15,16,16,16,16,17,17,17,17,16,17,17,17,17,17,17,17,17,18,18,19,18,19,18,19,18,16,18,16,14,11,13,5,-1,-8,-15,-21,-28,-36,-42,-50,-55,-60,-59,-33,-79,-47,
+45,76,21,4,22,6,-7,4,1,6,-3,-1,3,9,3,-3,7,3,4,1,-1,1,-1,-2,-3,-2,-3,-3,-4,-5,-6,-7,-8,-8,-8,-9,-10,-11,-11,-12,-11,-12,-11,-12,-11,-11,-12,-13,-13,-13,-13,-13,-13,-12,-11,-11,-11,-11,-10,-10,-9,-8,-8,-7,-6,-6,-5,-5,-4,-3,-2,-2,-1,-1,0,0,0,1,1,1,1,1,2,1,1,1,3,3,3,3,3,4,4,4,4,4,4,5,5,6,5,6,5,4,3,3,3,1,0,-5,-10,-16,-23,-30,-36,-43,-48,-57,-62,-63,-62,-44,-65,-55,
+72,89,22,0,21,8,-2,3,15,9,2,9,4,11,6,2,8,4,6,4,2,1,0,-1,-3,-3,-4,-4,-5,-6,-6,-7,-8,-8,-8,-9,-10,-11,-12,-12,-12,-13,-13,-13,-12,-12,-13,-15,-14,-14,-14,-15,-14,-14,-13,-13,-13,-13,-12,-12,-10,-10,-9,-9,-7,-6,-6,-5,-5,-3,-3,-2,-2,0,1,1,2,2,2,3,3,3,3,3,3,3,4,4,4,5,5,5,5,6,6,6,6,7,7,6,6,6,6,4,3,3,2,0,0,-7,-12,-19,-26,-30,-36,-43,-49,-56,-61,-62,-62,-44,-57,-51,
+70,82,22,3,22,12,4,16,10,9,4,8,11,12,8,4,12,9,9,6,5,6,5,4,3,4,3,1,0,0,-1,-2,-2,-2,-2,-3,-3,-4,-5,-6,-7,-7,-7,-7,-7,-7,-7,-8,-8,-8,-9,-9,-8,-8,-7,-7,-8,-6,-6,-5,-4,-4,-3,-2,-1,-1,0,0,1,1,2,3,3,5,6,6,7,7,7,8,8,8,7,7,7,8,9,9,9,9,9,10,10,10,10,10,11,12,12,11,10,11,10,9,9,7,7,5,5,-2,-6,-13,-19,-24,-30,-37,-43,-48,-53,-54,-53,-58,-48,-43,
+76,82,39,22,27,18,11,18,16,15,11,18,15,16,14,11,15,13,13,12,10,9,9,8,7,7,7,5,4,4,3,3,2,2,2,1,1,0,-1,-1,-1,-2,-2,-2,-1,-2,-2,-2,-2,-2,-3,-3,-2,-2,-1,-1,-1,0,1,1,3,3,4,4,6,6,7,7,7,7,8,9,9,11,12,12,12,13,13,13,13,14,14,14,14,14,15,15,15,15,15,16,17,16,16,16,16,16,16,16,16,16,15,14,15,14,13,10,11,5,1,-6,-12,-16,-22,-29,-34,-42,-46,-48,-47,-54,-41,-37,
+74,43,15,12,12,11,11,11,7,7,7,3,4,0,1,2,-1,-1,-2,-1,-1,-6,-6,-7,-7,-9,-9,-10,-10,-10,-11,-11,-11,-12,-12,-12,-13,-13,-14,-15,-15,-16,-17,-18,-19,-19,-19,-21,-21,-21,-22,-23,-23,-22,-22,-21,-21,-21,-21,-20,-20,-20,-20,-20,-19,-19,-19,-18,-18,-18,-17,-16,-16,0,7,6,8,8,8,8,8,8,9,9,9,9,10,10,10,10,11,11,12,12,12,11,12,13,12,10,11,-2,-10,-11,-12,-13,-12,-13,-17,-23,-26,-32,-37,-22,-43,-56,-61,-44,-47,-41,-34,-33,-22,-22,
+31,26,18,16,18,21,23,11,10,14,18,2,6,3,6,8,-1,0,1,2,3,-4,-4,-3,-3,-6,-5,-6,-6,-6,-6,-5,-5,-6,-7,-7,-6,-7,-7,-7,-7,-7,-8,-8,-9,-9,-10,-10,-11,-11,-11,-12,-11,-11,-11,-9,-8,-8,-8,-7,-7,-7,-7,-6,-4,-4,-3,-3,-3,-4,-3,-2,-1,-1,-1,1,1,1,2,2,2,3,4,4,5,5,6,6,6,6,7,7,9,8,8,8,8,9,8,8,7,8,6,5,3,2,1,-2,-2,-9,-14,-20,-26,-30,-36,-42,-47,-51,-55,-55,-54,-53,-47,-38,
+23,22,17,18,22,25,29,16,17,22,27,9,13,11,15,17,1,5,3,6,11,-1,-2,-1,0,-3,-2,-3,-2,-3,-2,1,2,-2,-1,0,1,1,1,1,0,0,-1,-2,-2,-2,-3,-4,-4,-4,-5,-6,-5,-5,-4,-3,-3,-2,-2,-2,-3,-2,-2,-2,0,0,1,1,1,1,2,2,3,2,2,4,4,4,5,5,5,6,7,7,8,8,9,9,10,10,11,10,12,12,11,12,11,12,12,13,12,12,11,9,9,8,7,4,4,-3,-8,-15,-22,-29,-35,-41,-47,-53,-58,-58,-57,-46,-51,-40,
+36,25,31,33,27,32,38,28,20,27,34,15,21,10,15,18,7,10,7,9,11,4,2,3,4,1,2,2,3,2,2,3,4,3,3,4,4,4,5,5,4,4,3,3,2,2,1,1,0,0,-1,0,0,0,1,2,3,3,3,3,3,3,3,4,5,5,5,6,5,5,5,6,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,12,14,13,15,14,16,15,14,15,15,16,15,16,14,16,14,11,11,9,8,5,8,0,-3,-10,-14,-18,-22,-29,-34,-38,-43,-43,-42,-40,-49,-25,
+47,25,18,16,40,45,48,-8,8,43,47,-17,-14,2,32,6,-22,-19,-7,0,0,-28,-19,-4,-4,-5,-5,-6,-6,-5,-5,-5,-5,-5,-3,-1,7,22,21,20,20,19,18,17,17,16,15,14,14,13,12,12,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,15,14,15,14,14,14,14,15,15,16,16,16,17,17,18,17,18,18,20,19,21,20,22,21,20,21,20,22,21,23,21,23,21,20,19,19,19,17,16,10,8,3,-4,-11,-13,-19,-25,-29,-34,-33,-33,-32,-45,-24,
+35,18,14,10,6,10,16,10,0,8,15,2,8,-3,1,-4,-1,2,-8,-6,-4,-9,-10,-9,-7,-10,-9,-11,-10,-6,-5,-5,-5,-3,-2,-2,-2,-2,-2,-3,-3,-4,-7,-7,-3,-4,-7,-9,-9,-10,-10,-10,-9,-8,-8,-3,-3,-2,-1,-1,-1,0,-5,-4,-2,-2,-4,-4,-2,-1,-1,-1,-1,-4,-4,-3,-3,-3,-2,2,2,2,1,3,3,3,7,6,8,7,10,10,15,14,12,14,12,17,14,16,14,16,12,15,17,22,17,11,14,6,2,-6,-9,-18,-25,-33,-41,-45,-50,-49,-48,-48,-140,-21,
+-17,-35,-42,-47,-52,-50,-43,-41,-50,-42,-34,-39,-32,-43,-37,-36,-31,-27,-35,-31,-28,-28,-29,-25,-22,-23,-20,-19,-16,-10,-7,-6,-3,1,2,3,4,5,4,4,3,2,-1,-2,2,1,-1,-4,-3,-4,-5,-4,-4,-3,-3,2,2,3,4,4,4,4,1,1,3,4,0,1,4,5,5,5,5,0,0,2,1,1,2,6,6,6,5,6,7,7,10,9,11,11,13,13,18,17,16,18,16,21,18,22,19,21,17,27,22,26,21,17,18,10,7,-1,-6,-14,-20,-28,-35,-38,-43,-42,-40,-40,-140,-13,
+-2,-29,-50,-57,-49,-48,-50,-44,-51,-43,-36,-45,-38,-45,-40,-42,-40,-36,-40,-37,-36,-33,-36,-33,-30,-26,-26,-26,-23,-19,-16,-14,-12,-10,-9,-5,-2,1,5,4,3,3,1,-1,3,2,1,-2,-1,-2,-2,-2,-3,0,1,2,3,4,5,8,5,7,7,9,5,6,4,6,6,7,6,6,6,2,2,3,3,4,5,9,8,8,15,16,17,17,19,19,21,20,24,23,28,27,27,27,25,30,28,32,29,31,26,37,32,36,31,25,27,19,16,8,2,-6,-11,-19,-26,-34,-39,-33,-30,-29,-140,-2,
+61,28,7,-1,7,7,9,13,5,13,20,11,18,11,16,12,17,19,16,20,20,24,21,24,27,31,31,32,35,40,42,44,47,49,50,52,53,54,54,54,53,52,51,50,53,51,50,49,52,51,50,48,48,52,53,53,53,55,55,56,56,55,53,54,57,58,57,57,57,57,57,57,57,54,54,55,54,56,56,60,60,60,61,63,65,65,66,65,69,69,69,68,72,71,73,72,74,75,72,75,72,81,76,75,74,81,75,69,75,67,68,60,54,47,44,37,31,25,21,24,26,33,35,53,
+38,1,-19,-28,-19,-19,-22,-15,-20,-13,-6,-13,-8,-11,-7,-11,-7,-6,-4,-1,-4,-2,-2,1,3,4,7,9,11,13,15,17,19,24,25,25,26,27,28,29,29,28,30,29,31,30,29,28,30,29,28,29,29,30,30,32,33,33,34,35,37,37,37,39,38,40,38,40,39,40,39,40,40,42,42,43,43,46,46,48,48,48,48,51,51,51,56,56,57,57,57,57,57,56,62,61,64,63,60,74,64,66,62,84,66,67,61,55,62,53,51,43,39,31,34,25,18,11,10,17,17,6,11,39,
+-22,-46,-62,-70,-60,-59,-57,-52,-56,-50,-44,-47,-43,-46,-43,-39,-36,-36,-33,-30,-30,-28,-27,-25,-22,-20,-17,-15,-12,-8,-5,-2,0,5,7,8,9,11,14,15,16,16,18,18,21,21,22,22,24,24,24,25,25,25,25,28,29,28,29,30,31,31,31,32,33,34,33,34,35,35,35,36,36,38,37,39,38,42,42,44,44,43,43,46,46,47,48,48,50,50,50,50,51,51,53,53,56,56,55,57,55,58,56,60,56,60,56,52,54,46,45,37,34,26,28,20,14,6,4,10,7,-8,-5,9,
+22,-27,-42,-44,-32,-31,-27,-21,-36,-30,-25,-19,-15,-24,-21,-17,-14,-12,-10,-7,-4,-2,11,13,16,17,21,23,26,23,26,29,32,36,38,46,48,49,51,52,52,52,55,54,56,56,54,60,65,64,63,62,63,66,66,68,68,68,69,69,71,70,70,72,70,75,77,78,79,80,79,79,80,81,81,82,83,85,85,87,88,86,87,89,89,90,90,91,92,92,91,92,92,92,93,93,97,96,96,95,94,98,97,98,96,100,97,94,94,86,86,78,76,67,69,41,43,40,42,53,42,38,7,32,
+71,14,2,3,20,26,29,34,19,23,27,30,31,21,22,25,26,26,26,26,29,29,39,40,41,42,43,44,45,42,43,45,46,49,50,58,59,59,63,64,64,63,68,67,68,68,66,64,71,70,71,67,67,73,74,74,75,76,77,78,79,78,79,81,74,76,82,83,77,78,78,78,79,80,80,86,86,88,88,91,92,91,89,95,96,97,97,98,100,101,93,94,102,102,96,95,105,105,104,97,96,108,106,103,97,109,106,103,95,88,95,87,85,77,73,43,40,36,47,55,53,53,11,18,
+-10,-14,-14,-26,-19,-10,-10,-5,-6,-1,2,-6,-4,-1,-1,3,2,5,5,5,9,7,10,9,10,13,16,17,17,22,23,27,28,32,32,35,36,36,39,41,41,40,45,44,45,45,48,49,50,49,49,52,52,53,53,53,53,53,55,54,54,54,55,55,55,56,55,56,54,54,54,54,55,56,57,57,57,58,58,62,62,63,60,67,68,69,70,71,74,74,66,67,76,76,71,70,81,82,82,74,74,87,85,85,77,91,88,86,78,72,80,73,70,62,58,29,25,21,35,38,31,24,-15,-28,
+-35,-34,-26,-31,-24,-16,-14,-11,-13,-10,-9,-9,-9,-6,-7,-3,-4,-1,-2,-3,1,0,3,2,2,5,8,8,8,10,10,14,14,16,17,19,20,20,22,24,23,23,25,24,25,24,26,26,27,27,27,29,29,30,30,31,32,33,33,34,35,35,36,37,37,38,37,38,39,39,39,39,39,41,41,41,41,42,42,44,44,45,47,48,49,50,49,50,50,51,52,52,53,53,54,54,56,56,57,58,58,57,58,59,59,58,58,58,58,54,47,42,39,33,28,22,21,13,16,18,4,89,-43,-47,
+-35,-38,-40,-40,-29,-17,-28,-22,-18,-16,-15,-15,-16,-18,-19,-9,-11,-13,-15,-16,-7,-8,-10,-11,-12,-4,-5,-5,-5,1,2,2,3,8,9,9,10,10,15,15,14,13,18,17,15,14,15,17,17,17,17,20,21,21,22,23,24,25,27,28,26,28,29,31,30,32,32,33,32,33,33,34,34,35,35,35,35,36,36,37,38,38,39,40,41,42,42,43,43,45,44,45,46,47,46,47,48,50,50,50,51,51,53,55,53,52,54,56,52,49,43,40,33,29,25,20,17,9,20,14,0,15,-40,-60,
+-100,-100,-100,-100,-100,-95,-100,-100,-100,-100,-99,-97,-98,-94,-95,-89,-92,-87,-89,-90,-84,-86,-83,-85,-86,-81,-78,-79,-79,-77,-76,-73,-73,-69,-68,-67,-66,-66,-63,-64,-63,-64,-61,-63,-62,-63,-64,-62,-60,-60,-60,-58,-57,-57,-57,-56,-55,-55,-54,-53,-52,-53,-52,-50,-51,-50,-50,-48,-48,-48,-48,-47,-47,-46,-46,-47,-47,-47,-47,-47,-46,-45,-46,-46,-45,-45,-45,-44,-44,-45,-45,-44,-44,-43,-44,-44,-43,-41,-39,-42,-39,-37,-34,-31,-37,-34,-31,-28,-36,-37,-39,-40,-49,-55,-58,-63,-62,-69,-78,-83,-87,8,-126,-127,
+-100,-100,-100,-90,-98,-88,-99,-94,-98,-97,-97,-93,-94,-89,-92,-86,-89,-86,-88,-90,-87,-93,-94,-97,-99,-96,-94,-95,-96,-95,-95,-92,-92,-89,-89,-86,-86,-86,-85,-86,-85,-87,-86,-88,-86,-87,-88,-86,-85,-85,-85,-83,-83,-82,-81,-81,-80,-80,-79,-77,-76,-75,-75,-74,-74,-73,-73,-72,-71,-70,-70,-70,-69,-69,-68,-68,-68,-68,-67,-66,-65,-64,-65,-63,-63,-59,-46,-46,-45,-44,-45,-44,-43,-41,-42,-40,-39,-37,-34,-37,-34,-36,-33,-30,-35,-32,-34,-31,-37,-38,-47,-48,-50,-62,-67,-70,-75,-80,-73,-79,-78,-72,-119,-121,
+-97,-100,-100,-98,-100,-97,-100,-98,-100,-100,-100,-97,-99,-95,-99,-94,-97,-100,-96,-99,-96,-100,-97,-100,-100,-99,-98,-98,-99,-98,-98,-97,-97,-95,-94,-91,-91,-92,-91,-92,-90,-92,-91,-93,-91,-92,-92,-91,-91,-88,-88,-88,-87,-86,-86,-85,-84,-84,-83,-81,-82,-81,-81,-79,-79,-78,-78,-77,-77,-76,-77,-76,-75,-75,-75,-74,-73,-74,-73,-72,-72,-71,-72,-71,-70,-69,-70,-68,-68,-62,-60,-58,-57,-54,-52,-51,-49,-47,-44,-44,-40,-43,-38,-33,-35,-30,-32,-27,-31,-34,-40,-40,-40,-51,-52,-56,-63,-68,-66,-70,-70,-122,-132,-130,
+100,100,100,100,100,100,63,56,58,52,50,53,41,41,28,29,23,17,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,34,26,30,36,-20,-24,-28,-32,-36,-40,-44,-48,-52,-52,-54,-62,-52,-42,
+100,100,100,100,100,100,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,84,80,76,72,68,64,60,56,52,48,48,55,38,48,70,
diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_tblY_PLeft_T0.h b/drivers/input/touchscreen/wacom/wacom_i2c_tblY_PLeft_T0.h new file mode 100644 index 0000000..ece0476 --- /dev/null +++ b/drivers/input/touchscreen/wacom/wacom_i2c_tblY_PLeft_T0.h @@ -0,0 +1,71 @@ +28,-19,-20,-21,-22,-24,-26,63,61,60,62,40,51,60,58,55,54,52,50,48,46,44,43,42,41,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
+108,96,95,92,76,81,73,74,73,75,77,28,41,56,66,71,71,73,64,62,67,70,63,57,61,65,65,60,55,67,70,66,64,70,74,75,72,69,78,80,77,74,81,84,84,81,84,89,90,88,84,97,98,97,92,99,102,102,101,98,105,106,104,101,106,107,106,105,105,109,109,107,104,111,111,109,105,108,108,106,104,100,105,104,102,98,103,102,101,97,100,99,97,96,91,99,98,99,95,102,101,98,98,93,104,101,105,98,109,106,101,105,106,113,109,110,106,86,97,109,112,120,120,120,
+112,100,96,100,86,95,87,92,89,91,90,83,84,85,85,86,78,80,75,76,68,68,66,66,61,60,63,62,63,61,63,63,66,63,74,76,70,64,67,68,69,70,69,71,72,74,75,83,87,87,84,91,95,95,90,93,100,100,97,92,102,104,102,98,102,106,105,102,96,108,109,107,101,108,111,108,102,103,107,106,101,96,103,104,102,96,96,90,88,88,87,88,86,88,87,98,99,96,90,90,92,92,97,94,100,99,101,100,107,104,102,107,105,112,111,114,114,115,118,110,99,120,120,69,
+125,95,108,110,101,91,83,98,93,89,87,86,85,85,85,85,80,80,80,80,70,70,70,71,65,65,66,68,70,67,69,70,72,73,71,72,72,71,72,72,71,72,73,74,73,73,74,75,74,75,75,75,76,75,77,77,78,79,81,82,82,82,85,85,86,86,86,87,87,88,88,90,90,90,90,90,89,89,88,88,89,88,88,87,88,88,89,88,87,87,86,86,85,87,86,87,87,87,90,90,95,94,97,96,100,100,102,101,106,105,104,109,108,115,114,117,118,116,120,120,120,120,120,62,
+77,82,102,77,66,85,78,83,77,77,73,70,68,65,66,64,61,60,58,57,51,50,50,48,45,44,46,45,47,46,47,48,47,48,48,49,49,50,47,48,48,48,50,51,52,53,54,55,56,58,59,60,61,62,64,65,68,69,70,71,73,73,74,74,77,77,78,78,78,81,81,81,81,83,83,83,82,82,82,82,81,82,82,82,81,81,83,82,82,81,81,82,82,81,81,83,84,84,85,86,88,88,88,89,92,92,92,92,96,96,96,96,96,99,101,102,105,94,99,106,106,118,120,120,
+-1,20,52,31,23,43,36,42,36,35,29,24,25,21,19,15,15,11,9,6,4,2,0,-2,-3,-4,-3,-4,-3,-3,-3,-2,-3,-3,-1,-1,-1,-1,-3,-3,-4,-3,-2,-1,0,0,1,3,5,6,7,9,10,11,13,14,16,17,20,20,20,21,24,24,25,25,25,27,27,27,28,30,31,31,31,31,32,31,30,30,30,30,29,29,30,29,29,29,28,29,29,29,28,29,29,30,30,32,33,34,35,36,37,38,38,39,41,43,43,43,45,46,48,48,50,51,54,53,54,60,50,58,66,70,
+-1,11,18,14,6,27,18,17,8,21,12,3,0,-8,1,-5,-16,-22,-13,-18,-31,-35,-38,-35,-37,-38,-38,-28,-28,-26,-26,-27,-27,-28,-34,-35,-35,-36,-36,-37,-38,-38,-37,-36,-35,-26,-25,-30,-29,-25,-24,-21,-19,-17,-14,-12,-2,0,2,1,2,3,3,2,3,4,4,4,4,4,4,5,4,5,6,4,6,6,3,4,5,6,6,7,8,8,7,8,9,10,11,11,11,13,14,13,15,18,21,23,19,22,25,29,22,26,30,35,25,30,34,39,43,34,41,46,51,55,48,55,45,51,55,18,
+-58,-37,-17,-12,-16,8,1,-2,-11,3,-6,-15,-18,-27,-18,-26,-36,-43,-34,-40,-51,-56,-59,-57,-59,-60,-62,-52,-54,-52,-53,-54,-56,-57,-62,-64,-64,-66,-66,-68,-68,-70,-70,-69,-69,-59,-59,-64,-63,-60,-59,-57,-55,-54,-51,-49,-39,-39,-36,-35,-33,-32,-30,-29,-29,-29,-28,-26,-26,-30,-29,-27,-26,-26,-25,-25,-24,-23,-17,-17,-16,-16,-17,-17,-22,-21,-17,-16,-15,-19,-19,-14,-13,-20,-19,-13,-10,-7,-13,-9,-5,-2,-14,-9,-15,-10,-10,-5,-3,4,9,-5,1,6,13,20,7,14,6,13,14,19,11,32,
+-40,-25,1,-9,-10,1,-4,0,-7,0,-8,-15,-17,-24,-19,-26,-32,-37,-36,-41,-43,-49,-52,-48,-51,-52,-54,-50,-52,-51,-52,-52,-53,-54,-56,-58,-58,-59,-60,-61,-61,-62,-62,-63,-62,-60,-59,-58,-57,-55,-54,-51,-50,-49,-48,-47,-44,-43,-42,-41,-39,-38,-38,-38,-36,-35,-34,-34,-33,-32,-31,-31,-30,-29,-28,-28,-29,-29,-29,-29,-31,-30,-30,-29,-31,-31,-30,-29,-28,-25,-19,-21,-14,-18,-17,-13,-9,-6,-12,-9,-5,-2,-14,-9,-22,-11,-11,-5,-13,3,9,-6,1,6,12,19,5,10,6,9,9,9,-4,11,
+-26,-4,28,22,24,36,32,35,25,31,21,13,7,0,5,-3,-8,-14,-13,-18,-21,-26,-31,-27,-29,-31,-33,-29,-30,-30,-31,-32,-32,-33,-35,-36,-36,-38,-38,-39,-39,-39,-40,-40,-40,-37,-37,-36,-35,-33,-32,-29,-27,-26,-24,-23,-21,-20,-19,-18,-16,-15,-15,-14,-13,-11,-11,-10,-9,-9,-8,-8,-7,-7,-5,-5,-6,-6,-6,-5,-6,-6,-5,-4,-6,-5,-5,-4,-3,-6,-4,-5,-3,-5,-3,-6,-3,0,-5,-2,-1,3,-5,0,0,4,-4,1,5,11,17,7,14,7,13,12,17,18,18,21,15,15,21,9,
+-21,-4,24,23,28,42,40,39,31,36,26,18,9,0,4,-5,-7,-15,-14,-21,-25,-31,-35,-36,-34,-35,-37,-37,-42,-32,-35,-31,-35,-33,-34,-37,-36,-39,-39,-43,-44,-47,-42,-43,-44,-40,-38,-34,-33,-31,-30,-26,-24,-23,-22,-20,-19,-17,-16,-15,-13,-12,-12,-11,-10,-9,-8,-8,-7,-7,-7,-7,-6,-5,-3,-3,-4,-4,-4,-3,-4,-3,-3,-2,-3,-2,-1,0,1,-1,0,-2,0,-1,1,-1,3,6,2,6,6,10,3,8,8,13,5,12,14,21,29,20,27,20,27,26,32,32,33,36,29,26,29,13,
+-22,6,10,30,37,36,35,36,29,27,18,12,5,-2,0,-7,-10,-17,-17,-23,-26,-32,-35,-31,-33,-35,-36,-30,-31,-33,-34,-28,-29,-31,-31,-32,-31,-32,-28,-29,-29,-30,-31,-32,-31,-27,-26,-26,-25,-24,-23,-25,-24,-22,-21,-20,-20,-18,-18,-17,-13,-12,-11,-11,-10,-9,-9,-9,-9,-9,-9,-12,-11,-11,-11,-11,-11,-10,-10,-9,-9,-8,-14,-13,-15,-13,-16,-14,-13,-15,-13,-14,-12,-16,-15,-14,-11,-7,-10,-7,-8,-4,-9,-4,-11,-6,-8,-5,-6,-1,4,-2,1,2,6,0,2,5,6,7,7,5,-7,-7,
+-13,1,20,39,46,46,45,43,38,37,29,22,14,8,4,-8,-5,-12,-18,-23,-30,-36,-39,-35,-37,-40,-41,-35,-36,-40,-40,-34,-34,-31,-30,-32,-28,-29,-31,-32,-31,-33,-31,-32,-32,-26,-30,-26,-28,-24,-22,-21,-19,-13,-13,-9,-12,-6,-6,-8,-1,-3,-1,0,1,1,2,2,3,1,2,-2,0,-2,0,0,0,-4,0,0,1,1,-4,-4,-5,-4,-7,-6,-5,-7,-6,-6,-5,-9,-8,-7,-4,-1,-4,-1,-2,1,-5,-2,-8,-5,-9,-5,-8,-4,1,-4,1,-2,3,-1,3,5,4,6,5,0,-14,-18,
+-1,14,32,44,51,43,43,41,36,32,25,22,20,12,9,3,-1,-7,-6,-11,-18,-23,-25,-22,-24,-27,-27,-21,-22,-26,-26,-20,-20,-23,-23,-23,-18,-18,-17,-18,-16,-16,-20,-21,-21,-14,-15,-14,-14,-13,-13,-15,-14,-13,-12,-12,-11,-11,-6,-5,-5,-4,-4,-4,-2,-2,-1,-1,-1,-2,-1,-2,-1,-2,0,-6,-6,-3,-3,-3,-4,-4,-7,-6,-13,-12,-8,-8,-7,-14,-12,-10,-9,-10,-8,-10,-7,-7,-7,-6,-4,-2,-4,-1,-6,-3,-9,-6,-5,-2,2,-1,3,1,6,5,8,9,11,11,12,7,-8,-13,
+21,25,40,53,59,53,51,48,43,39,32,30,26,18,16,10,6,0,2,-3,-10,-14,-13,-12,-16,-17,-19,-12,-13,-17,-16,-10,-10,-12,-12,-12,-6,-6,-6,-5,-4,-4,-8,-8,-8,-2,-2,-2,-2,-1,0,-3,-3,-1,-1,0,0,1,6,6,7,7,7,7,8,9,9,9,10,8,9,8,9,8,9,3,3,6,6,6,5,5,2,2,-4,-3,0,1,1,-5,-4,-3,-1,-2,-1,-2,0,-1,0,0,2,5,4,6,1,4,-3,0,0,4,7,4,8,5,9,8,12,11,13,14,14,8,-8,-15,
+30,37,40,41,42,58,57,52,28,22,17,11,6,1,0,-4,-9,-12,-14,-17,-20,-23,-24,-25,-26,-27,-28,-27,-27,-27,-26,-25,-25,-24,-24,-23,-23,-22,-21,-21,-20,-19,-18,-18,-18,-17,-17,-17,-17,-16,-16,-16,-16,-14,-14,-13,-13,-12,-13,-12,-13,-13,-12,-10,-12,-12,-11,-12,-12,-13,-12,-12,-12,-13,-13,-7,-3,-16,-17,-17,-14,-18,-17,2,0,1,1,2,2,-3,-3,-1,-1,-2,0,-2,10,13,22,0,2,28,25,26,21,25,17,17,21,23,24,18,21,19,26,22,24,26,27,28,29,12,-9,8,
+42,51,57,60,62,58,56,49,45,40,34,28,22,16,13,9,5,1,-3,-6,-7,-10,-12,-12,-14,-16,-15,-15,-15,-14,-14,-13,-12,-11,-9,-9,-8,-7,-6,-6,-4,-4,-2,-2,-2,-1,-1,0,0,2,2,1,1,3,3,5,5,6,6,6,6,6,7,7,5,6,5,6,5,5,5,5,6,4,4,3,3,1,0,1,-2,-2,-3,-2,-3,-3,-5,-4,-4,-5,-7,-7,-7,-7,-7,-6,-5,-5,-3,-3,-2,0,-2,0,-2,0,-2,-1,-1,0,2,1,4,1,3,5,7,1,3,4,3,0,-14,40,
+58,65,70,71,72,69,68,61,55,48,41,32,28,24,21,16,9,6,3,0,0,-4,-5,-6,-9,-10,-10,-10,-10,-11,-11,-10,-10,-9,-8,-6,-5,-3,-2,-1,0,0,1,1,1,3,3,4,4,5,5,4,5,6,6,9,9,10,10,10,10,11,10,10,9,10,9,9,9,9,9,9,9,9,9,8,8,3,5,4,4,4,3,3,1,2,0,0,0,-1,-2,-2,-2,-3,-2,-2,1,2,3,2,3,6,6,8,8,10,8,9,11,11,11,10,10,10,11,11,10,7,8,8,5,1,-17,-3,
+67,72,79,79,79,79,76,66,60,53,46,36,32,28,24,20,14,10,8,4,4,1,0,-1,-4,-5,-5,-6,-5,-6,-5,-5,-4,-3,-3,-2,0,0,1,2,2,3,5,5,5,6,7,8,8,9,9,9,9,9,10,12,13,12,14,14,14,14,14,14,13,13,13,13,13,12,13,12,13,13,13,12,12,10,9,9,8,8,8,7,6,5,4,4,4,4,3,2,3,1,1,2,4,4,5,6,7,8,10,11,13,15,16,17,16,17,17,17,16,15,16,18,19,13,14,13,9,5,-15,-13,
+78,80,85,83,82,81,78,71,65,58,52,43,40,37,35,31,25,22,20,18,15,12,11,10,8,7,7,7,7,6,6,6,7,6,7,7,9,9,10,10,10,11,12,12,12,13,13,13,13,14,14,14,15,15,15,16,16,16,17,17,17,17,17,17,17,18,17,17,17,17,18,16,17,17,17,15,15,14,13,13,12,11,11,10,8,8,6,6,6,6,6,4,5,2,2,3,4,4,5,6,7,8,9,10,13,14,14,14,14,14,14,14,14,12,13,13,15,11,11,10,6,3,-14,-7,
+60,58,54,58,55,54,48,43,37,30,24,22,18,13,10,5,4,0,-3,-6,-11,-14,-15,-16,-18,-19,-19,-20,-20,-18,-19,-19,-19,-18,-17,-16,-15,-15,-14,-13,-12,-11,-10,-10,-9,-9,-7,-7,-7,-6,-6,-2,-2,-2,-1,-3,-2,-2,-1,-1,0,0,0,0,0,0,1,1,2,3,3,3,3,5,5,5,5,4,3,3,2,3,1,1,-2,-2,-2,-3,-4,-5,-6,-6,-6,-6,-6,-6,-5,-4,-3,-2,-1,0,1,2,2,3,3,3,0,1,0,0,-1,-3,-3,-5,-5,-7,-8,-9,-14,-19,-48,-35,
+59,56,51,54,51,52,56,44,38,37,31,24,23,19,15,11,10,6,3,0,-5,-8,-10,-11,-12,-14,-14,-14,-15,-13,-13,-13,-13,-13,-13,-12,-11,-11,-11,-10,-9,-8,-8,-7,-6,-5,-5,-5,-4,-4,-4,-1,0,1,1,-1,0,0,2,2,2,2,2,3,3,3,4,4,5,5,6,5,6,8,9,8,8,6,6,6,6,5,4,4,1,1,0,0,-1,-2,-3,-3,-3,-3,-4,-4,-3,-1,0,0,1,2,3,4,3,5,5,6,3,3,2,2,1,2,2,0,-1,-1,-2,-2,-6,-9,-43,-48,
+58,64,52,69,64,69,62,55,48,42,35,32,27,22,20,15,15,11,7,4,-1,-4,-5,-6,-7,-10,-10,-10,-10,-9,-9,-8,-8,-9,-9,-8,-7,-7,-6,-6,-5,-5,-4,-4,-3,-2,-1,-1,0,1,1,5,5,7,7,5,5,6,7,7,8,8,8,9,8,9,9,9,9,10,10,11,12,12,13,13,12,12,11,11,10,10,9,8,7,7,6,6,5,5,4,4,4,2,2,2,3,5,6,7,9,10,10,10,10,11,10,10,9,10,9,9,7,8,8,7,7,5,4,3,-2,-6,-40,-26,
+56,60,47,62,57,63,56,49,42,37,31,27,23,18,16,12,11,7,5,1,-2,-5,-7,-8,-9,-11,-11,-11,-11,-11,-11,-10,-10,-11,-11,-11,-10,-10,-9,-9,-9,-8,-8,-7,-6,-6,-5,-4,-4,-2,-2,1,2,3,3,2,2,3,4,4,4,5,5,6,6,7,6,7,7,8,9,9,10,11,12,12,12,12,11,11,10,10,8,8,7,7,6,6,4,4,4,4,4,2,3,2,4,5,6,7,8,9,9,10,8,10,9,10,5,6,5,6,3,3,4,2,3,-2,-2,-5,-9,-13,-46,-30,
+47,40,13,34,24,31,24,30,24,21,15,16,10,4,2,-4,-4,-9,-12,-17,-15,-20,-21,-23,-22,-25,-26,-26,-26,-25,-26,-26,-26,-25,-25,-26,-26,-26,-25,-25,-25,-25,-22,-22,-21,-20,-18,-18,-17,-16,-15,-15,-14,-13,-13,-12,-11,-11,-11,-10,-10,-9,-9,-8,-8,-7,-6,-6,-6,-5,-5,-5,-4,-4,-3,-5,-5,-6,-6,-7,-8,-8,-9,-9,-11,-11,-12,-13,-14,-15,-15,-16,-16,-17,-17,-16,-15,-15,-14,-13,-12,-11,-12,-10,-8,-7,-8,-7,-1,0,-2,-1,3,4,5,3,3,3,1,-1,-5,-10,-50,-26,
+52,38,15,38,30,38,31,35,28,25,19,20,15,9,6,1,1,-4,-6,-12,-9,-13,-15,-18,-17,-20,-21,-21,-21,-21,-21,-21,-22,-21,-21,-22,-22,-21,-21,-20,-21,-20,-18,-18,-17,-17,-15,-14,-14,-13,-12,-13,-13,-11,-11,-9,-9,-8,-7,-7,-6,-6,-5,-4,-3,-3,-2,-1,-2,-1,0,1,1,2,3,2,2,1,1,1,1,1,0,0,-1,-1,-3,-3,-4,-4,-6,-6,-5,-5,-6,-5,-4,-2,-1,-2,-1,1,2,2,2,4,4,6,5,7,6,9,8,10,11,10,10,8,7,4,1,-4,-45,-24,
+44,45,20,43,33,41,34,39,33,30,24,25,19,14,11,5,6,1,0,-5,-6,-10,-12,-13,-12,-15,-16,-15,-15,-15,-16,-15,-15,-16,-16,-17,-16,-16,-15,-15,-14,-14,-12,-12,-11,-11,-9,-9,-9,-8,-7,-8,-8,-7,-6,-5,-4,-3,-3,-2,-1,-1,0,1,1,1,2,3,2,3,4,5,6,7,8,7,6,6,6,5,4,4,4,3,1,1,1,1,0,0,-1,-1,-1,-2,-1,0,2,2,3,3,4,6,6,5,6,9,8,10,7,9,8,11,12,13,14,14,14,9,8,5,3,-2,-36,-20,
+42,42,16,36,27,37,32,37,30,26,20,23,17,11,8,2,4,-1,-3,-7,-5,-9,-11,-13,-12,-14,-16,-15,-15,-14,-16,-14,-15,-15,-16,-16,-16,-15,-14,-14,-13,-13,-12,-11,-10,-10,-9,-8,-8,-7,-6,-7,-7,-5,-5,-3,-3,-2,-1,-1,0,1,2,2,2,3,4,5,5,6,6,7,8,9,10,9,8,8,8,8,7,7,7,7,5,5,4,4,3,3,2,2,2,2,2,3,4,5,7,6,8,9,10,8,10,12,12,14,9,12,12,14,14,15,16,17,16,12,10,8,5,-1,-36,-23,
+22,28,-1,33,28,34,28,26,22,21,17,10,7,3,1,-2,-10,-13,-14,-17,-25,-28,-29,-30,-33,-35,-35,-35,-35,-36,-36,-35,-36,-35,-35,-35,-35,-35,-35,-35,-34,-34,-23,-32,-29,-23,-30,-12,-23,-15,-13,-13,-9,-6,-6,-4,-4,-3,-3,-3,-2,-2,-2,-1,-2,-2,1,-1,2,9,23,16,23,25,23,22,23,22,22,21,20,19,19,18,16,15,15,15,13,13,13,12,12,11,11,13,14,14,15,16,18,19,18,19,21,22,21,22,24,25,24,26,29,31,31,31,31,33,32,31,28,7,-45,-26,
+27,31,3,38,33,40,36,35,31,29,25,21,17,12,10,6,2,-2,-4,-7,-11,-14,-16,-17,-19,-20,-21,-20,-21,-21,-22,-21,-22,-20,-20,-21,-20,-20,-20,-20,-19,-19,-18,-17,-17,-16,-15,-14,-14,-13,-13,-12,-11,-10,-9,-9,-9,-8,-8,-8,-7,-7,-5,-5,-6,-6,-5,-4,-3,-3,-2,-2,-2,-1,0,-1,-2,-2,-3,-3,-4,-5,-5,-5,-6,-6,-8,-8,-9,-9,-9,-8,-9,-8,-8,-7,-6,-4,-2,-3,0,0,1,2,3,5,4,7,7,9,9,11,11,12,13,13,13,16,15,14,12,7,-30,-17,
+27,35,10,37,34,34,31,36,32,26,23,21,17,14,8,5,4,1,-3,-6,-5,-8,-10,-12,-13,-15,-15,-15,-16,-16,-17,-17,-18,-14,-15,-14,-15,-15,-15,-15,-14,-14,-12,-11,-10,-9,-9,-8,-8,-6,-6,-5,-5,-5,-4,-4,-3,-3,-4,-3,-2,-2,-2,0,-1,0,0,1,2,3,3,3,3,4,4,3,3,2,2,1,0,-1,-1,-1,-1,-2,-4,-4,-5,-5,-3,-3,-3,-2,-2,-1,0,2,3,4,5,7,7,7,10,12,11,12,13,17,17,18,14,15,16,17,16,26,23,17,12,2,-20,-24,
+21,33,12,41,40,40,38,39,36,30,27,23,20,17,12,9,7,4,1,-1,-2,-4,-6,-8,-8,-9,-10,-10,-11,-11,-11,-11,-11,-8,-8,-8,-8,-8,-9,-8,-8,-8,-6,-6,-4,-4,-3,-3,-2,-1,-1,1,1,1,2,2,2,2,2,3,4,4,4,4,4,5,5,6,6,7,8,7,8,8,8,8,8,6,6,5,5,4,3,2,3,2,-1,-1,-1,-1,0,-1,0,1,1,1,2,4,5,7,8,9,11,10,11,13,13,13,15,16,16,17,17,18,19,19,19,21,20,19,17,11,-12,-18,
+33,48,28,59,58,60,58,51,49,44,41,34,31,29,24,22,17,15,12,10,5,3,2,1,-2,-3,-3,-3,-3,-3,-4,-3,-4,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,0,1,1,2,2,2,3,4,4,4,4,4,5,4,5,4,5,5,6,5,6,6,7,6,7,7,7,8,7,8,8,8,8,7,6,4,4,4,2,1,1,0,0,-2,-2,-2,-3,-2,-2,-2,-1,0,0,1,3,5,5,7,9,10,9,10,12,12,13,14,16,16,17,16,18,18,19,19,23,22,21,18,10,-10,-11,
+31,42,19,46,48,46,46,40,39,32,30,17,15,13,8,6,-2,-4,-8,-10,-15,-18,-18,-20,-20,-21,-20,-20,-20,-19,-19,-19,-19,-20,-20,-20,-20,-19,-17,-17,-16,-16,-18,-17,-15,-15,-15,-15,-15,-14,-14,-13,-12,-12,-11,-11,-10,-10,-9,-9,-8,-8,-7,-6,-5,-4,-4,-4,-5,-4,-3,-3,-2,-2,-1,-2,-2,-4,-4,-5,-6,-8,-8,-9,-9,-10,-9,-10,-10,-11,-10,-10,-10,-11,-11,-9,-8,-6,-6,-5,-4,-3,-3,-1,0,1,1,3,6,6,7,7,10,11,12,12,12,8,6,11,10,6,-16,-27,
+39,50,29,55,57,57,56,48,47,40,38,24,21,20,14,13,3,2,-2,-4,-10,-12,-13,-14,-14,-15,-14,-14,-13,-13,-13,-12,-12,-14,-13,-13,-13,-12,-11,-10,-10,-10,-11,-11,-10,-9,-9,-9,-8,-8,-8,-8,-7,-7,-6,-6,-5,-4,-4,-4,-3,-3,-2,-1,0,1,0,1,-1,0,1,1,2,2,2,2,2,0,-1,-1,-3,-4,-5,-5,-6,-6,-6,-6,-6,-7,-7,-7,-7,-7,-7,-5,-3,-2,-1,-1,1,2,3,4,5,7,7,10,12,13,14,15,17,18,19,14,9,8,6,11,8,1,-21,-30,
+21,36,54,42,44,47,47,45,43,37,35,24,22,20,16,14,7,5,2,0,-6,-7,-8,-9,-9,-9,-9,-8,-8,-8,-8,-8,-8,-9,-9,-8,-8,-6,-4,-4,-4,-4,-4,-4,-4,-3,-4,-4,-4,-3,-3,-2,-1,0,0,1,2,2,2,2,3,4,3,4,6,7,7,8,6,7,7,7,8,8,9,7,7,6,6,5,4,2,1,1,0,-1,0,0,0,-1,-2,-2,-2,-2,-2,0,2,2,4,3,5,6,8,8,10,11,12,11,13,14,15,17,15,16,17,13,8,10,9,9,5,-1,-9,-26,
+32,45,63,50,52,55,53,48,45,40,37,24,21,19,14,12,5,3,0,-2,-9,-10,-11,-12,-12,-12,-11,-10,-10,-9,-8,-8,-8,-9,-9,-9,-9,-7,-5,-5,-5,-5,-5,-5,-5,-4,-4,-4,-3,-3,-2,-2,-1,-1,0,0,1,1,2,2,2,4,3,4,7,7,7,7,7,8,8,8,8,9,9,8,8,7,6,5,4,3,2,1,0,0,1,0,0,-1,-1,-1,-1,-1,-1,1,2,3,5,4,6,7,8,10,11,13,14,14,15,17,18,19,19,20,21,17,12,14,13,12,9,4,-5,-22,
+5,15,35,22,21,27,24,29,26,23,19,19,15,13,6,3,-1,-4,-9,-12,-16,-17,-20,-21,-23,-24,-25,-24,-24,-25,-25,-24,-23,-24,-23,-23,-22,-23,-23,-23,-22,-23,-21,-21,-20,-20,-19,-19,-19,-19,-19,-18,-18,-18,-17,-18,-18,-17,-18,-17,-17,-16,-17,-16,-17,-16,-15,-15,-16,-16,-16,-15,-15,-15,-14,-16,-16,-15,-18,-18,-20,-16,-22,-23,-24,-23,-25,-24,-7,-14,-9,-9,-4,-4,-5,-3,-2,-1,-1,0,1,2,2,4,4,5,27,25,32,32,33,33,35,35,36,31,27,25,25,25,24,21,6,-43,
+34,41,60,45,41,46,42,44,40,35,30,27,23,19,12,8,5,1,-4,-7,-9,-12,-14,-15,-18,-19,-18,-19,-19,-18,-18,-17,-17,-16,-16,-15,-15,-16,-16,-16,-16,-16,-14,-14,-13,-13,-11,-10,-10,-10,-10,-9,-9,-9,-8,-10,-9,-9,-9,-8,-7,-6,-7,-6,-6,-6,-4,-4,-3,-3,-2,-2,-2,-1,-1,-1,-2,-3,-4,-5,-6,-7,-8,-8,-9,-9,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-9,-8,-7,-6,-4,-3,-2,-1,0,1,3,3,4,4,5,7,6,7,8,8,8,4,5,0,-1,-4,1,-15,
+56,57,73,56,50,56,52,48,43,42,36,33,28,23,19,15,11,8,5,2,-4,-6,-7,-9,-10,-12,-12,-12,-12,-10,-11,-10,-10,-8,-8,-9,-9,-9,-9,-9,-9,-9,-6,-6,-5,-5,-3,-4,-3,-3,-3,-3,-3,-2,-2,-3,-3,-2,-1,-1,-1,0,0,0,1,2,3,4,2,3,3,3,4,6,6,5,5,4,3,2,1,-1,-3,-3,-5,-5,-4,-5,-6,-6,-5,-5,-5,-5,-5,-5,-4,-3,-2,-1,0,1,2,2,4,5,7,7,7,8,9,10,14,15,16,15,16,9,11,8,3,-3,10,-12,
+42,54,86,58,51,64,57,57,50,47,41,38,32,26,22,16,13,9,5,2,-1,-4,-5,-7,-9,-10,-11,-11,-11,-10,-10,-10,-10,-6,-6,-7,-7,-7,-8,-7,-7,-7,-4,-4,-3,-3,-1,-1,0,0,0,0,1,1,2,1,1,2,2,2,3,3,3,4,5,5,7,7,7,7,7,8,9,10,10,9,9,8,8,7,5,4,3,3,1,1,1,0,-1,-1,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,12,11,11,12,13,13,11,12,13,13,14,10,11,3,3,1,20,0,
+59,67,95,64,53,68,62,64,59,58,52,52,47,43,38,13,10,5,3,0,-6,-8,-9,-11,-13,-15,-15,-15,-15,-16,-16,-16,-16,-15,-15,-14,-15,-14,-14,-14,-13,-14,-11,-8,-11,-6,6,12,11,10,13,13,14,14,14,14,15,15,15,15,15,15,15,15,15,15,17,17,15,15,16,16,17,17,18,17,16,15,14,13,12,10,9,9,7,6,7,6,5,4,5,5,4,4,3,4,5,5,6,6,7,7,8,9,10,10,12,11,11,12,12,13,12,14,14,15,16,11,11,4,4,2,23,2,
+45,33,76,39,28,45,37,44,37,40,31,32,25,18,17,11,7,1,-1,-5,-8,-11,-14,-16,-17,-18,-18,-19,-19,-19,-19,-20,-19,-20,-20,-20,-19,-18,-17,-17,-16,-16,-16,-16,-15,-15,-16,-16,-15,-14,-14,-12,-11,-11,-11,-11,-10,-10,-9,-9,-8,-8,-7,-7,-6,-6,-5,-5,-3,-3,-2,-2,-2,-2,-1,-3,-3,-4,-4,-4,-5,-4,-4,-5,-6,-6,-8,-8,-9,-9,-10,-10,-10,-10,-10,-8,-7,-5,-5,-4,-3,-2,-1,3,3,4,5,6,7,7,7,9,6,7,7,4,5,1,2,-4,-4,-4,17,0,
+44,51,87,48,37,54,44,52,44,46,38,40,32,24,24,19,13,7,6,1,-1,-4,-7,-8,-9,-12,-12,-13,-13,-12,-13,-13,-13,-13,-13,-13,-12,-12,-11,-11,-10,-10,-10,-10,-10,-10,-10,-9,-9,-8,-7,-6,-5,-5,-5,-4,-4,-3,-3,-3,-2,-2,-1,-1,-1,0,0,1,3,3,4,4,4,4,5,4,3,3,2,2,1,2,1,1,0,0,-2,-2,-3,-3,-4,-5,-5,-5,-5,-3,-2,0,0,1,1,3,4,7,8,8,9,11,11,12,12,13,12,13,14,11,13,7,9,3,3,2,22,3,
+67,43,102,49,36,60,48,59,49,53,43,47,38,28,29,22,18,12,10,5,3,-1,-3,-4,-6,-8,-8,-8,-9,-9,-10,-9,-10,-9,-10,-9,-9,-8,-7,-7,-6,-6,-6,-6,-6,-6,-5,-5,-4,-3,-2,-1,-1,-1,-1,1,1,2,2,2,2,3,4,4,4,5,6,6,9,10,10,11,11,10,11,10,10,9,9,9,8,8,8,7,7,7,5,4,4,4,3,3,2,1,1,1,2,4,5,7,8,9,10,13,13,13,15,16,18,18,19,19,17,17,18,17,18,14,14,9,9,8,-20,-25,
+54,70,125,68,52,73,59,73,61,63,50,59,48,34,33,25,20,13,11,7,2,-1,-3,-4,-6,-8,-8,-9,-9,-9,-9,-10,-9,-10,-10,-10,-9,-8,-8,-8,-7,-7,-7,-7,-7,-6,-7,-6,-6,-4,-4,-4,-3,-3,-2,-1,-1,-1,-1,0,0,0,1,1,2,2,3,3,7,7,8,9,8,9,9,9,9,8,8,8,7,7,7,7,6,6,4,4,3,3,2,2,1,1,0,2,2,4,5,7,8,8,9,13,14,14,15,17,19,19,21,20,20,21,21,20,20,17,18,12,12,10,-19,-27,
+28,40,98,50,34,25,16,18,11,26,15,20,13,0,1,-8,-5,-14,-14,-19,-20,-21,-24,-24,-26,-26,-27,-26,-27,-27,-27,-27,-28,-26,-26,-27,-26,-27,-26,-26,-25,-25,-24,-24,-22,-22,-23,-22,-21,-20,-20,-20,-19,-18,-18,-18,-18,-17,-16,-15,-15,-14,-13,-13,-11,-11,-10,-10,-8,-7,-7,-6,-6,-5,-5,-5,-6,-6,-7,-7,-8,-8,-9,-9,-10,-11,-10,-11,-12,-12,-13,-13,-14,-14,-15,-14,-14,-12,-12,-11,-10,-9,-9,-10,-10,-9,-6,-6,-5,-3,-9,-5,21,29,29,27,26,25,26,19,19,16,-25,-42,
+57,64,108,45,23,42,28,35,22,32,20,29,17,5,7,-1,0,-8,-8,-12,-14,-17,-18,-19,-20,-20,-21,-21,-21,-21,-22,-21,-22,-20,-20,-20,-20,-20,-20,-20,-20,-20,-18,-18,-16,-16,-17,-16,-15,-14,-14,-14,-14,-13,-12,-14,-13,-12,-12,-10,-10,-9,-9,-8,-7,-6,-5,-5,-3,-3,-2,-2,0,1,2,1,1,0,-1,-1,-2,-2,-3,-3,-4,-5,-4,-4,-5,-5,-6,-6,-7,-7,-7,-7,-6,-4,-4,-3,-2,-1,0,1,1,2,5,6,5,4,5,5,5,5,4,2,2,0,-1,-3,-5,-8,-20,-26,
+104,76,105,45,26,44,31,45,35,30,20,34,24,13,8,6,3,-5,-7,-10,-9,-12,-14,-14,-15,-14,-15,-16,-16,-16,-17,-16,-16,-14,-14,-14,-14,-14,-14,-14,-14,-14,-12,-12,-10,-10,-9,-9,-8,-8,-7,-7,-6,-6,-5,-6,-5,-4,-3,-2,-1,0,0,1,2,2,3,3,4,5,5,7,8,9,9,9,8,8,7,7,6,6,6,5,4,3,3,3,2,1,2,1,1,1,0,1,1,2,3,5,5,6,7,9,12,12,13,12,13,12,13,12,11,10,10,9,8,7,8,6,4,-1,-19,-29,
+89,78,101,60,42,46,35,44,35,31,22,30,21,11,7,6,-1,-8,-10,-13,-16,-18,-19,-20,-21,-20,-20,-22,-22,-22,-22,-22,-21,-20,-20,-19,-20,-19,-19,-18,-18,-18,-16,-15,-14,-13,-13,-13,-12,-11,-10,-10,-9,-9,-8,-8,-8,-6,-5,-4,-3,-2,-2,-1,1,1,2,3,2,3,4,5,6,8,9,8,8,7,7,6,6,5,5,4,4,3,4,3,2,1,2,2,1,1,1,1,2,3,4,4,5,6,8,9,11,12,13,12,14,13,15,14,15,14,15,14,14,11,11,9,7,4,-11,-18,
+81,81,89,51,41,53,48,51,47,48,11,-9,-9,-12,-20,-22,-24,-27,-28,-28,-32,-32,-31,-33,-33,-34,-33,-34,-34,-33,-33,-32,-32,-32,-32,-31,-31,-30,-31,-30,-29,-29,-29,-29,-28,-28,-28,-27,-27,-27,-27,-27,-27,-26,-26,-26,-25,-25,-25,-25,-25,-25,-24,-24,-23,-22,-23,-22,-22,-21,-21,-17,-18,2,3,3,2,1,0,0,-1,-2,-3,-3,-4,-4,-4,-5,-6,-6,-6,-7,-8,-7,2,7,13,10,14,11,11,14,17,21,22,22,23,22,21,20,22,21,16,16,15,14,14,13,14,12,10,7,-8,-4,
+-5,11,27,27,28,32,33,21,22,17,18,2,2,0,-6,-17,-19,-21,-21,-20,-27,-26,-26,-26,-25,-28,-27,-28,-27,-26,-26,-25,-24,-25,-25,-24,-23,-23,-22,-21,-21,-20,-21,-20,-20,-19,-19,-18,-18,-17,-17,-18,-17,-16,-16,-14,-13,-13,-13,-12,-13,-12,-12,-11,-10,-9,-9,-8,-9,-8,-8,-6,-6,-6,-6,-5,-6,-7,-7,-8,-8,-8,-9,-9,-9,-9,-9,-10,-9,-10,-10,-11,-12,-10,-10,-10,-10,-7,-7,-6,-5,-4,-3,-3,-2,-3,0,-1,-1,-3,-1,-2,-1,-1,-1,0,1,2,3,4,2,-2,-11,-21,
+-1,18,22,27,32,38,41,32,32,25,27,9,11,11,-6,-14,-15,-15,-20,-19,-23,-22,-23,-24,-24,-24,-24,-24,-23,-23,-23,-21,-21,-21,-20,-19,-18,-18,-17,-16,-16,-15,-15,-15,-15,-14,-14,-13,-13,-12,-12,-11,-11,-10,-10,-8,-8,-7,-7,-7,-6,-6,-6,-6,-4,-4,-3,-3,-4,-3,-3,-3,-2,-2,-2,-2,-3,-3,-4,-4,-4,-5,-5,-6,-6,-6,-7,-7,-6,-7,-7,-7,-8,-7,-8,-8,-8,-4,-4,-5,-5,-3,-1,-1,-3,-4,0,-1,2,-1,3,1,4,4,4,4,4,4,5,6,4,1,-7,-18,
+0,22,29,44,51,47,48,32,33,19,20,-3,1,5,-8,-21,-19,-16,-20,-18,-26,-24,-24,-25,-25,-26,-25,-24,-24,-24,-23,-22,-21,-22,-21,-19,-19,-17,-16,-15,-15,-14,-14,-13,-13,-13,-12,-12,-11,-11,-10,-10,-9,-9,-8,-6,-6,-6,-5,-5,-5,-5,-5,-5,-3,-3,-2,-2,-3,-3,-2,-2,-2,-1,0,-1,-2,-1,-2,-2,-3,-3,-3,-4,-4,-4,-4,-4,-3,-4,-3,-4,-5,-4,-3,-3,-3,0,0,1,1,3,4,3,4,3,6,4,7,5,8,7,13,12,12,14,16,18,19,20,18,14,7,-6,
+13,26,27,40,48,46,49,33,33,18,19,8,11,14,0,-34,-28,-27,-15,-9,-52,-38,-33,-35,-35,-38,-35,-36,-36,-33,-32,-32,-32,-30,-30,-29,-29,-29,-29,-28,-26,-28,-24,-16,-18,-5,-1,-3,-1,-5,0,0,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,3,3,3,2,2,1,1,1,0,-1,-2,-2,-3,-3,-3,-4,-4,-5,-4,-5,-4,-5,-6,-6,-5,-5,-6,-3,-3,0,0,1,2,1,3,1,4,3,7,5,7,5,12,11,10,12,12,15,15,14,11,6,-3,-17,
+2,25,21,25,25,22,22,9,10,-8,-7,-22,-19,-15,-30,-34,-33,-31,-42,-40,-44,-43,-42,-44,-45,-45,-45,-46,-45,-40,-39,-40,-39,-37,-37,-36,-36,-36,-35,-35,-34,-34,-37,-37,-32,-32,-36,-36,-35,-34,-34,-34,-33,-32,-32,-27,-27,-26,-25,-26,-25,-25,-30,-29,-26,-26,-30,-29,-26,-25,-25,-25,-26,-29,-28,-28,-29,-29,-30,-29,-28,-30,-30,-31,-30,-31,-28,-30,-28,-29,-27,-28,-28,-24,-23,-24,-24,-18,-18,-14,-15,-14,-13,-9,-5,-7,2,-2,-2,-4,-2,-4,-5,-7,-8,-8,-9,-9,-10,-10,-13,-21,-30,-42,
+17,37,32,34,33,28,26,19,18,0,0,-24,-15,-13,-22,-29,-39,-38,-44,-44,-46,-45,-50,-50,-48,-47,-47,-51,-50,-48,-48,-47,-47,-46,-46,-45,-44,-43,-42,-42,-40,-40,-42,-42,-38,-38,-39,-39,-39,-35,-35,-38,-37,-33,-32,-32,-32,-31,-30,-30,-30,-30,-34,-34,-31,-30,-32,-31,-32,-32,-31,-31,-32,-33,-32,-32,-33,-32,-33,-32,-31,-29,-30,-30,-26,-27,-25,-26,-24,-25,-20,-21,-23,-19,-15,-15,-16,-9,-10,-6,-7,-6,-5,6,4,2,9,6,8,5,8,6,6,4,3,3,1,1,-1,-2,-6,-12,-23,-34,
+16,2,29,10,8,17,18,8,10,-2,0,-14,-12,-10,-21,-24,-28,-27,-35,-34,-36,-35,-39,-40,-38,-38,-37,-42,-41,-39,-38,-38,-37,-36,-36,-35,-34,-33,-33,-33,-31,-31,-32,-32,-28,-28,-29,-29,-30,-26,-25,-28,-28,-23,-23,-23,-23,-22,-21,-21,-21,-21,-25,-24,-22,-21,-22,-22,-22,-22,-21,-21,-21,-22,-22,-22,-23,-22,-23,-23,-21,-22,-23,-24,-21,-21,-21,-22,-19,-20,-21,-22,-21,-20,-18,-19,-19,-13,-14,-11,-12,-11,-3,-5,-1,-3,6,7,9,6,12,10,9,8,6,9,6,5,3,4,0,-3,-12,-27,
+8,18,40,18,14,21,20,13,14,1,4,-12,-10,-8,-20,-26,-28,-27,-35,-34,-36,-35,-38,-41,-38,-38,-38,-43,-42,-39,-39,-38,-38,-37,-37,-36,-35,-35,-35,-34,-33,-33,-35,-35,-31,-31,-31,-32,-32,-28,-28,-30,-30,-26,-26,-26,-26,-25,-24,-24,-24,-23,-28,-27,-25,-24,-25,-24,-24,-24,-23,-23,-24,-25,-25,-25,-26,-25,-26,-25,-24,-24,-24,-25,-22,-23,-22,-22,-19,-20,-20,-21,-20,-19,-16,-16,-17,-11,-12,-7,-8,-4,0,-2,5,1,10,10,14,11,17,14,14,12,10,13,11,10,9,10,5,1,-7,-27,
+31,34,60,40,32,26,24,13,14,4,5,-6,-5,-5,-13,-21,-22,-23,-26,-27,-33,-34,-35,-37,-39,-40,-40,-40,-40,-41,-41,-41,-41,-40,-40,-40,-40,-38,-38,-38,-36,-36,-33,-34,-30,-31,-30,-31,-31,-28,-28,-27,-27,-27,-27,-25,-25,-25,-25,-24,-22,-22,-24,-23,-23,-22,-23,-22,-22,-21,-20,-20,-19,-17,-17,-16,-17,-15,-16,-16,-16,-18,-18,-19,-18,-18,-15,-16,-15,-15,-16,-17,-17,-17,-12,-12,-12,-8,-8,5,-1,-1,0,-2,20,18,18,15,26,23,30,27,25,24,22,25,24,24,23,25,22,13,-1,-36,
+38,13,34,17,14,26,23,16,15,-1,-6,-25,-26,-28,-38,-43,-46,-50,-54,-58,-63,-66,-70,-73,-76,-78,-80,-81,-82,-81,-82,-83,-84,-83,-83,-84,-85,-83,-83,-84,-81,-82,-78,-79,-75,-76,-71,-72,-73,-70,-70,-68,-68,-68,-68,-67,-66,-66,-66,-64,-63,-62,-64,-63,-61,-60,-61,-59,-57,-55,-54,-54,-53,-51,-50,-49,-48,-44,-44,-43,-42,-42,-42,-41,-38,-37,-36,-35,-33,-31,-30,-29,-27,-26,-22,-21,-20,-15,-15,-10,-11,-8,-7,-3,1,-1,5,2,8,5,9,6,10,8,5,13,11,10,6,15,6,-12,-43,-83,
+38,10,28,10,-18,-2,-4,-2,-3,-29,-34,-37,-39,-41,-55,-57,-59,-61,-64,-66,-68,-69,-61,-62,-64,-65,-66,-66,-66,-74,-74,-73,-73,-73,-73,-70,-66,-66,-65,-65,-64,-63,-63,-62,-60,-60,-66,-66,-65,-59,-59,-64,-64,-58,-58,-59,-58,-57,-57,-58,-57,-56,-57,-56,-64,-63,-57,-56,-63,-62,-61,-60,-60,-59,-59,-52,-51,-51,-51,-50,-46,-50,-52,-52,-45,-44,-44,-43,-40,-39,-47,-47,-40,-36,-43,-42,-42,-31,-31,-40,-40,-39,-26,-27,-36,-36,-21,-22,-31,-32,-18,-19,-17,-19,-20,-17,-21,-29,-33,-11,-18,-27,-38,-98,
+39,63,50,12,13,33,31,29,28,1,-5,-11,-13,-16,-31,-34,-36,-40,-44,-47,-47,-50,-42,-45,-46,-47,-48,-48,-49,-55,-56,-55,-55,-54,-54,-51,-47,-46,-45,-45,-43,-43,-41,-41,-39,-39,-45,-45,-44,-37,-37,-43,-42,-36,-36,-37,-37,-36,-35,-37,-36,-35,-36,-35,-44,-42,-36,-36,-43,-42,-42,-41,-41,-40,-39,-33,-32,-32,-31,-30,-26,-29,-31,-30,-23,-22,-22,-20,-17,-15,-24,-23,-15,-13,-20,-19,-17,-7,-6,-14,-14,-7,-1,-1,-9,-9,6,4,-3,-4,11,10,12,12,11,15,13,5,1,21,12,-3,-22,-93,
+13,55,51,20,23,45,44,38,37,10,4,-3,-7,-10,-15,-15,-17,-20,-21,-25,-26,-30,-30,-33,-33,-35,-36,-35,-36,-35,-35,-33,-33,-34,-34,-33,-32,-32,-31,-30,-29,-29,-26,-26,-24,-24,-21,-21,-21,-21,-21,-19,-19,-19,-19,-21,-21,-20,-19,-21,-20,-19,-19,-18,-21,-20,-19,-18,-19,-18,-17,-17,-17,-17,-16,-16,-17,-17,-17,-16,-16,-16,-15,-14,-15,-14,-14,-14,-10,-9,-15,-13,-7,-6,-13,-12,-11,0,1,-8,-7,0,7,7,-1,-1,14,14,5,5,20,20,22,23,23,28,27,20,16,35,23,4,-20,-90,
+47,45,40,43,47,34,36,28,28,18,16,10,8,4,4,3,0,-4,-5,-10,-12,-17,-18,-20,-20,-21,-22,-20,-21,-21,-22,-19,-19,-20,-20,-19,-18,-17,-16,-17,-15,-16,-14,-14,-12,-12,-11,-11,-11,-10,-10,-9,-9,-9,-9,-10,-10,-9,-9,-10,-9,-8,-9,-8,-9,-9,-9,-8,-9,-8,-8,-8,-8,-7,-7,-6,-6,-7,-6,-5,-4,-3,-1,0,0,2,0,2,2,3,3,5,6,7,6,7,8,9,10,9,11,10,10,11,12,12,11,11,12,12,10,12,15,17,18,19,21,24,21,32,23,11,-11,-66,
+48,59,63,73,80,70,72,66,66,50,46,41,36,32,30,30,25,19,17,10,9,3,0,-2,0,-2,-3,-2,-3,-3,-3,-1,-1,-1,-1,0,1,3,3,3,4,4,6,6,7,7,9,8,8,9,9,10,10,11,11,10,10,11,12,10,11,12,11,13,11,11,11,12,11,12,12,12,12,13,13,14,14,14,14,15,17,17,19,20,21,22,21,22,23,24,24,25,26,27,26,27,28,29,30,29,30,30,31,32,31,32,31,33,31,32,31,33,34,35,37,39,42,41,39,53,44,30,21,-37,
+59,62,43,76,91,90,96,78,78,68,62,55,49,43,36,41,34,28,20,12,16,9,2,-1,6,3,1,0,-1,4,3,2,1,5,5,5,5,10,10,9,9,9,14,14,13,12,16,15,14,14,14,16,16,17,17,16,17,18,19,15,17,18,19,19,17,18,19,20,18,18,18,19,19,19,20,20,20,22,23,23,24,24,26,27,29,30,30,31,33,34,32,33,35,36,35,36,38,39,39,38,41,42,45,48,43,46,49,48,47,50,53,56,54,57,60,62,64,64,63,61,49,36,22,-42,
+-26,78,78,78,90,80,87,76,78,63,58,55,50,45,45,46,40,35,34,27,27,21,19,16,20,18,16,19,18,19,18,20,20,22,22,23,23,27,27,27,29,28,32,31,32,31,33,32,32,34,34,35,35,35,35,34,35,35,35,34,35,36,35,36,34,35,35,35,35,35,35,35,36,36,37,36,36,37,38,38,39,40,41,42,43,44,44,45,46,46,45,46,47,48,47,48,49,49,46,49,50,49,50,53,49,51,48,43,46,49,44,47,43,47,50,50,53,53,51,53,52,47,100,-23,
+-53,-20,79,79,91,81,87,80,80,69,65,65,60,60,55,56,51,45,43,36,37,30,30,27,22,12,7,10,9,7,6,8,7,9,9,10,10,12,12,12,13,13,14,13,15,14,16,16,15,16,16,16,17,17,17,17,18,18,18,19,19,21,20,20,20,21,20,20,22,22,23,22,23,24,24,24,24,24,25,26,27,26,27,29,30,31,31,32,36,44,54,54,55,56,54,55,56,57,52,53,55,53,56,57,50,53,49,45,45,46,45,46,44,45,45,46,46,46,46,55,48,51,82,-21,
+135,23,71,76,99,88,98,91,93,77,72,74,61,60,46,46,39,32,31,23,20,13,11,7,9,6,5,5,5,3,2,2,1,2,2,5,5,5,5,5,8,7,8,8,10,9,10,9,9,11,11,11,12,12,13,13,14,13,14,13,14,15,15,14,15,15,15,16,16,16,16,16,17,18,18,19,20,19,20,21,22,20,21,22,23,23,22,24,24,25,25,26,26,28,28,30,32,31,29,31,41,37,40,44,40,44,34,26,30,40,36,41,39,47,51,53,44,45,45,58,43,46,9,-12,
+135,135,135,135,135,135,123,123,123,113,110,109,108,107,106,105,104,103,100,97,94,91,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,100,88,88,
diff --git a/drivers/input/touchscreen/wacom/wacom_i2c_tblY_PRight_T0.h b/drivers/input/touchscreen/wacom/wacom_i2c_tblY_PRight_T0.h new file mode 100644 index 0000000..7b0721e --- /dev/null +++ b/drivers/input/touchscreen/wacom/wacom_i2c_tblY_PRight_T0.h @@ -0,0 +1,71 @@ +-154,-200,-200,-200,-195,-190,-185,-180,-175,-170,-164,-160,-155,-150,-136,-127,-112,-105,-109,-105,-95,-91,-98,-102,-88,-85,-88,-92,-83,-78,-77,-80,-84,-67,-65,-69,-73,-65,-63,-65,-71,-79,-61,-61,-65,-70,-56,-55,-59,-64,-55,-53,-54,-58,-63,-50,-50,-53,-57,-48,-47,-49,-54,-58,-45,-46,-49,-54,-43,-43,-46,-50,-42,-41,-42,-46,-51,-40,-40,-42,-47,-39,-39,-41,-45,-43,-36,-38,-39,-44,-34,-35,-36,-39,-32,-31,-34,-34,-39,-30,-30,-32,-35,-30,-30,-31,-30,-35,-30,-30,-30,-30,-30,-30,-30,-30,-45,-37,-30,-34,-30,-30,-92,-30,
+-161,-187,-199,-198,-195,-190,-185,-180,-175,-164,-155,-152,-142,-131,-122,-121,-110,-100,-100,-112,-102,-98,-97,-97,-90,-85,-92,-91,-93,-78,-74,-80,-90,-73,-68,-72,-82,-84,-67,-66,-73,-81,-63,-61,-66,-74,-62,-57,-59,-66,-60,-53,-53,-58,-66,-51,-48,-52,-59,-50,-45,-47,-52,-60,-44,-43,-48,-56,-43,-40,-43,-49,-45,-39,-40,-45,-53,-40,-38,-42,-49,-42,-37,-39,-44,-51,-36,-35,-38,-46,-34,-32,-35,-42,-49,-49,-32,-37,-45,-30,-38,-48,-43,-41,-40,-33,-40,-42,-35,-37,-33,-36,-28,-28,-33,-31,-33,-36,-55,-66,-32,-12,-10,35,
+-165,-188,-195,-188,-200,-200,-195,-183,-178,-171,-163,-153,-143,-133,-122,-119,-111,-106,-104,-104,-105,-104,-104,-100,-102,-99,-95,-94,-94,-92,-89,-88,-85,-87,-86,-84,-84,-83,-85,-84,-83,-82,-84,-83,-81,-80,-80,-79,-78,-76,-74,-74,-73,-71,-71,-71,-71,-70,-67,-68,-68,-67,-65,-64,-64,-64,-63,-63,-63,-62,-63,-60,-60,-62,-61,-60,-60,-60,-59,-59,-58,-58,-58,-57,-56,-56,-54,-54,-53,-53,-52,-51,-52,-49,-50,-49,-49,-46,-47,-43,-44,-45,-43,-44,-40,-42,-39,-42,-36,-38,-34,-36,-30,-32,-33,-32,-32,-35,-32,-40,-31,-18,-20,36,
+-89,-187,-187,-210,-205,-200,-195,-186,-182,-172,-165,-159,-150,-141,-132,-126,-120,-113,-108,-103,-105,-101,-96,-92,-94,-90,-86,-83,-79,-79,-76,-74,-72,-73,-71,-70,-69,-68,-70,-69,-68,-68,-68,-67,-66,-65,-63,-62,-61,-60,-59,-57,-56,-55,-54,-51,-50,-49,-49,-48,-47,-46,-46,-45,-44,-44,-44,-43,-41,-41,-41,-41,-41,-39,-39,-39,-39,-38,-38,-37,-37,-37,-36,-36,-35,-35,-33,-33,-33,-32,-30,-30,-30,-30,-30,-28,-28,-29,-29,-27,-27,-28,-29,-30,-26,-28,-29,-30,-26,-27,-29,-30,-27,-28,-29,-29,-29,-40,-37,-30,-29,-14,-9,-21,
+-194,-197,-178,-208,-205,-188,-187,-173,-169,-160,-154,-144,-137,-130,-120,-112,-104,-96,-93,-90,-90,-87,-85,-83,-82,-79,-77,-75,-73,-73,-71,-71,-69,-68,-67,-66,-66,-65,-68,-67,-67,-67,-66,-65,-64,-63,-63,-62,-60,-59,-57,-57,-56,-54,-53,-52,-51,-50,-48,-47,-48,-48,-45,-45,-45,-45,-44,-43,-44,-44,-44,-41,-41,-41,-41,-39,-39,-40,-39,-39,-38,-37,-38,-38,-37,-36,-36,-36,-35,-34,-34,-33,-33,-32,-32,-32,-32,-32,-32,-31,-30,-31,-31,-32,-31,-31,-30,-30,-30,-30,-31,-31,-31,-31,-30,-32,-30,-36,-32,-27,-35,-23,-4,3,
+-160,-152,-135,-165,-163,-153,-150,-129,-125,-117,-111,-92,-85,-77,-68,-59,-46,-38,-35,-31,-29,-27,-26,-24,-23,-20,-18,-17,-15,-15,-13,-13,-12,-10,-10,-9,-9,-9,-11,-11,-11,-11,-10,-9,-9,-8,-7,-6,-5,-3,-2,-2,-1,1,2,3,4,5,8,9,7,8,11,11,11,11,11,13,12,12,13,15,15,15,16,17,17,16,16,17,19,19,18,18,20,20,19,20,20,22,21,22,22,24,25,24,24,24,24,24,24,24,24,25,23,23,25,26,22,22,23,24,20,22,23,22,24,19,22,27,18,28,41,36,
+-103,-111,-117,-126,-130,-111,-115,-116,-112,-84,-79,-72,-67,-60,-36,-30,-30,-22,-5,-2,-12,-10,-3,0,1,4,7,19,21,22,21,22,23,20,20,20,21,21,19,19,19,20,20,20,21,23,22,23,23,24,25,25,25,26,27,29,30,32,35,37,35,36,40,40,40,41,41,42,44,44,44,47,48,47,48,50,51,49,49,50,52,54,51,53,55,56,53,55,56,58,58,57,58,60,62,58,59,60,61,61,56,58,60,61,52,54,58,61,48,50,53,56,46,47,51,52,56,44,50,57,50,64,81,24,
+-120,-110,-102,-102,-107,-80,-82,-87,-83,-55,-49,-45,-40,-34,-11,-4,-6,1,17,19,9,10,18,19,20,22,23,35,36,37,37,38,39,31,31,30,31,30,29,28,28,28,28,28,29,39,32,33,34,37,39,40,41,45,47,54,56,58,60,61,62,63,65,66,64,65,65,67,65,61,62,64,65,64,64,66,67,74,75,76,77,78,76,77,72,74,77,79,79,75,78,80,82,75,76,80,82,78,76,78,81,83,69,71,66,68,66,69,72,76,72,61,65,70,74,57,61,53,58,64,68,78,80,125,
+-96,-96,-78,-93,-95,-82,-83,-69,-64,-45,-40,-20,-13,-3,16,21,39,45,60,61,50,51,56,57,58,58,59,69,70,69,69,69,69,61,60,59,59,59,57,57,56,56,56,57,57,67,61,59,61,64,66,66,67,70,72,79,80,82,84,85,86,87,89,90,88,88,89,91,88,85,85,87,88,86,87,90,91,96,97,99,100,101,99,100,95,97,99,101,102,98,101,103,105,97,99,103,104,101,99,102,105,107,93,96,90,93,91,95,98,102,98,87,92,97,101,84,87,84,87,92,94,101,98,132,
+-120,-120,-105,-114,-113,-97,-97,-89,-80,-57,-48,-32,-24,-16,6,14,27,35,46,49,58,58,64,64,67,67,67,72,71,74,73,74,73,72,70,69,68,67,65,64,65,64,63,62,61,63,64,65,65,67,68,71,72,73,74,75,77,77,78,79,81,81,80,80,82,81,82,82,83,83,83,82,83,83,83,82,83,83,84,84,82,83,84,86,86,89,89,90,91,91,91,93,95,94,98,92,94,90,92,89,92,96,88,92,84,89,81,86,81,84,77,71,52,53,55,52,57,50,55,62,62,71,92,106,
+-91,-89,-97,-83,-79,-79,-78,-76,-71,-61,-57,-51,-48,-45,-32,-29,-21,-18,-9,-6,5,4,11,10,14,14,14,19,19,21,21,23,22,22,21,20,20,19,18,18,18,17,17,16,15,17,16,16,16,17,17,21,21,21,22,23,23,24,24,24,25,25,24,24,24,24,24,24,22,22,22,21,21,21,21,21,21,20,20,21,20,20,21,23,22,24,25,27,27,28,26,28,30,29,32,29,31,26,29,27,31,34,26,29,26,30,21,26,26,27,20,13,-1,-1,0,-3,1,-4,1,6,5,10,27,76,
+-89,-88,-95,-80,-76,-75,-72,-67,-61,-50,-46,-36,-33,-29,-15,-12,-5,-3,7,10,14,14,22,21,23,23,23,31,31,30,30,36,36,34,34,33,35,34,38,37,36,36,34,32,33,36,35,35,34,35,35,33,33,34,34,34,34,34,34,33,37,37,37,36,36,36,35,35,34,33,33,29,29,27,27,26,27,27,27,28,27,28,23,24,23,24,24,25,25,25,26,28,29,24,26,27,28,23,24,25,28,30,23,25,20,23,17,19,18,17,12,5,-3,-4,-5,-11,-9,-10,-7,-4,-1,1,-2,16,
+-82,-86,-83,-77,-69,-66,-62,-60,-54,-42,-38,-31,-27,-23,-9,-6,-1,3,13,16,19,19,27,27,28,28,28,35,36,34,34,40,41,38,38,38,40,39,43,43,43,42,40,39,40,42,41,40,40,41,40,37,37,38,38,37,37,37,36,36,39,39,38,38,38,37,37,36,34,34,33,29,29,27,27,26,26,26,27,27,26,27,21,23,23,24,23,25,25,25,25,26,28,24,26,27,29,24,27,25,28,30,24,27,21,24,19,22,18,17,12,5,-1,-6,-7,-13,-10,-12,-9,-6,-2,1,-2,15,
+-67,-68,-71,-66,-61,-65,-62,-59,-53,-45,-40,-27,-22,-19,-11,-7,-2,0,10,12,12,12,19,19,19,19,19,26,28,33,34,39,40,38,38,38,43,42,44,44,45,45,47,44,45,44,42,44,42,46,45,46,46,46,46,46,45,45,44,44,47,46,46,45,45,44,43,43,41,40,41,38,38,37,38,37,37,37,37,38,37,37,32,33,32,34,33,35,34,34,34,36,38,33,35,36,36,30,32,31,33,36,29,30,22,23,14,14,5,5,2,-1,-11,-6,-4,-9,-6,-7,-4,-1,3,6,3,17,
+-61,-65,-66,-45,-41,-47,-45,-44,-39,-32,-28,-18,-13,-9,-1,3,8,11,20,23,24,24,31,31,31,31,32,39,39,36,36,44,44,41,41,42,48,48,48,48,50,50,45,44,46,48,47,46,46,46,45,41,41,41,41,40,39,39,43,42,42,41,40,39,40,39,38,38,36,35,35,35,35,35,36,29,29,32,32,33,31,30,28,30,24,25,30,31,29,26,29,31,32,32,33,31,32,28,29,28,30,33,30,30,23,23,14,13,10,8,3,1,-4,-2,0,-3,-1,-1,2,5,10,12,10,17,
+-55,-62,-64,-66,-64,-65,-63,-62,-55,-49,-42,-37,-30,-25,-17,-12,-8,-5,-1,3,6,7,10,10,11,11,12,13,14,15,15,17,17,18,19,19,20,20,21,21,23,23,23,22,21,21,20,19,18,18,17,16,16,16,17,19,26,19,32,30,28,27,34,30,10,15,15,24,13,18,21,21,28,27,28,24,23,0,11,11,22,20,21,21,18,19,21,22,20,23,21,22,23,22,24,23,23,27,37,21,22,23,24,41,17,16,9,8,7,4,0,-3,-28,-27,-26,-27,-25,-28,-26,-24,-11,1,3,10,
+-48,-57,-62,-66,-65,-67,-65,-64,-57,-51,-45,-40,-34,-28,-21,-15,-11,-7,-2,1,7,8,12,13,15,15,16,18,19,20,21,23,24,25,26,27,28,29,30,30,32,32,33,32,32,31,31,30,30,30,29,27,26,27,26,27,27,26,25,24,23,22,21,21,18,18,17,16,14,13,13,13,14,13,14,12,12,9,10,9,7,7,8,9,9,10,9,11,10,11,9,10,11,11,13,13,13,12,12,10,12,13,12,11,7,7,2,0,-5,-8,-11,-12,-18,-18,-16,-16,-14,-21,-18,-14,-10,-5,-6,5,
+-50,-53,-52,-58,-59,-57,-56,-57,-55,-52,-48,-48,-45,-42,-38,-36,-35,-33,-30,-27,-24,-23,-20,-18,-18,-17,-16,-14,-14,-13,-12,-10,-9,-9,-7,-6,-6,-5,-4,-4,-2,-2,-1,-1,0,0,1,1,1,3,3,2,2,3,4,5,5,6,6,6,6,6,6,6,5,6,6,6,5,5,5,6,6,5,6,6,6,6,6,7,6,7,7,8,6,5,3,1,-1,-2,-5,-6,-7,-9,-10,-12,-13,-16,-16,-17,-16,-15,-17,-16,-17,-16,-18,-17,-18,-18,-19,-20,-24,-24,-23,-23,-21,-28,-26,-23,-18,-13,-14,-2,
+-42,-46,-47,-54,-56,-55,-54,-55,-52,-49,-45,-44,-41,-37,-33,-30,-30,-28,-24,-22,-19,-18,-15,-14,-14,-13,-12,-11,-11,-10,-9,-8,-7,-7,-6,-5,-3,-3,-1,-1,0,0,1,2,3,3,4,4,4,5,5,5,5,5,5,8,8,8,9,9,10,9,9,9,8,9,8,8,8,8,8,8,8,8,9,8,9,8,9,9,9,10,10,11,-20,-19,-20,-19,-18,-17,-18,-17,-17,-18,-17,-16,-15,-16,-15,-15,-14,-14,-13,-13,-11,-11,-10,-10,-11,-11,-12,-11,-16,-15,-14,-13,-11,-15,-13,-9,-7,-3,-10,14,
+-53,-57,-67,-69,-73,-73,-72,-71,-69,-66,-63,-59,-57,-56,-54,-53,-52,-50,-48,-47,-24,-23,-21,-20,-21,-20,-19,-18,4,4,5,5,6,5,6,6,8,9,9,9,10,9,11,11,12,12,12,12,12,13,13,13,13,14,14,15,15,15,16,16,16,16,16,16,17,17,16,16,16,16,16,15,16,16,16,15,15,16,16,17,16,17,17,17,-14,-13,-14,-14,-13,-12,-12,-12,-11,-13,-12,-11,-10,-11,-11,-10,-9,-8,-8,-8,-5,-5,-5,-5,-2,-2,-3,-3,-20,-22,-10,-9,-5,-25,-23,-20,2,7,-3,17,
+-48,-58,-72,-76,-81,-82,-82,-75,-73,-70,-68,-60,-57,-54,-51,-48,-41,-39,-37,-35,-34,-33,-30,-29,-27,-26,-25,-25,-23,-21,-21,-21,-20,-19,-18,-17,-16,-15,-14,-13,-11,-11,-10,-10,-8,-7,-7,-7,-7,-6,-6,-3,-3,-2,-2,-3,-3,-3,-2,-2,-2,-2,-1,-1,-2,-2,-1,-1,-1,0,1,0,1,3,3,4,5,4,5,5,6,6,6,7,-25,-24,-23,-23,-24,-23,-23,-23,-22,-22,-21,-22,-22,-21,-20,-21,-20,-19,-19,-19,-20,-20,-20,-20,-25,-24,-26,-26,-31,-30,-30,-32,-31,-33,-31,-30,-28,-24,-39,-5,
+-61,-68,-84,-72,-77,-68,-68,-67,-63,-58,-56,-55,-53,-50,-47,-47,-40,-39,-36,-34,-35,-34,-31,-30,-28,-27,-27,-26,-25,-23,-22,-23,-22,-21,-21,-20,-19,-18,-17,-17,-15,-14,-14,-13,-12,-11,-12,-11,-11,-11,-10,-7,-7,-7,-6,-8,-7,-7,-6,-6,-6,-6,-5,-5,-5,-4,-4,-4,-3,-3,-2,-3,-2,-1,0,1,1,1,2,3,3,3,3,4,-27,-26,-26,-26,-27,-26,-26,-25,-25,-25,-24,-25,-24,-24,-23,-23,-22,-22,-21,-21,-23,-22,-22,-21,-25,-25,-27,-26,-30,-29,-28,-31,-30,-33,-31,-29,-28,-23,-39,-14,
+-61,-64,-84,-75,-82,-75,-74,-67,-64,-59,-57,-50,-48,-45,-42,-39,-33,-31,-28,-27,-26,-25,-23,-22,-21,-20,-19,-18,-17,-16,-16,-14,-14,-15,-14,-13,-12,-11,-11,-10,-10,-9,-9,-9,-7,-7,-6,-6,-6,-5,-5,-2,-1,0,0,-2,-1,-1,0,0,1,1,1,1,1,1,1,1,2,2,3,3,4,4,5,5,6,6,7,8,8,8,8,9,-22,-21,-22,-21,-21,-20,-20,-19,-18,-20,-19,-20,-19,-18,-17,-16,-16,-15,-16,-16,-17,-16,-18,-17,-19,-18,-20,-19,-21,-21,-21,-22,-22,-23,-22,-20,-19,-15,-35,-1,
+-50,-70,-112,-91,-102,-94,-96,-82,-80,-75,-74,-73,-73,-72,-68,-64,-19,-18,-16,-16,-17,-16,-15,-14,-14,-14,-14,-12,-13,-12,-12,-10,-10,-11,-10,-10,-9,-9,-8,-8,-7,-7,-6,-6,-4,-4,-4,-4,-3,-2,-2,1,1,3,3,1,2,2,3,3,4,4,4,5,5,5,5,5,6,6,7,7,8,9,9,10,11,11,12,13,13,13,13,14,-16,-16,-17,-16,-16,-16,-15,-15,-14,-15,-14,-15,-14,-14,-13,-12,-12,-11,-12,-13,-14,-13,-14,-13,-17,-16,-17,-17,-17,-17,-16,-18,-18,-15,-14,-13,-14,-11,-34,3,
+-86,-96,-132,-115,-126,-116,-119,-103,-101,-96,-92,-79,-75,-71,-64,-60,-49,-46,-43,-43,-35,-35,-34,-34,-29,-29,-29,-28,-27,-26,-26,-25,-26,-23,-23,-23,-24,-22,-21,-21,-21,-20,-18,-18,-16,-16,-15,-14,-14,-12,-13,-12,-12,-11,-11,-11,-10,-10,-9,-9,-9,-8,-8,-7,-7,-6,-6,-5,-6,-5,-5,-4,-4,-4,-3,-4,-4,-3,-3,-2,-2,-2,-2,-1,-32,-31,-32,-31,-32,-32,-32,-31,-31,-31,-31,-30,-29,-28,-28,-27,-27,-27,-27,-26,-25,-24,-26,-25,-25,-25,-27,-26,-30,-30,-29,-32,-32,-35,-35,-34,-33,-29,-58,-14,
+-94,-106,-138,-121,-131,-120,-122,-109,-108,-102,-96,-82,-75,-69,-60,-56,-47,-44,-42,-41,-34,-34,-33,-33,-30,-30,-30,-29,-28,-27,-27,-27,-27,-25,-25,-25,-25,-24,-23,-23,-22,-22,-20,-20,-19,-18,-17,-17,-16,-15,-15,-16,-16,-14,-14,-12,-12,-11,-11,-11,-10,-9,-8,-8,-8,-6,-6,-5,-6,-5,-4,-4,-3,-2,-2,-2,-1,0,1,1,2,2,3,3,3,4,2,3,3,4,2,3,4,4,5,5,6,7,8,6,7,8,8,7,7,8,6,8,5,6,4,3,-1,-2,-4,-8,-10,-13,-15,-16,-17,-14,-43,-1,
+-92,-103,-136,-120,-131,-120,-122,-106,-104,-98,-92,-78,-71,-65,-56,-52,-42,-38,-35,-35,-30,-31,-29,-28,-25,-26,-26,-24,-23,-22,-22,-20,-21,-21,-20,-21,-20,-20,-17,-17,-17,-16,-15,-15,-13,-13,-12,-11,-11,-10,-10,-11,-10,-9,-9,-7,-6,-6,-6,-6,-5,-4,-4,-2,-2,-1,0,1,0,1,2,3,3,3,4,3,4,4,5,6,7,7,7,8,8,9,6,7,7,8,6,7,9,9,9,9,10,11,12,11,12,13,14,9,10,12,10,12,5,6,5,4,1,-1,-3,-6,-8,-14,-15,-16,-16,-14,-36,-4,
+-69,-68,-118,-111,-114,-104,-103,-104,-103,-94,-77,-48,-45,-43,-37,-36,-35,-34,-31,-31,-24,-24,-22,-22,-18,-19,-19,-17,-16,-16,-16,-14,-14,-14,-14,-15,-13,-12,-12,-11,-10,-10,-9,-8,-7,-7,-6,-5,-5,-4,-4,-4,-4,-3,-3,-1,-1,0,0,0,1,2,2,3,2,3,4,4,4,5,5,6,7,7,8,7,8,9,9,10,9,10,11,11,10,11,10,11,10,11,11,12,12,12,13,14,15,15,16,15,16,16,17,14,15,17,15,15,11,12,11,10,6,4,2,-1,-3,-7,-9,-9,-10,-7,-30,1
+-67,-72,-94,-78,-83,-73,-72,-63,-62,-59,-57,-51,-49,-47,-45,-45,-43,-44,-40,-39,-39,-39,-38,-37,-38,-37,-37,-36,-36,-36,-36,-35,-35,-34,-34,-34,-33,-33,-33,-33,-32,-32,-30,-30,-30,-29,-28,-28,-28,-27,-27,-27,-27,-25,-25,-23,-23,-21,-17,-15,-4,-9,0,-1,-2,-1,0,0,0,1,1,1,1,2,2,2,1,4,4,5,6,16,17,17,19,25,4,7,18,27,11,13,22,27,28,18,31,30,31,9,22,26,32,11,12,13,12,12,-8,-8,-9,-12,-11,-13,-15,-17,-20,-21,-23,-23,-24,-24,-50,-23,
+-130,-130,-150,-140,-145,-144,-143,-128,-116,-106,-99,-93,-85,-78,-70,-62,-57,-51,-39,-37,-36,-35,-33,-32,-30,-29,-29,-27,-27,-27,-27,-25,-25,-23,-23,-22,-22,-22,-21,-21,-20,-19,-18,-17,-17,-17,-15,-15,-14,-13,-13,-12,-11,-10,-10,-9,-9,-9,-8,-8,-7,-7,-6,-5,-7,-6,-5,-5,-4,-3,-2,-3,-2,-2,-1,-1,-1,-1,0,0,0,0,1,1,0,1,0,1,1,2,2,3,4,5,6,6,7,8,9,8,9,10,10,9,11,12,10,11,10,11,10,8,4,2,0,-3,-5,-5,-7,-7,-8,-7,-34,-5,
+-129,-131,-150,-136,-139,-136,-135,-128,-117,-112,-103,-95,-87,-78,-73,-65,-56,-50,-41,-39,-32,-30,-27,-26,-26,-25,-24,-22,-22,-22,-21,-20,-19,-19,-18,-18,-17,-17,-17,-16,-15,-14,-14,-14,-13,-13,-12,-12,-11,-10,-9,-8,-8,-6,-6,-6,-6,-5,-5,-5,-4,-4,-3,-2,-3,-3,-2,-1,-1,-1,0,-1,0,0,1,1,1,1,1,2,1,1,2,2,2,2,2,3,2,3,4,5,6,6,7,7,9,9,10,11,12,12,12,13,14,15,13,14,16,16,15,13,11,9,7,4,1,4,3,2,1,2,-26,1,
+-152,-147,-170,-142,-140,-135,-131,-132,-121,-115,-106,-98,-86,-75,-69,-60,-52,-44,-35,-32,-28,-26,-24,-23,-21,-20,-19,-18,-18,-17,-17,-17,-16,-13,-12,-12,-12,-12,-11,-11,-10,-10,-8,-8,-6,-6,-5,-4,-4,-2,-2,-1,-1,0,0,1,1,1,1,1,2,2,2,2,2,3,2,3,3,4,4,4,5,4,5,5,5,4,5,5,5,5,5,5,6,6,5,5,6,6,8,8,9,10,11,11,12,13,14,14,15,16,16,15,16,16,16,15,16,16,15,12,9,7,5,3,0,0,-2,-1,-3,-2,-14,-5,
+-148,-149,-170,-155,-152,-148,-143,-141,-127,-120,-108,-106,-96,-86,-83,-76,-74,-68,-61,-59,-35,-34,-32,-31,-7,-6,-6,-5,-5,-4,-4,-4,-4,-2,-2,-1,-2,-1,-1,-1,-1,0,1,1,2,2,4,4,4,5,6,6,6,6,6,7,7,7,7,7,7,8,7,8,7,8,8,8,9,9,10,9,9,9,9,9,10,9,9,9,10,9,9,9,10,9,9,9,10,10,11,12,12,13,14,14,15,16,17,18,19,19,20,20,20,21,19,21,11,1,-1,0,2,2,1,2,1,2,2,5,5,5,-7,2,
+-100,-99,-128,-104,-101,-97,-92,-91,-82,-78,-68,-73,-65,-58,-56,-50,-52,-48,-46,-43,-43,-40,-38,-35,-32,-30,-29,-28,-26,-24,-23,-22,-22,-22,-22,-21,-21,-18,-16,-16,-15,-15,-16,-16,-15,-14,-13,-13,-12,-12,-12,-10,-10,-9,-9,-8,-8,-7,-6,-6,-6,-5,-4,-3,-1,0,-1,0,-2,-2,-1,-1,0,0,0,1,1,0,1,1,0,0,0,0,1,1,2,2,3,3,4,5,5,6,6,8,8,9,9,9,10,10,10,10,11,12,11,13,3,-6,-7,-7,-9,-9,-9,-9,-10,-10,-10,-3,-4,-4,-16,-11,
+-116,-112,-100,-116,-113,-106,-99,-93,-85,-80,-70,-71,-64,-54,-51,-45,-48,-44,-43,-39,-41,-38,-36,-34,-32,-30,-29,-27,-25,-24,-23,-21,-21,-22,-21,-20,-20,-18,-17,-17,-16,-16,-16,-16,-14,-14,-14,-13,-13,-12,-12,-12,-11,-10,-10,-10,-9,-8,-7,-7,-7,-6,-5,-4,-4,-3,-3,-2,-5,-4,-3,-2,-2,-3,-2,-2,-1,-2,-2,-2,-2,-3,-3,-2,-2,-1,0,0,1,2,2,2,3,3,4,6,6,7,9,8,9,9,9,10,11,11,11,13,4,-6,-7,-7,-6,-6,-6,-6,-7,-9,-9,-2,-1,-1,-12,-7,
+-109,-108,-96,-114,-113,-109,-107,-106,-92,-89,-82,-84,-77,-71,-67,-61,-59,-53,-49,-41,-38,-33,-30,-29,-26,-24,-22,-20,-20,-18,-17,-17,-16,-16,-16,-15,-14,-10,-10,-9,-9,-9,-9,-8,-8,-8,-8,-8,-7,-7,-6,-5,-5,-4,-4,-3,-2,-2,-2,-2,-1,0,0,1,3,3,3,3,2,3,3,3,3,3,4,4,4,4,4,4,4,3,3,4,3,4,5,5,6,6,7,7,8,8,9,11,11,12,13,12,13,14,14,15,16,15,15,15,17,17,16,17,11,11,11,10,10,16,15,16,19,16,18,19,
+-84,-81,-69,-87,-88,-84,-83,-131,-95,-86,-61,-82,-57,-52,-51,-46,-46,-42,-39,-33,-31,-27,-25,-23,-22,-19,-17,-15,-13,-12,-11,-10,-9,-10,-9,-8,-7,-5,-4,-3,-3,-3,-2,-2,-2,-1,0,0,0,0,1,1,2,2,3,4,4,5,5,5,6,7,6,7,9,9,9,9,9,9,10,9,10,10,10,10,10,10,11,10,10,9,9,9,10,10,11,11,11,12,11,12,13,13,14,16,16,17,18,17,17,18,18,19,19,20,20,20,20,20,20,20,19,18,19,18,18,19,19,22,22,24,27,28,
+-94,-96,-88,-108,-115,-109,-111,-105,-94,-90,-87,-81,-77,-72,-70,-66,-61,-56,-54,-47,-42,-37,-35,-34,-32,-31,-30,-28,-27,-27,-26,-24,-24,-23,-22,-22,-21,-20,-20,-20,-20,-20,-19,-19,-17,-17,-16,-16,-16,-16,-16,-16,-15,-15,-15,-15,-15,-15,-15,-14,-14,-13,-14,-13,-14,-14,-12,-12,-13,-13,-13,-13,-13,-12,-12,-12,-12,-13,-13,-12,-12,-13,-13,-13,-13,-13,-12,-12,-12,-12,-11,-11,-10,-10,-9,-8,-8,-8,-7,-6,-6,-6,-6,-6,-6,-5,-4,-7,-7,-7,-7,-7,-10,-10,-10,-11,-11,-14,-14,-16,-15,-14,0,24,
+-92,-103,-97,-120,-128,-122,-122,-111,-99,-94,-89,-81,-75,-69,-66,-62,-58,-54,-52,-46,-40,-36,-34,-33,-33,-31,-30,-28,-28,-26,-26,-24,-23,-21,-21,-20,-19,-20,-19,-19,-19,-18,-16,-15,-14,-14,-12,-11,-11,-10,-10,-10,-9,-9,-8,-10,-10,-9,-9,-8,-7,-7,-7,-6,-7,-6,-5,-4,-3,-3,-2,-2,-2,-2,-1,-1,-1,-2,-1,-1,-1,-2,-2,-1,-1,-1,-2,-2,-1,0,0,1,1,2,3,3,4,5,5,6,6,7,7,8,8,8,9,8,8,8,8,7,6,6,5,4,4,0,0,-1,1,5,19,21,
+-36,-49,-47,-80,-90,-73,-75,-70,-69,-64,-62,-56,-53,-50,-46,-45,-43,-41,-39,-38,-38,-33,-29,-27,-26,-26,-24,-23,-22,-21,-20,-19,-18,-16,-15,-14,-12,-14,-14,-13,-13,-12,-10,-10,-8,-8,-6,-6,-5,-5,-5,-4,-4,-3,-3,-4,-3,-3,-3,-3,-3,-1,-2,-1,-3,-2,-1,0,1,2,2,3,2,2,2,3,3,2,2,3,3,3,3,4,4,5,2,3,3,4,4,5,6,7,7,7,8,8,8,9,10,10,11,11,11,11,12,11,12,11,11,11,11,10,10,9,9,3,4,3,6,10,26,27,
+-53,-56,-35,-71,-83,-68,-72,-63,-63,-58,-56,-48,-46,-44,-40,-39,-36,-35,-33,-32,-30,-26,-23,-21,-20,-20,-18,-18,-16,-15,-14,-13,-13,-9,-9,-9,-9,-8,-8,-7,-7,-7,-3,-3,-2,-2,1,1,1,1,1,2,2,2,3,2,3,3,3,3,4,4,4,5,5,5,7,7,7,7,7,7,8,9,9,9,10,10,10,10,10,9,9,9,9,9,10,10,9,10,11,12,12,13,13,13,14,14,14,15,15,15,15,15,15,15,16,14,14,13,13,13,9,10,9,8,8,4,5,-1,2,7,37,31,
+-49,-45,-69,-106,-113,-91,-95,-81,-81,-69,-68,-61,-59,-57,-49,-49,-51,-50,-48,-48,-50,-46,-44,-43,-43,-43,-43,-42,-42,-22,-27,-17,-16,-15,-15,-14,-14,-13,-13,-13,-12,-12,-11,-11,-9,-9,-9,-9,-8,-8,-6,15,16,14,16,18,18,19,19,18,19,19,18,18,19,19,20,20,18,18,18,19,19,20,20,20,20,20,21,20,20,19,19,19,19,19,21,21,20,20,22,22,22,22,23,23,24,23,24,24,24,24,24,24,24,24,25,21,21,21,21,21,17,17,16,16,16,14,15,8,10,14,44,40,
+-69,-81,-54,-97,-109,-89,-92,-76,-75,-63,-60,-45,-45,-44,-37,-37,-35,-37,-37,-36,-34,-33,-32,-31,-30,-29,-28,-27,-26,-26,-25,-24,-24,-23,-23,-22,-21,-19,-18,-18,-16,-16,-16,-15,-14,-14,-14,-14,-13,-12,-12,-9,-9,-8,-8,-7,-7,-7,-6,-6,-5,-5,-4,-4,-4,-3,-3,-2,0,1,1,1,1,0,1,0,1,1,2,2,3,5,5,6,5,6,5,5,4,5,4,5,6,6,7,8,9,10,10,10,10,10,11,14,13,12,13,15,14,14,13,12,11,11,10,7,8,1,3,-1,4,11,39,31,
+-112,-125,-96,-141,-164,-130,-130,-107,-102,-82,-75,-54,-49,-44,-32,-32,-29,-33,-33,-33,-31,-30,-30,-29,-28,-26,-25,-24,-24,-24,-24,-23,-22,-23,-22,-21,-20,-19,-17,-17,-15,-15,-15,-15,-13,-13,-14,-13,-13,-11,-11,-8,-8,-8,-7,-7,-6,-6,-5,-5,-4,-4,-3,-3,-3,-2,-2,-2,-1,0,0,1,1,1,1,1,1,1,2,3,3,4,5,6,5,6,5,5,5,6,5,6,6,7,7,9,9,11,11,11,11,11,11,14,14,13,13,14,14,13,12,12,11,10,9,6,7,2,3,-1,3,9,39,36,
+-141,-135,-84,-141,-156,-125,-125,-100,-97,-77,-72,-48,-44,-40,-26,-28,-24,-28,-28,-28,-26,-25,-25,-23,-22,-21,-20,-20,-19,-19,-18,-17,-17,-17,-16,-15,-14,-13,-12,-11,-10,-10,-10,-9,-8,-8,-7,-7,-6,-5,-4,-3,-3,-2,-2,-1,0,0,0,1,1,1,2,2,3,3,3,4,6,7,7,8,7,7,7,8,8,9,9,10,10,11,11,11,12,12,11,11,12,12,12,12,13,13,13,13,14,15,15,17,17,17,17,19,19,18,18,19,20,18,18,17,15,14,13,10,10,6,7,4,8,14,44,40,
+-125,-126,-78,-129,-138,-142,-144,-80,-116,-103,-97,-30,-25,-48,-55,-61,-7,-10,-35,-36,-11,-12,-12,-11,-11,-11,-11,-11,-10,-10,-10,-10,-9,-9,-9,-8,-7,-7,-6,-5,-4,-4,-4,-3,-3,-2,-2,-2,-1,0,0,1,2,2,2,3,4,4,5,5,6,6,7,7,7,8,8,9,11,12,12,12,13,13,13,14,14,15,15,16,16,16,17,17,17,17,17,17,17,17,17,18,18,18,18,19,19,20,21,22,22,22,23,25,25,24,24,25,25,24,23,22,20,19,18,16,15,13,14,10,14,18,47,11,
+-99,-102,-66,-122,-148,-122,-127,-107,-107,-86,-85,-61,-61,-59,-45,-49,-39,-42,-40,-42,-41,-41,-41,-40,-40,-39,-38,-36,-36,-35,-35,-34,-34,-31,-30,-30,-30,-29,-28,-28,-26,-26,-24,-23,-22,-21,-21,-20,-19,-17,-17,-16,-15,-15,-14,-14,-13,-13,-12,-11,-10,-10,-9,-9,-7,-7,-7,-6,-4,-3,-3,-3,-2,-2,-1,-1,0,0,0,-1,-2,-2,-3,-4,-5,-6,-5,-7,-7,-7,-6,-6,-6,-6,-6,-6,-5,-4,-4,-3,-3,-2,-2,-3,-3,-4,-1,-2,-3,-4,-2,-3,-8,-9,-10,-11,-11,-16,-15,-15,-13,-10,11,16,
+-52,-85,-63,-128,-149,-119,-122,-108,-107,-82,-80,-62,-60,-57,-41,-44,-37,-39,-37,-38,-39,-39,-39,-38,-38,-38,-37,-36,-35,-34,-34,-33,-32,-31,-30,-30,-29,-29,-29,-28,-26,-25,-24,-23,-22,-21,-22,-21,-20,-18,-18,-18,-17,-16,-15,-16,-15,-15,-14,-12,-11,-11,-11,-10,-8,-7,-7,-6,-5,-5,-4,-3,-2,-1,0,0,1,1,1,1,0,-1,-2,-3,-3,-4,-4,-5,-6,-6,-5,-5,-4,-4,-4,-3,-3,-2,-2,-2,-2,-1,0,0,0,-1,1,3,2,1,2,0,1,1,-1,-2,-2,-4,-3,-2,1,5,29,21,
+-53,-85,-68,-127,-130,-118,-119,-98,-95,-85,-80,-58,-54,-50,-40,-37,-33,-35,-35,-35,-34,-34,-34,-32,-32,-30,-30,-30,-29,-28,-28,-27,-27,-24,-23,-23,-22,-22,-22,-21,-21,-20,-19,-18,-16,-16,-15,-14,-13,-12,-11,-11,-11,-10,-9,-10,-9,-8,-7,-6,-5,-5,-4,-4,-2,-2,-1,0,0,0,1,2,2,4,5,5,6,6,6,6,5,3,3,2,1,0,1,0,-1,0,0,0,1,1,1,2,2,3,3,3,3,4,4,2,2,2,4,5,5,4,5,4,5,4,4,2,2,1,3,4,6,11,33,26,
+-65,-76,-74,-115,-130,-115,-111,-96,-90,-77,-70,-58,-52,-46,-34,-33,-32,-32,-30,-30,-31,-30,-30,-28,-28,-27,-26,-26,-25,-24,-24,-23,-22,-21,-19,-19,-18,-18,-17,-16,-16,-15,-14,-13,-11,-10,-10,-8,-8,-6,-6,-6,-5,-4,-3,-4,-3,-2,-1,0,1,2,2,3,4,5,5,6,6,6,7,8,8,10,11,11,11,12,12,12,11,10,10,9,8,6,7,6,5,5,6,6,6,7,7,7,6,8,8,8,8,9,9,11,12,11,12,11,13,12,13,12,12,12,11,10,11,8,9,10,13,18,46,32,
+-54,-101,-101,-112,-115,-108,-100,-105,-95,-90,-80,-83,-70,-58,-51,-53,-51,-47,-45,-43,-44,-45,-43,-42,-40,-40,-39,-38,-37,-36,-35,-34,-33,-33,-32,-31,-30,-29,-29,-28,-28,-27,-27,-26,-26,-26,-26,-25,-25,-24,-24,-24,-24,-24,-24,-23,-22,-22,-22,-22,-22,-21,-22,-21,-21,-20,-20,-20,-19,-19,-19,-18,-17,-15,-13,-1,-4,7,2,5,4,6,8,7,8,8,9,10,10,10,11,11,11,12,12,12,11,13,13,14,9,14,13,10,9,15,12,-3,14,14,13,11,28,26,24,23,23,18,19,20,21,25,54,43,
+-114,-120,-112,-117,-118,-108,-98,-105,-94,-87,-75,-83,-69,-55,-47,-54,-50,-46,-43,-39,-41,-42,-40,-38,-36,-38,-36,-35,-33,-32,-31,-29,-28,-29,-27,-26,-24,-24,-22,-21,-20,-19,-19,-18,-17,-17,-17,-16,-15,-14,-14,-14,-14,-13,-12,-10,-10,-10,-9,-9,-9,-9,-8,-8,-6,-6,-5,-4,-6,-5,-5,-3,-3,-3,-3,-1,-1,-1,-1,0,0,1,2,2,3,3,4,4,5,5,6,6,6,8,8,8,8,10,10,10,10,10,11,10,9,8,10,9,9,8,6,3,4,1,-1,-1,-1,1,4,7,12,18,39,36,
+-105,-106,-113,-106,-104,-103,-91,-96,-82,-84,-68,-77,-61,-46,-48,-45,-47,-42,-44,-39,-39,-39,-36,-38,-35,-36,-34,-32,-29,-28,-27,-25,-23,-24,-22,-21,-20,-16,-14,-13,-12,-11,-11,-10,-10,-9,-9,-8,-8,-7,-6,-7,-7,-6,-6,-4,-3,-3,-3,-4,-3,-3,-3,-3,-2,-1,-1,0,-2,-1,-1,1,1,0,0,2,2,1,2,3,3,4,4,5,6,6,7,7,8,8,9,9,9,11,11,11,11,13,12,14,14,14,14,15,14,13,15,13,14,12,11,7,4,1,-2,-2,-2,-3,-2,1,5,9,16,28,
+-105,-105,-111,-103,-101,-98,-86,-93,-78,-78,-62,-74,-57,-40,-40,-46,-43,-37,-37,-32,-33,-34,-30,-31,-28,-30,-28,-26,-24,-24,-22,-21,-19,-19,-17,-15,-14,-12,-10,-9,-8,-7,-7,-6,-6,-5,-4,-4,-3,-3,-2,-2,-1,-1,-1,1,2,2,2,2,2,2,2,2,3,4,4,4,3,3,3,4,4,5,5,5,5,6,7,7,7,7,8,8,10,10,11,10,12,11,11,10,9,9,9,8,6,8,6,7,6,5,8,6,6,4,6,4,7,5,7,6,10,9,7,10,9,12,13,15,19,23,15,28,
+-78,-89,-96,-95,-96,-98,-93,-90,-83,-94,-82,-78,-67,-57,-64,-54,-45,-37,-48,-47,-47,-48,-47,-49,-49,-50,-48,-40,-25,-23,-19,-20,-20,-19,-19,-19,-18,6,7,8,8,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,14,14,12,12,12,13,13,13,13,14,14,15,15,15,15,17,16,18,17,17,16,15,15,13,14,12,13,11,14,13,12,14,13,14,12,14,12,15,12,14,13,16,14,13,15,14,17,17,18,22,26,33,27,
+-42,-62,-76,-81,-84,-86,-80,-82,-73,-80,-65,-68,-54,-41,-45,-41,-29,-19,-28,-26,-24,-28,-25,-27,-25,-28,-26,-27,-26,-22,-21,-21,-20,-19,-18,-18,-18,-18,-18,-16,-16,-15,-17,-17,-13,-11,-14,-15,-14,-13,-13,-12,-12,-10,-10,-6,-5,-5,-3,-4,-4,-3,-8,-7,-5,-4,-8,-7,-4,-4,-4,-4,-4,-8,-8,-7,-7,-7,-6,-7,-3,-3,-3,-3,-1,-1,2,2,3,2,4,2,0,5,4,4,2,6,4,7,5,3,5,9,11,8,14,10,10,8,10,9,8,7,6,6,4,6,6,6,10,12,12,-108,
+-23,-46,-64,-70,-76,-80,-76,-73,-64,-73,-60,-58,-45,-33,-38,-30,-20,-10,-19,-18,-16,-18,-16,-18,-16,-19,-18,-19,-18,-13,-12,-13,-12,-10,-10,-10,-10,-10,-11,-10,-9,-9,-11,-11,-8,-5,-8,-8,-8,-7,-7,-6,-6,-4,-4,-1,0,0,1,1,1,2,-3,-2,0,1,-2,-2,2,2,2,3,2,-2,-2,-2,-2,-2,-2,-2,2,2,1,1,3,3,5,5,7,6,8,6,4,8,8,7,5,10,7,12,10,7,10,21,18,13,18,14,17,13,14,11,12,10,7,8,6,8,7,8,12,16,19,-96,
+-33,-93,-78,-105,-112,-101,-96,-96,-86,-90,-78,-82,-71,-59,-62,-52,-52,-44,-45,-42,-41,-39,-36,-40,-38,-35,-33,-36,-34,-31,-29,-28,-27,-25,-24,-23,-21,-20,-19,-17,-16,-16,-9,-8,-7,-5,-5,-6,-6,-4,-4,-4,-4,-2,-2,1,1,1,3,3,3,4,-1,0,2,3,3,1,1,3,4,2,2,0,0,0,-1,1,-1,-3,0,0,3,3,6,6,14,14,16,15,18,18,18,23,22,24,23,29,27,32,29,27,29,41,37,32,36,30,30,25,26,23,21,19,17,18,17,20,19,20,23,27,29,-87,
+-65,-105,-85,-104,-99,-87,-83,-78,-71,-78,-70,-66,-58,-51,-56,-45,-42,-36,-38,-35,-34,-32,-29,-33,-30,-27,-25,-28,-26,-22,-21,-20,-18,-16,-15,-14,-12,-11,-10,-9,-8,-8,-8,-8,-6,-5,-5,-5,-5,-1,-1,-4,-3,0,1,1,1,2,3,4,4,4,0,1,4,4,5,4,4,4,5,4,5,2,2,2,1,3,2,2,6,5,6,6,10,10,11,11,14,14,14,13,13,17,18,19,17,22,21,25,22,20,29,25,30,24,30,23,28,22,26,23,22,20,18,21,20,19,20,20,25,28,38,35,
+-50,-117,-96,-115,-116,-106,-103,-105,-96,-97,-87,-88,-79,-69,-68,-60,-59,-53,-51,-49,-52,-50,-50,-51,-50,-50,-49,-47,-46,-46,-45,-44,-43,-40,-39,-39,-38,-37,-35,-35,-32,-32,-29,-29,-29,-26,-26,-26,-26,-23,-23,-22,-22,-22,-21,-19,-19,-19,-19,-18,-16,-15,-17,-15,-16,-14,-14,-14,-14,-13,-13,-13,-13,-11,-11,-10,-11,-8,-8,-8,-7,-7,-7,-7,-5,-5,-1,-1,0,0,1,0,0,1,3,6,4,8,7,15,12,9,12,8,29,13,14,7,20,6,8,4,5,1,-2,7,4,2,0,4,13,14,4,14,
+-62,-92,-86,-103,-104,-94,-92,-91,-84,-86,-78,-77,-69,-62,-63,-57,-52,-46,-46,-45,-46,-47,-46,-48,-48,-48,-48,-47,-46,-45,-44,-44,-44,-42,-41,-41,-41,-41,-38,-38,-36,-36,-34,-34,-34,-31,-31,-30,-30,-28,-28,-27,-27,-27,-27,-25,-25,-24,-25,-24,-22,-21,-23,-22,-21,-20,-20,-20,-19,-18,-18,-18,-18,-16,-16,-15,-15,-13,-13,-13,-11,-11,-13,-12,-10,-10,-9,-9,-8,-7,-8,-7,-7,-6,-7,-4,-5,0,-1,1,0,-2,1,0,4,1,5,1,3,0,3,-1,1,-3,-6,1,-3,-3,-7,-9,0,-3,-19,-22,
+35,-12,-9,-75,-81,-64,-59,-53,-44,-55,-47,-50,-55,-45,-47,-40,-31,-29,8,9,10,10,9,19,19,18,19,20,20,15,15,16,17,19,19,19,27,26,29,29,30,30,32,32,32,34,34,30,29,36,36,32,34,38,37,38,37,38,42,40,42,46,45,47,45,46,47,48,49,48,52,54,53,54,54,57,55,60,59,60,62,62,60,61,63,63,63,63,65,65,64,64,64,66,65,66,65,70,69,69,68,66,71,69,70,68,73,71,71,67,72,69,70,67,63,70,65,66,62,58,61,45,45,39,
+93,19,19,-45,-48,-29,-22,-20,-10,-20,-10,-14,-18,-9,-12,-4,6,8,43,44,47,46,45,55,54,56,55,56,56,53,53,55,55,59,59,60,67,68,72,72,73,73,77,76,75,77,76,73,73,79,79,75,75,78,81,82,82,82,83,84,84,86,85,86,80,82,83,88,85,84,84,84,85,86,85,91,91,93,93,93,96,96,92,93,99,99,100,100,102,103,96,96,96,104,98,98,98,107,106,100,99,98,109,107,100,98,110,108,100,97,109,105,108,104,100,101,92,82,73,73,98,95,91,77,
+-27,-45,-73,-89,-85,-91,-82,-84,-72,-66,-57,-71,-76,-67,-57,-50,-40,-39,-1,-2,2,0,-2,-1,-2,2,0,3,3,6,6,9,9,13,13,13,16,17,21,21,23,22,27,27,26,26,26,31,29,30,30,32,33,32,33,33,33,34,33,33,34,34,34,35,33,33,34,35,35,36,35,36,36,35,35,36,36,37,37,36,38,38,38,38,42,43,44,45,47,49,41,41,42,50,44,43,44,53,53,46,45,44,57,56,48,47,60,57,50,46,58,56,58,54,51,52,43,35,24,26,47,41,31,33,
+-70,-83,-95,-98,-84,-85,-73,-69,-57,-51,-42,-49,-57,-50,-40,-34,-24,-24,-19,-21,-18,-19,-21,-19,-21,-18,-19,-17,-18,-16,-16,-14,-13,-12,-11,-11,-9,-9,-5,-6,-4,-4,-2,-3,-4,-2,-3,-1,-1,-1,-1,1,1,1,1,2,2,3,3,4,4,5,5,7,7,7,8,8,9,9,10,9,9,11,11,11,11,12,11,12,13,13,16,17,17,18,17,17,18,19,19,20,20,20,20,21,21,22,22,22,22,23,21,22,23,23,20,20,21,20,17,15,16,16,14,13,6,4,-4,-3,15,13,1,51,
+-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,
+-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-88,-96,-104,-112,-120,-128,-136,-136,-136,-136,-136,-136,-136,
+-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,
+-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,
+-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,
+-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,
|