diff --git a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h index f6b2ec2e5..79b237ea3 100755 --- a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h +++ b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h @@ -922,7 +922,7 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 ENABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MR5RCwDB01" +#define SF_BASE_VERSION "7MR5RCwDB04" #define HW_S530 DISABLE #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ @@ -974,7 +974,7 @@ #ifndef ANR_FUNC #define ANR_FUNC ENABLE #endif -#define SF_NO_SD_SEND DISABLE +#define SF_NO_SD_SEND ENABLE //////////////////////sf end/////////////////////////////// /******************************************************************************************* diff --git a/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c b/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c index 36ec7ca25..39e10049e 100755 --- a/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c +++ b/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_Exe.c @@ -1455,7 +1455,7 @@ static void MovieExe_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT32 #if HUNTING_CAMERA_MCU == ENABLE DBG_IND(" ===== MOVIE_USER_CB_EVENT_CLOSE_FILE_COMPLETED ===== id:%d \r\n", id); UIMenuStoreInfo *puiPara = sf_ui_para_get(); - if((SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode) && (id == _CFG_REC_ID_1)) + if(((SF_CAM_MODE_VIDEO2 == puiPara->CamMode) || (SF_CAM_MODE_PHOTO_VIDEO == puiPara->CamMode)) && (id == _CFG_REC_ID_1)) { if(SUCCESS == sf_share_mem_file_down(0, 0)){ sf_set_send_statu(TRUE); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Goodbye.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Goodbye.c index 0a0e5cd8b..71d51388e 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Goodbye.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/Resource/Goodbye.c @@ -2,934 +2,254 @@ #define _GOODBYE_H #include "kwrap/type.h" -const UINT8 g_ucBGGoodbye[] = { -0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01, 0x02, 0x01, 0x00, 0x48, -0x00, 0x48, 0x00, 0x00, 0xFF, 0xE1, 0x07, 0x0C, 0x45, 0x78, 0x69, 0x66, 0x00, 0x00, 0x4D, 0x4D, -0x00, 0x2A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x07, 0x01, 0x12, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, -0x00, 0x01, 0x00, 0x00, 0x01, 0x1A, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, -0x01, 0x1B, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6A, 0x01, 0x28, 0x00, 0x03, -0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x01, 0x31, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1C, -0x00, 0x00, 0x00, 0x72, 0x01, 0x32, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x8E, -0x87, 0x69, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xD0, -0x00, 0x0A, 0xFC, 0x80, 0x00, 0x00, 0x27, 0x10, 0x00, 0x0A, 0xFC, 0x80, 0x00, 0x00, 0x27, 0x10, -0x41, 0x64, 0x6F, 0x62, 0x65, 0x20, 0x50, 0x68, 0x6F, 0x74, 0x6F, 0x73, 0x68, 0x6F, 0x70, 0x20, -0x43, 0x53, 0x34, 0x20, 0x57, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x00, 0x32, 0x30, 0x32, 0x31, -0x3A, 0x31, 0x31, 0x3A, 0x30, 0x34, 0x20, 0x31, 0x30, 0x3A, 0x31, 0x37, 0x3A, 0x31, 0x32, 0x00, -0x00, 0x00, 0x00, 0x03, 0xA0, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, -0xA0, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x40, 0xA0, 0x03, 0x00, 0x04, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, -0x01, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x00, 0x01, 0x1A, 0x00, 0x05, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x1E, 0x01, 0x1B, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x01, 0x26, 0x01, 0x28, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, -0x02, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x2E, 0x02, 0x02, 0x00, 0x04, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x05, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xD8, 0xFF, 0xE0, -0x00, 0x10, 0x4A, 0x46, 0x49, 0x46, 0x00, 0x01, 0x02, 0x00, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, -0xFF, 0xED, 0x00, 0x0C, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x5F, 0x43, 0x4D, 0x00, 0x01, 0xFF, 0xEE, -0x00, 0x0E, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x00, 0x64, 0x80, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xDB, -0x00, 0x84, 0x00, 0x0C, 0x08, 0x08, 0x08, 0x09, 0x08, 0x0C, 0x09, 0x09, 0x0C, 0x11, 0x0B, 0x0A, -0x0B, 0x11, 0x15, 0x0F, 0x0C, 0x0C, 0x0F, 0x15, 0x18, 0x13, 0x13, 0x15, 0x13, 0x13, 0x18, 0x11, -0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x01, 0x0D, 0x0B, 0x0B, 0x0D, 0x0E, 0x0D, 0x10, 0x0E, 0x0E, 0x10, 0x14, 0x0E, -0x0E, 0x0E, 0x14, 0x14, 0x0E, 0x0E, 0x0E, 0x0E, 0x14, 0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x11, -0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x78, 0x00, 0xA0, 0x03, 0x01, 0x22, -0x00, 0x02, 0x11, 0x01, 0x03, 0x11, 0x01, 0xFF, 0xDD, 0x00, 0x04, 0x00, 0x0A, 0xFF, 0xC4, 0x01, -0x3F, 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x03, 0x00, 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x01, 0x00, -0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x10, 0x00, 0x01, 0x04, 0x01, -0x03, 0x02, 0x04, 0x02, 0x05, 0x07, 0x06, 0x08, 0x05, 0x03, 0x0C, 0x33, 0x01, 0x00, 0x02, 0x11, -0x03, 0x04, 0x21, 0x12, 0x31, 0x05, 0x41, 0x51, 0x61, 0x13, 0x22, 0x71, 0x81, 0x32, 0x06, 0x14, -0x91, 0xA1, 0xB1, 0x42, 0x23, 0x24, 0x15, 0x52, 0xC1, 0x62, 0x33, 0x34, 0x72, 0x82, 0xD1, 0x43, -0x07, 0x25, 0x92, 0x53, 0xF0, 0xE1, 0xF1, 0x63, 0x73, 0x35, 0x16, 0xA2, 0xB2, 0x83, 0x26, 0x44, -0x93, 0x54, 0x64, 0x45, 0xC2, 0xA3, 0x74, 0x36, 0x17, 0xD2, 0x55, 0xE2, 0x65, 0xF2, 0xB3, 0x84, -0xC3, 0xD3, 0x75, 0xE3, 0xF3, 0x46, 0x27, 0x94, 0xA4, 0x85, 0xB4, 0x95, 0xC4, 0xD4, 0xE4, 0xF4, -0xA5, 0xB5, 0xC5, 0xD5, 0xE5, 0xF5, 0x56, 0x66, 0x76, 0x86, 0x96, 0xA6, 0xB6, 0xC6, 0xD6, 0xE6, -0xF6, 0x37, 0x47, 0x57, 0x67, 0x77, 0x87, 0x97, 0xA7, 0xB7, 0xC7, 0xD7, 0xE7, 0xF7, 0x11, 0x00, -0x02, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x06, 0x05, 0x35, 0x01, -0x00, 0x02, 0x11, 0x03, 0x21, 0x31, 0x12, 0x04, 0x41, 0x51, 0x61, 0x71, 0x22, 0x13, 0x05, 0x32, -0x81, 0x91, 0x14, 0xA1, 0xB1, 0x42, 0x23, 0xC1, 0x52, 0xD1, 0xF0, 0x33, 0x24, 0x62, 0xE1, 0x72, -0x82, 0x92, 0x43, 0x53, 0x15, 0x63, 0x73, 0x34, 0xF1, 0x25, 0x06, 0x16, 0xA2, 0xB2, 0x83, 0x07, -0x26, 0x35, 0xC2, 0xD2, 0x44, 0x93, 0x54, 0xA3, 0x17, 0x64, 0x45, 0x55, 0x36, 0x74, 0x65, 0xE2, -0xF2, 0xB3, 0x84, 0xC3, 0xD3, 0x75, 0xE3, 0xF3, 0x46, 0x94, 0xA4, 0x85, 0xB4, 0x95, 0xC4, 0xD4, -0xE4, 0xF4, 0xA5, 0xB5, 0xC5, 0xD5, 0xE5, 0xF5, 0x56, 0x66, 0x76, 0x86, 0x96, 0xA6, 0xB6, 0xC6, -0xD6, 0xE6, 0xF6, 0x27, 0x37, 0x47, 0x57, 0x67, 0x77, 0x87, 0x97, 0xA7, 0xB7, 0xC7, 0xFF, 0xDA, -0x00, 0x0C, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3F, 0x00, 0xF3, 0x44, 0x92, 0x5D, -0x3F, 0x4A, 0xE9, 0x9D, 0x12, 0xEC, 0x4E, 0x95, 0xEB, 0xB7, 0x14, 0x65, 0x67, 0x32, 0xFD, 0xE7, -0x26, 0xCB, 0xC0, 0x73, 0xEB, 0xBC, 0xD7, 0x5B, 0x1B, 0xF6, 0x5C, 0x8A, 0x19, 0x8F, 0x6B, 0xB1, -0xFD, 0x95, 0xFA, 0xDF, 0xA2, 0xB7, 0xFE, 0x31, 0x33, 0x2E, 0x51, 0x8C, 0x02, 0x41, 0x36, 0x6B, -0xD3, 0xAF, 0xE8, 0xCA, 0x7F, 0xF7, 0x28, 0x26, 0x9E, 0x61, 0x25, 0xD7, 0x55, 0xD1, 0xFA, 0x1D, -0x9B, 0x1F, 0x46, 0x18, 0x73, 0x6C, 0x39, 0x04, 0xD5, 0x79, 0xBD, 0xF6, 0x56, 0xD6, 0x64, 0x59, -0x4D, 0x0C, 0xB6, 0xBC, 0x5C, 0x9A, 0x7D, 0x1B, 0x1B, 0x4B, 0x76, 0x7B, 0xFE, 0x9A, 0xA1, 0x4F, -0x4A, 0xE9, 0x7D, 0x41, 0x8F, 0xA9, 0x86, 0xBE, 0x9B, 0x95, 0x83, 0x98, 0x59, 0x9D, 0xBA, 0xC2, -0x5B, 0xF6, 0x4B, 0x1F, 0xB3, 0xED, 0x2C, 0x6E, 0x45, 0x96, 0x3B, 0x7E, 0x0B, 0xBF, 0x42, 0xF6, -0xFF, 0x00, 0xC2, 0x56, 0xFB, 0x94, 0x63, 0x9A, 0x81, 0xBD, 0x24, 0x28, 0xD1, 0xB1, 0xB7, 0xE8, -0xF7, 0x47, 0x10, 0x70, 0x12, 0x5D, 0x46, 0x26, 0x0F, 0x41, 0xCE, 0x61, 0xCA, 0xC4, 0xC3, 0x61, -0xAE, 0xCC, 0x9C, 0x86, 0x55, 0x4B, 0xDF, 0x7B, 0xDC, 0xDA, 0x6B, 0x6E, 0x2F, 0xA0, 0xE7, 0xB2, -0x9C, 0x8A, 0xAD, 0xF5, 0x1C, 0xEB, 0x2D, 0x7B, 0x9F, 0xBB, 0x67, 0xE9, 0x3D, 0x3F, 0xF4, 0x68, -0x74, 0x74, 0x7E, 0x96, 0xDC, 0x9C, 0xEC, 0x8C, 0xF6, 0x55, 0x4E, 0x33, 0x6D, 0x18, 0xB8, 0x78, -0xA6, 0xE7, 0x52, 0x3D, 0x42, 0xD6, 0x5B, 0x7E, 0x4E, 0xFB, 0xEE, 0x7D, 0xEC, 0x66, 0x3E, 0x37, -0xE9, 0x9A, 0xCB, 0xAC, 0x7F, 0xA9, 0x93, 0x75, 0x54, 0x7F, 0xC1, 0xA5, 0xF7, 0xA8, 0x6B, 0x71, -0x90, 0x23, 0xA1, 0x02, 0xF7, 0xE1, 0xE1, 0xF9, 0x95, 0xC4, 0x1E, 0x6D, 0x25, 0xBF, 0x97, 0xF5, -0x7A, 0x8A, 0xA8, 0xCD, 0xA3, 0x10, 0x8C, 0xCC, 0xA6, 0x65, 0x53, 0xF6, 0x1B, 0x19, 0x60, 0x25, -0xF8, 0x96, 0x57, 0x75, 0xDE, 0xA0, 0x60, 0x73, 0x6B, 0x7F, 0xF3, 0x6C, 0xF5, 0x1F, 0xB7, 0xD9, -0x62, 0xC5, 0xCA, 0xC4, 0xC9, 0xC4, 0xB7, 0xD1, 0xCA, 0xAC, 0xD5, 0x6C, 0x07, 0x6C, 0x74, 0x4C, -0x1F, 0xA2, 0xEF, 0x6C, 0xA9, 0x21, 0x96, 0x13, 0xF9, 0x4F, 0xD0, 0xEF, 0x5F, 0x35, 0xD2, 0x41, -0x05, 0x12, 0x49, 0x24, 0xA4, 0x4A, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, -0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xFF, 0x00, 0xFF, 0xD0, 0xF3, -0x45, 0x7B, 0x17, 0xAD, 0xF5, 0x2C, 0x4C, 0x71, 0x8D, 0x8F, 0x65, 0x6D, 0xA4, 0x4C, 0x35, 0xD4, -0x53, 0x61, 0xD4, 0xEE, 0x32, 0xFB, 0xA9, 0xB2, 0xC7, 0x7F, 0x9C, 0xA8, 0xA4, 0x84, 0xA3, 0x19, -0x0A, 0x90, 0x12, 0x1F, 0xD6, 0x16, 0xAA, 0x7A, 0xBF, 0xAB, 0x9F, 0x59, 0xF0, 0x77, 0xDF, 0x57, -0xD6, 0x06, 0xE3, 0xB9, 0x85, 0xA1, 0xD8, 0xF9, 0x07, 0x16, 0xB3, 0x0E, 0x1E, 0xD7, 0xD2, 0xE6, -0xE3, 0x51, 0xBB, 0x6D, 0x8D, 0x3B, 0xD8, 0xED, 0x9F, 0xE0, 0xD5, 0xCB, 0xBA, 0xD7, 0x44, 0x75, -0xCE, 0x75, 0x1D, 0x57, 0x15, 0xB8, 0xFB, 0xCB, 0x99, 0x53, 0xF0, 0x1C, 0x5C, 0xD6, 0x92, 0xD7, -0x35, 0x8C, 0xB4, 0x61, 0x7B, 0x3D, 0x26, 0xB7, 0x67, 0xD0, 0xB3, 0xD4, 0xDE, 0xB8, 0x84, 0x95, -0x79, 0x72, 0x78, 0xCC, 0x8C, 0x81, 0x31, 0xBF, 0xD1, 0x8F, 0x07, 0x07, 0xD2, 0x32, 0x84, 0x96, -0xF0, 0x0B, 0xB7, 0xB5, 0x77, 0x59, 0xE9, 0x07, 0x4F, 0xDA, 0xF8, 0x6F, 0xE6, 0x1D, 0x67, 0x4F, -0x71, 0x77, 0x04, 0x35, 0xCF, 0x8C, 0x3D, 0xAF, 0xDB, 0xBB, 0x77, 0xA5, 0xFA, 0x3F, 0xF8, 0xDF, -0xF4, 0x87, 0xE9, 0xDD, 0x7B, 0xEA, 0xF5, 0x16, 0x58, 0xEC, 0xFE, 0xA3, 0x89, 0x92, 0xD7, 0x06, -0xB6, 0xA6, 0xD7, 0xD3, 0xDD, 0x5E, 0xC8, 0x27, 0x7B, 0x8C, 0x62, 0xEE, 0x7E, 0xFF, 0x00, 0xFA, -0x0B, 0x83, 0x49, 0x03, 0xC8, 0xE3, 0x22, 0xB8, 0xA5, 0xAF, 0x61, 0x8C, 0x7F, 0xEA, 0x35, 0x70, -0x0E, 0xEE, 0xDF, 0x53, 0xFA, 0xD1, 0x95, 0x76, 0x7D, 0xEE, 0xC0, 0x6D, 0x34, 0x61, 0x6F, 0x23, -0x1E, 0xAF, 0xB3, 0x50, 0x7D, 0x83, 0x40, 0xF7, 0x7A, 0x94, 0x39, 0xFB, 0xED, 0xDB, 0xEA, 0xBD, -0x64, 0xE5, 0x65, 0xDF, 0x99, 0x77, 0xAF, 0x79, 0x69, 0xB0, 0x80, 0xD9, 0x63, 0x19, 0x58, 0x81, -0xC7, 0xB2, 0x86, 0x55, 0x5F, 0xFD, 0x14, 0x24, 0x94, 0xF0, 0xC5, 0x08, 0x01, 0xC3, 0x10, 0x28, -0x55, 0xD7, 0xAB, 0xFC, 0x64, 0x80, 0x02, 0x92, 0x49, 0x25, 0x22, 0x54, 0x92, 0x49, 0x24, 0xA5, -0x24, 0x92, 0x49, 0x29, 0x49, 0x24, 0x92, 0x4A, 0x52, 0x49, 0x24, 0x92, 0x94, 0x92, 0x49, 0x24, -0xA7, 0xFF, 0xD1, 0xF3, 0x44, 0x92, 0x49, 0x15, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, -0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, -0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, -0xD2, 0xF3, 0x44, 0x92, 0x49, 0x15, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, -0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, -0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, 0xD3, 0xF3, -0x44, 0x92, 0x49, 0x15, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, -0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, -0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, 0xD4, 0xF3, 0x44, 0x92, -0x49, 0x15, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, -0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, -0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, 0xD5, 0xF3, 0x44, 0x92, 0x49, 0x15, -0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, -0x25, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, -0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, 0xD6, 0xF3, 0x44, 0x95, 0x54, 0x91, 0x53, 0x69, -0x25, 0x55, 0x24, 0x94, 0xDA, 0x49, 0x55, 0x49, 0x25, 0x36, 0x92, 0x55, 0x52, 0x49, 0x4D, 0xA4, -0x95, 0x54, 0x92, 0x53, 0x69, 0x25, 0x55, 0x24, 0x94, 0xDA, 0x49, 0x55, 0x49, 0x25, 0x36, 0x92, -0x55, 0x52, 0x49, 0x4D, 0xA4, 0x95, 0x54, 0x92, 0x53, 0x69, 0x25, 0x55, 0x24, 0x94, 0xFF, 0x00, -0xFF, 0xD9, 0xFF, 0xED, 0x0B, 0xB2, 0x50, 0x68, 0x6F, 0x74, 0x6F, 0x73, 0x68, 0x6F, 0x70, 0x20, -0x33, 0x2E, 0x30, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, -0x1C, 0x02, 0x00, 0x00, 0x02, 0xB8, 0xCB, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x25, 0x00, 0x00, -0x00, 0x00, 0x00, 0x10, 0x79, 0x78, 0xE6, 0xAC, 0xD2, 0x94, 0x0B, 0x77, 0xE3, 0x9D, 0xDD, 0x2B, -0x62, 0xE4, 0x9B, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x03, 0xED, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, -0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, -0x38, 0x42, 0x49, 0x4D, 0x04, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x0D, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x19, -0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x38, 0x42, 0x49, 0x4D, 0x03, 0xF3, -0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, -0x38, 0x42, 0x49, 0x4D, 0x27, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x38, 0x42, 0x49, 0x4D, 0x03, 0xF5, 0x00, 0x00, 0x00, 0x00, -0x00, 0x48, 0x00, 0x2F, 0x66, 0x66, 0x00, 0x01, 0x00, 0x6C, 0x66, 0x66, 0x00, 0x06, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x2F, 0x66, 0x66, 0x00, 0x01, 0x00, 0xA1, 0x99, 0x9A, 0x00, 0x06, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5A, 0x00, 0x00, -0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x35, 0x00, 0x00, 0x00, 0x01, 0x00, 0x2D, -0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x38, 0x42, 0x49, 0x4D, 0x03, 0xF8, -0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xE8, -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, 0x03, 0xE8, 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, 0x03, 0xE8, 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, 0x03, 0xE8, 0x00, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, -0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, -0x00, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x4B, 0x00, 0x00, -0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, -0x01, 0x40, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x34, 0x00, 0x5F, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, -0x00, 0x6B, 0x00, 0x5F, 0x00, 0x6D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x00, 0x00, 0x01, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, -0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x62, -0x6F, 0x75, 0x6E, 0x64, 0x73, 0x4F, 0x62, 0x6A, 0x63, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x52, 0x63, 0x74, 0x31, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x54, -0x6F, 0x70, 0x20, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, -0x65, 0x66, 0x74, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, -0x74, 0x6F, 0x6D, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x52, -0x67, 0x68, 0x74, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x06, 0x73, -0x6C, 0x69, 0x63, 0x65, 0x73, 0x56, 0x6C, 0x4C, 0x73, 0x00, 0x00, 0x00, 0x01, 0x4F, 0x62, 0x6A, -0x63, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x73, 0x6C, 0x69, 0x63, 0x65, -0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x07, 0x73, 0x6C, 0x69, 0x63, 0x65, 0x49, 0x44, 0x6C, -0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x67, 0x72, 0x6F, 0x75, 0x70, -0x49, 0x44, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x6F, 0x72, -0x69, 0x67, 0x69, 0x6E, 0x65, 0x6E, 0x75, 0x6D, 0x00, 0x00, 0x00, 0x0C, 0x45, 0x53, 0x6C, 0x69, -0x63, 0x65, 0x4F, 0x72, 0x69, 0x67, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x0D, 0x61, 0x75, 0x74, 0x6F, -0x47, 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x54, 0x79, 0x70, -0x65, 0x65, 0x6E, 0x75, 0x6D, 0x00, 0x00, 0x00, 0x0A, 0x45, 0x53, 0x6C, 0x69, 0x63, 0x65, 0x54, -0x79, 0x70, 0x65, 0x00, 0x00, 0x00, 0x00, 0x49, 0x6D, 0x67, 0x20, 0x00, 0x00, 0x00, 0x06, 0x62, -0x6F, 0x75, 0x6E, 0x64, 0x73, 0x4F, 0x62, 0x6A, 0x63, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x52, 0x63, 0x74, 0x31, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x54, -0x6F, 0x70, 0x20, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, -0x65, 0x66, 0x74, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, -0x74, 0x6F, 0x6D, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x52, -0x67, 0x68, 0x74, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x03, 0x75, -0x72, 0x6C, 0x54, 0x45, 0x58, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x6E, 0x75, 0x6C, 0x6C, 0x54, 0x45, 0x58, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x4D, 0x73, 0x67, 0x65, 0x54, 0x45, 0x58, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, -0x00, 0x00, 0x00, 0x06, 0x61, 0x6C, 0x74, 0x54, 0x61, 0x67, 0x54, 0x45, 0x58, 0x54, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x63, 0x65, 0x6C, 0x6C, 0x54, 0x65, 0x78, 0x74, -0x49, 0x73, 0x48, 0x54, 0x4D, 0x4C, 0x62, 0x6F, 0x6F, 0x6C, 0x01, 0x00, 0x00, 0x00, 0x08, 0x63, -0x65, 0x6C, 0x6C, 0x54, 0x65, 0x78, 0x74, 0x54, 0x45, 0x58, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, -0x00, 0x00, 0x00, 0x00, 0x09, 0x68, 0x6F, 0x72, 0x7A, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x65, 0x6E, -0x75, 0x6D, 0x00, 0x00, 0x00, 0x0F, 0x45, 0x53, 0x6C, 0x69, 0x63, 0x65, 0x48, 0x6F, 0x72, 0x7A, -0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, -0x00, 0x00, 0x00, 0x09, 0x76, 0x65, 0x72, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x65, 0x6E, 0x75, -0x6D, 0x00, 0x00, 0x00, 0x0F, 0x45, 0x53, 0x6C, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x74, 0x41, -0x6C, 0x69, 0x67, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x00, -0x00, 0x00, 0x0B, 0x62, 0x67, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x54, 0x79, 0x70, 0x65, 0x65, 0x6E, -0x75, 0x6D, 0x00, 0x00, 0x00, 0x11, 0x45, 0x53, 0x6C, 0x69, 0x63, 0x65, 0x42, 0x47, 0x43, 0x6F, -0x6C, 0x6F, 0x72, 0x54, 0x79, 0x70, 0x65, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x6F, 0x6E, 0x65, 0x00, -0x00, 0x00, 0x09, 0x74, 0x6F, 0x70, 0x4F, 0x75, 0x74, 0x73, 0x65, 0x74, 0x6C, 0x6F, 0x6E, 0x67, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x6C, 0x65, 0x66, 0x74, 0x4F, 0x75, 0x74, 0x73, -0x65, 0x74, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x62, 0x6F, -0x74, 0x74, 0x6F, 0x6D, 0x4F, 0x75, 0x74, 0x73, 0x65, 0x74, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4F, 0x75, 0x74, 0x73, 0x65, -0x74, 0x6C, 0x6F, 0x6E, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x28, -0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, -0x00, 0x03, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x05, 0xF2, 0x00, 0x00, -0x00, 0x01, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, -0xE1, 0x00, 0x00, 0x00, 0x05, 0xD6, 0x00, 0x18, 0x00, 0x01, 0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, -0x4A, 0x46, 0x49, 0x46, 0x00, 0x01, 0x02, 0x00, 0x00, 0x48, 0x00, 0x48, 0x00, 0x00, 0xFF, 0xED, -0x00, 0x0C, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x5F, 0x43, 0x4D, 0x00, 0x01, 0xFF, 0xEE, 0x00, 0x0E, -0x41, 0x64, 0x6F, 0x62, 0x65, 0x00, 0x64, 0x80, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xDB, 0x00, 0x84, -0x00, 0x0C, 0x08, 0x08, 0x08, 0x09, 0x08, 0x0C, 0x09, 0x09, 0x0C, 0x11, 0x0B, 0x0A, 0x0B, 0x11, -0x15, 0x0F, 0x0C, 0x0C, 0x0F, 0x15, 0x18, 0x13, 0x13, 0x15, 0x13, 0x13, 0x18, 0x11, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x01, 0x0D, 0x0B, 0x0B, 0x0D, 0x0E, 0x0D, 0x10, 0x0E, 0x0E, 0x10, 0x14, 0x0E, 0x0E, 0x0E, -0x14, 0x14, 0x0E, 0x0E, 0x0E, 0x0E, 0x14, 0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x11, 0x11, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x78, 0x00, 0xA0, 0x03, 0x01, 0x22, 0x00, 0x02, -0x11, 0x01, 0x03, 0x11, 0x01, 0xFF, 0xDD, 0x00, 0x04, 0x00, 0x0A, 0xFF, 0xC4, 0x01, 0x3F, 0x00, -0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x03, 0x00, 0x01, 0x02, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x01, 0x00, 0x01, 0x05, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, -0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x10, 0x00, 0x01, 0x04, 0x01, 0x03, 0x02, -0x04, 0x02, 0x05, 0x07, 0x06, 0x08, 0x05, 0x03, 0x0C, 0x33, 0x01, 0x00, 0x02, 0x11, 0x03, 0x04, -0x21, 0x12, 0x31, 0x05, 0x41, 0x51, 0x61, 0x13, 0x22, 0x71, 0x81, 0x32, 0x06, 0x14, 0x91, 0xA1, -0xB1, 0x42, 0x23, 0x24, 0x15, 0x52, 0xC1, 0x62, 0x33, 0x34, 0x72, 0x82, 0xD1, 0x43, 0x07, 0x25, -0x92, 0x53, 0xF0, 0xE1, 0xF1, 0x63, 0x73, 0x35, 0x16, 0xA2, 0xB2, 0x83, 0x26, 0x44, 0x93, 0x54, -0x64, 0x45, 0xC2, 0xA3, 0x74, 0x36, 0x17, 0xD2, 0x55, 0xE2, 0x65, 0xF2, 0xB3, 0x84, 0xC3, 0xD3, -0x75, 0xE3, 0xF3, 0x46, 0x27, 0x94, 0xA4, 0x85, 0xB4, 0x95, 0xC4, 0xD4, 0xE4, 0xF4, 0xA5, 0xB5, -0xC5, 0xD5, 0xE5, 0xF5, 0x56, 0x66, 0x76, 0x86, 0x96, 0xA6, 0xB6, 0xC6, 0xD6, 0xE6, 0xF6, 0x37, -0x47, 0x57, 0x67, 0x77, 0x87, 0x97, 0xA7, 0xB7, 0xC7, 0xD7, 0xE7, 0xF7, 0x11, 0x00, 0x02, 0x02, -0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x06, 0x05, 0x35, 0x01, 0x00, 0x02, -0x11, 0x03, 0x21, 0x31, 0x12, 0x04, 0x41, 0x51, 0x61, 0x71, 0x22, 0x13, 0x05, 0x32, 0x81, 0x91, -0x14, 0xA1, 0xB1, 0x42, 0x23, 0xC1, 0x52, 0xD1, 0xF0, 0x33, 0x24, 0x62, 0xE1, 0x72, 0x82, 0x92, -0x43, 0x53, 0x15, 0x63, 0x73, 0x34, 0xF1, 0x25, 0x06, 0x16, 0xA2, 0xB2, 0x83, 0x07, 0x26, 0x35, -0xC2, 0xD2, 0x44, 0x93, 0x54, 0xA3, 0x17, 0x64, 0x45, 0x55, 0x36, 0x74, 0x65, 0xE2, 0xF2, 0xB3, -0x84, 0xC3, 0xD3, 0x75, 0xE3, 0xF3, 0x46, 0x94, 0xA4, 0x85, 0xB4, 0x95, 0xC4, 0xD4, 0xE4, 0xF4, -0xA5, 0xB5, 0xC5, 0xD5, 0xE5, 0xF5, 0x56, 0x66, 0x76, 0x86, 0x96, 0xA6, 0xB6, 0xC6, 0xD6, 0xE6, -0xF6, 0x27, 0x37, 0x47, 0x57, 0x67, 0x77, 0x87, 0x97, 0xA7, 0xB7, 0xC7, 0xFF, 0xDA, 0x00, 0x0C, -0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3F, 0x00, 0xF3, 0x44, 0x92, 0x5D, 0x3F, 0x4A, -0xE9, 0x9D, 0x12, 0xEC, 0x4E, 0x95, 0xEB, 0xB7, 0x14, 0x65, 0x67, 0x32, 0xFD, 0xE7, 0x26, 0xCB, -0xC0, 0x73, 0xEB, 0xBC, 0xD7, 0x5B, 0x1B, 0xF6, 0x5C, 0x8A, 0x19, 0x8F, 0x6B, 0xB1, 0xFD, 0x95, -0xFA, 0xDF, 0xA2, 0xB7, 0xFE, 0x31, 0x33, 0x2E, 0x51, 0x8C, 0x02, 0x41, 0x36, 0x6B, 0xD3, 0xAF, -0xE8, 0xCA, 0x7F, 0xF7, 0x28, 0x26, 0x9E, 0x61, 0x25, 0xD7, 0x55, 0xD1, 0xFA, 0x1D, 0x9B, 0x1F, -0x46, 0x18, 0x73, 0x6C, 0x39, 0x04, 0xD5, 0x79, 0xBD, 0xF6, 0x56, 0xD6, 0x64, 0x59, 0x4D, 0x0C, -0xB6, 0xBC, 0x5C, 0x9A, 0x7D, 0x1B, 0x1B, 0x4B, 0x76, 0x7B, 0xFE, 0x9A, 0xA1, 0x4F, 0x4A, 0xE9, -0x7D, 0x41, 0x8F, 0xA9, 0x86, 0xBE, 0x9B, 0x95, 0x83, 0x98, 0x59, 0x9D, 0xBA, 0xC2, 0x5B, 0xF6, -0x4B, 0x1F, 0xB3, 0xED, 0x2C, 0x6E, 0x45, 0x96, 0x3B, 0x7E, 0x0B, 0xBF, 0x42, 0xF6, 0xFF, 0x00, -0xC2, 0x56, 0xFB, 0x94, 0x63, 0x9A, 0x81, 0xBD, 0x24, 0x28, 0xD1, 0xB1, 0xB7, 0xE8, 0xF7, 0x47, -0x10, 0x70, 0x12, 0x5D, 0x46, 0x26, 0x0F, 0x41, 0xCE, 0x61, 0xCA, 0xC4, 0xC3, 0x61, 0xAE, 0xCC, -0x9C, 0x86, 0x55, 0x4B, 0xDF, 0x7B, 0xDC, 0xDA, 0x6B, 0x6E, 0x2F, 0xA0, 0xE7, 0xB2, 0x9C, 0x8A, -0xAD, 0xF5, 0x1C, 0xEB, 0x2D, 0x7B, 0x9F, 0xBB, 0x67, 0xE9, 0x3D, 0x3F, 0xF4, 0x68, 0x74, 0x74, -0x7E, 0x96, 0xDC, 0x9C, 0xEC, 0x8C, 0xF6, 0x55, 0x4E, 0x33, 0x6D, 0x18, 0xB8, 0x78, 0xA6, 0xE7, -0x52, 0x3D, 0x42, 0xD6, 0x5B, 0x7E, 0x4E, 0xFB, 0xEE, 0x7D, 0xEC, 0x66, 0x3E, 0x37, 0xE9, 0x9A, -0xCB, 0xAC, 0x7F, 0xA9, 0x93, 0x75, 0x54, 0x7F, 0xC1, 0xA5, 0xF7, 0xA8, 0x6B, 0x71, 0x90, 0x23, -0xA1, 0x02, 0xF7, 0xE1, 0xE1, 0xF9, 0x95, 0xC4, 0x1E, 0x6D, 0x25, 0xBF, 0x97, 0xF5, 0x7A, 0x8A, -0xA8, 0xCD, 0xA3, 0x10, 0x8C, 0xCC, 0xA6, 0x65, 0x53, 0xF6, 0x1B, 0x19, 0x60, 0x25, 0xF8, 0x96, -0x57, 0x75, 0xDE, 0xA0, 0x60, 0x73, 0x6B, 0x7F, 0xF3, 0x6C, 0xF5, 0x1F, 0xB7, 0xD9, 0x62, 0xC5, -0xCA, 0xC4, 0xC9, 0xC4, 0xB7, 0xD1, 0xCA, 0xAC, 0xD5, 0x6C, 0x07, 0x6C, 0x74, 0x4C, 0x1F, 0xA2, -0xEF, 0x6C, 0xA9, 0x21, 0x96, 0x13, 0xF9, 0x4F, 0xD0, 0xEF, 0x5F, 0x35, 0xD2, 0x41, 0x05, 0x12, -0x49, 0x24, 0xA4, 0x4A, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, -0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xFF, 0x00, 0xFF, 0xD0, 0xF3, 0x45, 0x7B, -0x17, 0xAD, 0xF5, 0x2C, 0x4C, 0x71, 0x8D, 0x8F, 0x65, 0x6D, 0xA4, 0x4C, 0x35, 0xD4, 0x53, 0x61, -0xD4, 0xEE, 0x32, 0xFB, 0xA9, 0xB2, 0xC7, 0x7F, 0x9C, 0xA8, 0xA4, 0x84, 0xA3, 0x19, 0x0A, 0x90, -0x12, 0x1F, 0xD6, 0x16, 0xAA, 0x7A, 0xBF, 0xAB, 0x9F, 0x59, 0xF0, 0x77, 0xDF, 0x57, 0xD6, 0x06, -0xE3, 0xB9, 0x85, 0xA1, 0xD8, 0xF9, 0x07, 0x16, 0xB3, 0x0E, 0x1E, 0xD7, 0xD2, 0xE6, 0xE3, 0x51, -0xBB, 0x6D, 0x8D, 0x3B, 0xD8, 0xED, 0x9F, 0xE0, 0xD5, 0xCB, 0xBA, 0xD7, 0x44, 0x75, 0xCE, 0x75, -0x1D, 0x57, 0x15, 0xB8, 0xFB, 0xCB, 0x99, 0x53, 0xF0, 0x1C, 0x5C, 0xD6, 0x92, 0xD7, 0x35, 0x8C, -0xB4, 0x61, 0x7B, 0x3D, 0x26, 0xB7, 0x67, 0xD0, 0xB3, 0xD4, 0xDE, 0xB8, 0x84, 0x95, 0x79, 0x72, -0x78, 0xCC, 0x8C, 0x81, 0x31, 0xBF, 0xD1, 0x8F, 0x07, 0x07, 0xD2, 0x32, 0x84, 0x96, 0xF0, 0x0B, -0xB7, 0xB5, 0x77, 0x59, 0xE9, 0x07, 0x4F, 0xDA, 0xF8, 0x6F, 0xE6, 0x1D, 0x67, 0x4F, 0x71, 0x77, -0x04, 0x35, 0xCF, 0x8C, 0x3D, 0xAF, 0xDB, 0xBB, 0x77, 0xA5, 0xFA, 0x3F, 0xF8, 0xDF, 0xF4, 0x87, -0xE9, 0xDD, 0x7B, 0xEA, 0xF5, 0x16, 0x58, 0xEC, 0xFE, 0xA3, 0x89, 0x92, 0xD7, 0x06, 0xB6, 0xA6, -0xD7, 0xD3, 0xDD, 0x5E, 0xC8, 0x27, 0x7B, 0x8C, 0x62, 0xEE, 0x7E, 0xFF, 0x00, 0xFA, 0x0B, 0x83, -0x49, 0x03, 0xC8, 0xE3, 0x22, 0xB8, 0xA5, 0xAF, 0x61, 0x8C, 0x7F, 0xEA, 0x35, 0x70, 0x0E, 0xEE, -0xDF, 0x53, 0xFA, 0xD1, 0x95, 0x76, 0x7D, 0xEE, 0xC0, 0x6D, 0x34, 0x61, 0x6F, 0x23, 0x1E, 0xAF, -0xB3, 0x50, 0x7D, 0x83, 0x40, 0xF7, 0x7A, 0x94, 0x39, 0xFB, 0xED, 0xDB, 0xEA, 0xBD, 0x64, 0xE5, -0x65, 0xDF, 0x99, 0x77, 0xAF, 0x79, 0x69, 0xB0, 0x80, 0xD9, 0x63, 0x19, 0x58, 0x81, 0xC7, 0xB2, -0x86, 0x55, 0x5F, 0xFD, 0x14, 0x24, 0x94, 0xF0, 0xC5, 0x08, 0x01, 0xC3, 0x10, 0x28, 0x55, 0xD7, -0xAB, 0xFC, 0x64, 0x80, 0x02, 0x92, 0x49, 0x25, 0x22, 0x54, 0x92, 0x49, 0x24, 0xA5, 0x24, 0x92, -0x49, 0x29, 0x49, 0x24, 0x92, 0x4A, 0x52, 0x49, 0x24, 0x92, 0x94, 0x92, 0x49, 0x24, 0xA7, 0xFF, -0xD1, 0xF3, 0x44, 0x92, 0x49, 0x15, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, -0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, -0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, 0xD2, 0xF3, -0x44, 0x92, 0x49, 0x15, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, -0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, -0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, 0xD3, 0xF3, 0x44, 0x92, -0x49, 0x15, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, -0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, -0xA4, 0x92, 0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, 0xD4, 0xF3, 0x44, 0x92, 0x49, 0x15, -0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, -0x25, 0x29, 0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, -0x49, 0x25, 0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, 0xD5, 0xF3, 0x44, 0x92, 0x49, 0x15, 0x29, 0x24, -0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, 0x29, -0x24, 0x92, 0x49, 0x4A, 0x49, 0x24, 0x92, 0x52, 0x92, 0x49, 0x24, 0x94, 0xA4, 0x92, 0x49, 0x25, -0x29, 0x24, 0x92, 0x49, 0x4F, 0xFF, 0xD6, 0xF3, 0x44, 0x95, 0x54, 0x91, 0x53, 0x69, 0x25, 0x55, -0x24, 0x94, 0xDA, 0x49, 0x55, 0x49, 0x25, 0x36, 0x92, 0x55, 0x52, 0x49, 0x4D, 0xA4, 0x95, 0x54, -0x92, 0x53, 0x69, 0x25, 0x55, 0x24, 0x94, 0xDA, 0x49, 0x55, 0x49, 0x25, 0x36, 0x92, 0x55, 0x52, -0x49, 0x4D, 0xA4, 0x95, 0x54, 0x92, 0x53, 0x69, 0x25, 0x55, 0x24, 0x94, 0xFF, 0x00, 0xFF, 0xD9, -0x38, 0x42, 0x49, 0x4D, 0x04, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, -0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x41, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x62, 0x00, 0x65, 0x00, -0x20, 0x00, 0x50, 0x00, 0x68, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x68, 0x00, -0x6F, 0x00, 0x70, 0x00, 0x00, 0x00, 0x13, 0x00, 0x41, 0x00, 0x64, 0x00, 0x6F, 0x00, 0x62, 0x00, -0x65, 0x00, 0x20, 0x00, 0x50, 0x00, 0x68, 0x00, 0x6F, 0x00, 0x74, 0x00, 0x6F, 0x00, 0x73, 0x00, -0x68, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x20, 0x00, 0x43, 0x00, 0x53, 0x00, 0x34, 0x00, 0x00, 0x00, -0x01, 0x00, 0x38, 0x42, 0x49, 0x4D, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFC, -0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xFF, 0xE1, 0x13, 0x39, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, -0x2F, 0x6E, 0x73, 0x2E, 0x61, 0x64, 0x6F, 0x62, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x78, 0x61, -0x70, 0x2F, 0x31, 0x2E, 0x30, 0x2F, 0x00, 0x3C, 0x3F, 0x78, 0x70, 0x61, 0x63, 0x6B, 0x65, 0x74, -0x20, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x3D, 0x22, 0xEF, 0xBB, 0xBF, 0x22, 0x20, 0x69, 0x64, 0x3D, -0x22, 0x57, 0x35, 0x4D, 0x30, 0x4D, 0x70, 0x43, 0x65, 0x68, 0x69, 0x48, 0x7A, 0x72, 0x65, 0x53, -0x7A, 0x4E, 0x54, 0x63, 0x7A, 0x6B, 0x63, 0x39, 0x64, 0x22, 0x3F, 0x3E, 0x20, 0x3C, 0x78, 0x3A, -0x78, 0x6D, 0x70, 0x6D, 0x65, 0x74, 0x61, 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3A, 0x78, 0x3D, -0x22, 0x61, 0x64, 0x6F, 0x62, 0x65, 0x3A, 0x6E, 0x73, 0x3A, 0x6D, 0x65, 0x74, 0x61, 0x2F, 0x22, -0x20, 0x78, 0x3A, 0x78, 0x6D, 0x70, 0x74, 0x6B, 0x3D, 0x22, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x20, -0x58, 0x4D, 0x50, 0x20, 0x43, 0x6F, 0x72, 0x65, 0x20, 0x34, 0x2E, 0x32, 0x2E, 0x32, 0x2D, 0x63, -0x30, 0x36, 0x33, 0x20, 0x35, 0x33, 0x2E, 0x33, 0x35, 0x32, 0x36, 0x32, 0x34, 0x2C, 0x20, 0x32, -0x30, 0x30, 0x38, 0x2F, 0x30, 0x37, 0x2F, 0x33, 0x30, 0x2D, 0x31, 0x38, 0x3A, 0x31, 0x32, 0x3A, -0x31, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x3E, 0x20, 0x3C, 0x72, 0x64, -0x66, 0x3A, 0x52, 0x44, 0x46, 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3A, 0x72, 0x64, 0x66, 0x3D, -0x22, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x77, 0x33, 0x2E, 0x6F, -0x72, 0x67, 0x2F, 0x31, 0x39, 0x39, 0x39, 0x2F, 0x30, 0x32, 0x2F, 0x32, 0x32, 0x2D, 0x72, 0x64, -0x66, 0x2D, 0x73, 0x79, 0x6E, 0x74, 0x61, 0x78, 0x2D, 0x6E, 0x73, 0x23, 0x22, 0x3E, 0x20, 0x3C, -0x72, 0x64, 0x66, 0x3A, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x20, -0x72, 0x64, 0x66, 0x3A, 0x61, 0x62, 0x6F, 0x75, 0x74, 0x3D, 0x22, 0x22, 0x20, 0x78, 0x6D, 0x6C, -0x6E, 0x73, 0x3A, 0x78, 0x6D, 0x70, 0x3D, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6E, -0x73, 0x2E, 0x61, 0x64, 0x6F, 0x62, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x78, 0x61, 0x70, 0x2F, -0x31, 0x2E, 0x30, 0x2F, 0x22, 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3A, 0x64, 0x63, 0x3D, 0x22, -0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x70, 0x75, 0x72, 0x6C, 0x2E, 0x6F, 0x72, 0x67, 0x2F, -0x64, 0x63, 0x2F, 0x65, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x73, 0x2F, 0x31, 0x2E, 0x31, 0x2F, -0x22, 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3A, 0x70, 0x68, 0x6F, 0x74, 0x6F, 0x73, 0x68, 0x6F, -0x70, 0x3D, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6E, 0x73, 0x2E, 0x61, 0x64, 0x6F, -0x62, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x70, 0x68, 0x6F, 0x74, 0x6F, 0x73, 0x68, 0x6F, 0x70, -0x2F, 0x31, 0x2E, 0x30, 0x2F, 0x22, 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3A, 0x78, 0x6D, 0x70, -0x4D, 0x4D, 0x3D, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6E, 0x73, 0x2E, 0x61, 0x64, -0x6F, 0x62, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x78, 0x61, 0x70, 0x2F, 0x31, 0x2E, 0x30, 0x2F, -0x6D, 0x6D, 0x2F, 0x22, 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3A, 0x73, 0x74, 0x45, 0x76, 0x74, -0x3D, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6E, 0x73, 0x2E, 0x61, 0x64, 0x6F, 0x62, -0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x78, 0x61, 0x70, 0x2F, 0x31, 0x2E, 0x30, 0x2F, 0x73, 0x54, -0x79, 0x70, 0x65, 0x2F, 0x52, 0x65, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6E, -0x74, 0x23, 0x22, 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3A, 0x74, 0x69, 0x66, 0x66, 0x3D, 0x22, -0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6E, 0x73, 0x2E, 0x61, 0x64, 0x6F, 0x62, 0x65, 0x2E, -0x63, 0x6F, 0x6D, 0x2F, 0x74, 0x69, 0x66, 0x66, 0x2F, 0x31, 0x2E, 0x30, 0x2F, 0x22, 0x20, 0x78, -0x6D, 0x6C, 0x6E, 0x73, 0x3A, 0x65, 0x78, 0x69, 0x66, 0x3D, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3A, -0x2F, 0x2F, 0x6E, 0x73, 0x2E, 0x61, 0x64, 0x6F, 0x62, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x65, -0x78, 0x69, 0x66, 0x2F, 0x31, 0x2E, 0x30, 0x2F, 0x22, 0x20, 0x78, 0x6D, 0x70, 0x3A, 0x43, 0x72, -0x65, 0x61, 0x74, 0x6F, 0x72, 0x54, 0x6F, 0x6F, 0x6C, 0x3D, 0x22, 0x41, 0x64, 0x6F, 0x62, 0x65, -0x20, 0x50, 0x68, 0x6F, 0x74, 0x6F, 0x73, 0x68, 0x6F, 0x70, 0x20, 0x32, 0x31, 0x2E, 0x30, 0x20, -0x28, 0x4D, 0x61, 0x63, 0x69, 0x6E, 0x74, 0x6F, 0x73, 0x68, 0x29, 0x22, 0x20, 0x78, 0x6D, 0x70, -0x3A, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x3D, 0x22, 0x32, 0x30, 0x32, -0x31, 0x2D, 0x31, 0x31, 0x2D, 0x30, 0x34, 0x54, 0x31, 0x30, 0x3A, 0x30, 0x36, 0x3A, 0x33, 0x37, -0x2B, 0x30, 0x38, 0x3A, 0x30, 0x30, 0x22, 0x20, 0x78, 0x6D, 0x70, 0x3A, 0x4D, 0x6F, 0x64, 0x69, -0x66, 0x79, 0x44, 0x61, 0x74, 0x65, 0x3D, 0x22, 0x32, 0x30, 0x32, 0x31, 0x2D, 0x31, 0x31, 0x2D, -0x30, 0x34, 0x54, 0x31, 0x30, 0x3A, 0x31, 0x37, 0x3A, 0x31, 0x32, 0x2B, 0x30, 0x38, 0x3A, 0x30, -0x30, 0x22, 0x20, 0x78, 0x6D, 0x70, 0x3A, 0x4D, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, -0x61, 0x74, 0x65, 0x3D, 0x22, 0x32, 0x30, 0x32, 0x31, 0x2D, 0x31, 0x31, 0x2D, 0x30, 0x34, 0x54, -0x31, 0x30, 0x3A, 0x31, 0x37, 0x3A, 0x31, 0x32, 0x2B, 0x30, 0x38, 0x3A, 0x30, 0x30, 0x22, 0x20, -0x64, 0x63, 0x3A, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x3D, 0x22, 0x69, 0x6D, 0x61, 0x67, 0x65, -0x2F, 0x6A, 0x70, 0x65, 0x67, 0x22, 0x20, 0x70, 0x68, 0x6F, 0x74, 0x6F, 0x73, 0x68, 0x6F, 0x70, -0x3A, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x4D, 0x6F, 0x64, 0x65, 0x3D, 0x22, 0x33, 0x22, 0x20, 0x70, -0x68, 0x6F, 0x74, 0x6F, 0x73, 0x68, 0x6F, 0x70, 0x3A, 0x49, 0x43, 0x43, 0x50, 0x72, 0x6F, 0x66, -0x69, 0x6C, 0x65, 0x3D, 0x22, 0x73, 0x52, 0x47, 0x42, 0x20, 0x49, 0x45, 0x43, 0x36, 0x31, 0x39, -0x36, 0x36, 0x2D, 0x32, 0x2E, 0x31, 0x22, 0x20, 0x78, 0x6D, 0x70, 0x4D, 0x4D, 0x3A, 0x49, 0x6E, -0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x49, 0x44, 0x3D, 0x22, 0x78, 0x6D, 0x70, 0x2E, 0x69, 0x69, -0x64, 0x3A, 0x38, 0x35, 0x36, 0x38, 0x33, 0x42, 0x37, 0x38, 0x39, 0x37, 0x33, 0x43, 0x45, 0x43, -0x31, 0x31, 0x42, 0x33, 0x37, 0x34, 0x44, 0x44, 0x30, 0x46, 0x33, 0x41, 0x32, 0x43, 0x42, 0x44, -0x37, 0x31, 0x22, 0x20, 0x78, 0x6D, 0x70, 0x4D, 0x4D, 0x3A, 0x44, 0x6F, 0x63, 0x75, 0x6D, 0x65, -0x6E, 0x74, 0x49, 0x44, 0x3D, 0x22, 0x61, 0x64, 0x6F, 0x62, 0x65, 0x3A, 0x64, 0x6F, 0x63, 0x69, -0x64, 0x3A, 0x70, 0x68, 0x6F, 0x74, 0x6F, 0x73, 0x68, 0x6F, 0x70, 0x3A, 0x31, 0x66, 0x66, 0x33, -0x64, 0x32, 0x63, 0x64, 0x2D, 0x39, 0x35, 0x34, 0x36, 0x2D, 0x34, 0x62, 0x34, 0x62, 0x2D, 0x38, -0x36, 0x36, 0x38, 0x2D, 0x36, 0x35, 0x30, 0x35, 0x66, 0x66, 0x37, 0x39, 0x37, 0x36, 0x36, 0x36, -0x22, 0x20, 0x78, 0x6D, 0x70, 0x4D, 0x4D, 0x3A, 0x4F, 0x72, 0x69, 0x67, 0x69, 0x6E, 0x61, 0x6C, -0x44, 0x6F, 0x63, 0x75, 0x6D, 0x65, 0x6E, 0x74, 0x49, 0x44, 0x3D, 0x22, 0x78, 0x6D, 0x70, 0x2E, -0x64, 0x69, 0x64, 0x3A, 0x61, 0x38, 0x32, 0x36, 0x66, 0x31, 0x36, 0x31, 0x2D, 0x32, 0x39, 0x30, -0x65, 0x2D, 0x34, 0x66, 0x32, 0x37, 0x2D, 0x62, 0x37, 0x61, 0x61, 0x2D, 0x30, 0x32, 0x65, 0x38, -0x35, 0x37, 0x36, 0x31, 0x65, 0x66, 0x66, 0x63, 0x22, 0x20, 0x74, 0x69, 0x66, 0x66, 0x3A, 0x4F, -0x72, 0x69, 0x65, 0x6E, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x31, 0x22, 0x20, 0x74, -0x69, 0x66, 0x66, 0x3A, 0x58, 0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x3D, -0x22, 0x37, 0x32, 0x30, 0x30, 0x30, 0x30, 0x2F, 0x31, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x74, -0x69, 0x66, 0x66, 0x3A, 0x59, 0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x3D, -0x22, 0x37, 0x32, 0x30, 0x30, 0x30, 0x30, 0x2F, 0x31, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x74, -0x69, 0x66, 0x66, 0x3A, 0x52, 0x65, 0x73, 0x6F, 0x6C, 0x75, 0x74, 0x69, 0x6F, 0x6E, 0x55, 0x6E, -0x69, 0x74, 0x3D, 0x22, 0x32, 0x22, 0x20, 0x74, 0x69, 0x66, 0x66, 0x3A, 0x4E, 0x61, 0x74, 0x69, -0x76, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x3D, 0x22, 0x32, 0x35, 0x36, 0x2C, 0x32, 0x35, -0x37, 0x2C, 0x32, 0x35, 0x38, 0x2C, 0x32, 0x35, 0x39, 0x2C, 0x32, 0x36, 0x32, 0x2C, 0x32, 0x37, -0x34, 0x2C, 0x32, 0x37, 0x37, 0x2C, 0x32, 0x38, 0x34, 0x2C, 0x35, 0x33, 0x30, 0x2C, 0x35, 0x33, -0x31, 0x2C, 0x32, 0x38, 0x32, 0x2C, 0x32, 0x38, 0x33, 0x2C, 0x32, 0x39, 0x36, 0x2C, 0x33, 0x30, -0x31, 0x2C, 0x33, 0x31, 0x38, 0x2C, 0x33, 0x31, 0x39, 0x2C, 0x35, 0x32, 0x39, 0x2C, 0x35, 0x33, -0x32, 0x2C, 0x33, 0x30, 0x36, 0x2C, 0x32, 0x37, 0x30, 0x2C, 0x32, 0x37, 0x31, 0x2C, 0x32, 0x37, -0x32, 0x2C, 0x33, 0x30, 0x35, 0x2C, 0x33, 0x31, 0x35, 0x2C, 0x33, 0x33, 0x34, 0x33, 0x32, 0x3B, -0x43, 0x46, 0x30, 0x32, 0x35, 0x30, 0x34, 0x39, 0x39, 0x34, 0x30, 0x37, 0x33, 0x42, 0x37, 0x32, -0x42, 0x44, 0x36, 0x36, 0x41, 0x35, 0x37, 0x38, 0x32, 0x34, 0x36, 0x39, 0x39, 0x44, 0x37, 0x42, -0x22, 0x20, 0x65, 0x78, 0x69, 0x66, 0x3A, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x53, 0x70, 0x61, 0x63, -0x65, 0x3D, 0x22, 0x31, 0x22, 0x20, 0x65, 0x78, 0x69, 0x66, 0x3A, 0x50, 0x69, 0x78, 0x65, 0x6C, -0x58, 0x44, 0x69, 0x6D, 0x65, 0x6E, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x33, 0x32, 0x30, 0x22, -0x20, 0x65, 0x78, 0x69, 0x66, 0x3A, 0x50, 0x69, 0x78, 0x65, 0x6C, 0x59, 0x44, 0x69, 0x6D, 0x65, -0x6E, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x32, 0x34, 0x30, 0x22, 0x20, 0x65, 0x78, 0x69, 0x66, -0x3A, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x3D, 0x22, 0x33, -0x36, 0x38, 0x36, 0x34, 0x2C, 0x34, 0x30, 0x39, 0x36, 0x30, 0x2C, 0x34, 0x30, 0x39, 0x36, 0x31, -0x2C, 0x33, 0x37, 0x31, 0x32, 0x31, 0x2C, 0x33, 0x37, 0x31, 0x32, 0x32, 0x2C, 0x34, 0x30, 0x39, -0x36, 0x32, 0x2C, 0x34, 0x30, 0x39, 0x36, 0x33, 0x2C, 0x33, 0x37, 0x35, 0x31, 0x30, 0x2C, 0x34, -0x30, 0x39, 0x36, 0x34, 0x2C, 0x33, 0x36, 0x38, 0x36, 0x37, 0x2C, 0x33, 0x36, 0x38, 0x36, 0x38, -0x2C, 0x33, 0x33, 0x34, 0x33, 0x34, 0x2C, 0x33, 0x33, 0x34, 0x33, 0x37, 0x2C, 0x33, 0x34, 0x38, -0x35, 0x30, 0x2C, 0x33, 0x34, 0x38, 0x35, 0x32, 0x2C, 0x33, 0x34, 0x38, 0x35, 0x35, 0x2C, 0x33, -0x34, 0x38, 0x35, 0x36, 0x2C, 0x33, 0x37, 0x33, 0x37, 0x37, 0x2C, 0x33, 0x37, 0x33, 0x37, 0x38, -0x2C, 0x33, 0x37, 0x33, 0x37, 0x39, 0x2C, 0x33, 0x37, 0x33, 0x38, 0x30, 0x2C, 0x33, 0x37, 0x33, -0x38, 0x31, 0x2C, 0x33, 0x37, 0x33, 0x38, 0x32, 0x2C, 0x33, 0x37, 0x33, 0x38, 0x33, 0x2C, 0x33, -0x37, 0x33, 0x38, 0x34, 0x2C, 0x33, 0x37, 0x33, 0x38, 0x35, 0x2C, 0x33, 0x37, 0x33, 0x38, 0x36, -0x2C, 0x33, 0x37, 0x33, 0x39, 0x36, 0x2C, 0x34, 0x31, 0x34, 0x38, 0x33, 0x2C, 0x34, 0x31, 0x34, -0x38, 0x34, 0x2C, 0x34, 0x31, 0x34, 0x38, 0x36, 0x2C, 0x34, 0x31, 0x34, 0x38, 0x37, 0x2C, 0x34, -0x31, 0x34, 0x38, 0x38, 0x2C, 0x34, 0x31, 0x34, 0x39, 0x32, 0x2C, 0x34, 0x31, 0x34, 0x39, 0x33, -0x2C, 0x34, 0x31, 0x34, 0x39, 0x35, 0x2C, 0x34, 0x31, 0x37, 0x32, 0x38, 0x2C, 0x34, 0x31, 0x37, -0x32, 0x39, 0x2C, 0x34, 0x31, 0x37, 0x33, 0x30, 0x2C, 0x34, 0x31, 0x39, 0x38, 0x35, 0x2C, 0x34, -0x31, 0x39, 0x38, 0x36, 0x2C, 0x34, 0x31, 0x39, 0x38, 0x37, 0x2C, 0x34, 0x31, 0x39, 0x38, 0x38, -0x2C, 0x34, 0x31, 0x39, 0x38, 0x39, 0x2C, 0x34, 0x31, 0x39, 0x39, 0x30, 0x2C, 0x34, 0x31, 0x39, -0x39, 0x31, 0x2C, 0x34, 0x31, 0x39, 0x39, 0x32, 0x2C, 0x34, 0x31, 0x39, 0x39, 0x33, 0x2C, 0x34, -0x31, 0x39, 0x39, 0x34, 0x2C, 0x34, 0x31, 0x39, 0x39, 0x35, 0x2C, 0x34, 0x31, 0x39, 0x39, 0x36, -0x2C, 0x34, 0x32, 0x30, 0x31, 0x36, 0x2C, 0x30, 0x2C, 0x32, 0x2C, 0x34, 0x2C, 0x35, 0x2C, 0x36, -0x2C, 0x37, 0x2C, 0x38, 0x2C, 0x39, 0x2C, 0x31, 0x30, 0x2C, 0x31, 0x31, 0x2C, 0x31, 0x32, 0x2C, -0x31, 0x33, 0x2C, 0x31, 0x34, 0x2C, 0x31, 0x35, 0x2C, 0x31, 0x36, 0x2C, 0x31, 0x37, 0x2C, 0x31, -0x38, 0x2C, 0x32, 0x30, 0x2C, 0x32, 0x32, 0x2C, 0x32, 0x33, 0x2C, 0x32, 0x34, 0x2C, 0x32, 0x35, -0x2C, 0x32, 0x36, 0x2C, 0x32, 0x37, 0x2C, 0x32, 0x38, 0x2C, 0x33, 0x30, 0x3B, 0x41, 0x44, 0x42, -0x43, 0x32, 0x42, 0x31, 0x36, 0x34, 0x44, 0x46, 0x41, 0x46, 0x34, 0x42, 0x31, 0x35, 0x34, 0x37, -0x36, 0x33, 0x36, 0x34, 0x39, 0x32, 0x43, 0x37, 0x32, 0x39, 0x34, 0x43, 0x36, 0x22, 0x3E, 0x20, -0x3C, 0x78, 0x6D, 0x70, 0x4D, 0x4D, 0x3A, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x3E, 0x20, -0x3C, 0x72, 0x64, 0x66, 0x3A, 0x53, 0x65, 0x71, 0x3E, 0x20, 0x3C, 0x72, 0x64, 0x66, 0x3A, 0x6C, -0x69, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x3D, 0x22, -0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x69, -0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x49, 0x44, 0x3D, 0x22, 0x78, 0x6D, 0x70, 0x2E, 0x69, -0x69, 0x64, 0x3A, 0x61, 0x38, 0x32, 0x36, 0x66, 0x31, 0x36, 0x31, 0x2D, 0x32, 0x39, 0x30, 0x65, -0x2D, 0x34, 0x66, 0x32, 0x37, 0x2D, 0x62, 0x37, 0x61, 0x61, 0x2D, 0x30, 0x32, 0x65, 0x38, 0x35, -0x37, 0x36, 0x31, 0x65, 0x66, 0x66, 0x63, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x77, -0x68, 0x65, 0x6E, 0x3D, 0x22, 0x32, 0x30, 0x32, 0x31, 0x2D, 0x31, 0x31, 0x2D, 0x30, 0x34, 0x54, -0x31, 0x30, 0x3A, 0x30, 0x36, 0x3A, 0x33, 0x37, 0x2B, 0x30, 0x38, 0x3A, 0x30, 0x30, 0x22, 0x20, -0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x73, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x41, 0x67, -0x65, 0x6E, 0x74, 0x3D, 0x22, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x20, 0x50, 0x68, 0x6F, 0x74, 0x6F, -0x73, 0x68, 0x6F, 0x70, 0x20, 0x32, 0x31, 0x2E, 0x30, 0x20, 0x28, 0x4D, 0x61, 0x63, 0x69, 0x6E, -0x74, 0x6F, 0x73, 0x68, 0x29, 0x22, 0x2F, 0x3E, 0x20, 0x3C, 0x72, 0x64, 0x66, 0x3A, 0x6C, 0x69, -0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x63, -0x6F, 0x6E, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, -0x70, 0x61, 0x72, 0x61, 0x6D, 0x65, 0x74, 0x65, 0x72, 0x73, 0x3D, 0x22, 0x66, 0x72, 0x6F, 0x6D, -0x20, 0x69, 0x6D, 0x61, 0x67, 0x65, 0x2F, 0x70, 0x6E, 0x67, 0x20, 0x74, 0x6F, 0x20, 0x69, 0x6D, -0x61, 0x67, 0x65, 0x2F, 0x6A, 0x70, 0x65, 0x67, 0x22, 0x2F, 0x3E, 0x20, 0x3C, 0x72, 0x64, 0x66, -0x3A, 0x6C, 0x69, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, -0x3D, 0x22, 0x73, 0x61, 0x76, 0x65, 0x64, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x69, -0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x49, 0x44, 0x3D, 0x22, 0x78, 0x6D, 0x70, 0x2E, 0x69, -0x69, 0x64, 0x3A, 0x33, 0x62, 0x39, 0x35, 0x31, 0x61, 0x30, 0x65, 0x2D, 0x65, 0x62, 0x62, 0x63, -0x2D, 0x34, 0x62, 0x39, 0x38, 0x2D, 0x62, 0x38, 0x35, 0x62, 0x2D, 0x63, 0x37, 0x61, 0x36, 0x34, -0x38, 0x62, 0x38, 0x65, 0x37, 0x32, 0x32, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x77, -0x68, 0x65, 0x6E, 0x3D, 0x22, 0x32, 0x30, 0x32, 0x31, 0x2D, 0x31, 0x31, 0x2D, 0x30, 0x34, 0x54, -0x31, 0x30, 0x3A, 0x30, 0x39, 0x3A, 0x35, 0x35, 0x2B, 0x30, 0x38, 0x3A, 0x30, 0x30, 0x22, 0x20, -0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x73, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x41, 0x67, -0x65, 0x6E, 0x74, 0x3D, 0x22, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x20, 0x50, 0x68, 0x6F, 0x74, 0x6F, -0x73, 0x68, 0x6F, 0x70, 0x20, 0x32, 0x31, 0x2E, 0x30, 0x20, 0x28, 0x4D, 0x61, 0x63, 0x69, 0x6E, -0x74, 0x6F, 0x73, 0x68, 0x29, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x63, 0x68, 0x61, -0x6E, 0x67, 0x65, 0x64, 0x3D, 0x22, 0x2F, 0x22, 0x2F, 0x3E, 0x20, 0x3C, 0x72, 0x64, 0x66, 0x3A, -0x6C, 0x69, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x3D, -0x22, 0x73, 0x61, 0x76, 0x65, 0x64, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x69, 0x6E, -0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x49, 0x44, 0x3D, 0x22, 0x78, 0x6D, 0x70, 0x2E, 0x69, 0x69, -0x64, 0x3A, 0x38, 0x34, 0x36, 0x38, 0x33, 0x42, 0x37, 0x38, 0x39, 0x37, 0x33, 0x43, 0x45, 0x43, -0x31, 0x31, 0x42, 0x33, 0x37, 0x34, 0x44, 0x44, 0x30, 0x46, 0x33, 0x41, 0x32, 0x43, 0x42, 0x44, -0x37, 0x31, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x77, 0x68, 0x65, 0x6E, 0x3D, 0x22, -0x32, 0x30, 0x32, 0x31, 0x2D, 0x31, 0x31, 0x2D, 0x30, 0x34, 0x54, 0x31, 0x30, 0x3A, 0x31, 0x37, -0x3A, 0x31, 0x32, 0x2B, 0x30, 0x38, 0x3A, 0x30, 0x30, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, -0x3A, 0x73, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x41, 0x67, 0x65, 0x6E, 0x74, 0x3D, 0x22, -0x41, 0x64, 0x6F, 0x62, 0x65, 0x20, 0x50, 0x68, 0x6F, 0x74, 0x6F, 0x73, 0x68, 0x6F, 0x70, 0x20, -0x43, 0x53, 0x34, 0x20, 0x57, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x22, 0x20, 0x73, 0x74, 0x45, -0x76, 0x74, 0x3A, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x64, 0x3D, 0x22, 0x2F, 0x22, 0x2F, 0x3E, -0x20, 0x3C, 0x72, 0x64, 0x66, 0x3A, 0x6C, 0x69, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x61, -0x63, 0x74, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x73, 0x61, 0x76, 0x65, 0x64, 0x22, 0x20, 0x73, 0x74, -0x45, 0x76, 0x74, 0x3A, 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x49, 0x44, 0x3D, 0x22, -0x78, 0x6D, 0x70, 0x2E, 0x69, 0x69, 0x64, 0x3A, 0x38, 0x35, 0x36, 0x38, 0x33, 0x42, 0x37, 0x38, -0x39, 0x37, 0x33, 0x43, 0x45, 0x43, 0x31, 0x31, 0x42, 0x33, 0x37, 0x34, 0x44, 0x44, 0x30, 0x46, -0x33, 0x41, 0x32, 0x43, 0x42, 0x44, 0x37, 0x31, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, -0x77, 0x68, 0x65, 0x6E, 0x3D, 0x22, 0x32, 0x30, 0x32, 0x31, 0x2D, 0x31, 0x31, 0x2D, 0x30, 0x34, -0x54, 0x31, 0x30, 0x3A, 0x31, 0x37, 0x3A, 0x31, 0x32, 0x2B, 0x30, 0x38, 0x3A, 0x30, 0x30, 0x22, -0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x73, 0x6F, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x41, -0x67, 0x65, 0x6E, 0x74, 0x3D, 0x22, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x20, 0x50, 0x68, 0x6F, 0x74, -0x6F, 0x73, 0x68, 0x6F, 0x70, 0x20, 0x43, 0x53, 0x34, 0x20, 0x57, 0x69, 0x6E, 0x64, 0x6F, 0x77, -0x73, 0x22, 0x20, 0x73, 0x74, 0x45, 0x76, 0x74, 0x3A, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x64, -0x3D, 0x22, 0x2F, 0x22, 0x2F, 0x3E, 0x20, 0x3C, 0x2F, 0x72, 0x64, 0x66, 0x3A, 0x53, 0x65, 0x71, -0x3E, 0x20, 0x3C, 0x2F, 0x78, 0x6D, 0x70, 0x4D, 0x4D, 0x3A, 0x48, 0x69, 0x73, 0x74, 0x6F, 0x72, -0x79, 0x3E, 0x20, 0x3C, 0x2F, 0x72, 0x64, 0x66, 0x3A, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, -0x74, 0x69, 0x6F, 0x6E, 0x3E, 0x20, 0x3C, 0x2F, 0x72, 0x64, 0x66, 0x3A, 0x52, 0x44, 0x46, 0x3E, -0x20, 0x3C, 0x2F, 0x78, 0x3A, 0x78, 0x6D, 0x70, 0x6D, 0x65, 0x74, 0x61, 0x3E, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, -0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x3F, -0x78, 0x70, 0x61, 0x63, 0x6B, 0x65, 0x74, 0x20, 0x65, 0x6E, 0x64, 0x3D, 0x22, 0x77, 0x22, 0x3F, -0x3E, 0xFF, 0xE2, 0x0C, 0x58, 0x49, 0x43, 0x43, 0x5F, 0x50, 0x52, 0x4F, 0x46, 0x49, 0x4C, 0x45, -0x00, 0x01, 0x01, 0x00, 0x00, 0x0C, 0x48, 0x4C, 0x69, 0x6E, 0x6F, 0x02, 0x10, 0x00, 0x00, 0x6D, -0x6E, 0x74, 0x72, 0x52, 0x47, 0x42, 0x20, 0x58, 0x59, 0x5A, 0x20, 0x07, 0xCE, 0x00, 0x02, 0x00, -0x09, 0x00, 0x06, 0x00, 0x31, 0x00, 0x00, 0x61, 0x63, 0x73, 0x70, 0x4D, 0x53, 0x46, 0x54, 0x00, -0x00, 0x00, 0x00, 0x49, 0x45, 0x43, 0x20, 0x73, 0x52, 0x47, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xD6, 0x00, 0x01, 0x00, 0x00, 0x00, -0x00, 0xD3, 0x2D, 0x48, 0x50, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x63, 0x70, 0x72, 0x74, 0x00, 0x00, 0x01, 0x50, 0x00, -0x00, 0x00, 0x33, 0x64, 0x65, 0x73, 0x63, 0x00, 0x00, 0x01, 0x84, 0x00, 0x00, 0x00, 0x6C, 0x77, -0x74, 0x70, 0x74, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x00, 0x14, 0x62, 0x6B, 0x70, 0x74, 0x00, -0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x14, 0x72, 0x58, 0x59, 0x5A, 0x00, 0x00, 0x02, 0x18, 0x00, -0x00, 0x00, 0x14, 0x67, 0x58, 0x59, 0x5A, 0x00, 0x00, 0x02, 0x2C, 0x00, 0x00, 0x00, 0x14, 0x62, -0x58, 0x59, 0x5A, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x14, 0x64, 0x6D, 0x6E, 0x64, 0x00, -0x00, 0x02, 0x54, 0x00, 0x00, 0x00, 0x70, 0x64, 0x6D, 0x64, 0x64, 0x00, 0x00, 0x02, 0xC4, 0x00, -0x00, 0x00, 0x88, 0x76, 0x75, 0x65, 0x64, 0x00, 0x00, 0x03, 0x4C, 0x00, 0x00, 0x00, 0x86, 0x76, -0x69, 0x65, 0x77, 0x00, 0x00, 0x03, 0xD4, 0x00, 0x00, 0x00, 0x24, 0x6C, 0x75, 0x6D, 0x69, 0x00, -0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x14, 0x6D, 0x65, 0x61, 0x73, 0x00, 0x00, 0x04, 0x0C, 0x00, -0x00, 0x00, 0x24, 0x74, 0x65, 0x63, 0x68, 0x00, 0x00, 0x04, 0x30, 0x00, 0x00, 0x00, 0x0C, 0x72, -0x54, 0x52, 0x43, 0x00, 0x00, 0x04, 0x3C, 0x00, 0x00, 0x08, 0x0C, 0x67, 0x54, 0x52, 0x43, 0x00, -0x00, 0x04, 0x3C, 0x00, 0x00, 0x08, 0x0C, 0x62, 0x54, 0x52, 0x43, 0x00, 0x00, 0x04, 0x3C, 0x00, -0x00, 0x08, 0x0C, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x00, 0x43, 0x6F, 0x70, 0x79, 0x72, -0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x31, 0x39, 0x39, 0x38, 0x20, 0x48, 0x65, -0x77, 0x6C, 0x65, 0x74, 0x74, 0x2D, 0x50, 0x61, 0x63, 0x6B, 0x61, 0x72, 0x64, 0x20, 0x43, 0x6F, -0x6D, 0x70, 0x61, 0x6E, 0x79, 0x00, 0x00, 0x64, 0x65, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x12, 0x73, 0x52, 0x47, 0x42, 0x20, 0x49, 0x45, 0x43, 0x36, 0x31, 0x39, 0x36, 0x36, -0x2D, 0x32, 0x2E, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, -0x73, 0x52, 0x47, 0x42, 0x20, 0x49, 0x45, 0x43, 0x36, 0x31, 0x39, 0x36, 0x36, 0x2D, 0x32, 0x2E, -0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x58, 0x59, 0x5A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x51, 0x00, -0x01, 0x00, 0x00, 0x00, 0x01, 0x16, 0xCC, 0x58, 0x59, 0x5A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x59, 0x5A, 0x20, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0xA2, 0x00, 0x00, 0x38, 0xF5, 0x00, 0x00, 0x03, 0x90, 0x58, -0x59, 0x5A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x99, 0x00, 0x00, 0xB7, 0x85, 0x00, -0x00, 0x18, 0xDA, 0x58, 0x59, 0x5A, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xA0, 0x00, -0x00, 0x0F, 0x84, 0x00, 0x00, 0xB6, 0xCF, 0x64, 0x65, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x16, 0x49, 0x45, 0x43, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, -0x77, 0x2E, 0x69, 0x65, 0x63, 0x2E, 0x63, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x16, 0x49, 0x45, 0x43, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, -0x77, 0x77, 0x2E, 0x69, 0x65, 0x63, 0x2E, 0x63, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x65, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x2E, 0x49, 0x45, 0x43, 0x20, 0x36, 0x31, 0x39, 0x36, 0x36, 0x2D, 0x32, 0x2E, 0x31, -0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x20, 0x52, 0x47, 0x42, 0x20, 0x63, 0x6F, 0x6C, -0x6F, 0x75, 0x72, 0x20, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x2D, 0x20, 0x73, 0x52, 0x47, 0x42, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x49, 0x45, 0x43, 0x20, -0x36, 0x31, 0x39, 0x36, 0x36, 0x2D, 0x32, 0x2E, 0x31, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, -0x74, 0x20, 0x52, 0x47, 0x42, 0x20, 0x63, 0x6F, 0x6C, 0x6F, 0x75, 0x72, 0x20, 0x73, 0x70, 0x61, -0x63, 0x65, 0x20, 0x2D, 0x20, 0x73, 0x52, 0x47, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, -0x65, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x52, 0x65, 0x66, 0x65, 0x72, -0x65, 0x6E, 0x63, 0x65, 0x20, 0x56, 0x69, 0x65, 0x77, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x6F, 0x6E, -0x64, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x49, 0x45, 0x43, 0x36, 0x31, 0x39, -0x36, 0x36, 0x2D, 0x32, 0x2E, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x2C, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x63, 0x65, 0x20, 0x56, 0x69, 0x65, 0x77, -0x69, 0x6E, 0x67, 0x20, 0x43, 0x6F, 0x6E, 0x64, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x69, 0x6E, -0x20, 0x49, 0x45, 0x43, 0x36, 0x31, 0x39, 0x36, 0x36, 0x2D, 0x32, 0x2E, 0x31, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, -0x13, 0xA4, 0xFE, 0x00, 0x14, 0x5F, 0x2E, 0x00, 0x10, 0xCF, 0x14, 0x00, 0x03, 0xED, 0xCC, 0x00, -0x04, 0x13, 0x0B, 0x00, 0x03, 0x5C, 0x9E, 0x00, 0x00, 0x00, 0x01, 0x58, 0x59, 0x5A, 0x20, 0x00, -0x00, 0x00, 0x00, 0x00, 0x4C, 0x09, 0x56, 0x00, 0x50, 0x00, 0x00, 0x00, 0x57, 0x1F, 0xE7, 0x6D, -0x65, 0x61, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8F, 0x00, -0x00, 0x00, 0x02, 0x73, 0x69, 0x67, 0x20, 0x00, 0x00, 0x00, 0x00, 0x43, 0x52, 0x54, 0x20, 0x63, -0x75, 0x72, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, -0x0A, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x19, 0x00, 0x1E, 0x00, 0x23, 0x00, 0x28, 0x00, 0x2D, 0x00, -0x32, 0x00, 0x37, 0x00, 0x3B, 0x00, 0x40, 0x00, 0x45, 0x00, 0x4A, 0x00, 0x4F, 0x00, 0x54, 0x00, -0x59, 0x00, 0x5E, 0x00, 0x63, 0x00, 0x68, 0x00, 0x6D, 0x00, 0x72, 0x00, 0x77, 0x00, 0x7C, 0x00, -0x81, 0x00, 0x86, 0x00, 0x8B, 0x00, 0x90, 0x00, 0x95, 0x00, 0x9A, 0x00, 0x9F, 0x00, 0xA4, 0x00, -0xA9, 0x00, 0xAE, 0x00, 0xB2, 0x00, 0xB7, 0x00, 0xBC, 0x00, 0xC1, 0x00, 0xC6, 0x00, 0xCB, 0x00, -0xD0, 0x00, 0xD5, 0x00, 0xDB, 0x00, 0xE0, 0x00, 0xE5, 0x00, 0xEB, 0x00, 0xF0, 0x00, 0xF6, 0x00, -0xFB, 0x01, 0x01, 0x01, 0x07, 0x01, 0x0D, 0x01, 0x13, 0x01, 0x19, 0x01, 0x1F, 0x01, 0x25, 0x01, -0x2B, 0x01, 0x32, 0x01, 0x38, 0x01, 0x3E, 0x01, 0x45, 0x01, 0x4C, 0x01, 0x52, 0x01, 0x59, 0x01, -0x60, 0x01, 0x67, 0x01, 0x6E, 0x01, 0x75, 0x01, 0x7C, 0x01, 0x83, 0x01, 0x8B, 0x01, 0x92, 0x01, -0x9A, 0x01, 0xA1, 0x01, 0xA9, 0x01, 0xB1, 0x01, 0xB9, 0x01, 0xC1, 0x01, 0xC9, 0x01, 0xD1, 0x01, -0xD9, 0x01, 0xE1, 0x01, 0xE9, 0x01, 0xF2, 0x01, 0xFA, 0x02, 0x03, 0x02, 0x0C, 0x02, 0x14, 0x02, -0x1D, 0x02, 0x26, 0x02, 0x2F, 0x02, 0x38, 0x02, 0x41, 0x02, 0x4B, 0x02, 0x54, 0x02, 0x5D, 0x02, -0x67, 0x02, 0x71, 0x02, 0x7A, 0x02, 0x84, 0x02, 0x8E, 0x02, 0x98, 0x02, 0xA2, 0x02, 0xAC, 0x02, -0xB6, 0x02, 0xC1, 0x02, 0xCB, 0x02, 0xD5, 0x02, 0xE0, 0x02, 0xEB, 0x02, 0xF5, 0x03, 0x00, 0x03, -0x0B, 0x03, 0x16, 0x03, 0x21, 0x03, 0x2D, 0x03, 0x38, 0x03, 0x43, 0x03, 0x4F, 0x03, 0x5A, 0x03, -0x66, 0x03, 0x72, 0x03, 0x7E, 0x03, 0x8A, 0x03, 0x96, 0x03, 0xA2, 0x03, 0xAE, 0x03, 0xBA, 0x03, -0xC7, 0x03, 0xD3, 0x03, 0xE0, 0x03, 0xEC, 0x03, 0xF9, 0x04, 0x06, 0x04, 0x13, 0x04, 0x20, 0x04, -0x2D, 0x04, 0x3B, 0x04, 0x48, 0x04, 0x55, 0x04, 0x63, 0x04, 0x71, 0x04, 0x7E, 0x04, 0x8C, 0x04, -0x9A, 0x04, 0xA8, 0x04, 0xB6, 0x04, 0xC4, 0x04, 0xD3, 0x04, 0xE1, 0x04, 0xF0, 0x04, 0xFE, 0x05, -0x0D, 0x05, 0x1C, 0x05, 0x2B, 0x05, 0x3A, 0x05, 0x49, 0x05, 0x58, 0x05, 0x67, 0x05, 0x77, 0x05, -0x86, 0x05, 0x96, 0x05, 0xA6, 0x05, 0xB5, 0x05, 0xC5, 0x05, 0xD5, 0x05, 0xE5, 0x05, 0xF6, 0x06, -0x06, 0x06, 0x16, 0x06, 0x27, 0x06, 0x37, 0x06, 0x48, 0x06, 0x59, 0x06, 0x6A, 0x06, 0x7B, 0x06, -0x8C, 0x06, 0x9D, 0x06, 0xAF, 0x06, 0xC0, 0x06, 0xD1, 0x06, 0xE3, 0x06, 0xF5, 0x07, 0x07, 0x07, -0x19, 0x07, 0x2B, 0x07, 0x3D, 0x07, 0x4F, 0x07, 0x61, 0x07, 0x74, 0x07, 0x86, 0x07, 0x99, 0x07, -0xAC, 0x07, 0xBF, 0x07, 0xD2, 0x07, 0xE5, 0x07, 0xF8, 0x08, 0x0B, 0x08, 0x1F, 0x08, 0x32, 0x08, -0x46, 0x08, 0x5A, 0x08, 0x6E, 0x08, 0x82, 0x08, 0x96, 0x08, 0xAA, 0x08, 0xBE, 0x08, 0xD2, 0x08, -0xE7, 0x08, 0xFB, 0x09, 0x10, 0x09, 0x25, 0x09, 0x3A, 0x09, 0x4F, 0x09, 0x64, 0x09, 0x79, 0x09, -0x8F, 0x09, 0xA4, 0x09, 0xBA, 0x09, 0xCF, 0x09, 0xE5, 0x09, 0xFB, 0x0A, 0x11, 0x0A, 0x27, 0x0A, -0x3D, 0x0A, 0x54, 0x0A, 0x6A, 0x0A, 0x81, 0x0A, 0x98, 0x0A, 0xAE, 0x0A, 0xC5, 0x0A, 0xDC, 0x0A, -0xF3, 0x0B, 0x0B, 0x0B, 0x22, 0x0B, 0x39, 0x0B, 0x51, 0x0B, 0x69, 0x0B, 0x80, 0x0B, 0x98, 0x0B, -0xB0, 0x0B, 0xC8, 0x0B, 0xE1, 0x0B, 0xF9, 0x0C, 0x12, 0x0C, 0x2A, 0x0C, 0x43, 0x0C, 0x5C, 0x0C, -0x75, 0x0C, 0x8E, 0x0C, 0xA7, 0x0C, 0xC0, 0x0C, 0xD9, 0x0C, 0xF3, 0x0D, 0x0D, 0x0D, 0x26, 0x0D, -0x40, 0x0D, 0x5A, 0x0D, 0x74, 0x0D, 0x8E, 0x0D, 0xA9, 0x0D, 0xC3, 0x0D, 0xDE, 0x0D, 0xF8, 0x0E, -0x13, 0x0E, 0x2E, 0x0E, 0x49, 0x0E, 0x64, 0x0E, 0x7F, 0x0E, 0x9B, 0x0E, 0xB6, 0x0E, 0xD2, 0x0E, -0xEE, 0x0F, 0x09, 0x0F, 0x25, 0x0F, 0x41, 0x0F, 0x5E, 0x0F, 0x7A, 0x0F, 0x96, 0x0F, 0xB3, 0x0F, -0xCF, 0x0F, 0xEC, 0x10, 0x09, 0x10, 0x26, 0x10, 0x43, 0x10, 0x61, 0x10, 0x7E, 0x10, 0x9B, 0x10, -0xB9, 0x10, 0xD7, 0x10, 0xF5, 0x11, 0x13, 0x11, 0x31, 0x11, 0x4F, 0x11, 0x6D, 0x11, 0x8C, 0x11, -0xAA, 0x11, 0xC9, 0x11, 0xE8, 0x12, 0x07, 0x12, 0x26, 0x12, 0x45, 0x12, 0x64, 0x12, 0x84, 0x12, -0xA3, 0x12, 0xC3, 0x12, 0xE3, 0x13, 0x03, 0x13, 0x23, 0x13, 0x43, 0x13, 0x63, 0x13, 0x83, 0x13, -0xA4, 0x13, 0xC5, 0x13, 0xE5, 0x14, 0x06, 0x14, 0x27, 0x14, 0x49, 0x14, 0x6A, 0x14, 0x8B, 0x14, -0xAD, 0x14, 0xCE, 0x14, 0xF0, 0x15, 0x12, 0x15, 0x34, 0x15, 0x56, 0x15, 0x78, 0x15, 0x9B, 0x15, -0xBD, 0x15, 0xE0, 0x16, 0x03, 0x16, 0x26, 0x16, 0x49, 0x16, 0x6C, 0x16, 0x8F, 0x16, 0xB2, 0x16, -0xD6, 0x16, 0xFA, 0x17, 0x1D, 0x17, 0x41, 0x17, 0x65, 0x17, 0x89, 0x17, 0xAE, 0x17, 0xD2, 0x17, -0xF7, 0x18, 0x1B, 0x18, 0x40, 0x18, 0x65, 0x18, 0x8A, 0x18, 0xAF, 0x18, 0xD5, 0x18, 0xFA, 0x19, -0x20, 0x19, 0x45, 0x19, 0x6B, 0x19, 0x91, 0x19, 0xB7, 0x19, 0xDD, 0x1A, 0x04, 0x1A, 0x2A, 0x1A, -0x51, 0x1A, 0x77, 0x1A, 0x9E, 0x1A, 0xC5, 0x1A, 0xEC, 0x1B, 0x14, 0x1B, 0x3B, 0x1B, 0x63, 0x1B, -0x8A, 0x1B, 0xB2, 0x1B, 0xDA, 0x1C, 0x02, 0x1C, 0x2A, 0x1C, 0x52, 0x1C, 0x7B, 0x1C, 0xA3, 0x1C, -0xCC, 0x1C, 0xF5, 0x1D, 0x1E, 0x1D, 0x47, 0x1D, 0x70, 0x1D, 0x99, 0x1D, 0xC3, 0x1D, 0xEC, 0x1E, -0x16, 0x1E, 0x40, 0x1E, 0x6A, 0x1E, 0x94, 0x1E, 0xBE, 0x1E, 0xE9, 0x1F, 0x13, 0x1F, 0x3E, 0x1F, -0x69, 0x1F, 0x94, 0x1F, 0xBF, 0x1F, 0xEA, 0x20, 0x15, 0x20, 0x41, 0x20, 0x6C, 0x20, 0x98, 0x20, -0xC4, 0x20, 0xF0, 0x21, 0x1C, 0x21, 0x48, 0x21, 0x75, 0x21, 0xA1, 0x21, 0xCE, 0x21, 0xFB, 0x22, -0x27, 0x22, 0x55, 0x22, 0x82, 0x22, 0xAF, 0x22, 0xDD, 0x23, 0x0A, 0x23, 0x38, 0x23, 0x66, 0x23, -0x94, 0x23, 0xC2, 0x23, 0xF0, 0x24, 0x1F, 0x24, 0x4D, 0x24, 0x7C, 0x24, 0xAB, 0x24, 0xDA, 0x25, -0x09, 0x25, 0x38, 0x25, 0x68, 0x25, 0x97, 0x25, 0xC7, 0x25, 0xF7, 0x26, 0x27, 0x26, 0x57, 0x26, -0x87, 0x26, 0xB7, 0x26, 0xE8, 0x27, 0x18, 0x27, 0x49, 0x27, 0x7A, 0x27, 0xAB, 0x27, 0xDC, 0x28, -0x0D, 0x28, 0x3F, 0x28, 0x71, 0x28, 0xA2, 0x28, 0xD4, 0x29, 0x06, 0x29, 0x38, 0x29, 0x6B, 0x29, -0x9D, 0x29, 0xD0, 0x2A, 0x02, 0x2A, 0x35, 0x2A, 0x68, 0x2A, 0x9B, 0x2A, 0xCF, 0x2B, 0x02, 0x2B, -0x36, 0x2B, 0x69, 0x2B, 0x9D, 0x2B, 0xD1, 0x2C, 0x05, 0x2C, 0x39, 0x2C, 0x6E, 0x2C, 0xA2, 0x2C, -0xD7, 0x2D, 0x0C, 0x2D, 0x41, 0x2D, 0x76, 0x2D, 0xAB, 0x2D, 0xE1, 0x2E, 0x16, 0x2E, 0x4C, 0x2E, -0x82, 0x2E, 0xB7, 0x2E, 0xEE, 0x2F, 0x24, 0x2F, 0x5A, 0x2F, 0x91, 0x2F, 0xC7, 0x2F, 0xFE, 0x30, -0x35, 0x30, 0x6C, 0x30, 0xA4, 0x30, 0xDB, 0x31, 0x12, 0x31, 0x4A, 0x31, 0x82, 0x31, 0xBA, 0x31, -0xF2, 0x32, 0x2A, 0x32, 0x63, 0x32, 0x9B, 0x32, 0xD4, 0x33, 0x0D, 0x33, 0x46, 0x33, 0x7F, 0x33, -0xB8, 0x33, 0xF1, 0x34, 0x2B, 0x34, 0x65, 0x34, 0x9E, 0x34, 0xD8, 0x35, 0x13, 0x35, 0x4D, 0x35, -0x87, 0x35, 0xC2, 0x35, 0xFD, 0x36, 0x37, 0x36, 0x72, 0x36, 0xAE, 0x36, 0xE9, 0x37, 0x24, 0x37, -0x60, 0x37, 0x9C, 0x37, 0xD7, 0x38, 0x14, 0x38, 0x50, 0x38, 0x8C, 0x38, 0xC8, 0x39, 0x05, 0x39, -0x42, 0x39, 0x7F, 0x39, 0xBC, 0x39, 0xF9, 0x3A, 0x36, 0x3A, 0x74, 0x3A, 0xB2, 0x3A, 0xEF, 0x3B, -0x2D, 0x3B, 0x6B, 0x3B, 0xAA, 0x3B, 0xE8, 0x3C, 0x27, 0x3C, 0x65, 0x3C, 0xA4, 0x3C, 0xE3, 0x3D, -0x22, 0x3D, 0x61, 0x3D, 0xA1, 0x3D, 0xE0, 0x3E, 0x20, 0x3E, 0x60, 0x3E, 0xA0, 0x3E, 0xE0, 0x3F, -0x21, 0x3F, 0x61, 0x3F, 0xA2, 0x3F, 0xE2, 0x40, 0x23, 0x40, 0x64, 0x40, 0xA6, 0x40, 0xE7, 0x41, -0x29, 0x41, 0x6A, 0x41, 0xAC, 0x41, 0xEE, 0x42, 0x30, 0x42, 0x72, 0x42, 0xB5, 0x42, 0xF7, 0x43, -0x3A, 0x43, 0x7D, 0x43, 0xC0, 0x44, 0x03, 0x44, 0x47, 0x44, 0x8A, 0x44, 0xCE, 0x45, 0x12, 0x45, -0x55, 0x45, 0x9A, 0x45, 0xDE, 0x46, 0x22, 0x46, 0x67, 0x46, 0xAB, 0x46, 0xF0, 0x47, 0x35, 0x47, -0x7B, 0x47, 0xC0, 0x48, 0x05, 0x48, 0x4B, 0x48, 0x91, 0x48, 0xD7, 0x49, 0x1D, 0x49, 0x63, 0x49, -0xA9, 0x49, 0xF0, 0x4A, 0x37, 0x4A, 0x7D, 0x4A, 0xC4, 0x4B, 0x0C, 0x4B, 0x53, 0x4B, 0x9A, 0x4B, -0xE2, 0x4C, 0x2A, 0x4C, 0x72, 0x4C, 0xBA, 0x4D, 0x02, 0x4D, 0x4A, 0x4D, 0x93, 0x4D, 0xDC, 0x4E, -0x25, 0x4E, 0x6E, 0x4E, 0xB7, 0x4F, 0x00, 0x4F, 0x49, 0x4F, 0x93, 0x4F, 0xDD, 0x50, 0x27, 0x50, -0x71, 0x50, 0xBB, 0x51, 0x06, 0x51, 0x50, 0x51, 0x9B, 0x51, 0xE6, 0x52, 0x31, 0x52, 0x7C, 0x52, -0xC7, 0x53, 0x13, 0x53, 0x5F, 0x53, 0xAA, 0x53, 0xF6, 0x54, 0x42, 0x54, 0x8F, 0x54, 0xDB, 0x55, -0x28, 0x55, 0x75, 0x55, 0xC2, 0x56, 0x0F, 0x56, 0x5C, 0x56, 0xA9, 0x56, 0xF7, 0x57, 0x44, 0x57, -0x92, 0x57, 0xE0, 0x58, 0x2F, 0x58, 0x7D, 0x58, 0xCB, 0x59, 0x1A, 0x59, 0x69, 0x59, 0xB8, 0x5A, -0x07, 0x5A, 0x56, 0x5A, 0xA6, 0x5A, 0xF5, 0x5B, 0x45, 0x5B, 0x95, 0x5B, 0xE5, 0x5C, 0x35, 0x5C, -0x86, 0x5C, 0xD6, 0x5D, 0x27, 0x5D, 0x78, 0x5D, 0xC9, 0x5E, 0x1A, 0x5E, 0x6C, 0x5E, 0xBD, 0x5F, -0x0F, 0x5F, 0x61, 0x5F, 0xB3, 0x60, 0x05, 0x60, 0x57, 0x60, 0xAA, 0x60, 0xFC, 0x61, 0x4F, 0x61, -0xA2, 0x61, 0xF5, 0x62, 0x49, 0x62, 0x9C, 0x62, 0xF0, 0x63, 0x43, 0x63, 0x97, 0x63, 0xEB, 0x64, -0x40, 0x64, 0x94, 0x64, 0xE9, 0x65, 0x3D, 0x65, 0x92, 0x65, 0xE7, 0x66, 0x3D, 0x66, 0x92, 0x66, -0xE8, 0x67, 0x3D, 0x67, 0x93, 0x67, 0xE9, 0x68, 0x3F, 0x68, 0x96, 0x68, 0xEC, 0x69, 0x43, 0x69, -0x9A, 0x69, 0xF1, 0x6A, 0x48, 0x6A, 0x9F, 0x6A, 0xF7, 0x6B, 0x4F, 0x6B, 0xA7, 0x6B, 0xFF, 0x6C, -0x57, 0x6C, 0xAF, 0x6D, 0x08, 0x6D, 0x60, 0x6D, 0xB9, 0x6E, 0x12, 0x6E, 0x6B, 0x6E, 0xC4, 0x6F, -0x1E, 0x6F, 0x78, 0x6F, 0xD1, 0x70, 0x2B, 0x70, 0x86, 0x70, 0xE0, 0x71, 0x3A, 0x71, 0x95, 0x71, -0xF0, 0x72, 0x4B, 0x72, 0xA6, 0x73, 0x01, 0x73, 0x5D, 0x73, 0xB8, 0x74, 0x14, 0x74, 0x70, 0x74, -0xCC, 0x75, 0x28, 0x75, 0x85, 0x75, 0xE1, 0x76, 0x3E, 0x76, 0x9B, 0x76, 0xF8, 0x77, 0x56, 0x77, -0xB3, 0x78, 0x11, 0x78, 0x6E, 0x78, 0xCC, 0x79, 0x2A, 0x79, 0x89, 0x79, 0xE7, 0x7A, 0x46, 0x7A, -0xA5, 0x7B, 0x04, 0x7B, 0x63, 0x7B, 0xC2, 0x7C, 0x21, 0x7C, 0x81, 0x7C, 0xE1, 0x7D, 0x41, 0x7D, -0xA1, 0x7E, 0x01, 0x7E, 0x62, 0x7E, 0xC2, 0x7F, 0x23, 0x7F, 0x84, 0x7F, 0xE5, 0x80, 0x47, 0x80, -0xA8, 0x81, 0x0A, 0x81, 0x6B, 0x81, 0xCD, 0x82, 0x30, 0x82, 0x92, 0x82, 0xF4, 0x83, 0x57, 0x83, -0xBA, 0x84, 0x1D, 0x84, 0x80, 0x84, 0xE3, 0x85, 0x47, 0x85, 0xAB, 0x86, 0x0E, 0x86, 0x72, 0x86, -0xD7, 0x87, 0x3B, 0x87, 0x9F, 0x88, 0x04, 0x88, 0x69, 0x88, 0xCE, 0x89, 0x33, 0x89, 0x99, 0x89, -0xFE, 0x8A, 0x64, 0x8A, 0xCA, 0x8B, 0x30, 0x8B, 0x96, 0x8B, 0xFC, 0x8C, 0x63, 0x8C, 0xCA, 0x8D, -0x31, 0x8D, 0x98, 0x8D, 0xFF, 0x8E, 0x66, 0x8E, 0xCE, 0x8F, 0x36, 0x8F, 0x9E, 0x90, 0x06, 0x90, -0x6E, 0x90, 0xD6, 0x91, 0x3F, 0x91, 0xA8, 0x92, 0x11, 0x92, 0x7A, 0x92, 0xE3, 0x93, 0x4D, 0x93, -0xB6, 0x94, 0x20, 0x94, 0x8A, 0x94, 0xF4, 0x95, 0x5F, 0x95, 0xC9, 0x96, 0x34, 0x96, 0x9F, 0x97, -0x0A, 0x97, 0x75, 0x97, 0xE0, 0x98, 0x4C, 0x98, 0xB8, 0x99, 0x24, 0x99, 0x90, 0x99, 0xFC, 0x9A, -0x68, 0x9A, 0xD5, 0x9B, 0x42, 0x9B, 0xAF, 0x9C, 0x1C, 0x9C, 0x89, 0x9C, 0xF7, 0x9D, 0x64, 0x9D, -0xD2, 0x9E, 0x40, 0x9E, 0xAE, 0x9F, 0x1D, 0x9F, 0x8B, 0x9F, 0xFA, 0xA0, 0x69, 0xA0, 0xD8, 0xA1, -0x47, 0xA1, 0xB6, 0xA2, 0x26, 0xA2, 0x96, 0xA3, 0x06, 0xA3, 0x76, 0xA3, 0xE6, 0xA4, 0x56, 0xA4, -0xC7, 0xA5, 0x38, 0xA5, 0xA9, 0xA6, 0x1A, 0xA6, 0x8B, 0xA6, 0xFD, 0xA7, 0x6E, 0xA7, 0xE0, 0xA8, -0x52, 0xA8, 0xC4, 0xA9, 0x37, 0xA9, 0xA9, 0xAA, 0x1C, 0xAA, 0x8F, 0xAB, 0x02, 0xAB, 0x75, 0xAB, -0xE9, 0xAC, 0x5C, 0xAC, 0xD0, 0xAD, 0x44, 0xAD, 0xB8, 0xAE, 0x2D, 0xAE, 0xA1, 0xAF, 0x16, 0xAF, -0x8B, 0xB0, 0x00, 0xB0, 0x75, 0xB0, 0xEA, 0xB1, 0x60, 0xB1, 0xD6, 0xB2, 0x4B, 0xB2, 0xC2, 0xB3, -0x38, 0xB3, 0xAE, 0xB4, 0x25, 0xB4, 0x9C, 0xB5, 0x13, 0xB5, 0x8A, 0xB6, 0x01, 0xB6, 0x79, 0xB6, -0xF0, 0xB7, 0x68, 0xB7, 0xE0, 0xB8, 0x59, 0xB8, 0xD1, 0xB9, 0x4A, 0xB9, 0xC2, 0xBA, 0x3B, 0xBA, -0xB5, 0xBB, 0x2E, 0xBB, 0xA7, 0xBC, 0x21, 0xBC, 0x9B, 0xBD, 0x15, 0xBD, 0x8F, 0xBE, 0x0A, 0xBE, -0x84, 0xBE, 0xFF, 0xBF, 0x7A, 0xBF, 0xF5, 0xC0, 0x70, 0xC0, 0xEC, 0xC1, 0x67, 0xC1, 0xE3, 0xC2, -0x5F, 0xC2, 0xDB, 0xC3, 0x58, 0xC3, 0xD4, 0xC4, 0x51, 0xC4, 0xCE, 0xC5, 0x4B, 0xC5, 0xC8, 0xC6, -0x46, 0xC6, 0xC3, 0xC7, 0x41, 0xC7, 0xBF, 0xC8, 0x3D, 0xC8, 0xBC, 0xC9, 0x3A, 0xC9, 0xB9, 0xCA, -0x38, 0xCA, 0xB7, 0xCB, 0x36, 0xCB, 0xB6, 0xCC, 0x35, 0xCC, 0xB5, 0xCD, 0x35, 0xCD, 0xB5, 0xCE, -0x36, 0xCE, 0xB6, 0xCF, 0x37, 0xCF, 0xB8, 0xD0, 0x39, 0xD0, 0xBA, 0xD1, 0x3C, 0xD1, 0xBE, 0xD2, -0x3F, 0xD2, 0xC1, 0xD3, 0x44, 0xD3, 0xC6, 0xD4, 0x49, 0xD4, 0xCB, 0xD5, 0x4E, 0xD5, 0xD1, 0xD6, -0x55, 0xD6, 0xD8, 0xD7, 0x5C, 0xD7, 0xE0, 0xD8, 0x64, 0xD8, 0xE8, 0xD9, 0x6C, 0xD9, 0xF1, 0xDA, -0x76, 0xDA, 0xFB, 0xDB, 0x80, 0xDC, 0x05, 0xDC, 0x8A, 0xDD, 0x10, 0xDD, 0x96, 0xDE, 0x1C, 0xDE, -0xA2, 0xDF, 0x29, 0xDF, 0xAF, 0xE0, 0x36, 0xE0, 0xBD, 0xE1, 0x44, 0xE1, 0xCC, 0xE2, 0x53, 0xE2, -0xDB, 0xE3, 0x63, 0xE3, 0xEB, 0xE4, 0x73, 0xE4, 0xFC, 0xE5, 0x84, 0xE6, 0x0D, 0xE6, 0x96, 0xE7, -0x1F, 0xE7, 0xA9, 0xE8, 0x32, 0xE8, 0xBC, 0xE9, 0x46, 0xE9, 0xD0, 0xEA, 0x5B, 0xEA, 0xE5, 0xEB, -0x70, 0xEB, 0xFB, 0xEC, 0x86, 0xED, 0x11, 0xED, 0x9C, 0xEE, 0x28, 0xEE, 0xB4, 0xEF, 0x40, 0xEF, -0xCC, 0xF0, 0x58, 0xF0, 0xE5, 0xF1, 0x72, 0xF1, 0xFF, 0xF2, 0x8C, 0xF3, 0x19, 0xF3, 0xA7, 0xF4, -0x34, 0xF4, 0xC2, 0xF5, 0x50, 0xF5, 0xDE, 0xF6, 0x6D, 0xF6, 0xFB, 0xF7, 0x8A, 0xF8, 0x19, 0xF8, -0xA8, 0xF9, 0x38, 0xF9, 0xC7, 0xFA, 0x57, 0xFA, 0xE7, 0xFB, 0x77, 0xFC, 0x07, 0xFC, 0x98, 0xFD, -0x29, 0xFD, 0xBA, 0xFE, 0x4B, 0xFE, 0xDC, 0xFF, 0x6D, 0xFF, 0xFF, 0xFF, 0xEE, 0x00, 0x0E, 0x41, -0x64, 0x6F, 0x62, 0x65, 0x00, 0x64, 0x80, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xDB, 0x00, 0x84, 0x00, -0x20, 0x21, 0x21, 0x33, 0x24, 0x33, 0x51, 0x30, 0x30, 0x51, 0x42, 0x2F, 0x2F, 0x2F, 0x42, 0x27, -0x1C, 0x1C, 0x1C, 0x1C, 0x27, 0x22, 0x17, 0x17, 0x17, 0x17, 0x17, 0x22, 0x11, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x01, 0x22, 0x33, 0x33, 0x34, 0x26, 0x34, 0x22, 0x18, 0x18, 0x22, 0x14, 0x0E, 0x0E, 0x0E, 0x14, -0x14, 0x0E, 0x0E, 0x0E, 0x0E, 0x14, 0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x11, 0x11, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0x11, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, -0x0C, 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0xF0, 0x01, 0x40, 0x03, 0x01, 0x22, 0x00, 0x02, 0x11, -0x01, 0x03, 0x11, 0x01, 0xFF, 0xDD, 0x00, 0x04, 0x00, 0x14, 0xFF, 0xC4, 0x01, 0x1B, 0x00, 0x00, -0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, -0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x10, 0x00, 0x02, 0x02, 0x01, 0x03, 0x02, 0x03, -0x04, 0x07, 0x06, 0x03, 0x03, 0x06, 0x02, 0x01, 0x35, 0x01, 0x00, 0x02, 0x11, 0x03, 0x21, 0x12, -0x31, 0x04, 0x41, 0x51, 0x22, 0x13, 0x61, 0x71, 0x32, 0x81, 0x91, 0xB1, 0x42, 0xA1, 0x05, 0xD1, -0xC1, 0x14, 0xF0, 0x52, 0x23, 0x72, 0x33, 0x62, 0xE1, 0x82, 0xF1, 0x43, 0x34, 0x92, 0xA2, 0xB2, -0x15, 0xD2, 0x53, 0x24, 0x73, 0xC2, 0x63, 0x06, 0x83, 0x93, 0xE2, 0xF2, 0xA3, 0x44, 0x54, 0x64, -0x25, 0x35, 0x45, 0x16, 0x26, 0x74, 0x36, 0x55, 0x65, 0xB3, 0x84, 0xC3, 0xD3, 0x75, 0xE3, 0xF3, -0x46, 0x94, 0xA4, 0x85, 0xB4, 0x95, 0xC4, 0xD4, 0xE4, 0xF4, 0xA5, 0xB5, 0xC5, 0xD5, 0xE5, 0xF5, -0x56, 0x66, 0x76, 0x86, 0x96, 0xA6, 0xB6, 0xC6, 0xD6, 0xE6, 0xF6, 0x11, 0x00, 0x02, 0x02, 0x00, -0x05, 0x01, 0x06, 0x06, 0x01, 0x03, 0x01, 0x03, 0x05, 0x03, 0x06, 0x2F, 0x00, 0x01, 0x11, 0x02, -0x21, 0x03, 0x31, 0x41, 0x12, 0x51, 0x61, 0x71, 0x81, 0x91, 0x22, 0x13, 0x32, 0xF0, 0xA1, 0xB1, -0x04, 0xC1, 0xD1, 0xE1, 0xF1, 0x42, 0x52, 0x23, 0x62, 0x72, 0x14, 0x92, 0x33, 0x82, 0x43, 0x24, -0xA2, 0xB2, 0x34, 0x53, 0x44, 0x63, 0x73, 0xC2, 0xD2, 0x83, 0x93, 0xA3, 0x54, 0xE2, 0xF2, 0x05, -0x15, 0x25, 0x06, 0x16, 0x26, 0x35, 0x64, 0x45, 0x55, 0x36, 0x74, 0x65, 0xB3, 0x84, 0xC3, 0xD3, -0x75, 0xE3, 0xF3, 0x46, 0x94, 0xA4, 0x85, 0xB4, 0x95, 0xC4, 0xD4, 0xE4, 0xF4, 0xA5, 0xB5, 0xC5, -0xD5, 0xE5, 0xF5, 0x56, 0x66, 0x76, 0x86, 0xFF, 0xDA, 0x00, 0x0C, 0x03, 0x01, 0x00, 0x02, 0x11, -0x03, 0x11, 0x00, 0x3F, 0x00, 0xF0, 0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, -0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, -0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, -0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD0, 0xF0, -0xD5, 0x55, 0x03, 0xA3, 0x06, 0x0F, 0x58, 0x48, 0xDD, 0x6C, 0x1E, 0x1B, 0xBF, 0x8F, 0xFC, 0x7F, -0xF9, 0x4D, 0xD2, 0x3D, 0x36, 0x39, 0x57, 0xF3, 0x05, 0x9F, 0xB3, 0xB7, 0xFF, 0x00, 0x8B, 0x37, -0xD1, 0x10, 0x04, 0xEC, 0xF6, 0xFF, 0x00, 0xE0, 0xCE, 0xBD, 0x36, 0x78, 0x4F, 0xCB, 0x21, 0x18, -0xCF, 0xEC, 0x4F, 0x6F, 0xEF, 0xFC, 0xD7, 0x93, 0x76, 0x9B, 0x7F, 0xE5, 0x64, 0x39, 0xCF, 0x46, -0x44, 0xA4, 0x2F, 0xE0, 0x1B, 0xF8, 0xF8, 0xD4, 0x74, 0xD0, 0xFF, 0x00, 0xBC, 0x8F, 0xEF, 0xFF, -0x00, 0x99, 0x1E, 0x98, 0x4C, 0xEE, 0xC9, 0xBC, 0x8B, 0xDB, 0xF6, 0x7E, 0x0F, 0xB7, 0xFD, 0x96, -0x80, 0x34, 0x34, 0xC0, 0xCE, 0x4F, 0xE7, 0xFE, 0x00, 0x71, 0xC3, 0xA6, 0x19, 0x24, 0x63, 0x19, -0x03, 0x5E, 0xCF, 0x8F, 0xFE, 0x7B, 0xCD, 0xB0, 0xEE, 0xDB, 0xF6, 0xAF, 0x6B, 0xB4, 0xA4, 0x71, -0x65, 0xDC, 0x36, 0xDD, 0xEE, 0xFE, 0x57, 0xF6, 0xFF, 0x00, 0xF1, 0x4F, 0x79, 0x38, 0xC4, 0xC6, -0x7E, 0xC4, 0x7F, 0xC9, 0xC9, 0xFB, 0xFF, 0x00, 0x25, 0xD4, 0xB5, 0xFF, 0x00, 0x96, 0x73, 0xA7, -0xA3, 0xFF, 0x00, 0x35, 0x07, 0x29, 0xE8, 0xEA, 0x63, 0x1E, 0xEF, 0x31, 0x1B, 0xBE, 0x1F, 0x83, -0xFE, 0x7B, 0x23, 0xA6, 0x87, 0x7C, 0x91, 0x89, 0xD7, 0xCB, 0xFB, 0xE4, 0x6F, 0xA7, 0xCB, 0xBF, -0x3E, 0xF9, 0x77, 0xDC, 0xEF, 0x1B, 0x3C, 0x0C, 0x3C, 0xCF, 0xFB, 0x9F, 0xDC, 0xF8, 0xA6, 0xE5, -0xBB, 0x20, 0x79, 0xF9, 0x71, 0xC7, 0x1D, 0x6D, 0x90, 0x9F, 0xF4, 0x3B, 0x43, 0xA4, 0x32, 0x86, -0xF2, 0x68, 0xCB, 0xFB, 0x70, 0xDB, 0xF1, 0xFF, 0x00, 0xCF, 0x74, 0x9E, 0x2D, 0xF9, 0x00, 0x96, -0xC8, 0x83, 0xF1, 0x7A, 0x3F, 0x06, 0xD8, 0x7F, 0xEF, 0xC7, 0x6C, 0x99, 0xF1, 0xEF, 0x00, 0x93, -0x11, 0x8F, 0xFB, 0x7E, 0x9F, 0xEF, 0xFF, 0x00, 0x98, 0x9B, 0x2F, 0x0E, 0x20, 0xF3, 0xBD, 0x32, -0x27, 0xB0, 0xE8, 0x6F, 0x6A, 0x73, 0x62, 0xF4, 0xA5, 0xB6, 0xED, 0xEE, 0xCF, 0xB2, 0x66, 0x39, -0x62, 0x47, 0x23, 0x7B, 0x3D, 0x46, 0x23, 0x9B, 0x21, 0x31, 0x31, 0xAF, 0x2F, 0xC5, 0x36, 0xAB, -0x69, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x9A, 0x03, 0xCE, 0x57, 0x7C, 0x9D, 0x3C, 0xB1, 0x8B, 0x26, -0x27, 0xFA, 0x25, 0xB9, 0xC1, 0xE8, 0x9C, 0x94, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, -0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, -0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD1, 0xF0, 0xD5, 0x55, 0x03, 0x5C, -0x59, 0x06, 0x3B, 0xB8, 0xC6, 0x77, 0xFC, 0x6E, 0xFF, 0x00, 0xB5, 0x43, 0xFE, 0xEE, 0x0F, 0x1A, -0xB1, 0xA4, 0xC1, 0xDD, 0x1E, 0xA7, 0x19, 0x20, 0x1C, 0x70, 0x01, 0xF4, 0xFD, 0x0C, 0x7F, 0xC3, -0x1F, 0xF9, 0x31, 0x7E, 0x79, 0xEF, 0xC5, 0xD7, 0x1C, 0x71, 0x11, 0x23, 0x75, 0x7D, 0xAD, 0xDB, -0x7F, 0xF7, 0xDB, 0xCA, 0xD5, 0x7F, 0xF6, 0x7F, 0xF8, 0x44, 0x68, 0xEA, 0xC9, 0xB2, 0x12, 0x20, -0xC2, 0x1B, 0x44, 0x7D, 0x4D, 0xDF, 0xE1, 0xFF, 0x00, 0xCD, 0x7F, 0xF7, 0x8E, 0x43, 0x26, 0x39, -0x00, 0x44, 0x21, 0xC6, 0xE9, 0xEE, 0xDB, 0x0F, 0xB5, 0xE8, 0xFA, 0x78, 0xBC, 0x9F, 0xCC, 0x60, -0xF5, 0xE0, 0xF3, 0x0F, 0xF9, 0xFF, 0x00, 0xFC, 0x41, 0x1F, 0xB6, 0xC4, 0x9B, 0xF4, 0xC5, 0xFC, -0x5F, 0x17, 0xFF, 0x00, 0x10, 0x67, 0x1B, 0x7F, 0xA7, 0xFF, 0x00, 0x4E, 0x7F, 0xEA, 0xE4, 0x36, -0xDD, 0x01, 0xF1, 0x42, 0x03, 0x53, 0x0E, 0xDF, 0xEE, 0xFF, 0x00, 0xBF, 0xFE, 0xED, 0x4C, 0xF1, -0x8B, 0x3B, 0x21, 0x5E, 0x6D, 0x9F, 0x0E, 0xF9, 0x6C, 0xFF, 0x00, 0xCA, 0x3F, 0xF9, 0x51, 0xCB, -0xF6, 0xE8, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x95, 0xFF, 0x00, 0xC4, 0x11, 0xFB, 0x6C, 0x6E, 0xFD, -0x31, 0x7F, 0xD5, 0xFF, 0x00, 0xD8, 0xEA, 0x1F, 0xFA, 0x6D, 0xFF, 0x00, 0xA5, 0x7F, 0xF5, 0x70, -0x54, 0xB3, 0xE2, 0x1F, 0x62, 0x3F, 0x0E, 0xEE, 0x3E, 0xDF, 0xFD, 0xCF, 0xC0, 0xF7, 0x0C, 0x38, -0xC8, 0xBD, 0xB1, 0xFF, 0x00, 0x92, 0x1F, 0x3F, 0xF6, 0xD8, 0xFF, 0x00, 0xDD, 0x8F, 0xF9, 0x5F, -0xFC, 0x41, 0xBF, 0xFA, 0xC7, 0xFC, 0x1F, 0xF3, 0xFF, 0x00, 0xF8, 0x83, 0x1D, 0x6D, 0xFE, 0x35, -0xB7, 0xFE, 0x94, 0x05, 0xF5, 0x33, 0xC7, 0x86, 0x80, 0x84, 0x64, 0x4F, 0xF8, 0x5E, 0x5F, 0xDA, -0xA1, 0xFF, 0x00, 0x77, 0x07, 0x9F, 0x2E, 0x43, 0x96, 0x46, 0x47, 0xBB, 0x9B, 0xD5, 0x57, 0x0F, -0x51, 0x60, 0xE8, 0xCB, 0x9A, 0x33, 0x14, 0x21, 0x18, 0x1F, 0xE2, 0x83, 0xCE, 0xAA, 0xE9, 0x28, -0x28, 0xAA, 0xAB, 0x40, 0xAA, 0xAA, 0x02, 0xAA, 0xA8, 0x0A, 0xAA, 0xA0, 0x2A, 0xAA, 0x80, 0xAA, -0xAA, 0x02, 0xAA, 0xA8, 0x0A, 0xAA, 0xA0, 0x2A, 0xAA, 0x80, 0xAA, 0xAA, 0x02, 0xAA, 0xA8, 0x0A, -0xAA, 0xA0, 0x7F, 0xFF, 0xD2, 0xF0, 0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, -0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, -0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, -0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD3, 0xF0, -0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, -0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, -0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, -0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD4, 0xF0, 0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, -0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, -0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, -0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, -0x40, 0xFF, 0xD5, 0xF0, 0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, -0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, -0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, -0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD6, 0xF0, 0xD5, 0x55, -0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, -0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, -0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, -0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD7, 0xF0, 0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, -0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, -0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, -0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, -0xD0, 0xF0, 0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, -0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, -0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, -0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD1, 0xF0, 0xD5, 0x55, 0x01, 0x55, -0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, -0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, -0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, -0x15, 0x55, 0x40, 0xFF, 0xD2, 0xF0, 0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, -0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, -0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, -0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD3, 0xF0, -0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, -0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, -0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, -0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD4, 0xF0, 0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, -0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, -0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, -0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, -0x40, 0xFF, 0xD5, 0xF0, 0xD5, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, -0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, -0x55, 0x50, 0x15, 0x55, 0x40, 0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, -0x55, 0x55, 0x01, 0x55, 0x54, 0x05, 0x55, 0x50, 0x15, 0x55, 0x40, 0xFF, 0xD9 -}; +const UINT8 g_ucBGGoodbye[] = {0xFF, 0xD8, 0xFF, 0xFE, 0x00, 0x0D, 0x4C, 0x61, 0x76, 0x63, 0x35, 0x33, 0x2E, 0x37, 0x2E, 0x30, +0x00, 0xFF, 0xDB, 0x00, 0x43, 0x00, 0x08, 0x08, 0x08, 0x09, 0x08, 0x09, 0x0B, 0x0B, 0x0B, 0x0B, +0x0B, 0x0B, 0x0D, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, +0x0E, 0x0E, 0x11, 0x11, 0x11, 0x0E, 0x0E, 0x0E, 0x0D, 0x0D, 0x0E, 0x0E, 0x10, 0x10, 0x11, 0x11, +0x12, 0x13, 0x12, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x14, 0x14, 0x14, 0x18, 0x18, 0x17, 0x17, +0x1C, 0x1C, 0x1D, 0x22, 0x22, 0x29, 0xFF, 0xC4, 0x01, 0xA2, 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, +0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, +0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x01, 0x00, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, +0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, +0x08, 0x09, 0x0A, 0x0B, 0x10, 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03, 0x05, 0x05, 0x04, +0x04, 0x00, 0x00, 0x01, 0x7D, 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, +0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xA1, 0x08, 0x23, 0x42, 0xB1, +0xC1, 0x15, 0x52, 0xD1, 0xF0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0A, 0x16, 0x17, 0x18, 0x19, +0x1A, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, +0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, +0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x83, 0x84, +0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, +0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, +0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, +0xD8, 0xD9, 0xDA, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF1, 0xF2, 0xF3, +0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, +0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, +0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, +0xA1, 0xB1, 0xC1, 0x09, 0x23, 0x33, 0x52, 0xF0, 0x15, 0x62, 0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34, +0xE1, 0x25, 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38, +0x39, 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, +0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, +0x79, 0x7A, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, +0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, +0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, +0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, +0xEA, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, +0xF0, 0x01, 0x40, 0x03, 0x01, 0x22, 0x00, 0x02, 0x11, 0x00, 0x03, 0x11, 0x00, 0xFF, 0xDA, 0x00, +0x0C, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3F, 0x00, 0xF0, 0xEA, 0x28, 0xA2, 0x90, +0x82, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, +0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, +0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, +0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, +0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, 0x02, 0x8A, 0x28, 0xA0, +0x0E, 0x87, 0x43, 0xD0, 0x7F, 0xB6, 0xA3, 0xBC, 0x7F, 0x3F, 0xC9, 0xFB, 0x2C, 0x61, 0xF1, 0xE5, +0xF9, 0x9B, 0xF2, 0x1C, 0xE3, 0xEF, 0xA6, 0xDF, 0xB9, 0xD7, 0x9E, 0xB5, 0xA3, 0x6F, 0xE1, 0xBD, +0x2A, 0x75, 0x8B, 0xFE, 0x27, 0xD6, 0xEB, 0x24, 0x81, 0x3F, 0x77, 0xE4, 0x82, 0xC1, 0xDC, 0x0F, +0x93, 0xFE, 0x3E, 0x06, 0x48, 0x27, 0x15, 0x73, 0xC1, 0x53, 0x45, 0x15, 0xBE, 0xB1, 0xBE, 0x44, +0x4D, 0xD0, 0x20, 0x5D, 0xCC, 0x17, 0x27, 0x64, 0xDD, 0x32, 0x79, 0xAD, 0x1F, 0x0D, 0xEB, 0x9A, +0x6D, 0xE2, 0x8B, 0x6B, 0x8B, 0x6B, 0x1B, 0x6B, 0x94, 0x51, 0xE4, 0x4C, 0x61, 0x4D, 0x8E, 0x54, +0x70, 0x58, 0x9C, 0x10, 0xE0, 0x8C, 0xFD, 0xE1, 0xBB, 0xB6, 0x0D, 0x79, 0x58, 0x8A, 0xD8, 0x88, +0xCE, 0xBF, 0x2B, 0x9F, 0x2D, 0x37, 0x0F, 0x85, 0x43, 0x44, 0xE3, 0x76, 0xFD, 0xE8, 0xB6, 0xD5, +0xF7, 0xB1, 0x94, 0x9C, 0xAE, 0xFC, 0xAD, 0xD8, 0xC3, 0x7F, 0x07, 0x4A, 0x97, 0x37, 0xF0, 0x9B, +0xA5, 0xFF, 0x00, 0x43, 0x85, 0x67, 0x0D, 0xE5, 0x9F, 0xDE, 0xAB, 0xAB, 0x10, 0x31, 0xBF, 0xE4, +0x3F, 0x2E, 0x0F, 0x2D, 0x4C, 0x4F, 0x0E, 0x69, 0x8C, 0xAA, 0x4E, 0xBD, 0x62, 0xA4, 0x80, 0x48, +0x2A, 0x32, 0x09, 0x1D, 0x3F, 0xD6, 0xF6, 0xAE, 0x96, 0xCE, 0xF2, 0x76, 0xB9, 0xD7, 0x8D, 0xFC, +0xB6, 0xE2, 0x56, 0xB5, 0x54, 0x4F, 0x2D, 0xD4, 0x46, 0xEA, 0xAA, 0xE1, 0x7C, 0xAC, 0xB1, 0xCE, +0x7E, 0xB9, 0xCF, 0x5A, 0x9A, 0x24, 0xB8, 0xF2, 0xA3, 0xFD, 0xCF, 0x85, 0xFE, 0xE2, 0xFD, 0xE2, +0x77, 0x7D, 0xD1, 0xF7, 0xBD, 0xFD, 0x7D, 0xEB, 0x27, 0x89, 0xC4, 0x2D, 0x25, 0x53, 0x65, 0x0D, +0x63, 0xC9, 0x67, 0x78, 0x26, 0xFE, 0x28, 0xBB, 0xEA, 0x1C, 0xCF, 0xBF, 0xE5, 0xD8, 0xE4, 0xAC, +0xBC, 0x33, 0x06, 0xA1, 0x7B, 0x71, 0x69, 0x06, 0xA5, 0x0C, 0x8D, 0x12, 0x2B, 0xA3, 0xAC, 0x7B, +0x92, 0x60, 0x47, 0x38, 0x22, 0x4E, 0x0A, 0x9C, 0x03, 0xD7, 0xD6, 0xB9, 0xBF, 0xB1, 0xDC, 0x7D, +0xAB, 0xEC, 0x9B, 0x0F, 0x9D, 0xE6, 0x79, 0x5B, 0x3B, 0xEF, 0xCE, 0x31, 0xF9, 0xD6, 0xC5, 0xD5, +0xC4, 0xFA, 0x36, 0xB8, 0x6E, 0x10, 0xDB, 0x6F, 0x49, 0x04, 0x9B, 0x6D, 0x4E, 0x6D, 0xF6, 0xB8, +0xC9, 0x8D, 0x7F, 0xD9, 0xC1, 0xC1, 0x15, 0xDE, 0x4D, 0x36, 0x8F, 0x0E, 0xA1, 0x06, 0xBB, 0xBD, +0x0A, 0x4B, 0x03, 0x65, 0x43, 0x29, 0x68, 0xE6, 0xD9, 0xF2, 0xB3, 0x20, 0xE7, 0x25, 0x41, 0x8F, +0xD9, 0xB1, 0x5D, 0x32, 0xC4, 0x55, 0xA2, 0xD3, 0x77, 0xAB, 0x1A, 0x94, 0xEF, 0x0D, 0x15, 0xFD, +0xA2, 0x5B, 0x3B, 0x25, 0xF1, 0x6F, 0xF9, 0x0E, 0xED, 0x79, 0xDD, 0x69, 0xEA, 0x72, 0xD2, 0x78, +0x3F, 0xCB, 0xD4, 0x6D, 0xEC, 0x3E, 0xDC, 0x8D, 0x2C, 0xB1, 0xBC, 0x8F, 0x88, 0x8E, 0x22, 0x0A, +0x32, 0x33, 0xFB, 0xCE, 0x77, 0x10, 0x40, 0xE9, 0xD3, 0x35, 0x5E, 0x2F, 0x0E, 0x58, 0x32, 0x9F, +0x37, 0x5A, 0xB4, 0x81, 0xD5, 0xE4, 0x46, 0x8D, 0xD7, 0xE6, 0x52, 0x8E, 0x57, 0x9F, 0xDE, 0x8E, +0xB8, 0xCF, 0xE3, 0x56, 0xFC, 0x3B, 0xA9, 0x9B, 0xCF, 0x12, 0x9B, 0xBB, 0x87, 0x54, 0xF3, 0x04, +0xC7, 0x2C, 0xC1, 0x55, 0x46, 0xC2, 0x15, 0x41, 0x24, 0x0E, 0x06, 0x00, 0xAD, 0xEB, 0x65, 0x95, +0xD1, 0xD9, 0x23, 0xF0, 0xF3, 0xA9, 0x9A, 0xE0, 0x86, 0xB9, 0x27, 0xCE, 0x20, 0xCC, 0xFC, 0xBE, +0x38, 0xFA, 0x7B, 0x56, 0x35, 0x2B, 0x62, 0x29, 0x3E, 0x59, 0x54, 0x77, 0x50, 0x83, 0x6D, 0x28, +0x2F, 0x79, 0xF3, 0x5F, 0x78, 0xB5, 0xD1, 0x09, 0xB9, 0x2E, 0xBD, 0xBB, 0x1C, 0x06, 0xAD, 0xA7, +0x5B, 0x69, 0xED, 0x18, 0x82, 0xFA, 0x1B, 0xE0, 0xE1, 0x8B, 0x18, 0x86, 0x36, 0x63, 0x1C, 0x1F, +0x99, 0xBA, 0xD6, 0xBD, 0x9F, 0x84, 0xE5, 0xBA, 0xD3, 0x52, 0xF1, 0xA7, 0xF2, 0x9E, 0x67, 0xD9, +0x6F, 0x07, 0x95, 0xB8, 0xCA, 0x49, 0xC2, 0xFC, 0xDE, 0x62, 0xED, 0x07, 0x93, 0xF7, 0x4E, 0x14, +0x66, 0xAE, 0xDF, 0x69, 0x26, 0xFB, 0x58, 0xB5, 0x49, 0xDF, 0x4C, 0x86, 0x37, 0x5C, 0xC9, 0xF6, +0x37, 0x02, 0x25, 0x48, 0xCF, 0x3B, 0xB7, 0x63, 0xE7, 0x6C, 0xE0, 0x56, 0xCD, 0xFE, 0xB9, 0xA4, +0x1D, 0x42, 0x34, 0x7B, 0xA9, 0xE1, 0x8B, 0x4E, 0x65, 0x16, 0xEB, 0x6C, 0xA1, 0x91, 0xDC, 0x0C, +0x31, 0x63, 0x82, 0x0A, 0x81, 0xF2, 0x00, 0x3D, 0xEA, 0xE7, 0x88, 0xAC, 0xE1, 0x4E, 0x34, 0xDC, +0xA5, 0x2B, 0x39, 0xCE, 0x4A, 0x2A, 0x5A, 0x5E, 0xCA, 0x36, 0x51, 0xB6, 0xAF, 0x4D, 0x16, 0xCA, +0xE3, 0xE6, 0x7A, 0x5B, 0xD4, 0xF3, 0xA3, 0xA7, 0xCC, 0x97, 0xFF, 0x00, 0x62, 0x93, 0xF7, 0x72, +0x79, 0xA2, 0x22, 0x7A, 0x80, 0x49, 0xC6, 0x7B, 0x64, 0x77, 0x1E, 0xD5, 0x3E, 0xB5, 0xA5, 0xB6, +0x8D, 0x7A, 0xD6, 0xAD, 0x20, 0x94, 0xAA, 0xAB, 0x6E, 0x0B, 0xB4, 0x73, 0xEC, 0x49, 0xAE, 0xDF, +0x5F, 0x1A, 0x7D, 0xDD, 0xC5, 0x86, 0xB1, 0x6D, 0x34, 0x5B, 0x4C, 0x91, 0x89, 0x86, 0xE0, 0x1F, +0x68, 0x6E, 0x1D, 0x93, 0x3B, 0x81, 0x1D, 0x0F, 0x15, 0x5B, 0xC4, 0x1A, 0x4C, 0x9A, 0xDE, 0xAB, +0x3C, 0xD6, 0xD7, 0x36, 0x41, 0x15, 0x62, 0x19, 0x92, 0x75, 0x5C, 0xE4, 0x13, 0xF2, 0xF0, 0x72, +0x2A, 0xE9, 0xE2, 0xDC, 0xA5, 0x4D, 0xCB, 0xDC, 0x8B, 0x84, 0xB9, 0xD3, 0x5B, 0x4D, 0x34, 0xAD, +0xDC, 0x14, 0xB6, 0xE9, 0xA6, 0xBE, 0xA7, 0x9D, 0xD1, 0x5B, 0x9A, 0x8E, 0x81, 0x73, 0xA6, 0x43, +0xE7, 0x49, 0x3D, 0x9C, 0x83, 0x70, 0x5C, 0x43, 0x30, 0x91, 0xB2, 0x7D, 0xB0, 0x38, 0xAC, 0x3A, +0xEE, 0x84, 0xE3, 0x51, 0x5E, 0x2D, 0x35, 0xDD, 0x16, 0x9D, 0xC2, 0x8A, 0x28, 0xAB, 0x18, 0x51, +0x45, 0x14, 0x00, 0x51, 0x45, 0x14, 0x00, 0x51, 0x45, 0x14, 0x00, 0x51, 0x45, 0x14, 0x00, 0x51, +0x45, 0x14, 0x00, 0x51, 0x45, 0x14, 0x00, 0x51, 0x45, 0x14, 0x00, 0x51, 0x45, 0x14, 0x00, 0x51, +0x45, 0x14, 0x00, 0x51, 0x45, 0x14, 0x00, 0x51, 0x45, 0x14, 0x00, 0x51, 0x45, 0x14, 0x01, 0xAD, +0xA5, 0x6A, 0x51, 0x69, 0xCD, 0x21, 0x96, 0xC6, 0xD6, 0xF5, 0x5C, 0x2F, 0xCB, 0x3A, 0xE7, 0x61, +0x5C, 0xF2, 0x87, 0x07, 0x19, 0xCF, 0x3E, 0xBC, 0x56, 0xE7, 0xFC, 0x25, 0x16, 0x3F, 0xF4, 0x01, +0xD3, 0x7F, 0xEF, 0x9F, 0xFE, 0xC2, 0xB8, 0xDA, 0x2B, 0x09, 0xE1, 0xE9, 0x54, 0x97, 0x34, 0x93, +0xBF, 0x94, 0xA6, 0xBF, 0x05, 0x24, 0x84, 0xE2, 0x99, 0xDC, 0x5B, 0x78, 0x97, 0x4B, 0x79, 0xA3, +0x59, 0xB4, 0x3D, 0x3E, 0x38, 0xCB, 0x00, 0xEE, 0xA8, 0x09, 0x55, 0x27, 0x96, 0x00, 0xA6, 0x0E, +0x3A, 0xD7, 0xA6, 0x8D, 0x13, 0x47, 0x60, 0x08, 0xB0, 0xB2, 0x20, 0x8C, 0x82, 0x20, 0x8F, 0x04, +0x1E, 0xFF, 0x00, 0x76, 0xBE, 0x7A, 0xAE, 0xF7, 0x4A, 0xF1, 0xCC, 0xBA, 0x7D, 0x94, 0x56, 0xD2, +0x5A, 0x7D, 0xA0, 0xC4, 0x36, 0x89, 0x3C, 0xFF, 0x00, 0x2C, 0xED, 0xFE, 0x10, 0x47, 0x92, 0xFF, +0x00, 0x74, 0x71, 0x9C, 0xF4, 0xAF, 0x3F, 0x1B, 0x81, 0xA8, 0xD4, 0x5E, 0x1F, 0x9A, 0xFB, 0x4A, +0x3C, 0xEF, 0x5F, 0x3F, 0x7A, 0x46, 0x73, 0x83, 0xFB, 0x3F, 0x99, 0xD3, 0xDF, 0xAE, 0x9F, 0xA7, +0xDE, 0x49, 0x13, 0xE9, 0x3A, 0x77, 0x92, 0x96, 0xED, 0x74, 0x64, 0xC2, 0x07, 0xD8, 0x98, 0x52, +0x36, 0x79, 0x58, 0xDC, 0x5C, 0xE0, 0x0C, 0xF4, 0xE6, 0xB3, 0x61, 0xD4, 0x74, 0x8B, 0x94, 0x8D, +0xA2, 0xD2, 0x34, 0xD0, 0x7C, 0xBF, 0x32, 0x71, 0x29, 0x86, 0x2D, 0x87, 0xCD, 0xF2, 0xF6, 0x46, +0x4C, 0x7F, 0x3B, 0x67, 0xE6, 0xED, 0xC1, 0x15, 0x52, 0x5F, 0x1E, 0xDB, 0xCC, 0x77, 0x49, 0xA4, +0x46, 0xE7, 0x1B, 0x72, 0xD7, 0x00, 0x9D, 0xBB, 0xB7, 0x63, 0x9B, 0x6E, 0x9B, 0x80, 0x38, 0xF5, +0xA8, 0xDB, 0xC6, 0xF6, 0x6C, 0xE2, 0x46, 0xD1, 0x20, 0x2E, 0x1F, 0xCC, 0x0C, 0x66, 0x52, 0xC1, +0xCF, 0xF1, 0x67, 0xEC, 0xBD, 0x78, 0x1C, 0xD6, 0x11, 0xC3, 0x62, 0x14, 0x57, 0x35, 0x0A, 0x8D, +0xF7, 0x55, 0x95, 0x9F, 0xCB, 0xDA, 0x75, 0x17, 0x2C, 0xBB, 0x3F, 0xBF, 0xFE, 0x09, 0xA8, 0x6E, +0xB4, 0xE8, 0x83, 0x7D, 0xA3, 0x48, 0xD2, 0xE3, 0xDB, 0x3C, 0x90, 0x90, 0x0A, 0x1E, 0x21, 0xFF, +0x00, 0x5A, 0xE3, 0x74, 0x4B, 0x9C, 0x64, 0x6D, 0x1D, 0x58, 0x9A, 0x24, 0xBD, 0xD1, 0xA2, 0x59, +0xE5, 0x6D, 0x2B, 0x4D, 0xF2, 0x93, 0xCE, 0x10, 0xFF, 0x00, 0xA9, 0xF3, 0xA4, 0x78, 0x58, 0x2E, +0x1A, 0x2D, 0x99, 0x50, 0xE4, 0xFC, 0xA4, 0x13, 0x81, 0xD6, 0xB3, 0x0F, 0x8E, 0x6D, 0x49, 0x62, +0x74, 0x68, 0x89, 0x6D, 0xDB, 0x8F, 0x9E, 0xBF, 0x36, 0xFF, 0x00, 0xBD, 0x9F, 0xF4, 0x6E, 0x77, +0x7F, 0x17, 0xAD, 0x30, 0x78, 0xD6, 0xC4, 0x3E, 0xF1, 0xA2, 0x40, 0x1B, 0xE5, 0xF9, 0xBC, 0xD4, +0xDD, 0xF2, 0xFD, 0xDE, 0x7E, 0xCB, 0xDB, 0xB5, 0x3F, 0xAB, 0x57, 0xEB, 0x42, 0xA7, 0xCA, 0xB2, +0xFF, 0x00, 0xE5, 0x9A, 0x7E, 0x21, 0xCB, 0x2E, 0xCF, 0xEF, 0xFF, 0x00, 0x82, 0x59, 0x9B, 0x5B, +0xD0, 0xE2, 0x0B, 0x8D, 0x1A, 0xCD, 0xF7, 0xDB, 0xA4, 0xAB, 0x88, 0xD3, 0xFD, 0x6B, 0x39, 0x56, +0x89, 0xB1, 0x1F, 0x1B, 0x70, 0xC7, 0x3D, 0xF1, 0x5D, 0xCC, 0x3A, 0x36, 0x93, 0x24, 0x48, 0xFF, +0x00, 0xD9, 0xF6, 0x63, 0x72, 0xAB, 0x60, 0x43, 0x1F, 0x1B, 0x86, 0x7F, 0xBB, 0x5E, 0x7A, 0x7C, +0x6B, 0x62, 0x49, 0x27, 0x43, 0xB7, 0x25, 0x89, 0x24, 0xF9, 0xA9, 0xC9, 0x39, 0xC9, 0x3F, 0xE8, +0xBE, 0xE7, 0xF3, 0xAB, 0x83, 0xE2, 0x28, 0x00, 0x01, 0xA6, 0xE0, 0x0E, 0x00, 0xFB, 0x57, 0x41, +0xFF, 0x00, 0x80, 0xD5, 0x15, 0xB0, 0xB8, 0xA9, 0x28, 0xFB, 0x3A, 0x55, 0x20, 0xF5, 0xBB, 0x75, +0xA2, 0xEF, 0xDB, 0xED, 0x89, 0xC6, 0x5D, 0x13, 0xFB, 0xFF, 0x00, 0xE0, 0x97, 0x7C, 0x49, 0x77, +0xA3, 0x68, 0x4D, 0x14, 0x69, 0xA5, 0x58, 0xCF, 0x2C, 0x99, 0x62, 0xAD, 0x12, 0x28, 0x54, 0xF5, +0xE1, 0x73, 0x92, 0x7A, 0x57, 0x2D, 0xFF, 0x00, 0x09, 0x3D, 0x87, 0xFD, 0x00, 0x74, 0xDF, 0xFB, +0xE7, 0xFF, 0x00, 0xB0, 0xAE, 0x7B, 0x54, 0xD4, 0x25, 0xD5, 0x2F, 0x25, 0xBA, 0x93, 0x83, 0x21, +0xE1, 0x73, 0x90, 0x8A, 0x3A, 0x28, 0x3C, 0x74, 0xFA, 0x56, 0x7D, 0x7A, 0x54, 0x30, 0x50, 0x8D, +0x38, 0xAA, 0x9C, 0xD2, 0x9D, 0xBD, 0xE7, 0xCF, 0x3D, 0xFB, 0x69, 0x2B, 0x69, 0xB1, 0xA2, 0x86, +0x9A, 0xFE, 0x6C, 0xDF, 0xD4, 0xF5, 0x8B, 0x4D, 0x42, 0x01, 0x1C, 0x7A, 0x5D, 0xA5, 0x9B, 0x06, +0x04, 0x49, 0x0E, 0x43, 0x7D, 0x08, 0xC0, 0x04, 0x1F, 0x7A, 0xC0, 0xA2, 0x8A, 0xEB, 0x85, 0x38, +0xD3, 0x56, 0x8D, 0xED, 0xE6, 0xDB, 0xFC, 0xDB, 0x29, 0x2B, 0x05, 0x14, 0x51, 0x56, 0x30, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x00, 0xA2, +0x8A, 0x28, 0x00, 0xA2, 0x8A, 0x28, 0x03, 0xD5, 0x7C, 0x31, 0x2D, 0xB6, 0x9B, 0xE0, 0xBD, 0x57, +0x53, 0x3A, 0x76, 0x9B, 0x7D, 0x71, 0x05, 0xFC, 0x51, 0xA7, 0xDB, 0x6D, 0x92, 0xE1, 0x42, 0xC8, +0x21, 0x52, 0x3F, 0x85, 0xF1, 0xF3, 0x12, 0x00, 0x60, 0x33, 0x4F, 0xD6, 0x2C, 0xEC, 0xFC, 0x43, +0xE1, 0x38, 0x35, 0x98, 0xB4, 0xAB, 0x7D, 0x36, 0xF8, 0x5F, 0xAD, 0x9A, 0xC7, 0x67, 0x1F, 0x95, +0x0D, 0xE0, 0x7C, 0x00, 0x63, 0x88, 0x71, 0x9D, 0xC7, 0x83, 0xC9, 0xCA, 0xB0, 0xC9, 0xA8, 0xFC, +0x31, 0xE2, 0x21, 0xA1, 0x78, 0x33, 0x54, 0x30, 0x5C, 0x5A, 0x2D, 0xE9, 0xBF, 0x89, 0xA2, 0x82, +0x63, 0x13, 0xC8, 0xE8, 0x44, 0x2A, 0xCC, 0xB0, 0x39, 0xCB, 0x00, 0x33, 0xF3, 0x05, 0x20, 0x63, +0xDA, 0xB9, 0xBB, 0x8F, 0x1B, 0x6B, 0x1A, 0x96, 0xA3, 0xA7, 0x5D, 0x6A, 0x13, 0x99, 0xE2, 0xB0, +0xB9, 0x82, 0xE1, 0x2D, 0xD1, 0x23, 0x8A, 0x2F, 0xDD, 0x48, 0xAD, 0xC2, 0x22, 0xAA, 0x96, 0x20, +0x6D, 0x05, 0xB2, 0x40, 0x38, 0xE9, 0x54, 0x33, 0x73, 0xFE, 0x15, 0xCF, 0xEF, 0xC6, 0x9C, 0xDA, +0xD5, 0x82, 0xEA, 0xE6, 0x3F, 0x33, 0xFB, 0x3F, 0x6C, 0x9D, 0x76, 0x79, 0x9E, 0x59, 0xB8, 0xFB, +0x9B, 0xF6, 0xF3, 0x8D, 0xBD, 0x39, 0xE9, 0xCD, 0x73, 0x07, 0xC3, 0x53, 0xAE, 0x89, 0x77, 0xA9, +0xB4, 0x81, 0x5E, 0xCA, 0xFB, 0xEC, 0x57, 0x36, 0xAC, 0x84, 0x49, 0x11, 0x20, 0x7C, 0xE5, 0xB7, +0x63, 0x1B, 0xCE, 0xCC, 0x63, 0xAE, 0x6B, 0xD3, 0x9A, 0xDF, 0x45, 0x93, 0xC5, 0x63, 0xC5, 0x1F, +0xDB, 0xDA, 0x68, 0xB0, 0xDC, 0xB7, 0x46, 0x23, 0x3B, 0x7D, 0xBC, 0x3A, 0xC2, 0x17, 0xC9, 0xFB, +0x36, 0xDD, 0xFF, 0x00, 0x78, 0x7D, 0xDF, 0xBD, 0xB3, 0x8D, 0xB5, 0x8B, 0xE1, 0x7D, 0x63, 0x4C, +0xD5, 0xF5, 0x5F, 0x11, 0x5B, 0x6A, 0x33, 0x43, 0x67, 0x65, 0xAC, 0x49, 0xF6, 0xB0, 0x6E, 0x24, +0x8E, 0x34, 0x57, 0x86, 0xF0, 0x4A, 0x88, 0x59, 0xD9, 0x53, 0x79, 0x56, 0x39, 0xE7, 0x92, 0xB4, +0x58, 0x66, 0x06, 0xA5, 0xE0, 0x3B, 0xED, 0x3A, 0xE7, 0x44, 0xB7, 0x69, 0x91, 0xDF, 0x57, 0x31, +0xA0, 0xC2, 0x11, 0xF6, 0x69, 0x1B, 0xCA, 0xDC, 0x92, 0x7C, 0xC7, 0x3B, 0x04, 0xA0, 0x93, 0xC6, +0x40, 0x3C, 0x51, 0x07, 0x82, 0x4C, 0x97, 0x5A, 0xA8, 0x97, 0x51, 0xB7, 0xB6, 0xB0, 0xD2, 0x66, +0xF2, 0x2E, 0x2F, 0xE4, 0x8D, 0xF6, 0x34, 0xBB, 0xB6, 0xF9, 0x71, 0x44, 0xA4, 0xB3, 0xB6, 0xEE, +0x31, 0xBB, 0xD3, 0xD4, 0x57, 0x7B, 0xA1, 0x78, 0xA3, 0x4B, 0xD4, 0x2E, 0x35, 0x4B, 0xDD, 0x42, +0xE6, 0x18, 0xCE, 0x9D, 0xA9, 0x5C, 0x6A, 0x96, 0x09, 0x2C, 0x88, 0x8D, 0x71, 0x1C, 0x96, 0xB3, +0x42, 0xB6, 0xF1, 0x07, 0x60, 0x58, 0xAE, 0xC8, 0x9B, 0x6A, 0x02, 0x77, 0x63, 0x8E, 0x6B, 0x0F, +0xC1, 0xDA, 0xFC, 0x73, 0x68, 0xDA, 0xA6, 0x9A, 0xF7, 0xB6, 0x16, 0x77, 0xF3, 0xDE, 0x7D, 0xBA, +0x09, 0xB5, 0x14, 0x8D, 0xAD, 0x26, 0x67, 0x08, 0x24, 0x49, 0x0C, 0xA8, 0xE8, 0xAD, 0xF2, 0x65, +0x72, 0x33, 0x96, 0xF9, 0x7B, 0xD1, 0xA0, 0x68, 0x72, 0x7A, 0xB7, 0x84, 0xA4, 0xD3, 0x9B, 0x4E, +0x96, 0x0B, 0xC8, 0x2F, 0xAC, 0xB5, 0x27, 0xF2, 0xED, 0xEF, 0x21, 0x56, 0x55, 0xDD, 0xBC, 0x23, +0x2C, 0x91, 0xB7, 0x28, 0xCA, 0x7F, 0x87, 0x3C, 0xE0, 0xF7, 0x06, 0xAD, 0xF8, 0x8F, 0xC1, 0x91, +0xF8, 0x6A, 0x3B, 0x81, 0x71, 0xAB, 0x5A, 0x49, 0x72, 0x8D, 0x1F, 0x93, 0x68, 0x8A, 0x7C, 0xE9, +0xA3, 0x6D, 0xB9, 0x91, 0x86, 0xE2, 0x22, 0xC6, 0x49, 0x0A, 0xD9, 0x2C, 0x17, 0x35, 0xB3, 0xE2, +0x0D, 0x4A, 0x74, 0x3A, 0x3D, 0x9D, 0xCE, 0xB1, 0xA5, 0xDE, 0xF9, 0x77, 0xB1, 0xDC, 0x4B, 0x0E, +0x9F, 0x6F, 0x02, 0x5A, 0xDA, 0x61, 0xF1, 0xB8, 0xDD, 0x45, 0xB1, 0x5C, 0xB0, 0x62, 0x59, 0x76, +0x0D, 0xB8, 0x24, 0x9E, 0x99, 0xE7, 0xFE, 0x20, 0xDD, 0xDB, 0xDE, 0xF8, 0xAB, 0x51, 0x9E, 0xDE, +0x68, 0xAE, 0x22, 0x73, 0x6F, 0xB2, 0x58, 0xA4, 0x59, 0x63, 0x6D, 0xB6, 0xB1, 0x03, 0xB5, 0xD0, +0x95, 0x38, 0x20, 0x83, 0x83, 0xC1, 0x18, 0xA4, 0x23, 0x27, 0xC3, 0xBE, 0x1F, 0xBB, 0xF1, 0x25, +0xF7, 0xD9, 0x6D, 0xDA, 0x38, 0xC2, 0xA3, 0x4D, 0x34, 0xD2, 0x9C, 0x45, 0x04, 0x29, 0x8D, 0xD2, +0x39, 0x1F, 0x50, 0x00, 0xEE, 0x4F, 0x61, 0xCD, 0x6D, 0x6A, 0x5E, 0x0E, 0x48, 0x74, 0xC9, 0xB5, +0x2D, 0x33, 0x54, 0xB6, 0xD5, 0xED, 0xED, 0x5D, 0x52, 0xEB, 0xCA, 0x8E, 0x48, 0x64, 0x80, 0xB1, +0x00, 0x36, 0xC7, 0xC9, 0x64, 0xC9, 0xFB, 0xC0, 0x8F, 0x51, 0xC6, 0x71, 0x3F, 0x80, 0x75, 0x5B, +0x0B, 0x1B, 0xAD, 0x42, 0xD2, 0xFA, 0x61, 0x6B, 0x16, 0xA7, 0x63, 0x35, 0x98, 0xB9, 0x3D, 0x21, +0x77, 0x18, 0x52, 0xC4, 0x7D, 0xD5, 0xE4, 0xFC, 0xDD, 0x01, 0xC6, 0x78, 0xE6, 0xB6, 0x63, 0x4B, +0x1F, 0x07, 0xF8, 0x73, 0x5B, 0xB6, 0x93, 0x54, 0xD3, 0xF5, 0x0B, 0xBD, 0x59, 0x61, 0x82, 0x18, +0x6C, 0x27, 0xFB, 0x42, 0x24, 0x69, 0xBB, 0x32, 0xC8, 0xC1, 0x40, 0x43, 0x87, 0x24, 0x64, 0x76, +0x18, 0x3C, 0x9C, 0x00, 0x6B, 0x6B, 0x56, 0x76, 0x3A, 0x2F, 0x82, 0x2C, 0xE1, 0xB2, 0xD4, 0x6C, +0x31, 0x74, 0xB7, 0x2D, 0x24, 0xBF, 0x64, 0x26, 0x5D, 0x4C, 0x89, 0x47, 0xCB, 0x14, 0x8E, 0x85, +0xA2, 0xF2, 0xF3, 0x82, 0x5B, 0x07, 0x00, 0x60, 0xD1, 0xAD, 0x59, 0xD8, 0xE8, 0xBE, 0x08, 0xB3, +0x86, 0xCB, 0x51, 0xB0, 0xC5, 0xD2, 0xDC, 0xB4, 0x92, 0xFD, 0x90, 0x99, 0x75, 0x32, 0x25, 0x1F, +0x2C, 0x52, 0x3A, 0x16, 0x8B, 0xCB, 0xCE, 0x09, 0x6C, 0x1C, 0x01, 0x83, 0x5C, 0x8F, 0x88, 0xAF, +0x2D, 0x67, 0xF0, 0x97, 0x85, 0xE0, 0x8A, 0xE2, 0x19, 0x26, 0x80, 0x5F, 0xF9, 0xD1, 0x24, 0x88, +0xD2, 0x43, 0xBE, 0x55, 0x2B, 0xE6, 0x20, 0x25, 0x93, 0x70, 0xE5, 0x77, 0x01, 0x9E, 0xD4, 0x78, +0x8A, 0xF2, 0xD6, 0x7F, 0x09, 0x78, 0x5E, 0x08, 0xAE, 0x21, 0x92, 0x68, 0x05, 0xFF, 0x00, 0x9D, +0x12, 0x48, 0x8D, 0x24, 0x3B, 0xE5, 0x52, 0xBE, 0x62, 0x02, 0x59, 0x37, 0x0E, 0x57, 0x70, 0x19, +0xED, 0x4C, 0x7F, 0xE4, 0x70, 0x14, 0x51, 0x45, 0x49, 0x21, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, 0x50, 0x01, 0x45, 0x14, +0x50, 0x07, 0xFF, 0xD9}; #endif \ No newline at end of file diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c index 8dc9eda60..5930ea8e5 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/MenuGeneral.c @@ -104,7 +104,7 @@ int General_MenuCallback(UINT32 uiMessage, UINT32 uiParam) { case IDM_CAMERA_MODE: { - puiPara->CamMode = uwOption == 0 ? 0 : 2; + puiPara->CamMode = uwOption == 0 ? 0 : 3; printf("\033[33m[General_MenuCallback]set CamMode:%d\033[0m\n", uwOption); break; } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c index 10e4a8bd9..332229313 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowMenuCommonItem/UIFlowMenuCommonItemEventCallback.c @@ -41,7 +41,7 @@ static void load_info_from_sf(void) UIMenuStoreInfo *puiPara = sf_ui_para_get(); SysSetFlag(IDF_PASSWORD, puiPara->PwdSwitch); SysSetFlag(IDF_CAMERA_NAME, puiPara->CamNameSwitch == SF_CAMID_OFF ? OPTION_0 : OPTION_1); - SysSetFlag(IDF_CAMERA_MODE, puiPara->CamMode == 2 ? OPTION_1 : OPTION_0); + SysSetFlag(IDF_CAMERA_MODE, puiPara->CamMode == 3 ? OPTION_1 : OPTION_0); if (PHOTO_SIZE_40M == puiPara->ImgSize) { SysSetFlag(IDF_IMAGE_SIZE, 0); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index 33ee500f4..66eaf2d5d 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -567,7 +567,7 @@ static void update_camera_mode(void) { UIMenuStoreInfo *puiPara = sf_ui_para_get(); #define CAMERA_MODE_PHOTO 0 - #define CAMERA_MODE_PHOTO_AND_VIDEO 2 + #define CAMERA_MODE_PHOTO_AND_VIDEO 3 if (CAMERA_MODE_PHOTO == puiPara->CamMode) { lv_plugin_img_set_src(image_mode_photo_scr_uiflowphoto, LV_PLUGIN_IMG_ID_SF_CAMERA); diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c index 028b08c23..abae6b8df 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c @@ -30,7 +30,7 @@ INT32 gUITimeHour = 0; INT32 gUITimeMinute = 0; INT32 gUITimeSecond = 0; -INT32 gUIDateSetFmt = DATEFMT_YMD; +INT32 gUIDateSetFmt = DATEFMT_MDY; INT32 gUITimeSetFmt = TIMEFMT_24HR; void Validate_Date(INT32 *pYear, INT32 *pMonth, INT32 *pDay, @@ -44,7 +44,7 @@ void DateTime_Init(void) gUIDateMonth = DEF_MONTH; gUIDateDay = DEF_DAY; gUITimeHour = gUITimeMinute = gUITimeSecond = 0; - gUIDateSetFmt = DATEFMT_YMD; + gUIDateSetFmt = DATEFMT_MDY; gUITimeSetFmt = TIMEFMT_24HR; } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h index 597bd6db5..25cfe42cf 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h @@ -142,7 +142,7 @@ #define DEFAULT_HDMI_MODE VIDEOOUT2_AUTO #define DEFAULT_DUALDISP DUALDISP_OFF #define DEFAULT_SENSOR_ROTATE SEN_ROTATE_OFF -#define DEFAULT_DATE_FORMAT DATE_FORMAT_YMD +#define DEFAULT_DATE_FORMAT DATE_FORMAT_MDY #define DEFAULT_OPENING_LOGO OPENING_LOGO_ON #define DEFAULT_LCD_DISPLAY DISPOUT_NORMAL #define DEFAULT_LCD_BRIGHTNESS LCDBRT_LVL_05 diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c index 44b1511b7..bb1b3b7d3 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c @@ -2368,6 +2368,7 @@ void sf_power_on_para_check_init(void) if(puiPara->DateStyle != SysGetFlag(FL_DateFormatIndex)) { SysSetFlag(FL_DateFormatIndex, puiPara->DateStyle); + SysSetFlag(FL_DATE_FORMAT, puiPara->DateStyle); } if(puiPara->Language != SysGetFlag(FL_LANGUAGE)) { diff --git a/code/application/source/sf_app/code/source/battery/sf_battery.c b/code/application/source/sf_app/code/source/battery/sf_battery.c index 0e63359b7..a45d7f510 100755 --- a/code/application/source/sf_app/code/source/battery/sf_battery.c +++ b/code/application/source/sf_app/code/source/battery/sf_battery.c @@ -745,9 +745,10 @@ signed int sf_battery_value_fast_get(void) } - cTemper = sf_adc2Temperature((UINT16)TemperAdc, 1); - fTemper = sf_celsius_change_to_fahrenheit(cTemper); - + // cTemper = sf_adc2Temperature((UINT16)TemperAdc, 1); + // fTemper = sf_celsius_change_to_fahrenheit(cTemper); + sf_battery_level_update(); + sf_temper_update(); return ret; } diff --git a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c index 4b4171e50..a10a9797f 100755 --- a/code/application/source/sf_app/code/source/paramMng/sf_param_common.c +++ b/code/application/source/sf_app/code/source/paramMng/sf_param_common.c @@ -329,6 +329,7 @@ void sf_app_power_on_para_check_init(void) if(puiPara->DateStyle != sf_sys_get_flag(FL_DateFormatIndex)) { sf_sys_set_flag(FL_DateFormatIndex, puiPara->DateStyle); + sf_sys_set_flag(FL_DATE_FORMAT, puiPara->DateStyle); } if(puiPara->Language != sf_sys_get_flag(FL_LANGUAGE)) { diff --git a/code/application/source/sf_app/code/source/sf_blue/src/sf_blue_app.c b/code/application/source/sf_app/code/source/sf_blue/src/sf_blue_app.c index 64a3f06c3..49153e2db 100644 --- a/code/application/source/sf_app/code/source/sf_blue/src/sf_blue_app.c +++ b/code/application/source/sf_app/code/source/sf_blue/src/sf_blue_app.c @@ -177,7 +177,7 @@ static void sf_blue_command_get_camera_para(MSG_DEV_BLE_Param_Get_Rsp_T *CamPara CamPara->zoom = puiPara->Zoom + 1; - CamPara->cameraMode = (puiPara->CamMode==2)?1:0; + CamPara->cameraMode = (puiPara->CamMode==3)?1:0; printf("Camera Mode:%d\n", CamPara->cameraMode); @@ -463,7 +463,7 @@ static signed int sf_blue_command_request_process(U8 *val, unsigned int nval, U8 { saveMode = 2; } - else if (saveMode == 2) + else if ((saveMode == 3) || (saveMode == 2)) { saveMode = 1; } @@ -480,8 +480,8 @@ static signed int sf_blue_command_request_process(U8 *val, unsigned int nval, U8 } else if (tmpMode == 1) { - puiPara->CamMode = SF_CAM_MODE_PHOTO_VIDEO; - //puiPara->CamMode = SF_CAM_MODE_VIDEO2; + //puiPara->CamMode = SF_CAM_MODE_PHOTO_VIDEO; + puiPara->CamMode = SF_CAM_MODE_VIDEO2; } else if (tmpMode == 2) { diff --git a/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c b/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c index d14b4183e..53f9108bd 100644 --- a/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c +++ b/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c @@ -669,6 +669,34 @@ static void trave_file(char* path) return; } +int sf_is_directory_empty(const char *path) +{ + DIR *dir = opendir(path); + + if (dir == NULL) { + MLOGE("Error opening directory"); + return -1; + } + + struct dirent *entry; + int count = 0; + + while ((entry = readdir(dir)) != NULL) { + + if (strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0) { + count++; + break; + } + } + + closedir(dir); + + if (count == 0) { + return 1; + } else { + return 0; + } +} int sf_dcf_resort_min(void) { @@ -706,6 +734,13 @@ int sf_dcf_resort_min(void) MLOGD("DirKey:%d,FileKey:%d\n", gLastDirKey, gLastFileKey); if(gLastFileKey <= MAX_DCF_FILE_NUM) { + sprintf(sTmp,"%s/%d%s",sRootPath,gLastDirKey,DCF_DIR_NAME); + if(sf_is_directory_empty(sTmp)) + { + MLOGD("Will Delete Dir:%s\n", sTmp); + remove(sTmp); + system("sync"); + } gLastDirKey = i; MLOGD("DirKey:%d,FileKey:%d\n", gLastDirKey, gLastFileKey); return 0; diff --git a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c index fa83af112..73519a909 100755 --- a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c +++ b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c @@ -881,7 +881,7 @@ void sf_app_Get_Camera_Para(MSG_DEV_Param_Get_Rsp_T *CamPara) CamPara->zoom = DigitalZoom + 1;//puiPara->Zoom+1; - CamPara->cameraMode = (puiPara->CamMode==2)?1:0; + CamPara->cameraMode = (puiPara->CamMode==3)?1:0; MLOGI("Camera Mode:%d\n", CamPara->cameraMode); @@ -1340,7 +1340,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) { saveMode = 2; } - else if (saveMode == 2) + else if ((saveMode == 3) || (saveMode == 2)) { saveMode = 1; } @@ -1357,8 +1357,8 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) } else if (tmpMode == 1) { - puiPara->CamMode = SF_CAM_MODE_PHOTO_VIDEO; - //puiPara->CamMode = SF_CAM_MODE_VIDEO2; + //puiPara->CamMode = SF_CAM_MODE_PHOTO_VIDEO; + puiPara->CamMode = SF_CAM_MODE_VIDEO2; } else if (tmpMode == 2) { diff --git a/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S550/nvt-mem-tbl.dtsi b/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S550/nvt-mem-tbl.dtsi index de90ea350..ea25fb642 100755 --- a/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S550/nvt-mem-tbl.dtsi +++ b/configs/Linux/cfg_565_HUNTING_EVB_LINUX_4G_S550/nvt-mem-tbl.dtsi @@ -17,6 +17,7 @@ linuxtmp{ reg = <0x02800000 0x04000000>; }; /* recycled after rtos started */ uboot{ reg = <0x06800000 0x01640000>; }; /* recycled after rtos started */ logo-fb{ reg = <0x07E40000 0x001C0000>; }; /* recycled after rtos started */ + usrmem{ reg = <0x07A00000 0x00600000>; }; }; /* Linux system memory region*/ diff --git a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h index 3af8b42a8..ea2322d98 100755 --- a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h +++ b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S550.h @@ -945,7 +945,7 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 ENABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MR5RCwDB01" +#define SF_BASE_VERSION "7MR5RCwDB04" #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ #define PHOTO_THUMB_PATH "A:\\THUMB\\" @@ -985,7 +985,7 @@ #ifndef ANR_FUNC #define ANR_FUNC ENABLE #endif -#define SF_NO_SD_SEND DISABLE +#define SF_NO_SD_SEND ENABLE ////////////////////sf end//////////////////////////////// diff --git a/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c b/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c old mode 100755 new mode 100644 index 87e6e336e..845193cab --- a/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c +++ b/rtos/code/application/source/cardv/SrcCode/System/rtos-main.c @@ -1075,6 +1075,11 @@ static void fastboot(void) vos_task_resume(handle_usb_uvacmode); break; #endif + + + default: + printf("default\n"); + break; } #endif diff --git a/rtos/code/application/source/cardv/SrcCode/System/sys_fastboot.h b/rtos/code/application/source/cardv/SrcCode/System/sys_fastboot.h old mode 100755 new mode 100644 index 770095468..5dd833bb8 --- a/rtos/code/application/source/cardv/SrcCode/System/sys_fastboot.h +++ b/rtos/code/application/source/cardv/SrcCode/System/sys_fastboot.h @@ -14,6 +14,7 @@ typedef enum _BOOT_INIT_ { BOOT_INIT_BOOTLOGO, BOOT_INIT_OTHERS, BOOT_FLOW_BOOT, + BOOT_FLOW_MOVIE2, BOOT_INIT_MAX_CNT = 32, //flag max bit cnt is 32 ENUM_DUMMY4WORD(BOOT_INIT), } BOOT_INIT; diff --git a/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c b/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c old mode 100755 new mode 100644 index b6e35ca31..9965772c4 --- a/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c +++ b/rtos/code/application/source/cardv/SrcCode/System/sys_linuxboot.c @@ -22,6 +22,7 @@ #include #include #include "DxHunting.h" +#include "sys_fastboot.h" #if HUNTING_CAMERA_MCU == ENABLE #include "sf_mcu.h" #endif @@ -1034,12 +1035,17 @@ static int load_linux_from_nvtpack(LINUXTMP_PARTITION *p_linuxtmp, FDT_INFO *p_f static int load_linux(LINUXTMP_PARTITION *p_linuxtmp, FDT_INFO *p_fdt_info) { +#if 0 SHMINFO *p_shm = (SHMINFO *)p_fdt_info->shmem_addr; if ((p_shm->boot.LdCtrl2 & LDCF_BOOT_CARD) == 0) { return load_linux_from_flash(p_linuxtmp, p_fdt_info); } else { return load_linux_from_nvtpack(p_linuxtmp, p_fdt_info); } +#else + return load_linux_from_flash(p_linuxtmp, p_fdt_info); +#endif + } static int check_mem_overlap(FDT_INFO *p_fdt_info) @@ -1153,6 +1159,8 @@ int linuxboot_setup(LINUXBOOT_INFO *p_info) p_linuxtmp->tmp2_end = p_fdt_info->fdt_addr; } + +#if 0 SHMINFO *p_shm = (SHMINFO *)p_fdt_info->shmem_addr; if (p_shm->boot.LdCtrl2 & LDCF_BOOT_CARD) { #if (_PACKAGE_FILESYS_ && _PACKAGE_SDCARD_) @@ -1169,12 +1177,22 @@ int linuxboot_setup(LINUXBOOT_INFO *p_info) return -1; #endif } +#else + (void) load_linux_from_nvtpack; + (void) load_nvtpack; +#endif // create new fdt for nodes of bootargs and ramdisk if ((er=create_new_fdt(p_linuxtmp)) != 0) { return er; } + if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2){ + DBG_DUMP("fastboot wait BOOT_FLOW_MOVIE2...\n"); + fastboot_wait_done(BOOT_FLOW_MOVIE2); + DBG_DUMP("fastboot wait BOOT_FLOW_MOVIE2 ok\n"); + } + #if (CFG_INDEP_RAMDISK) // load ramdisk into memory and reserved memory if ((er=load_ramdisk(p_linuxtmp)) != 0) { diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_CommPoolInit.c b/rtos/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_CommPoolInit.c old mode 100755 new mode 100644 index 63b9ac121..ca1fb53fa --- a/rtos/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_CommPoolInit.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/Movie/UIAppMovie_CommPoolInit.c @@ -12,62 +12,6 @@ #include #endif #include "DxHunting.h" -//#define ENABLE 1 -//#define DISABLE 0 - -#if (defined(_MODEL_565_CARDV_HS880C_)||defined(_MODEL_565_CARDV_HS880CC_) || defined(_MODEL_565_CARDV_HY5137_) || \ - defined(_MODEL_565_CARDV_Y817_) || defined(_MODEL_565_CARDV_RD6000_) || defined(_MODEL_565_CARDV_EVB_) || \ - defined(_MODEL_560_CARDV_EVB_)||defined(_MODEL_565_CARDV_WH565_) ||defined(_MODEL_565_CARDV_EVA51_)) -#if 1 -#define VDO_SIZE_W 2560 -#define VDO_SIZE_H 1440 - -#define VDO_MAIN_SIZE_W 2560 -#define VDO_MAIN_SIZE_H 1440 -#else -#define VDO_SIZE_W 1920 -#define VDO_SIZE_H 1080 - -#define VDO_MAIN_SIZE_W 1920 -#define VDO_MAIN_SIZE_H 1080 -#endif -#define VDO_CLONE_SIZE_W 848 -#define VDO_CLONE_SIZE_H 480 - -#else -#define VDO_SIZE_W 2560 -#define VDO_SIZE_H 1440 - -#define VDO_MAIN_SIZE_W 2560 -#define VDO_MAIN_SIZE_H 1440 - -#define VDO_CLONE_SIZE_W 1920 -#define VDO_CLONE_SIZE_H 1080 -#endif - -#if (defined(_disp_ifdsi_lcd1_s3003l0_st7701s_)) -#define VDO_DISP_SIZE_W 480//1280//1280//480 -#define VDO_DISP_SIZE_H 864//854//320//320 -#else -#define VDO_DISP_SIZE_W 960 -#define VDO_DISP_SIZE_H 180 -#endif - -#if (_BOARD_DRAM_SIZE_ == 0x04000000) -#define VDO_WIFI_SIZE_W 640 -#define VDO_WIFI_SIZE_H 360 -#else -#define VDO_WIFI_SIZE_W 848 -#define VDO_WIFI_SIZE_H 480 -#endif - -#define VDO2_SIZE_W 1920 //second sensor. -#define VDO2_SIZE_H 1080 //second sensor. - -#define VDO2_MAIN_SIZE_W 1920 -#define VDO2_MAIN_SIZE_H 1080 - -#define VDO2_CLONE_SIZE_W 848 #define DBGINFO_BUFSIZE() (0x200) #define CA_WIN_NUM_W 32 @@ -126,107 +70,55 @@ void Movie_CommPoolInit(void) static void Movie_CommPoolInit_Mode1(void) { - UINT32 id=0; + UINT32 id = 0; UINT32 vcap_buf_size = 0; HD_VIDEO_PXLFMT vcap_fmt = HD_VIDEO_PXLFMT_RAW12; -#if (_PACKAGE_DISPLAY_) - USIZE DispDevSize = {0}; + const UINT32 vdo_size_w = 2560; + const UINT32 vdo_size_h = 1440; - hd_ret = hd_videoout_get(video_out_ctrl, HD_VIDEOOUT_PARAM_SYSCAPS, p_video_out_syscaps); - if (hd_ret != HD_OK) { - DBG_ERR("get video_out_syscaps failed\r\n"); - DispDevSize.w = VDO_DISP_SIZE_W; - DispDevSize.h = VDO_DISP_SIZE_H; - } else { - DispDevSize.w = p_video_out_syscaps->output_dim.w; - DispDevSize.h = p_video_out_syscaps->output_dim.h; + const UINT32 clone_size_w = 1920; + const UINT32 clone_size_h = 1080; + + /******************************************************************* + * VCap + Main + *******************************************************************/ + + System_GetSensorInfo(id, SENSOR_CAPOUT_FMT, &vcap_fmt); + + /* yuv */ + if (HD_VIDEO_PXLFMT_CLASS(vcap_fmt) == HD_VIDEO_PXLFMT_CLASS_YUV) { + vcap_buf_size = VDO_YUV_BUFSIZE(vdo_size_w, vdo_size_h, vcap_fmt); } -#endif - - // config common pool (cap) - for (id = 0; id < SENSOR_CAPS_COUNT; id++) { - System_GetSensorInfo(id, SENSOR_CAPOUT_FMT, &vcap_fmt); - if (HD_VIDEO_PXLFMT_CLASS(vcap_fmt) == HD_VIDEO_PXLFMT_CLASS_YUV) { // YUV - switch (id) { - case 0: //single sensor - vcap_buf_size = VDO_YUV_BUFSIZE(VDO_SIZE_W, VDO_SIZE_H, vcap_fmt); - break; - case 1: // dual sensor - vcap_buf_size = VDO_YUV_BUFSIZE(VDO2_SIZE_W, VDO2_SIZE_H, vcap_fmt); - break; - } - } else { // RAW - switch (id) { - case 0: - vcap_buf_size = VDO_RAW_BUFSIZE(VDO_SIZE_W, VDO_SIZE_H, vcap_fmt); - break; - case 1: - vcap_buf_size = VDO_RAW_BUFSIZE(VDO2_SIZE_W, VDO2_SIZE_H, vcap_fmt); - break; - } - } - #if (MOVIE_DIRECT_FUNC == ENABLE) - if (id == 0) { - vcap_buf_size = 0; - } - #endif // (MOVIE_DIRECT_FUNC == ENABLE) - mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL; - mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + - vcap_buf_size + - VDO_CA_BUF_SIZE(CA_WIN_NUM_W, CA_WIN_NUM_H) + - VDO_LA_BUF_SIZE(LA_WIN_NUM_W, LA_WIN_NUM_H); - mem_cfg.pool_info[id].blk_cnt = 7; - mem_cfg.pool_info[id].ddr_id = DDR_ID0; + /* raw */ + else { + vcap_buf_size = VDO_RAW_BUFSIZE(vdo_size_w, vdo_size_h, vcap_fmt); } -// // config common pool (main) -// //id ++; -// mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL; -//#if (MOVIE_DIS == DISABLE) -// #if (MOVIE_YUV_COMPRESS == ENABLE) -// mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + VDO_NVX_BUFSIZE(VDO_MAIN_SIZE_W, VDO_MAIN_SIZE_H, HD_VIDEO_PXLFMT_YUV420); -// #else -// mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + VDO_YUV_BUFSIZE(VDO_MAIN_SIZE_W, VDO_MAIN_SIZE_H, HD_VIDEO_PXLFMT_YUV420); -// #endif -//#else // (MOVIE_DIS == DISABLE) -// mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + VDO_DIS_BUFSIZE(VDO_MAIN_SIZE_W, VDO_MAIN_SIZE_H, HD_VIDEO_PXLFMT_YUV420); -//#endif // (MOVIE_DIS == DISABLE) -// #if (defined(_MODEL_565_CARDV_HS880C_)||defined(_MODEL_565_CARDV_HS880CC_)||defined(_MODEL_565_CARDV_WH565_)||defined(_MODEL_565_CARDV_EVA51_)) -// mem_cfg.pool_info[id].blk_cnt = 4;//6; //3 for 3dnr-off, 4 for 3dnr-on -// #else // (defined(_MODEL_565_CARDV_HS880C_)||defined(_MODEL_565_CARDV_HS880CC_)||defined(_MODEL_565_CARDV_WH565_)) -// #if (_BOARD_DRAM_SIZE_ == 0x04000000) -// mem_cfg.pool_info[id].blk_cnt = 4; //3 for 3dnr-off, 4 for 3dnr-on -// #else // (_BOARD_DRAM_SIZE_ == 0x04000000) -// mem_cfg.pool_info[id].blk_cnt = 4; //3 for 3dnr-off, 4 for 3dnr-on -// #endif // (_BOARD_DRAM_SIZE_ == 0x04000000) -// #endif // (defined(_MODEL_565_CARDV_HS880C_)||defined(_MODEL_565_CARDV_HS880CC_)||defined(_MODEL_565_CARDV_WH565_)) -// mem_cfg.pool_info[id].ddr_id = DDR_ID0; + #if (MOVIE_DIRECT_FUNC == ENABLE) + if (id == 0) { + vcap_buf_size = 0; + } + #endif + + mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL; + mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + + vcap_buf_size + + VDO_CA_BUF_SIZE(CA_WIN_NUM_W, CA_WIN_NUM_H) + + VDO_LA_BUF_SIZE(LA_WIN_NUM_W, LA_WIN_NUM_H); + mem_cfg.pool_info[id].blk_cnt = 7; + mem_cfg.pool_info[id].ddr_id = DDR_ID0; -#if (_BOARD_DRAM_SIZE_ > 0x04000000) - #if (SENSOR_CAPS_COUNT == 1) - // config common pool (clone) + /******************************************************************* + * Clone + *******************************************************************/ id ++; mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL; -#if (MOVIE_DIS == DISABLE) - mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(VDO_CLONE_SIZE_W, VDO_CLONE_SIZE_H, HD_VIDEO_PXLFMT_YUV420); -#else // (MOVIE_DIS == DISABLE) - mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE()+VDO_DIS_BUFSIZE(VDO_CLONE_SIZE_W, VDO_CLONE_SIZE_H, HD_VIDEO_PXLFMT_YUV420); -#endif // (MOVIE_DIS == DISABLE) - #if (defined(_MODEL_565_CARDV_HS880C_)||defined(_MODEL_565_CARDV_HS880CC_)||defined(_MODEL_565_CARDV_WH565_)||defined(_MODEL_565_CARDV_EVA51_)) - #if (MOVIE_DIRECT_FUNC == ENABLE) - mem_cfg.pool_info[id].blk_cnt = 2; - #else // (MOVIE_DIRECT_FUNC == ENABLE) - mem_cfg.pool_info[id].blk_cnt = 4; - #endif // (MOVIE_DIRECT_FUNC == ENABLE) - #else // (defined(_MODEL_565_CARDV_HS880C_)||defined(_MODEL_565_CARDV_HS880CC_)||defined(_MODEL_565_CARDV_WH565_)) + mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + VDO_YUV_BUFSIZE(clone_size_w, clone_size_h, HD_VIDEO_PXLFMT_YUV420); mem_cfg.pool_info[id].blk_cnt = 4; - #endif // (defined(_MODEL_565_CARDV_HS880C_)||defined(_MODEL_565_CARDV_HS880CC_)||defined(_MODEL_565_CARDV_WH565_)) mem_cfg.pool_info[id].ddr_id = DDR_ID0; -#endif // (SENSOR_CAPS_COUNT == 1) -#endif // (_BOARD_DRAM_SIZE_ > 0x04000000) #if (_PACKAGE_BOOTLOGO_) #if HUNTING_CAMERA_MCU == ENABLE diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c index dc8a978ef..10bb210d5 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/MovieFast/MovieFast.c @@ -38,6 +38,14 @@ #include "UIAppPhoto_Param.h" #include "sys_fwload.h" #include "../lfqueue/lfqueue.h" + + +#include +#include +#include +#include +#define MEM_PATH_LINUX "/memory" + #if defined(_UI_STYLE_LVGL_) #include "flow_lvgl.h" #endif @@ -84,8 +92,6 @@ static char thumb_current_path_main[256] = {'\0'}; static char thumb_current_path_clone[256] = {'\0'}; static lfqueue_t write_queue = {0}; -#define MOVIE_ROOT_PATH "A:\\Novatek\\" -#define MOIVE2_YUV_PATH "A:\\MOVIE2.yuv420" #define FILE_SN_MAX 99999 #define FILEDB_MAX_NUM 5000 #define MOVIE_THUMB_WIDTH 640 @@ -98,9 +104,12 @@ static ID MOVIEFAST_FLG_ID = 0; static UINT32 g_moviefast_tsk_run = 1; static UINT32 g_moviefast_poweroff_tsk_run = 1; static THREAD_HANDLE g_moviefast_tsk_id = 0; +static THREAD_HANDLE g_moviefast_raw_tsk_id = 0; static THREAD_HANDLE g_moviefast_power_off_tsk_id = 0; static THREAD_HANDLE g_moviefast_write_tsk_id = 0; static BOOL g_bIsRecStatus = FALSE; +static BOOL g_manual_raw_tsk_running = FALSE; +static BOOL g_is_manual_raw_tsk_running = FALSE; static VOS_TICK g_rec_start_tick = 0; static VOS_TICK g_alg_start_time= 0; static VOS_TICK g_alg_end_time= 0; @@ -865,6 +874,66 @@ static void MovieFast_FileNamingCB(MOVIE_CFG_REC_ID id, char *pFileName) } } +static void MovieFast_Manual_Raw_Task(void* arg) +{ + HD_PATH_ID vcap_path = ImageApp_MovieMulti_GetVcapPort(_CFG_REC_ID_1); + HD_PATH_ID vprc_path = ImageApp_MovieMulti_GetVprcInPort(_CFG_REC_ID_1); + HD_RESULT ret; + HD_VIDEO_FRAME frame; + + g_is_manual_raw_tsk_running = TRUE; + + while(g_manual_raw_tsk_running) + { + ret = hd_videocap_pull_out_buf(vcap_path, &frame, PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS); + if(ret != HD_OK){ + DBG_ERR("hd_videocap_pull_out_buf failed!(%d)\n", ret); + continue; + } + + ret = hd_videoproc_push_in_buf(vprc_path, &frame, NULL, PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS); + if(ret != HD_OK){ + DBG_ERR("hd_videoproc_push_in_buf failed!(%d)\n", ret); + hd_videocap_release_out_buf(vcap_path, &frame); + continue; + } + + ret = hd_videocap_release_out_buf(vcap_path, &frame); + if(ret != HD_OK){ + DBG_ERR("hd_videocap_release_out_buf failed!(%d)\n", ret); + continue; + } + } + + while(1) + { + ret = hd_videocap_pull_out_buf(vcap_path, &frame, 33); + if(ret != HD_OK){ + DBG_ERR("hd_videocap_pull_out_buf failed!(%d)\n", ret); + break; + } + + ret = hd_videoproc_push_in_buf(vprc_path, &frame, NULL, 33); + if(ret != HD_OK){ + DBG_ERR("hd_videoproc_push_in_buf failed!(%d)\n", ret); + hd_videocap_release_out_buf(vcap_path, &frame); + break; + } + + ret = hd_videocap_release_out_buf(vcap_path, &frame); + if(ret != HD_OK){ + DBG_ERR("hd_videocap_release_out_buf failed!(%d)\n", ret); + break; + } + } + + DBG_DUMP("MovieFast_Manual_Raw_Task finished\n"); + + g_is_manual_raw_tsk_running = FALSE; + + THREAD_RETURN(0); +} + static void MovieFast_WriteFile_Task(void* arg) { lfqueue_t* queue = (lfqueue_t*)arg; @@ -907,6 +976,8 @@ static void MovieFast_WriteFile_Task(void* arg) free(param); } } + + DBG_DUMP("MovieFast_WriteFile_Task finished\n"); } static void MovieFast_UserEventCb(UINT32 id, MOVIE_USER_CB_EVENT event_id, UINT32 value) { @@ -1115,13 +1186,126 @@ static void MovieFast_Load_Sen_Cfg(MOVIEFAST_IQ_CFG cfg) } } +static int MovieFast_fdt_read_mem_node(const char *path, unsigned int *p_addr, unsigned int *p_size) +{ + unsigned char *p_fdt = (unsigned char *)fdt_get_base(); + + if (p_fdt == NULL) { + DBG_ERR("p_fdt is NULL.\n"); + return -1; + } + + int len; + int nodeoffset; + const void *nodep; /* property node pointer */ + + // get linux space + nodeoffset = fdt_path_offset(p_fdt, path); + if (nodeoffset < 0) { + DBG_ERR("failed to offset for %s = %d \n", path, nodeoffset); + return -1; + } + + nodep = fdt_getprop(p_fdt, nodeoffset, "reg", &len); + if (len == 0 || nodep == NULL) { + DBG_ERR("failed to access reg.\n"); + return -1; + } else { + unsigned int *p_data = (unsigned int *)nodep; + *p_addr = be32_to_cpu(p_data[0]); + *p_size = be32_to_cpu(p_data[1]); + } + + return 0; +} + +static int MovieFast_fdt_get_info(FDT_INFO *p_info) +{ + int er; + if ((er = MovieFast_fdt_read_mem_node(MEM_PATH_LINUX, &p_info->linux_addr, &p_info->linux_size)) != 0) { + return er; + } + + DBG_DUMP("linux addr:%lx size:%lx\n", p_info->linux_addr, p_info->linux_size); + + return 0; +} + +static int MovieFast_fdt_get_tmp_buf(FDT_INFO *p_info, UINT32* addr, UINT32* size) +{ + + if(p_info && addr && size){ + *addr = (UINT32)(p_info->linux_addr + 0x1000); /* linux kernel is start from 0x0, add offset to avoid null check */ + *size = (UINT32)(p_info->linux_size - 0x1000); + return E_OK; + } + else{ + DBG_ERR("p_inf or addr or size is null\n"); + return E_SYS; + } +} + +static INT32 MovieFast_Mode2_Get_Cont_Shot(UINT32* max_cnt, UINT32* duration) +{ +#if HUNTING_CAMERA_MCU == ENABLE + UIMenuStoreInfo *puiPara = sf_ui_para_get(); +#endif + + if(max_cnt == NULL || duration == NULL){ + DBG_ERR("max_cnt & max_cnt can't be null!\n"); + return E_SYS; + } + + + switch (UI_GetData(FL_CONTINUE_SHOT))//puiPara->Multishot + { + case CONTINUE_SHOT_BURST_5: + case CONTINUE_SHOT_BURST_4: + { + DBG_WRN("MovieFast mode2 only support CONTINUE_SHOT_BURST_3\n"); + *max_cnt = 3; + break; + } + + case CONTINUE_SHOT_BURST_3: + *max_cnt = 3; + break; + + case CONTINUE_SHOT_BURST_2: + *max_cnt = 2; + break; + + case CONTINUE_SHOT_OFF: + default: + *max_cnt = 1; + break; + } + +#if HUNTING_CAMERA_MCU == ENABLE + if(SF_MULTISHOT_INTEVEL_1S == puiPara->MultiShotIntevel) + { + *duration = 1000;//The interval between consecutive shots of each photo is 1 second + } + else if(SF_MULTISHOT_INTEVEL_2S == puiPara->MultiShotIntevel) { + *duration = 2000;//The interval between consecutive shots of each photo is 2 second + } + else { + *duration = 1000 / *max_cnt;//SF_MULTISHOT_INTEVEL_0S + } +#else + *duration = 1000 / *max_cnt; +#endif + + return E_OK; +} + THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) { UINT32 i; MOVIEMULTI_MAX_LINK_INFO MaxLinkInfo = {1, 0, 0, 1, 0}; //Img, Disp, Wifi, AudCap, EthCam DBG_FUNC("\r\n"); - UINT32 rec_type = MovieMapping_GetRecType(UI_GetData(FL_MOVIE_SIZE)); +// UINT32 rec_type = MovieMapping_GetRecType(UI_GetData(FL_MOVIE_SIZE)); Movie_CommPoolInit(); @@ -1129,6 +1313,7 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) //UI_SetData(FL_MOVIE_SIZE, MOVIE_SIZE_CLONE_1920x1080P30_1280x720P30); Set_NIGHTMODE(0, 0); + nvt_cmdsys_runcmd("ae set_speed 0 128 700 700 100 "); } else{ Set_NIGHTMODE(0, 1); @@ -1177,36 +1362,66 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1, MOVIEMULTI_PARAM_VCAP_OUTFUNC, HD_VIDEOCAP_OUTFUNC_DIRECT); #endif ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1, MOVIEMULTI_PRARM_FILEDB_MAX_MUM, 5000); + ImageApp_MovieMulti_SetParam(_CFG_CTRL_ID, MOVIEMULTI_PARAM_FILE_UTC_AUTO_EN, TRUE); + + if(DrvGPIO_GetPhotoMovieModeFromMonitor() != DX_HUNTING_MODE_MOVIE2){ + MOVIEMULTI_IPL_SIZE_INFO ipl_size={{2560,1440}, 30}; + ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_IPL_USER_IMG_SIZE, (UINT32)&ipl_size); + ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_IPL_FORCED_IMG_SIZE, MOVIE_IPL_SIZE_USER); + } + else{ + + UIAPP_PHOTO_SENSOR_INFO *sensor_info = UIAppPhoto_get_SensorInfo(0); + MOVIEMULTI_IPL_SIZE_INFO ipl_size={{sensor_info->sSize.w, sensor_info->sSize.h}, 60}; + ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_IPL_USER_IMG_SIZE, (UINT32)&ipl_size); + ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_IPL_FORCED_IMG_SIZE, MOVIE_IPL_SIZE_USER); - if(DrvGPIO_GetPhotoMovieModeFromMonitor() != DX_HUNTING_MODE_MOVIE2){ - MOVIEMULTI_IPL_SIZE_INFO ipl_size={{2560,1440}, 30}; - ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_IPL_USER_IMG_SIZE, (UINT32)&ipl_size); - ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_IPL_FORCED_IMG_SIZE, MOVIE_IPL_SIZE_USER); - ImageApp_MovieMulti_SetParam(_CFG_CTRL_ID, MOVIEMULTI_PARAM_FILE_UTC_AUTO_EN, TRUE); - } - else{ - UIAPP_PHOTO_SENSOR_INFO *sensor_info = UIAppPhoto_get_SensorInfo(0); - MOVIEMULTI_IPL_SIZE_INFO ipl_size={{sensor_info->sSize.w, sensor_info->sSize.h}, 60}; - ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_IPL_USER_IMG_SIZE, (UINT32)&ipl_size); - ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_IPL_FORCED_IMG_SIZE, MOVIE_IPL_SIZE_USER); + MOVIEMULTI_IME_CROP_INFO crop_info = {0}; + UINT32 movie_size_idx; - MOVIEMULTI_IME_CROP_INFO crop_info = {0}; + UINT32 rec_type; - /* 4:3 -> 16:9 */ - crop_info.IMESize = (USIZE){1920, 1440}; - crop_info.IMEWin = (URECT){0, 180, 1920, 1080}; - ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_MAIN_IME_CROP, (UINT32)&crop_info); - if(MOVIE_REC_TYPE_CLONE == rec_type) - { + movie_size_idx = UI_GetData(FL_MOVIE_SIZE); + + rec_type = MovieMapping_GetRecType(movie_size_idx); + if (rec_type == MOVIE_REC_TYPE_FRONT || rec_type == MOVIE_REC_TYPE_CLONE) { // single recording /* 4:3 -> 16:9 */ - crop_info.IMESize = (USIZE){640, 480}; - crop_info.IMEWin = (URECT){0, 60, 640, 360}; - ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_CLONE_IME_CROP, (UINT32)&crop_info); +// crop_info.IMESize = (USIZE){1920, 1440}; +// crop_info.IMEWin = (URECT){0, 180, 1920, 1080}; + crop_info.IMESize = (USIZE){ + gMovie_Rec_Info[0].size.w, + (gMovie_Rec_Info[0].size.w * 3) / 4}; + + crop_info.IMEWin = (URECT){ + + 0, + (crop_info.IMESize.h - gMovie_Rec_Info[0].size.h) / 2, + gMovie_Rec_Info[0].size.w, + gMovie_Rec_Info[0].size.h}; + + ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_MAIN_IME_CROP, (UINT32)&crop_info); } - } + if (rec_type == MOVIE_REC_TYPE_CLONE) { + /* 4:3 -> 16:9 */ +// crop_info.IMESize = (USIZE){640, 480}; +// crop_info.IMEWin = (URECT){0, 60, 640, 360}; + + crop_info.IMESize = (USIZE){ + gMovie_Clone_Info[0].size.w, + (gMovie_Clone_Info[0].size.w * 3) / 4}; + + crop_info.IMEWin = (URECT){ + 0, + (crop_info.IMESize.h - gMovie_Clone_Info[0].size.h) / 2, + gMovie_Clone_Info[0].size.w, + gMovie_Clone_Info[0].size.h}; + + ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1 , MOVIEMULTI_PARAM_CLONE_IME_CROP, (UINT32)&crop_info); + } + } #if (ANR_FUNC == ENABLE) HD_AUDIOCAP_ANR audio_cfg_param = {0}; @@ -1224,10 +1439,14 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1, MOVIEMULTI_PARAM_FILE_USE_FILEDB, FALSE); ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1, MOVIEMULTI_PARAM_FILE_CB_CLOSED_FILE_INFO, TRUE); + #if FIX_RECORD_NOISE == ENABLE ImageApp_MovieMulti_SetParam(0, MOVIEMULTI_PARAM_AUD_MUTE_ENC_FUNC_EN, TRUE); ImageApp_MovieMulti_SetParam(0, MOVIEMULTI_PARAM_AUD_MUTE_ENC, TRUE); #endif + + ImageApp_MovieMulti_SetParam(_CFG_REC_ID_1, MOVIEMULTI_PARAM_MANUAL_PUSH_RAW_FRAME, TRUE); + ImageApp_MovieMulti_Open(); for (i = 0; i < SENSOR_CAPS_COUNT; i++) { @@ -1246,7 +1465,7 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) HD_VIDEOPROC_IN vprc_in = {0}; hd_videoproc_get(vprc_in_id, HD_VIDEOPROC_PARAM_IN, &vprc_in); - vprc_in.frc = HD_VIDEO_FRC_RATIO(30, 60); + vprc_in.frc = HD_VIDEO_FRC_RATIO(1, 1); hd_videoproc_set(vprc_in_id, HD_VIDEOPROC_PARAM_IN, &vprc_in); /* alg */ @@ -1259,14 +1478,12 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) vprc_out.frc = HD_VIDEO_FRC_RATIO(1, 1); // vprc_out.depth = 0; /* raw encode */ hd_videoproc_set(vprc_main_id, HD_VIDEOPROC_PARAM_OUT_EX, &vprc_out); - if(MOVIE_REC_TYPE_CLONE == rec_type) - { - /* clone */ - hd_videoproc_get(vprc_clone_id, HD_VIDEOPROC_PARAM_OUT_EX, &vprc_out); - vprc_out.frc = HD_VIDEO_FRC_RATIO(1, 1); - // vprc_out.depth = 0; - hd_videoproc_set(vprc_clone_id, HD_VIDEOPROC_PARAM_OUT_EX, &vprc_out); - } + + /* clone */ + hd_videoproc_get(vprc_clone_id, HD_VIDEOPROC_PARAM_OUT_EX, &vprc_out); + vprc_out.frc = HD_VIDEO_FRC_RATIO(1, 1); +// vprc_out.depth = 0; + hd_videoproc_set(vprc_clone_id, HD_VIDEOPROC_PARAM_OUT_EX, &vprc_out); } if (1){//gMovie_Alg_Info[_CFG_REC_ID_1 + i].path13.ImgSize.w && gMovie_Alg_Info[_CFG_REC_ID_1 + i].path13.ImgSize.h) { @@ -1300,10 +1517,12 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) { HD_VIDEO_FRAME frame; HD_PATH_ID alg_path; + HD_PATH_ID vcap_path, vprc_path; BOOL stop = FALSE; UINT32 ae_cnt = 0; UINT32 stop_cnt = 0; BOOL ae_locked = FALSE; + HD_RESULT ret; if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2){ ae_cnt = 6; @@ -1315,60 +1534,63 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) } alg_path = ImageApp_MovieMulti_GetAlgDataPort(_CFG_REC_ID_1, _CFG_ALG_PATH3); + vcap_path = ImageApp_MovieMulti_GetVcapPort(_CFG_REC_ID_1); + vprc_path = ImageApp_MovieMulti_GetVprcInPort(_CFG_REC_ID_1); vos_perf_mark(&g_alg_start_time); do { + ret = hd_videocap_pull_out_buf(vcap_path, &frame, PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS); + if(ret != HD_OK){ + DBG_ERR("hd_videocap_pull_out_buf failed!(%d)\n", ret); + } - hd_videoproc_pull_out_buf(alg_path, &frame, PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS); + ret = hd_videoproc_push_in_buf(vprc_path, &frame, NULL, PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS); + if(ret != HD_OK){ + DBG_ERR("hd_videoproc_push_in_buf failed!(%d)\n", ret); + } + + ret = hd_videocap_release_out_buf(vcap_path, &frame); + if(ret != HD_OK){ + DBG_ERR("hd_videocap_release_out_buf failed!(%d)\n", ret); + } + + ret = hd_videoproc_pull_out_buf(alg_path, &frame, PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS); + if(ret != HD_OK){ + DBG_ERR("hd_videoproc_pull_out_buf failed!(%d)\n", ret); + } DBG_DUMP("count = %llu, timestamp = %llu\n", frame.count, frame.timestamp); if(frame.count >= ae_cnt && ae_locked == FALSE){ + DBG_DUMP("timestamp = %llu count = %llu\n", frame.timestamp, frame.count); + + if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_MOVIE2){ + +#if 0 + HD_PATH_ID vprc_in_id = ImageApp_MovieMulti_GetVprc3DNRPort(_CFG_REC_ID_1); + HD_VIDEOPROC_IN vprc_in = {0}; + + hd_videoproc_get(vprc_in_id, HD_VIDEOPROC_PARAM_IN, &vprc_in); + vprc_in.frc = HD_VIDEO_FRC_RATIO(1, 1); + hd_videoproc_set(vprc_in_id, HD_VIDEOPROC_PARAM_IN, &vprc_in); + hd_videoproc_start(vprc_in_id); +#endif + } + Set_AEMODE(1); setet_preset_param(); + ae_locked = TRUE; } if(frame.count >= stop_cnt){ - - UIAPP_PHOTO_SENSOR_INFO *sensor_info = UIAppPhoto_get_SensorInfo(0); - UINT32 buf_size = 0; - - buf_size = VDO_YUV_BUFSIZE(sensor_info->sSize.w, sensor_info->sSize.h , HD_VIDEO_PXLFMT_YUV420); -#if 0 - VOS_TICK t1, t2; - vos_perf_mark(&t1); - FST_FILE fp = FileSys_OpenFile(MOIVE2_YUV_PATH, FST_OPEN_ALWAYS | FST_OPEN_WRITE); - FileSys_WriteFile(fp, (UINT8*)frame.phy_addr[0], &buf_size, 0, NULL); - FileSys_CloseFile(fp); - vos_perf_mark(&t2); - DBG_DUMP("write = %lu us\n", vos_perf_duration(t1, t2)); -#endif - - MOVIEFAST_WRITE_QUEUE_PARAM* param = (MOVIEFAST_WRITE_QUEUE_PARAM*) malloc(sizeof(MOVIEFAST_WRITE_QUEUE_PARAM)); - if(param){ - memcpy((void*)¶m->frame, (void*)&frame, sizeof(HD_VIDEO_FRAME)); - param->va = NULL; - param->vprc_path_id = alg_path; - param->size = buf_size; - sprintf(param->path, MOIVE2_YUV_PATH); - } - - g_vprc_trigger_frm_time = (VOS_TICK)frame.timestamp; - g_vprc_trigger_frm_count = (UINT32)frame.count; - - while (lfqueue_enq(&write_queue, (void*) param) == -1) - { - DBG_ERR("ENQ Full ?\r\n"); - } - stop = TRUE; } - else{ - hd_videoproc_release_out_buf(alg_path, &frame); - } + + hd_videoproc_release_out_buf(alg_path, &frame); + } while(stop == FALSE); vos_perf_mark(&g_alg_end_time); @@ -1386,16 +1608,118 @@ THREAD_RETTYPE MovieFast_InitMovieModeThread(void *arg) vos_task_resume(g_moviefast_tsk_id); } + if ((g_moviefast_raw_tsk_id = vos_task_create(MovieFast_Manual_Raw_Task, 0, "MovieFastRawTsk", PRI_MOVIEFAST_CMDTSK, STKSIZE_MOVIEFAST_CMDTSK)) == 0) { + DBG_ERR("MovieFast_Manual_Raw_Task create failed.\r\n"); + } else { + g_manual_raw_tsk_running = TRUE; + vos_task_resume(g_moviefast_raw_tsk_id); + } + vos_flag_set(MOVIEFAST_FLG_ID, FLGMOVIEFAST_RECSTART); -#if FIX_RECORD_NOISE == ENABLE - vos_util_delay_ms(300); + + VOS_TICK t1, t2; + + vos_perf_mark(&t1); + +#if 1 + + FDT_INFO fdt_info; + UINT32 tmp_buf, tmp_buf_size; + UINT32 cnt = 0; + UIAPP_PHOTO_SENSOR_INFO *sensor_info = UIAppPhoto_get_SensorInfo(0); + UINT32 yuv_size = 0; + HD_PATH_ID alg_path = ImageApp_MovieMulti_GetAlgDataPort(_CFG_REC_ID_1, _CFG_ALG_PATH3); + UINT32 max_cnt , duration; + + + CHKPNT; + + MovieFast_fdt_get_info(&fdt_info); + + if(MovieFast_fdt_get_tmp_buf(&fdt_info, &tmp_buf, &tmp_buf_size) != E_OK){ + DBG_ERR("get tmp buffer failed\n"); + goto EXIT; + } + + if(MovieFast_Mode2_Get_Cont_Shot(&max_cnt, &duration) != E_OK){ + DBG_ERR("get cont shut failed\n"); + goto EXIT; + } + + CHKPNT; + + yuv_size = VDO_YUV_BUFSIZE(sensor_info->sSize.w, sensor_info->sSize.h , HD_VIDEO_PXLFMT_YUV420); + + + CHKPNT; + + do { + HD_VIDEO_FRAME frame = {0}; + + if((tmp_buf + yuv_size) > (tmp_buf + tmp_buf_size)){ + DBG_ERR("tmp buffer overflow!!\n"); + goto EXIT; + } + + hd_videoproc_pull_out_buf(alg_path, &frame, -1); + + DBG_DUMP("tmp_buf = %lx , frame.phy_addr[0] = %lx , copy size = %lx\n", tmp_buf, frame.phy_addr[0], yuv_size); + memcpy((void*)(tmp_buf), (void*)frame.phy_addr[0], yuv_size); + tmp_buf += yuv_size; + + hd_videoproc_release_out_buf(alg_path, &frame); + if(++cnt >= max_cnt) + break; + + vos_util_delay_ms(duration); + + } while(1); +#endif + + vos_perf_mark(&t2); + +#if FIX_RECORD_NOISE == ENABLE + + UINT32 elapse_time_ms = ((t2 - t1) / 1000); + + CHKPNT; + if(elapse_time_ms < 300) + vos_util_delay_ms(300 - elapse_time_ms); + ImageApp_MovieMulti_SetParam(0, MOVIEMULTI_PARAM_AUD_MUTE_ENC, FALSE); #endif + + +EXIT: + THREAD_RETURN(0); } static void MovieFast_Close(void) { + + + if(g_moviefast_raw_tsk_id){ + + UINT32 delay_cnt; + + delay_cnt = 10; + g_manual_raw_tsk_running = FALSE; + + while (g_is_manual_raw_tsk_running && delay_cnt) { + vos_util_delay_us(10000); + delay_cnt --; + } + + if(g_is_manual_raw_tsk_running){ + vos_task_destroy(g_moviefast_raw_tsk_id); + g_is_manual_raw_tsk_running = FALSE; + } + + g_moviefast_raw_tsk_id = 0; + } + + MovieFast_OnRecStop(); MovieStamp_Disable(); @@ -1412,59 +1736,86 @@ static void MovieFast_Close(void) UIAPP_PHOTO_SENSOR_INFO *sensor_info = UIAppPhoto_get_SensorInfo(0); UINT32 buf_pa = 0; void* buf_va = 0; + UINT32 max_cnt , duration; + UINT32 tmp_buf, tmp_buf_size; + FDT_INFO fdt_info; + UINT32 yuv_size = 0; + + MovieFast_fdt_get_info(&fdt_info); + + if(MovieFast_fdt_get_tmp_buf(&fdt_info, &tmp_buf, &tmp_buf_size) != E_OK){ + DBG_ERR("get tmp buffer failed\n"); + goto EXIT; + } + + if(MovieFast_Mode2_Get_Cont_Shot(&max_cnt, &duration) != E_OK){ + DBG_ERR("get cont shut failed\n"); + goto EXIT; + } + + yuv_size = VDO_YUV_BUFSIZE(sensor_info->sSize.w, sensor_info->sSize.h , HD_VIDEO_PXLFMT_YUV420); PhotoFast_Movie_Init(); - PhotoFast_SliceEncode_Open(alg_path); - PhotoFast_SliceEncode2_Open(alg_path, 1); + PhotoFast_SliceEncode2_Open(alg_path, max_cnt); - HD_VIDEO_FRAME frame = {0}; - UINT32 addr_dst[HD_VIDEO_MAX_PLANE] = {0}; - UINT32 loff_dst[HD_VIDEO_MAX_PLANE] = {0}; - UINT32 buf_size = 0; + for(UINT32 i = 0 ; i < max_cnt ; i++) + { + HD_VIDEO_FRAME frame = {0}; + UINT32 addr_dst[HD_VIDEO_MAX_PLANE] = {0}; + UINT32 loff_dst[HD_VIDEO_MAX_PLANE] = {0}; + HD_COMMON_MEM_VB_BLK blk = 0; - HD_COMMON_MEM_VB_BLK blk = 0; - buf_size = VDO_YUV_BUFSIZE(sensor_info->sSize.w, sensor_info->sSize.h , HD_VIDEO_PXLFMT_YUV420); - blk = hd_common_mem_get_block(HD_COMMON_MEM_COMMON_POOL, buf_size, DDR_ID0); // Get block from mem pool - if (blk == HD_COMMON_MEM_VB_INVALID_BLK) { - DBG_ERR("hd_common_mem_get_block failed!(size=%lx)\n", buf_size); - } + blk = hd_common_mem_get_block(HD_COMMON_MEM_COMMON_POOL, yuv_size, DDR_ID0); // Get block from mem pool + if (blk == HD_COMMON_MEM_VB_INVALID_BLK) { + DBG_ERR("hd_common_mem_get_block failed!(size=%lx)\n", yuv_size); + } - buf_pa = hd_common_mem_blk2pa(blk); - if (buf_pa == 0) { - DBG_ERR("hd_common_mem_blk2pa failed!(blk=0x%x)\n", blk); - } + buf_pa = hd_common_mem_blk2pa(blk); + if (buf_pa == 0) { + DBG_ERR("hd_common_mem_blk2pa failed!(blk=0x%x)\n", blk); + } - buf_va = (void*)hd_common_mem_mmap(HD_COMMON_MEM_MEM_TYPE_CACHE, buf_pa, buf_size); - if (buf_va == 0) { - DBG_ERR("hd_common_mem_mmap failed!\r\n"); - } + buf_va = (void*)hd_common_mem_mmap(HD_COMMON_MEM_MEM_TYPE_CACHE, buf_pa, yuv_size); + if (buf_va == 0) { + DBG_ERR("hd_common_mem_mmap failed!\r\n"); + } - if(buf_pa){ - /* dst img */ - addr_dst[0] = buf_pa; - loff_dst[0] = sensor_info->sSize.w; - addr_dst[1] = addr_dst[0] + loff_dst[0] * sensor_info->sSize.h; - loff_dst[1] = sensor_info->sSize.w; - vf_init_ex(&frame, sensor_info->sSize.w, sensor_info->sSize.h, HD_VIDEO_PXLFMT_YUV420, loff_dst, addr_dst); + if(buf_pa){ + /* dst img */ + addr_dst[0] = buf_pa; + loff_dst[0] = sensor_info->sSize.w; + addr_dst[1] = addr_dst[0] + loff_dst[0] * sensor_info->sSize.h; + loff_dst[1] = sensor_info->sSize.w; + vf_init_ex(&frame, sensor_info->sSize.w, sensor_info->sSize.h, HD_VIDEO_PXLFMT_YUV420, loff_dst, addr_dst); - FST_FILE fp = FileSys_OpenFile(MOIVE2_YUV_PATH, FST_OPEN_READ); - if(fp){ - FileSys_ReadFile(fp, (UINT8*)buf_va, &buf_size, 0, NULL); - FileSys_CloseFile(fp); + memcpy((void*)buf_pa, (void*)(tmp_buf), yuv_size); + tmp_buf += yuv_size; + + DBG_DUMP("enq %lu\n", i); + + while(1) + { + if(PhotoFast_Sliceencode2_Enq_Frame(&frame) == E_OK){ + break; + } + else{ + vos_util_delay_ms(1); + } + } - PhotoFast_Sliceencode2_Enq_Frame(&frame); - PhotoFast_SliceEncode2_Close(); } else{ - DBG_ERR("%s not found!\n", MOIVE2_YUV_PATH); + DBG_ERR("allocate %lx failed!\n", yuv_size); } } - else{ - DBG_ERR("allocate %lx failed!\n", buf_size); - } + + fastboot_set_done(BOOT_FLOW_MOVIE2); + PhotoFast_SliceEncode2_Close(); } +EXIT: + DCF_Close(g_dcf_hdl); DCF_UnInstallID(); diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c old mode 100755 new mode 100644 index 12706505d..d751c8135 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFast.c @@ -1184,9 +1184,9 @@ static INT32 PhotoFast_CaptureStart(HD_VIDEO_FRAME *p_video_frame) } #if POWERON_FAST_SLICE_ENC_VER2 == ENABLE - return PhotoFast_Sliceencode2_Enq_Frame(p_video_frame); + return PhotoFast_Sliceencode2_Enq_Frame(p_video_frame); #else - PhotoFast_SliceEncode(vprc_path, p_video_frame); + return PhotoFast_SliceEncode(vprc_path, p_video_frame); #endif } @@ -1427,6 +1427,7 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) UINT32 max_cnt = 0; BOOL start_cap = FALSE; BOOL stop_flag = FALSE; + BOOL led_flag = FALSE; #if HUNTING_CAMERA_MCU == ENABLE UIMenuStoreInfo *puiPara = sf_ui_para_get(); @@ -1485,9 +1486,10 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) period = 1000 / max_cnt; #endif - DBG_DUMP("period = %lu ms\n", period); + DBG_DUMP("period = %lu ms, max_cnt = %lu\n", period, max_cnt); + PhotoFast_SliceEncode2_Open(vprc_path, max_cnt); nvt_cmdsys_runcmd("ae set_speed 0 128 700 700 100 "); @@ -1546,7 +1548,7 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) VOS_TICK t1, t2; UINT32 duration; UINT32 led_delay = 170; - + led_flag = FALSE; vos_perf_mark(&t1); /************************************************** @@ -1565,7 +1567,8 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) if((duration >= period) ||((period - duration) <= (led_delay + 17)) ){ - if(sf_is_night_mode(0) ==TRUE){ + if((FALSE == led_flag) && (sf_is_night_mode(0) ==TRUE)){ + led_flag = TRUE; sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode,0); } @@ -1719,7 +1722,7 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) case DX_HUNTING_MODE_PHOTO_MOVIE: if (start_cap == TRUE) { - // g_u32PrvCapCnt++; + #if HUNTING_CAMERA_MCU == ENABLE if(sf_is_night_mode(0) ==TRUE){ //DrvGPIO_IRLed_Turn_Onoff(0); @@ -1732,11 +1735,12 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg) } else{ DBG_WRN("enq frame failed...\n"); - /* release */ - if ((hd_ret = hd_videoproc_release_out_buf(vprc_path, &video_frame))!= HD_OK) { - DBG_ERR("failed to hd_videoproc_release_out_buf, er=%d\n", (int)hd_ret); - goto exit; - } + + /* release */ + if ((hd_ret = hd_videoproc_release_out_buf(vprc_path, &video_frame))!= HD_OK) { + DBG_ERR("failed to hd_videoproc_release_out_buf, er=%d\n", (int)hd_ret); + goto exit; + } } if (g_u32PrvCapCnt >= max_cnt) { @@ -2086,7 +2090,12 @@ void Set_AEMODE(UINT32 id) if (id == 1){ ae_manual.manual.mode = 1; #if HUNTING_CAMERA_MCU == ENABLE - if (puiPara->NightMode == 0) { + if(puiPara->CamMode == SF_CAM_MODE_VIDEO2) + { + ae_manual.manual.expotime = 33333; + ae_manual.manual.iso_gain = ae_status.status_info.iso_gain[0]*ae_status.status_info.expotime[0]/33333; + } + else if (puiPara->NightMode == 0) { ae_manual.manual.expotime = 125000;//ae_status.status_info.expotime[0]; ae_manual.manual.iso_gain = ae_status.status_info.iso_gain[0]*ae_status.status_info.expotime[0]/125000; } @@ -2266,7 +2275,7 @@ ER PhotoFast_Movie_Init(void) id++; mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL; mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE()+VDO_YUV_BUFSIZE(sensor_info->sSize.w, sensor_info->sSize.h , HD_VIDEO_PXLFMT_YUV420); - mem_cfg.pool_info[id].blk_cnt = 1; + mem_cfg.pool_info[id].blk_cnt = 3; /* depending on cont shot */ mem_cfg.pool_info[id].ddr_id = DDR_ID0; vendor_common_mem_relayout(&mem_cfg); diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c index 6338ee4c3..7c1cb9984 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c @@ -639,7 +639,7 @@ static INT32 PhotoFast_SliceEncode_Alloc_Buffer(PhotoFast_MEM_Info* info, char* #else if ((ret = hd_common_mem_alloc(name, &info->pa, (void **)&va_ptr, info->blk_size, ddr_id)) != HD_OK) { #endif - DBG_ERR("hd_common_mem_alloc failed(%d)\r\n", ret); + DBG_ERR("hd_common_mem_alloc failed(size:%d name:%s)\r\n", ret, name); return E_SYS; } @@ -2085,7 +2085,7 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data) if(PhotoFast_SliceEncode_Alloc_Buffer_Retry( &slice_encode_screennail_info->bs_buf_mem_info, "slice_enc_screennail", - 10, + 50, 100 ) != E_OK){ goto EXIT; @@ -2246,9 +2246,11 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data) param->cnt++; if(param->cnt >= param->max_cnt) break; + #if SF_NO_SD_SEND == ENABLE if(fastboot_wait_done_timeout(BOOT_INIT_FILESYSOK, 1) != E_OK){ goto EXIT; } + #endif } while(1); EXIT: diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c index 21bf95fa6..a997ba960 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/DateTimeInfo.c @@ -30,7 +30,7 @@ INT32 gUITimeHour = 0; INT32 gUITimeMinute = 0; INT32 gUITimeSecond = 0; -INT32 gUIDateSetFmt = DATEFMT_YMD; +INT32 gUIDateSetFmt = DATEFMT_MDY; INT32 gUITimeSetFmt = TIMEFMT_24HR; void Validate_Date(INT32 *pYear, INT32 *pMonth, INT32 *pDay, @@ -44,7 +44,7 @@ void DateTime_Init(void) gUIDateMonth = DEF_MONTH; gUIDateDay = DEF_DAY; gUITimeHour = gUITimeMinute = gUITimeSecond = 0; - gUIDateSetFmt = DATEFMT_YMD; + gUIDateSetFmt = DATEFMT_MDY; gUITimeSetFmt = TIMEFMT_24HR; } diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c index aac3609ac..8a6c206cc 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c @@ -1761,6 +1761,7 @@ void sf_power_on_para_check_init(void) if(puiPara->DateStyle != SysGetFlag(FL_DateFormatIndex)) { SysSetFlag(FL_DateFormatIndex, puiPara->DateStyle); + SysSetFlag(FL_DATE_FORMAT, puiPara->DateStyle); } if(puiPara->Language != SysGetFlag(FL_LANGUAGE)) {